From 803f7e1e89ed4e2454589a9665f5de34d627f130 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Thu, 13 Jun 2024 19:32:34 +0400 Subject: [PATCH 01/30] Update KAT files to conform to `standard` branch of Kyber reference implementation repo See https://gist.github.com/itzmeanjan/c8f5bc9640d0f0bdd2437dfe364d7710 KAT files were generated at https://github.com/pq-crystals/kyber/commit/d1321ce5ac0b53f583eb47a040dc3625ee8e7e37 Signed-off-by: Anjan Roy --- kats/kyber1024.kat | 1000 ++++++++++++++++++++++---------------------- kats/kyber512.kat | 1000 ++++++++++++++++++++++---------------------- kats/kyber768.kat | 1000 ++++++++++++++++++++++---------------------- 3 files changed, 1500 insertions(+), 1500 deletions(-) diff --git a/kats/kyber1024.kat b/kats/kyber1024.kat index 82ea66b..346c374 100644 --- a/kats/kyber1024.kat +++ b/kats/kyber1024.kat @@ -1,800 +1,800 @@ d = 7c9935a0b07694aa0c6d10e4db6b1add2fd81a25ccb148032dcd739936737f2d -z = 8626ed79d451140800e03b59b956f8210e556067407d13dc90fa9e8b872bfb8f +z = b505d7cfad1b497499323c8686325e4792f267aafa3f87ca60d01cb54f29202a pk = d22302cbd3399facc630991fc8f28bdb4354762541527678bcf61f65c241146c426d23b9bfaa6b7df18c97f20c1b6125bf874b1d89475852c448215db0eb7737f91480e8cebd9a0871574f5ab62d9020175ec6927ca0b54c09818e42cf92a383172422c7dc1831d63b0c295de75159db8034e9e07f7b0b910c3c1e5fb66b3dc523f1fa6eb4910cb89a6c17562c83ab4c18d0cd7e0796592a372aa409b1c557347ccacdc4644a119064d06dd474929d1c6fb4d686e5491ce4bc89a30bb4b8c41bce5157dfc1360823b1ab618c14b10f98c25067398ea7018c278a4b3df31334d603b2044ef187cd9bc6ce42725bd962c264983e9e18155a8b9c47143d70460a26a56fe7658c1f150348c6087ef758ad167887860a007a5fc37358d43b5ebee820acea474f0ac07b76802866199c61231d5c747c93774d2c1e0c1c67e6c81b82752173e125baf39b4fd19a4f453dc57976b1d97fe6996992bbb65b7cb25d077bbaa6a13322899af659cf1b3558c1b5001154b625809ed89aeebb89e6ea7d67f723d045ab05715c42355da6a5c8dd39c8abe3037751a01ed1c7374919f3121b5a52c53d1487316769f80721deeaaad3c90f76e7ae9e12ba92b32b5fd457e3c752c2650dfb885771cb77ac3c785a8c562e6a1c63c2a55ea47cf8b90eb8225c123c346452566235b2f31823a33521e087937a345d8d663eeaa05658917bbaa008c2e335f8850a90a326d0e66432f44ceb8289e4ecb2d12958e984072ecacb88e1348ff0b55654acba5b54971cbaeba88ec4b91a94c37192fa982becb9f3da421603b61a51bc8e36cbd053851c77b1b926b17a272aa9023246b02b3ed47f66a00bd5684823634e7ce58cf8f306e35b1e5322824d904801f0a2fa7c2bc9c252b0a56b7ba2ab0f636021745a70a9a43e2b0a8d615970b65309624b5184bcc30b911679aedd76025fe3908fd67897b0cf4be5a6f5413d7dd98564b23e42a93e4aa8821cd45054c643edc1158db6b3deb13fb5a51ebd1a8a78b87225a7338e101104c4a220d9bdedd48c85a1c2dae781a80c40e13b87eac73a764201c9b760ccfb1ae392699c7039d27c39362b27b8fc6f07a8a3d4410f1547c48a9997f62c61074452ef1515f8a649ebca9437205a4e8a61606b41daf6834d671f4d852c0c9c4096611648c6a3170678b1537cc1828d93580c9e5849a9653175acb753f2be7437be45f6c603e485f2ec301bb42b6c37c225d7495a584ae231890ab5c8c35c268cf4bbb0213c096019319561a8a6947637aa40d006b415bb2cfa2237e0890b6a3bc134abf8f6585e108d15940f91f4bf5b0c818055b21dea6e63b553988c47f4b94e7cf800a493b4734705edc56a4b6021c629500675876804cf0b951f038a5c7fe58e89774ef2992fd7c63099d352a7d21560b788b405709861817e59a96b3a3a83cba803b16934331071905bbec6532900155d8ac88cb32e4e21a3bd3a03fdec325a51cd2773964e6784fcf1853737aa64eb67564727272661abf84313a57a44b123c65509cfb7a6f6641cdcc3b57fe628c7b8192db44ffbf5796a8613b1fa126f6076883c783dc24e2a4464c40b3a41ca70ae87620866cf4fcb2bd204bf5c283812ba056ac0c345e379c4ba24d750901279bb2f3a16f612bfadb35703332c7c136f68eab6755c66b6a4ad1aaba7b768a58acaacc10a459a1cc8ef29377bc200e4d315a30a6bcc3256f9734d06e9779caa5442a9a16069081377c76e75154368072dc446ed6c8b8e622a21e383cf9ba1fb434e2ecc81e7b78cee986b8ff798ab18cf9634543546284eda2a26b47f05b735bcdb1202220076dc8b4e4b9f853533c8f6c7ff38817ba49712835785f17f14ca01d0c1c1e98810fe0b36e5b427157b9418449cedd641a4293c85c32700102acec22ebad98ed160a5f027bd4cda57f1f3720a12c134654dd5e73f829676495390d0e7929d6034e9c55f7d55ba658bc587988e8af94960f6cfb8d5af7a0021535a6e25e437d49a780698be22ac9953949f571b85a685725f8207a2b0ae849b601ab91b159b3df4a154c2041e776070afc42969322380917c97510799f3149131477e16663d3174c7c1caea788535c6c005a64f2868631b31b66e205fd38c1d84542d0f1b578f58c9bf5a0faeab6ab6494893053165eafd465fc64a0c5f8f3f9003489415899d59a543d8208c54a3166529b53922 -sk = 07638fb69868f3d320e5862bd96933feb311b362093c9b5d50170bced43f1b536d9a204bb1f22695950ba1f2a9e8eb828b284488760b3fc84faba04275d5628e39c5b2471374283c503299c0ab49b66b8bbb56a4186624f919a2ba59bb08d8551880c2befc4f87f25f59ab587a79c327d792d54c974a69262ff8a78938289e9a87b688b083e0595fe218b6bb1505941ce2e81a5a64c5aac60417256985349ee47a52420a5f97477b7236ac76bc70e8288729287ee3e34a3dbc3683c0b7b10029fc203418537e7466ba6385a8ff301ee12708f82aaa1e380fc7a88f8f205ab7e88d7e95952a55ba20d09b79a47141d62bf6eb7dd307b08eca13a5bc5f6b68581c6865b27bbcddab142f4b2cbff488c8a22705faa98a2b9eea3530c76662335cc7ea3a00777725ebcccd2a4636b2d9122ff3ab77123ce0883c1911115e50c9e8a94194e48dd0d09cffb3adcd2c1e92430903d07adbf00532031575aa7f9e7b5a1f3362dec936d4043c05f2476c07578bc9cbaf2ab4e382727ad41686a96b2548820bb03b32f11b2811ad62f489e951632aba0d1df89680cc8a8b53b481d92a68d70b4ea1c3a6a561c0692882b5ca8cc942a8d495afcb06de89498fb935b775908fe7a03e324d54cc19d4e1aabd3593b38b19ee1388fe492b43127e5a504253786a0d69ad32601c28e2c88504a5ba599706023a61363e17c6b9bb59bdc697452cd059451983d738ca3fd034e3f5988854ca05031db09611498988197c6b30d258dfe26265541c89a4b31d6864e9389b03cb74f7ec4323fb9421a4b9790a26d17b0398a26767350909f84d57b6694df830664ca8b3c3c03ed2ae67b89006868a68527ccd666459ab7f056671000c6164d3a7f266a14d97cbd7004d6c92caca770b844a4fa9b182e7b18ca885082ac5646fcb4a14e1685feb0c9ce3372ab95365c04fd83084f80a23ff10a05bf15f7fa5acc6c0cb462c33ca524fa6b8bb359043ba68609eaa2536e81d08463b19653b5435ba946c9addeb202b04b031cc960dcc12e4518d428b32b257a4fc7313d3a7980d80082e934f9d95c32b0a0191a23604384dd9e079bbbaa266d14c3f756b9f2133107433a4e83fa7187282a809203a4faf841851833d121ac383843a5e55bc2381425e16c7db4cc9ab5c1b0d91a47e2b8de0e582c86b6b0d907bb360b97f40ab5d038f6b75c814b27d9b968d419832bc8c2bee605ef6e5059d33100d90485d378450014221736c07407cac260408aa64926619788b8601c2a752d1a6cbf820d7c7a04716203225b3895b9342d147a8185cfc1bb65ba06b4142339903c0ac4651385b45d98a8b19d28cd6bab088787f7ee1b12461766b43cbccb96434427d93c065550688f6948ed1b5475a425f1b85209d061c08b56c1cc069f6c0a7c6f29358cab911087732a649d27c9b98f9a48879387d9b00c25959a71654d6f6a946164513e47a75d005986c2363c09f6b537eca78b9303a5fa457608a586a653a347db04dfcc19175b3a301172536062a658a95277570c8852ca8973f4ae123a334047dd711c8927a634a03388a527b034bf7a8170fa702c1f7c23ec32d18a2374890be9c787a9409c82d192c4bb705a2f996ce405d85a4c1a1ab9b6aeb49cce1c2f8a97c3516c72a00a46263baa696bf25727719c3216423618ff33380934a6c10545c4c5c5155b12486181fc7a2319873978b6a2a67490f8256bd2196fe1792a4c00077b812eae8bed3572499684ab3371876761e450c9f9d2768a36806d7ab2046c91f17599e9ac592990808dcd7b4d0919072f14ec361773b7252444c323c308326f4a30f8680d2f748f56a132b82674ed0184620b82ad2cb182c97b481626647491290a011cc73828685a8c367a5b9cf8d621b0d5c1eff03172758bd004978c251cd51342228989cae6332ac486437cb5c57d4307462865253be217b3515c73df405b7f28217ad0b8cf60c2fffaa0a0048b1fb4acdcdc38b5250cfec356a6de26cfa7a588fdc86f98c854ac64c7bfaa96f5a32cc0610934baa6a586b9a2054f13ba274174aa0d2b3a81b96a940666f789b5a6bcdc0a6a0178a0c9a02578a493f6eea0d2e6c13951c9f249a5e8dd71dd49a742d451f1abba19af8c547855e0afc728e90abb499c9beeb766f4729cda22263e324d22302cbd3399facc630991fc8f28bdb4354762541527678bcf61f65c241146c426d23b9bfaa6b7df18c97f20c1b6125bf874b1d89475852c448215db0eb7737f91480e8cebd9a0871574f5ab62d9020175ec6927ca0b54c09818e42cf92a383172422c7dc1831d63b0c295de75159db8034e9e07f7b0b910c3c1e5fb66b3dc523f1fa6eb4910cb89a6c17562c83ab4c18d0cd7e0796592a372aa409b1c557347ccacdc4644a119064d06dd474929d1c6fb4d686e5491ce4bc89a30bb4b8c41bce5157dfc1360823b1ab618c14b10f98c25067398ea7018c278a4b3df31334d603b2044ef187cd9bc6ce42725bd962c264983e9e18155a8b9c47143d70460a26a56fe7658c1f150348c6087ef758ad167887860a007a5fc37358d43b5ebee820acea474f0ac07b76802866199c61231d5c747c93774d2c1e0c1c67e6c81b82752173e125baf39b4fd19a4f453dc57976b1d97fe6996992bbb65b7cb25d077bbaa6a13322899af659cf1b3558c1b5001154b625809ed89aeebb89e6ea7d67f723d045ab05715c42355da6a5c8dd39c8abe3037751a01ed1c7374919f3121b5a52c53d1487316769f80721deeaaad3c90f76e7ae9e12ba92b32b5fd457e3c752c2650dfb885771cb77ac3c785a8c562e6a1c63c2a55ea47cf8b90eb8225c123c346452566235b2f31823a33521e087937a345d8d663eeaa05658917bbaa008c2e335f8850a90a326d0e66432f44ceb8289e4ecb2d12958e984072ecacb88e1348ff0b55654acba5b54971cbaeba88ec4b91a94c37192fa982becb9f3da421603b61a51bc8e36cbd053851c77b1b926b17a272aa9023246b02b3ed47f66a00bd5684823634e7ce58cf8f306e35b1e5322824d904801f0a2fa7c2bc9c252b0a56b7ba2ab0f636021745a70a9a43e2b0a8d615970b65309624b5184bcc30b911679aedd76025fe3908fd67897b0cf4be5a6f5413d7dd98564b23e42a93e4aa8821cd45054c643edc1158db6b3deb13fb5a51ebd1a8a78b87225a7338e101104c4a220d9bdedd48c85a1c2dae781a80c40e13b87eac73a764201c9b760ccfb1ae392699c7039d27c39362b27b8fc6f07a8a3d4410f1547c48a9997f62c61074452ef1515f8a649ebca9437205a4e8a61606b41daf6834d671f4d852c0c9c4096611648c6a3170678b1537cc1828d93580c9e5849a9653175acb753f2be7437be45f6c603e485f2ec301bb42b6c37c225d7495a584ae231890ab5c8c35c268cf4bbb0213c096019319561a8a6947637aa40d006b415bb2cfa2237e0890b6a3bc134abf8f6585e108d15940f91f4bf5b0c818055b21dea6e63b553988c47f4b94e7cf800a493b4734705edc56a4b6021c629500675876804cf0b951f038a5c7fe58e89774ef2992fd7c63099d352a7d21560b788b405709861817e59a96b3a3a83cba803b16934331071905bbec6532900155d8ac88cb32e4e21a3bd3a03fdec325a51cd2773964e6784fcf1853737aa64eb67564727272661abf84313a57a44b123c65509cfb7a6f6641cdcc3b57fe628c7b8192db44ffbf5796a8613b1fa126f6076883c783dc24e2a4464c40b3a41ca70ae87620866cf4fcb2bd204bf5c283812ba056ac0c345e379c4ba24d750901279bb2f3a16f612bfadb35703332c7c136f68eab6755c66b6a4ad1aaba7b768a58acaacc10a459a1cc8ef29377bc200e4d315a30a6bcc3256f9734d06e9779caa5442a9a16069081377c76e75154368072dc446ed6c8b8e622a21e383cf9ba1fb434e2ecc81e7b78cee986b8ff798ab18cf9634543546284eda2a26b47f05b735bcdb1202220076dc8b4e4b9f853533c8f6c7ff38817ba49712835785f17f14ca01d0c1c1e98810fe0b36e5b427157b9418449cedd641a4293c85c32700102acec22ebad98ed160a5f027bd4cda57f1f3720a12c134654dd5e73f829676495390d0e7929d6034e9c55f7d55ba658bc587988e8af94960f6cfb8d5af7a0021535a6e25e437d49a780698be22ac9953949f571b85a685725f8207a2b0ae849b601ab91b159b3df4a154c2041e776070afc42969322380917c97510799f3149131477e16663d3174c7c1caea788535c6c005a64f2868631b31b66e205fd38c1d84542d0f1b578f58c9bf5a0faeab6ab6494893053165eafd465fc64a0c5f8f3f9003489415899d59a543d8208c54a3166529b539228a39e87d531f3527c207edcc1db7faddcf9628391879b335c707839a0db051a88626ed79d451140800e03b59b956f8210e556067407d13dc90fa9e8b872bfb8f -m = 147c03f7a5bebba406c8fae1874d7f13c80efe79a3a9a874cc09fe76f6997615 -ct = a6af29d5f5b80bd130f518baddd6c8f17545413d860fb3de451979ebfa5e4e3112c7c0adf99824bb526f2c3550748ed0e134f0457a7c61f9f526f002baadc03fc13e38131219513c3ede061661e74f603c4fcf7951c8e52c9c213b0d22d9293663d669a6b58ed8fcefcf8249d7bb5298f55761445b2b83ce7f005cb04248aec8bda22fd2d42aa766322014ea038cc32c55c8e4b9e28ec9119f527341e4f66a035121073b85de6706da19e0838a9f33b719a68f039b664dc002659eabfc398679aa7009ce0cd01cdafb6cd2a26fe4101672c98ff58f7c47d5bda2906653b3a6f9651f7a121ea77ea74723fae5b873f9bb7b664f0c8a93831ef9d51c7cc1ef44ac0e55a55ca76d137fe9b75f40509cef156e5ad18f9fb999680008e547d55eecd5b4d1cb1d9f076cec21501c7402509ecb77afb2cb9a61340a8bd1514c6e71b4aa45e47ec37512271b911f8fb46c9082c9df07204abb5a50e6e3647a8ad4d8d5d7bff19c8a509308bcfb895536d045ca2b97cb16a29bb7181cad0509ddb91735028eba8c31d74bd275eaa65b5340b3a43fbfe0b3061d6bae7e75b7098cdabe91d4b31e36c9aa7a8298862ad63c8fd282e03b460b3ab464ce0f27b1c3d11155acaa011eb9e2ae3e6dda07d6f491737cbce9b05f9bc56be20e8d326ba132c57fb235161144519cdf40560fbe279bde411e112531f826d6ab10d4547350add2a9de8d62c2ac82cabe6815646f4dc9742bb0c2a3f77ec7b46c6b537605fa31798cd89281221a33dfb9796e644305630332c2cb931408ab481a16d953f6beae3891d6d9ac1fab38222d9271872d9d0cadb91abe9b4e265f75c6e5e829e146c3d8ce1e9d12e0d129801957f46b0d2dbe1f749b1d08e2345f6239a731342eb75b0cf1bf411749bc2caf2810b788c6b7238b4d3da2d6315ce9542e24404f145755a30ab851e4445841bd33f716a586884888ecc6bc6498aa32919ae81d20c26973c2bd54582a0f6ad98abfd2627e15690a727e69f581dd2a7127982a90e33e2d4a03fe339142c7e44c326ac46ed395a225d3033389917328b45316b1585a01b2c304b2944e903abbb3ec5619441cfc8965a446df75defa80c6e15adbd506b7ab2de12dda9bc81441cfc89052e2e5808f7126c6fd3ac6ac8081258a84a09ae50f6cd7cc0f4af336fd1d643e99079996268c2d32d909f22e3504f07fbb563196d4312fddb9335d5c1d36e8c5eea2278dba23b94d193c947cc41ca993dc7db1396340ad9c4fe687dd7b8d0c7a5120ae0204f2c665bd5f473d644c7ff26bffba7a36980830702128a7e661d677a092a36e7428a4139fb29b0095cc11086f447d2a9ef6c9b161f189c6299e084cb7aa00faf787797bfb069fbc087fde26252a1664f19c5a8a22ec5ee1aeb076357b7dc37e6b0f1520f958f7851bacb92c89fd114a72feac54652d45b09e1ae7651abd164bcd537d58fa39d3ec8acdcdf98425005862fa59692de162b77e6297c66233348408a8ab695ce2f2728db9fbe27e958967ec5974767c5a66023074b4a71afd264ad2890e970a1f31d6e3311b736f9f9488793ddc88f23458064254c82a1d9e59ead2fcec40b430687c4b7e28960926afcacc9bd756a71088c78450e20a2e980aede9ebedfe7fabd6abfe96f934c4b02c01ca194d01b73c25d5997039d3fcd0f099521f70caee69110ac1fc5a99917ad752fc96adfad7186d0a7c9cfe5601c07514ea6448d661c57aa20242103c4276a070a489a4cb6bca0f9ecc4379fb220215fd91f81019d5b0ae619358b52468f272c178e3a74cf6775aa924fe329c3175d9e4c3e21ab9ec836edc3acab2e3891ee8deda515d39af9b8ddd0ee7b0164f805c3835f6d2babdb30eab4756e7ec7f829ece01e8eadfbbed12fc283b3d4c69f575e7f80417689fdfcfc7be27ee3b8cdf57aaebec4a95b7e5bb585b85227f7c32be30db3e65e42e30dcf5a5fa073dba399d942f2222adb9b9898102afe5432edc7f04ae34a8fec2d81cb49a9a9b43814ce71d97f726e2b1e8f64b50e65dfb4816e12e82a3197484a4e9bba4d2d69e3f19d0b75c21e2bffe9fc0c98cf48a3aaf08d467f72687df0178174b7897f734349b181eca86a598a0c5e8c25946f24dc5572bd324a40458a788e5137f3c7a7c97fc9f12a3c463a8fe9449101cce966d7c009323932998d56ef430c73bc24f5d95f737858ddc4f32c013 -ss = b10f7394926ad3b49c5d62d5aeb531d5757538bcc0da9e550d438f1b61bd7419 +sk = 07638fb69868f3d320e5862bd96933feb311b362093c9b5d50170bced43f1b536d9a204bb1f22695950ba1f2a9e8eb828b284488760b3fc84faba04275d5628e39c5b2471374283c503299c0ab49b66b8bbb56a4186624f919a2ba59bb08d8551880c2befc4f87f25f59ab587a79c327d792d54c974a69262ff8a78938289e9a87b688b083e0595fe218b6bb1505941ce2e81a5a64c5aac60417256985349ee47a52420a5f97477b7236ac76bc70e8288729287ee3e34a3dbc3683c0b7b10029fc203418537e7466ba6385a8ff301ee12708f82aaa1e380fc7a88f8f205ab7e88d7e95952a55ba20d09b79a47141d62bf6eb7dd307b08eca13a5bc5f6b68581c6865b27bbcddab142f4b2cbff488c8a22705faa98a2b9eea3530c76662335cc7ea3a00777725ebcccd2a4636b2d9122ff3ab77123ce0883c1911115e50c9e8a94194e48dd0d09cffb3adcd2c1e92430903d07adbf00532031575aa7f9e7b5a1f3362dec936d4043c05f2476c07578bc9cbaf2ab4e382727ad41686a96b2548820bb03b32f11b2811ad62f489e951632aba0d1df89680cc8a8b53b481d92a68d70b4ea1c3a6a561c0692882b5ca8cc942a8d495afcb06de89498fb935b775908fe7a03e324d54cc19d4e1aabd3593b38b19ee1388fe492b43127e5a504253786a0d69ad32601c28e2c88504a5ba599706023a61363e17c6b9bb59bdc697452cd059451983d738ca3fd034e3f5988854ca05031db09611498988197c6b30d258dfe26265541c89a4b31d6864e9389b03cb74f7ec4323fb9421a4b9790a26d17b0398a26767350909f84d57b6694df830664ca8b3c3c03ed2ae67b89006868a68527ccd666459ab7f056671000c6164d3a7f266a14d97cbd7004d6c92caca770b844a4fa9b182e7b18ca885082ac5646fcb4a14e1685feb0c9ce3372ab95365c04fd83084f80a23ff10a05bf15f7fa5acc6c0cb462c33ca524fa6b8bb359043ba68609eaa2536e81d08463b19653b5435ba946c9addeb202b04b031cc960dcc12e4518d428b32b257a4fc7313d3a7980d80082e934f9d95c32b0a0191a23604384dd9e079bbbaa266d14c3f756b9f2133107433a4e83fa7187282a809203a4faf841851833d121ac383843a5e55bc2381425e16c7db4cc9ab5c1b0d91a47e2b8de0e582c86b6b0d907bb360b97f40ab5d038f6b75c814b27d9b968d419832bc8c2bee605ef6e5059d33100d90485d378450014221736c07407cac260408aa64926619788b8601c2a752d1a6cbf820d7c7a04716203225b3895b9342d147a8185cfc1bb65ba06b4142339903c0ac4651385b45d98a8b19d28cd6bab088787f7ee1b12461766b43cbccb96434427d93c065550688f6948ed1b5475a425f1b85209d061c08b56c1cc069f6c0a7c6f29358cab911087732a649d27c9b98f9a48879387d9b00c25959a71654d6f6a946164513e47a75d005986c2363c09f6b537eca78b9303a5fa457608a586a653a347db04dfcc19175b3a301172536062a658a95277570c8852ca8973f4ae123a334047dd711c8927a634a03388a527b034bf7a8170fa702c1f7c23ec32d18a2374890be9c787a9409c82d192c4bb705a2f996ce405d85a4c1a1ab9b6aeb49cce1c2f8a97c3516c72a00a46263baa696bf25727719c3216423618ff33380934a6c10545c4c5c5155b12486181fc7a2319873978b6a2a67490f8256bd2196fe1792a4c00077b812eae8bed3572499684ab3371876761e450c9f9d2768a36806d7ab2046c91f17599e9ac592990808dcd7b4d0919072f14ec361773b7252444c323c308326f4a30f8680d2f748f56a132b82674ed0184620b82ad2cb182c97b481626647491290a011cc73828685a8c367a5b9cf8d621b0d5c1eff03172758bd004978c251cd51342228989cae6332ac486437cb5c57d4307462865253be217b3515c73df405b7f28217ad0b8cf60c2fffaa0a0048b1fb4acdcdc38b5250cfec356a6de26cfa7a588fdc86f98c854ac64c7bfaa96f5a32cc0610934baa6a586b9a2054f13ba274174aa0d2b3a81b96a940666f789b5a6bcdc0a6a0178a0c9a02578a493f6eea0d2e6c13951c9f249a5e8dd71dd49a742d451f1abba19af8c547855e0afc728e90abb499c9beeb766f4729cda22263e324d22302cbd3399facc630991fc8f28bdb4354762541527678bcf61f65c241146c426d23b9bfaa6b7df18c97f20c1b6125bf874b1d89475852c448215db0eb7737f91480e8cebd9a0871574f5ab62d9020175ec6927ca0b54c09818e42cf92a383172422c7dc1831d63b0c295de75159db8034e9e07f7b0b910c3c1e5fb66b3dc523f1fa6eb4910cb89a6c17562c83ab4c18d0cd7e0796592a372aa409b1c557347ccacdc4644a119064d06dd474929d1c6fb4d686e5491ce4bc89a30bb4b8c41bce5157dfc1360823b1ab618c14b10f98c25067398ea7018c278a4b3df31334d603b2044ef187cd9bc6ce42725bd962c264983e9e18155a8b9c47143d70460a26a56fe7658c1f150348c6087ef758ad167887860a007a5fc37358d43b5ebee820acea474f0ac07b76802866199c61231d5c747c93774d2c1e0c1c67e6c81b82752173e125baf39b4fd19a4f453dc57976b1d97fe6996992bbb65b7cb25d077bbaa6a13322899af659cf1b3558c1b5001154b625809ed89aeebb89e6ea7d67f723d045ab05715c42355da6a5c8dd39c8abe3037751a01ed1c7374919f3121b5a52c53d1487316769f80721deeaaad3c90f76e7ae9e12ba92b32b5fd457e3c752c2650dfb885771cb77ac3c785a8c562e6a1c63c2a55ea47cf8b90eb8225c123c346452566235b2f31823a33521e087937a345d8d663eeaa05658917bbaa008c2e335f8850a90a326d0e66432f44ceb8289e4ecb2d12958e984072ecacb88e1348ff0b55654acba5b54971cbaeba88ec4b91a94c37192fa982becb9f3da421603b61a51bc8e36cbd053851c77b1b926b17a272aa9023246b02b3ed47f66a00bd5684823634e7ce58cf8f306e35b1e5322824d904801f0a2fa7c2bc9c252b0a56b7ba2ab0f636021745a70a9a43e2b0a8d615970b65309624b5184bcc30b911679aedd76025fe3908fd67897b0cf4be5a6f5413d7dd98564b23e42a93e4aa8821cd45054c643edc1158db6b3deb13fb5a51ebd1a8a78b87225a7338e101104c4a220d9bdedd48c85a1c2dae781a80c40e13b87eac73a764201c9b760ccfb1ae392699c7039d27c39362b27b8fc6f07a8a3d4410f1547c48a9997f62c61074452ef1515f8a649ebca9437205a4e8a61606b41daf6834d671f4d852c0c9c4096611648c6a3170678b1537cc1828d93580c9e5849a9653175acb753f2be7437be45f6c603e485f2ec301bb42b6c37c225d7495a584ae231890ab5c8c35c268cf4bbb0213c096019319561a8a6947637aa40d006b415bb2cfa2237e0890b6a3bc134abf8f6585e108d15940f91f4bf5b0c818055b21dea6e63b553988c47f4b94e7cf800a493b4734705edc56a4b6021c629500675876804cf0b951f038a5c7fe58e89774ef2992fd7c63099d352a7d21560b788b405709861817e59a96b3a3a83cba803b16934331071905bbec6532900155d8ac88cb32e4e21a3bd3a03fdec325a51cd2773964e6784fcf1853737aa64eb67564727272661abf84313a57a44b123c65509cfb7a6f6641cdcc3b57fe628c7b8192db44ffbf5796a8613b1fa126f6076883c783dc24e2a4464c40b3a41ca70ae87620866cf4fcb2bd204bf5c283812ba056ac0c345e379c4ba24d750901279bb2f3a16f612bfadb35703332c7c136f68eab6755c66b6a4ad1aaba7b768a58acaacc10a459a1cc8ef29377bc200e4d315a30a6bcc3256f9734d06e9779caa5442a9a16069081377c76e75154368072dc446ed6c8b8e622a21e383cf9ba1fb434e2ecc81e7b78cee986b8ff798ab18cf9634543546284eda2a26b47f05b735bcdb1202220076dc8b4e4b9f853533c8f6c7ff38817ba49712835785f17f14ca01d0c1c1e98810fe0b36e5b427157b9418449cedd641a4293c85c32700102acec22ebad98ed160a5f027bd4cda57f1f3720a12c134654dd5e73f829676495390d0e7929d6034e9c55f7d55ba658bc587988e8af94960f6cfb8d5af7a0021535a6e25e437d49a780698be22ac9953949f571b85a685725f8207a2b0ae849b601ab91b159b3df4a154c2041e776070afc42969322380917c97510799f3149131477e16663d3174c7c1caea788535c6c005a64f2868631b31b66e205fd38c1d84542d0f1b578f58c9bf5a0faeab6ab6494893053165eafd465fc64a0c5f8f3f9003489415899d59a543d8208c54a3166529b539228a39e87d531f3527c207edcc1db7faddcf9628391879b335c707839a0db051a8b505d7cfad1b497499323c8686325e4792f267aafa3f87ca60d01cb54f29202a +m = eb4a7c66ef4eba2ddb38c88d8bc706b1d639002198172a7b1942eca8f6c001ba +ct = e97436b18ae42096ae6237c8e56e1b777a9c4caf1b20d1c40f230b45dc38f1a68013eee84f6f5633c39e7a5548092a23b46220934c698a6dbc88149d8ee666d427e697cbf464db1a41bbc86f1c2ef998e46e51b5d94d560109e7319ad2316fd4c2eeacfbc01dc54d8a47e33c66a82094465d1fb1c6b7bd9331ba1ce5af1c28adbd130feb1c35768d388d58444700643e70262889cbfed51ad328d0e3724e63b60253445a75a96b0fbf5b580de3d2ace22802df3f1b009404575745f2f7a75cae5e1e5ad414ad363cb5dfa48f7c6ed3587278ef58ee98b144438eaa66e5cd0ba800fb9799fbf63de47d9904039af5722e3d7e0a3c08a0a4b62f3743e179101edba93b081c79ed9a065bfff65ad71d8548eaf76add4c32e3bc4d6c7551fb604ceb62ccf94c8a4ee41e7362b3e66acb86c250e61bdc8af162f1a2d9b29403d4976c37179c9a4927cdd6bf1acacfe4a645eb5a59919feff17d86f5dcc77abc52f56e70c41197e9b8328726c3d20c9d3ace0cbfa0a7f50c5ddb2f1507d590071b6f1d17ca84dea7a5930dc5b70f37ad7f447447481d4f14ea2718db1cd8e096011dd617ed56bd0b2d0ae8c51bb0ff1b052cdc9d09bc6a772fd75877f762e72e6fc39f9a8e9ebf1e3adefa1ed897bf81bc6751db4d637918bad74c6a9d5d5e5f6e512a08c3d8165b0de8ddedebc5066c2c44fc5a0c97531c0eeeefed4c5565bee4b33dd782c7178e91f8ae7ac30b3e010eeb25f7d558f7c953602eee903c22c2d657eb32624b1b8f854232ad6f19c298830e6a8f6febca91aec693a08ba4294d0461f55a5ad25965bc81547036121e28a20de2e658b358b9d17eb065b0a2d1d3bb029bcec85fce555728fab7a77baa183f92fd4430dd3f1e099f23ba59e1c737a9f56bbd0236afa079cd7d37a15e407d47b745c891364d7db99887c4c2816875a3fcc3b4b9fa646f7819871692434fed5588bc5aa53c7b33a12d163b584f11fb07535a84ae9dacde81d8fc77b1368cae470797069fc7c782fa96a7fec30bc6f0ed7d4934c00b09a629029cc17e1bc433b2c7cf35e7895908848e417c184655c8e708f803c47b3c8ba45cfebb9bcbb933c6cb72ccfc4c27863b8f9e0fe9a2fdb186359315be6b46b50d19900d6e890b9fc4a87b517b24909b72a1ade60ed549e2ed500cb60fdc7642f782afc33133e1811613049f4229c00cc734969bf673e2690c3ab63dd0e064b9d2cae9bd218a03808d7a4ed92d1f39ecde7f102e8d47701afca94c788d7ff101bf8eb022bd25cd6cd12b2710fb0eee09e467692e6d14baae47c771e4d2b10927cbde8994b023210cae0efda65306b4b30c6619dfb8a7937852d92759aae5625ae717a1608b486ae3f25cb46b78f3d04b3410b41ce829ca6c29b7e6806740f8e818a72f3c082e24782bf63d4c3fc17c011d9ae0fa2dba4ead828158fb40c15e0c252924b77979f8068dad4f8ee7a7da07306293b25e507791906692c431f23592faa77f4f6f9f5023413e0e812de0681372d09b07cae884dedbb8ac2b80347d3511e4cfca50cd752a16593858df1a2e6a52887d5a2f81e70e57c65fa2753478a285c3896f6272133fa40a88ddb04d7985ef70c35d7413dbd32f49478694c509f2c97d21822f20740a86dd7abdf66d0e632a254056df5e0e7f013bcb7dff01e38f881cff77f1edd48612a2677b7d1e4e62d5a6196340e26151eea29d8ebd9786e38721b09ec974e336f2437505eac34de0270c0780c6b3a89520475481409864797da4b6acbe848225e25c7265a4e3be16ee8cd8a225d2fdf4c498ba35332a553fe4066d73e758653f51a8a08913e469907da5e7bf068e4c18486d1be273bb4c674491bfe27f94453f64048086c93ae7f96ff7505b57cf3edac0aa5de3a6b06470266dbc8945e952a2a73bd7cf8524e8ea00e1d0631dca8f658145910f7248be8266d0f98ef7152a112f3762f7b5356161e756d7ea4fcefd3cbc44d4e59dcda05acc37f90b44c62431eb7610e15375984892b769d9417fcd6781b434f4c59191a020dadd81f0928e11c010617087015a968a5ea8b52df8bb1706bf4ac7839fa80d52cc05c499091977b29b4aeabb7b1974d1b3bc097b23f3977cb0df44e1a20318b4642d7a67d330f45a6fa5deb96d8ddb9eae323e61371bb6bef4c13771d53bfa33b40408c813d3f539a29c4cf99c1d273e8561e2c53b505436cc3c +ss = c9786ed936508e178d55a1208c590a10f25cfbfeb50be4207395a8b2f8aa192e d = d60b93492a1d8c1c7ba6fc0b733137f3406cee8110a93f170e7a78658af326d9 -z = 003271531cf27285b8721ed5cb46853043b346a66cba6cf765f1b0eaa40bf672 +z = 588522d326e7f105f11c4e8d97e119e193af42dc28409f4f7572ada538b52c1f pk = 05d918331371de92c27a1a5ece876015a959e96aaf3b1a60e9e77e46d51d9d85aba374263bbc65ad78b2d5a53cb909682aa0bf37d49d172bb46a0271d30716cea8aa095992dbb1132e81265a29435ef2c51daa9f27fabf3a799813e67efca087ac12247b64cc0ba15a5486245dec1648cbc7aaf40805115d78f6687c47c553d050f1e6821b368f98da22f4aa7d738a81b298a81bc43e16c8ce1490147ca83d2dd98bb918300a26cb431c99a952471b84bf6118a4d5c0a898532cd277bb4443cd7b6924c3185ce55cadc7f877be93306357ac71a67ddb4c545fe7301d339e933b81ac145988369fb7d31921a66403c587c165bfdd341011d19ee964b62e4c8cad2b88e8dccf3ac75cd3f835e2938d027c6789f54d0fba176f9bb8dc7716cac344684334c5704d5a54c932535739948acc61bd67b581f75a2169a89a11076274b10563141722c9aa9a34bb28a69ad677292be84455b24559cbbc0f347e7b36a45555a8336b8adfa07e599633f5d1bb6adcaf86ac9e7885039a3c1d308996ab6c966f017f8297009c9b4b573b70da8921a0c256a9a03c0cd6a4f72c6edb5630b1219c4a3c30d1f1586cd936e3437684ac60efa62d0a345fbc4881b24372b5692c101195c66c3ad647ca04d37f91f813a7a6795b371a574565e14779772372cc4a79c40308eb1233ed643808e939f27571c72b2f719023e048c4d15c71b3e116482c413a816c6d3a3877f862559b4afaf04df9c62d02cb364aa2adc64078b8bcbefe043bd6f32ff62b9555fab5c1009cfc102b9b4b88b8a93b66e3a65a62b184bb5406dcae7b3ab6047754bd215251ebaf102356ba688095a8c9eb1a9d8771cf60e864b7b4a5588843922b6d4a7445476997a6e5620a528510439b02a4b0de9c147bb14433db144fc9ab4b4128f7291a637b7e609a7de058a3b58a17501c833be09143244cc7e2490eb01cd292454523ce413a6e8cbb67a464aef43912b4559651258b9b812989093540dc8d202c652c71cca1eac46eab3f9ec199eae025b153348a600b0e373b7cf2620f5560a3c64c15ec85b5e81c0bcc4840466c63cb124ca45994babc31f12486f3712d22b1f649a07b192a2451cfb079ba179c2b857c41c4f8842a916e06f9c6a07cc6a4d2821401a65060688713ced4bb72c08241aad91b50bc1b968bcf3bda76a8e1b20060975e8803dd7b762d9a49b988568cc575a6d34bca13a0ef701b823296ff114efec9031d79a20f6c640d4519a1906183099926d44e88703db7636e19394b2f65abe9a8712c868697b46871d830bbc09ae02487e8d59537c3841d5b080f503aea769b0335493b84b94c4a498b1a6e6acb578201bcbae6baf0e960aa975d3f14b5179051d933c4109361f03461f265274f72416df79d1187b6822a0c38177a02b4afdd635324eb6737c11a631784916452c700d09aac42ea2634abc68bd3f41a2ca679546414df2314d57c2b318bcb98d7b46fe1b5a7e3af1b2047d193883cfbc6e7d29049fc9c97b344736a0a48082b0a145aa8776125558df656718af59964d42f0704318db88d1e91b840690b96669c8851bdbeb6043f04c017b59b289bbf550a94d0aca4aff18ca84630a99b82711a661e8b202b976e65f53b5db52b255a88692852e06bba321b4de782b5d951ab02eb27098813c98b0f7cccb778b08704a068b4d48afb30274c0759fc5bb86fa59fe61688296846b2481e18a05fb9c02931570596ec436f570c187159b25c1f6341163b79670f62334c6b9a7139044a8bbd2b5183e0f82d3b6666735a94478784aa6168d0d3272876b5476b64f7932f3aa4151ca9b604bc7fd5d1395c3708908015b0d2c8cf04858eb23238458f70f964687bb2137a0c75c06a868c3490166cf2bc3afe9b3746e40c231b3638a3558974bfb0603cf4c28c21003dfe87b3eb959dfa715b78ecb71bf404cdb2b675160138a46501569918cb7deeb0489a72a4799a1a4ac625d5c6021f51c357895ccbf26fb5aa372343bb1c516ceea47683e5a4d094a3d5188270811751fb1e19d68ef637227e491cc6387760eb5a810b387f596aa20741c4627b1c13a303d160423bce1e422d929c06f067adb7d96112f1607d3c7e43e7aa09ea248526c6881901852123f1b734a8c1891261bae6e7a23dd5296858b6f7813196f13f56be785d942d7eab011805cf3504fce325b6a5ef1aaadbbb11c662b9d2 -sk = 94b49ea42526935245c45a7d580b6aeff8bbe0f5342bb8bd2550212ad5935f45cba7caa6df914007fba79e9946c9433a86a2c4202bbdcea008af78975e6619d3582787530dbb7318a530b7b5a27d24258c7ccaaaf505ca92cb853a5818d4269be812becf169a05e71eb957557787c2f3b72315281dba87476b157a06095a30d52b388ac22840755b43440a931df8a709dc435b415a7babbb04ccd93cda00ca1fb090646b1d6514813368a794d38c907163b5917496b018c519b160c5144d6424495626e3a5ab9ffb8d8d3168d77599a88a1d12c07d86498d88dc1af7fa7de15073fd4b62801c1a902b215e7cc3eac350bb63adeaf9c7594844795a9a6274aa3eca0cd10891f05795a77b30add76b6b1a35338b8156690ca2ea1c9c3b602b23324925314f726535b36dfb355225d37e7c85be15a5976a8a6ad4e2c35d4c45acc954368ba6df88a47dbb8c782336f7ea507a6c2d26d952dc03b4bfb89872644084783ab493cd72d3befc2c803b692729638af69b03e6db9b82e678a42969fbe770fef65723f77da6437c20b203601c884a9b9e08c0b1ddbbc1a66517dcfc76b3f125f7795e5ddabef0cb00119778575513e05ac38a7901a0e8c8794685c0f274050097bc50168818a74aba5d71980f5c76279ec0214cd51efa8a21391567fa052e6dc0cf9bf216cff9287c80693645a53d71b3d7509f6a432d51b2b0aad129b594278da74ffacbb713357d735a744b7c65e482b7e172c67a5b4edabaae11222b8bb6b4564ab4fb20c28b4981614b69bb188db6056607e089f64803d89210c7e604266b00548a2ae27996196a6d6f762c27b22731f7942543ccef3856edf9ad1b1b1652a33c3e038dd9b2cd9a4612ce174315e67b26dac767e50e68508d104bbae1a2b89b78266d27b109f90bce1581a8b8888c90c1c4ea5fc1f009d5073780cb4545087c88026b9b9abddab923db52620713c8b5ac3301e8715ac39d13084926e841fae41a7bbb7912e10680a78c0c363a251720b2d69467b6cac5d894f862595072a7c9b14bfefaa2fdcc75cc42892cec6184b52962b9b73d663b7d76c1ea499d538bb45a4caecee0c8eb93bba5ec1a8c936156382b10102e3211b2dc15663412805f60590ec33dbab80d2a3bc05fa8af5145644f712e004c20f799650159c40dc952c9a54c27e816c3a6a95efbab24a31f6c402300f9baf88a46644b4df8a24979e80dc30425b9e75a753a36510b87c5fa95cbf36e19a12245876003b54d4e008ef7ab9d83c5a2406014b5cc33b6167f4c452af45084b7412ec19556d82b0a6a90c1aea60a72312d8a7a8e5060189717094ff950af2b503988964f0aa227c523487471d3bc905b6672be20bc714729b7a71478b07a19f777dec546c624723af7b5f6c142274ac5652a7c2d7abbf1171f2bdb12f1ecc876681a600806d6fc229e6a8f6424419187bd22e49b8f27486db25371c169b3f61e81131b57659b1030a959790ba5d6424580b1f588326db9cd01a260b21b8c42062b883854fb173ea7613764d41dd6b89468c7ba6c4236d1a0436b945b8b340983023139293fc48c07659b955453bba07b0eb4e2a91f594232a47c65c66e1c5c8279f179925c55ee3a0b3f5423e20a8620572a687c2b64b6ceccb5944d07107648ba73a19fdf6bb3f57c5fa079536c675ff17a6dd22439c8d968f2e3136d3000dd70c5db6aa212a63c9e16222bd39201d9b64534c87aac3b53b357bbd522660caa73b02ae4f45e1b9868ed45cbf8533720f99a1282338a107647ecc8008ab2fed262512a059ac6073264817e08332f9c8031c9913f2339169851d7b746ad9a8f2f54633d470c3376302250a3255687dee61c2625aa9cda852d835ec95c4348c9be74473049abadd65ca055239d85dcb11e6297e1667ae548664d6bb19b347288d57e3de27369a52ea25150675507cd5282cc4875fd8c67bf29accbc296e26c4b4ac813877945de0a52c355526e2404d1f262a2505dd542bf3dcca6f0121a5a45b77b419094408f409261e3c25f90689a5680b146fc6b1b76099f6cad427c6ac4281db70b34cec467ae35186d6195574935a1387c5dc795523257482a7210e1009f5337d773b2708c694359a517152168775695acba0735be594c8390c760070c4912e37ce33b3bad965205d918331371de92c27a1a5ece876015a959e96aaf3b1a60e9e77e46d51d9d85aba374263bbc65ad78b2d5a53cb909682aa0bf37d49d172bb46a0271d30716cea8aa095992dbb1132e81265a29435ef2c51daa9f27fabf3a799813e67efca087ac12247b64cc0ba15a5486245dec1648cbc7aaf40805115d78f6687c47c553d050f1e6821b368f98da22f4aa7d738a81b298a81bc43e16c8ce1490147ca83d2dd98bb918300a26cb431c99a952471b84bf6118a4d5c0a898532cd277bb4443cd7b6924c3185ce55cadc7f877be93306357ac71a67ddb4c545fe7301d339e933b81ac145988369fb7d31921a66403c587c165bfdd341011d19ee964b62e4c8cad2b88e8dccf3ac75cd3f835e2938d027c6789f54d0fba176f9bb8dc7716cac344684334c5704d5a54c932535739948acc61bd67b581f75a2169a89a11076274b10563141722c9aa9a34bb28a69ad677292be84455b24559cbbc0f347e7b36a45555a8336b8adfa07e599633f5d1bb6adcaf86ac9e7885039a3c1d308996ab6c966f017f8297009c9b4b573b70da8921a0c256a9a03c0cd6a4f72c6edb5630b1219c4a3c30d1f1586cd936e3437684ac60efa62d0a345fbc4881b24372b5692c101195c66c3ad647ca04d37f91f813a7a6795b371a574565e14779772372cc4a79c40308eb1233ed643808e939f27571c72b2f719023e048c4d15c71b3e116482c413a816c6d3a3877f862559b4afaf04df9c62d02cb364aa2adc64078b8bcbefe043bd6f32ff62b9555fab5c1009cfc102b9b4b88b8a93b66e3a65a62b184bb5406dcae7b3ab6047754bd215251ebaf102356ba688095a8c9eb1a9d8771cf60e864b7b4a5588843922b6d4a7445476997a6e5620a528510439b02a4b0de9c147bb14433db144fc9ab4b4128f7291a637b7e609a7de058a3b58a17501c833be09143244cc7e2490eb01cd292454523ce413a6e8cbb67a464aef43912b4559651258b9b812989093540dc8d202c652c71cca1eac46eab3f9ec199eae025b153348a600b0e373b7cf2620f5560a3c64c15ec85b5e81c0bcc4840466c63cb124ca45994babc31f12486f3712d22b1f649a07b192a2451cfb079ba179c2b857c41c4f8842a916e06f9c6a07cc6a4d2821401a65060688713ced4bb72c08241aad91b50bc1b968bcf3bda76a8e1b20060975e8803dd7b762d9a49b988568cc575a6d34bca13a0ef701b823296ff114efec9031d79a20f6c640d4519a1906183099926d44e88703db7636e19394b2f65abe9a8712c868697b46871d830bbc09ae02487e8d59537c3841d5b080f503aea769b0335493b84b94c4a498b1a6e6acb578201bcbae6baf0e960aa975d3f14b5179051d933c4109361f03461f265274f72416df79d1187b6822a0c38177a02b4afdd635324eb6737c11a631784916452c700d09aac42ea2634abc68bd3f41a2ca679546414df2314d57c2b318bcb98d7b46fe1b5a7e3af1b2047d193883cfbc6e7d29049fc9c97b344736a0a48082b0a145aa8776125558df656718af59964d42f0704318db88d1e91b840690b96669c8851bdbeb6043f04c017b59b289bbf550a94d0aca4aff18ca84630a99b82711a661e8b202b976e65f53b5db52b255a88692852e06bba321b4de782b5d951ab02eb27098813c98b0f7cccb778b08704a068b4d48afb30274c0759fc5bb86fa59fe61688296846b2481e18a05fb9c02931570596ec436f570c187159b25c1f6341163b79670f62334c6b9a7139044a8bbd2b5183e0f82d3b6666735a94478784aa6168d0d3272876b5476b64f7932f3aa4151ca9b604bc7fd5d1395c3708908015b0d2c8cf04858eb23238458f70f964687bb2137a0c75c06a868c3490166cf2bc3afe9b3746e40c231b3638a3558974bfb0603cf4c28c21003dfe87b3eb959dfa715b78ecb71bf404cdb2b675160138a46501569918cb7deeb0489a72a4799a1a4ac625d5c6021f51c357895ccbf26fb5aa372343bb1c516ceea47683e5a4d094a3d5188270811751fb1e19d68ef637227e491cc6387760eb5a810b387f596aa20741c4627b1c13a303d160423bce1e422d929c06f067adb7d96112f1607d3c7e43e7aa09ea248526c6881901852123f1b734a8c1891261bae6e7a23dd5296858b6f7813196f13f56be785d942d7eab011805cf3504fce325b6a5ef1aaadbbb11c662b9d2c9ede13be3dbb0edc3ab08226cae11771ff4c0b04a564b64a0d9ff10e373e986003271531cf27285b8721ed5cb46853043b346a66cba6cf765f1b0eaa40bf672 -m = cde797df8ce67231f6c5d15811843e01eb2ab84c7490931240822adbddd72046 -ct = d7894051d7b0bed3806f9c3dda9b06603a6e20ac35848b907d3f146471a8d6bb1b8490cb2253b95bb02e34cf5cca8a7ed85fe0e3a418b0b7085bf0dd8079af05234bac561c628b0d5e3040ba34dfd6732d0fbe3ef8d180aa1b02a89792d0411731f3005853c7d14ad636027abf12b2afb3bd9e6047f8cf0c45a9c27cdb9516790a3c6cd4af8f6fc16403b31f0136b7cef43e6f02a26305d3123afc52008f861c69ab474c65e8111d85dde93a24166452f7557458762c32b85f863a7dc151c544e9151f2239b12c171d09c44c7323a2d6e528dbdf10d52738e973474bcf4299ef1ae762a903e5f8f4b9f9a8e04efd00a6e52a2d23c5156ca53dd4975f499766e3d7b1645311fee841641eb0e7c411d4746de694edbb6bf7f8c071f595eae3cefdac36bc3c4173e359b2edfb6e8c130c56c94dbccfde5c680ab3bae44f3c0da40d0414f41637beec5fcedfa6786e25229140954ab5c9d2b2dbca3ab66e29d52a99b9f6eddd769ed6da638b52bf49488cf748082932bf551f490b84d474be95ca7d00023948a79e3fdea65ca84301e57a9541efe63c1ac0a3dca139cb4b2f1132e3d1790c260f761635b94784378811158e3d694c666c15f5db3af6365c30071a532ede8c30c7b29a3cd272968c6d5619ed052a97014f41c5da8eb2b22b81fa74a21bc584f8ab5e244bcc6145fb03f5191e1d0556dbb770e0fa6e5d0084cc671f6a41afeec906b13cc70a0d0c6456df5cf5cc48380c2ba66d6edcc3da41e9b2159f492acd5177782fce88f3c1978f9fab03a8f2aeb84dddf3ac0c9e4832d948d167c529f9d49e11eacaf7a7b2ad49733b459e428a564edf84422abcdd669ffc370fbe0312cd75cfcc708105741a9991f929aacb9a30342f6091f501499369c27b88f27e0da8f914a088dd0be64e98aa5450df11564a7cc4d4148dca31a64ccc0709882caf9dac2db60858387efa47a223e1d582446e64bd5f237f1761511e8cae5296795284c350de534401e3ab548d60425c49e9dc87e1855c3ef3433ea3022310c6f5b2063b66ef3ba001497536853109dae959383172a3028ad56528ce0b63149f1b86bfea3f6aabb4d921b12989a7c4763f6efc5ab4d997a6c25d73f8c6cec35f6d3dc20a6edb062845faea4d7d3dfab7624dfafe5a105b17966ee76c832f5c8035d8b4119d35caa47287baf11f727fb27d2d071781dc61cf254f247b7132aba286e5dc99247751c30c24fea034978cb8b22fab060e2a142317d7dff4a7dfdaaabd9a58d938dbe512e78e524a8d1ab7485573713873de1be9aacebbb769e9291a01b9291159cd633c32d2b62bdf6339b5155552033ea1bf4bb77b19a6ab64a397f34b6e9934e13ecab2459d32eff5b3d9f99757007ff22a6a678b2aa330d17e747896eeaaf435f2d70b16e30b72a1e19f31c2c3eaf8cd88fece9b920af7a1444ac4889a53332ee90f8872a9429f989ce1fcd8e42e73bf1825dc39cd9a901c3186eba54e6e40faf9e90774889e9a1e52ecdc16a49d2e07372969f4221f4624253dc186e9d75de127c8cb1039c12bcff46c58416e4def361f4d4f1bcf62c761977b9dc10bcad9e3ad4c2c9350f65318e8f4074a74cf8b634b9287ac78fe87935b9909405d65ab4dfedd1c8e8a4a6ea72f5a476066b2d27054cea22f1f69756fbf070dd795892585817caf71e8fe3d9aa144db44f187fd57820793ac3158ce171ef104b8d39e0315614ade69eb1e5c28dc4c77442ded9b89807dad8b7d65157b6bff16b3cfa2a8bc9058934e0c1b8246f52551b042e8175730c42de1259fff9d83baee3da2d89146e7146022c147d3a4c4243f50a0d9d187e1e6dd531b8f410be54f2b61448a4a8c2993875804c3772732e83b9338b36ad5b64fe92715c229b01a348687e6e387f4aa31e3601df0527b8b4bb2a803e90758d3022ac3c0fa7766f3c4ab10b5b230197a5cbe5e74e24622a2c607f49e732faa88193cd0dc2d2b89c538b2e9df16a7727cb23af4b62fb2e43be4283e09314051534401b3f263ec249e41aa4e5714bd4ecda5d87f4ed06e2e797cf5763066c213b585f7c1a423424b59dd1f42219c86536a3c62a6b454ac1c817da5ca8957ce6ec5c407be4878deaf8df159c344af7b6828b534bef1a7bf28e4389369ef6ab12cf4412db69d3bfa118888cd8a6c326f6e36b77d53eceae10a827c3cab8b00544bcc2982e1927a6c18c9 -ss = 3aec4fc396e413b401bd85b5a7cf59c11cbe1e582e72dc5a1ddc76f78d395711 +sk = 94b49ea42526935245c45a7d580b6aeff8bbe0f5342bb8bd2550212ad5935f45cba7caa6df914007fba79e9946c9433a86a2c4202bbdcea008af78975e6619d3582787530dbb7318a530b7b5a27d24258c7ccaaaf505ca92cb853a5818d4269be812becf169a05e71eb957557787c2f3b72315281dba87476b157a06095a30d52b388ac22840755b43440a931df8a709dc435b415a7babbb04ccd93cda00ca1fb090646b1d6514813368a794d38c907163b5917496b018c519b160c5144d6424495626e3a5ab9ffb8d8d3168d77599a88a1d12c07d86498d88dc1af7fa7de15073fd4b62801c1a902b215e7cc3eac350bb63adeaf9c7594844795a9a6274aa3eca0cd10891f05795a77b30add76b6b1a35338b8156690ca2ea1c9c3b602b23324925314f726535b36dfb355225d37e7c85be15a5976a8a6ad4e2c35d4c45acc954368ba6df88a47dbb8c782336f7ea507a6c2d26d952dc03b4bfb89872644084783ab493cd72d3befc2c803b692729638af69b03e6db9b82e678a42969fbe770fef65723f77da6437c20b203601c884a9b9e08c0b1ddbbc1a66517dcfc76b3f125f7795e5ddabef0cb00119778575513e05ac38a7901a0e8c8794685c0f274050097bc50168818a74aba5d71980f5c76279ec0214cd51efa8a21391567fa052e6dc0cf9bf216cff9287c80693645a53d71b3d7509f6a432d51b2b0aad129b594278da74ffacbb713357d735a744b7c65e482b7e172c67a5b4edabaae11222b8bb6b4564ab4fb20c28b4981614b69bb188db6056607e089f64803d89210c7e604266b00548a2ae27996196a6d6f762c27b22731f7942543ccef3856edf9ad1b1b1652a33c3e038dd9b2cd9a4612ce174315e67b26dac767e50e68508d104bbae1a2b89b78266d27b109f90bce1581a8b8888c90c1c4ea5fc1f009d5073780cb4545087c88026b9b9abddab923db52620713c8b5ac3301e8715ac39d13084926e841fae41a7bbb7912e10680a78c0c363a251720b2d69467b6cac5d894f862595072a7c9b14bfefaa2fdcc75cc42892cec6184b52962b9b73d663b7d76c1ea499d538bb45a4caecee0c8eb93bba5ec1a8c936156382b10102e3211b2dc15663412805f60590ec33dbab80d2a3bc05fa8af5145644f712e004c20f799650159c40dc952c9a54c27e816c3a6a95efbab24a31f6c402300f9baf88a46644b4df8a24979e80dc30425b9e75a753a36510b87c5fa95cbf36e19a12245876003b54d4e008ef7ab9d83c5a2406014b5cc33b6167f4c452af45084b7412ec19556d82b0a6a90c1aea60a72312d8a7a8e5060189717094ff950af2b503988964f0aa227c523487471d3bc905b6672be20bc714729b7a71478b07a19f777dec546c624723af7b5f6c142274ac5652a7c2d7abbf1171f2bdb12f1ecc876681a600806d6fc229e6a8f6424419187bd22e49b8f27486db25371c169b3f61e81131b57659b1030a959790ba5d6424580b1f588326db9cd01a260b21b8c42062b883854fb173ea7613764d41dd6b89468c7ba6c4236d1a0436b945b8b340983023139293fc48c07659b955453bba07b0eb4e2a91f594232a47c65c66e1c5c8279f179925c55ee3a0b3f5423e20a8620572a687c2b64b6ceccb5944d07107648ba73a19fdf6bb3f57c5fa079536c675ff17a6dd22439c8d968f2e3136d3000dd70c5db6aa212a63c9e16222bd39201d9b64534c87aac3b53b357bbd522660caa73b02ae4f45e1b9868ed45cbf8533720f99a1282338a107647ecc8008ab2fed262512a059ac6073264817e08332f9c8031c9913f2339169851d7b746ad9a8f2f54633d470c3376302250a3255687dee61c2625aa9cda852d835ec95c4348c9be74473049abadd65ca055239d85dcb11e6297e1667ae548664d6bb19b347288d57e3de27369a52ea25150675507cd5282cc4875fd8c67bf29accbc296e26c4b4ac813877945de0a52c355526e2404d1f262a2505dd542bf3dcca6f0121a5a45b77b419094408f409261e3c25f90689a5680b146fc6b1b76099f6cad427c6ac4281db70b34cec467ae35186d6195574935a1387c5dc795523257482a7210e1009f5337d773b2708c694359a517152168775695acba0735be594c8390c760070c4912e37ce33b3bad965205d918331371de92c27a1a5ece876015a959e96aaf3b1a60e9e77e46d51d9d85aba374263bbc65ad78b2d5a53cb909682aa0bf37d49d172bb46a0271d30716cea8aa095992dbb1132e81265a29435ef2c51daa9f27fabf3a799813e67efca087ac12247b64cc0ba15a5486245dec1648cbc7aaf40805115d78f6687c47c553d050f1e6821b368f98da22f4aa7d738a81b298a81bc43e16c8ce1490147ca83d2dd98bb918300a26cb431c99a952471b84bf6118a4d5c0a898532cd277bb4443cd7b6924c3185ce55cadc7f877be93306357ac71a67ddb4c545fe7301d339e933b81ac145988369fb7d31921a66403c587c165bfdd341011d19ee964b62e4c8cad2b88e8dccf3ac75cd3f835e2938d027c6789f54d0fba176f9bb8dc7716cac344684334c5704d5a54c932535739948acc61bd67b581f75a2169a89a11076274b10563141722c9aa9a34bb28a69ad677292be84455b24559cbbc0f347e7b36a45555a8336b8adfa07e599633f5d1bb6adcaf86ac9e7885039a3c1d308996ab6c966f017f8297009c9b4b573b70da8921a0c256a9a03c0cd6a4f72c6edb5630b1219c4a3c30d1f1586cd936e3437684ac60efa62d0a345fbc4881b24372b5692c101195c66c3ad647ca04d37f91f813a7a6795b371a574565e14779772372cc4a79c40308eb1233ed643808e939f27571c72b2f719023e048c4d15c71b3e116482c413a816c6d3a3877f862559b4afaf04df9c62d02cb364aa2adc64078b8bcbefe043bd6f32ff62b9555fab5c1009cfc102b9b4b88b8a93b66e3a65a62b184bb5406dcae7b3ab6047754bd215251ebaf102356ba688095a8c9eb1a9d8771cf60e864b7b4a5588843922b6d4a7445476997a6e5620a528510439b02a4b0de9c147bb14433db144fc9ab4b4128f7291a637b7e609a7de058a3b58a17501c833be09143244cc7e2490eb01cd292454523ce413a6e8cbb67a464aef43912b4559651258b9b812989093540dc8d202c652c71cca1eac46eab3f9ec199eae025b153348a600b0e373b7cf2620f5560a3c64c15ec85b5e81c0bcc4840466c63cb124ca45994babc31f12486f3712d22b1f649a07b192a2451cfb079ba179c2b857c41c4f8842a916e06f9c6a07cc6a4d2821401a65060688713ced4bb72c08241aad91b50bc1b968bcf3bda76a8e1b20060975e8803dd7b762d9a49b988568cc575a6d34bca13a0ef701b823296ff114efec9031d79a20f6c640d4519a1906183099926d44e88703db7636e19394b2f65abe9a8712c868697b46871d830bbc09ae02487e8d59537c3841d5b080f503aea769b0335493b84b94c4a498b1a6e6acb578201bcbae6baf0e960aa975d3f14b5179051d933c4109361f03461f265274f72416df79d1187b6822a0c38177a02b4afdd635324eb6737c11a631784916452c700d09aac42ea2634abc68bd3f41a2ca679546414df2314d57c2b318bcb98d7b46fe1b5a7e3af1b2047d193883cfbc6e7d29049fc9c97b344736a0a48082b0a145aa8776125558df656718af59964d42f0704318db88d1e91b840690b96669c8851bdbeb6043f04c017b59b289bbf550a94d0aca4aff18ca84630a99b82711a661e8b202b976e65f53b5db52b255a88692852e06bba321b4de782b5d951ab02eb27098813c98b0f7cccb778b08704a068b4d48afb30274c0759fc5bb86fa59fe61688296846b2481e18a05fb9c02931570596ec436f570c187159b25c1f6341163b79670f62334c6b9a7139044a8bbd2b5183e0f82d3b6666735a94478784aa6168d0d3272876b5476b64f7932f3aa4151ca9b604bc7fd5d1395c3708908015b0d2c8cf04858eb23238458f70f964687bb2137a0c75c06a868c3490166cf2bc3afe9b3746e40c231b3638a3558974bfb0603cf4c28c21003dfe87b3eb959dfa715b78ecb71bf404cdb2b675160138a46501569918cb7deeb0489a72a4799a1a4ac625d5c6021f51c357895ccbf26fb5aa372343bb1c516ceea47683e5a4d094a3d5188270811751fb1e19d68ef637227e491cc6387760eb5a810b387f596aa20741c4627b1c13a303d160423bce1e422d929c06f067adb7d96112f1607d3c7e43e7aa09ea248526c6881901852123f1b734a8c1891261bae6e7a23dd5296858b6f7813196f13f56be785d942d7eab011805cf3504fce325b6a5ef1aaadbbb11c662b9d2c9ede13be3dbb0edc3ab08226cae11771ff4c0b04a564b64a0d9ff10e373e986588522d326e7f105f11c4e8d97e119e193af42dc28409f4f7572ada538b52c1f +m = 46401015603c5e2174cb94ac742e836b516e2d570f15de0b9d0204d79ac64ba3 +ct = 1276f06f36f86947f8f10e4fb2f63be3b13f1f3e3a96c4f810faa0d820b07fba4a5d418b2691d934af1f821a272348bebbdefcc6cc9344bc6c5505aef98eb37a41fac305ec7c191c91ad3265658e541b34cc7eea6696c7ac357b35d2fb7e0bb57b411282fe3b79b71ddf1ab42e744d51be081b248b6fb0c6ad6878fe198c91b7c78e3232e42f49996ccb920581cbebc9756efc832c05080fcb71ba0be859de8377f5b832093f33693c1d8e607a12d40f4b03602aae4099bd05ff4c5be7bdee8741cdd59e25c844a9067dcfd3366f8faf4ac89129ec32fc1a5fbd20b95d4a0f323fafc53fada2932d34f851c607c88de6c92fc78780ce5ba412e475a6dbcdea8b8cbff2310f8412fdf72208012ef26336b16230659dea885c11954b74eadacddcb6d17164a7929003d43cc6f097680f9d5b2972529d6510c9a4c9130c99c54eab43da8fb5cef5f40a3023644f8b2a531ed24edd54cb9f76217778020c20a295d882f0f9696eb494c8f991ea38ada9d46656cd91594eed1cdd28b6786fa0315990cb7daae49b225a926834a3ae34a2fb02005a47760c54fa381639844a15581ff2a86b8da283d9e4c0e21a4767f0b9ac32470201b86bfce06a197ec4d23950b68378b0258c7f19edced084531f68df5e9aa9d2bb4d4af6a671195009abc0b0da114f3786cff933e5728f9532d568247c5d1ddff3701233ab5a134bfa7826ebebc5f24d3895db76dc8c013a6732d0a51e30140c6a7f49f40d13f29e10a34cf95859aba2d20ce9084ca8dec9294d06b4e5795ba201ece827c9c4ed37d4507493ade07db8491609cdc0306e7b875f8fd1f0a6be48a7f15d82835fc109e34808dbc5c891449b4ce87603b7cb12fcd07c418029df6acd554a32ec3137dc5b9e5885b564bdbec8701459be6d3b73fede068019c6932330040d14a55d75fdb37e0112584a703b5da0dcafc2adfe6986ae68cc5b55e4d7e2dc04311970172d3e53dacf9a447f8821bc5167f32e366b207969846358ac96ba0e868ac8f9a6e835160f74944276954af0be30b4a8110f1b4ddb88013f1a35ab9209503d69db6a39778bcf6878156b92009d26a9ff23c02890e7d2a16e214fce7803f2e32708ca096b1ddc1480860393efbebc59fa6085693b39fdf5317c0ea18a26e7cd845e6741a880efc99460d336f9f938ce6b56599598449b47fb423d80f5fb0c02c442179bceea85b3026b0463d357a8db98f13d1e719f0e1827ca4ff7be61b5e66ea5b271078a40379f3b29d05bbbced270828e0637b8c7809626d23bee768d5acea4de9848297d377d7daea06c5a745f00c1e6a1450f6cd97f07d1f2602d1dc401583baf44c42171a3afbb4f94c1016c18de7c4e07dbc58703cea61098db16bf2d67ca055af49d70db2c1ac963f74b25f2d51f80db756f8f62fa41c8a43104baf7631a543bd4f56b041018f0b33f6cf1f51848fc0d8dfc31a788e53cfbc482bb20ededb738bada3c27d9fec177fdb71d5529f2ed5c1ed014523d748715f11e70aa930ca871940f5750787f73948921ba6ecc7905329d6998a5f5c07ab7fb9c5aa07ae54bfc17fe6b158ace8c788d9c4332284d8f890a000acde1bf60a84d7af3f02fc7d81637a246ccae1ff4a77af37506b766abcbdf778bf1a4e16465439eb49105857bc72ee4cc564ceb047590c232a8bf4ebf8f742da193c3a2902a4d1729f6bc8a71ea2589327f4e0c3d98c51a5a5512de34b6c6e0672efd5b0368658665eae3cd9d7ac2930c1841cecc4be13495e130559db9eb093718e29493390a32debd702e13bc5f7116a9dd004aea74e7452d28ea6d5c88c38e0181afb49dfcbf401fd0f1381f6112b4345d647e4730e4cf5af6a60277225f06602176f20df1b370e0f827b667fd69594daaae12b22fa059367c394155676d8d41a8a82e1218f7b8c6787b7965e46992a1be6d3ce03d7286021a869982b068c4152cc3d5f36a33f30a3fe77e2550e5468d86bba09793400e0188d4794d4484de0de598895b3543a9812c705c67848195ce62b734b90278dbaeb29df0896a1a471e5f2d9d1356edcac79186011f1b4cc3891270a277c6f46b26079c857e0d40d1f65217dc458cda9fc7694095a3279338cb0734cd5d58f696927bfa9d55f492aa551477d49bb0cad7c77cd6ea21aa6230b7c33abe8459409a120c2f41212779d4f06b11343c8be8703cd57c03344f27429c +ss = 61c0b964c62eda77ce295b1f7baded362fe1cc1a0881d2c6f23fe99b091c5e95 d = 4b622de1350119c45a9f2e2ef3dc5df50a759d138cdfbd64c81cc7cc2f513345 -z = e82fcc97ca60ccb27bf6938c975658aeb8b4d37cffbde25d97e561f36c219ade +z = d5a45a4ced06403c5557e87113cb30ea3dc2f39481734de9e18bcbfbecc6719f pk = 042b035f126c4fca9e059972fe92c9f4b3755648b5b2b7784d55a62e9b101a7a059cdc2f3f4b8888fc3a56cbb1447673a406c78e9a045df1be84da17ee2350b64c0d3bb63965328d16b3c446214c58731ce3c405d3d251ac560d0d9108e3bbb268c6931fc49d7b454594444dae401b2fa3011bf3c697e67ad9c1540ea945ace6c98d49321dbc36447858d783bca93ca67132800672513e577d14607cc046af9bcb4896f2bb39a0208405b3734505b239967ec72f8e8b0c2bf06228bacf834029dd123c83fa3f8f83892b504c1a11b809a9acc494c5e5c79c18401a41a6af6632c11266ae5821b3dc7c263e1b5e33a1a7bf172d6d142c79782e20ea38d6e791ad3b86517681ce389620562bdba89898679ea0c748d90a963e738a3e9968f3648e984c99f0e04c952309111396d112523959b9baccc43df715dc94ba3253332ed27cccf56f5812200e8c7e2a11ae02087e0fdc4389e98eb0ba5693cbb79680a6124074d3c998d911ae4e142296c0ca245719467402124574f8d271624315359c7842c761bd6057b92b4640a1703200cedcacbfe0e475f7316ccea74b74257e37c63035f04a880910bc042802332ee8b3c3612290c45793cfc5581b92236b74a4f3f4bacc9ac3dd563471838d11758db06461061acc84d99f29b858c339ab999031d470aa948665aef9974df5a2fdd93bccb74762a0b7c2fab58430942f900de1c835c8b9cd42d521e54c434fc240add0b23ca1aaab0581ed9a593487b95a16353c0c7adabb285c85105a667af674344c3666da142049413973051268d94cea41c3cc9682b791ae17f0696df29f7f559375965f817a8d9a3297639017f5624f9df1b259412f89a8c88a361940ec9c3045c4a78364e1e06fa95500f5ec0704a365f4698b2f26a7ee348806b74e1579c2a466ccea209e515302493443f8ba9e32d04e03a7557380c7bfc83f191b84093c98aed14286f762d3b5513f996481d5445c7a7c931c1b9b52bd86e0b3943cb70a16c9efabbf4c7c80f1f73438399ffb464e7e40b93b5108861576b3594966c40860f74cc58b9bacf51a5db6ab2d4ca43d964ffd831130b21457a08af7d8060f847e3695b8a7e8c9858a70d521908ce1c38c0713469c3d294a7fedbc5c5446904dd76733e58f86693a7ec4af944165dc9597392a6fc2068297d11c39d8648f550a7d157ec4b64c631a7ba7b94c6cd7083e21b149b484817a6f93e011a8e76931da4921e08aa604756c0bb63f897afdb8c6112a4ce21b2cc1935dc6b38b6c4473e2b0639266386ca988456ac843a1084c220b74f72b18199ab17aadf0960f50db4dfc7bb3454a9b29e74b09c410362cb8a5516e0546a3b09356b520a303e284569b2df6d263ead36ce75c82f6d141bf7c3e5b87b3eec630fa7a65a4c58676181916cc23e0c6a0339827571930bb65089376ba4bf60f4ca71d7090614f468732e60989298384a93849031a989488e144be739a78e1c49cac60af115c55a6501f010c100dfabbb462b1b3b6469c8b0d8b91061bea5da74a28d17cba84f04d2232076cc91c8bb21fbd558426f99b00e13525e37c23520698e0310c8a53c6b36192d82837ba0d3ee27b059b3e8fa1a315b64ca5159de3d9be0fa0352b511d1a803c79668479a1c3561a8ee6f7aca9ab4c861554a5b81b5e6115c952b3239595b9782fee01b869380ff09cbb5784811966b864d0414249b7dd0b53a762155170990911192e37c6c7263be626084118266bf7271356bb66d35aea64c5ea913db432c3caf989b0ec702139504fea41fcc782808bbf26d3b12a962d2b1a142c755fd1acbb802ac9b93713ee71af9d4430f240c7fcab059cb435a8373633417e79106a274882f5d40a4bd732c1e8202e41131497721792ac464b3b26a6456a9374a5520054e50cdb06a32b3973aa948a37e4798544020a7ace817749cdaaab1c7713b467a77593c034c20de0a9c71c712d6529820a5b3bb4e76202080a5e5c7ca86bb78c392a39aa37a91b4e75b3c5f2e56211358cd5aa2781ebc548e21e5351209b7a7d871a782da1306883a4b6b070a06b97639a3ca3273d1218a8000b7e85d6011000ad018527a25059c2ca252e5726629b0800b85ffe02745e9199a705d0cf4879719a53d33a95b2cccb52c1c9655419543aa146241b98f4a4ac60e8cb68627382a145f91be9d78fd51ba5e3fcbc3155b62bc07751dd -sk = 72408d44c2be6e83c803da2846d852dec1848ee41504b5c91f774f6e512b51f71dd1520203c486f63240bab4c1dbb212299753b8627f9bf2117cd6a83be4075a385782ab804a420972eb25bc553eb981aae7d7a715111338529f6116c10b10bbc20b31c3161d4bc1a5f050220b5584abd6a546ab51a9a10120ecc131220502697e9d61bdbad346fc43824135692204b49b5b377b870b7b28c86946077a215acaa11abd851eca479988bc69ccc9975eb42a33523c525434bc594217912123957dcdc18e410a6d6a811bed8a0b4135b56f4562f343aaec34396bb0556d7962679a76934b016b4b4bacc14650c55c3aec9bc2e85b548b5d3eb891b6596f0c44009bd0982d98bf81ac77c8da98264a719cd8568e48279df9c8e9552b94aa773b43a70742c75f041915752551347f00447d72d934bec553bf1014f4276015e0b4db77cdf8c546af05861804a5b7d92838744511ac6c8be55e883acb7775b98c4b4c9c8789aee317f8f02b4127a6ae879d02c13772a003928041c53351d8d70ce59b14cab5ca31d717f69129c8fabe46582ca5298ed156209c25bc57870eea34255ce1b4c426211f957d74876dec169c4c516c8716b3ddec6c3e610c31f0c52e13650f0b1c70124dee27111a76abef82c8fd3172d554121e6a87e9d3b58e11379cb812b7f4b95d46104934ce75c715771204d7c46aa9439836453bda709cef3bc1c9341994f25c48b5c80fcc8a67e316c431bd302b20904456b3283e9ba1bdde494ce9f8a3f0b432dca69d0ba9c43c703e1616272cd6b904d5b6279c55a539b7e46a601b28493e38a2cd9ba66d997c8c5c3b7631822c529fa48835f8a08f322615e96b9087c71c9f262b68851f00486489d25c92221c2759c89440ce733614b8c7a06f26b374cb4f8a6a7d67da521eba7232c0a4c066886b8450755896cff77a369bc8fd4b3b5b0731452a908acc68366b8edba66d09f212c9330c83990ab2db7095d708b6c3589bf929fea31534646537d2ab023887fc286f00f46f8a360476998e4fe7315f03c234929247bba2a05297a5e01aa9cc6158458e2302513274a2e3359d66126f5fd44d348ba2b634642ea26c6cb616f64a2d2c819abaa48bc565ca0ab67e6cfab1129a0144c10a003b44bd3879b4e62e0ad3a58bd86a7030be34309f3309642b017b0aa03ffab4012b36adc49a95ddba67cd81306ef6bb20b546bcc55eac2b815fb38bae991d6ae7aa87d42ecbc740cc816a3ef42e9d204ca0177cdb30cdcb870386c320ff51b137578b029125ba518a5b887d7b9050dff113468608f6335ea81a59b87cb753724ed0e159fa4709ac018a31194247a6a9c65443a35ac36e11bfa6a8559cf20e50116ee5fb3780fa03dcaa77846b18c04894e50486acfc3b8feabb8cf860d79c2734a700ab731739244580653699b51b7fc440b8cb1d6bb1360291bda5b11aeda3c77a25b40f96763a372512561e0d52848fd6a3a8241dea49c4c24692cb43aa22067072fac2dff7898f298cbae17f9ca68a132321932295161a1f31c178932004d17854d7d9c69f6640ee216747102280191a5695433763b6cf3b86756aae22a37f9f6920c361c2ac68a7e11c8f5505af2100651595bf93b2644ddc8d68053cde98863922230f89371683bddca6bc63b8c61ff4932a0885213234d5004ee9223745117ebabc5e149a5184a69836c69670e81ebb94c5abb711abf91fe3970f805b9ed7d1648361153b2911c7e20186f90907f28602672cd6c383eb373375924e832a156241bc7c5b231d74c49430c1d5fb7dbe49c6f7e20baf245d43c9b356a1be2a63ba24d4757dfa960ea61a65611cddaca48d7aa88402b0fbe16279445c8e663db1d8ca70dcae63c120df1c9bda547272c396c29cc93f0c3f002642b9d18ba0b87198140c93b55965f8c15712319ec6a95b384182618e08f134dec88732407de7ab934555af4f267051e221c4d3a0471bc6e3166bc24270efc54b5f9358d83833c295b1a5791c6bcb0610fa33d49a70232488b27150f74cb99f3643d5c6acabf5c18166cbb5ba55b4b78400e0bcb7205ea5591df6f803c464c549729faa7c9b75985088c8cff068890425cba4a2aa617c7d416b77e6c618d3f9112f3b9546a99090a1a499dc613323c0770923a917b2aeac15aaf9a7042b035f126c4fca9e059972fe92c9f4b3755648b5b2b7784d55a62e9b101a7a059cdc2f3f4b8888fc3a56cbb1447673a406c78e9a045df1be84da17ee2350b64c0d3bb63965328d16b3c446214c58731ce3c405d3d251ac560d0d9108e3bbb268c6931fc49d7b454594444dae401b2fa3011bf3c697e67ad9c1540ea945ace6c98d49321dbc36447858d783bca93ca67132800672513e577d14607cc046af9bcb4896f2bb39a0208405b3734505b239967ec72f8e8b0c2bf06228bacf834029dd123c83fa3f8f83892b504c1a11b809a9acc494c5e5c79c18401a41a6af6632c11266ae5821b3dc7c263e1b5e33a1a7bf172d6d142c79782e20ea38d6e791ad3b86517681ce389620562bdba89898679ea0c748d90a963e738a3e9968f3648e984c99f0e04c952309111396d112523959b9baccc43df715dc94ba3253332ed27cccf56f5812200e8c7e2a11ae02087e0fdc4389e98eb0ba5693cbb79680a6124074d3c998d911ae4e142296c0ca245719467402124574f8d271624315359c7842c761bd6057b92b4640a1703200cedcacbfe0e475f7316ccea74b74257e37c63035f04a880910bc042802332ee8b3c3612290c45793cfc5581b92236b74a4f3f4bacc9ac3dd563471838d11758db06461061acc84d99f29b858c339ab999031d470aa948665aef9974df5a2fdd93bccb74762a0b7c2fab58430942f900de1c835c8b9cd42d521e54c434fc240add0b23ca1aaab0581ed9a593487b95a16353c0c7adabb285c85105a667af674344c3666da142049413973051268d94cea41c3cc9682b791ae17f0696df29f7f559375965f817a8d9a3297639017f5624f9df1b259412f89a8c88a361940ec9c3045c4a78364e1e06fa95500f5ec0704a365f4698b2f26a7ee348806b74e1579c2a466ccea209e515302493443f8ba9e32d04e03a7557380c7bfc83f191b84093c98aed14286f762d3b5513f996481d5445c7a7c931c1b9b52bd86e0b3943cb70a16c9efabbf4c7c80f1f73438399ffb464e7e40b93b5108861576b3594966c40860f74cc58b9bacf51a5db6ab2d4ca43d964ffd831130b21457a08af7d8060f847e3695b8a7e8c9858a70d521908ce1c38c0713469c3d294a7fedbc5c5446904dd76733e58f86693a7ec4af944165dc9597392a6fc2068297d11c39d8648f550a7d157ec4b64c631a7ba7b94c6cd7083e21b149b484817a6f93e011a8e76931da4921e08aa604756c0bb63f897afdb8c6112a4ce21b2cc1935dc6b38b6c4473e2b0639266386ca988456ac843a1084c220b74f72b18199ab17aadf0960f50db4dfc7bb3454a9b29e74b09c410362cb8a5516e0546a3b09356b520a303e284569b2df6d263ead36ce75c82f6d141bf7c3e5b87b3eec630fa7a65a4c58676181916cc23e0c6a0339827571930bb65089376ba4bf60f4ca71d7090614f468732e60989298384a93849031a989488e144be739a78e1c49cac60af115c55a6501f010c100dfabbb462b1b3b6469c8b0d8b91061bea5da74a28d17cba84f04d2232076cc91c8bb21fbd558426f99b00e13525e37c23520698e0310c8a53c6b36192d82837ba0d3ee27b059b3e8fa1a315b64ca5159de3d9be0fa0352b511d1a803c79668479a1c3561a8ee6f7aca9ab4c861554a5b81b5e6115c952b3239595b9782fee01b869380ff09cbb5784811966b864d0414249b7dd0b53a762155170990911192e37c6c7263be626084118266bf7271356bb66d35aea64c5ea913db432c3caf989b0ec702139504fea41fcc782808bbf26d3b12a962d2b1a142c755fd1acbb802ac9b93713ee71af9d4430f240c7fcab059cb435a8373633417e79106a274882f5d40a4bd732c1e8202e41131497721792ac464b3b26a6456a9374a5520054e50cdb06a32b3973aa948a37e4798544020a7ace817749cdaaab1c7713b467a77593c034c20de0a9c71c712d6529820a5b3bb4e76202080a5e5c7ca86bb78c392a39aa37a91b4e75b3c5f2e56211358cd5aa2781ebc548e21e5351209b7a7d871a782da1306883a4b6b070a06b97639a3ca3273d1218a8000b7e85d6011000ad018527a25059c2ca252e5726629b0800b85ffe02745e9199a705d0cf4879719a53d33a95b2cccb52c1c9655419543aa146241b98f4a4ac60e8cb68627382a145f91be9d78fd51ba5e3fcbc3155b62bc07751ddff2546623aee72025fb6746fba736bae0e80e257e66edbf09d8d4dc11049cda4e82fcc97ca60ccb27bf6938c975658aeb8b4d37cffbde25d97e561f36c219ade -m = f43f68fbd694f0a6d307297110ecd4739876489fdf07eb9b03364e2ed0ff96e9 -ct = 58b6b48a7ae7c6c45c05b3bf58283e753607c63c768841ee5f774c4e279fec83c3357e82dcd013f4a3799bc600048efee6af26d9dddd364567a95d4874ee4a884d4c322b67be39f470b994d30a10759b4325f40e5fafa2a042cef680f400b404ef523c864f4aa25c7df7f71839991413633c9f41ad4d7b9a03b19560341b1a5166249ec233553f8071a846a4da7a9fca6f4242a9d7fa2f5573e4813d35d5b710e2a06c2ab426ec3a993841a69481b61fdef15493aa15082d512bc8465ab21ae388ccffccf1ffd3caa75c72581faa4f923f8682ad1de94dfc168baf9e6fe98d0e1ddd40ec8e757f5213a663f85bad27e58ac2f0c366694d4c98f78c884f71482d6eb918b0750ea8685b13153053a292a789de7829a6e259a72ebb7ad14dfa3324194c8968e7b34722c425358c9b6d7f20cfbe47877856415f33f1f32d57d3f28f489bdccc754987873aaef6bcf0acd96640e2433a8f81e0108cea09d97f5d80a944603d9173e8887bbc7c80e54bb301f0b854548d625bca496a5e60f2bcde43578b10eb87e69d4f9a62a2193d9fc05724b4314163b63ce2408eb58d73486bee9e45de543a0cc12e2478b0455d7518856651a31c9bfe25b53af9588f9517830923a5eda3275da4679fe2c7bb650c89fbc223b3ec2001fb527abdcc1eeef582038c6d8eb6a310b4711b84a4197edfaca78722755de1ec028ac3cbe583fb58a3b0c6ac8cd68d19f3cc5549f84285a90dc5fa82ff2c6f9488341da132b4dd0b6a485d6be4eb73595a4db12a31abd76bfe2e741b7e9d1ef8eacb692beddd36bfc48a0f88c29a71e02a14d1c1eb1ce127a60e493effda8b2a8a07e9e29a32c8ddccba97fe24c0809238ec143b4214b01cdecaa5ba1d921622ef722fc1632bd904c841c748c44131627a278d7c8e7b70f78aeddb8235c28baa2715f558fdff89fdc05a1a85a2d6a4f46deffab98dedfec0ce28c887ea2b797c23ffd5f1c353393bceac4d031515a700614d076e345d88debe558e90f86cdf2a066fa005ea9b6f5057991f80a6748d374291525ad6861d99d544447dde35f637ad7f6ca96a9b1b386e9a35ffae72f9d8c73ad2502bb3b4f901be5f2d00b47e6b4b34a3624a7349056f8ef0017f4d191593ec74f2a1eb6f095d8a01a9723762cc5105f851362ac65d029e1dcb965307c0abc09c732bc727851e7b5db391acb9c149f78d5277ff79c37f5a64751bbabf61ec7afc9078e06437cad0766ea7ea29073eac162069e209ed1fe50553acbabf6caa02be7c46a82bc6512b88704b84ee970c1a70c508a98726b85b14581285f638891b05aae7c1a25b6a3e30c672a13d7ab7b28296bbce3d24b2e290e56e51eaac2b0d9b1b2c080ef12585d96acd9948ab9ed3e9a4b3ab3f7905ef1e754a0ef191be2bca42306b16f80677acca724f74437a7727dea64616005c627590fb232f14e6fa00f7f4289763ba0356bfe804f2a40198d47a1e3d15c3bd4c80483ca6a7503368dd54a2e82dec7c327f214ffde34d0f4b60a57820c6719e435303f889a81c6482c89384dced44512497131751edd81a19639cdf05a4177bf83b09d5dbfd563ed9cfeecaa5016d90d9afcc85c4eebc28dbc331254581f6831b6ef726aca4796a74b3010e9d858802bd12cc26d7a12ac254ed55aaf24a92a086552289883db08d41a60d71622ee4d2b12b71a21734416b4c294adb3e77302351510fdcda3271fd17e30a0ff53cbd45732dae2f5ee34e986026d97123e12330ac72b3d5901489a5f1a4609236128e4af6e7a1877ad2523bd02134c1c8c6d2f7301f06ee3e505eaaba87afd24cbccaa4495c479883494b90d7362a954e351a3ce2519db0cc5831c4647619adbf3c806589b3873f09acc77138cc99bb33cd2a882df664a2135721ffbb52a731de22967a501b34b2e6213ab8ad01a75885770b0a8a5990191de735e89f0c57637b2b8f44cad13d0ef944a0d31c9df11f0227d8737594b237d5ee7bfdbe0dd904702085258b9eca3e0fc57d1114e8b7252ed2add9b7f8d18b36f74b565a068a74783a953dd5d0b14b8c2b966cc9b247f05fda1a81762e03297b3b04ba85bc0b721fba3d7ebf74f2825ccf9f58d3c80bff78d89320b3b992fe5682b29674e43be9c9b34c81992278c5aa427bea3e3a0f5a3c4dc175719ae6db0de1ea786330e26b0fb953f7d96befaa6dbb253e23c022a8400fb391f7af -ss = bb28dbed58aa9c42cdc40466cfd4d4043ded1b5f9def472ee328624e83553e4f +sk = 72408d44c2be6e83c803da2846d852dec1848ee41504b5c91f774f6e512b51f71dd1520203c486f63240bab4c1dbb212299753b8627f9bf2117cd6a83be4075a385782ab804a420972eb25bc553eb981aae7d7a715111338529f6116c10b10bbc20b31c3161d4bc1a5f050220b5584abd6a546ab51a9a10120ecc131220502697e9d61bdbad346fc43824135692204b49b5b377b870b7b28c86946077a215acaa11abd851eca479988bc69ccc9975eb42a33523c525434bc594217912123957dcdc18e410a6d6a811bed8a0b4135b56f4562f343aaec34396bb0556d7962679a76934b016b4b4bacc14650c55c3aec9bc2e85b548b5d3eb891b6596f0c44009bd0982d98bf81ac77c8da98264a719cd8568e48279df9c8e9552b94aa773b43a70742c75f041915752551347f00447d72d934bec553bf1014f4276015e0b4db77cdf8c546af05861804a5b7d92838744511ac6c8be55e883acb7775b98c4b4c9c8789aee317f8f02b4127a6ae879d02c13772a003928041c53351d8d70ce59b14cab5ca31d717f69129c8fabe46582ca5298ed156209c25bc57870eea34255ce1b4c426211f957d74876dec169c4c516c8716b3ddec6c3e610c31f0c52e13650f0b1c70124dee27111a76abef82c8fd3172d554121e6a87e9d3b58e11379cb812b7f4b95d46104934ce75c715771204d7c46aa9439836453bda709cef3bc1c9341994f25c48b5c80fcc8a67e316c431bd302b20904456b3283e9ba1bdde494ce9f8a3f0b432dca69d0ba9c43c703e1616272cd6b904d5b6279c55a539b7e46a601b28493e38a2cd9ba66d997c8c5c3b7631822c529fa48835f8a08f322615e96b9087c71c9f262b68851f00486489d25c92221c2759c89440ce733614b8c7a06f26b374cb4f8a6a7d67da521eba7232c0a4c066886b8450755896cff77a369bc8fd4b3b5b0731452a908acc68366b8edba66d09f212c9330c83990ab2db7095d708b6c3589bf929fea31534646537d2ab023887fc286f00f46f8a360476998e4fe7315f03c234929247bba2a05297a5e01aa9cc6158458e2302513274a2e3359d66126f5fd44d348ba2b634642ea26c6cb616f64a2d2c819abaa48bc565ca0ab67e6cfab1129a0144c10a003b44bd3879b4e62e0ad3a58bd86a7030be34309f3309642b017b0aa03ffab4012b36adc49a95ddba67cd81306ef6bb20b546bcc55eac2b815fb38bae991d6ae7aa87d42ecbc740cc816a3ef42e9d204ca0177cdb30cdcb870386c320ff51b137578b029125ba518a5b887d7b9050dff113468608f6335ea81a59b87cb753724ed0e159fa4709ac018a31194247a6a9c65443a35ac36e11bfa6a8559cf20e50116ee5fb3780fa03dcaa77846b18c04894e50486acfc3b8feabb8cf860d79c2734a700ab731739244580653699b51b7fc440b8cb1d6bb1360291bda5b11aeda3c77a25b40f96763a372512561e0d52848fd6a3a8241dea49c4c24692cb43aa22067072fac2dff7898f298cbae17f9ca68a132321932295161a1f31c178932004d17854d7d9c69f6640ee216747102280191a5695433763b6cf3b86756aae22a37f9f6920c361c2ac68a7e11c8f5505af2100651595bf93b2644ddc8d68053cde98863922230f89371683bddca6bc63b8c61ff4932a0885213234d5004ee9223745117ebabc5e149a5184a69836c69670e81ebb94c5abb711abf91fe3970f805b9ed7d1648361153b2911c7e20186f90907f28602672cd6c383eb373375924e832a156241bc7c5b231d74c49430c1d5fb7dbe49c6f7e20baf245d43c9b356a1be2a63ba24d4757dfa960ea61a65611cddaca48d7aa88402b0fbe16279445c8e663db1d8ca70dcae63c120df1c9bda547272c396c29cc93f0c3f002642b9d18ba0b87198140c93b55965f8c15712319ec6a95b384182618e08f134dec88732407de7ab934555af4f267051e221c4d3a0471bc6e3166bc24270efc54b5f9358d83833c295b1a5791c6bcb0610fa33d49a70232488b27150f74cb99f3643d5c6acabf5c18166cbb5ba55b4b78400e0bcb7205ea5591df6f803c464c549729faa7c9b75985088c8cff068890425cba4a2aa617c7d416b77e6c618d3f9112f3b9546a99090a1a499dc613323c0770923a917b2aeac15aaf9a7042b035f126c4fca9e059972fe92c9f4b3755648b5b2b7784d55a62e9b101a7a059cdc2f3f4b8888fc3a56cbb1447673a406c78e9a045df1be84da17ee2350b64c0d3bb63965328d16b3c446214c58731ce3c405d3d251ac560d0d9108e3bbb268c6931fc49d7b454594444dae401b2fa3011bf3c697e67ad9c1540ea945ace6c98d49321dbc36447858d783bca93ca67132800672513e577d14607cc046af9bcb4896f2bb39a0208405b3734505b239967ec72f8e8b0c2bf06228bacf834029dd123c83fa3f8f83892b504c1a11b809a9acc494c5e5c79c18401a41a6af6632c11266ae5821b3dc7c263e1b5e33a1a7bf172d6d142c79782e20ea38d6e791ad3b86517681ce389620562bdba89898679ea0c748d90a963e738a3e9968f3648e984c99f0e04c952309111396d112523959b9baccc43df715dc94ba3253332ed27cccf56f5812200e8c7e2a11ae02087e0fdc4389e98eb0ba5693cbb79680a6124074d3c998d911ae4e142296c0ca245719467402124574f8d271624315359c7842c761bd6057b92b4640a1703200cedcacbfe0e475f7316ccea74b74257e37c63035f04a880910bc042802332ee8b3c3612290c45793cfc5581b92236b74a4f3f4bacc9ac3dd563471838d11758db06461061acc84d99f29b858c339ab999031d470aa948665aef9974df5a2fdd93bccb74762a0b7c2fab58430942f900de1c835c8b9cd42d521e54c434fc240add0b23ca1aaab0581ed9a593487b95a16353c0c7adabb285c85105a667af674344c3666da142049413973051268d94cea41c3cc9682b791ae17f0696df29f7f559375965f817a8d9a3297639017f5624f9df1b259412f89a8c88a361940ec9c3045c4a78364e1e06fa95500f5ec0704a365f4698b2f26a7ee348806b74e1579c2a466ccea209e515302493443f8ba9e32d04e03a7557380c7bfc83f191b84093c98aed14286f762d3b5513f996481d5445c7a7c931c1b9b52bd86e0b3943cb70a16c9efabbf4c7c80f1f73438399ffb464e7e40b93b5108861576b3594966c40860f74cc58b9bacf51a5db6ab2d4ca43d964ffd831130b21457a08af7d8060f847e3695b8a7e8c9858a70d521908ce1c38c0713469c3d294a7fedbc5c5446904dd76733e58f86693a7ec4af944165dc9597392a6fc2068297d11c39d8648f550a7d157ec4b64c631a7ba7b94c6cd7083e21b149b484817a6f93e011a8e76931da4921e08aa604756c0bb63f897afdb8c6112a4ce21b2cc1935dc6b38b6c4473e2b0639266386ca988456ac843a1084c220b74f72b18199ab17aadf0960f50db4dfc7bb3454a9b29e74b09c410362cb8a5516e0546a3b09356b520a303e284569b2df6d263ead36ce75c82f6d141bf7c3e5b87b3eec630fa7a65a4c58676181916cc23e0c6a0339827571930bb65089376ba4bf60f4ca71d7090614f468732e60989298384a93849031a989488e144be739a78e1c49cac60af115c55a6501f010c100dfabbb462b1b3b6469c8b0d8b91061bea5da74a28d17cba84f04d2232076cc91c8bb21fbd558426f99b00e13525e37c23520698e0310c8a53c6b36192d82837ba0d3ee27b059b3e8fa1a315b64ca5159de3d9be0fa0352b511d1a803c79668479a1c3561a8ee6f7aca9ab4c861554a5b81b5e6115c952b3239595b9782fee01b869380ff09cbb5784811966b864d0414249b7dd0b53a762155170990911192e37c6c7263be626084118266bf7271356bb66d35aea64c5ea913db432c3caf989b0ec702139504fea41fcc782808bbf26d3b12a962d2b1a142c755fd1acbb802ac9b93713ee71af9d4430f240c7fcab059cb435a8373633417e79106a274882f5d40a4bd732c1e8202e41131497721792ac464b3b26a6456a9374a5520054e50cdb06a32b3973aa948a37e4798544020a7ace817749cdaaab1c7713b467a77593c034c20de0a9c71c712d6529820a5b3bb4e76202080a5e5c7ca86bb78c392a39aa37a91b4e75b3c5f2e56211358cd5aa2781ebc548e21e5351209b7a7d871a782da1306883a4b6b070a06b97639a3ca3273d1218a8000b7e85d6011000ad018527a25059c2ca252e5726629b0800b85ffe02745e9199a705d0cf4879719a53d33a95b2cccb52c1c9655419543aa146241b98f4a4ac60e8cb68627382a145f91be9d78fd51ba5e3fcbc3155b62bc07751ddff2546623aee72025fb6746fba736bae0e80e257e66edbf09d8d4dc11049cda4d5a45a4ced06403c5557e87113cb30ea3dc2f39481734de9e18bcbfbecc6719f +m = 8ddcc956a19e14e33dd2f1fcc4e6aa816f299f76cbf95b962a0535a7e2949405 +ct = 0ddcdd68a34b34a666eb297d9f9259eb8e3fce3b7964876a5f354ffeed4de32a2dd457593e6f0eaa534fa2e68c8125aa5e4c09d839e78159ef13966dad156a2ab9444ecacbdcb348835620c2e80d81256c4619043b0bbf6bee419258030fa3b463eccf9bc23eeb67a73a2396470ad20dff505967900b3fe974367c7246f476a48e6522be323bf771ab89d32c6d4fbb2300119d2b3e43984da319d9ba1f050c1577de172ce85e2fc98c4d9ec4d802eccc048e9b1c7a213e7d1e9a09ff4f35218b61bc92174c9b4cc191720a131de64b513236366565964679d1635fab23fcd817521a36648b42f3a3cb394c924de3f14662eb0961f7cf12efdc22ffacdebbcd62c7de22f24f73921f2ddbba0db616006c5eaeeae5cdb3b4ebca338c2621c9a4db8e1b1250d171d13a9da93c7878cf2517355100b80a72f4da457e6253ee9d085ab7be0b6dd7d12be1bd86ec629b7e60ac3a71875b673560b011c60720fe146d1492984248e61fa0f0f3e4b9099d6343a76fca59d1ddbb426ba5e277c97d5c46f9968731f4761b59ba38a023b91c6e771f0058a6ecb13c14d1b95687b47a93ab305921aaa72e6b1baaa5a3dde766a7b9b116b88fd0d2e31446893d4667fecd0c25da881adf8811e9a8c300c94ff8b419a17855b737534b154d298835e829fca34560ba1482d68f27e7e4ce40c19eaae8a1247b36434c7a14d776cf5f929695a55f1018034cd795d701d1f3f1917f359890456101c8e758c67b84405947801e311a5a1705a7aa8ef2089a236430c6730efd3395c999d55611f2ae8c56463935f72396d0ad6d49c7712afa679c6d71aa5bf4cef2c865bd1b920c31fc16a743e2e2807ea78c4c1d5e09ab49de05aa87d3e7fbf4b512db647f949d7cf5c10e18c48cbc3d1bb0c8e3b2b27e80077fab90e9976fa3472f2c0179a87e45f64f8223b33abf972068ecf7ada788fee490139c6f685c36b1993bbc7a12d0017eb642e199fed12264a89f94daa5de2583e5898430fea6e7cdb7395824d65f5452ea2a470877e141d1f6148d2ed28919bd7f275886eb5fdf3855ac8604e985a865033163fd0f61a579323066460974dd8f8cec396f1ba579ca523c9f814a178975b2e0c70913c5b5c3392dd4958bf67a7f466192d044ff4a6291e7172299f3b9494d7da50b0198db8ab21487401a9640e48757440c322f4a235e3d3ff9846ba911b568350c20b5308039afa850f04494a58231957deef483e485f6f6dd37f52131fcee2438fa80e141784eff9520aaae8311469ea27492f9421c2781d1f096081145f97cb7a813a5c9aadb76bcc178871eeeabf3a658c68a02534762009ad533de6af1726e8578214e035ffec6605a4c587ac061c4b81ff493d60b75229e2c024c181384ba5995618ae9beecd1f4e94bcf060bcd4eeebeb535e26e0141a785c5dab6c047ab23202a21b56a79473c230c6ab9b36b1840b40587f963ed7ef46239ddc5f003c96415152af5e3a46884afcf183f27103e4a6a5a4eb273450ba934beb9c72689420dd4ad3e306f952f8400529b46f12a29c38802ee932622947796ec09b1c28b057b6cf12edb8204ffdb6ffd1238cce6214841b7e04fa46f73fdd356b648953e1288ec3166cf145121877ecd8f57ff7a76fd03e377a04609f020796f2fea1a8d917532308a62ca6921ad03ce267af4e6c4b5857fc60607cf42a2be6d63a20fda2e9fca66b175b464af1a09f68403a7bdac01475b523ee2f91e70c6bd4719ca63b13b990251688f4e4b39582be9832176085de767c194b9d0c95024535c4c36a01c774ace431f2998212cf6fdcc5b632e95a34276aed6c98afceae7b96cde0b8822d44a1e0dfdc9bf40c774937f32d5ebf208924b68338c3675fc140f34dfd99e193747a8bab6354ce413a4e652e79c802061b60a4959bcd9a268f82b852eec21ddfaa39c20ddef25b8602600d09b17dfb4dd768fd6241bf46a1be86e7d10939c8cd23f19d4bf6d3d33c1c1291aa7ee91a7b99400d8da00a2bcabfd54f2a1b463960e6361c732aee30eba5a45ff66142e101e749469e1c26322885b66a6f6b9be4f817a8d150b9cb834aba3280ecb20093b84a19e5d22ef99ef5d96949f5a3b27eb9e8ff91d104927b917862d632efb9de27dd4ec0afe7a1ed2ca0f13274dcabe72aded7049b1ecd5c6dd9dd5c5c18b26bdb525ff6b754f4d32c3583af38310b90c17e7 +ss = c9f4bd5cbdf81a71f183c9c61dbaa1ee7d92ff3937f742a8ecb0f83268654fcf d = 050d58f9f757edc1e8180e3808b806f5bbb3586db3470b069826d1bb9a4efc2c -z = de950541fd53a8a47aaa8cdfe80d928262a5ef7f8129ec3ef92f78d7cc32ef60 +z = 3e0351bdc8a2daf0258645c383021df33fe59b553a8270c1b7a4d0af155999b8 pk = aea72a5c370048e5b9f9e7825145a2d726ad12746e980aad5ac63b4cf86295195029f58987730d4becc9de18019e5142f94984fd0a6d84a8930bec6d96d413bbe97b14138e95e05cb05345c86b96aec66babab7cb8a2ad8f774086918795c39e95ea3e40384edfb1ad3aeb931419c1219286390b9cd2154348ba19ceb280c537353b701976236414f21939968190892001d10f8ea83ca16803d2ac4cc5a96cdee3a424c935b673732b312aa1d722f303bbd5175ed83087cf856c15364958b678e74b3618cabf82ca58befa00c6462b3c963edb4a4b509792f890b228c7ca68082a8f38c388839190942fe3ba6224c4c58fec51ecd52d044400f8eac86cfa6904aa99f47712ff29c3f73b02d2127f1c687a00e2c48bc032cad5b261b94fa44649c5b459fcd18d4014c34a3978f6ca6b9d667e5d93b87feab5c6f36472492b1dfc74cc9430d1818c0cc90dc947b01d33cb0c086849f81b570a407e5248a3527ab58074ee52313e678fd5876dce81860b4b06f22768e3e26a3ad450da516224e06bfee2235f8631f2f7697e3638d3911bea2bb486667336e4072c061180a886e45144fb266643ab524ab95baed92c1324045c7768465cc177a6543376be40e132e702318ba52eb10837f0bbbc64e10b5079a24564bb950915701a06bad9cf1f0662c63bcc1ba31985149c2cf79befb710528b3f3a1406869872be1c59bc011294ca50837852f6567f6cba9b5ed028bda8aa4ff26af2a4ae90eb03c65a7f03c61baa3008480b8a006c29d6a2b52e2278659ac2faa877422a3e0809736b576564d800f5287c5a73c27a9c1e1748b159dbcbe9f566cfb05fe76419c84321b8fb772597262d2b48f9c43bfd2a110bcc93aae57531c68bb222ccff36b2e8466fcceb237bdbc336e855755b25eb4784ade55cd54b644f6404b549a2103b31a0433363337ee7e520db9a8929f607368a090fc77aff437020109001b40de05035394a7032524cd8395916bc2fe12a7b9fa2a4ff93000cfb3077c23105ac40ed0162d8fa6e22a37f9670a4c686a93e556ad82509db3aa2074a47bd9605184a9a1f82bcdd033116e046ce58a9e639c8b506cb5c17129b3079fa96cb625115ea887c11a7aa7484c03ecb793a07adadcc25e2e876fc31766ef11379738a8bbacfd46c5d53f7091e6ab6108356d8ebcb45e6ba20d36d10b1aed4c2701f6b9924bcaba7934919c2a64d340c8e9a42a98001e75b09d902714bc47252b9b15c2a08f2345b78b97077bc989c662560e94f551c3aa7834830761dbee93d343a4089c8775ec85091dc1cccf91bdf30620cc3b92c6a25cf147385d1c60a5886cfb6bee5f30bde74c579689251199ea26a15a9388cca30ad565a83ce397e07a8665b0a9286d223402059a8238137306fdbbbc2f6e4c6707534559acfb4628f803250ed8c4ecf846d8aabca027b9471e4308d727987a49fdb68a11869adf57a6f786043243608810a6353c36cffd18e1ce8bf25512a04378e8dd7a01b5c2b563902288624c25c06ea881fea70390a039b82e162f61ba6c484bd09b703a4812535427a8843b41c405c7ca0abb8e17ef4c82589945e9bec2bbf348da0219160e50c54d965aaaa4a628079eea53898778331649a8851732618bf307491fefccc7074ca2a7a56f04309e39272b74a30e526a6db5c3ffac70ce46363fe596ad5c377c7f2464dba68d42851f6f70d4b8a0b0cd52d75c48a9cd31ed8f270b36b69244237f9da28e6b0512676145677b418309d1b491cd9cc1defd06cdf9c182ef4b33610b257d68ce0b12a3f024ae0f0113ad538ece90b4a3b85bdd99c495b0fad7780fa1804953041f643183bd7083c5969255406f1346b3a25c96bb7b1568c5bf5686b63ebb0ab9a331ea6a5172543d80a0b153c8b8147676a212e6ed13687941132010a83457ca155888946c8bd8506e6301f1bb78cd9a0c4ecb73eafcb2fb7b02171885b6968ab52b89109bb2941e10683f30591c322261155d0dc7b0b1821eeb75abef6023ed67e16e0ba40c78109b45cd03bbe2c800fe4b19db4a960b3d11a45392c6b088cc6cc5d8de1275f035357d3a847313eda8c1c0a65c27a743a000063ac6a89754818ef7991469a39f39536a7b70964b33d25f01b7ad9cc4fea6546f82c3648751e2b41ac410e764255782d978970256c691434f939b02c14f42b1874087ea68917c2f3e31315e22581 -sk = 548a01803a231ca63843872abf16b2c4b9ab7407a093b354f8882c6775bacf2931de0a501c5a7ea7ea5c3baa067290b9fca059d69cc6de9b772cc058470544b64b11abb77f490746384b83283740f0702e17d046759b61e75030f187c2283045b22b4f9e222ca44980dcd0a42e5704504bb3e097cdf93a99f057ab21e3ac305666710c3b4c1b750aa3ac0f00a6f592770d8082f6157addb170a956456c7616c856657835970578b35fa87d8f79c2ae54ad36823c6a13a4207453ff324f17d13d43a400a2102b6f6224e6f2132bb14a32fa3f10a446d7944428b66e0e0a04b204c5993c03c294927c60540f836572793c8825376332b64d109bb7273147a878ff0b0bd2808b62104515d0824c90a4e249b4ec8c0f6b572bb621b7a74089de4b49eac5a3cfb61a5d6b420779a29e1c5ae98ab30e01a0b45538c9a14ce61c4dffa27a4e462757a3bdf00c0206c5bf5233132c47b7111771daac633e22132ae82cbd616ec92b4e9d1c88e7285b84d9a12e14897a020c06832e9cab42102ab999838a93a77141d12ff068ac13dc4c685328c7036ccfc2087bd92ca5a675cfe40ae4c32b28eb770da04234a456eb889ef92a93a0d3ada8061599d99cd8a96880a2b5e440766a9c81e7a24f14c295283c333a0576b49c569c99450f8714160c4cc49828090bc2ca390094e14bd6a3011a5c038f0927fb4bad38440ea9f96fee99141c564a91f9c86dc72498f89d05b047461699fbba62ec28698e273e2b8436a6eb8c9c094d3404853a45137881c691352f6240abd2298488299331cc03b1a3106f242d2871525587888e448d0f45a61480bd7e377dd5b63e143093fcc8bdaa563264baa458649ce7fa5826e4b9b49159e7541d432143c5093a2a5bc5b835535fe7395ec556bd467a10975ce26304bb892d056a6ea4c5ce08d033e9334cf7f6750cb62209ba21f6b147ac875c3f1195d9d991e333c7c25465176b8a566a71451b8305f35d831a36c57c64b664c707f3bf08b54ff3847f1ef0ac4b32ba7d563af40228b2957b8a95063a65bafaf86609b4bfe1127c029c2eb224465e1c178c74cb5db4c0c2aa46456761ec4a528ab2bb8f92c120a1b78a9517a29c8ee408ae7fab4fdfb1941cbbae4c3630f407a2c23c4d10a58a8e64546727153d61766d0242c5132236f637b7323905f4a7811c1b8019a808946c11a54f8ca6c16e06ad9a685edb094616a80383a79e482c611760c249988547194266000722743346d13c80f72117c25cbb48490e05789c6a5e85ecbfbc73669f249c10a12eca037dfd15994cbc450eb40868abc2fea05b5058429b6b04dce2c4e2630a13dba2bec9be9c30b9f90b45a97040a1f227200ccb4a4413c8b0c5b169830d451bc7993eb3d5b4d914a02c3183b7423d61101b0e3ac0a2a18673126f69511f27ec55e28b975e22a8ce800c37473cac71788a42cd39c26c176c9c255c4355a62c0b84cda33819a1ab6c07bbc4f2847aa23a600829cd516485dff565de9c392791b84bdb4580326f5128556d160100622affa2756e1cbd0a0a1f217a0c198a6dc043b1c50813bcfb3c2488a5c02c79393b65f39990b610274fa77b814ba93784562e0794c179549ea0927d9b4a9e2c128a339f73e3b9d3a99a151c873c555f5e3c3fd4a59823666e2bbb92e7522098240dea1b35fe2b13e103a020e504dcc1bab6b44b3d862c35c76f29d2bae150a5959b200563536ff6cec04a3b4e82c04788977f25a6d80c7807404c47a4697b1a6ed8c903d9b71ac45962d8d4cf7b71b0f54760a4799e76312d805a9b6e508f47734619e57c9ddc93fe345818615940386951a61d83248db78b669f596c2f652b92f18f51442b23a20682a34a08cc356785b20806952003354ac7ba31a355346ca63ce8030a022ffec604593496f05624e5aa41d5fa61e4e07b76a079bd4079e645435e5058a8148bc8fc8083162b38757637b72875c6a323f2bf01c95d89dc0dd6bb6a3b800df3d42481170510e6a94eb57c3dc1b6232446459625b6f93932ba11c3b2a8b9c6a203b129ece1a76f5c067e4b3bffca18be65a3b15ac638538c5ef51cd313b1c65a08e2492037b924c09b8536134f09733f5c2966588307ef8aca7a6cc5b9c27c86bac9f9754e6772096ff68b706ccfadd711d50b4a0ed155aea72a5c370048e5b9f9e7825145a2d726ad12746e980aad5ac63b4cf86295195029f58987730d4becc9de18019e5142f94984fd0a6d84a8930bec6d96d413bbe97b14138e95e05cb05345c86b96aec66babab7cb8a2ad8f774086918795c39e95ea3e40384edfb1ad3aeb931419c1219286390b9cd2154348ba19ceb280c537353b701976236414f21939968190892001d10f8ea83ca16803d2ac4cc5a96cdee3a424c935b673732b312aa1d722f303bbd5175ed83087cf856c15364958b678e74b3618cabf82ca58befa00c6462b3c963edb4a4b509792f890b228c7ca68082a8f38c388839190942fe3ba6224c4c58fec51ecd52d044400f8eac86cfa6904aa99f47712ff29c3f73b02d2127f1c687a00e2c48bc032cad5b261b94fa44649c5b459fcd18d4014c34a3978f6ca6b9d667e5d93b87feab5c6f36472492b1dfc74cc9430d1818c0cc90dc947b01d33cb0c086849f81b570a407e5248a3527ab58074ee52313e678fd5876dce81860b4b06f22768e3e26a3ad450da516224e06bfee2235f8631f2f7697e3638d3911bea2bb486667336e4072c061180a886e45144fb266643ab524ab95baed92c1324045c7768465cc177a6543376be40e132e702318ba52eb10837f0bbbc64e10b5079a24564bb950915701a06bad9cf1f0662c63bcc1ba31985149c2cf79befb710528b3f3a1406869872be1c59bc011294ca50837852f6567f6cba9b5ed028bda8aa4ff26af2a4ae90eb03c65a7f03c61baa3008480b8a006c29d6a2b52e2278659ac2faa877422a3e0809736b576564d800f5287c5a73c27a9c1e1748b159dbcbe9f566cfb05fe76419c84321b8fb772597262d2b48f9c43bfd2a110bcc93aae57531c68bb222ccff36b2e8466fcceb237bdbc336e855755b25eb4784ade55cd54b644f6404b549a2103b31a0433363337ee7e520db9a8929f607368a090fc77aff437020109001b40de05035394a7032524cd8395916bc2fe12a7b9fa2a4ff93000cfb3077c23105ac40ed0162d8fa6e22a37f9670a4c686a93e556ad82509db3aa2074a47bd9605184a9a1f82bcdd033116e046ce58a9e639c8b506cb5c17129b3079fa96cb625115ea887c11a7aa7484c03ecb793a07adadcc25e2e876fc31766ef11379738a8bbacfd46c5d53f7091e6ab6108356d8ebcb45e6ba20d36d10b1aed4c2701f6b9924bcaba7934919c2a64d340c8e9a42a98001e75b09d902714bc47252b9b15c2a08f2345b78b97077bc989c662560e94f551c3aa7834830761dbee93d343a4089c8775ec85091dc1cccf91bdf30620cc3b92c6a25cf147385d1c60a5886cfb6bee5f30bde74c579689251199ea26a15a9388cca30ad565a83ce397e07a8665b0a9286d223402059a8238137306fdbbbc2f6e4c6707534559acfb4628f803250ed8c4ecf846d8aabca027b9471e4308d727987a49fdb68a11869adf57a6f786043243608810a6353c36cffd18e1ce8bf25512a04378e8dd7a01b5c2b563902288624c25c06ea881fea70390a039b82e162f61ba6c484bd09b703a4812535427a8843b41c405c7ca0abb8e17ef4c82589945e9bec2bbf348da0219160e50c54d965aaaa4a628079eea53898778331649a8851732618bf307491fefccc7074ca2a7a56f04309e39272b74a30e526a6db5c3ffac70ce46363fe596ad5c377c7f2464dba68d42851f6f70d4b8a0b0cd52d75c48a9cd31ed8f270b36b69244237f9da28e6b0512676145677b418309d1b491cd9cc1defd06cdf9c182ef4b33610b257d68ce0b12a3f024ae0f0113ad538ece90b4a3b85bdd99c495b0fad7780fa1804953041f643183bd7083c5969255406f1346b3a25c96bb7b1568c5bf5686b63ebb0ab9a331ea6a5172543d80a0b153c8b8147676a212e6ed13687941132010a83457ca155888946c8bd8506e6301f1bb78cd9a0c4ecb73eafcb2fb7b02171885b6968ab52b89109bb2941e10683f30591c322261155d0dc7b0b1821eeb75abef6023ed67e16e0ba40c78109b45cd03bbe2c800fe4b19db4a960b3d11a45392c6b088cc6cc5d8de1275f035357d3a847313eda8c1c0a65c27a743a000063ac6a89754818ef7991469a39f39536a7b70964b33d25f01b7ad9cc4fea6546f82c3648751e2b41ac410e764255782d978970256c691434f939b02c14f42b1874087ea68917c2f3e31315e2258125b786a67de17d61b2fc0e85a13924398aab931896b6174089569f08b7260687de950541fd53a8a47aaa8cdfe80d928262a5ef7f8129ec3ef92f78d7cc32ef60 -m = ea74fbc3c546500ed684bed6fe3c496d3b86d2d6dfaf223969b942e9a8c95e85 -ct = 4aa3b0e3231eea3f409e1b905612b61890f16b888ecb9ec7334831b85a0e32608245dba817d177dafdc7bd302c5a86cd3be9614f067e581b6e87031f6eb4d216a6596a26c5dcfe8d747600815b35f27c4b572a2849913d9cd4de628a2d4990bdb17556d35af10971945ba4d7adecc17266e443a075d1082791f18454fe3dbfb65080280cfdf37b918be5dc3ae2e66f72878c3246dd2266d732f105cfe81af349628731fb6b931690fa8015838e2c1bbad825e03d261ac66515b3906bb44b32ca7114295a716eb145d0468dca9ed93591c94844118c8e1fdf480f8ccb9a79ef3daaacdff93dc58538092646daf2d3c65cb97c763088b6041b74836a1ad26f67e671ee7dac94c45680c8304cf100692f990f6654a61d54c0b534db3150675a7b7d413761c50b2fe99bbbab920d79ef029f8856691d120b00c6b6afb2a3a24ddba24fb999d5988585719b9ce6cb66e18a93f6156c989468022231dee1b3b5a2931a00247d974c3fbe6476f6bab3bb7752a87476de0a83ceb158ba1ee90b0a9e20e954a05a2b8e737c1c5a4f3702c21084e226c70a18945d2bf7be26e50e97dab0a6f9ed87b86a1fb1899f4c2dcc7b97eddcc1f881fb16083a41819f55cf6ba8324124b57bac981ee7cd7ec96370d8bcfacdd8299e33c17077457187ee4d20c0f1055d11798833942ae7e1aa946b266eea77a5ffcca8548f35ee779e3455bdb270e7012dd633cbfdb2ebf329fe7b6b0369d39f05a8369b3a87f0a224c31dfe34e57b34c74c924503df6dd4a3bb92f93be4eb92d4396585b801d0375c3fb55bd23efcf332be3faa140ee7e90ed04a6585047cfb185f181f4ee495ee51156a532c58f142856e7e806f626f857e8cf308e3a6e788c5d619f07d496e2d21db32053cb232ffe74b841b6935c97af2871e77bfb9b36e18bd775f6813d8e0ccecd9447c4c0f58afbc767aacd116a21fc40d8ce8adead7541662e2c8a613dcc200862b7d14c2865c532b14dbf6724c0a797b761977ceb118ac1cd8744024a4e822ae7afe4b25177f27e99c91541f79802297ce0eb4baf9bf42cb83661031e2baa50591fbbeda86a6e544687f84163b97359576c5988e37c970d93792d857a4ad465142381e2431c86ad4992976189633cdff9f443480d4f3f423182cd7424bbe0e3268fb985338079edef57dc8fcb873a6fd4c21c049857cfb484a26d76947949eded71df4b55a57ffd40788c5a996c4b8d5aab2b2483b4c2c88a2bec1bc2c9d7d39da311a8faf867e240aa024ae07da2c87216b4aea5de05f2a28aded4294de26dfb123b9619164bb59da6cd09c6158dccefd127b006aa7236be7435174718f973217d49019a28ec75018347416df52155967b946a58d765f68b2386cd06ed769ce883af79970812dd34ed4d85f986c3278a3ad961aae44d9bf3fb6118983dfa6e5de075d5c81f6f62f9c5320568a1eabf7fe63ea64022a555008fd99900f4f71ef15beb04f318d72dc5b43675611b8cc08f93ccd9551870dad57279276ebb1f197b29bc00f202291c4be22e0517016c2ff9114588c7387dc2671c1962fe1803c22ed9a71f0d87770ebdc559be4444dd688380d97ed2eed4ef194852958376834faa49dde5f2bae79f28496a45ed0c565b6df09da02d5be0d87c469fabcc9a96f3ceb309a86a6ccb96b1a421f82dc68942b6cd006f966f70eebf8323022ad961445cd1efa50992927249efc239105854f5e89a870ef13a6d2975a6fabae78c06a341a96d5d504335c1a77ab7eb3dfbf2c074bacb8bbaa2fed96c702a0a9600e0053943678f1972179002a29f7c1d9e8442e8446b985327a5de806f88944442f34e76ba1e7ce7f295956b84f5034e45f00f70e8c0b57ca38970bb557bd7e431099e125d037fd830ccac136d43c3394f202edee4e6166db13f126c3907fa2fea9f5477b8ff5af0123cd9db0bd92f682e64d7a3107ab4e8ab175a9b8adf0cd254ea3dfabf57a52f99fa672e93ebae03d5327dbbba4facf4a8a86127125a5a74785e1c460c32cf50bd8cb4d3f128de746be366ef16ac55133b2c79893c35598bbfad6884501d1af5a83cc287a3cf6bb9b6fb94faa4bae8ff7e0cd883254cb0efbfb63260818280456189750d4ed29ad8e21e66a770cc071de41da519b81f992463277c0343c713ade1857a84b5faee0b8ebd025dd04bb07926fbebc6875fa2bb195bb103f9e5215 -ss = d9a0fb7050dad6fd23ba5ca15adff77a1f208c5b1964c244f9ba94b73a6d9c69 +sk = 548a01803a231ca63843872abf16b2c4b9ab7407a093b354f8882c6775bacf2931de0a501c5a7ea7ea5c3baa067290b9fca059d69cc6de9b772cc058470544b64b11abb77f490746384b83283740f0702e17d046759b61e75030f187c2283045b22b4f9e222ca44980dcd0a42e5704504bb3e097cdf93a99f057ab21e3ac305666710c3b4c1b750aa3ac0f00a6f592770d8082f6157addb170a956456c7616c856657835970578b35fa87d8f79c2ae54ad36823c6a13a4207453ff324f17d13d43a400a2102b6f6224e6f2132bb14a32fa3f10a446d7944428b66e0e0a04b204c5993c03c294927c60540f836572793c8825376332b64d109bb7273147a878ff0b0bd2808b62104515d0824c90a4e249b4ec8c0f6b572bb621b7a74089de4b49eac5a3cfb61a5d6b420779a29e1c5ae98ab30e01a0b45538c9a14ce61c4dffa27a4e462757a3bdf00c0206c5bf5233132c47b7111771daac633e22132ae82cbd616ec92b4e9d1c88e7285b84d9a12e14897a020c06832e9cab42102ab999838a93a77141d12ff068ac13dc4c685328c7036ccfc2087bd92ca5a675cfe40ae4c32b28eb770da04234a456eb889ef92a93a0d3ada8061599d99cd8a96880a2b5e440766a9c81e7a24f14c295283c333a0576b49c569c99450f8714160c4cc49828090bc2ca390094e14bd6a3011a5c038f0927fb4bad38440ea9f96fee99141c564a91f9c86dc72498f89d05b047461699fbba62ec28698e273e2b8436a6eb8c9c094d3404853a45137881c691352f6240abd2298488299331cc03b1a3106f242d2871525587888e448d0f45a61480bd7e377dd5b63e143093fcc8bdaa563264baa458649ce7fa5826e4b9b49159e7541d432143c5093a2a5bc5b835535fe7395ec556bd467a10975ce26304bb892d056a6ea4c5ce08d033e9334cf7f6750cb62209ba21f6b147ac875c3f1195d9d991e333c7c25465176b8a566a71451b8305f35d831a36c57c64b664c707f3bf08b54ff3847f1ef0ac4b32ba7d563af40228b2957b8a95063a65bafaf86609b4bfe1127c029c2eb224465e1c178c74cb5db4c0c2aa46456761ec4a528ab2bb8f92c120a1b78a9517a29c8ee408ae7fab4fdfb1941cbbae4c3630f407a2c23c4d10a58a8e64546727153d61766d0242c5132236f637b7323905f4a7811c1b8019a808946c11a54f8ca6c16e06ad9a685edb094616a80383a79e482c611760c249988547194266000722743346d13c80f72117c25cbb48490e05789c6a5e85ecbfbc73669f249c10a12eca037dfd15994cbc450eb40868abc2fea05b5058429b6b04dce2c4e2630a13dba2bec9be9c30b9f90b45a97040a1f227200ccb4a4413c8b0c5b169830d451bc7993eb3d5b4d914a02c3183b7423d61101b0e3ac0a2a18673126f69511f27ec55e28b975e22a8ce800c37473cac71788a42cd39c26c176c9c255c4355a62c0b84cda33819a1ab6c07bbc4f2847aa23a600829cd516485dff565de9c392791b84bdb4580326f5128556d160100622affa2756e1cbd0a0a1f217a0c198a6dc043b1c50813bcfb3c2488a5c02c79393b65f39990b610274fa77b814ba93784562e0794c179549ea0927d9b4a9e2c128a339f73e3b9d3a99a151c873c555f5e3c3fd4a59823666e2bbb92e7522098240dea1b35fe2b13e103a020e504dcc1bab6b44b3d862c35c76f29d2bae150a5959b200563536ff6cec04a3b4e82c04788977f25a6d80c7807404c47a4697b1a6ed8c903d9b71ac45962d8d4cf7b71b0f54760a4799e76312d805a9b6e508f47734619e57c9ddc93fe345818615940386951a61d83248db78b669f596c2f652b92f18f51442b23a20682a34a08cc356785b20806952003354ac7ba31a355346ca63ce8030a022ffec604593496f05624e5aa41d5fa61e4e07b76a079bd4079e645435e5058a8148bc8fc8083162b38757637b72875c6a323f2bf01c95d89dc0dd6bb6a3b800df3d42481170510e6a94eb57c3dc1b6232446459625b6f93932ba11c3b2a8b9c6a203b129ece1a76f5c067e4b3bffca18be65a3b15ac638538c5ef51cd313b1c65a08e2492037b924c09b8536134f09733f5c2966588307ef8aca7a6cc5b9c27c86bac9f9754e6772096ff68b706ccfadd711d50b4a0ed155aea72a5c370048e5b9f9e7825145a2d726ad12746e980aad5ac63b4cf86295195029f58987730d4becc9de18019e5142f94984fd0a6d84a8930bec6d96d413bbe97b14138e95e05cb05345c86b96aec66babab7cb8a2ad8f774086918795c39e95ea3e40384edfb1ad3aeb931419c1219286390b9cd2154348ba19ceb280c537353b701976236414f21939968190892001d10f8ea83ca16803d2ac4cc5a96cdee3a424c935b673732b312aa1d722f303bbd5175ed83087cf856c15364958b678e74b3618cabf82ca58befa00c6462b3c963edb4a4b509792f890b228c7ca68082a8f38c388839190942fe3ba6224c4c58fec51ecd52d044400f8eac86cfa6904aa99f47712ff29c3f73b02d2127f1c687a00e2c48bc032cad5b261b94fa44649c5b459fcd18d4014c34a3978f6ca6b9d667e5d93b87feab5c6f36472492b1dfc74cc9430d1818c0cc90dc947b01d33cb0c086849f81b570a407e5248a3527ab58074ee52313e678fd5876dce81860b4b06f22768e3e26a3ad450da516224e06bfee2235f8631f2f7697e3638d3911bea2bb486667336e4072c061180a886e45144fb266643ab524ab95baed92c1324045c7768465cc177a6543376be40e132e702318ba52eb10837f0bbbc64e10b5079a24564bb950915701a06bad9cf1f0662c63bcc1ba31985149c2cf79befb710528b3f3a1406869872be1c59bc011294ca50837852f6567f6cba9b5ed028bda8aa4ff26af2a4ae90eb03c65a7f03c61baa3008480b8a006c29d6a2b52e2278659ac2faa877422a3e0809736b576564d800f5287c5a73c27a9c1e1748b159dbcbe9f566cfb05fe76419c84321b8fb772597262d2b48f9c43bfd2a110bcc93aae57531c68bb222ccff36b2e8466fcceb237bdbc336e855755b25eb4784ade55cd54b644f6404b549a2103b31a0433363337ee7e520db9a8929f607368a090fc77aff437020109001b40de05035394a7032524cd8395916bc2fe12a7b9fa2a4ff93000cfb3077c23105ac40ed0162d8fa6e22a37f9670a4c686a93e556ad82509db3aa2074a47bd9605184a9a1f82bcdd033116e046ce58a9e639c8b506cb5c17129b3079fa96cb625115ea887c11a7aa7484c03ecb793a07adadcc25e2e876fc31766ef11379738a8bbacfd46c5d53f7091e6ab6108356d8ebcb45e6ba20d36d10b1aed4c2701f6b9924bcaba7934919c2a64d340c8e9a42a98001e75b09d902714bc47252b9b15c2a08f2345b78b97077bc989c662560e94f551c3aa7834830761dbee93d343a4089c8775ec85091dc1cccf91bdf30620cc3b92c6a25cf147385d1c60a5886cfb6bee5f30bde74c579689251199ea26a15a9388cca30ad565a83ce397e07a8665b0a9286d223402059a8238137306fdbbbc2f6e4c6707534559acfb4628f803250ed8c4ecf846d8aabca027b9471e4308d727987a49fdb68a11869adf57a6f786043243608810a6353c36cffd18e1ce8bf25512a04378e8dd7a01b5c2b563902288624c25c06ea881fea70390a039b82e162f61ba6c484bd09b703a4812535427a8843b41c405c7ca0abb8e17ef4c82589945e9bec2bbf348da0219160e50c54d965aaaa4a628079eea53898778331649a8851732618bf307491fefccc7074ca2a7a56f04309e39272b74a30e526a6db5c3ffac70ce46363fe596ad5c377c7f2464dba68d42851f6f70d4b8a0b0cd52d75c48a9cd31ed8f270b36b69244237f9da28e6b0512676145677b418309d1b491cd9cc1defd06cdf9c182ef4b33610b257d68ce0b12a3f024ae0f0113ad538ece90b4a3b85bdd99c495b0fad7780fa1804953041f643183bd7083c5969255406f1346b3a25c96bb7b1568c5bf5686b63ebb0ab9a331ea6a5172543d80a0b153c8b8147676a212e6ed13687941132010a83457ca155888946c8bd8506e6301f1bb78cd9a0c4ecb73eafcb2fb7b02171885b6968ab52b89109bb2941e10683f30591c322261155d0dc7b0b1821eeb75abef6023ed67e16e0ba40c78109b45cd03bbe2c800fe4b19db4a960b3d11a45392c6b088cc6cc5d8de1275f035357d3a847313eda8c1c0a65c27a743a000063ac6a89754818ef7991469a39f39536a7b70964b33d25f01b7ad9cc4fea6546f82c3648751e2b41ac410e764255782d978970256c691434f939b02c14f42b1874087ea68917c2f3e31315e2258125b786a67de17d61b2fc0e85a13924398aab931896b6174089569f08b72606873e0351bdc8a2daf0258645c383021df33fe59b553a8270c1b7a4d0af155999b8 +m = ded872c12331243854d57fb85475e4a45d85378aa15cc73dbaa11d6c3ea9a080 +ct = 3f3317f9b1c767ee2f631a8bb4f7f01010f885aa6b8c412713eb7b0ed48d81ca96e62b5c162485e7acd066607e3d6a37127c0a3df961cedce0f7bb49eead12ee11919472aecbd9c3c167acef3ee135faa45e40d33f47104b082180f94b85b3c0ab86ae6e10a97541df8f362ff66801b477392f2d78b1acc519d31bfab11c21d36187c39c46a8bc2b2196fe95350bc5edac1819428c4e735e34adce49088d5046fa15ae709aff31a733038ebdc1914045f16502f8587a2fda187c9cafc92ec7fdb0c8ee1ec9cb8a616f90fef097db7b1d5c35bad93f62190540fa15991ab42d0b7c3fe266d79303880d3f2c382d1bff5559a6f68ec9981749f3ee0d67eb9eed54dcd99d3156adfb361af47954b49ea38c8e715a53c68d71c17416f8fe9b14a1e9e7ef55f46436849af9a1571e87a4609e2835dea2b4a7cf82522c167af200a3e187f89ad8e69840bbe19a8d9394f3e638343718d09f3bff4e24341216f3cad92ef6d65cf8f48db4acc1e13b3778559a660cae9541463f883e0048a2b18981f2bc9ec86ad2dfcf8c2248a929fed447df0835e748fe7d0e69e4d49cbd510d083c8d70eb68cd6fca5fdfc6bd5688ad17191b815d2bb2a06c7713b8da670fd6675ffaa8771d3a0e035c5deaa955c7b8f7e39cf670490bbe72dac17932584057786f00795c7b908799fbbf17375113b84ffc5542db4fdfd00981455c9c93b6ff5f369de70e17b1e80afc245baa313e59391727fd1aa6aaa1e64860de445826efa8fa57bae252f2990178a3695be39ce09f2b423cf5b9f53ec07e9ad18a61f68625ea0cb1150df22fe0a1bcaf1681f8023bd2e1c27984034e928e3c1aa21bfee82d581eb2022ead3224417476ccefee2e0dd2932d76051c510cc498a814e1e7e3c6c77ba34d1a8a229cfab7614d45e65972323eda7244db5955e0f728c1c1285c20fe1bf8c76215d1fc0754e5b063acddc9c7870d3b044810a31dd8a23f7608fdf48016414ccba5776a023969665b2675b33ebcd5b9ab661462eeaaec9f3e0f7f399511cf1d684edd9c312dc777d678323b189ff98f4ebae434ac69af4f2bdf90f3f4974489ba9a3510b059f5cbc38332f8cfe0a98928204260b736ecccf1b50a2a9f915b25efb06a27f3276e33f7858160ca33999e6638f14c7d0a5a535e55fa5bf80ecd0fbb044e2c0ce30b0f4d0c06930786c304685ad00dd5d422ba123b537ee799460377778f813f21295e4978f6b64c36cb733a25d2de3a181d557f782ad0f4603513038b270bf2f2adfcddfc0522c199881da5b71dd457849f21a74ca9178150e44cd1392206a6232eb4db3e427de11c5caa60c58f64c0db07a6451fa0581b26facdf6d8918c4355d5f4b2deeabab6be897580a967c0ef27cde70a41ca0193f44c7ecd4cdd5cd742ddc5517f42c5b75202e40a4a64fad0fdba9ed1408706ab8a10d05c58d03dbc32f288feed057ddd7f9903530b2ffa32cba6a53e65bddb95e2c5002f395f24b753cf1141c5e1bc6ab7d059eee85fc55951f5dda8f477b551260b76fe93ccaadfc86324a236b2e998f8ffa73cea000c7195e9bee98033ddea1be534415305e6be01b34a9bfbcc4cd8daa39e0c2bc9897e803e7cb85444cdeccbdbb98c0b0e555da81e6ac406323a3e96cabea81ce53c23dd0a4a31e0f5b2248833c53ffe53872ba19eb244c40933b7e8ff5aca26fcd31d3b7aa4740e25fef6fe2b8d0a08c2353cb7ccb71b485da3ccd237c37daff3dfc5ee29e696037ffbe292bb9ea2d50071f249e4ce8119fb47362ae71dedc41feabfa32a84843131bb18933b6b3bd30190b003cd35903372bfab09021e03f6ef149b55ee73c25307ef50fed0fc125dc08937b825efa486d83cfe6c9309649a2372cb68cb664a9d1b52fb526c8a59035423ddc03e15f96a67c0135eba30bf3a086083ba600b8bb65eb6aac44e01ce9057738608e96f23a6532ecee6e992c4c27542dc1ab0eb442bc7418e807e6d40715e4b6872edcb688b3ed70e0cc2c3b1ac40df2667d5042b0aa0035b8ac267bea40b123f3ffbf18954ef707b0ef37e0d5d0ddb7f17d6561855225c32473fd11d7f1219908ba693326fbe7fe2e910460e43b791f14fb82685c628e449ab87d96a6c921f01f5a539726e9e0e1f4994087315bbf146245396f2b8fee67c6893fa7722f9ad6f3fe328d2beaf22d5dda546535a84dc9d0970d53c5b96208473 +ss = d8795f2efa4e748883e1190fa5451222313e6e5b71bd96ebdf86751b8bbcf798 d = 66b79b844e0c2adad694e0478661ac46fe6b6001f6a71ff8e2f034b1fd8833d3 -z = be2d3c64d38269a1ee8660b9a2beaeb9f5ac022e8f0a357feebfd13b06813854 +z = b68c0ef1663e52e24c33090ea8f4f564d85daca610fd7c2d5756d7d882408ded pk = 041a9057ebcd8df95cd5eabae5e776ba758d8ef9c8702406afeb9d82d91c06e8a27df57be2d2cec9893e9c0a678ec02e94c21181993cfd22c19a7620d9cc494394b2218a81f9cbc743047160b0a551b6c802e44d09e52ea613c5f60940d77c3aad232f9df0561f159ffc0c88ac9c2f1109a9d89ac87b4a756352289d241b8bd694a1e140f255163f7888ad1314e6208082c0bbdd72220fca50d57c65c3b05d701b567550316c440c6f90ba50a46ad9662f99c61ad6601a4a26874e30ca1cb97998a13e68683a28996933ba186f469dc903b0c46a348a1c307ab9a9a4d427730920ae296d725bc045d2807ce2cb325cbd5f6cc216a0c0bcda1e321c5b17565ed0028d68554c892a9755643a69cb721fe6296acb64b93966a1743ed298b5e348817d62a93c453318db713e95cc53f8bef7d6a5dc2a7001473851324ca0db3052448da3136347008ad8d8b6b95a62e8a48073d2634a58525dd663da939948d49da9b12b1d758bb6f328d0f42a38837675e487403148729c4ffaa2ccd1e6ce8a4c8be2e7a1ba2b7b633aacabba686dda63feb255360c4796bbc99d95461b30502b42ce4e6aa92120b61a283927184931fb6c98727cf4163284732d62216b653c633659045549a40bb0c7c0a64adeb841596516bcf97e6ca33892ca8fe6ebb45e58313fda81d164193bd711ab5b65e7f2611b4b558f3c03294336043884e8b92390d11903035ed46289925447d3ab1a53802376cb2ae1960e4a7a13d0d05a58c89f5d0499be72acb9fb7dc5468afd332f483b1dac2370a14326b52467a205638fd603d835a628ab940a0463eb93814237415397b5a8b062b915c3f4278ed1db16ed13b03002c158700852837657b94a4b5ac43da32a7179a4c1a4303350652693844949029aab4222ac62de266240fb48bec4bded28213d945c3626aba1856c5e702589738fb5574380b74071dbb401696deb422b9de3699a0949e20522a3782e20a6aa2c364868ca41e7202ce8ec8bbc2165a09019a898bd4615741dcb73fdac5fc7c35503a937eefc08cf88570ed41163bb7f2e9315f0249d2bf5cb93b74627041bfb79c2b26754c6f38f8b802f28d7a775aa7cb082cb5755a195d66371fbccd1678478c462ca1896b201098d66b3991b2e73c299674bc645d2737111cfdfe89b416a7da8ca182164bd708119297283de6a1ce84cbfce07c683783402539f88b6b071213732b7594052bda614c95860b57bd5ad5ed10d8139348ad549bb573e3549320e521c0aa3919eb0978dbb7aabd683dad74d00f549af5b4f0583a42d27a21ef030c94b2e93ea67a081af3413aa6ad1c41091364e558cd561674340430bc490a52728cc188cd1281c7aac45223a341eb60c8eab4959701aef2120c891b5ce115bf8aa17cee2a980c6895ec5061ab49dfea7431d755015117a5f0a0f200921c4547abba8bf13b5cb7987b0250c2885a0507094795f7274af995647b5b6e559275115cd55cbcdc9b988073b2ea214551752baf467432904ae95182514e39b3b418a49c410e4832d5377b95227b3091b5f782aa431a1962d6a907d3c2371161d71a9640b177a488a1fcbe57f108900e8e08292f4cf97460893004f5f88222d059b162207ad739650537bcb8b813490ca702555f134406e9c04cd54bb85a7689a1316cdf3c401d9c49b22816f47ce750aac7455a222490940f030f108086262479b8489fa00a12d09cfb5d4b6a4176fa0f62b1288c46af76340d81eddec842a548be29a3994c53a7e631baeaca3a0f8afc4412b6d51426d496d2a04bf29934f17e668421899c6690853876434e87f8f10ab52e61ff35b54227ac0fb7313d2f1c308405e5d767541c8c3bb4664c594a257ba30fbe34bd182790045bc1bb377f9d54ea8db52a945642075b0df8b2e6ac87e71177a4860157f83829bf7003558b7f35a1690920d494b4391396dd61a7f221991a1c6856f7b1ae5147422742aa0ea005fc1549cc034b9c11267e00fc32c2b3cd172975397a3647a41b1c69f9bb663835db97314468540973c339ab0cb36a19b2ea807fa788402d48dae0ac01285a8c5f3725fa674d0418bfff98f6c64c2fe21a4c6a7cae7b014277413781b7c3da207badc70aaac10e684c42940705b8ac37ee7c0a101bb3b9bc233845ef75908a83108a2467f6d44de229c527f6e4e7071cb826cfe76fea483d9163eaa84f6afac495a -sk = 944ab695c2345bb67894d451ea2a5c92561a5467c769352379950879899c9cac9d05e89cb2729b2bb47724923fca357623c69643569d66912b2f9b3249908090d4c5f68388a6141163c931df430d70290950b07de410af913c0e5a215c3059785ef05b824545aba0b95e7279d1c5726b59890b82131d5c62e8b3be33b8016ba0c321c248a5293c71eca570c9536f958b84663b1dd5bb6f272c3e201f014aa3ae05640ed92200274d45d9bf4410ce8ea72d680ace1eeb04cd8b002de72795db60681bc9ecd387fcea796ff7726fb29877f895e6832eb7eb179a5956499ca3bcf3283fc8489d494a88668e6614b1f49824f12a448b31a42861190ce3a9f73c6ffa25622d7a504e0694bb7c75ee71cc8e718ce9d57ac86a11721721e6181f157c333ae098f8a6823f765b60f0300f4733cf65240c779569620213b8a331731a7b31937104becc0995ef57255261ad9b246009f855ca82af2001b256760c1543074d70b3c578279b35137e16ac2089a4c60038b8671d308964b68a2211187154746c27f59c8105981c8c7d0ad58717978c01a66b5ee1697188bfaac9b927822c940c5380409f38459f5b302cf7dc9d6bd823a0308b0da45c35d541d2346bae4173fb0c677eec26a94c4158b28d4d7b4b0f62a4ab06bae0b42208b099a174bb4c482c7c321aaca49c4a517114a5cf408750e8588545134f83a67769cc6e0b413bb800c04093184625a7ee24134a721d5fb1571cd82dd1d7c5f9103e0c2c4416cb775aa28df48643084b391dd2caf39278e9a31d2254871b170ae1b60a4e39b1f5a8473f580c7153caa1369d8e9ca381660a57ca8d2523202816767ca8cac0914c16f1cec8ea4ea5da930e0403e7a876c390ba31fa250d946a2eeaa479888011db7942f7676a120338357bca38c4c95088a4a0884b8b4c14e9c09e831f8aa658ed77cc164124cb281f61856bd6c965b6b6cd60b1b1034888f3970555443f0f5cc29c800f578806beeb4730ab9af4b9beb89502ab48761e188cb9aa95ba06b28cf4b89c200b2145a4339a53406b6790a518f54902eba0230a8c2a45447125b7330f12645d935e00651cb4996e395543b7e643137abf3df59e042abd6fa11927062d73d0a107ba6fea0908ff6759a972c11e864ee7393254051bda558d4b272e6cb2c337747a7ef46f5ac872d5d5238521c09e21495ef98b59c22961e5a4967370efc4865f06a72a41464d37ce4dd1803bc117888b681d35195c857a47b764c6799a86e27327eb0403931e29f90fee8628aa43b333615bc0f251707024ad41a24e3c4f15b99e72f536dd989c0325225dc682e3611640d99c1552506e687e18a883f90882056c14385bc08be82616d811a4fb2dc93670945b7efa17593c4b7bffb76f9a805f5230c50b065dc77b409ca8cc0b7190aa61614c528af2d1ac130c19e4362e85a40693a87c00935a887b9b58699777453d8278c445bbc8d225412bda6fdf026207e3b207613d2ed74c085707edd555fe4c00b40b2a83aa219cd643f1d83ec0fc21bcf94fba6a8262d959c9fb345f2221082c40a1501c46c55082db2709230b04090558cb6d6815173525725d8cc0bc93c881c99a16041757d6a05ac71a15e887c1682d3300673d851fa1aa423c5b76a7330ee7041e7ae96c36cb6a2ec473d83096c122b9af6a16faa56505d156df9735dd3a82681637a1747eb48a0aecc8aebdb7a15000367a7b023bb414cb67587bb29d19182948c72b60b2cdd7e222a12713f6a6c3e13c782b23c494922f4ae07b346c1d52f94682c11a0d52b584f7c8d8c740d9e0353480bfedb3168774cb1ce31331e8cada805045a37c93cbbd28ec100e089003458cb2f09cc39640774c7767183a4ae4c974e305258a8d128ac84650bb044c60311bb2515703f9ea8ad3560c6f382c7d173f83d30ddc1b637de633ff357a28ca32ecd834e4698da363ce2380ceee401eee9b31df6967c7c15e94e765262134aae5719838ce9579c8406234a9963756fc83dae5427788bf98358da8b356a2944b7d8917cc0884a2c58481c8299f194f45e33c0b30cea23142287ab15c1a429e588fb3ba32b6897d771072266096c49576ff5cc537577b76ba6c6d993e01c30dfe519bae481aca72990a39711a60afd67c1b50d417883a44e1dc24b93421041a9057ebcd8df95cd5eabae5e776ba758d8ef9c8702406afeb9d82d91c06e8a27df57be2d2cec9893e9c0a678ec02e94c21181993cfd22c19a7620d9cc494394b2218a81f9cbc743047160b0a551b6c802e44d09e52ea613c5f60940d77c3aad232f9df0561f159ffc0c88ac9c2f1109a9d89ac87b4a756352289d241b8bd694a1e140f255163f7888ad1314e6208082c0bbdd72220fca50d57c65c3b05d701b567550316c440c6f90ba50a46ad9662f99c61ad6601a4a26874e30ca1cb97998a13e68683a28996933ba186f469dc903b0c46a348a1c307ab9a9a4d427730920ae296d725bc045d2807ce2cb325cbd5f6cc216a0c0bcda1e321c5b17565ed0028d68554c892a9755643a69cb721fe6296acb64b93966a1743ed298b5e348817d62a93c453318db713e95cc53f8bef7d6a5dc2a7001473851324ca0db3052448da3136347008ad8d8b6b95a62e8a48073d2634a58525dd663da939948d49da9b12b1d758bb6f328d0f42a38837675e487403148729c4ffaa2ccd1e6ce8a4c8be2e7a1ba2b7b633aacabba686dda63feb255360c4796bbc99d95461b30502b42ce4e6aa92120b61a283927184931fb6c98727cf4163284732d62216b653c633659045549a40bb0c7c0a64adeb841596516bcf97e6ca33892ca8fe6ebb45e58313fda81d164193bd711ab5b65e7f2611b4b558f3c03294336043884e8b92390d11903035ed46289925447d3ab1a53802376cb2ae1960e4a7a13d0d05a58c89f5d0499be72acb9fb7dc5468afd332f483b1dac2370a14326b52467a205638fd603d835a628ab940a0463eb93814237415397b5a8b062b915c3f4278ed1db16ed13b03002c158700852837657b94a4b5ac43da32a7179a4c1a4303350652693844949029aab4222ac62de266240fb48bec4bded28213d945c3626aba1856c5e702589738fb5574380b74071dbb401696deb422b9de3699a0949e20522a3782e20a6aa2c364868ca41e7202ce8ec8bbc2165a09019a898bd4615741dcb73fdac5fc7c35503a937eefc08cf88570ed41163bb7f2e9315f0249d2bf5cb93b74627041bfb79c2b26754c6f38f8b802f28d7a775aa7cb082cb5755a195d66371fbccd1678478c462ca1896b201098d66b3991b2e73c299674bc645d2737111cfdfe89b416a7da8ca182164bd708119297283de6a1ce84cbfce07c683783402539f88b6b071213732b7594052bda614c95860b57bd5ad5ed10d8139348ad549bb573e3549320e521c0aa3919eb0978dbb7aabd683dad74d00f549af5b4f0583a42d27a21ef030c94b2e93ea67a081af3413aa6ad1c41091364e558cd561674340430bc490a52728cc188cd1281c7aac45223a341eb60c8eab4959701aef2120c891b5ce115bf8aa17cee2a980c6895ec5061ab49dfea7431d755015117a5f0a0f200921c4547abba8bf13b5cb7987b0250c2885a0507094795f7274af995647b5b6e559275115cd55cbcdc9b988073b2ea214551752baf467432904ae95182514e39b3b418a49c410e4832d5377b95227b3091b5f782aa431a1962d6a907d3c2371161d71a9640b177a488a1fcbe57f108900e8e08292f4cf97460893004f5f88222d059b162207ad739650537bcb8b813490ca702555f134406e9c04cd54bb85a7689a1316cdf3c401d9c49b22816f47ce750aac7455a222490940f030f108086262479b8489fa00a12d09cfb5d4b6a4176fa0f62b1288c46af76340d81eddec842a548be29a3994c53a7e631baeaca3a0f8afc4412b6d51426d496d2a04bf29934f17e668421899c6690853876434e87f8f10ab52e61ff35b54227ac0fb7313d2f1c308405e5d767541c8c3bb4664c594a257ba30fbe34bd182790045bc1bb377f9d54ea8db52a945642075b0df8b2e6ac87e71177a4860157f83829bf7003558b7f35a1690920d494b4391396dd61a7f221991a1c6856f7b1ae5147422742aa0ea005fc1549cc034b9c11267e00fc32c2b3cd172975397a3647a41b1c69f9bb663835db97314468540973c339ab0cb36a19b2ea807fa788402d48dae0ac01285a8c5f3725fa674d0418bfff98f6c64c2fe21a4c6a7cae7b014277413781b7c3da207badc70aaac10e684c42940705b8ac37ee7c0a101bb3b9bc233845ef75908a83108a2467f6d44de229c527f6e4e7071cb826cfe76fea483d9163eaa84f6afac495ad35e259a200d16048302df38d8e7f9e1c3352502c43f086fe166325048fdce9cbe2d3c64d38269a1ee8660b9a2beaeb9f5ac022e8f0a357feebfd13b06813854 -m = 64efa87a12cb96f98b9b81a7e5128a959c74e5332aaab0444fca7b4a5e5e0216 -ct = 18ed27f8316a71ccd100a4e15797f00ad381ae65757269e80d7ccb0dc778eb9e345dff921b9f2eb89ea654695d42f4bfdf85edc9505599c86af5dff1edcd3ef22ac8e3bd4be627b1321e2d6d9f4105a190069f8eb1859debea13bc01ccdb71422cd9908d2429fedd32e4b7caea71ccc63973f542e5a936f2d3f0c42183c93aad4306b7309186109d6612490df047a879984a1abb08e5356ff9d68aaae92477e17a213d2cb81792e98ab7661b0a2761d2a372fd38b6413677f91acb74cbbac569939e97ad639579603e7f13862b69bd0039b7d1957bc5c544f6b421e095c84bcae0857a276e96df12c3f13858ebd7ba8786c4a903f007b9f32f9fcbfb31d1a1cf3745811c6b39d2921a19bb7b615ad2668ce8fc3269141ffae2d9a6fd289f20cbc2a8b2eddd9c4d78e56661aa2c923234529dc3e3c233686b2e80c3d0be45625f2d27303e5620c9cb1f9d437c1a402f0b93902cf4e7f3601135f366e1e1f40c104c577627bba58ff2d0d8c4333405357ad1b22d933bd2a42e259a05ff212f5cf2eba3b16c452a10174730da073e8fbc43dc3ca9eedcbd35c48ab5da5e572cfc4ae8d4ec3bfcfb9af71ea106607f0d58771ca6f31a87da17305e16d4dfbc8a20a1567156ab96ab38862c7b598b08e59e2cc408249addc22461b88fca836b61775d411348f9b0746b1525427ea26cf8ca5ed4996ae61f03a227c39f0696114974e79d44abedc9a41fb2ee4b9ecafdca6cc118ef1b6e3b4fb76f0c36cab45927f0a09c7fe160390f7d217153f613d30e34096bb1a70a2180c937553b4158c2f5747a2d79c27771a08d3f95de7644cde327000bb3771971585f51b691899c4b2e8f277328533c5cf395f971b2364aa766c7bdad3041e586cbadbe9085187920fd8f7e1f27a09d95d51d852459b063bcfbd149d6d3f7bd9157439a78cb0d90a6d744ff9aa0bef8105bbad4551cb39c50ad61dc9f68a264d549bb3e96bde9755411d96f298569d835d6ab318aaac5008f82ad8377d4807513c3efe891f0997196308a434d07f5e48837900852b72e28e45af5d3e72547766e290700131b8e77bc34bbd358742d9584fe3e750e9c9d48acfbff680c36e4c3fbba9440e0ad9c6451c8cf0932764c2cef55e47f6c6a4e050eef00f93b0ba8385dc37e6ec69c40dce9c131d8e8d27514b632cc722ac6aac55ae7db08e9a6e8d4c9a79837692b25c0d7c73c11e89b27af6f43089cabf81f1b34ead247b33b8eb448642a9ef528ed2411dfeef32a153447198fb5e252db2c894c44d93f320d4c7f561c948decfe4e8dd14dd69620730867f12ee6a12d674610bec860f6853ba6bf6d4f8bb2c37600a8499c6e89bdb44568c2be9ff87172330e8dbae75ab2052b7cce2ecf01d6f4099e05dc97228f86e0d6081caae2cabc359e526e298e576d4503966f457d920f5714baed0addce3e279745127d49cf5de037d2c5a5a3adb771e1667a80226905c2aad446b3a3518dbc7604c2929df124d45852c333538a4d4ce5905ab2c034b8b6d7c49738d39b3b1e951aea18f4863c3f5de8126025f9e97de3973c983cc7046f11938d7be57774784b3a86083e3f7b210bbdfadfb3c7291d2ae5c928f74f6038288f4077ec96cbf5f84d37606b82d22a613524d0270a7b0aff094b9656e43528d8a0099bc651653dfd9a6ff01acba678baf876228fd081188c1901114ac8b0cfb2be1aa3955f2abf24361de38777b1f42d1828e9eaf7286b3082c75e0b41f4eed6adf7bfd690406aebedfcd9756d55308955535f3c6368e76324ebeec120e79623bc9e75613e8346bb61930d0b1dce4c66b79e52df68c46d420c9a78ff04696088b311bd0307579d14fc7a37c4a00cc59ba790099662f7b38dca00500dbfb3632f650539fa718adece59fa9f872e09c7c2801763fadadc833cdea76f91ac799cfe20290cea288fa2f29907459f4fc326f1171ad1d196992f7fade3b204a805a18c7208fc33f798932a8f7c0afafee601eb81982caccf645e313e21382bd3a95d28121bd85de5f290245910ae104f852f7e347b58b8cb775f2b4854c2d39dca4907e70bfa79b11acfa3ea32bbcfe6ebb253953894dcf932b7da0a07cfca20bc4b0240804ef7954567432790b3f36f6af052a3b5af9e45219c722b32ebb8522382a473193960d7e2c44f1275b25b9524b201057ec06a30260c966d598c30e048f6bf3dbe1803 -ss = 953b8fb7c2158df7534b5c466c6d100a3e14d46e647ec3c5bf563a96509a94ff +sk = 944ab695c2345bb67894d451ea2a5c92561a5467c769352379950879899c9cac9d05e89cb2729b2bb47724923fca357623c69643569d66912b2f9b3249908090d4c5f68388a6141163c931df430d70290950b07de410af913c0e5a215c3059785ef05b824545aba0b95e7279d1c5726b59890b82131d5c62e8b3be33b8016ba0c321c248a5293c71eca570c9536f958b84663b1dd5bb6f272c3e201f014aa3ae05640ed92200274d45d9bf4410ce8ea72d680ace1eeb04cd8b002de72795db60681bc9ecd387fcea796ff7726fb29877f895e6832eb7eb179a5956499ca3bcf3283fc8489d494a88668e6614b1f49824f12a448b31a42861190ce3a9f73c6ffa25622d7a504e0694bb7c75ee71cc8e718ce9d57ac86a11721721e6181f157c333ae098f8a6823f765b60f0300f4733cf65240c779569620213b8a331731a7b31937104becc0995ef57255261ad9b246009f855ca82af2001b256760c1543074d70b3c578279b35137e16ac2089a4c60038b8671d308964b68a2211187154746c27f59c8105981c8c7d0ad58717978c01a66b5ee1697188bfaac9b927822c940c5380409f38459f5b302cf7dc9d6bd823a0308b0da45c35d541d2346bae4173fb0c677eec26a94c4158b28d4d7b4b0f62a4ab06bae0b42208b099a174bb4c482c7c321aaca49c4a517114a5cf408750e8588545134f83a67769cc6e0b413bb800c04093184625a7ee24134a721d5fb1571cd82dd1d7c5f9103e0c2c4416cb775aa28df48643084b391dd2caf39278e9a31d2254871b170ae1b60a4e39b1f5a8473f580c7153caa1369d8e9ca381660a57ca8d2523202816767ca8cac0914c16f1cec8ea4ea5da930e0403e7a876c390ba31fa250d946a2eeaa479888011db7942f7676a120338357bca38c4c95088a4a0884b8b4c14e9c09e831f8aa658ed77cc164124cb281f61856bd6c965b6b6cd60b1b1034888f3970555443f0f5cc29c800f578806beeb4730ab9af4b9beb89502ab48761e188cb9aa95ba06b28cf4b89c200b2145a4339a53406b6790a518f54902eba0230a8c2a45447125b7330f12645d935e00651cb4996e395543b7e643137abf3df59e042abd6fa11927062d73d0a107ba6fea0908ff6759a972c11e864ee7393254051bda558d4b272e6cb2c337747a7ef46f5ac872d5d5238521c09e21495ef98b59c22961e5a4967370efc4865f06a72a41464d37ce4dd1803bc117888b681d35195c857a47b764c6799a86e27327eb0403931e29f90fee8628aa43b333615bc0f251707024ad41a24e3c4f15b99e72f536dd989c0325225dc682e3611640d99c1552506e687e18a883f90882056c14385bc08be82616d811a4fb2dc93670945b7efa17593c4b7bffb76f9a805f5230c50b065dc77b409ca8cc0b7190aa61614c528af2d1ac130c19e4362e85a40693a87c00935a887b9b58699777453d8278c445bbc8d225412bda6fdf026207e3b207613d2ed74c085707edd555fe4c00b40b2a83aa219cd643f1d83ec0fc21bcf94fba6a8262d959c9fb345f2221082c40a1501c46c55082db2709230b04090558cb6d6815173525725d8cc0bc93c881c99a16041757d6a05ac71a15e887c1682d3300673d851fa1aa423c5b76a7330ee7041e7ae96c36cb6a2ec473d83096c122b9af6a16faa56505d156df9735dd3a82681637a1747eb48a0aecc8aebdb7a15000367a7b023bb414cb67587bb29d19182948c72b60b2cdd7e222a12713f6a6c3e13c782b23c494922f4ae07b346c1d52f94682c11a0d52b584f7c8d8c740d9e0353480bfedb3168774cb1ce31331e8cada805045a37c93cbbd28ec100e089003458cb2f09cc39640774c7767183a4ae4c974e305258a8d128ac84650bb044c60311bb2515703f9ea8ad3560c6f382c7d173f83d30ddc1b637de633ff357a28ca32ecd834e4698da363ce2380ceee401eee9b31df6967c7c15e94e765262134aae5719838ce9579c8406234a9963756fc83dae5427788bf98358da8b356a2944b7d8917cc0884a2c58481c8299f194f45e33c0b30cea23142287ab15c1a429e588fb3ba32b6897d771072266096c49576ff5cc537577b76ba6c6d993e01c30dfe519bae481aca72990a39711a60afd67c1b50d417883a44e1dc24b93421041a9057ebcd8df95cd5eabae5e776ba758d8ef9c8702406afeb9d82d91c06e8a27df57be2d2cec9893e9c0a678ec02e94c21181993cfd22c19a7620d9cc494394b2218a81f9cbc743047160b0a551b6c802e44d09e52ea613c5f60940d77c3aad232f9df0561f159ffc0c88ac9c2f1109a9d89ac87b4a756352289d241b8bd694a1e140f255163f7888ad1314e6208082c0bbdd72220fca50d57c65c3b05d701b567550316c440c6f90ba50a46ad9662f99c61ad6601a4a26874e30ca1cb97998a13e68683a28996933ba186f469dc903b0c46a348a1c307ab9a9a4d427730920ae296d725bc045d2807ce2cb325cbd5f6cc216a0c0bcda1e321c5b17565ed0028d68554c892a9755643a69cb721fe6296acb64b93966a1743ed298b5e348817d62a93c453318db713e95cc53f8bef7d6a5dc2a7001473851324ca0db3052448da3136347008ad8d8b6b95a62e8a48073d2634a58525dd663da939948d49da9b12b1d758bb6f328d0f42a38837675e487403148729c4ffaa2ccd1e6ce8a4c8be2e7a1ba2b7b633aacabba686dda63feb255360c4796bbc99d95461b30502b42ce4e6aa92120b61a283927184931fb6c98727cf4163284732d62216b653c633659045549a40bb0c7c0a64adeb841596516bcf97e6ca33892ca8fe6ebb45e58313fda81d164193bd711ab5b65e7f2611b4b558f3c03294336043884e8b92390d11903035ed46289925447d3ab1a53802376cb2ae1960e4a7a13d0d05a58c89f5d0499be72acb9fb7dc5468afd332f483b1dac2370a14326b52467a205638fd603d835a628ab940a0463eb93814237415397b5a8b062b915c3f4278ed1db16ed13b03002c158700852837657b94a4b5ac43da32a7179a4c1a4303350652693844949029aab4222ac62de266240fb48bec4bded28213d945c3626aba1856c5e702589738fb5574380b74071dbb401696deb422b9de3699a0949e20522a3782e20a6aa2c364868ca41e7202ce8ec8bbc2165a09019a898bd4615741dcb73fdac5fc7c35503a937eefc08cf88570ed41163bb7f2e9315f0249d2bf5cb93b74627041bfb79c2b26754c6f38f8b802f28d7a775aa7cb082cb5755a195d66371fbccd1678478c462ca1896b201098d66b3991b2e73c299674bc645d2737111cfdfe89b416a7da8ca182164bd708119297283de6a1ce84cbfce07c683783402539f88b6b071213732b7594052bda614c95860b57bd5ad5ed10d8139348ad549bb573e3549320e521c0aa3919eb0978dbb7aabd683dad74d00f549af5b4f0583a42d27a21ef030c94b2e93ea67a081af3413aa6ad1c41091364e558cd561674340430bc490a52728cc188cd1281c7aac45223a341eb60c8eab4959701aef2120c891b5ce115bf8aa17cee2a980c6895ec5061ab49dfea7431d755015117a5f0a0f200921c4547abba8bf13b5cb7987b0250c2885a0507094795f7274af995647b5b6e559275115cd55cbcdc9b988073b2ea214551752baf467432904ae95182514e39b3b418a49c410e4832d5377b95227b3091b5f782aa431a1962d6a907d3c2371161d71a9640b177a488a1fcbe57f108900e8e08292f4cf97460893004f5f88222d059b162207ad739650537bcb8b813490ca702555f134406e9c04cd54bb85a7689a1316cdf3c401d9c49b22816f47ce750aac7455a222490940f030f108086262479b8489fa00a12d09cfb5d4b6a4176fa0f62b1288c46af76340d81eddec842a548be29a3994c53a7e631baeaca3a0f8afc4412b6d51426d496d2a04bf29934f17e668421899c6690853876434e87f8f10ab52e61ff35b54227ac0fb7313d2f1c308405e5d767541c8c3bb4664c594a257ba30fbe34bd182790045bc1bb377f9d54ea8db52a945642075b0df8b2e6ac87e71177a4860157f83829bf7003558b7f35a1690920d494b4391396dd61a7f221991a1c6856f7b1ae5147422742aa0ea005fc1549cc034b9c11267e00fc32c2b3cd172975397a3647a41b1c69f9bb663835db97314468540973c339ab0cb36a19b2ea807fa788402d48dae0ac01285a8c5f3725fa674d0418bfff98f6c64c2fe21a4c6a7cae7b014277413781b7c3da207badc70aaac10e684c42940705b8ac37ee7c0a101bb3b9bc233845ef75908a83108a2467f6d44de229c527f6e4e7071cb826cfe76fea483d9163eaa84f6afac495ad35e259a200d16048302df38d8e7f9e1c3352502c43f086fe166325048fdce9cb68c0ef1663e52e24c33090ea8f4f564d85daca610fd7c2d5756d7d882408ded +m = be4b5e900bf3274d5c6556ce983f3c13eb314e8b3ac969be600a8c769a6e7c76 +ct = 8ffe5df45c6559c8c1910ecec6036b7ab15396b042383630578fc8b1612640fddeb9ed4cbe90cc8c812f8db76fff093966eddf4f93fb73c2533b279a756b4e169b941acbf5dda49d82c56964594e36ed285257a53c0004cfbe46c20f0f4631457c445b86cb4ba3924f8e661c9ceb46af04f37ddeb13c7f0b6baf8b1702452dd8a70d0ccd3a1366e8b330bd7e7e65a3baeff0f86047cfc8a08009390e6850076eba2b0b9e390d9ceee041cf1efdd3675e743c7cd2fa1affdb08dd0e369e4f4ea20caaea6b0d8c7f949bf9be3d1921eb75fde8746c0412998111ad5ae36b76dc1a15c1dd6f6f116b333d4f753c3f7f7b5098102ba54b5044767432287efd8b107de3789dda486507a839fe44618319591d940dcc71e0f2bea42375ff3cbf978cf7e260cd6a9b32e07428c791d3a0d23a59520b025d0f810ddc327ece6fd1a528affe4dfeb5305cf5a8ec1d4995be2c2e3f3ca30ecb6b71996596e7cd345b67237e5803b4f522de1859f9ae31248a3c67191473c247582b1627e5401d40c2f90fb7b879d55f90b708d6793a69b23bfc8ee121bf27aee41499d014cde8d66b3945679e55764915550af7be4fcb5c764b43d9e22c9a96be1700c665b6009b825e1244dc0e0f181641cac4c90a999add52dbab5614de2c7fa10b54c9cef3f480ad5742b9704053400351457e9636f058dc48697c5a414ec15985514a38ccc45aa685f481f87e551d4ab9aaa0be7c273816f42b298d2e235da34325e9d3a46d9578f27b61ba14cfdc733c2309628b4749e7db8ed7db7e36b44ca08bd07682c0e8152dc0eabf20eb41b1cf5c3ababab6fbfae13cd1b4e9673c5ee0161237a4af4197a2778af71eba34343b1cf6eecd50678049b7cdfad2cde37646213a745713aaa9e081ab38bb8f5401342393cdf1dacfc8e051b06ffa147a1c9f0d8a2f9119f7444d8ee4b32bdc3eafe5729d931d4f67897a75a6999203f5dcac93f4c4d08a224ef4888e27cf1974f5443b423d02f126642fd05c26c271cfe93bef8bf587868e84725af35eeaa9657ffb06f2b92f03232f671a287341c2992f424d6d3d3b9c4e119597301ea508e3a533690dfb5b38320a84de9954415bfa752996fbe7458aac748a9b66f2fe27bc82c39759cae38992f408f701f0161bfb12d009641146adadfe81b81dcf9001c7bc94b74953d96d6756beed986e0df7dc46025da92670fd17052aa3c8783afe4cc9865a4891727eb4deb9895131235f96134cb3cf30ea3ed89ae8cea10e812b1abc2cb14b87443f3d6778ed7c5d4716c61c071f73e890b5590e6a1fab1fba1d26a9a19ccdea2514554409503cb04fb4f6c62fc1624e781d889f116b6b86ac257c69cadc8a5f75e3e2fb5626cff9664b6dd18bbcd1cf5b8d474f00fb1ad1db64ea167fcd75dd57064fc8d0ad519e1b02e02c230d166bb64d5172b6962d12bc429f708af4afeecd6d94ad3e11e4dd0131730b2faffcafd811d366dd1e782356b4d47d12640737b26dd7545c66411192f2575b3019fe92a805a9d1db3baeb90d774974700246a865604cf8eea89d3becb23dbf558c65473817d34f5f9d25d2daa4fb9bfc70160b6b2d0ad7650df490ee636dd217866c7f4e8d1e7f5b38eab6cc45ee987ca8d28ed67adab94b3d355f6ea29353ab90f5000a3876fd2a6976875540cf9ee314ff428ecbda97cebdfada9e134cbe104d7509a5f936ab01ba4e9e56738442dd2a23cdc7025333a518dd29c3130926b3064cd7174325e5b149a2050557acbcd14f0a8c0dbb5498ed0c9f464c728f90956caf2f1c7b5e4f029c9f7101d31d3a747e9c77d2bfcf0d69f248f5dfe3825790f49260e22be517fc5a4a1045deacc23cb16bf765665351ba00bb6e957493084ad8e2e167a7f8188b0c928b39ef07caa389b070600931c73c7fede1cc04e48974bb328ed71c35a9270d379c287a68c7e7974389e258563f7dbdd34b6507280f45f2f729f2dc12431029330e16b41d1d00d003e57a27ea6c151c976ced64dbb041231fccc66ef2987e8ab3d9091cb4f06d45931e015c3fef69c4a160e3000181b4a30c0e25efc6ed1de43ceeb363d00a9a97e83a2491c4a9fd5fcde5ba3aa171e26f6d4513b25d2d8a040c6de15c781dd8d2efc5a736fe7811a451b30cfd203496290233178602ce8c937e66a835c6734596201d610c693ae9eeae20f097087ba5f4ff7ea9da75eb5233 +ss = 853896ea55c075414ee1fdd7a58ee44ada1fb1096779a1aa69f5bbaca078a5e8 d = 7ec408f52c9aa723d0c41d9987682a5f4ce6c9da7cd0215af60bbaf5484ab353 -z = a08ccf451b049fd51d7a9ad77ae14a81569df8c9bd3a8f1ebea86fdcfb823082 +z = 0da1d147e7686e428aa1775bc2eb045d1ecbb17563ac966f708cf3882c47b5ad pk = 7bd4ae7ac89ccf0180b971854b229829c15ed8119f77ea8c7a80a4b7290b92a4bd7ed21e3b317e15d2ae5593ae3b3413d4552b767b5c264a2e31c28164e18c424a00b013389663ca580ba5b94a5e3c3a9234f15de0f4aab90a240b55b6cf6c4bf5d29ba93480014023f25c66813996f674cad2f72c34882bc441a851413560f54df40146fe9c634ce98a8a659b38d71cbdf934d29bb4c469c660190fccb1820cc365490a8a79228b79d95c3850c536f7ced9ebaa92c159e5f9a28c9562beb95d9fa000371a2670e5b066d16e5af730c59a03b8d2364eb048df031618d09e8c07781957b3d06c6ad4534149fa65f8c513733b8b095b6badec8d0ec0cff1618f5b754e71f50f3f7c9a209acbff1505a7a40621b0aa817a9f7c6a1caa1441af16606376c845c473b89bc8cbf95460192632098bfbec366b1914d9216b16a19c8cb45204379a782c203614b37fe411dca18c20cc033cd6510b649c09431afe167826576e19d425026b02f628c92e389d884a8e5975c3a3a252e0443239305e30bc6e73d33fd3b0cc63a8484721157a491535ec1918a99584808e75c26de2535227a7120bf97b64f320743338c642bdc9d02b45a29903f22ef3e789e29c4119acb125347749f373c3f4156a2ba0bdaa51fdab2185bab69801055c1743e7f7541198cd6935598cd00ab2a051667ab0fc67b9751aa6cb76b38b51754d66296d8abea1e6268d410c68412424c780bf8198a9bbb1227771114baad6a63977163fd432131f96168131cbcb536b8d223d521583e9b31e025abdec005a6ec66396d94b17436609e6205f1610a805cb39240bf3d19f81b20cfb94cef7c10bc7b3110b2231c61c333a3577730ad02009951689a2c867558d244a70d437f1aa3453743b61a63165c07a81e15d8a5313552728bc5c2b7ecbc3e35975a9bc5c341a7d6967757bb7c67eb279f7b34c33f95dfa49185f908686a55cba343af19635d07b3a23d6442d15cfe58c04ab586930029d072704b546a4af3aa9cdfa148018954a857b3c8992d1c567e3b20ec300ac438b53ec808ad0753cb8026703c1892f53357f58a9e936bcfc344e82686c95ec375b8c43baea58e28c71387c09ae312e00368ed4198fd23884f1bba5651ccb94488166943b2972ac73615a21e32ea83b9b23596aefec1785329238e210fa1528243ab9fcfb974a6316e26217d278596d188c43684d8c349d91cb43d301c961e4b51b51b202c58ddaa10425412f13228d16fc0c75e2b8eba686fe5172768378f16785247b9c6e1ccd9929a8d17a829566b640f0744bf565ea512402707e78aaa6809b75c5154dcf70bdea1cc05902bed4bacc3a6c3518d2a605cb96e3cbc5209239f4994df6b503d5f16e04562ed689a2130334ffe99b093a5cbe2282321551e943ba7c988561d332663ac4e8b367427133cd216240f659d1542e54e4ac32c42da7c39c0b5c105ddb872a9b617bf386d7259661c2823522198802be252747381053ceac84c5f827339c90812615eeda92dd38c2e1db2268a3929087480f393643d17cdec6cd059c2b810b464646a26427cee030b311f591b7d96858ca9fa0b53076e975e88582950350c2fb82c8bb33a9198aaa5948b42099de3c6d252467c0525131128b18508aac196a8b45c013519d52950a16d48007b339f8a9336349c50ddb656b55874bfc7bffea795f5a16a98857d7f57945f05925b45a55209895b7ccd7a9831d93ccffe55a8ee0c63cc57a10a0c8f905542856594bb41359fa9f5c312ae6e86dd116a292c66f47b9a0791a72dff47c55c69aaa8a6465c7b3c9222c020280f77b9b731514d2ba49b1b0b0e6533684fc5ef2665c25840426563ec3a2aa0a01812186021d40c4f3519da9799feac06afbf04cd390c0a52a0b687a5ef0877f053c319fa51ce7e53aad0313ba3b6a7ba5892a50cead19356d8068d1a93681833ed4b8c975e99d969aafe1a6a5c2326c4e290d65eaae1323125238303719c545202178ba17eeaa1504f13cd96838b7560c1a35b1257a1672c599b1b993a55ca982a1ae29b6664998469f171865562ee027c4644234f7e3b14621c811caab7498b204a55c8b302033219d6b2b9bf7939e9fe4523aa9cc9a41a1ce11c18fd6bb9bcaa8970534a7106199b76975ea8af98233f031a371c79a47c12dc8ee619e1a0c8915822d574a243f67e14104d4f021cf95bf33271c9bc9 -sk = ac65af9fc8b905d09638374e58c551da08ac4ef86a8ff04489ba462841a85d907ed0c70e1a790297ab2df7d6cdfc5c6af513144da105dda2c75f00736dd91564a79668e335fbdca1c9d31592e73d60066b959a2fcbf55474f9c21bf058f021457586766fda4fad521f64940d4932b07ad8ca7e1a06662730ea6c15aa1c2f9662552313176af04fa4a98962101492566adb8bbc3ec04f9cab9ebfe5860f886d57a2c73fa050a3607a8c0998754b417c9c5ae2fc3f829cc3a2ebb1e927ae87b68c6db355f4c661cd000d10d6bc31ca1c249a9b3931a4d1c57904dc6df923839d9a90aa2b93a87c44b5f82e6a925d22e679428064ffcb9621067b75477fb7d51a1d3b9d9de4051cf874ccec12976562752cbfcfc59f56c2c60b8b4610a9bb36e9019b974502407d57289726ab8a38d7a6c880074a5686619abfffa5757dc79e1449408851502beb8196f493f4a724b9d681645a07b193586c5c05d8d10e2c968bd251b88691c368dc18cf8270dad3c22bf5093db4cf05668f8c6315c0ea3f55495e784ccd6055ac451363fd77a91686ad77c5af53141eb5e7534fac4de481741e48b414302e4743789e250c39c45c0a15cf42e7b3631b6a8c0971c8a34b8200bbfe11004ab06bfc5949c3615b02947c73e7a0717c6b60f2679daa21afe4c55768a08e70105868aa6ab4aaa848c79bf125883907b9daabe367afce273e2c168aab02acd27855e2944b67b938170a9258f67397770136e466758c260ccb7da226b5a95692514727fd48953c62959c88c8784a8a52131c4ba5a6d757b4311048b602b554e8ad509b0c12b0a64553cd4270ca92f36cec227e16a217c769a2bc1aa6c356a5a39c69f4963ba6273db9232f1d8a28ce65b5b9058f1b8a164ab0380c42a8eddb6c2b8b19f26b557c387e4db9aeb92c4d7d0a2ca1e35f97e05cf590bc511ac5efb2357e70525bd027b36c6781c4b86b0069e7b89c8ca643fb9990ecab2cc5a8a5a5b2b0441076ce934d96bca9ffc10eb6e7bb093675e97b68894bb030581d89123642c1118364115a76ad1c181eed4b691bbc15df182dcde00c71f8685b71883a184396d3475cbbcb674360dc14c42dd6461514479c85557194a97a654c4be7620fa84c59db5057a0886d760460cc4a3a713f4fd4bdebaa93b943c48e6348053703ed818fdd9cbd62e246c0b69a265aa381822d6a474c5aa530aa5306a0c8572c413718a278194367405789e1f749ab4a02af87b362067f3da12ec01a83acec26a390cb5419b351bc95e08c7338fb933b81476ea950881275a186c9e9f99dab63634e6b7314188bfd686d74ec203b71542b62b1c0c7712745940f7b9237551467470e5b1ba2f8e34cf585adbaf980317c9db1147382946c12223c3a45973b879a523855bef121151bce620216dedc6c3457ca03951ff45b662f79a1a7a5cefe9a846dd5774c7c2a22f842e4e465a94314e036bb55a2787a1a0f0f111143872dae74af706a369ca54259b80578bacd497700871842b98cae2ac3b572f98f145cbaaf54569779b616242060b30b2a482daf335c9a502cd318296958c696f7080c7a3926c7b62f36a5dbfb87ea0518358155e8e94390b6c0f808b91c166577037df60a21dbacb5cc0758ecfb20d4c38ca54c4248e07168b19f7d925a8ce8648f812a8c5b6ff69b8994e95859d2c5cb67259787739cfabab0c1b093e690c50632f7c336fb139700d43a04892db5220c28912a59ebad66bbbf0fe860e2e30d8eba9cf21c6c1156cde0b255a1a4507e3c880b749fe959470b684e03268b43a960f3d76ef1d4c4e7266f80792eb74959a12a6f1c91cde02b8d5c14a500ccc7224c8ce3a70b99557c87b9bf09b449341118b3f998509b1ab0492e0fb84340f81f8f51c08917319d9350055bb889ba2d6ec7b5e281a9ee84ba90ca4d33014f9cec2993915c7bc094e9b926ea086d84434c2748bba95569779947cc744dea189b2080afc548710b94a225799293090cb3a6c932336003990ff766493f4b17cb834cdc70a0b209b7a1fc42ba087d7c10c02c383b60b63ce4e44bee916920156de9ab95aabb44f28bbb3f0612338b0a5077c898e3ba0f197f7f31c467b8803abbb0a82a7897e7a39c0012049788d27b70c8503c719ac3df958a7a61affee0a2c79a1703d6527bd4ae7ac89ccf0180b971854b229829c15ed8119f77ea8c7a80a4b7290b92a4bd7ed21e3b317e15d2ae5593ae3b3413d4552b767b5c264a2e31c28164e18c424a00b013389663ca580ba5b94a5e3c3a9234f15de0f4aab90a240b55b6cf6c4bf5d29ba93480014023f25c66813996f674cad2f72c34882bc441a851413560f54df40146fe9c634ce98a8a659b38d71cbdf934d29bb4c469c660190fccb1820cc365490a8a79228b79d95c3850c536f7ced9ebaa92c159e5f9a28c9562beb95d9fa000371a2670e5b066d16e5af730c59a03b8d2364eb048df031618d09e8c07781957b3d06c6ad4534149fa65f8c513733b8b095b6badec8d0ec0cff1618f5b754e71f50f3f7c9a209acbff1505a7a40621b0aa817a9f7c6a1caa1441af16606376c845c473b89bc8cbf95460192632098bfbec366b1914d9216b16a19c8cb45204379a782c203614b37fe411dca18c20cc033cd6510b649c09431afe167826576e19d425026b02f628c92e389d884a8e5975c3a3a252e0443239305e30bc6e73d33fd3b0cc63a8484721157a491535ec1918a99584808e75c26de2535227a7120bf97b64f320743338c642bdc9d02b45a29903f22ef3e789e29c4119acb125347749f373c3f4156a2ba0bdaa51fdab2185bab69801055c1743e7f7541198cd6935598cd00ab2a051667ab0fc67b9751aa6cb76b38b51754d66296d8abea1e6268d410c68412424c780bf8198a9bbb1227771114baad6a63977163fd432131f96168131cbcb536b8d223d521583e9b31e025abdec005a6ec66396d94b17436609e6205f1610a805cb39240bf3d19f81b20cfb94cef7c10bc7b3110b2231c61c333a3577730ad02009951689a2c867558d244a70d437f1aa3453743b61a63165c07a81e15d8a5313552728bc5c2b7ecbc3e35975a9bc5c341a7d6967757bb7c67eb279f7b34c33f95dfa49185f908686a55cba343af19635d07b3a23d6442d15cfe58c04ab586930029d072704b546a4af3aa9cdfa148018954a857b3c8992d1c567e3b20ec300ac438b53ec808ad0753cb8026703c1892f53357f58a9e936bcfc344e82686c95ec375b8c43baea58e28c71387c09ae312e00368ed4198fd23884f1bba5651ccb94488166943b2972ac73615a21e32ea83b9b23596aefec1785329238e210fa1528243ab9fcfb974a6316e26217d278596d188c43684d8c349d91cb43d301c961e4b51b51b202c58ddaa10425412f13228d16fc0c75e2b8eba686fe5172768378f16785247b9c6e1ccd9929a8d17a829566b640f0744bf565ea512402707e78aaa6809b75c5154dcf70bdea1cc05902bed4bacc3a6c3518d2a605cb96e3cbc5209239f4994df6b503d5f16e04562ed689a2130334ffe99b093a5cbe2282321551e943ba7c988561d332663ac4e8b367427133cd216240f659d1542e54e4ac32c42da7c39c0b5c105ddb872a9b617bf386d7259661c2823522198802be252747381053ceac84c5f827339c90812615eeda92dd38c2e1db2268a3929087480f393643d17cdec6cd059c2b810b464646a26427cee030b311f591b7d96858ca9fa0b53076e975e88582950350c2fb82c8bb33a9198aaa5948b42099de3c6d252467c0525131128b18508aac196a8b45c013519d52950a16d48007b339f8a9336349c50ddb656b55874bfc7bffea795f5a16a98857d7f57945f05925b45a55209895b7ccd7a9831d93ccffe55a8ee0c63cc57a10a0c8f905542856594bb41359fa9f5c312ae6e86dd116a292c66f47b9a0791a72dff47c55c69aaa8a6465c7b3c9222c020280f77b9b731514d2ba49b1b0b0e6533684fc5ef2665c25840426563ec3a2aa0a01812186021d40c4f3519da9799feac06afbf04cd390c0a52a0b687a5ef0877f053c319fa51ce7e53aad0313ba3b6a7ba5892a50cead19356d8068d1a93681833ed4b8c975e99d969aafe1a6a5c2326c4e290d65eaae1323125238303719c545202178ba17eeaa1504f13cd96838b7560c1a35b1257a1672c599b1b993a55ca982a1ae29b6664998469f171865562ee027c4644234f7e3b14621c811caab7498b204a55c8b302033219d6b2b9bf7939e9fe4523aa9cc9a41a1ce11c18fd6bb9bcaa8970534a7106199b76975ea8af98233f031a371c79a47c12dc8ee619e1a0c8915822d574a243f67e14104d4f021cf95bf33271c9bc95a5db7d619be642bd87294527b3f859372b279a1e6074824d9632b5d7f616e42a08ccf451b049fd51d7a9ad77ae14a81569df8c9bd3a8f1ebea86fdcfb823082 -m = 8a95d71228acaa5f9ae6f9d9ca8ae55fde296463b41083a39e833e37c4c90f88 -ct = e3d4deb3943c762f9d997ecaebc9cb0de071b21874c061815ff5a6862be43707c32ab7fe77522e992239598c8dd3fd076720e94768eef6e3ae079ba28865b5b52b2478cd73e44b042ebe405a626a469ed1f186c41314cd0ef96053dedff2499eb9c0fc860e009cc6bb451b33edee10c34a3311a692300b76bc87c981b2c6b84f316a03482b55c11e575add147a4fe2d02554de2913cbeaafee6be0bf54a0074adf724b74060c3fec082bc98624d401c1e7856feaa12b7ae842c67ebad1d910166be2ad4a28c7298874d9f28c5214fe88ae4d2e4efc81f6d01d0b6fbff9647504fe9681578b0fe85d47332399f8447368d94d5eaf73b8c6e3dc9ff3b32469693058b9748223bdfc456209e5de660e42321795e185f0f2ac01bdf246aaf0b41ca337987179ac8cf490313497b96e1d8c1d16b5ac19cf97b27eb7fa10aedb99c719a5712a0ebc9f79ebec254d2b8de3e28a7cf9567a80943cd52b2fb12e64598f117e64776dec4e8c8677c44f27463844d8e9e0673b335d532c5e23f6d6a938ef54f648bb793ab4e8426a7c8deb2aec572d4deff0b82593389de1449a1682d8de2074ac51cb4e91af4edc342891ed6efccb95ff376afd17c98cc0e6323279fd1503e0abbf65ec850a809c4e1939a52704b037f9d72075f002c508609ca9cb9ab4e356d5c46006c79b88b21d503d74d3d183ce4890a5d835f9c9a14b713e554295108f9c2ae632b7e739b3b3264c58c59d1fc7ee662bb29ef0ce15cc54e43f5979a86b3d9329add0a78af7dfa75f3b94ffb4a1224cbfe437446f2b24fd5934014ff03b1220555491bb40ca39497c4bb59ca2a01e365594d1790aa6670aadad2ee5cb08b35e49439367596479919b3aa3b9a8f9f2300ac87e9326758103e9bd3c20c999c11580cc79c38665ae0d3a9a7197bf415a1610748f8e94ce581c1cab4efcd4e090b84c2a1e58a1002043ec612e308060de98580b6f7842afb739e2d79f3fbe11c98110359564eaff82a8e0349b2cae8a5342c4ade13856593c010433f47833753ebf2187f5c555ec02a8f569904d9c495a79e52db3898590e6536cb0efeb1fc3f6d379287ae3bddc47081d9fcc1f224ef15aae7ddfa38e0c95a99b7d7d3a4b18af32cba05dc007e382722603f10b9917a33d51165a8092d735b15e41e0b8ddeea84edf18155d6bd0af92fa2285828208da9a5d9e5a44f4f166b1062544e998c1b03ce42d14573a0043689dfb64df3a1e87b8611b68363c85241e7dc65bb6dda862533c4e98303a79859709e0f311074caf5873a7bac802d0d1b165f63fd4a36b08dfc59e046993bec37c3d1f5185c4a5769137abcabafced9973025136cfeb94de8fe5fc9bb7811b7bda59d9a3401c997caf4e66482eaa69c54ff0002e7a3c8cc66a12b73a512082da59eaef11fbbdd30263d7257fb64d03ed7d14f297e3d5374777a3db734d0cf6d0e589000b2e9419a704bf1a129ae69d50a006549c7c54c2c937b40ef6b50f74eeca4a7cd1525359560cb5e8f2e43dd2aa709d2d9bacd6181b734aaa570d0688e4ff70f0cbe9db885155fa9de5e67dc6a0888ae902dc9976618f0466af3ccabf304ad13e8373325d8eff13583612f6a67fa3385c1ac655c2d9b26da39cea57ebcab4a103b079def07eefc265382d0cd706cfec11b2cfa60d42e82a61e14d92b8b4061af5b384cd09ee2203a0f849dd35d6ebfc4638cd921348ed2724f5326c0cc3f984b02b382e01cd583167d3be6de2d0de8cb625048d75984a562eb64f23e0a773a734aed7edaf26e434eb033395b080d285ebd76a69b89d602a02270311d02e02f2dc2ce6e60d5d79497e250879a396b44d37f4097cc9802d44b57ba17b9d5cf2c26e2fb6f463096c224c053aa561eda65b2095f1e86345cbfba3dcf29ef4fcf07a286c95b6617b16d888e8b3f179400b65a36262a39b7ff0fbcf84ac8d1b7785d4a19a446c99f18c76523cd4c83f7ad22f5753e123d9a2a153052d5496372168e6aea8c1079def108f5b1139dc1bfa02f8275e57378add90f986356ccf16b48f36075ce69c73fd33606f22b8bc8655cf231cf52c0824cdc35401fda8c39055ac1636854ba188759481771d86dc4468480f0de8e6952d03bc4afe2cd49bdfa8ff98374021964b127ca1eec0abb0be68c864172537998db53b9f9fee28fe9599c3395b2ec63118b8cb0e1c45653c4e61bc047379e3d1 -ss = 207a91bdd7c5e7f1fd578fde767622c8eef3da5fb22e01efdac9027702bc0127 +sk = ac65af9fc8b905d09638374e58c551da08ac4ef86a8ff04489ba462841a85d907ed0c70e1a790297ab2df7d6cdfc5c6af513144da105dda2c75f00736dd91564a79668e335fbdca1c9d31592e73d60066b959a2fcbf55474f9c21bf058f021457586766fda4fad521f64940d4932b07ad8ca7e1a06662730ea6c15aa1c2f9662552313176af04fa4a98962101492566adb8bbc3ec04f9cab9ebfe5860f886d57a2c73fa050a3607a8c0998754b417c9c5ae2fc3f829cc3a2ebb1e927ae87b68c6db355f4c661cd000d10d6bc31ca1c249a9b3931a4d1c57904dc6df923839d9a90aa2b93a87c44b5f82e6a925d22e679428064ffcb9621067b75477fb7d51a1d3b9d9de4051cf874ccec12976562752cbfcfc59f56c2c60b8b4610a9bb36e9019b974502407d57289726ab8a38d7a6c880074a5686619abfffa5757dc79e1449408851502beb8196f493f4a724b9d681645a07b193586c5c05d8d10e2c968bd251b88691c368dc18cf8270dad3c22bf5093db4cf05668f8c6315c0ea3f55495e784ccd6055ac451363fd77a91686ad77c5af53141eb5e7534fac4de481741e48b414302e4743789e250c39c45c0a15cf42e7b3631b6a8c0971c8a34b8200bbfe11004ab06bfc5949c3615b02947c73e7a0717c6b60f2679daa21afe4c55768a08e70105868aa6ab4aaa848c79bf125883907b9daabe367afce273e2c168aab02acd27855e2944b67b938170a9258f67397770136e466758c260ccb7da226b5a95692514727fd48953c62959c88c8784a8a52131c4ba5a6d757b4311048b602b554e8ad509b0c12b0a64553cd4270ca92f36cec227e16a217c769a2bc1aa6c356a5a39c69f4963ba6273db9232f1d8a28ce65b5b9058f1b8a164ab0380c42a8eddb6c2b8b19f26b557c387e4db9aeb92c4d7d0a2ca1e35f97e05cf590bc511ac5efb2357e70525bd027b36c6781c4b86b0069e7b89c8ca643fb9990ecab2cc5a8a5a5b2b0441076ce934d96bca9ffc10eb6e7bb093675e97b68894bb030581d89123642c1118364115a76ad1c181eed4b691bbc15df182dcde00c71f8685b71883a184396d3475cbbcb674360dc14c42dd6461514479c85557194a97a654c4be7620fa84c59db5057a0886d760460cc4a3a713f4fd4bdebaa93b943c48e6348053703ed818fdd9cbd62e246c0b69a265aa381822d6a474c5aa530aa5306a0c8572c413718a278194367405789e1f749ab4a02af87b362067f3da12ec01a83acec26a390cb5419b351bc95e08c7338fb933b81476ea950881275a186c9e9f99dab63634e6b7314188bfd686d74ec203b71542b62b1c0c7712745940f7b9237551467470e5b1ba2f8e34cf585adbaf980317c9db1147382946c12223c3a45973b879a523855bef121151bce620216dedc6c3457ca03951ff45b662f79a1a7a5cefe9a846dd5774c7c2a22f842e4e465a94314e036bb55a2787a1a0f0f111143872dae74af706a369ca54259b80578bacd497700871842b98cae2ac3b572f98f145cbaaf54569779b616242060b30b2a482daf335c9a502cd318296958c696f7080c7a3926c7b62f36a5dbfb87ea0518358155e8e94390b6c0f808b91c166577037df60a21dbacb5cc0758ecfb20d4c38ca54c4248e07168b19f7d925a8ce8648f812a8c5b6ff69b8994e95859d2c5cb67259787739cfabab0c1b093e690c50632f7c336fb139700d43a04892db5220c28912a59ebad66bbbf0fe860e2e30d8eba9cf21c6c1156cde0b255a1a4507e3c880b749fe959470b684e03268b43a960f3d76ef1d4c4e7266f80792eb74959a12a6f1c91cde02b8d5c14a500ccc7224c8ce3a70b99557c87b9bf09b449341118b3f998509b1ab0492e0fb84340f81f8f51c08917319d9350055bb889ba2d6ec7b5e281a9ee84ba90ca4d33014f9cec2993915c7bc094e9b926ea086d84434c2748bba95569779947cc744dea189b2080afc548710b94a225799293090cb3a6c932336003990ff766493f4b17cb834cdc70a0b209b7a1fc42ba087d7c10c02c383b60b63ce4e44bee916920156de9ab95aabb44f28bbb3f0612338b0a5077c898e3ba0f197f7f31c467b8803abbb0a82a7897e7a39c0012049788d27b70c8503c719ac3df958a7a61affee0a2c79a1703d6527bd4ae7ac89ccf0180b971854b229829c15ed8119f77ea8c7a80a4b7290b92a4bd7ed21e3b317e15d2ae5593ae3b3413d4552b767b5c264a2e31c28164e18c424a00b013389663ca580ba5b94a5e3c3a9234f15de0f4aab90a240b55b6cf6c4bf5d29ba93480014023f25c66813996f674cad2f72c34882bc441a851413560f54df40146fe9c634ce98a8a659b38d71cbdf934d29bb4c469c660190fccb1820cc365490a8a79228b79d95c3850c536f7ced9ebaa92c159e5f9a28c9562beb95d9fa000371a2670e5b066d16e5af730c59a03b8d2364eb048df031618d09e8c07781957b3d06c6ad4534149fa65f8c513733b8b095b6badec8d0ec0cff1618f5b754e71f50f3f7c9a209acbff1505a7a40621b0aa817a9f7c6a1caa1441af16606376c845c473b89bc8cbf95460192632098bfbec366b1914d9216b16a19c8cb45204379a782c203614b37fe411dca18c20cc033cd6510b649c09431afe167826576e19d425026b02f628c92e389d884a8e5975c3a3a252e0443239305e30bc6e73d33fd3b0cc63a8484721157a491535ec1918a99584808e75c26de2535227a7120bf97b64f320743338c642bdc9d02b45a29903f22ef3e789e29c4119acb125347749f373c3f4156a2ba0bdaa51fdab2185bab69801055c1743e7f7541198cd6935598cd00ab2a051667ab0fc67b9751aa6cb76b38b51754d66296d8abea1e6268d410c68412424c780bf8198a9bbb1227771114baad6a63977163fd432131f96168131cbcb536b8d223d521583e9b31e025abdec005a6ec66396d94b17436609e6205f1610a805cb39240bf3d19f81b20cfb94cef7c10bc7b3110b2231c61c333a3577730ad02009951689a2c867558d244a70d437f1aa3453743b61a63165c07a81e15d8a5313552728bc5c2b7ecbc3e35975a9bc5c341a7d6967757bb7c67eb279f7b34c33f95dfa49185f908686a55cba343af19635d07b3a23d6442d15cfe58c04ab586930029d072704b546a4af3aa9cdfa148018954a857b3c8992d1c567e3b20ec300ac438b53ec808ad0753cb8026703c1892f53357f58a9e936bcfc344e82686c95ec375b8c43baea58e28c71387c09ae312e00368ed4198fd23884f1bba5651ccb94488166943b2972ac73615a21e32ea83b9b23596aefec1785329238e210fa1528243ab9fcfb974a6316e26217d278596d188c43684d8c349d91cb43d301c961e4b51b51b202c58ddaa10425412f13228d16fc0c75e2b8eba686fe5172768378f16785247b9c6e1ccd9929a8d17a829566b640f0744bf565ea512402707e78aaa6809b75c5154dcf70bdea1cc05902bed4bacc3a6c3518d2a605cb96e3cbc5209239f4994df6b503d5f16e04562ed689a2130334ffe99b093a5cbe2282321551e943ba7c988561d332663ac4e8b367427133cd216240f659d1542e54e4ac32c42da7c39c0b5c105ddb872a9b617bf386d7259661c2823522198802be252747381053ceac84c5f827339c90812615eeda92dd38c2e1db2268a3929087480f393643d17cdec6cd059c2b810b464646a26427cee030b311f591b7d96858ca9fa0b53076e975e88582950350c2fb82c8bb33a9198aaa5948b42099de3c6d252467c0525131128b18508aac196a8b45c013519d52950a16d48007b339f8a9336349c50ddb656b55874bfc7bffea795f5a16a98857d7f57945f05925b45a55209895b7ccd7a9831d93ccffe55a8ee0c63cc57a10a0c8f905542856594bb41359fa9f5c312ae6e86dd116a292c66f47b9a0791a72dff47c55c69aaa8a6465c7b3c9222c020280f77b9b731514d2ba49b1b0b0e6533684fc5ef2665c25840426563ec3a2aa0a01812186021d40c4f3519da9799feac06afbf04cd390c0a52a0b687a5ef0877f053c319fa51ce7e53aad0313ba3b6a7ba5892a50cead19356d8068d1a93681833ed4b8c975e99d969aafe1a6a5c2326c4e290d65eaae1323125238303719c545202178ba17eeaa1504f13cd96838b7560c1a35b1257a1672c599b1b993a55ca982a1ae29b6664998469f171865562ee027c4644234f7e3b14621c811caab7498b204a55c8b302033219d6b2b9bf7939e9fe4523aa9cc9a41a1ce11c18fd6bb9bcaa8970534a7106199b76975ea8af98233f031a371c79a47c12dc8ee619e1a0c8915822d574a243f67e14104d4f021cf95bf33271c9bc95a5db7d619be642bd87294527b3f859372b279a1e6074824d9632b5d7f616e420da1d147e7686e428aa1775bc2eb045d1ecbb17563ac966f708cf3882c47b5ad +m = b0c99f495ad0cfa090c5453402fb93b6bf35d02077c5f6388810cee3edf51a99 +ct = a057ed8f9ad6221398e4182262b501ab346914be72f17a7b107134978bb249c2e5d7019df463f7fc831cfd161fe395ca22031e6654dc5fd4c652f896731c37bfbb92d30ae7a949b0dd768f4c053f1f2faefcc8bc1d38e6032667a516a942de603ed1b6769463004fdc89a86bdcc27292ab865e78febe9007859aa66f4b4518243a16591dd103502f729a19cee63d8f97f25447d3e273c149a702a522b828869785b6890f1fb7f6513475045112c807cf103ececd962d1d343b962e20780585b1382bf707d6799f76f969863941c09f09e5c731f1633111644b99efcf1f1df445f4d3cf136f2dbc0cfa2f8a55af5508fc0cb1aaf2f16445d2ff211e5c428baf88db0a645b7ed0dd0fbed74e503d9470fc8ec6ed8418e0c4cbc98ae49c33ae2dfcd7e63cbba4c3b7f89f42315c74bf9419190c4b52536b8f7d86354e62ebffa0bd4b3f8319dec5d0e299315fa7f11dbc5b95ac831d715c2760a85e347515c9e9dd8e9451a201d861b949c411215a91abdf14061f7bfad95af5f2614fd5260d13db93718889dced11d293bc74cadd60112eaf9edc43acc156f1d88ba7c478884837028c6b1d71d51454c27a434071d9cf2560415858fc1492e13551233f38c0fea79816c36a03ac4376f83a5d366ecbd5798d0c86a714ae2bed4a8b508125fd38e66f7c860df428d8938153132306ca781e120d78efc41bf049d130e570606a4b5f1814296bebf140f8bd67c3fd39b3231bae503685f1a87c77aac20ca5230220adcb373406c5cf73fd94f6085d79605e00eb79d9a1feca3294a590a9930da9d658929f48201d6277ce24e128bd5954ef874504f123ead6c9ef985353c397f501b3f5616999397630b0999c9f2ce6e05ba990abacc9dae0a9b11607c1384889e0b94822a80056d6aef6d76f43957d597f4f4090a84e44d7548be6796bcef0984d8ec92a3190116f1885645d46854adcb7cdb76e4d4cdbbda4ff93aa736a0ffb391ff91f71d07ab2b3d52d79cd863f97e2e8d54b9ca1683e4b83d7ef97d6c060983a56db5cb6a263f950d1cf4a6fd4e55d3bcfeee8ddb2811140a649eee0b5e90c1c3d784b9f685f712694ba915ee6cc9f9947e178904912d9d45b54e3f096da434e87e07071c4a634d14f719a849eb8fa44829a44130e7c7fed57c9b87f75d7349b6efb41fdb71a85866f1e5171ac7cb866d0222df846b4b3d3ac283e7e49e652efd6a78b480ccb8eef16f71e907498797f368deec5b689564c46c73a0a513632293ef39c94e3a92490b9ea03e14880bb99fe77aacea9d9dd280fc5448a4733f98d8c0ac1802e4a18a2798ee8a3db1f552d8bd727307ec827a13e42fb676972096193f86a8255ca329388e2ba778d595f787b037c13e623adc1f3b1d919c02f924b45d6b5b1301a93100d9a5158b51306f6b65256f41c42027af92740fbf4479dafc20f19424cc78351e243d5009c0d90d6cb25a1cab1f01be943a592d1bda501bbdb623af9ed8c543d26847ef1240774d8beb7c416565c532f1c160d8d1c5376464a3f998dc835c2ab92602ca46bbd8a80858c1a7da87451f70b65180a5e553a935f26f2525f2088b7554397ac66374fdf293655d178c3d691e14804ca12cfd9b128fcf645c2945d1ee9eedddcceb9c39dba6af30b83fc9b7979d25c99e93bdca105078a2c154c2f56cef09e803adc8ec5e5c482613577abf3f51221dd49325414505b3099591a71600141746d67c3d6e11f12416d2088adc93e47c6e79ef7dac8862e54b996eaa935f3525de389177c2e0f311dc6c719a3171603f82dbaebe0e9a92c8e145d2796c7aa654e2c82b5b08bb6b572e07fe7d8b7ca8c6e98421c5e54f28e7ad2f7a3a8321d7d8c30193b12c8dba0710c35b38c0aaedea6d6cfcf7063ef09d00f1a2b2ec87e89e4501f7f8bbc86069eb7f03517ad8d0d4a95bcf618cff3eee1175a08f7bad0a2cec32f6f0b712424990cee608a265aaf53ca4a93c7db8ad067934ad42810c5b759287b200a9622933ccd6113f7157a210c84d381abc679a7367998a853be67cc4cfcddf8d3f7cd6df45fd07cb324b85de7a98b8e9de65180f944f3bf4de604fb52aca8792a3f07c3a1dbd20a9a1a92a7613e3c1fbe6cf53799eb88cd9629702eb817e26fbaa0b89be28d32be08c30eb22b1e2cf3751b159bcb998d21299d07893c76a2d8da0fb46da12cdc499e50c2125c2c968f82fd +ss = 361fbfc0e2318094ceb045b5270f0e8d1e5b05e68bf73f38d924d5e60cb5f383 d = c121915bfef6abdfc177dae2f5a24218f9abda2559afc6741b08e0e61ab433eb -z = 84ef52db5eaa6df8ec3a0bc5ffa730db0dde8c5f38f266d5c680a78d264a7b96 +z = 729b5a50627688a4cb3e37cc0fef22162ddbd848e5aa641731f8e60b4b79c93f pk = 202275f93924ffe79141ea0abf85a4c970c45e0acfb20c426cf545caeb594907a23be6cdcd38486ef2cc1234054fa47c50c629657c91e71103c029539e632089461effb67a0f8cbe74b91793ab033bd89a2a0a68ef390ac90669aec42530c785ec3a0dab424c8184bb051780b4e80838539c81a5097d42cb854cbf324a26f3cc65024a6404cc2a335378fd10adc8e10cb99c323ddc55e70b32a06cbfab829e53aa059163c46339b7fa1090244a358dc647d4b1783b59383a0988ace605ad979f655038aa422981ababaa0c2f28899a352572f4f6515d62649cf88591ab7da91ca2c0e44aefd16ed3f174cbd0bedb7736363c609eba4655b2a31ba20f05e412282b28e15125eb212596e0c54181028cec9b106849ac366f62e8c1c5ec9502f01ecfc1749fa3bd7b251b2a09c731c468dc2988f69649fa9b46e9d244df903ac9004f09cb1dbcc9c69b33ab9e928fd2072cfed1186f9799ee3c2ccc2b68a3d662c7fb4438240d6e0b70ce98478e6c28294047400b9088eb4aae3a5a076979af8ab4234164b0846a9904ade949742d7402c8516ccbfb1d30581a288c9d1c69360a2b06b21541382ac9b4101b96d4952e89725258cf7fd33ac4f522d12b6f65b884f33a0a4d1b0e41d660d0861beca59164f8760d3274d6643ef7d13043d63a4cec67961c808cd64b9728872f74412b8867a2e25cc58174653b2a1a0ac0a24316f4c14281a0a739bab2de26ba73c4921c50b909d188e8b3c4db1274491c792028515930ad45e667c9e6870d204554556bfff44d09f95fe9dcb7370320bc6740f3053ec5b7396db400ac671b01f33dbae59838741b59e4c7f076a92ce92c5213adadc47c8f50bcd4756de7642799d5477967339e01455e6898d2194a7aa724338946b7db70608c0337e305ac876f3d87c6ad857162e491e469bf62c26285f9b817858b149358cb67248a298cb21771f1504f4997965ea38036d274ad72849164262fb58f46cc96ffd75f23b4a0c990a9d59160e4365b07909f7874a22ef1362035312f43b6272bc47eec6ce9c0b4418b60c5022502485bd92730ee75a9bb4a8c81a03ad4b292f14746fe686c5588b842646b59a38f6fbcae85f3491c38abf066cee2f4a285e961395bbe274c268a11afd003beabb50d12b8550eb3008ddbca593c7bbdf6768fb561ac452d32c77d74352310e4322ee53b9ba879d511368b445df20aa17a7ac8f205a302f75f3c679557f2a37de221cde6c8f7248e73ec25de603afbc5baf1b076dc3b304550c198b6b49159c12490bd964b661e6ac0eeb2b09a78941675a2132527d0016d89ea6b3cec5d19f1818e4501134947a547957a195807774a8c40a9c50833790aba5628c2eec2148dd0430294b331235d4246770c293046a237f03487993043573a71f250090aeb01dcecae4b878633c59b5403abb02151d8048dad408473d63cdd018d3d295a46ab556c8aca53495683976b2186c6c818b852005d20964cdbcb6061a50910b9c429ba9f10a06f4e053c9e1c4cbeaac35949c8f23c3e890234ca990b2bc890d43c2a4051aa058a402b7caf4a3925f52c95c6b6c7d26b4e3d43b21d7b0fff3b37e5d33e391b5e617785f52128c581969e094d82d062a8631a76b093703626d8708c5f310abc1951ee8984bf858a7b582038a6a624f5921257764890b73cc9af94e5aa82d831f341486aac17cf29ac351483f7f26c80111f6715634ab69ca71a6893b13bbf50cf58c16b29d6b7c9b58fb3c0b9295a6320210f1db8193bb8a57889a28ce3b196f32cef048a4d60466e3857c07847e3883c1b7bab89224c94fabb3fdb921ee3c7fb716ae8c520d547b1ac49cbad256ef43015fbd722b8b31d6db24937338e6614402d9272ed014710fc5b0a7105e6659de2513101b22c81dba972fabbf23756b5d524d41a15b6d682a1894e8439b6946c64d10732ac603992353f03e61c1a136011b52c624b0943a3464ee92b8a7b970ab5ba9713205e4a22b6a12e063c35e8c65470b32f9e29255d9847de80cae1091fa536213078bba0181fa33bad7f3003d2065b8d997a7207b595994e816a1979ac5174137ead82bd88295f2cbc77e01c0fc9119ffcf25d8f2044a16aca9ca052bf917746109320dc076e1895399741ee690702b477a2d07242e03dab4664cfb4a4aa443f32d16b72616a0db4d3849fc41a7a6ba87f4af757a0ab1956518f -sk = 67a93bb27acd00c9b95aa03552809c38a08480dbaa67a9584a460345e20e5f381c9a82710ef1709ca51393f916345719bd3144b3121a8608c0a48017963387f7a31c5febc6b6749e6bd9be3c58a9a77b53d7762f5854a3467a85941ca2c03873c0458b940275e5ab85b83a5c2027894b92246dd8632d68a310fbc6d214381128528b375fbb8c3c7923ac6a8c7f9e37c2ea4c6b72e3451922761ac274b5cc8569ccb93917a748e93c190320e3f1381e08cccca70903975ae25689c12709c8e9096b16a26e4439c2552a088194368b36efe3871a6a1cd54ca0c70974ac936e45dca01de296a14c7d20652999e61841dcba6c0171fcb406e14a95b0c02517447bb9370996176bfdc5beb4316c0ed34a13431e34ab27d9dccd3ddaa49d314659bb8d89325099d0b06931796ce65c0628c817393bb1870f19a10cfe3546d8bbc2509058327626f490a1bbca6fbb653ee1c3555203353509ab14b64cf8a29c32b17096805b8d751848dc4494279266f2cc474228b2b703cff81f0f29152f4570151517995262d705afffc08dd413c12f37b605bc32ecc1292b9ac99e4a34f911c8db990ecc9a3dfb37517446908b91b1172a3d4f547b3aa642709ba40c3939734545ddb6b45c66a1a3e58c6d1929e5721bfc6a6021a635d86c8378d4a0ba68ce385b6b7fb983ec4a95c8b20b3ec750b082bf2cec89a6f8c2881650e5b71a0135c865bb3fb12a4c2c3c917d655a2997984c8557ecf1943436a9fecc5c84808e38701cc26a251f458334f59bd40bb0d8f82e74071a5ae3c9439541aee59c6e46a5852834ce5712b3665018154c5339467d606af189ccf20c68c583c96d969815109cd3ecad4f5ab0a8bb8a7b68359b0319078a7405821c2709a615864422ba0a3970c8ea138ffc1522b1a53ed1c71d396a0ed6b782c6552c70216679bb4761a600634276d553cd703897c6943a859112caf9a7ac99517c23ce6457aa069b6fd2775efb262dbc27b02fe6923d14b047a25cdc6b86d20a55d85108ff276f121a352e098e5d4cc3ef92b3a1c4a38244621b055d5f812189f6941b492330fb1ab0a442a656655455b38b522ded5640cc4136df6cbf4c4b0651531cd8c95280e2af13fc57c977bbd1a8bdd253096ea98c3ab33a516448a8301a4b141ae213bad2f640b2d5846c99a25884360f604333197816ba9dd1d0c427c5b8d3a6b434207b8539ce5092ccda67a755d6a6d7e8bb6bb02af1ca7283e797f24a1042d29b64262f29b0482b840bd70a3d6d54205df412dd6490e3dc38c1236758f65e461b11ca480b476875c692508e7bb90c430797e1917041642d88506c07255aa92ea32508462c2f4a1661c05114c9361f651b7c5ff70b42659ffee71f58cb79e445536b8948142cb4ec16cfe5b21da659c2dce452346323f1632c37f128a6525f40e03d6c073e05476252b2b0483c4b87c1c1fd8c972cf651eb9684fafba3f862c8619c089f01277c14be7cf7790712ca1e8877a48909efa31d814c1c21f4a151b886076840546419a1c8b6ca4466389a3f6dbb69e8494d7b25a4e9b234a8d928a26b946ff305b8a33b0bf8b3eb992d68c312b4074788e69d1a5a211c3b55f8c654ae778fbada1d75fb23966a42c4f189d861760f7a5f30f358dfdc482014c25845706577763ba60ea00a378daa1b0cd1c15c5c04bf847babd0ccda7c61b0a956229bc992029dab7b05923c5deecc595d766c0040946a229259c75e9985bc0519218df44dad36abf20c2baa92c3c34cb911d77c0e7603e8639fd2870ce0f6bdecd193c8c261c53a9ec8d4767303480529ae2cd23561c9215476c617453274881092443076e731a459cf603a7cfe81804fd1c8293baec711a694f98f59d01cdf79827e777b9e452f0a388a7e7cb83ba37676d2b70afb02c7cc0fd2a05411f41732233bffd8917d9726657c68c4e34f1983b6007b43ceb87a6fa033b3c674a090999cc94a4f2889a8b71e5228c1f92c16db841099c57a73005f81a5cfc97a3a1bb6092ad60eae139d9bb174c9591ae20c5db48390c46bb456e49e124559dbb230cb6b5118078c8baac9e959277aa55b521a351bf34f9bf7b18dbb4120ebb60c914d84a80123f338035520620783824c676175cea40a812d896839993c4ce211118855e5349e84c8604d1c85202275f93924ffe79141ea0abf85a4c970c45e0acfb20c426cf545caeb594907a23be6cdcd38486ef2cc1234054fa47c50c629657c91e71103c029539e632089461effb67a0f8cbe74b91793ab033bd89a2a0a68ef390ac90669aec42530c785ec3a0dab424c8184bb051780b4e80838539c81a5097d42cb854cbf324a26f3cc65024a6404cc2a335378fd10adc8e10cb99c323ddc55e70b32a06cbfab829e53aa059163c46339b7fa1090244a358dc647d4b1783b59383a0988ace605ad979f655038aa422981ababaa0c2f28899a352572f4f6515d62649cf88591ab7da91ca2c0e44aefd16ed3f174cbd0bedb7736363c609eba4655b2a31ba20f05e412282b28e15125eb212596e0c54181028cec9b106849ac366f62e8c1c5ec9502f01ecfc1749fa3bd7b251b2a09c731c468dc2988f69649fa9b46e9d244df903ac9004f09cb1dbcc9c69b33ab9e928fd2072cfed1186f9799ee3c2ccc2b68a3d662c7fb4438240d6e0b70ce98478e6c28294047400b9088eb4aae3a5a076979af8ab4234164b0846a9904ade949742d7402c8516ccbfb1d30581a288c9d1c69360a2b06b21541382ac9b4101b96d4952e89725258cf7fd33ac4f522d12b6f65b884f33a0a4d1b0e41d660d0861beca59164f8760d3274d6643ef7d13043d63a4cec67961c808cd64b9728872f74412b8867a2e25cc58174653b2a1a0ac0a24316f4c14281a0a739bab2de26ba73c4921c50b909d188e8b3c4db1274491c792028515930ad45e667c9e6870d204554556bfff44d09f95fe9dcb7370320bc6740f3053ec5b7396db400ac671b01f33dbae59838741b59e4c7f076a92ce92c5213adadc47c8f50bcd4756de7642799d5477967339e01455e6898d2194a7aa724338946b7db70608c0337e305ac876f3d87c6ad857162e491e469bf62c26285f9b817858b149358cb67248a298cb21771f1504f4997965ea38036d274ad72849164262fb58f46cc96ffd75f23b4a0c990a9d59160e4365b07909f7874a22ef1362035312f43b6272bc47eec6ce9c0b4418b60c5022502485bd92730ee75a9bb4a8c81a03ad4b292f14746fe686c5588b842646b59a38f6fbcae85f3491c38abf066cee2f4a285e961395bbe274c268a11afd003beabb50d12b8550eb3008ddbca593c7bbdf6768fb561ac452d32c77d74352310e4322ee53b9ba879d511368b445df20aa17a7ac8f205a302f75f3c679557f2a37de221cde6c8f7248e73ec25de603afbc5baf1b076dc3b304550c198b6b49159c12490bd964b661e6ac0eeb2b09a78941675a2132527d0016d89ea6b3cec5d19f1818e4501134947a547957a195807774a8c40a9c50833790aba5628c2eec2148dd0430294b331235d4246770c293046a237f03487993043573a71f250090aeb01dcecae4b878633c59b5403abb02151d8048dad408473d63cdd018d3d295a46ab556c8aca53495683976b2186c6c818b852005d20964cdbcb6061a50910b9c429ba9f10a06f4e053c9e1c4cbeaac35949c8f23c3e890234ca990b2bc890d43c2a4051aa058a402b7caf4a3925f52c95c6b6c7d26b4e3d43b21d7b0fff3b37e5d33e391b5e617785f52128c581969e094d82d062a8631a76b093703626d8708c5f310abc1951ee8984bf858a7b582038a6a624f5921257764890b73cc9af94e5aa82d831f341486aac17cf29ac351483f7f26c80111f6715634ab69ca71a6893b13bbf50cf58c16b29d6b7c9b58fb3c0b9295a6320210f1db8193bb8a57889a28ce3b196f32cef048a4d60466e3857c07847e3883c1b7bab89224c94fabb3fdb921ee3c7fb716ae8c520d547b1ac49cbad256ef43015fbd722b8b31d6db24937338e6614402d9272ed014710fc5b0a7105e6659de2513101b22c81dba972fabbf23756b5d524d41a15b6d682a1894e8439b6946c64d10732ac603992353f03e61c1a136011b52c624b0943a3464ee92b8a7b970ab5ba9713205e4a22b6a12e063c35e8c65470b32f9e29255d9847de80cae1091fa536213078bba0181fa33bad7f3003d2065b8d997a7207b595994e816a1979ac5174137ead82bd88295f2cbc77e01c0fc9119ffcf25d8f2044a16aca9ca052bf917746109320dc076e1895399741ee690702b477a2d07242e03dab4664cfb4a4aa443f32d16b72616a0db4d3849fc41a7a6ba87f4af757a0ab1956518ff0d1acd4fe1bd3bad938c23ec5a7f320766e01005e32769724abb4ebac578def84ef52db5eaa6df8ec3a0bc5ffa730db0dde8c5f38f266d5c680a78d264a7b96 -m = 90d79d75d0bbb8921cf70d46bab497022a8e750efdc99e5f1bae653275441c7b -ct = dad6ef677adca5abc799cfee3e6ca856088daff00315a74ff49f4ed178747eee20c3848ebd826ffc2c33127c4185671aa12575815c7ffdc3fa02f3d46d79d5bcc9cd3ba6ff353c3b9f35fc9e24fe696a1ce1593868269fb7735cce4f2d8c5899e524840e4b7c4aa6c394cc3fa01f75c3ac434eea53092929bcbcf71fa70e1897e3c84ed0e063d350cf8ed1bf12448a3a68a7301087a975eeee036f9393b5b6eac1005bd1e0447c0eb4f8d90e84aedbe1f2b4cf0017159706ee7c0a874947faf8fe63e54dd7d29f3e88ed2b0d17d114bcfab9654490f9cd0ca47e811d1ff278ec7fb5a06a42578c6cbb94c064a1acf7ef7d8d65645d2a0d2be6d24435d5126b1298187f6a120c87da201af576f930b17acbab5b43e38475c3007714e947214c6317d11b03716bc9712208ae0b5556ad90ccee30d1b7c1939412199fbdba8260192040f521ea45ac17a667259ba99002f31969ac0aa2cfdebfd860a407994c49dc62a151e445258112b9b3ab7b74a55eefbe38b140dd48e23fe5bebd539356ea4e60d165bbcd85f72ea11775f3e55b65a62dc994a65f7f9fc280d074cba2b62bb9b510d5da9d76be65e6f24b2502cdee532e40530fd8608a4f300f6ee941c400d32d9d33ce010d49467edb303b2104fdb980f49b723669b6335c450a9171e4d33ed7f7cbaac63f05c9bc99725a7db75d5364381b2b7e75fc04260700a920a6536ad402d325efc5823b83efc38721ef15173526b0a254f3033d477fc4fc34d54f62fa9373cf59ae159daa0d6fcffd3e5617bd35633481286d3558dbc18815cfc2d11f3731fe3a1fa663eb07f0f4b770496b8c18983ef3ae257922f5ef4f818d50d4a19186a56d6c3d9e38b0650f42f99fa2eecdc26ff802e48c1adfacfc68d04c968710a9883361a448501b95b0a969f1aa5af0c82519663493a0a83c35c4164a5b00dd2514a902c518545addbbe5c1a6802ad43b60f90fed4e80c1bcd2508caa54483d388c8e903714c51d7ecb04141abe8874744132b8a1cdd4b56b14f7b82674b6afa38312ea03e1e40048f389bc413246dd975cea908783a3c7860a2d348386a023cb2ac25c566bc197a1469b6924bc64c5f1322b327ea1d82649c4cbf1f1a4a390c2453474aecbb3721db6917299723be5e05b2fc5e83da8629d227d4d7a138161a1d805b4f53f186d56594d504ade17c4bf1eb606d7eeda77ca0b07c5e17c8c90c2531333de541b9120e8b44496db27cbca5e71b4e7a81fc8755ad9b419060b4fc1bd3cf656d43712c5d4d7eab5a2783b4ad43a1cbb5c1fe309802d8be981de66c673193668079a6ed032d04cf2507a92c3765d121a0a023eaad283c8d37852dc52547090bd1f861a369a0680e2b558bb6f2edfbaad0d374074c7f2666042f4dfd590ce0046b066016f1cd5ab068393131a8cbdc05232ca933e0f6a743270838e11c6ff80588a202849a80581483175c44cfbb98a2accf31ee53fe0e9a8adf343ca40192f00b99ac486b33fce73b0ef394b67494ba068a47fa4efa14945a42cfb2cd55e86eff684948b8ddd496c92e01588789cda53807625c9c5272888c176fd1aed28244f7d7c4464b5a0aaa46652c50bcb150e7552b7e27d4ed83b5d083b8f013b2bd09d401c8a5f789cd2206d9a6021447dee806a4a525d20501350041ae7abbb0de24e84a598db3df785cd963f48d5cba27220cbe44bdbda990df7a7bc1cacaa56431a2bb86bd6654eb9378b037b0d0cad6e179c2159801e216253dd70ef58572aeb05412a435f7daef4ebf559ff9c7832d1b9cae966d2dcfeccfde7d04f7065ed0b0f485dfa5d2a69465112631060cb7cba391818f818cebfcb5ec38c202ff20b6c36844fe0872349fd016bb45d37012dde17e565849d5e058c61e1a56b43f61b43be843ac16aed9e1ea5b377539ed1f39e16ccd1b4682d4ab2216bc9dc7427bdad50cfa32dfc27604b589f7eef059c084753039675fc85cc69283d5137c230e748dfeb18ab9e2bb3fd4be32ca59a642e74f23b9320ad3a13e3dc00b87b0ed80deb0eb31a21fdf45eda23df48aec44d544bce53683a45a67109377a147feab60c5ebe4f74c40bd91241d4194e54f9afea13acf540754d42b98e54041e7516df2f9aa04f358240f9dfe036a0476a3070f1a4eb9ac05d236dcea7c719dafc1579573bbf02dfefeb575c8a5b6bd855dce5d245f7aecec5eb66560512b1 -ss = 3085c3ad1416cc4ca4776b4f30ceeb60f3d1bb0695123fffb976a41ea9395d8e +sk = 67a93bb27acd00c9b95aa03552809c38a08480dbaa67a9584a460345e20e5f381c9a82710ef1709ca51393f916345719bd3144b3121a8608c0a48017963387f7a31c5febc6b6749e6bd9be3c58a9a77b53d7762f5854a3467a85941ca2c03873c0458b940275e5ab85b83a5c2027894b92246dd8632d68a310fbc6d214381128528b375fbb8c3c7923ac6a8c7f9e37c2ea4c6b72e3451922761ac274b5cc8569ccb93917a748e93c190320e3f1381e08cccca70903975ae25689c12709c8e9096b16a26e4439c2552a088194368b36efe3871a6a1cd54ca0c70974ac936e45dca01de296a14c7d20652999e61841dcba6c0171fcb406e14a95b0c02517447bb9370996176bfdc5beb4316c0ed34a13431e34ab27d9dccd3ddaa49d314659bb8d89325099d0b06931796ce65c0628c817393bb1870f19a10cfe3546d8bbc2509058327626f490a1bbca6fbb653ee1c3555203353509ab14b64cf8a29c32b17096805b8d751848dc4494279266f2cc474228b2b703cff81f0f29152f4570151517995262d705afffc08dd413c12f37b605bc32ecc1292b9ac99e4a34f911c8db990ecc9a3dfb37517446908b91b1172a3d4f547b3aa642709ba40c3939734545ddb6b45c66a1a3e58c6d1929e5721bfc6a6021a635d86c8378d4a0ba68ce385b6b7fb983ec4a95c8b20b3ec750b082bf2cec89a6f8c2881650e5b71a0135c865bb3fb12a4c2c3c917d655a2997984c8557ecf1943436a9fecc5c84808e38701cc26a251f458334f59bd40bb0d8f82e74071a5ae3c9439541aee59c6e46a5852834ce5712b3665018154c5339467d606af189ccf20c68c583c96d969815109cd3ecad4f5ab0a8bb8a7b68359b0319078a7405821c2709a615864422ba0a3970c8ea138ffc1522b1a53ed1c71d396a0ed6b782c6552c70216679bb4761a600634276d553cd703897c6943a859112caf9a7ac99517c23ce6457aa069b6fd2775efb262dbc27b02fe6923d14b047a25cdc6b86d20a55d85108ff276f121a352e098e5d4cc3ef92b3a1c4a38244621b055d5f812189f6941b492330fb1ab0a442a656655455b38b522ded5640cc4136df6cbf4c4b0651531cd8c95280e2af13fc57c977bbd1a8bdd253096ea98c3ab33a516448a8301a4b141ae213bad2f640b2d5846c99a25884360f604333197816ba9dd1d0c427c5b8d3a6b434207b8539ce5092ccda67a755d6a6d7e8bb6bb02af1ca7283e797f24a1042d29b64262f29b0482b840bd70a3d6d54205df412dd6490e3dc38c1236758f65e461b11ca480b476875c692508e7bb90c430797e1917041642d88506c07255aa92ea32508462c2f4a1661c05114c9361f651b7c5ff70b42659ffee71f58cb79e445536b8948142cb4ec16cfe5b21da659c2dce452346323f1632c37f128a6525f40e03d6c073e05476252b2b0483c4b87c1c1fd8c972cf651eb9684fafba3f862c8619c089f01277c14be7cf7790712ca1e8877a48909efa31d814c1c21f4a151b886076840546419a1c8b6ca4466389a3f6dbb69e8494d7b25a4e9b234a8d928a26b946ff305b8a33b0bf8b3eb992d68c312b4074788e69d1a5a211c3b55f8c654ae778fbada1d75fb23966a42c4f189d861760f7a5f30f358dfdc482014c25845706577763ba60ea00a378daa1b0cd1c15c5c04bf847babd0ccda7c61b0a956229bc992029dab7b05923c5deecc595d766c0040946a229259c75e9985bc0519218df44dad36abf20c2baa92c3c34cb911d77c0e7603e8639fd2870ce0f6bdecd193c8c261c53a9ec8d4767303480529ae2cd23561c9215476c617453274881092443076e731a459cf603a7cfe81804fd1c8293baec711a694f98f59d01cdf79827e777b9e452f0a388a7e7cb83ba37676d2b70afb02c7cc0fd2a05411f41732233bffd8917d9726657c68c4e34f1983b6007b43ceb87a6fa033b3c674a090999cc94a4f2889a8b71e5228c1f92c16db841099c57a73005f81a5cfc97a3a1bb6092ad60eae139d9bb174c9591ae20c5db48390c46bb456e49e124559dbb230cb6b5118078c8baac9e959277aa55b521a351bf34f9bf7b18dbb4120ebb60c914d84a80123f338035520620783824c676175cea40a812d896839993c4ce211118855e5349e84c8604d1c85202275f93924ffe79141ea0abf85a4c970c45e0acfb20c426cf545caeb594907a23be6cdcd38486ef2cc1234054fa47c50c629657c91e71103c029539e632089461effb67a0f8cbe74b91793ab033bd89a2a0a68ef390ac90669aec42530c785ec3a0dab424c8184bb051780b4e80838539c81a5097d42cb854cbf324a26f3cc65024a6404cc2a335378fd10adc8e10cb99c323ddc55e70b32a06cbfab829e53aa059163c46339b7fa1090244a358dc647d4b1783b59383a0988ace605ad979f655038aa422981ababaa0c2f28899a352572f4f6515d62649cf88591ab7da91ca2c0e44aefd16ed3f174cbd0bedb7736363c609eba4655b2a31ba20f05e412282b28e15125eb212596e0c54181028cec9b106849ac366f62e8c1c5ec9502f01ecfc1749fa3bd7b251b2a09c731c468dc2988f69649fa9b46e9d244df903ac9004f09cb1dbcc9c69b33ab9e928fd2072cfed1186f9799ee3c2ccc2b68a3d662c7fb4438240d6e0b70ce98478e6c28294047400b9088eb4aae3a5a076979af8ab4234164b0846a9904ade949742d7402c8516ccbfb1d30581a288c9d1c69360a2b06b21541382ac9b4101b96d4952e89725258cf7fd33ac4f522d12b6f65b884f33a0a4d1b0e41d660d0861beca59164f8760d3274d6643ef7d13043d63a4cec67961c808cd64b9728872f74412b8867a2e25cc58174653b2a1a0ac0a24316f4c14281a0a739bab2de26ba73c4921c50b909d188e8b3c4db1274491c792028515930ad45e667c9e6870d204554556bfff44d09f95fe9dcb7370320bc6740f3053ec5b7396db400ac671b01f33dbae59838741b59e4c7f076a92ce92c5213adadc47c8f50bcd4756de7642799d5477967339e01455e6898d2194a7aa724338946b7db70608c0337e305ac876f3d87c6ad857162e491e469bf62c26285f9b817858b149358cb67248a298cb21771f1504f4997965ea38036d274ad72849164262fb58f46cc96ffd75f23b4a0c990a9d59160e4365b07909f7874a22ef1362035312f43b6272bc47eec6ce9c0b4418b60c5022502485bd92730ee75a9bb4a8c81a03ad4b292f14746fe686c5588b842646b59a38f6fbcae85f3491c38abf066cee2f4a285e961395bbe274c268a11afd003beabb50d12b8550eb3008ddbca593c7bbdf6768fb561ac452d32c77d74352310e4322ee53b9ba879d511368b445df20aa17a7ac8f205a302f75f3c679557f2a37de221cde6c8f7248e73ec25de603afbc5baf1b076dc3b304550c198b6b49159c12490bd964b661e6ac0eeb2b09a78941675a2132527d0016d89ea6b3cec5d19f1818e4501134947a547957a195807774a8c40a9c50833790aba5628c2eec2148dd0430294b331235d4246770c293046a237f03487993043573a71f250090aeb01dcecae4b878633c59b5403abb02151d8048dad408473d63cdd018d3d295a46ab556c8aca53495683976b2186c6c818b852005d20964cdbcb6061a50910b9c429ba9f10a06f4e053c9e1c4cbeaac35949c8f23c3e890234ca990b2bc890d43c2a4051aa058a402b7caf4a3925f52c95c6b6c7d26b4e3d43b21d7b0fff3b37e5d33e391b5e617785f52128c581969e094d82d062a8631a76b093703626d8708c5f310abc1951ee8984bf858a7b582038a6a624f5921257764890b73cc9af94e5aa82d831f341486aac17cf29ac351483f7f26c80111f6715634ab69ca71a6893b13bbf50cf58c16b29d6b7c9b58fb3c0b9295a6320210f1db8193bb8a57889a28ce3b196f32cef048a4d60466e3857c07847e3883c1b7bab89224c94fabb3fdb921ee3c7fb716ae8c520d547b1ac49cbad256ef43015fbd722b8b31d6db24937338e6614402d9272ed014710fc5b0a7105e6659de2513101b22c81dba972fabbf23756b5d524d41a15b6d682a1894e8439b6946c64d10732ac603992353f03e61c1a136011b52c624b0943a3464ee92b8a7b970ab5ba9713205e4a22b6a12e063c35e8c65470b32f9e29255d9847de80cae1091fa536213078bba0181fa33bad7f3003d2065b8d997a7207b595994e816a1979ac5174137ead82bd88295f2cbc77e01c0fc9119ffcf25d8f2044a16aca9ca052bf917746109320dc076e1895399741ee690702b477a2d07242e03dab4664cfb4a4aa443f32d16b72616a0db4d3849fc41a7a6ba87f4af757a0ab1956518ff0d1acd4fe1bd3bad938c23ec5a7f320766e01005e32769724abb4ebac578def729b5a50627688a4cb3e37cc0fef22162ddbd848e5aa641731f8e60b4b79c93f +m = 187361c0147168efc571fc7c181bb39144a8f7ea3e878d28024d19ba42135bd8 +ct = dd5cad769cdd193a65b6a5f96448c8745ca3f06e7478bfe6f0cf4c987ce5e77a233916a450ec7e77efd13c3e076286e30f53bd9d7a77ae77981a36112aaff8a542c4bce00d94ddfb7e06970952c99486f44a74a92f8cbbd0113030099c1aa594136774c4b1a71e63718bf4a4129cbf66612eba54e0fe810da23e30eb89aaf8032ef6161e03fe44050bebca0f1359d8783801bb90eb5fcdbddfb25603531b9f9d13137fe96ddaf3b3361fd41b1930ddf0a8349975af652a07853da910b4c26197093878da3a015c2b30f6556c20c50d122c81c51736d23e4bfe04bb5f4939d5bd0f83a0262d3f06ff94be021b77d4c023ecddff8906dbd9b225813a1fd16a9f6e4af9604dd20384133cef9328743c09bba63b0d9b622fcfb788ed889cdd9eec9b8ddf71d7955a68b572d7ae05c91ddfba99c9645bc2c3590b7178290aec8a78499f115ee970d35db6531de304d9219b41e085a6437e89c0ca2cfa44874784a510954039cac353d357c801463045d3a5aece6c3f5c3e852f3128c8784c8e68ba187e4cd2a6bc17ba1b2709560252ea808d931d79bc0980b10d1cd542b1c46b825548132f3e0dd8620fe5985bba90ecc59fd1b1a64c93b23f0eea2e9efcb867af668eb67f9d354aa621f66b8789a6754657c72756560043fabb50c77bcf6cc45de536251f424e6c91308d47a6bb088bd9e2f83b1209bfe5387901a66090154fd390215658d6cbc666611c355ca86563780e482b4621af4ea48d3de44b0a8965ecd64026febe93e5d17fc953e15ee362ceb237a7f8e5b89d05b25e339cc2750ef390411b5c5e581080dafdf4674b2b371e5eba9d69dbb655ad79e20641e8cb97ef3b0ff8d70981873a7939940518f1572789a5779e9a8aedcc817a2ad5654d4885e4c7d61cdfa4c7479eb73d2f52638205670bf5b110cb84ecfe722fb8de157098d5a3ba432fdd10dda98ca34300b0589c71db242e8b184cd24a4e67c47ede8f5004654a3afc475764150f3848990a363e1c04358e480b4db0b5aed5c95192546afd1a2b98b44696b06c840b006857d196e94fe0944a9d62d3be3f7d4c01ca1db37379cb1f97c2413f680e58dbf8e4fbb95ae827824f443a3e69402e3b3903dd1496f8737bd865d9bfbc5678968eb41f4664389d2135946b3d5dd5f7bb970133408d4a495640c4aed4e955724d863c7c7dd0c98f35bbf52b84d413fc50a6f271f2487e98d5be57a15355e5648564abf7b54b801ca899aff040ed9fcdda18752e3bdaa2aaf3836228bad584591be783c44e31c4165c289863c7a7bf610e5f682c4f6a9e6cbbf3ff217391d415116505fb51c87b5d6cc3f663ce4ddf0d8fe5297352cf52d497002c86dee0d05ce18e80fb96bc0b542fdd641a60e2727cddf7bf8ead71e96d7ed967280bc308dbb65ec823ff8b4787050082b95a3a59f48eb9f6f4211ea87aea7d0d70c944d46835c97bce61cfe77f444272b114be785a72203d190e435a8c30748a1950f5addeba42167d0b080ba0330c0eb1613bb472d41674d26acd6007121fb3b3203540551d6d21e0c47d16177b30817ec76856edc4ba1614cfef11fa4fe719e90e01729d125afeff91a2b77f0e4f44b409c609f79b3c2cd4565f81f45eb009c74e71f0400b636ad72a4178b459f136183114c63b1ea3810a9596cc86a910ef32e559e76cfbab86a289626e8cfb74f0ae1365b5deaa5b7912c68c4dd07718bda8245733b554b45037b791829d97280627ca7c0bcc53ba05127e9199cc6171d9d7c275eb272d2d843e67ffa4054de2082174b6f931b352c52035bfb37effec3b78824ab2b8a7e099d9514b1fd73674bc6a85f306c408b83783420eb68e05e46534c2ad4d55b0cc5fcf0b2b029d44f54ea62a224de439744367b219434f8d4c35700b2805ecf8dd71d14a5c539ac8b13ce0172fc06377c8a45f57661514f9e8ec381ec49f5ce495ffa2a5b1dd1b6edd60bdfa95f20168c02dab96654e2bb5b07dabe011f8e07449b683201b02af39a2ad7714c5c019f62d13e875b5450b2c9677d97ec36a5400e3d5a856a09b87d17b5ced72523f40b47fba1be4dd2da88467d4cb3b0b9e613dfda10484bcb17c151dbdd7265f87cb1ff6ebdea91d3e557f40dca90ce171d890d175ad4c4440e1f7ae2197322761caadb347b977290d18fd6228bc5a1e6ffe19eb49b1f280b3a5ded2d88a1eaac3a28e64ff1bb26b +ss = a3f4f9e5c9370163ef03945fc448770a2fe7106772d742131b9e264114e0ba16 d = d86634ecf96cc2603761e284c0e36734cedec64e7ff486469e38539c71141c5a -z = 99daf37400cfe59841afc412ec97f2929dc84a6f3c36f378ee84ce3e46cd1209 +z = 0472c3d61e4cae91b22d2f5a316794c723fbcf7546db47a42a15f1450ca3282d pk = d5ba702b276804716279e61c4b3a599005270578414141c09d070d9302cbb10aac8b8483f11b1044cb83efb8315ff38feccb09d1775e1e29c59b1759d894ccafbc147b228debb52e83d2584552bd15b9b18f02ba12c6669ef94190126f6fe364d106a9d4762522f25a0298cb5e40cd6b89045f275456e8bc32e2c11835b31e6aa628e50e28a9a18226c73343479d0ac61e5a81c6a38c0506477e58001b6890155c3a71f21e1df151660c376cc61d90d93331801b31dba89b6853c2630d33578551399164db647665ad52f912831a956b8ab283f91c10209b0b055ba765cc75587df545b670ea13c6b917393666bd6a9e07a21ac46cbf3b5cc5a079488f97902583bf61f5a7074babaabc837b02600c03c9f8f1481414a241766df430a6dec7936db2374eba1dddcaa58c8a2984094c57349a78102a48e48c450ca7135a057eb2858a6176e67316ad21122c44643fd42cded7caa55a628a503366077058b286aea157e540c598822c3736aaba5298a41765fb949190977456e1b5c1810db1301342104b9526a82459a0f78b9a7e74808a49243a0902d8c6485f887ce62697a72474a1fab0d1342d5ab7a8d9ea38d3b129661c2ceac177d63a59d5b62be8a11379a51055b36ef78817b677ac30f05bd38c700cda17d52b02e8b19f09354ae074b4365ab379667744363b9d4ba17c061ef955631f1ca916a74cddf05160b82994c49688d71612676bb0d95f6fc58d92970fb71c3c2a250b4161b32b3405abd605d0a94ae017bb28801ea54588bbf0b9caa8cb5920bb02730454085871469cbccbbb26911d934680afda6ede5b29b0e4a0f9b15d13392647ec9ab1922943c88dca974af1c95d01866e906221c901319e2bb4db5807d3b22ebc077834c29aa555226903a4b53c7b5d29c226144095e03a4886a18a26b99f389a71c41849f10fafe816d213be109ab7ed104114678d16242547ebb69f55bae884535889bacc55a44e1ab9eed3bd23456e0fac2d2405bef464cc60c58efc595da6c1ada9200d8eb1631f119e99b38970db26be02333be37e661c2bcb483dd1156a7e016dbe39af9ba9a7a6fa8173033bf4283e5160b1b2d4914f453bcf3406304859205118c6056243209c87a76a7c3259258786e6c64b0405bb8ae22e33b1617bc9815bf57b182748cbc6c4e8cac9a9a22965e560fac66beee32f7b8248c241cb3213194221c704bc821185041ae5510689a8d7c4ce5a6c3720e9c845116d2b3b9de703937bf500c9249fd3b2b134998ca657562b19857f6acf575264eb1b0b27d50049542d3f87041ddb755cfb340fd122e4c46663a7b556921b41b50713d71cb20a7888955689fa4e43172f134b1a2b628119c22c391408b16092cd6c8fcd6cad8ef34e129c6d5fb8881725a3b8180a14ccb625a65ae7c59f8b7888afb126f2d8ae8457a273c453cfe69726d951b3a241df583af9995dcbd73223884560258459d0bca1e794c94214276547d3d740a8608c33662eda195f4e26b90d86955c2b4c8470592d1c075bba0fb49b6732b2954fe76d0dc3b3e840865fdac146f03ba0f336f0397c6fd450770a2bfa5837f46096d3c673c562c9ce79b5e978c2a40450ed36b43210386a769de3a9063b93455b694c5cb3837e865ae61b82aa96661e57c41e405d260bc7ac84cc0e1c7515c47c320c61723177f0f57f599958dec24a3f81ab7f1b759c61487a243ff13790de540bbd1b90af233d8658b2805152183bb220e1ce017795ba97753e9c06620a85d4e28591aa6c1f440240e9c22a9acbdb568a98eb745ef435805cc00c2722b0822c1a88b8b80cd05ad2a69c6a356889c2389ac128c49d627a1f3c844ec85b82a405a2e1834cb753b415e32629b7397713aac7c70ef01a7bb3db86ae13b4ed51cc77e2a90de08c77d6938b903e05913477d1c38c98a80dd034caa3746018bc32034b27602732bb0a9cca9dabdb795c6bbe181576e69413c419674b646386b62c0eb8251572a630b087851892bbf726fca0b7dd8a170f19100d6087c191ab56f066a3f61f973c47fc62c331287dec02518039b32e7c320376b0fd82788e2a8ef38b1dd977889c2712ad258d4feb5f7426a4ed147e742b0995a97c2ad876e1860aac6ccaa82287edc68267362ea53ba9d0d91549a448fbb43e3f90802ad3702602e6d28fdacdbd2a03546764c4fc1c62c0efb3462c7c88ab8d94e20b -sk = 0fcbac2fd83a9eeace0215c784e20260f0991b225897e94ecf93368b79565b478731537eac74550cd599d5268e03a25cf327606686ab8864677907a3c3555018b478fbe125498652d5259a31c2b4649c14c89bbc5758a9b53c64e95bc9ce30c306372d431cbc642c0d60e25136c3919f3bb48b280b9d5ca0b21bb4e1510ac49aabdf02c9fd66420b475d0731918a4a5d3c7a963a468fb7a86c128988ec36c34f475f2b87791f5604863ba6dca297ee29238ba79eeec5096e9b336cf0b24dbcc9feb8bfd77ac888554472d7732e7492c231302a073680c684870b86a05592355baf2620b51ddc7b17c9328d7a74da6367d9ec2b87e9221c297b5398cfb55c10e8a68323aabbed806c2272c192fb180e7a5b958a02dca5c55654a43c74216b192522bc2a2dc05bf865062cf56839831ebb837a3ed8c7368c15933730667b7463ab7026848bc9ba14616b2e88e17aca4109b5db56510b408465523307619fca752919b947eb40e5e8c19a7b4a9099734d648daac8c81c1c628c895400e245df8a324899273efb441b564305ec48ab305c69d37e846ac9b77a2917915e82286ddb397936769be7e37fa7f27a003090c7f2b9b395a41370b5a38c07c2d8314627267fa06bfc416d8ac1155df645c6150bee70c4cad8c6a5c564ba2571c9bc9bfaf0c2d12578c8198d49e1414cba5749d712556a537a4131f3f085f9047735482e23342b218101ad30122113060cca4196f778c77cad2ee58b6f23071a85b79c1215f0a7c8745abcdb768c3c26042d09a9a0355a5c45745d1acf52c205b949acf581ab75cac74f2364406a43a74269645166fe167642900d169a1e84929da4cb361e80c42dc702a79364f1d664528b6cec667bf230078af06a0b48466dc90b34ea7101512e37d8ba3a351d7023aee652351ae514b8d217faf09a07654b0cba1850041d7206cecb05c8f6703f762c97dbf82255daafcc3608e8891e3ad8b3d4e18dbcf6a1c2e74cdeb87d15236d70943daa722481692890a548d7c69a14fcc1155202ca4941c3900b57a452f281091a94781c64a9583c8d302c21484cc6159b88a931aedc4291e097982eeb0528c152a43b97dea2a0b36922fc60c226b61068c792f377b9f655940d73702d41bc515086e8f9266c53a4c15a35907cb2fc2a2f19bc5f974034677a33b648322cc9bfcc6b947b5346df2044249623e53430895295327c9b35f59ecd4a9521f4b93a4c031a624c12f40ba17b9f36908e462b928ad452ec74b84f9b5c1c69660038c85d6743f8a5a65b3787b5640d683b7a45009a1efcb5e50a35244c9431f21f1b6826311673832ccbc1794fea917268f5323726698f67bdb41bcc012218929649c972149393845dcbac7fb58582964405d4adeb814037a39e512c3fcf72a22ab70e21fba3822b493df9983866412f0439e1a613914042c982739031949b2780d8133e13e632fc4281de567a333c5d8ad458b848ccd65bc87a8b6b29134556a6780eb7b02e4437ae69c09e304210d5cce3ca3dfef261a809bc5dc44787a20afff49f3e0156e7b428ae1cbd3292c9d818844d4767342708e4016eb9bb0f7099876c26729f443e7cb3b9666441dba01c8397953f586e3da4572ac12d00cda40b715e50422849aba436c1aed529a50a2448ad772495c6358c8050b323b6636871e092aaaaf75cc2d869dcd71e870384a6c2c51000cce0515a8c2459f3966c853749d27809905118cd897fe04a76f196a98b71a5b7405e72e9bb7b3b3f0638016bf15d45e60ea054834ef3af6d2817b59c1bb5740986d626fbb8a98af56ed2ca9828643e3bb604e256b6ff8830606a68779a659962b7837bc46fa9781a1a8ae398ab313c597a4b7070cb1b7dea82a6496f3d00adefeb361c980691ea7d261982eae4b80ac5550a91532f81971b05908dd84ba13544d2f00615bb9ffba14fbd4b6a5ee46f5b6701f064a25dcc4a8425073f63ac00f41a194409b4e12195b8910be7848ec8454da99c0a0c839371a1907183bbd926fd8a107e2160aa8443ace7c77743c5461c37b4712160d5b08aec019025651038c7fa975a261578a82865b1d034a7fb9785696ddea901b1dc3e07e18c456b85464a0a04d91b56311393f51c56f4763aaaa4daa788f9e631b8e92660d2850b738686706531f72bd5ba702b276804716279e61c4b3a599005270578414141c09d070d9302cbb10aac8b8483f11b1044cb83efb8315ff38feccb09d1775e1e29c59b1759d894ccafbc147b228debb52e83d2584552bd15b9b18f02ba12c6669ef94190126f6fe364d106a9d4762522f25a0298cb5e40cd6b89045f275456e8bc32e2c11835b31e6aa628e50e28a9a18226c73343479d0ac61e5a81c6a38c0506477e58001b6890155c3a71f21e1df151660c376cc61d90d93331801b31dba89b6853c2630d33578551399164db647665ad52f912831a956b8ab283f91c10209b0b055ba765cc75587df545b670ea13c6b917393666bd6a9e07a21ac46cbf3b5cc5a079488f97902583bf61f5a7074babaabc837b02600c03c9f8f1481414a241766df430a6dec7936db2374eba1dddcaa58c8a2984094c57349a78102a48e48c450ca7135a057eb2858a6176e67316ad21122c44643fd42cded7caa55a628a503366077058b286aea157e540c598822c3736aaba5298a41765fb949190977456e1b5c1810db1301342104b9526a82459a0f78b9a7e74808a49243a0902d8c6485f887ce62697a72474a1fab0d1342d5ab7a8d9ea38d3b129661c2ceac177d63a59d5b62be8a11379a51055b36ef78817b677ac30f05bd38c700cda17d52b02e8b19f09354ae074b4365ab379667744363b9d4ba17c061ef955631f1ca916a74cddf05160b82994c49688d71612676bb0d95f6fc58d92970fb71c3c2a250b4161b32b3405abd605d0a94ae017bb28801ea54588bbf0b9caa8cb5920bb02730454085871469cbccbbb26911d934680afda6ede5b29b0e4a0f9b15d13392647ec9ab1922943c88dca974af1c95d01866e906221c901319e2bb4db5807d3b22ebc077834c29aa555226903a4b53c7b5d29c226144095e03a4886a18a26b99f389a71c41849f10fafe816d213be109ab7ed104114678d16242547ebb69f55bae884535889bacc55a44e1ab9eed3bd23456e0fac2d2405bef464cc60c58efc595da6c1ada9200d8eb1631f119e99b38970db26be02333be37e661c2bcb483dd1156a7e016dbe39af9ba9a7a6fa8173033bf4283e5160b1b2d4914f453bcf3406304859205118c6056243209c87a76a7c3259258786e6c64b0405bb8ae22e33b1617bc9815bf57b182748cbc6c4e8cac9a9a22965e560fac66beee32f7b8248c241cb3213194221c704bc821185041ae5510689a8d7c4ce5a6c3720e9c845116d2b3b9de703937bf500c9249fd3b2b134998ca657562b19857f6acf575264eb1b0b27d50049542d3f87041ddb755cfb340fd122e4c46663a7b556921b41b50713d71cb20a7888955689fa4e43172f134b1a2b628119c22c391408b16092cd6c8fcd6cad8ef34e129c6d5fb8881725a3b8180a14ccb625a65ae7c59f8b7888afb126f2d8ae8457a273c453cfe69726d951b3a241df583af9995dcbd73223884560258459d0bca1e794c94214276547d3d740a8608c33662eda195f4e26b90d86955c2b4c8470592d1c075bba0fb49b6732b2954fe76d0dc3b3e840865fdac146f03ba0f336f0397c6fd450770a2bfa5837f46096d3c673c562c9ce79b5e978c2a40450ed36b43210386a769de3a9063b93455b694c5cb3837e865ae61b82aa96661e57c41e405d260bc7ac84cc0e1c7515c47c320c61723177f0f57f599958dec24a3f81ab7f1b759c61487a243ff13790de540bbd1b90af233d8658b2805152183bb220e1ce017795ba97753e9c06620a85d4e28591aa6c1f440240e9c22a9acbdb568a98eb745ef435805cc00c2722b0822c1a88b8b80cd05ad2a69c6a356889c2389ac128c49d627a1f3c844ec85b82a405a2e1834cb753b415e32629b7397713aac7c70ef01a7bb3db86ae13b4ed51cc77e2a90de08c77d6938b903e05913477d1c38c98a80dd034caa3746018bc32034b27602732bb0a9cca9dabdb795c6bbe181576e69413c419674b646386b62c0eb8251572a630b087851892bbf726fca0b7dd8a170f19100d6087c191ab56f066a3f61f973c47fc62c331287dec02518039b32e7c320376b0fd82788e2a8ef38b1dd977889c2712ad258d4feb5f7426a4ed147e742b0995a97c2ad876e1860aac6ccaa82287edc68267362ea53ba9d0d91549a448fbb43e3f90802ad3702602e6d28fdacdbd2a03546764c4fc1c62c0efb3462c7c88ab8d94e20b7008db565f7ab9c362dc38dcd3e30e5da873c559e9a9222710e8d2e7f6417ce699daf37400cfe59841afc412ec97f2929dc84a6f3c36f378ee84ce3e46cd1209 -m = be8a32f97b9a8d596382c02fa2a0eeebc15c083e970ddaa4f2622b91d6718663 -ct = 34311d6414ae0a541b6e2489943e738f5f776aab992241494bb7dec68f8beb4d09b5f0fc8f2e2205010f88cdadaaacc24507e2324e561463a2119d525f34f060ca26cba3475cd04ee86de9c773a80d98b7b164a2fda6fd0f67cac86be68cce753565c9a2ba74f29dc09fe27a02a08d382884aabaf7f6c36c47965e4771c70dcbd59571ec75ef656a31977c530986f841498117c092e07cd434edbd0a0d64b72b1a349e61c2f708b66ec36cdfbfc6b23a55012f5a4cbd154d8081dac424e10bbfcc8fe13581c02f483be39fb675c72c3d5e4735c4a9f566ba414dfd600da9ff5f9a18cd0adaa62e79995ce7489b8c6446f558b2c3ded4515c3030b00bbc4b8f97288271ccf3e053a9a64eeb4634248727d06d9460735cbde73845b045b6777f33a6b9e322161731df082c1659a2b10104dbed2a7d5791f7803ec41a4bceaa7d6da2c48066e448fe2cf691865388c7d39783f1d9c0bfe9a5586776e8b01259ee26c1ca0b25372d48048f2b1c3358e8c525003b19583064c29fec65463ee481461b90fb66f3aca83d38f175e54de36426cb8dbbc8e34190e11a04eac5cd9351919f3c2079b3543d191366f065bedd7cb683457fd58b1feb755fb2dce3dbc219c948c4c1c4d724b87dede1902f30fbb9cc76e312e01cffda329a0f25da68a786d24270374d3adcdc0a1c273e5a50d22bbf26b7385d185011a5fec739ddcd9aa4720f9413fc99a954b969ac4faf9adae96d41c074fa55e8b1cece5f3a112abdf42909bdee942816a84a6ed55241bf1116b4ec37c273215fb66f79fbe17466608c8c83fb2029c288ce5d44c1a509d96f713a70f73963fc145c3612cd42303bc58c1917e16bd4ac64c9030d6a621dd3b52c7d7756c874c6feb6882cd28868fe26d1d52ac83bfdf07ef686fafb8f214e298f9482f5262f522bcbfdfc79514e7cb82457d527b51e0a2696612d22e88c71a5ed64334d34c9d659fc50d39f37ce894d56c2e0eb67807ed0168cd3d7f69b53563fc0c2b9db54424e312c87221e6f04393bae7463c83e00d8d4d93d16d434156a2ce406363058b1455e337ac9bff7dbe677a056932c591e85ad39a11802ab83dd185cd801b14fba0f73a02451cc09a75487801111f700da5c79ccdfac8c503d0b84633972a7f88e9a5b2c3ad41fc8e9ef21667b00a50ab051955435acd3b343797a7cc859b2eeb523eb40f6dd1fe02b8bebfc2a64aad8d7a9d2ffbd282ab384ad3feba1b81932edddeae667386ea977838677c1edf15bfb811a7749c062ef7d2d3f16e673ed3b07e7efefc06b65fa0f65eb963d3cbad9bf8e4b3e0d23c55cfbf2ec9e8e7c87f76aed2efe3d0eb2f814d68464c6b0c3d98b8623e8fdf9c5fdaebb373026b9172d264e04dedc5fc6bdc9ae67ab7f628b00be5d1cd17d095421f29574d076479fa5fd26940240501647e312a34da451fecb0ee0445d591bc3dcad98cd8f9f07be8e3bea9d9b4e93f92b3b4eb6edb002f42f889da4a549df1d4017bc14ea001175cf0c241f2ff3b7823a198d147be02822e34b2635c3535189ad8b880bf2bcf566f3eb6fb08277052f62b04972b189ada30f42144aa7075f3dabeeebe71ce8de16948dcbef99ec75e1c6dc531b26bcfe6c2ce9f42487721d0c9aadbab4810a1623dbc455d56fdbf033a338894fd4e67df5a921bd1c150df6bb07f516472eff6063570d3d4e1e3f380ca0afebbb8b67617090ba02f123c459d443dd7c662c8d85726af43fcd98271e4af8a04ee3ff7733fd7a5cc5e61a67a9b2f1061a1d3ea0ed9a4f814785645f1d0618526347936880d8bb3d40a83a358202fb716acdccbc4611d95001fea65a0ad944e972dd565a0674f465d5ec609334ff0bc588a428627d3d1d9eecdb78b3a22ae8ac6383509c146b4e4ead7ccc91dfeffe378727bd66176435b5dc1d1419a4a4fd7f37c2ddd624383dfc1a7fbd5b2fae3e45e1ff18822cf7ee5013c73f801325012c0d165522b72fb4c974caf2da0d1d8530b020521828709e77cec34546973efeb850ec9989b11f5ff920afb85f15e83b8ce3775ca96936388537794e7b0926c871a73b5b97df870322764c0e4311f64f970a52ca8a5ac4976db828a7e9f235178e6a981bb04f6ecb0e0858bcb481459938dfd8cc7930c15173fdebcedfd0030578a965026f0023246952ffaf20e7e559144f483f56c672b1bd1d55e450dfcc074dee75a7de -ss = dee2922d92d0f5ca0c3ce2d0e61c5dc9320d300e965ab48c44d467762c2f4e38 +sk = 0fcbac2fd83a9eeace0215c784e20260f0991b225897e94ecf93368b79565b478731537eac74550cd599d5268e03a25cf327606686ab8864677907a3c3555018b478fbe125498652d5259a31c2b4649c14c89bbc5758a9b53c64e95bc9ce30c306372d431cbc642c0d60e25136c3919f3bb48b280b9d5ca0b21bb4e1510ac49aabdf02c9fd66420b475d0731918a4a5d3c7a963a468fb7a86c128988ec36c34f475f2b87791f5604863ba6dca297ee29238ba79eeec5096e9b336cf0b24dbcc9feb8bfd77ac888554472d7732e7492c231302a073680c684870b86a05592355baf2620b51ddc7b17c9328d7a74da6367d9ec2b87e9221c297b5398cfb55c10e8a68323aabbed806c2272c192fb180e7a5b958a02dca5c55654a43c74216b192522bc2a2dc05bf865062cf56839831ebb837a3ed8c7368c15933730667b7463ab7026848bc9ba14616b2e88e17aca4109b5db56510b408465523307619fca752919b947eb40e5e8c19a7b4a9099734d648daac8c81c1c628c895400e245df8a324899273efb441b564305ec48ab305c69d37e846ac9b77a2917915e82286ddb397936769be7e37fa7f27a003090c7f2b9b395a41370b5a38c07c2d8314627267fa06bfc416d8ac1155df645c6150bee70c4cad8c6a5c564ba2571c9bc9bfaf0c2d12578c8198d49e1414cba5749d712556a537a4131f3f085f9047735482e23342b218101ad30122113060cca4196f778c77cad2ee58b6f23071a85b79c1215f0a7c8745abcdb768c3c26042d09a9a0355a5c45745d1acf52c205b949acf581ab75cac74f2364406a43a74269645166fe167642900d169a1e84929da4cb361e80c42dc702a79364f1d664528b6cec667bf230078af06a0b48466dc90b34ea7101512e37d8ba3a351d7023aee652351ae514b8d217faf09a07654b0cba1850041d7206cecb05c8f6703f762c97dbf82255daafcc3608e8891e3ad8b3d4e18dbcf6a1c2e74cdeb87d15236d70943daa722481692890a548d7c69a14fcc1155202ca4941c3900b57a452f281091a94781c64a9583c8d302c21484cc6159b88a931aedc4291e097982eeb0528c152a43b97dea2a0b36922fc60c226b61068c792f377b9f655940d73702d41bc515086e8f9266c53a4c15a35907cb2fc2a2f19bc5f974034677a33b648322cc9bfcc6b947b5346df2044249623e53430895295327c9b35f59ecd4a9521f4b93a4c031a624c12f40ba17b9f36908e462b928ad452ec74b84f9b5c1c69660038c85d6743f8a5a65b3787b5640d683b7a45009a1efcb5e50a35244c9431f21f1b6826311673832ccbc1794fea917268f5323726698f67bdb41bcc012218929649c972149393845dcbac7fb58582964405d4adeb814037a39e512c3fcf72a22ab70e21fba3822b493df9983866412f0439e1a613914042c982739031949b2780d8133e13e632fc4281de567a333c5d8ad458b848ccd65bc87a8b6b29134556a6780eb7b02e4437ae69c09e304210d5cce3ca3dfef261a809bc5dc44787a20afff49f3e0156e7b428ae1cbd3292c9d818844d4767342708e4016eb9bb0f7099876c26729f443e7cb3b9666441dba01c8397953f586e3da4572ac12d00cda40b715e50422849aba436c1aed529a50a2448ad772495c6358c8050b323b6636871e092aaaaf75cc2d869dcd71e870384a6c2c51000cce0515a8c2459f3966c853749d27809905118cd897fe04a76f196a98b71a5b7405e72e9bb7b3b3f0638016bf15d45e60ea054834ef3af6d2817b59c1bb5740986d626fbb8a98af56ed2ca9828643e3bb604e256b6ff8830606a68779a659962b7837bc46fa9781a1a8ae398ab313c597a4b7070cb1b7dea82a6496f3d00adefeb361c980691ea7d261982eae4b80ac5550a91532f81971b05908dd84ba13544d2f00615bb9ffba14fbd4b6a5ee46f5b6701f064a25dcc4a8425073f63ac00f41a194409b4e12195b8910be7848ec8454da99c0a0c839371a1907183bbd926fd8a107e2160aa8443ace7c77743c5461c37b4712160d5b08aec019025651038c7fa975a261578a82865b1d034a7fb9785696ddea901b1dc3e07e18c456b85464a0a04d91b56311393f51c56f4763aaaa4daa788f9e631b8e92660d2850b738686706531f72bd5ba702b276804716279e61c4b3a599005270578414141c09d070d9302cbb10aac8b8483f11b1044cb83efb8315ff38feccb09d1775e1e29c59b1759d894ccafbc147b228debb52e83d2584552bd15b9b18f02ba12c6669ef94190126f6fe364d106a9d4762522f25a0298cb5e40cd6b89045f275456e8bc32e2c11835b31e6aa628e50e28a9a18226c73343479d0ac61e5a81c6a38c0506477e58001b6890155c3a71f21e1df151660c376cc61d90d93331801b31dba89b6853c2630d33578551399164db647665ad52f912831a956b8ab283f91c10209b0b055ba765cc75587df545b670ea13c6b917393666bd6a9e07a21ac46cbf3b5cc5a079488f97902583bf61f5a7074babaabc837b02600c03c9f8f1481414a241766df430a6dec7936db2374eba1dddcaa58c8a2984094c57349a78102a48e48c450ca7135a057eb2858a6176e67316ad21122c44643fd42cded7caa55a628a503366077058b286aea157e540c598822c3736aaba5298a41765fb949190977456e1b5c1810db1301342104b9526a82459a0f78b9a7e74808a49243a0902d8c6485f887ce62697a72474a1fab0d1342d5ab7a8d9ea38d3b129661c2ceac177d63a59d5b62be8a11379a51055b36ef78817b677ac30f05bd38c700cda17d52b02e8b19f09354ae074b4365ab379667744363b9d4ba17c061ef955631f1ca916a74cddf05160b82994c49688d71612676bb0d95f6fc58d92970fb71c3c2a250b4161b32b3405abd605d0a94ae017bb28801ea54588bbf0b9caa8cb5920bb02730454085871469cbccbbb26911d934680afda6ede5b29b0e4a0f9b15d13392647ec9ab1922943c88dca974af1c95d01866e906221c901319e2bb4db5807d3b22ebc077834c29aa555226903a4b53c7b5d29c226144095e03a4886a18a26b99f389a71c41849f10fafe816d213be109ab7ed104114678d16242547ebb69f55bae884535889bacc55a44e1ab9eed3bd23456e0fac2d2405bef464cc60c58efc595da6c1ada9200d8eb1631f119e99b38970db26be02333be37e661c2bcb483dd1156a7e016dbe39af9ba9a7a6fa8173033bf4283e5160b1b2d4914f453bcf3406304859205118c6056243209c87a76a7c3259258786e6c64b0405bb8ae22e33b1617bc9815bf57b182748cbc6c4e8cac9a9a22965e560fac66beee32f7b8248c241cb3213194221c704bc821185041ae5510689a8d7c4ce5a6c3720e9c845116d2b3b9de703937bf500c9249fd3b2b134998ca657562b19857f6acf575264eb1b0b27d50049542d3f87041ddb755cfb340fd122e4c46663a7b556921b41b50713d71cb20a7888955689fa4e43172f134b1a2b628119c22c391408b16092cd6c8fcd6cad8ef34e129c6d5fb8881725a3b8180a14ccb625a65ae7c59f8b7888afb126f2d8ae8457a273c453cfe69726d951b3a241df583af9995dcbd73223884560258459d0bca1e794c94214276547d3d740a8608c33662eda195f4e26b90d86955c2b4c8470592d1c075bba0fb49b6732b2954fe76d0dc3b3e840865fdac146f03ba0f336f0397c6fd450770a2bfa5837f46096d3c673c562c9ce79b5e978c2a40450ed36b43210386a769de3a9063b93455b694c5cb3837e865ae61b82aa96661e57c41e405d260bc7ac84cc0e1c7515c47c320c61723177f0f57f599958dec24a3f81ab7f1b759c61487a243ff13790de540bbd1b90af233d8658b2805152183bb220e1ce017795ba97753e9c06620a85d4e28591aa6c1f440240e9c22a9acbdb568a98eb745ef435805cc00c2722b0822c1a88b8b80cd05ad2a69c6a356889c2389ac128c49d627a1f3c844ec85b82a405a2e1834cb753b415e32629b7397713aac7c70ef01a7bb3db86ae13b4ed51cc77e2a90de08c77d6938b903e05913477d1c38c98a80dd034caa3746018bc32034b27602732bb0a9cca9dabdb795c6bbe181576e69413c419674b646386b62c0eb8251572a630b087851892bbf726fca0b7dd8a170f19100d6087c191ab56f066a3f61f973c47fc62c331287dec02518039b32e7c320376b0fd82788e2a8ef38b1dd977889c2712ad258d4feb5f7426a4ed147e742b0995a97c2ad876e1860aac6ccaa82287edc68267362ea53ba9d0d91549a448fbb43e3f90802ad3702602e6d28fdacdbd2a03546764c4fc1c62c0efb3462c7c88ab8d94e20b7008db565f7ab9c362dc38dcd3e30e5da873c559e9a9222710e8d2e7f6417ce60472c3d61e4cae91b22d2f5a316794c723fbcf7546db47a42a15f1450ca3282d +m = 295f219917d44b474de067472cc832406bcd18447df12f87bd117662cb0f2e77 +ct = d29819a3521001af59441767f702979aa595aee4d234ff4ec8865d4dccd0599dfe2f7a4a2a7b1952ef527b9935ceb4054aa78c5b14fa31fb7a8c98f46769e6c736da874d6f418621c665b7e51432c8b47e02bbb8013a8646537c9a881f15dac1d12e1e7745ce710c3532ce1abccefdcc84e3df19dc0b2c9f19ad3a3d726d78fa0be0c7e9c0b5a4de14958e0735504dae4724827af1d700410b5a08cec30b5a026357e60b8e6a38330c85f8ba5280b994485ea2f54b082e8a6e5065f95b1c7900f273ccd06435cc59a48ad0ea5cecf0d5cbdde8aff1e3fc2f34f3bc4178666db011e7bed0b4ac0f4e90e15622423407148a3bc5a581d7dabc868c67f42477d4fbd29e2705ea408c8c7be28e7d2fce2e222e1f786930b94d695b3233272b52af7652d9e2b8c01587043b334ac92a676b7474cac0c9e4fface5847b6a2a847a05a1a7ceaf50836bc0b7029707d41761f94e1320f9dc30689df0e9e0b4b123cc3db68552fe57f027a80fa80957baeca2f7d0b191a3dc85348758f301fc9d96f891717ac673681a585ab5419a15bbf470f13c305254475226d8caf1dc2d7ea51d854f5668d8452525967d896955842b2fa47df8ef2735ad30c256c708963e1c30eef2f7164a3a8148f70ed79886d4150349e9116f9366d66c4c32cc657a938300aa3a0e57e3d62084b64b4864efb41c7a85132ee9e138802a2c443913df50affeb0e609eade3baf578be82dfcd50d14725632d45d3744df797f39468c6dd0042112c537de070def79fd03cc4330d991b4cf31e330bcc59eb52145cb9f1b5c16c114266bc613fab085f99c10ff47ff91582005140b06771c51744f3ebb6bc4a744a0d628b532b259675464079d54452f0c68cbcf780490821a4d053aad854ff9cec7826355b037c9e66cc9931720b9975b5bb7934110afd73d382cf71a666291063ddb93471ad1b2b6867adbaaa7772759b21e93018e173a6b468e3f645b1ce581ec8efc8a31f7413580758f9647a3ba415f200ef70f4df9f70ca3c52b3c4e71e8b05e573dd7a65ee487d08c3fc86c230ffdfc0a401e20ceb433deff89b9cbcf3ecf8655e8dc7c7e414d07ef2eac12528631af458d0fb716606947df734c9e5950ca0445595acd7a3d0be6286d5bd671835151b18784a5a498fb1996a93ddb49da5435d2c9fc2396384c9baf055616f488d24074524c071e6f92ef282824face6aa72f1ccd0764d3162ff27bfe0ad0e808c1c3f642aa65c389b0ab34d0a59f7b0fb5c0d8d2877814f7e26233a37d323715cdcd6197f67e03538b0a9d92d4cfdd3f114d469bff3d8aa16ffc72910bc3839feb0175798ffe087429d93f6e4b402963c0df5b41e266cf95efc0e5eaa21680453cd3c9802e2f4bbd2f9fe5641eda93fdf9e9cf674eed591a5eaf8e6f599f238a4015c9b0d29a6daa63e6e7d38f54cd9a8c84922099fe7f5dfbe532866cc0e2ad6c70b27b699a08cce3aeb3d64c651db25d2e901447836feddb20f0e23d0fcff1ad01caed25eaabf998af108ac30de7f155812dd7646d70d9f4a483315e25df179ea593a43d1ca521e6a18fc62be9998a826ecb015e0f006fca7ea6dcd6c2d93fe24039ab06dbf1f95d16175ca86b176ebffdf20d66c81e4850687e1ee2abc4c51aceb554dc8e72fe10b6bc761722554dc049050ef2205d67b1aace8ebc226bb182dfbf236add8e03b04d9bf2be8c09f7fd5917932ac9242b0bb363d1ef01048bb0179dccb4d9c243800a0f91701581cc8dd0da265554a5331c2b9bcfc32d113019585fc09dd7f1b6e7ba2df20481711df825d517cb8a4e9f4014762075c443f5a0187961d53bc28295c10530dae213eb6c603929160547280fcbd8a21fed3ef2e42685e0e5389cb5412b93dced3ed7fc1de2f431af610094917f72344a1c26f545d78a1259e58731e247324072e15ca07635464d157309278c2013c256501130316cf33f092590254eb8109a5c3ab18956b61b2a5d491f0eaae6268fe503acae401abe2ab634c43fdc11ff5859b159afbe8fa78579cd175ac3021f9370cc17c1cdcfa9466a66b820bf28085b17e5aa065a486c64f5eb1735a266d031388fec9e45c0aa9b28eca3eaa88bd9da38242a14c2f441d1b7d9bd64fb16aa935872698f6b0cdcc34e276c91b7805789a3918fccb4f6e8fdd485e6c5b1750c86ed8a91f6d9a9eccb2e95165403b1ea14489defd25c64 +ss = 4262df79a5eaaa98ec3527d7c9e86d669b6a4480810b4e58f50686fc6916409e d = 0610678ff4dc3128e1619f915dc192c220f8fad94da1943b90aaec401683a492 -z = da1804ddb5aa9b1c6a47a98f8505a49bae2affde5fe75e69e828e546a6771004 +z = 81b292427d57feeb160f9347348632e1cd340960f6e6ea2422d194a0109af1df pk = 707206a4b96ff9ac116a585f4394c4e83574bd16364b02bcc4c89dab6231e5ca7550517a335536b08665a136b47cf76ef816b037e91c3aec389b2411f3b397c70847a3f178509357db63a5d5caa882b2079644af11f01d18d9b79fc92744850a7e8b1c39e479c57b887e854cad028d17c84f5dd90dbb2042fdfc82db061afc7245c458b05f934d08849bef6bbd90349c4bac3ce44c1a51c622734265051787f7509a30d9ccf98250b42cc8e75c6d62a5a53944484578b262850e06b8717508c75d702783781290f64a412bc3f741312ecb795d15c17d198334816582209606210b73865fe79662943552b69b11bd141637b054a64497cea157e9156da70891da159c3e138f86c87e27376eab0204f8ec1edcf49ba47b1521870e46171d18268d277c1467b3be6c8c6895461166fc2c3f597fa6478348f640e44530f966c3008902c8625b46cc6120eb2d82506b01e45a9ed7a19f1c0df13c0346aab1f2cab8e01032b1f303147b5ea7e149b4bc19772408cb923e06614c9b1cb76e0b1d2eb1c4d1f6bd8294b280cb9ebae45cf0943c03b239677b7ea7c71265b04ca7c1580578768deb1cf10a2898143ef9d1c5d614b76a8322331a09c48422fd8b1c822384ae1886ff108e930692263965e949319ab94ee1b6763e460a0812780428aee4d446a61254722c9308c512711ab175312e39467aa21bcf454b8289803d85f33400d659dd8369dde71be20907651bae89d861def131ff805f56557cad430d22cb84a4aa65ae68c3f278b5816b86bdf57188240f60b54a8606b74cda0c47323639a578eda52575a32efe03b349b6938d763dbf4c44f13a0f92f75fc091658c60a32691a52c78569f322521799c91aa2cb550c9a683b061647cde186ea2ba57a8a1ca929420ef1895f2193cc6944a26e2688e611ec0124269f8c9e18c4032b731db827fe2930d3479528da2c2acd56a8182231b501b05c6383b070190782225d732f84273eb9655b2a4c5d04256a64ba74d245ca744cf8a0b516015847cc34f2e98566ad95fdc87a8fd750bfbc28696808f52b13b09e43ff5cc098bb2a80b4c8f6a3c8a805cc6c69b7b02ec4f67651c65268431057fc7d1cadd8c4ba4965d67db44ab0c54926723a0842546fb0799e71483169ad17b60f9353777765157bc7e25d02ebcf9198c70a53bfc0fc7d51a42e260f7c5222a519937a48492ba079df30adaf127db4ccff100112e155501b3719a2a209983358771b05b38ceea677be4a4b086132c12f4594f427400f6ba5af4a07673464118cacd99a8ae5501ab22a235173412479cd759139d18900ce6ad44e0ca5ac230caeb82b6a98da48b318b620ef7093f06f20b5a0b4b95d986aada54891a00314094ca9478b790825a368f2f092d2978195ef2c52b64602929837d0b3efa65a61991ab61d8cd87f618cb9c54a42cbe98d96ff84c84ac39bf89f490ed735945a65a43272d8ff943261c5bda7a4f1092c9a6b7481f05bc3ff05ca5f1cd0b2bceb936233e0952f3380c4b7a1612c5628d5a6a05f837597c94ac061658c53f3da8ccae56adfa5a8156638be426cbee2025860c105da76b0e953c69957e649c5bf7151c77160a1d2ac9c541a80ab20c1b866c4fea987e30790b64b8aa5b12bf3429f47585ddc8780b9a6e1e7a3c030226ceb84ac958bb5f5ca07596be91e63182cc5b48a7caf748cbf47186107219df88962b302010b755e002cce9d87781e4b717825fadc62a1a95589694581a18a188143d22f1bbf8769b3da59813fb963a78adb8d82b6155b02889371df684e3060134e738c682a03da9c62d2922c06425ffe8c2e18346e6f5296b7c4722e065d984cd17c8590b202865761162e6576a403e2806bcf618101fd5155702364f6920c45470bc9b1180b259c65bb552253406697e2371224a80045295a0e9b06899d06bf2b5824c9b2e6ca144647b01f45a811102afc4c7682e4b7ff8bb4464987757752942ac106389c847ab4dacc14c22b40cbed29d1e81c89704c21ea25747114f7b910ae8715b55671fdca0545007266f08851dc22446436e15827a1e834f270b38e5ec60222b1724c6054af281747739178c49ee04ce0fd39d5e7cc65644ae9a60303aa54a28a7c0ec4ac2ce7149fb8932ee26b67c2bce886a5fc9f321f5b06a03fa01d08bf3aef948095de1afe74bbc3bdbb45fd8f92eddbf0c682c81a98f930f6165 -sk = a5c7981510819ea27d27a945a0f6619d730dd196b6f3a158a4c48acfb82d1c348540160b0cc665c43c4c0e4567b46867ced06d2cf228d0b64706227593db7392395b7ea95360105c1bb05472787430654aa03b6e894c2add2a0467ea51b9486f3df18274c0a2079459df3b9aeab15d203b466ea426911572251b0c8fb51a31aa142bdc4142e393d3c527c841a03f796e0cf7cc71dacb47456fdd386527bccf6e43013eeb755924a22e3a55f74a8974b38e06908349fb3da5887d1a041c8acc6f07a75198462353942267d7600d5243095bb012d2a70be0a3fb2bb599832f8aa68652846ba501bab3aa574ad08bc991c8b86717b87a45041657d0264f35f0c2b70324eac43d591202cfdb9a7d357489f70f86d6308d3382cf9139106cb28d947ae3bc389ef18b728c1568436b3ef80644009a80f01ef550c794011e44f2812ef507bd55820a872b90e797626b8ef2d94012b4cf639bc5c8a7b87306753f93cb12e46a66c4b2053c037b87c51436cc83b884f7634a6950c419684af3b78d41006467105f753194144539df45ac7fa46e71815f53d2304b474a434b02517b083b058aed078dcf86746313bd8108148ea34658613560ca722a126dda147af8c5733705bc8343331bacc5b5b80e424ccf6114955056329a68a2a6403d65197c21da02a390c41ef713a814a798a434145b9e3a5c31a9614cdac8a8bcab6b5274490f5c45b2a307f492c28ff40ee39c2068a5826e8466542559e9409ff11b463e9a4eba0a2172ec8ea6332d3a5bb66531b670c52cc2f8b651b513e60a9e64795369e0c2cf56a9921669299b6b5399537e112ac358112810abc6945bde69aada92552a10219a630e26e4ac7d9b5c7469a960ac64a6d127971296c53a15df4c847d061e69cc030b9cabc6e58903c5adc88882cac147f2888263ecb6ae97a9b2aa245f131e2e2939f5c8bb8ffc012cb578b9babf90db062502b1923ca88b35c424fc6524128fd1d7b5ca719f5a9a538a51a97ababce07b006eb701ad8490b74462f93648fc39a2004db6e951b4c8219ce49395891594353b92b6b496d09376fb28711d87221851a5fdab80cc52a6352c062f06c80f891da2a07573b42bf0f6cd5d6b63fd4b1c5bf2572fc8460385a642e6290fb79a9b1cb18cbcb34bd87f7eb595f0598c67709d72011fbdd07a0eb6616a88b8e33571bfa7597be4cbd6976b93e32c2c088de3ab59dcf2234e553a5b2ab143c46df13211e816aed6d02bf6c13fa7f8b282237f249aaedbd3a6fe8771014c1b811c05fe86102c0b0e7e9b961c1000c82408d8a8aa381552920803418c49e1662c7ed8c3d35763c510585a78664ea0012a8a02f34b2bd7e96ee5c298dc296537c985577cac3e310568353ec2ca8eeab4bb1ee2393d5b3cdd25305b148fd8ab11f60b5871e9c9359a46a5da003e98b61d82c51cd9262764301c86268db87fa6273f9fa3c35b1c1fd822aaf2f74edf73ab5af9175070bdd7d5cc7600a516726c3e49348d138d19836391a54954ac4a0c029b1441c37965422019c2ca49cfca81317a211e22ea2297b865da163a0ae2a9dc25701e71847a05754cb733620a824f090d591c51c345420e226b8f3b846fd356e78b87f4555783dc39667349257c73fe78a616762278a8696eeb07871c96f9aa472ed463ce592bf0206d231a277ce2cdd00487e8307a97202e45755d6818cd5c9a82114b3bd9c00b9d9aa53ada6c5a4a0df518912a86c2483174ebf0c478e4cbae97b61a023e46528c1d917c230946a1aa76c1766d7e0259b4606f7fcb07579c54ca0424dedc1842d5307617225ffa8a9dfa03f46a596e343154aaa3ff6b2496b8b972b04f4c985fb7ea87d6e4cfc47490e130712155a88c1329c5119f91fa854e052dd8023a99c31612e791bd807f241227b9e54a9b6cc6421a9e038904b6565e3a91683a6891702ba4cfc576d24b58b0f64fea1325d0a6c67ee228c9c01b65470d79f086217bb5418109a0b5906b74a2dfc68b34797231c64bfae38958f636fc94b868961342c66017b8bb1d0b25409325e8012b75c08eb4c9a9735a570f3bb3ccc2838045a94473a65444bd2a783812e031382b5ebaf44279f3195a7c731f49a25c582d31a979a6076625811b62d809bcd23abbc8c923a888d9d3b875cb723fb52c707206a4b96ff9ac116a585f4394c4e83574bd16364b02bcc4c89dab6231e5ca7550517a335536b08665a136b47cf76ef816b037e91c3aec389b2411f3b397c70847a3f178509357db63a5d5caa882b2079644af11f01d18d9b79fc92744850a7e8b1c39e479c57b887e854cad028d17c84f5dd90dbb2042fdfc82db061afc7245c458b05f934d08849bef6bbd90349c4bac3ce44c1a51c622734265051787f7509a30d9ccf98250b42cc8e75c6d62a5a53944484578b262850e06b8717508c75d702783781290f64a412bc3f741312ecb795d15c17d198334816582209606210b73865fe79662943552b69b11bd141637b054a64497cea157e9156da70891da159c3e138f86c87e27376eab0204f8ec1edcf49ba47b1521870e46171d18268d277c1467b3be6c8c6895461166fc2c3f597fa6478348f640e44530f966c3008902c8625b46cc6120eb2d82506b01e45a9ed7a19f1c0df13c0346aab1f2cab8e01032b1f303147b5ea7e149b4bc19772408cb923e06614c9b1cb76e0b1d2eb1c4d1f6bd8294b280cb9ebae45cf0943c03b239677b7ea7c71265b04ca7c1580578768deb1cf10a2898143ef9d1c5d614b76a8322331a09c48422fd8b1c822384ae1886ff108e930692263965e949319ab94ee1b6763e460a0812780428aee4d446a61254722c9308c512711ab175312e39467aa21bcf454b8289803d85f33400d659dd8369dde71be20907651bae89d861def131ff805f56557cad430d22cb84a4aa65ae68c3f278b5816b86bdf57188240f60b54a8606b74cda0c47323639a578eda52575a32efe03b349b6938d763dbf4c44f13a0f92f75fc091658c60a32691a52c78569f322521799c91aa2cb550c9a683b061647cde186ea2ba57a8a1ca929420ef1895f2193cc6944a26e2688e611ec0124269f8c9e18c4032b731db827fe2930d3479528da2c2acd56a8182231b501b05c6383b070190782225d732f84273eb9655b2a4c5d04256a64ba74d245ca744cf8a0b516015847cc34f2e98566ad95fdc87a8fd750bfbc28696808f52b13b09e43ff5cc098bb2a80b4c8f6a3c8a805cc6c69b7b02ec4f67651c65268431057fc7d1cadd8c4ba4965d67db44ab0c54926723a0842546fb0799e71483169ad17b60f9353777765157bc7e25d02ebcf9198c70a53bfc0fc7d51a42e260f7c5222a519937a48492ba079df30adaf127db4ccff100112e155501b3719a2a209983358771b05b38ceea677be4a4b086132c12f4594f427400f6ba5af4a07673464118cacd99a8ae5501ab22a235173412479cd759139d18900ce6ad44e0ca5ac230caeb82b6a98da48b318b620ef7093f06f20b5a0b4b95d986aada54891a00314094ca9478b790825a368f2f092d2978195ef2c52b64602929837d0b3efa65a61991ab61d8cd87f618cb9c54a42cbe98d96ff84c84ac39bf89f490ed735945a65a43272d8ff943261c5bda7a4f1092c9a6b7481f05bc3ff05ca5f1cd0b2bceb936233e0952f3380c4b7a1612c5628d5a6a05f837597c94ac061658c53f3da8ccae56adfa5a8156638be426cbee2025860c105da76b0e953c69957e649c5bf7151c77160a1d2ac9c541a80ab20c1b866c4fea987e30790b64b8aa5b12bf3429f47585ddc8780b9a6e1e7a3c030226ceb84ac958bb5f5ca07596be91e63182cc5b48a7caf748cbf47186107219df88962b302010b755e002cce9d87781e4b717825fadc62a1a95589694581a18a188143d22f1bbf8769b3da59813fb963a78adb8d82b6155b02889371df684e3060134e738c682a03da9c62d2922c06425ffe8c2e18346e6f5296b7c4722e065d984cd17c8590b202865761162e6576a403e2806bcf618101fd5155702364f6920c45470bc9b1180b259c65bb552253406697e2371224a80045295a0e9b06899d06bf2b5824c9b2e6ca144647b01f45a811102afc4c7682e4b7ff8bb4464987757752942ac106389c847ab4dacc14c22b40cbed29d1e81c89704c21ea25747114f7b910ae8715b55671fdca0545007266f08851dc22446436e15827a1e834f270b38e5ec60222b1724c6054af281747739178c49ee04ce0fd39d5e7cc65644ae9a60303aa54a28a7c0ec4ac2ce7149fb8932ee26b67c2bce886a5fc9f321f5b06a03fa01d08bf3aef948095de1afe74bbc3bdbb45fd8f92eddbf0c682c81a98f930f6165143b9c53320cdb1b7e8d71efd1f0a1ad5ad1e1ce84dd9fe7c92f19c926388e3cda1804ddb5aa9b1c6a47a98f8505a49bae2affde5fe75e69e828e546a6771004 -m = da2cfaf69e25b2a89ff2557bbb6f69e01d8e2e7bb27a7a1ce7e40fead16f33b2 -ct = 59866b43a0a65f1078e0f9faf21f50a746648ea6be57c4626d8cf427d0149c0682726d576afa941d81583fafb0a7f177f1639c43aa4bff87931bd439851981a520a2b0c285c80fc56fc47d5ea6975a9d7facfc8c7e261bb2278f9ab5392f246e05041c2830e1fbb7fff41885526227d44c672e3e98b7574610816cab4982e55239dd7da1aff6616447374937b039a4c523d6929dbe5a786a0acaa3f625256bf51603d36291c5f11ef6763d04fdc429b405fd4d5459938b7428d14cb222d0fef87d8923bb2c21649ed113ca190d3119697f8a00e59754fc95434506cc2d84624532248e1907d573c313a595c43df3d3a91b9cddd616e454c4732d8ad30e040f8988dcfc715bd41579612104baf069641959117a280fa1553185e1d546a775a7c7aa44dae1710a632e87b168dacfbb2679d8e6546766431debd0496b657c8e9362b4ed9394507338900652a5147f905fa23c2dc559a9ac4b079311a3b111139c1e7e6422b5696ee15ea2eed7f0815ab23ce20b89519db59e715ad4e74585ce2db667e9be3a15def6aa2e0ab90a40944fe202114b04e22751bf867060773da855ced83bf9b83f5d691b2114dfdb2c651b5e8fbe1b52580d076092815f2dfd3d7538c19a1714bc378643beb08b0ffcf558a2335195645c2a49ba8beae90410b3f742518b107b6f24fe5920faf91b9b8f4509717f1d957ddc2d936bb145f5d589641c6f3695e19009a6b92afe30809658720d02dc6fa90018300594f2085b4db7f3e8e18184ec8f12c27003d270ab0dab26eed89c3735fbb3796685c1c80fa853ae56a616b6c7d9d5d020b2f9141364f072c1c73c711dc5dcbae5f70c96fd5767a90dab7bd190019fbc586b63f92839dc827ff9e989649960e2851851b92906cb6ff293b44bd848c5f471b47fc01144bb3ede0e9c2841bdb88b0773204232ef5c3fef104c8960a8c751b9d1734e686239b68884cdb5e2e8f186f79e05de95274827abab9b554759abbb80ba72a26726db09542fab81fce6329d8f39943a38c3bf6ee8155badedaa22999fbd62420ee69fb4edce70c5c0ea073acda8eca1841416f4a685e8e5a435bdd5a34da2674958c4bf714323900a4021a7988186d94f1c478faacdeeb8a1e5f02c17baccb65971fae5cf6d19c5bf7311954fc74fca3262c530dab2c6636fc452c53f38ddd577db9e84a52e8b301607cd55a55789ff3fda9521f439c48236cc4d2d3012f1d8573e527a8b681d1eb77fe1d74bb15a5e81a322b35b29856046c54a8d3dbc89d76acddd514314bfff445ef6d84c7cc504e646a9cfab5fd28e521baa737288c9e4df4129f5123e52b527d6a5f6b69ef33899f7b859c5cbffbc6a71bc1ba41a6145fe125fff6f02994b405a2af79f9006448fa41f10fad63f56ccef6591a060e5fc7cb7b6e65a11d3b71488db140fb477c2d9069532b81f0218a4e358f5dd669a29d38bf347003dd7e40018660cdf5957b7ee90b3002ee945acf47ef71bad11b7a0d0bdc478f63de3980f221d350ac50ce04acb29dabcd6423bec46d433552a0a7a6c75f8544b74e84dc70f5605af7adf5790c920684a13a83b729446525448b9b5a27128b66a4275f9ab9456facbd8ae846df195cdbf6a4c7891d6c2d79b18b64a39ae8b89cbd2c46b33db4fa74450ca53ae04b9708d6b752adb23c55d71f3d68e93405655bbbd10dd5d93ba495161d2d876e3797ec6830e61777374f1fd21683e1355ac77322713f990e31f6521e61a4f25183f8957ad87d77c3d1cd04ac6623f2caeb2750293775a669611a691498f78e4ea6c9a35318501c294e7f38bfe7dc68567e3dbc7d2bb639b765149d278e562b2eb4873182ea3c68f85fe5536b3366d75e8dba7611e5adf22faab5654002cd911e8673d09bd2a425c536dc4f7a007e6850731df2a3fb4e3573488964091a389320d526a90f5435b7dae39d519b1970e0c297c2a4a25b80a0e419095dcac6b4eb19d6586e59debc867e7b63b6b44f98cf62087d758aa635c2185f42e8fc3fd8d0f2a816855974c69f0f7c1f54c2d2bb6445487f32964d11ae2e470a132af2099f760644a00deaa0af30e384c43160827e64ff085642d6059c02691c763cf8dd5eac0c141b62e9f3b69d1652e881efc58ce8b065867e3073a5ccc41cebb18911148267799a5d714b590ea0e65d2a3df05257f2cbcf979965aca638c697afaf83a94a17860fe -ss = d26ea5a6a80f60c0f08438d9ea0fe654c0fff45c2018c95731f4f41172dc2d69 +sk = a5c7981510819ea27d27a945a0f6619d730dd196b6f3a158a4c48acfb82d1c348540160b0cc665c43c4c0e4567b46867ced06d2cf228d0b64706227593db7392395b7ea95360105c1bb05472787430654aa03b6e894c2add2a0467ea51b9486f3df18274c0a2079459df3b9aeab15d203b466ea426911572251b0c8fb51a31aa142bdc4142e393d3c527c841a03f796e0cf7cc71dacb47456fdd386527bccf6e43013eeb755924a22e3a55f74a8974b38e06908349fb3da5887d1a041c8acc6f07a75198462353942267d7600d5243095bb012d2a70be0a3fb2bb599832f8aa68652846ba501bab3aa574ad08bc991c8b86717b87a45041657d0264f35f0c2b70324eac43d591202cfdb9a7d357489f70f86d6308d3382cf9139106cb28d947ae3bc389ef18b728c1568436b3ef80644009a80f01ef550c794011e44f2812ef507bd55820a872b90e797626b8ef2d94012b4cf639bc5c8a7b87306753f93cb12e46a66c4b2053c037b87c51436cc83b884f7634a6950c419684af3b78d41006467105f753194144539df45ac7fa46e71815f53d2304b474a434b02517b083b058aed078dcf86746313bd8108148ea34658613560ca722a126dda147af8c5733705bc8343331bacc5b5b80e424ccf6114955056329a68a2a6403d65197c21da02a390c41ef713a814a798a434145b9e3a5c31a9614cdac8a8bcab6b5274490f5c45b2a307f492c28ff40ee39c2068a5826e8466542559e9409ff11b463e9a4eba0a2172ec8ea6332d3a5bb66531b670c52cc2f8b651b513e60a9e64795369e0c2cf56a9921669299b6b5399537e112ac358112810abc6945bde69aada92552a10219a630e26e4ac7d9b5c7469a960ac64a6d127971296c53a15df4c847d061e69cc030b9cabc6e58903c5adc88882cac147f2888263ecb6ae97a9b2aa245f131e2e2939f5c8bb8ffc012cb578b9babf90db062502b1923ca88b35c424fc6524128fd1d7b5ca719f5a9a538a51a97ababce07b006eb701ad8490b74462f93648fc39a2004db6e951b4c8219ce49395891594353b92b6b496d09376fb28711d87221851a5fdab80cc52a6352c062f06c80f891da2a07573b42bf0f6cd5d6b63fd4b1c5bf2572fc8460385a642e6290fb79a9b1cb18cbcb34bd87f7eb595f0598c67709d72011fbdd07a0eb6616a88b8e33571bfa7597be4cbd6976b93e32c2c088de3ab59dcf2234e553a5b2ab143c46df13211e816aed6d02bf6c13fa7f8b282237f249aaedbd3a6fe8771014c1b811c05fe86102c0b0e7e9b961c1000c82408d8a8aa381552920803418c49e1662c7ed8c3d35763c510585a78664ea0012a8a02f34b2bd7e96ee5c298dc296537c985577cac3e310568353ec2ca8eeab4bb1ee2393d5b3cdd25305b148fd8ab11f60b5871e9c9359a46a5da003e98b61d82c51cd9262764301c86268db87fa6273f9fa3c35b1c1fd822aaf2f74edf73ab5af9175070bdd7d5cc7600a516726c3e49348d138d19836391a54954ac4a0c029b1441c37965422019c2ca49cfca81317a211e22ea2297b865da163a0ae2a9dc25701e71847a05754cb733620a824f090d591c51c345420e226b8f3b846fd356e78b87f4555783dc39667349257c73fe78a616762278a8696eeb07871c96f9aa472ed463ce592bf0206d231a277ce2cdd00487e8307a97202e45755d6818cd5c9a82114b3bd9c00b9d9aa53ada6c5a4a0df518912a86c2483174ebf0c478e4cbae97b61a023e46528c1d917c230946a1aa76c1766d7e0259b4606f7fcb07579c54ca0424dedc1842d5307617225ffa8a9dfa03f46a596e343154aaa3ff6b2496b8b972b04f4c985fb7ea87d6e4cfc47490e130712155a88c1329c5119f91fa854e052dd8023a99c31612e791bd807f241227b9e54a9b6cc6421a9e038904b6565e3a91683a6891702ba4cfc576d24b58b0f64fea1325d0a6c67ee228c9c01b65470d79f086217bb5418109a0b5906b74a2dfc68b34797231c64bfae38958f636fc94b868961342c66017b8bb1d0b25409325e8012b75c08eb4c9a9735a570f3bb3ccc2838045a94473a65444bd2a783812e031382b5ebaf44279f3195a7c731f49a25c582d31a979a6076625811b62d809bcd23abbc8c923a888d9d3b875cb723fb52c707206a4b96ff9ac116a585f4394c4e83574bd16364b02bcc4c89dab6231e5ca7550517a335536b08665a136b47cf76ef816b037e91c3aec389b2411f3b397c70847a3f178509357db63a5d5caa882b2079644af11f01d18d9b79fc92744850a7e8b1c39e479c57b887e854cad028d17c84f5dd90dbb2042fdfc82db061afc7245c458b05f934d08849bef6bbd90349c4bac3ce44c1a51c622734265051787f7509a30d9ccf98250b42cc8e75c6d62a5a53944484578b262850e06b8717508c75d702783781290f64a412bc3f741312ecb795d15c17d198334816582209606210b73865fe79662943552b69b11bd141637b054a64497cea157e9156da70891da159c3e138f86c87e27376eab0204f8ec1edcf49ba47b1521870e46171d18268d277c1467b3be6c8c6895461166fc2c3f597fa6478348f640e44530f966c3008902c8625b46cc6120eb2d82506b01e45a9ed7a19f1c0df13c0346aab1f2cab8e01032b1f303147b5ea7e149b4bc19772408cb923e06614c9b1cb76e0b1d2eb1c4d1f6bd8294b280cb9ebae45cf0943c03b239677b7ea7c71265b04ca7c1580578768deb1cf10a2898143ef9d1c5d614b76a8322331a09c48422fd8b1c822384ae1886ff108e930692263965e949319ab94ee1b6763e460a0812780428aee4d446a61254722c9308c512711ab175312e39467aa21bcf454b8289803d85f33400d659dd8369dde71be20907651bae89d861def131ff805f56557cad430d22cb84a4aa65ae68c3f278b5816b86bdf57188240f60b54a8606b74cda0c47323639a578eda52575a32efe03b349b6938d763dbf4c44f13a0f92f75fc091658c60a32691a52c78569f322521799c91aa2cb550c9a683b061647cde186ea2ba57a8a1ca929420ef1895f2193cc6944a26e2688e611ec0124269f8c9e18c4032b731db827fe2930d3479528da2c2acd56a8182231b501b05c6383b070190782225d732f84273eb9655b2a4c5d04256a64ba74d245ca744cf8a0b516015847cc34f2e98566ad95fdc87a8fd750bfbc28696808f52b13b09e43ff5cc098bb2a80b4c8f6a3c8a805cc6c69b7b02ec4f67651c65268431057fc7d1cadd8c4ba4965d67db44ab0c54926723a0842546fb0799e71483169ad17b60f9353777765157bc7e25d02ebcf9198c70a53bfc0fc7d51a42e260f7c5222a519937a48492ba079df30adaf127db4ccff100112e155501b3719a2a209983358771b05b38ceea677be4a4b086132c12f4594f427400f6ba5af4a07673464118cacd99a8ae5501ab22a235173412479cd759139d18900ce6ad44e0ca5ac230caeb82b6a98da48b318b620ef7093f06f20b5a0b4b95d986aada54891a00314094ca9478b790825a368f2f092d2978195ef2c52b64602929837d0b3efa65a61991ab61d8cd87f618cb9c54a42cbe98d96ff84c84ac39bf89f490ed735945a65a43272d8ff943261c5bda7a4f1092c9a6b7481f05bc3ff05ca5f1cd0b2bceb936233e0952f3380c4b7a1612c5628d5a6a05f837597c94ac061658c53f3da8ccae56adfa5a8156638be426cbee2025860c105da76b0e953c69957e649c5bf7151c77160a1d2ac9c541a80ab20c1b866c4fea987e30790b64b8aa5b12bf3429f47585ddc8780b9a6e1e7a3c030226ceb84ac958bb5f5ca07596be91e63182cc5b48a7caf748cbf47186107219df88962b302010b755e002cce9d87781e4b717825fadc62a1a95589694581a18a188143d22f1bbf8769b3da59813fb963a78adb8d82b6155b02889371df684e3060134e738c682a03da9c62d2922c06425ffe8c2e18346e6f5296b7c4722e065d984cd17c8590b202865761162e6576a403e2806bcf618101fd5155702364f6920c45470bc9b1180b259c65bb552253406697e2371224a80045295a0e9b06899d06bf2b5824c9b2e6ca144647b01f45a811102afc4c7682e4b7ff8bb4464987757752942ac106389c847ab4dacc14c22b40cbed29d1e81c89704c21ea25747114f7b910ae8715b55671fdca0545007266f08851dc22446436e15827a1e834f270b38e5ec60222b1724c6054af281747739178c49ee04ce0fd39d5e7cc65644ae9a60303aa54a28a7c0ec4ac2ce7149fb8932ee26b67c2bce886a5fc9f321f5b06a03fa01d08bf3aef948095de1afe74bbc3bdbb45fd8f92eddbf0c682c81a98f930f6165143b9c53320cdb1b7e8d71efd1f0a1ad5ad1e1ce84dd9fe7c92f19c926388e3c81b292427d57feeb160f9347348632e1cd340960f6e6ea2422d194a0109af1df +m = 281481109453c6238eb72d8995d5a09baeb0b830e40fb09ed20e37bde4826ddb +ct = 11fb2460ce9dd402e3e018086ed1af88f15355496a827bb37b3fb9bd792dd84c39a1dde9f2b94c8aca2695e1a6f5c5d48521a303e9a814c25bdc5d2eae8b02c34b3d1df3257e76bd9f797db3110e3c3d26db9b22e0e42ea747ca93c3d5e86906050ba3ef8c02db4788c8b793581ff6bb0dc4e2cc25c5cfb30e78e4f37b03fbf93d5f96b34d3a44acc347a199b9fad4c1f0e5a494e833e2de5b874a031c229fb32c43fba9f165e447039d32f4677f5a8678e6af26c62b7526e24f7c046f2b1fb0674f621ad66430b1dfdfa708ac253c89ca5307721b2c1c63f73f0562e5743b56a0e4538f923a1f1420c3f0b818bf6c3a1883c4788425cb75d4f6680f1377a75c6201dca28d50c883ebf7595e772a0fc5ffa484fc191134c4c907e54d281dac11d9dbbbe242bf6efd47b5f8f57732a9f9ae6db35a1992527aefe9e04397a9a38927092f5ac39d7e96d7ffe2ef5823a1caf81216c3ed95953495e0e866f647b580f4c0c04ee92143cef7ad7156a001ae6a027e21dbf34365d147cf0377604a4b10dd6eb521ea68bae97414a987ddffb799430103dc3dac5ce2b2ba01a863245dcbef1fd801782ac2f11a6658e9f69a36c22fb4873185452888f735c0aff92d95db941079a17c0f7eb251a55477bc51baf20a178a2e072a6322954b6a09a058d2d8ca988f75e12a7d630282ad20f726706af4558daa62a1fba47fc4e12a3d28a5a1b6b7db13c222227cab255e44041b4666c0ba3df884a11234ea6b679cc5f48573adddc14adef461f91a8c45872213527cde7efd22887c2c225d66173cad62550822f195b7847b401aab740d624308ab360c95a8f41943234d1ef29f5dc1601e5d48eb3a41bbffaa41c4428b15b533f96e354ba9492accb6e2aab5ffbee2f124466aba1d4a4a054ec3e2722f5cb4e1a0075732c296fa68b60580f8a4048c04038a82ddb0dd872703c4c5d8f4896f37a0ee02f4569fcc5b4f5e096499e263fc725af60ef6205f40571c397042a6f763d798ac1a8fbfb5dbfe2634d22e14cf61ab83c7e6bf4115ac6bf942ee1421ae93289171b3691777a4a6985a163db80fe9d6665efbfc466055473549fcd08be4b38f321d30f1261dae7a7af8c8866b5ae79d8ac333545eb126cd65f332ff633a9ebaeaeb2639c177e6b4591eb3cbd173efa2ccd02a8227cbd0c86615260ad16d2c39e194a63afd4e514b66d9944c9ac3b24b4af91fd11ca59cc694e8b6625e38a96e8ac83cfa4d3d0c0fe1bfe303234e46f71aeb0065085c1c62954220e2b27e9e4401b727bf6a32664a222ed5e20add1beedb2bb832db264860daff30d8b7a632aa0faf56483101abdab3a9526fdbdfbff4bf75f276fa967d633e9d4809e50f544b2f2243795f4e47f2a164f7a9bb2dfc64b626bdddbf4584c1f29333e85df04430f8e08ac53576d871d2ca2bafbd123df2d5a4f673e3cb7125a36cce57ac6d1e00d3bc9f1060133012fded7770f6747a69a60288d8ae35d9918ce583582d54cddbe9f993f3804d7097fa341158bc54460c75f7f68d76bf433ac3a42afe39678aba464185bc6301c56251bed5b0f38dcb9b90dd7a48bb0bf551663d19948c8febeb6b29446546343d0a5ad4b737b1a76807352a3e968cf0dfef41a545ef9b7e82163586e332ff035011646bb318a7dc769a74b592a2192951c8549b83b2c2832e4043a68279ba3e651257ad9b45038998626fe69b6b3792105622f357fa820f2c4f496acfbe71f5c27240aad08ff333d4b1e1a6e31ecdac99599ce7ffc4c34b32506f6575264eb631d827a999c0f7c4e37e0ad667f3ff9443bed907d8f54cbdd2e3977a58120be6f561d203e35bbb13b9e65c4e65f3ea535b43fd896d9ef27c4bb8ab9f7f36d158df3ebfc138b3a7b62166cc0d232aadf80dd818d1f57d0a7113c9627bca961ab374da1811b8ae756d788aad3a344da2ae6239a501a448238a921c5d6000adb9aac42590e7d3eaa5e9e0f27e6b1ca9bb22e744d388e5e79b8d9e74a80d142f2684efa3e14434b3f0844d5994af5f84f52162503ef047fb3a3282f9d48341f2adb20c7115c91c69914f9129bf23d5fd277f5b27bdafca6732621580279b0f904b24209e08aeb02e33e49d82e790387d19542be8ca582c28b67b492b0ffd3a0b3ecb045f7f0328790939cd32e5e1afe3eaf53349d6485bfeaa066271e3aaa5a6d5e9a33b157dd34f5e70f010a4 +ss = ac3740727eafdcea34465a1f2889937621955ef577c39864440b75a42bb0e82e d = d322d56d8ef067ba1f24c92492b9c56df3a6ef54a304adc1b69913766a1ce697 -z = 56047447b810cc094d400ab204cf9ae71e3afa68b88586ecb6498c68ac0e51b9 +z = 05224fca29659d6c7a880a5f20d5fe02dc4491f2f095dcf2ddecbf105014c5a8 pk = 83306092965daaf95fae22ab9782be28474bab8785f6030f9b360a861c741619619a74a96fd30cb6334b6fe379c9404f95c5571b2143657c956e031f2a5a03733aa24a73224f89106f7514a8db8515bb9c7fb4179b9b410b7197dd849c3a869c687705c692842aa8bdff5169cf0937a0d669bbf54c92651449252245476b4ea5126041b5721002ff129272fcb76952791b635b8bbc6867f051935508aea7bbcd722c693990e3e8078b1629d21c09e1b417795445fbb857e8fb4f0a1aa6f761657584165d38ce815307e6d778cd63a283e081a5372b0ef040b889cf8041cc324145a571031f5c218ca816354c2c41817f196272976c2ff6115f5257cd13b373bd2a757dab65d1e1863ca4b7ce559c73ca919198ba574a9ee64047b85a6afaecc043327e0800cb127468310a965456ac851a768f777053d48c860a403693b607fb6d8cebadb2149d8ff665a6fc2ef7d2c4d175c2c8bc812d5b3d54695027a91baf657a60d4befe7562bdf620bb3888645a55a0e935bbd8504c27720828ad8ca9a9933b402735564a4a44d7265b602b02cd036a24c23816c96deb45c2a8cc7d623bc31e8811468a7c2b85c209b27364c4956b6c30c8094af8401a233c5e4d348980491ad24b04dc2706b502a9c8390ba3f611344c44bf50241cfcaadb7851685c73603b429eac840c6b9a7ada53416470f13311c2218017681204e33a588981f66a02b4e97f1cb8ab61e6a7fe45232b5545a3a35eecf43e67a4c29948206088b062b81875b632c1767789563bc947a59305afc91ac53387925b4b3c7ba24d84ab126d3b88e852433dd0ca40892d3429962be6cbeaa85a3abc46a27b525a562670c801f5f0566a7558197600439a2b98b16009f87147c55f99fb109515b125963f7240b12a4535cfa22ab53a3c5eb8c2500ca5ef9b2d26d93115480863843656c59a85b4a40cf8059d063cd2e7115d862015d059d3577cc1803e6450b811ecce3cc83e039520d6b23ef8576bd342094ff2a908f42f4ad88e483229f4ab41db2107e48aaf1b32a275425492b7bb423632e42a6c31e320528327713a86b4e83e929b217c69b34ec3afce8628c23a6747666735360b7e70bffdc586cc75c7768c6b9497ce7c93c8938a81a8545244c4756421ac51ec963493c2d72791cfa2c69b58bd5463c544a3ca679b43ddd13ae979bcb158744d45639586959d6ac5784c074d0ca20f326696b607a206895d495f61525793a839a5631cd94bb7e39b609db1caaa3144387c46a22b2ed393060a679bcb13a7c781aa7be1a9d4d3a58a9831f15372825a08d4e41d0e3371e9f796ef0ca50e128afbb5b83ca78ad7ba50276ca2244b3452d02d803b0e8854181ed57f04aab2bfbb1a48cb949f570eeb550a9352c3887a2c37341d8881beff0acd11a8714665a05274613fb168faf6c151277ce03b9f711034e642425aea6e37f536c27ab4c859a64b96baecfa10abe982fab01e82a48538c12f2f615abb815f7fbc46d20378c77626fd4447fc088a7cf626180b2443226c0d560d028b54f884825290cb5ffabc1e152626e62816069a8f9965d89a09b9a19b9c8734a2f71808733a49f30bae54659c375de1a1181b478e08fb7ad85983d7809a4c7bbf67721beb9447191a63a10c2cc709a2d9489dba469ad9c035664aaad90bb8b7846152218635816ec4b1b39ad3b1e37201fd468a134445e183bcc3430cb2a9015a10b0369c079e60a42d387675dbb292985dbcd4b954c75b56a1152942ad9ecb12c8074c1998710826b4b1044a1c368d4808d081d7be1658193c1c0f46739ef1043f1ee38e90ea989db0c9d6d8568eaaccf1e986e4f3b39b596f4bc11e32fa03e10418dbf464f435680dccb76e0bce29005950ea7762e0a86fa4cd5e8819f3c95ff713b006155438d9211350c317589a5c599619530b664070f3715bd3947427476124f328b850603533a651a38c4119c2da956383c0090bf31a378474992636eb10b079b319c821b4ba9336f413929850550c9271f547344e682780eb9d2dc84b742b49eab256b6d8149a904ba0293a0a40731b98751a71371059b84d323970a385408807bda11497c42478bca048b1c50ed3681aa8044e8884458085b4834e313825b3951e8b743a765a166bc1a133573f3af78dd296a398d581661e2c9a7e548ca42e385cc6a0678f9e9d268ffce02c4b465a46773432109a75 -sk = b04c33b257b199352a85b55624f1a1a42b2ab72c4810b839b2bb2f51a502cd498aa258373eb3bd43e03973d129e4fcb61df58986809ec4ea4333659f03dc0fab236cd4e815d3f9524e90a28a3a0af869735b362fed9837855429700cb815c43a6e650e54d6267a832dc0385696274e1e73a12b5960a8409a4b4564de909b797771b4839782526fd69abf516a73f9eb8130f41cd6103a6e67c6724186d1c709d3d90141b1bc1c028e28324de4846bcc6837fc243c54dba144c40fcc6223fd19b8f54c11bc0982ffd366530abad387946e1495a3c05d9cfbb62b28778905ab7d576610a74b3daac9767a051b153af7c6bf0177a4074397be410411cb33ddcb895091990dfb85aee15e9f288d01ec5628034a4adb01da09283493baffd36d224b1efe096289a2afd427b82f8b04ea44319f4a16bb07bd21026f2ef550b919ad01cb3744b37103eb54e62400e03367001510776698e28b4fc367a77f1b4690cc2916e8ccf1fa55aa3495014724f1e66ef7ca8283d917b501c931274d9808a8103004176bb69783c094bbbbecd5b90ea14e7cdb9768498b22332283f6a079991988ac6a85bb591ef299bc57027b0ca9932a41c14c193467374f133bb8539c2d5164ef11b70b4a2cfcdacdf6841cd835c4f4e174be3c26b55770acf4137666a431d669fd5775a71749922c0b223abe36284fc880c3aa2a41f45a4a299c647d6738585287f7a47b88ea1c6c088c6207646d99cef5f56a2e02cd3ea85202c7725dfc99d04b2d52600f0f89366a3a83f8dc74e4a27fc58a622061a6332403ae8cbd0179149b841f5e0ba193ec237ac57a4cd5528c10545cb75e35a20c3ce63950c09a7b0810b84124f3a00c9ebb67bda9b2ab42113e631123b4a85897160637a32eb856d55c2905f7c655d40c84e92e773056d2392d43e33c4f9256dbfc7aa0683802d04d218139f829ae362c1f48096fe47b09756c36873cadc5300cea8094e6f8925c1b81ade69fee5420b7e94555286cdb596e08caa81f758022b3a949059ae91aa9b78a825703cd53d1235800681dbc7657a777bc267637ca2954c09344110a05e2bb90a83f95990986fb559bb1282778933631701393b705a5c122ec3645c1b364367c83444d30fa438eb3a478a0bae14270cd49556399085c566d9e6c467dca66a3f36370693ad5f86a9932773ae5064e9bc73ff7979a5510c88198beea7ee2aa494eb046e4d70a3f9ca0f88b234f6918f7eb41db97a327654836510276e0154e7a4dfa088b8acc5f02f598d1494bfbd07c3132c5ef6c3b466606b3d93da2e69c96744095435fcacc2d24c3016002b5c4b988877ccdb9233c490a8b121ba7821b529de85e638168b0565d50f735d1cb54cba91cfc1b9eff882a643121e877c43b6147a2a8266196346859ce53340208253ca419276b884dbb3b7a30ac3de983c75ad73995a0b62de7563ec9a4a715bcdf376dfb6433de691c54e660f4aaa4b184015026b6189415e66c90dd32c0b015aee63b5d8b3cb9ea206e45ab4938bc86fc54c7598c6553c29ac34b2213b90afd144c8b4629a560382778b28d666667caaad49633a8f985730318eb033374b5cbebacc7f453ccd8e77c5a9abc12da1bc1733ebaf908ec85a79ce5c1e6653026011d5984546c99bda921087cbb63cadab07a18ad591899470582aaf443652c723d954f7e529579f4a65f9736ba1b34fbe728215b14ee450a89297c8ea15b0706314b269a8d88ca27210d94a7109f261dd7b6b2bdf32f94c9cf76fb196b6b60451246d97a2b34f05fa23c408782a93452a9ff43a8af57a59e8305d29237f58c1d2539b49d77284e5583169247b252bc5af5a9aa958846c0cc0ce76ebc8622013934d2e4a0ba1814da282312fc6fd9683048fb308b159205e7050f8b2cecfc0e136a623230711574901797826f02159aa69b45865f12712acb794acd187309c447deb51a81643f82945be8a864ea1ba348b48214e4c003a641d4d74e3000c5a4392ff7d65a5e02915d43c3fa8646e6119a5e23a099f0860039cbcaf82031948c65cca097633c27d11cef810936c4358bbabf9997948577b7504bc87dc53bdc96a68a4c5f9ee52ac66748beba0a4cb1654836895d795f45423b33d06f927aa53527a2d1c000c18a87f2cc0bb589284dea64e96c5083306092965daaf95fae22ab9782be28474bab8785f6030f9b360a861c741619619a74a96fd30cb6334b6fe379c9404f95c5571b2143657c956e031f2a5a03733aa24a73224f89106f7514a8db8515bb9c7fb4179b9b410b7197dd849c3a869c687705c692842aa8bdff5169cf0937a0d669bbf54c92651449252245476b4ea5126041b5721002ff129272fcb76952791b635b8bbc6867f051935508aea7bbcd722c693990e3e8078b1629d21c09e1b417795445fbb857e8fb4f0a1aa6f761657584165d38ce815307e6d778cd63a283e081a5372b0ef040b889cf8041cc324145a571031f5c218ca816354c2c41817f196272976c2ff6115f5257cd13b373bd2a757dab65d1e1863ca4b7ce559c73ca919198ba574a9ee64047b85a6afaecc043327e0800cb127468310a965456ac851a768f777053d48c860a403693b607fb6d8cebadb2149d8ff665a6fc2ef7d2c4d175c2c8bc812d5b3d54695027a91baf657a60d4befe7562bdf620bb3888645a55a0e935bbd8504c27720828ad8ca9a9933b402735564a4a44d7265b602b02cd036a24c23816c96deb45c2a8cc7d623bc31e8811468a7c2b85c209b27364c4956b6c30c8094af8401a233c5e4d348980491ad24b04dc2706b502a9c8390ba3f611344c44bf50241cfcaadb7851685c73603b429eac840c6b9a7ada53416470f13311c2218017681204e33a588981f66a02b4e97f1cb8ab61e6a7fe45232b5545a3a35eecf43e67a4c29948206088b062b81875b632c1767789563bc947a59305afc91ac53387925b4b3c7ba24d84ab126d3b88e852433dd0ca40892d3429962be6cbeaa85a3abc46a27b525a562670c801f5f0566a7558197600439a2b98b16009f87147c55f99fb109515b125963f7240b12a4535cfa22ab53a3c5eb8c2500ca5ef9b2d26d93115480863843656c59a85b4a40cf8059d063cd2e7115d862015d059d3577cc1803e6450b811ecce3cc83e039520d6b23ef8576bd342094ff2a908f42f4ad88e483229f4ab41db2107e48aaf1b32a275425492b7bb423632e42a6c31e320528327713a86b4e83e929b217c69b34ec3afce8628c23a6747666735360b7e70bffdc586cc75c7768c6b9497ce7c93c8938a81a8545244c4756421ac51ec963493c2d72791cfa2c69b58bd5463c544a3ca679b43ddd13ae979bcb158744d45639586959d6ac5784c074d0ca20f326696b607a206895d495f61525793a839a5631cd94bb7e39b609db1caaa3144387c46a22b2ed393060a679bcb13a7c781aa7be1a9d4d3a58a9831f15372825a08d4e41d0e3371e9f796ef0ca50e128afbb5b83ca78ad7ba50276ca2244b3452d02d803b0e8854181ed57f04aab2bfbb1a48cb949f570eeb550a9352c3887a2c37341d8881beff0acd11a8714665a05274613fb168faf6c151277ce03b9f711034e642425aea6e37f536c27ab4c859a64b96baecfa10abe982fab01e82a48538c12f2f615abb815f7fbc46d20378c77626fd4447fc088a7cf626180b2443226c0d560d028b54f884825290cb5ffabc1e152626e62816069a8f9965d89a09b9a19b9c8734a2f71808733a49f30bae54659c375de1a1181b478e08fb7ad85983d7809a4c7bbf67721beb9447191a63a10c2cc709a2d9489dba469ad9c035664aaad90bb8b7846152218635816ec4b1b39ad3b1e37201fd468a134445e183bcc3430cb2a9015a10b0369c079e60a42d387675dbb292985dbcd4b954c75b56a1152942ad9ecb12c8074c1998710826b4b1044a1c368d4808d081d7be1658193c1c0f46739ef1043f1ee38e90ea989db0c9d6d8568eaaccf1e986e4f3b39b596f4bc11e32fa03e10418dbf464f435680dccb76e0bce29005950ea7762e0a86fa4cd5e8819f3c95ff713b006155438d9211350c317589a5c599619530b664070f3715bd3947427476124f328b850603533a651a38c4119c2da956383c0090bf31a378474992636eb10b079b319c821b4ba9336f413929850550c9271f547344e682780eb9d2dc84b742b49eab256b6d8149a904ba0293a0a40731b98751a71371059b84d323970a385408807bda11497c42478bca048b1c50ed3681aa8044e8884458085b4834e313825b3951e8b743a765a166bc1a133573f3af78dd296a398d581661e2c9a7e548ca42e385cc6a0678f9e9d268ffce02c4b465a46773432109a75f2d009cde4abd55a2c7417c9341792e60eaa8e26b53a3aae805746401c4c446f56047447b810cc094d400ab204cf9ae71e3afa68b88586ecb6498c68ac0e51b9 -m = 511c2ab40782322c06111e144e505328c4e5bfc890a5980a2bbc44aeda4c738b -ct = dc5d63f06d6d84fd995d1e2240c1194e77fa0b7c9a25e4993daa1edb3db6305f1636a400658b99f8359eba7ba89de67be0da91607d458c716d34a4d0b8f2d66efdf12b176f67eedd10420765db20851bb2e2b1bb5d6f1642481b7641a9d177eb3858749915de41009b5d99f4e162abc7947a4b375407bc81eff7d1cc80632ddb6921e4c45446b0c59c292b4fef96b85a7c97b67a6ae2abb78fbe8fda52602d0ca8c5064d761f6fdf80430576d08bd73f41541a3e139a29580dec68e90e7cfa7a0fa0e69f4692ec25bc16f46f6160f67165185228a9b95fa69086330fd1d009efd4b34f2673d4ad465ff5de2fbf21fbda9b18b2181c399ce7d8840e4562244a6ee6bda6415145649b3a70d76a3fd24a89f8da185cdee49167b4b8eb143a05bf7f97c0b0527eab5e41ec19b673148d9a0e10352bfc21685d91f496d11282551df35b0912653476c166d6ad04ae4e56b3c0282f4d012abd099a38a09a09c7468594e012701a4553e4bf6dad38edeb9b04d389f5c23d5af8af11815c10ab797b22673159ed495f3005a19f98f90aae991a0cac59c95ab1a4b7c168af72e867af8bc94485865ae531d2e6de55a48a33c58070987bd4cf237d94357c74a26fdbef53011d4c013ce21e6d356593aaa7b8361e7711652686b94644f69de91a33afbcf1162b3771dbc53a84120ed6dd3215175a649793e79be5472442b118d3081405dd19dcf121a211fe3b6d447cedf6f42b1136dc785488b8cfccced27ac1851825973562f380d9f17fc78d33654f451869dd498e9ece91d3cf60ddbf417519f3f1a22d43504c2b0fda7de0c51aba0c776c7f4889d136fd63c5f873b83847845b9bb1f24e3dd27c53ad15684b4c0b4bf7f9f5bcdc469938fe6b2f920736e96de61905072d5530caed52e46f6ff2c9f086996921cf1a76551d22fc34e56bdacd70ba884a42a7e66b59d1ae5f4cceb52844141261ac25e979936b00d1ac3c6a5703b9df543305a01b71845557130273ba3943215c280e0405a6b7c563d266be7de8b8b831a442171ade4ba820b6c75673665f19de3cd08ec7a6599d7bbb78c177ded7b4fcc09366fea460b493d9a42f2abec06af27ae74aa5184cc8951efe4935be9f4b42b5d9d6b33e8ee6a8be8ae5ba2e2224665132677e1438dfeb6635dcb47ab80b876969b576799a1019c9a93f1ce77bb73384dda719e864d0079ebd06565983905adc57bdf80edb3f50b0e26c737518042a9b7c7b896f2fd0af2fbdaf61369c03318aceb424f4ffc53a880db014df2bcf2e303313aa1f2481ba428d9874caa654f4ba8b12c01007a4fd653e613a63e392e498351489ace580849c8c1b0e3fa46587f8b6550366a8caf7f4921a981c3ea60407973ad345d21cef43555240093b1a32b01c0cdf386b7cbc87e9360ece424641b410108ccca157ac1b724f032fa51c70c25f502a180072dea9e0b14386eac50b18a4383fd3e9cf5b54728ac33a22036e66a74e5b3f02ddbaa4bff723a357d352c7ede792dae250fbf729e5caf1ee2936b524a7fb7db053299375103afb9f39e1e2315d5eb3697ed92d04989bd5ffbeda32e13a083bd301cb255cf5400a8a603656fba6c2b4b1c6d8152f94dbb40e22bcfe36275103a4743fe4871766346ca207d70cfd1957967093dace1c10ca10e95c6290f1845dbad603221a8c72d5ecd2f42e9640ea9612d7ebc9e2015f15e258e4e7ddb3fb504126b1136e1b3b058eb4d755a94bb9aa4976fc4864ac82b2eb46ffbfba30a6e0659afb3ede829cef9654e6f52cbeb57554c8f0459a0f5924c97acb8ccd77189222cf46612d0588034709876ccbc9448b05c193b6c45d647e20528f30c6a8271b7a95763224cffa490929d861f11c9a17a507f9b13b73297b6349af9312b47d7c3751ccda6a929d6477c58b5ab50f54c57b940f5be9549d9b63f8d4e051e171c67a6dec56b0b0ad25044dafb460d85b2621fe003e75c76453e78ac17ad6c60636a5a8df9ab8758cbbd3a7cbe37b1efedde2a3130d926681be4b6e3b643f4d1fd940ab947cd249415fc11eff818007d21874fef9d5fedab8406237f855d7b499fa7dddd020aec56125554fc0622ab7f0ce89a12df39d7dac6a1004e1fca79f74829512070cdb6ac985ffc0c819bda3443395b05c327ed4f395ff0db23e06e2e02c4befb2ed9aac2eaa3135817331a6143a2ded6d92eb7653da42d360 -ss = c15d1490ddc18f7cea71acbed11b3dd3b8fe7bd348d96cbc1bdc64a26e8583bd +sk = b04c33b257b199352a85b55624f1a1a42b2ab72c4810b839b2bb2f51a502cd498aa258373eb3bd43e03973d129e4fcb61df58986809ec4ea4333659f03dc0fab236cd4e815d3f9524e90a28a3a0af869735b362fed9837855429700cb815c43a6e650e54d6267a832dc0385696274e1e73a12b5960a8409a4b4564de909b797771b4839782526fd69abf516a73f9eb8130f41cd6103a6e67c6724186d1c709d3d90141b1bc1c028e28324de4846bcc6837fc243c54dba144c40fcc6223fd19b8f54c11bc0982ffd366530abad387946e1495a3c05d9cfbb62b28778905ab7d576610a74b3daac9767a051b153af7c6bf0177a4074397be410411cb33ddcb895091990dfb85aee15e9f288d01ec5628034a4adb01da09283493baffd36d224b1efe096289a2afd427b82f8b04ea44319f4a16bb07bd21026f2ef550b919ad01cb3744b37103eb54e62400e03367001510776698e28b4fc367a77f1b4690cc2916e8ccf1fa55aa3495014724f1e66ef7ca8283d917b501c931274d9808a8103004176bb69783c094bbbbecd5b90ea14e7cdb9768498b22332283f6a079991988ac6a85bb591ef299bc57027b0ca9932a41c14c193467374f133bb8539c2d5164ef11b70b4a2cfcdacdf6841cd835c4f4e174be3c26b55770acf4137666a431d669fd5775a71749922c0b223abe36284fc880c3aa2a41f45a4a299c647d6738585287f7a47b88ea1c6c088c6207646d99cef5f56a2e02cd3ea85202c7725dfc99d04b2d52600f0f89366a3a83f8dc74e4a27fc58a622061a6332403ae8cbd0179149b841f5e0ba193ec237ac57a4cd5528c10545cb75e35a20c3ce63950c09a7b0810b84124f3a00c9ebb67bda9b2ab42113e631123b4a85897160637a32eb856d55c2905f7c655d40c84e92e773056d2392d43e33c4f9256dbfc7aa0683802d04d218139f829ae362c1f48096fe47b09756c36873cadc5300cea8094e6f8925c1b81ade69fee5420b7e94555286cdb596e08caa81f758022b3a949059ae91aa9b78a825703cd53d1235800681dbc7657a777bc267637ca2954c09344110a05e2bb90a83f95990986fb559bb1282778933631701393b705a5c122ec3645c1b364367c83444d30fa438eb3a478a0bae14270cd49556399085c566d9e6c467dca66a3f36370693ad5f86a9932773ae5064e9bc73ff7979a5510c88198beea7ee2aa494eb046e4d70a3f9ca0f88b234f6918f7eb41db97a327654836510276e0154e7a4dfa088b8acc5f02f598d1494bfbd07c3132c5ef6c3b466606b3d93da2e69c96744095435fcacc2d24c3016002b5c4b988877ccdb9233c490a8b121ba7821b529de85e638168b0565d50f735d1cb54cba91cfc1b9eff882a643121e877c43b6147a2a8266196346859ce53340208253ca419276b884dbb3b7a30ac3de983c75ad73995a0b62de7563ec9a4a715bcdf376dfb6433de691c54e660f4aaa4b184015026b6189415e66c90dd32c0b015aee63b5d8b3cb9ea206e45ab4938bc86fc54c7598c6553c29ac34b2213b90afd144c8b4629a560382778b28d666667caaad49633a8f985730318eb033374b5cbebacc7f453ccd8e77c5a9abc12da1bc1733ebaf908ec85a79ce5c1e6653026011d5984546c99bda921087cbb63cadab07a18ad591899470582aaf443652c723d954f7e529579f4a65f9736ba1b34fbe728215b14ee450a89297c8ea15b0706314b269a8d88ca27210d94a7109f261dd7b6b2bdf32f94c9cf76fb196b6b60451246d97a2b34f05fa23c408782a93452a9ff43a8af57a59e8305d29237f58c1d2539b49d77284e5583169247b252bc5af5a9aa958846c0cc0ce76ebc8622013934d2e4a0ba1814da282312fc6fd9683048fb308b159205e7050f8b2cecfc0e136a623230711574901797826f02159aa69b45865f12712acb794acd187309c447deb51a81643f82945be8a864ea1ba348b48214e4c003a641d4d74e3000c5a4392ff7d65a5e02915d43c3fa8646e6119a5e23a099f0860039cbcaf82031948c65cca097633c27d11cef810936c4358bbabf9997948577b7504bc87dc53bdc96a68a4c5f9ee52ac66748beba0a4cb1654836895d795f45423b33d06f927aa53527a2d1c000c18a87f2cc0bb589284dea64e96c5083306092965daaf95fae22ab9782be28474bab8785f6030f9b360a861c741619619a74a96fd30cb6334b6fe379c9404f95c5571b2143657c956e031f2a5a03733aa24a73224f89106f7514a8db8515bb9c7fb4179b9b410b7197dd849c3a869c687705c692842aa8bdff5169cf0937a0d669bbf54c92651449252245476b4ea5126041b5721002ff129272fcb76952791b635b8bbc6867f051935508aea7bbcd722c693990e3e8078b1629d21c09e1b417795445fbb857e8fb4f0a1aa6f761657584165d38ce815307e6d778cd63a283e081a5372b0ef040b889cf8041cc324145a571031f5c218ca816354c2c41817f196272976c2ff6115f5257cd13b373bd2a757dab65d1e1863ca4b7ce559c73ca919198ba574a9ee64047b85a6afaecc043327e0800cb127468310a965456ac851a768f777053d48c860a403693b607fb6d8cebadb2149d8ff665a6fc2ef7d2c4d175c2c8bc812d5b3d54695027a91baf657a60d4befe7562bdf620bb3888645a55a0e935bbd8504c27720828ad8ca9a9933b402735564a4a44d7265b602b02cd036a24c23816c96deb45c2a8cc7d623bc31e8811468a7c2b85c209b27364c4956b6c30c8094af8401a233c5e4d348980491ad24b04dc2706b502a9c8390ba3f611344c44bf50241cfcaadb7851685c73603b429eac840c6b9a7ada53416470f13311c2218017681204e33a588981f66a02b4e97f1cb8ab61e6a7fe45232b5545a3a35eecf43e67a4c29948206088b062b81875b632c1767789563bc947a59305afc91ac53387925b4b3c7ba24d84ab126d3b88e852433dd0ca40892d3429962be6cbeaa85a3abc46a27b525a562670c801f5f0566a7558197600439a2b98b16009f87147c55f99fb109515b125963f7240b12a4535cfa22ab53a3c5eb8c2500ca5ef9b2d26d93115480863843656c59a85b4a40cf8059d063cd2e7115d862015d059d3577cc1803e6450b811ecce3cc83e039520d6b23ef8576bd342094ff2a908f42f4ad88e483229f4ab41db2107e48aaf1b32a275425492b7bb423632e42a6c31e320528327713a86b4e83e929b217c69b34ec3afce8628c23a6747666735360b7e70bffdc586cc75c7768c6b9497ce7c93c8938a81a8545244c4756421ac51ec963493c2d72791cfa2c69b58bd5463c544a3ca679b43ddd13ae979bcb158744d45639586959d6ac5784c074d0ca20f326696b607a206895d495f61525793a839a5631cd94bb7e39b609db1caaa3144387c46a22b2ed393060a679bcb13a7c781aa7be1a9d4d3a58a9831f15372825a08d4e41d0e3371e9f796ef0ca50e128afbb5b83ca78ad7ba50276ca2244b3452d02d803b0e8854181ed57f04aab2bfbb1a48cb949f570eeb550a9352c3887a2c37341d8881beff0acd11a8714665a05274613fb168faf6c151277ce03b9f711034e642425aea6e37f536c27ab4c859a64b96baecfa10abe982fab01e82a48538c12f2f615abb815f7fbc46d20378c77626fd4447fc088a7cf626180b2443226c0d560d028b54f884825290cb5ffabc1e152626e62816069a8f9965d89a09b9a19b9c8734a2f71808733a49f30bae54659c375de1a1181b478e08fb7ad85983d7809a4c7bbf67721beb9447191a63a10c2cc709a2d9489dba469ad9c035664aaad90bb8b7846152218635816ec4b1b39ad3b1e37201fd468a134445e183bcc3430cb2a9015a10b0369c079e60a42d387675dbb292985dbcd4b954c75b56a1152942ad9ecb12c8074c1998710826b4b1044a1c368d4808d081d7be1658193c1c0f46739ef1043f1ee38e90ea989db0c9d6d8568eaaccf1e986e4f3b39b596f4bc11e32fa03e10418dbf464f435680dccb76e0bce29005950ea7762e0a86fa4cd5e8819f3c95ff713b006155438d9211350c317589a5c599619530b664070f3715bd3947427476124f328b850603533a651a38c4119c2da956383c0090bf31a378474992636eb10b079b319c821b4ba9336f413929850550c9271f547344e682780eb9d2dc84b742b49eab256b6d8149a904ba0293a0a40731b98751a71371059b84d323970a385408807bda11497c42478bca048b1c50ed3681aa8044e8884458085b4834e313825b3951e8b743a765a166bc1a133573f3af78dd296a398d581661e2c9a7e548ca42e385cc6a0678f9e9d268ffce02c4b465a46773432109a75f2d009cde4abd55a2c7417c9341792e60eaa8e26b53a3aae805746401c4c446f05224fca29659d6c7a880a5f20d5fe02dc4491f2f095dcf2ddecbf105014c5a8 +m = 1e712b1ef59c5594b414d7c1156b8e4ff3c3d24c92ac92c734f4ad03449a7e28 +ct = 114e039c0272f317477dadb6e2286ab587df711d564cbb0d0b96d36d8214b340b063f61a74209eb44dfaffa2195c5b47cd3cf451e567ee81e4e494ebeadda635b4d4d5a586d63e65d775d1231f9e47813bd26b49f7f284e65eb08789bca8cdfd4e27f7bd0396baaae7d62d0dce105c6ad421afc465af6783106c822dd1f51735f3e22b3a5ae388a9d30cc4d35cad5addc02496e7410a1da222d9f72a15fed827877f10be68f8bae5aaae5d1a2ce17840374daf1533a3af4c56eeeaace7594380bf2cac48e220152dd3c7cf139e30917cc488d749f759cbda9d44db66cbbdd3017ecb3cf483e9658f7134665e1fdb79efda3a8e5e184057a517886dcb6edcf914f5fc543d21a47e9d938ea7ec4c5dde5d3b9083f0639f6c01b3da7c20c2c55cc23dc9d99ff33f505653cfd05552069c3dea3b7d0a4f53a900ca54ece9025a90ac69f0a7e3751c2b391489707d7fe43734e78190c1221e1c6914db0e6619060063e745f4431deffbf2cdc202dc3c82531fbc3a4d01718fea37378afde2659486a669abca060488018aa991a86a6b14c60d8ec8c0b5de50d9a78a573194e6e24b412ff6289d5556dab98c3b2842f5088543441fdab8b4dfd7d535373e952e6580e902f070b4f17e22cf5c69cc978408d9bf3a6c7aa7d5d81203a699ce7cac8ca5f7a592f959f827a9cb5b4628aed899d1d55899f9bf470813e55a56a0cd4ed3e98f9f7715f33fb3c5a50c364a7c8006f16f367f1e995f447b065abe9f9eb8e041b520ce1b4961d382e3abe8bbd319346969a91a5867666f65fe31942ffbfaf7999cbd4270b30f2d1289f0acc4cedb47fceac1f747f7fb8d1d4067b684a51eaba28b77a383b6621fad2a0af31c9f5e85212c5cde8b678808f65a7fa642b50fd51cd8a123243c69557605efa16fc0b4797d7448b75e131c574de391c6acaa10765a2458aaeb69f8d763765a6cc4b77aecb93c380e7068da8c9cdb30e1ef6aaa882fab8d1291b5a749a00fd07a501612bcf20f5f9f9096c1f0496c824e00bf5fba150a8bfbfc1ab4920ee767ab1c4e9ff798875ff0ad68a8cd966d6b577f65d2c79b5bb755deeae5002594f09ed5a86966a583892ae54a0275340acc0dad7313f7752790054e8394700c5a3558c83cc7575d4725d45a592de802995b734fb74f5f723ae58dd47ce1a6731699eb6b06fcbb2e9e4543028a0754028ae7fe469c32fae11d0b5c1525b644f0ac4260754b2443d44426a5cb157a23d7b941cc00bcc6dba0711a9f6ae4b47d873a3c091ce0db2741b6da30a69309e1e565ed65cff43e74213559e9dfafd94e56624abeb173920e55dc9d3fc5f8790581acbba75d65c7af13705606d5dd0947a4ed458817548b4af84f44b7853e06e4e45cfe10b6a3bac5588e97efed5a67d38f94c94481302728e0494f66484fdfe728925e38ef1480c2fee3949325d823a6d821d1103f32005cc12c68883eb431e104a93571fe63f89014312baa102ad3dae5f511a7bdf1d4df9020a315578d31c74aafb19e8475abe449c568bc9ee0d3f74a58d3119148c82a68202432715d5dbddebbc7ce9750ea330cdd2d311ff767d484a360b1e2af5e0a375b4d8f9fd55fa6a6c9ae25ac9bb7ba4e5e611c80f24334d7147a7b818ea8ac9eb2a0bca46383de70638c571ad57cb99706824f00cc707d1b86cf56d9b50ac72cd779d688151b8d823b9d4383cbce28b2cb00fdc1e3f9cc417b8bde6eeade7817543464c514d200b041a3b5113bf69944053a9a707527982e1531041b787fa89a19bb60e7c73e2e5ec53b70e84e010d935796d72c4cb913dcfe3337b5b54e196579b59844469cf0b991f1627174a29b7defd3d5c5e9c9e134ed1f809e4f353f29faf7435ac525eb95ea06ef0170a17f94d9e7110d0c6586b0c89e2c406205abdf2e66323e6785f940cfb4d0f30fa02374d12705d06aabe98fe3d38b91a37fd7165954d7b733ba4df4d99dd018e2e0ec127873317fd8f3add7d874ed1c164109bf00b756033764699c6b822459790fd3426875d95ac6062824a220fcf61d8e28e7737b26ee409fc40b589e8600df9cef6b9ea3ec3a8af6a465a2eda01c24e0cd448c5244036ee3b143bfc4f8cbe85ad84fea1ba2b1a339cc6fc93cf15f0fba26a38a3f490b4b8faf214a64452c042f000be2e01913a9b5070fdfda0aa0431ee2b178893349e726fcef9592f869e99ae234c9 +ss = 913c1882023e14ad17179361a02a236e52d864290cdc0c68ffd1386c1c7a0a6f d = 2f1d8a3bebb34540324b9485fdf3d5be3b858f544abc3fc641b5728cafab03ba -z = 8d6c42e7270ee2b77b6045385f3d175984a0e260363166c73b0c70c971644363 +z = 6931e7324d5527dcd0ea7e2e6c2a82d4a80c3edfb38752b36581f3035ed9a23e pk = 6cb55b5e77c06784a223b9cd2d59478b608d2e79b1dd02803a272b54f2ac66498ab1f621abcc61afe10141eaa935897f89208acf9b3593aa90fc9081b8993d48a84aed0252d7f28dd48571f1b318f2d22ad487541f23cba785b8d3cc8a3338998c9c37d3f4622a357d9c211f8e959f0d75b1e11486f197368188c8eeba30a0865711e046f9483d3e953a55802299f02968a35374e6a2b9251af66790b73c200f74b5fae2c6c4ec024feb61db55c28d2a99a67436bf5879835bb42fac07b9399ddcc01a6d5739c2c4c4ab217a3e28a06e6ab367354195c5080f334e0674397556047fb02d195736db39abf7c61e02c11e9da5b1c4829039f159ac3baaf5e47a2e6c2a17d6906c095a484577fa435d39f4774de4a1fce9975c0ac10c56b3ca653fd492bb4dcbabef3c20f83412a6940b78053e26227fbf7608f2b6233ce17db500641b295e9d4a468486818a9375e074b1de9124cd44c05fb975889192666a38ebb79f0e80a21d1c0358f24eb4167dc1bb2cc4fc076bc634e37421e0a5054490b6f45695e59cbd4e7947204c62cf0b61c2422f39b2a1abe24229e456cf9b374c8a17c85664f5c02b575a640074354e385e36a5b0d373bff3105cdd110cf0ca235f3bb18a051b4894c26b6c6b8a4a9d185a6be6127a1f172fa4e75971552ea357c891210cdedc7a0f3278e930a0529b056820c7dd699a436b80017354d106698401b6092a049eda3a07674d65956943b96c9191340046148aa8c6837acdbca06fce4a341d526d437657388ba7b7632085a921e447024c5b5ab9198b7b7a6b8380b4daacaa6b17bb508365c34b8145aa3b2f5b11722345d80554919489e49433bb558a3c332eb12b1a36746e5a531eb2a6afaa1532183550defacebf4c6bfdb0a035faad062b1cb2276505da77dd99935b1a3bb762666de6506d3cabcaf8b5dc876fbfe55feaf4acc4a628e0347a66f424ca2095e2a3605075786f9b728b5905ac09113e217e663a91f3430dd6d4244bd2cd50b69968d95bf9b07c0f352912e28fa9f0600943a0ea1578955b314ec1bcf13bb4cff6c1793b11cb1b08bd55bd850136e539cdcba0c8f8b1a1aeb183dfda8b64718bb1d8707889c74d92737ca3619e42b7d971783219882b14c671c5005c352540cb5621c6409366adfae73b79957539f15bba26166f181a407b5e7bbc14c54119588b630b782621eabe39567032d76716b9684e217895d82e0ce9473cda40e0065c2d91a846d7cf9e86b934381a36f130336c7eb7913d0aa466737c8aa34453e4c0c21d098906e0229afb13b96b6e717a02089a19d479826c585e1f8695f9586b696c805f0533970ac5dae753903044ce0cb180276c4caaccb71169080474b3003e0296271fd891c1a788a264482de92b47549bd2867a8024bd65287f80b25dc18771f8f697d8a830559b544dbbcc8c656db07ab70174855192362dac79783357b199b090840dd5d474227bb8502528cc5659fa1b1575c7798052393866a48a006ab2572d7b8635e71448b1d48f0175baf92bbf98e12660f6730845164fc42aab8480871c3b2f844cabac957f62aba397abd4aa1319e7adef132aa7f55abed6143efc5483e2c32b1aabfaf3161bb24c19e50e95673fe6668617111a38525fa76cc314f891c9520b88d7b82f5c415b7310d20b5935849ce2d138aa162bee6a5822c52c5704b1f1b6838dc88ecf0b3acf5a5868f2576a58730fc7b986361dee901f5e050841ab06364c72029b259a754f74a95b32179bdb35888b0872c844443faac6f9f67aee9055e4f909b3d424d6167725e960185738df3a30930b4d74dbae5a07463126b9c6ba257ab8cc893758759b4d24f75cf2f745bc6337e366218716bb4c5b8d7f0291488c8e20990faec84cad2616653104d621b3662838c0d2a27e4a3b85b25f22ec350469582e75408ed36141033043e459fd7b0087077aac13058519ba1c210f68c47959f3a98ae5a9387964873cac12056c0fe689d1769c017a661e007a8484540363321a08975f024353d72a1b08252173c874e515e543ca12959235537cc4f314f7c81015d462e2182130c24d3f572de234441ce52e48aa67cd8b2941508edc9c421ed797b52343c6c792e4e8a4001936ad81108e4080fc88574fa663e0bb4ca5d47c9714978c6a86000c47537e0d5ae249eb884b67dadb110119f1d0a5ea38cdf9f2e0e27c75a43a -sk = a5019e7b82405cac3c8f45bec4e70e20590bd7e543d465ba702cb1447c0f114cc44f404a31b091c638347cf5a464106a2f92a0b4e600a3d86ab9f57efff088d1887865c695c3aa29ba08356da1b4042146e8817f2bd56bc014071b896d5b2cba9fa124cba45e294a0f30fa01e4eb18262059cc987c64f9185aaa12d7ea1f2780308a91a3b2f171d9c41d166872bc7b070d44af8556a356b631a6eb2e804cc09c531eeca476adc8143eeba767298bf29c19fb2496e0c573938babcd749ee2d02e9817a3ee5a687f9324e7e1082892142c04ae9715c4a6980d73c6a54c16beea97a659da476e49c1dd1b8292e04321783e0a66a36267673e92c2c7463668b1742987405c1621f94b87ce88aebaeb7bfd787116b30a5b64a7e8956321463b351a9753a0389937b7aed431a5028d309cbed2d8ae67f859ce371cd1b3cb11a8a70d3b9b92e15530a260d1874118ec505fd451897712ae4104e67b1d2bb2676589aa4e8833e03b017aeb2666464c87ba809f2ba29106b49647666fc58c712b5b8127882df3723e74a9b9e4b0e5a96bb325144111c75e96a13b5566e8258e36d34a76096f9b013236b3036bda5e3d431aad3ca33e9a0916d8cedcd3466c75c1b5603a3e724c60a796e0844cc0d79686f086c510ca0cb11c2e936ecaba446560aaf0931c6a82298bdc7fa82aa6a0b32d361b3335cb83dda38417720e9e745bb9ca008908cf6931ab2b4a7b78036704153359dc4fdb5742ab3c39a346005374cf3107b95cb771ff1c9592d59c810a93e3593169ab26de85077dd79a3b3aa03c332a9d177d7ef88624c285a90099d1d0209a0bb0c425ce6ae9221613b2cd596aa77ba2bb98a385d2898d504d68117ed06233e69c43b541438b3274b579c1a5c27b0d85159836aa48907f768c97b6b2b19f475655022691182b2d9c80aec12eca0890c9e47bf764684ff1a94d1083d85905212431afe09342004b44a090cd71357d2431c923b3ce08bc836b3edb82ab2fa3c508867eae87bf2768ad61d4894b123b6f861db52b9b3eb77a8c99839e9108704c907e258f8d8001567078037aa1ab87b03a46ad3a0a30c753b8bd790923b7454f84c67ab6bbbcc105edc36ab6ab67c28c1d3a54bd06f9c09c12cac8483e015301db6650ca3228abb8353d2b3d95fa5d99e96bcab65b37dc8a1e958f7395391bcbb4a944aa955bc2176aa6600a0d40489d0534423776184c85057ae00e9636bfbfa76c2d329625747968f53d1eb26cf4f95d6cca45c60b2da0f1899a7a1fc651c12bc2c3a2ca16d8aba4e05c0cbcbb2b72c48ef55403462ab49cf6576d8c358a865de1f795cc0629f4b13837b6b1704250b8e97f7a116fb63a0dbc12c955b49a67094cfeeb0e8c7b23abe4bdabb787d3e45ead108a96d3206a4977aa128866e596dfca9d68996d82021a4380c0991561ae40a96bf490dd5538f0718098479a5763787939453a7a87a359643885bc5d6149ea048b5ef1adc65c78e4a9c917160bdc625352596034b3558f98637b33061f769cbe341f9c764238318882caa978996d1c321a92838d109c187011bf84d17fefa0271eac7d5ec90743130234e79089f5b9a6f0267813939b5a3b22321376fb1792d8bcf8b072f387305ee56b027908acb477e0e744d0413eabac316c13c242a818cf873533bc3714ba136d477a7ef0c8e620b9e18843f4932b6af212b566bdd93c74ce56abf92755cf136f79784aecc9770a136fd8e245efd79c99095d1225885df1a752063af9e45ce5e10634b817f31013acd13ecf16b7e023cd6c39869b98cb86ea5ab2e655e89b27ed83a65d7a849cb68346e216413239073bc7a5793584acc60f320524048bb9e99e02597eb5e68a7af1033c9603ecfc8c833061f5d27124e4be67752b39406c91d01d5b7c0e7889ae037bb338e64c69ab5d96296ddef899e54b72609105af54a9216890e842b0287bba2698a41f12705a68888b3397311bb9a60c894dc71acbc44f8450b2132962d0f8a6d992a26594a3e2589edd2460cb62a57adc71753a7a94d7134bab8fc1d9c688629a99b0860efccb33c8238c1abc54c11c8aa6c29aa62da3235d97f0c2f65092b551c9a9794c89716ebbd119a27a4382101a3e4b9bf540c1c0f05c3bd53c25f416a9ea3221c110dcec6262ab14114b566cb55b5e77c06784a223b9cd2d59478b608d2e79b1dd02803a272b54f2ac66498ab1f621abcc61afe10141eaa935897f89208acf9b3593aa90fc9081b8993d48a84aed0252d7f28dd48571f1b318f2d22ad487541f23cba785b8d3cc8a3338998c9c37d3f4622a357d9c211f8e959f0d75b1e11486f197368188c8eeba30a0865711e046f9483d3e953a55802299f02968a35374e6a2b9251af66790b73c200f74b5fae2c6c4ec024feb61db55c28d2a99a67436bf5879835bb42fac07b9399ddcc01a6d5739c2c4c4ab217a3e28a06e6ab367354195c5080f334e0674397556047fb02d195736db39abf7c61e02c11e9da5b1c4829039f159ac3baaf5e47a2e6c2a17d6906c095a484577fa435d39f4774de4a1fce9975c0ac10c56b3ca653fd492bb4dcbabef3c20f83412a6940b78053e26227fbf7608f2b6233ce17db500641b295e9d4a468486818a9375e074b1de9124cd44c05fb975889192666a38ebb79f0e80a21d1c0358f24eb4167dc1bb2cc4fc076bc634e37421e0a5054490b6f45695e59cbd4e7947204c62cf0b61c2422f39b2a1abe24229e456cf9b374c8a17c85664f5c02b575a640074354e385e36a5b0d373bff3105cdd110cf0ca235f3bb18a051b4894c26b6c6b8a4a9d185a6be6127a1f172fa4e75971552ea357c891210cdedc7a0f3278e930a0529b056820c7dd699a436b80017354d106698401b6092a049eda3a07674d65956943b96c9191340046148aa8c6837acdbca06fce4a341d526d437657388ba7b7632085a921e447024c5b5ab9198b7b7a6b8380b4daacaa6b17bb508365c34b8145aa3b2f5b11722345d80554919489e49433bb558a3c332eb12b1a36746e5a531eb2a6afaa1532183550defacebf4c6bfdb0a035faad062b1cb2276505da77dd99935b1a3bb762666de6506d3cabcaf8b5dc876fbfe55feaf4acc4a628e0347a66f424ca2095e2a3605075786f9b728b5905ac09113e217e663a91f3430dd6d4244bd2cd50b69968d95bf9b07c0f352912e28fa9f0600943a0ea1578955b314ec1bcf13bb4cff6c1793b11cb1b08bd55bd850136e539cdcba0c8f8b1a1aeb183dfda8b64718bb1d8707889c74d92737ca3619e42b7d971783219882b14c671c5005c352540cb5621c6409366adfae73b79957539f15bba26166f181a407b5e7bbc14c54119588b630b782621eabe39567032d76716b9684e217895d82e0ce9473cda40e0065c2d91a846d7cf9e86b934381a36f130336c7eb7913d0aa466737c8aa34453e4c0c21d098906e0229afb13b96b6e717a02089a19d479826c585e1f8695f9586b696c805f0533970ac5dae753903044ce0cb180276c4caaccb71169080474b3003e0296271fd891c1a788a264482de92b47549bd2867a8024bd65287f80b25dc18771f8f697d8a830559b544dbbcc8c656db07ab70174855192362dac79783357b199b090840dd5d474227bb8502528cc5659fa1b1575c7798052393866a48a006ab2572d7b8635e71448b1d48f0175baf92bbf98e12660f6730845164fc42aab8480871c3b2f844cabac957f62aba397abd4aa1319e7adef132aa7f55abed6143efc5483e2c32b1aabfaf3161bb24c19e50e95673fe6668617111a38525fa76cc314f891c9520b88d7b82f5c415b7310d20b5935849ce2d138aa162bee6a5822c52c5704b1f1b6838dc88ecf0b3acf5a5868f2576a58730fc7b986361dee901f5e050841ab06364c72029b259a754f74a95b32179bdb35888b0872c844443faac6f9f67aee9055e4f909b3d424d6167725e960185738df3a30930b4d74dbae5a07463126b9c6ba257ab8cc893758759b4d24f75cf2f745bc6337e366218716bb4c5b8d7f0291488c8e20990faec84cad2616653104d621b3662838c0d2a27e4a3b85b25f22ec350469582e75408ed36141033043e459fd7b0087077aac13058519ba1c210f68c47959f3a98ae5a9387964873cac12056c0fe689d1769c017a661e007a8484540363321a08975f024353d72a1b08252173c874e515e543ca12959235537cc4f314f7c81015d462e2182130c24d3f572de234441ce52e48aa67cd8b2941508edc9c421ed797b52343c6c792e4e8a4001936ad81108e4080fc88574fa663e0bb4ca5d47c9714978c6a86000c47537e0d5ae249eb884b67dadb110119f1d0a5ea38cdf9f2e0e27c75a43a1f06190bdfd692cf499be99bacc4beccf048c89926769f1b254cca9a9a44089a8d6c42e7270ee2b77b6045385f3d175984a0e260363166c73b0c70c971644363 -m = dca92dbec9b260dd97e8886f876862d6effc3b91fcf3fbc986cf56ab93ae79a2 -ct = 2b2d0503157ffc748cf522d749283d2bde0af29069ddb97f0a9f23fc77e23efebb700e83cb51440b53e16da614d72e57e21236728fbaa6c8434437291340019a3c1f848553f39edd9909f3a36a4a489a19e287dbb25bfbf8720a8163013a5927739b2fee480aa4b68c3615935457e70d07ccdd1cbc7799a2792e5ea2482452748bf22612bd023161bf5e69e3f7d100504eb21a776cc9690c5475da22b49379807b624780e2d51c30c0cd9234fb02ce85a034dd8f49bd2b5d22be0ec1e0f401ce194de1b900c0b2ba27fd30e0ace19efd1e86743150bdfc9b80852bdf4ac2f0657a426c9cd91eeeb9255128302baf93c39a991eaadc4beebf4d8a6e2040cd117c4b9a72fbf0bf3a8575ad3ea6f0a88b6d7134e3afb7fc951c48f0a2b360be5f18691d160934744ffcde604ba90aab9ee8143f77af5ab1415383785d9be6c8ca18ea14bdd3d8e18e19387d5052c3486f92eb6c5ed18da0b23519543146d1ae37ac87fae02dcfd68e3735cbe2ff90f7cc8932b224474924afaeca11baf2bfe7a84af343d8c74104137560fa33bfd04b8f469d23909057e3e415ea8591dd99d59a329c0b8851db4fd850b154d95925fc03d18031486af4769ec47add67fcc708e99d22713a828b44817e1678887017fc8a673d939d9a03126d7a84ced087ce20dd5e168cf31bf3323f6f699ee4da90a90aa4b2a76616cc8dbe5496e1898559a7a2fb2bc4f02a8060bf1a6e20c4e7d2f5dc73bf4e306bc8e43af46d4214f56e69d99feb457d807ce9f629988ea299753b82ea99bced877c2981cbb6440479bf5f348fc44ac91db35d6333ec9a5687f838651312dc5417e8850063eacde9e361737b3ecd83cda95b103d893da1d32a86119ded6eec4b228b8bd22493b59a44a4373e74acb95b176d7bac25597a50cffca038e7309394672cb11e9a1fafd64867f73e0c4a2413844176d3066b395a2415c5bb03cfdcbb057ccd6a923cca21abc75cbc687a3be606c96ef9ea29b56947bf09e0380fbefeaef783e568c5c244b4d97817f5e64758dee3ecc7dee96860e96c9002ff2f5dd6959bd9bc54273c7b57a2e3e248b15767c04e5f7de40ff863e88a2608de0141583636343d06e967ae9a6c5ba51c5d33ec6e0389d85ae182d255341eca218fbd99490fbce9e2fb16661b41bb0420b4effc0cdc015978fad2b68422f0e0771ae748e6eab8f56c29229e4160c99575106d7b915a9afe433b2ac380e43b143370169bc044f19f801eca9cd4b65360f1faa46d4ff75d03492e1c1c71fd4accd75f4fef3fcdcf20a251aecea7f7a78f435dc35159418770bffb84d8fbc99cda5167f60092474f6c498e29c67ce0f175636444752a508871424ad341572ee60914777c534ce05100ec582e6ef3d2c173ca2a6063fda5e44a0a9f5e41a3ba469d7c8d45529ad70ee7aa58502f6a1cece63829971a038b1d02ed443e0f8f7440cfe2daec4c575fde1c98dd79196b66bb1576621bf7415f60072ea4a49e895763f7a886020f5084a6eb2d5b5e793545bf6319a288446e7efcec0039496c2d572ac70c95706e03389ef7e1c353f72c23bbc368d17cc3f4ed062c7e0a976e18b47a43da5269ed045a57d69dd852f6d715434b7834ccd39982a8baea02374d55032971f53cbd9ceedafab5bac8d7de68f9bc35343b6260c12afcb5121e04d85b97edf9319db2f2cb6cf395991b5e872cdd35880055ceee0d9e66fcd6639e250521ad4b2fe04171a641c57a90b92bffd277601f0318e8dceb04530c16d84153cf17adce57bb12606ce6a5c819879e9bafac368ff602c96421d194c9069773bc548f0e39888344d7614af9c0c2239d846198a107dbcdc5154590f0785115ab5213e177fd56a0d57122cc8244f82bd14807f8c27b06a218aa545e0ca0e4740a9358c4383461509543f97b7673fa9756c7df56718dfaf0aa185d6828572da66dab469f2301a1773c6a64ad54fe5348970c45157e0996264eeaacb896559e30092df490c9bac695fe00d0e720d410199beb57d2cb12033e2e689c1a357539878d360e624c7cd3f7575027146410609ac03df12f5ad50226278d4bca2bcab9e8641087973b91208aebbe07ecde0ef6d25940ba411af438a29d1cff112ba1c3b3e2da666d1fed47d37e63605f1e65b26dc72eb78fdcf2c578aa2d9be98d470bf3ec9376b4ae16c7632d0d7992fe56fab913c75820746941 -ss = dc5895ca7269fe3b6385d062d0004777360d6daa7cccc10f6829e13900958892 +sk = a5019e7b82405cac3c8f45bec4e70e20590bd7e543d465ba702cb1447c0f114cc44f404a31b091c638347cf5a464106a2f92a0b4e600a3d86ab9f57efff088d1887865c695c3aa29ba08356da1b4042146e8817f2bd56bc014071b896d5b2cba9fa124cba45e294a0f30fa01e4eb18262059cc987c64f9185aaa12d7ea1f2780308a91a3b2f171d9c41d166872bc7b070d44af8556a356b631a6eb2e804cc09c531eeca476adc8143eeba767298bf29c19fb2496e0c573938babcd749ee2d02e9817a3ee5a687f9324e7e1082892142c04ae9715c4a6980d73c6a54c16beea97a659da476e49c1dd1b8292e04321783e0a66a36267673e92c2c7463668b1742987405c1621f94b87ce88aebaeb7bfd787116b30a5b64a7e8956321463b351a9753a0389937b7aed431a5028d309cbed2d8ae67f859ce371cd1b3cb11a8a70d3b9b92e15530a260d1874118ec505fd451897712ae4104e67b1d2bb2676589aa4e8833e03b017aeb2666464c87ba809f2ba29106b49647666fc58c712b5b8127882df3723e74a9b9e4b0e5a96bb325144111c75e96a13b5566e8258e36d34a76096f9b013236b3036bda5e3d431aad3ca33e9a0916d8cedcd3466c75c1b5603a3e724c60a796e0844cc0d79686f086c510ca0cb11c2e936ecaba446560aaf0931c6a82298bdc7fa82aa6a0b32d361b3335cb83dda38417720e9e745bb9ca008908cf6931ab2b4a7b78036704153359dc4fdb5742ab3c39a346005374cf3107b95cb771ff1c9592d59c810a93e3593169ab26de85077dd79a3b3aa03c332a9d177d7ef88624c285a90099d1d0209a0bb0c425ce6ae9221613b2cd596aa77ba2bb98a385d2898d504d68117ed06233e69c43b541438b3274b579c1a5c27b0d85159836aa48907f768c97b6b2b19f475655022691182b2d9c80aec12eca0890c9e47bf764684ff1a94d1083d85905212431afe09342004b44a090cd71357d2431c923b3ce08bc836b3edb82ab2fa3c508867eae87bf2768ad61d4894b123b6f861db52b9b3eb77a8c99839e9108704c907e258f8d8001567078037aa1ab87b03a46ad3a0a30c753b8bd790923b7454f84c67ab6bbbcc105edc36ab6ab67c28c1d3a54bd06f9c09c12cac8483e015301db6650ca3228abb8353d2b3d95fa5d99e96bcab65b37dc8a1e958f7395391bcbb4a944aa955bc2176aa6600a0d40489d0534423776184c85057ae00e9636bfbfa76c2d329625747968f53d1eb26cf4f95d6cca45c60b2da0f1899a7a1fc651c12bc2c3a2ca16d8aba4e05c0cbcbb2b72c48ef55403462ab49cf6576d8c358a865de1f795cc0629f4b13837b6b1704250b8e97f7a116fb63a0dbc12c955b49a67094cfeeb0e8c7b23abe4bdabb787d3e45ead108a96d3206a4977aa128866e596dfca9d68996d82021a4380c0991561ae40a96bf490dd5538f0718098479a5763787939453a7a87a359643885bc5d6149ea048b5ef1adc65c78e4a9c917160bdc625352596034b3558f98637b33061f769cbe341f9c764238318882caa978996d1c321a92838d109c187011bf84d17fefa0271eac7d5ec90743130234e79089f5b9a6f0267813939b5a3b22321376fb1792d8bcf8b072f387305ee56b027908acb477e0e744d0413eabac316c13c242a818cf873533bc3714ba136d477a7ef0c8e620b9e18843f4932b6af212b566bdd93c74ce56abf92755cf136f79784aecc9770a136fd8e245efd79c99095d1225885df1a752063af9e45ce5e10634b817f31013acd13ecf16b7e023cd6c39869b98cb86ea5ab2e655e89b27ed83a65d7a849cb68346e216413239073bc7a5793584acc60f320524048bb9e99e02597eb5e68a7af1033c9603ecfc8c833061f5d27124e4be67752b39406c91d01d5b7c0e7889ae037bb338e64c69ab5d96296ddef899e54b72609105af54a9216890e842b0287bba2698a41f12705a68888b3397311bb9a60c894dc71acbc44f8450b2132962d0f8a6d992a26594a3e2589edd2460cb62a57adc71753a7a94d7134bab8fc1d9c688629a99b0860efccb33c8238c1abc54c11c8aa6c29aa62da3235d97f0c2f65092b551c9a9794c89716ebbd119a27a4382101a3e4b9bf540c1c0f05c3bd53c25f416a9ea3221c110dcec6262ab14114b566cb55b5e77c06784a223b9cd2d59478b608d2e79b1dd02803a272b54f2ac66498ab1f621abcc61afe10141eaa935897f89208acf9b3593aa90fc9081b8993d48a84aed0252d7f28dd48571f1b318f2d22ad487541f23cba785b8d3cc8a3338998c9c37d3f4622a357d9c211f8e959f0d75b1e11486f197368188c8eeba30a0865711e046f9483d3e953a55802299f02968a35374e6a2b9251af66790b73c200f74b5fae2c6c4ec024feb61db55c28d2a99a67436bf5879835bb42fac07b9399ddcc01a6d5739c2c4c4ab217a3e28a06e6ab367354195c5080f334e0674397556047fb02d195736db39abf7c61e02c11e9da5b1c4829039f159ac3baaf5e47a2e6c2a17d6906c095a484577fa435d39f4774de4a1fce9975c0ac10c56b3ca653fd492bb4dcbabef3c20f83412a6940b78053e26227fbf7608f2b6233ce17db500641b295e9d4a468486818a9375e074b1de9124cd44c05fb975889192666a38ebb79f0e80a21d1c0358f24eb4167dc1bb2cc4fc076bc634e37421e0a5054490b6f45695e59cbd4e7947204c62cf0b61c2422f39b2a1abe24229e456cf9b374c8a17c85664f5c02b575a640074354e385e36a5b0d373bff3105cdd110cf0ca235f3bb18a051b4894c26b6c6b8a4a9d185a6be6127a1f172fa4e75971552ea357c891210cdedc7a0f3278e930a0529b056820c7dd699a436b80017354d106698401b6092a049eda3a07674d65956943b96c9191340046148aa8c6837acdbca06fce4a341d526d437657388ba7b7632085a921e447024c5b5ab9198b7b7a6b8380b4daacaa6b17bb508365c34b8145aa3b2f5b11722345d80554919489e49433bb558a3c332eb12b1a36746e5a531eb2a6afaa1532183550defacebf4c6bfdb0a035faad062b1cb2276505da77dd99935b1a3bb762666de6506d3cabcaf8b5dc876fbfe55feaf4acc4a628e0347a66f424ca2095e2a3605075786f9b728b5905ac09113e217e663a91f3430dd6d4244bd2cd50b69968d95bf9b07c0f352912e28fa9f0600943a0ea1578955b314ec1bcf13bb4cff6c1793b11cb1b08bd55bd850136e539cdcba0c8f8b1a1aeb183dfda8b64718bb1d8707889c74d92737ca3619e42b7d971783219882b14c671c5005c352540cb5621c6409366adfae73b79957539f15bba26166f181a407b5e7bbc14c54119588b630b782621eabe39567032d76716b9684e217895d82e0ce9473cda40e0065c2d91a846d7cf9e86b934381a36f130336c7eb7913d0aa466737c8aa34453e4c0c21d098906e0229afb13b96b6e717a02089a19d479826c585e1f8695f9586b696c805f0533970ac5dae753903044ce0cb180276c4caaccb71169080474b3003e0296271fd891c1a788a264482de92b47549bd2867a8024bd65287f80b25dc18771f8f697d8a830559b544dbbcc8c656db07ab70174855192362dac79783357b199b090840dd5d474227bb8502528cc5659fa1b1575c7798052393866a48a006ab2572d7b8635e71448b1d48f0175baf92bbf98e12660f6730845164fc42aab8480871c3b2f844cabac957f62aba397abd4aa1319e7adef132aa7f55abed6143efc5483e2c32b1aabfaf3161bb24c19e50e95673fe6668617111a38525fa76cc314f891c9520b88d7b82f5c415b7310d20b5935849ce2d138aa162bee6a5822c52c5704b1f1b6838dc88ecf0b3acf5a5868f2576a58730fc7b986361dee901f5e050841ab06364c72029b259a754f74a95b32179bdb35888b0872c844443faac6f9f67aee9055e4f909b3d424d6167725e960185738df3a30930b4d74dbae5a07463126b9c6ba257ab8cc893758759b4d24f75cf2f745bc6337e366218716bb4c5b8d7f0291488c8e20990faec84cad2616653104d621b3662838c0d2a27e4a3b85b25f22ec350469582e75408ed36141033043e459fd7b0087077aac13058519ba1c210f68c47959f3a98ae5a9387964873cac12056c0fe689d1769c017a661e007a8484540363321a08975f024353d72a1b08252173c874e515e543ca12959235537cc4f314f7c81015d462e2182130c24d3f572de234441ce52e48aa67cd8b2941508edc9c421ed797b52343c6c792e4e8a4001936ad81108e4080fc88574fa663e0bb4ca5d47c9714978c6a86000c47537e0d5ae249eb884b67dadb110119f1d0a5ea38cdf9f2e0e27c75a43a1f06190bdfd692cf499be99bacc4beccf048c89926769f1b254cca9a9a44089a6931e7324d5527dcd0ea7e2e6c2a82d4a80c3edfb38752b36581f3035ed9a23e +m = bcd1828f520df6a11b417bc8ec4367b6f7ccc47a4f69aadc445dc83f15482abe +ct = 97bb4afe63f49cd2dec384936abae297e44eb22beb468e7362b13bf5166efc9899bc9b02fa5cb2d77782138d54f6af426d9f7a0e2d38d54bf386b3107378ab09de8c0204923c16c5ee526cc50bdafbee89ceb120b2c4bc68b8f441bf004f4781cc6134610c90ab97f6ac6f830786fdbb340d9fece7249e76c51d7549205c501f40665f6d0cd118cb3fc9195b195872a4de6cfa28e0f4b31515d5ce50d86ac834884e100784fc7f480b77350dadb063ae3816e38f7af302da1956aebf10990d62c1a42f8e0b1da373dd0b7e252616b7a317247a0e2344f71c3e2811a1b2b7b7f111675f437559fcce392b3072589e1197dad145ba12c1d39e7bd9608e51d226a8dc3d0b2b045f389562fbed0d92fafab7562773053845343e093a58cd06defba76d8c0b5745db94abff0c3560e0cf2881f4e1e8e2800f649be1e55f6f25ec5388e44ac944d322837ecc74bcfa8c700ca85e81d1528760481c2f2caf403d9aaa335f49239c27b7d1c0009644925d80b5b3bd2da2abb042c8acde7a33a28d2decf73cdb55b86111ab2e0c6f175e75c36594454c92bec5803b5eecf1ae1e16ca488e91bbee3820c9f5bbec244feafce68377d5e841ab765a19598caf6450b2bfab5b2838f3b975f2aa2ae64873313a00541677905b7fa3d29e7b691e3c543659174022eb6f2d5134411f638234543a318a44b1a6a39187d4d1982d21f2f201438c2dc09a1e55d2468ca74f00190814b1064735cdbbcc693cb0fa65d99a21071669f6a431d2de65fc0a8b11b22a075b99fc8fdd5ad113ea9e7d7b7b458520c4fcf6cd80b8d0f9a30f396a78ead85dc411abea2bce9b3b0e06f556c7cca8b02127385a386f16d0530989eae72799c610ec3d91154f697a37ba1f57bc36e0f109a037327a5f2c9a6757991aa580d7e889ea44e20b889930ce07fedd500bc8d9a5f34db736c3260716bb7792181bf5de3d3c5591d69b1ca942adba30a3356ec239d6f0c317037dd7ad3801c0aa1b1828a4b0684fe3f344b6a73d429f1e78960902fcbc20abfb1109dcce0b899fa2ecf3783978df6178ee6d47c8090a4a72cef4229bc6b571c4012691389aea1f7000135ab04452fe5ffa356161dfbe9e7fe324c316f4fab4d9eda1ec38773fd2bbb5aaed6633f9cbe923f39dce917b66b9e870bafccd4e5664c400eb74fbea2e7068129b0f038596cb557f03e803b6c5e82bed4262aa95eb7240564f875fb2f5daee11f5b50a767535fba58d6cd9cd0a6b94a945232a8b2151717b7ddcb6443ded5b980a8a4fecdc251e965a99ca5e939eeb9078f5aaba417907321dc70ccde884a2748264662bfe4ecaf0b9385eef5315447b5fb2ec82b7469c6bda9eb2da5b26d2aa61c9aac5b89ba676001d7ce16821c718bd950459275d165725c50f1a6d50add667d34ef0d75d3d3fb0e4b0eb19b3d461227331fac720d8819712fd91c9db5ea6af5a079cbe24b8d224d4a9caa48bfe0424eded5fa0a823be59ab0f357cc5656db103e804b14db5254b804918266f9e3e63f50963b99d816bcb656f4769e715cc2d5c9e448c5b1ce036459984892cd6be66ba62121951a8d6e15d9b8d69897ee4415f5e850e17460e79a5bfaba1647cc22a7f1d4fb6758167f987841e9f2bbfce39dcb48b2c1a20a48cd11adf3afca6371ba466a782a09897ab9efea13fc55a4b504c91366d62dcd7c511b9fd7bd158c20e674ad209ef5ce1fd9ae81595272ba6036ded5112ae77c1ee0467d378d48748bc11541d7d8a04b4c207f215d50bd11cfc5ca60c5ae2303fd98e53cf5b7c7b7cb2f4eb0d489b6ae1d39d4c3884241f41344ce9f30f0d44ef312db4f3f17e5527be14d50ab999af0fe1fcc8bba10bbb07fc3a9fc9a241c9127034466f010cec5d5a25d20380c88d99a8d58e8d2e474e689162215dc8595a1378ad6146a08926bab7d8db3b47af6059ca000746d2d104fe257d528dcfb79006c20064c7cb2194cea07d86b93d616e54f58fa8b0789d44f1c18f9e96e536ae3ceea64385a5b73745812b83b58d2f21f5766a7e55d469cdb3e59de9bd479648d350064cc05fd9bcfac6b28db9ff214364ad6216cd1140163723643b2e999041e025c6875df7f5a129d3b088900590a1bf34479b932fbc6303a26ee1cce310be5f76366539f514b4fbb1e5d232c68b2c0dd441007438f3e25981bafd1d4a45835955d23a8122a2f40886d50ae1 +ss = d1702fd73dae55b0f2301a106e14c29029b6818645e789196922e470ce05111a d = 31beda3462627f601cbc56f3ddf4424e1529c04737ef0ef2af6d7401f653b8a1 -z = 812083bfa3b670e3eaf9b443702fb6db16ac1197656bbd61a8e25ed523b8d1e5 +z = 3390c2faa8e2bbdac1edf5a5b6803bfd3c58dcb1ace60333d03cde2c71737f55 pk = 8045b8693056995a847dac15ff49b59a1b9aeb2188c46214fb86a8ff8138c5e8b63d6c29447bb60a56210ba594a3027f4d7667edd310b678523e87830a469e5a758024fcce5a7741a7368c790cbd86204f6ae2a71c2a6a0ce80d14f26e53c175318cca9fdc5fc0a110f6834e1a32986cbaa0f0283376b25276b304dd4c9debf7ccd4c98bb1e605abd84bf824a61f5218671b17918432b32359feda8cbf822c62e86061ebcaec22af3ddc83b45252166a55fa2b3942e346a688cff13272a092c22c5c156ae0b63214bc7919aa90847f9de579c6eacab9690c6281685f4184736092d7b365c2d0aa977b0999635cfb0c44a8193377205a49033fff2133853a4559ba895f0b5b36f2cced166f7dc4aa6d064e6223a114580b58128dcb30b5c8da30b97a497300061c9cb9c7eca6924b6c6b19469645a443851e59248a3759164c02a8a86a9d1e86c51907074c7003e1e0764ea650c9aa9f1ed14831363e56104d4126bf09207d5544c5696a69daf7a748ec7be4b2cdb3c628d5a302f1a82eeefaacf731c5ce3bb6a26a80e7414044087487648e62f9c5d9e29cebc8b5bf111995616b8677778a8cc6b55618a26c6ba74753a2d943fcfb838b6a14935a38cb96906fe2008d2ac8622b50ca4a79035a403946180fe69844020bcc093bdba58d1496ae7dc5741ff16b5b5185a86277ab65c92551b48180972ba55580cb8cd274bc58a83041c7c0349191cf7c9be0a24f23e81e9892c2e0fa979fb4aeb3648ac64534e6c3823ed28cb24569e0931506396140b72f059818bd483d70c8132bc38ad19b995cd9859bbb06342ccab0180e8471c77ebcce2cd9a09d32c7de1443f6c588ac2308612b3b3cc51c670c935a91b973063a31703047a630ec03375831a3357940d2285ec8363bee2b8626656669b36875875f32592e9fd5c1e48879e58746dae41a9e8043ad3975de6c0f59f6588376682c770bd2cc3e427ba50070a3d1572fc7a61f08773d60bc1dbcfb087d726372d23bf89647ce6792f1a12fb87298fff567e6ba833423c43bb157b507009d46c8bed6704e5b23e5c431206bc3d6ca5665db9051d882be08b714950054a6c0a341bf953c4936830a74db1e7236c5cc3b49ffb6230c02978b63020ff75e26f375621b26730aab7ed79dd7facf6bc7a038b779bfbc43866123ea910c4620363a8b885c7017741a22c35506fad12fa5e2360c55aa99528db32709b41c79e7a1730be27ade379ec986239cbc98c3e2bb818b3c33c29ce1b6cff56a58f97c0968e83156a5617a579e13fa208c840591ab630d942ff415479c8343230a9f150b39b1e8259a839eaa370b9a083f50a8992c2b90321549a15b482b752c65c11dbd5b302e630293d2463a47cc54a02c6b7784ebe8c6b487b185898887f1590ed21c1c757d248cb712b7449f712082b7591b34604af799f9b5ce2aab6ce9464528418b01b1abd3e4598ca45022809a708460eb72bcb708c5bb8c272ea187e0158778760b7ca864b0fa51347b4d7130a2ecf4140a8988b94498db660229f78852fc149dd9c5692c41123a6f1310743c892f761345d2f685e5f3a924e620d7122cfadb4f8fbcc95f5a65b31728624ca247579dea035dd5839dc6bac581e63202cb56b978c6a08c3e3d5a340100ad8384a2955462bd703237d331eb7742349876eab4c2c933133d3c833d185f129c5804aa1453b0947da3cf3bd44051f70de00b3cb28396c180b501e70157c22486f8a82282652bb21fc23c3bc123b6c3d6acdf079906b149ae2b52efdaaf3d9b0ecaa92ca9d8694bf07d4229835f3a0a21253877e1a39b4699039041abc8c0b3f6aec29bb22e847131670c0e7b5abeb2455a246d03b6066114552476a18c23b013a812d65a15d021c117f926607c076892499056c1bf058c52ca1703a0812678b4485b82814bb6960a86c3454b99b731cfe15ca5ec005f866b28235036e632b89cbd9aa4a6e70ac944ab82661134ec2ba3b871272864a85ef61f86f51337651eef063fc6f07a39d3ba7aaba5d7357506c550bed913788947a1863a25209cd01200272517adca5f1087c984e11f13404d046c5537711c56577adefaced330230a42cea4e13d0e899394f120ec34c2a6054e5d2ac90696115515345aa2125dc6464c584216a9b0018b704e8640ea163b617347acaf453ae235166cdd8afbffdaaab9919f0cffdc75d8796fcc28 -sk = 7ec737ebf52eb7905da8b3c58508928dd74462e8968a1265bb3b9780649210c8202e2950ac11863bd78af3123ae9899ceff1992608cf5bd1b4eb0ac1c13ccaab4ca89a869424bc1af777cfc7d90a071273f5aa5df310493fab17ce5b6477c773d8cc81d995509ff3a40ce80e734a9e8968b7fbe79a9900ab85f7b442077a890688dcba0bd5e64ae491ce5d39b554e6b82b7602a149a686c19fcee21b8e3b1792e7529f2307505c77ed84a63a68258e832bf0f118bc05c91a6b216ebcc051b90143b9748b365ec841b6098c4eece8aa8231bc24b03e732a0ec55aa5b0e3231efb7c7f0ab21e2544072c22b6b4075049b63fba05c68a936989baa2e55ad1846fd1e335568b01d4acc869e710357708bdc25db545447e41727224545ca8c16bca5458eb24d746a12e170ef191cc8dd840e26910cd9484b4e40d0c7446959a521618b9bc472c8001ad0d1c8428c43c0fb3230fa9b17694284375a0e1563fdaeab6cad367c9949c4723802d6931f0c212b03004675652b958518d31c8d4b06dfd99820702319e668dffb5c88622170b0c0eaba56ee7b77ef5d7600b9c0bbbea5b99e05a9443bb81a68c22c7904a1755d4c80a47ac148ed13c3981c6bf4122a7880fdd597429a32d6046981146743ae85cc8c0ccb715937f29c933d63ab475c2c5483ce07acc5b8bb4c7456398a9236d02bed9b951f6d43a67ea06f7fb803acc33e9552e7150c34003a2e2e11bfc0badfc537eb2b69122352ffb62b285b6cb0935adfa0385dda074f7a63adb76bcf4a80aa83a1c32f87be3a786537acaa32178b136c8bf817ac1cb1e25b44654266f4b2b14f33358b9b75a2d916d78e89d3cec68b782734fe052449598d847b2a02c3056a64e72c5a3b34685e9fb2c0037736e0a21df39a356310777a36fce908c243a4a50216b6199cd63c7bdb18b95fbe4615e9799757176fa4a88c93459bc3030e09889ede148890cc221362472586e3c026b0dc10ba5a823f07acc1c693e9bf31518b90359b7aaec54473552835b3590174109337b6171eac38de29bdef8095da13a8f7014b3f531fc152ca5eb19859673d52067e28c7513141245376baf368b07627fb1b844fc033361994ffb3b39822a2a2de17597d16601329866f42c3697a6f5132dcea2140b871480e50523c3c5227537a5089fb6742cbfca55ba9c307a321abe440241e34151b2c2aab6ad55817b115330c0b15891fa35bf344be7d93ad44bb27962101982902427242f5b06f85204e738aec7a333a15001252004b21b5e6fa95a41a4456f74c9522657a9a40f8c4a162f4951cd5bb8a4f334f45a3a73266e1c386caed53ab52b9a4dfa173b96869fba6c72987f4b328a0e56a08c96a00d78854d6762ea2394c2a102162143cd40192749cfbc5031739711f1ea8c37db5b635bcfe9b6396e2902d56bb135eb8975e1b0a171258d39a7ae84aabd46baf4dc2a6ff18fb6002ce232b7a45a532dd54d3da8c580d6cea4209098930477d207622a7cdedc2e72c24eaf5787d4b2b461889d23ab93a4ba327c371eff58cff7f65738886abd046895834aa06a6cb57973f1011353fcc1452b015a324c406515e9290aff4356fb393b57f4066077b2152819b6a69d6072bd4baa364578557fc727a6519088a183e1818dce9c5bf808ba36e539b40440f1ec994b46a4a128ce3d8063f608cbba032ab13102cdb3c725603d14610c76f542ea4b641c411d8297033caa114d086d00ad711224c585f4ce74c401cdd3bd8a893a04aba0fec1625bb997ea24766b5a3059983436627718d83ca5499b7612919705ace8553d475c68530464e2745a82b1c2c7d152e3da60f0b26bda3324f751a40c5004bd510df886a8b6f488af3b36a3e50ba362250e34c333b4567b812960c8301fca1946d58a52e0847e164c780254ef75c0f3ccca27ca8afb711bc2a5100e535633d0115ae135b5464c33c7c4c614350b562fe8b641e92583d49546cc4b2b45fcce125acaddf67c786acefbc919cc70cbb8a2ca1b8353372c3894fcaadbe2693f09cbb0783c4df1635818cc06c5732b846b8024b9456307358212dd0649abeb4f83910f58f90fbbc855f86780cc85a48fa75aa6bb5b25050a15588c1ed63d107b7e4b6a9e3f025be483a52967c249e7413432816bc8ad6aa29e75da4a8045b8693056995a847dac15ff49b59a1b9aeb2188c46214fb86a8ff8138c5e8b63d6c29447bb60a56210ba594a3027f4d7667edd310b678523e87830a469e5a758024fcce5a7741a7368c790cbd86204f6ae2a71c2a6a0ce80d14f26e53c175318cca9fdc5fc0a110f6834e1a32986cbaa0f0283376b25276b304dd4c9debf7ccd4c98bb1e605abd84bf824a61f5218671b17918432b32359feda8cbf822c62e86061ebcaec22af3ddc83b45252166a55fa2b3942e346a688cff13272a092c22c5c156ae0b63214bc7919aa90847f9de579c6eacab9690c6281685f4184736092d7b365c2d0aa977b0999635cfb0c44a8193377205a49033fff2133853a4559ba895f0b5b36f2cced166f7dc4aa6d064e6223a114580b58128dcb30b5c8da30b97a497300061c9cb9c7eca6924b6c6b19469645a443851e59248a3759164c02a8a86a9d1e86c51907074c7003e1e0764ea650c9aa9f1ed14831363e56104d4126bf09207d5544c5696a69daf7a748ec7be4b2cdb3c628d5a302f1a82eeefaacf731c5ce3bb6a26a80e7414044087487648e62f9c5d9e29cebc8b5bf111995616b8677778a8cc6b55618a26c6ba74753a2d943fcfb838b6a14935a38cb96906fe2008d2ac8622b50ca4a79035a403946180fe69844020bcc093bdba58d1496ae7dc5741ff16b5b5185a86277ab65c92551b48180972ba55580cb8cd274bc58a83041c7c0349191cf7c9be0a24f23e81e9892c2e0fa979fb4aeb3648ac64534e6c3823ed28cb24569e0931506396140b72f059818bd483d70c8132bc38ad19b995cd9859bbb06342ccab0180e8471c77ebcce2cd9a09d32c7de1443f6c588ac2308612b3b3cc51c670c935a91b973063a31703047a630ec03375831a3357940d2285ec8363bee2b8626656669b36875875f32592e9fd5c1e48879e58746dae41a9e8043ad3975de6c0f59f6588376682c770bd2cc3e427ba50070a3d1572fc7a61f08773d60bc1dbcfb087d726372d23bf89647ce6792f1a12fb87298fff567e6ba833423c43bb157b507009d46c8bed6704e5b23e5c431206bc3d6ca5665db9051d882be08b714950054a6c0a341bf953c4936830a74db1e7236c5cc3b49ffb6230c02978b63020ff75e26f375621b26730aab7ed79dd7facf6bc7a038b779bfbc43866123ea910c4620363a8b885c7017741a22c35506fad12fa5e2360c55aa99528db32709b41c79e7a1730be27ade379ec986239cbc98c3e2bb818b3c33c29ce1b6cff56a58f97c0968e83156a5617a579e13fa208c840591ab630d942ff415479c8343230a9f150b39b1e8259a839eaa370b9a083f50a8992c2b90321549a15b482b752c65c11dbd5b302e630293d2463a47cc54a02c6b7784ebe8c6b487b185898887f1590ed21c1c757d248cb712b7449f712082b7591b34604af799f9b5ce2aab6ce9464528418b01b1abd3e4598ca45022809a708460eb72bcb708c5bb8c272ea187e0158778760b7ca864b0fa51347b4d7130a2ecf4140a8988b94498db660229f78852fc149dd9c5692c41123a6f1310743c892f761345d2f685e5f3a924e620d7122cfadb4f8fbcc95f5a65b31728624ca247579dea035dd5839dc6bac581e63202cb56b978c6a08c3e3d5a340100ad8384a2955462bd703237d331eb7742349876eab4c2c933133d3c833d185f129c5804aa1453b0947da3cf3bd44051f70de00b3cb28396c180b501e70157c22486f8a82282652bb21fc23c3bc123b6c3d6acdf079906b149ae2b52efdaaf3d9b0ecaa92ca9d8694bf07d4229835f3a0a21253877e1a39b4699039041abc8c0b3f6aec29bb22e847131670c0e7b5abeb2455a246d03b6066114552476a18c23b013a812d65a15d021c117f926607c076892499056c1bf058c52ca1703a0812678b4485b82814bb6960a86c3454b99b731cfe15ca5ec005f866b28235036e632b89cbd9aa4a6e70ac944ab82661134ec2ba3b871272864a85ef61f86f51337651eef063fc6f07a39d3ba7aaba5d7357506c550bed913788947a1863a25209cd01200272517adca5f1087c984e11f13404d046c5537711c56577adefaced330230a42cea4e13d0e899394f120ec34c2a6054e5d2ac90696115515345aa2125dc6464c584216a9b0018b704e8640ea163b617347acaf453ae235166cdd8afbffdaaab9919f0cffdc75d8796fcc28cc20155074cd7cbd43ec2380dc6a71b3a88c9a4bf168ab2bf426a899706fa597812083bfa3b670e3eaf9b443702fb6db16ac1197656bbd61a8e25ed523b8d1e5 -m = 57c170e691d7a914a901b9a11c62b8b569b3806427557a9dbac9faa720ec3641 -ct = c1168e67bb6e92d2c4078453ab8b18c3a325195cc57e9faad5662a8e1b43a321d77e871db0663962ec36e7ced4b34624035b24f51107ace6461401c14f9f5c337f081317ad7d7fd19cacbf7de973f17d190d4620902721b03672b6c7dc8d38ac729e212efc49a0f414fce390e0e9065c1933f39124332e20a59ac0b8fa5ffce933d703e5300629379e306e2a47d7d102e101faae501613bb82057a041686dbdf1609ecd3b0b6b67231f2bfc47e71c4eeec87269348b6b0e3c822456d811e2be3e4803055e5f473157b26abb5f11a2e8a08d5fa828ad7dd52be216e6c28ec9c3ff714679ea114d52f9d488a679ecb1e31b7d93528234198c3e5b4792fcc370048927f0f50765c08c922e14ee8576bd24511df8c3c72ab91ddad7c871ce5dbb315121b5f3417d7565f25346f0e2a29290cf48c6984faaa4d2e31db829e540860f37675e0a389b1dc4bf1bb82040f144d66f1b5ab4be789a54efca560e7810aa527b0f71c1a85b861165d89fef3e2e6b5c32045b78b01c212b34b7ac3a12daade8cf55d214e57c6b6c17c6fb71846cd2e9d7448a792e081e068245b594678fe66fa325feb82aab44eb3a44de686150f6a642d0820f8667de611e0b25288314515cacecf0882b57fe32f441b02cb2ad2950c03f5ceaeab14aaeb60eba43d8243ae67f37245f888e2bbbdcfc6b6418972ae684ab7025bb292f87300be1356318074c90b32ac8eddf5ca1f302bb8d93a317beb7f77e7e45dfba04e0b93938d7a2802b70b5644ad93c1774f1122d98bd33846f76ed909336d37b62bf18d4f7309041c927992920beba10aae927749a5a247a81c9c0362f0f0b0ca021990e6e12055b598af05716ac0db1f89ce13578178d3a72136a9396ab7f5c18f88221052be90ef19b927da2b803c372990c70bb492631ace3c9777d8e7caf1ec43510aedb41370558baaf4f89101924774deb26ce720221aeb89f707467431ab728b468c0516ba0dca38f51e65b81459ad8fb071d3986b1353348c039221cc77732d63f3ed42a8496c92205d4c55503658e5ca2bc6059e4776bc43f63742db5874e11f93e809e851c3ea9df24bb7e3286a6fae6f9fcdbf200ac81cd3e0f3ab6e84bdc295ae96c1d4ce8bd4ef86b50a97e92de7d1278bb7e3a2e54dfce46621f8df6015bc0c54af1918cb37097b5b30263690cb4ee8a6703eb69e5d9bd4e971066508e6aecbdc5a57228148cd9f0543d86cf65b89e3996e78b626bfa8142b5d477b7d07ef7c933315799ef5e194341f184317ed4f10afe28dcc30530adea41d6622d37f2a95524e478b512d4f6ee74044436499c243c4a56fce5c77b83848899f00a7950e3267b9327e4c805a1b422ec757ea89ad50238a05d2be893ea5c18a7900075272dbdf8086d829f861e4876f975950fa958a2acbdef3345350319f769121987aed5eea641109662046ed183f3b677f44e8a82b2f97f0aa90d6a98d2a089e70d02245e29e6ad77ba27dab8f4f858c68329dc2925b78b1fd6e7d4f506dc55f7631d4d3abbdd0bb2f10fca425ff5a4d2df9c0b3dbabb75d3cb26225582bf13825e4e30e396e032f5c7b88274f69c85deb369337b260fd2d6ef44aa191cca75f73c15a3b9db93efd38e06bea75e68063508e66e167a7709687b1f9e01340522eee87a873a5942e041fe344e7467a8537874617d026052ae21a30066b66ec1c33028ed62f4e45f8a2c23c9dd0d4ce70a027cb5bc5abc9004920280702f97b6ed0afd15eb5ba8a468c1a02cd18e24af1f515084a13e940e5511d6ed3851deb0dda0de205414224242f73c7b13b8e1cf28a6a5fb7f795c58067867e97eb04ad35fc843cb664136e822afca4a22775f2257e9f4ae648600d228d7c99d80be2bdd65ead80fa94b3ab167e823f605fb0b6a993430aa221d02437fe7cc5a0e6f235f034b0ac222336b10786acfbc9c264d98785fd30c7660725b0e9092e552afd9bae3a3d8f375e69ee1428d8c83e69faa9851b26d5a028ee5e9ce951e721695c154c75de58ca475ca39bc829266170074faf4bb924690869cb7fd899a4699e3707c7c8594e6232c4c513fb7c9bc3619775849be726c4001b6c6da284f297853d30f02e2e3440f5db4c04d1f90c291d5d00c00cdd151bff06464a5e3eefb368ead9a67327a68408b53ebe7d6aa49ebe110111b03035d3cf754db75992aaa06df788d706dbd40e9d8cae13 -ss = 6bd2d8e04aa7d13a4471e47f19b57680c69e07ceef5f8a3742cb12f685344567 +sk = 7ec737ebf52eb7905da8b3c58508928dd74462e8968a1265bb3b9780649210c8202e2950ac11863bd78af3123ae9899ceff1992608cf5bd1b4eb0ac1c13ccaab4ca89a869424bc1af777cfc7d90a071273f5aa5df310493fab17ce5b6477c773d8cc81d995509ff3a40ce80e734a9e8968b7fbe79a9900ab85f7b442077a890688dcba0bd5e64ae491ce5d39b554e6b82b7602a149a686c19fcee21b8e3b1792e7529f2307505c77ed84a63a68258e832bf0f118bc05c91a6b216ebcc051b90143b9748b365ec841b6098c4eece8aa8231bc24b03e732a0ec55aa5b0e3231efb7c7f0ab21e2544072c22b6b4075049b63fba05c68a936989baa2e55ad1846fd1e335568b01d4acc869e710357708bdc25db545447e41727224545ca8c16bca5458eb24d746a12e170ef191cc8dd840e26910cd9484b4e40d0c7446959a521618b9bc472c8001ad0d1c8428c43c0fb3230fa9b17694284375a0e1563fdaeab6cad367c9949c4723802d6931f0c212b03004675652b958518d31c8d4b06dfd99820702319e668dffb5c88622170b0c0eaba56ee7b77ef5d7600b9c0bbbea5b99e05a9443bb81a68c22c7904a1755d4c80a47ac148ed13c3981c6bf4122a7880fdd597429a32d6046981146743ae85cc8c0ccb715937f29c933d63ab475c2c5483ce07acc5b8bb4c7456398a9236d02bed9b951f6d43a67ea06f7fb803acc33e9552e7150c34003a2e2e11bfc0badfc537eb2b69122352ffb62b285b6cb0935adfa0385dda074f7a63adb76bcf4a80aa83a1c32f87be3a786537acaa32178b136c8bf817ac1cb1e25b44654266f4b2b14f33358b9b75a2d916d78e89d3cec68b782734fe052449598d847b2a02c3056a64e72c5a3b34685e9fb2c0037736e0a21df39a356310777a36fce908c243a4a50216b6199cd63c7bdb18b95fbe4615e9799757176fa4a88c93459bc3030e09889ede148890cc221362472586e3c026b0dc10ba5a823f07acc1c693e9bf31518b90359b7aaec54473552835b3590174109337b6171eac38de29bdef8095da13a8f7014b3f531fc152ca5eb19859673d52067e28c7513141245376baf368b07627fb1b844fc033361994ffb3b39822a2a2de17597d16601329866f42c3697a6f5132dcea2140b871480e50523c3c5227537a5089fb6742cbfca55ba9c307a321abe440241e34151b2c2aab6ad55817b115330c0b15891fa35bf344be7d93ad44bb27962101982902427242f5b06f85204e738aec7a333a15001252004b21b5e6fa95a41a4456f74c9522657a9a40f8c4a162f4951cd5bb8a4f334f45a3a73266e1c386caed53ab52b9a4dfa173b96869fba6c72987f4b328a0e56a08c96a00d78854d6762ea2394c2a102162143cd40192749cfbc5031739711f1ea8c37db5b635bcfe9b6396e2902d56bb135eb8975e1b0a171258d39a7ae84aabd46baf4dc2a6ff18fb6002ce232b7a45a532dd54d3da8c580d6cea4209098930477d207622a7cdedc2e72c24eaf5787d4b2b461889d23ab93a4ba327c371eff58cff7f65738886abd046895834aa06a6cb57973f1011353fcc1452b015a324c406515e9290aff4356fb393b57f4066077b2152819b6a69d6072bd4baa364578557fc727a6519088a183e1818dce9c5bf808ba36e539b40440f1ec994b46a4a128ce3d8063f608cbba032ab13102cdb3c725603d14610c76f542ea4b641c411d8297033caa114d086d00ad711224c585f4ce74c401cdd3bd8a893a04aba0fec1625bb997ea24766b5a3059983436627718d83ca5499b7612919705ace8553d475c68530464e2745a82b1c2c7d152e3da60f0b26bda3324f751a40c5004bd510df886a8b6f488af3b36a3e50ba362250e34c333b4567b812960c8301fca1946d58a52e0847e164c780254ef75c0f3ccca27ca8afb711bc2a5100e535633d0115ae135b5464c33c7c4c614350b562fe8b641e92583d49546cc4b2b45fcce125acaddf67c786acefbc919cc70cbb8a2ca1b8353372c3894fcaadbe2693f09cbb0783c4df1635818cc06c5732b846b8024b9456307358212dd0649abeb4f83910f58f90fbbc855f86780cc85a48fa75aa6bb5b25050a15588c1ed63d107b7e4b6a9e3f025be483a52967c249e7413432816bc8ad6aa29e75da4a8045b8693056995a847dac15ff49b59a1b9aeb2188c46214fb86a8ff8138c5e8b63d6c29447bb60a56210ba594a3027f4d7667edd310b678523e87830a469e5a758024fcce5a7741a7368c790cbd86204f6ae2a71c2a6a0ce80d14f26e53c175318cca9fdc5fc0a110f6834e1a32986cbaa0f0283376b25276b304dd4c9debf7ccd4c98bb1e605abd84bf824a61f5218671b17918432b32359feda8cbf822c62e86061ebcaec22af3ddc83b45252166a55fa2b3942e346a688cff13272a092c22c5c156ae0b63214bc7919aa90847f9de579c6eacab9690c6281685f4184736092d7b365c2d0aa977b0999635cfb0c44a8193377205a49033fff2133853a4559ba895f0b5b36f2cced166f7dc4aa6d064e6223a114580b58128dcb30b5c8da30b97a497300061c9cb9c7eca6924b6c6b19469645a443851e59248a3759164c02a8a86a9d1e86c51907074c7003e1e0764ea650c9aa9f1ed14831363e56104d4126bf09207d5544c5696a69daf7a748ec7be4b2cdb3c628d5a302f1a82eeefaacf731c5ce3bb6a26a80e7414044087487648e62f9c5d9e29cebc8b5bf111995616b8677778a8cc6b55618a26c6ba74753a2d943fcfb838b6a14935a38cb96906fe2008d2ac8622b50ca4a79035a403946180fe69844020bcc093bdba58d1496ae7dc5741ff16b5b5185a86277ab65c92551b48180972ba55580cb8cd274bc58a83041c7c0349191cf7c9be0a24f23e81e9892c2e0fa979fb4aeb3648ac64534e6c3823ed28cb24569e0931506396140b72f059818bd483d70c8132bc38ad19b995cd9859bbb06342ccab0180e8471c77ebcce2cd9a09d32c7de1443f6c588ac2308612b3b3cc51c670c935a91b973063a31703047a630ec03375831a3357940d2285ec8363bee2b8626656669b36875875f32592e9fd5c1e48879e58746dae41a9e8043ad3975de6c0f59f6588376682c770bd2cc3e427ba50070a3d1572fc7a61f08773d60bc1dbcfb087d726372d23bf89647ce6792f1a12fb87298fff567e6ba833423c43bb157b507009d46c8bed6704e5b23e5c431206bc3d6ca5665db9051d882be08b714950054a6c0a341bf953c4936830a74db1e7236c5cc3b49ffb6230c02978b63020ff75e26f375621b26730aab7ed79dd7facf6bc7a038b779bfbc43866123ea910c4620363a8b885c7017741a22c35506fad12fa5e2360c55aa99528db32709b41c79e7a1730be27ade379ec986239cbc98c3e2bb818b3c33c29ce1b6cff56a58f97c0968e83156a5617a579e13fa208c840591ab630d942ff415479c8343230a9f150b39b1e8259a839eaa370b9a083f50a8992c2b90321549a15b482b752c65c11dbd5b302e630293d2463a47cc54a02c6b7784ebe8c6b487b185898887f1590ed21c1c757d248cb712b7449f712082b7591b34604af799f9b5ce2aab6ce9464528418b01b1abd3e4598ca45022809a708460eb72bcb708c5bb8c272ea187e0158778760b7ca864b0fa51347b4d7130a2ecf4140a8988b94498db660229f78852fc149dd9c5692c41123a6f1310743c892f761345d2f685e5f3a924e620d7122cfadb4f8fbcc95f5a65b31728624ca247579dea035dd5839dc6bac581e63202cb56b978c6a08c3e3d5a340100ad8384a2955462bd703237d331eb7742349876eab4c2c933133d3c833d185f129c5804aa1453b0947da3cf3bd44051f70de00b3cb28396c180b501e70157c22486f8a82282652bb21fc23c3bc123b6c3d6acdf079906b149ae2b52efdaaf3d9b0ecaa92ca9d8694bf07d4229835f3a0a21253877e1a39b4699039041abc8c0b3f6aec29bb22e847131670c0e7b5abeb2455a246d03b6066114552476a18c23b013a812d65a15d021c117f926607c076892499056c1bf058c52ca1703a0812678b4485b82814bb6960a86c3454b99b731cfe15ca5ec005f866b28235036e632b89cbd9aa4a6e70ac944ab82661134ec2ba3b871272864a85ef61f86f51337651eef063fc6f07a39d3ba7aaba5d7357506c550bed913788947a1863a25209cd01200272517adca5f1087c984e11f13404d046c5537711c56577adefaced330230a42cea4e13d0e899394f120ec34c2a6054e5d2ac90696115515345aa2125dc6464c584216a9b0018b704e8640ea163b617347acaf453ae235166cdd8afbffdaaab9919f0cffdc75d8796fcc28cc20155074cd7cbd43ec2380dc6a71b3a88c9a4bf168ab2bf426a899706fa5973390c2faa8e2bbdac1edf5a5b6803bfd3c58dcb1ace60333d03cde2c71737f55 +m = c5d2e4c39ef9b75e3691b929f1618699306802adc2d04bb0219418f7bb0d2b19 +ct = a869672ce6d31e63277e013b14e456f7a07cdbafb9db8326e3b49fd01f9783c1c910d0cc0b2a17376515f651582e978dbc1c9293d76c5b3a637743a27f11a9b1cde06c1509ab24903d0eac0c57783eacf5a2cb076c8fc1f0c6505b17809a727fa6d2de3816b98d12b4c9600aa02ee66ceccaf1644f55dd1e0652d190aba984b5bae858f45782c429a0b19fdaf202cd4bfd49e30887b544caef3d734f4784632a4518faac5f2a96839cb9434f385a596a6a07e500f778f67a989e0fb14d7074491e80784e25a75f64e06ba02b355fe63e02a894417431751c3ebf229baceb6eeac5655898ed3abf4864499a83f98cc7a3a7ab80c2976a9f6f26a4b2798e2f77b85697f0f2956538cd342b5a066e3240f7d5bd2efd2293d898dfba1e522f70e97460e4db38e5116d8d2be31bd9df4110ac470b0c3276839cd22295e0cb5c3c9ae6c07afafb09ed87d025ad175a9a0cd7eefb432ae2e46c547356a8eb464736cc8f80592bbcc8bc5768a2ee1b1130fab9812949ad38d47c7d29a6dd4322370f5710e7cc259d236534cc27629299d30908180144197e4784b7039d3586eead982900ecd087b9bff0e2fc850d17262103873f0f27d8a58350f55f7ad0946b8d65f75f9c1690a6c061e53ee66a5fb70e358a294e4c8e2c0921a9ff6dcaa368270a8dd6ba9d0d603e2cc1248436e155abf043a920108c121e55b46e69cb19b4dda8a659c88d468f209dc13f5be217d5f15deb6ef5eecf62c7ad65d62ce835735248820dd7739c18b1a8db73e8ac8fb88030bdd8a9340127132842048f9bf79007c3b953b81981c2d6451196071c328ad5e47cc9a519cda48ed301d5d78d7dd672ad18e8f1a3f99bcd6a2bc50d0290e5997e430935b2f11d4a3172c2c101a86e71bcd337dd1b06b164a33ad3057a4bccad03bbc51e6661329b15d8a0d0728614274518cde22cf965a0fc17a75c68171787811be553e1af8aec48e33c8b229ef7af07b56a4ed71d9834971e9d88461349bc210dcc2d1b0846017f21c7daf046decc8087cf04684913608966e298331f56401a5f136b82a5cad317c2ca2c4a536da3e6137ebc59975132f0ab382326acb36d6444739050be3aa540e61f9e6476f1f0f4189165a0656737ab0eef07c4df7f68a5fbe334dab903865942c9da713e8bcace55b8008c4b872664ed6febd503e3916784a471204dc95fd19f802d240e14362f1cd115494dbb74196b032ef5b87a0aca04f792a340ba430b055065871ea6b6b22b4b1beb51cf954a47382e69c32ab1791e21a191f3bb6905fe0420891e996b9c480b0fa5ddcb55ef9b4f68e4b6d1288299ba4628e2bdd64486392ddaa27e420f3003103fa5ee407477b90fc6ee5dc27912ec2c8e1970b29d1936efc53f15cbbf325705a671272293139e2fd80218842dfd1cea3c1083bd5ad321d002be4d62106be22c078a639258452f93d4ffbe483ef818a360311b90c8a3cfa8ac7637d0977545d694433d52fa38e9193e31abb5e65da86dfe6ae3b37e7c7cdc13b891d4bf219ad6dae04412084bf2c7b4745c8dcccb4916aa0fecd6f1eb6cbdd07497d8a3094d4960bcd4fc77defd1720e1f19427095ab31efd09320e27c72c4365a19eaa7a2ad29fb64cfaf5abf05b10bed361377e70bb49d5ee564b0894e317d5504410c4e6a15d625aa239166750ac6466e12c8a02aa5271642abd16fe003a5eeda0e8285d1df084635641cd0df2ed7e79e94cbd970be94a030bb21b196933debf5f80dd1394d64bcdad96ca22863806b7478fbc0ad2a5cc6fb22c5abfe089679e2d9405641795342928a31879befac7ffc6f40a8b378f3f1add6b5df37bee12a610d48a463164922ded75a939753bdd49173dd592521eb2eca8974f97bbd095a912f8b0240b76d59d050f1cfaf49922057f8c6f396795b11155f2df1dcde689e76e4a9573411e39f0f91c8929af4d233b4e80df357f13a1ac45c3987796d1b6dc6433d406e7febb4f84821fbf95857d4d21f89ef42e037908e2575b99d7edea3eacf7a7f07d60cc71a1f0921fc84f18193f5ddfdaa4f8535c10a36ddbf9753bbd5256f76f323235305102633d580c30789096017640f0b93b3fda40a2dba8ede02244cd53f0426eadcc9abe287d4d4eca85d23513278d16b19e22fc7f1a97a9888dfd7b8111af921ebac818694d94584111aeeae3310091f84c6b348ec946675358baa1ba +ss = e38ded856acb99efb9d67536f8765defa3915aea016b4a306f688af752162449 d = cbdff028766d558af4466ef14043a1a9cf765f7748c63cc09dceb59ab39a4e4d -z = 8e9a30597e4b52ffa87a54b83c91d12a5e9c2cd90fcac2c11b3a348240411a4c +z = 605f30457945f8b1560010c71b40717fee3264a27ebae2ac8abc16267fb0f3ae pk = 6db66dca0819602701895a6e3a2071623403b78438977211d33331312c8715e34929757ad52815c65806ea8b222ac2a5b4b718411732d6a0137c5c7ca8e285c02634130950e1143160f6a34cd64dee440b1b3b8d64458c78492095517892c5a169eb7ae87733aef3b16a5133788ace5fe57cb41ac0e5b13c403441d374aab997500533744714a84dd56ce547a10c782d6071bdcbdcbfba391dd44926022b9098e61d079b2198c4c4201295964aca9d703013341313a50a9b124427209bbb248aaf96ab9efc9028cb9a298838465984647aa1e2f4087c74ae23f2606194447e403ee45198e29c12aef2ccb0c4b07c98a02987068b4a4f14a778be34c362204ed4b31788e3b7d2e54d74e07a215c7eefbc3067f9c67e625bb43b9ce25179f58a113bd2cbbaf85c34ba8fe26a331e0b0610893e0947495cbb1e287047da04527cca1ac68a2ce1742d8c855576941b4d627f0d326a7e543497f09fe1fa536e997828c19977b0b82ceac4c45a3c06fc9a2ae8a1e6c461cac9af21e79501817d8894004c5586c78c1a54808c37d40fbe3171f6e950e287850ed19d975446fdcb1b0cac2d4a611d832acf1c20a28c164201638110e0997fb36b2d24c6b349c390d4a13e06aa95c40e878830827a440985870a4b6288f82dcbd9ae23175462fa054d2a9c6f6210a1a7cabb9a6ee8e37ff144043ec0123c2c0c4125ab48775529a86462c34c00b128a333844b7c474a9ba5e6087392ea661d56b4dd0a8cc1e44ed94b994915a716a27b1576561f681e346ccb74a07b71938676c25eee2a83ead225afc408cbf085a4a342ddc2b058c6a138a94a819c737b6baf4a4493c38a52c1452a302535dee813f1dac31e09402cf720a3b16751451df057bf1b7519c8a62e1be69e339910e6024c59c13fbac116d6a6578ae40765f78a7147b5dcf93f4eea1436b559ae373888042c63c0a52cdb2777e8699afc229d575ccdf802c59c15bf3b6f028494594b53d2f3cce339229b3a03eaeb164f325686590f79dac06f482254838e5af209cdc31f9a5bb893961c5576c445a02034088e89140ec2b28cafcac58ad352d0ab34d0659332d9266db85bf57bccb67814bc74c107c41dc2f30e6330b17b4b710cd7ab0b1c01d9f82d3fa0216e51198d723f1e52314e850220052309a383e63b774370713435c6b9a3485ff3b83009b79de7bf5a5933723cc94db671f25a5a85603fdd8b392a616f55c3783c28b5308a4b0a5c1c757b677c475c60516a65f656b4868cdec6bfa723c66e52931b738e18cc518cab93a7c942e7db127d239c11580c21c71031f20079e9506ec57119688e0df98e4045b77e87728496c2060c93f4819ad2a79ed10501498891828080f4841a8af6602e100981124f6a16c26f3380e4d3635fd3cb77cb6c8eac22ba212a804917b922218066241e848e3ba589569a5a6420019370ca04bc196e88cf2f428595f1912fe9670b9ac97c487ee2e7a77a621ab3b9b2e4c23c5d4c8657277951b55aae576524769ca5b83b37d84868367d7e9323d9ca4cb7071c352ac3da2b3ac58525a152a00ec268f85ab6559027ead8abaaa370751c64f51473b02126d7b3be27812bb008c45797c1b4b05b5cbb8c2dca419f85be36bc390ef5c4d3670c8ef7c00b59a44c65ad11d68c5af4b2b675cf40c002a1b7844fc9a6c32886c74a1892a2514cb930e4387904d1970168181f7b43c020a8071969b868a5b44729b8d04b3ea9716269cc005808bad63d0b063f21c23ad1377e80bb07d608786d849d79eaae94813435d602214075bde7bad770b28b380bd0d7139a7780588c01c8eb6622f1a874968c874b120ff81c988c5684f3c9ba677add2c23400283d6d325d8289473f557eb1c2977f04e95fba614ba7613720c704905f7a73a2834996a4232a8ac278a444fe5f7a9148b57124580b7b03df89ba646aa4233611da9b5327d61b6b1aa351d25988e0c25e6e2563168c005666ea90852183231ef5ba371935c4c0abe6b61c0a1da756ef390c120621af2ae243089f84551185616779c90ace0593b815dc5d8b2d5726a2cacc97e45c527e75849e35b7c5b77fe436c303535f5c690517ba60be7aaa4a001c002374ae97f0cb99f34a4c2c0b85f36eb31ac7c907999bc7335b33921c307c05f69f90cab5602a0c2e966ac7c67b03ef5106f0a751017b67cc52a3d0e1586c74513d2b5f13260 -sk = d62c6ce5e7594be682a8167743106a44482e3a79ce257635773513f0b0bf77a161c8274a705b93d2eaa899d8c0126ac8adb7b3bbb5891711380da1a9de0541e4160dccabc13a165b5c54178da95b919457c684b9cef81e97637c73f22a3ce9295de79bedd83c3ff871087b9412301863e291b04779457807abe4687368c84b3408e26aa30bf58bbe4bbded32adb03607598714464222524b3c2cd4c15f98a2e6695463257bb8fa9a84131a64d45a57b9a539094b5e957496b79008878396d3b9b2ec41cca75b66fa6d069a51af611d4bc03e20cb12a216072d7834d996ae99e1cc6522a42b48c54282cd0ae8cfdd1b874fbb4ec17434ad584af5b4561bc1597aab63390b60fe7c052e57846e1a8c4f6c6758798b70503507554946382fa6e2004a616a40dbc2b0c596c2cb2873c38e6ff82ff159ba93563d23671dfc433949d3705f398b3752680169657623937a8c357864c39d82c16da5c1ee407fc7fab357c0b114965e89815409964ccdc54cd8d5b17039aa9283a59e746a45a2800e4806064683c292b425c18f73aa2f720a6521a050c5196bdabc9b094895b9527759c1a7210958e11a3411b05e67097fce2c11ed024a85a22684b51edd652ded89c23e1440ca5616bb754361c549776222b8b297f8f4bb7f818d3b29b16c369cc8ba9d91e6012bf006999c7057aa2a44c30237314079b2a55c63990c3ab657cb80d41022651097ed680d200195be82a9b9d08b24f039bffc42c66459b0c8889dda6714b63762494a5e6106f34223990772b1cc12dc660f5be62eb0a15c16d4a0303773d768c7dda7b749711f7c12720c150d30ec6b625624e3f94861483be03271d8b05780ab62e0294a8cb193238530b49455718c872428bea1d84955f54a3bb619dadc6106ea3ef27094a085634624377312648ac46559d7a7dd902497aa9f22879d131a08b9223a05e5b76a00807225b304480f6105cbec8a11cea18e8910a9bba691047c95676c9e2dc7ab76537691dbbee397738c613e1fb00a79f06698c10ec26c97dc00b82a54af572a02801aac20983311f42bca18699a2684e4b5aed83c7ad89a1705f1605a87cabefac499a56058d8b02bd597743524a90c3686d9405e33c3d70880b6449d41a76f83e23759664f1f301d3935998d690a7167afa11a59cf8b87624283a738c0d221b1b55453504ab64fb89824351a49ebbcc291465af92f50d7b53874c1190a766dac5e70706f88097be4500942534df5e5887c48b234c11992f32bf3f2867cc055d7d6c3a4d25d2a141be7d706bc1203814667552888e3bb13221a10dc3a4157d811a7ca23088ba5aa1a3fd60c0c6af29b3b52aa6da319d8e359d842c6dc65c29eccc0523115d15b19a7b90d1090c5949cc66a004f0a0513132640a284a87384c7ed06782607584bf5cdd8f099acb0229cc9588b024b0f3b5ba80b962218b3bce4c0f542bac9e8c235362e33ea30d789094fe82fbf64569907755ed7bfd00c3f6f446deb00a27b37bb92e454aaaacb69dc854532c718c85508ac8742c7180ea805a78999111915bd414275e92d75c1953c10968c802e4aa6429eca0a5ef49fb4046ed2c93914400b0d882b67c275c483037e859c8c01518ee49046e3594a311320e800ae2cb182553684d470df629b6c27a9cc5c17a0855443262983e800b9375e0fba1d393953f1da232c41bb30600e3f0596fd3c786223a165522bd60c8a2d404bdfc0a145f50b44fb1cf3e8ad9b1914f3264425627635bb9734807b408215fb0c6a617c695025bf43e225b1c54d261052f33a825d65730ec7519c9087ff5626a244a1e28669d84bc8216a09cd224dec7623425023d05a51f98b8c220cb7b2dc46b6aac461744a30a671eb828835dc32efe47fff21370e73123135ce2e02789a21b03e1c55167c3fcca2343db1cfa8d11e838948382084a7890e619c652ac49c64a3879658c419c8c813309aef9bb606d126a652bc331329501c61f97196f7db1a398a0b6d947cf903a9bb61119c2c45f8b440f29344fa22c2d9b1cecd5786089402c6b649d8563236fab8d208be6967b14074cefbc7aa44c02766ecca8f0673787b33c2dc2c7501be94770e68608ab06aa5410aceba544a6f8792c4db01c07c1bbf197e4d17388adb05fc910bb3bb0b947c21c482256db66dca0819602701895a6e3a2071623403b78438977211d33331312c8715e34929757ad52815c65806ea8b222ac2a5b4b718411732d6a0137c5c7ca8e285c02634130950e1143160f6a34cd64dee440b1b3b8d64458c78492095517892c5a169eb7ae87733aef3b16a5133788ace5fe57cb41ac0e5b13c403441d374aab997500533744714a84dd56ce547a10c782d6071bdcbdcbfba391dd44926022b9098e61d079b2198c4c4201295964aca9d703013341313a50a9b124427209bbb248aaf96ab9efc9028cb9a298838465984647aa1e2f4087c74ae23f2606194447e403ee45198e29c12aef2ccb0c4b07c98a02987068b4a4f14a778be34c362204ed4b31788e3b7d2e54d74e07a215c7eefbc3067f9c67e625bb43b9ce25179f58a113bd2cbbaf85c34ba8fe26a331e0b0610893e0947495cbb1e287047da04527cca1ac68a2ce1742d8c855576941b4d627f0d326a7e543497f09fe1fa536e997828c19977b0b82ceac4c45a3c06fc9a2ae8a1e6c461cac9af21e79501817d8894004c5586c78c1a54808c37d40fbe3171f6e950e287850ed19d975446fdcb1b0cac2d4a611d832acf1c20a28c164201638110e0997fb36b2d24c6b349c390d4a13e06aa95c40e878830827a440985870a4b6288f82dcbd9ae23175462fa054d2a9c6f6210a1a7cabb9a6ee8e37ff144043ec0123c2c0c4125ab48775529a86462c34c00b128a333844b7c474a9ba5e6087392ea661d56b4dd0a8cc1e44ed94b994915a716a27b1576561f681e346ccb74a07b71938676c25eee2a83ead225afc408cbf085a4a342ddc2b058c6a138a94a819c737b6baf4a4493c38a52c1452a302535dee813f1dac31e09402cf720a3b16751451df057bf1b7519c8a62e1be69e339910e6024c59c13fbac116d6a6578ae40765f78a7147b5dcf93f4eea1436b559ae373888042c63c0a52cdb2777e8699afc229d575ccdf802c59c15bf3b6f028494594b53d2f3cce339229b3a03eaeb164f325686590f79dac06f482254838e5af209cdc31f9a5bb893961c5576c445a02034088e89140ec2b28cafcac58ad352d0ab34d0659332d9266db85bf57bccb67814bc74c107c41dc2f30e6330b17b4b710cd7ab0b1c01d9f82d3fa0216e51198d723f1e52314e850220052309a383e63b774370713435c6b9a3485ff3b83009b79de7bf5a5933723cc94db671f25a5a85603fdd8b392a616f55c3783c28b5308a4b0a5c1c757b677c475c60516a65f656b4868cdec6bfa723c66e52931b738e18cc518cab93a7c942e7db127d239c11580c21c71031f20079e9506ec57119688e0df98e4045b77e87728496c2060c93f4819ad2a79ed10501498891828080f4841a8af6602e100981124f6a16c26f3380e4d3635fd3cb77cb6c8eac22ba212a804917b922218066241e848e3ba589569a5a6420019370ca04bc196e88cf2f428595f1912fe9670b9ac97c487ee2e7a77a621ab3b9b2e4c23c5d4c8657277951b55aae576524769ca5b83b37d84868367d7e9323d9ca4cb7071c352ac3da2b3ac58525a152a00ec268f85ab6559027ead8abaaa370751c64f51473b02126d7b3be27812bb008c45797c1b4b05b5cbb8c2dca419f85be36bc390ef5c4d3670c8ef7c00b59a44c65ad11d68c5af4b2b675cf40c002a1b7844fc9a6c32886c74a1892a2514cb930e4387904d1970168181f7b43c020a8071969b868a5b44729b8d04b3ea9716269cc005808bad63d0b063f21c23ad1377e80bb07d608786d849d79eaae94813435d602214075bde7bad770b28b380bd0d7139a7780588c01c8eb6622f1a874968c874b120ff81c988c5684f3c9ba677add2c23400283d6d325d8289473f557eb1c2977f04e95fba614ba7613720c704905f7a73a2834996a4232a8ac278a444fe5f7a9148b57124580b7b03df89ba646aa4233611da9b5327d61b6b1aa351d25988e0c25e6e2563168c005666ea90852183231ef5ba371935c4c0abe6b61c0a1da756ef390c120621af2ae243089f84551185616779c90ace0593b815dc5d8b2d5726a2cacc97e45c527e75849e35b7c5b77fe436c303535f5c690517ba60be7aaa4a001c002374ae97f0cb99f34a4c2c0b85f36eb31ac7c907999bc7335b33921c307c05f69f90cab5602a0c2e966ac7c67b03ef5106f0a751017b67cc52a3d0e1586c74513d2b5f1326077fbe004761fc37fe7597638e5dae8b44bd44c8d6efa2893a0a84b104ace6ac48e9a30597e4b52ffa87a54b83c91d12a5e9c2cd90fcac2c11b3a348240411a4c -m = 6b5a14e1473abf5a33d44975ca2088bd8fa6fddcb3f80e8fd5c45b9d90c24a5c -ct = a25251eac95d0ed8fd5987bc0be8cc706c2f11accbc1cccf6c6b9860ed4e9143e162bc510a5cf4f4cdfb316a34f299ed2104e7a43f837652d1a3701073c7d67c7592b62ae2de528240cfcfaba0660533c4bb91c28094acc649e25525a106b400d65a97adaa95ce0252778bbeb37c745fcb495b19f4946092c09f5aea15f6328a746b0db67c8a3803b4261a4d06342c597b49ccb34e58b8151fe04e958059e1f5ee7dbd7edd88e44792e50d56e484ff1a04210f659f7fae0d7719b54d12a37f2b385f433f625e2d6031146179981a933fd784ba457dda7a1b0c345304a47f14e17d7c517981d98d8b1f00edcd8f419bb6c18e3f9a85e06467a87901ba1931f561f237b2649138fbeaee0da7f3433d887fd0716389850ee6e3796ea5f5a6fb369c147eaf1c986f39918aadb2b31268b565a448fdeee496c19d822fd8a855f5dd27300de28fb296b7154f181a3f8f8a9f8d55346bd112021d21f9a302e4311c74428184e8f9ab8f49d9dd80b3a114a3be5f8f31a4bde4a9616cf5c5728c4889ecf5fa3b09052160832baf78dcd1608a9c7585277123dca898d148f9c4b2f99a65808a6cbfba1dd8ca0245925053f35e6f386decbef3bd0eaddc1d9ef9d1fec35afc555213801966dfa3f62a1cb3c8c902b917764bd8acef321ca65354ee975c42c089d5b3a9c751ab85cd68d0467b98efec7056f3fe8db40c1d4e4d2832971221538d78e87341678a84a4fb3fbbdfad9b534c101a19bdb5e2bf47a1f5165d5cf38c40f70c44e32cc73f912ede8afeb9221e391a78306d10b7d9b6b3f1c800b5034f34e97e1293aee9b3a942c25de3411c2ec1d824a66d15217b95a1a6738c9969f0a679b4d70023353e7aa57b53cd394cbabfb05e133800a966484fc738d85c5f192ad27322f973e1b637f1cc154667291e744a585ef29bdc24f128f901222341ea2f852121acb01cb9145ed272fef08c5243589e6e65e0550e8b1de4693134564cda918a157defcf5db1b7b50371b7745a4a2b3d4aec3c4f447cf6dfc392a52a705f3659709f863a2ae58be1fdfd0d8d1a976cee0804e3b98aae079e73fb7b050e9aefb48a701cce0e049ae8e0e4eb662cc6a69d76727c231a7eb4721081e859c44d7a61c560cfc70e81a1c961bb83928ff84fea7b6c490dbe815c77131d15f2343f9737de106ef87a9b6d5e26c57291ef04458efd4a3af174260503487b4ea8a3afacc84b436a262c689475bba3c0b93905b35f2fb27da3a3f8fcf89a2b6260116d0206f3c7ba253806b01a44980e4a7853b52ae2cafbfee28c9d05a0dae22e0a2272054aa83995f334d3cecfe37bf60c3d42b700d48f441414386233de6c0a902246759208309c06b2d19b3f904ea33435ce0c34ca659e576b588c94ef48fe64bcda8690977b46091d2a638b425aa0938ce70f8ee717b7b698075505489713d848fab96189ebe30883d66b5be881c6418bae692197735430b67a67f5c6904483815f6f716c1e70f8f175857c688815e4c6185e6fd1063f41c483687e334f9bfe5f21b81383fc591f688b81d881e6e2da6f84d05677a53783affef88360b8f6dbb27d2d9379b261e9e68e7f7b56220978a665b4db8ef3598b14027303997895be5063ec0a79f7bd18f359185191ee77aa45f21b16e8c8351c9f6b2e1676e639f4c56dd50dc51bee2e6e5131b93c7a15bc18a3fd1c69bd9626c4f24032a2ef7b21b15698b8be5757b9771702b825a3e5317b7a3707ff35feb67e89fec8df07a0e9b560620ee24a550a691e95cb241f7952edf4fd13262a84e83eeadf8863a7b034c7281dba651496932dc9b45933d3cb56fda6f3baf9a7b80c3554d1551287f0a64096495b97dee7c998f3779f4723d3495f402a2eff4625f409da0955d5845ca1bdbb99e3526012554a462bcfbe6f831dcb0efc0b47072ce4e2605cdca1f5f158f6befec0681c7fb6524859fa794c54d79c91065ba2710b054edf1957d1ef7413c7491c4f27f1f20ba47a8a292ed97517484a1448d983f372583b42a57b584e3e3ab24aed11050806d5e25ca429ea00d5419350c1ab13be0ba52700394701653c821ca75a018b274033d1d8cccef3ffc281ded568b571661f99f56df5254162ab2c5ff0a627c8e45628e96d0dd341032a32511bb1944c87c98cded94f54c209e3e05f1b046c8a93a8074ad85b0a4c7a1af28c411de1c17440d7357540f4267f29 -ss = 31368c4d4868ab3f70c39958f6fd1fb362fda25d2036adb6eee383415bb4b157 +sk = d62c6ce5e7594be682a8167743106a44482e3a79ce257635773513f0b0bf77a161c8274a705b93d2eaa899d8c0126ac8adb7b3bbb5891711380da1a9de0541e4160dccabc13a165b5c54178da95b919457c684b9cef81e97637c73f22a3ce9295de79bedd83c3ff871087b9412301863e291b04779457807abe4687368c84b3408e26aa30bf58bbe4bbded32adb03607598714464222524b3c2cd4c15f98a2e6695463257bb8fa9a84131a64d45a57b9a539094b5e957496b79008878396d3b9b2ec41cca75b66fa6d069a51af611d4bc03e20cb12a216072d7834d996ae99e1cc6522a42b48c54282cd0ae8cfdd1b874fbb4ec17434ad584af5b4561bc1597aab63390b60fe7c052e57846e1a8c4f6c6758798b70503507554946382fa6e2004a616a40dbc2b0c596c2cb2873c38e6ff82ff159ba93563d23671dfc433949d3705f398b3752680169657623937a8c357864c39d82c16da5c1ee407fc7fab357c0b114965e89815409964ccdc54cd8d5b17039aa9283a59e746a45a2800e4806064683c292b425c18f73aa2f720a6521a050c5196bdabc9b094895b9527759c1a7210958e11a3411b05e67097fce2c11ed024a85a22684b51edd652ded89c23e1440ca5616bb754361c549776222b8b297f8f4bb7f818d3b29b16c369cc8ba9d91e6012bf006999c7057aa2a44c30237314079b2a55c63990c3ab657cb80d41022651097ed680d200195be82a9b9d08b24f039bffc42c66459b0c8889dda6714b63762494a5e6106f34223990772b1cc12dc660f5be62eb0a15c16d4a0303773d768c7dda7b749711f7c12720c150d30ec6b625624e3f94861483be03271d8b05780ab62e0294a8cb193238530b49455718c872428bea1d84955f54a3bb619dadc6106ea3ef27094a085634624377312648ac46559d7a7dd902497aa9f22879d131a08b9223a05e5b76a00807225b304480f6105cbec8a11cea18e8910a9bba691047c95676c9e2dc7ab76537691dbbee397738c613e1fb00a79f06698c10ec26c97dc00b82a54af572a02801aac20983311f42bca18699a2684e4b5aed83c7ad89a1705f1605a87cabefac499a56058d8b02bd597743524a90c3686d9405e33c3d70880b6449d41a76f83e23759664f1f301d3935998d690a7167afa11a59cf8b87624283a738c0d221b1b55453504ab64fb89824351a49ebbcc291465af92f50d7b53874c1190a766dac5e70706f88097be4500942534df5e5887c48b234c11992f32bf3f2867cc055d7d6c3a4d25d2a141be7d706bc1203814667552888e3bb13221a10dc3a4157d811a7ca23088ba5aa1a3fd60c0c6af29b3b52aa6da319d8e359d842c6dc65c29eccc0523115d15b19a7b90d1090c5949cc66a004f0a0513132640a284a87384c7ed06782607584bf5cdd8f099acb0229cc9588b024b0f3b5ba80b962218b3bce4c0f542bac9e8c235362e33ea30d789094fe82fbf64569907755ed7bfd00c3f6f446deb00a27b37bb92e454aaaacb69dc854532c718c85508ac8742c7180ea805a78999111915bd414275e92d75c1953c10968c802e4aa6429eca0a5ef49fb4046ed2c93914400b0d882b67c275c483037e859c8c01518ee49046e3594a311320e800ae2cb182553684d470df629b6c27a9cc5c17a0855443262983e800b9375e0fba1d393953f1da232c41bb30600e3f0596fd3c786223a165522bd60c8a2d404bdfc0a145f50b44fb1cf3e8ad9b1914f3264425627635bb9734807b408215fb0c6a617c695025bf43e225b1c54d261052f33a825d65730ec7519c9087ff5626a244a1e28669d84bc8216a09cd224dec7623425023d05a51f98b8c220cb7b2dc46b6aac461744a30a671eb828835dc32efe47fff21370e73123135ce2e02789a21b03e1c55167c3fcca2343db1cfa8d11e838948382084a7890e619c652ac49c64a3879658c419c8c813309aef9bb606d126a652bc331329501c61f97196f7db1a398a0b6d947cf903a9bb61119c2c45f8b440f29344fa22c2d9b1cecd5786089402c6b649d8563236fab8d208be6967b14074cefbc7aa44c02766ecca8f0673787b33c2dc2c7501be94770e68608ab06aa5410aceba544a6f8792c4db01c07c1bbf197e4d17388adb05fc910bb3bb0b947c21c482256db66dca0819602701895a6e3a2071623403b78438977211d33331312c8715e34929757ad52815c65806ea8b222ac2a5b4b718411732d6a0137c5c7ca8e285c02634130950e1143160f6a34cd64dee440b1b3b8d64458c78492095517892c5a169eb7ae87733aef3b16a5133788ace5fe57cb41ac0e5b13c403441d374aab997500533744714a84dd56ce547a10c782d6071bdcbdcbfba391dd44926022b9098e61d079b2198c4c4201295964aca9d703013341313a50a9b124427209bbb248aaf96ab9efc9028cb9a298838465984647aa1e2f4087c74ae23f2606194447e403ee45198e29c12aef2ccb0c4b07c98a02987068b4a4f14a778be34c362204ed4b31788e3b7d2e54d74e07a215c7eefbc3067f9c67e625bb43b9ce25179f58a113bd2cbbaf85c34ba8fe26a331e0b0610893e0947495cbb1e287047da04527cca1ac68a2ce1742d8c855576941b4d627f0d326a7e543497f09fe1fa536e997828c19977b0b82ceac4c45a3c06fc9a2ae8a1e6c461cac9af21e79501817d8894004c5586c78c1a54808c37d40fbe3171f6e950e287850ed19d975446fdcb1b0cac2d4a611d832acf1c20a28c164201638110e0997fb36b2d24c6b349c390d4a13e06aa95c40e878830827a440985870a4b6288f82dcbd9ae23175462fa054d2a9c6f6210a1a7cabb9a6ee8e37ff144043ec0123c2c0c4125ab48775529a86462c34c00b128a333844b7c474a9ba5e6087392ea661d56b4dd0a8cc1e44ed94b994915a716a27b1576561f681e346ccb74a07b71938676c25eee2a83ead225afc408cbf085a4a342ddc2b058c6a138a94a819c737b6baf4a4493c38a52c1452a302535dee813f1dac31e09402cf720a3b16751451df057bf1b7519c8a62e1be69e339910e6024c59c13fbac116d6a6578ae40765f78a7147b5dcf93f4eea1436b559ae373888042c63c0a52cdb2777e8699afc229d575ccdf802c59c15bf3b6f028494594b53d2f3cce339229b3a03eaeb164f325686590f79dac06f482254838e5af209cdc31f9a5bb893961c5576c445a02034088e89140ec2b28cafcac58ad352d0ab34d0659332d9266db85bf57bccb67814bc74c107c41dc2f30e6330b17b4b710cd7ab0b1c01d9f82d3fa0216e51198d723f1e52314e850220052309a383e63b774370713435c6b9a3485ff3b83009b79de7bf5a5933723cc94db671f25a5a85603fdd8b392a616f55c3783c28b5308a4b0a5c1c757b677c475c60516a65f656b4868cdec6bfa723c66e52931b738e18cc518cab93a7c942e7db127d239c11580c21c71031f20079e9506ec57119688e0df98e4045b77e87728496c2060c93f4819ad2a79ed10501498891828080f4841a8af6602e100981124f6a16c26f3380e4d3635fd3cb77cb6c8eac22ba212a804917b922218066241e848e3ba589569a5a6420019370ca04bc196e88cf2f428595f1912fe9670b9ac97c487ee2e7a77a621ab3b9b2e4c23c5d4c8657277951b55aae576524769ca5b83b37d84868367d7e9323d9ca4cb7071c352ac3da2b3ac58525a152a00ec268f85ab6559027ead8abaaa370751c64f51473b02126d7b3be27812bb008c45797c1b4b05b5cbb8c2dca419f85be36bc390ef5c4d3670c8ef7c00b59a44c65ad11d68c5af4b2b675cf40c002a1b7844fc9a6c32886c74a1892a2514cb930e4387904d1970168181f7b43c020a8071969b868a5b44729b8d04b3ea9716269cc005808bad63d0b063f21c23ad1377e80bb07d608786d849d79eaae94813435d602214075bde7bad770b28b380bd0d7139a7780588c01c8eb6622f1a874968c874b120ff81c988c5684f3c9ba677add2c23400283d6d325d8289473f557eb1c2977f04e95fba614ba7613720c704905f7a73a2834996a4232a8ac278a444fe5f7a9148b57124580b7b03df89ba646aa4233611da9b5327d61b6b1aa351d25988e0c25e6e2563168c005666ea90852183231ef5ba371935c4c0abe6b61c0a1da756ef390c120621af2ae243089f84551185616779c90ace0593b815dc5d8b2d5726a2cacc97e45c527e75849e35b7c5b77fe436c303535f5c690517ba60be7aaa4a001c002374ae97f0cb99f34a4c2c0b85f36eb31ac7c907999bc7335b33921c307c05f69f90cab5602a0c2e966ac7c67b03ef5106f0a751017b67cc52a3d0e1586c74513d2b5f1326077fbe004761fc37fe7597638e5dae8b44bd44c8d6efa2893a0a84b104ace6ac4605f30457945f8b1560010c71b40717fee3264a27ebae2ac8abc16267fb0f3ae +m = aa9d93a4f2747551ddb0453f9717e1789b64ac9c19ba3da020261936ffaa9ca1 +ct = 46eedda35cc3df42408ff7228da32d7bcacb904be54039756a22319aed69e5e53d7a07005a127cf2b99a3f0106d4e1444baa80a75a91f182519c38b1e6545c2aaa3089a621fd3530f6cb90e503721293976b63c408247e9b7158c1628d7d7c529c821c66e8dd6d57e3032fae1b8387c6ad14b1f74a3ba724b3ca22ccfd3ac553032bf069e150cb9a27524a6611c1c5530e85a4794b09c8a3eae970ed4e2c96fe758914135748f8e9b044012a8e602faf3139d4782c10ca13be2c1e95505cfd81f4954e2332f3a2b0dd01300489af60d335dcc6c80aa9f99fb345be3639c16ce7483f5609ccd76584b97e3f5d6ae3c88b0f9c4557e29e6f5ff6f5061ff8721cb90fabc43be6e773468288b486899ad1ce2767aa461ea473662eafad45987f3f47d3d620e5e016ecac76cb32eed3aa26ab2639f08376b878eca9202d611119677abc7f40cc2e5ac2a34dede197acf5b9d27c5726bc574ff2ad09cd2759b02aea533cba77be12e821274f11891e131378138b516c653af4f9e05e7a6852336ce2d3734b1c603b18612ed4b1f97e252c579e3263e94bdb6e9704dec2f446e2fc02ca1fff4b54d09c451d6115629ab5740787f225d3acb8f06bdabe6b9bff43eac7c4cedea0fd10f6c699cb7a3c9d41b38c170686c2a24deaa19020af76fdbe3ac9962ff1e5eb1afa8d4d730fbbdcb45ff7176d5849b45bd2443888a1dc7ebbcfe7c9131569f6190acef2ac0a62b9a9b667d4681c78e67904c480c821e98fbf4c659641a4fe459449893d8f370f50f31f39214a650b784f14298414f56e7414fff4c5997d87704963f13868d63a1767e41853039f9afcb6b06fa0ab400d1e9888fbb6bc9868d104b871b0b4b16f9e47c535a2b9769d92bb72941fe484c25bf7b8b7bf475966ed509ddb91b28ec2ded2dca9b09d3b1c45f2b2379261aa9e74f37a885639db71cc18c8ca648d3855b3f571cc57862ec1b77045e1347003d017b6cf614a5052e6bdb6b73dabcf5a200fd3062746e310c643505ddef00c1cf8d01b9cfd073f0f86aabee5a602e6bdc1a2e5ba1278887b0b81990222758302c57d27a5088820c5e532a5b9158b09a3f448c79690518ad0e5edb20210f45ec63ee355c102fb732945b0d097b63b980b9c42aca855092fd7e1c25b13b05e0804465bc0e9c02409e072d58591921ebec3520a1cff1ca52cc6c57b8b0f6cc5f5d7da9589cca8374f306e56237c3cb083b17cbf20121d545fb9207321e20cc8cd30ca3636d286e4a282351d869e27eda7f78cc99f1a86fc23aa03a5193f740d56b786dfb53b7506b73d5b87de1268b2472aa839e55a667bc18dd75d9112c0693fe7b7764cb2732d3e67b5d0ee55ccee4e26fea7bb7834210294fda4f71fa9d88cac956722dafaa9d4dfa5d98d1d9adebb17f7fda95f0e42bca1ac681127fa4422d61592f12d93c7041c78c0bec8999cc2dde8f362afd4f8aae9ca5d04707d0fa045b7d29b64291f2be506d340e20060f82b1b639ed51b3cc8feac46b853420ef220a7b180ded94b18c6150ba83eef508153ed4d450c4893005d3b9ff78c063b14abb4868d981f680ece1f08ac7d6a936b422f350bb44061cc1fe5b1b0aac2a8418082be3882a10d485e5ae92cec359420a96eca078efcadd4253fb8c227f87f6812f2e7432ae901254333d8acbd1a7cdfab83f8ac702d9811005d1a2b0d78cf910c8db32430c9e2b6c29f5e1814d6e108f5f1c35239a1a39bb445e9a797bb7b518fb3bc16e7948f9f59edef8ccb14e6069c0e3e8b7ce656682fccb612cfef68b78ea7b720e09ae95c0cd1d2b6481e6723d7283292af59c4854e3935e944f55fd0896b6a998f610ffc298ef5c9eba2d268afa3610d8a162e4c93305bca7611db2d7b3841401b512ea40a0e9d8751774b3d44051e4d96593f2c15d3eaed7f50c4b34f1f933e6183617da55c9cea7748bdede9f110ca127f17e6b84bd41681c4a712877836aa54689dfdd8211045bc41c3a7cdb6b4060d199a74b9d716e490247656edf230f1479b484811b9e80a02d07232e1b643e29da6bb96ad14a9618479b4f5c6d1ede3c6dcc257274f97cf3f1f7778396dcf3553116f9cdf94699b7276b21b1a14cde463498426ffa01f4d12a87da02fb1901566925e5a7b960d33830e114aaf1fe5abaf4339caf1d01a8c262aa936711299eae89abf01600be01034a0044c9d80f2356cc207 +ss = c994b01bf35a43b4d115b784736a6782a5531cd7068025bed51036a2729d49be d = 4c04310bea66305c6ca8ba6b8f61ca96257a67663afc11761f13fb5c7b324b6b -z = 8aec87a9a79204cee2986867a2906eb851b734b8b22b91d6749b1a5f07c44e3b +z = 0a8155459118346a84683de346659727da4b64a1050c5271e968ba9cfdf6029d pk = 3746054cc692001b531bc5a46a5cb02c910bf24519198c1a2f2023a4367e9d2ab4cf5887c756299efba70d9008fefca93a3694d7245ec4649bf578b81f07c1cb37776ffc9c9f228475e0a454639892d992503abfea8b82908a087761bec6ab7d60c1892f41bf1f99c6ed256b64c78c93a316b31272d6f236371ab2ab77123eb732ab303a5e89485f702f528a38e1920f12ea72bba8868c855e305425d84a5edd11918b4cbbe5c0001a5637bf8c022128b81de80509ea72a0f66ad870257e529a31cbaa39183f006a0fafac0fcd7781f1033257d766f78b4c4a9b10c5b8208a40368b393a39e7762467463b29a7baf4307285b898aa0bae485a63e739ba5a7a080215f4221217fb43177635aae61f218850a1d924052a9c0626a7f11646076176215152b5508db2c52da7477b7e2b0659b999148a214a12b9a3e770998b1a26cc984a9a96aee4c52b6343078ab8bddacb00cd5c744750e379970fa94368429f763991911681c1ebce5ac515bd5663308361e2b068332763752047ee14ab31b914e2d28457395cf61c69ecf3834d305af9ca18decc6ed39ccf69a79c379044ced7440a248963c269b6b58a049a8077e0a0981639d581a8c38a16f4296af798cd2556889e9697ba8156714166f10a57c970c6131386d9154894d495deeca298e33de4b09a94dacc2cca1d816708fa1b1b5e0a7e8046143fda893f0b3eb2b60ca7a02878729768fc82d8b06a05f647916a9cb84b69ce532edb5a7ec4eccda5a5a4fe8c52ebec6584e6c0465529f57699706cb9a497c2e96757af06783a4aa6a00087079803a4d834c7f5cb839837c1b5c1318bc21447791c4694365c401abc1b8d0c8eddf679a8ac0fde11917376a7063339f2c2507ac02ccc512c7a75b00de0701124ce3057a8c28687b2576c640bd0ea5422a534aa4bac9fde1735f35112c98528298218a1f051d54231f7ac5c4353be2205c3b6518df442775b9771ad19ba9252698bb6cda102cac759a5a0734cf07791a38c7ca940a86b584457559e7b933ac5750c4c43785ef61f5c121f8f4175570c7ccf864c4bb7c49c606ebdf7950e49433a841643f78273e117780a5e1e4cbf3e0016b45994c1821686d41133bb353dba0fb8d7c10158b0bb58605f1c6b8806b2ce7ac3095356bf7b50e63aadb0e0baa50199d80050dae3266f228134a4c67ffc5241a757e0dc2485a64d4907934eea5fe503653311c4ef24bf09fc3f0388c88ed9cf965ca8a109297be60893559a0f3696e77b38d677a7e9f4c788d67046c28281c8a7f71ab250e77ad87b4f64237077d1a63b753a21b088c5149af5d40b928401e4c407e71b6896b840d8f717e627532f3cc604e64b84204730c8330ea35228580b4b886518e9670d6100826560f9623045291ebad1ae5fe6840c30cbe69ac54e62bad8010c98c513956534beb356cc6555c1c4225b7862c4651e55c4452448063b4c04e105b63daaa90f9a6b0769b161a32f49fb64010a91e0b4410d86b7bd4c91f421ceb091a88ed9ac5e01c81527886897a8e6697c7571ad95b818f942a5692459f9979ac7a8078883aa8a445a5af84b1b86c4c79a224a5c8f3a889eee0c768af29fd75a506ae75f9d578c26c8645bc8a8bf0441b6da2bb27b6baab43031047c6b826fc98766a1661be0626cd2c37864eb23f4240e5fb601dd645ffdd9898396273d3000d5486cdb67866751378350068a8439944ca11f9a5e7959ad43bc1f5cc8c741a220bee733aed2a41edc34fbcbc890a718f608794802bed150a0398b0a836a68cc0b58dd705353a41f28883cacb94c797b8cf8d23cad9bb9a18c53b372c50aaac124fcc07b310907988f38164f46d70305a381e4a1673145b0bfd8ab91a02c28b86e1dd95c365bc88bab5e526aa9e30b7694cc67c45057dce459a4f561e9c8aafcbc491a6a7269734f0658acaf753ffdf735cc0cb3c6a1c7e1589e98cc995a4a2b21288057fcca694c0c00e7ae05d861b90a520eb34002732a2812368931a18243ac62f34cd7027fd80436d0454aed978115034407e30dc19813c5100c3e13a26c3283d4a72e254ac3f7e637d9435281180dd6fb35f0433788d470b6216b310a63d5e11b373a073dc8098d3950819937e7f66ff954caae52b3bb86c80b5680851170140a1e59ba0b23179f5e8095765ef7a13bd38f9fed3bf36477916cb802690a213c83f6624a067a5e2c -sk = 212393fa68c40d1153ec29801f4472db30b8e6516647cccc6a160bdac4299d515717d46bb4248673d11558d8af5a6373720a9c96a4c51bf12ac506cbe51b560ab742ec684ddf86cb08121bdd412e2476842d051e3182c415c49b7184c9322242f70b63a960576296a8af5451f5d474019c47e1822e2b1503d30cb8ea20b3cec334a2114fc2381d910a98e633716ef9ca2f7939c7033bab756371d6c2e906061df822113c57dd5992c8826adecbc9ae381931473558ac94fe8a19c9c4bea3dc40defbcbde234a211623f8d80bdefc74f657a797098ebbe2b6b57438c2253f89d13bcbd5c0c4204def79bb37859e36e920768ca7d0651a7ec9bb63336698acbfb6c9a384084defc1bf5d9c050087b691d40344e107bef0241bd99463532a05b795f820213392cb16d668605ca86df134c03c4a7df581f8ca7daf732f5aa75146457163c3abfa9c655f966a607a69aa1234fd1ca2a97213f280a10e84c4aad26c0ea2cba6773d63b39ef7350f6d284830ec3275e5bb9a318b03f87cd3f3bba41632c0f9a1e65989b74b91b23a82bcc22d617aaf8b14c10d0037ab970b8cebbec0cb866be5057964b7cae6c9b3084a696602a25961dc53558c065d6d8b25248aba262b1b635322bb82165a8cbede60bbf6b72459d47b64a964b3c32ca563ba5aeaba8ed912d81b2e733b4b4587a99ae5037dd21dfc9aca5d869596e36547c0336ae774b8ba637622a597c05dcd43b092d938429886c708448b24a45a701ce9fb9db54c67bb531bcfb82ebc15c127409b02a3350d6168f1296784b86f7310b9160681f0133a66356843401b9c0414d7f687aae41a36857ccd3b26bf8c11def30769e30630169365aa3c3b53cc89d9cf47c2cc6c166f197c9e5c5b2408b03c41b0613703cc4872be78dcc4b28089d7118ca1186baeac1355d5b9d4e45515897ae233a26810356a373dcbf6cd5f02cdde8c468be006dbc67e60a69908d1171d4a5ec1643b87059cac80c259788eaf195f4fbccfc4c0284be822f94c2978fa119371291657b927f8b332124d61d17e21a36485d2c3f2893865f305589a8d048b06fba7bb9f087f96d5785678a7f2d16c892cbb2273677ed0cb70f5729af0a0403b0bf0608acec1ce32f2924535c16e8423be0c8854e439ea395dd792399dc98aeeb7493b64965858be35977dc053b3c0b3788fb4244cd3b49e40934f90b454c983da38b2b5c88521347788f832e9c64a6cd012511234275c9f6c251442a87b496743333a161d8c04e3d78be3097942aaccede09b9cb673e1fa261be71dbeb5c4e1049b2b2a00311acad4470f8afc85172476b949aefbc0110a261461291b5ff7a74697c88ad40c82770fccf68b9ad5382125879e637b7cebc1aae95b03219cf2488b2e3b2e51480c8cd8022c2092470236fe6042dcebca24cb9ee9379386d80e54c232dec93b99b694e99ab5e41cc8cfb8928d5c08edc7a707044b49b8a131986a3f37bcdbcab5255b64b4905a93a719d01a32384a87543b6ba1a22db75c9baad257bc8b9d8b78641b394c7ae064087454cfb17b307bc35a97cccb842602990747d60f30d220ed3171ffd7a2b77049dc210e2377607b817f24c011dd736d7918874aea4bccf017fe3b303eb7b30e426099bb2c90a0b269e88390b5879706b163e1b27194ad68b26204b512ea145c43b029ff20898ec589c6691c7fc5857b387bb1916b407a641ec14d01c82dc7f4a179a3558d8abc8af937a3b2682d638e3881329e484b28bb1ea4a9b6a20097f3bc145345b032ab8051d44a8615c9780521429bc1007a28e3659433ea295789a004002fe980c2d1043761eb7416338b68f688221ac004512c9dfc7889241311f78145699361cc1c46d55a0b5c1303789a3c0c4c57ea1fc14b8fee92798a188d165982de273cd9970be03279dbdba64838ac127b78ef4b16c3105fef180d0b936558aa005bfc0c2c5a2a00ca207a49675db34b0029ba77f76eef65646ed13bfea533e5536683b2402a380b1426b45e1b83e498758393907cd4999909812e823828752d4b956925892a0d038d2c695ccd22bbfe0062b5eb0b9c370c54e31229067df3d0b513667be7e54f520839af94c6d71a066309004de4cf7dc98802232b77b10dcfb266ded346770b8df09768a5099bbef238f72b853746054cc692001b531bc5a46a5cb02c910bf24519198c1a2f2023a4367e9d2ab4cf5887c756299efba70d9008fefca93a3694d7245ec4649bf578b81f07c1cb37776ffc9c9f228475e0a454639892d992503abfea8b82908a087761bec6ab7d60c1892f41bf1f99c6ed256b64c78c93a316b31272d6f236371ab2ab77123eb732ab303a5e89485f702f528a38e1920f12ea72bba8868c855e305425d84a5edd11918b4cbbe5c0001a5637bf8c022128b81de80509ea72a0f66ad870257e529a31cbaa39183f006a0fafac0fcd7781f1033257d766f78b4c4a9b10c5b8208a40368b393a39e7762467463b29a7baf4307285b898aa0bae485a63e739ba5a7a080215f4221217fb43177635aae61f218850a1d924052a9c0626a7f11646076176215152b5508db2c52da7477b7e2b0659b999148a214a12b9a3e770998b1a26cc984a9a96aee4c52b6343078ab8bddacb00cd5c744750e379970fa94368429f763991911681c1ebce5ac515bd5663308361e2b068332763752047ee14ab31b914e2d28457395cf61c69ecf3834d305af9ca18decc6ed39ccf69a79c379044ced7440a248963c269b6b58a049a8077e0a0981639d581a8c38a16f4296af798cd2556889e9697ba8156714166f10a57c970c6131386d9154894d495deeca298e33de4b09a94dacc2cca1d816708fa1b1b5e0a7e8046143fda893f0b3eb2b60ca7a02878729768fc82d8b06a05f647916a9cb84b69ce532edb5a7ec4eccda5a5a4fe8c52ebec6584e6c0465529f57699706cb9a497c2e96757af06783a4aa6a00087079803a4d834c7f5cb839837c1b5c1318bc21447791c4694365c401abc1b8d0c8eddf679a8ac0fde11917376a7063339f2c2507ac02ccc512c7a75b00de0701124ce3057a8c28687b2576c640bd0ea5422a534aa4bac9fde1735f35112c98528298218a1f051d54231f7ac5c4353be2205c3b6518df442775b9771ad19ba9252698bb6cda102cac759a5a0734cf07791a38c7ca940a86b584457559e7b933ac5750c4c43785ef61f5c121f8f4175570c7ccf864c4bb7c49c606ebdf7950e49433a841643f78273e117780a5e1e4cbf3e0016b45994c1821686d41133bb353dba0fb8d7c10158b0bb58605f1c6b8806b2ce7ac3095356bf7b50e63aadb0e0baa50199d80050dae3266f228134a4c67ffc5241a757e0dc2485a64d4907934eea5fe503653311c4ef24bf09fc3f0388c88ed9cf965ca8a109297be60893559a0f3696e77b38d677a7e9f4c788d67046c28281c8a7f71ab250e77ad87b4f64237077d1a63b753a21b088c5149af5d40b928401e4c407e71b6896b840d8f717e627532f3cc604e64b84204730c8330ea35228580b4b886518e9670d6100826560f9623045291ebad1ae5fe6840c30cbe69ac54e62bad8010c98c513956534beb356cc6555c1c4225b7862c4651e55c4452448063b4c04e105b63daaa90f9a6b0769b161a32f49fb64010a91e0b4410d86b7bd4c91f421ceb091a88ed9ac5e01c81527886897a8e6697c7571ad95b818f942a5692459f9979ac7a8078883aa8a445a5af84b1b86c4c79a224a5c8f3a889eee0c768af29fd75a506ae75f9d578c26c8645bc8a8bf0441b6da2bb27b6baab43031047c6b826fc98766a1661be0626cd2c37864eb23f4240e5fb601dd645ffdd9898396273d3000d5486cdb67866751378350068a8439944ca11f9a5e7959ad43bc1f5cc8c741a220bee733aed2a41edc34fbcbc890a718f608794802bed150a0398b0a836a68cc0b58dd705353a41f28883cacb94c797b8cf8d23cad9bb9a18c53b372c50aaac124fcc07b310907988f38164f46d70305a381e4a1673145b0bfd8ab91a02c28b86e1dd95c365bc88bab5e526aa9e30b7694cc67c45057dce459a4f561e9c8aafcbc491a6a7269734f0658acaf753ffdf735cc0cb3c6a1c7e1589e98cc995a4a2b21288057fcca694c0c00e7ae05d861b90a520eb34002732a2812368931a18243ac62f34cd7027fd80436d0454aed978115034407e30dc19813c5100c3e13a26c3283d4a72e254ac3f7e637d9435281180dd6fb35f0433788d470b6216b310a63d5e11b373a073dc8098d3950819937e7f66ff954caae52b3bb86c80b5680851170140a1e59ba0b23179f5e8095765ef7a13bd38f9fed3bf36477916cb802690a213c83f6624a067a5e2c49cbe8daa7dac02d7795e907b037e2ae56624fdc8d7c6320f9e1e69dd0f6286f8aec87a9a79204cee2986867a2906eb851b734b8b22b91d6749b1a5f07c44e3b -m = 40e593754e6eddb7f9cf176ba2d5fd1087c90ad377556d0b0f686537b1a3165e -ct = 204b5ee0d83fc9d826a273cf29d1779f760cbc65fa91f1fc6e83c73b995b5d40ea0dcdeb1c2b1934092635942c578b3aa6b34904d121e654c7943947787332ed70c4d6ccb757bc072fa0255bfe01d44fbe9d39f15e3586c2b1d2a3873f72abaa81d437d05064ea6f6e8639939ec55ee649f58fc579e72652c052dad96ac892802fdb13816f72accebe69651e5e0cb2427c1d28939ec2d4f6354ed604c7159024ba52c6d9b25211d0b116e0f4916690460eafe1e71b7208271240c4aa50bf77140e05f366a746d0cd2d6877e4e10616453605bb76cffbb7ae4ea5de25844197e910231b3e95c6c812eae76cd6d899e451c27321978afbeb52b361bd868d87afee4f02f999c75c22e746233dbb5ac6251469ef6286d24569281d7c19a04583e3f1e2f1acfb294e71e004123cae4fee118b9402adf60a2aa0bbd510d86d7e09d27c3ad5ec24c2bd856efae6720df22992deef7008822d0de2a12ce0b9a0755e7ad3501ee0c1de095f9069db96f034ff3de8a7472e9c70738a5a2c5f92a317d18b2bfc09ae29d60b9729bd51bd75c2e7fda1fb6aa95fd2e221ce68cdc8cd2226021ad2b0602ef649bd7d02f6fe94b2c4a8539b4a81486550eaa8d90fafa91d0786d59fe00cf8f1604c2aeedc887b0d7c21c2e084639c5079885ee83975756b4b664030e174d06064fe7641e6dfe908b69669500e1a24283a8e8515b02ab6fbb7ec22bc6ae92da5a55071f75accdc3f8fb37354f667adca2741d4b28203f1809f0f40df0d371b1fa19e0c1d0031cf133cb24412709efa25d7e2b214c77f65a4b0ef7ac1eafbbb531965567473dc77a7b6b4b48d7469b0297ae71d216e842c61cbc737742dac0a6c864a4ae9129189071232e81e7cafc28b51c46d789ca498b890dfc1bd49a30d9669d93dccc64523c2742cecc17ae5ebdd74e546c9a48ca0f0d919547920d212cfd0561665b14e7dc1d960f85ee5b6bc954be7d92e516ca54d868accbf9173ebec1bef5248aef1429bf58a8b4b771df634576eae1b32195d0fef8f282f1ac5fb5027a3f012e9850c006ce7e46e1798b6ce8cbea1edc61005ff6d01b11a5f3fd308ca716b93cffeede3037f2b4cf2f6564f8c36ef1d71bc2aa76f185ea1675eeb059f889612bc23cc585488d67e5ac24a1f1dea6fee9247eff8324fb4423e8035c0be938a8a388c43f418a6de7b979227a12f0692e3ed2a01c311424a0c6d8dee1f964e1c5f7e7269c2bb92b5625a9181fda9bf4cf602f5e1a53a70996f609288ee1cfd2cf1d08ed5e89b25f27141f3ef391d3eda8b671558ee472dde3e0650dc65f6ed9933faf7cab90278bb893d8971bc359dbcdb6d0eff2b205d6f125abe81c97d432d3c6838736960f91893b260d40e826c377c93dcd0324e401bc42fbcc8182614145d18e7dbd401189754f470d4f1def4d8d9ffc749bcc4852f7e6f3b0fa28e945a0165ebb26e607ed465a60825e28af720d72b2a7095c3b28344139de1191c96c81138933259eefe19c1b03c477a7467b75d47e490938c3e22eebab2e8043c8cc3bd8f2c5e941fa5b9c61d5d61ed90ee8993614b350f3d2ca19b079548e00cf7f89881bf89730bbd81beadeecc6c7bc0e11c71c756f8c2b04e1de23274dbab38e6948c272544497951a1d09183b6d5f0a8028f5e047f4ba4c71109266f3e13a277c2efcbad04ac213f498bbaab0a1da678dda669cf0f07083052ecbaf756f4be38a7087a0a8f12339a0a5ef98efc27de1a01cc78996dbf313f7fcc54b0a0e242dc374df2f0ca435650fb7b048da3a3abd388aae6303ae135433559f72972488956fe871b46f94b5a374d1c32f92754152d3e74f565d720206451f43aa7030802134bfd61d6ca6547fd6a45ea33dbe2da19bb6309f871efef6a620def90116304c4950c3cfae78984b7d43e5e246c016965183419c4c684125155da12bd92a016e34c0a2b858f37ed0ea8619e02a6b302a9d64c0bc531f1a30167365e4ba9b099ebfb8a39178286d9a34e3b59d5d05a4fe9a117156f99f811b8f0fb427527b0c85c43dacc3c2343fce42f4e69759a6197d578cd8c453e3082c1fe4ad4955f0211a34258cce7736e7483b5de4ef99f898ee96a49f3a6736545e5639bd5a736b0da8023b90dcb37cd663de50778978f1399ffbe2bbe608967f397b21a12238efcf158620df94c841f70a52feed8ca5a5b821de07ff415fae2195e -ss = ee9ac7935801b07c6e475e293ecbb2fdc0fcb1843665a53025c643c48465d7a3 +sk = 212393fa68c40d1153ec29801f4472db30b8e6516647cccc6a160bdac4299d515717d46bb4248673d11558d8af5a6373720a9c96a4c51bf12ac506cbe51b560ab742ec684ddf86cb08121bdd412e2476842d051e3182c415c49b7184c9322242f70b63a960576296a8af5451f5d474019c47e1822e2b1503d30cb8ea20b3cec334a2114fc2381d910a98e633716ef9ca2f7939c7033bab756371d6c2e906061df822113c57dd5992c8826adecbc9ae381931473558ac94fe8a19c9c4bea3dc40defbcbde234a211623f8d80bdefc74f657a797098ebbe2b6b57438c2253f89d13bcbd5c0c4204def79bb37859e36e920768ca7d0651a7ec9bb63336698acbfb6c9a384084defc1bf5d9c050087b691d40344e107bef0241bd99463532a05b795f820213392cb16d668605ca86df134c03c4a7df581f8ca7daf732f5aa75146457163c3abfa9c655f966a607a69aa1234fd1ca2a97213f280a10e84c4aad26c0ea2cba6773d63b39ef7350f6d284830ec3275e5bb9a318b03f87cd3f3bba41632c0f9a1e65989b74b91b23a82bcc22d617aaf8b14c10d0037ab970b8cebbec0cb866be5057964b7cae6c9b3084a696602a25961dc53558c065d6d8b25248aba262b1b635322bb82165a8cbede60bbf6b72459d47b64a964b3c32ca563ba5aeaba8ed912d81b2e733b4b4587a99ae5037dd21dfc9aca5d869596e36547c0336ae774b8ba637622a597c05dcd43b092d938429886c708448b24a45a701ce9fb9db54c67bb531bcfb82ebc15c127409b02a3350d6168f1296784b86f7310b9160681f0133a66356843401b9c0414d7f687aae41a36857ccd3b26bf8c11def30769e30630169365aa3c3b53cc89d9cf47c2cc6c166f197c9e5c5b2408b03c41b0613703cc4872be78dcc4b28089d7118ca1186baeac1355d5b9d4e45515897ae233a26810356a373dcbf6cd5f02cdde8c468be006dbc67e60a69908d1171d4a5ec1643b87059cac80c259788eaf195f4fbccfc4c0284be822f94c2978fa119371291657b927f8b332124d61d17e21a36485d2c3f2893865f305589a8d048b06fba7bb9f087f96d5785678a7f2d16c892cbb2273677ed0cb70f5729af0a0403b0bf0608acec1ce32f2924535c16e8423be0c8854e439ea395dd792399dc98aeeb7493b64965858be35977dc053b3c0b3788fb4244cd3b49e40934f90b454c983da38b2b5c88521347788f832e9c64a6cd012511234275c9f6c251442a87b496743333a161d8c04e3d78be3097942aaccede09b9cb673e1fa261be71dbeb5c4e1049b2b2a00311acad4470f8afc85172476b949aefbc0110a261461291b5ff7a74697c88ad40c82770fccf68b9ad5382125879e637b7cebc1aae95b03219cf2488b2e3b2e51480c8cd8022c2092470236fe6042dcebca24cb9ee9379386d80e54c232dec93b99b694e99ab5e41cc8cfb8928d5c08edc7a707044b49b8a131986a3f37bcdbcab5255b64b4905a93a719d01a32384a87543b6ba1a22db75c9baad257bc8b9d8b78641b394c7ae064087454cfb17b307bc35a97cccb842602990747d60f30d220ed3171ffd7a2b77049dc210e2377607b817f24c011dd736d7918874aea4bccf017fe3b303eb7b30e426099bb2c90a0b269e88390b5879706b163e1b27194ad68b26204b512ea145c43b029ff20898ec589c6691c7fc5857b387bb1916b407a641ec14d01c82dc7f4a179a3558d8abc8af937a3b2682d638e3881329e484b28bb1ea4a9b6a20097f3bc145345b032ab8051d44a8615c9780521429bc1007a28e3659433ea295789a004002fe980c2d1043761eb7416338b68f688221ac004512c9dfc7889241311f78145699361cc1c46d55a0b5c1303789a3c0c4c57ea1fc14b8fee92798a188d165982de273cd9970be03279dbdba64838ac127b78ef4b16c3105fef180d0b936558aa005bfc0c2c5a2a00ca207a49675db34b0029ba77f76eef65646ed13bfea533e5536683b2402a380b1426b45e1b83e498758393907cd4999909812e823828752d4b956925892a0d038d2c695ccd22bbfe0062b5eb0b9c370c54e31229067df3d0b513667be7e54f520839af94c6d71a066309004de4cf7dc98802232b77b10dcfb266ded346770b8df09768a5099bbef238f72b853746054cc692001b531bc5a46a5cb02c910bf24519198c1a2f2023a4367e9d2ab4cf5887c756299efba70d9008fefca93a3694d7245ec4649bf578b81f07c1cb37776ffc9c9f228475e0a454639892d992503abfea8b82908a087761bec6ab7d60c1892f41bf1f99c6ed256b64c78c93a316b31272d6f236371ab2ab77123eb732ab303a5e89485f702f528a38e1920f12ea72bba8868c855e305425d84a5edd11918b4cbbe5c0001a5637bf8c022128b81de80509ea72a0f66ad870257e529a31cbaa39183f006a0fafac0fcd7781f1033257d766f78b4c4a9b10c5b8208a40368b393a39e7762467463b29a7baf4307285b898aa0bae485a63e739ba5a7a080215f4221217fb43177635aae61f218850a1d924052a9c0626a7f11646076176215152b5508db2c52da7477b7e2b0659b999148a214a12b9a3e770998b1a26cc984a9a96aee4c52b6343078ab8bddacb00cd5c744750e379970fa94368429f763991911681c1ebce5ac515bd5663308361e2b068332763752047ee14ab31b914e2d28457395cf61c69ecf3834d305af9ca18decc6ed39ccf69a79c379044ced7440a248963c269b6b58a049a8077e0a0981639d581a8c38a16f4296af798cd2556889e9697ba8156714166f10a57c970c6131386d9154894d495deeca298e33de4b09a94dacc2cca1d816708fa1b1b5e0a7e8046143fda893f0b3eb2b60ca7a02878729768fc82d8b06a05f647916a9cb84b69ce532edb5a7ec4eccda5a5a4fe8c52ebec6584e6c0465529f57699706cb9a497c2e96757af06783a4aa6a00087079803a4d834c7f5cb839837c1b5c1318bc21447791c4694365c401abc1b8d0c8eddf679a8ac0fde11917376a7063339f2c2507ac02ccc512c7a75b00de0701124ce3057a8c28687b2576c640bd0ea5422a534aa4bac9fde1735f35112c98528298218a1f051d54231f7ac5c4353be2205c3b6518df442775b9771ad19ba9252698bb6cda102cac759a5a0734cf07791a38c7ca940a86b584457559e7b933ac5750c4c43785ef61f5c121f8f4175570c7ccf864c4bb7c49c606ebdf7950e49433a841643f78273e117780a5e1e4cbf3e0016b45994c1821686d41133bb353dba0fb8d7c10158b0bb58605f1c6b8806b2ce7ac3095356bf7b50e63aadb0e0baa50199d80050dae3266f228134a4c67ffc5241a757e0dc2485a64d4907934eea5fe503653311c4ef24bf09fc3f0388c88ed9cf965ca8a109297be60893559a0f3696e77b38d677a7e9f4c788d67046c28281c8a7f71ab250e77ad87b4f64237077d1a63b753a21b088c5149af5d40b928401e4c407e71b6896b840d8f717e627532f3cc604e64b84204730c8330ea35228580b4b886518e9670d6100826560f9623045291ebad1ae5fe6840c30cbe69ac54e62bad8010c98c513956534beb356cc6555c1c4225b7862c4651e55c4452448063b4c04e105b63daaa90f9a6b0769b161a32f49fb64010a91e0b4410d86b7bd4c91f421ceb091a88ed9ac5e01c81527886897a8e6697c7571ad95b818f942a5692459f9979ac7a8078883aa8a445a5af84b1b86c4c79a224a5c8f3a889eee0c768af29fd75a506ae75f9d578c26c8645bc8a8bf0441b6da2bb27b6baab43031047c6b826fc98766a1661be0626cd2c37864eb23f4240e5fb601dd645ffdd9898396273d3000d5486cdb67866751378350068a8439944ca11f9a5e7959ad43bc1f5cc8c741a220bee733aed2a41edc34fbcbc890a718f608794802bed150a0398b0a836a68cc0b58dd705353a41f28883cacb94c797b8cf8d23cad9bb9a18c53b372c50aaac124fcc07b310907988f38164f46d70305a381e4a1673145b0bfd8ab91a02c28b86e1dd95c365bc88bab5e526aa9e30b7694cc67c45057dce459a4f561e9c8aafcbc491a6a7269734f0658acaf753ffdf735cc0cb3c6a1c7e1589e98cc995a4a2b21288057fcca694c0c00e7ae05d861b90a520eb34002732a2812368931a18243ac62f34cd7027fd80436d0454aed978115034407e30dc19813c5100c3e13a26c3283d4a72e254ac3f7e637d9435281180dd6fb35f0433788d470b6216b310a63d5e11b373a073dc8098d3950819937e7f66ff954caae52b3bb86c80b5680851170140a1e59ba0b23179f5e8095765ef7a13bd38f9fed3bf36477916cb802690a213c83f6624a067a5e2c49cbe8daa7dac02d7795e907b037e2ae56624fdc8d7c6320f9e1e69dd0f6286f0a8155459118346a84683de346659727da4b64a1050c5271e968ba9cfdf6029d +m = 8af3dbb32af8dec4843aa90bbf43a5f13686d9738911a805c62636c111b2e140 +ct = 5d977d9381335ff21b72e8250a7d86f523471a1f5b7ae57c465efb766f6de45a3492632ce93019861daa7aff2e224e088ce67ff515ad2c0fa878238dee681932dab1303e45820f3f4ad6c518d9e3bad5cfb8c7ea260e762a2bd61e96f8242025a476bcc2f939f7775b7c05e5d41dbe7eb521b158a71af96b847262f1e7d51b92715a5106cd4f74e598795582b97860b7629329a522c4b84616ab9f3ebc76b9bf8eaf18ad53b579466651169bffadf5d6cd2ec20097615f74896681939e89f12ebe4cff0da279cf9744399dccbc17097143eb8635a052604e18b7523b61355a96e1231d9e2a87060fc355ccc8f41a4b8e5b611b44a65c9f42fb26583dd7a2db1c13b0fe7576c1b8a3d92d50be401f08fe83f1e3078194602f01e745f3b976d01585aeaf04c35c80103241a7c6783b1203101814e50ec4ed14ea2093562636e1b7bc4efe84d0e2adb1b9153de2e65b135d9ca6004c3fc472b5783c9f01000f8463177f86d8f06c6844e9d1fac9871bc5190d03dab666512c565a795e9d733e212d2feb79c2b0b5377a7a2444156c210932c281d828e7150d0c67fd20b7ea86dfb815c4e990979ed6b64c92c8045367f21b4c897f109040f7869fa77372847584bf1b757510887975f2410f331ad1a42306bd57884b66e28375d47ae03b4ccf93eb4271c4b90cba86cd14d226e279e0d71e9f114171f135a9490215849c3d4d1ea28d773bb3817bbe682e512d7c766f50d854d61c7d777d72307e2a9b7d00eb520bb238d67756d74eb6def9ece5d348e32fed9092e34455e3f6bf29c1ffc2848c9aaa8db10887738d2b063fb8566eaf322d73760d6a899a3dba7f0c98d8a78f444fcf1430df61a8ae6bb4eb2b56b4220f68c50c586824375f70b3b17c4d17213568055911d045721323271caa1d65a214469914ea49e021fcb86466396ebbec2099f0a0c612386ae327fc59b72a59296d09f47dc12654a3b0a40d2a2695a67258514999553bcb67603ddd25f6c0159e8355569503746cbfa9c5391ae376d004235faf8cad19493ef296231d5e520468d7ab35e1eaa19fe9ee1783bba25215d3748235b2b6a73a4498f289343233d7cebb995fdbe817e15cc501c09967978d4070290d5c10faba8e11978c237e9aa76cb2004a15b623c0abc3b8a3fdeb59b8fcbc765a09663b1cc65743dbdbee53731c845e5ebf59526170fe84ed026917835bc78d3ff98d2818705cb739f728211ab424debcad193be80d33f096eb56954391eb6116f3541ef199be645f811062d4ff793d074b131691e96b0a81e087c790237c78b03600c28f7c1925a328d733a3e15e43d9722b6823207e61e770264b111b3c8494826e90f7d31d80f6c5b6530ea77c0439d1a4eb72153a2946805fa42770f3ce994175603d22b490588626fbc112a9a519243bde23d92c923a885ed42520215a5b11b494659e68de832db7493383a8a30de2b01972f8a9209f264d213e4d7661799560fd73b45ead62154c59440ed016a3a648db7e61587bfaeaa7eb10278a519f5453caf7f789bd4cb29d36c675e1ade266fa27aa280d7899470aa2d9a15f5c0360f5b7010083ea4c5fee3ffa5cb27115be2d1c11751717e0a31294b6277c26ff7df7ca62febf2901045ce53b19ee57ccdc1c16241023a740aa209fa711f00999d57ebbb58166d58091e8298e18b334227817ed6ac950f346ee14bbeac79eec34a95bfd537562f97e93b5ff635174edabedebcbc4f3142a1cecbe9bbe7378f7c875b4fdcac5c7feff4dc2ffbfa551bc5fff2aac2759f01347bc8215ab925d2db008daaf604d0e0e3db61edb0e42713e1a85808abb08c94e64d8415a3827b8b87bc74697bcbf00b2d950c92b72762ceb01b38b9a723cc8f62bbcf25dc37935a24075108ce4c506348189f9af618501f5e145c089263082518e7d31c8f440945dcb0b8b61c76f0122ae81db7d62e0c39df5641e9cdbe628eedcce8e3f9acc37c457dfb6a79f866ef332dd83dbdb6b2328d585d7ed63f7fa2ed348b42be615a90d8e6dabc83000bb4cca26eb71d137e6de818b99c5b90976a4e06b2b2f1cf403dab1ff74528fd85861a0293dd321f4e00fdc39e3b293f9b3e52bdff529f7c73e9896fd537e41aed7f50ea13344cba0d44c2d6fe4a8b8cc1e8b5aef69e21caa27ef01e893d399f5800b7d42dcd38e952fbc7f3d11da94e300e6fb8cab60a83d1dc4 +ss = 2b914624208a352c440e1ad5620b17e63fa1b420fcff70899f77a723b80c535b d = 38a0d5f41d7dc1896efd1b45b0485634cef149828751b96087a0a6dd81b4d58a -z = a2acf359556df4a2abaeb9dcee945829beb71185b4d6bd18b76e5668f253383a +z = 08ad5bf30d584ae9c8425ab3c8f1fb9960752721cb2c8310cd7bac84808bb979 pk = 8f57212b9b824d071bdbc45143b4663ada61ea72608ea85b82b49075d3adebaa7d01bc9cd916728ce121c1fcba51e42732d76575607d3e574c654043d717afb96532da23924fc124b01026a8f8b859f4bcd1aca153133905904c3be8361200abc6e7ad42f236a0826c03475385153cf538782c7c8a469a43793c3e81ecb524aa838f18042f2075e0a8c58a5c244e14119f5b6d5538385089400e23bc1c106b2cdb59f287c538f32917c202fb682b9c5aaa5fa343a3bb6b147c6c9ce3b4e6e74096e0423db52e7c0099963c5147c2cdc7101b0d01cceb8ac64937186c23b0da108f58f5271e1c5564a7ad07f62f93b4b89ce5bfd28462d4053bf6085cfc254af97c05041b0494ec11daa36facf034210383acf9089d371aeaea975c489211184d55db561c272cba9881acb88159c74bf9671147490fb7a4cbcde1689ee7cd777b3f83c54850e8082e884a7c3b3333d7cdc6318d5347b0160a4b67e46a24d756105c09ea0043b66a74f98599129b52eda51971b60b6c65867b3545139990aff9c088b7b114c03d10972bc6e5a353da85497b95c8bc5dfc156542eba57e96cc5a4c3f2bca53d6a1315c63136139ca954a86302ca788c27b4f82c57ea35bd7c31d5d543cad66bc4ec9b93df67d2b019e56e372fdd7808f4453ebfa3092676224670f79ec579307052832bb4f2150da4c06e8069855573378377c44a9508410cc62c60ad1db5f3077b911f76cc148c354733c0aaccfafb85b0336838ac43f6152bb2845a3de24807102a274d2b33f84392648c6f64ac85d304a4c024d88c0a13f0874231cc6d2bc8d7c99c0530087f61856c000180e78939148212d2b065df99fa51a0e768995a8f3bd71ca82a1792afc7c05f8b07db30aa18dd25180b73d175382158a1c3d5135fdc40f2068c17ed11d32022caeb404c68418e7ba2f352a510cc203179366249385a2db3639809795cab6ac0c11450220d96356bc6b45ea943c5028771eb8c58097966b4821bd1504ba1a1836251047c8468089c58ac851999b7ba017267c3a6e20c5223fe5a41a52044bd5103f5b1d31fb9b0105ccba387cca72b6ff1bb27119005d6a29a6200de9dc2c19d85be067793ed476b0324c24f10a8d106b55c63bb346b9ddf44b9a5a5349b766132824cc955214315267d69f82093642b9c2360c2b57993b1ff2c52d8118d62375ac851f5eb181a24badfc165668e7a36817cf80f5873f87a6dbc3cd42c0b2bee57f0e06c93a9807b0bc32de588808ea0037db50b3bc14bf98affd4400dc9566ed8022a4c7c34fc4369987904b362b1d04cf3451914e5909ef750dbc56af138529a601a261932efd626510a528643693ee79284cc3987e3694cac828ba3964e637925b201e270744fd41190b3b1c088a79f31581b0641917dc161b000fb4a8281f6a6b7b1392949acd277b9901637c3454a058589299c48b3401a2e0f788744081cba76b5ec378bb83789f63962ae2af1175176ff353c1cb3632bc0e206194f4b7367779146df4acb6d89652b946a9b9c2b61c0553360616f90e97fcb190c43faa544891745ca9b97950384de8534626914ffcda63ad302c9f001a361ba7a94066c9d8b1f30111faba3728fb143bd788aaf04491951d541078aa1069741352fdf8c032964717ea1791472a2069cf43da46a40046c61c79cf4a7d1e093526d75b444a08b0ca984f2869026a4432244d662951df52ba655ac54c502e83e8587e21c4757166b78244da2b5364d3299981859cc61a67d02b32b19c8ab31b78146690690096d606befbad0ee628103712f0f81e5fb4bb22e65e9ad1410504ca75d29386f73b53b0be140a5b548a48b05313de873e18b030d6f691322a2409f4603c7bc24c103111fba7dd5acb3f019e7cc22bc3f6b1e6acca131364d0fa0694866e2322281cd229c16aa82116ce6fd0187d4034db33c2b3840db1f42c5df49825fa7c6bd62c31a625616270565a2fe3f4bb50c58597f70e6124c2f46a83c3fcb62ac65a5a66557b22ae31c7813243a1f0c4b905a31a40d44fcce89372ab6faf09318a876bda6c3d4d787dcf088ba345a6814cb9a0825ea860af29b81586b25832356c1f976370496b6fe7493e482e0dd9483e51372b093d37f29b9d1a83c209bd98a363df8a3ae430ba3b2acd5bd679c7d4995a63a8610db945708cb5425ce0c3c651532a43d32473f236519d54fdfe0a815d -sk = 69e774db244d05192a2e064257f3a7b9b08941a2018aca28c610b8bfab59176bad88b9a7781222cb03aabe6a4c2937be24645a28c3a7931240503769edd1865f72b44c4842114980ba64a59a647438c5476a700d0dc4a63277c4dc73a3dc9b59bfeb0ddf0817612ab73ab14378e93fa4982d15131c5016b36a639e4f689e9b6b2d2bb2501e130eedf72afe4861ae7cbe7e717b4c4001b78bac719c6afd40969392cfb1d918794b4988a7c03a23c8c5a751ed2c39d3e18474b43cf8b7814a5932224141fd543871ac102bb0a349153eb4a13ad57ac06602bfc6c1b4425284ead058572a1c7c0cafdc6756555b2033d2ce67f9155b16726625928ea26d13e2c0c0a66988eab99643b4cf23ac68724ce635188dd8b3f2f421e8e8a9f838b707a16fbf27445a7555cfc052982cb002130ca3500cc428aef14281564997d5f37d0a1c411cf73d3d2082e4c26c3bb7beb9fba2d9ec631f8953b3d03075318b4b720b4fb5b177d43c11e8979c640639136fa20b718c0846404b2f0604c55ca82f519241d811a697000dbce1c743410e92922e83446410a93150178a4a2b52123174db128b2eb97df4e8a617d5876ab9977daa8b7845537db0a2b6e0599c0cc165438329d1251d6aa09d5b30f27040082a135c2b831b7722c416072c655c4d511e1fdc0284932849126d49b5a03b3593894bca250b0d198601a02900c9406d8f5b69beda735a3512bd355dad587bca7330364031573b44eb9c2bd103bafb7283c1b923ac3a41f0607d4b7b7e1e681aac9b4090538b6b7975b9c5c64c6196577b7861cc88ed6c3365aabcc9b97a6a318a39a2ba8b17376509a563b58dfbf4584e6b00d56bbbec309164982d1b906635a146c04bad613c02c8e2c2d0597fc285779c628f3e290a84d8710745c444410f129a140358991d601fdc787faf4506c6003e2130c2e03b3ffed39ca3b9bbaaa34abae794d4266e59a80efb44528b2b234d70025767a5dea09032767722c61e53423417458de9e809a42257a27001e9c8ad43b775bc853d8475abdac86811d568e9e38747618aff0b0901283a3913b6595cb2a85b6d42101dcbc90146ab85ea5449850bc9d8b1356f820ef365731f176ec0a0a5b7f35d9848c426f32d6a37046574a93cfcc043614e8708026621a06ac00582da7b64421d4f50aaac1bb10d6bbaea31808712b891344b7b865243614cd706c2dc098b0a069fcedb89ecd67de8319c92f3aa0a9b92a1fa256302587a5859408b5cab563ef1814cea386becd756db669fdf87a003ea1e7654cab281220b21cb234ac1c4b459ee48517bc838082191de35b265d5264119c05cb500a05307c806ae8246128a8194f61024f5b2b7c410689150c0a8f68e1b3a51dfaa834b7c8ed989b351e683af7ba73dd91e9733282fa2559ac53aa2819811190b5827000d98433241a3da2b77f4e588b0088e3d3318cfd049c4777f7b08678144618e2406b9b6b72698888c4529b7e3b272e92620bb36792266c3da4c9c403d1d49650b5530be017c3b99c068890f2705702440aa0bfca823059822c18981a03b16670e127386265487665aca4c171e023621a853965a629757148e37833d31e453dc9b20191c94230833a31089c41324a94010ec097210f45592630d6c1bc28e09551c85c4677b015a7b957b1b4e0eb8886cd77835351458700ef5f170d1d0c81dc920e4cb7d16ca9fb6b8cb6086527106b5508996d24250026470740586eac42011db626ee74a8d7b6dbdea073aeb5f6a8a9f9de70cecc03b203a5bdb2abfdce8798764a88cc84cf9ba31008470904c46c523748a4b39bd46cb527501f617c43c83adcadbad1812ab61aa7dcf71b3fe4128fd087766e87344acc8429743f5842784095d1dd3a43eb7a835044cb990165a8b52a9f43f6fcb3fd4e04ce699a4713c4ff2b19b7205c256f643ce050d467132d635170a4c6c854b45e3c65ac7c24f1fb70eb0b6ae852b3d526a527d41b8f562bf56ab9a44d4b00c371b4055cf36089c905bc8b42006098ca18c58b89cc5cce6a454b02c754f07045e274b3a2a647b17533215c6fee12e7e988fbe692c308866c3a133edbbbce1d4a06931b75c5561dbd87a74cc0197071f360185c680a14ce508bb280895cb2c4ce4007ddbb21a1907d2ac5d4e163c26a3c58f57212b9b824d071bdbc45143b4663ada61ea72608ea85b82b49075d3adebaa7d01bc9cd916728ce121c1fcba51e42732d76575607d3e574c654043d717afb96532da23924fc124b01026a8f8b859f4bcd1aca153133905904c3be8361200abc6e7ad42f236a0826c03475385153cf538782c7c8a469a43793c3e81ecb524aa838f18042f2075e0a8c58a5c244e14119f5b6d5538385089400e23bc1c106b2cdb59f287c538f32917c202fb682b9c5aaa5fa343a3bb6b147c6c9ce3b4e6e74096e0423db52e7c0099963c5147c2cdc7101b0d01cceb8ac64937186c23b0da108f58f5271e1c5564a7ad07f62f93b4b89ce5bfd28462d4053bf6085cfc254af97c05041b0494ec11daa36facf034210383acf9089d371aeaea975c489211184d55db561c272cba9881acb88159c74bf9671147490fb7a4cbcde1689ee7cd777b3f83c54850e8082e884a7c3b3333d7cdc6318d5347b0160a4b67e46a24d756105c09ea0043b66a74f98599129b52eda51971b60b6c65867b3545139990aff9c088b7b114c03d10972bc6e5a353da85497b95c8bc5dfc156542eba57e96cc5a4c3f2bca53d6a1315c63136139ca954a86302ca788c27b4f82c57ea35bd7c31d5d543cad66bc4ec9b93df67d2b019e56e372fdd7808f4453ebfa3092676224670f79ec579307052832bb4f2150da4c06e8069855573378377c44a9508410cc62c60ad1db5f3077b911f76cc148c354733c0aaccfafb85b0336838ac43f6152bb2845a3de24807102a274d2b33f84392648c6f64ac85d304a4c024d88c0a13f0874231cc6d2bc8d7c99c0530087f61856c000180e78939148212d2b065df99fa51a0e768995a8f3bd71ca82a1792afc7c05f8b07db30aa18dd25180b73d175382158a1c3d5135fdc40f2068c17ed11d32022caeb404c68418e7ba2f352a510cc203179366249385a2db3639809795cab6ac0c11450220d96356bc6b45ea943c5028771eb8c58097966b4821bd1504ba1a1836251047c8468089c58ac851999b7ba017267c3a6e20c5223fe5a41a52044bd5103f5b1d31fb9b0105ccba387cca72b6ff1bb27119005d6a29a6200de9dc2c19d85be067793ed476b0324c24f10a8d106b55c63bb346b9ddf44b9a5a5349b766132824cc955214315267d69f82093642b9c2360c2b57993b1ff2c52d8118d62375ac851f5eb181a24badfc165668e7a36817cf80f5873f87a6dbc3cd42c0b2bee57f0e06c93a9807b0bc32de588808ea0037db50b3bc14bf98affd4400dc9566ed8022a4c7c34fc4369987904b362b1d04cf3451914e5909ef750dbc56af138529a601a261932efd626510a528643693ee79284cc3987e3694cac828ba3964e637925b201e270744fd41190b3b1c088a79f31581b0641917dc161b000fb4a8281f6a6b7b1392949acd277b9901637c3454a058589299c48b3401a2e0f788744081cba76b5ec378bb83789f63962ae2af1175176ff353c1cb3632bc0e206194f4b7367779146df4acb6d89652b946a9b9c2b61c0553360616f90e97fcb190c43faa544891745ca9b97950384de8534626914ffcda63ad302c9f001a361ba7a94066c9d8b1f30111faba3728fb143bd788aaf04491951d541078aa1069741352fdf8c032964717ea1791472a2069cf43da46a40046c61c79cf4a7d1e093526d75b444a08b0ca984f2869026a4432244d662951df52ba655ac54c502e83e8587e21c4757166b78244da2b5364d3299981859cc61a67d02b32b19c8ab31b78146690690096d606befbad0ee628103712f0f81e5fb4bb22e65e9ad1410504ca75d29386f73b53b0be140a5b548a48b05313de873e18b030d6f691322a2409f4603c7bc24c103111fba7dd5acb3f019e7cc22bc3f6b1e6acca131364d0fa0694866e2322281cd229c16aa82116ce6fd0187d4034db33c2b3840db1f42c5df49825fa7c6bd62c31a625616270565a2fe3f4bb50c58597f70e6124c2f46a83c3fcb62ac65a5a66557b22ae31c7813243a1f0c4b905a31a40d44fcce89372ab6faf09318a876bda6c3d4d787dcf088ba345a6814cb9a0825ea860af29b81586b25832356c1f976370496b6fe7493e482e0dd9483e51372b093d37f29b9d1a83c209bd98a363df8a3ae430ba3b2acd5bd679c7d4995a63a8610db945708cb5425ce0c3c651532a43d32473f236519d54fdfe0a815da333d474be9bacbea4c301148be2ddf13c3c25d7e4f52447a549a27b6d12710da2acf359556df4a2abaeb9dcee945829beb71185b4d6bd18b76e5668f253383a -m = c152523abd8248bed40c3827bcf0f8e8127037a55c780695e2c28ea3e041a44c -ct = 37773b741cbb328954638ff346d3b1e21ee86c3f6463d12488122ac5f038ae59c5be85aff3086cec6f62544d0b19dc18167eaf9e0ab6152a41fffa8762cc5173a917e270328178f590658fa785b92fec9c1b7879213d581a2df5f61794b8c22bc412a5ff802d00e94e84a46725bb4e285866f04cc4b2e23090c438d660a32e20c078463b82240283b37023e6eb08ab517f1d4a1e5dcf679dbe9d32a3cc0684d52e53d89705072079d40c37b157bca96439b1a3e86c9e80972ca112df4df340f776f97cef59e50ec3038433111cd948c40e968b0dc86c198be78059ec41f1f876b6f88c20da053e8b144ae7bfae9e29d477039a737f2f6e1a753a4070d4c876023f586020c81fc4b1534684580b049b7f9444516bc5d03332158d816f22dff79ba1680e14059162d099739a6f42247ef1aea6d494ca55e1c2c70d57ec52036723012f1e20abd187691d1018cbf66e75ef41f35bd270c216ffa7f413d0b4cb090cd224bb342c6aab07665350a22f1417d57be7812194d3524d15b754288124045f43910f760ce448a69d18907328f6df82cd27e28105e31c4fca3eee88de7a3d251b75e581aef598e6850081c3e44adc4d235e629b157ea0704339811574a24fc5213b2336e594414de8812ec0a16329ee92e942383857f594ee9d11a9cee0afc1f1f7fb4099b74cf23f219f3907a89763eb248c8996c1af057c6400a62397b97cc298b00b59675bed7d90b8a0fbf19710e4031390942b9cd315f489281dd873843ec64d98f08b3d544156359587df5ac9fb92c7d8a4ac4ff205d6168d2476e4c3c7547432b94f12090e6eaf99627020ea2cd0a2bc0c2b66cef74ebeb32ddceb23397e09272e5cffd05350493f2db3688a52a2fd8d1aaa485107c3dd909e44b28f47424f1501422675ca461b6420ce084cf951961c7f871a7d2c45fe7a451266d50896252432de431b485b0263bce33b8fb19a714c8cfa7c12034486cde39f6bc4fa1956f19a66941aca76650bae5768135801374ae67e8006c1526914820c44d741300a41cbac5371363d78694fe77c39e57db3b29c641fe50c75002e116cfec8575070ec0226758628385123f9f2616e5b0df2e8ddcfeb331e8e3360b91a88de840713b769d4953e0ee0e505aad337ea4037043191a3ab52fd5e0e7c3f60142807cae0403d53028084d03e7a444fad362ea8360096ad9aea64e3eb8c4ad466cbc985de3c9fe85187b424adf8d3af7d41b86e678306a51108dee4e665cde0d0f87e889a966c5653c72502f24e98288e159c685c548c75b1c49f194102e13d2fd1af20279842a7572c89d0999884490640695fb32631f68b65c21ae7ba3c869e969b4f8dcff4d96eaae762895c9db0605114d69f008ff9d0f77d7988863498dcb83f81e55111fc6d33cacbd44232bb4609fe4210d23179c0b7389bfb31925b157b9b193dd0569bf00659fc432ce6d01f741f7f99156d38ec92f9140f324ded34464bcaca4867ee79665c0f70d4444d3986c692192fb18e1738d7b8203d6d35f8fc7abd6bf211146ed63ba4f1dd5005c09c31fc01f480753aebcaf24176e6143773dff22a68c905ff7a099a8b3396534a6063601d86e63abdb1f0be11b9250b26c9bbfe336863b416587acd66b185075777012394a012df7bfb1e53e777dbecc81d7c042b1d300c4629e6bbbb93db8559f31d830cd6884afc8bc87015f7583bd30159103c99408ae773b4057e402e9911db990401c448131012f2fdda95bac1569efe334dfe1cbe3e1465e40c9a3c9c30bf65c90a66ae131763adc6be8f5ab4a9f93f4eb580acf801bd589e7fb34b06e3f43e10dc90586ec20cded06898b2cd2937b991e7718de4a5829a4a64ea9b417ce849c7088c8cc4ebb065678b99bea170650c9784b530b44279579ab7b10f650e51eba61dc94fc87ae213eb6336398c456c3f409eff57b70798e6e7689ea790e5fdaccbc63f9ce985cf4634a03900030cd54ed3fcc418513db3327d7003591a8732a76680cc2c4f482d87d825131899acaf45d8fc7798c4fffe543430570257d354e88ee612e7174c88b8197afdbc9d55bcdd02dcb01c4dc5ae2fc23bb2fe84ffcbf370787171cd67adee4a6abda8e9753b0ce83cb47a42e2a8b93e75e63c27c74203a9e49caa3d38e291093205d07a4c8b22e5d85a4bbc19aa36d5bc735e4e2d8e0d792d2ec5418adda6461c07ee85d8d0 -ss = b396f9ae0b1beec31e7a52be8d8795f690a4280b823fc06dd42d3d7ce3134c52 +sk = 69e774db244d05192a2e064257f3a7b9b08941a2018aca28c610b8bfab59176bad88b9a7781222cb03aabe6a4c2937be24645a28c3a7931240503769edd1865f72b44c4842114980ba64a59a647438c5476a700d0dc4a63277c4dc73a3dc9b59bfeb0ddf0817612ab73ab14378e93fa4982d15131c5016b36a639e4f689e9b6b2d2bb2501e130eedf72afe4861ae7cbe7e717b4c4001b78bac719c6afd40969392cfb1d918794b4988a7c03a23c8c5a751ed2c39d3e18474b43cf8b7814a5932224141fd543871ac102bb0a349153eb4a13ad57ac06602bfc6c1b4425284ead058572a1c7c0cafdc6756555b2033d2ce67f9155b16726625928ea26d13e2c0c0a66988eab99643b4cf23ac68724ce635188dd8b3f2f421e8e8a9f838b707a16fbf27445a7555cfc052982cb002130ca3500cc428aef14281564997d5f37d0a1c411cf73d3d2082e4c26c3bb7beb9fba2d9ec631f8953b3d03075318b4b720b4fb5b177d43c11e8979c640639136fa20b718c0846404b2f0604c55ca82f519241d811a697000dbce1c743410e92922e83446410a93150178a4a2b52123174db128b2eb97df4e8a617d5876ab9977daa8b7845537db0a2b6e0599c0cc165438329d1251d6aa09d5b30f27040082a135c2b831b7722c416072c655c4d511e1fdc0284932849126d49b5a03b3593894bca250b0d198601a02900c9406d8f5b69beda735a3512bd355dad587bca7330364031573b44eb9c2bd103bafb7283c1b923ac3a41f0607d4b7b7e1e681aac9b4090538b6b7975b9c5c64c6196577b7861cc88ed6c3365aabcc9b97a6a318a39a2ba8b17376509a563b58dfbf4584e6b00d56bbbec309164982d1b906635a146c04bad613c02c8e2c2d0597fc285779c628f3e290a84d8710745c444410f129a140358991d601fdc787faf4506c6003e2130c2e03b3ffed39ca3b9bbaaa34abae794d4266e59a80efb44528b2b234d70025767a5dea09032767722c61e53423417458de9e809a42257a27001e9c8ad43b775bc853d8475abdac86811d568e9e38747618aff0b0901283a3913b6595cb2a85b6d42101dcbc90146ab85ea5449850bc9d8b1356f820ef365731f176ec0a0a5b7f35d9848c426f32d6a37046574a93cfcc043614e8708026621a06ac00582da7b64421d4f50aaac1bb10d6bbaea31808712b891344b7b865243614cd706c2dc098b0a069fcedb89ecd67de8319c92f3aa0a9b92a1fa256302587a5859408b5cab563ef1814cea386becd756db669fdf87a003ea1e7654cab281220b21cb234ac1c4b459ee48517bc838082191de35b265d5264119c05cb500a05307c806ae8246128a8194f61024f5b2b7c410689150c0a8f68e1b3a51dfaa834b7c8ed989b351e683af7ba73dd91e9733282fa2559ac53aa2819811190b5827000d98433241a3da2b77f4e588b0088e3d3318cfd049c4777f7b08678144618e2406b9b6b72698888c4529b7e3b272e92620bb36792266c3da4c9c403d1d49650b5530be017c3b99c068890f2705702440aa0bfca823059822c18981a03b16670e127386265487665aca4c171e023621a853965a629757148e37833d31e453dc9b20191c94230833a31089c41324a94010ec097210f45592630d6c1bc28e09551c85c4677b015a7b957b1b4e0eb8886cd77835351458700ef5f170d1d0c81dc920e4cb7d16ca9fb6b8cb6086527106b5508996d24250026470740586eac42011db626ee74a8d7b6dbdea073aeb5f6a8a9f9de70cecc03b203a5bdb2abfdce8798764a88cc84cf9ba31008470904c46c523748a4b39bd46cb527501f617c43c83adcadbad1812ab61aa7dcf71b3fe4128fd087766e87344acc8429743f5842784095d1dd3a43eb7a835044cb990165a8b52a9f43f6fcb3fd4e04ce699a4713c4ff2b19b7205c256f643ce050d467132d635170a4c6c854b45e3c65ac7c24f1fb70eb0b6ae852b3d526a527d41b8f562bf56ab9a44d4b00c371b4055cf36089c905bc8b42006098ca18c58b89cc5cce6a454b02c754f07045e274b3a2a647b17533215c6fee12e7e988fbe692c308866c3a133edbbbce1d4a06931b75c5561dbd87a74cc0197071f360185c680a14ce508bb280895cb2c4ce4007ddbb21a1907d2ac5d4e163c26a3c58f57212b9b824d071bdbc45143b4663ada61ea72608ea85b82b49075d3adebaa7d01bc9cd916728ce121c1fcba51e42732d76575607d3e574c654043d717afb96532da23924fc124b01026a8f8b859f4bcd1aca153133905904c3be8361200abc6e7ad42f236a0826c03475385153cf538782c7c8a469a43793c3e81ecb524aa838f18042f2075e0a8c58a5c244e14119f5b6d5538385089400e23bc1c106b2cdb59f287c538f32917c202fb682b9c5aaa5fa343a3bb6b147c6c9ce3b4e6e74096e0423db52e7c0099963c5147c2cdc7101b0d01cceb8ac64937186c23b0da108f58f5271e1c5564a7ad07f62f93b4b89ce5bfd28462d4053bf6085cfc254af97c05041b0494ec11daa36facf034210383acf9089d371aeaea975c489211184d55db561c272cba9881acb88159c74bf9671147490fb7a4cbcde1689ee7cd777b3f83c54850e8082e884a7c3b3333d7cdc6318d5347b0160a4b67e46a24d756105c09ea0043b66a74f98599129b52eda51971b60b6c65867b3545139990aff9c088b7b114c03d10972bc6e5a353da85497b95c8bc5dfc156542eba57e96cc5a4c3f2bca53d6a1315c63136139ca954a86302ca788c27b4f82c57ea35bd7c31d5d543cad66bc4ec9b93df67d2b019e56e372fdd7808f4453ebfa3092676224670f79ec579307052832bb4f2150da4c06e8069855573378377c44a9508410cc62c60ad1db5f3077b911f76cc148c354733c0aaccfafb85b0336838ac43f6152bb2845a3de24807102a274d2b33f84392648c6f64ac85d304a4c024d88c0a13f0874231cc6d2bc8d7c99c0530087f61856c000180e78939148212d2b065df99fa51a0e768995a8f3bd71ca82a1792afc7c05f8b07db30aa18dd25180b73d175382158a1c3d5135fdc40f2068c17ed11d32022caeb404c68418e7ba2f352a510cc203179366249385a2db3639809795cab6ac0c11450220d96356bc6b45ea943c5028771eb8c58097966b4821bd1504ba1a1836251047c8468089c58ac851999b7ba017267c3a6e20c5223fe5a41a52044bd5103f5b1d31fb9b0105ccba387cca72b6ff1bb27119005d6a29a6200de9dc2c19d85be067793ed476b0324c24f10a8d106b55c63bb346b9ddf44b9a5a5349b766132824cc955214315267d69f82093642b9c2360c2b57993b1ff2c52d8118d62375ac851f5eb181a24badfc165668e7a36817cf80f5873f87a6dbc3cd42c0b2bee57f0e06c93a9807b0bc32de588808ea0037db50b3bc14bf98affd4400dc9566ed8022a4c7c34fc4369987904b362b1d04cf3451914e5909ef750dbc56af138529a601a261932efd626510a528643693ee79284cc3987e3694cac828ba3964e637925b201e270744fd41190b3b1c088a79f31581b0641917dc161b000fb4a8281f6a6b7b1392949acd277b9901637c3454a058589299c48b3401a2e0f788744081cba76b5ec378bb83789f63962ae2af1175176ff353c1cb3632bc0e206194f4b7367779146df4acb6d89652b946a9b9c2b61c0553360616f90e97fcb190c43faa544891745ca9b97950384de8534626914ffcda63ad302c9f001a361ba7a94066c9d8b1f30111faba3728fb143bd788aaf04491951d541078aa1069741352fdf8c032964717ea1791472a2069cf43da46a40046c61c79cf4a7d1e093526d75b444a08b0ca984f2869026a4432244d662951df52ba655ac54c502e83e8587e21c4757166b78244da2b5364d3299981859cc61a67d02b32b19c8ab31b78146690690096d606befbad0ee628103712f0f81e5fb4bb22e65e9ad1410504ca75d29386f73b53b0be140a5b548a48b05313de873e18b030d6f691322a2409f4603c7bc24c103111fba7dd5acb3f019e7cc22bc3f6b1e6acca131364d0fa0694866e2322281cd229c16aa82116ce6fd0187d4034db33c2b3840db1f42c5df49825fa7c6bd62c31a625616270565a2fe3f4bb50c58597f70e6124c2f46a83c3fcb62ac65a5a66557b22ae31c7813243a1f0c4b905a31a40d44fcce89372ab6faf09318a876bda6c3d4d787dcf088ba345a6814cb9a0825ea860af29b81586b25832356c1f976370496b6fe7493e482e0dd9483e51372b093d37f29b9d1a83c209bd98a363df8a3ae430ba3b2acd5bd679c7d4995a63a8610db945708cb5425ce0c3c651532a43d32473f236519d54fdfe0a815da333d474be9bacbea4c301148be2ddf13c3c25d7e4f52447a549a27b6d12710d08ad5bf30d584ae9c8425ab3c8f1fb9960752721cb2c8310cd7bac84808bb979 +m = ad44643a608b78bece50b8309f573aac3da68125ce877e8bcbdcd51762aa0a9e +ct = 1ea27e85c7f534efbffe15ace54e4d26a8b6ebac4ff3d535615cdb8720cae17d4d5c24567db28a75b709d405b4ec521ad09993a20a42c3d1f09a35ddfd584952b53181be39adc33d84989f569d6509c64787d8cbdead4ad8969ba089ad34ab404a1c73380269034be5661b5b1fe655f2bf9bb7051aec2ab8113bb60c5de847016452aa60eb0590117cc38604063fc6d1405d59b15b4f6a940a3f0657ee197be2d46f07e68574b405d4a0fb2ee8490168e0a80f2d2194c6d74f347a8ff0c90c1b3c1fa4fddbca420d49d5dc0db8f1a6ca2c92c30bbf771b57349d1095cacdc62fb5c276fb000c09757a09f274b343b40e0f5fb08ea7da9c5872543c260dcfd1c6b72bd91204d85af39e5e26648df8ee4ddf2fb8608cd910c9bf884bcf430220bdd3d71ca88fbeaf260726ac51d905a33d6ba8561db1fe401367da06d0b0a7823a70e6cec3b55bd7ce8f3bb7299716f84af9e182ddd64faec35416b60e8f82e65a40f70527914a70b8b37a7c7b24f7ee2a020de2ff6fb52422c0ab89e961db6a73858692613ec81f48e27e349a5fa4ed66c769f6bda339c35f381014d590244830f1e4782e5387bc4fbe43c4342a8c71962b6ea99b91d48805fb966c2962bfe2e3352d97d21f9efb9f50052b0012519e149acc8a0ad576f819feb883dd2424407548ba277c0144b66303d6ba20cf385361374f4c299463e683d7e953dea54ec507e76ed97e8a690673fc935a9681724e45ad100563454e3b624a62185b27f786253064388e944d9125eb12a74da2ec07e00d9d43e18a1931e04bcf9411340096a694379988494a7dacbb4c9540ea6afa1b0effc1bd9913cc8793145f32519fe84f4c7a4ab5be46bd1b2a54fdab7534b976e073bb0ff44eb35639b95ecc8b042203502da1a39750e0016492f7527eead6dee2804d2e3c2a4434e13a5c666b03caf8d39419933ad28033de7b92bd09eca6aecb4a80ce86e3f674b4fd1b071b4732cd6cbaba54c08538d62216e53e637d1242762dc036e94e73c3c1d5231a13212ea2a16f1299d171c61e37b2960253f3606522d0273fa44dea15c67346d016c44ad8c08388d5e8d11c7c6fbdf057cd6e5ff219189440d73f94e72bab25f51d7d1dd425953c97d04d3707a579046b47e864ed4fefc661125e744a89692ece95bc3bf528086fa5356a28d7ce01c9a9fc82dc317938752aa8a94cdc2330abb6be1610ea994c4dfa4199d43f85adad7c8b2a6473436fca055fd2d73932baf7cba243a65d29b5a4ba0e94beadc6b39719f97158c198ed63b70aea815ca0e146c577662dd6859306b509061056d5d6ba3951bf0ed4c8d7b341d62cd817668b621259a550a92dbe275af76535d681bf0501444be6d747b75f8227454815a02ed22f4c5ef03223cdb657e958ef76a1ffe6f51db5c54d7f189b3457d284354e8223960574a8e796c37b7c98f1af68470a001a57107c5e16d807fe2af924c453de16f79433369f9fd656c5bd2f205a5309ad1041a59c4a790d3f6f8ca1a2de88391d7b0e8493663fd5e8552228c00b9fe276af330ff69f323e4427ed38bab9d628bb3f9c43cac03192f29c9cc49be90b626e71001ce38a6d5dbfee0619464936b5b35dea928cd17642c200fc017788b144a747a809aa1a014d6ae73a2dcb8f65a0629a24357c3335dbab41fbec5bde8ca87960f2ab947dec45218cff2ea80a1e1e00c3619b209c2fa9c772442a409924eab2a497993b9098ba4f2c3af56a42dfe66e6ccee832d081238be3108169ff8a5c5893cbc0b9de509fa5244dbc9d2c04535560a9ea38b1cb225082149cfecc47e036f41f09e1bb168dcd4cd9063d1e12b509e16819d8b074ab99ef24b8fd90742e1e15387c5ef26275a6327fa17df51d9c15a56ac0b98ca80fbcdcc6667c35556bbc051cd4c2e369dbf33505bc63bc07746650d3db9ec247d1b8463e5288c2953c988dff78cc7d8844d8d9e2c1150a71dda77ffe9fb228354157e5ddbca870335a02a70283823c33c5b6cffcb5a3ff8b0cda2042d9033bab0281ba4dea0e4581e5552260eaa7de203f06a23239375994e5900bc6e909c363427e565e814f5452c0dc89219bf976be84faff4fefc196e6683cba6a5f935f82e51f3b8339f69a278858d35bcdd6a25584a3ad337ae427e088e24cdfde3b550d0e3fe5572139017c467f6882d5034ea8428b95c6aeafec892d77d8dd4b61e5 +ss = 0d1137327f6352b00b4dbab2bf5c7c189a9cbeb1c6d096c230efee2a3f19ae4a d = 97b5665676e59e3538ebadaa8cd50df1f9fda1502d9894c616a946078e56b621 -z = df05318b5f655efe36f1b678cf4b875108a18db2fa312261caf839f84bd956c5 +z = 48b1985fd7938595dac8ab776701ca1e9fef47350dfc45355ff1e83a08bfc3a9 pk = eba27cb3f055c38ccb7a5a78348cc39e6039a1126d369495687342f9b7c7c88a5f0d1c2b15e68366532f17d6ca8fd85d8e9249ede8c5ce6572d816657d5755236ac059125743772ea7ea7f42785b48f62974a7b7270c93b4c6c02ccb87e54ba64caa6967176e132aa33921384aa9737af3a3e2d881224629a76c50712ba306b60fc88b85da88b716a41509a95876355fdd49a2eb7130600abd277810301062b0b9be3c97343e345e8fe25f6b58cb16c90a36830452547f4f658110f0745329406dc8a698a71449888e2554c5b039076f67397a94cd13e4b9f9558bb0464a39074fb6e556494032b5433d3df005ce4a1145f0448af07a089447cee578c2ab5d090a2b9ceaab2b472420a56caaa04387d7969fd51a1923c14959834b905617c61a68645aa51150f0079ea64bb16a8a8fbf701c9f5ca74a1803519792ab169976f886cecc709aa90c408720fed90b58d006f2f50d23c4bac1432176a47627f6090a788403042efd5a7d1a22c793aa8dd9a91e381acb0b5625e0fc203fe0b4c7e816eafb87cd774a5053036afab5b293c23598932ed3658f8453b958c1846c61c4190386343435b04c14ea3597f84a22f70124cb293781accb8ba008425149643e52cc124969929721486b42ac9b592eb1c15c4f8c6bbf901b8dd419c17c38d68bcb9d519e16021e62b211c6ea00e5622486e41f81f6ab58c49ba5729c91b2396f7bc9cf8462af8b06d1c28b0cca2faeda8b829943f64456bd214b7ae57061a325bb9c097b656217d65b36f575d39c11f971157abba074ecc1ba302d5318085e13aed84ac8d16652361b67a02c41aab82d10fc339c53b3e096aec1e1276a572ce1a5700c034014884392cc6eb4f9ad80a52b711053e2245537e76acee36f530610b8ccc4caf241a0f3c1f8195cad80c69b644c45f68ba7c448431705b3e9bb84568c895b56351a09bdd8ab2763054384c116e272f5d0a7f1f158e5f68ed0f47f625ca3732729e53a87d223c1ca807d277b726d0c7ee938667ff1c4af519ab7e1446a077b6045995d3001ff289014e43c7ab738f422aeea3269c878b3a7d979aab698c4b57462339703386cb4d0bb0598272349b04230c6b6708c894bb409755dd4e09fb8a84e6ee678c896992e845908b963fbc407589acdec414546a92b1da98c294b23a53ca79a27859ba787a7689202833b87893fde1b230b936916bb038316b025a5b1039a775b055d6b26797482672f02985e39c88911a4540327e3680c574150b74331ec63076d645743c677abc255d0b11d9489a35d65448a2c1bde4228b4d0ca03441d90b57d5c16b6bc6562b4d22e61e167861cb62efb1a43f008877a2895e95b4e0428086c7c34c146f5fc2c9babcdb0f74c76680a62a5c8a82348e7b396b7d95bca26169ffb90125b765d104ecba32d3291a38079567a599644cbb4d36549f26615fd31a6232688bd1694d6c72cbf04c91638ac4e7c1d8be2cdbab51fae70093af3272b885e56f62bfd925b02d099602110914a50d3431f10a803608806d9257bde17123e939df7e1951883ca93e1820e852f2b511218152011012b8adb46d9c400ef099ad3e412eea953f7eb7e627a762de88e7af6ae0b832190b91950aa40713521e0f54955f2039213c16a604b29cb6dba67b89947bcd81b22700569efb06548944decd13bd133877e44ae8480c46b6b547d72bb1ffa0f88fc3b13e2a48e5b490301d00df251e5691d36295a16dacef03c7974341ec3289ffd87434854062ed9475e758b6c297acc679730e291cbb52562cb9408b07bd70215aed0a1034c6fccbccec88b72e44944ab79592e659865f019280b8723c578096220ce5a0930dab0075bbf09b952c217b4ad8b707b8106f9f5180eb514176aaedcc3bbe0a9bf876895ffb1565d61b01f0a3f2d9391c56b6e6a9363d434b1338456313472ad730cd9374c8d81788fac62d68694df05bb88a6613ee14d13cb6e18f69b372c2944a7a76d3a16157686ab6250a98b42d50b15aa8bc9647a480c7388a78a78d9635460934c7ea57c4979c9b48c5d5b75ce132814b26c0fb06aacde963010d592ac173171b55ae4ebacb3777dc9aa8021fc90d5d286d2769ffb833812f6a6e806bd70c74f87ab6442257f56dc7881a781ede06a48c1383938a9f242264aa93918bb0ac3f8119a88d1fbce1d3419bef67b6694d9fa1bb309cc61c819176964dc -sk = 48c78cb714b9cf88a8b317a6fbb681b8f47d56524122156503823b600236d3726edd9087504705cb4698a1515dc0d80b3f87c63d575170f45d121a848d897c3c0063dfe9b2d616a96552384fb72d6226a193f90e15b364ae667c34ba27fdd0ac0debcf450578c6d182da365d40786522c37b54e0126ed7b3c6bccf28f40770f23736b394210b67ebfa72f6b27799fb1f6e48cb7407261a86884621c529974635b35f5b4c530e68bee8cc213387b66a4127d01223180067a2ec24b2ebb579f74bfd5417fe995bbf816737722912b5b4dbb4c938d0686d1c2a44880fa7231944c195fbd67c67e60861d169ddc41f8150b52a68c14425190be2abbcf5babb734aa03538899678d4290738cc63eee611e4344ea73b9c41f36c712a4c6c72422000cb93e144f3c588a2299d5704cb347b90b2905cbf69cf1dc5c670909c478094e88c01bb3b3e4fe246f8dc3c62da37bb13b6e2046911d85d5790869fa4a54ff16794620480919c0dd74b9887bb5c125c34d76b3527a42a46b689fc4c57571af13c44b7d30a041028e97c0a1e50621567374de7a4207acd4cb18417c7984645cf4f2b5a5434be8f119798c0760229301e14431b0b652c643c0ea0ccaa13cbc6fa6dc8d348b908b78343978fd5a0eee90ca5104184f33f107837b3ec667eb207000570dd33856939bc8ba671b3731edb2a94596a8f2f37bbbf5048087091fd2ab164f5c6a8f92f65239f08844ed4f605e3bc1bf780877eeb3f4c85bf696c691f85a947461331aa33b15973ab4923f429c7913731bc025539232217f801ec7078e2f0af3ec7494684bfc40b4ff31798467746f60bc9bccb5b1e397dfc6165773a965e55034dd1094966694d7806f2f505cebc3b3dc307405431fca21614089c633b522510a5fca73462b32fd69200dc614c5e88454f181d845b19b8866259a2372bb3361b9abd5aa278b1773057e26108bb020a9610bc19af13454df46b4fb5a68c3e7aba6e7197ad63439c7252cf9507e32072e437296883c93902250165a1aee8be0ce6acc2029e10e97536eb958b691ae3e3aa9996986805c6d1f6356d26c1e63c550381b292fb1b95e183ca933d5be1baf6294c4b248b4264724712b2a2816ed3d09042287eb8a17ad6c86255ac492f53a21ebcc19b3c8bb1e78f58ba98bc8aa77f6a5cb90c0456e1cd663137e11185536b02d8708644539701b193ba52258064b289d053404bc78a397ab86895baf1934e8b2f6cc3ae48869be7422e581a6ff748519bc30bc96c716b0a24a02679acd5151cb2a0fa127c81ea513c3ccc3b84a34025522486ce424bc04c860edc5758aa990fed372db324614fe91589d78acc88c43c2643d540a509f090ebfa6214832c76ca982faa1ca4465f9c14ab4e6459f072558946ceba113b5fc7024a364970c72933331a6a4b0d4196b9e6219595e229f3e28fb2d5c6c4c041db226ab611b04c3a80fb5a7f15e08df3347def02663aa39409ac4e8c8bb0934b46b6a8816cc70c8c0b11a7ec1cce57bf5baa30e69207d7e59c9e386d5cf7863c133ba1b510f5e06c4876ba7849611bacc369b039efe173df6b8a22469e1f200f2aa53ff84390b88302d9f9915c4b8257754b3423097e7c6b0df0a71b2162050a67be291b2dca0460a455a68068c3da2ec3c5c4fa3a272d45b55f58a01f2a8de5c243ae791c0fe643bcb35817c154ffd29315cc7b4c3843ca4419146422f63246d1fc543f24a884839b4788c10f0846b3fb87e98bc4ff634c05c60f250b8c2bfb46c50c8a5cca5ceed866badace5a8c88a2e2590674727f969056569b2b0615e641931c3b94a12a715925ce33716a985a5762544af3b442486b14316c9ad100396e9885c7b0ba8c67621b6c1e90c13a248a3bf6c0be9f96601572c87154041878891a2a5448ac965c2c7c283166ab39ab1576ad253491ab04a11b824fb6fa516b6709f57b98a610b94b2a2b87f50480640e1084a6eae10faea01c281b97b8eca8575cc00a2020e1533c3ec30d9a55883ea9c5b2681fda938f1536546cc474e5e37a05eb89ae4a822cc6a32b8c828ef782065695dd630063cb97e953b04911aaaea90abdc20af3695492b49b07c26f79f59f32d74674f37971d2668340a4803996358c59051685cf15410a72657355692816699cea982cb364eba27cb3f055c38ccb7a5a78348cc39e6039a1126d369495687342f9b7c7c88a5f0d1c2b15e68366532f17d6ca8fd85d8e9249ede8c5ce6572d816657d5755236ac059125743772ea7ea7f42785b48f62974a7b7270c93b4c6c02ccb87e54ba64caa6967176e132aa33921384aa9737af3a3e2d881224629a76c50712ba306b60fc88b85da88b716a41509a95876355fdd49a2eb7130600abd277810301062b0b9be3c97343e345e8fe25f6b58cb16c90a36830452547f4f658110f0745329406dc8a698a71449888e2554c5b039076f67397a94cd13e4b9f9558bb0464a39074fb6e556494032b5433d3df005ce4a1145f0448af07a089447cee578c2ab5d090a2b9ceaab2b472420a56caaa04387d7969fd51a1923c14959834b905617c61a68645aa51150f0079ea64bb16a8a8fbf701c9f5ca74a1803519792ab169976f886cecc709aa90c408720fed90b58d006f2f50d23c4bac1432176a47627f6090a788403042efd5a7d1a22c793aa8dd9a91e381acb0b5625e0fc203fe0b4c7e816eafb87cd774a5053036afab5b293c23598932ed3658f8453b958c1846c61c4190386343435b04c14ea3597f84a22f70124cb293781accb8ba008425149643e52cc124969929721486b42ac9b592eb1c15c4f8c6bbf901b8dd419c17c38d68bcb9d519e16021e62b211c6ea00e5622486e41f81f6ab58c49ba5729c91b2396f7bc9cf8462af8b06d1c28b0cca2faeda8b829943f64456bd214b7ae57061a325bb9c097b656217d65b36f575d39c11f971157abba074ecc1ba302d5318085e13aed84ac8d16652361b67a02c41aab82d10fc339c53b3e096aec1e1276a572ce1a5700c034014884392cc6eb4f9ad80a52b711053e2245537e76acee36f530610b8ccc4caf241a0f3c1f8195cad80c69b644c45f68ba7c448431705b3e9bb84568c895b56351a09bdd8ab2763054384c116e272f5d0a7f1f158e5f68ed0f47f625ca3732729e53a87d223c1ca807d277b726d0c7ee938667ff1c4af519ab7e1446a077b6045995d3001ff289014e43c7ab738f422aeea3269c878b3a7d979aab698c4b57462339703386cb4d0bb0598272349b04230c6b6708c894bb409755dd4e09fb8a84e6ee678c896992e845908b963fbc407589acdec414546a92b1da98c294b23a53ca79a27859ba787a7689202833b87893fde1b230b936916bb038316b025a5b1039a775b055d6b26797482672f02985e39c88911a4540327e3680c574150b74331ec63076d645743c677abc255d0b11d9489a35d65448a2c1bde4228b4d0ca03441d90b57d5c16b6bc6562b4d22e61e167861cb62efb1a43f008877a2895e95b4e0428086c7c34c146f5fc2c9babcdb0f74c76680a62a5c8a82348e7b396b7d95bca26169ffb90125b765d104ecba32d3291a38079567a599644cbb4d36549f26615fd31a6232688bd1694d6c72cbf04c91638ac4e7c1d8be2cdbab51fae70093af3272b885e56f62bfd925b02d099602110914a50d3431f10a803608806d9257bde17123e939df7e1951883ca93e1820e852f2b511218152011012b8adb46d9c400ef099ad3e412eea953f7eb7e627a762de88e7af6ae0b832190b91950aa40713521e0f54955f2039213c16a604b29cb6dba67b89947bcd81b22700569efb06548944decd13bd133877e44ae8480c46b6b547d72bb1ffa0f88fc3b13e2a48e5b490301d00df251e5691d36295a16dacef03c7974341ec3289ffd87434854062ed9475e758b6c297acc679730e291cbb52562cb9408b07bd70215aed0a1034c6fccbccec88b72e44944ab79592e659865f019280b8723c578096220ce5a0930dab0075bbf09b952c217b4ad8b707b8106f9f5180eb514176aaedcc3bbe0a9bf876895ffb1565d61b01f0a3f2d9391c56b6e6a9363d434b1338456313472ad730cd9374c8d81788fac62d68694df05bb88a6613ee14d13cb6e18f69b372c2944a7a76d3a16157686ab6250a98b42d50b15aa8bc9647a480c7388a78a78d9635460934c7ea57c4979c9b48c5d5b75ce132814b26c0fb06aacde963010d592ac173171b55ae4ebacb3777dc9aa8021fc90d5d286d2769ffb833812f6a6e806bd70c74f87ab6442257f56dc7881a781ede06a48c1383938a9f242264aa93918bb0ac3f8119a88d1fbce1d3419bef67b6694d9fa1bb309cc61c819176964dc35d109f57ea2764642ea3473a4f192cedfbe153a37f131cdf447b60e92310eeadf05318b5f655efe36f1b678cf4b875108a18db2fa312261caf839f84bd956c5 -m = ad6466dd59f26b762fb02b19eedf5f79964da68bce0459b91c3a6ee5a7e01183 -ct = 278b5189f25085ba29b9edf5abb4d1d0f8082975f102319f96191cc29c5d4267d0933cf0254036e4672df1a035487330980fbe9182b712674fc5553e52aeca7f63c41748433ae99e5fb13c4c21cf6e1e07e649336aa0727ebf58dbbbf892cf37a79479877e06b7a502b02c00b28205ccf9921fe3c8b852c1d174a82093ef4f34835b4303fbbd92213617341a9ecd9d1a3284da9a740d201044eea4ddbfc58b2ea7b36272a8c30677fa5d99be658f39a8677fabd1e93416e7634640ea09291da4e3cd7a7480ed69e8c5c07e268acb43cfa694636f9102bcef92d9413e27f125d50dcf98ef820f6e3fa89367b86271d7a692270ebde7fb4d6c060c5f1cead5d166714929ab268ce48c88529394fa3b6f841d89aa1e3888acd508627ba47ad12863c12b202cbd8092f3689f451653c335bdbb4c595254125ce4f35c96de2f8f1edfd9f75e01ab8bd088893d43f1e95d541ce98d91a1a0ff719aac2005d387b79b3253145898ff1b4fec6ac580107952e3ff3f8143404e449e15470bc0fcb5eac90ea29f2913dc38d0911385b2e6cbdd5959bff9f1d413c9e1512afe566d574a31539de8455298daf27d4cec394c1576b88763319a1dda9fbc7cc569a9ee8d3b92c1d099ebb579bc175031dc9f94f4e8b5131e220cae8f70d45900d6c5625c264e99b5f0dbfe823d9249368ec30e762aeca945e10b7c259da3a2a71a217bc26019ae09c222a57c89253a357a087c88d8ced20204b0d9f168eb4a7ef114d040edcd6567e2205f6591aa06dc7bce9b8a10ef597f5fd0212cc616e2fb30e5e85d69f0b17a21529b711f51f2148ece1e7ba131b7bb92bec12da9476864e4a5bb722c200c02064868c0a0e7ab1149640a76a79e659e6b8c50c636700f54e9d013176213ad34eb4b75daceb413575573e9eba79c064bf5921c5a1499019939d438525c2172d9144b888f1808116152d54b98ba01f0ac3300eade11aeab1e87dbebb19ea0be7dcb7ac631f52f7aa23bb8a955c328b42130b37b79c83fcc9409645b4cd28dcb9c91bfdf516fafa2bfb873ef2644ce043f3d3d5159e2b0b04f4ec6d182b0e595f0d57ffef49122f0136f7f5c7d3a0123384154abe4a9a2444f64db9b4d3587ad911851b56641711212a0189c8bdbbe8a73ed5628db347ffae650226f452bcfa78a0448bf561a1cfd65aff7813f23b24ef5c1afe4786f30b6fcded6f137930fb0deb8f2b152bcd92a09aff3a8a2f594ec0b398b58c82d165f51d29ef26fa212578a133f0fbd163cf054a6ec7d0c8d4d8ba4abe1b372ed1ff525005ade9563142ac496c8d3007d8d534f28dd3417fcb51f4200def615ada318e2ca40688cc48f6d797e03aac4348739b93855a80a6d782af4dbcbce94117747db0a79be59227129a5ec140f4d882697b780efd66c41ade50974e4550805f176729879b0eabf14f6bed4461bae0292c75896afe4ed3d924adee3cea67803578ba3297077d2e9a3196c99781462873a820530650f30f512226bd7af214e3a42cc3fa0ae79250f0c62451fd555228f0fb2a13da87fb0f44ee0ab97dd8569777bedf1abaa1caef2493e854093b33ed211c1b1a1cb3495c9c76b146c30dc6367646be533119d1841b7ff69d29462969093c8ca5589e432d745ac106a6f4f458050a423451906b9495d7c9110855d8cb5d80ccf7ff1cb07fa21ee39f7c00e968e7ccbd6d65567ab44e109f28f3629a64757d4a3520af29a1ee221465186b668cf98aab586c7838a72970a470be2b94ead064715a1f05f50f86f187b8aa994b428343d1059b15bced543e903d10e5d91970f1ffbb9f2b0f39d4f88d3d9c9ecd489548274851c61e86ca1f2abc239c051f3a997c6487dd1106bf242668c73300a2a73ac48dd8951799858f1881fd4e9614ee2a6a1e2cdc37e00f3e997f7ee2fc4a99be8f1df3267174a3e178eda1bd0514d29f935a51b33b5c0ae79070e7532a6269de19020177f8faebcfe4958ea46de700d8ffe73996a9ac02e017daba085f8d29e91bc4f5f76b1aa88f76063fde0ea3128624026daaba5d78d55668e5aa6860adb3ad6e8c23c243a6d113b2bb82ba2f49cfe89055a02217644b59d1814cc5179de15c78ff7660ed2aaa1e628c0aa6d5bc8387207a9ba839782c1dad28443f9d8814b1d6a05cf9af45b335388efa3592145b703ae23908449b0302770195424609cc3cdd77b949b54f034 -ss = d1ff41379220844ae81b2192809078c2a9d3f49ff9141df683647b08916359a4 +sk = 48c78cb714b9cf88a8b317a6fbb681b8f47d56524122156503823b600236d3726edd9087504705cb4698a1515dc0d80b3f87c63d575170f45d121a848d897c3c0063dfe9b2d616a96552384fb72d6226a193f90e15b364ae667c34ba27fdd0ac0debcf450578c6d182da365d40786522c37b54e0126ed7b3c6bccf28f40770f23736b394210b67ebfa72f6b27799fb1f6e48cb7407261a86884621c529974635b35f5b4c530e68bee8cc213387b66a4127d01223180067a2ec24b2ebb579f74bfd5417fe995bbf816737722912b5b4dbb4c938d0686d1c2a44880fa7231944c195fbd67c67e60861d169ddc41f8150b52a68c14425190be2abbcf5babb734aa03538899678d4290738cc63eee611e4344ea73b9c41f36c712a4c6c72422000cb93e144f3c588a2299d5704cb347b90b2905cbf69cf1dc5c670909c478094e88c01bb3b3e4fe246f8dc3c62da37bb13b6e2046911d85d5790869fa4a54ff16794620480919c0dd74b9887bb5c125c34d76b3527a42a46b689fc4c57571af13c44b7d30a041028e97c0a1e50621567374de7a4207acd4cb18417c7984645cf4f2b5a5434be8f119798c0760229301e14431b0b652c643c0ea0ccaa13cbc6fa6dc8d348b908b78343978fd5a0eee90ca5104184f33f107837b3ec667eb207000570dd33856939bc8ba671b3731edb2a94596a8f2f37bbbf5048087091fd2ab164f5c6a8f92f65239f08844ed4f605e3bc1bf780877eeb3f4c85bf696c691f85a947461331aa33b15973ab4923f429c7913731bc025539232217f801ec7078e2f0af3ec7494684bfc40b4ff31798467746f60bc9bccb5b1e397dfc6165773a965e55034dd1094966694d7806f2f505cebc3b3dc307405431fca21614089c633b522510a5fca73462b32fd69200dc614c5e88454f181d845b19b8866259a2372bb3361b9abd5aa278b1773057e26108bb020a9610bc19af13454df46b4fb5a68c3e7aba6e7197ad63439c7252cf9507e32072e437296883c93902250165a1aee8be0ce6acc2029e10e97536eb958b691ae3e3aa9996986805c6d1f6356d26c1e63c550381b292fb1b95e183ca933d5be1baf6294c4b248b4264724712b2a2816ed3d09042287eb8a17ad6c86255ac492f53a21ebcc19b3c8bb1e78f58ba98bc8aa77f6a5cb90c0456e1cd663137e11185536b02d8708644539701b193ba52258064b289d053404bc78a397ab86895baf1934e8b2f6cc3ae48869be7422e581a6ff748519bc30bc96c716b0a24a02679acd5151cb2a0fa127c81ea513c3ccc3b84a34025522486ce424bc04c860edc5758aa990fed372db324614fe91589d78acc88c43c2643d540a509f090ebfa6214832c76ca982faa1ca4465f9c14ab4e6459f072558946ceba113b5fc7024a364970c72933331a6a4b0d4196b9e6219595e229f3e28fb2d5c6c4c041db226ab611b04c3a80fb5a7f15e08df3347def02663aa39409ac4e8c8bb0934b46b6a8816cc70c8c0b11a7ec1cce57bf5baa30e69207d7e59c9e386d5cf7863c133ba1b510f5e06c4876ba7849611bacc369b039efe173df6b8a22469e1f200f2aa53ff84390b88302d9f9915c4b8257754b3423097e7c6b0df0a71b2162050a67be291b2dca0460a455a68068c3da2ec3c5c4fa3a272d45b55f58a01f2a8de5c243ae791c0fe643bcb35817c154ffd29315cc7b4c3843ca4419146422f63246d1fc543f24a884839b4788c10f0846b3fb87e98bc4ff634c05c60f250b8c2bfb46c50c8a5cca5ceed866badace5a8c88a2e2590674727f969056569b2b0615e641931c3b94a12a715925ce33716a985a5762544af3b442486b14316c9ad100396e9885c7b0ba8c67621b6c1e90c13a248a3bf6c0be9f96601572c87154041878891a2a5448ac965c2c7c283166ab39ab1576ad253491ab04a11b824fb6fa516b6709f57b98a610b94b2a2b87f50480640e1084a6eae10faea01c281b97b8eca8575cc00a2020e1533c3ec30d9a55883ea9c5b2681fda938f1536546cc474e5e37a05eb89ae4a822cc6a32b8c828ef782065695dd630063cb97e953b04911aaaea90abdc20af3695492b49b07c26f79f59f32d74674f37971d2668340a4803996358c59051685cf15410a72657355692816699cea982cb364eba27cb3f055c38ccb7a5a78348cc39e6039a1126d369495687342f9b7c7c88a5f0d1c2b15e68366532f17d6ca8fd85d8e9249ede8c5ce6572d816657d5755236ac059125743772ea7ea7f42785b48f62974a7b7270c93b4c6c02ccb87e54ba64caa6967176e132aa33921384aa9737af3a3e2d881224629a76c50712ba306b60fc88b85da88b716a41509a95876355fdd49a2eb7130600abd277810301062b0b9be3c97343e345e8fe25f6b58cb16c90a36830452547f4f658110f0745329406dc8a698a71449888e2554c5b039076f67397a94cd13e4b9f9558bb0464a39074fb6e556494032b5433d3df005ce4a1145f0448af07a089447cee578c2ab5d090a2b9ceaab2b472420a56caaa04387d7969fd51a1923c14959834b905617c61a68645aa51150f0079ea64bb16a8a8fbf701c9f5ca74a1803519792ab169976f886cecc709aa90c408720fed90b58d006f2f50d23c4bac1432176a47627f6090a788403042efd5a7d1a22c793aa8dd9a91e381acb0b5625e0fc203fe0b4c7e816eafb87cd774a5053036afab5b293c23598932ed3658f8453b958c1846c61c4190386343435b04c14ea3597f84a22f70124cb293781accb8ba008425149643e52cc124969929721486b42ac9b592eb1c15c4f8c6bbf901b8dd419c17c38d68bcb9d519e16021e62b211c6ea00e5622486e41f81f6ab58c49ba5729c91b2396f7bc9cf8462af8b06d1c28b0cca2faeda8b829943f64456bd214b7ae57061a325bb9c097b656217d65b36f575d39c11f971157abba074ecc1ba302d5318085e13aed84ac8d16652361b67a02c41aab82d10fc339c53b3e096aec1e1276a572ce1a5700c034014884392cc6eb4f9ad80a52b711053e2245537e76acee36f530610b8ccc4caf241a0f3c1f8195cad80c69b644c45f68ba7c448431705b3e9bb84568c895b56351a09bdd8ab2763054384c116e272f5d0a7f1f158e5f68ed0f47f625ca3732729e53a87d223c1ca807d277b726d0c7ee938667ff1c4af519ab7e1446a077b6045995d3001ff289014e43c7ab738f422aeea3269c878b3a7d979aab698c4b57462339703386cb4d0bb0598272349b04230c6b6708c894bb409755dd4e09fb8a84e6ee678c896992e845908b963fbc407589acdec414546a92b1da98c294b23a53ca79a27859ba787a7689202833b87893fde1b230b936916bb038316b025a5b1039a775b055d6b26797482672f02985e39c88911a4540327e3680c574150b74331ec63076d645743c677abc255d0b11d9489a35d65448a2c1bde4228b4d0ca03441d90b57d5c16b6bc6562b4d22e61e167861cb62efb1a43f008877a2895e95b4e0428086c7c34c146f5fc2c9babcdb0f74c76680a62a5c8a82348e7b396b7d95bca26169ffb90125b765d104ecba32d3291a38079567a599644cbb4d36549f26615fd31a6232688bd1694d6c72cbf04c91638ac4e7c1d8be2cdbab51fae70093af3272b885e56f62bfd925b02d099602110914a50d3431f10a803608806d9257bde17123e939df7e1951883ca93e1820e852f2b511218152011012b8adb46d9c400ef099ad3e412eea953f7eb7e627a762de88e7af6ae0b832190b91950aa40713521e0f54955f2039213c16a604b29cb6dba67b89947bcd81b22700569efb06548944decd13bd133877e44ae8480c46b6b547d72bb1ffa0f88fc3b13e2a48e5b490301d00df251e5691d36295a16dacef03c7974341ec3289ffd87434854062ed9475e758b6c297acc679730e291cbb52562cb9408b07bd70215aed0a1034c6fccbccec88b72e44944ab79592e659865f019280b8723c578096220ce5a0930dab0075bbf09b952c217b4ad8b707b8106f9f5180eb514176aaedcc3bbe0a9bf876895ffb1565d61b01f0a3f2d9391c56b6e6a9363d434b1338456313472ad730cd9374c8d81788fac62d68694df05bb88a6613ee14d13cb6e18f69b372c2944a7a76d3a16157686ab6250a98b42d50b15aa8bc9647a480c7388a78a78d9635460934c7ea57c4979c9b48c5d5b75ce132814b26c0fb06aacde963010d592ac173171b55ae4ebacb3777dc9aa8021fc90d5d286d2769ffb833812f6a6e806bd70c74f87ab6442257f56dc7881a781ede06a48c1383938a9f242264aa93918bb0ac3f8119a88d1fbce1d3419bef67b6694d9fa1bb309cc61c819176964dc35d109f57ea2764642ea3473a4f192cedfbe153a37f131cdf447b60e92310eea48b1985fd7938595dac8ab776701ca1e9fef47350dfc45355ff1e83a08bfc3a9 +m = 4ff3f8a7536a4c7d4bdef0400ed1b450cac329089b1443bf148fea0a01398912 +ct = 83b9c36cef6686593ceaffdabc9f548a5d386b9b9e8a57599fa181f71ec4a825d3d57381dd29b16d604dd394635dad7547b91dc7b97f160628f96382ba59ef0b043194c7968f1f659300b65eff7da5085075ff86fdb27bf6bb046c306db84b0ff3fd18ef7615e38b9afe06e8fe518364dc3dca1706eb5d3dc8f5048f50b9b4c7d99821d635346a8ebdc8e3bc8c6da4bd3dd0937e3641a9c00fb42699b1e0e2c06f1f104e3dd462caffe112b013d260dbde718c6bad8c3e303a86b474d110b5cdfafa06643656de3b3b86e30ecbcabe98d35e3d80acb2316d391605dc08eb4879c9e817017e77dd37d324862496d097ac11861d9af3f53018741952e4f449f3eb025ed08d3f1891aac168268cadd24913bcd94dded406cb35c681da4ba285425705c950c40d387d5862bcc823674e6680a0c249b70fbd1c3ebfd6be4a7581ace22eb7ee7e3730c829900ddb2330bf6dc360123a8f895e00eb9e37c76eea4f0c4a5fb7fcc31ebf6d054a91bd36949de91576ffed6eb5dc196aee086255a49386839782cf0e6a93eed16db06ea4cd5fb924b3b9605cf58a10eaaa23e48b280147d1b707d39ce2e902fa6d93359308e660bbe8f9ad173385668d376cc334952dbffc48b124589427d4261a63412d72180234270e673d31a1bc4b9f303fb1ce9b5a96431ee8355281adc6e8c10371b9b95f1e3faa2c0d5e5fd38e9eb682356ed3edbfecb87934b0b739ff8c3df3434315910c9af9454eecc08e65313f6ede74f5db1c65557c0168dba4be9d23a72f729e68ace0454be738217601437adaa6e9fc70f1520ef51e8c3a9486ed57463ca980bd511701d69fabb9439d5c3bb0a5dafaefd64885010645f98a3ee85c90cf3bf59ceea7bf3b5df4ff02ffbe69dd645a062d6dae3b07be3613c910b0a54486b6e75cd16f38f2c161129193f23fd2998a3dccb2b409bc987e7b8336127306901d882cd8b9ec9af862d294a6d39d625e0d6256921ae8a00dce8b0f3253f960ca0970c39013dc544ba23622a98e96d8c0ed283dbb91ca62411c5d30bcfaea2a9a08cc5e1738c41b6d1328fc5c4c97913684e1430e7dcde548c45687598f76a5ca7da3d3507d451720f6914797fd145538cf4d85fed406ec9f880a66b1f4f34e9e3ac0c6766c5405b7f344319286b64fe81014544b6e13c3e9297fb5e9b0b4c46a3c29a45e2e38d8d2523be08efce15ad9254bc9822e383cfcbcdb70919e61a7f060a8f016e504b1d4ce697b348f73999282b2920cf9be5accf6fd0991ddcfade7d7131c24a2c5f87e7b182c879f4f433f6dcc6c29fd8c37273bb95ee323522fd83d6d7d347e8e23f6a4f5a1a1b2896e0c2bbad99fa686919b2726fb3f7bdb3ec03239d768d88bd004b9b32ea4d68572212209e53141f13c46b3444fb32d3c1e8683c7c82451ed9835a976bf7591168fcf3da72175c715cb1976b32a586eafffdeb3efcdf4d1762293aa5b7f57976420025bfb7f162dc5f4f6d7aa0d88ad6b50a5497e374a6e3a8eea10d554ba6325aad293efe29547c72e6842442eeeb749acde85147bc5c6660335ed10550ca106a7d983c9b0f4638e1ad581f0399ff4df85acb3580134bd97df957d0a26f659ab9f1e936a90922d553e0dd75b61b124427820f00d613bc2dc9c871fa1124567f2824f3726dc59760392f46f43a8fa4d57306836730ccb46a7e32b88d7e5b9db0fbb751d4e950ee8ee866d00639a78c80d94f5b47f0af8fa599218badac83b95687206ae8aa98ae4cddc6db0b5a86fe92a21d42edcf5e92ca879850e863aba8ee0a6444c06226e7df8bf2321196f23ebea895f3364127cded2db6cc4a9a8b2eda007119e5e76495b1307f20d940efae76ccc705ae7435d9d114b49f15f7ad17f7ef3330001a648aaf58d6b240702342b1dce42e433eb001a6df9507b30a6aabc0df5cd46b1874d4c3bd37b5a90cb53e09016916158b6be6bb5d326f709f56064db717083dc9fef21b882a7c0a62f489b937d37ceabb97c2b034f44e4dc3f97ce6007f358671ba5a5b95beb7d80f3e6bf5f9ec1baa82ac9b518260c3e6d7e9ae606cdc7b68ccd164596a1b3c85ec66f62ea533c6e3cdd7a2f58c3712578e2719a9e7edbae28450baedafcb60eab51c14d2da09ab721b34a4dade1c1a5cd4f0d731346d39c443155dc96a14c980fa6b63f60ccbd776e4b72048c28728dd24c7d9032bcc16966d979 +ss = 9ee493f9d10799ee58372df79a487c40f901cc87f63563705f31c619b54dd6a3 d = ef99224a03a85a46ef115474ec5b5d620da6795d6efcca4c9135d19958a9de62 -z = df7d92dda83e6b2ef4cce08c9134563063068a196d7b1a1a13623e48ae12528e +z = 85c3a8b3732db34f4cd985b65e078afe6a735b53f4bc36d4762a3e45d1dbcb74 pk = ea9213f8fb3af02330f61ab15d3a31cbf57898f016b419430d790f4ba8a594e2ccb6483e46e5474518ccd033543065cbe6a5755e97790c4109a5cb18b124992d885493e03a262c3da395b46a069b9154c81294a7dd59bd092b69aca326220475fc792aeb639ccfa62cb9c549d28736a944af91119ad865c8e13700ce9482ab6b89fa7794f9d273bab516d142455a78675e21a8e74cb13876c82c738a55a4649304cb8f9cb2dce220c1bc06ddb0c5291595bd5867fd105236a91d3d61b25950c4d991625d3aa711a2449d118a51a88a1c4c17ca680c3ca950d141a220a0271a2b0593db333c1ccbe6a1380e465fe60404055bbfc511895861a32433a7037a00cac8197ac11528011e4eca80bbd921f2bb8162c0580fb94207c89471da649ee7cffa4293c4b6baddcb88efca19ab6c6e71f54814b8a2eff67ed476088dc30727aa0a47b81f9390bdfb93c3a8281ef3b92be88b130fa739023aca492549d42103663b97d7318c01e0660696984aa5c5bb1019024862081ba8d464b2d10ac6096b5b04b5cf867c51141a785a41a25703627f0a51bfa82344723c0ba43184a77556b8cb107232f480488cb24f8bf324be8116fb49c8c329bbaf00c9ac7751a39a222217979a83301c0528b87992b87cbd5c576c806b4e8c383d5fb025ce83104fc5abc9d235ea374588505018c167a78902adf24f33ac22811c612cc09b4ab1240fa18359134cf4f657fb5c96bc544f83b8b02620b5564694284452d8d0467716bf41504dbd6574f5ba2879b674e9ec858700213df91f5f9b18686669c9365d2f2cb9def360eda91272b876cc75a022724c7caa7e003cbd0b8bcb5b8656fa7255f0c8be4bf2398e3106e47ba27a934896370d52e0cffd9263cc85b6266018fd6303371969e7b78d326c9fc2c9a5b1c32e68e218ad278a8d5ca5629210ba342148e45217d594958bc0eb6a13b5910af6f616e290472ce203a7f76f1aeb4651f00397fa537fb419ef2ca0f28834ec0ac07b11bb22b3a1a1b1cfb4679586f720bf6151662303f6fa774ca020fc03cdcac3b74c319c5b23ceed4c24ebc48f067735cd5a02f579693c6ba2a58c8a5ce9b5cbd88e4b246cb75b34e286455a7936f6082965579be60a0812d34361695ee6282998219366628ed9575203d6652fb127074cbaebd2c1b25c520468a4abab0b550503cdd33851ecae8bb27726396a15a63dc26078368aa5a7c1b075e781fd231ec27cac42eb9e507a82751b7c8cb7b3547b0a1a58c82cb99da9cb926e311b5a9a1d682bb8da2c40fb679ae4c15ea0360a39eb6fd10719ae253aac91132938579d3616dff29ea1d33640e3b71cf2652e85c786873e1457762d230e99b81db1a99dd0a8ce052849e1f8a5ee050eb607ae2db8aee4d76845158617e4972bb97c10383a7c19a02907032337720dda9b9f8174fc20afb4439a21fb979af288f7b7101b104e2c7a9002b353dc1c80bfb00797455640b603b65c4cdc89254014079fb33217a15c31f6262c1430002aa148ca251aa15981947d27951f24030f9abc3e49370a94d803094881f3017a8be248e2c9515822439ae537776949641513c99c695625134348172b76b8ed929d1063b05ac774d83a3a6b0482eba52b2f07bd17021e0fc4b7651347f4b95e72f0a6d676158ca191a5c9975b1bb5b5218093eb9716e350e2d340ace90956c05b5d874dd60a7c9716894f551dc5986e378c830af8ce327a027741431d48714223c83f7b1dca94ca5e99814e1311c69481f38ba87fac128ea30c19b2baab1a2383113e5d282bbf0c4175a69fb4db66fe4421bbb26b990203929b3a58a85245bacede19159d1ab21537cd7861191d15185cd5b4f07a2559110cb42bc0cba54cff480750b56933666cc470b2504895a1213db43c5c176590c9d97ac7279d6dc55ccc7b1d4d82bb33f240b4c635a936beb5d71f787c396371c088d65f7b2a395071a4e6c381a1708ec05a6e55959845b456794055864c566d445ad9091834b77a30228caec6a0829bc243a9330b42010d62149d672373812dd014873bc79f627b25b1ecc782384e0dc8accffbae88c0415f6cc03e7640895c744f4707e130a9c9ac6cbcb70729db69ea7c6d8c8a9e94c1438c96289b41419af6ab083219f8a88753ca8b6ff168d85c8a2ac94cb6955ed03c49e0beb46c4ea9ff7be444932e61d464966bffc96bec0647ab34f2 -sk = 953b6e6f452ffab6b9e27b707f600992e228f5fac92680aaf31300154b218ae51a012a4cf53840cfd714cb63cb4c7aa0e8ea6e50803ca370bb38c7205d9365448b38308868c83348acc365be62b4fa763ecc5112a48558e57230d92b5869d77d99a5c0bef49819500b333300910117e05b082d15368ae529923c6bc9d3594ab33c91b81549829a2ee55ad152493e80aa80399f770899ec05417a698e6493aa647691fedc92854c23702caafc8ab3a3194ce8437b8e2a7f69454adf3170c282972abb93cf152dd85587f6272b0b71590c81b3a9f680d19445fff0c395310a17f55272cc3e1364a9aea7a67af4561cf10043b7b7eb4ab0791a8d62814f4b6536cfa69ca0493fec1a53d58709fbab9c87578d83c9441d62c267e7aa4ef0afc7106c9f834a5a13206c4b58d7378af90b85f7e05237559d6d7819f455aa01d68bc297a8dd760a0df971542919979218b4861a49e45aab12be67080d197c25ca53483d781ba27893d23baecd393dd1643dc2a53275c84a19900b364ccc94a8ba3b5768f8dbbe08a7b08fd2746bec62c98c5e5198695b12048ba5c98753aaba88bfbbc6c8de490afaa8343d334aaeb72532c63d60667079b41b6a287b04c797458acd9104c94e96bf18137b0868737dc00a8e2164e0980b9b2135dc7c0e80e1b930c22874fc2cdbe0b5542732e8fa80e407a1a6e5af0aa3168a963587379aa3e6a2b082a8a35604bad827bd6aa1fea76a608100ddc40b17283eddab2335b8796dc1bb57887787a4273c4185867368be581f6e5767bbf0580f07b003556ecffc3ae336260fa0a80a2c9e4c9914144551c89a9d68373ed9c7afa83c75c6b8affb54187d3b46abdc61d9e070b5584be7564f932985ea4c739cc906732a7cf79a65f0f7b0682caa5d2070b3e0699b1bb3ac0b38caf22ca4db9472d06b02954e36c0a3d8890473588c77e43990da1c7103985761ca711109bec0b805607d732a36baf897e93c6d9a988b94c67a4592b7583126fd452ff0b45a033824983715c60478685b9c2d013d41b47eb342a05fb76232554df30990d6f1b37ea9172020c66fac8f415615ebe07833a2588ef622034074b214ccd9395648071821d1109daa87c0e00cd9573254538ec3b8459ce56578c09ca66a508e88c4dbf6183a268b86fa4b7733a8cc89ac81619af8f56d8adb1f665a7ac413005be730aa41cef2b06a7fba535552c8cef73e90a8584a8b799c323f61faad4b8c25d06cb883493147069eb1c9c8fb262b699693d0601262e9ce5b383a0d27c1572c49547bc908c003490827343a690859a15b20119975c35aa991183052f117b53d06c5f4683d19ca5ba6f5595b8b269d96c1b3524cc8fc6eec750ca33b5518603f59b50741d246642bb88ef61a8bd4c54f48af3f573d4cdc5143ecbddab5a281400721544e16e35ea7a05f161003a6c3adaf690189bcb074f546bc2033b1e8b00d56cf32e0733dc81d05eb358d148a91faca963b814a9c5fdfdb4de79b729dfc26c3d9b48a4730337b0bac8c2a3628268159979f6b10aa9ab90adab98b9c0928fc4e3570ab01f02d5a64c5f605596e3498ea532472760f61cb2eb734c174e48237c656636645886b65c566bf95d927b692a02f0100ce756a60b508a18754d8f6bd8b884e0ac57f0c0b8f12347d40fa30f364121147263860825461bde41136af083b303ac118d685622cb7c4092bc0063328a2484d3392f8ac4d91b64c2d19a8d2a1936efb0ad83c76b51310afd878246c52a2b13e8d3719a6729bbf057365185e997603164c63495a651a65926ec96c7c54a03cf00a74a83fd59b1bb33c55711c4e268ac89c730f84858e67142f051c617e131bf1a66fe39c5ba4d12676549d6331b9ab32a10cd9ab9a686216e0cc652c981f74c3a070a2520a9f45336b955c46cab108365861e5c79bd4f92d36959804bcb458f8436241ab5b204bc9d48bae38bbfa500de53a7ad671bd4a29057951645a346c2f7b1e6573323cf6836433505cb116361919ac640a8e504307dc9b0641a2900313fda004a1c4a8f0eba7c42985472a57adc37d90139dd6f23e39b15db0736b8616603da46ecdb42be478b728519bfb1a95a33c9b7c2a52fa1a089d647fa6bcaf16b83f27791a59c89011739909dc13cd0a8e32381087ea4024189fea9213f8fb3af02330f61ab15d3a31cbf57898f016b419430d790f4ba8a594e2ccb6483e46e5474518ccd033543065cbe6a5755e97790c4109a5cb18b124992d885493e03a262c3da395b46a069b9154c81294a7dd59bd092b69aca326220475fc792aeb639ccfa62cb9c549d28736a944af91119ad865c8e13700ce9482ab6b89fa7794f9d273bab516d142455a78675e21a8e74cb13876c82c738a55a4649304cb8f9cb2dce220c1bc06ddb0c5291595bd5867fd105236a91d3d61b25950c4d991625d3aa711a2449d118a51a88a1c4c17ca680c3ca950d141a220a0271a2b0593db333c1ccbe6a1380e465fe60404055bbfc511895861a32433a7037a00cac8197ac11528011e4eca80bbd921f2bb8162c0580fb94207c89471da649ee7cffa4293c4b6baddcb88efca19ab6c6e71f54814b8a2eff67ed476088dc30727aa0a47b81f9390bdfb93c3a8281ef3b92be88b130fa739023aca492549d42103663b97d7318c01e0660696984aa5c5bb1019024862081ba8d464b2d10ac6096b5b04b5cf867c51141a785a41a25703627f0a51bfa82344723c0ba43184a77556b8cb107232f480488cb24f8bf324be8116fb49c8c329bbaf00c9ac7751a39a222217979a83301c0528b87992b87cbd5c576c806b4e8c383d5fb025ce83104fc5abc9d235ea374588505018c167a78902adf24f33ac22811c612cc09b4ab1240fa18359134cf4f657fb5c96bc544f83b8b02620b5564694284452d8d0467716bf41504dbd6574f5ba2879b674e9ec858700213df91f5f9b18686669c9365d2f2cb9def360eda91272b876cc75a022724c7caa7e003cbd0b8bcb5b8656fa7255f0c8be4bf2398e3106e47ba27a934896370d52e0cffd9263cc85b6266018fd6303371969e7b78d326c9fc2c9a5b1c32e68e218ad278a8d5ca5629210ba342148e45217d594958bc0eb6a13b5910af6f616e290472ce203a7f76f1aeb4651f00397fa537fb419ef2ca0f28834ec0ac07b11bb22b3a1a1b1cfb4679586f720bf6151662303f6fa774ca020fc03cdcac3b74c319c5b23ceed4c24ebc48f067735cd5a02f579693c6ba2a58c8a5ce9b5cbd88e4b246cb75b34e286455a7936f6082965579be60a0812d34361695ee6282998219366628ed9575203d6652fb127074cbaebd2c1b25c520468a4abab0b550503cdd33851ecae8bb27726396a15a63dc26078368aa5a7c1b075e781fd231ec27cac42eb9e507a82751b7c8cb7b3547b0a1a58c82cb99da9cb926e311b5a9a1d682bb8da2c40fb679ae4c15ea0360a39eb6fd10719ae253aac91132938579d3616dff29ea1d33640e3b71cf2652e85c786873e1457762d230e99b81db1a99dd0a8ce052849e1f8a5ee050eb607ae2db8aee4d76845158617e4972bb97c10383a7c19a02907032337720dda9b9f8174fc20afb4439a21fb979af288f7b7101b104e2c7a9002b353dc1c80bfb00797455640b603b65c4cdc89254014079fb33217a15c31f6262c1430002aa148ca251aa15981947d27951f24030f9abc3e49370a94d803094881f3017a8be248e2c9515822439ae537776949641513c99c695625134348172b76b8ed929d1063b05ac774d83a3a6b0482eba52b2f07bd17021e0fc4b7651347f4b95e72f0a6d676158ca191a5c9975b1bb5b5218093eb9716e350e2d340ace90956c05b5d874dd60a7c9716894f551dc5986e378c830af8ce327a027741431d48714223c83f7b1dca94ca5e99814e1311c69481f38ba87fac128ea30c19b2baab1a2383113e5d282bbf0c4175a69fb4db66fe4421bbb26b990203929b3a58a85245bacede19159d1ab21537cd7861191d15185cd5b4f07a2559110cb42bc0cba54cff480750b56933666cc470b2504895a1213db43c5c176590c9d97ac7279d6dc55ccc7b1d4d82bb33f240b4c635a936beb5d71f787c396371c088d65f7b2a395071a4e6c381a1708ec05a6e55959845b456794055864c566d445ad9091834b77a30228caec6a0829bc243a9330b42010d62149d672373812dd014873bc79f627b25b1ecc782384e0dc8accffbae88c0415f6cc03e7640895c744f4707e130a9c9ac6cbcb70729db69ea7c6d8c8a9e94c1438c96289b41419af6ab083219f8a88753ca8b6ff168d85c8a2ac94cb6955ed03c49e0beb46c4ea9ff7be444932e61d464966bffc96bec0647ab34f2cd65fd07a78e48c1a02e235ec76fdb509cf9903a4f5a850c51d9d3fda383cc67df7d92dda83e6b2ef4cce08c9134563063068a196d7b1a1a13623e48ae12528e -m = 1a4d5dff5847cfb48333e33bb00ca7301b144aa89dcd412ff5a3b1081d775b7f -ct = 6272cc8dfa60d5c2063e16ee8c31aebadfc6c7f3a350393682cf83bd673c5a3433d6b73f63625cd979d9ac906e7c46ef95c0c898d447aae1afc7dfb35bbfdfb07cc16f9a7063ad16f3412a0c0eaa46ed10d3ca9621ee22b134718d50b4e601b48a8a1d1b1d14514f167d750e5b6853fccb42fc0b5c6a30e513582ce730534ee451de6ce4359cce5e5b590469acaf649eee352b2c7a196958553c7d88efde2a0c36297c7f696c827d1dd93873fa0e9cfa11912a37511d6d2330e28d10f4e749dcea33a7c24a4de1080342b3abf29eea82d3de8667f1bb686ec70922fa6bb6bee83dae104367dfc503e98681c92d80dd7faa2fa49208ddbc177e8ae6f2889927b2545e68343d7567c29afe18a0834c93ccc3716e07104e6d6acf341e0c32488a69d8eb7378a3eb33ddabd9057e623ad889975c21cb20c9f345d8d3b974d753f880366b51ffd88d1de7bd1c2eaf27fc4af7a6db86c369599c92827ccb9165d5d169621c02348210fb4ad472e321b225bc52b9d8b2442fc718a7ec83cb84fa5d9302f9d3756a83da8dd3c30a0b64e6ed0a054545fc2bc940c1f1dafab99645bb462544ec15515e01e23c3542d0c2b0dc7af6c4029c5adbd6cd1dc3d0a2230ea9e2ec43d2f510ea883d293cc097e8e3bbaaf0f960ebd27ee12831c2a91dd564e93dcdc09b619fb5a2de57c452ae2e756d4bd20132f0f407d3a0ae39cf5c20de4563a9b224597cbfb9a0c1016c6dca8aaaeed5288c1953c0623b2ae33c9966dda5728ad11bb81e9d641e74eb7c760db396107127db8bfe704f66a90d84cefe02c93575961ed6de416bcfe3e69fb337b860daa9cf75b6d6999f4394488248ebef623d0c17dabe659896c89f32cbeca4f9c2ec923b39862c9a306847d599e1146ccb76e7c4126a4fe95758b8bfb5f4ef799cea7c7e98b666fde43f88fac11c845e2f6e7762712ecf626f745494fa668d4344a7bc10d9894719e12f91e1b2ed0c1aa06070c07fb4da3a8d3846fb8f4d2d725cc191c99c8e549efa63a74c4adf66c9c7a83018429aabf68aa7183b5e3c2c5965003033f2fdf43ac93ada18dd2453fa00bfbea8a64306ef0dd3ed001e9ea73a4694a7f76364e9ed09e485c0ef857f52500606ddd9e153e58583b165c51b9d973e526b800dad61b4bdbfc2d258bec181184c71a6a8e51a5a0c3c4992eda7d10d8d2ab1d4803c27bbdade299fccc2c5ed01dee124a612fc5718c3d4599a3aee96b0a8ce1bf44ab2e71a124e60787555efd8d5a83d238329e3c2eb728c214d5d5687b452d80012eb4f6360db7c6ccd5663b9bb7798cbfecb176d8e79607038ae90dfb07b5c43fec9e0ae595053c1f0e5bed42625b979c29ba59fe9cb1841a2173c52cf65aa65c45f08e7da829f79d952af1d9d72e2b3b1bb4ea6861d4574d9b3a036b53d37b4d39795fb8e0862bc9d652b06b825a1e9b04dddae27ed41fe0a6d4cc2b378186bd222ca409ec4a7b18652d170ad84e1c60c7f36eb149e6bbfcb0748dadb6584e96c9e250ea2fb0fe4c8333d4cce0d71ea47738a9ef2fb17dde2604004bc727f571291f1fd6b472067fb98602e854ed81ab7a576c551767d1594cc977136374abe52e08cabcc7f233cffa71d20beb7850c536ae854462a169507c9c8035fd015745bfa9d483e1c6b54aed99ce63e6d25c64a70b66da21a32468d6250fc9910b69d1d9f9dd73f849c0744716aaaaab4c908645871db49c7f256196c50b8af91f2c55c0c714a95f5c4f81d559d401e8d09573fbaae5a2454a3d6542a1bb20ae40a8d913f3f9a47d8fd4674cef15d3327e32ba8bbc3a04169cf300b5a069fa57874dd23ef8d8706cda2fd59cca1b570a21c9045a41c4f4f0efca118a7655706476ae33099886dcd227529269d7f27d8c1b6574239dacaf80bc7888025803e1300e3d99db860ba4fdbab68a2e60d3da33c0d67bcf3b11c8e2bea06edcc2632122ed9197bc7f822870feb717a259f6a84d7ccd1dea2d79ddbc59e213530ee6a2940583cd1eb3b977d6efca5ae2eab98e179cc30c3ff25700f69512d798b84d1d984df36794051d12027cf888568ea686de5f08eaec7d756a042b287e87f3154b99ec8bdee69335cacbaeb047631874ae34be749c957d8a2c36a0d14f6d996d7f815e51f7ac8e55b2a6069504bb73f82bc9cd29e556ab7fc302772563daa699a1a8533641e1e5d5931eadf33c32de2ce9a12 -ss = bc0e3780c03425d7733c6f4fdf9d55a2d81e8d7e79e35b729000865b40cb2c3a +sk = 953b6e6f452ffab6b9e27b707f600992e228f5fac92680aaf31300154b218ae51a012a4cf53840cfd714cb63cb4c7aa0e8ea6e50803ca370bb38c7205d9365448b38308868c83348acc365be62b4fa763ecc5112a48558e57230d92b5869d77d99a5c0bef49819500b333300910117e05b082d15368ae529923c6bc9d3594ab33c91b81549829a2ee55ad152493e80aa80399f770899ec05417a698e6493aa647691fedc92854c23702caafc8ab3a3194ce8437b8e2a7f69454adf3170c282972abb93cf152dd85587f6272b0b71590c81b3a9f680d19445fff0c395310a17f55272cc3e1364a9aea7a67af4561cf10043b7b7eb4ab0791a8d62814f4b6536cfa69ca0493fec1a53d58709fbab9c87578d83c9441d62c267e7aa4ef0afc7106c9f834a5a13206c4b58d7378af90b85f7e05237559d6d7819f455aa01d68bc297a8dd760a0df971542919979218b4861a49e45aab12be67080d197c25ca53483d781ba27893d23baecd393dd1643dc2a53275c84a19900b364ccc94a8ba3b5768f8dbbe08a7b08fd2746bec62c98c5e5198695b12048ba5c98753aaba88bfbbc6c8de490afaa8343d334aaeb72532c63d60667079b41b6a287b04c797458acd9104c94e96bf18137b0868737dc00a8e2164e0980b9b2135dc7c0e80e1b930c22874fc2cdbe0b5542732e8fa80e407a1a6e5af0aa3168a963587379aa3e6a2b082a8a35604bad827bd6aa1fea76a608100ddc40b17283eddab2335b8796dc1bb57887787a4273c4185867368be581f6e5767bbf0580f07b003556ecffc3ae336260fa0a80a2c9e4c9914144551c89a9d68373ed9c7afa83c75c6b8affb54187d3b46abdc61d9e070b5584be7564f932985ea4c739cc906732a7cf79a65f0f7b0682caa5d2070b3e0699b1bb3ac0b38caf22ca4db9472d06b02954e36c0a3d8890473588c77e43990da1c7103985761ca711109bec0b805607d732a36baf897e93c6d9a988b94c67a4592b7583126fd452ff0b45a033824983715c60478685b9c2d013d41b47eb342a05fb76232554df30990d6f1b37ea9172020c66fac8f415615ebe07833a2588ef622034074b214ccd9395648071821d1109daa87c0e00cd9573254538ec3b8459ce56578c09ca66a508e88c4dbf6183a268b86fa4b7733a8cc89ac81619af8f56d8adb1f665a7ac413005be730aa41cef2b06a7fba535552c8cef73e90a8584a8b799c323f61faad4b8c25d06cb883493147069eb1c9c8fb262b699693d0601262e9ce5b383a0d27c1572c49547bc908c003490827343a690859a15b20119975c35aa991183052f117b53d06c5f4683d19ca5ba6f5595b8b269d96c1b3524cc8fc6eec750ca33b5518603f59b50741d246642bb88ef61a8bd4c54f48af3f573d4cdc5143ecbddab5a281400721544e16e35ea7a05f161003a6c3adaf690189bcb074f546bc2033b1e8b00d56cf32e0733dc81d05eb358d148a91faca963b814a9c5fdfdb4de79b729dfc26c3d9b48a4730337b0bac8c2a3628268159979f6b10aa9ab90adab98b9c0928fc4e3570ab01f02d5a64c5f605596e3498ea532472760f61cb2eb734c174e48237c656636645886b65c566bf95d927b692a02f0100ce756a60b508a18754d8f6bd8b884e0ac57f0c0b8f12347d40fa30f364121147263860825461bde41136af083b303ac118d685622cb7c4092bc0063328a2484d3392f8ac4d91b64c2d19a8d2a1936efb0ad83c76b51310afd878246c52a2b13e8d3719a6729bbf057365185e997603164c63495a651a65926ec96c7c54a03cf00a74a83fd59b1bb33c55711c4e268ac89c730f84858e67142f051c617e131bf1a66fe39c5ba4d12676549d6331b9ab32a10cd9ab9a686216e0cc652c981f74c3a070a2520a9f45336b955c46cab108365861e5c79bd4f92d36959804bcb458f8436241ab5b204bc9d48bae38bbfa500de53a7ad671bd4a29057951645a346c2f7b1e6573323cf6836433505cb116361919ac640a8e504307dc9b0641a2900313fda004a1c4a8f0eba7c42985472a57adc37d90139dd6f23e39b15db0736b8616603da46ecdb42be478b728519bfb1a95a33c9b7c2a52fa1a089d647fa6bcaf16b83f27791a59c89011739909dc13cd0a8e32381087ea4024189fea9213f8fb3af02330f61ab15d3a31cbf57898f016b419430d790f4ba8a594e2ccb6483e46e5474518ccd033543065cbe6a5755e97790c4109a5cb18b124992d885493e03a262c3da395b46a069b9154c81294a7dd59bd092b69aca326220475fc792aeb639ccfa62cb9c549d28736a944af91119ad865c8e13700ce9482ab6b89fa7794f9d273bab516d142455a78675e21a8e74cb13876c82c738a55a4649304cb8f9cb2dce220c1bc06ddb0c5291595bd5867fd105236a91d3d61b25950c4d991625d3aa711a2449d118a51a88a1c4c17ca680c3ca950d141a220a0271a2b0593db333c1ccbe6a1380e465fe60404055bbfc511895861a32433a7037a00cac8197ac11528011e4eca80bbd921f2bb8162c0580fb94207c89471da649ee7cffa4293c4b6baddcb88efca19ab6c6e71f54814b8a2eff67ed476088dc30727aa0a47b81f9390bdfb93c3a8281ef3b92be88b130fa739023aca492549d42103663b97d7318c01e0660696984aa5c5bb1019024862081ba8d464b2d10ac6096b5b04b5cf867c51141a785a41a25703627f0a51bfa82344723c0ba43184a77556b8cb107232f480488cb24f8bf324be8116fb49c8c329bbaf00c9ac7751a39a222217979a83301c0528b87992b87cbd5c576c806b4e8c383d5fb025ce83104fc5abc9d235ea374588505018c167a78902adf24f33ac22811c612cc09b4ab1240fa18359134cf4f657fb5c96bc544f83b8b02620b5564694284452d8d0467716bf41504dbd6574f5ba2879b674e9ec858700213df91f5f9b18686669c9365d2f2cb9def360eda91272b876cc75a022724c7caa7e003cbd0b8bcb5b8656fa7255f0c8be4bf2398e3106e47ba27a934896370d52e0cffd9263cc85b6266018fd6303371969e7b78d326c9fc2c9a5b1c32e68e218ad278a8d5ca5629210ba342148e45217d594958bc0eb6a13b5910af6f616e290472ce203a7f76f1aeb4651f00397fa537fb419ef2ca0f28834ec0ac07b11bb22b3a1a1b1cfb4679586f720bf6151662303f6fa774ca020fc03cdcac3b74c319c5b23ceed4c24ebc48f067735cd5a02f579693c6ba2a58c8a5ce9b5cbd88e4b246cb75b34e286455a7936f6082965579be60a0812d34361695ee6282998219366628ed9575203d6652fb127074cbaebd2c1b25c520468a4abab0b550503cdd33851ecae8bb27726396a15a63dc26078368aa5a7c1b075e781fd231ec27cac42eb9e507a82751b7c8cb7b3547b0a1a58c82cb99da9cb926e311b5a9a1d682bb8da2c40fb679ae4c15ea0360a39eb6fd10719ae253aac91132938579d3616dff29ea1d33640e3b71cf2652e85c786873e1457762d230e99b81db1a99dd0a8ce052849e1f8a5ee050eb607ae2db8aee4d76845158617e4972bb97c10383a7c19a02907032337720dda9b9f8174fc20afb4439a21fb979af288f7b7101b104e2c7a9002b353dc1c80bfb00797455640b603b65c4cdc89254014079fb33217a15c31f6262c1430002aa148ca251aa15981947d27951f24030f9abc3e49370a94d803094881f3017a8be248e2c9515822439ae537776949641513c99c695625134348172b76b8ed929d1063b05ac774d83a3a6b0482eba52b2f07bd17021e0fc4b7651347f4b95e72f0a6d676158ca191a5c9975b1bb5b5218093eb9716e350e2d340ace90956c05b5d874dd60a7c9716894f551dc5986e378c830af8ce327a027741431d48714223c83f7b1dca94ca5e99814e1311c69481f38ba87fac128ea30c19b2baab1a2383113e5d282bbf0c4175a69fb4db66fe4421bbb26b990203929b3a58a85245bacede19159d1ab21537cd7861191d15185cd5b4f07a2559110cb42bc0cba54cff480750b56933666cc470b2504895a1213db43c5c176590c9d97ac7279d6dc55ccc7b1d4d82bb33f240b4c635a936beb5d71f787c396371c088d65f7b2a395071a4e6c381a1708ec05a6e55959845b456794055864c566d445ad9091834b77a30228caec6a0829bc243a9330b42010d62149d672373812dd014873bc79f627b25b1ecc782384e0dc8accffbae88c0415f6cc03e7640895c744f4707e130a9c9ac6cbcb70729db69ea7c6d8c8a9e94c1438c96289b41419af6ab083219f8a88753ca8b6ff168d85c8a2ac94cb6955ed03c49e0beb46c4ea9ff7be444932e61d464966bffc96bec0647ab34f2cd65fd07a78e48c1a02e235ec76fdb509cf9903a4f5a850c51d9d3fda383cc6785c3a8b3732db34f4cd985b65e078afe6a735b53f4bc36d4762a3e45d1dbcb74 +m = ace5e23f87cdb061c1821314f8353cfa96d69cf902a2866e5075a796b24594bf +ct = 1aadf4a4bbb4b83d639200a44248fdf438ff1aea5707ac975ac24c0b5311988efdb9aba49bfc41005a32a6badeecc2df0910cf94bfcf652db56e8449ab8765ad04b60c4d2e73a227a3b803e5c7c9a6f1bd1c0b57136785d0d2c0335982df897915038b2ea9c4eff7ff71a37a362c703ac0d7d2746b1013a4703d6409709452c3c6fb6863dde57525cd9d107367187d166bc2fd262d1ca4946eb2fe9c1b46e6f26cb7ef6a9d3dc5b2f5df19ce14acbd2bbdb007235c03fcfc2008c3d412d942e90605936c85273b763d219f8ee4ae1f7cfa29c15d211c435854addaa8b1c69665abcbe6eb2a67ab49180b3d21b5d3763440f1d81c7927693fc1605450d256fda6280a4599420d0073a8bbde0caed1f407defc39a75e623a791b8f03c4dd46ec68606576d72820a6765932d28d8bea412bb07c3dd352246f7f02cb32fb7e3fd037105815bf76af1c886eb15f042fe30fef74ef240b0dc7904748c360797121b8c1f76b167bbd4e098559d7a054dcaee8ebec8283e5d4957b0b3a2ff91d8373ee3a0f06a79d7230cfd1ba8418e738f5bda45485e3688b1d43f457c0ad7e4c9de7e29de8229d7766df9810ab9b20abc5704049973ec3357ee9d728435b6e2506a867fbc5d3b3b52ef8b6af84aa89d85f95ffba063b8ad501c7f37741f770b9222a35e4bdb46e2f821802f6716b7a670cb2fb142d1e8d30ba05e30d839d08bdcf9bc3c21e70a020fa4060204ea147d048662df12e523eeefe90b4230d73d6bbf5ad1484c0aafd572e88eab85073831557fc9b8af8ca65e9e0a9896c8530f1a4f5298ac292661c16a31c989d230e1c904c165b300bcb3d55924517dcd3cf16821f90dc2d44c54a6eb875644741a0de7c79f17a49ab61637d0e584ccc14d38622985135adfe1a3471462d78ba27960ddf4ce3fbb99b09a967c89de1bad90ed12fe550ea676ebe2f53e33c01a0dd98e5c2d6b159067e1f8a3b8d7171eb8ac62be4a6db1e791105cad4453eb5f9757ae274a00f242e329e6b46487cbe70e2bedf0740a685f7e9ee2259744372ea8bc80094bfbb599c6c84a96bfc35b25d5e6526473e9d69c8bb69189df0ba1b77720bdfcd085c0678ed9551f5517ce3509410a8ccc21473f2872537784df00f02e684b5cfcf1e3553601307f9803c52092a6a2acac8be443471e240c347ecaf094ee1d04e9fedb65d1c0350bb1a8cb6901e9e7459664f92751ec53d3ee03aa3f5cd8f5b5c769c551e89434279253c637ef2cf73d3cf627941defc8116cf79e8977243a9a6ab8be92cbae5f4ce94ee83681c68de47db291bba42dc75469f2bc7983f8fe56d8258ef70744afb192e2c1c93c89f404910dbdbc145a6d6308794fe9243d9d3c628d329ea901d1b0a915a9d7cde097aa08371f66d7526fda8ed819e2d179965bf52a5fc21708dbf326ef0723a77dc1331c7d56be94fd7d4635ffd054a52f7c0dc2f5450c4cc561f3795e000890a69448ec05c9a0d89d3ed5c8c2d50e00c8deb7be3c99d24ada587ed56908f8d03ffe6f6f94649691b03c4abfe8dabcc62e7f995a1768fd12dfffe31f972bde53680114465112c7cbf82f09cb34feee566bf2bf485819a136b3fca168a50df2fd8432e8488e91c0d971df13ec346b56c43870b6619ded982c2e31d35653059f36cbfcd4f9876639b0fce02053428968e07a89529ec00e9083a01d4060d27f50833cf30cca812864e632e36258c59ac418324fc3b6a8860468dc479918f78525831482ca0072dc7bc41c79151507fe281091eb06d8cce745f6623392e5fd1aa9843c82b70e71779c0a5e8f6fa33d9dc67d07915be5cd7f39b0df5b1d01e0e2323fdf88e515fc97797dd934b0596cdceea49fc0abe2f9498c0b9de2e872dbc72b123cd819e3d4d722d8600322227248d4473080369ebe9d39888bf15fa38af5657f3a631662e40afe6014a6f7f82aa3ab6b64d5c7811e78337b3ae2c18f411d707fd293045901b3b63899d4b4514b2b3513792852560c93889915af2f3abbcef2e64bacf0cfb8ad0b49316dca8759f6740120cdbb1d242a9fdeede9578d51681973b65084a681a4bb785cea98e11c950985230b14c49691f12eb94c52b8bfe4101a0645db9fe5f21ea9f6883e3d532a6fe44e5910446c7e1e4626c22c46a6df373912789fcfd628a8ac48e12c617f941e910a5fc84d569e3f7396f743e28d427bb3012ed9a756d0b +ss = f9ad1c25f94a90249d3645dfccc643c16b5903e09c5bf3b67a47a8dafd97971b d = b12f6fd965ea9c5b947db80fc60c83d5e232dca82e7263027c19bd62e5a6ff55 -z = 0f6aa3e88f7fa8a96067f8cdaeceeac90c2d0b5e277e56e9c405ec9420c30252 +z = 11c11c1086f0365e9fbd525b3fcb4e4f169fb488bf0cbcb455ec098d49e903c9 pk = f1564b86096399f0415e5b757e7a6f9ba5120dd8a938e06c7ad8581fecb46b60afbbb444ea375e53837827f80de1e3753a4aa255a4917f1c8af87923f8397c9750cbc7e5864049315e718aa2732b6bf7be35694468f55b45449934715e460c6eaf734f96a1adf87609f8551dca87a94f0217e4e507c2b637f368ccec681f36d6cdd469be9d0bc7828c1bf13a2d28b8093b59a174d271ae9736b6397a4b8c9e4ed085a705a4987bc56dc172caf58e543bb9d151b259e735ca851dbb685d5158596d61a411e7c542a240c4900bceeb6e6aa7acc7db5dbf60c178813051574dcdfaa38d6b8eb595712c8b758f7827a981944f550597d120e926486e623ecd029e92825ebae4b6d049011fa7216dd81c005b376bf6b1171654b5a3ba932bc98111b8213343b9e18c9e7479611606961b476adab27e457225351e2981a4e65b6a7f0b02078505d7d3b7dd671c1bb79610dac7c92518a8b851ea5c3115f5cadad3cb24923baa686542e83482b725474381409a4016e54066c32420e99349d0c5a32ccb0b010983b96f8c657018ac0014a34020888317a13c8296a5fda3937ebc61f2d1022b2b00e7a6341bdc70d1a11b9eb10673c07e612363e6f0413095561dc15c313138efe56c67877c51f216476ab182a233f34801205a9087ba56a938900a0cced6e16462a5bf746ab679aacebed1b1b62b78a1e2aeaaa336f5286a84fa76e1fab798749d8eaa1e71c48ef6a08977235ec54179cebcc349863a9e40b61d68c1ddda72d60b061f0c42e6c179c0228d8722ae90d022d9747ccf9326e4e27bc87257c24892043aba248c1ccb8405a66712779444ee39bf91292b9f926d1c99c65a7941bc7c1378f682f390b855d88273e56fc1067088232f679c5544a03b64cb2a8d9b8319d254c3b19aa6184b1db0529bb9750df0cc6cf5a39b7139383876f633763cd07feb86393f6053a25b043e6b736b0309e7743103f0262133a4b701028db889fedb88b0f5a49d77938c33a5af559468a91e6184bb9ee9bd71d060c6f0b2a2413bba67493fb9a12e7b8c4f35497ec192b4086b4741402e46c97dd85f12d79a9b915160c788bc552a00c8ab88b50506363ff3eab9f84b5aca7460c882015ec08b3b4155621558effa01b4e1c3ffc310a2405dd4d4561e8bce8af738cf65279fd56571bb2a76faa6b1ba9b0b9c7c8e8c9349d504952c8883a4bea1c2c7f0528840119bbff2b2887310a7f1030bcbb0b8002402c2c782c183853658fb374de5ac9bacc24dad86b088daac4b62640fbc5eb9990e089b1f49e95bf3471edfa0521fe910c0da89a1193d2acc253c9aa8ed15bb4bcb16d3c14d262895d594693825ac0ca0567acc11c94a6c27438d6a5403a320b2c4c47400a9817a2296be402dc688957c7494600870e84cbaa433076b201cc64b3a3a51311f7c5a3ab206fa37c0a1c98048271648b5a5384c119dd73ea44370358182c713ab2e399655a171670a5295773d2c36b6e4b934599656c7808f13044084a82666742eb6b605dd2751de5872df234694a84397aaaf3b894e0a7507c3a354dc3409ccba4cb16b5387406bf7d005a17352c4d331b7801596f031a7a15044e1bcc00c4a920a1ff7cc1b904847977261ede038c5c51841c88be1cb8b214caaa5d3bdfadcc66fb49afb234dab467c45c2471ee52019b952bf716a1bb4059549a8c0bba67519ad4f10cfee06bb34496f38f9491c172f2be413da1b0a7de20dcbc1aff4103e546c8fcbb20bdca475c9161dcea2aa3ad534fdf042b2776b04477b14f2c705c85b3a7c5ac3803b3548b132c6af8e90ba88ba49981729a8621f30c2aa0dab04b49bb28abc92d9cc8311faa8dab45d545611a36b86549760cbeb4ad464199a35811a63cfa00a8a1bfc202ba75d73560eadd235c2490c8e514ca29b30ddb0996798a4f5f76765d977033a5f61196ba517ad5764c0e1b553035201e48c406382a842256162b067f887729e298436485f10236f67f96d263c9d0835171dda6d1e5a89a7137e39c39bcc7488b1b365a1ab99393c1c35cba50014163c84977edc8f02ebc9b5ec5045c6b1091ba794303e8bb52c7b8238a635c23d3c13d9e918d29025474098419aada6720c70da55905c197c1114c60054fcc651ab6aa9876430d4d530ec7a7a734189a5844ab93cc0a90d2a9640377808ccc2673495c4839fda0d1038b27befe3d22e2b727a -sk = 87c0b4d44cc9eb48c126c5877ff87929b08485fb81e479139c3299c70c43c3fc8c238a81d4e61e62a33db2499c866b7107d116b7fcb1b0530a7e758a8d487d11575079265b3158302a23732bd07330071bd7cb7199476c39b583a2446109e99fd5c95be21a292cf37490906e84a82605b8455825c82eca4b7e218644460ce581214c78ac4473688bd6a9a826217490ad791b7835a85935782847981ca97b6dfe88b63701cfbe3929a2dbab1628155506c353639d153656b90c5aff36baedf1b87da5bce2a108fb6c3b29e77dae803a0dcba48ac6882f6c1194e88387f30a47c27d02c37d988346a2a29584a55cb5d3c44c05a18619a4fd412babc31a046221b3994c8f22ce272c9e6e948c3d043295f413349796c38911f8dcadeae47351c15e9a1743eb65bdc7471f37fcc93cec867cd4808ecb281fc17efd004dd64ab432d664864b43f8a9b1e763529ae2c413abbcf30a4a478a30a0104d802037c4a8af01b534dd600e31a1630ff13b2f730924cb790166af3b7322baf4409cbba500c1bb32894e65445f04e4b4b4933de51267635037faa44e2775caa4212f4e0600e51069aba662c86145e2117347bb1748d63e412550c004237cf02b02aabb18d8533d19b1a879a079b31d529aacbf5258483c80738b380c83119c12b23cdcbc7d027506f3705ce1316dd24594a4bd32d10382f8ab47478f23763898398d7430264203a76b0c4455237f3e765ea5516388595ce9e2bce2dc2258b5b96c782865fb5354427a2d7806123b0cca782b1c329411c6c133934ba4a959da88a072bc6e2d63a007572e36b82c5643564bec47bc8953d4aaabd146ab5eb36e33f825fb9ca01e223253c320f76c98f810ca52a2c604622f7a60378809a59b19680aa69eed2003e272b8a1f3c8a55bca129640c5a00d187bcaf465204c73cee66a2feea414f02859c9988356d26665196674d25e64cc5689965cfdb2c0e47a531ce32b3daa9c649954342a3f62253fdf826aafca7dc85a7a8e15161435212d7a4a3bd4b57a2ccca3506999d407d9b6abcc97209fa97454b0974dc2c7cf3c3fa40306cd6239dc450536974a8ab773374504b9889cb42bce4ef4606bdaa559346f18d087bf8b7f0d9b21b0c9b75b5903194b0744a1c47483488eb4c1ca2c83d8198cc6a523d9329f6582863cac2951268c01770a8081c1c26587d7610088e6068e020e10472c825c395ac6783f074efa8597feac3734399bfa247e4e1531eac70fe49355e44b3ba5439ea1e65eda94485fb710124bb968490f1c8b68e87a4c4682156fc06a33275b6b202aa0d508b3789aaca627f0f0c19026cec38a95f7547d936b255be7a7525c97ab4282714c32a23c4723a82298f2ce90fcb4761b9eee869e4d3484ba2b222dc28bc612b1f41607cf57781990009f29617549c0b2179705a34916db154aa3747867c3ef6a0693bba5c1d42e14b3247b41059f92607a60afcdecc1c6f3839db943f5ebc4d340aabe21269095b3f7d9bde9ebc21de788794b63e1098cc2903a83ca2027e8bcb78b855fd56fcf16b45e47994aac71fc815c521ac1a1b697a18569ac2816f52640cf9059c4eb95e6fa1b32b77bd7cbcb6ab384de74b6a2708400e980eef5acdbe5733be895b64107266c565af2a204e98fff0058161637f5f0bc5e539bb0e12590a00f16f57fd0962b7c9589f6d3062d81860ccb94882c0a06d5965cc9bdf6213215867f1a0c30822046c985896f62684d95765ae1c25501186a3aad77820aaf43c955a83a259982c77b2904aa471bc683bcf97e65e27cd82c545b096e9b762bf3304d9d5c1f3e6663cfe80953a86abd0007e1f2628210b042f781bd59b2dbf2899b97a0cc345628c4c3bbb583d8807140c46bf8931ac3c34cfa78230882395fc1a51c1b50ba71274aa2383374b3ea238ce3b87247e0ceb0991ad9f74745698d06c1a5ee089e48d9cfe46a4fe733826462c188e8615aeaafa501b9d6c6a96ce24ca097187f618df5686513684ce2a9077e81a83068423a916fb4a8a47df2cb88572f8fb4405ae59391566c88872f8ac48e705b0634a370f0ebac6cfc66c4b536d3bc22459b2b3499acd921367459c4bb3a2babc2916e9b99e86a6c649c18c8e946eb106ec7a97595a503e42419a23109f1415e329290ec5581f96c8cf1564b86096399f0415e5b757e7a6f9ba5120dd8a938e06c7ad8581fecb46b60afbbb444ea375e53837827f80de1e3753a4aa255a4917f1c8af87923f8397c9750cbc7e5864049315e718aa2732b6bf7be35694468f55b45449934715e460c6eaf734f96a1adf87609f8551dca87a94f0217e4e507c2b637f368ccec681f36d6cdd469be9d0bc7828c1bf13a2d28b8093b59a174d271ae9736b6397a4b8c9e4ed085a705a4987bc56dc172caf58e543bb9d151b259e735ca851dbb685d5158596d61a411e7c542a240c4900bceeb6e6aa7acc7db5dbf60c178813051574dcdfaa38d6b8eb595712c8b758f7827a981944f550597d120e926486e623ecd029e92825ebae4b6d049011fa7216dd81c005b376bf6b1171654b5a3ba932bc98111b8213343b9e18c9e7479611606961b476adab27e457225351e2981a4e65b6a7f0b02078505d7d3b7dd671c1bb79610dac7c92518a8b851ea5c3115f5cadad3cb24923baa686542e83482b725474381409a4016e54066c32420e99349d0c5a32ccb0b010983b96f8c657018ac0014a34020888317a13c8296a5fda3937ebc61f2d1022b2b00e7a6341bdc70d1a11b9eb10673c07e612363e6f0413095561dc15c313138efe56c67877c51f216476ab182a233f34801205a9087ba56a938900a0cced6e16462a5bf746ab679aacebed1b1b62b78a1e2aeaaa336f5286a84fa76e1fab798749d8eaa1e71c48ef6a08977235ec54179cebcc349863a9e40b61d68c1ddda72d60b061f0c42e6c179c0228d8722ae90d022d9747ccf9326e4e27bc87257c24892043aba248c1ccb8405a66712779444ee39bf91292b9f926d1c99c65a7941bc7c1378f682f390b855d88273e56fc1067088232f679c5544a03b64cb2a8d9b8319d254c3b19aa6184b1db0529bb9750df0cc6cf5a39b7139383876f633763cd07feb86393f6053a25b043e6b736b0309e7743103f0262133a4b701028db889fedb88b0f5a49d77938c33a5af559468a91e6184bb9ee9bd71d060c6f0b2a2413bba67493fb9a12e7b8c4f35497ec192b4086b4741402e46c97dd85f12d79a9b915160c788bc552a00c8ab88b50506363ff3eab9f84b5aca7460c882015ec08b3b4155621558effa01b4e1c3ffc310a2405dd4d4561e8bce8af738cf65279fd56571bb2a76faa6b1ba9b0b9c7c8e8c9349d504952c8883a4bea1c2c7f0528840119bbff2b2887310a7f1030bcbb0b8002402c2c782c183853658fb374de5ac9bacc24dad86b088daac4b62640fbc5eb9990e089b1f49e95bf3471edfa0521fe910c0da89a1193d2acc253c9aa8ed15bb4bcb16d3c14d262895d594693825ac0ca0567acc11c94a6c27438d6a5403a320b2c4c47400a9817a2296be402dc688957c7494600870e84cbaa433076b201cc64b3a3a51311f7c5a3ab206fa37c0a1c98048271648b5a5384c119dd73ea44370358182c713ab2e399655a171670a5295773d2c36b6e4b934599656c7808f13044084a82666742eb6b605dd2751de5872df234694a84397aaaf3b894e0a7507c3a354dc3409ccba4cb16b5387406bf7d005a17352c4d331b7801596f031a7a15044e1bcc00c4a920a1ff7cc1b904847977261ede038c5c51841c88be1cb8b214caaa5d3bdfadcc66fb49afb234dab467c45c2471ee52019b952bf716a1bb4059549a8c0bba67519ad4f10cfee06bb34496f38f9491c172f2be413da1b0a7de20dcbc1aff4103e546c8fcbb20bdca475c9161dcea2aa3ad534fdf042b2776b04477b14f2c705c85b3a7c5ac3803b3548b132c6af8e90ba88ba49981729a8621f30c2aa0dab04b49bb28abc92d9cc8311faa8dab45d545611a36b86549760cbeb4ad464199a35811a63cfa00a8a1bfc202ba75d73560eadd235c2490c8e514ca29b30ddb0996798a4f5f76765d977033a5f61196ba517ad5764c0e1b553035201e48c406382a842256162b067f887729e298436485f10236f67f96d263c9d0835171dda6d1e5a89a7137e39c39bcc7488b1b365a1ab99393c1c35cba50014163c84977edc8f02ebc9b5ec5045c6b1091ba794303e8bb52c7b8238a635c23d3c13d9e918d29025474098419aada6720c70da55905c197c1114c60054fcc651ab6aa9876430d4d530ec7a7a734189a5844ab93cc0a90d2a9640377808ccc2673495c4839fda0d1038b27befe3d22e2b727a376f022313718aba325ef4c3b720e2c3ab314ace74e983948ba2e43ee3a6ebde0f6aa3e88f7fa8a96067f8cdaeceeac90c2d0b5e277e56e9c405ec9420c30252 -m = 34f44ec2092eeaf686f2ea170591a98527cbb03a4fa9477a7aef6b41a54feeb2 -ct = ea8954c17122a6efe05933b13644a6123d05c1c771bd3397d46e31604551cdb16169630bb93f438b33bc0981fa90840b053333eac8b1715c73f65805ede5343f2c5d91fa41fa83fb1e624625c094580b68ecd3dd283686eabbfedbd7be13232191545da656d83a27cc71ad58dbae42341944d92f819caae8227e6ea846375d0c1cf696cc2c9301c968dc40e829e028a1a6b513acf649fed10841ee24400f2946007b61b1fca012e5d5b891ea14d396b6c0dbc4b6166cd89be4f7b74fd84c043867687ff66e5ffd8f02d125e5ea8036645fbef762224c054ae9afed246c36749e93df31370a020120542387f788b1d096d9cb8ecc500e41d5f2061770558d78663cf0488ab7863d06647b7450a59be6a1a712ce7ec4b32f6af1ac9ddb95091c76ca27b1915343c7229b5735cbc9e875e86739c4f23d501dae10d60b6474a8b506006bcd31d4cf973347438e86f3264cec78b9911e996cac9676a805af310770694582fa54fe0f2743b3be1ebd6b9b3db84bcefa74107acf31acd5cd34aa8f6b713e8d682379fcdf90f60ca859e83357df7b93269bc0885fc47516dd2d1d15554e588338d01aa117a01b9cab1a3482f360b9476db42bcf167e6b449b4195886d1d164bf214497b4ace58abd5cd3968c9bcb47deb7f66ca0aecacce74bcd931fd333e1d4264e04662349a126603ed70b721b135cc50f4147b6cb07cff5d162329cf55e8c1392d85fd2ffd99443f81892abea4262e564b78dc3572a24935421ad47e23b0d3b05441804107980762520de23005793332574e38071a2148c293b6f9c864535ac97c107444370777f075adc7c3747df31b3d8672defa773c8143db36ce2509ba44afc7513741dd5df872615a231f5eb8d1d7206f7190786f372c83f18cbc868fcddb1f7bd5bd649877f1a1c9a56820a26f9a3b13b4e453d3f526fc8170e471d7f44717a81d6817a17a9b0ad3f0945f5165dda4f6f632e5b3a9ee74f41ab125962be1174069b1286f60cdacfac5c287c43de1e83c8f0471a115d9264a7fd05ccaade7b379b24152b1e5137575b8be9a68566463c535eccd79e8be6d940e2e1503f45c304f416ce00a4d2e02c75cc3faf6e40a6d49a2d3cb4ac6e33f42836e7c7cf2722a412296e599e3f8d2d470a29e64f070106150733d9162c5a69407df9627c451b9b5716d41f5f6d3ba04669e0cf06c8e5b517cd49390f2605c90c069d657127cd7b06d39fecbdf777825eb25b0de70fbf192565316b03e711b0c13c32d34b407813136734481e3dce2149471701543d454537275c89181c278094e7c889a3d400f9f232f2b189b3033b0c55c5f47bb4c33e19e10ae8806b8e8e45cb13dbbde9493af6f6767520a173c71ba83446f2c9ebace014316106ab5a1fd0134bffe664a96ff218dd553604b4395f486701d47b3d257b916daf80abb4d668865822d0964fc54ef5bcc3041888bbb98e6735f5c28698afada8a08a397a1ee5366c5f045eaf23c912c48eccce3d268f97b7b6ed3e28fc2c3b9d4efd26602f3d1ffbaf174b29deec651754a44e26a049e6465d54e63974c38cd737166496e715aa0533b0444670c6541a44aa190df606182362c9434f7e4b08594362063cac1618ffe240817561499de08e73c6597006e732cb60c850afe69c0dc29b8d5cac3de859380b475b9509c4f965ed07ef966123372d944a3415d35a7974655a07e944e8ccc2b6bc2b451d211f5bf5b2ab4f311acf34046b842ae63f39f854061bc52f47efa217f41574f6b04fb79cfdc0df47c022ee1fcdb3f0419f0656e73adf0c11b495d336326e05174e679490735f580f05ed7f6277b7701ec403da44e90e7477b24e6d8a92104c09312e0ccf350c8f9f6e969de68bcbbd69af13a97fe86dd2b56ee1ab1140314d6b1040313088ebe1f75a8e1b533950167cd92dabb5e6e748233217ff7c0894e9ebf3300146777739d6883dc37144af9a816c6ce136feade4b705fe5818ee9615f63257b5b06ff70d82658f48a2befc216562eda5198d0da8ca9dd31070b3703bc2c0d07dc50b74e21187a6314fb8c24df44d4b9a2bd1164a49fbdf7dd42499d5a95e01e9d6b694ef9e0ccf4ea362a71f47d657606891e1f72815851acf09bcfdc845023d2062c006d652e2e759051bf6401bae0fa23eb2d52e75989da16c86d6265d02ec26544c6320c44b835a4f72195b655e1fececb0e7c2a -ss = b24bc6d331106d8e3f565c8790420ac92b1d23dd6a271a4ebfd635dc3728ee5d +sk = 87c0b4d44cc9eb48c126c5877ff87929b08485fb81e479139c3299c70c43c3fc8c238a81d4e61e62a33db2499c866b7107d116b7fcb1b0530a7e758a8d487d11575079265b3158302a23732bd07330071bd7cb7199476c39b583a2446109e99fd5c95be21a292cf37490906e84a82605b8455825c82eca4b7e218644460ce581214c78ac4473688bd6a9a826217490ad791b7835a85935782847981ca97b6dfe88b63701cfbe3929a2dbab1628155506c353639d153656b90c5aff36baedf1b87da5bce2a108fb6c3b29e77dae803a0dcba48ac6882f6c1194e88387f30a47c27d02c37d988346a2a29584a55cb5d3c44c05a18619a4fd412babc31a046221b3994c8f22ce272c9e6e948c3d043295f413349796c38911f8dcadeae47351c15e9a1743eb65bdc7471f37fcc93cec867cd4808ecb281fc17efd004dd64ab432d664864b43f8a9b1e763529ae2c413abbcf30a4a478a30a0104d802037c4a8af01b534dd600e31a1630ff13b2f730924cb790166af3b7322baf4409cbba500c1bb32894e65445f04e4b4b4933de51267635037faa44e2775caa4212f4e0600e51069aba662c86145e2117347bb1748d63e412550c004237cf02b02aabb18d8533d19b1a879a079b31d529aacbf5258483c80738b380c83119c12b23cdcbc7d027506f3705ce1316dd24594a4bd32d10382f8ab47478f23763898398d7430264203a76b0c4455237f3e765ea5516388595ce9e2bce2dc2258b5b96c782865fb5354427a2d7806123b0cca782b1c329411c6c133934ba4a959da88a072bc6e2d63a007572e36b82c5643564bec47bc8953d4aaabd146ab5eb36e33f825fb9ca01e223253c320f76c98f810ca52a2c604622f7a60378809a59b19680aa69eed2003e272b8a1f3c8a55bca129640c5a00d187bcaf465204c73cee66a2feea414f02859c9988356d26665196674d25e64cc5689965cfdb2c0e47a531ce32b3daa9c649954342a3f62253fdf826aafca7dc85a7a8e15161435212d7a4a3bd4b57a2ccca3506999d407d9b6abcc97209fa97454b0974dc2c7cf3c3fa40306cd6239dc450536974a8ab773374504b9889cb42bce4ef4606bdaa559346f18d087bf8b7f0d9b21b0c9b75b5903194b0744a1c47483488eb4c1ca2c83d8198cc6a523d9329f6582863cac2951268c01770a8081c1c26587d7610088e6068e020e10472c825c395ac6783f074efa8597feac3734399bfa247e4e1531eac70fe49355e44b3ba5439ea1e65eda94485fb710124bb968490f1c8b68e87a4c4682156fc06a33275b6b202aa0d508b3789aaca627f0f0c19026cec38a95f7547d936b255be7a7525c97ab4282714c32a23c4723a82298f2ce90fcb4761b9eee869e4d3484ba2b222dc28bc612b1f41607cf57781990009f29617549c0b2179705a34916db154aa3747867c3ef6a0693bba5c1d42e14b3247b41059f92607a60afcdecc1c6f3839db943f5ebc4d340aabe21269095b3f7d9bde9ebc21de788794b63e1098cc2903a83ca2027e8bcb78b855fd56fcf16b45e47994aac71fc815c521ac1a1b697a18569ac2816f52640cf9059c4eb95e6fa1b32b77bd7cbcb6ab384de74b6a2708400e980eef5acdbe5733be895b64107266c565af2a204e98fff0058161637f5f0bc5e539bb0e12590a00f16f57fd0962b7c9589f6d3062d81860ccb94882c0a06d5965cc9bdf6213215867f1a0c30822046c985896f62684d95765ae1c25501186a3aad77820aaf43c955a83a259982c77b2904aa471bc683bcf97e65e27cd82c545b096e9b762bf3304d9d5c1f3e6663cfe80953a86abd0007e1f2628210b042f781bd59b2dbf2899b97a0cc345628c4c3bbb583d8807140c46bf8931ac3c34cfa78230882395fc1a51c1b50ba71274aa2383374b3ea238ce3b87247e0ceb0991ad9f74745698d06c1a5ee089e48d9cfe46a4fe733826462c188e8615aeaafa501b9d6c6a96ce24ca097187f618df5686513684ce2a9077e81a83068423a916fb4a8a47df2cb88572f8fb4405ae59391566c88872f8ac48e705b0634a370f0ebac6cfc66c4b536d3bc22459b2b3499acd921367459c4bb3a2babc2916e9b99e86a6c649c18c8e946eb106ec7a97595a503e42419a23109f1415e329290ec5581f96c8cf1564b86096399f0415e5b757e7a6f9ba5120dd8a938e06c7ad8581fecb46b60afbbb444ea375e53837827f80de1e3753a4aa255a4917f1c8af87923f8397c9750cbc7e5864049315e718aa2732b6bf7be35694468f55b45449934715e460c6eaf734f96a1adf87609f8551dca87a94f0217e4e507c2b637f368ccec681f36d6cdd469be9d0bc7828c1bf13a2d28b8093b59a174d271ae9736b6397a4b8c9e4ed085a705a4987bc56dc172caf58e543bb9d151b259e735ca851dbb685d5158596d61a411e7c542a240c4900bceeb6e6aa7acc7db5dbf60c178813051574dcdfaa38d6b8eb595712c8b758f7827a981944f550597d120e926486e623ecd029e92825ebae4b6d049011fa7216dd81c005b376bf6b1171654b5a3ba932bc98111b8213343b9e18c9e7479611606961b476adab27e457225351e2981a4e65b6a7f0b02078505d7d3b7dd671c1bb79610dac7c92518a8b851ea5c3115f5cadad3cb24923baa686542e83482b725474381409a4016e54066c32420e99349d0c5a32ccb0b010983b96f8c657018ac0014a34020888317a13c8296a5fda3937ebc61f2d1022b2b00e7a6341bdc70d1a11b9eb10673c07e612363e6f0413095561dc15c313138efe56c67877c51f216476ab182a233f34801205a9087ba56a938900a0cced6e16462a5bf746ab679aacebed1b1b62b78a1e2aeaaa336f5286a84fa76e1fab798749d8eaa1e71c48ef6a08977235ec54179cebcc349863a9e40b61d68c1ddda72d60b061f0c42e6c179c0228d8722ae90d022d9747ccf9326e4e27bc87257c24892043aba248c1ccb8405a66712779444ee39bf91292b9f926d1c99c65a7941bc7c1378f682f390b855d88273e56fc1067088232f679c5544a03b64cb2a8d9b8319d254c3b19aa6184b1db0529bb9750df0cc6cf5a39b7139383876f633763cd07feb86393f6053a25b043e6b736b0309e7743103f0262133a4b701028db889fedb88b0f5a49d77938c33a5af559468a91e6184bb9ee9bd71d060c6f0b2a2413bba67493fb9a12e7b8c4f35497ec192b4086b4741402e46c97dd85f12d79a9b915160c788bc552a00c8ab88b50506363ff3eab9f84b5aca7460c882015ec08b3b4155621558effa01b4e1c3ffc310a2405dd4d4561e8bce8af738cf65279fd56571bb2a76faa6b1ba9b0b9c7c8e8c9349d504952c8883a4bea1c2c7f0528840119bbff2b2887310a7f1030bcbb0b8002402c2c782c183853658fb374de5ac9bacc24dad86b088daac4b62640fbc5eb9990e089b1f49e95bf3471edfa0521fe910c0da89a1193d2acc253c9aa8ed15bb4bcb16d3c14d262895d594693825ac0ca0567acc11c94a6c27438d6a5403a320b2c4c47400a9817a2296be402dc688957c7494600870e84cbaa433076b201cc64b3a3a51311f7c5a3ab206fa37c0a1c98048271648b5a5384c119dd73ea44370358182c713ab2e399655a171670a5295773d2c36b6e4b934599656c7808f13044084a82666742eb6b605dd2751de5872df234694a84397aaaf3b894e0a7507c3a354dc3409ccba4cb16b5387406bf7d005a17352c4d331b7801596f031a7a15044e1bcc00c4a920a1ff7cc1b904847977261ede038c5c51841c88be1cb8b214caaa5d3bdfadcc66fb49afb234dab467c45c2471ee52019b952bf716a1bb4059549a8c0bba67519ad4f10cfee06bb34496f38f9491c172f2be413da1b0a7de20dcbc1aff4103e546c8fcbb20bdca475c9161dcea2aa3ad534fdf042b2776b04477b14f2c705c85b3a7c5ac3803b3548b132c6af8e90ba88ba49981729a8621f30c2aa0dab04b49bb28abc92d9cc8311faa8dab45d545611a36b86549760cbeb4ad464199a35811a63cfa00a8a1bfc202ba75d73560eadd235c2490c8e514ca29b30ddb0996798a4f5f76765d977033a5f61196ba517ad5764c0e1b553035201e48c406382a842256162b067f887729e298436485f10236f67f96d263c9d0835171dda6d1e5a89a7137e39c39bcc7488b1b365a1ab99393c1c35cba50014163c84977edc8f02ebc9b5ec5045c6b1091ba794303e8bb52c7b8238a635c23d3c13d9e918d29025474098419aada6720c70da55905c197c1114c60054fcc651ab6aa9876430d4d530ec7a7a734189a5844ab93cc0a90d2a9640377808ccc2673495c4839fda0d1038b27befe3d22e2b727a376f022313718aba325ef4c3b720e2c3ab314ace74e983948ba2e43ee3a6ebde11c11c1086f0365e9fbd525b3fcb4e4f169fb488bf0cbcb455ec098d49e903c9 +m = 95be66caa72e47634e9748bd26c12b04e2193a69140284624d4e177f4dd66f7b +ct = ad046f3ecc6db2df7e4ad36949298e2fc978cc540fce356853c171ad2d6320f43ee72ec3c06aa40eb326f4d66a4c1a2f6f7536fa42129bc40a99a15bb75b0ab420cfaef22b906bea027243b8a049602fae8292876099b5548c948a7b4e149be0de4c47887182072e24d6a86611bbf9e7f93691b3da75804fc6881d14eeaa0fc93bf65b287bae55a70ea19e764233214201336d8fd612d680d2739f46e4c2aa524040bdd53f75993339ddd98977c9b06546e406cc41286a0830cc5c3531bd1270f851e4745009e4a95365a528fccd85fd207d0c26704383a1933c07854ca0a8c84f416271690d39d7ac1198c3a8495bebcc33ff3629303309dc919a087a4658097e22894cd3834e0421b9d934c7b3b27c6b495cda8fb725b588adc14075c9f49bd4d6d2dc7699c453a7846371bc8fd21b86b10e38876652eb7eca1ca663d523828885a89a0bebfd416c2011f851fbc802e504a9f0fda6ddfbc8628ecbe2edd42e65c7ad695514c6afe8c14bf2719cbb5fa39b0b88f1bfa6ca54f8cb4f79896caa633c5a9ea96fabb02969481d356c1bd404d7c35ddbd16604c396bc1cf9a1d96212ab0ac1d4c51a552b1d5f7bee08bbbe15642b0acb48cafc4b0fefa648bb5904416f8447e00cca68c35f065221b8271100f436fa181e922e5cf13e0d142b042b75683af774bdc016ecfe9447332905816bdd8710b6704c194e00a58a9763626e964cc72df2b4a170bd720ed9e4e1685dd8ec1cac6936641c1fedf43f50443087e9f1dcd850912e2386a4945d98574797551ca6fb7a9c89acaa9e6c691b0b61949f3477eb37a1d44859b24433ef581570486ff29d86d46984c39bc74449a3353d9e82f01d03c71955931dabee1516ffe69b4a6f501105db5e6b29c593dcd2d7b44eb67fe183e2137d7e0cb16b8600abb2e784bb32c1e4ebf67fe9d45ae464a6fee413d74d902cb542ac31d48986d65682af851fb7535a7a7f4b9b07cf02130779dd654b8cc3ab15bb2257bc1f2fde0d76e0242f0fcc68c07dceef7abf33651c7457576a8ab2a8f07a1b69ac7bdd84e1403be16768aaa84ec5362468d795dbdf27d98bff72e9e67ab1520d0412949c67bf74bac0f57dddfeb086eb843e86cd43e19aae7480b3b40d10c3220b4efc950c3d0a8d28a3af581192683828cd9f13a1d90413588877ef917163761596f0e34fd9115fdd2c107c3670d68ffac4679e338f61214c6a5e4eef3d8db8c7862c679419eb5df80e65fd3355987214bb839e17cb08d4e9d599f9be46d1505f6f255de885225b173e92119c5cdec7241c76c04036288aa8c26083b83b42cc3cd32a083ebb7f0828da6d361041e6df5481c0f779936eb8aeb27aee1a4353da9eef15e7564b8a3ec7e9f5ca803e5155c1a2b46daf6e019a425ee0683b132a3f39a93c2fead431d70ada68ba2204b4b3f71ef2ea9f4179cb4503eaaa7c0790c6fea7715f25134cb3db3526d6fec414a2c8963a2cbd39bf76d51397c7e2c216bf612faf4976e74e89c5b39b21206390bf3d81caf42d0e7a5b9cced9015dae1d2ff9cb7b42ea1a55019a895bbd55b99db8b8c4e888771ca54874ad022a45d241ec68ec53a8ab467d884d14f0e99985e4fb8e986a93cb6b41f6d1f428e413d6cfef82ac846fbcb6cac0e1025e7a7d2d6898c6bcb309bc122c1f15f08ef0f92d96670857589b5122d12d7abe8e59975c69ab47016b602fbb2cccc1b0a243d1df877e0aa1168686463396b1dd54e1dd6f3c88caa7d4dee580c54a82ea5b160e9cf07efd104e85122af64c2f8b7ae2582436a80b34b00cab90c2c65864e82b9e095603acec7cc60024976d4b87667afd7aff4f8a089e25e0b5043bef1ec84840259f9097f8a6ecb06d6d289f12e4c676f97fb44e51e6ec1950e5e05e0c67b91d175df137ce13a05b6e18b6de06445daef3c27c78c12482ee3906689b86905df158021e0edd153720a9e1a416d29e938941e50cb50be741780838739c5d2b80a44d50f0f7a8d738686b789f3658d8e3841010530743794bed4754ad65640e6aab47694561ac8da1c2c19705018b2f30b05724b3fa9f6f09a0629c470366a0e786cf9692ff4b87d9e5041c91b03e2acdc848afce8830e20b3a24903683e5dbdcbabd67fd1c8c6b5b854cd8559c6b5f6591af510dd59d0460a19c2dd31a64a5d9acf3a7792e8167465cdb3910d96f50250d66f2db705658504a1f +ss = 5ac83ef4494fc6cc01244d492ff4491393ce3a93f0b6d2c287cf694a42b701d3 d = 9f52af92ca165fdc38788f2b59ba02e01c8281ff7c1e60504688043a5fe814b0 -z = 4f3029e1be4e1c0258c3a22ff5b50b2674cc094ba7018da2a61569845c17d26f +z = 284837f7edf4788f32e757949cfa69ddee079e2e00e439ecedc8512097e2d2ce pk = 14b0961b350facf720ae691dfc4a847b143d9c9a2d2e7a35b6e33dd78b761125bd8c4b1d6994cb8e01186dfabe6270a51cd85b8b39678af4c337bcb4fbbbc0fc260d48aa801f86538eccbd3787a12a09b42e18afa2e8c77bdc11b13b5a8404cdd7b2ce364046ae059a4c950e1e4638ccabc8157b97a238a6fcba379bc6afda874335956d2325376fe1ce4405bee3e37ef818b9826743266c078c01c36fd62b1d17adf33467d9c1ca9f2ca28a2867bf7a8084daaed0a19d2d40a0979198135c229720205763401045879ed65b09825012e626a24118cee00216930d44a9bca32bc74a6683a8d1bae1701b189bcd8feba2da42cc3b572151e7243712789b2801043196bd8c15d972cf7674771dc55e74931fc0a55c434497a517c99ca3276d262ffd83cf66d87600d097b1ab5dd8dca86de94080da8c2aea980b3a1115b847786aa96b94ac818148e3e4c7fec633cbc6bd3104ccb216074a5b2a8c757a455ab38e1333435c3c30d94d8e922e8e77c0260b6128865bc37b82c7a6a276040edadcac335a10b569a2cc53a93b6729728b84b74b01d502b830330000aa1ccc9c4d7e7a74ed218d47ca60016411d7369248a261d6b6240d5b15d2fa5b3229373484c8d23bc8e78830062959d0504c92c0bac310967ec40af0c2902f82742efa78f57b70bcf54a73aa2aa93b0fb34a935dc5924977caceba57afdbbfa69942623536f167830685bf481740e2f434a2d3ad107711aa1729ccf857a14b0002f61575365f3ad9c18b947bbe9b3e31a7571a918728479710d64dabd569873461e12a9dc1103ba28028e001c8d5a79d24d30756cbb4a3ac9e48435ba09286ae89ac3c841e8909a4d94226a822c90b5a40f239cb0e8b98e86b5b06e20dd3764e42e8c8095052b1f66b76f164b3b867a98cb299e0995d44b5febc7a1f2c0cb2d0cd4f3ac5f9d5444797941666afd319a3c6713ed1e31338a41a6e2b548208cff5671a6fc7ab5df260c2d8a703a67eafa381c9d576c6c2b1177b6a66d951bd3c426fa79cc7b552ece197c92856b2c7064605079404a3b5d8b49afb9c87ea48e0811a61e81e2f101ca25a6a599947341040e381a52cec894dc9b6ad25b79dc903c35c450201071dba35ef8c11e17a1ae5ec7e13468c148a5946d928ed0321d717640e5a5767942ef2275e05e395321052e3e5059af77fb04271c2e511f450be168aba09d3b9eee1288ed1baef69ced005797982316e2c731f9581cd455300f35a6e1a5872552ac6eb68ccacaf636cc713516c275823e4a1a30a722f8c46a8932550db624dbb8b6e0bb51c3d54089fcc2042f38f5cb5988e56a1f42a65d5d788e2551f60487490b57904127433f685ad4bc53d6213cdf52d6b0991ae37882d37b5dc084e5a49bef660a4e8d03e24ac93e58bc05f8a759895074e156c09e73e6782c00a6cc80cd04829d270c7848d89bb2c321ac6e76b3e8715923768a8b1a644cfa95b890850819767249c48a08314b29c81e31b63a008a51d283bc217adefe37d2d9b15c7257cf62a68751c2942c531bb55abfa321c581822c90c243d94b598fbb958e5950fd4c8b1f1cd06bacc30828fbf73a83f7387ca252e4f9805419c02d63189ee7b4661b5c1bd398ec82cc8da173ede64a38b3c1ed53a64db130564d2a54600bac8017d46507b3d56208975a70351a558d5774b249f7d634e6f21102310b6bf8c1544e217c68768400c3d721ba5c0f77b9d20795c8059145956ac7b7728222853a3c325d070a9eb256775c727118eb9cb7134748ccfd09f32c930881826d8e20af48b2e1ba10efc67ce0ee7730093a7305403eec951f59044a5f7317cb85caaaa2e2b5b90ab2b805a808c1be755f9a4c342a96e8ae83cc4394d73890f13bba0d35c45393730e4118d5345006ae62d38445666cbb7c25823c59a9d62e08bb8c7cd22b331be153af7c359091081fac67d96384100f44951422e83599763ab739fbb8ba2a064a41cbe1679a1c613815e9a51d5d6251ee73431cbad479cadeb64ac94f92a38d0798a4b6d3ef7233572b68d2a12d125a6d4e27939f341a4810f0c07bfaf993f8a74bf8e9710e7b29389ec3dfc498a4ff1839a1268db8b70e82670e689b5b3e333908b6e8b4a78fec249e798bf57b7ce985a42a5269435c81ba441230ea52319550476c1f4bef1609e71524b877f53fd3133bf71ab13912bf37c2cd7a359eab035cd -sk = 4dba785b32456e16a8e9a20fa7536f1b4555a9b403a09738657a148361788d3c358a7baba8b4c58ac979c4f786e588ae245cb0c12c284f848b89585f76892fd65cb906d39b385a04d2f5b2154abd1e77ad9501abac73237780b33c601fac50ba3fc07e8525819593b7d7e69fdea46f14f1128a475e4784af38985501dca6d20bc8dc1c5c7740b33804358f71b6e97b2a0e7350f7608321736083dc54e0253c6e5c5665d0b7e68355d4e98daa753c1abc1429b397da773b043459e5aabd093a5b0210502bc2cab250041997861286924aa0a190307431719588cc2e6fb68711c964fc20393c73b7c967c603120a3cc11b2efca3dd6616d0e2c835fa92946a40c4cc2f4655301ecb09424286b3c7a07ad3c6ea37bf6132aae2d9a335e34b6c816d93cc7ede020ab723b272b70f494834ccd93bd7800bc39919dea4be4c585f827a4351e233026760dc83377329ccbff180a562ac50833c0f861e795c00ee74b584f693222b28eefcb445f19b06154abd0110c6a017ed525b5fa30c64e60663573b8691ba68e2bc580157f1c66ebe388aa2747c50919af644acd903a801a5c04a6a2eac686c89835cf59a791ad5642274a0f78244491670c66c9bce24ba5cf6b86967aefe6728dce8973fd29045db844dc80022297cf530c8eca4808f603a90a840ad70a803e6a0bfb44b38616816073c5d7ba26a64048f81a3bad3a0c9cb0672c7466e38824529298a7c0d82940540c312f429411b403f64e419cf720e1f73026184cee538b27cfb91f16186dcd3904ba6a34254155b3cb3157937d5618568f46f283c7c0e88696324a4fd77c3e6fa5b5dc0a13116274e5792fed69eaba973730a79878103bf63934d179143dc23ed39585d40c06a99aee0f4462f123b8a6b539dea9e05117b08338dd6754398e7496f612b4d892ca54a13ec9b2dc7022cf779668809ad6db97a6e8b15ff0a862e664d292c4af549195a23c19e2b9fcdb9b4a5b9ae517873ccc644993196de5c2716d58d50e7cf11558f44a16580c980654c8ca581671121cb2f8cc6f90529c9754cf0700b30943eea1a7b05f0bc8fdc1cf776b0cf2c2eab927dc83197a4071dabfc07f983bf4d2c613e087976eccaac031b88420ceceb6df0350f04ba61ab39cad4c6b2b32503d773a34514b7d5bbb9d5e7bb6dd9ab5bdb8f34a9880c49ab5c40970c435508e26cba50705c6538686249d344bdb7c820a5c8869b371b8fe13922a5af390bbb7b809c392266541671c75cc2b7a7248d0234fca16da64265e5c70257d770d2e9982d5a1c6d19bf0ba48b53ab900fc8280c754c14774939b83c63592a12f35d198194679942ec227b46cc8f353a0547e929175c3585107239aaafca151df3c835e770921e5c9b134ca7e27a18c7656bfd6a4fd2431ce1743576e575dbba8905f4cc38108e3cdcbf0155b5300a100958aa99940bcb473ef64b05baf55e91952c46851d313b0990ebcf2148cf28130cf49c8d080841fb81384e73367c792a11099f5b898416946826714e252457b23a3a1e33a36ee2612372cb2c04030840a87f96a31913a428cccdd2817b38372da4637f46044f2218c28d525a57d9c0cd2864fd43aa5c9a003a09a35ba786a7520c9d9971d6258cf3c6695885684d1a5fb2b3818015ae887555fb1997b7a35a326481a566839712033a0ca13a844ac6f21a16269876a27b2d49458515b3ef0a77f933c9d0f1406121bc8bb666a1284798055595901488439150db602a5428ecd32109731bee5bb8de606ec8d227a432994dd912637bb0b3b198171a89daa720bb712cb598a75b4ab304a9468088a62d0059dac56e17bc95eeeb6c22db8d8ea3c6f272a793e0358e193d52029e2a4582cdc65848c06652e44310506868365012c9befb412d1a844e8c21a613627b4707873dca67ca5c0493a83eaa227fee44731d24938709680e1879b2a41b12e71fcfc39cfd81186250b6cf4b5796e831a49aca2b8c2931328ded15cf2d082643735ebdb8ab019609ecf95f5d093a147c3caa73946cd38b4e21073bd72ff958c7435088ad73a5d343ca768a4ad4b2a49b6b6e17a94d909837e872a05c815d18ebb4e817bdfb327cbcd46404060ddfdb92631b2e3e262283bc3292504cbfea8f30f085fa12270c834d6b6a5d2a46098f26029da3bf14b0961b350facf720ae691dfc4a847b143d9c9a2d2e7a35b6e33dd78b761125bd8c4b1d6994cb8e01186dfabe6270a51cd85b8b39678af4c337bcb4fbbbc0fc260d48aa801f86538eccbd3787a12a09b42e18afa2e8c77bdc11b13b5a8404cdd7b2ce364046ae059a4c950e1e4638ccabc8157b97a238a6fcba379bc6afda874335956d2325376fe1ce4405bee3e37ef818b9826743266c078c01c36fd62b1d17adf33467d9c1ca9f2ca28a2867bf7a8084daaed0a19d2d40a0979198135c229720205763401045879ed65b09825012e626a24118cee00216930d44a9bca32bc74a6683a8d1bae1701b189bcd8feba2da42cc3b572151e7243712789b2801043196bd8c15d972cf7674771dc55e74931fc0a55c434497a517c99ca3276d262ffd83cf66d87600d097b1ab5dd8dca86de94080da8c2aea980b3a1115b847786aa96b94ac818148e3e4c7fec633cbc6bd3104ccb216074a5b2a8c757a455ab38e1333435c3c30d94d8e922e8e77c0260b6128865bc37b82c7a6a276040edadcac335a10b569a2cc53a93b6729728b84b74b01d502b830330000aa1ccc9c4d7e7a74ed218d47ca60016411d7369248a261d6b6240d5b15d2fa5b3229373484c8d23bc8e78830062959d0504c92c0bac310967ec40af0c2902f82742efa78f57b70bcf54a73aa2aa93b0fb34a935dc5924977caceba57afdbbfa69942623536f167830685bf481740e2f434a2d3ad107711aa1729ccf857a14b0002f61575365f3ad9c18b947bbe9b3e31a7571a918728479710d64dabd569873461e12a9dc1103ba28028e001c8d5a79d24d30756cbb4a3ac9e48435ba09286ae89ac3c841e8909a4d94226a822c90b5a40f239cb0e8b98e86b5b06e20dd3764e42e8c8095052b1f66b76f164b3b867a98cb299e0995d44b5febc7a1f2c0cb2d0cd4f3ac5f9d5444797941666afd319a3c6713ed1e31338a41a6e2b548208cff5671a6fc7ab5df260c2d8a703a67eafa381c9d576c6c2b1177b6a66d951bd3c426fa79cc7b552ece197c92856b2c7064605079404a3b5d8b49afb9c87ea48e0811a61e81e2f101ca25a6a599947341040e381a52cec894dc9b6ad25b79dc903c35c450201071dba35ef8c11e17a1ae5ec7e13468c148a5946d928ed0321d717640e5a5767942ef2275e05e395321052e3e5059af77fb04271c2e511f450be168aba09d3b9eee1288ed1baef69ced005797982316e2c731f9581cd455300f35a6e1a5872552ac6eb68ccacaf636cc713516c275823e4a1a30a722f8c46a8932550db624dbb8b6e0bb51c3d54089fcc2042f38f5cb5988e56a1f42a65d5d788e2551f60487490b57904127433f685ad4bc53d6213cdf52d6b0991ae37882d37b5dc084e5a49bef660a4e8d03e24ac93e58bc05f8a759895074e156c09e73e6782c00a6cc80cd04829d270c7848d89bb2c321ac6e76b3e8715923768a8b1a644cfa95b890850819767249c48a08314b29c81e31b63a008a51d283bc217adefe37d2d9b15c7257cf62a68751c2942c531bb55abfa321c581822c90c243d94b598fbb958e5950fd4c8b1f1cd06bacc30828fbf73a83f7387ca252e4f9805419c02d63189ee7b4661b5c1bd398ec82cc8da173ede64a38b3c1ed53a64db130564d2a54600bac8017d46507b3d56208975a70351a558d5774b249f7d634e6f21102310b6bf8c1544e217c68768400c3d721ba5c0f77b9d20795c8059145956ac7b7728222853a3c325d070a9eb256775c727118eb9cb7134748ccfd09f32c930881826d8e20af48b2e1ba10efc67ce0ee7730093a7305403eec951f59044a5f7317cb85caaaa2e2b5b90ab2b805a808c1be755f9a4c342a96e8ae83cc4394d73890f13bba0d35c45393730e4118d5345006ae62d38445666cbb7c25823c59a9d62e08bb8c7cd22b331be153af7c359091081fac67d96384100f44951422e83599763ab739fbb8ba2a064a41cbe1679a1c613815e9a51d5d6251ee73431cbad479cadeb64ac94f92a38d0798a4b6d3ef7233572b68d2a12d125a6d4e27939f341a4810f0c07bfaf993f8a74bf8e9710e7b29389ec3dfc498a4ff1839a1268db8b70e82670e689b5b3e333908b6e8b4a78fec249e798bf57b7ce985a42a5269435c81ba441230ea52319550476c1f4bef1609e71524b877f53fd3133bf71ab13912bf37c2cd7a359eab035cd7944e5d79dabf7b7259df5ced02669c81b7dc4590e0b10764729d812f6bd85d74f3029e1be4e1c0258c3a22ff5b50b2674cc094ba7018da2a61569845c17d26f -m = 6250c81126572eec2da330271db36ee591f060fc7e53eeefe2e1c476c675fa33 -ct = 28861be36ef7325e1f9325defbf988cb9460e626974767aafbd761fbfb0d700fd1c5e0eaac5133b29a284913add974316c1fdabe317f8aad1c269b36a30dbae1a402319d1e69d4459ddbb09a7a25cc509804b673ca23e908e960f87829a4f04293e737e79964e62dcc5b9be5c2e3a91dbc11e94d704a680e03d32ca7cdef936dde126212f4750399e9b10206acc73fc98d544d7a522bfc7e4b023b1d87c3cfb83a3cd2e4e2fab3c7f54fdb06e91535197c1f68cab95371378226bf7c84b2e70037ea8f1cc97fe156fdca4768e0151ac9e9cb1a5fdd2142f8e88e75a9bb42a71f81d1de7f68feb72cb72994fa93f1a5eedbec55013116fa3c68e0cab50b835674201b41a66c230b961202e605eb4186a77763e5deeac5ce134d16a3a1a65ca1c20812937f90b6e65864c8ccb8db691d750653381f6d7583118c9f28728dd4ff0c070e8915f94c5c3442459c9589377f37deda5af4bbf7ee5667f434069f70c1dc265df80e4dd9afc25730cfa99e33455065c94efd9405d02e626a7686222b0788fe500901110a2909a54c0cbd4ff16f76a4c8b1553f0ce9bf1ad52fa8468927e7a16ebb7f5362c71c646a3d8b52aa0614fffbba378bbaba6927ada858cb87bdbe1f9ca3d7708f6ec2e0c2defde5c3e792921c29a615d1a1176129339def349726a65cb4d6237e192b245350263d3afb733a7cabc0d1a456edb43dc69ac6a0f54f24f369aeb439e58df30c10918096f55e47f38dbc1a30734053aaa865c2d706564f19941abe20748e64b5f42838cbb629965d0bc046a2d9e53b7fada760147fb425c6eb5dc2853b78d32e0a9f2d8087ff1c1e5b117715ec74fbb0fc678f55732e54a79cde8c13bdddfe35fc3edc4982600c4020d84a0594b69e5a20a79d99b917aa073bdc14cb1d4d79f37b0c7cd9c1874d3b9f74e0cdfc4b24db1f36f364bcaccc1d6084fe56dd97d2f0c78e1272dcdb83792bcaec45492f30ff3da9430d0bbc0fd2420a06e5130a2226a84cf40b3a2e2369fce1168bb6892bf633ac88d10a00a7b15c0c8f4b461f44c707b8222af53976e1ef1818d59669b166de41cce35d4d93e39ea960be8f147fe144886a8d904328f20c13d3a781cdd837f9a0e34ff17ab1320e735ec201c6e6440eae1cc450565c2478d366d11f461b7ed49d33aabe52bc049e37711da98a0c377303685a6d52c970fb3c204b8d0be16221ae93c7df9e0aebd9e1acbfaee14bee72a8481b36138028c2a1a1a747344ea64e7422acf89745ddae6e811b8f36fcd0c13ab46b5dea0ba24a7024d733b668562e27760fcd3f44231184a651dec243b42ab82babf5ee18b70cb5575859ad8c3abd33f0303ed533e2ca245a89260da846a320f4f6b20d58f1388b05b31e7f9865a7c378fc52e57b8a71e9e50f983212e7f9b1302a71c18aa3d776a6dddb0ebb7df6e70830efc469df14beadb4472aa64baff6bf2746a6ff1d9fa7d261c8d2e1f1dbb97bea62fabc36602ccc95d44b43efe054ad99eac2ac27c52797b3816e682a8d8a7e888bb73f912df0fc423afd6bc740157f20c793b3df9bb51b9e8420b1d19144a1b0131ce24a71df503e908642fb4af4506d4dd9a3d311b55a04494d4706d1ac21b4dc9abac0f3ccc7addf6b09986e7d3072002ca8e8dbd9d38c85c3e746bbd31345ee603ea8ce0abdfc77125168015557fcf868f69344fee16df57f47cd8677f023b8a7c05c4b53b9edcf990cfe20379b6ed73f0254cef749ffe37bbd56838f01f4512f5d5f91a26251902e2796dca95ed8b958f00567d805f0044ad22b09de54d2c5a08007f7bc92804401859f57430a44065bbe6ed79e3a9bda1101d5e1454d2f7c2a987a67f62c434d0848d6cea03d6d03c2b7a59b6fa1093198ad42a83a56a50fe024e38e438b9e3e1935c3c88b81390f4b3b3fb17146a4114876864674cd93985871f0ddd4bfada442d6f005a5d34aca1043744a5e712c07a358f47c7a232e405b98e773dc2ac83c80a0c0bd9608d8e9d8c40e37fba98c2562dc45976490847cf7d4caa78b605f067fb5b07abcbc7751d2a0a7f3aa35b1b7fac0589fbea8286d80e8c88c901da5d93f09f7046b088d80cd68b7b3fbc558b25a72f834e33a63ea9af065cef31ff6b162386f12d310364efb1f2ae4556b12c0df1472fc6448b549a0d4a96be1fbbd5039a6a730465ce35ca38a01ea37354504ee26c040b29bec7a79 -ss = 1168ef9238147a97f768ee253ab2a4a4df9969d4ff8551b39bde166bc26755e3 +sk = 4dba785b32456e16a8e9a20fa7536f1b4555a9b403a09738657a148361788d3c358a7baba8b4c58ac979c4f786e588ae245cb0c12c284f848b89585f76892fd65cb906d39b385a04d2f5b2154abd1e77ad9501abac73237780b33c601fac50ba3fc07e8525819593b7d7e69fdea46f14f1128a475e4784af38985501dca6d20bc8dc1c5c7740b33804358f71b6e97b2a0e7350f7608321736083dc54e0253c6e5c5665d0b7e68355d4e98daa753c1abc1429b397da773b043459e5aabd093a5b0210502bc2cab250041997861286924aa0a190307431719588cc2e6fb68711c964fc20393c73b7c967c603120a3cc11b2efca3dd6616d0e2c835fa92946a40c4cc2f4655301ecb09424286b3c7a07ad3c6ea37bf6132aae2d9a335e34b6c816d93cc7ede020ab723b272b70f494834ccd93bd7800bc39919dea4be4c585f827a4351e233026760dc83377329ccbff180a562ac50833c0f861e795c00ee74b584f693222b28eefcb445f19b06154abd0110c6a017ed525b5fa30c64e60663573b8691ba68e2bc580157f1c66ebe388aa2747c50919af644acd903a801a5c04a6a2eac686c89835cf59a791ad5642274a0f78244491670c66c9bce24ba5cf6b86967aefe6728dce8973fd29045db844dc80022297cf530c8eca4808f603a90a840ad70a803e6a0bfb44b38616816073c5d7ba26a64048f81a3bad3a0c9cb0672c7466e38824529298a7c0d82940540c312f429411b403f64e419cf720e1f73026184cee538b27cfb91f16186dcd3904ba6a34254155b3cb3157937d5618568f46f283c7c0e88696324a4fd77c3e6fa5b5dc0a13116274e5792fed69eaba973730a79878103bf63934d179143dc23ed39585d40c06a99aee0f4462f123b8a6b539dea9e05117b08338dd6754398e7496f612b4d892ca54a13ec9b2dc7022cf779668809ad6db97a6e8b15ff0a862e664d292c4af549195a23c19e2b9fcdb9b4a5b9ae517873ccc644993196de5c2716d58d50e7cf11558f44a16580c980654c8ca581671121cb2f8cc6f90529c9754cf0700b30943eea1a7b05f0bc8fdc1cf776b0cf2c2eab927dc83197a4071dabfc07f983bf4d2c613e087976eccaac031b88420ceceb6df0350f04ba61ab39cad4c6b2b32503d773a34514b7d5bbb9d5e7bb6dd9ab5bdb8f34a9880c49ab5c40970c435508e26cba50705c6538686249d344bdb7c820a5c8869b371b8fe13922a5af390bbb7b809c392266541671c75cc2b7a7248d0234fca16da64265e5c70257d770d2e9982d5a1c6d19bf0ba48b53ab900fc8280c754c14774939b83c63592a12f35d198194679942ec227b46cc8f353a0547e929175c3585107239aaafca151df3c835e770921e5c9b134ca7e27a18c7656bfd6a4fd2431ce1743576e575dbba8905f4cc38108e3cdcbf0155b5300a100958aa99940bcb473ef64b05baf55e91952c46851d313b0990ebcf2148cf28130cf49c8d080841fb81384e73367c792a11099f5b898416946826714e252457b23a3a1e33a36ee2612372cb2c04030840a87f96a31913a428cccdd2817b38372da4637f46044f2218c28d525a57d9c0cd2864fd43aa5c9a003a09a35ba786a7520c9d9971d6258cf3c6695885684d1a5fb2b3818015ae887555fb1997b7a35a326481a566839712033a0ca13a844ac6f21a16269876a27b2d49458515b3ef0a77f933c9d0f1406121bc8bb666a1284798055595901488439150db602a5428ecd32109731bee5bb8de606ec8d227a432994dd912637bb0b3b198171a89daa720bb712cb598a75b4ab304a9468088a62d0059dac56e17bc95eeeb6c22db8d8ea3c6f272a793e0358e193d52029e2a4582cdc65848c06652e44310506868365012c9befb412d1a844e8c21a613627b4707873dca67ca5c0493a83eaa227fee44731d24938709680e1879b2a41b12e71fcfc39cfd81186250b6cf4b5796e831a49aca2b8c2931328ded15cf2d082643735ebdb8ab019609ecf95f5d093a147c3caa73946cd38b4e21073bd72ff958c7435088ad73a5d343ca768a4ad4b2a49b6b6e17a94d909837e872a05c815d18ebb4e817bdfb327cbcd46404060ddfdb92631b2e3e262283bc3292504cbfea8f30f085fa12270c834d6b6a5d2a46098f26029da3bf14b0961b350facf720ae691dfc4a847b143d9c9a2d2e7a35b6e33dd78b761125bd8c4b1d6994cb8e01186dfabe6270a51cd85b8b39678af4c337bcb4fbbbc0fc260d48aa801f86538eccbd3787a12a09b42e18afa2e8c77bdc11b13b5a8404cdd7b2ce364046ae059a4c950e1e4638ccabc8157b97a238a6fcba379bc6afda874335956d2325376fe1ce4405bee3e37ef818b9826743266c078c01c36fd62b1d17adf33467d9c1ca9f2ca28a2867bf7a8084daaed0a19d2d40a0979198135c229720205763401045879ed65b09825012e626a24118cee00216930d44a9bca32bc74a6683a8d1bae1701b189bcd8feba2da42cc3b572151e7243712789b2801043196bd8c15d972cf7674771dc55e74931fc0a55c434497a517c99ca3276d262ffd83cf66d87600d097b1ab5dd8dca86de94080da8c2aea980b3a1115b847786aa96b94ac818148e3e4c7fec633cbc6bd3104ccb216074a5b2a8c757a455ab38e1333435c3c30d94d8e922e8e77c0260b6128865bc37b82c7a6a276040edadcac335a10b569a2cc53a93b6729728b84b74b01d502b830330000aa1ccc9c4d7e7a74ed218d47ca60016411d7369248a261d6b6240d5b15d2fa5b3229373484c8d23bc8e78830062959d0504c92c0bac310967ec40af0c2902f82742efa78f57b70bcf54a73aa2aa93b0fb34a935dc5924977caceba57afdbbfa69942623536f167830685bf481740e2f434a2d3ad107711aa1729ccf857a14b0002f61575365f3ad9c18b947bbe9b3e31a7571a918728479710d64dabd569873461e12a9dc1103ba28028e001c8d5a79d24d30756cbb4a3ac9e48435ba09286ae89ac3c841e8909a4d94226a822c90b5a40f239cb0e8b98e86b5b06e20dd3764e42e8c8095052b1f66b76f164b3b867a98cb299e0995d44b5febc7a1f2c0cb2d0cd4f3ac5f9d5444797941666afd319a3c6713ed1e31338a41a6e2b548208cff5671a6fc7ab5df260c2d8a703a67eafa381c9d576c6c2b1177b6a66d951bd3c426fa79cc7b552ece197c92856b2c7064605079404a3b5d8b49afb9c87ea48e0811a61e81e2f101ca25a6a599947341040e381a52cec894dc9b6ad25b79dc903c35c450201071dba35ef8c11e17a1ae5ec7e13468c148a5946d928ed0321d717640e5a5767942ef2275e05e395321052e3e5059af77fb04271c2e511f450be168aba09d3b9eee1288ed1baef69ced005797982316e2c731f9581cd455300f35a6e1a5872552ac6eb68ccacaf636cc713516c275823e4a1a30a722f8c46a8932550db624dbb8b6e0bb51c3d54089fcc2042f38f5cb5988e56a1f42a65d5d788e2551f60487490b57904127433f685ad4bc53d6213cdf52d6b0991ae37882d37b5dc084e5a49bef660a4e8d03e24ac93e58bc05f8a759895074e156c09e73e6782c00a6cc80cd04829d270c7848d89bb2c321ac6e76b3e8715923768a8b1a644cfa95b890850819767249c48a08314b29c81e31b63a008a51d283bc217adefe37d2d9b15c7257cf62a68751c2942c531bb55abfa321c581822c90c243d94b598fbb958e5950fd4c8b1f1cd06bacc30828fbf73a83f7387ca252e4f9805419c02d63189ee7b4661b5c1bd398ec82cc8da173ede64a38b3c1ed53a64db130564d2a54600bac8017d46507b3d56208975a70351a558d5774b249f7d634e6f21102310b6bf8c1544e217c68768400c3d721ba5c0f77b9d20795c8059145956ac7b7728222853a3c325d070a9eb256775c727118eb9cb7134748ccfd09f32c930881826d8e20af48b2e1ba10efc67ce0ee7730093a7305403eec951f59044a5f7317cb85caaaa2e2b5b90ab2b805a808c1be755f9a4c342a96e8ae83cc4394d73890f13bba0d35c45393730e4118d5345006ae62d38445666cbb7c25823c59a9d62e08bb8c7cd22b331be153af7c359091081fac67d96384100f44951422e83599763ab739fbb8ba2a064a41cbe1679a1c613815e9a51d5d6251ee73431cbad479cadeb64ac94f92a38d0798a4b6d3ef7233572b68d2a12d125a6d4e27939f341a4810f0c07bfaf993f8a74bf8e9710e7b29389ec3dfc498a4ff1839a1268db8b70e82670e689b5b3e333908b6e8b4a78fec249e798bf57b7ce985a42a5269435c81ba441230ea52319550476c1f4bef1609e71524b877f53fd3133bf71ab13912bf37c2cd7a359eab035cd7944e5d79dabf7b7259df5ced02669c81b7dc4590e0b10764729d812f6bd85d7284837f7edf4788f32e757949cfa69ddee079e2e00e439ecedc8512097e2d2ce +m = 53d3fc9947de6ea6e5b4b5e89d236258ae933c485c2ab4b1d6db8282173a7c8c +ct = 578472364fd025edc9e8329a97232762e4f9609c0aa6f63b92019dd0040bbf7cc621efd6c8d95216d31a4b7c623f764d76eddb7b2a2ab74cbfd6e8881a00ccecd7aa7d133a2b68d529474044675cd2bea8a633e578604e8416ed5e08a87dbd89adbd7d04bcbee413602b4c1ec0687ce107536afa779c91ee1c0dd7164f6c8d413d97ae86ade48bf1ecb080880ee37ee5109435bc2e0c29d31588f4aa320d1a473c2aa5d9d73e8d4e0cf83dcf4f48a7ab9d1d5e79d6ea1cd88d2417f1b4397901fb59c7157ce9cfa32f045b39db5f6ee228ac99e50e7970b63aa6884e9d82b42b52b892cc8a30716b9f75f30a13f3f504bcf8522ae843e0841e41af25c26f01ebe8aeacd00c29db4c68ab1ac0bafa8f0800c6f5bb8a4c070badf9988014f93b107e6c91c8bc610d6bb4cc19e216661bd6f273664688433555c8aeae775d033068e29458ab747f98fe01b3bd4e5ab51b86c577eb1300652f6029dccc966de6852290523212f61a01dc05c5ad15c20a192057d029679e1e56dff4dd3f93e71890c8df421e33bf3ffe00b6d9b28f80ab544fae4e644aa572596e082d0ea22b0bcf56ec58ec67030c3ffe10fac599e2e4b705eeaa7a775a27d474cbfd7b6025656052dd892ce86b02f1dbd6b8a228f23c2f51559b5d4c8e025ca239b39261704b65d846d37cbbf7d1821f696cbff30e18d443ca2a08255b30b257612dfa818324b97e38c4aaa34944db158500ba35f380521301e8cfe16172ec3bc193617665711579b0d590570c921c26dfe0ca2abfb7ebaf1d3d99f5a754fa5950c7c5593c7126d66236bb091615f4f95db0fc4f00cfb0c025ce30ef96f7b7daefa78ba111d7ba688ea7bf8f59dc87521f595a318be86351b5dc27ef5e747b5e48781660e55f2730bccc6882d7c6e433d9d7d19efb5594c7686ea364f03c395c932b3c7bbbb997bf025238dc35b8e8b059b6bf4eaf2315eff77ef4ac63cc510b57ac00584d56f82309e2fcb0809d69ae3bcdadc31e7eef48a2ac1e8f3cb4f14e04a21a028f533910cca2ef6d9cade0ed7171c0c8538648c03a83494477292f1458f8eeb85f525afb54da0fd9c0a285786ff2dcd5be8dc059c8cb4dda633da45c6afb1859ba195ef28f916e878955515cd19f4caad2aa17e0bc83af0097a518d3b5b1d51cbe129555b42d520bdb142fd2fce70c067a727016a1bb6335a7900e87e0d0cd9cf7e21f9f9bbf5ce2e83ffb35718a1b4ed30537f1e824aa832430008eb3e530a4590ce446fa2312faf3179875d5a7d56c6bbc6585f90e4dfb53cdcbf39ee4329f7a23bd9b95876483fb3c0b0faff566ab9e4c081ec8de4efbdee7e1d8cda30fad6f28653102e8ac8f1992a6b92a18e252b2fa0cef1cd2bb045db4f500fa152a0e6e69316720435fa217731f2feec45155b090c99543d0a59ad123634d7ae7aa92b692f48e3e936a2005b62f84da02cba3ce7e3dc1989089ffb6b52b0b422bb6b025838c096a7b01f654f66ac5f5e887feaf158d648943061e039a7fc914304834683b44d1d0e60f6ffc06a942091bd8f8e87d114cb87e75804775591997915453a0f992f24e135c284f2dae83b26a94c3e8f5bc61bb7dd79e02997a8a2299986b0540d91735ceef76f4be38864d2508db21fd1167a01f4af771d65999cc8ca52fa5df4a941e8d183c1c686a28ba8390c32b242901a821685caf95375dbe1d03ff3981da3cb410a8b461f45e2c4ab38431f940f8031835ae58d34d24507da261adce472fba872f09df23aa4b3ea1118a2d2113296f6cd294c2c055990137d40c82b95419e9b3893250ec395ea60a2dd462834de12ca031ce3f4da943bfde6cde84ffe7e4d735630e3a7e2f1480f18a842c721263d7a6a61a9f5bd67bc24a39fb6ead9ec300d2007076fc61f424e653db3bd75f52224cc193316e2d7100df3a5e2917f3d505a9f538b41c5ebc44e30e234fe62be7f6ae9b795277548e08cb27e1448d55cf00d31aae8329435f500247a080b6b84fa2fc517324a9249f6ff29c42bbea49d9d13115014af2a93ae61e81d876e1fb462494a2860332a5e010adabf958f222b8171bca0b4116ec209209065e243817ddb48c2c9f82cebfe4eb410073ca82e23bce448cbdedce3bda43551557263887631c3c74b0676b06e907a4632a9ff30f9c16f571d9806c9b2fc3e997b3554740fe6c151e3f83f93fc04b02ce1cfdd832de14 +ss = f71153239c77f7c39a807bd503969a1f6acb8cff15f34d50998085574e7c3fa7 d = 851ea90fd3854cbf28fe39fb81f68e4b14345cf0d6eee7ec4ce772513df8410d -z = 1c0ec046899a777655233e4e1b5ca44e9afbdc67964bfd5d5e3dbb45e60d03cf +z = 11bfe66d2d15c33524f478f9a6bb3af2a83357197c834d399a8625f761529be9 pk = 8eb8491c75171340b7774793b7912bb4186a7e3837e33414af6aa211061f3831c4f4b16b753228e998a721385d7b14211d8a7096c54ac3101dda7668013cc1555163f822b1cc144e240c284dc87b5075a813872511097c45a87dbabcbae6e743dec482b4eb47cdd4a1e39298872552f8bc4b0df1632255588ee99b4bd373a21c665574bcd3fbb35690237a6cc691f80523390485447be94b76fc219e7d75c6649ccbeb00271fdc1d666351f396c08eac20ecfa784d45bd4d64847ea126d9f0a23a3b1727396f299951f95a68efe55c5d4c792e136148aa35d0663d64f2c040586e44b6cdf60c54e0c08f365001513694e27569a3d6c6ed2538937a7afaa0bc2ceb6b18914ac77c65922ac49e47c74447b889a39344db09dcf1bd73ec5c48263c214a1e946b2cb806668a32b83c0c97ad547989836a53f1025348ac068a69357c7f46c69f963c5634908b9963bdea79689b9679223824faaa920439356c10786a646472372be8729c4f2ba1e2897728cbab136757ac5a75242608d6d10e20aa6446a4800eeb621ea822c1a61eb7c5b84e764d83452f60e5bbe79b275c4a4445715d21ecae5a569073475a74ba62383137974bc071c27cceb5bdcb1991d393784ea8b28f259b118089b4b77f9b68ab0ca953ff8257a3938482313f4c5963c4b101eb0321d608c2f3127cf451764e15636eeba98021c963f359d2c44a9e92357f2853821ba0c8105c488b242d9c02ae637b2002ce644132069a8babe23d4e9a056fa0b8be8095113b86e6b5c748706924f6aec490a46dd398444499b95289f13a84868188fcebb861a004254068f6d9b4b83aa81c9b5433c70868ab5364a80d870b841a216506663aae569b025c5cc43b2e5a6821fc300eb6574d0088bbfb7483959892703666da17797dba514a489376b19707a144b6f80423073efc608347ba2e639b0c8f2a52ac959592b0b0c1a5b4fba61483f225344051dcfc4ec124a9d10cc2c557339325c699f091319853ef7a445b4064d8e66895f8c0bc887786f5240b72c319fc0b55933b5864063d14c5f732472c71340ea26bf8ea7db5fb9addf3c5011cb0f0d3720dea819d3aa110e2cfa9ea61287716f199af376b106fb097760b3f11237fced41eb95b798f2787b3039f9c213ca5699aabfb03af86adf5d52d6aaa1ea952bc04725a22b2a28f4006cac30e265c793018145573cd1c715a69d704217ac45d1b6e8823852da64784d4b84eaa9cb7f75121cbbecbf25804a210daac80612972acf605e91303a2d59b1ac84ee217872bab85cddba9c6d1381e312b4c574097d95b8afb595bd91c46fc0df0a761f596569f99b7bc6505e922a1f90c045493cdfb9a3c650224bdcc26ca199849128945ca5f97e230d601283aba102a26818932004bb114879139ebd637ea035c20c3ae176b70999c3ffcb7951742c73d48993287c3276c4df9a8365beacda08bb72c55634ff35c2d848ab4d07bd6921cbd95c18ac60e7ed35aaa352e143aa1fc49630cfc8a09845cffe260ad953b71074e42f08e265b7473db4d178c269f317ac035cc1124540a4a47886b6e5b04418a760777e73aacf8930f08c2ff10815559c1e04672bf4b851233011d7b3a84155d76279f9778a72ac9803d36506824a34524c835222224545deae1aaaf193b778751889957d5082a9e9a34e6e44840cb7ddd712ce9313c5033590e9ab54c25852aa8b2f09252bed793bf6b972b593ca9317ba278937a607c6b9b8f79069fbe452fddf01622465006373e2f661e366a90ad1483fdf76e04c388d61646f0162195d36966d75dcc89a3d96b2f98c79d9e0babd9816aa2084611ebb558735c076576e102b3857c1eb2876d53c5777f146876e55020641072010e7a1b773d357d81b52b4071b9ba8c8f69683181ccc4ac49bd2083bbaef7ca0beacec46a39e768295192ac02bbc0acb70de25a27b724ae7d3121b1a4a869034e70f279c3914d882422e1785709599df782bae64316aca97d42846a52d03eaf423e813cbb3fc26c0e1134ddfaaa3275226f6416d9788ba2026c78e2bb1850c681825774213628a23494db886aa29892ec194791a84c73b36fd5cbb2b4bdd3d664ab10246cbc9bbdc97d8ea5528ca41924e240e544a747071caca25b05051587173c9fc851edf10fd0171c69c2128e0acadbafd72fca96aed457caafaf51dc8c30ceac70cb4621cd4d7b4c -sk = ed55584416844e1cb3c75acfb3771013d1aaf1fb3ca8a5b718a8ce02a15ae26bacc7534f8b084a665b0608780e532a161686b07faa83884c6a0efb490a8a3fcabb50add21f58ac43ef4355246b1a661c5937562fa6067e7aa66978e4b36ea1431ed41e4e4282d4003d5bbc06cdf7af225b6560c44f43a278677abba8c6b79741b3ce7c0d0769ab407c9b39c032f0e42d1866addf2115e2f3336384c61ce9319cc92ac1350b264cbc4059b94372631c8241ca376aa6f76111537018c01d1346019d628f1f00cdf828b48c47cbf958989b846ed893bb0b6444bc2a35c6443f77d757a0cc957716373460a7a94151cc548f0c78aa5a323581c192d00b4d96219806a04b1a0ac829002b7fcbc8cbf8a8e3abafd3dc2164d03a24c19d50133e967c7668aa8b81977b400067fad2ca802a76716b95e3d28be5603e4977c33d3ba5df2446f6265827464641204ed972286b58567ba129bec0cd6f1644c4032edd6239309aaa259a3d997b1ecc535f17d773ab1c5350e3c82c600175269700a56b0d4211dd02c13d4bc7c54238f40163441702613a1de34ba9b0b42ef0a29300098667e8003588577e64b031139dd2180db113623fc4b74e946eef86a1a6bb52764c6c12911765e37a685400888aa9140a3adfc48712688435258d56337fb8d8a9e1f34bd2e818ae3b7480f500fb6bb03bd50019c33bd37b060bc2c45e8a2267d18927c0af66076619889ff6b1769fe59e5f131f5fe40db2815bb6886b7bca9da659935db493ded9a808157e4151b04c153e673333424b7aa939559e4ca973f7644a813b8d9c1db8c87cac6365c0e008e329403c69490976cd3f006f3138114a6b3e6b3c4f054451e5bbcb7d232f285a2ef5202b81740053512f8e4b33fda87ea61042d1f9736ed58e9047c8744735a728b636dba7abc33b2de0b1572a28b23c25a8668cef9291990a499bc8935f955e1cf0301a65be870b7f01f06099192431f3436aa5aa6564c4689c1d2e11540355138c91ba6e0182b6daba0e7a177ff320c6b04977d47da0d51672eb96ca054ad2d4a0f72930061775592aa40e9c9418ca611893044460495d8a46b242201886cb52e38d91d25d7fa8262290628d91323dd2a51f8c7a33487232f4934133117699028381751d8594fd94910ee4115389c57262ba579220567a7b5b42441a641fd6630d7bc06802878c76bb9ea576965ee45acb90ba549a01b6e873a1d8c741662067a116e64c8897e83204170c9bf2676ef60c20f3450804c7a1b80725da17f9db18f715b7894ccbb53321cf01755d168d19a96356ec07efc62d9a8c3a8ffb15500433f915137ac42a474b8e43f283bdb2b46cd62d509a5aee8cbe23b74cd48079d82293bfc9cd931289a0aa27d8a930beb2000acc2019e3cce107a18e9c4408c516fbe19e45459ed77231851b88b6b73156ec820a4c097072c2fd61c83d23413ad510662894daeb238992138f98185042b53a637aefa83378b026fa7bc314516b25d343f0e0aa7772cd2da27f8b39a8becb44923792a7d586631b2ab963ae537768e45961f5f96cb42320e75738a964168b9403d5b3591ac5679a61857c818b2a486bb299019c7b03beb50d2d40a17e84712aac01895ac6f73c0e571b779f71c4691ca515592bf6270a32c58eb9a494c1a6bee0d86581135216441a8397b5be554c000342172728f4dcb504a11e7f594d7811c21b7a477f2526d817017e5c87c6b376d95c8c6ab628110762546188f3f602359a85b422aacba4802417ba44b98fbfe05121cc2c58515cf2f3979400784f6152925a2d52d07d15a69a3e223feba90ca1b3a112947299123912b54321344ca400cfbd996d523b72a505a8f0945e00a65025015c3f9c7132d48bae4129a0f0c4e22a1509c439c011a2e1cbada30453f6110dee9c7f4b0866aa92cf5a31667ce38f8d871f9902bd5e2a2b7af030367a6306d4c48387b694c7bb2169614a746fa783619f9c7264d32feda59ec37063d1f11c6f5183f0e9be5a493e5cb199358b19f1706d80844ff2968e95a24d72dbc348a88d0ec9bbd01c3018a8147291b34ec21290211304da40c46632b352810f0a2d73046417885cee0c231a495b7db834a1336980f2b34cf140c84ac878c558cd937b7e0a9982f99b3c8abddd441b79f621764ac38eb8491c75171340b7774793b7912bb4186a7e3837e33414af6aa211061f3831c4f4b16b753228e998a721385d7b14211d8a7096c54ac3101dda7668013cc1555163f822b1cc144e240c284dc87b5075a813872511097c45a87dbabcbae6e743dec482b4eb47cdd4a1e39298872552f8bc4b0df1632255588ee99b4bd373a21c665574bcd3fbb35690237a6cc691f80523390485447be94b76fc219e7d75c6649ccbeb00271fdc1d666351f396c08eac20ecfa784d45bd4d64847ea126d9f0a23a3b1727396f299951f95a68efe55c5d4c792e136148aa35d0663d64f2c040586e44b6cdf60c54e0c08f365001513694e27569a3d6c6ed2538937a7afaa0bc2ceb6b18914ac77c65922ac49e47c74447b889a39344db09dcf1bd73ec5c48263c214a1e946b2cb806668a32b83c0c97ad547989836a53f1025348ac068a69357c7f46c69f963c5634908b9963bdea79689b9679223824faaa920439356c10786a646472372be8729c4f2ba1e2897728cbab136757ac5a75242608d6d10e20aa6446a4800eeb621ea822c1a61eb7c5b84e764d83452f60e5bbe79b275c4a4445715d21ecae5a569073475a74ba62383137974bc071c27cceb5bdcb1991d393784ea8b28f259b118089b4b77f9b68ab0ca953ff8257a3938482313f4c5963c4b101eb0321d608c2f3127cf451764e15636eeba98021c963f359d2c44a9e92357f2853821ba0c8105c488b242d9c02ae637b2002ce644132069a8babe23d4e9a056fa0b8be8095113b86e6b5c748706924f6aec490a46dd398444499b95289f13a84868188fcebb861a004254068f6d9b4b83aa81c9b5433c70868ab5364a80d870b841a216506663aae569b025c5cc43b2e5a6821fc300eb6574d0088bbfb7483959892703666da17797dba514a489376b19707a144b6f80423073efc608347ba2e639b0c8f2a52ac959592b0b0c1a5b4fba61483f225344051dcfc4ec124a9d10cc2c557339325c699f091319853ef7a445b4064d8e66895f8c0bc887786f5240b72c319fc0b55933b5864063d14c5f732472c71340ea26bf8ea7db5fb9addf3c5011cb0f0d3720dea819d3aa110e2cfa9ea61287716f199af376b106fb097760b3f11237fced41eb95b798f2787b3039f9c213ca5699aabfb03af86adf5d52d6aaa1ea952bc04725a22b2a28f4006cac30e265c793018145573cd1c715a69d704217ac45d1b6e8823852da64784d4b84eaa9cb7f75121cbbecbf25804a210daac80612972acf605e91303a2d59b1ac84ee217872bab85cddba9c6d1381e312b4c574097d95b8afb595bd91c46fc0df0a761f596569f99b7bc6505e922a1f90c045493cdfb9a3c650224bdcc26ca199849128945ca5f97e230d601283aba102a26818932004bb114879139ebd637ea035c20c3ae176b70999c3ffcb7951742c73d48993287c3276c4df9a8365beacda08bb72c55634ff35c2d848ab4d07bd6921cbd95c18ac60e7ed35aaa352e143aa1fc49630cfc8a09845cffe260ad953b71074e42f08e265b7473db4d178c269f317ac035cc1124540a4a47886b6e5b04418a760777e73aacf8930f08c2ff10815559c1e04672bf4b851233011d7b3a84155d76279f9778a72ac9803d36506824a34524c835222224545deae1aaaf193b778751889957d5082a9e9a34e6e44840cb7ddd712ce9313c5033590e9ab54c25852aa8b2f09252bed793bf6b972b593ca9317ba278937a607c6b9b8f79069fbe452fddf01622465006373e2f661e366a90ad1483fdf76e04c388d61646f0162195d36966d75dcc89a3d96b2f98c79d9e0babd9816aa2084611ebb558735c076576e102b3857c1eb2876d53c5777f146876e55020641072010e7a1b773d357d81b52b4071b9ba8c8f69683181ccc4ac49bd2083bbaef7ca0beacec46a39e768295192ac02bbc0acb70de25a27b724ae7d3121b1a4a869034e70f279c3914d882422e1785709599df782bae64316aca97d42846a52d03eaf423e813cbb3fc26c0e1134ddfaaa3275226f6416d9788ba2026c78e2bb1850c681825774213628a23494db886aa29892ec194791a84c73b36fd5cbb2b4bdd3d664ab10246cbc9bbdc97d8ea5528ca41924e240e544a747071caca25b05051587173c9fc851edf10fd0171c69c2128e0acadbafd72fca96aed457caafaf51dc8c30ceac70cb4621cd4d7b4c692176b38737a053dce0551b63e3eca81884bbf95e1d8975671a2f7f1dfae2511c0ec046899a777655233e4e1b5ca44e9afbdc67964bfd5d5e3dbb45e60d03cf -m = 35d470bcc5880872754810dfb3f2796da2fd7f397537146f6488c27804072b34 -ct = 587a7ca0e96e5b5b1fec5f9f6ed55da08cde24f3913cdb70b258620e184053fb35bce7eefa5c6b7a72dd84f033c56042bc72f8ec8a69784bed9151ebf4be636f6a08b8fa44564cb72c096e19521b39659d962452ff47cbd8de158c2df622245b72ba9ad1d702e7cb2c878b7c057a0db4f1bd7f90e84512c8a066eae237f52d071e4aff3592ba42f1a8cc9eef5d178bdfa935e8f00cd6fbf8db9fabba678e4193f68d6d97b8dc063cd55d4c7de3344b617eaf0bb5afad89f06b115065cf2939f288d506f593ee9fbd3d702769e992fd2d0f6955ca295fbe6cb9b3bb6453abebc9fd8baafee8dcac957b297f039cf9072d1e791065e194e520695442be243e45238f3929e6eebd9316c98ee90e3b42e63354453044b0f1b8aae1dfda61d4c61fa2967bcdcccd0e521de5a075cc45e146e9c5bcee4b15bbcddc68645fc6a317a6cc56225efa667d6a5ad78ec467308066fee6328d3f5c230d34923e459610781690693294df1da9bccda7d4b71c428803692bdab7805835efa40064b6ce19bdf5a41ae153d40f4cdaf74c4b838c72107f446083b8941a30e25655638c7c8abb825ce71339cef047a5c7e8ac54874edcfd0265abc1e9c7b46a22e3de57b94256c7de064dff695739baf2616025c6d099f0866649da74339b8a5355d8821e9d3e5faec1128e900319268497a9b936b64d5d9d21f0dbc98c1ee628c707fa30a64dc78847673dfcdf46d14745da73b39e35ea0ec4cdc79355615a0ce7c4028fb6bdb6ce51aab024dbad7d5b343bb84f958fdbb7218f316dd42b7e83bd3a146ef1c24577e52ffe023b54f266318affb7de73203d5e23aa619c06bfe0e4b705c3a1d9da97bbf323e5639fc2ad60d49b9fada9299105c1b429eacfd68d9dbbb071177f48b5c580a5e4cbc3799eb25d0266845d5cd0679670318d29ea6d7c4f17b76674cc958d387f52f2efbb7da370586af8031e02a5187297cc38634234e17e85f52c675497c3f62f09c02d1039d5ce7b64cd0708bd192920b7450ced5aeb78213f023dfe35e2a13e15d4654c45f587fabba43cc2791e6d0cc70d30a8c42185dbe3c748b894d00564c54afecc7b134fd5ce359d84520708602605522f97e90439b4f46bbff6f903033e4f30302b21aa5dac744ae9bfbeba9985a2ae5bf7300aea18afada96327bfca1fc9bc8e0e20dfee36b2715f54690630c9a687a71757d702f6e33372673baaabdcf900ac5da728319f7239ae8deb171087a796c8867359ea2b1ca8c2cbec136ad9039791523e38612389c8468052696583781328f8bc83c9c694f200c478b08066e8d9441f93e1004d9d8645a488621f706d2e21f9cad43fa966ff8a3d4f63d96a5f5b6cbf2958168d052c60fd368e188e3b94e831d87c60256ee4918dc26f0dd757688c6021471cc4356357ae980efee25ee82e72cd9456e1767c24e7211fe7bdb76efd8904984c7b62298dae4c5573336af0c2ff60aba217e43096084d87f61310f8c57ebf4f5fa05bc12554bc556135c0741bf52ac3f4993c3e51a8b278d8bcd503656ee5d29fa39a1f1e8f0847fc7a409bb885515434be0442a47ff2d099db1835984062bcf60dc4f85952827bb01cdc9c82263b5548c28f4700256379a5cd15cf850e086b44ef12535e791e8c9cecc9da636bbb5380fd5b60c81bc8527ed2c00eb3c939cfd0132108333d8b783f52d998012e04f75484117be82d4f83ac49c5c82d80349c28b496c6875ba43262bcfda8a302c2964f118e1c88cb07c8e149e17b6e0c74869708baad1b1340a21d079e5efcb2787c0481fd82566464a58798c0916593eab58fcd90d4ee6115b2d2ee3da067826deed6007c6a09e35b499c4ac920f5de8e731c361df7c8fbd3a6c61c82e350ab309bef0dd05d8bbed1f5a8bf6a8eb6525f5103a5d0406fa0ce3996a3dcb9eb53868b19d38eb62e0dc48e0db7d5d35b145e3303a5a512aa41cb933e20ad1c9cc5dae1b21e85076bf6a500be476a1f3c32315a4d6833e4142497792f6faf628bea64d6de95870fb8cc69abf797d6f61f823a6ace9d43080bff202f7efa1da0e8fcaab5c07e185d60cbfac522228dbac835aa9aa0cd935b60985ac1db33cb83f5cc3b1f5d699a212cd5f061756678cf3f4593015d6c160d00f4210f83878feb8c3fbf1f0980bf91551282c7b2465616dc1e71b50768c1702d44fa12289e01fd16c44a0c2870ad0fe9 -ss = 65d7e1e9e3dc7b7d771f1431bea4369363f637876b44cf216e48f6727cd28fad +sk = ed55584416844e1cb3c75acfb3771013d1aaf1fb3ca8a5b718a8ce02a15ae26bacc7534f8b084a665b0608780e532a161686b07faa83884c6a0efb490a8a3fcabb50add21f58ac43ef4355246b1a661c5937562fa6067e7aa66978e4b36ea1431ed41e4e4282d4003d5bbc06cdf7af225b6560c44f43a278677abba8c6b79741b3ce7c0d0769ab407c9b39c032f0e42d1866addf2115e2f3336384c61ce9319cc92ac1350b264cbc4059b94372631c8241ca376aa6f76111537018c01d1346019d628f1f00cdf828b48c47cbf958989b846ed893bb0b6444bc2a35c6443f77d757a0cc957716373460a7a94151cc548f0c78aa5a323581c192d00b4d96219806a04b1a0ac829002b7fcbc8cbf8a8e3abafd3dc2164d03a24c19d50133e967c7668aa8b81977b400067fad2ca802a76716b95e3d28be5603e4977c33d3ba5df2446f6265827464641204ed972286b58567ba129bec0cd6f1644c4032edd6239309aaa259a3d997b1ecc535f17d773ab1c5350e3c82c600175269700a56b0d4211dd02c13d4bc7c54238f40163441702613a1de34ba9b0b42ef0a29300098667e8003588577e64b031139dd2180db113623fc4b74e946eef86a1a6bb52764c6c12911765e37a685400888aa9140a3adfc48712688435258d56337fb8d8a9e1f34bd2e818ae3b7480f500fb6bb03bd50019c33bd37b060bc2c45e8a2267d18927c0af66076619889ff6b1769fe59e5f131f5fe40db2815bb6886b7bca9da659935db493ded9a808157e4151b04c153e673333424b7aa939559e4ca973f7644a813b8d9c1db8c87cac6365c0e008e329403c69490976cd3f006f3138114a6b3e6b3c4f054451e5bbcb7d232f285a2ef5202b81740053512f8e4b33fda87ea61042d1f9736ed58e9047c8744735a728b636dba7abc33b2de0b1572a28b23c25a8668cef9291990a499bc8935f955e1cf0301a65be870b7f01f06099192431f3436aa5aa6564c4689c1d2e11540355138c91ba6e0182b6daba0e7a177ff320c6b04977d47da0d51672eb96ca054ad2d4a0f72930061775592aa40e9c9418ca611893044460495d8a46b242201886cb52e38d91d25d7fa8262290628d91323dd2a51f8c7a33487232f4934133117699028381751d8594fd94910ee4115389c57262ba579220567a7b5b42441a641fd6630d7bc06802878c76bb9ea576965ee45acb90ba549a01b6e873a1d8c741662067a116e64c8897e83204170c9bf2676ef60c20f3450804c7a1b80725da17f9db18f715b7894ccbb53321cf01755d168d19a96356ec07efc62d9a8c3a8ffb15500433f915137ac42a474b8e43f283bdb2b46cd62d509a5aee8cbe23b74cd48079d82293bfc9cd931289a0aa27d8a930beb2000acc2019e3cce107a18e9c4408c516fbe19e45459ed77231851b88b6b73156ec820a4c097072c2fd61c83d23413ad510662894daeb238992138f98185042b53a637aefa83378b026fa7bc314516b25d343f0e0aa7772cd2da27f8b39a8becb44923792a7d586631b2ab963ae537768e45961f5f96cb42320e75738a964168b9403d5b3591ac5679a61857c818b2a486bb299019c7b03beb50d2d40a17e84712aac01895ac6f73c0e571b779f71c4691ca515592bf6270a32c58eb9a494c1a6bee0d86581135216441a8397b5be554c000342172728f4dcb504a11e7f594d7811c21b7a477f2526d817017e5c87c6b376d95c8c6ab628110762546188f3f602359a85b422aacba4802417ba44b98fbfe05121cc2c58515cf2f3979400784f6152925a2d52d07d15a69a3e223feba90ca1b3a112947299123912b54321344ca400cfbd996d523b72a505a8f0945e00a65025015c3f9c7132d48bae4129a0f0c4e22a1509c439c011a2e1cbada30453f6110dee9c7f4b0866aa92cf5a31667ce38f8d871f9902bd5e2a2b7af030367a6306d4c48387b694c7bb2169614a746fa783619f9c7264d32feda59ec37063d1f11c6f5183f0e9be5a493e5cb199358b19f1706d80844ff2968e95a24d72dbc348a88d0ec9bbd01c3018a8147291b34ec21290211304da40c46632b352810f0a2d73046417885cee0c231a495b7db834a1336980f2b34cf140c84ac878c558cd937b7e0a9982f99b3c8abddd441b79f621764ac38eb8491c75171340b7774793b7912bb4186a7e3837e33414af6aa211061f3831c4f4b16b753228e998a721385d7b14211d8a7096c54ac3101dda7668013cc1555163f822b1cc144e240c284dc87b5075a813872511097c45a87dbabcbae6e743dec482b4eb47cdd4a1e39298872552f8bc4b0df1632255588ee99b4bd373a21c665574bcd3fbb35690237a6cc691f80523390485447be94b76fc219e7d75c6649ccbeb00271fdc1d666351f396c08eac20ecfa784d45bd4d64847ea126d9f0a23a3b1727396f299951f95a68efe55c5d4c792e136148aa35d0663d64f2c040586e44b6cdf60c54e0c08f365001513694e27569a3d6c6ed2538937a7afaa0bc2ceb6b18914ac77c65922ac49e47c74447b889a39344db09dcf1bd73ec5c48263c214a1e946b2cb806668a32b83c0c97ad547989836a53f1025348ac068a69357c7f46c69f963c5634908b9963bdea79689b9679223824faaa920439356c10786a646472372be8729c4f2ba1e2897728cbab136757ac5a75242608d6d10e20aa6446a4800eeb621ea822c1a61eb7c5b84e764d83452f60e5bbe79b275c4a4445715d21ecae5a569073475a74ba62383137974bc071c27cceb5bdcb1991d393784ea8b28f259b118089b4b77f9b68ab0ca953ff8257a3938482313f4c5963c4b101eb0321d608c2f3127cf451764e15636eeba98021c963f359d2c44a9e92357f2853821ba0c8105c488b242d9c02ae637b2002ce644132069a8babe23d4e9a056fa0b8be8095113b86e6b5c748706924f6aec490a46dd398444499b95289f13a84868188fcebb861a004254068f6d9b4b83aa81c9b5433c70868ab5364a80d870b841a216506663aae569b025c5cc43b2e5a6821fc300eb6574d0088bbfb7483959892703666da17797dba514a489376b19707a144b6f80423073efc608347ba2e639b0c8f2a52ac959592b0b0c1a5b4fba61483f225344051dcfc4ec124a9d10cc2c557339325c699f091319853ef7a445b4064d8e66895f8c0bc887786f5240b72c319fc0b55933b5864063d14c5f732472c71340ea26bf8ea7db5fb9addf3c5011cb0f0d3720dea819d3aa110e2cfa9ea61287716f199af376b106fb097760b3f11237fced41eb95b798f2787b3039f9c213ca5699aabfb03af86adf5d52d6aaa1ea952bc04725a22b2a28f4006cac30e265c793018145573cd1c715a69d704217ac45d1b6e8823852da64784d4b84eaa9cb7f75121cbbecbf25804a210daac80612972acf605e91303a2d59b1ac84ee217872bab85cddba9c6d1381e312b4c574097d95b8afb595bd91c46fc0df0a761f596569f99b7bc6505e922a1f90c045493cdfb9a3c650224bdcc26ca199849128945ca5f97e230d601283aba102a26818932004bb114879139ebd637ea035c20c3ae176b70999c3ffcb7951742c73d48993287c3276c4df9a8365beacda08bb72c55634ff35c2d848ab4d07bd6921cbd95c18ac60e7ed35aaa352e143aa1fc49630cfc8a09845cffe260ad953b71074e42f08e265b7473db4d178c269f317ac035cc1124540a4a47886b6e5b04418a760777e73aacf8930f08c2ff10815559c1e04672bf4b851233011d7b3a84155d76279f9778a72ac9803d36506824a34524c835222224545deae1aaaf193b778751889957d5082a9e9a34e6e44840cb7ddd712ce9313c5033590e9ab54c25852aa8b2f09252bed793bf6b972b593ca9317ba278937a607c6b9b8f79069fbe452fddf01622465006373e2f661e366a90ad1483fdf76e04c388d61646f0162195d36966d75dcc89a3d96b2f98c79d9e0babd9816aa2084611ebb558735c076576e102b3857c1eb2876d53c5777f146876e55020641072010e7a1b773d357d81b52b4071b9ba8c8f69683181ccc4ac49bd2083bbaef7ca0beacec46a39e768295192ac02bbc0acb70de25a27b724ae7d3121b1a4a869034e70f279c3914d882422e1785709599df782bae64316aca97d42846a52d03eaf423e813cbb3fc26c0e1134ddfaaa3275226f6416d9788ba2026c78e2bb1850c681825774213628a23494db886aa29892ec194791a84c73b36fd5cbb2b4bdd3d664ab10246cbc9bbdc97d8ea5528ca41924e240e544a747071caca25b05051587173c9fc851edf10fd0171c69c2128e0acadbafd72fca96aed457caafaf51dc8c30ceac70cb4621cd4d7b4c692176b38737a053dce0551b63e3eca81884bbf95e1d8975671a2f7f1dfae25111bfe66d2d15c33524f478f9a6bb3af2a83357197c834d399a8625f761529be9 +m = 64e3fbdf8d2349a497b5c9fa3ad3f7396fc1a9769175a336181c42e95c4889d1 +ct = 7b917712da1a7026d77453800a472e8d688102e2b6480fa866ed2a5333d583c2ca907c615738bea10f4c9e4214a209f4cc16aa07a788efc1b0cda4018bbbb9decf902e78f0abc79ea70d55b19673421fcc88ce5c39a35442baff4e70ced20923d46119978fe59acce0ece2ab1da63e8ca24f67c8e1a640af16f80b6674132d379d50705466668e203b4c261c477edbb87b6073705a388b74c97a892fb87efc9b7d78a96783a9365c127c3e5f3e798b8cc4b6ec1a055a8ff26c9664c7f38d5fab200ad1cfef744f87da9c035c1fe14c17ca3d69cb22953554a386d2fb885ec8bb1c00ce72ddc5e49dd2465397b0affd1307c13f7ba100265056d6ca47282d3bc383c0da46dec638d7d776bb3f7d959025ed1a3673c40dd2f0c97402707e345a27a7fe148429c300dafd9d81e1ea087ddb12ade069336e6b7b4ed015c1997b9552d18f2e44c18f0172b29f1b174d33181f96c86892f55c96dfadc47182fa7cb77302e77f8f3e15c4d35b63f7b06d2b41ae3d6606f99a82c65635889af59c0bc06c5bc6059aabb737af95967e71af501878761603d90950656319f0f5a670f1cea79e57bbac60bd61a76707bf449808ab203b986d82371806f7ab15067cd847130b98867e6a5164357b4343ac69164fe60a0b015b4217390639e4f13ab8108c6f241674b935b78067802f3f304620abb3bf23a45e033bdda525331c43148b5d733fba03907cd28d4194c5117ce33f9d920a81ee1c9f95d690c6350b8779910516d8a4750efcae65af47306f4bb85b5d0d0f3bd67d4c35dca24a2cfe065bde832a2bb4f82844bf62e90cd86e671ce669c5d068bfa4218f69012a0b0a22491ff44fc1892e6f85d072582b48164785faf4aa31adfc648160f1a2217977ce58571b1bd7e30cf6d3ff3b186b254287ed3dadd7f970012b11c4f1effab9b151b1b6c031d024d1a16f6d5902639a0f31f571afe4a32251f729976a52fe006505b6d487c8d78ef92292048bb50e015dc7bac9a8d551e20f9168de57f14591994717d2075b48061a0fd01968b320191cda1b2fc2a6098cf78cf03f6e71268fb8c351819ccbb431f13cc60474c8fc7f2fb72ada5174746a9399861cb0c1edb6ef2f5b65c6628bf0bb67aad660ff761cf0acba8012757f8af280adf49b0cbd9f7c0f0bfe08604d0e63d92e2e003c9b48f41f490125e5292e29903fe22c5af046284d6baa9862cd0bcf4739c02065d9b268315d03d0de8d5e8cb7fa6cd755a78090e440af9aab0be4e3fc4225b2df2fbfa42dafb5e5e622af54d61124c63ce5774073891fc22be1564a5669169486b728dd8b4ea52fc45fc9e81a64645c361e27bbf69f3226dd6fb5a1ba4ee0521f26ea9bab2cd10a41a2aa1032e9a72fe17c4ee678c65d29178578ad5eb00b329f7dbcdbe32e16f2400722b46723b31462fa95c59adde1275db2c91fe246c90fffb263a11582ebbf007c732b5d2aeb872242120881b1b028a65c5461d0914af199a51399899dcce506cdfbd1c07f8ef28ba59a2cf8a1c3a1fefc08586fda5960c2d3e29a8ff8da6dc1c88aba7aeba99100ab5c6b3bd259442e940b5311acdaf9bbae8dda07e2d57bc51edcbe7519d3235a1891adeb3a5064c1eed8d1f76ee54c91d3c8e62357c80f85d497306aa4c54dc021adc2043d20b18593e5e78a0dabf7f5d288a6c673498d86f9d2a283f720b0ab26f4f176bb5573ce7ef4e1b2f7044a218111ca59293b0abb415e75377a9efe241e8582517c5a9633bbe6466c7503127d456ad19e5d284e6d8c0e540ac682ab7544cd96d27136dd6629c7a6896d0798e13cf6f6007debee3729478d513c52946d9b6cfedb4d7db9be91c5c755cd956b8d7dcc45f57f0e2faaca2cbe1ab2c44a24e12ecd9a710b7172a0f89c86883e8790f51f209e693b27f4470215afc1ef59f5e6b0b8da4eb184d049e5d5d866de5710324857963d8b47ab6be88a96eae9fa17167351cfd1f628c982304c4062d9ee82b104c97e12e6f4c138112a935d86715213d0aae55f6e96a0543da5a95f7a52e984da1c89ba526b73fe82dd2bb3521841ee042f0b737802e65ece7c3a536f79c466954c6984acec4373a786fe77d7fac9475fe2d0123ce08b81e17b9946fe90b808f000e3f94f30c52b667a35eb94652b56cb02b955bb8edf0ab89298f8216a7a10b2e29bf119689e7f125aa3274cdd691b9a2d8b653bbc437a +ss = 18ea5d2bbc7a8f5faa941fc319748dec607f679ee6e485059bcae1c25477c09a d = d304c9389cc973477f169788abcb9d511f843219d246a9b587822f422a70c238 -z = 6590a2e5c7ed86cf2c5c2a898662bc9a81418720bbb632ef9cf0b845ed052d73 +z = 10efe801ae61866a7109f40ed932e67b0ae9e966d1ec5f917e4a9f31a27ee13d pk = 85e9a58ffc4aacb3c476327b705515c6f1980b53b3654720296742b3a793258138d86728f4846ff1030f6f604d092847f011cd59165b9dcb400a8723ab79bd137566d709a5a7f62cc7a7948331920f75530c915b1bb086e422145dd74ea1b557f68b511ff8a1ec0a39845c0aa94c2bc05922e3cc52c7f59eabcac2d36b5535eb0d7737768d6322023a2ed2fb0128c2724442c794d794f302b89fe8b1a3e8326253362fc44bce193fe7725d1864acb29bcaf2c0bab9423dc593733bd99c077534cdda88f4bc2fd846b810ba71d2139fe1f50ace7821fcc5c9ad7c20baa4a430b8085441cdabf16251f8b686359c755981ec4c8fc834cf7f019e599051afa87584f2c41ce13aa9babab5aa20204974a10bc36d4aa1c7706a3838b8dfccb1fe16038d78aa78eb3594998a20c72337405e2f36683a01b87199764b533077688a9a755c2c38632cfa4c2047663e860a2998937703ba0f1780ff367918eb208b917cbd340b69577806e282401767c258b38b0c6b21a057f42b59a6dcb2eab48063116fd2b1ab64c0a864326e8683cb63e053fc03a5f6d6b58f0820f500ab1d78504dd80991e68fa6f91658fbc64c594d32a507be17b465684df8e65bd5745fa8d6512d382785ecb9b207746686aab683b0cfac43d07a0113317cc895a513776611b981f05bbf7e1bbf867923992441176135b394c6dedc8d64ea47971994cfb46bb7692f47e1b372994f3ef19a282799ca530ac7b82fca207537865ee0f4c73b0a0a84e1b2d2b058175780a287ba9a435a0fdc24fdf48ef579b55ce1b55531019060193fc5cbf013a8bf521c1f459afb125c78d2377722824736ce01901a16a54652d064e9058f918b5552936dbc77136b009b2108862f962244597386a2b078c6b46308436144b75b9926133a46ce1c44ca7b5f52a678463191d51953a516a1c937101fd236c962a8dcbb671bb1be92035910eb0b40d8672317aaabcb04bd8b716f104c3eb49c1e5bcba7e17d15861671950056e5278b845afd6cbcce9b2119d86fa1fa067f1c69bfcc7e693020cce979869588337aadd7d6ac7ac3ac67a3034a035a12750dc30c99c8692b9cd74ee2918a23248a3a6875e25bbce8c6902cfc81ae878fa4ba1df57523d3013fa79a9ab08894004042cfc00b0665bb894772e648caebec8779a8ce0a38b05043a8f3187f199a56e2143845246810c33b9b04034791ce31490459733ff1c7752864389ce3bcb826608f966342147d6a3626c4ab842480b571a9487bd8785c37a7ed10c8cada99aad1a19b144accc2be8a17be87111093189efc951d08799b5dc46e46e571b370b74e881326da687ea02e1088c400067ee3d885c0db3fbcb336416c74398132090971e2aa1fa9f6ca7ad186bd4c139be57665595337687742b1aec0da12922783c6aba7fed24d18d142392b26b3650731c07a15a987455986252b8234123e3a4a54c08b599f1948d1383183992e2cd17d3312cd9b3cb4149ac98ebc054f17cc516c67d8b26517316143c6640eab5134f41d6987c25454ca62070c985b2e0eeb24e05870667627ce5282f95635be4034d90232e997c18409b1d4991b7f05926e5aa6cf67b5fd569fbfa9493fb3379d1b6dd14c54b9328cc492842238ccb6b652da6c037ac6afdae2be4b894dd66a70b5840f20fc18bbaac111486b9558137269732f2924ee050242329c0d1583bf890847b30d5921198814420b60475ce0047d973269424c54bc9e3b4c94633c1418db9a03a62f6cc224c59074809b9e023a5aca5757d3a789062bc3067698a5f216fb2c7355609a99aacb81b99087a087ed64cbc462301754931048999a2b9b0e06c9f251bc41b39092201ca3a727b5e498e4db782dd53846c7635ac12f6e89c30480bac297188338a58f338d6b7075003278cce876bbe18cdb00326e44745a4009209b04fa53ca742438336ac4f9cc337b1636898170a1d97c58661415dba67935162636a87f01bb87b66865d415360220edf89d0514663dd73a951070f68653b9c2b637259a395c500565b6b5a05b3f6555fb249946c9904ab40256d63b1d6c2344f80dbaa5b1be7b10299a7ddad03781983f8eccace5c85f3c3bb3a9d61c040141757a2e881c33a9784e48293374ca497cb59e12c07a4b6b420d3094400b24cb49a9bda19c123c24504ecdf72189dfa1cd24ebf011a3bb66d35f78633e1ee7b249ff -sk = ffd8874d8b37c946409d69cb03529b7d1a43ddb24792d4773cc723643567671b8e0fc2b903d302679a530118ac453b0541a2389c46b38f317b43130972271d8146a66593b8fe659db570c941f1abb4f295493085a85277062c3d4db168e466015ea506b5b8a805a435ef6812a6b68afa9372776717c1042e24e7a10a842182e7c40c4cc547b98fe007a1d98804ac5bc3c31b6511425a558c73e5b1935c7a664ee224955b6d67ca54d47b04e1622716a27b21f12a2eb27c16d26a541cb0c1ba5a1a8629b7f2222b84cdfed9cb6f666b41c92fd0b074f42b5d2ee72e8c5443f34c5dc2920da165558af074e3ccae84c1cbf1f70624e1a3a30a7db045a2c4a79bb1a4b0f01187bbd8b29a8c60b07068a72264d9b305b5e391521bb945d53ce1d65436441932ec5867549408b47f28d3bf37d7af0df432ccfc3667f4ace969542cd626637b570fd84210b3ab5456b23b8b339f4885e9a96bb17ccf1ca4a962c5667d0c3dfb356146c04bb8391197d54d0f4202f160824d900b27b36bf8abc7876ca331c2c3a8a161d98523adfc1ef9d538c9203a6729cfcf6089f7d72f57093ea3a34113749f23ec21c051ab2c836679b0210a549f2678c7187691de949994a25769d4647fd992be411e24e302c07569cf26c11f3942ca505391a794d42c77da0a324b05908aeb9c70b88b38a95f371b1902e06d071457bbcb382ae4c36f14ab3a747a30cb7e9d35791879873a0333b3fab967770465a056de9c4420662c046aa8ca32093ae23abd80406fe60bdcd1725daab0e50931c575a0c9137fa61442b1101b05686d398a6fdc0bbbbb25a073e99c3702b9268ca91420a1198b5c54501a03c878b6827e6d586ab42c2fa47258d1255711654968fc80e1364886f18e98fc10eb85645b399788dc225b1a233fe564604a86397a4483c102203188df667961bac9ef19b99432475c0a2c9978c81cf5314a2b2ab37479549b14c8d70ed8f0c6625938ca4a92bee5a7aadb286e507ee8890772c3353e35c2de8696041bcc8b81997f8c7800417c91c32e9b8b34b62a25e5c2af2854cf902269c3c5b50a5209dc1c63f8835b3a73137d855c69f9335fc66efb985933f4a66b084aa58909e658998a15ae8b087120f59a00426cf9a327dd48467f8c12cfbaacea7bca7407060c42950cf9543cac1edf9c296d978a2c36aad92b665d6c9513b59278ac1cc781204e555e27f81e976a74d3055a48035203472960e596c7c4c2d0158a006d884f40681c6610f1124574eb9ff5323e10480d0e306f1e398ad1e6cf8057024d072def4719e3a6be9aeaa07b56077be495a635c67066a2945376c9836ebf4c413a05a9b1348c31329884bc7d820a6bad7a63bd62518878a97fb525332433573973df74a00ec02d50198a2b1306005335e6a51191505fb244999cc333bcfa4e7845b766b050cf66607982014d28548a4454f86a06e9321c82781478cb938c709ec5cc81ea1a9269543dc8ebc6d253be1698990c81c587d7263e7445baf53316c23eb8863d151a4e5659928ad704c1c7b2bd2a1987907a05ccbd2f0c78232a10653452e3dabb7598ca83d37166791ef11a2524f371180984bf72a6e2291301606b7351a284a1a66866044f6088ba91217305bcf24c759bc348e75325aa7cb4c6b41077979a2b02b137966016868a66b1780ba90bc7d089b97c6bae2963a2ea3bc2072ea1841da115b83139401a9416db7c8722306d3a81bfb4d1cb5d964f04534f7f79c6de1789cd6767e1f6930c88b69b168cc6574e84c9c282f257d2200be0874392e12c57e6c989d8320b1c1135f88c97d824ebc82478cb4962ea409dfab7b61c1091b15072c18bc46838dba3c1f6aa00eba64545aba2d0ac9f44d3a2de976f62b8aba4396106f031adc4020d46c78d94350dc0ceb844af1bac32d1c27cd3e93c6d279cfd3c0d20255b8f11533dd387207c8a8a4c8fd51472fe21350f274a375a81aca592ad450091ab07facc360e528f7a6a6e41265d45f513a260605a2595a22c3ab5e8396fa033dd443da518c44a869218052a3fe06a20451ee4aca7928c521df980d73b2b7431ba37f485fc29b2974c1de5bb80d40708c5f869cefb8d24a56c72ba04892078a963753c105f088c8c326c1f82b3b246a75397d47435151fd314b9e5284385e9a58ffc4aacb3c476327b705515c6f1980b53b3654720296742b3a793258138d86728f4846ff1030f6f604d092847f011cd59165b9dcb400a8723ab79bd137566d709a5a7f62cc7a7948331920f75530c915b1bb086e422145dd74ea1b557f68b511ff8a1ec0a39845c0aa94c2bc05922e3cc52c7f59eabcac2d36b5535eb0d7737768d6322023a2ed2fb0128c2724442c794d794f302b89fe8b1a3e8326253362fc44bce193fe7725d1864acb29bcaf2c0bab9423dc593733bd99c077534cdda88f4bc2fd846b810ba71d2139fe1f50ace7821fcc5c9ad7c20baa4a430b8085441cdabf16251f8b686359c755981ec4c8fc834cf7f019e599051afa87584f2c41ce13aa9babab5aa20204974a10bc36d4aa1c7706a3838b8dfccb1fe16038d78aa78eb3594998a20c72337405e2f36683a01b87199764b533077688a9a755c2c38632cfa4c2047663e860a2998937703ba0f1780ff367918eb208b917cbd340b69577806e282401767c258b38b0c6b21a057f42b59a6dcb2eab48063116fd2b1ab64c0a864326e8683cb63e053fc03a5f6d6b58f0820f500ab1d78504dd80991e68fa6f91658fbc64c594d32a507be17b465684df8e65bd5745fa8d6512d382785ecb9b207746686aab683b0cfac43d07a0113317cc895a513776611b981f05bbf7e1bbf867923992441176135b394c6dedc8d64ea47971994cfb46bb7692f47e1b372994f3ef19a282799ca530ac7b82fca207537865ee0f4c73b0a0a84e1b2d2b058175780a287ba9a435a0fdc24fdf48ef579b55ce1b55531019060193fc5cbf013a8bf521c1f459afb125c78d2377722824736ce01901a16a54652d064e9058f918b5552936dbc77136b009b2108862f962244597386a2b078c6b46308436144b75b9926133a46ce1c44ca7b5f52a678463191d51953a516a1c937101fd236c962a8dcbb671bb1be92035910eb0b40d8672317aaabcb04bd8b716f104c3eb49c1e5bcba7e17d15861671950056e5278b845afd6cbcce9b2119d86fa1fa067f1c69bfcc7e693020cce979869588337aadd7d6ac7ac3ac67a3034a035a12750dc30c99c8692b9cd74ee2918a23248a3a6875e25bbce8c6902cfc81ae878fa4ba1df57523d3013fa79a9ab08894004042cfc00b0665bb894772e648caebec8779a8ce0a38b05043a8f3187f199a56e2143845246810c33b9b04034791ce31490459733ff1c7752864389ce3bcb826608f966342147d6a3626c4ab842480b571a9487bd8785c37a7ed10c8cada99aad1a19b144accc2be8a17be87111093189efc951d08799b5dc46e46e571b370b74e881326da687ea02e1088c400067ee3d885c0db3fbcb336416c74398132090971e2aa1fa9f6ca7ad186bd4c139be57665595337687742b1aec0da12922783c6aba7fed24d18d142392b26b3650731c07a15a987455986252b8234123e3a4a54c08b599f1948d1383183992e2cd17d3312cd9b3cb4149ac98ebc054f17cc516c67d8b26517316143c6640eab5134f41d6987c25454ca62070c985b2e0eeb24e05870667627ce5282f95635be4034d90232e997c18409b1d4991b7f05926e5aa6cf67b5fd569fbfa9493fb3379d1b6dd14c54b9328cc492842238ccb6b652da6c037ac6afdae2be4b894dd66a70b5840f20fc18bbaac111486b9558137269732f2924ee050242329c0d1583bf890847b30d5921198814420b60475ce0047d973269424c54bc9e3b4c94633c1418db9a03a62f6cc224c59074809b9e023a5aca5757d3a789062bc3067698a5f216fb2c7355609a99aacb81b99087a087ed64cbc462301754931048999a2b9b0e06c9f251bc41b39092201ca3a727b5e498e4db782dd53846c7635ac12f6e89c30480bac297188338a58f338d6b7075003278cce876bbe18cdb00326e44745a4009209b04fa53ca742438336ac4f9cc337b1636898170a1d97c58661415dba67935162636a87f01bb87b66865d415360220edf89d0514663dd73a951070f68653b9c2b637259a395c500565b6b5a05b3f6555fb249946c9904ab40256d63b1d6c2344f80dbaa5b1be7b10299a7ddad03781983f8eccace5c85f3c3bb3a9d61c040141757a2e881c33a9784e48293374ca497cb59e12c07a4b6b420d3094400b24cb49a9bda19c123c24504ecdf72189dfa1cd24ebf011a3bb66d35f78633e1ee7b249ff2f54bedb19919171eca777186dd743b11ec9489aea09534c157faa75adf1c77c6590a2e5c7ed86cf2c5c2a898662bc9a81418720bbb632ef9cf0b845ed052d73 -m = 8d667921c5db401a86fe1c35dfcf164a6bb2ab7400fd6a0b67eafd4a0ed11940 -ct = 15dd5949f63c6cd1058101f8747d3e1a980d2c60a229fb1da889ff3224aebc9c991373681f60aa96c033d6be62adcfd5570e3374c982dbc4e13afb55c17054f86e28d980ea5f80be55287be49f2fe2bf6fbd8fb6364e8a3abf2efb701a180b05bafed1598af3a40d1d7513116705f54d31a85951269c51d6fdbc529a71e95ecce0b46076f82c8b102c17f5f4f303545ab4e716c457934858a256a5f5aafa0407edbe006b6fac4f8494fdf568817c0969c9cd0b50c9021b2f68a582be703a67ec47dcd90a486d195e1b7ba72c2add2e6d5f15959eef70a02ca2c794ad7dcdd5b0efd662eba241784caaf7e5b64587083006527b867bfac39c5303ff5a098ced4767f0427fadbc007413abc4ce8a8d6f3ac96f0fc3f06e99140bb90d562e160657592ecfa38f73f3d204d6c2a2a89c2e34c71d2966b0bea0c03e521bb7fe1d8ba231757449b3b5a4b89cfb4870f100917d7e30fa95f5e0b7604dbc3f3dda7c6da67535b3b68b12fbf8757911cd979d727058ea4e484f6e47a300fcfc87cdf0e736100c971004d0665e5ce4d7e986c70b3f5e6e713323ae8355e3495d950067345ed41fdc8f682e7b994835dfd4179cc2b902361edeb78b3aae0e78b4ee1b09600ca877838a98ba619fbcf66cabcfdd4c2236dd1f2104241f9cd4ecd9145c921ba185e116a7901ca519460c9d8bb3ecf2b76d0d96788ddbd50c58bed67c8a15960de683b9746e1a1e56f8ba12857ea41e605e159566adba2b7e077cadcc52603219508a1fb4194939ce89f21df99791f3c249dae7f83fb5d54294dd3f19f2af3c525ac51cef3eb5ade9cda64eef02f66c9f7caed4475427f38dffc82019ce6dc38d650b8dcd93dec59165860f6db3893ad419555e178bd1e987ea7e84dfb9a061085289a0561f661482e0cb6c1525b5b261fd4c00484feb3c88f5f5bc0e90f6e8a2efb8a43261452d8a4e3b4bf4bc3e324ef0b24a17cff6b3ec38ad19d9c09fc6800e5fd00ebd72eb58b80a71874020792d427556dcab757c00a20a08c26b1a043312aab72d9e062b2b3cac27db3eb5b5eea590e3f0c2e9b6e5ccea9087cb801bc8e6086056b8c5a88dce43525f8bb356173054062d823bfabe56956dda1ca8c00cc35e2c4b3c0fc31084c2ec138f80f4d858761d10cd0e048b47119893920e1ed2e6647ad09f9dd1001b1bdcdec00ddc65e7caf0f22c3964fb57bb18f525247a81ce3407a6829063f0b50e9ede5d43d89fcdbdfddf9e21a2b973a2aec27f3c6dafa54f6336aac6e3a40b1b715ebaff7d475b7d0a7c4137aa1a11d8340f2a767a3872a92db4d7471d7aca6a5ad523bb684354edd9db2df77518010dec9406ffe1c5b88f2f0727cdfa5859bfc57caea3a55fcc7cdeae3cbcf04ca6fb77b856eae8492b12e24f78f9d9b18afe140543442e9ecc2d01a2e04433281c212445a8698c25e3f0b5540aecff97a404027350de037dc5e38941579f0a07e4483da6622ed66817f6f8a056ed2af38c5aa90520dcf39b4fb1152741894d696d6372be193665e466520cf689a01b0968ae1ea7416ea85d193231f7c35d42af4f58be51c418ef43d8c0fb918fb0d51f082ba2f13208519b2d1f348aec4af11c2f43a5388cd36fd0c80ba049092cfcb2f271a033c21cc83d33cb1bece15d52985a61b03c9482e32dd8c329bae6dbdb727446fad06ba115c14def8f463b0a9313587fb8a37e8cb9fc6f1db32bdc28067902cad97d025ce24a1af2bd1978d4a0154bc091035b7979e756441afec904031a67009a354f6592e2136d2a0485eaa6d53d331f9fc90a59417130ca480ccff0e86dfc09b7fa0dfe61fa0d15f38adc63d0097659a18b7a2f12e1c10d44fe44b1d8a0e9fbbd6d373f2247c6776b0026659684cfe83364e6b5e98564f99d90b8ea9e50e8299e27de21f95e07a3455920e45ea27982494f4d5a190985717d129d4df613cfb204980ad4072b58fd2dd2661d8f07faf40c55436dc14dae3130b88808b652cc47c54e5caaac1ae6a7e79552f8c0cb37bd2498d5c03a53ec2109322b9144c402cc1ba5a8cbd727558f626cdbe5e34a1223fe6a152d05f12cb93a55ea05a628e448ffd92a30c406bc0830fc19f3ffaebc9b3e9ffc38b5303500373e1d42faae8b6d9624644e338afa79084a17fb133ba230b4d372e2ea13364e29c4757ea51dbaf893c93412a19db42ba5f794d33f2f18e4daa69fa887 -ss = dfa5f13aa7a56c3ed635a7cbec48809c249ba3afbcaa011f3a025695d2932a93 +sk = ffd8874d8b37c946409d69cb03529b7d1a43ddb24792d4773cc723643567671b8e0fc2b903d302679a530118ac453b0541a2389c46b38f317b43130972271d8146a66593b8fe659db570c941f1abb4f295493085a85277062c3d4db168e466015ea506b5b8a805a435ef6812a6b68afa9372776717c1042e24e7a10a842182e7c40c4cc547b98fe007a1d98804ac5bc3c31b6511425a558c73e5b1935c7a664ee224955b6d67ca54d47b04e1622716a27b21f12a2eb27c16d26a541cb0c1ba5a1a8629b7f2222b84cdfed9cb6f666b41c92fd0b074f42b5d2ee72e8c5443f34c5dc2920da165558af074e3ccae84c1cbf1f70624e1a3a30a7db045a2c4a79bb1a4b0f01187bbd8b29a8c60b07068a72264d9b305b5e391521bb945d53ce1d65436441932ec5867549408b47f28d3bf37d7af0df432ccfc3667f4ace969542cd626637b570fd84210b3ab5456b23b8b339f4885e9a96bb17ccf1ca4a962c5667d0c3dfb356146c04bb8391197d54d0f4202f160824d900b27b36bf8abc7876ca331c2c3a8a161d98523adfc1ef9d538c9203a6729cfcf6089f7d72f57093ea3a34113749f23ec21c051ab2c836679b0210a549f2678c7187691de949994a25769d4647fd992be411e24e302c07569cf26c11f3942ca505391a794d42c77da0a324b05908aeb9c70b88b38a95f371b1902e06d071457bbcb382ae4c36f14ab3a747a30cb7e9d35791879873a0333b3fab967770465a056de9c4420662c046aa8ca32093ae23abd80406fe60bdcd1725daab0e50931c575a0c9137fa61442b1101b05686d398a6fdc0bbbbb25a073e99c3702b9268ca91420a1198b5c54501a03c878b6827e6d586ab42c2fa47258d1255711654968fc80e1364886f18e98fc10eb85645b399788dc225b1a233fe564604a86397a4483c102203188df667961bac9ef19b99432475c0a2c9978c81cf5314a2b2ab37479549b14c8d70ed8f0c6625938ca4a92bee5a7aadb286e507ee8890772c3353e35c2de8696041bcc8b81997f8c7800417c91c32e9b8b34b62a25e5c2af2854cf902269c3c5b50a5209dc1c63f8835b3a73137d855c69f9335fc66efb985933f4a66b084aa58909e658998a15ae8b087120f59a00426cf9a327dd48467f8c12cfbaacea7bca7407060c42950cf9543cac1edf9c296d978a2c36aad92b665d6c9513b59278ac1cc781204e555e27f81e976a74d3055a48035203472960e596c7c4c2d0158a006d884f40681c6610f1124574eb9ff5323e10480d0e306f1e398ad1e6cf8057024d072def4719e3a6be9aeaa07b56077be495a635c67066a2945376c9836ebf4c413a05a9b1348c31329884bc7d820a6bad7a63bd62518878a97fb525332433573973df74a00ec02d50198a2b1306005335e6a51191505fb244999cc333bcfa4e7845b766b050cf66607982014d28548a4454f86a06e9321c82781478cb938c709ec5cc81ea1a9269543dc8ebc6d253be1698990c81c587d7263e7445baf53316c23eb8863d151a4e5659928ad704c1c7b2bd2a1987907a05ccbd2f0c78232a10653452e3dabb7598ca83d37166791ef11a2524f371180984bf72a6e2291301606b7351a284a1a66866044f6088ba91217305bcf24c759bc348e75325aa7cb4c6b41077979a2b02b137966016868a66b1780ba90bc7d089b97c6bae2963a2ea3bc2072ea1841da115b83139401a9416db7c8722306d3a81bfb4d1cb5d964f04534f7f79c6de1789cd6767e1f6930c88b69b168cc6574e84c9c282f257d2200be0874392e12c57e6c989d8320b1c1135f88c97d824ebc82478cb4962ea409dfab7b61c1091b15072c18bc46838dba3c1f6aa00eba64545aba2d0ac9f44d3a2de976f62b8aba4396106f031adc4020d46c78d94350dc0ceb844af1bac32d1c27cd3e93c6d279cfd3c0d20255b8f11533dd387207c8a8a4c8fd51472fe21350f274a375a81aca592ad450091ab07facc360e528f7a6a6e41265d45f513a260605a2595a22c3ab5e8396fa033dd443da518c44a869218052a3fe06a20451ee4aca7928c521df980d73b2b7431ba37f485fc29b2974c1de5bb80d40708c5f869cefb8d24a56c72ba04892078a963753c105f088c8c326c1f82b3b246a75397d47435151fd314b9e5284385e9a58ffc4aacb3c476327b705515c6f1980b53b3654720296742b3a793258138d86728f4846ff1030f6f604d092847f011cd59165b9dcb400a8723ab79bd137566d709a5a7f62cc7a7948331920f75530c915b1bb086e422145dd74ea1b557f68b511ff8a1ec0a39845c0aa94c2bc05922e3cc52c7f59eabcac2d36b5535eb0d7737768d6322023a2ed2fb0128c2724442c794d794f302b89fe8b1a3e8326253362fc44bce193fe7725d1864acb29bcaf2c0bab9423dc593733bd99c077534cdda88f4bc2fd846b810ba71d2139fe1f50ace7821fcc5c9ad7c20baa4a430b8085441cdabf16251f8b686359c755981ec4c8fc834cf7f019e599051afa87584f2c41ce13aa9babab5aa20204974a10bc36d4aa1c7706a3838b8dfccb1fe16038d78aa78eb3594998a20c72337405e2f36683a01b87199764b533077688a9a755c2c38632cfa4c2047663e860a2998937703ba0f1780ff367918eb208b917cbd340b69577806e282401767c258b38b0c6b21a057f42b59a6dcb2eab48063116fd2b1ab64c0a864326e8683cb63e053fc03a5f6d6b58f0820f500ab1d78504dd80991e68fa6f91658fbc64c594d32a507be17b465684df8e65bd5745fa8d6512d382785ecb9b207746686aab683b0cfac43d07a0113317cc895a513776611b981f05bbf7e1bbf867923992441176135b394c6dedc8d64ea47971994cfb46bb7692f47e1b372994f3ef19a282799ca530ac7b82fca207537865ee0f4c73b0a0a84e1b2d2b058175780a287ba9a435a0fdc24fdf48ef579b55ce1b55531019060193fc5cbf013a8bf521c1f459afb125c78d2377722824736ce01901a16a54652d064e9058f918b5552936dbc77136b009b2108862f962244597386a2b078c6b46308436144b75b9926133a46ce1c44ca7b5f52a678463191d51953a516a1c937101fd236c962a8dcbb671bb1be92035910eb0b40d8672317aaabcb04bd8b716f104c3eb49c1e5bcba7e17d15861671950056e5278b845afd6cbcce9b2119d86fa1fa067f1c69bfcc7e693020cce979869588337aadd7d6ac7ac3ac67a3034a035a12750dc30c99c8692b9cd74ee2918a23248a3a6875e25bbce8c6902cfc81ae878fa4ba1df57523d3013fa79a9ab08894004042cfc00b0665bb894772e648caebec8779a8ce0a38b05043a8f3187f199a56e2143845246810c33b9b04034791ce31490459733ff1c7752864389ce3bcb826608f966342147d6a3626c4ab842480b571a9487bd8785c37a7ed10c8cada99aad1a19b144accc2be8a17be87111093189efc951d08799b5dc46e46e571b370b74e881326da687ea02e1088c400067ee3d885c0db3fbcb336416c74398132090971e2aa1fa9f6ca7ad186bd4c139be57665595337687742b1aec0da12922783c6aba7fed24d18d142392b26b3650731c07a15a987455986252b8234123e3a4a54c08b599f1948d1383183992e2cd17d3312cd9b3cb4149ac98ebc054f17cc516c67d8b26517316143c6640eab5134f41d6987c25454ca62070c985b2e0eeb24e05870667627ce5282f95635be4034d90232e997c18409b1d4991b7f05926e5aa6cf67b5fd569fbfa9493fb3379d1b6dd14c54b9328cc492842238ccb6b652da6c037ac6afdae2be4b894dd66a70b5840f20fc18bbaac111486b9558137269732f2924ee050242329c0d1583bf890847b30d5921198814420b60475ce0047d973269424c54bc9e3b4c94633c1418db9a03a62f6cc224c59074809b9e023a5aca5757d3a789062bc3067698a5f216fb2c7355609a99aacb81b99087a087ed64cbc462301754931048999a2b9b0e06c9f251bc41b39092201ca3a727b5e498e4db782dd53846c7635ac12f6e89c30480bac297188338a58f338d6b7075003278cce876bbe18cdb00326e44745a4009209b04fa53ca742438336ac4f9cc337b1636898170a1d97c58661415dba67935162636a87f01bb87b66865d415360220edf89d0514663dd73a951070f68653b9c2b637259a395c500565b6b5a05b3f6555fb249946c9904ab40256d63b1d6c2344f80dbaa5b1be7b10299a7ddad03781983f8eccace5c85f3c3bb3a9d61c040141757a2e881c33a9784e48293374ca497cb59e12c07a4b6b420d3094400b24cb49a9bda19c123c24504ecdf72189dfa1cd24ebf011a3bb66d35f78633e1ee7b249ff2f54bedb19919171eca777186dd743b11ec9489aea09534c157faa75adf1c77c10efe801ae61866a7109f40ed932e67b0ae9e966d1ec5f917e4a9f31a27ee13d +m = 7274cfcaf30a61d198328be008f814b2a87d50570b58a80c03ff151a774c589e +ct = 6762eaa5beda0682d16b5e70a9087cb647b8240a0235b87b0067cf5e369238b5c6bee8cf80b586ba83553bf9724c42e0b7edc52afad5a09441f032f19a20dfc5c7bd41bf35a73ef64690084bca684680727eb270cddd8be23687d655affd9b082f55c027973c979efaa7ff08d034f5466a4fa446bf012ab1bef731eebed98261f1c720889209229763ebc9ff9e0c0f1000be3ba74a8f7ad6c2cd058bb03a6d3c01f385426020c281f476e0df4d0e910c7df36ea9a236ca2b0ebb2653bc774673e8f003f95bb83d2b794c7fd99e9ff0dbac916621868ef340167341377ddc2ddda36d1a1321307b1598f554564a1ffe2f7d93a5e0f0e62f4569a2e45449ccbed0b8dedebd61cedbf7410102c00ccd237179a133e780f179673eaee51e3c18a8b0c12f1f95e82c282fffba0341456a7a37c0c0d00cea4fd00694e645855ceabb1ae345c85fb9b6d58692f6c633e8617fe0f2fd2e57bfc2d59598c65d1ef81900626f2f0a41697d0e513515892f240ea9b0fc10333044dc9452484f9be7c9a45b2ed704fed25ca931cdf87f6177ae6266ec0b10bd21e9fb2fcd3466b85bc76018759a3f5bddc489ceafc7666e2e2bf7af3ac2e45b63ffb74a385ce7b8c532e3fff38cc4b0d8fc714bf6d3b3d325148fd6cc2195578528b38caf17a5a8cab11daed95b29a035e54dca9924831fcf77e785311db7812ea51c06b89e1dde8b4bf5702fccf025540d1bcde159fc093e8835477f65317e01c194866462b07b068cde639e316035bd3e867e4d4a4632c02e0be8c21c056c30f849bcb918803221137e46a76004143529ce2a5c24183ac27a13c1bc39ca46053f488cf0e81dcb024c36cc8536b028ebec2ae456aaf5d8928087bff152bdabd40790ded06d61313825b0e61a5da0fd9905ec4559c810750d23a8f590fde455d376081af718d4690c193f4b5f299dc0a48be420ebe8fab4180ec670aa5d1684f433f7f55be011ec63fc04a4ffa84b68565b782b0c69391acdc464c01ccad61b21ad5b184dc99c9eb3cc6f7084c850fe819d2a8345cc8f531b0fd29b04c3620fe8a4ab5bf9adfaeaa06ccc33f8bd59bd12219956c66d7cef43fa0fe3cf5339f43c6d56ec5e512b55521b19cbe4264004ab36f3761181d9643bfceafd1c68c1c05f50ee0e23d6e39e2c10c551e00757260ab86dee08e444dca91fc5f7de59222f273ee3806983f26317822ddc5c53ac35b04a22a061978aeddaf9812adc8ff4a1e7598353c66bd50b2ff1db7556029e42c57dbfbcd786f85c5ac319c4e1684d277a465fe74686a6b60545f360f4095f2a2eadd7bbd8c1b0b91d1e22bfec17de3935f4a5e5bbaab5d2e60bdfc7e5d92c1c0c08a5f735deb1b0dd87168eba8d03a9c4c082c80d9fffa7009b1abb1da6ae423f7576b3e803252641bfacfab1a65888d0433471ac2768dee59ec5d0faf0bbc3cf6e5ab4ee70491a82eb280a9e680b649fec686cf22e58edd80abfb75d110f50436ffd1b06494a1174bc590aa39209729f4d3753280397549c0af83649e2928f5132652587f9ead2a462cd615184e95981697ecd9b16c7032581a73d2797fb342a9b9ba18392e4d8c05482e6082cbbd95c2c9bd774c8bce65770978dae6142c6c299aa1c0454b37713bbacc166248af0fc749cefc4ee3abc1baf8d39c5b8eded0a7ae8d8ec0eb1567f7bbd40efc75c6b7d4ed741dc5ff360c2ab49113ee41a96e68c6c382b2b3f5618cfb3599d050a6e753cc811481a01af7c811d66c0ca172caf7483d0cc5484ef53203ae3a687b10b67adf0e53cfbedee2b9d6377a9259fe6aa1d82da6e788effe4e72fe4d1d97bf0c11cc78e9971b7d605e16ffb4425f444454ec08b04621d9198c1edb716c4bdccd3120f7d9d50efee79d194ca8ee8c9ade67e28eb77731a0a67ea6f614852b36fe8a8713ff7cfc6f304c0d4e64e2ed21d46e92052bf1c2b0f669bec4bd66247eb1345ea825c41d3ca4f477b81e738e7e9779ff62b221b28d33e923451eae0c3d99be2522ab0e2ebd3c9b18eb3b9e37f95bf78b2dfdb98fc7b7bf27b3efe27b857bb1b8e3366b09fa19db6f8be09df50821944eee25ae57751f54d34e6d56480129172053d6be2325f973502d255457ef1ef2b25e12d724d687e110ba1027e55b4fcdee853312254a4a964ef6ec1faeaac9419210e5d444ee635d0b7b7377ac59b258f32d116ca5ecf34b2a683b1 +ss = c66f2fe012c22f81e04c0bf8b42f12b6c1465a8432025a9ce3519148873122a4 d = 89a6e3be304a3518fb82b18ca730f0b359cd6ba90664a493fb4f8edaf965b9c3 -z = b6591121e25d64010c25a18676033e1d7278ac5f2d0b43a31f3a4156ae710465 +z = 921bbfbfcc283e1d1db36e99b9cc6ccfffbfdb86dab7b6c7ca02cda227da8632 pk = 16e63cac8b2dd05a60cc593000322c9c566b472b375e8484843aac71e74bf0315af59a8a4f6104a43159e198716e239247204753f629c5202c7812c9ae2351d88b4256e7a82b42b15e54412e0130d5e25388240fc05b253e7b0c94a43c7e96728ed78522e688ec2691b70943b8cbbddf19873e67766301b386b088f71922ca370916319d8f099f263caac7d7c0f81959c4b13a0da0b5c269760036a552016f8b591f6b37177cfac940f706c975a59da7c04fc7210ae32508c28204ea204073c73b474d74b54cec08bd14361b144c481fa8561b6c73aeeb7cb0a65be0965b2176705949613c917393761efe2c2e4dc73d4998a1cfd6a2ff278b6f68b1f108151b857ee913b3568171bdf1502953b81fb085650bd027c4b66a8276319201ac328604100ca4f684f2fc65f220cac1db9c434a218814a14cb630b5b18410e11c37c92b31600e37c8bf12c895b1f315f0da01cab250881966d3c8256f5513cfd68e383bb8ae248e27f3b479f7a82da2aa564b121586bade1ab522776b49a02a16e3a798acb005d70d3ff24a8ca3458a826788aa09889293e4d862572907111071f0d58d679a0c620155ffca45bf03a1778941d41776ea11cf3ee899912c703d50c8e88ac447b2bb0a0cc3bfd83ef3261ca592915bfcad6cd26409472e4be62ebfd65f003c59d39b7f9f710f6a76a1e8291c834323f145aa3b8a9e2e4c2e98621074c49fd0716d3d61a2787a0598e8096ae05fcd7aa4250a7ac4a5314c842b8dc8b563c6b8f626763d865c141474c72c1439ba7012661985a061ced9679ac94983957dc99c4bd4061ea43c893bb707c0f633787c1b11d8622dc08c47954ea907ac1513aa3c4420dc48366e4045c79cbfc3b52415324e8c6669e52c2c16b1722ddc7d521558180781898a2e681a55693398ba712712b9c515d72255453a3c4212bb7b3692b3998d1bc6781ca28fea483c276a92c219a62797a88702b2587005208512aab304799a99acaacedb1699993150b41aa3291423bccb6dfa31a7b42be4997581b9aa54716cd5d62cb1b9bea0e8165eab6a6300242bb5a711f36e9a43b12e24492ab95218e084e1d2976a222024263e4c87cb93cc4fe556812096686ac72152f1a8a12b93c6530d08c99b9be3634dab9c93d27f2a4099304b4c61a4bf0fd9cb28803d0824c5058a515dc69c81228687376865852fe9daa07e45a889e650e0c58fc2cb71846b5296e76d71105e87ab2714b2b82e06342218822642acea28700486709c43b2fc421eeda5070ccc8ad1367cf2834e88eb8ff8d2059f455c2da34843418cd3449497b753c92826c3174e5e304437c04c7f518fa2eab149762c916b1c6a676a8d5b3bff02b8ea9a366f1706be888fbc40285d6cbb924249ce963646595573b5a5d0079fb9b0275ff031797899ae0bccb3ecc32eb48ba3769bd5e56667cc02723c773ba00924a961102225f2b88ecef333302077c2c761f48991755a83e09b7c3406bc8784031754bbab6b49c361c93f5ab9778b39b9cb66501b63d8859af0a00bbed32947b92f49961c5fc38bafc9b0a763802c9709fad39f040c6736a4c45a110a08822e26d93bc6ccb566a687ddb786f5d31378505f5d575746c3cbfff55899c933f0052e1155b776b9201f0272bcf67c3fd26868bcc42b2b9361562bec56ce1991ac7347b6bd500065e990b257bf20e1537988a560dc21aa652e3bc8650d80870a1a4190014fd1c43229043bc1068a5fa074fb5087581a932ddb5923730ba05216895ba1e67947c71aad452861371a542325607a7752b8485c48fa9ce930793130996bc63d1b162517c34449f5263077a41f576150d8b062718e493242f57041f2da6f271c0c5ba3a00a8c8faa0aa9fd61073dd70adb7991df8a143e797a9cf6b0cf257ceb347dff45cbf6db25d5928074b3a6ed918fd35895bc7b93682897c0d322d46755962928f3390664499a14dcc025b1c0780858db32826679a923e20ff56755a26604a2c8606fd7087218232cdc3b488423fa9328f9eca8eaca9fb4311777592157b46e4476c885581f6ca524ad1cbf663a0591a7679e515de5b65cea3a0971c9139019735d421a25f7126a9bb66f67c177f3873bc5a8a7c06026913a631b1b370aaa17019a7cdcbc22a24f9e38a69637928788bed0560a235c2d8dbfe40dd56ce5de6756cc4b6afdf64050da2eecd9953e893c53bf7ffb -sk = d32cbc1116ac88219f9af2c33beb59bb94b372f97815278f0fab2c690c94b8f209dd1575bd7c0bc7f48aa133bfa068cf1af1612c3325b8d08963bbc66d938f46843fee424357e535c2259ed958a75ca6203286190be53a9b46373f8b41cb38c1cae2bcb91898669a872f1a8d9cd21227e42ed655569202cc6b494cc6a6bdb08731cde417f48b86554ccaf953b8fb70aec727085510cdbaa7cd2a0ba853928886332fb1e3a419c49b34ec90fd31b716252acce7a79d05cc04074d69ab3cc9809102261a2191a086231dc70aa583e86912e5beb2c1a22e841f39db531d5c26cc333834a20480d6b1ccf19a654149045791d33b414696375dc3c7b0644626e8822c5325d52ba764f2361d853d244416cb9a5bc0540e1238ccb53438c90a196a45571f743894f060f6031fd623abebb4afea05190dd9452c981352a78e09579f05e24db2033aacfb10d9335986e8542d9480bf5603fa932d2d0878c3753e6524a809324ad6f169d7fb6d9c0264423a632996abf297707d8412a6b86160b69980e18add1c372faa406f540c00ed0a75c3544811759c3b5026e6c19102b7160883ed002de5807b5933934fa01559c4a790230ee93c215bd75aff117d0f170b4feb7aef5b007aca616e688161fc00cb037c8232cf2dca569f01a2e1dc2af7ecb6111181f2ebcb1df27c6ea84251d8a2b6b6582ef915e2b8c7f8fb6be8844478fc570b8054a067b34120b47fc6ac68125cca8514db4540b7796c9fd05523e7014db34b8ec94d5eb66c9f5cae2f838191d2234f43c72262a18deba17ab495b7f0529d89b8e1e407bd5a185eaa2444d20c6c9566526b8707b13bb0cc8d9589773db90952a5cd78e43bdc68cfa4401d7912618f456eb4f97ac1b49ab948592976233f962b1916531fd1672bb69be320a2985b38b80279572488c5f86bf3d55fb9fb90449b66fc874b94292000466786fb7e393765c7057051999711d234b4d277419320e0046ec0925b41d6b89c62133bd2734e296dcfe90bf6344219a6a22d2cb50c75bc02b07fd0da11fe0a0a0b9aad76001d5d7c8fede065dde87d5d47821e756a926638395883879a91b94c6164a40895476269917caeb12944dc956174b6cc5154944571a6f6553f604d3212728fb08af6e8c0ea00265ac0c5464595b31a9131871d79298867aab426d009480c0befc08ace14991399079cb62de9e6bc80c88c3339640fc667ec837b691c3da4556a952b3e63c162ec911101c5a49b35475ae68634a7b0cefccfbee608cd4c43c8eba7a8f957db595645c64ecf08b50c7438bfbb415c27a45ae940ad077e5a533825d998a9095a735b5d23887b0048af49ca85f18395c7d3cd06bb687c92cda9ac9c03a9333a866a9639803c76b5b189294a269f389abb5010789d410b88215c554008cb10274f781ed6b0be3903576cd16934c4b6b65296c477aa174043f06792f3944efd0206e34042d827caffd2989b936b91694825c4bd8b10c0777b11971cc1efb93ec1b3674afb4fd07568ffe89c707b5785c140d51b433b7942d88a6ef9bc9d091472833004005aa803a050ce03b2bb551f62fb1fac6649d3e14f0141b2eaca73b700489b73a8d840834a7802a96864610b10ef5a030a6670a866b02e13c3fd48056c092b241513f1d498539b1d68f498cb049c99d33c32e1b491997697a0b6af529e63a85a0a7b8ed6c005d61963fc5acd1e609af8160d6f823063385065640452815aac2463ab8524e2713e3f584fd475a23e46bf79b97f83403fca999c1ceac629f47261e499e211051c7059e4aa14c2c4649e398add5b2ca1d070386b4f9c284f84c930610a3b22936090f3c03fe7a25ef323f2c326b3a7c9a7a5ceeb395cef08ca8009a810986f33164054b26bfa61489b38ac81390bc6ca863455c22b589e8a4bb5ba87aa0ae03fdb611b7f364387363e728a6de48aa47af676e73ab655396711e64777b27fe45474c3f29495939704d34e24661ca43aa94b71ceb2d3c008b135a7115762997879c2391cacadfa092779308080a1459b09ab16e411157abc386a0e8e322cae09a60fa290a91419d47513788980ed60a40bd86e6cb30481c65a853a188442004c93421c799402e639dfa3c73f9b227c64c0f8c17d4723a06c73a9ad02ad2571587058513122012df86d16e63cac8b2dd05a60cc593000322c9c566b472b375e8484843aac71e74bf0315af59a8a4f6104a43159e198716e239247204753f629c5202c7812c9ae2351d88b4256e7a82b42b15e54412e0130d5e25388240fc05b253e7b0c94a43c7e96728ed78522e688ec2691b70943b8cbbddf19873e67766301b386b088f71922ca370916319d8f099f263caac7d7c0f81959c4b13a0da0b5c269760036a552016f8b591f6b37177cfac940f706c975a59da7c04fc7210ae32508c28204ea204073c73b474d74b54cec08bd14361b144c481fa8561b6c73aeeb7cb0a65be0965b2176705949613c917393761efe2c2e4dc73d4998a1cfd6a2ff278b6f68b1f108151b857ee913b3568171bdf1502953b81fb085650bd027c4b66a8276319201ac328604100ca4f684f2fc65f220cac1db9c434a218814a14cb630b5b18410e11c37c92b31600e37c8bf12c895b1f315f0da01cab250881966d3c8256f5513cfd68e383bb8ae248e27f3b479f7a82da2aa564b121586bade1ab522776b49a02a16e3a798acb005d70d3ff24a8ca3458a826788aa09889293e4d862572907111071f0d58d679a0c620155ffca45bf03a1778941d41776ea11cf3ee899912c703d50c8e88ac447b2bb0a0cc3bfd83ef3261ca592915bfcad6cd26409472e4be62ebfd65f003c59d39b7f9f710f6a76a1e8291c834323f145aa3b8a9e2e4c2e98621074c49fd0716d3d61a2787a0598e8096ae05fcd7aa4250a7ac4a5314c842b8dc8b563c6b8f626763d865c141474c72c1439ba7012661985a061ced9679ac94983957dc99c4bd4061ea43c893bb707c0f633787c1b11d8622dc08c47954ea907ac1513aa3c4420dc48366e4045c79cbfc3b52415324e8c6669e52c2c16b1722ddc7d521558180781898a2e681a55693398ba712712b9c515d72255453a3c4212bb7b3692b3998d1bc6781ca28fea483c276a92c219a62797a88702b2587005208512aab304799a99acaacedb1699993150b41aa3291423bccb6dfa31a7b42be4997581b9aa54716cd5d62cb1b9bea0e8165eab6a6300242bb5a711f36e9a43b12e24492ab95218e084e1d2976a222024263e4c87cb93cc4fe556812096686ac72152f1a8a12b93c6530d08c99b9be3634dab9c93d27f2a4099304b4c61a4bf0fd9cb28803d0824c5058a515dc69c81228687376865852fe9daa07e45a889e650e0c58fc2cb71846b5296e76d71105e87ab2714b2b82e06342218822642acea28700486709c43b2fc421eeda5070ccc8ad1367cf2834e88eb8ff8d2059f455c2da34843418cd3449497b753c92826c3174e5e304437c04c7f518fa2eab149762c916b1c6a676a8d5b3bff02b8ea9a366f1706be888fbc40285d6cbb924249ce963646595573b5a5d0079fb9b0275ff031797899ae0bccb3ecc32eb48ba3769bd5e56667cc02723c773ba00924a961102225f2b88ecef333302077c2c761f48991755a83e09b7c3406bc8784031754bbab6b49c361c93f5ab9778b39b9cb66501b63d8859af0a00bbed32947b92f49961c5fc38bafc9b0a763802c9709fad39f040c6736a4c45a110a08822e26d93bc6ccb566a687ddb786f5d31378505f5d575746c3cbfff55899c933f0052e1155b776b9201f0272bcf67c3fd26868bcc42b2b9361562bec56ce1991ac7347b6bd500065e990b257bf20e1537988a560dc21aa652e3bc8650d80870a1a4190014fd1c43229043bc1068a5fa074fb5087581a932ddb5923730ba05216895ba1e67947c71aad452861371a542325607a7752b8485c48fa9ce930793130996bc63d1b162517c34449f5263077a41f576150d8b062718e493242f57041f2da6f271c0c5ba3a00a8c8faa0aa9fd61073dd70adb7991df8a143e797a9cf6b0cf257ceb347dff45cbf6db25d5928074b3a6ed918fd35895bc7b93682897c0d322d46755962928f3390664499a14dcc025b1c0780858db32826679a923e20ff56755a26604a2c8606fd7087218232cdc3b488423fa9328f9eca8eaca9fb4311777592157b46e4476c885581f6ca524ad1cbf663a0591a7679e515de5b65cea3a0971c9139019735d421a25f7126a9bb66f67c177f3873bc5a8a7c06026913a631b1b370aaa17019a7cdcbc22a24f9e38a69637928788bed0560a235c2d8dbfe40dd56ce5de6756cc4b6afdf64050da2eecd9953e893c53bf7ffb7a9232085a0222b9c863931ec3bdbdd51be3f16d6cab3009c138e0c8cb692563b6591121e25d64010c25a18676033e1d7278ac5f2d0b43a31f3a4156ae710465 -m = ec750b3939385a3f8df868119dc76f77ca845567ef068de6ada5478a56bc78b6 -ct = c39bee95da915df3610464f656b2eb960d644d6c7a1882d86773f662e67d0ae2c7791857fee39d00c24e839735b95018d910f53566005bf4e8948e84da3be98830223a1c34540391687ecb911eddb96a0aec1bca49115a5f8485279cc2730dee61bd0c3b4d5bc0fb529d69125a21140dd95ccc68fd809e9ed3efc44deaa6b7ee18851ef8189d2254fd9f4b1c156871b5698e5d2f074d629cbfa88278d5fa5a98e18e1a3be7de30321d177e6807a922628c47cb1579b85316bbd98b4093cbb0ca422d5640b3670af6a642267c2421b2bd3bdbffd11625db03ef1de4f295f2cf04453c38c5cc88b3457ab9102944ed16f54bb56dc2be94fe1244a8965a10760c1572bb9e0051e5f60c2032ef2d9d3cb6fd87ac36c47b3f878cacbe36455459d9d53d52709c91ee20f608809ddba9215ac7b50529fd6f1c1b98c86d11cba260d01f1a61a4494872360bed343a92bf912ae61596534900eb5c91e79ce9d36737bd719fc219069719c564a76f826a0c816ec01ad33aa96652a2765c3a8b38d49ce49cb044f0614918ed956c317dc9a37e08d29536f855aa2e25495e55a69da037b98574ba32874f3e1b48b8cf94c502937434c79ed0bb3de36c991e3ecc7e410a2f898e7b47d7cf298aa88d9dd8590b987d4cb4e9633d2a6b35b84dcf63c9227370964a4aae39cc5917fbb9758d6394ef4fe54d0adb961a74f93bd9f1dd7ce771e6b69acea56debfa3889b43cdedcdcebea573ac50949dd69f18645d93659c7adc237bcce0213897a48527b58fd89314fe5389c99425ebf784887f3bb852b42fba0e257d60c9d92504681e2f3b7255c422e216ecee63dcdd2e3ff72aa74fe4ce02ade01d4e1c92e7d5e205b69326acf722afb3763be01510e9df650e2b3370a01706de021f26b1ace9c8682720885a38737d62be8e89005a1e2257ce0124ad3e1c08f57205f6dfaf209ef2eb6627c7533f04e7bac22c70689e7169a5b50450896ef559b4dcfc5302f93072c52b333111d32f9001a23b5c560a67c7408d83b09dc424cd1a64e7d3407efbe0bc2c894e243472f8979ab1e8924a35d798fe3da153894d503fbc1c5928d40cc59109820559a61cd86b33f2c85f6823801e77d2783a2476a1f92e66fa00b86d27ab7fedf37dd7748c07249b50b34b2f50505ba7919f503d40c7c0215acd58d5874b3f78e191580228a2790dc185869dc0340ffcdb1f310d5be56beec158cbfdc12a1d1bae2ea4d4f5008d28fbf04eb860a88ba9a589df7d66cb411bc40b5df27bdd672fbf8d1650227e40542b96ec31887bb6ce43a016c70775bb2bf21f6250cb17708ba6945eac8fb573b4397ed7f427326472f63419a6a41a80590403cdd707556d656ce6a43b0caf66cad5cb599cd796a94a2ed681376740fd647d0224ca540be1c5ff840251330f0c902b89628ed3b7fccbfb6a373fa629128208ae8e985160746c533037d81f7a444d4e8eb2031662187557e216d90a92907c66578057475c0f855d97e2667ef0db3b7cbb02b79ac74122e310fb29bb5c800ea64d570364e0480f29389446b2548d762d0bf84ead2228cbf66066d30a91e5aaae93f21178ba4858e0092036f70a1955317ccbd9c4dcb6b008aa965cb2960393504d9ed27e514a2269bd131dcda458c6c53d888bb8901feebb0930b3e57f66fc4657d861fdd8ab699b586b06c4a242f3a13624404220f6ba3c1381d48c9f9e22ea9800e7abfc22081e0ea1cbaa06289257127022580342ed31bdd0314db68fe685d45806602b14d4d07b50971cbf0ad1932eb082bec17fd2adcc3cdc1e88e5c9a1ca824ccbb445e09dbbe5c70c9f838c3ceba5d30cc3862fb3ca82c200cabf698a13e7ed24a7cb62833cf4bd0361f7f1f843110a74d1441e39cc79009040ebfd44e7e2aca604036e20b2a188e69e88dc718c39e184599dd505f27d6bb1cee210999050edd382ec3e8b314f7e7d9b4e1fa79d623f76e8260dd6b554fc60daa0414592f4166a0742e18e7b6e7e42c78b4e8d87411e0210b532a035b8c8c720f6eaf8c5ed57c874610511bab884add1b2977e2e51c01d14bb635c222c9f20f7ed14c4e9b6ab90d8222f8cdb6ae95d2da10028b61f913743796f8c10ca2d77494c9e98cdf0ba37327b6253594a7bbb762323aa5e6868a993a43e2630914e2784110612d6518658b5965a14cc0673399d15714b68f44924dae24722fcdb058 -ss = c9902be6478ce7163a27b1ce28a24cf6f07d6c5600a6acf50faf96ad387c186d +sk = d32cbc1116ac88219f9af2c33beb59bb94b372f97815278f0fab2c690c94b8f209dd1575bd7c0bc7f48aa133bfa068cf1af1612c3325b8d08963bbc66d938f46843fee424357e535c2259ed958a75ca6203286190be53a9b46373f8b41cb38c1cae2bcb91898669a872f1a8d9cd21227e42ed655569202cc6b494cc6a6bdb08731cde417f48b86554ccaf953b8fb70aec727085510cdbaa7cd2a0ba853928886332fb1e3a419c49b34ec90fd31b716252acce7a79d05cc04074d69ab3cc9809102261a2191a086231dc70aa583e86912e5beb2c1a22e841f39db531d5c26cc333834a20480d6b1ccf19a654149045791d33b414696375dc3c7b0644626e8822c5325d52ba764f2361d853d244416cb9a5bc0540e1238ccb53438c90a196a45571f743894f060f6031fd623abebb4afea05190dd9452c981352a78e09579f05e24db2033aacfb10d9335986e8542d9480bf5603fa932d2d0878c3753e6524a809324ad6f169d7fb6d9c0264423a632996abf297707d8412a6b86160b69980e18add1c372faa406f540c00ed0a75c3544811759c3b5026e6c19102b7160883ed002de5807b5933934fa01559c4a790230ee93c215bd75aff117d0f170b4feb7aef5b007aca616e688161fc00cb037c8232cf2dca569f01a2e1dc2af7ecb6111181f2ebcb1df27c6ea84251d8a2b6b6582ef915e2b8c7f8fb6be8844478fc570b8054a067b34120b47fc6ac68125cca8514db4540b7796c9fd05523e7014db34b8ec94d5eb66c9f5cae2f838191d2234f43c72262a18deba17ab495b7f0529d89b8e1e407bd5a185eaa2444d20c6c9566526b8707b13bb0cc8d9589773db90952a5cd78e43bdc68cfa4401d7912618f456eb4f97ac1b49ab948592976233f962b1916531fd1672bb69be320a2985b38b80279572488c5f86bf3d55fb9fb90449b66fc874b94292000466786fb7e393765c7057051999711d234b4d277419320e0046ec0925b41d6b89c62133bd2734e296dcfe90bf6344219a6a22d2cb50c75bc02b07fd0da11fe0a0a0b9aad76001d5d7c8fede065dde87d5d47821e756a926638395883879a91b94c6164a40895476269917caeb12944dc956174b6cc5154944571a6f6553f604d3212728fb08af6e8c0ea00265ac0c5464595b31a9131871d79298867aab426d009480c0befc08ace14991399079cb62de9e6bc80c88c3339640fc667ec837b691c3da4556a952b3e63c162ec911101c5a49b35475ae68634a7b0cefccfbee608cd4c43c8eba7a8f957db595645c64ecf08b50c7438bfbb415c27a45ae940ad077e5a533825d998a9095a735b5d23887b0048af49ca85f18395c7d3cd06bb687c92cda9ac9c03a9333a866a9639803c76b5b189294a269f389abb5010789d410b88215c554008cb10274f781ed6b0be3903576cd16934c4b6b65296c477aa174043f06792f3944efd0206e34042d827caffd2989b936b91694825c4bd8b10c0777b11971cc1efb93ec1b3674afb4fd07568ffe89c707b5785c140d51b433b7942d88a6ef9bc9d091472833004005aa803a050ce03b2bb551f62fb1fac6649d3e14f0141b2eaca73b700489b73a8d840834a7802a96864610b10ef5a030a6670a866b02e13c3fd48056c092b241513f1d498539b1d68f498cb049c99d33c32e1b491997697a0b6af529e63a85a0a7b8ed6c005d61963fc5acd1e609af8160d6f823063385065640452815aac2463ab8524e2713e3f584fd475a23e46bf79b97f83403fca999c1ceac629f47261e499e211051c7059e4aa14c2c4649e398add5b2ca1d070386b4f9c284f84c930610a3b22936090f3c03fe7a25ef323f2c326b3a7c9a7a5ceeb395cef08ca8009a810986f33164054b26bfa61489b38ac81390bc6ca863455c22b589e8a4bb5ba87aa0ae03fdb611b7f364387363e728a6de48aa47af676e73ab655396711e64777b27fe45474c3f29495939704d34e24661ca43aa94b71ceb2d3c008b135a7115762997879c2391cacadfa092779308080a1459b09ab16e411157abc386a0e8e322cae09a60fa290a91419d47513788980ed60a40bd86e6cb30481c65a853a188442004c93421c799402e639dfa3c73f9b227c64c0f8c17d4723a06c73a9ad02ad2571587058513122012df86d16e63cac8b2dd05a60cc593000322c9c566b472b375e8484843aac71e74bf0315af59a8a4f6104a43159e198716e239247204753f629c5202c7812c9ae2351d88b4256e7a82b42b15e54412e0130d5e25388240fc05b253e7b0c94a43c7e96728ed78522e688ec2691b70943b8cbbddf19873e67766301b386b088f71922ca370916319d8f099f263caac7d7c0f81959c4b13a0da0b5c269760036a552016f8b591f6b37177cfac940f706c975a59da7c04fc7210ae32508c28204ea204073c73b474d74b54cec08bd14361b144c481fa8561b6c73aeeb7cb0a65be0965b2176705949613c917393761efe2c2e4dc73d4998a1cfd6a2ff278b6f68b1f108151b857ee913b3568171bdf1502953b81fb085650bd027c4b66a8276319201ac328604100ca4f684f2fc65f220cac1db9c434a218814a14cb630b5b18410e11c37c92b31600e37c8bf12c895b1f315f0da01cab250881966d3c8256f5513cfd68e383bb8ae248e27f3b479f7a82da2aa564b121586bade1ab522776b49a02a16e3a798acb005d70d3ff24a8ca3458a826788aa09889293e4d862572907111071f0d58d679a0c620155ffca45bf03a1778941d41776ea11cf3ee899912c703d50c8e88ac447b2bb0a0cc3bfd83ef3261ca592915bfcad6cd26409472e4be62ebfd65f003c59d39b7f9f710f6a76a1e8291c834323f145aa3b8a9e2e4c2e98621074c49fd0716d3d61a2787a0598e8096ae05fcd7aa4250a7ac4a5314c842b8dc8b563c6b8f626763d865c141474c72c1439ba7012661985a061ced9679ac94983957dc99c4bd4061ea43c893bb707c0f633787c1b11d8622dc08c47954ea907ac1513aa3c4420dc48366e4045c79cbfc3b52415324e8c6669e52c2c16b1722ddc7d521558180781898a2e681a55693398ba712712b9c515d72255453a3c4212bb7b3692b3998d1bc6781ca28fea483c276a92c219a62797a88702b2587005208512aab304799a99acaacedb1699993150b41aa3291423bccb6dfa31a7b42be4997581b9aa54716cd5d62cb1b9bea0e8165eab6a6300242bb5a711f36e9a43b12e24492ab95218e084e1d2976a222024263e4c87cb93cc4fe556812096686ac72152f1a8a12b93c6530d08c99b9be3634dab9c93d27f2a4099304b4c61a4bf0fd9cb28803d0824c5058a515dc69c81228687376865852fe9daa07e45a889e650e0c58fc2cb71846b5296e76d71105e87ab2714b2b82e06342218822642acea28700486709c43b2fc421eeda5070ccc8ad1367cf2834e88eb8ff8d2059f455c2da34843418cd3449497b753c92826c3174e5e304437c04c7f518fa2eab149762c916b1c6a676a8d5b3bff02b8ea9a366f1706be888fbc40285d6cbb924249ce963646595573b5a5d0079fb9b0275ff031797899ae0bccb3ecc32eb48ba3769bd5e56667cc02723c773ba00924a961102225f2b88ecef333302077c2c761f48991755a83e09b7c3406bc8784031754bbab6b49c361c93f5ab9778b39b9cb66501b63d8859af0a00bbed32947b92f49961c5fc38bafc9b0a763802c9709fad39f040c6736a4c45a110a08822e26d93bc6ccb566a687ddb786f5d31378505f5d575746c3cbfff55899c933f0052e1155b776b9201f0272bcf67c3fd26868bcc42b2b9361562bec56ce1991ac7347b6bd500065e990b257bf20e1537988a560dc21aa652e3bc8650d80870a1a4190014fd1c43229043bc1068a5fa074fb5087581a932ddb5923730ba05216895ba1e67947c71aad452861371a542325607a7752b8485c48fa9ce930793130996bc63d1b162517c34449f5263077a41f576150d8b062718e493242f57041f2da6f271c0c5ba3a00a8c8faa0aa9fd61073dd70adb7991df8a143e797a9cf6b0cf257ceb347dff45cbf6db25d5928074b3a6ed918fd35895bc7b93682897c0d322d46755962928f3390664499a14dcc025b1c0780858db32826679a923e20ff56755a26604a2c8606fd7087218232cdc3b488423fa9328f9eca8eaca9fb4311777592157b46e4476c885581f6ca524ad1cbf663a0591a7679e515de5b65cea3a0971c9139019735d421a25f7126a9bb66f67c177f3873bc5a8a7c06026913a631b1b370aaa17019a7cdcbc22a24f9e38a69637928788bed0560a235c2d8dbfe40dd56ce5de6756cc4b6afdf64050da2eecd9953e893c53bf7ffb7a9232085a0222b9c863931ec3bdbdd51be3f16d6cab3009c138e0c8cb692563921bbfbfcc283e1d1db36e99b9cc6ccfffbfdb86dab7b6c7ca02cda227da8632 +m = a0462a5f2a6c43d1198d54097e08d20c53d87b7c05dcce5418838fa8e73a9c8a +ct = b4c5a25d15d4f94244c8f611d1208fe8725ce3f735cfd4dbe1e7df8db1ae770562526c87aea505bf31dc0ba1abc34765f92bb0958435d983bde9522103c150f4a38c9340246af458314396c5dcd5390bc4628046c88a21f693ce277ad6203b82b2617623a53dd992527b925632ce65efe005ee8fc424b81f5647670b7e166e5e44344da581c74d70d7256e1ed1fed29e9242a066ea433e2573722908ada8bc0c27237c2d731f8306a5af7e009be26c0bb1a81d89d0c81664da1cfcfe9c52fa434b5aa5895e522e120a2a03ddb3a0f89aced9fd56823c8c90ca85692a3b9bf4806652d8abc90d91010f27222355988d5ecbede5098ac0bad8a79c8fc7d653f3d7aa8b82cc6bf9cc7e0a0b8b9d1b87191ea4f46f5c640f36202a2e63630288492867b1f550de71ffe4ea9316a93732b5584e15fa390b3e5b0515ebaf833af63922a2d9a7d5e50058c7963a6b2d9174fa529c0df3f7d73b762d5828f4856345fec4ec879dfa83d151503584036b85fb8fca51d9a914c97b20d41fd84dbbb98fc5d4e90ee3cd76f5682336b3c7391aea4b2a2eee8a6b806db1f273ef72cdc858b161e8fd92f88122377adb036be8d15c4b2bbaeaaa16c24823e8aff5ae01d076c23b8632d89023504a8414162c8d98cfc88da9036053a33e05d8ae9a20ae5d0380bedcf27efbe8db34c22c854c5c3027d01bbd9e28f21e44843bd0e775e64d2a4ecf69c28493c169383b0108dfd174743dcae18503f4ac7b0f8749d1cb5159f827b0940e0d2ec6c80aa88e193c6a774e977ee82623d0f3abf67af6fd1ea15770a3c8be82d90eca942deb3ad0f193c9ac19e95d32fca5a0c6c87be1eaed7813c5887d1d2962d615af3e855c5fde3f0e9011a006970e0e9f23375b2c458e714e84639b54d4b244f9d708d551923197673b646e8db0997e8ff03fb8d2efa4d945e158ea37bff849fa035077051801359ce3031061f924dca3e7d9fa78cf76978292b1557939a98dcd5f4bbd53c64f03af84ed5504dea9eaef07f6e8947a9e64a2337cdbcae8692d22b7a81994b3a4eef5216df9851fe84000b8d5a997c0da23d266dad2b93e6d8554f31dc147003fb955d06931db3bbbc7837fa9be8668bd82eb3e54e7b9c9a78956f315692f249e0d63d60c5f41c273d3230344b3655873b37569d7d08b3aa218ca4ee4ab8784ac65e40a9259b1fc98d32eb3b96dfb69a8dbefac680a2215741411112dd8bc77871f685d2a5484900c94b92cf94644163bb10814f69bd062f84fa35c2aacc74975e4ff199e075121b85349244dda5cd617bf3aa1fa31668c220887252e7bf83edf9f1d6aa296e96478760df433255344b483f2d9e2c73cfd7ee7af5865665710842520dcf9e14990da5fe968a26f9356c4c85f192655481195b484ac60433a7c1963860cadeed19e0966e93c378094252558ba845b933202a1eea50e69aa3e560b6a8b3476991cf1ec068d0f0f4a65d7499bdde0d31e4188c5a15367f68cd3c6a382218c2522d230158d9027b476e187e45b4e4e8fdc49953296ce8871d32e3e7f6340bcbc0c43d4e8abbe7a1397a1bda9f9bb549ce636be0569d78b8eddb697b1b697ec69dabc6a37dcf7fb1cb7901d58649e66f695e6bfb9df1247f084bde429868ebb9a74baa33be8cf41aef6388c5d010935618d04f7a197ae7bdd69639166a36f34abb1cc300d444288ef06f31a428976517f1b8c6634ae0f9e8d172b0e33562475373f1e4875ac1b47f50e6e4b722b37b773ba68e64838a58af861ff0240e3d08a2166368032e8556255cddc17d25c1989230d0bc5b360aa8137fc5d9148c468ef4ac78d32e9cda0fda8c2ff46b45a5fa7802913cd7f6c788a600295ee19ea963469fdf1953d53e292176a25f8f68002a0bcde1650ba6cc2ae0abbd8b49175467bf1c1c047055b46540a820622f40757fa1e50344c29640bd1a1c4f9b18c5db9fb9dbbaf9c1c22fba2564da3cc2bef911381064e22dc5b2eb2b074541d41ed280274610f0d6d329f99ce4a6b82226207f575f36fb443fd20115209477113023ca1c6c53963abc2a92ca335307ee453c67a4ea4f06a74b6d863bb83673526647ef43fd0f1801bab26b6afc85f5193f973b7dc176541abe4763c4583c9ea91af88bd3d33c7fc30c91df5db8f75b4b6906668b4dca400303faa37d6d8767deef5ba227c97779c0f8fd91a79f5169396d4cd000753 +ss = 0bccacf6eaa5296dbb232917bbf241e0354d770dff3ad9b6181da1c57344ba1d d = d569b935ce015c85f792f8f7fb0d83c4f53b492959361dd4f75fb764d6564501 -z = 76eae84d11c4528382828f7a689a0d5cff87b8ca0bba97feacb39b935a8788cb +z = 40b4e01e03f62e5f489c39c78d387bb33b526ceb6907734a5f788209ae3c2647 pk = 8b2755c2e64d1fd9b79f5a2c7072419b955ee69a6f453b862528bc78905bcbb44ed989b5e71b9126a6a920e67a074b2960d6a3ab50128fd9ce39137b03a66968616f134bc485770e87f01304a17c70d9adbd4159d67b888862b0b6052d9e8496084ba93d197766d10f6477679ca90fefc6b13c7472020943b4b6305988bd9df4a655799ae6c7c398341a4810c6698351f7cc4fa59c2b0a86418145743d2b850cd47f32502e00d96b0a67cb3ababf62785b11a04de252813efa36bb83001ea322490a7dc5c54f32274b01fa71d40717ff917b81fc899e28adc5c4a0c41742c7d043195cbf8393a84206ca1e87032c553b68776f9153b4e2e0a445d2937fdca7539b8a2dc497a1f338802c073e891a3f834505a82a39f54544a49921e348934a028b7c54f11b26ed1a9cc2db7c58ecae2586168b120a2cf4487a6b34b8015e64816af26b864b7b30b19022d5038f89431056153dd03169a31a18c5f6649f6b638d4c249b712bb9563e4adab4f3e83c5bd05e2617b4530161b5264ee996abd5905e025820c7e1b1bc05188adc559fd0a0177473d816a166025bb4402d7e98b7f148ad42f72920d24e024a4d7a8a9dade92ae250bea3c519ab515fa2581b1f88c4caf62d59050e4ab1512c14b581d7c012645f89a0722ad2a1c2f2639b2b11051059549417d8f3ca8ae80fc241adede55999222b05b7b7101885cdc149be41cf9d2b9137e3bd0054ca89818e84811bc21944dd19bb2c1a54251992f2a51ba93a452c290272850225e9b2489324972cb6982c338f55192b4b87c2c91cc985ac9151c638aa741a476f25b3853afb4b106830d882a1e8a26b1b1305cd045e112a7e7a723ba9b801c48358e3004ba12b347d28a571f8a6c05b7c81fb3ef2e324b1819df549abfb871e25053d3e4676c9088d277688d9f85db7fba99fc62306c0414654509a086d0247aeb60a9924a2ba77f76d669c1880c302e67b1e1e638e4f74628ba73e0c565bf7766ea68206fc779f9c55b1b48c350dd095a5566fe1a611ee9507e729142b384306527c7928a7c09a74e7c03925e87d71c45896444522a63bb6b78615003d5cf37ca7e55e82888c17f171aeb440952328ebfb9eca10396b2044ce7275ee2709e917cee9425ea4c8a95b163876a2159907003355323d56b62e243cfdc714102a345af05f4e1052f9673ef57abd43e802744316642c26809a9f07805ead090a676204cfba52f4f04715e5788a08754d23b7c5db0d7d72ad20dab9ad776d52d1954a99407eabc44174237b127c4670aee6689100ab4e9e003a4157b69151431aa5bb9cf9350eac8501895299d93d6078c6a9888a6fb783115803170c1f8b2c84d0dbb801473084aa130d5c9c99eac4e00c2355a04556a26247a73b4a7121fd2cca08168d2399a1a45b685a921b9c0aa339390068348a3a8cb55653987c691e9c86cd67c385cd580892a01d160c9e86a65bcf63a50777b353b948e70061d03154e5ea518bc687a4a6b6c83372c0d16932accfcb13525457979218041af9ba2e012f82d79fc245356aa98b11f186fd2c538cb5159cf9562b5a5344cc1c44b3703a50850358c6ab4a5fcf830bcd2b1a0c932059f2c5a43b932e32a2fe9ab9f2f3b1ace7a3c1290cce509a5aba7d50a172fe51c65bb142b54ca6113baaacd44f3eb76aaff63a474a74614a0793cbbd7a1c822292bd75b2cd9d7b579fa995b9561a2ccccc1de89e861832522412753bb03a193b15c7a5e04643a217cb6ffbcaef5a3750033e2b0c42dab154f96a4062751e79c4aed5a1c6806b56e59b91f2943da9d837ef94c2d1a3767a68b44db44dfe021c47ec37e4596b4668c0899a3a651a9004337bb79c68dd59acc18a0b6591760576c819716560159908903a32111daa1339d8a8c66081894a52465f542b011bb607177d6af34d88ea80d7247ccbc269ad67a15df94f42a22bc1a525abc7480257694e9918597a8aabd1b537b163d6dca6dfb77fdba61949e3c15015b567fb88b509b43d4665abb834263a47c5a6007e2807b267aa50e8af44452b01a62b3034ba54ba910b018c629266e26514263820fcb3390dc117f9878c0ac4b3ff899d83d922184c42990088bcb03ba65993ca46c18bf1583f5599ad549801e934b8990fbcaa46a3f6cbe714c47a83c7595591df9225573a23664c9cea086428dcd19ff40a06186a41fec0723953781475f648 -sk = 818b55fa5ac30a81891f3a3643924b2b046feb6765a61cc81c9059d1f82f6a0067a102825c88a530d15f0dd95f0b4742d29abe7044c62d45a05bdac46130305e3c3417d67f60b92edeb6b2a398119ad160ee3cb0fb52144435a5bb5412c0512dc6121bf6e72d0f87a3834ab5338196fdc950a3cb1b7354c4e50369bd4364cee9066a221dfcd580f1b914c0c335f547748bb19264b7879f206a9c610573b8676bd0bdfd777a2a0ca5ec891a1317c5289784de114e84c53b983778bf8933805256c9a9bd05a11af8f5ac271ac3f1e635eb9a8263c855bb230f58ea3b7e8287d76258aa57646b97560e593944c4cb3567a2c382a795c991f69bc2df2cba8837c9a3b58a9dac5e4d84b50722a144737ea38b14be51c41cc55c53340ed158ab4a0b0f0a2612962b89cc2aa8b29198f2e04b0f0cb586f271c6414f31a71a45eccda8c597c38415d262571bf0a7bfa17115e0c7731c70c2d01c492c85de16c511102c5a96973c724f3b58b504eb65f56116aa7779b76b2554736d9d6176dfc6ba007a590a311d4b86a7a6251fffe6086ab3319db48c4dcb91fe680f45a9480241242e4ac9861b62860837cc813fadf00751c8021f7a1c4d7a1e5f13bc3e8462f372cd7498197d172eff98b1f8bbc37974b025295a80e3525d282fba8467f8079d78fa6068e23bdbb3349a31506e474ea228c3927a554d7747bd3621a0343cb155bc786075c3015c3692c0fc65b194a12152a14153a03d5147b0cdb423a3b50ed6461813f9ae1fd63ab7a53031dac2d0f87cacd1cb81461c8c08bf367c4ccae7626343469d417acc705546293498035195240387fb1f2e7c005de000e530b9e21cc7dbe463e7d24adeac1127026843b87cf6fc1bb94674399b0636506b1acab72f623adef866f883762b5b4509cbb2be142c5c550046e10d29fa431f9b7d977253928a8d2d4c33add899ad736b40cb4fc656be02d90bf8d393d632a1ab509c432511f1ca16b01139cb0627f6503bba75440414af97a04bc5239567c060ef94c9ba7221d4612eaa640bdbb8b72e32a4668401aa79421ba68115261a8d94878c90a0468510b247968b7463ff49a0578044c5e9147f0739f6a17b18828bdcf56966b1caa125cde7ba6dce939e56d350e896ca6219a6b8947e3909361754593fb8a85e742cacb74e1d45704fa4cfc91c142453ba5c08558de1321ad6a6a2804769a0bf69770a1264ba5148b40a3a9be3c513a382cfa3c244c9a138ea9cb8da7627b350cff87ab064a079876893d893250ef59f369c41f9ea40daa5a5984c19ce06cf9bec2947932133a4157bb8cc3c72a1fd25715962a9c88026c018b7202885224019466540c9eb5482a87e665157be7722bc64133c827c20b97d9e692342f23fdb1b75ab2ccb6fa5973820b92ef1bb45c2b5ed1330c1417ccfb39fc6301b8a749d3613b3803a6abba20990151305cb32ba6a5b558265c2e27d8d49aef3e91819920db20360355919d5f641922233a1c24c0045172cb10f9564a029f07578a48a4d215248f3ac7a912ef8e56e366b03c567ab978c750d85454c68a5806ac38b7b3395f19fe78a001c5867d3e90e9b54bd63954761ab7f4a57b1fa32b65f285742c1207aa06818fac83b928e3e14644dd6999f310fbfac9e372b576a0470a9f9c5d2293bfe5255826c534c1800bdf348b713766507674ad820dd0c7c570037c6da35edbc625ff0223cea7dba19bf044699183c1454c2c2318c14ea8c451cac1b585324c0f9489f94a9c14992abaaa393273e4c48b740b764216ab16df3b9eac38d04aa3bac2185f250a82be093d2359a1dfc7f2e60cbf05b4568c86824808f4e073641290513b247ec7585593389c5c0459173cc74918c7a93798802af77553b3ea32acd760b9008ad3851b2a5632ad41c11ba095131192f37a06975294662e4298302622a236f57f4119ce24e5e478098f20c108c0af3a3bd7aec511391cf77baaa9b427884b9aa88c17b81d387d65304d75b9e5d4006deb878bab34151b852a5757421b82090c44fbe85a81e076f4116c025977d9aab838624b340975f7ad16bc10678709a026ffa53748021d00bb7759579c6657183b6a67c3112bc6a8870d56dc329b483484af78a81b5f87edc200e4eb24386b6c882490a87d168a62818d6566b6bc5848b2755c2e64d1fd9b79f5a2c7072419b955ee69a6f453b862528bc78905bcbb44ed989b5e71b9126a6a920e67a074b2960d6a3ab50128fd9ce39137b03a66968616f134bc485770e87f01304a17c70d9adbd4159d67b888862b0b6052d9e8496084ba93d197766d10f6477679ca90fefc6b13c7472020943b4b6305988bd9df4a655799ae6c7c398341a4810c6698351f7cc4fa59c2b0a86418145743d2b850cd47f32502e00d96b0a67cb3ababf62785b11a04de252813efa36bb83001ea322490a7dc5c54f32274b01fa71d40717ff917b81fc899e28adc5c4a0c41742c7d043195cbf8393a84206ca1e87032c553b68776f9153b4e2e0a445d2937fdca7539b8a2dc497a1f338802c073e891a3f834505a82a39f54544a49921e348934a028b7c54f11b26ed1a9cc2db7c58ecae2586168b120a2cf4487a6b34b8015e64816af26b864b7b30b19022d5038f89431056153dd03169a31a18c5f6649f6b638d4c249b712bb9563e4adab4f3e83c5bd05e2617b4530161b5264ee996abd5905e025820c7e1b1bc05188adc559fd0a0177473d816a166025bb4402d7e98b7f148ad42f72920d24e024a4d7a8a9dade92ae250bea3c519ab515fa2581b1f88c4caf62d59050e4ab1512c14b581d7c012645f89a0722ad2a1c2f2639b2b11051059549417d8f3ca8ae80fc241adede55999222b05b7b7101885cdc149be41cf9d2b9137e3bd0054ca89818e84811bc21944dd19bb2c1a54251992f2a51ba93a452c290272850225e9b2489324972cb6982c338f55192b4b87c2c91cc985ac9151c638aa741a476f25b3853afb4b106830d882a1e8a26b1b1305cd045e112a7e7a723ba9b801c48358e3004ba12b347d28a571f8a6c05b7c81fb3ef2e324b1819df549abfb871e25053d3e4676c9088d277688d9f85db7fba99fc62306c0414654509a086d0247aeb60a9924a2ba77f76d669c1880c302e67b1e1e638e4f74628ba73e0c565bf7766ea68206fc779f9c55b1b48c350dd095a5566fe1a611ee9507e729142b384306527c7928a7c09a74e7c03925e87d71c45896444522a63bb6b78615003d5cf37ca7e55e82888c17f171aeb440952328ebfb9eca10396b2044ce7275ee2709e917cee9425ea4c8a95b163876a2159907003355323d56b62e243cfdc714102a345af05f4e1052f9673ef57abd43e802744316642c26809a9f07805ead090a676204cfba52f4f04715e5788a08754d23b7c5db0d7d72ad20dab9ad776d52d1954a99407eabc44174237b127c4670aee6689100ab4e9e003a4157b69151431aa5bb9cf9350eac8501895299d93d6078c6a9888a6fb783115803170c1f8b2c84d0dbb801473084aa130d5c9c99eac4e00c2355a04556a26247a73b4a7121fd2cca08168d2399a1a45b685a921b9c0aa339390068348a3a8cb55653987c691e9c86cd67c385cd580892a01d160c9e86a65bcf63a50777b353b948e70061d03154e5ea518bc687a4a6b6c83372c0d16932accfcb13525457979218041af9ba2e012f82d79fc245356aa98b11f186fd2c538cb5159cf9562b5a5344cc1c44b3703a50850358c6ab4a5fcf830bcd2b1a0c932059f2c5a43b932e32a2fe9ab9f2f3b1ace7a3c1290cce509a5aba7d50a172fe51c65bb142b54ca6113baaacd44f3eb76aaff63a474a74614a0793cbbd7a1c822292bd75b2cd9d7b579fa995b9561a2ccccc1de89e861832522412753bb03a193b15c7a5e04643a217cb6ffbcaef5a3750033e2b0c42dab154f96a4062751e79c4aed5a1c6806b56e59b91f2943da9d837ef94c2d1a3767a68b44db44dfe021c47ec37e4596b4668c0899a3a651a9004337bb79c68dd59acc18a0b6591760576c819716560159908903a32111daa1339d8a8c66081894a52465f542b011bb607177d6af34d88ea80d7247ccbc269ad67a15df94f42a22bc1a525abc7480257694e9918597a8aabd1b537b163d6dca6dfb77fdba61949e3c15015b567fb88b509b43d4665abb834263a47c5a6007e2807b267aa50e8af44452b01a62b3034ba54ba910b018c629266e26514263820fcb3390dc117f9878c0ac4b3ff899d83d922184c42990088bcb03ba65993ca46c18bf1583f5599ad549801e934b8990fbcaa46a3f6cbe714c47a83c7595591df9225573a23664c9cea086428dcd19ff40a06186a41fec0723953781475f6481642d52117145ea2956bd5e446b895609be84a9344ff0f5cd1ec62af9ea9e3c076eae84d11c4528382828f7a689a0d5cff87b8ca0bba97feacb39b935a8788cb -m = 74f1d52af09b12c36eb062ea7528550cb4c18a3ce8e4f4ea9fac43ae383bc925 -ct = ee732ceb58ee38c3d6c3905242bab2b0e2e13a8a5832bdb872920a2b13adac91a6997c594c4cf4e2dbca7c38f4b513d6f4e4e766dbd2ce37a159f888fe39a497a330d06b003c6f0e6a22b7fe250d3ea6020279d2777b7f677f8555b5e1b4e6e4736fbd2a28963827553b9ce239f696bce974e4c451cd9f838329613fa1ba271ad0515b6a5f68a5fbe8d282832bc1612ccd49ebf0293e620ff3947c87b9c9053dce149870c08996c24741cb8bb640be1e2dc66d1f0c502143ae30c37c4f516d0003a2c06e67718c2c1294f4a0acb0f2e062c56df4fb837cf254d0ba4486e791a4e8a5294bab550f933484ad5d19bb2f8fb4d31e9e7e0638e25318cfd70a4c3157094d3d7d33cc8223f7b9c07d4ae1faaf6840370948cbe56a6d6fe44ea963fa0eee128593e5c82f006617e2117c7a87bacf2868df0300a45828e3cb93b384b33620093b34803936487f58beee171466f6241faffcfe01670a014668eb773f6bb41afb3a94dc9904efb9fc79c0d38df43e07a02b6561e21fb773e9088c5a00026a1e54c4b051d613169079d5ecf9a3d3449f2f13d00a60504cc6755455e1c991ca8a7ce5d486138fedee939d5ea2e55917eacd40681462f300f9a12458693b995af8ce84692cc5e6907229eacb402239b61869eae86fdd1f008a665d256530c6819b9764a651cbd0a233728691256bba5d8986bef4dd84f92455fa5e5f24bf8563bea719d0be84412dd5bc8270df0051e95ae38105ca422a25f9e0a69108f1ce810af763ebbf3607be4ce91c3d4547a052b807d13ed937f3199e56aebe06e0d90722e1039f6b2c718577713de4b65b5d5245658707ce0d4eb253e4a4da77e1105c0a88052c3a67ea6b1a02cc14b75371dd1bd87ec03f830b9f062633f775a6e09bac082f3962280520512c02c08d390d6a83c29ee3d12c1f144d5ab4e3df047a7be380815b084fdc4d803f7285e47a862cd0d9ad5e899f14ade36920f7a8c78a1f8653f560191def8d933f13cac9faf6de5163a032f643e510e494d415eb65d37cccec38761e623dc2f44672afb9dedd58e507b7c2d89dc0d7a07dd020b7a7ceef4feaae33f75f1cf3ae5a5e6ed864a2cc3b8cca0b2651332d0524ec8548b7da75e8e31537783a3aaaedcd595006c365c716b79c9fc41a6cc81f144aa22ad3bd73a203514b5b056ccc0c0b30bf041740bf92d6390c6f8e3dbaf256761682193696aae90fd232de79840230ecc2f0c1b72c9474f0074dbb866c22f3e00c9d1796972e05d0c3317ac9311f2230176affbd036e093e7858a3b0149152c3e0b51ed156afbe5c60eb22e0ab85e162588bace53475a1a9bbd1bf356adb9513563a8f3778919447020469e5b6de94c1b31c93971a77291591aeb3fd97f7899dacc5c4686a36daf241078ec35745b528c65b32c21f728d27e837ed920511bcdb88c268ed07a0bdf0daca304f43d9a4d654b243e270a2e66c24bd417f498dcd67e6bea9c23387f74583ecaa7af706bdafc70c281893eebc28f409ba5eedb4bef4a0ac779359bde7f2fbe642a1696eecd50806ef13555087e4a8e6f8bd27334b912e0dafced4d4aec5f75582085f80b83014a3d6c52e91146f707bd3489394893fe45166d61b7431e44b24aa2340b8de39b364741fb1ad106900ad645b88927675bafdf3b1e4f113359cbf81e08aac8f79f171d6395fe3068368f1af41746ace6115158d1d7aae973c1ff6e7b7097e0d7882ea5825cb6c5dc1731c4d63cd53e042fa2eef212440c5e156b1a51cac400ee1d48d9a8e8f276998fcdce73ecc65310ce0b053e2a6842ebab4b88ef00c5f943f78cdec21f2f5276f22f1910e4371c3542dca36a06de5ea3a52f70329b976bd9476b84b06346f44b28d6ad5cb18d44d1d6029e88d38dedd3cd5cbeffc5b0491681e290665eb091f2310ae970a92220a51022f8cb7a54bbd723a39dd5082c13db677aa6eaa37dc4d69cf4dd952ab458d874d7db5ac8f2c4463390733b1ab40f93acd2e7b9d73f775704dacf481565987d2c7286fbd5b524f85fe1bf6fa054f23b43d0ecc0fd8430edb30d99b6c865d971cd04edcd70184ce260a60b6fa0ac1ca66051617970026c8899c549a9de33aa69c79f364834f99f737d2274f64a5b95b1e93850ae31b9e392e3c175a0c7a669d19af8c949fb9058ef90e6f07fbd256fd94f905a4a5366c48d7590b6b3749f70915067af8ef1c -ss = 1104d6f33bea854d9265b80561bdbf67e81c2fd90912203f04d7e833e1b2e9b3 +sk = 818b55fa5ac30a81891f3a3643924b2b046feb6765a61cc81c9059d1f82f6a0067a102825c88a530d15f0dd95f0b4742d29abe7044c62d45a05bdac46130305e3c3417d67f60b92edeb6b2a398119ad160ee3cb0fb52144435a5bb5412c0512dc6121bf6e72d0f87a3834ab5338196fdc950a3cb1b7354c4e50369bd4364cee9066a221dfcd580f1b914c0c335f547748bb19264b7879f206a9c610573b8676bd0bdfd777a2a0ca5ec891a1317c5289784de114e84c53b983778bf8933805256c9a9bd05a11af8f5ac271ac3f1e635eb9a8263c855bb230f58ea3b7e8287d76258aa57646b97560e593944c4cb3567a2c382a795c991f69bc2df2cba8837c9a3b58a9dac5e4d84b50722a144737ea38b14be51c41cc55c53340ed158ab4a0b0f0a2612962b89cc2aa8b29198f2e04b0f0cb586f271c6414f31a71a45eccda8c597c38415d262571bf0a7bfa17115e0c7731c70c2d01c492c85de16c511102c5a96973c724f3b58b504eb65f56116aa7779b76b2554736d9d6176dfc6ba007a590a311d4b86a7a6251fffe6086ab3319db48c4dcb91fe680f45a9480241242e4ac9861b62860837cc813fadf00751c8021f7a1c4d7a1e5f13bc3e8462f372cd7498197d172eff98b1f8bbc37974b025295a80e3525d282fba8467f8079d78fa6068e23bdbb3349a31506e474ea228c3927a554d7747bd3621a0343cb155bc786075c3015c3692c0fc65b194a12152a14153a03d5147b0cdb423a3b50ed6461813f9ae1fd63ab7a53031dac2d0f87cacd1cb81461c8c08bf367c4ccae7626343469d417acc705546293498035195240387fb1f2e7c005de000e530b9e21cc7dbe463e7d24adeac1127026843b87cf6fc1bb94674399b0636506b1acab72f623adef866f883762b5b4509cbb2be142c5c550046e10d29fa431f9b7d977253928a8d2d4c33add899ad736b40cb4fc656be02d90bf8d393d632a1ab509c432511f1ca16b01139cb0627f6503bba75440414af97a04bc5239567c060ef94c9ba7221d4612eaa640bdbb8b72e32a4668401aa79421ba68115261a8d94878c90a0468510b247968b7463ff49a0578044c5e9147f0739f6a17b18828bdcf56966b1caa125cde7ba6dce939e56d350e896ca6219a6b8947e3909361754593fb8a85e742cacb74e1d45704fa4cfc91c142453ba5c08558de1321ad6a6a2804769a0bf69770a1264ba5148b40a3a9be3c513a382cfa3c244c9a138ea9cb8da7627b350cff87ab064a079876893d893250ef59f369c41f9ea40daa5a5984c19ce06cf9bec2947932133a4157bb8cc3c72a1fd25715962a9c88026c018b7202885224019466540c9eb5482a87e665157be7722bc64133c827c20b97d9e692342f23fdb1b75ab2ccb6fa5973820b92ef1bb45c2b5ed1330c1417ccfb39fc6301b8a749d3613b3803a6abba20990151305cb32ba6a5b558265c2e27d8d49aef3e91819920db20360355919d5f641922233a1c24c0045172cb10f9564a029f07578a48a4d215248f3ac7a912ef8e56e366b03c567ab978c750d85454c68a5806ac38b7b3395f19fe78a001c5867d3e90e9b54bd63954761ab7f4a57b1fa32b65f285742c1207aa06818fac83b928e3e14644dd6999f310fbfac9e372b576a0470a9f9c5d2293bfe5255826c534c1800bdf348b713766507674ad820dd0c7c570037c6da35edbc625ff0223cea7dba19bf044699183c1454c2c2318c14ea8c451cac1b585324c0f9489f94a9c14992abaaa393273e4c48b740b764216ab16df3b9eac38d04aa3bac2185f250a82be093d2359a1dfc7f2e60cbf05b4568c86824808f4e073641290513b247ec7585593389c5c0459173cc74918c7a93798802af77553b3ea32acd760b9008ad3851b2a5632ad41c11ba095131192f37a06975294662e4298302622a236f57f4119ce24e5e478098f20c108c0af3a3bd7aec511391cf77baaa9b427884b9aa88c17b81d387d65304d75b9e5d4006deb878bab34151b852a5757421b82090c44fbe85a81e076f4116c025977d9aab838624b340975f7ad16bc10678709a026ffa53748021d00bb7759579c6657183b6a67c3112bc6a8870d56dc329b483484af78a81b5f87edc200e4eb24386b6c882490a87d168a62818d6566b6bc5848b2755c2e64d1fd9b79f5a2c7072419b955ee69a6f453b862528bc78905bcbb44ed989b5e71b9126a6a920e67a074b2960d6a3ab50128fd9ce39137b03a66968616f134bc485770e87f01304a17c70d9adbd4159d67b888862b0b6052d9e8496084ba93d197766d10f6477679ca90fefc6b13c7472020943b4b6305988bd9df4a655799ae6c7c398341a4810c6698351f7cc4fa59c2b0a86418145743d2b850cd47f32502e00d96b0a67cb3ababf62785b11a04de252813efa36bb83001ea322490a7dc5c54f32274b01fa71d40717ff917b81fc899e28adc5c4a0c41742c7d043195cbf8393a84206ca1e87032c553b68776f9153b4e2e0a445d2937fdca7539b8a2dc497a1f338802c073e891a3f834505a82a39f54544a49921e348934a028b7c54f11b26ed1a9cc2db7c58ecae2586168b120a2cf4487a6b34b8015e64816af26b864b7b30b19022d5038f89431056153dd03169a31a18c5f6649f6b638d4c249b712bb9563e4adab4f3e83c5bd05e2617b4530161b5264ee996abd5905e025820c7e1b1bc05188adc559fd0a0177473d816a166025bb4402d7e98b7f148ad42f72920d24e024a4d7a8a9dade92ae250bea3c519ab515fa2581b1f88c4caf62d59050e4ab1512c14b581d7c012645f89a0722ad2a1c2f2639b2b11051059549417d8f3ca8ae80fc241adede55999222b05b7b7101885cdc149be41cf9d2b9137e3bd0054ca89818e84811bc21944dd19bb2c1a54251992f2a51ba93a452c290272850225e9b2489324972cb6982c338f55192b4b87c2c91cc985ac9151c638aa741a476f25b3853afb4b106830d882a1e8a26b1b1305cd045e112a7e7a723ba9b801c48358e3004ba12b347d28a571f8a6c05b7c81fb3ef2e324b1819df549abfb871e25053d3e4676c9088d277688d9f85db7fba99fc62306c0414654509a086d0247aeb60a9924a2ba77f76d669c1880c302e67b1e1e638e4f74628ba73e0c565bf7766ea68206fc779f9c55b1b48c350dd095a5566fe1a611ee9507e729142b384306527c7928a7c09a74e7c03925e87d71c45896444522a63bb6b78615003d5cf37ca7e55e82888c17f171aeb440952328ebfb9eca10396b2044ce7275ee2709e917cee9425ea4c8a95b163876a2159907003355323d56b62e243cfdc714102a345af05f4e1052f9673ef57abd43e802744316642c26809a9f07805ead090a676204cfba52f4f04715e5788a08754d23b7c5db0d7d72ad20dab9ad776d52d1954a99407eabc44174237b127c4670aee6689100ab4e9e003a4157b69151431aa5bb9cf9350eac8501895299d93d6078c6a9888a6fb783115803170c1f8b2c84d0dbb801473084aa130d5c9c99eac4e00c2355a04556a26247a73b4a7121fd2cca08168d2399a1a45b685a921b9c0aa339390068348a3a8cb55653987c691e9c86cd67c385cd580892a01d160c9e86a65bcf63a50777b353b948e70061d03154e5ea518bc687a4a6b6c83372c0d16932accfcb13525457979218041af9ba2e012f82d79fc245356aa98b11f186fd2c538cb5159cf9562b5a5344cc1c44b3703a50850358c6ab4a5fcf830bcd2b1a0c932059f2c5a43b932e32a2fe9ab9f2f3b1ace7a3c1290cce509a5aba7d50a172fe51c65bb142b54ca6113baaacd44f3eb76aaff63a474a74614a0793cbbd7a1c822292bd75b2cd9d7b579fa995b9561a2ccccc1de89e861832522412753bb03a193b15c7a5e04643a217cb6ffbcaef5a3750033e2b0c42dab154f96a4062751e79c4aed5a1c6806b56e59b91f2943da9d837ef94c2d1a3767a68b44db44dfe021c47ec37e4596b4668c0899a3a651a9004337bb79c68dd59acc18a0b6591760576c819716560159908903a32111daa1339d8a8c66081894a52465f542b011bb607177d6af34d88ea80d7247ccbc269ad67a15df94f42a22bc1a525abc7480257694e9918597a8aabd1b537b163d6dca6dfb77fdba61949e3c15015b567fb88b509b43d4665abb834263a47c5a6007e2807b267aa50e8af44452b01a62b3034ba54ba910b018c629266e26514263820fcb3390dc117f9878c0ac4b3ff899d83d922184c42990088bcb03ba65993ca46c18bf1583f5599ad549801e934b8990fbcaa46a3f6cbe714c47a83c7595591df9225573a23664c9cea086428dcd19ff40a06186a41fec0723953781475f6481642d52117145ea2956bd5e446b895609be84a9344ff0f5cd1ec62af9ea9e3c040b4e01e03f62e5f489c39c78d387bb33b526ceb6907734a5f788209ae3c2647 +m = adf233a4311b157829d49a0bcb633571230f7060f3ce655551aed8be8961d1ca +ct = 121a8eed6548e1c0079687589091e3cdfb69dfc9431545347a3106383b74ac5561be7ba8959339b474d03c7b04c9d32e7d75e4d609546c6a410e446b7acba0ac56d1f6c0b845e340aa628440958c5abd4c98102d88cd57f4c3361fd6020c407ae07162ef90200ab836d5c3d35333aaac0a45daf23fb0f22a7d6d6d2cdcbc9a17ca50164334efd163dc932c1f967a886149a8ea3fe345badb90ba4d7e6ff41027f99d55b830478ec3948f11f5188ecdb6e40e97fab96fd63fa8c2dff3c0b3d0f21bd7c2b28f0ddb3a8ad589af49cab435fd421279a3de57b9fbb3727b51977db2ea591924a995b273897bfc667e74cc902ff77514dc9f79ef70f808c96d60f3c05a1da839dcdc7b0bdf01ead26417cd4193320fd38edbf1fd3802b0f693393bf4bc10b38b9ed3dce25df46501bb5291607265b38218429de402741e17914c84f4ec8f74f4bbb3e3da0594fc49f3a1f1d7a18f47982f53daa5bab9c20f35105db0c65dfe84d59475aa58acba8c8fad6de534ea8ba777a6f408fafb5f21a0d3175a0dcafbfcc89c55ed009689a8f418cdfccab343d48c55e9866702c43c1fd63a95d6bb860536db3f261fd5491c3ee6a306ac8fe57a770392f0460fbdef08c4e30f4cd1c29038c12b4e3bda991634cef496c9a4f9748327fe2af4039d2f0b09bc554896290dfd847e6e75d2c60e7ba76104766707ca4ffdda5d6d92d8ecd0747ae3ef7664a3ad6d98e3f9a7f67159b54b8e13c08cb523aed46e54d1dada42c1e99d0a6462e097163da301900e7222540f2f54fff19ad054c7db6907d4912a57df2695355acb6a323125eac1eac006a7b8f894bb4aa8d56a679799b6f6e71566d91a9fdfc3498870492390eb29b35d3a1ba085204e9e0bb5ae089354f64cd30ef21a251a210cd1a138d9cb9ec53e3a8be66633b9a1f2c37d05124764cdb9488706ee36a0a471b4ee2017e7ee9a075c475be1c628187a86a45508526c9385cd95f92fd36f1b022bd12316630951d9468dcb4bbce589fa5a7cdd5db8178bf198dc3dfb9b4d943ffd7dd0c520e06f59e0957da12cfd15b05003d8365d779d2894ece22d60be95b342442f2044d8dddaa147b3a905a58735836733a8d65ddd6abdf3b1ee484b22105949df492c78bdf417372559fd554469637fe394bfbed3d79184f1a92da25133a8c4277b38bb89615af639534fb117c31e03ee669bdbbea703c665d2284efb838f0254fde514b877789a7933c481b0f588a9d6095e62b7e36b5781dea38ac8dee71246a712c16c2a668df0f6d9e8a35d745c1062514684771f931509365d8ccffe8db8661e2c0af99b1d19ea229a0c67535c8788c1bec5b46b7aba41781bdfb15527b252b70981fb5b68eb994e8fa040a64c0bd427e1b2e69647ee842b41b06c42c3e2d49c76b2463d3f0ed352d4dec92e8554fe5b1914543795046ecf75c9a8e4f7790bb0397081a10f9402c749bf6c32ab1ae13e467704a2856abaa7eb294c125715ff0a2105857a697060bd300fdaaf926292d8196483a707edbd90ea326bb0814506a116a58a65dcb0a2f0da4542b8a0706e0871879cdf097914282bee0bfe9f7d3a7b9615d39cf20dfea7591b5264311a51cbb0923ce2ca8fd09a778be588a8d6afc1ddd1be4571c67d5303b5c799697a17a83ce9890531b8c1a78894f4f2af9f16193684cc6e0077ace6c450319532b892530bbd33a8f0360d1fd2505e90134698c52d084cea86471d751219a0df6b717c75481f755d265d66ca7762dd33d37b8b3dfa54946b119cdf9f5905e8e6337859239be8ce7d5d683bfbc8b6889a812e759d8aaa8e849ffa3754fa3695e03e03988f69f7501f01bbb6b4d678be4868af5c49d1874c40ffb4b74019a24eccbde1a5c8b6bdaa8a06b014cd0050aa83bf778e67da33379ea70c65bbefec7474fe5033c1298658eb707903bd57e6456a87e33f73ef58557d3ddaadc7d28393f01c539685e104815b467d735b360c283437979649793bf4015bbc7751ea483686494c449bed00ae238f892ae04abceee5b24d31c8cd4bb4944ea800d0a679e727b8ea93672e6346ac50895488d1eea572899427dc0c6b9bcf55baed0a7a0ed3a8e13b366a4d5066787c1fc2793375670679bafd3c5c9260e2813f71446387a267de7354c69685f2c6c9aa128b0a44a0c07e53c8754ef6fcdadf547ff77364ee9eacd1d33da8640c13c4dbbe +ss = 668e009ec1565a4a71c365345da260f99fba8c2ee4e2d4e9210a3d90864266e2 d = 5cbb141c2763425c274f7404fe530d9116e08c33f9f200a20b011cf563a28990 -z = fc9ebbe336dc464489861db8253606971bd0a9008a433ed17752d04023781552 +z = 870a300648d2b1f1a637374278bc62b5abb56380cde88eacfbadb3224795a125 pk = a7823bf24c9fed4588355033f5b22ace43a30478209a8965d587c91428b92fe034a1714535cc458c5146aa8b8c7b2c047ac76fb3d306174cc370873e25ec207dea86d8430a7ed130701c671697185c385dfe0410d91799ee546b4d6347ddc146947a9a5692c64445ac60a9259a7596ee8421eef78bac115dc95067e002aa89b814dfb1498ae7829517c8ab587afef52d4f4068eb21686e4416d93c51efc2ae6eb1cb1304228728769f08a4bb64893231c4be107a6de473afe6a1a3969b610a87fe2bbde35c31d1530b05aaae1afb69c07b6c6d4753b16588413aa588726f80cabafed3323f412abd2579096a44c30991eba87bb4d667bbab5e848a0bb178441aec4d00477310ec4e33677925985e1aa7b9965a103cf14fdb004a60406994e0a2fa5a5df0465cbb11a54298cfb109488564aea65b5eaef171716719916a4615d3ad708c8a825874b7cb671a5b61f5c3c9b9325ff964046cebc4991343b0eb199b9099f04c97e28aaaf0bacdeb4a007f956530c712ecd49017d73c8e498fab650608106174c7141a7373e27b3d11c2b06455b4f1c1471f8a0bc73c4299c47eadb75fa75210cd813798d84aea44a1303c95ec02cf4602a496a86ba364babeb7603195c7cad66d75b46d763094fb0b2760b048af1262954b5bf5833cbebc2ada183bc207290f094b6e9c2ba622914604aeba35237d17606d1b76330172f74a06821b07d8348979070b31ea32166568c261c91df097e41cc1ae4bcbd3e1525f179f8acb232bd056a5e18eca475f40e0cefea85d664bb87918339f407831c27da3ea42da34be7be4beed4c8a5ca805cb209d51a826d32c2125e204f5c87944372c3c1952d5f8b1873c1c6899b85748448116b3aa85156df381371763aab6c8b801b19ccaa1f87c4097c3c351c62ef1c697763915eec69389671081562e76701d805b2a62692b6f3a17fc163339f49edd205e65ac81fee42eb689726a960711e1b2ab7c15e385717946c27c86116b635873324bf2fa21a5c194492571ab5a7afa1427aed8245164a23f2518a4f4016bb9af0c14a16ab67675767d5a165948261f4df2bf1ad7cbd259cd31944cb7880920dcb227d62b17cba049388b340173221559f0b70baa055ca7ea75b0468ea1997fc88c39e1547350eb4f6d7ab32142888d6c070357b6e8500c43182240863b002bad191bc0e189c0a0f481afe268dd9abf93938d572cac462c710b67507a913936739e83407412db51ee778570692006a3399e12beed2c2bef5a43bf356a27d1222f267b2d6ca313315905b7550c7c150827c8eef97803159d86127029388fb3b733a6f1b83b638dc08778ae53bdb4751ede5cc520e7787e86cb3e5c64e69a7fc0b678783a702eac5b7cb75e809b61f3f46848b55f4224bd2f098fcebc7d5e98952f410e774b520413a847046149e1a36339c8807cae45144180a2bb7445626f1b2bed9c0d9fdb5620450b69fbb972f6beccc9cd12591b22957f94f47ad7022acec4233cf86e25631b8e975eef2348776207b56acfcfc5b1e43c3e64591fa4129077c4028c7b5c54734945a7bc986a4f4719867f219978115aeaa06929812506a40426f43a899892de243da4e9940db29ccd421fde03c80c79ba1c1a1b163170abf21cc32130c19ba2c9f30d95b78d560344971ca8fc9cb899b082fa21aef5110b32dcb13a369364d44f3aea0c4e7c49f22cc0a3c07b0c134e9ca3bdff78283592050f8c99f0e467ed39cc32a9cff97cbebc90aff850a1b1a20837e02d516033ec9cb4337a1168e013587bc4db0a7a4cb52c3496c0371c1699520d05c68d81885920812af1841eeb8570783aa6cc0088d67ba2f7acb19370b1a9e2066528bf38830e9c72c3021b6e49640805979bbf662404236bfb74717659268d4129943120aeec2132c5a205b7b3a6b8bc6c944fbb035315c24666f1ae53451b52b9b850f15e0c71a086391741cba130d07b96faa70971a2d974bd6219a2339098356ba3b573a33b2837d3d186a26559b0d2325ab88ba9e0cccba484a14b2f73c54204c3111e846249a9cbbbeb8e7d1b448f353ff7a35d1600a6c8e87c06f653930bc1c3796fc0e8001a3cce3a37745382467f614af24c832757390cd0566f0c443c7c5539c72927ea1394005ce4b8bc223905639b1c7babb06a4fc08ad10190d2a178865abfa35607e1a88b47ec8ea71b102d7f1567bed46a -sk = 91c087e623025864c3c5d9049e865c6226cdd2b39f8a1578eb69a864ccb2fa155db32702def5b50e973495997e18c6c21756568802a4bbb86c5018016fcb0655b09e6a4b39a8ba2d70e32bbb255bdd296c998a21f5716d49968dd02a9c4f4cb9dc72c874c232011225f8e8840f7589c2d285c1e72c8588c0a33a502a385d0527186cc6809185408e9c7fe6262725528a439332f93a5ba2943e6dd7b30d79a25939a4c0802bf57c755a5a0ebbdc8390f8aee407a541c46cb1530fe1642215556d20ab942ddbcd1627826648acc3fa1367db0b45075470196b46697d9ec6974f477eda553f80b701e853398c69a6e4970a746534928631e6b811e533a4d1e89cdd6969bfe0c861d2cec3e16d0035bb50573ed61b5dbd45c8c5b223cef4266c5a6daf104949eabd27d3319bf12a7aaa4e5f636732b28e902a1098972977d98c00a267225b84af1c8c404a52472b8d1a793e370b17a9935ee590331256620e302e390474dd6a17d17a50291b6bb940bc43f89fdd22109a72c8ecf9acb1e67ef6a423396225e6acbff2880c35673135c5183ba37df968330ce992dae04e9455267a195a41893194bc51c67393251a11ed3c0829d99a3d23ceaa387208e00974e73178459bda539bcbe89f5eeb05ee21be3b1159018a3262120c21d4972aba1a1350231d3a646ba70fa5b641ebea1b130470a5ec7c40627035b03d15696be1313b458cc9ac8460cf281a6976a9d2ccaeb9fb157300b4289a55eca386d3d8a7d16c21102aacf361578010042c3a6397e2cb2ea5224141a1d451b38fac14d7b64bd7b72db17408b0a8906cec108bb926df54299261b6b5c6a636b395acb651ce6b6018ea9c92c1525de1624b5570f7000466cc09a909cf36f34687265b61db6bf2882514705fb37346385cbf4df33b98686e0189bddea7268f598db1b6cc7b32792d5546e242a807e760ece7080392823004453048c6f743b87c1670c6d10e3001008a24590294bc9ac899bd588197530fef9c2b85ac66520a195c77a7aff61672c8cb74c07d43a2bab7a764e750663091a005c9af8cc4b55d502169d4293e79b365f60085b1cc2f4900541588819b5edcaa3b80253178639f63a3091701c7e7b04e95435bdd2114bbd3abefb23355591b0ff102bc94b56b338083b82328712733f2762c5b1d0845073cb3b46aa28ce2cb282a4347f2118a6e062d7e8524147545488a01378a853d489c03eb0c6527307fb0ca5f7aab6c328438d33cedc10733ab8a68c7ab88e0b06fc51c92c557fd59488b6245796b7dc291728121bc7643aa5d56c483186cb55086d7e8654691cd5eb97580f0a553a2613c486c0b9566a6f05f9d2b82b57345aeec1368cc126ac53b9e794be471c16a498b743c1848a14d53478fc341a0ada42bc2e0717fb6965737876468515195050d64079d624da1596f88819fdf95653b8217f9885d151821a9529420ac95dd928fc429674025882c9758226194615304f1f5caaa456182c1bb11f0a02b6c758eec4ab6441879a42450a024559697c4494d8aac2f7045342234cd8081c0077c9232e66838460ea26274329988af3a82b898c4efb033ff4101f302a898e84bcedcc45e369cd1bb7f3517280d6655574c5a13f43e3f834632a041d31a7e01ab4e0f06458007063edc8e9d9b31c8ca7fee525656fa4ee9d36258a0bffa5a12922718df123e7ab52caff3845a801222f23eeb946ee00a4a78e0261a6c2a0c16279b5406bf7bbf4b7c3cde22a4beb9c6837c83aefc90c7b0bc21ea3d5854b37da36059dc4094181065d873469cc40db021474abbc8d80fc20a0ad1237dc13716c6a735899bbc68d71012b40505ca6c386ca92080b857a7bf8908476008c6c5fb7e30456e26a6a0c247a6a0a57049c1ce825154d2101f57a5c59dd44d71058423d6449327ae1fc3541ee73e31043ed194b89509bd7c113b77075ba694064dc442fff94a2607a0e25009920a438c537ea21477b39863f38903729875f4e5bf9b05baa0dc492e9b15fd729cbcec5de2d6ad727408e69a301649822e52681721a264696d8af076423babe37ac6c7676e74724804a04cf35ca840e206d99568bc393bf817a8c6a5ced2b9a76b036dc17996c6cab32223ae814338b7169ac1824f129a71eb50a554f8b684b929d9859ce8c019a7823bf24c9fed4588355033f5b22ace43a30478209a8965d587c91428b92fe034a1714535cc458c5146aa8b8c7b2c047ac76fb3d306174cc370873e25ec207dea86d8430a7ed130701c671697185c385dfe0410d91799ee546b4d6347ddc146947a9a5692c64445ac60a9259a7596ee8421eef78bac115dc95067e002aa89b814dfb1498ae7829517c8ab587afef52d4f4068eb21686e4416d93c51efc2ae6eb1cb1304228728769f08a4bb64893231c4be107a6de473afe6a1a3969b610a87fe2bbde35c31d1530b05aaae1afb69c07b6c6d4753b16588413aa588726f80cabafed3323f412abd2579096a44c30991eba87bb4d667bbab5e848a0bb178441aec4d00477310ec4e33677925985e1aa7b9965a103cf14fdb004a60406994e0a2fa5a5df0465cbb11a54298cfb109488564aea65b5eaef171716719916a4615d3ad708c8a825874b7cb671a5b61f5c3c9b9325ff964046cebc4991343b0eb199b9099f04c97e28aaaf0bacdeb4a007f956530c712ecd49017d73c8e498fab650608106174c7141a7373e27b3d11c2b06455b4f1c1471f8a0bc73c4299c47eadb75fa75210cd813798d84aea44a1303c95ec02cf4602a496a86ba364babeb7603195c7cad66d75b46d763094fb0b2760b048af1262954b5bf5833cbebc2ada183bc207290f094b6e9c2ba622914604aeba35237d17606d1b76330172f74a06821b07d8348979070b31ea32166568c261c91df097e41cc1ae4bcbd3e1525f179f8acb232bd056a5e18eca475f40e0cefea85d664bb87918339f407831c27da3ea42da34be7be4beed4c8a5ca805cb209d51a826d32c2125e204f5c87944372c3c1952d5f8b1873c1c6899b85748448116b3aa85156df381371763aab6c8b801b19ccaa1f87c4097c3c351c62ef1c697763915eec69389671081562e76701d805b2a62692b6f3a17fc163339f49edd205e65ac81fee42eb689726a960711e1b2ab7c15e385717946c27c86116b635873324bf2fa21a5c194492571ab5a7afa1427aed8245164a23f2518a4f4016bb9af0c14a16ab67675767d5a165948261f4df2bf1ad7cbd259cd31944cb7880920dcb227d62b17cba049388b340173221559f0b70baa055ca7ea75b0468ea1997fc88c39e1547350eb4f6d7ab32142888d6c070357b6e8500c43182240863b002bad191bc0e189c0a0f481afe268dd9abf93938d572cac462c710b67507a913936739e83407412db51ee778570692006a3399e12beed2c2bef5a43bf356a27d1222f267b2d6ca313315905b7550c7c150827c8eef97803159d86127029388fb3b733a6f1b83b638dc08778ae53bdb4751ede5cc520e7787e86cb3e5c64e69a7fc0b678783a702eac5b7cb75e809b61f3f46848b55f4224bd2f098fcebc7d5e98952f410e774b520413a847046149e1a36339c8807cae45144180a2bb7445626f1b2bed9c0d9fdb5620450b69fbb972f6beccc9cd12591b22957f94f47ad7022acec4233cf86e25631b8e975eef2348776207b56acfcfc5b1e43c3e64591fa4129077c4028c7b5c54734945a7bc986a4f4719867f219978115aeaa06929812506a40426f43a899892de243da4e9940db29ccd421fde03c80c79ba1c1a1b163170abf21cc32130c19ba2c9f30d95b78d560344971ca8fc9cb899b082fa21aef5110b32dcb13a369364d44f3aea0c4e7c49f22cc0a3c07b0c134e9ca3bdff78283592050f8c99f0e467ed39cc32a9cff97cbebc90aff850a1b1a20837e02d516033ec9cb4337a1168e013587bc4db0a7a4cb52c3496c0371c1699520d05c68d81885920812af1841eeb8570783aa6cc0088d67ba2f7acb19370b1a9e2066528bf38830e9c72c3021b6e49640805979bbf662404236bfb74717659268d4129943120aeec2132c5a205b7b3a6b8bc6c944fbb035315c24666f1ae53451b52b9b850f15e0c71a086391741cba130d07b96faa70971a2d974bd6219a2339098356ba3b573a33b2837d3d186a26559b0d2325ab88ba9e0cccba484a14b2f73c54204c3111e846249a9cbbbeb8e7d1b448f353ff7a35d1600a6c8e87c06f653930bc1c3796fc0e8001a3cce3a37745382467f614af24c832757390cd0566f0c443c7c5539c72927ea1394005ce4b8bc223905639b1c7babb06a4fc08ad10190d2a178865abfa35607e1a88b47ec8ea71b102d7f1567bed46a0163017a26dba83777c4c0f46f31375ba02680ffaba588a9fe91f97ccb99c445fc9ebbe336dc464489861db8253606971bd0a9008a433ed17752d04023781552 -m = 4b3a70d85f640d1a2a852fb6fe96704af56a7415a8ee4282e9207bc3a2dc116a -ct = 05137d496e7d3ebffd4430827cbe9b7bc869c9803ab9af3c34c135f1e7cc66e8f3464f87bc8a592708da36dfe0ec366cc6356ae18c007e7d1ae5e7dbc8ea6a2c6e8c612db2e321a1515e1ce0214c23a427cd38d1c06b7090975872fbe6a4a28fb653397d65efcbf5e11d6758e81800b8cda09f55c139624926043ff3c77ba812f4f438c2531b8acefb59626a250892634ba5129a500e6c56ba301a3ffdf9f174b4581e6a6775acf6f593ff74de836fb05667775f3ede72c840923e14ff3109324e61f83302ae3a6c66faa9bb2a4e1247572f00bde58c25b291c51a69a3659bf98e4fa391b0c33d419ba71fd082ac35bf067b309f9bc331272b7f6b17213141a21e59b151bc21ee8b500e0e6f59562d60c2ed4680ae0d9944472e970c34493c67661ae64e63337abdd2825f592c0b24ee7e976170d15020a2983c54072608607cfb953971b5f30bb072014c367fcb5a3ef640900038da2e965f8168dcb045c37d2559ee3f44f2de030cb4c50a6947a29dee340e8f7ae57ff5de5630c1dc81d5c7832c012b1f58e837d76492a8d38ddeee49e42521f97da6b9cdb0452d17ea50678da145f62677573a6fbcdc2a852ddded1df2456b476b03c5080d7e7af4424bfa1e9afecec70c4c512c0be6dc8529ffa68a6b5794f1529825e8dbfb228a90da078ed15e81a008c7a8229c6f3607a087090e22e39120571692a25924de1ef6c2fa65ba2aa7283fb474cad1180f65f1def6b8f512e5c31c111c5faa83f666c72aa08c1d8856eb2d4f72a7e2e7db8c497666a3bb7e77ddae260153229128b20e116b15f2b6182d1db7aae791e33dcb828f39fe679e19327b5aaca9313a16b27bbcbb27c737a8ab542bc92e805e811e94894e3401abeb65cabc0d7194997bebd5fa2c09e33ef5ef8e492816ef5b9ee9e7b554baedb01046700199b8e11d57c7f60dba7d7c14129aa39af90d4f8eab62c8c2a9a8743a1e69cca0ffd30266aab15957bae518c2b6a4435e5b9c10dd34b4e0f5b3b79d8585c760d3e3f98c410ebcb75fcdc716f03f400491005469aace82d4f796bbf9827bb483ff0c518cfcf553742fe68139dd8a4346759871b820b6b7f47f499487b1755028a5e0b128f3cd465c2a9342d8e2d1702ebdf934b787ecea9abef1fae537d7b9cddaae4d668f7d0a3d28a148c632cd39d7729ad78d9ecea8c73a1edfe496c76012693cdc18ee73e3cdbb698eef63d1d0a917c0945155be8371be2f3854c3b1fd1d4851139c20c736efec86ba2300a12ca838b36d8cd117665ee709759a18ebd54b416190a38834a921908349b5f042d188394b4db3f3d628fccf2ff2fa44b9bc1d2bb681533ab1cf682300fda72b5aaf52f16bf31bb54367db56356d153bdc1081a1b48a2c190f5372409d16a4525a8d45445d68d321f25d3c97504574826825812c93f56e51dbedec56b0646baa49b9edce9126c8e67adfeb4f84747c65e27400ed1ac118a00509d5ce093792715e7e91551ce30a8d97d86672bb7914f7ae22d1e6a721e3d3e69e34c207684badd285254efff9132379d1871ee85ccc14ce89556e060dc1b2b8a851c822d4dd29da8c502e6fd79b87fde159260f335feff86fb0ae6542c90df15e77afa890812ce08bf672fc899aadd99389830a643c199b4f4bdf193a7aae511c7ad9b9925867c2185edc4bf6f59ab64021d06dda800a07d0b85879708d21223b0cad3c7dfb9301fcd04339bfa95ee50a1fad6c0b476bb81954cf30c0a65e4c61fe077c9ef05bc484616467c1acb8cd10f5ebe16e3c2bd862fef5335f1d3c4605841a183ef04fc4bc3a2f900468045ea6289e6848755cfa3c7f30beb6487f888f931118e5f1fda7fe933683ccc616807d343ac19d67cfafbfe75287eccdb908210e0fb8d6d8b2eff3212b71add4475037a3804502ec281568556035b15cb16ba8b0ab66148a308976a8d32b45986e1f83397be1becacb007359ddb904c777b814f014680f77692f238be04763aad3992136efbb3e82d3118114b87dcddae80448a254e73edd0aa05b752cd6a1569b27df60d8bc151f307408dc96a3289b8a197aefe97643f43180200c32322e236ad47bdb735ba5ad3134121e7a2ad9dadf55b1eaad48d9851b5f0aa155c0666382ae185bc306ce189632cedef02da34fa482a0948441340b64ba7383bc510631852f1a77d16d50264fa158f624a9fc15476446dd78eb -ss = 67dc4e3d4eb4585613202d538edcfe5d518117d2efbafa083a27713f60822c73 +sk = 91c087e623025864c3c5d9049e865c6226cdd2b39f8a1578eb69a864ccb2fa155db32702def5b50e973495997e18c6c21756568802a4bbb86c5018016fcb0655b09e6a4b39a8ba2d70e32bbb255bdd296c998a21f5716d49968dd02a9c4f4cb9dc72c874c232011225f8e8840f7589c2d285c1e72c8588c0a33a502a385d0527186cc6809185408e9c7fe6262725528a439332f93a5ba2943e6dd7b30d79a25939a4c0802bf57c755a5a0ebbdc8390f8aee407a541c46cb1530fe1642215556d20ab942ddbcd1627826648acc3fa1367db0b45075470196b46697d9ec6974f477eda553f80b701e853398c69a6e4970a746534928631e6b811e533a4d1e89cdd6969bfe0c861d2cec3e16d0035bb50573ed61b5dbd45c8c5b223cef4266c5a6daf104949eabd27d3319bf12a7aaa4e5f636732b28e902a1098972977d98c00a267225b84af1c8c404a52472b8d1a793e370b17a9935ee590331256620e302e390474dd6a17d17a50291b6bb940bc43f89fdd22109a72c8ecf9acb1e67ef6a423396225e6acbff2880c35673135c5183ba37df968330ce992dae04e9455267a195a41893194bc51c67393251a11ed3c0829d99a3d23ceaa387208e00974e73178459bda539bcbe89f5eeb05ee21be3b1159018a3262120c21d4972aba1a1350231d3a646ba70fa5b641ebea1b130470a5ec7c40627035b03d15696be1313b458cc9ac8460cf281a6976a9d2ccaeb9fb157300b4289a55eca386d3d8a7d16c21102aacf361578010042c3a6397e2cb2ea5224141a1d451b38fac14d7b64bd7b72db17408b0a8906cec108bb926df54299261b6b5c6a636b395acb651ce6b6018ea9c92c1525de1624b5570f7000466cc09a909cf36f34687265b61db6bf2882514705fb37346385cbf4df33b98686e0189bddea7268f598db1b6cc7b32792d5546e242a807e760ece7080392823004453048c6f743b87c1670c6d10e3001008a24590294bc9ac899bd588197530fef9c2b85ac66520a195c77a7aff61672c8cb74c07d43a2bab7a764e750663091a005c9af8cc4b55d502169d4293e79b365f60085b1cc2f4900541588819b5edcaa3b80253178639f63a3091701c7e7b04e95435bdd2114bbd3abefb23355591b0ff102bc94b56b338083b82328712733f2762c5b1d0845073cb3b46aa28ce2cb282a4347f2118a6e062d7e8524147545488a01378a853d489c03eb0c6527307fb0ca5f7aab6c328438d33cedc10733ab8a68c7ab88e0b06fc51c92c557fd59488b6245796b7dc291728121bc7643aa5d56c483186cb55086d7e8654691cd5eb97580f0a553a2613c486c0b9566a6f05f9d2b82b57345aeec1368cc126ac53b9e794be471c16a498b743c1848a14d53478fc341a0ada42bc2e0717fb6965737876468515195050d64079d624da1596f88819fdf95653b8217f9885d151821a9529420ac95dd928fc429674025882c9758226194615304f1f5caaa456182c1bb11f0a02b6c758eec4ab6441879a42450a024559697c4494d8aac2f7045342234cd8081c0077c9232e66838460ea26274329988af3a82b898c4efb033ff4101f302a898e84bcedcc45e369cd1bb7f3517280d6655574c5a13f43e3f834632a041d31a7e01ab4e0f06458007063edc8e9d9b31c8ca7fee525656fa4ee9d36258a0bffa5a12922718df123e7ab52caff3845a801222f23eeb946ee00a4a78e0261a6c2a0c16279b5406bf7bbf4b7c3cde22a4beb9c6837c83aefc90c7b0bc21ea3d5854b37da36059dc4094181065d873469cc40db021474abbc8d80fc20a0ad1237dc13716c6a735899bbc68d71012b40505ca6c386ca92080b857a7bf8908476008c6c5fb7e30456e26a6a0c247a6a0a57049c1ce825154d2101f57a5c59dd44d71058423d6449327ae1fc3541ee73e31043ed194b89509bd7c113b77075ba694064dc442fff94a2607a0e25009920a438c537ea21477b39863f38903729875f4e5bf9b05baa0dc492e9b15fd729cbcec5de2d6ad727408e69a301649822e52681721a264696d8af076423babe37ac6c7676e74724804a04cf35ca840e206d99568bc393bf817a8c6a5ced2b9a76b036dc17996c6cab32223ae814338b7169ac1824f129a71eb50a554f8b684b929d9859ce8c019a7823bf24c9fed4588355033f5b22ace43a30478209a8965d587c91428b92fe034a1714535cc458c5146aa8b8c7b2c047ac76fb3d306174cc370873e25ec207dea86d8430a7ed130701c671697185c385dfe0410d91799ee546b4d6347ddc146947a9a5692c64445ac60a9259a7596ee8421eef78bac115dc95067e002aa89b814dfb1498ae7829517c8ab587afef52d4f4068eb21686e4416d93c51efc2ae6eb1cb1304228728769f08a4bb64893231c4be107a6de473afe6a1a3969b610a87fe2bbde35c31d1530b05aaae1afb69c07b6c6d4753b16588413aa588726f80cabafed3323f412abd2579096a44c30991eba87bb4d667bbab5e848a0bb178441aec4d00477310ec4e33677925985e1aa7b9965a103cf14fdb004a60406994e0a2fa5a5df0465cbb11a54298cfb109488564aea65b5eaef171716719916a4615d3ad708c8a825874b7cb671a5b61f5c3c9b9325ff964046cebc4991343b0eb199b9099f04c97e28aaaf0bacdeb4a007f956530c712ecd49017d73c8e498fab650608106174c7141a7373e27b3d11c2b06455b4f1c1471f8a0bc73c4299c47eadb75fa75210cd813798d84aea44a1303c95ec02cf4602a496a86ba364babeb7603195c7cad66d75b46d763094fb0b2760b048af1262954b5bf5833cbebc2ada183bc207290f094b6e9c2ba622914604aeba35237d17606d1b76330172f74a06821b07d8348979070b31ea32166568c261c91df097e41cc1ae4bcbd3e1525f179f8acb232bd056a5e18eca475f40e0cefea85d664bb87918339f407831c27da3ea42da34be7be4beed4c8a5ca805cb209d51a826d32c2125e204f5c87944372c3c1952d5f8b1873c1c6899b85748448116b3aa85156df381371763aab6c8b801b19ccaa1f87c4097c3c351c62ef1c697763915eec69389671081562e76701d805b2a62692b6f3a17fc163339f49edd205e65ac81fee42eb689726a960711e1b2ab7c15e385717946c27c86116b635873324bf2fa21a5c194492571ab5a7afa1427aed8245164a23f2518a4f4016bb9af0c14a16ab67675767d5a165948261f4df2bf1ad7cbd259cd31944cb7880920dcb227d62b17cba049388b340173221559f0b70baa055ca7ea75b0468ea1997fc88c39e1547350eb4f6d7ab32142888d6c070357b6e8500c43182240863b002bad191bc0e189c0a0f481afe268dd9abf93938d572cac462c710b67507a913936739e83407412db51ee778570692006a3399e12beed2c2bef5a43bf356a27d1222f267b2d6ca313315905b7550c7c150827c8eef97803159d86127029388fb3b733a6f1b83b638dc08778ae53bdb4751ede5cc520e7787e86cb3e5c64e69a7fc0b678783a702eac5b7cb75e809b61f3f46848b55f4224bd2f098fcebc7d5e98952f410e774b520413a847046149e1a36339c8807cae45144180a2bb7445626f1b2bed9c0d9fdb5620450b69fbb972f6beccc9cd12591b22957f94f47ad7022acec4233cf86e25631b8e975eef2348776207b56acfcfc5b1e43c3e64591fa4129077c4028c7b5c54734945a7bc986a4f4719867f219978115aeaa06929812506a40426f43a899892de243da4e9940db29ccd421fde03c80c79ba1c1a1b163170abf21cc32130c19ba2c9f30d95b78d560344971ca8fc9cb899b082fa21aef5110b32dcb13a369364d44f3aea0c4e7c49f22cc0a3c07b0c134e9ca3bdff78283592050f8c99f0e467ed39cc32a9cff97cbebc90aff850a1b1a20837e02d516033ec9cb4337a1168e013587bc4db0a7a4cb52c3496c0371c1699520d05c68d81885920812af1841eeb8570783aa6cc0088d67ba2f7acb19370b1a9e2066528bf38830e9c72c3021b6e49640805979bbf662404236bfb74717659268d4129943120aeec2132c5a205b7b3a6b8bc6c944fbb035315c24666f1ae53451b52b9b850f15e0c71a086391741cba130d07b96faa70971a2d974bd6219a2339098356ba3b573a33b2837d3d186a26559b0d2325ab88ba9e0cccba484a14b2f73c54204c3111e846249a9cbbbeb8e7d1b448f353ff7a35d1600a6c8e87c06f653930bc1c3796fc0e8001a3cce3a37745382467f614af24c832757390cd0566f0c443c7c5539c72927ea1394005ce4b8bc223905639b1c7babb06a4fc08ad10190d2a178865abfa35607e1a88b47ec8ea71b102d7f1567bed46a0163017a26dba83777c4c0f46f31375ba02680ffaba588a9fe91f97ccb99c445870a300648d2b1f1a637374278bc62b5abb56380cde88eacfbadb3224795a125 +m = 9db1c63ef94f37d77f386dfe00d619e2d6789fe8237028e79b7b1eed9c16ff5a +ct = 5dce243c9610edfe570bed2b4ced7381c35982d8103c344ae584fb9a73fb35f17424f6e5cf4ce93ba82a4f2c6d976be7281b8ece9a814072822dcc6bbe6b72f3833826d07673104b7707b2e9599b85e8b087ea2b26fcb89c62bc7694fba0a6ea012829380327e351bc44d36c009826446c4f1ef21d799143e8eb95490d4929305f0e1a3aad2035a8b32cbe0d725ba83099308791644bc4e6258e3a00339e4b9b15e1c9e35beb754eac6e41b7e045e055823349154214d0498386cc0ca85917982419c177c3d25d6dc3ae9485aaca74b629bd4d4964ee9fe9f5d58cc541f57bef4e21360bf306b0f7a0f8cda8eb0975041afd79dd2a2fe2cf0bd2c5d974607cc0c9b6b153948975cbf4cb3caabba638ae00ad92b50cbb5037f59d0b389ae571ef026674548bb7dd465427d723a6905d2216316be1894ff79eb5717d9a538c3937895dc6f099d2591885165546b7f6d5aff851efbc606312d1b84587602c49ec6a24e8af70da33c46f3f4cb424d0a049cc6d4f54fb4dc0b0cb06fe678969431031f0da59c62ba8cba7a75bc45fb0ddf0077b6b5345dba1eb5d29c9d42c8fafabbfde2a42d83dbc46aaa6e4d68a1faf2248a900e856ea3c83b5b10460f86f108dfe54d75afce5a4424466e7b1ea275f6a89cbf949918ac66c78e2933d538da62a7836af7c5a14a9660d42b7bb971f4aed00e6dff585c59a25d7c596bd7ad19233b0f59c4e2b74caa9469c55cf1776f2443282add5072f229eaa6e3551c1b6a8db570c72874c456f3053c9b4100326b318a06f3151510daa577f25f7048f789aadae58ff0158fe6a91f3ed80077d49fe82f56a7eb914c85deb5edece0cd69827b21d6927c8e7d69d678be0344942dd99bff1c70e113c8a091efeefde2ff1a796c01b72057d068db8a07886ce9c13229d2ebe1ad161e8149c52b20ad812213aeee72df274bf4ce20a01706ec9274e2ad9a581e7690c4a229664f1d332b3660bbbb84f0ce18b3d63f76db3756bb7ecee5525504f5f69cd5053f15cae529ae16c3581a230a95707311b3f58f8cd242da0a9a6b5b0441117e45e1cf9f09c25bd248dfb6a9796e1993b2f65cc1ad6785be7d6a781da771f54f4fd93cf218d87b12a6662aa996fbd7291514b28c00e70843e00f529753a24e0fb290b8b938556190e4c47742413c1b77f81f66c588bc76fc796cb086bb7470c198ed43a5b296c9e0cc66430b7b6f125fcc871823bf932772bf96a852bda78225ba316241a0d7434f1686dae4de5c50114b0c3bd0db524e057666b6ab8daeba7151bb214ccce79cb31c459c879c1bb8682d2ada0a811f193211a1b8cdd367f9dd5bac30e3eb1fd476a6f1c58f4d7cb5dc11afbaedb7e523f664a2f53b615154542a423c651acc18273b5f76b6b928b035e465928b8ed9a71cdd6eaa0ed56ee7b1f6ff3ea125052e144ca7e1e8a8517f39d0c1a3de2670f1c7a425759cec541156275db9494074d05a51939c169a6b9c2ac30641d2d69335ef0fe715f6450e43ec1d9c8d258d4bfab7efb4e7fcf13eedb9c489c8dc71468e7233768c3fdcf64467af74c97bdcbf5a11e10064dd672618dbef96a0830445f920a2de130512649b4561da0ecb7c9cb5df08bd6766ebbe5c68d7a9145cbda197bb15da759d4db7d7a1528df7ea311cc306245bb705d30478b706960d7c32864fd675945bcd559490375e95b1880b163a3a8c4f844246ae8ad786473f5dc1d2c08740298593945100eea1ce86fba6a8de0aaf45b18152178da59f9d1021974e5ac291760500aa157698417de4d0df1e0ca85e32fb7d5e7d4543bf51a3431fdb6861c89519e3eb62169147d93de51466fa292834dba9d4ae79e4c839474085be2d1e6da384d7fe7366bd654e4b6ac38337b4a7caef3bb863aa632f8f64d587e4d43b6cbaa628f880285d258a0dfbd5733432e2dfa6216dffd19e38e94e594f235bbc7c292b1ce35fb94267b4f86a6b93e727e38d4728b3148853b8c5b8660fc65693a274c67592ca40796eb11f5e6a6b5b453974777580222054b3a49066f481b0ad8d81d35101d6c069c2d2c4de5cb4603ce78f12cab91a0488c5e5418e1097fe8a07c2c39eb02701e242071fcee8025f8d050faa2c21bc9b271b9e4f7e703a43b5a7a45c6e07cd9d621debd16c7e60c8499ed17bd35b5aba4c75b0a764d21bcaaf43e23e4ed62010fd41718c557cd5181fc22966a +ss = ee12d894aafd4c6eafc0cbe30aef38d3f651c399a29db17b773c35ff3bd3caaa d = 293abb6d1c207927945417cf84883ef010823e11b487ed55239e466e83696d0c -z = ff8563038aad865a817cab9ce98846ba75be9363718ecf5fea538aea90b2a558 +z = 0914d81173bfd7729d81603deb601c93969b81c401e2b7b922b2873f8aa2d998 pk = 6bb90f94c8b62859c31e146647948785b225ce860769fc51df7c4310984254f927b1c200834876b23a635869c90df39bbe36094bf6b4835750a6f3788bbb7a3140a7f85b1c5cc8bdb386a0f15297ca9c6462b21df7c11845788c130313c642ba127c8de50695e1eac8e245535cec4547aabd3f455fed566b733c499fc913ef440addb37107e3032476aadb55cc0cd93e317a8ce2439f2464278884915c54b97e882dc44817488994c0109adad13c5102847bec7730a57227158c4ad1b51afb66d5c01bb6d2cbd1a7083fa6b049912f736824ad40a1acb22f2cfc9c3d145545bb6494d0159c40c12bc84e8d22bb8e1a76c237020949698175b21410cd4c7bb567c52b08fa6253a50e4f1573abb18f74abb9837cce85545f8992c9cfab66f800525841948b18b7ef3a2b0961c4c7e8902acaccfc865b45a5209fd5a4db705f94122fc69196e3b56139173b32ec9063c4151b2819bf9c7b5d7626b01cc420c86d1070428d4a774177035269a46ada8ec0e02230fc6b066c57dbb875a8f294e66166f3d7b95edc3ab66b15d7b55dac16182c13b371d82c42b85313c65da7eba0920914acf8a28f44acf54bba1ee77736c9763036c73f4a56eca95da849c284f1589af30d00dd6893e70d571700b9a07baa6083b2c50ec4eb95e2236402f7b50c87a9305a8b5eb25664d74d4337af268b48bd1855574405ea6237bc057e191cc6743742dd5a66373b110d380bf7c03039296f56ca700ae07d1a826965d55d86c19902762e75f10cef33664f099f8440634b2299a474bb8af328a3e011bca75db90b90c52c1699c1bdcec31565e411fd1c6ad2d08eba8c50b66a57cf10a98e2335327b011a4c3e11f58415b6c38f1821a69671fc2481920c896b389cc5783c5fd3b7d974ce03375142815e86e13ed4e052b1e009a25a2097c02f3eb337c3c85551ba14e1c22036916cb993612c809bec807da4e25cd8094c36720d376982650a986396504893bb0d82389886942ed1aab5bacf3957aa8d191dc56c4049a0714d89bc3af9680ee602e154b5e1c35f1c0440eeb0ccab22103945623fc201939aa71f99ba8c409bff83276f84879e590d9a448e1f052188285de9668260282e8ecc630c15ab164271ace0c954f13944fa9f4eb3a848f11ce7f0a439ba07a469720d4506ecf6cfa241136b469c12e48f137601f39a5adacc54b094127d2c27fe38aa461c76003b9ecdcccaaa2b16d1e9a164122a0b1a1fb751bfefab4a1640a792d2381a74aae77084a4e3cc33275eaa595733fc4a99d43be88803244b449ac71da53b2cf30043c929811c9a558a165da241afaa8c45b07c27876c8ff77b721b21022c958323b41ffb606c656519875b8bc6e897854c08ec10611b954c693568070528824b509f83a3e6c505b6e3203afa863bca408403c0ae86a374c1613917bc06b94dda73a8e0c98cf54a60cea727cf1334b324343b2c47df4a843e467989e4160e1611c1558928717d794290cc3911eb70200f51152d04871ca46d2753836791ba98aaabf697adc925a827cb7f3ad01069f5748778b5946c78ef9688e16a5326577ad5a5773db939d2631b04545c530c9b99141f4d213158d213163bca141c7949f24958b9aa67089488a732189ca923301143a1728a6707a6e8aa5bfc4d05b6cd1971290114542386231cf04c2c80cb28e50026c66763a570d173612f142ef1ebc6cc9a82f7fc10b7104b7ed6b30c95c5a63a5e1e52450c1c26ca11613b2b3ceed10968e85c0a9539c28242f1b9a083c0109036c6aa9349f201648ef14d67094af9715422885c7d69627702943bf0955d90496dbb0c0f2b3137b89c62903af74b2783b11748bb6df46403b69701e1d9a1e8a63f01cb969fe9ce00d7b539159e75372dff7a85ba660aa8471ade291fc782403f16bc2bf1c4d1a138a0160cf44246fcea7666276318940624a32b4af5b15f8b4da5a05557bc819db8884825b8c2770d6636a16a296daec0752e961cc4d11d61826d883a61f74203006a83380a0f9e5280fc1b831567136d178a906363bb801411e069b461027a0887dd14ad80867ea0f595fe1951f1cc8403198ec483632b189a0bb3979bface3f9a5401916b35e996e1336cf13249d0cc33ecf610f9811c27aab55c52944298c3a13158c38501813c8d7f9447579fcb9bd38af3b64cc94782e299e1d98e68f8bcefa20d1e8db8552516 -sk = 817471e55466b5babf92a2ad879c9c951ba60d230add630984b2528f9aa07ff755d7d79a2f9ab53d8986fd90895d5401dd97ad3f7a922516279b5858f2087e6491b7bc42b8a52a5952f23622d5603a0a3152990cfd6ab9cd863345d8be5e295c06b79332b0ac89282e61e5534fe0aac95aca140398b64175235b94417b8799a4b6d6933a8b815bfbdccf886664e7b8c5cb0b999bdcb2bdb288d569666c421e2a950d198158c0d36ced3a74d9032ab7a2b9f276be025296a773266e516826480e520b844eb69710120373a94705f9030ca200a7f85a94db1f55d46081570925a476099c3ebdb32c532a6d8f16be4de6416d0c30d450808cd3c08131a92551985b92255282be6087703f182156a13cd144aca3924fd15492dfd253ee5c9e78853590930521e843a0e37a26994197b3161ee1a60861c344720286b6566796787b05cb8fd76a419c364f1830fe2bcd3a2970e2dac1dbbb3803f8053591b29bf64c2dc660ea9938200738e2c0c318b77ff86749c43c72f9667d80d462d549bdfea30cb0d9641b29308a461df72914b4b40213b62e68b161f83224c1a45472b5464f97c6d6371c69ca0d520426db8c1e938a934d50ae0b03be706b74cb8c674ea955a4d8ae1f6c0b56263041fca1871a5799921c45d9bbf13c01f0a9c5d973086b33acf923a2721c8b2fa7b058bb2e64f43bd80260b6bb19f26a4f55d53e7ccb1bfe3aa424976132c3b4b3a00908e722557a3657d285c8580ef45b76a207cb31a71402ba1ef280048378b80dc3312f78a74065b2dc873b22d37990e465e425b992722a25009a93a7a005d91b9460ab7c2336bd303883a151e829234c964265e42fbf8252cb89858d590cf0830e59c54021b83da94884a173be6bc454ad5a719252beb52a4f7544a7fbc03ce9091e9acc0568306e5bec2ed942b39a8455fa341b84571ac3fca43c14563f91395d117ab021c8f141a4ec7364ba4abdd8896bc6b281c751a66c767ac960ab52058335e14e7fd8a4e1d44de2670f9bbc67f682a0657530eba11c31381897d989bd392fae02d0afbaa5afa1748a80847af4b326f970c6161e15b212a1c66003a4317348374e66b29fe87f36d01af5f1c75be11bfea21dd8626765c46f0c153d0555b419227d50da5232810d8517b1a5e4147a52ad07012d8da23829f39a40c70d565937c58a11b1a25b27c8207246c4e1b40230e39e4f089d43d562ef954f332b7ea6b36ea28a9d26eb251ab562c0e44bd238874e93a4d3b900a4b2b08a0b68c2b82c0cb56325548da3316279672913d2021d742c3619823c4391e64112b5b77e8d707f9c1a37d3464cd5f96543f720a0cc6c9631458cd9cedea7b6fcaa76d1e60c44f74b986a772cf593ae712214e21179519c39fa533a724fe8177ea59b1123e831e1dc561543a7e559697572157b60499c4c615d02099d34b0738581061a85b2dcaaf13556208b3e5af388392490fc338dbc55bbf7d25f49f61bd7363cbe3841aafab88524b0ca3381f5b22dc84c6a112979c3c39e45157c0749c04b022f83f53733a21e1f1842e0e72f78c6ae1e337b53215ae8563b16d99ebd6225766185a0d92f9a28bbf4e2b444b7c8225148f601d014bbb8839b4b8b21a2728268a0941d3a733170fa7606b5bf25739e5dca5da49c1bc01295d6b47faf3c2fbe8594c4f0ac085cbba4194ba0613f475b424e7ba1aed1c5a272062fd878b02644d3b90f66c12c4b64c870f806ccca4a36ba838d4799a861b3f32ac8dc9a403930b5c529c8ffa8038db52c5dd2a5a31ac425f835317589369631036b487f192fcfbc9ae2b4834135365f27cc57c1208204a2ce7c03f9467ba6688a9555476a935e6006b6912091c80ca777d9a0cc9274ca04366e9a967e047dde5105eb196f8e71694a01bab8c33e99e7acab053b4785bed85c9eab4276b24274a843048de5a49c289334fc0d447034ebeb5681d87ab1a8a5b938a27521cfb89212d6594af040719f344931704a74e294886ac351a4854eec2a01b0006e602bf6d0b545c78d88c7c76fb13547ba600ab07ce5c87770377c0868204df75ee4f84a1619ba335029b68278f45b6565029ba5cc8c0f1b900c845ff1619b7fd9a9ee148003e9b09ed4c7bba8a8873b8841bc20d1aa257f78ca54941bd0a0380a922eed8a226bb90f94c8b62859c31e146647948785b225ce860769fc51df7c4310984254f927b1c200834876b23a635869c90df39bbe36094bf6b4835750a6f3788bbb7a3140a7f85b1c5cc8bdb386a0f15297ca9c6462b21df7c11845788c130313c642ba127c8de50695e1eac8e245535cec4547aabd3f455fed566b733c499fc913ef440addb37107e3032476aadb55cc0cd93e317a8ce2439f2464278884915c54b97e882dc44817488994c0109adad13c5102847bec7730a57227158c4ad1b51afb66d5c01bb6d2cbd1a7083fa6b049912f736824ad40a1acb22f2cfc9c3d145545bb6494d0159c40c12bc84e8d22bb8e1a76c237020949698175b21410cd4c7bb567c52b08fa6253a50e4f1573abb18f74abb9837cce85545f8992c9cfab66f800525841948b18b7ef3a2b0961c4c7e8902acaccfc865b45a5209fd5a4db705f94122fc69196e3b56139173b32ec9063c4151b2819bf9c7b5d7626b01cc420c86d1070428d4a774177035269a46ada8ec0e02230fc6b066c57dbb875a8f294e66166f3d7b95edc3ab66b15d7b55dac16182c13b371d82c42b85313c65da7eba0920914acf8a28f44acf54bba1ee77736c9763036c73f4a56eca95da849c284f1589af30d00dd6893e70d571700b9a07baa6083b2c50ec4eb95e2236402f7b50c87a9305a8b5eb25664d74d4337af268b48bd1855574405ea6237bc057e191cc6743742dd5a66373b110d380bf7c03039296f56ca700ae07d1a826965d55d86c19902762e75f10cef33664f099f8440634b2299a474bb8af328a3e011bca75db90b90c52c1699c1bdcec31565e411fd1c6ad2d08eba8c50b66a57cf10a98e2335327b011a4c3e11f58415b6c38f1821a69671fc2481920c896b389cc5783c5fd3b7d974ce03375142815e86e13ed4e052b1e009a25a2097c02f3eb337c3c85551ba14e1c22036916cb993612c809bec807da4e25cd8094c36720d376982650a986396504893bb0d82389886942ed1aab5bacf3957aa8d191dc56c4049a0714d89bc3af9680ee602e154b5e1c35f1c0440eeb0ccab22103945623fc201939aa71f99ba8c409bff83276f84879e590d9a448e1f052188285de9668260282e8ecc630c15ab164271ace0c954f13944fa9f4eb3a848f11ce7f0a439ba07a469720d4506ecf6cfa241136b469c12e48f137601f39a5adacc54b094127d2c27fe38aa461c76003b9ecdcccaaa2b16d1e9a164122a0b1a1fb751bfefab4a1640a792d2381a74aae77084a4e3cc33275eaa595733fc4a99d43be88803244b449ac71da53b2cf30043c929811c9a558a165da241afaa8c45b07c27876c8ff77b721b21022c958323b41ffb606c656519875b8bc6e897854c08ec10611b954c693568070528824b509f83a3e6c505b6e3203afa863bca408403c0ae86a374c1613917bc06b94dda73a8e0c98cf54a60cea727cf1334b324343b2c47df4a843e467989e4160e1611c1558928717d794290cc3911eb70200f51152d04871ca46d2753836791ba98aaabf697adc925a827cb7f3ad01069f5748778b5946c78ef9688e16a5326577ad5a5773db939d2631b04545c530c9b99141f4d213158d213163bca141c7949f24958b9aa67089488a732189ca923301143a1728a6707a6e8aa5bfc4d05b6cd1971290114542386231cf04c2c80cb28e50026c66763a570d173612f142ef1ebc6cc9a82f7fc10b7104b7ed6b30c95c5a63a5e1e52450c1c26ca11613b2b3ceed10968e85c0a9539c28242f1b9a083c0109036c6aa9349f201648ef14d67094af9715422885c7d69627702943bf0955d90496dbb0c0f2b3137b89c62903af74b2783b11748bb6df46403b69701e1d9a1e8a63f01cb969fe9ce00d7b539159e75372dff7a85ba660aa8471ade291fc782403f16bc2bf1c4d1a138a0160cf44246fcea7666276318940624a32b4af5b15f8b4da5a05557bc819db8884825b8c2770d6636a16a296daec0752e961cc4d11d61826d883a61f74203006a83380a0f9e5280fc1b831567136d178a906363bb801411e069b461027a0887dd14ad80867ea0f595fe1951f1cc8403198ec483632b189a0bb3979bface3f9a5401916b35e996e1336cf13249d0cc33ecf610f9811c27aab55c52944298c3a13158c38501813c8d7f9447579fcb9bd38af3b64cc94782e299e1d98e68f8bcefa20d1e8db8552516fb21cf5cc9a8a47a07cb2a154f73676d39a98a7d12a4abbd37378595c6332f46ff8563038aad865a817cab9ce98846ba75be9363718ecf5fea538aea90b2a558 -m = 26e38ac804fb5b4d59ddf747715e7e6041d875f99c7b638024b4af82d622da60 -ct = 7fb2e4cd2517ccdb468f1d22138674798ed8858c4a8d051842d1542310d4101c8a3b7bf826e1ec01ffaa0787d975b1581e425d43ebe5f4cff068f7465fa4c768483d1065f025e0b216503ee1c859def4a6610923633b99ce648b84d28ed308dbf5adbaf56ec03f200482ec8b7f4a4db94fbc5e3e5c59cc89b94d5a720c94ff37c3e58d39d334c36b52da2f57b2c6d7d57a12289664cd1a5580a008d05dca30eaa839e2813534b10bc4eaebc2242c0b9c9695cd54442e1dd6c40580950ccb0fe3883e36ba5955ac4fc011ae411af387e7145c3f23d098cc3de371832fb3db23b3d6bab13a66d57c207ec1f30c01b78e6cf76ed3f25a9799bcfe47850cbea78f2fcd95bb94a09203755ad21a26a19a16113619d375a01dd6814c15544bebfda4d79a274f643e0387195c65367846d2b842f0b996787d5ab2e0e69e8962900b2bb2d7a577dda0c5e31fe1850ea6fe106671734ec5e1497b361b80b33c0feb631d5a3df885f997d2776e773dc1dab1c470569d5aca1fb0ac7ca5ced4918a4974051482b1c9f0bbbfbb2477e87362749ef2e62b85045c99e3f69687a5e0b3eb2bf4531a7bf45b7f2f9f0610a1a9f709f3af5e7671db51a4b990417b9c5c339402adca91c809f641623a952324b84f804de0e392bef9ac9f9e19bc24de56fcd1097bad5e255b80688fe88ed80a26e59dcae4f4e0f64468e4b31592a4a7217f8830a6dc4ed638ee374802612bc783f61a51dedf81446d5a186f5db1b55485074bfa5933109373d131d226f92b58be9591239da01f5d6993f05f8ef10b2fada74960ff45bc593d0cf854fad3b1d8b4d7d88de2954914104423bc0808b9d52c706f4490619cf1199104dc27c3f6a3357277897e540c249a5ab87e40e2df1b54cc523dc33ad1d3f4c3d15a60a9099bc31587839a5973abe8d470e3c9a3e484a6bfcf01b564754b7f4dcf159d1a81252333c22a46a3476fdf98a2f15766ad56834fba916971302ab496b07272c5fad1f04d7c16e87a52f1d690a1b3a9c64fa1f86f68c54e42c4a63021e3f5e7563c4254f15baf5cd5d277a7888c06dd852a4abd9452b2b05928128bd2e3298ae4f31fd2a30cb502e2bc176379a0444f5937cf490a1119d96b451016d83c5ba2c7181e8e505946188228f4ae64213900b56ed08f8528d82125964b90edc288074a26dd5b274a66aa7dccb2537dd6be3a6c934e7fc58ca343a8dd79a8a852507e6ae616a1452d2552a8ed12030170d754cb2ddcf11982b9604c1a869b78573a44715c086beaded92aa821e49bc28f0c9449c64b5f29b82ed21e2ea3076fb24b0557ff78acad7d17e28ced6e6ae1edbb9fbf4f306be843b88d7153234dd9b53689939f32f7ae0d96dea07b5f3c0158f40916e61d4350d27c73586e6f040bd9d89d08d9f6264b041c18f69f0b4a10d4eb13755095e76b8cbc3b775b9e0f3a2f8ee220ad6b32f271e259efb8348054e5d4d11b6f7db5005033d0369e9ee326dd64528ae77379db128474c0bad130200b35e795d5d0bed50bb8b2a3484ac20c3afdab8bd5aa16190ca610f3c1f3279d17d1abb3a3e08534dcc9a1132ce47fa98765c8b50555d00070cbbea86c230a648e51b6c6c6463283004e9e7c787989375e2a95da4883d003c275dcb146038b425d21d27d5476e5f8c2375bed1eb16574754af0aba953f6e32a452163ee1518456424ec6c0d478c73cb911ee63ebae8524dc7c7739cf896031aad91d1fc9f696a8b352d6dfebc4fed01da4d3f5fbefca381328b177e16cacb9153bb1db8c81a2376cff22f10117def351545786513f2aca20b944512a02776d43262faee818ae7bd341c1f1465ff363add0ca8a24486f120c35733cb167279742a1dec1d5e1a9c809375c10fc2e08e70edd13076b02daddae2d9457b8a11102a5b909186b607de530f0217d89e911d217ea50a5fcb6bb0873499c151293e3ca3d24a81e653e8023052d812afd35ba2eb035b401c52704da21b0221e91e225254abd1fe56a8e73f21e0caab206c0fc7bf7efe377697b99084978a97abd3711c710992aea1235477194819bb503b36ee80887e5b1236abc95dab4d0bc721a7e73a2923ce3f94ee27ff213ee31d58b13b3ee045cf8387cc08a291c5cde630d9e8cac9d53aecb0e785e3d53e7586a7eff3ca1869dec6929548296c233b05fe0241a57ce58ebd0a38bb62b35a8b5d6d9a7074ced193 -ss = d008c11b4327b0d63319a59190909a2c98d71c3fcd0a47e9417b93af6eb66478 +sk = 817471e55466b5babf92a2ad879c9c951ba60d230add630984b2528f9aa07ff755d7d79a2f9ab53d8986fd90895d5401dd97ad3f7a922516279b5858f2087e6491b7bc42b8a52a5952f23622d5603a0a3152990cfd6ab9cd863345d8be5e295c06b79332b0ac89282e61e5534fe0aac95aca140398b64175235b94417b8799a4b6d6933a8b815bfbdccf886664e7b8c5cb0b999bdcb2bdb288d569666c421e2a950d198158c0d36ced3a74d9032ab7a2b9f276be025296a773266e516826480e520b844eb69710120373a94705f9030ca200a7f85a94db1f55d46081570925a476099c3ebdb32c532a6d8f16be4de6416d0c30d450808cd3c08131a92551985b92255282be6087703f182156a13cd144aca3924fd15492dfd253ee5c9e78853590930521e843a0e37a26994197b3161ee1a60861c344720286b6566796787b05cb8fd76a419c364f1830fe2bcd3a2970e2dac1dbbb3803f8053591b29bf64c2dc660ea9938200738e2c0c318b77ff86749c43c72f9667d80d462d549bdfea30cb0d9641b29308a461df72914b4b40213b62e68b161f83224c1a45472b5464f97c6d6371c69ca0d520426db8c1e938a934d50ae0b03be706b74cb8c674ea955a4d8ae1f6c0b56263041fca1871a5799921c45d9bbf13c01f0a9c5d973086b33acf923a2721c8b2fa7b058bb2e64f43bd80260b6bb19f26a4f55d53e7ccb1bfe3aa424976132c3b4b3a00908e722557a3657d285c8580ef45b76a207cb31a71402ba1ef280048378b80dc3312f78a74065b2dc873b22d37990e465e425b992722a25009a93a7a005d91b9460ab7c2336bd303883a151e829234c964265e42fbf8252cb89858d590cf0830e59c54021b83da94884a173be6bc454ad5a719252beb52a4f7544a7fbc03ce9091e9acc0568306e5bec2ed942b39a8455fa341b84571ac3fca43c14563f91395d117ab021c8f141a4ec7364ba4abdd8896bc6b281c751a66c767ac960ab52058335e14e7fd8a4e1d44de2670f9bbc67f682a0657530eba11c31381897d989bd392fae02d0afbaa5afa1748a80847af4b326f970c6161e15b212a1c66003a4317348374e66b29fe87f36d01af5f1c75be11bfea21dd8626765c46f0c153d0555b419227d50da5232810d8517b1a5e4147a52ad07012d8da23829f39a40c70d565937c58a11b1a25b27c8207246c4e1b40230e39e4f089d43d562ef954f332b7ea6b36ea28a9d26eb251ab562c0e44bd238874e93a4d3b900a4b2b08a0b68c2b82c0cb56325548da3316279672913d2021d742c3619823c4391e64112b5b77e8d707f9c1a37d3464cd5f96543f720a0cc6c9631458cd9cedea7b6fcaa76d1e60c44f74b986a772cf593ae712214e21179519c39fa533a724fe8177ea59b1123e831e1dc561543a7e559697572157b60499c4c615d02099d34b0738581061a85b2dcaaf13556208b3e5af388392490fc338dbc55bbf7d25f49f61bd7363cbe3841aafab88524b0ca3381f5b22dc84c6a112979c3c39e45157c0749c04b022f83f53733a21e1f1842e0e72f78c6ae1e337b53215ae8563b16d99ebd6225766185a0d92f9a28bbf4e2b444b7c8225148f601d014bbb8839b4b8b21a2728268a0941d3a733170fa7606b5bf25739e5dca5da49c1bc01295d6b47faf3c2fbe8594c4f0ac085cbba4194ba0613f475b424e7ba1aed1c5a272062fd878b02644d3b90f66c12c4b64c870f806ccca4a36ba838d4799a861b3f32ac8dc9a403930b5c529c8ffa8038db52c5dd2a5a31ac425f835317589369631036b487f192fcfbc9ae2b4834135365f27cc57c1208204a2ce7c03f9467ba6688a9555476a935e6006b6912091c80ca777d9a0cc9274ca04366e9a967e047dde5105eb196f8e71694a01bab8c33e99e7acab053b4785bed85c9eab4276b24274a843048de5a49c289334fc0d447034ebeb5681d87ab1a8a5b938a27521cfb89212d6594af040719f344931704a74e294886ac351a4854eec2a01b0006e602bf6d0b545c78d88c7c76fb13547ba600ab07ce5c87770377c0868204df75ee4f84a1619ba335029b68278f45b6565029ba5cc8c0f1b900c845ff1619b7fd9a9ee148003e9b09ed4c7bba8a8873b8841bc20d1aa257f78ca54941bd0a0380a922eed8a226bb90f94c8b62859c31e146647948785b225ce860769fc51df7c4310984254f927b1c200834876b23a635869c90df39bbe36094bf6b4835750a6f3788bbb7a3140a7f85b1c5cc8bdb386a0f15297ca9c6462b21df7c11845788c130313c642ba127c8de50695e1eac8e245535cec4547aabd3f455fed566b733c499fc913ef440addb37107e3032476aadb55cc0cd93e317a8ce2439f2464278884915c54b97e882dc44817488994c0109adad13c5102847bec7730a57227158c4ad1b51afb66d5c01bb6d2cbd1a7083fa6b049912f736824ad40a1acb22f2cfc9c3d145545bb6494d0159c40c12bc84e8d22bb8e1a76c237020949698175b21410cd4c7bb567c52b08fa6253a50e4f1573abb18f74abb9837cce85545f8992c9cfab66f800525841948b18b7ef3a2b0961c4c7e8902acaccfc865b45a5209fd5a4db705f94122fc69196e3b56139173b32ec9063c4151b2819bf9c7b5d7626b01cc420c86d1070428d4a774177035269a46ada8ec0e02230fc6b066c57dbb875a8f294e66166f3d7b95edc3ab66b15d7b55dac16182c13b371d82c42b85313c65da7eba0920914acf8a28f44acf54bba1ee77736c9763036c73f4a56eca95da849c284f1589af30d00dd6893e70d571700b9a07baa6083b2c50ec4eb95e2236402f7b50c87a9305a8b5eb25664d74d4337af268b48bd1855574405ea6237bc057e191cc6743742dd5a66373b110d380bf7c03039296f56ca700ae07d1a826965d55d86c19902762e75f10cef33664f099f8440634b2299a474bb8af328a3e011bca75db90b90c52c1699c1bdcec31565e411fd1c6ad2d08eba8c50b66a57cf10a98e2335327b011a4c3e11f58415b6c38f1821a69671fc2481920c896b389cc5783c5fd3b7d974ce03375142815e86e13ed4e052b1e009a25a2097c02f3eb337c3c85551ba14e1c22036916cb993612c809bec807da4e25cd8094c36720d376982650a986396504893bb0d82389886942ed1aab5bacf3957aa8d191dc56c4049a0714d89bc3af9680ee602e154b5e1c35f1c0440eeb0ccab22103945623fc201939aa71f99ba8c409bff83276f84879e590d9a448e1f052188285de9668260282e8ecc630c15ab164271ace0c954f13944fa9f4eb3a848f11ce7f0a439ba07a469720d4506ecf6cfa241136b469c12e48f137601f39a5adacc54b094127d2c27fe38aa461c76003b9ecdcccaaa2b16d1e9a164122a0b1a1fb751bfefab4a1640a792d2381a74aae77084a4e3cc33275eaa595733fc4a99d43be88803244b449ac71da53b2cf30043c929811c9a558a165da241afaa8c45b07c27876c8ff77b721b21022c958323b41ffb606c656519875b8bc6e897854c08ec10611b954c693568070528824b509f83a3e6c505b6e3203afa863bca408403c0ae86a374c1613917bc06b94dda73a8e0c98cf54a60cea727cf1334b324343b2c47df4a843e467989e4160e1611c1558928717d794290cc3911eb70200f51152d04871ca46d2753836791ba98aaabf697adc925a827cb7f3ad01069f5748778b5946c78ef9688e16a5326577ad5a5773db939d2631b04545c530c9b99141f4d213158d213163bca141c7949f24958b9aa67089488a732189ca923301143a1728a6707a6e8aa5bfc4d05b6cd1971290114542386231cf04c2c80cb28e50026c66763a570d173612f142ef1ebc6cc9a82f7fc10b7104b7ed6b30c95c5a63a5e1e52450c1c26ca11613b2b3ceed10968e85c0a9539c28242f1b9a083c0109036c6aa9349f201648ef14d67094af9715422885c7d69627702943bf0955d90496dbb0c0f2b3137b89c62903af74b2783b11748bb6df46403b69701e1d9a1e8a63f01cb969fe9ce00d7b539159e75372dff7a85ba660aa8471ade291fc782403f16bc2bf1c4d1a138a0160cf44246fcea7666276318940624a32b4af5b15f8b4da5a05557bc819db8884825b8c2770d6636a16a296daec0752e961cc4d11d61826d883a61f74203006a83380a0f9e5280fc1b831567136d178a906363bb801411e069b461027a0887dd14ad80867ea0f595fe1951f1cc8403198ec483632b189a0bb3979bface3f9a5401916b35e996e1336cf13249d0cc33ecf610f9811c27aab55c52944298c3a13158c38501813c8d7f9447579fcb9bd38af3b64cc94782e299e1d98e68f8bcefa20d1e8db8552516fb21cf5cc9a8a47a07cb2a154f73676d39a98a7d12a4abbd37378595c6332f460914d81173bfd7729d81603deb601c93969b81c401e2b7b922b2873f8aa2d998 +m = ebecb3e8c3dc591eaa503c332c8fbdf07804fc915b771779c1be60f42e2f3ead +ct = 879bf90efeabbd4462f913a062cbc17544e6c638fb6e983c8ffde437227c0e14229fcbe95fc8194881b109c755461d4f06c5c15cee73a5409569253327bb767158b936746493b6b565b67c93a9beadcb34c129f9972f6c128efb3fe8f8923f0b939d9fffd5fc7dbcbff5f152034678839c6cc4b85cf577f27abde4f7a003693b0775c2407647e97e172bf2a05495c45db14d21ee6d7bc24bb76d428a8a052a46b35af8324a50a22c8b7a06bc42af4df57ddc9325e01c3b039582372b0870f4cbf29f1407af9037b378fa7718da45a5bca4fd0e297e993d4cba0452804e86abadfb2a15e653e8305bdbba582e88509dbaeb63af8d391d1e91891048280edf3d384fcee676c81d3bdf78352420f1dac42d036b5ddfd25b9d14afbd4941f21e604e0251f69ad5929b49cb8278bebafda7912f260a5d20e44579048314ca27309cc72648aeed7787d43a573c650bc7289cecdfca5d9ada3362b03b0dbde933b6e435773d350cebd336f7038aded24cf9d1b7bddb8dcbeeb88a22ae2905cc372e0b4576bdc2eb3821b4da8ad223ee4228287b17cc7a62ccf714161d655a983379dc511122691831e01a3a2c71966e5dfeb768e715ed3a599d2d3b2b2a5dae9de8864168c76a06c31f4b2246609b45f49cc1b73c1cd7f71f6f3bccbacb6dce8fa4613acf5079cd2861109ed891489b8ff2e62bf3a5a7694f90b315c7198f0a0037a5ab2bc9b8979a0d1aa217e86e9ef956cb80653106a22f59a9d6827a76f10b849a30c8f2685a5afbdb3858231eee7aa5aa656231e56de171e98cf4830fb791e84f58731aab684df109763f9bddd7f6786606f636c427d4b1a14b878ad5d3cd99a6f4d664c46e83acf0eda891428bf446059cb8046e2042fbedc0095b38224bc63fb6205669e2c29d2539951f0d23867686c111c7f7c46fef5cad09418389b6e64435e93a025d71a1a85ede6f213f0cd97fa4181a30084842c9700c81c1569fbb0ba1805863bd8c7dfda4a0cdf551ba1768781fa33771ce5c0617ea1d61a616db52e864aba78a9c2e410a75251867eb230c98cb4804bc2961be6a3c23fa9e1d659d0c3bcd11082662b4a3a2a445b565766c564e8544ce8f5f1c13290629949802181d486af999851507ae75a8d2b97256d69e98ee4300937bab7f62a2f5cefd75780328a5a16dfbdc6c59dfb0b71dc7e9dce3e593ada5a27a588d2b14908d99c379fffa5166c59a2907db06ccb00ffc21ac49f7f2b2065a95fc68a052d1940ce609e19bece8ab8511bdc35c7a5d18f68dfe25f1ac32577af36557453164a0fbf6246a6d9aada876e4535a7467f1f0ab0a5a6c79b465e4874a611e8bbf5ea710920b0d07e300fcecb7c6be9b0a34f761a96a3970c598aa2bf0720d47a90daf87f1500ec637f26bbc40ff8833ace753cf96c07e6f8b9fb465aba89ea1762610808b40ab694d286d3be87139c0d0ef5ff1fc1c3605077e4f7b2b4c05cb434fe0c487cead7b6fcd44027d2a9f0478832073ed9345b26a3a834e14bb2c56d6d7b76ca5257def35eb603282a19c634ddd7898414fc9f1bd39e48d4d3a7c0511e094b55dd688e4430b96557b96d8194209cfec83b2af32a80c5661e4548afb9190ed5807e3973c616d458bcdc16a83a45f0773f5f76c17099db7bfa360c8cf6c62a9728eeabcb4d7631218a42737ead11452a66e6916543144f32ee36dba33146991adce8a9a84ef5f5d2a4162f5e7d98364c1ef0150109e707a55d541503aa95ba06e39a6d20329e2e2ad7ede8e360b3a5086443c4b27d5b80fd1974af084a28e5ab5c0f1a2ae0923c11b48649b8e6ee4bc5b8942ae33a6d42cfe107a53f04a19450e238d2b8994e43f9b4ccdeef50cd8bb826e67c049037f05223f6906fe44caa8a7257fa8a47d9ec4222b360a96e55cfa12a9e2d4f468be77664396417fc60570a9bb9a7bfe1636f36f77282c9385aa3a631fbcb105332224f475c259f64a7a7c4fafe28f9df54c1a3127ff4667ae65a03e47a4859c8bff86b657304af5a9c3e8682853983d9099b5fec89661badd0fd33e97b472b499bbb4376d7398c4559effcbca3562c9629b41ae8cbcc822a6335609d92ac781e9c4da39aae637e9a3674d65faa57369a03cd80d8506f1940e79927e5ac5c2656b7a59ec704ecc972a3b66e0242f13bf0f49bcf2795f10f8d51a91c1d397ad43cbde272559703b0c22d59e7c668de9 +ss = de739d712d857e0c99be4a896fd1a58b3002f3b264417d38729b9dc6049e0a26 d = 74d87c7556f2671f2d666854a4d6e073e69f35421e6e1a428cccea49c37f972c -z = e1fb7456ac0aa1b97068f452cba64ebdc138bcf5d36b0a0fada2a3b374141eb9 +z = e82ab6cd4250546e9d3aac903d6cc326cc39ae0b04cffe6c6b3ffbd29ab63dd7 pk = 9532712120555db81fdb599de13109277a48d20b0b16db7c6fa73622acc63ab1036c9c07a48c73dcc4111e10c919d09b3a48b96be05e56d809efb66ea3bc97fc360b85533c4ad1a9e4ca6359ac6241ea6c4586c3fc983742756ad1fbc6582274b7559be1362ddcb91e5c857b0e836349d4023d461b1b24cc873c56e6404149026cdeea16affb5fd715766617b9a5058776b74b72075e25002131baa50ca093bfc909b6102e8e5ba2c748bdc5ebca2be715b2800abe643ed542a8f4c055a0c7122854af8460016ca079bb701db46b2b17d0013dba7d24685fb46966ce53b3842cc66c8baca0934efad619459888945759b3842e26a914c835bec4410fabd4c98350717ffc143b2ccac4e72b64d195fe1147fac6171ba8b213eb5724039d889620c70a55ff0145caa543bbba3f732ccae4b0846200ae7ac6c84396224474568c058fd4785347f077da03acf744005ac1cc02f93f2130386aa2b62275722e11589c625044335779d8bae917a632652536337db7c78272241b4710210cc7954b6622bfe1653f4788450900d3dc9bcad010f9429615d24c9a4bc80a2c078f5b6e3c6847af5b0791c27fc99950e77676aea63413a3b259051cf6a83f0f9c5952462ab315af64b978bc4154be10702d5b266ac524ca2b5570199ca7ec91064c0247b08e01a8ae7f194db11b88d584237b507e44b411d5c5112dd22c7acc8d6f3513cc8caa63342284e6bbb16b2f63b9acc9cab050a19fecb758ec455414992aec45bd453639564a0c2bd164c1604d035380b0c2350f530770e84792a986d7f8bfee6c4ee164a678c893f3ca5149bb5fe542054094a450a8c9f7a686b7565a3036ba7126288ad157bdf172c5e772ce052689d2495d00159a920b68a86fc905364c20027f90171845347366053d8c718a444a1e60133fb954adb3a47a7242b8100a8f9784181a4e7e479ced14190a282feb98008c09ae2b124a8743a4230910dd612cc75bc0068a4d866ca871a48b071cced3336d5c01ca3b819fdb2c22acb71b2fc2cf61c95b6cc164cab078472658e5d19eeceb823a373b4097b4e83b0d86e9a50488c1a35418c497250bc90aadab70ad35a16facac83093570399e8f615933f48e7fe8c04e517736732d6792c59e400a228a7cf4896af6c6c4d2f3acf279c861c83100b2868cfb42bc75052b26b6920591c78aab2de99c2ac0971dc90c19b6072f388ffe054166d95a785b8eeb141a9eb0482ee6b57c896d8805a33756005978a98f3817ae53b09ab4bad0011218382269f062b9895697514f9ad872a49392166c72c380a86c711d1f00c9641a6a03083a3755a482ab70cc213cf6f1bf7699164998a96a8258e819652ecb01f607ba18c7b09ad5c28864468dba9727443fbcf6c40ff44341a62631f0410bdc0fda9ba4710a21c8934d6132ac21bb4a9292b16f787dfc58ace7d69efaa67c3a5405b98a9a07b276bedb636c18a668a1c36acb7170ac82253a85d1524ed79bbef4f046649b9f6a31b924196c6f72b12f108b6d95af9b373e34489155da84b8a810cf005caffb8b28504739590fd6b2a5247a5139b39236a2a496a93717854b162584bc57044f510656906ddae771bc029a0473a481eb2bb95397fb903a36a2042a4327c8c54bea769c419cc5efb83e84692513936f8f8775a1b114c13a4318d522194b8f1f7b05a8408348b3ca877b0a59f34dda1169a8c12d716ab9f558ace0b72750c1b4b9f11be405a82e37beed883630b6b9543367a1736c9ea7365bbbb5fbd407d36457c291b4027a6ebed8003658619fc4cd617898e8ca2e77a505cbc70f20aace50f301bc16c398d30473619326e261e2713375a68d83cc719a381284216d1cd011445010a2d24379b8024c30ad70841eba93cb65621260f41125c8cc03fa2894e84bdcb06b4120371a610ade828beee4b3495b4e97e25ed28bbd50223ef0c6b5a6c53470d22abd74c26af08cd44ca194815bed9c58a1775cd0431b41553454cc892088bbaa51b26d37c25a1000a7f8c54abcb1f5c0c3c61c7f6d36bc45320a886280fe2ccc24c704a376294ac15d70f1a300a8ab1dac505f3b2281439b3f93c4d4f62f5883bc00d9589f5a89e3413f425248a8f7c011f616d65b857d2353c0d28bc574c1f2522c2ad76809948966543bf757557b8f92c5d5a3bc95122a6a7968dbb1334a712823d470766b3b9e7b55672d02ae -sk = 60e93beb5544294bbd612141956430cff041e0f969e954a48298c7b5f321b9e1b70b7c796a753cc5bb93722b20380abd6b8aac4f0b102ddab380b88ab9dc040fcaa8b775882a673864fb757a3453273627df0690c90000b54112dca50235ba14fea59a764736a018a091b822a636ae7934a33bc5c15a7b77e1e53289c9757ec75cbbb792645325d6755d79b972ae993c9e3413ac040b3bcc85c4f98a2e185bf4ea1d19a4737dc78547847b7ef385d2a07bfe272764cc873be8cb1286a0e7c83539d2b9bad5a17f0893ccf41e2b5cab8f66706955c5e168a99e9820a8402cb25a434f1a149f0148761014d32a51bc73a8cdbcb104c29be554b2724107ef314c25d082c7252e0ce68833a47a619a611b08394960a64d8c22c25aa1121a8033605c9bf35221730b15e6269cc25febcb8e3336870b3c1c9d3a89de4a9042758f517b55f85133b403c501590a0f53542239118f93874b319be0d063ad82144eca6156051424235d785c92ac00c412f8ac0ff5b88f056142f8a0934734b09ba14c00089bba136279a5fe462082ab4b0709a6db3279f8e9544f3909ff78b264399c2ed129c803b341d816eae96bc531952d55059ef0233b0c18e1f7aee5498ff6f11dbe801dfe193bb61b870008ae57483daeb8ca7ccb460193c68a509e8dc738ff227fda89b21eba0053992a4d3a1f8767c0d3f3419838c8c7a2c0b3d68e737ba77221c68a8570948a322a143e5a03888c08a1bb7c42e9db9111819ed94523848bc32781a881a468d26aa7fa4acb926ab8695b24a094b8ccb0423192cea88c1fac818a6b0ca19e423b7afcb51b121d48ea44037963ec1a325dc0bf7555977f468feb49b8346338db983e512b2fdeb35a300495f437cba88c36d01536f7a56bc9dabd1000b77751031102caba7182e2c440919435a14bc1ae1b354499324862885c9c301b7258faf778cd0a4721f26ee32c5dcc7a7283dc10e3cb04713255d0044bf1d9234f5180f32483f7079b2c0558b95c622db01be885b2580931fc8617b6940ddfd54cb327712da02f90a6a8ddb6ba17a31fb1d7231d94cac2fab88a43b0f56968fe2b724fc8a97e1a371c96a9a17a94fda08897ba1edf959f37029a84e707ef676b89fcb5e94b8997d95542e26cbd28a7d01b1fef76b1c91ac327874c04f01b2d6280fdc60cead3587bc0aa6ec76f064b3263b2419bf3120aa7791053bfa6e089f6cb8bb020b5c5e2517d4b2f34ec3c4237af98dab3f4d44ae161773ed53f391a689d7b38f01155fcd080869656e15baf9a2a6419b38c2ec39112b4216fbc5d94771fcc4369eb90aaccf3a752020e24f97c30c4c67632180e9b928a0941c23c03ce588f7d841aab91b74b7959bfd8b5b042294ebb094b523dfc425e9ef70bd2e2bcb2937eedba0ad018737ba91a3691030c1a6e54c0bd4336a4bbb7c5dc79057ef5c574c04dfcf9c8407cac999a54975b1a45519075ca167b8285b2d554eb81702e30626897413051aa546bc63a42723bb95f0dcc525944c967d7a5793c34c7638ee59608c8680f2418b648b7450b09c31bebaabb956e1203bfb3d377373b5483c93378f15dcf2959d0e02a15e2277b7ab78cb2ba78703f13dab307ba1b663c8666252621ab1b9fa42dc69008881a2f0933c03c183d4b82cb149511f344cdfeb0adc0c9b0cd98240a7a7c97d6ad8eecb20a8a04119b8aee8ba273730965608d0ce921a6dc8b8cbb0098d722edcb88cedbbfefe2a04935b5d766577dba7c20a73e4a8b81d6b81bad326817f8b9d654b005d7437c73761c62a43412b39ea821f9547b433c57c2512268da14bbcb38b3906348fcc9facbcdb2f44e713125309515b6d4716088071b60861998115ec97d9cd99eb773c343942105b4926c14979fb62f7e6616d3ac1b0f12a96cdc7ad22ca6148800b9d1047a8358a1563cb310607108198c084215bc1630a002b96a74d92198e832710de036b0332bdbb2269e23417a82a1dffc57abb971dc0a34d04378308b90ad36064548c5480bb57384b7487c299a016be645958f64c712b75454532e4021ab21c55020b609e2e4a5dbda151f8a9cb9e9c552b73b8241445f97ac15e0a5e7a357c2a6608d388652848c066b5f345c7ee7a1410db478aa517fff742ba1965abb0687286273d9f993d7d730988a709532712120555db81fdb599de13109277a48d20b0b16db7c6fa73622acc63ab1036c9c07a48c73dcc4111e10c919d09b3a48b96be05e56d809efb66ea3bc97fc360b85533c4ad1a9e4ca6359ac6241ea6c4586c3fc983742756ad1fbc6582274b7559be1362ddcb91e5c857b0e836349d4023d461b1b24cc873c56e6404149026cdeea16affb5fd715766617b9a5058776b74b72075e25002131baa50ca093bfc909b6102e8e5ba2c748bdc5ebca2be715b2800abe643ed542a8f4c055a0c7122854af8460016ca079bb701db46b2b17d0013dba7d24685fb46966ce53b3842cc66c8baca0934efad619459888945759b3842e26a914c835bec4410fabd4c98350717ffc143b2ccac4e72b64d195fe1147fac6171ba8b213eb5724039d889620c70a55ff0145caa543bbba3f732ccae4b0846200ae7ac6c84396224474568c058fd4785347f077da03acf744005ac1cc02f93f2130386aa2b62275722e11589c625044335779d8bae917a632652536337db7c78272241b4710210cc7954b6622bfe1653f4788450900d3dc9bcad010f9429615d24c9a4bc80a2c078f5b6e3c6847af5b0791c27fc99950e77676aea63413a3b259051cf6a83f0f9c5952462ab315af64b978bc4154be10702d5b266ac524ca2b5570199ca7ec91064c0247b08e01a8ae7f194db11b88d584237b507e44b411d5c5112dd22c7acc8d6f3513cc8caa63342284e6bbb16b2f63b9acc9cab050a19fecb758ec455414992aec45bd453639564a0c2bd164c1604d035380b0c2350f530770e84792a986d7f8bfee6c4ee164a678c893f3ca5149bb5fe542054094a450a8c9f7a686b7565a3036ba7126288ad157bdf172c5e772ce052689d2495d00159a920b68a86fc905364c20027f90171845347366053d8c718a444a1e60133fb954adb3a47a7242b8100a8f9784181a4e7e479ced14190a282feb98008c09ae2b124a8743a4230910dd612cc75bc0068a4d866ca871a48b071cced3336d5c01ca3b819fdb2c22acb71b2fc2cf61c95b6cc164cab078472658e5d19eeceb823a373b4097b4e83b0d86e9a50488c1a35418c497250bc90aadab70ad35a16facac83093570399e8f615933f48e7fe8c04e517736732d6792c59e400a228a7cf4896af6c6c4d2f3acf279c861c83100b2868cfb42bc75052b26b6920591c78aab2de99c2ac0971dc90c19b6072f388ffe054166d95a785b8eeb141a9eb0482ee6b57c896d8805a33756005978a98f3817ae53b09ab4bad0011218382269f062b9895697514f9ad872a49392166c72c380a86c711d1f00c9641a6a03083a3755a482ab70cc213cf6f1bf7699164998a96a8258e819652ecb01f607ba18c7b09ad5c28864468dba9727443fbcf6c40ff44341a62631f0410bdc0fda9ba4710a21c8934d6132ac21bb4a9292b16f787dfc58ace7d69efaa67c3a5405b98a9a07b276bedb636c18a668a1c36acb7170ac82253a85d1524ed79bbef4f046649b9f6a31b924196c6f72b12f108b6d95af9b373e34489155da84b8a810cf005caffb8b28504739590fd6b2a5247a5139b39236a2a496a93717854b162584bc57044f510656906ddae771bc029a0473a481eb2bb95397fb903a36a2042a4327c8c54bea769c419cc5efb83e84692513936f8f8775a1b114c13a4318d522194b8f1f7b05a8408348b3ca877b0a59f34dda1169a8c12d716ab9f558ace0b72750c1b4b9f11be405a82e37beed883630b6b9543367a1736c9ea7365bbbb5fbd407d36457c291b4027a6ebed8003658619fc4cd617898e8ca2e77a505cbc70f20aace50f301bc16c398d30473619326e261e2713375a68d83cc719a381284216d1cd011445010a2d24379b8024c30ad70841eba93cb65621260f41125c8cc03fa2894e84bdcb06b4120371a610ade828beee4b3495b4e97e25ed28bbd50223ef0c6b5a6c53470d22abd74c26af08cd44ca194815bed9c58a1775cd0431b41553454cc892088bbaa51b26d37c25a1000a7f8c54abcb1f5c0c3c61c7f6d36bc45320a886280fe2ccc24c704a376294ac15d70f1a300a8ab1dac505f3b2281439b3f93c4d4f62f5883bc00d9589f5a89e3413f425248a8f7c011f616d65b857d2353c0d28bc574c1f2522c2ad76809948966543bf757557b8f92c5d5a3bc95122a6a7968dbb1334a712823d470766b3b9e7b55672d02ae591aa9c81277503a34441fbd6cb59c6d1ecd5e00298fa56be9df562576250c52e1fb7456ac0aa1b97068f452cba64ebdc138bcf5d36b0a0fada2a3b374141eb9 -m = a319d2b8f114f1acd866478bcdeba6fd164dc4e37b0adfa8d8034afb3e197376 -ct = dafa136f6fbbbada848f4a74af81116c0dc8c4ff6d89e2a38451e8fa6c0c8ae8eb7b01b4418ba7663f15d73489457e43faf1c9b18f078be35dd9d1e8910c40608a2f4115a40a91f423b255fc48bcf8cbfea70c1cb7e0c63f3203c0df66c494d065345d8c469e0252fd84055615422d73e726ebf1482911e26fb7dce9892a41b9a526d4cea71c17a2b66a613ab7189a8677fa8667c13cd41cfe5b39c841dd92ec6e104278255bbc0a38f153e1e1f941b73aaea89daa5391167aae8fbb7db5d4c2af9cd5f660a8d537fc7f042ac2249b1c6de177a51614e18c97b56abfa807d079c9c0db58a59e0276a3ecbe7bd1bc9cb926f8256b8d491045b3ee05a2b2c1c461647f3a550d829030b8dd75042c5f0eeb99b7b7b408c7d2db4e63ab123a1e344cc6c01db19c7fbf99be3f7a0ddd5c7334fa6fd746b7b7b3d05c5e1fa06899bff5e12ca12a482b2b3159f560945aa04e4058dea04145876e21ab9e0fc893a9d19b54cfd3d7d35e3ebb870b30bf6e6feb2853d91586be0cfdfc5d8ac0f4b459dce8499b54e12d1cd7aa2b4c1560d27bd41db09a59fdffe13297b6ddd2ff0a18129d85f5c947690bb12a8ffafb99fa522fd9a8501a6920372acb27d201f67ee15689e547f33de784dd0fcc744bb8d7e72cb801b3b3cb1df8ad5df2b7087bd6c8db268d693c0fa3a7d1b0897435ec4db0b0d47a79f4cfe21d6f3d7bd568969c16b92c11a29e2de0ef5e7a1b75f93e85996758d17ecec2bd48fe851bc1ff4ce2ea91367d22b81c514487e89f1cf3decba6a015df3a1697673ddd63ee9f0455210d93bcab954c052b7e84bebdf4e2b47f6e9b4684342f13554e4c07f137327c8014387f6fdb33bcd8e5f255dd89a49eef3a2a9fbba7c33397fb5509e803c21f495e9d117d0dfaba1d4c185da2427b087f60541207a67ae20029ac5b4db1c24768aa7cd9a1a9ae0ac8ed724acb5a05aa5b09ba5de82b497fbd86de37bc62570b242e804d218096c739df1be0294822af71a61add3eea3e9d4761d164e7f41785ce6b21c7c9e2d86d5686174e7a4309f7bce85757a7ba77fd2b1161d4393981d531c34c1a9c8e1fa84f53034a50b2d0f93c77f876b3d928ac3e74d8d4f53ed7325c6246e630480bd92009d694dfceddaabdc90e0c85887e144cd06c1a2a8db15fa62241473a63ac8e83cc6865b565b8570d3c03f4f2c0f03b30d84d0b109bcfc1e0d96f5641f53069e8e724a053bb78aaa06906541bac56e9e018de53209d20c2c31799bf90766e8e93b6a2a23635ad4be8d5ca44f8160a9aeb68fd73d8e8e895e4a70da15ab4722720ad19bc1da18f2d84262da151695fc62cb60810f47cd07e22daa78cc22940731dca27ec937ed2e41765a9b20a4f3e0aba55f7817833c5add055fa32abba19d134fcd104bd1a1e355ad3604752f287175be4470abf085209b4ddb4069e2ab1ffa10a55dcbceb6885036b19a49bd1e72300d738ca427df868ab74a261152f1368da5238ef40937fab486ec00ddbf292f5f1007442a233a426aa52cdab82dc446e20f66e5af9343486cadf68cff82ccf614e5d45c129c7ef09cb711934007bacdfe99ca2ebbe39f7c2ce0a8db5d31331e31282d5b40745a7126b72eca6e5b98b94cba5d1d476293c5b73a3c102dd687f64d819097d73094649a5726df29457133ff66572777c490318a6fcf3f485203eb84517bef9218c10c58ecf58bbcf960c26a8053b908266ab016c22b6501a42f46329fc36fa48bd94baeceec7461d004bf6ff50d1d7d1eb4f4fc58c178c10a82b56a7c461465d6df5315f918161916265e555619f55a6bdfef3ba6196725fc2342b081f1598091ae70b0d559f27f89ffd4d201af4f09c9f69f4e625d562a141463b65b42bd43acf595ee9e93b9d423d7ea8bfafbd35097bfca508776d5f1dfff9634276ee0632bb8a95c44b2a27f7ddf8b5b6da57761f9d5cdfd7b5061057b98950b43c5ccb39e7aadad53218586af9c20cd5d870e714635cbec12da23a82b85ca25f8682c76793c21081ebd48cf6edaeee20bda3dcfc0d23a9816286da86d31dfac873f43a2854371e8d3dc9e570e608a0e29de3db5b91979ea4db56da94316da74f409936d6850105c3d45ad4c3f2f413ee9ec3e74f1fe3e316f59177104145f01d70143b32c12016f5c6a01d50af034cb38352573aeb04f7ecdb0cbc125f604538a0bbfaa5fe5ecdc479c174 -ss = 22986ae60ee717cdd419998306b2da0457e110bbbfb9a2759fc03b8b0d161b2f +sk = 60e93beb5544294bbd612141956430cff041e0f969e954a48298c7b5f321b9e1b70b7c796a753cc5bb93722b20380abd6b8aac4f0b102ddab380b88ab9dc040fcaa8b775882a673864fb757a3453273627df0690c90000b54112dca50235ba14fea59a764736a018a091b822a636ae7934a33bc5c15a7b77e1e53289c9757ec75cbbb792645325d6755d79b972ae993c9e3413ac040b3bcc85c4f98a2e185bf4ea1d19a4737dc78547847b7ef385d2a07bfe272764cc873be8cb1286a0e7c83539d2b9bad5a17f0893ccf41e2b5cab8f66706955c5e168a99e9820a8402cb25a434f1a149f0148761014d32a51bc73a8cdbcb104c29be554b2724107ef314c25d082c7252e0ce68833a47a619a611b08394960a64d8c22c25aa1121a8033605c9bf35221730b15e6269cc25febcb8e3336870b3c1c9d3a89de4a9042758f517b55f85133b403c501590a0f53542239118f93874b319be0d063ad82144eca6156051424235d785c92ac00c412f8ac0ff5b88f056142f8a0934734b09ba14c00089bba136279a5fe462082ab4b0709a6db3279f8e9544f3909ff78b264399c2ed129c803b341d816eae96bc531952d55059ef0233b0c18e1f7aee5498ff6f11dbe801dfe193bb61b870008ae57483daeb8ca7ccb460193c68a509e8dc738ff227fda89b21eba0053992a4d3a1f8767c0d3f3419838c8c7a2c0b3d68e737ba77221c68a8570948a322a143e5a03888c08a1bb7c42e9db9111819ed94523848bc32781a881a468d26aa7fa4acb926ab8695b24a094b8ccb0423192cea88c1fac818a6b0ca19e423b7afcb51b121d48ea44037963ec1a325dc0bf7555977f468feb49b8346338db983e512b2fdeb35a300495f437cba88c36d01536f7a56bc9dabd1000b77751031102caba7182e2c440919435a14bc1ae1b354499324862885c9c301b7258faf778cd0a4721f26ee32c5dcc7a7283dc10e3cb04713255d0044bf1d9234f5180f32483f7079b2c0558b95c622db01be885b2580931fc8617b6940ddfd54cb327712da02f90a6a8ddb6ba17a31fb1d7231d94cac2fab88a43b0f56968fe2b724fc8a97e1a371c96a9a17a94fda08897ba1edf959f37029a84e707ef676b89fcb5e94b8997d95542e26cbd28a7d01b1fef76b1c91ac327874c04f01b2d6280fdc60cead3587bc0aa6ec76f064b3263b2419bf3120aa7791053bfa6e089f6cb8bb020b5c5e2517d4b2f34ec3c4237af98dab3f4d44ae161773ed53f391a689d7b38f01155fcd080869656e15baf9a2a6419b38c2ec39112b4216fbc5d94771fcc4369eb90aaccf3a752020e24f97c30c4c67632180e9b928a0941c23c03ce588f7d841aab91b74b7959bfd8b5b042294ebb094b523dfc425e9ef70bd2e2bcb2937eedba0ad018737ba91a3691030c1a6e54c0bd4336a4bbb7c5dc79057ef5c574c04dfcf9c8407cac999a54975b1a45519075ca167b8285b2d554eb81702e30626897413051aa546bc63a42723bb95f0dcc525944c967d7a5793c34c7638ee59608c8680f2418b648b7450b09c31bebaabb956e1203bfb3d377373b5483c93378f15dcf2959d0e02a15e2277b7ab78cb2ba78703f13dab307ba1b663c8666252621ab1b9fa42dc69008881a2f0933c03c183d4b82cb149511f344cdfeb0adc0c9b0cd98240a7a7c97d6ad8eecb20a8a04119b8aee8ba273730965608d0ce921a6dc8b8cbb0098d722edcb88cedbbfefe2a04935b5d766577dba7c20a73e4a8b81d6b81bad326817f8b9d654b005d7437c73761c62a43412b39ea821f9547b433c57c2512268da14bbcb38b3906348fcc9facbcdb2f44e713125309515b6d4716088071b60861998115ec97d9cd99eb773c343942105b4926c14979fb62f7e6616d3ac1b0f12a96cdc7ad22ca6148800b9d1047a8358a1563cb310607108198c084215bc1630a002b96a74d92198e832710de036b0332bdbb2269e23417a82a1dffc57abb971dc0a34d04378308b90ad36064548c5480bb57384b7487c299a016be645958f64c712b75454532e4021ab21c55020b609e2e4a5dbda151f8a9cb9e9c552b73b8241445f97ac15e0a5e7a357c2a6608d388652848c066b5f345c7ee7a1410db478aa517fff742ba1965abb0687286273d9f993d7d730988a709532712120555db81fdb599de13109277a48d20b0b16db7c6fa73622acc63ab1036c9c07a48c73dcc4111e10c919d09b3a48b96be05e56d809efb66ea3bc97fc360b85533c4ad1a9e4ca6359ac6241ea6c4586c3fc983742756ad1fbc6582274b7559be1362ddcb91e5c857b0e836349d4023d461b1b24cc873c56e6404149026cdeea16affb5fd715766617b9a5058776b74b72075e25002131baa50ca093bfc909b6102e8e5ba2c748bdc5ebca2be715b2800abe643ed542a8f4c055a0c7122854af8460016ca079bb701db46b2b17d0013dba7d24685fb46966ce53b3842cc66c8baca0934efad619459888945759b3842e26a914c835bec4410fabd4c98350717ffc143b2ccac4e72b64d195fe1147fac6171ba8b213eb5724039d889620c70a55ff0145caa543bbba3f732ccae4b0846200ae7ac6c84396224474568c058fd4785347f077da03acf744005ac1cc02f93f2130386aa2b62275722e11589c625044335779d8bae917a632652536337db7c78272241b4710210cc7954b6622bfe1653f4788450900d3dc9bcad010f9429615d24c9a4bc80a2c078f5b6e3c6847af5b0791c27fc99950e77676aea63413a3b259051cf6a83f0f9c5952462ab315af64b978bc4154be10702d5b266ac524ca2b5570199ca7ec91064c0247b08e01a8ae7f194db11b88d584237b507e44b411d5c5112dd22c7acc8d6f3513cc8caa63342284e6bbb16b2f63b9acc9cab050a19fecb758ec455414992aec45bd453639564a0c2bd164c1604d035380b0c2350f530770e84792a986d7f8bfee6c4ee164a678c893f3ca5149bb5fe542054094a450a8c9f7a686b7565a3036ba7126288ad157bdf172c5e772ce052689d2495d00159a920b68a86fc905364c20027f90171845347366053d8c718a444a1e60133fb954adb3a47a7242b8100a8f9784181a4e7e479ced14190a282feb98008c09ae2b124a8743a4230910dd612cc75bc0068a4d866ca871a48b071cced3336d5c01ca3b819fdb2c22acb71b2fc2cf61c95b6cc164cab078472658e5d19eeceb823a373b4097b4e83b0d86e9a50488c1a35418c497250bc90aadab70ad35a16facac83093570399e8f615933f48e7fe8c04e517736732d6792c59e400a228a7cf4896af6c6c4d2f3acf279c861c83100b2868cfb42bc75052b26b6920591c78aab2de99c2ac0971dc90c19b6072f388ffe054166d95a785b8eeb141a9eb0482ee6b57c896d8805a33756005978a98f3817ae53b09ab4bad0011218382269f062b9895697514f9ad872a49392166c72c380a86c711d1f00c9641a6a03083a3755a482ab70cc213cf6f1bf7699164998a96a8258e819652ecb01f607ba18c7b09ad5c28864468dba9727443fbcf6c40ff44341a62631f0410bdc0fda9ba4710a21c8934d6132ac21bb4a9292b16f787dfc58ace7d69efaa67c3a5405b98a9a07b276bedb636c18a668a1c36acb7170ac82253a85d1524ed79bbef4f046649b9f6a31b924196c6f72b12f108b6d95af9b373e34489155da84b8a810cf005caffb8b28504739590fd6b2a5247a5139b39236a2a496a93717854b162584bc57044f510656906ddae771bc029a0473a481eb2bb95397fb903a36a2042a4327c8c54bea769c419cc5efb83e84692513936f8f8775a1b114c13a4318d522194b8f1f7b05a8408348b3ca877b0a59f34dda1169a8c12d716ab9f558ace0b72750c1b4b9f11be405a82e37beed883630b6b9543367a1736c9ea7365bbbb5fbd407d36457c291b4027a6ebed8003658619fc4cd617898e8ca2e77a505cbc70f20aace50f301bc16c398d30473619326e261e2713375a68d83cc719a381284216d1cd011445010a2d24379b8024c30ad70841eba93cb65621260f41125c8cc03fa2894e84bdcb06b4120371a610ade828beee4b3495b4e97e25ed28bbd50223ef0c6b5a6c53470d22abd74c26af08cd44ca194815bed9c58a1775cd0431b41553454cc892088bbaa51b26d37c25a1000a7f8c54abcb1f5c0c3c61c7f6d36bc45320a886280fe2ccc24c704a376294ac15d70f1a300a8ab1dac505f3b2281439b3f93c4d4f62f5883bc00d9589f5a89e3413f425248a8f7c011f616d65b857d2353c0d28bc574c1f2522c2ad76809948966543bf757557b8f92c5d5a3bc95122a6a7968dbb1334a712823d470766b3b9e7b55672d02ae591aa9c81277503a34441fbd6cb59c6d1ecd5e00298fa56be9df562576250c52e82ab6cd4250546e9d3aac903d6cc326cc39ae0b04cffe6c6b3ffbd29ab63dd7 +m = a9da4fae601738a23f95165da22cdaa8bd455688b6033c74b4604dabdfd46fd4 +ct = 395d5021bcbd294561edc1af53020014a51234ce2fed8784ced5a33328ada537925071e7122c3f3f17d938c45667bb203cc8220dc06cbaef60cdd49a1d0204115959b252964eca66428bd2be53281db056113347a8b1efd49cb2c2a42c0edd425262c4a1ba4d4b2e90cdb97f9a39f39fd6923144dabaa6cdcc3c48422024c0fcad2fbc16280ecb78c0b0bff5b4541b0ba1ba13665d2134e36ea17dc244546255d364bec0d55281f1d1f8c311039ae60deeec474705270703192f16769f0f1d2a16895ec282f943b1b17f691c523130054fea4f659622fac34ae17104be0101fa629aaee87528b194e1fd0d1477374fc32aff89f862ac6f9e5f8f0227f2cfcb298b9fad9368ba6fd24d74db5065b1e36403a7af172ce910833ff08d54c375b4e2b40428cb71adc461d0e889362e23d134380c0b8a3d3569cee7bb78b1a147d50cbe7bd652d9bb77f5a319e4ef196b8a92057ad843db0fa8480af6de4ac77447472d6cf9380bda1c3b6c78c6cd920d0f8a7e9c0697401bc0f69d5f8481bc650524b28a0e709a956b0151f551f8ea996ae2a7ba6d0a40eb61963ef3b547eb5a56bcfa489cc341779892492c4f7e5fc35835710faf882fb5ba9454c5e5f88ef07bc43c79988f385219dfaa3db6176b5da1353bbcec40d0a2368b5652c68d16a85884ba134c5903938e00c0382aeb758a421572aed5b3aba5a07998a0ddd17df653d98da0cf39d39e53c3d573919f0631e7456090e1ec857306c56c1490d1452a2a1b03ce26e1c4b0c0ce8fafef77fc6d888a3c9981ff493e20b56b7b32bb25ad9cbae13dd49d63f43c6ed99e9294bed66fbbd2aceb4768537de880513bfdfe74a980bb2d9c408e1fbead4e7e01cd4be8e87a8e0a13251df8d98ae402b013476147f3b697e14deb73734a1303edb1521c8faf5d7dcc54228ebcf63d57cee4d7534216a612d53fa575f915d18f958eeb42ef9854926850b4439ec8d42ff2f14f64c626bdcdf4b8c5f2d724ec322e2a8ab019db626753e27be439d4dfd5455c0f20ea61199ff69e0c1e230d1a60f75848e29b81095bea5d689fc8509f5b3a9b1c4f6f36454423451a4f2ab6c9fb05e622065b1ff5a7ae9f9559bc7d7ac66ec2131c92d397d103c18dfcc988e2715113a02136c5f1a2f77a6093841f4d5aa9449fa83e5433b5926076d87e5bbe7934399d8e826b96c7c7bdb968018488692291c9a458e4e912f3531a4a7c36f9f913991722c723ee83a9c78c2ccb9f5b3cda599ebbdeaad9342723d44966fbd9e1afa93356b8f14c70237c8092dee1f839003c3db4166a933fc9bd525ae38833e019b6a829f0588a185189a78f15a97ad509b022e15a3b7a06fa734455443373032cb89bb3e09c5065abc61de4b7e0b4d21576524d628c2bc47a36c0c052001c10999320289b6569c2cb0dc86d43645aa19ea270972bfbaba5e800cee26f4e92859d09c56fb488c4ab6ba662835240a400a04331dde34ce112c00f4cfb57b08de64079b9554cbc620336f66f6930cb48545e66e16fecb428a209ad6b8ce27f64b4f3d95d61e9d60a54dabcfbf0ce8d039bab63f8df5ee4a12976d60d03702a14f2ca43516ad802f44a1cf5b12c110273777768ef5ac5cf5bcd89862bfcb5b2da335c4167b0211e31d45220ab0f430636e14c4a36e4ce25654868f8938160724dab79e4e0157ae57961c8a53df12ac8bb51cb2c41a70030d244b6dd7bf2f690f3f2cef4ca679fec60125646d863d49157ff33ec7034339ad8572d3c47e824d31b0c7b33470efd6853aaefa6c56a1f0d6c4212733f931401ba23fdab4f52cee740e2cc0e572941d66db3a1970231e3d9af5c83f4fa2672a740a051f8a28605c3cf0f76a31f710aa001ef274224045bec843c8634834f50a813056fb344225be0092f0158da90626c2ecedcd4d2a02fd9e1e54222692aa18f09cb2d0e563535d9dd775e0ee9f59e4a2452bcc7e70b9c315a1ae89be2edd5e40b600fa63a8e39701d099ce3f30a60f8af46f1545f3249e9aba1b69cba1caa973e133349abb2522d065a82b0b36d20232bd879aae20122e07963e8d9e7f424d9129001370fc13fbf0711e65a71f590da49e217e1f2d2a4eb2decc6cdaeb4d6420ecd5cb3c08ba53f701bab3f084cf8bd74bd259620e4b33a001c5a03224a28fa86762f81fc3dd718ec8ec0fcf33a6df5b831f60f70c8265c04d46d19adcfd8b5 +ss = 00c779659a16d546b70d41073724bae053c41c3352c72e3323c670a3def9caa9 d = 013bab0212d04ecd54b478daf72748003a25e2cb060ba6cc50bf95c292b8206b -z = 9da0c5da5f195b80fbb99c2e8b06926074f3f604b3f6195b5a5b9737876bba72 +z = f7642088944d664ca7996ba944eff7e4abd0b900d3d1728d99a9f722f928fedd pk = 3c614fd2510dbcdcade2f57004cc995db29139a713ec106607f815db318f03d2caf4a294caaccf34914106d463fe118bd0b65021f086f1f9a8f34a42e197525859767d89b0eb29cf54a93e76f13bf43344bab7578ce167796976e5c7a2626b76ca2222cb358904386a5485c67fd58f7027543185c71ba82cdeb93b619455cef931560452d7650b25617c51d93d9223cb2083ba29d6a66ad798b5e4a49afb5960a08a6d8992a23aa5840c97adf727e698c990684d0c19ac71bb816ae30e71351c3300b2edc22601b6bb7545a87869b9712997aa5c3ce6080afa8333e6159c1de61333f4742e5c49e887a8a4ccae2df6c7e218a509124d151a711da99a11d7b5841752c498521c3c4699113dbeb652a4c6754b0b8a7b1341d5a3c99bb39c9b592327d0242ac68ba6d01369257c56427928aa5b0534200ff8a4a7263f9f955598a0980ee67337442df706360faa20dd6941195036831186dde104c5e6cd79a84afd6917c1122070ac6cfb120c7f22276afb4d51f52d0ef2bd4322164f938f66269703ca1db984bcbe337c710142d024ac0d7502579b1b804bcaa5fb551274ca547301fe6597cdb0754ba6af7d74bca789c6a7460ab599cb14825fffe28683267001e32ec6f7802826c3d5091f8c520ca52c51e1e2b649222bffe45d9d373f8224b9e3e973a852a0d6acafd22561aa1376e9842ab292a61c21308e209d3ea353d77a8d835a46e9315ee19bbafec09ed462269de56b36f6791f771922b49a51b3870ad0a0a2f3aa0122ab02648ece97c96ed24b9e99b6ac2c964cf356e4a39c21d0274eec6fcc8893e7cb425c68c8e99a89d22647a5522ffcbc46184ac181d556616503aefbad90966d2806b6bf26903b18b1bf5a89167a10d47cb4a6f101fb09473710559f39b3046bc7a55331e8da418bb34089793c2a7606112011e89318267348baeb7b39f6c85b0ac58b4c8c187965eaea5940da89cd4ac31754bd85f815c9c15b36077e9971b4ecf7546c4486ab074e511b729ecc835c175b8304038550aec0c6c22eb76f866444859293d21b4743e0202a3b6db7d2342585a5c098ca66822f86f01a6a9c080b414144220c44054801c36199432870f8b39b08831c8623972b1ae3442d0fe409b47a5c22e67738008a71ecbb8016ce110794b1d313460650ceebaccaa637f9625429538dd1e00ae8930211063f3265ce4b7c6ece835faba9236cb228ed003cb22cc8b3c5811bd9c276944d929c5c67b26b8648be93a89396c2949e26866ed4121c3849bc6c15adf8942fd4ce8f12b5dd83cea1322ed4c0bd2bf9b591fb01a7dc49387c04e7c1416abbaadc2c183072ca13c31f8e964c2a9b56912571fbc07878584f7926a9cf13c0f4c114c59b1b44a94014c2963c596471f7771cd383c235aec594b61eeb17266a5ebbc4828805169d1a2e468448e73a1e3c919ce3f738d2e1242c0895b59c27e12cbeb10c591a54108a7b730d2b902185b9a8da9d2ae01807466c456c4eefab336c13c6e137b6cce922b1113e1cc862c8883eb69acb0667a68fc58fc5d6584af926b25159f4700c110c43bcdac03714714ad4c07afc4d54200cf0184e5e8a6e5df1ae6d13c9f9401ce38c6144d3b87dea304625cb8aaa6ea0695fbbb775c6d0b7f79a6fdc4c53c9ab072d027da097a0d69ac77a9cab23941aa160bf36d95b10167364a0c866e44be2930199a00972936275cb9f3340812d70968a95428b3000b21c68a237961b99a2c7f62c9988675f01b1604910b0d8942b21c49e676532603ddebc39876c8479603f9360a9538679c4a83dc1c33947b5c01a5c659d30187db308bd999d68e30c79e40b631bcb8725b72a414e3be0300e4c7a30f56abeb9588fe0292dfc23c4c994ca20726cebcce5942a3b376bda76a965179f56e66a2bf94ca35090af041607c18545472db1e71af96570538796418737b048859e676480727e71e3534510998402ad13d54284b76d6eb04715934fa6f05cadd2a6cd6683d981cb5f6a884d04ccb008657f990545e38a7c044645d9cf9b7b49643b7415a63a8b37b6fdb304558423f4a47961e230c9091f0519c15de10275da4757d40edf70ce729a5986724e8701101c208e4e3bcd4341098d8b07708a2c81eb6044b82ca3868a4752cf42f2596c7ba678723931cbc646e935e0bd96ec59643250a0b38f9779b0142a9e546eb525e72ad204d1eb31a6 -sk = 3a756d6dd157aba65d60721c41eb4edbec38834c22e9ac88f03119b472bda0961d1f5c3268ec6492f92d5d066dcba69ce9c20311e1c15fa81fa5014c6c956f88055fc2d35e6b295d05d6167e4375bff23257ba72c0f97f452b609f22b57f7c27f71a4f259938b5aa18097399a0d32c3602203bb6769015495b4bb7317c9e99c966215c58d3455efcd36003826c2c7b1bb437a66a968dcba35dad7098fce9133110a109c2b91764719ca25866c98550082e88f29e78b38b40a53c4d626fe63390a290b54389624c597909d79fd6a658e2166704c386eb1c8e951b4c7619b7b79349c3f59505809b1095405949cc55c109a1108649552d5f83a970083bffeb6550893b5c5106417b0cf1e44b6b05a9f9093e386c9d43f14d4cfbabd3b17efb49aa2c571ae99197d2e4b7d58775962570d528b8ebb8032e8065bdcaa391837d483a27239a4a8c0b8f13013f4aaa6bac0ca86e532523d9620bf9c2c3e2aed2365e90a1699a4cbf454c4d2e2c4273e93456142f737c8b3697b9821039142c3e25b346d020c829850d6ce2649087ab762c25baa2639c8c7a852bc76d456ee69747fe561e267844a7e51ae05c5820f0c2b880b05cc935a3bbade2c6a4881cac21938a304c4cd2c1cc1bfabd932b777cc459bae4be75389862464367c6318a0521dd62c5f070a139a95522d10d2e4134c06522cf52834562a208b22a95431014934f51ec49f5ec087d1435db935bb5223c3ec87bb7f7427a458232474ad9cc222b422149977c7f366f48b0b14ab260bd0a8c04623f9b12091ae049725064d0bb4a249075816aa249718f1a7768c3469aac7182d2f01d6373038d7c4ca24802693a354c19c66dba1c05eb180ad04c1fb095b42947d16b66139384c71206bd0ba9ad9bbb5dd7593d08616c214fd9013e792a5b4930122d1c571f1315d235562c167d7546c8ef7536a929982f6a55ce7209b0d5735f69ac6c52a824e508d2481a5be01075c54d8743bcd76767b69b5e350989e629c97ac1982a75806126245fa692def22b15a29499c82ef7f993eb3472f850527d900da2f513a9366a4fa978038b9e46752dbb8084fb12cbc591008d692544078343e9ad67909dbd77c18bf18f02607210f4a0f5dc749f8b0bf371309027968968678b0135af65138c5544abd57ed8a646409224d32052bb14bab4d51dac981ccd838b4a513a36a351b81a0785ca281d7106872583b8babbd62a5787bab8ec9019c7009130ec6be4e25d9992aa1dd13da9c1a7f1ca27fd78968741436003789b8c781c599c98d2465c7513cfe85154d7a655216e5b3b800deaa6b9dc7c0d998b9ce2b99da6afc27a5ef6c152eb16184d91cd038cba69835ab3500ac2e87368f37888ba90f219ce9da24109f0b3e1894db5f640a17b0e705195a350a61ec62b2c7a216231c530f557d4c5605346a6500b7c1484012fc87dd4526823c447b71a726d65753716b30c212565dac474ca3acee664218285a5c4a726f681e98619e2a289d08895bea26bd6a3bff3a5c5c1ea894cb6440d075004f879b41a14ebb82b74ab0131d0b3348742db7244e750ae2b7bb57f8a95379502827880f8a50ecb1394db2553c07627c113a300078db1bac7b50078d6e2443af5c1099633ebb4b9313c9f82cb967442211ccbb7dd9b4711f85e99e7b07601c07f10373b104fa849a9c9416c3304c09c1b2f22fa159bbb043a58415a11cbef06b85fd728b492bcfd0767571848652503a5a162e0d478d74cc05ba5160f398df7361b340226ed49a5449467a9a39cd5297c52bc0cb9634325854043617faa817ef2a94aec5a49f0579f085acfa164c3247959ade02dcefa8acb965705060b08499c33f70fc6055fe1752a06f0547f4c702f851b36d23da24c8ea79a942dfa6912cb00c8d892b244c765d0795545423233a6bfc01f38fb05b8f953ffa532b7b6c2d667913cc966f6b88f63c1bb06b3bce5310a8be69f0837b8a0494995844d65350502c061d65c563fdb6b82d41e76495ef15b56f3f53d5537cdb2e6c349844f02121ca9f404a19c6591600d88babd8ca4c25c973f89b0765ba6b4121358c1738e7c718f6cca0d6186594b265fd53106eca59d9ce51c1723cff7f7053fc6240a3718b0aa3d942084a97185701bb213d489c4801bfeb22463d9608b92053c614fd2510dbcdcade2f57004cc995db29139a713ec106607f815db318f03d2caf4a294caaccf34914106d463fe118bd0b65021f086f1f9a8f34a42e197525859767d89b0eb29cf54a93e76f13bf43344bab7578ce167796976e5c7a2626b76ca2222cb358904386a5485c67fd58f7027543185c71ba82cdeb93b619455cef931560452d7650b25617c51d93d9223cb2083ba29d6a66ad798b5e4a49afb5960a08a6d8992a23aa5840c97adf727e698c990684d0c19ac71bb816ae30e71351c3300b2edc22601b6bb7545a87869b9712997aa5c3ce6080afa8333e6159c1de61333f4742e5c49e887a8a4ccae2df6c7e218a509124d151a711da99a11d7b5841752c498521c3c4699113dbeb652a4c6754b0b8a7b1341d5a3c99bb39c9b592327d0242ac68ba6d01369257c56427928aa5b0534200ff8a4a7263f9f955598a0980ee67337442df706360faa20dd6941195036831186dde104c5e6cd79a84afd6917c1122070ac6cfb120c7f22276afb4d51f52d0ef2bd4322164f938f66269703ca1db984bcbe337c710142d024ac0d7502579b1b804bcaa5fb551274ca547301fe6597cdb0754ba6af7d74bca789c6a7460ab599cb14825fffe28683267001e32ec6f7802826c3d5091f8c520ca52c51e1e2b649222bffe45d9d373f8224b9e3e973a852a0d6acafd22561aa1376e9842ab292a61c21308e209d3ea353d77a8d835a46e9315ee19bbafec09ed462269de56b36f6791f771922b49a51b3870ad0a0a2f3aa0122ab02648ece97c96ed24b9e99b6ac2c964cf356e4a39c21d0274eec6fcc8893e7cb425c68c8e99a89d22647a5522ffcbc46184ac181d556616503aefbad90966d2806b6bf26903b18b1bf5a89167a10d47cb4a6f101fb09473710559f39b3046bc7a55331e8da418bb34089793c2a7606112011e89318267348baeb7b39f6c85b0ac58b4c8c187965eaea5940da89cd4ac31754bd85f815c9c15b36077e9971b4ecf7546c4486ab074e511b729ecc835c175b8304038550aec0c6c22eb76f866444859293d21b4743e0202a3b6db7d2342585a5c098ca66822f86f01a6a9c080b414144220c44054801c36199432870f8b39b08831c8623972b1ae3442d0fe409b47a5c22e67738008a71ecbb8016ce110794b1d313460650ceebaccaa637f9625429538dd1e00ae8930211063f3265ce4b7c6ece835faba9236cb228ed003cb22cc8b3c5811bd9c276944d929c5c67b26b8648be93a89396c2949e26866ed4121c3849bc6c15adf8942fd4ce8f12b5dd83cea1322ed4c0bd2bf9b591fb01a7dc49387c04e7c1416abbaadc2c183072ca13c31f8e964c2a9b56912571fbc07878584f7926a9cf13c0f4c114c59b1b44a94014c2963c596471f7771cd383c235aec594b61eeb17266a5ebbc4828805169d1a2e468448e73a1e3c919ce3f738d2e1242c0895b59c27e12cbeb10c591a54108a7b730d2b902185b9a8da9d2ae01807466c456c4eefab336c13c6e137b6cce922b1113e1cc862c8883eb69acb0667a68fc58fc5d6584af926b25159f4700c110c43bcdac03714714ad4c07afc4d54200cf0184e5e8a6e5df1ae6d13c9f9401ce38c6144d3b87dea304625cb8aaa6ea0695fbbb775c6d0b7f79a6fdc4c53c9ab072d027da097a0d69ac77a9cab23941aa160bf36d95b10167364a0c866e44be2930199a00972936275cb9f3340812d70968a95428b3000b21c68a237961b99a2c7f62c9988675f01b1604910b0d8942b21c49e676532603ddebc39876c8479603f9360a9538679c4a83dc1c33947b5c01a5c659d30187db308bd999d68e30c79e40b631bcb8725b72a414e3be0300e4c7a30f56abeb9588fe0292dfc23c4c994ca20726cebcce5942a3b376bda76a965179f56e66a2bf94ca35090af041607c18545472db1e71af96570538796418737b048859e676480727e71e3534510998402ad13d54284b76d6eb04715934fa6f05cadd2a6cd6683d981cb5f6a884d04ccb008657f990545e38a7c044645d9cf9b7b49643b7415a63a8b37b6fdb304558423f4a47961e230c9091f0519c15de10275da4757d40edf70ce729a5986724e8701101c208e4e3bcd4341098d8b07708a2c81eb6044b82ca3868a4752cf42f2596c7ba678723931cbc646e935e0bd96ec59643250a0b38f9779b0142a9e546eb525e72ad204d1eb31a61c6c4009e28f6a20aad0c0b14b7cc0a01aeca507c366913ba5cadefe6656881b9da0c5da5f195b80fbb99c2e8b06926074f3f604b3f6195b5a5b9737876bba72 -m = ff646071b2509e6b75790917e08e4f0b0d9f0116ec6291c0b59eaa4b583ad830 -ct = ee4ac790f5822007e90fa1139bdbe884856c01e43dbd73152fc66640ac5903ab57b728e37b285dc7a487e779e46c0c2c2b4249660c74b353820ccde7f812e9d97e413b9784be0c69f6d8fe6a2e036b08c0bdd8c5f44ed4fe3f4658011d9003b8cbc0288700800f2903b870d6725edd0f0296d88d82500b6e4b7901b7d7055acca4d337d065a8e2a21f6b55639a607b2daa108264ff410938815e5131a4c29c2731194eeb88f5786570516adf1734bbefa238982c558e242cb022dee87f26e6f60c58f99fdbc5e9f637ed5a18429decbd2df251ca453afbb015cbf72f0a250366217fc080832b0ff88173cf2d08a708fda5f6b844f95009315b55b05884f5c618027ec2b930ae8f0a72a48e885ad07513685f8e6b9ba4f68daebf5521a8600a36424a17889eafeb266f5d932ba7838a18d6832532fdaebfe0de0276a086628518ad388a16cd0da8cd8cfc0ef6dc14ff9f70abc782317c7a005490d8401e488447cb7a3f3f9408bcf80398532eb913a689aecd50d099e4d1f4217a143905a9fc9df646683bd3c15966325f893edb528b137af0d137dd6c4678c481237716fbd4362e5c3636d6caeced4bd5890b6d98d289252f428ea4e06af456e3362247a1111d350ef25fd92c36002d3dd0b10229d3953c639914434036d941ce28a554a6f84b93edf51b339767c816db1b8b1a611979eef40c6200fa72403e8cece5ef9e1979682ef17c273c2c916d1594e5a93a346985b9cbfdcd3c691b7a3c325baabb9b3ba4cbe8561cad59f106ed2934752dc89ae22e5c7157e00f2668d915bfc5d3747ec4b05edf856cb2cdd8dc9574104cb93ada68cd046b61ea48d3ec942bb85539b04667fb1a4aa05f2295482751586e2d46894b4332f2f3c591d4b28bd953d78263ecefb3fc72a21f2729c16a6709958fb848d2a5832b503d0d7cfca9d5f1832d5c08db3d96fa74a73d75158ca8d7acb127248ce390dc96d7dd4264430ed47e5fe43fe36fee7cdd54abd6e1d16f30fc632cbaa65fedf1508efe500d72263d0f706591cfe8064c67c2ee02d5d6735a8cda3a38c2c09d92a51b7f36854a8aaaff050fecf3b3a639304dc3fee9607ccb447b5b7fa3d928a91021c1bc43038799b1e48c14c6299950aa1277d3327dd59e8d75eb1833df0a3468f89ddfea0bc37213fb1ee0d0cd7ada3ae1af65e053fac37651d218f4402f7000159d4176df36cc9c30f5784f202d8930861773be05bbabf8bccce6f05b3544fc0e1fb43c023f390f137e6c5e152c8f02c1ac5115b3edfecc8c457f928096e3d0197d0eb04b972e50d14491701e8cbb5406146290ec6cb325f62bbe3127882cb14ee14307accbf15153aeb349abae670010c3c97d17b0b9ddd383cf823d5895a99aa2000819b4cd36706da3770a1ac52c000c9f1d0987d92dffbb0309075694d6a7737f881c7433a073ff578091814604a727dd633fc0d210cab7af09d83e48d6b6de60e5051fb76f90a2f9ffff56e5144f0d6cae7c86bb376332a305d779b6fcdec10ee285b2d2ec0737868676beb8cb32f47f9952c5e376f0b04ce8f382169aa50ef5c71ba65f7db5d9492a79ad5014767401e0cee2a103508aa21b0695f4ad20efabc7a554fef46d3f8157539985e0657a7456ef86d776af8bfbe3b72d940036aa5b5741bdaa2c857b55b265eac73dff4deab1e7fb274b4402e28a1da86e255d986d1813f03956a08105e05199e2ebf238b09abd694259029b4b230e85ec10282d627d159716ea4aed81bca0fadfa3a2f1e227ed19f494a814422901f9a892c4c4c9b9015cad9b8c4ac4a6465512a38e1e25c443d8a31700fe1ac4da4002a117b3be17fbcca71fe1b9dee8951d4cb7c2854ed473d86fd681c6a4481cd683716d3c18b0793f5b3af6d5d8a1c0b8441a208f523a3fbb81bf975c2497373a65d149a89c90fd056edbedd9e35d13cf7e9f33fe0517182370a8c7e401f2de3fed39851882f1756597428f32d030566e63bf473f6e1458a2952114908ad12b38a29804cc16f3bc6bb9914ba47a8e22e01bd0302eb761e647db024f0e9c4faef9ecdf3085fec4a2db38c3357e963af75c4627fd955117fa7b044ff982882c955632f88c9be81a3596b175fb6fc2eb8b4d24ae4b1e2d4b0bc10bdb0bbf00cd9e3655dc11fdc4765b50a3243f430a2ad6b05fdc5e35821481be9d922ea5449bcf6d06f1bb53e53437197f616a32 -ss = 3f34cd3501e04109a0ffa0adc0cc672069f2aa1537faa068ad2b7c2dd0ed5fab +sk = 3a756d6dd157aba65d60721c41eb4edbec38834c22e9ac88f03119b472bda0961d1f5c3268ec6492f92d5d066dcba69ce9c20311e1c15fa81fa5014c6c956f88055fc2d35e6b295d05d6167e4375bff23257ba72c0f97f452b609f22b57f7c27f71a4f259938b5aa18097399a0d32c3602203bb6769015495b4bb7317c9e99c966215c58d3455efcd36003826c2c7b1bb437a66a968dcba35dad7098fce9133110a109c2b91764719ca25866c98550082e88f29e78b38b40a53c4d626fe63390a290b54389624c597909d79fd6a658e2166704c386eb1c8e951b4c7619b7b79349c3f59505809b1095405949cc55c109a1108649552d5f83a970083bffeb6550893b5c5106417b0cf1e44b6b05a9f9093e386c9d43f14d4cfbabd3b17efb49aa2c571ae99197d2e4b7d58775962570d528b8ebb8032e8065bdcaa391837d483a27239a4a8c0b8f13013f4aaa6bac0ca86e532523d9620bf9c2c3e2aed2365e90a1699a4cbf454c4d2e2c4273e93456142f737c8b3697b9821039142c3e25b346d020c829850d6ce2649087ab762c25baa2639c8c7a852bc76d456ee69747fe561e267844a7e51ae05c5820f0c2b880b05cc935a3bbade2c6a4881cac21938a304c4cd2c1cc1bfabd932b777cc459bae4be75389862464367c6318a0521dd62c5f070a139a95522d10d2e4134c06522cf52834562a208b22a95431014934f51ec49f5ec087d1435db935bb5223c3ec87bb7f7427a458232474ad9cc222b422149977c7f366f48b0b14ab260bd0a8c04623f9b12091ae049725064d0bb4a249075816aa249718f1a7768c3469aac7182d2f01d6373038d7c4ca24802693a354c19c66dba1c05eb180ad04c1fb095b42947d16b66139384c71206bd0ba9ad9bbb5dd7593d08616c214fd9013e792a5b4930122d1c571f1315d235562c167d7546c8ef7536a929982f6a55ce7209b0d5735f69ac6c52a824e508d2481a5be01075c54d8743bcd76767b69b5e350989e629c97ac1982a75806126245fa692def22b15a29499c82ef7f993eb3472f850527d900da2f513a9366a4fa978038b9e46752dbb8084fb12cbc591008d692544078343e9ad67909dbd77c18bf18f02607210f4a0f5dc749f8b0bf371309027968968678b0135af65138c5544abd57ed8a646409224d32052bb14bab4d51dac981ccd838b4a513a36a351b81a0785ca281d7106872583b8babbd62a5787bab8ec9019c7009130ec6be4e25d9992aa1dd13da9c1a7f1ca27fd78968741436003789b8c781c599c98d2465c7513cfe85154d7a655216e5b3b800deaa6b9dc7c0d998b9ce2b99da6afc27a5ef6c152eb16184d91cd038cba69835ab3500ac2e87368f37888ba90f219ce9da24109f0b3e1894db5f640a17b0e705195a350a61ec62b2c7a216231c530f557d4c5605346a6500b7c1484012fc87dd4526823c447b71a726d65753716b30c212565dac474ca3acee664218285a5c4a726f681e98619e2a289d08895bea26bd6a3bff3a5c5c1ea894cb6440d075004f879b41a14ebb82b74ab0131d0b3348742db7244e750ae2b7bb57f8a95379502827880f8a50ecb1394db2553c07627c113a300078db1bac7b50078d6e2443af5c1099633ebb4b9313c9f82cb967442211ccbb7dd9b4711f85e99e7b07601c07f10373b104fa849a9c9416c3304c09c1b2f22fa159bbb043a58415a11cbef06b85fd728b492bcfd0767571848652503a5a162e0d478d74cc05ba5160f398df7361b340226ed49a5449467a9a39cd5297c52bc0cb9634325854043617faa817ef2a94aec5a49f0579f085acfa164c3247959ade02dcefa8acb965705060b08499c33f70fc6055fe1752a06f0547f4c702f851b36d23da24c8ea79a942dfa6912cb00c8d892b244c765d0795545423233a6bfc01f38fb05b8f953ffa532b7b6c2d667913cc966f6b88f63c1bb06b3bce5310a8be69f0837b8a0494995844d65350502c061d65c563fdb6b82d41e76495ef15b56f3f53d5537cdb2e6c349844f02121ca9f404a19c6591600d88babd8ca4c25c973f89b0765ba6b4121358c1738e7c718f6cca0d6186594b265fd53106eca59d9ce51c1723cff7f7053fc6240a3718b0aa3d942084a97185701bb213d489c4801bfeb22463d9608b92053c614fd2510dbcdcade2f57004cc995db29139a713ec106607f815db318f03d2caf4a294caaccf34914106d463fe118bd0b65021f086f1f9a8f34a42e197525859767d89b0eb29cf54a93e76f13bf43344bab7578ce167796976e5c7a2626b76ca2222cb358904386a5485c67fd58f7027543185c71ba82cdeb93b619455cef931560452d7650b25617c51d93d9223cb2083ba29d6a66ad798b5e4a49afb5960a08a6d8992a23aa5840c97adf727e698c990684d0c19ac71bb816ae30e71351c3300b2edc22601b6bb7545a87869b9712997aa5c3ce6080afa8333e6159c1de61333f4742e5c49e887a8a4ccae2df6c7e218a509124d151a711da99a11d7b5841752c498521c3c4699113dbeb652a4c6754b0b8a7b1341d5a3c99bb39c9b592327d0242ac68ba6d01369257c56427928aa5b0534200ff8a4a7263f9f955598a0980ee67337442df706360faa20dd6941195036831186dde104c5e6cd79a84afd6917c1122070ac6cfb120c7f22276afb4d51f52d0ef2bd4322164f938f66269703ca1db984bcbe337c710142d024ac0d7502579b1b804bcaa5fb551274ca547301fe6597cdb0754ba6af7d74bca789c6a7460ab599cb14825fffe28683267001e32ec6f7802826c3d5091f8c520ca52c51e1e2b649222bffe45d9d373f8224b9e3e973a852a0d6acafd22561aa1376e9842ab292a61c21308e209d3ea353d77a8d835a46e9315ee19bbafec09ed462269de56b36f6791f771922b49a51b3870ad0a0a2f3aa0122ab02648ece97c96ed24b9e99b6ac2c964cf356e4a39c21d0274eec6fcc8893e7cb425c68c8e99a89d22647a5522ffcbc46184ac181d556616503aefbad90966d2806b6bf26903b18b1bf5a89167a10d47cb4a6f101fb09473710559f39b3046bc7a55331e8da418bb34089793c2a7606112011e89318267348baeb7b39f6c85b0ac58b4c8c187965eaea5940da89cd4ac31754bd85f815c9c15b36077e9971b4ecf7546c4486ab074e511b729ecc835c175b8304038550aec0c6c22eb76f866444859293d21b4743e0202a3b6db7d2342585a5c098ca66822f86f01a6a9c080b414144220c44054801c36199432870f8b39b08831c8623972b1ae3442d0fe409b47a5c22e67738008a71ecbb8016ce110794b1d313460650ceebaccaa637f9625429538dd1e00ae8930211063f3265ce4b7c6ece835faba9236cb228ed003cb22cc8b3c5811bd9c276944d929c5c67b26b8648be93a89396c2949e26866ed4121c3849bc6c15adf8942fd4ce8f12b5dd83cea1322ed4c0bd2bf9b591fb01a7dc49387c04e7c1416abbaadc2c183072ca13c31f8e964c2a9b56912571fbc07878584f7926a9cf13c0f4c114c59b1b44a94014c2963c596471f7771cd383c235aec594b61eeb17266a5ebbc4828805169d1a2e468448e73a1e3c919ce3f738d2e1242c0895b59c27e12cbeb10c591a54108a7b730d2b902185b9a8da9d2ae01807466c456c4eefab336c13c6e137b6cce922b1113e1cc862c8883eb69acb0667a68fc58fc5d6584af926b25159f4700c110c43bcdac03714714ad4c07afc4d54200cf0184e5e8a6e5df1ae6d13c9f9401ce38c6144d3b87dea304625cb8aaa6ea0695fbbb775c6d0b7f79a6fdc4c53c9ab072d027da097a0d69ac77a9cab23941aa160bf36d95b10167364a0c866e44be2930199a00972936275cb9f3340812d70968a95428b3000b21c68a237961b99a2c7f62c9988675f01b1604910b0d8942b21c49e676532603ddebc39876c8479603f9360a9538679c4a83dc1c33947b5c01a5c659d30187db308bd999d68e30c79e40b631bcb8725b72a414e3be0300e4c7a30f56abeb9588fe0292dfc23c4c994ca20726cebcce5942a3b376bda76a965179f56e66a2bf94ca35090af041607c18545472db1e71af96570538796418737b048859e676480727e71e3534510998402ad13d54284b76d6eb04715934fa6f05cadd2a6cd6683d981cb5f6a884d04ccb008657f990545e38a7c044645d9cf9b7b49643b7415a63a8b37b6fdb304558423f4a47961e230c9091f0519c15de10275da4757d40edf70ce729a5986724e8701101c208e4e3bcd4341098d8b07708a2c81eb6044b82ca3868a4752cf42f2596c7ba678723931cbc646e935e0bd96ec59643250a0b38f9779b0142a9e546eb525e72ad204d1eb31a61c6c4009e28f6a20aad0c0b14b7cc0a01aeca507c366913ba5cadefe6656881bf7642088944d664ca7996ba944eff7e4abd0b900d3d1728d99a9f722f928fedd +m = e821e6e3209b923765f0ded2d65dec798c9ceee04665ace3061fe506b49ac7d1 +ct = 32bf088bb3d23c7d461b3d62d10bd7bf4d8d6b474cbdc6be5044aa4da03f376b697dc6eea5d80fb7de9d8e392b12ffdb662230c7abe0ce89aa70c6dc0e8d50f0e4f7ed2f92808a1297c5f8bf232b399acdfb8377c532cf8350bf1395232271f115ea0849ea0175d3ea31d6b2e67c2a8b2e1205fb28731452ce0dbdab0fd1d046b60ed04f0c87d7ae2031ade816fd03cacf8a0efa14de567fa279836d5231f99d65020c796a283dbea1bb2b70d84ac54247d005a6dcfdc9025cbb7dd53138d6f5164374eab96505b9fed0db2427c08366597a8b80a966fbb9ebaa80e538d4740c0c7237c38719744a1b94053c058c5a5269c7e4d55963ce5c306f241a3069e68b6af8950a4989289d893dc5046f9de405a457bd428a806de9d84cc3b3610b5324f58a20d84149081f89a5e0ebe565d1e987b08601c21714b4c4756abed4370373fd0700f4284bbe638f2e892c917d4fc003718dd2c76da9f917b95ca2e4d77c4641e5f4d39172a29173ba18fc9c65ce26961446e782a180c6a99cefb7c1128989275650156c76915862b44752bc7825a12fe5311b5cc9c366ae3b70e1bee59acc16b19a69994eeee2e807432703914d899761d7da56c1623c2e5daf0b78933e5816b23eb89cfd9ce6402b2e235f377074af68e250a527791976865c2e633b4a5acfc7cbbf061db8e1814e5b8fc8adddaa3a29d1354ef3aee3e42c9a0f0ae30fa6d5cb24cfc5a2e373c7f512b1f0a71c602792a70ae4957313382fc3fbca397e31b5620f6e2b188feeda47d1acee9c8a86b081367f4bbcefb8125563385991edd75d7cf09b80b9a9f5942fb0e2bea79b3d1779bc1f05eaa200a6a2b2ecc5bccee234c3b4c41aa1b7a1128fe9906f02a861f8572751a54128893fc4c0306ff60002d84f8200b13b00b14ed2a7fdc1591ffca2f18dcd7b7c16b6295cdae116a5bd60dfd12d16cf62247b93a556fc8535d0b86b952bae5d111f343c352dadacb0c861998e49efc09560d217a699de0e0f859b10d1f83bfd0fbc76809f6dd22935604e49468cc681c60e53a6c5cc8266b5735895771ed8ed44260c01242d09918c54286f450bd35ace821151ad6e17b2cdd8910e78d0c8ae4b1fabf022aeb7ef0668b38d6c62b477a4ad35c2cc3d213504cd7202631aa0216eed28b0dcf0b9e162bbeada894214f94e6beb7c2abba86fb5dc5407e4f15d28aa7d1e6ab8b3f40a820fb4668cdbf81fd031723e0a4592701b1979388bfd857914851c13e7ee032dc7b6070e1acbf012488384990cc15105f51feb73e255ce465014377961f1bd1a0ba4b43a61e9dfa6e3bb62d058b51e65d40a3e457d670ff901cc500527d48cb0da44506f1d79095cc6a5f32200345a8f7d5ac8a939b0236b3352783c78f4de829dd22de0cd5b5714f195ec60f02452378c116075c98db2ef91c26126e2d6cdfd8e67a1e4aeb457865fd2aac445bd153db3c39420a6531e4a101832599c899e2f7bb5037b6e7892ffdddbab60159e0318b849adc85daa753594557c3e25063e67df32619697a03432679c4cda5f41fd7e7d3d81b3f3984f948046bfe280ef293d6a3fe45c2306bb2400c3b804f2fe29363d4aa4f71e10cadd69dc0c0c0b074acbf21c73ca7abf49ce0861b3acc173185ec5607dfac34b98cb76b248aee73f87f990fcb3519180e2fa768da0fef81d782785a0045d994e69dbcd6e5ea557238c527eea17e26d5c6b4373b379ea0543261d3fc1cced2b746739b58e88800bb13c3bb3c088d36456be6dcbd6ab31b9137db0508fd4a97cc2eee5e9f7c5e17376c9d0bb632d37660db0c1665131f742e4a1e92e417cdfba78647cbdd8825efda463bc0562fe38f09793efa906aa55edc75a13a64258daf753a88ef54ade6b638560d20b46690a355ab107ab7d45abee6b153e8d2c8afe07de7a6ff9bed44e32124b5f84f4c8900c3daba83ef473bc3385e3aaecb4d6b239affd88ff63ef0ac96dc50eadba57c570fe0e028aef1c8e5829b87cfc7e00d0dc78677b8b7329137bc46c5dc069b8890dc434a4fccabe41fb3f50b601729ea0ded48399dbdc8c47c00d7149c2879a75f1e81f0d23a94749c9d16755cf268e54e4aaaed7016a85786153da7f4963056c49c40926809d59a640ac584253ba00f3386204104ca67a9363306a5ba3ade18ad7d3edc05fe3fce708a144af538fc68512ddfcea3abdaa387e9d3e8d107c15 +ss = 2a44e3967c9e375be9143787d6e951120356092319d6d2aed999e79309b10881 d = ccb073c4b90be0ad746e26fb093b60c70110bd1dcbcddb566a8cffb7b3caf80e -z = 71600a8982c350df524cde514431ded7aec23576530894bcbf0ec0bfef0bb64f +z = 55f35361778bc0a53ea94003fcc0252d8333c58152482af1e9c9d2bdf12f377f pk = a2685786391d97d3b6fec35d89553e3dc1289051a39501a814cc5efe04bda7d7ae7531ae70706277f71055ac32fa25abd26ac6ea6975d5a91618476d62e311a9fa3db53582462467b19a7a7f025a3b20a3b5e183eff249c855bdb3719d5934c3be5b64576b71ce525bb2874641a09c036bcab46684e6280b5806b74c4192d0a55a54a6329ee7715c88ac3f1112bf49b7cd642553b152a45366fc925a4f34c2f97646c51511c0c9899161914654c052a06c6311022023954c28bbcc22b4641bc327aa37f494383639aa3f8a4153127f28ba56837a198b604ddac05f82cb4c11834aa19637804c6643125c9465ac03516334679f36175b35c0c4da90797e7a0cc36173eb07b8c541ab501151d9331666267adfa60315305be5345c46f628746025e7959dbefa1fc0593ac94ace87fb515a03b00bc84b66507ed2c6ae4d931fd28186c396582a56a63cc35af5ea02e980ae2dd21badb02699d69e857334b1e96a5086bddd7152bbfb2c49a411085a94321a43e1491f0f0067b06688a5ab8d0aa17a9448004f25c1c5322b8d7b6563977fad0c70e7bb961ce84cc685aed34b25f0d30ec53a7a5ed943f6ea3dfc917b01985c609c995f765baa071b3749c89346805550ba19d958c535627e606b2f0c2706632fa466504c267dc7805e60a0680ecc158d6b4f75ebaa030292ed12cceab06d5c878cddca919050cc386386f5c8b3679b254959a06ebba5520646e65250ce8b7cca03227d1b43f49c9e9297269eeb64409712fb868cc47b406d9425868b6a304aa46e472acb0197a071ab9d1622861916cf31afc12466a4022a3a635ec89433635bb0afe2c5f73670ba532714803b1ed473608c5e00c1ad9fc90c91281d5e081692d85dbff0acaf5579e2b1b6c5c1b61c3579cd13a7c8011cf5c19709366bc9676cbb8b2271c784672200e6a0254bfcc9b6387d42993e275ab2da100301b11f7e4881cc5774d2f849e3d3ce63639ccf303a7f7914287079c6066525a4870b974d3da72a9290b96c6846eabbcbac2b730849a9b014100adb9c66d0b5c0e7877db476ff8a8ac947341d297c5f9697029439390a7e6c084ebbb136907a02eb5a351c94607fda4eb44458c9cb8b50da190e307fcd63885463523086036c5655e8e2621d4516a39084fa5b4f9744a921f497eee3a46eda05a4f1481ac5b4b819a66753b5b75a95640b0cfa07aa8a2033a8f51cc526cd1be8cee5677a78f18af9608da3a565bbe1a79c58691a45ade1aac936f15eb238bb4879af7da68ce2a106031a322c198527b94984a16d9b4a55bcb59e9eb4b2068182cc9b17a8cb2b8a776206b59258a2c9a19243c9925fb5d135604712baf09e2cdcbc6ed11fdd530d83a901f06c166130b912a53c075178195662d9212e4219c63271485ffcc9aaa6222c9aa2c4e64f5d686bd4874aadb456ed086ebdf151eea4be6bf57e2cca56edb04c0e68aa4deb1580d005d9da4fc1943c85f75208d0ba3b517f89a82a2fd8bb96ac07836391b2dc3b6b0533f0d91e170986cd245fa2a90d6a345679377b767086a1173dea82969fe3bfaa643af8f98b97a8432afa1a8c748ee7055630812bd2d80be782a726743627e707f7ba069931c9929b37a9b0b04bc23405e5b890700dbc419bbc635c12c390e0a8618ea01f2abc84eccca4b9f576664237355a40b7e931195b606c6759848c33a002b74b4706266aa93fdc2054d95e7ec30f1ef53f4730af8a31a757a55a9fc69765f67ce7ac0413dbbb12980028baa2ab2a378a55a283a6c5b73837f8462259c2aeaeb36c7be5447ea22a85a561e2477742c61dafebc969ea66ff992455db36b6029d863a8b896057251b8adc659f294707cc643a91f3aebd594b2d1c3c1168b474e011e7a280e316890d467b77732e48c7bb0216381ac8bbbf6a7d61b90c9266a33ec7744099b2e4d464f1a11e1d38883de5c89371585a2247c4b80110566817808e52dba03061848fd6338cf03992c1ab83f68a13e75c6565868dd419815a19983aa8d5c4123109a34fdcad5fbc3c37c87d1d4a6b1366906a97099df940b2564f00e37760786ef28c7896c09d04c0cd24820596e538ee3876b548667cb26dfb6073eaa5631b92c4bd05320c923b53552384d4afaa047a2241416718c51c97be1df9c3a91995d515b21b57e338a864d6c447ed4e29d88c30bac7d2d0cdbac43e9f4176f0078c715acc -sk = 0baa531a985251b6b10153c8fce6938a280e93f9ace7a56dc7f44fa8bb2f88c09290888da8134a0fc43ccbb75b50b6a724d6812183acf876036dc252fc893419280314c7611750875821b2f3ac4f1c20b06365709bc07ad4161c94c41930568996f8cca58c4a0536cd5668488715593e66621f96c87a2178a36438dd4c390ca0532d30b88db712cd3c50d30baa91c98cf0bacf32c60c81468307ca35b47abfe59174e53467cf7b1d376758f1a5926fe225f0078ff288ae24d23241709e471624285c4fbd35a333088dd643cf6cb0ab6b27c8b679792ecb8ba4c28cd8b09677f0a7ebb692eca6777922c4ed6c20402533cbb9a3f1e0c10250209ef128a626b763b30b5e49c4c4691e3a13c2c2601b6666aba1d099987990bd1bb00ab5806390ce8088cae30a5b20567295aca7f0191cbdb4795e78bf150c7954f9a49880c218c23e59014620e18f18c536da0b7807b0c9e11b1e341c2e7e5ba799653fc669c1032aa014cb79769361b01091b5e000cbe100933c6d05714481f491b2355e72638831d0c4f4daa18c6b4ae6e825e688cb812490fa13b43d306e5bc857fbc18a61923f6b685e5fbb5be9c1871a9822ff07caeff40318482144143cecc5b0c579c84fc949ef359f0b24b20fc0a9f3300a3217a8058469c78b7998744024e275cd1c70a96a75fd86019ca031fec081dbdb796a56186d9a1df8c098940527d34a1df2db50b5136b6737829f0cb1da3b131ab238207a011f02bcd346a0a7138ebe3ca2d78646d7f98d5a886a24b83f8fe84ae81627011a2633f1c159c3870f7c69126b3c31f50d356888f9077fc207168cb075e0940fb7a0becc556de78089ed512a39a6adcda9c3c5126d874b50c163ba7b091656e52f9813cb318c87abab12a3f8996a4cb446d0793055ca177a1bf455cb956443e56c160f4788cdc6b008c086403bc910332d3e3274f9825e9964484d7a52c91c275e153a496801c0e6c8084b25b53c8eba77a9412291df78bd39895dfed82fd3c92947a1beab598d33da8344c88a9e073e28549fc939cf5c6978b6f74ccb23675616899fb69c5eca0c6b68090a338eab57a222fbb5a482837c097bd40141659a2a71d81e3bd38d60d0a903592b768b0ce60a7044350a75fb02f19482138603a9d8cb89ba6a32d37a15549548aace4636047d66ca4de6cf7643c2a5939478a39873820578150172f965d4dc6cc6d7adfc360568a53c97d268900b7b20122e50cc5e460304927333beb7bf73446064d76c3af1274b503203804774b00f02534772ccb83caa8475651460b156a7238da2a9847d445f55687a84baa06dd69d4a637efcc1c09f81bb97b541fd77a96883869731ac776913ed6c02ef03183b27b4655639509b1e8bba74837375628152814448f270b6dd865c888180aa071a2ab42740e93f05b32a9c85a069420be2ecc5335738f9d46c90c5af1625779f3a329dd693706618afb300b5c7099c220126c8398fbb8f32a2a35888bcaa187950365f022585c2e08243f53122b6c5ee9a95b84151afd10b2110135c2a940bb8370565bcd8739609c44f4aaa7c5c266c6ef7cab87b351236702e327b3e53555e24abb670ca6e505df0e0aecf7513f7e36374988dd8977a0d93af43a37e05a3463f2cb5f920b7fd117858380a96681229e87db5912cd91115bbc11712c690ac98c449e261bf959ce716ca4acc65704a5e93a7731d1a380dc9534a9611ed89c03e72210b1640fcac8003235d3f3a09da5b89c2eb0b7834142591a8a944a77bacb8ba6260ff3b0f434021502c0e97686c7feb6e3b6214e12030c05316fa89a474e49db8896284821f910a4490a40458a48ef0cb1639234c966609343a46c2f547aca939e4e471280c1009e34bf837180b8233a4a2901557b3d4e91b707414507449296ccbaec642470c8a51e6b7b759397f28c6e1163b0d6691322bad05ea09a4f17d3d19262d81b22c5b2009b80d3e4c23a33144e9cacf2dea1e496472e7e0922e4646c5f23c532a62a718c303e993dae41d7c1a2adb7c7cbaa8ad82b46f7784a71fe40d36681ef2fc2d1b757496ab547375415e5894f1a89d46a0206727570c8cb363343d0f4b73cbe08b3d639c79a808baab3791cb7fa51a546d39348e1a6e1162789c2a2a5890c3df94380e53085127c200b138a2685786391d97d3b6fec35d89553e3dc1289051a39501a814cc5efe04bda7d7ae7531ae70706277f71055ac32fa25abd26ac6ea6975d5a91618476d62e311a9fa3db53582462467b19a7a7f025a3b20a3b5e183eff249c855bdb3719d5934c3be5b64576b71ce525bb2874641a09c036bcab46684e6280b5806b74c4192d0a55a54a6329ee7715c88ac3f1112bf49b7cd642553b152a45366fc925a4f34c2f97646c51511c0c9899161914654c052a06c6311022023954c28bbcc22b4641bc327aa37f494383639aa3f8a4153127f28ba56837a198b604ddac05f82cb4c11834aa19637804c6643125c9465ac03516334679f36175b35c0c4da90797e7a0cc36173eb07b8c541ab501151d9331666267adfa60315305be5345c46f628746025e7959dbefa1fc0593ac94ace87fb515a03b00bc84b66507ed2c6ae4d931fd28186c396582a56a63cc35af5ea02e980ae2dd21badb02699d69e857334b1e96a5086bddd7152bbfb2c49a411085a94321a43e1491f0f0067b06688a5ab8d0aa17a9448004f25c1c5322b8d7b6563977fad0c70e7bb961ce84cc685aed34b25f0d30ec53a7a5ed943f6ea3dfc917b01985c609c995f765baa071b3749c89346805550ba19d958c535627e606b2f0c2706632fa466504c267dc7805e60a0680ecc158d6b4f75ebaa030292ed12cceab06d5c878cddca919050cc386386f5c8b3679b254959a06ebba5520646e65250ce8b7cca03227d1b43f49c9e9297269eeb64409712fb868cc47b406d9425868b6a304aa46e472acb0197a071ab9d1622861916cf31afc12466a4022a3a635ec89433635bb0afe2c5f73670ba532714803b1ed473608c5e00c1ad9fc90c91281d5e081692d85dbff0acaf5579e2b1b6c5c1b61c3579cd13a7c8011cf5c19709366bc9676cbb8b2271c784672200e6a0254bfcc9b6387d42993e275ab2da100301b11f7e4881cc5774d2f849e3d3ce63639ccf303a7f7914287079c6066525a4870b974d3da72a9290b96c6846eabbcbac2b730849a9b014100adb9c66d0b5c0e7877db476ff8a8ac947341d297c5f9697029439390a7e6c084ebbb136907a02eb5a351c94607fda4eb44458c9cb8b50da190e307fcd63885463523086036c5655e8e2621d4516a39084fa5b4f9744a921f497eee3a46eda05a4f1481ac5b4b819a66753b5b75a95640b0cfa07aa8a2033a8f51cc526cd1be8cee5677a78f18af9608da3a565bbe1a79c58691a45ade1aac936f15eb238bb4879af7da68ce2a106031a322c198527b94984a16d9b4a55bcb59e9eb4b2068182cc9b17a8cb2b8a776206b59258a2c9a19243c9925fb5d135604712baf09e2cdcbc6ed11fdd530d83a901f06c166130b912a53c075178195662d9212e4219c63271485ffcc9aaa6222c9aa2c4e64f5d686bd4874aadb456ed086ebdf151eea4be6bf57e2cca56edb04c0e68aa4deb1580d005d9da4fc1943c85f75208d0ba3b517f89a82a2fd8bb96ac07836391b2dc3b6b0533f0d91e170986cd245fa2a90d6a345679377b767086a1173dea82969fe3bfaa643af8f98b97a8432afa1a8c748ee7055630812bd2d80be782a726743627e707f7ba069931c9929b37a9b0b04bc23405e5b890700dbc419bbc635c12c390e0a8618ea01f2abc84eccca4b9f576664237355a40b7e931195b606c6759848c33a002b74b4706266aa93fdc2054d95e7ec30f1ef53f4730af8a31a757a55a9fc69765f67ce7ac0413dbbb12980028baa2ab2a378a55a283a6c5b73837f8462259c2aeaeb36c7be5447ea22a85a561e2477742c61dafebc969ea66ff992455db36b6029d863a8b896057251b8adc659f294707cc643a91f3aebd594b2d1c3c1168b474e011e7a280e316890d467b77732e48c7bb0216381ac8bbbf6a7d61b90c9266a33ec7744099b2e4d464f1a11e1d38883de5c89371585a2247c4b80110566817808e52dba03061848fd6338cf03992c1ab83f68a13e75c6565868dd419815a19983aa8d5c4123109a34fdcad5fbc3c37c87d1d4a6b1366906a97099df940b2564f00e37760786ef28c7896c09d04c0cd24820596e538ee3876b548667cb26dfb6073eaa5631b92c4bd05320c923b53552384d4afaa047a2241416718c51c97be1df9c3a91995d515b21b57e338a864d6c447ed4e29d88c30bac7d2d0cdbac43e9f4176f0078c715acc4576536d1bace29aa7c31f7681222ddd15a3cf6ea6bbd3528d2ec8610d68d13471600a8982c350df524cde514431ded7aec23576530894bcbf0ec0bfef0bb64f -m = 0584270ec26f3b9818e4af074d17b2d51037cc8dfdcbe3b140fa4fed5deebc54 -ct = 880444d93c1e8597af5674b378b65f5b090719bdc9085e8fbef2179e5be7bf6cbd63cfb1c51d849a104af6473c6acc7a5ac10d538b49e631530ead158becfa0cfb2bff34a0b0348c93b4dcab233e547c5cc49e4355444643cb0a30819ec09741a5e8252c49e464859d64a462b2528c1dad483429876340d8ed74500bda1fd4d9f4931e4284e01d42688dee92b5a5595a49fd8659504a1c0eb96210845026f10ad97c15438580993a768c93f39c1ec0b3552ae31020d14b9179cf2b9394ccbf99df31b5691f065b9ee8f98d3bee06a673e6f438805ae4aaa173490cec41edb46d6874a2eaed5781225cd89dc3596d13ba3f5c48fef69544f63340c2a2c465b52be131c58d85884f1fcaef0a2b422735ec9fcc611f171f937ada2ab0ff6dd347583c9d8eb1bd1f0f50398d95d7132ce8d2cf8ebb3a8d938542b6fe4ea35a5251e03735854e65b4d97c6a929003781b66eac76e6460e8677b5b048b48737376cab338d50cbc264c00dc89795fdcb358ac8aa8bfc37f7e2055979a72c4cea20fe0a8218e631e886de9fcefbf0b4e6fa8249348329b8225bd4ce6073a2778be42c6d52cb21bd06185267c24fac77def14b881ead54b7fb39708a3ee0e84c9a36b5b599e8edf8117ffebb4bd30223c2742fb76e8a7f0787c2c4f8bce1d824c820f818b567ead8683bf792c6de32bdf240893d0ced49f3ebbadf8af53f646eddb153ef563ab4babccf83bc33f7ac6e528603897eb076c53965c3642c410cf0fb4e634aeef71241dc15971676c7e5ef6853dde20b03e8e83ca0708e126d5e62b280b09cb520219264113bd0386a5c0e40cc50c530a43e7b939e870570dd0c526ab97865963322f53dc58fbc8a017c23c8f15cd9714c4bad061b443042d231596ebf304484e69607e0748698c33b020cda9ab667c2bef24aa7c0dbdf1daa939613d909e34c84bfb9902fe51f01a819802b997bfb3761301f426b79ea7954f6f10dc4684f24ab5eeeec68c4572b73801450545f6d7879d3b5818f7a64ce5a9e3c31a86cce198ee845a947bddcef11d4c49fa81d18198458af0b69ebac07717f3f9427cebe7df7570fb65858ec6725d7f659a26e59ff0ec85595b91ac255df5adff8515876f74078e1f4361ab48cc53f45dd97824d55b1cc82117d4b17491942bca99c88cc17d2d365c0062e4ffe1e6c333473a14abaca1b1c415e34471a955b3aaba4d10f685156ed99fac95ee89d7dad15fd6f3c75cf7acc040bcd84f3c91a324419e6e5df4aa06c5421551dd5a0cf5710e4c45456d8b5a5a88ec00d942d6f123828b573757ea42d9f767b5a8a3bf691b8a4fb7da5e3c8e0bb51498fd728707c2040c9871f1936bb18a5762ea52a8cca3de85b22e339aa672a13becd403453e5b6283fdaa90c0c0cbf05968d4bfa854413abba85ab4897bd1003c74a1ca78f061a417703fa9b0878b9b4fe29292d638faaa5830f5ed307407d0ff6ea15105f482ac255ed1dccee593a4ee000e4bb18bbd069dab03974550124392873c9cd5b38fe199b5bd459b7cd2ca3f7699f5bbd242216430f3dd1fce7e5c89270ec8fda8c983412c3abf4c88988e721054f6e05f6148ff371aa98df8be983e428322f87b99ceec06f1d5e4f26a4c5325d09e7fac87d724ef5e8caa7280ad5e819bdd4a23858e0612931335476e6b9da2ba1f5aaf3d1474ed3e4a3dfcb825808b571860274fe46b3a4459f33a016b14ccd3673c84c369c9b04ac9904a438a89a718ccf0c6c496d736c782272c9e8bc29a08648339ab22799ca9b045d8d0c2b1132c81c4a1d4f43d25366e3d191de479db29aa4a11c39268c7eadb295deb05ac98aa18801d30f67eb8b73e1fe2a386ef32e9670f9e46d6490439bfb7b747b75079bb2a22e3f1273fa8c36dc64e043d0b35e2556e3aa9b5f76d491abc187d32a0fe53c0fcd520cc3403f1279ad84e056d1c4dfc66123e77480c7e391b03d068ac1192d907500d59ed35f16c56540c300dc9cc63bb294357f99cbb498f1a6e7a59f8b4f06006075c30b231eb42e45c21e9abbad0800ef54addaf71b7178e24bfb0d6c4716e4f249696e45742d9b9aadd827eaa5e1bc93a467210e3fb7c4f1f26058893b00423b083bab1ac11c1ff3971b37f999c666fff2e8c1938eb976a8dfb2353c841c135c4f67e99bdcf7ae307c2ea83d3c74b136edaaa2cbc9eb1d5668e6be24822af2ba76ea709be -ss = 170505edc8b03388021abd5ed71722f30e62e576cd987cab139d3f5220947ae2 +sk = 0baa531a985251b6b10153c8fce6938a280e93f9ace7a56dc7f44fa8bb2f88c09290888da8134a0fc43ccbb75b50b6a724d6812183acf876036dc252fc893419280314c7611750875821b2f3ac4f1c20b06365709bc07ad4161c94c41930568996f8cca58c4a0536cd5668488715593e66621f96c87a2178a36438dd4c390ca0532d30b88db712cd3c50d30baa91c98cf0bacf32c60c81468307ca35b47abfe59174e53467cf7b1d376758f1a5926fe225f0078ff288ae24d23241709e471624285c4fbd35a333088dd643cf6cb0ab6b27c8b679792ecb8ba4c28cd8b09677f0a7ebb692eca6777922c4ed6c20402533cbb9a3f1e0c10250209ef128a626b763b30b5e49c4c4691e3a13c2c2601b6666aba1d099987990bd1bb00ab5806390ce8088cae30a5b20567295aca7f0191cbdb4795e78bf150c7954f9a49880c218c23e59014620e18f18c536da0b7807b0c9e11b1e341c2e7e5ba799653fc669c1032aa014cb79769361b01091b5e000cbe100933c6d05714481f491b2355e72638831d0c4f4daa18c6b4ae6e825e688cb812490fa13b43d306e5bc857fbc18a61923f6b685e5fbb5be9c1871a9822ff07caeff40318482144143cecc5b0c579c84fc949ef359f0b24b20fc0a9f3300a3217a8058469c78b7998744024e275cd1c70a96a75fd86019ca031fec081dbdb796a56186d9a1df8c098940527d34a1df2db50b5136b6737829f0cb1da3b131ab238207a011f02bcd346a0a7138ebe3ca2d78646d7f98d5a886a24b83f8fe84ae81627011a2633f1c159c3870f7c69126b3c31f50d356888f9077fc207168cb075e0940fb7a0becc556de78089ed512a39a6adcda9c3c5126d874b50c163ba7b091656e52f9813cb318c87abab12a3f8996a4cb446d0793055ca177a1bf455cb956443e56c160f4788cdc6b008c086403bc910332d3e3274f9825e9964484d7a52c91c275e153a496801c0e6c8084b25b53c8eba77a9412291df78bd39895dfed82fd3c92947a1beab598d33da8344c88a9e073e28549fc939cf5c6978b6f74ccb23675616899fb69c5eca0c6b68090a338eab57a222fbb5a482837c097bd40141659a2a71d81e3bd38d60d0a903592b768b0ce60a7044350a75fb02f19482138603a9d8cb89ba6a32d37a15549548aace4636047d66ca4de6cf7643c2a5939478a39873820578150172f965d4dc6cc6d7adfc360568a53c97d268900b7b20122e50cc5e460304927333beb7bf73446064d76c3af1274b503203804774b00f02534772ccb83caa8475651460b156a7238da2a9847d445f55687a84baa06dd69d4a637efcc1c09f81bb97b541fd77a96883869731ac776913ed6c02ef03183b27b4655639509b1e8bba74837375628152814448f270b6dd865c888180aa071a2ab42740e93f05b32a9c85a069420be2ecc5335738f9d46c90c5af1625779f3a329dd693706618afb300b5c7099c220126c8398fbb8f32a2a35888bcaa187950365f022585c2e08243f53122b6c5ee9a95b84151afd10b2110135c2a940bb8370565bcd8739609c44f4aaa7c5c266c6ef7cab87b351236702e327b3e53555e24abb670ca6e505df0e0aecf7513f7e36374988dd8977a0d93af43a37e05a3463f2cb5f920b7fd117858380a96681229e87db5912cd91115bbc11712c690ac98c449e261bf959ce716ca4acc65704a5e93a7731d1a380dc9534a9611ed89c03e72210b1640fcac8003235d3f3a09da5b89c2eb0b7834142591a8a944a77bacb8ba6260ff3b0f434021502c0e97686c7feb6e3b6214e12030c05316fa89a474e49db8896284821f910a4490a40458a48ef0cb1639234c966609343a46c2f547aca939e4e471280c1009e34bf837180b8233a4a2901557b3d4e91b707414507449296ccbaec642470c8a51e6b7b759397f28c6e1163b0d6691322bad05ea09a4f17d3d19262d81b22c5b2009b80d3e4c23a33144e9cacf2dea1e496472e7e0922e4646c5f23c532a62a718c303e993dae41d7c1a2adb7c7cbaa8ad82b46f7784a71fe40d36681ef2fc2d1b757496ab547375415e5894f1a89d46a0206727570c8cb363343d0f4b73cbe08b3d639c79a808baab3791cb7fa51a546d39348e1a6e1162789c2a2a5890c3df94380e53085127c200b138a2685786391d97d3b6fec35d89553e3dc1289051a39501a814cc5efe04bda7d7ae7531ae70706277f71055ac32fa25abd26ac6ea6975d5a91618476d62e311a9fa3db53582462467b19a7a7f025a3b20a3b5e183eff249c855bdb3719d5934c3be5b64576b71ce525bb2874641a09c036bcab46684e6280b5806b74c4192d0a55a54a6329ee7715c88ac3f1112bf49b7cd642553b152a45366fc925a4f34c2f97646c51511c0c9899161914654c052a06c6311022023954c28bbcc22b4641bc327aa37f494383639aa3f8a4153127f28ba56837a198b604ddac05f82cb4c11834aa19637804c6643125c9465ac03516334679f36175b35c0c4da90797e7a0cc36173eb07b8c541ab501151d9331666267adfa60315305be5345c46f628746025e7959dbefa1fc0593ac94ace87fb515a03b00bc84b66507ed2c6ae4d931fd28186c396582a56a63cc35af5ea02e980ae2dd21badb02699d69e857334b1e96a5086bddd7152bbfb2c49a411085a94321a43e1491f0f0067b06688a5ab8d0aa17a9448004f25c1c5322b8d7b6563977fad0c70e7bb961ce84cc685aed34b25f0d30ec53a7a5ed943f6ea3dfc917b01985c609c995f765baa071b3749c89346805550ba19d958c535627e606b2f0c2706632fa466504c267dc7805e60a0680ecc158d6b4f75ebaa030292ed12cceab06d5c878cddca919050cc386386f5c8b3679b254959a06ebba5520646e65250ce8b7cca03227d1b43f49c9e9297269eeb64409712fb868cc47b406d9425868b6a304aa46e472acb0197a071ab9d1622861916cf31afc12466a4022a3a635ec89433635bb0afe2c5f73670ba532714803b1ed473608c5e00c1ad9fc90c91281d5e081692d85dbff0acaf5579e2b1b6c5c1b61c3579cd13a7c8011cf5c19709366bc9676cbb8b2271c784672200e6a0254bfcc9b6387d42993e275ab2da100301b11f7e4881cc5774d2f849e3d3ce63639ccf303a7f7914287079c6066525a4870b974d3da72a9290b96c6846eabbcbac2b730849a9b014100adb9c66d0b5c0e7877db476ff8a8ac947341d297c5f9697029439390a7e6c084ebbb136907a02eb5a351c94607fda4eb44458c9cb8b50da190e307fcd63885463523086036c5655e8e2621d4516a39084fa5b4f9744a921f497eee3a46eda05a4f1481ac5b4b819a66753b5b75a95640b0cfa07aa8a2033a8f51cc526cd1be8cee5677a78f18af9608da3a565bbe1a79c58691a45ade1aac936f15eb238bb4879af7da68ce2a106031a322c198527b94984a16d9b4a55bcb59e9eb4b2068182cc9b17a8cb2b8a776206b59258a2c9a19243c9925fb5d135604712baf09e2cdcbc6ed11fdd530d83a901f06c166130b912a53c075178195662d9212e4219c63271485ffcc9aaa6222c9aa2c4e64f5d686bd4874aadb456ed086ebdf151eea4be6bf57e2cca56edb04c0e68aa4deb1580d005d9da4fc1943c85f75208d0ba3b517f89a82a2fd8bb96ac07836391b2dc3b6b0533f0d91e170986cd245fa2a90d6a345679377b767086a1173dea82969fe3bfaa643af8f98b97a8432afa1a8c748ee7055630812bd2d80be782a726743627e707f7ba069931c9929b37a9b0b04bc23405e5b890700dbc419bbc635c12c390e0a8618ea01f2abc84eccca4b9f576664237355a40b7e931195b606c6759848c33a002b74b4706266aa93fdc2054d95e7ec30f1ef53f4730af8a31a757a55a9fc69765f67ce7ac0413dbbb12980028baa2ab2a378a55a283a6c5b73837f8462259c2aeaeb36c7be5447ea22a85a561e2477742c61dafebc969ea66ff992455db36b6029d863a8b896057251b8adc659f294707cc643a91f3aebd594b2d1c3c1168b474e011e7a280e316890d467b77732e48c7bb0216381ac8bbbf6a7d61b90c9266a33ec7744099b2e4d464f1a11e1d38883de5c89371585a2247c4b80110566817808e52dba03061848fd6338cf03992c1ab83f68a13e75c6565868dd419815a19983aa8d5c4123109a34fdcad5fbc3c37c87d1d4a6b1366906a97099df940b2564f00e37760786ef28c7896c09d04c0cd24820596e538ee3876b548667cb26dfb6073eaa5631b92c4bd05320c923b53552384d4afaa047a2241416718c51c97be1df9c3a91995d515b21b57e338a864d6c447ed4e29d88c30bac7d2d0cdbac43e9f4176f0078c715acc4576536d1bace29aa7c31f7681222ddd15a3cf6ea6bbd3528d2ec8610d68d13455f35361778bc0a53ea94003fcc0252d8333c58152482af1e9c9d2bdf12f377f +m = 1332fbc0a80d85a33c44f3a9f060ad7ac8727576105931bb0401f47b31990836 +ct = 8bbb95b44a77216a1f857c9b4e6e9568f3d15ee091e59697ace775554372b198e73bec27653b89d3b55f75b7db1a77576f446d55c90787e92ecf76ed90496673f934b18d595bfb1e5857e518a203564c405e8312eccfdc276f503ebe97995b9ac078cb44b2edcc5fb259a6f64541cf39812335922b34ea6865af7b765b76f988f93efe307253697174ced49f4825e1d3cd2be8a1d5804fb915e98116256a362dc3ca4d75dc4e0f01e4b004655027be4be66bca7bb82b3ce5e557c77966bae45b1977b4198ed04a36d0efa02e40210acf4c02ca0f8aeea1bdb85d27ab1b845ae53841b2c14f428a63f3405dc3fc1f2c762dc312549095c34530e15d401e502a1f5edd093a2e8231f3d1ee0ec0fed1b952d5bff3584411525c354d8f4712e4d0a302e664a5b84373c5f1dce8f98371ebcb3f15e647cbecf1395aa0a98131b14e5e6c72e091d4b58dfbae3fe68c387c467f340088607976451529e75db49991d7dadde8ce88aa912f0190b79695f8f9ca2290d2b53dc94ce7196660dfd08d87a84b27ddc89dbf00dc5fa35a3a9b6accee8764c66673e720cdf03935c71df85b2764f1b2fb68535b50394e0bdbc00e045ad6c6fc2d316ae0d2ed105404d0d1fde5750b70dc292a6ff4cfec95584c1d048ad9077a3834dd0dfa9b5059e9c6e5d136957cf834d735b30e1f562d0e56b6a5f59e40974e51246feeb2f5ef366a883d41dbc4bfe9088f0c3bda9a63ab090c7386621025dcf626c769de429fbcb9b26a4bfca19e715687852f0af8b2a50ff41b05beab7dad0a0295a11e9336b582e01adf7a8a4134b491134c4e009f4dcff386b487a1554ec59cdb102cf86f9c40cee0a36ec4a38c1842ba210df536e27f51a543d5a79242f3efa8603a452136ef9e82e5a030afcf7279dee2edd80e83922252a8c79a325ff8ef4e13c7844583e7abf2d608a546dbfb05e378aab96da8b7211588ab894c6e607203841cd5cfcda1d718bd117d7b4950f99c4ce55d4bf27a9504c24f5e27c339f7383e968ec2c02a442b861e3d3b442381b5caec338c599c3e74b7fb7f3548c69ba1c6d6e59139b3aaa5a5653068605c59dd6dc196b446fd90bb44cf406565c43e9c154835fa3d128e1b86c6dcc28bb923f4499dd41ec9d66d3c83cecbe5ad645cb9493cac66edd39e67f777c4fe05d60b323eae2a4720a95e3899d3fab968927586641844b2d90d164df22c5f0b0c6166204b2f27dc8a1ef21575d70461c991f2eb5ba9c1ad77d4af863dec89592a2b1865c67ce2e85686a7bf8662ae0a13a47282dc4227c4c28bf40a1ba78f85b68cacfb2644fe045a0d272ec5cce447b9e52f153a81bd16af972560a338f92b54378c5427817f240ef5755130675b18ce08124538b5a859d7a5faeaa5ef892415c21989d5f53c73354ddb92b3c6f17606c4b6e7deb05c2b245449d8b245192e8920cb27a823ade7236c038f9d21ab3cefd9c3818d0ab5249894de2d2812e76101a1269179c8037759e85bb2fa1ddac8f9708e1baf809f3fe24517d7cc57b19fe24f937a8fdd7d11c8e145509b96620930b4e259d798a37965520a4bf8cbfa46e10d94638623bdf4c3ebe51df5dba233dda1654d4f93df8ea3dabeaf32af2b41478a67bd4b8b1530e7d24850fb2a424f2c4aa4b4eacd50e099b50338719faa6ce45544c07020120de7b3ff2d6121576eac8bc1e2073dbd48c796c9616f9d3b723c7a54e3174c7260a5ad035d69eb198885d51c0fbd64aa6feeeb1444bbc19dc89cb1b7571d5135b2b892239ff83799744bc60e5fe861ee83f47c289e4e9c7c741879b4617df9e5656cc52a8e44abce86e7a8acbddd5ef5b815fdb28c07df5dcced8767e3972e4cdcaa331d8aa6385a6a8bc7c5198d020bcf42c45d88658e85dc8f721a248be6ebf67fd1cd0957d6b52b171750f7e71b009e1799e894acaeb397ff4f233f3d763cf78f4229390cdd4be7af76e4e108a842ec7e671d25b4efa1a4d905b7c95b12606a66dbeb6ca1d750458afefa8ec1f691d179e2e0a82c12f20c1875d428d02fd2dbfbee9e54a0b05e15907f490476c859681af0f71ea5c6a875c1f5ae547ea539064d44706fa397122971d90689b49edb2ccac9072bd490159eaba949e53ed51fb23f65affab79e81c14a019f852284893d9f743cb38ed3b269a5fe7b5b36674ef197391207277992ecc957ca86dd38e0caefde9b8cdb12 +ss = 5ed36912555632edb046495c3351c3195adadf07537fdef65821a0207de69041 d = 2e889f44e28901e9ac7ca6b2fffcb124c8979401b17064d7e1d51a7e3c3adbfa -z = 0e145e44aae52cfc609e6f47fd7a6f6af877190ff52256d0ac5b05b89c3f449f +z = b2638686db9a0292adc26e549c7152ff36d9a7293bf1380bf93f1498546eb93b pk = 1a7c33d6425e068141b06c2ea57a010851a3b30ad021f6c0aa896e81f13f02d341faaba798a73a96d0b66b00bad5119a8d44797a1218b18224657573c9c556f5bc096f057f72fb749fe41fb9d290e76801b3712faadc58a1d3a8aaabbb996277d6902707a21ee099b5906854d2d45de78c1f134293d3dcced2296c5dd6b1469ac91c2508008951c7fc23eccb9a97f23501b21a625107a9c56ec39b724189ca111a935c3b58f262a29ff577f8459c74d9147dcb8eeb8689ee35aa131369cb805362289ae5973eff1420a8abacb650a1683104d2d82acbb28e54205404d68292f99c9c222bba8045769b73b890c33512c04af0cd86273234e31e94349a322aa13254484c3b99a2ac01f6ca00a77ba7b78711c73249eac054d34a1b0718814f407fd9d62a5d48212fb3afe5518e3a671bcf2cadcf4c8acb972603f960f194a4214cc8c9941fb31a6093a34c102ac18c26ba171a048d39860eec35e890149b9bbf510a4ff2270c72a507cd4a0500ba593841974c419a7ee37859a76f02463cb8303489e61ff21492afd03124368ae02c794642b7fe758f76219128ac75f19c41ab01adfa1a51b027c16e5b15279587e4f4a929f34ad51b06a060058521af6e4a24d54920a7e60c4174baec0b5fc4b498b23711c92bbba383556ea6169f558f5ad29443012c5b82524cec7ec43a448fe57d88c4ba220b56ebc2bf90a2471bc735e88c2e73a8771d669a1d76566ee80b78410d7cc02407091f4b6ac97cf2afbe67a02e445eb51389b8233080d42e74e20650a514f995395f8b23ece04e2a5930294b37c79aac8782ae62dc0d7fb60fff5c8d54e29fdda87562250a70038355a70d6bc0c3720726f0586acdc727d993988032cffcd5a9b909857be58c3b6a7c10041976a472d2bb7d3a0932a6c0cec9b68126b98b40d4041f5439f395cf6ea5213d39c69ac91b85696b009084e662aae8053df014720b5759c5f81b91f296bc4103c7dbbbb6248f87e8543e8a660bd6bbb9f81ad5721d7f36cfc776acbc8635e1910e4191730aa68e5e177d2d2234a645768d26cc069254daf0c94a09414a36a3d19ca05a5475378254ddb0890cab0e686438461a1d499aba23eb3dc2b61aa6a46c4afa2a262c6f09979f01fa1a98f62b8098be6416c6ca5b3f8ee79e28c07cbe2855bb64c88f67947a495e87f03361080cfa3c2aeb2791671729248b488278c72e85ba2dac1dd2a8a3933a7c7d44cf69f959c5acce38daa6b796328565cb97e0274975323a7b20d27937f0c785152209060b05088243636039808c555ce29fd18a449a9a188afba922650f17102fb0a28381ec046164358e344fa250c05df6be895a5a0566b409f893e9d99cea7b3d71eac7a4d0081d951eb755cd39215c60c1a21de05217692bef3b8b4104608d198ab11c4c30941789919830cba4e7431dc127ac770957257c19eb80595ab9bb9d4a0ac266b7a37b94bc517139c904595c327f5c1430ac7d7e33bee0ba9c7bd7b266e290c3645821542f0e0a920fdb72707544a6d10c8a4c5a46148c2458b6c5ab06d42c2d7db03ceb0c00ca37303c67bae0038e0a373d539b918737116ed029a4d78a71d74f770ca53c9b4ecd19bfb172299c55a0cac83fcdc8c74400c5be76907679b48e0ac041987f96754588b83722b49159f92b41b82e6625a6108a957c34b2d0e30d536218acdc56a093ba9940c075362c1028c6ba42a775864bbbbabca70a5b7da5cf05821a9a81ad022784202362e587bce2a5b090530be4c51ef77a887af373637326f436c891304b72867dced161c2f0342f23aa15d69fa887652081a9c42b0669a689c5fa77649bab20eac8a16a51759ccd0f86c06c610a88162291e6cc1d911a88fa26e7ea4a23a224582807f20a8f1e2202a92495b6393036a25d4cd97fc72a741e006b7e919358f6ba3c5ab136823ceb955382bb6fe3f61b6228467f3c6f5de79531f11fe4f268b7f50f662c85a49b36a7213ae958a14e9bc45d0105ad13c591aaa7f1663301aaac45427da3c6a8873ba78e7c7473d41bd79534df8145d1749f94cc9c82377cb388129d0692f839942830c5814a8fca410e4cc754f7315fddc20fc1d588ac4c3cfe9c40277b3f6173809dc063f6813852e47746dc6a9898918a149f5355a8a4f6a7475a31ddb485fbd23920c0d2d0cb20e3a9c63bff3e047504a8965639e8fd0db690ffa1e791fd -sk = e0c2121f06048fbc565fdaa305202d439ab3a81b31fa257aa6f4273547c1465610ae51c2c1c8603aa36d1575754a86c9194b1cc6a9b8c9f77ce6484c5198a193ea4369293798943f7918142f849c8d7479eb0588e6e6b4abc4ce81a406642414eb4137c2da905ce4ad2b750e7d966d34a3b1bfa8ca5c8070456b1f6d5b71e582c9e1e2bf9dc37ab60a09e797a43f66b27b04c13c034fa6f594264c9d7da884c762b159d775f7750a1862216e8bc992c9b2e0d18513f409df8b0811ea89d2a69b66d34e59bc93f5c7bde25140a976a3195541ee22a7edfb7f9d647616b31399b6c924022f036225af7c34e6d221213ab5f7a20b908325835266da1b456f5649b895bb032142fc5c700cfac4c2a44cf1f96d57b8ba1ef2c9332a612e8bb9043559b5567090873d3f9450f37670b473a96f812ce1d71892e43c9fe61fa594601a27a98ec817dd822c625b98e0fa8f2d5a311a87a6c23b4dfdf44d7511373e64a4a18a833d654a946b0da9694329023086013a919971cc4c8a45916901b45c25c28eb6051600644660796935e65a4700496bc32204201d5c8708fdeccbfe949d1339947c6baabcc67ec901659d220fa4d1a3da1a4adc2b1b323bc4cabb6065d9032ccca3dd3c8689c9a35810bcb30b99b3f55cf2ac8258c5b85c696a372c7aab5b0dd62aba06804466fa4c22b2ca0e09b7d47c4644898aacf6899c79b5321110f010cd40253e40c5920db980a57c01b55c506a6662be1253ff171412820272613940704f63e70340414322b69b60b50bbb4459c1d6a0f25065da032455598edf678505f54b51713209565fc4812ad5f8a05a926340fc3853719146d049017475a09a1fd2d47b35371d715c455debb3a40a8a0e83247b6b8ffc05b2e857b5d8b201e56c109dc155b720b2528301c49237f7a629234231fba25c75d600bd360796a68991bc68cafb5b0b7c748ab7039d8c4fd1b3b4de76c193123e50109ba70956b9556f245ccd4330b888d43a84714e8cf17e5713b5ae5a9fc3a331718c227ef4bdce131f31028d68529f06a218ac32317e9b7634c572513974da2bc3ddc4c07f2c6b8d3aaf5734b5d9e691d790b0fa67cbcf36c0372c056c268e0c243132db5de7365310f5732151b80bc98a2bb76f9e8c616fb1c90a5b83ca5738bfa9cf1fb96242998a44d667a57b517a834834ac0f2ac00e91b32e4e7aab452249d31575bc96c8652ca8e4c3c0d3277a60f5ca7beb80b563391a3b8e1a1a97c85823928877954c28d052a2c116bdc325b687d26d1ccb3386cac9bd4c10c3ac381e056f9060c89e25a910c78e677964d153b74554c8f38939f881543f820b6f11989589302eac53111a45f7664616999d7a64aa26e4cd74539dd496a1f0fc530415b16faa4ac86341c5400cb1bbcffd2707be12c31acc9b5c94b806b71dafab1eaaa087efc1419cd2978ec1b973336d27b69af2fa85f6c33b73770c0f6b85d855938ed8758e6aa5724b8c0d457b29a9394a3528de99cbd7a875bb5b299c8a6dfe416104a59aa9e958e3828d3c651b5a9a7e81d7738374692033c4c68254d5170204f83a9b8520016466fd9189efbacaa23ab8f962af7d66aec2e27e468b9c326711673839541262aadc49bc135edd11792dd9678da0991a017cd1239df3c9b21c57623362bbc1182ce6000217f6ab0eb9ad6344ac71aa30048b7bfac20ae1e97559109e45b5a9fd052594b4ce4c5c73fc105c9c8b63ccc7331b70662015b5e36057b4c71e4a510a55eb7fb039cfc9a8ca4b002a50966a158ba7d4d21449ab67dee747a7588b4a5b107e15a817658cd56927e84816c07ab3cd968c425a3431f65e25496fffe96e29214445eb2ac1e78a644305a9724761d0c51ac0c19b0b4839c94bc2fb5dae888e0b797506806c2fe27f1f4280427a34bef3643f022d05866bac17595906438c363c4d53422d994370b1c8d2084d25e101830a57be5c754196b75db44e84800281db3829d8a0fb519ae7c3c854650d09e232d993af718501f28c292b59c3f0d50d50d75bac422dbf23ccaee4466556a4cbbb8d60932016d63f90e4c84d12c62e4b0eb0176fe7012530b5baa8f531608241116c17868600bde858f9a9bd6078165bb34fd27273717b5cc5d423f19caa54ca4850ac896e163c70f9140432041857521a7c33d6425e068141b06c2ea57a010851a3b30ad021f6c0aa896e81f13f02d341faaba798a73a96d0b66b00bad5119a8d44797a1218b18224657573c9c556f5bc096f057f72fb749fe41fb9d290e76801b3712faadc58a1d3a8aaabbb996277d6902707a21ee099b5906854d2d45de78c1f134293d3dcced2296c5dd6b1469ac91c2508008951c7fc23eccb9a97f23501b21a625107a9c56ec39b724189ca111a935c3b58f262a29ff577f8459c74d9147dcb8eeb8689ee35aa131369cb805362289ae5973eff1420a8abacb650a1683104d2d82acbb28e54205404d68292f99c9c222bba8045769b73b890c33512c04af0cd86273234e31e94349a322aa13254484c3b99a2ac01f6ca00a77ba7b78711c73249eac054d34a1b0718814f407fd9d62a5d48212fb3afe5518e3a671bcf2cadcf4c8acb972603f960f194a4214cc8c9941fb31a6093a34c102ac18c26ba171a048d39860eec35e890149b9bbf510a4ff2270c72a507cd4a0500ba593841974c419a7ee37859a76f02463cb8303489e61ff21492afd03124368ae02c794642b7fe758f76219128ac75f19c41ab01adfa1a51b027c16e5b15279587e4f4a929f34ad51b06a060058521af6e4a24d54920a7e60c4174baec0b5fc4b498b23711c92bbba383556ea6169f558f5ad29443012c5b82524cec7ec43a448fe57d88c4ba220b56ebc2bf90a2471bc735e88c2e73a8771d669a1d76566ee80b78410d7cc02407091f4b6ac97cf2afbe67a02e445eb51389b8233080d42e74e20650a514f995395f8b23ece04e2a5930294b37c79aac8782ae62dc0d7fb60fff5c8d54e29fdda87562250a70038355a70d6bc0c3720726f0586acdc727d993988032cffcd5a9b909857be58c3b6a7c10041976a472d2bb7d3a0932a6c0cec9b68126b98b40d4041f5439f395cf6ea5213d39c69ac91b85696b009084e662aae8053df014720b5759c5f81b91f296bc4103c7dbbbb6248f87e8543e8a660bd6bbb9f81ad5721d7f36cfc776acbc8635e1910e4191730aa68e5e177d2d2234a645768d26cc069254daf0c94a09414a36a3d19ca05a5475378254ddb0890cab0e686438461a1d499aba23eb3dc2b61aa6a46c4afa2a262c6f09979f01fa1a98f62b8098be6416c6ca5b3f8ee79e28c07cbe2855bb64c88f67947a495e87f03361080cfa3c2aeb2791671729248b488278c72e85ba2dac1dd2a8a3933a7c7d44cf69f959c5acce38daa6b796328565cb97e0274975323a7b20d27937f0c785152209060b05088243636039808c555ce29fd18a449a9a188afba922650f17102fb0a28381ec046164358e344fa250c05df6be895a5a0566b409f893e9d99cea7b3d71eac7a4d0081d951eb755cd39215c60c1a21de05217692bef3b8b4104608d198ab11c4c30941789919830cba4e7431dc127ac770957257c19eb80595ab9bb9d4a0ac266b7a37b94bc517139c904595c327f5c1430ac7d7e33bee0ba9c7bd7b266e290c3645821542f0e0a920fdb72707544a6d10c8a4c5a46148c2458b6c5ab06d42c2d7db03ceb0c00ca37303c67bae0038e0a373d539b918737116ed029a4d78a71d74f770ca53c9b4ecd19bfb172299c55a0cac83fcdc8c74400c5be76907679b48e0ac041987f96754588b83722b49159f92b41b82e6625a6108a957c34b2d0e30d536218acdc56a093ba9940c075362c1028c6ba42a775864bbbbabca70a5b7da5cf05821a9a81ad022784202362e587bce2a5b090530be4c51ef77a887af373637326f436c891304b72867dced161c2f0342f23aa15d69fa887652081a9c42b0669a689c5fa77649bab20eac8a16a51759ccd0f86c06c610a88162291e6cc1d911a88fa26e7ea4a23a224582807f20a8f1e2202a92495b6393036a25d4cd97fc72a741e006b7e919358f6ba3c5ab136823ceb955382bb6fe3f61b6228467f3c6f5de79531f11fe4f268b7f50f662c85a49b36a7213ae958a14e9bc45d0105ad13c591aaa7f1663301aaac45427da3c6a8873ba78e7c7473d41bd79534df8145d1749f94cc9c82377cb388129d0692f839942830c5814a8fca410e4cc754f7315fddc20fc1d588ac4c3cfe9c40277b3f6173809dc063f6813852e47746dc6a9898918a149f5355a8a4f6a7475a31ddb485fbd23920c0d2d0cb20e3a9c63bff3e047504a8965639e8fd0db690ffa1e791fdeea5db7a82254d19c0a0c552ccc92db9c3eef74cd73a9937b7b7298171313f120e145e44aae52cfc609e6f47fd7a6f6af877190ff52256d0ac5b05b89c3f449f -m = 51e05c7b4ca3079781e8293f4eccebeeb2f8c8b4c59468eddb62a21bcb4ab8a3 -ct = 24e30a1769ff78e61469070c69e746379c8b4e66799d56ff2207b8a2d386714c27e1f5345d8780a685d17862f3cd5bc9b0fc5331aa90d7537e3d6bf2a1baa8eac53c823dc402442c40df0358fff6164d78367c11c156fea8f8022b6f4fb7df1c9b37f7fb91370c2b0accd35a96f6de9428241bf9f8c1a07dbdec7f5f4b648298e15224f1fa10e0945f1e712d98f59153256ad758b2f5eb474cc9b43f59507c7c6331b0bdd8ac411e6cf11d7bfc3de0d91003147d41831fbbb40f0064d3bdfa88c2221b257195927856c077023f2ea9f8fb98d18cefad1feb937149454964d383d6263e78129d7f22151fc91a1091c4bb81492dee89edd33e21d214d9889b8b7a286f100debbeaa4bfb6363149e7e79267483905f8f6efa0f07b91d5b60b60eb3297eb0937a221b60296d8b0ab468aba3f0acbf16f4faf4bcf1cafd667a424ba68fc3aed2a349184eeaa1096c4916e06492a48c3ee3f6dc5102ae298d5d81898cead1872476b8f402c2470f6daaa863a15b53a357e3b342120f8567d527a444e1817b54f44fa4b6ac695565addfff77b74c7ac291c8c9036c3d3b333f8d2be7b1a0688c169c6507e1e4d2793ecf68a78095b2b7f166e04b1633a40ddacdd88b2fb5ceb2cec8ad8163027eca7dce42846f527e6d695e4a5cc4cb0fd1ced3a365a399fa0782c5e0493f23d9b349a309050844f115144595da782bcff9f9e6ec4c69cf26b265eb28a7dc0f0e1788779fe65db3ebd7b3698a1cf19e848963291ed87ec6fbfa406c8620f7821b65c1327029df762b2c18f38b055d40ef982959726052f2ccdfaca7d6a2a64e34bafc84e1ae194dc8c332ffd1d857538cdf33737bdab353748602c3c46bce9aae84dd75dd412fd9f812654f7b01ab268e9510e8f61fbfc213fcaae145366d55103e684a5c83f300713fb42499988d1207a4641c8010c1f4849e111a2ac3c90d71e416438235010315719e0027815db156071decefb7b294c138f3d06ee7ca7cfa5a645f15723a63ffe0dadae2ee34249a3903c1779f68e6bf158f00477028cdc92ae1b9717029cb1302305a66cd3d4b5942b4b760b25487b97cb0c8ab274ab0edf522efcab421ee0a2f0c8036212dbf67ec592009ee82e2dc2208f559bcad3607cfabad669427c91b0453a81c0f98b88aa2760b72ac1fa16c32359230e8a39eb9974e43b0a916e4f76081a6939c36066e26b72a69a4ff20ac8a7034be39d68649e10462730097cefac4a79d7412d238590f804090ac38fe040567b6f6d096dcd6eb451326642cd3ef860c057cdef2d2d568f657cfc2ca48e254700c3b178a825955513319136001f384419e1338c669024881f31c115111dd9cb6a2740942c07b1bfe8ed4bc7ac193bfbd0d6c8f646761fceea514f604fd15441f9135e3ac97605b79a60400d20dbf1f076941a87add302a63868dcc382de6a7b1cf641af7ca4ac9af4f2d76f6f7c77f924da0bb87bbc5727d50f2e5a45b5f24b29737b627459e1b57dfaee57d0b1d78bd21c122c03b154b425a2871e8ca0aa9db2c6d273af04a6c6fd749f7b4882ef1a3e5061fdc1dd1008f2b92ef30f40381604687c625c7437f8be0c3cc53ab3ed458c98ea96e1eb4c2ae5459b53d05b35f48fd9bd15d1d6164040f18dba77c160a69ffac9b736c480695b66e704dda3b28bb9a28a47d679cde1a7ab07553075fff46927c675fbd2f0fd33e92fa93fa924c87b960eba61233c9ff075183805aa3c90994cbde0017cae97425669c83e7d7141b5263e9689eb0d053982544986648148f1caefeffe11a37ecfc66773802418d4a4e71135fd346df483286bf1ae164950ce0a976874945f91374c1fe786c4d672c175cc8306fc04f531881c6295f44171e6a8bd672261b84a59e0fc2813aeec11398b2f2d95307502884ac4ad7518da19180dccddee382c55ea190be200a79b01b8bf6ad2acafe8e0d7364f7c8363adf01bb2797d8d6657ff2fba6478270434add7b8668b545a857e0dc01822d0ccd8b739a3166bdaaefabf69be0499c74a9877f1ff833e219d1734542adf41f1e0249a3810d67bda3406b105343282f88776dde00a15a5c0e8dedd4d8ed31e50d1890c047b56e16b21ac69c0f041502e1c4196ace290bdfda28fe1ec4df76bac2f1ca46bb1e567e04181240c2ab61236934669871cc4350fabb5e2efbc0840ad89e4e5043c14ce517b39dff4dceef9d -ss = e2fda1a40d6e1370c60514b2eddf7297bfeb6b4f191f12a19e5c9b2e51470e53 +sk = e0c2121f06048fbc565fdaa305202d439ab3a81b31fa257aa6f4273547c1465610ae51c2c1c8603aa36d1575754a86c9194b1cc6a9b8c9f77ce6484c5198a193ea4369293798943f7918142f849c8d7479eb0588e6e6b4abc4ce81a406642414eb4137c2da905ce4ad2b750e7d966d34a3b1bfa8ca5c8070456b1f6d5b71e582c9e1e2bf9dc37ab60a09e797a43f66b27b04c13c034fa6f594264c9d7da884c762b159d775f7750a1862216e8bc992c9b2e0d18513f409df8b0811ea89d2a69b66d34e59bc93f5c7bde25140a976a3195541ee22a7edfb7f9d647616b31399b6c924022f036225af7c34e6d221213ab5f7a20b908325835266da1b456f5649b895bb032142fc5c700cfac4c2a44cf1f96d57b8ba1ef2c9332a612e8bb9043559b5567090873d3f9450f37670b473a96f812ce1d71892e43c9fe61fa594601a27a98ec817dd822c625b98e0fa8f2d5a311a87a6c23b4dfdf44d7511373e64a4a18a833d654a946b0da9694329023086013a919971cc4c8a45916901b45c25c28eb6051600644660796935e65a4700496bc32204201d5c8708fdeccbfe949d1339947c6baabcc67ec901659d220fa4d1a3da1a4adc2b1b323bc4cabb6065d9032ccca3dd3c8689c9a35810bcb30b99b3f55cf2ac8258c5b85c696a372c7aab5b0dd62aba06804466fa4c22b2ca0e09b7d47c4644898aacf6899c79b5321110f010cd40253e40c5920db980a57c01b55c506a6662be1253ff171412820272613940704f63e70340414322b69b60b50bbb4459c1d6a0f25065da032455598edf678505f54b51713209565fc4812ad5f8a05a926340fc3853719146d049017475a09a1fd2d47b35371d715c455debb3a40a8a0e83247b6b8ffc05b2e857b5d8b201e56c109dc155b720b2528301c49237f7a629234231fba25c75d600bd360796a68991bc68cafb5b0b7c748ab7039d8c4fd1b3b4de76c193123e50109ba70956b9556f245ccd4330b888d43a84714e8cf17e5713b5ae5a9fc3a331718c227ef4bdce131f31028d68529f06a218ac32317e9b7634c572513974da2bc3ddc4c07f2c6b8d3aaf5734b5d9e691d790b0fa67cbcf36c0372c056c268e0c243132db5de7365310f5732151b80bc98a2bb76f9e8c616fb1c90a5b83ca5738bfa9cf1fb96242998a44d667a57b517a834834ac0f2ac00e91b32e4e7aab452249d31575bc96c8652ca8e4c3c0d3277a60f5ca7beb80b563391a3b8e1a1a97c85823928877954c28d052a2c116bdc325b687d26d1ccb3386cac9bd4c10c3ac381e056f9060c89e25a910c78e677964d153b74554c8f38939f881543f820b6f11989589302eac53111a45f7664616999d7a64aa26e4cd74539dd496a1f0fc530415b16faa4ac86341c5400cb1bbcffd2707be12c31acc9b5c94b806b71dafab1eaaa087efc1419cd2978ec1b973336d27b69af2fa85f6c33b73770c0f6b85d855938ed8758e6aa5724b8c0d457b29a9394a3528de99cbd7a875bb5b299c8a6dfe416104a59aa9e958e3828d3c651b5a9a7e81d7738374692033c4c68254d5170204f83a9b8520016466fd9189efbacaa23ab8f962af7d66aec2e27e468b9c326711673839541262aadc49bc135edd11792dd9678da0991a017cd1239df3c9b21c57623362bbc1182ce6000217f6ab0eb9ad6344ac71aa30048b7bfac20ae1e97559109e45b5a9fd052594b4ce4c5c73fc105c9c8b63ccc7331b70662015b5e36057b4c71e4a510a55eb7fb039cfc9a8ca4b002a50966a158ba7d4d21449ab67dee747a7588b4a5b107e15a817658cd56927e84816c07ab3cd968c425a3431f65e25496fffe96e29214445eb2ac1e78a644305a9724761d0c51ac0c19b0b4839c94bc2fb5dae888e0b797506806c2fe27f1f4280427a34bef3643f022d05866bac17595906438c363c4d53422d994370b1c8d2084d25e101830a57be5c754196b75db44e84800281db3829d8a0fb519ae7c3c854650d09e232d993af718501f28c292b59c3f0d50d50d75bac422dbf23ccaee4466556a4cbbb8d60932016d63f90e4c84d12c62e4b0eb0176fe7012530b5baa8f531608241116c17868600bde858f9a9bd6078165bb34fd27273717b5cc5d423f19caa54ca4850ac896e163c70f9140432041857521a7c33d6425e068141b06c2ea57a010851a3b30ad021f6c0aa896e81f13f02d341faaba798a73a96d0b66b00bad5119a8d44797a1218b18224657573c9c556f5bc096f057f72fb749fe41fb9d290e76801b3712faadc58a1d3a8aaabbb996277d6902707a21ee099b5906854d2d45de78c1f134293d3dcced2296c5dd6b1469ac91c2508008951c7fc23eccb9a97f23501b21a625107a9c56ec39b724189ca111a935c3b58f262a29ff577f8459c74d9147dcb8eeb8689ee35aa131369cb805362289ae5973eff1420a8abacb650a1683104d2d82acbb28e54205404d68292f99c9c222bba8045769b73b890c33512c04af0cd86273234e31e94349a322aa13254484c3b99a2ac01f6ca00a77ba7b78711c73249eac054d34a1b0718814f407fd9d62a5d48212fb3afe5518e3a671bcf2cadcf4c8acb972603f960f194a4214cc8c9941fb31a6093a34c102ac18c26ba171a048d39860eec35e890149b9bbf510a4ff2270c72a507cd4a0500ba593841974c419a7ee37859a76f02463cb8303489e61ff21492afd03124368ae02c794642b7fe758f76219128ac75f19c41ab01adfa1a51b027c16e5b15279587e4f4a929f34ad51b06a060058521af6e4a24d54920a7e60c4174baec0b5fc4b498b23711c92bbba383556ea6169f558f5ad29443012c5b82524cec7ec43a448fe57d88c4ba220b56ebc2bf90a2471bc735e88c2e73a8771d669a1d76566ee80b78410d7cc02407091f4b6ac97cf2afbe67a02e445eb51389b8233080d42e74e20650a514f995395f8b23ece04e2a5930294b37c79aac8782ae62dc0d7fb60fff5c8d54e29fdda87562250a70038355a70d6bc0c3720726f0586acdc727d993988032cffcd5a9b909857be58c3b6a7c10041976a472d2bb7d3a0932a6c0cec9b68126b98b40d4041f5439f395cf6ea5213d39c69ac91b85696b009084e662aae8053df014720b5759c5f81b91f296bc4103c7dbbbb6248f87e8543e8a660bd6bbb9f81ad5721d7f36cfc776acbc8635e1910e4191730aa68e5e177d2d2234a645768d26cc069254daf0c94a09414a36a3d19ca05a5475378254ddb0890cab0e686438461a1d499aba23eb3dc2b61aa6a46c4afa2a262c6f09979f01fa1a98f62b8098be6416c6ca5b3f8ee79e28c07cbe2855bb64c88f67947a495e87f03361080cfa3c2aeb2791671729248b488278c72e85ba2dac1dd2a8a3933a7c7d44cf69f959c5acce38daa6b796328565cb97e0274975323a7b20d27937f0c785152209060b05088243636039808c555ce29fd18a449a9a188afba922650f17102fb0a28381ec046164358e344fa250c05df6be895a5a0566b409f893e9d99cea7b3d71eac7a4d0081d951eb755cd39215c60c1a21de05217692bef3b8b4104608d198ab11c4c30941789919830cba4e7431dc127ac770957257c19eb80595ab9bb9d4a0ac266b7a37b94bc517139c904595c327f5c1430ac7d7e33bee0ba9c7bd7b266e290c3645821542f0e0a920fdb72707544a6d10c8a4c5a46148c2458b6c5ab06d42c2d7db03ceb0c00ca37303c67bae0038e0a373d539b918737116ed029a4d78a71d74f770ca53c9b4ecd19bfb172299c55a0cac83fcdc8c74400c5be76907679b48e0ac041987f96754588b83722b49159f92b41b82e6625a6108a957c34b2d0e30d536218acdc56a093ba9940c075362c1028c6ba42a775864bbbbabca70a5b7da5cf05821a9a81ad022784202362e587bce2a5b090530be4c51ef77a887af373637326f436c891304b72867dced161c2f0342f23aa15d69fa887652081a9c42b0669a689c5fa77649bab20eac8a16a51759ccd0f86c06c610a88162291e6cc1d911a88fa26e7ea4a23a224582807f20a8f1e2202a92495b6393036a25d4cd97fc72a741e006b7e919358f6ba3c5ab136823ceb955382bb6fe3f61b6228467f3c6f5de79531f11fe4f268b7f50f662c85a49b36a7213ae958a14e9bc45d0105ad13c591aaa7f1663301aaac45427da3c6a8873ba78e7c7473d41bd79534df8145d1749f94cc9c82377cb388129d0692f839942830c5814a8fca410e4cc754f7315fddc20fc1d588ac4c3cfe9c40277b3f6173809dc063f6813852e47746dc6a9898918a149f5355a8a4f6a7475a31ddb485fbd23920c0d2d0cb20e3a9c63bff3e047504a8965639e8fd0db690ffa1e791fdeea5db7a82254d19c0a0c552ccc92db9c3eef74cd73a9937b7b7298171313f12b2638686db9a0292adc26e549c7152ff36d9a7293bf1380bf93f1498546eb93b +m = 13a6de9e8ae97898fa9382e95d49f64ea8592ed38c3aaadf36d20c243fa0aa53 +ct = c06383d9be7a89baa0ae2fc3d842107ea71d763793d7c27ff7df821a4d668484b1534dd748740fa0ac367294a8a02e43b44d7e1a0cc2cd312b341166f2e645150728f0247bafb5930a2402676f2ff223127b39cb6b4b650a7dbd957b12ffe8ec42d72cbe2360e9bd85c074b46509d29a3d57b4d18afd0136b73f82c88f4f13cc30ffbb23ea0b2f8e1944c3b79cca830a244b92639b745b5bfa594780729c0139868750074c492106ff0db8f368ab9feaa01cb2451b15ef0cac24e3709083ecc54fffa6e1481bdee58455a962d2958d6080677d267b238be229c373bfb5c246f8512996719baf4ecbbb044aaf719bc0970cfa4895c63a1e3abeaa711880b1dd360fa4b08523949e8cd28f85bc7f98f106a30b753167ef08f428c096f83eead3855e2376b998e7308e5e98e99c8cde09a3f8fa240d6e0713f66c82b19133715b01d92f83284b603c22c4b084ee07a45b03ebe8275c8a251d5104e9dff5767b60c7743ed8bbabdf49b10c1136ac0786ffcbe22c945957cadebc7e0b6648eb63513760167f996e9ed4c5267f481f8331f7d766ac7b26f127f56e71fd3ae03b6d071610580a624a51efde2c63ed27e30477f56197d8e64f8c8b0c9125db5ed0dbf9b5663f001fa8bd60bcb3de284f47678a686c90e053a76841b13d9cf29a407d769c00cbdbd0663b3bbf0ccfd6ee324563d2f74d8451196b04e908539e86a86353c3ecf259b82ce3fbb4a90b206c8b395b13836529eb7b7676f0451780fdeb90ea8032c35ea58b46ae072f8cfcb1bb2c1eeb6c79e7d56946b6f767f5c2750e07950fbad7b3448900ecc99b62551e512b9801b8d48fef493fe49b49f4a0af59503660ed1ea68ba45bf8fef3a86cadfa92519577b45d008f0392117b21936c7b2e7b3f2ad5daa356eb66757473e81bcc6cc404487d63aedf20f4c0c195cd5b8be51b28a8ea15d5cc1f8a7b61b08b45a16f390c4ffcbbf40370452268f66648ca1ab3c23bb3ad7da5220e0f478dbc0d9de4dd7ceb0142c196cb46681cce1e35dc61f71bf6530ead34b456e2ffeaa00d4c3893fcd15b120f91b1da7501f87bbbd2bbb2796db846381ac0a9029b1c69cdbe9f062d0bb088c6325a9de158b84337d4c0133e8919700f2a4afcd4b7c9c935b5515186e6626d9985cfefecfce5411fbf49d1faf6286f674a869d69b1c5ada149d6ab05beb449ec1bd6140a1174e67e00852f9013f9f7ec30a5da5437df5f986315649a2ea0d97c1d426bea7c809c61ad88bd09665c3d043f3627469916f067787630bf8e7a40278c5c20b78131c52c50bce298a5e2f3bd050bc37beb85428b488a3affd17093b3841cea23ee256b487fe58be611726019c42d9932d3dae16c5ded6a2fdf773477b5019d5f634984b0d3616f0c40eed9aa7789b4e9d8f237fafe7da73a75d8f9eb7fffa5101d53219817e95f2013386e23ce6355bdf04a9954a85e5127ad6a87fe65714976727627bd725487591a71bcd62bb83d7345681c2ac464f406d8103796b062e249b3888d8afffb8472493cd2309bea341077cafef79b6e8c49e55857944c8a83f85ff9441e1797146f6a4af7ef4f4b70efe0aae6c0f786ccce576ed20bdbf491a692bac306b756a1164238f2c6b6e99a131179e963f119cd4dbb23ce61fc97d5a127e012575a88f4a76fbc04513be681a87af43e3059bdaf763fc294c7667deb90ff14fb8d89e0d8d1540b5e940463e65f6be6689f39c26cd8a7807a935279e57da5114923c0b8ad4235c7a966224ed2abc1d241b2ffa18a77269352008fa593721e01e2e5aef70c865af810c267bc36d665cbd554b048d7e8e2f6be70951b9b058480635632c9387f34ba13fb1aa4726754905b87fba5fe096852ce07e19c9e2f045b51dd4d79106e08c5d08bcdd2a462fd134f2cd75577487d6479fe760febf8003114f1ecae3255118635fe619bd135591f24130b615d0efe7943ba19e97cacfb089bcd33e6d8c58c426419f1a0d961f5d575b34c379d374b68535894ba6b0c562a61f007d76e3e7491ac7c3b10a42409e053f94ed54276982dc1e74b007fbac8a5458717804666f1b9828ebd217b8da5081abb8ae79995c7b6a0db6390159c5c62a14c0b1d957c504eda285e3df6bca22af51e8f94aa6e8b597aa73ef1141a699c69175a486d4990ba0b28d8e68769b2510babceee5da34afffc8a60ec198ee22d8844607ff7f7 +ss = d589aa0b4f2acd9429bcc8655812d26f00a27cfca9cfe39fb97f7500dd00d950 d = 174aaa36410566dc15a5e62874218d7abdde0b2c0f30d877bb80b1abd5f5a0a4 -z = 50a7a2354f7e5cefa6f4a4e9a1c411eb9364506e9e1204a8acb3cb77fbd2c4ed +z = 3afcc6703873ba41a425ff19559ee47d056d3b5b9e567e5cf24ea17010a5c3ca pk = 0fb39b1e4b0c22871afffa785df48224d887a73cb9b9a68aa2a768b3ab087bd9cbf6253378885113bc6168d631121a5fad30cc822133161b0c39c0a2b30c5c33383555b415c6fb0588d16b3b890894026bb507d080f93e13327707a54725a3a859661e49184025f66f2eabc07c5072a21275440c9d520c9d0570cd4bf8752dfb37ca066ae450a3e5e6694b9581f6195b4b580fbf55b9f933c6f9867af36786fc8c24ca71b47127aa08798f99b113c1c661483a6ad196028b7752d9d4732622934a5b05c8b5095789999796039928b453e480f008a4bba7a49aa65462d71672450b56c441d2440fd4e151c9d0518d10534f24c1a355a5fe3aa1c4365493c7ad66f254300c373ac264b3339f3af02e2736b8023a270a20babe69cc15d494803bb515ec54719619bacac9ac2a58a4e67fe303ad9565b33c8472335710e0544c4a96bebdd98454058413db3bfc2958803a5963c725a4ca074ec9383dda1e892ac9e2210a60d19d5e4b3471f9519adb6bcb79c16742c07e933767ea4b20134ba8329c0c026da0e8a5e12770c8ba4ea7361bae91af0f953b47032da6640f202a8468a096bbe92cb8b02cd524b38a7a4c69d5b9818c8b88da78a7f2236746217a75a1f6e2805533a17996b7f972939a23c75c9023b715a714ac346f8102c2f8a04733495a4b456f179372202477e60b60ba210365274a393d999390628c7f63d2aa2b05cef68776db9150c39b6eca9ab32da9c6753208d74a2e7911af644a028d2c5a68494ea3da6b08a5b67d11090c587f580800e04c942445bfec357e33388a0bc328808624e56979161c3c7ad3bed206b3fa7ac6befba42d067a1b350cb557bab3f87a05b22edb886812935402915e5ea51f41b70dea48aa2aab4f9f247d3f637efba51120a258cab867be231e67675ff29c83bf982e7b15b766a84cd9369ac28c29af664f5c7a7553ec9a0c3285caf26ce0b9c84d504ead34617f303f6d0ca807a7c0da1388f7407bc03c3111c8c87ee158e68b53ce8c668e8343b2303bcab6a4d98857c7070bb103c47c60cf59049901667b3a27b0187aa53008cd1a57c0f2465655d8cdc03494a6074c38f028203357eb2a37967a60a95a1dd22b15f3d723f812890ffa105f1b9b2a238914f39975c1c0f49244e4db7728e15329f2ba8eca4cbe7b76029c9a6f721c72e27149807ad9536d76a57cefa39eb1d93700555e324ac5149a45793667b37007fcf8486c6c5d0ffb3abed3cd8be0b87d1b2c80ab2d3e40949f94236e727b92e83a9ff0b40100b200b6519be545e893b60d09b881c2681d335f9f501b0910572645060bb8a141e910e6aa582f652ebaa79bf2f77b373459ce87c474213ef0257295abc192c05bf31ca3eb061648455fbf82710f8777636c229ef49c6986cba9816d11d636186b62d2b06212932e9e727954530182483110958b99b4cd692944b2b87b618c6cd7765336e4642d6950a5c5642daa8974e498ee2968243289e1cc8460130c034b45660b3668863d719aa9c8e11df72084ae53c3b4d85a7860c42b2482c9a050b1065dda241b43ec996e368c6c7bcbab69a433040e56bcbd4f167a9d71c5d336234ba4a5e47a956459b4c0477b4780769530cb6c9b4a2cb6aa27423f76a58f89753196d8cd99107ec04741be761696c642cf6443bb72c5dbd336967c336672aeef98af9b203ee6f4096531034f890b1dd0862a0737777278167a2aead708533206b3624b906c57e4abc42bf61364e550326a62d4a74fe889ae41839820fa6fb487569f53c1851734cfea5f501104b9240cbc2c87b0531f6e008b38f1287be901af59a45ea19de5b2c4ce78ba4eb1abf4284ce0ea22f18c2a26f428bba481e54a1745702a8af06cab649bb5c7aed2342413157a811a35b162b6f444cf2ddb22a24bce8e2925d83313d0b760017b65b8867419c7a1f57cc785b26bbed63ec79b83feb60674e2497b87be24aa1f899ca59d6391c1f2ad9aa90806fb1c97dcbfe5b9934ba169386759532b1117115e77884623c84cfee522bc0735e1f34eaf4b452530418f652e6f15cc3cd88a52e98078424d486cccd38272a0819887d85811e6bf8dc3689a3112b1b86d77d2bd91a53d123a11b6eb4ce3a8471c35126c017053c8a8f46054bc9c92752631ab8a9100b04f79e14c74a75b0cd39d1173c3f411ad1efdd8bf4be2afea69c2327bd070cd1432c8d219 -sk = 25933617206ae881c4de291b4f269f2e51897ff29d3c6803e1a4c58e53051e879f1af333393c75b366cfe2e84cf9cc930d1928298897480571d7050751601bc119b1071412efe8873ad325bc00420d13a752d33087bb6f884628def98f4fd21d01113219203f93419875c91cd33c7976b7a45f510f70e6002957ac49b862cd35640ce84e6b989201a74eb76422f88b31c94acfa811605a32634199be1639a50b709e89683c5cb0c975d627b76223ea48a2352c8bcc254abc60812a6a5ab7747ca82073d1d31fef708866a9801ad067a6da0d848c409861c350db559a0ab1d91c9be0c149d6c241a13849d9eb2da4b9b9b30b348217491449a43ea4544467824ff954c4869c8dc0b2ba2744c8d38ba584cb78ea6f6188bcd090267ba46882f16964aa003e2c60105415f937cf13b9cd00456d3545bc5e48b6ddf61a14eccbac23bb1d071bb14361b4c9acb7b48805b7890c3676b550238391b388260cb0e2567f725b0382c7174440d82ba8a6d226d325cdd1c26abd510abb195b73d203f9db7db44abba87581a3c57f079b44a9455e3fa16ec87a0cc14368569b35517272220ba7760a8a0508bf0033031d42763fe89b611366b8b93d2d523d5c872bb99bbb099515a5911f1182404b7b4ccea91462c6a5abc16c64f55ab38a763a03ba48e0268819b6df8ba88704ab4c7bcd8f8a150ca434ab0632adc522a49c0e45997375d69901416792f845fcbc1a18789b22870401d6872374b15c851aba4c3cf5a8930d34c74fd444a2c87f90d9353cd77361e26c99c8027b50504bc5b3f2bc27f3978822113e13d71e19e3915a9a4f0646aef6d513e155b41237b2ab08bdf38322bf4c00706c0f22854d080bb8ecf58cc9b75d19a0185412a74b3c7d61a04dd8cb07bb37156c46221a7183beb9321c58a924048ab86032f54815da1bb33ad4312391c1a6778d9070b1a4542aae231aac97bb5e1a1cf42792c9921313c07aba3a8c15db5d1be417c3888a2e0921a7aa1926044ab865935a2738b4378484b44471da250e41925e976beeca9f93d191b0c85b487badfcec4be7c7683c508412e096ae888bafb97cebd3266ef7397004cc56741f53683034fc3160522e6bdabad190c51f31926aa94b2f2a4506d69705623e3047176b46169ab8a715b84848bb4fb9830be744cad7591dd8d128c1a40f8a5b2829a92177d73cb1f319c0f45557a69ad790c87a6b8314e618444081c221c07c4ba5c1c450b8080db278770a0c110dc386fb8411d4b983503964f7b6afa10ac5154ccea9e6222b4a70e5175f125b0a83010474311f8ef84fdf3aab6d508b313a93c29675abe12cde50bd4b5b7e13c7228d9ac9df569cc1bbc995eaacbc2290b0293a2bba70ae8757c5a7ce84386093e02b3201573c56bcc368a7dd404371453c38823ba4752edb663e5fb99c5e91ca9ba94caebc9d60a6318cf62168a86c0c419cad1bc4fe514a745bb2c81701b89ba371cc1f10b50d95086d99778383108dfed849a1f74696464aa1d67f7f40bbc69c1fd907696d6227cf20750d68a3d36c600448c91a523a16e5c84b40819bbb2bfabb2cb03b658fd0656f410752f52bfc9bba4a3a8d09d5835b1540f5dc673df71540f560d411b562f2b047e195e5c5baae8a93147c41d8f282128b8c455100865ca55516709ffb8f33d20eda56796324b6f3b249d982c7d49a84ff076be2187dd4a51efb5592f9549a27ea274959087d3c2a5e217ca3b73391505de8aa664288b95926ccd8028bb7a7c24562cf2ae14fbab852521978dd05bfb52885d8c86cdb6a8df1755f8ad12a7bd7b00b2a7bfa49693646653d1c50fe826cc9c39988e25d316975cac26108e5b9570979dea5843200c346e4c360e0b0f6ab71397999f4ab2f7af368d3218093d1c69853224f016fa11c408acc211858bc53c62ac6d395898b9a02eb0f80e5284031b39ad5409d9c28ee549d45712dcf080fc6bb5b08b526a615173f543b10baab4f9254ee7b7690c758d20861559c1fdff88c10a14eeeb2917fe47af7e63259c1154cdc4df1a56afec68855fca341451ba7f617e9595f009b0ddef81741d78bb2851c3bec505c070a8c9241e54b2a2f661b06323e62365a90e7b5d0d10704a184b1d5782967122d9864eedc852e592862dc868db21f70b83d3a482d0fb39b1e4b0c22871afffa785df48224d887a73cb9b9a68aa2a768b3ab087bd9cbf6253378885113bc6168d631121a5fad30cc822133161b0c39c0a2b30c5c33383555b415c6fb0588d16b3b890894026bb507d080f93e13327707a54725a3a859661e49184025f66f2eabc07c5072a21275440c9d520c9d0570cd4bf8752dfb37ca066ae450a3e5e6694b9581f6195b4b580fbf55b9f933c6f9867af36786fc8c24ca71b47127aa08798f99b113c1c661483a6ad196028b7752d9d4732622934a5b05c8b5095789999796039928b453e480f008a4bba7a49aa65462d71672450b56c441d2440fd4e151c9d0518d10534f24c1a355a5fe3aa1c4365493c7ad66f254300c373ac264b3339f3af02e2736b8023a270a20babe69cc15d494803bb515ec54719619bacac9ac2a58a4e67fe303ad9565b33c8472335710e0544c4a96bebdd98454058413db3bfc2958803a5963c725a4ca074ec9383dda1e892ac9e2210a60d19d5e4b3471f9519adb6bcb79c16742c07e933767ea4b20134ba8329c0c026da0e8a5e12770c8ba4ea7361bae91af0f953b47032da6640f202a8468a096bbe92cb8b02cd524b38a7a4c69d5b9818c8b88da78a7f2236746217a75a1f6e2805533a17996b7f972939a23c75c9023b715a714ac346f8102c2f8a04733495a4b456f179372202477e60b60ba210365274a393d999390628c7f63d2aa2b05cef68776db9150c39b6eca9ab32da9c6753208d74a2e7911af644a028d2c5a68494ea3da6b08a5b67d11090c587f580800e04c942445bfec357e33388a0bc328808624e56979161c3c7ad3bed206b3fa7ac6befba42d067a1b350cb557bab3f87a05b22edb886812935402915e5ea51f41b70dea48aa2aab4f9f247d3f637efba51120a258cab867be231e67675ff29c83bf982e7b15b766a84cd9369ac28c29af664f5c7a7553ec9a0c3285caf26ce0b9c84d504ead34617f303f6d0ca807a7c0da1388f7407bc03c3111c8c87ee158e68b53ce8c668e8343b2303bcab6a4d98857c7070bb103c47c60cf59049901667b3a27b0187aa53008cd1a57c0f2465655d8cdc03494a6074c38f028203357eb2a37967a60a95a1dd22b15f3d723f812890ffa105f1b9b2a238914f39975c1c0f49244e4db7728e15329f2ba8eca4cbe7b76029c9a6f721c72e27149807ad9536d76a57cefa39eb1d93700555e324ac5149a45793667b37007fcf8486c6c5d0ffb3abed3cd8be0b87d1b2c80ab2d3e40949f94236e727b92e83a9ff0b40100b200b6519be545e893b60d09b881c2681d335f9f501b0910572645060bb8a141e910e6aa582f652ebaa79bf2f77b373459ce87c474213ef0257295abc192c05bf31ca3eb061648455fbf82710f8777636c229ef49c6986cba9816d11d636186b62d2b06212932e9e727954530182483110958b99b4cd692944b2b87b618c6cd7765336e4642d6950a5c5642daa8974e498ee2968243289e1cc8460130c034b45660b3668863d719aa9c8e11df72084ae53c3b4d85a7860c42b2482c9a050b1065dda241b43ec996e368c6c7bcbab69a433040e56bcbd4f167a9d71c5d336234ba4a5e47a956459b4c0477b4780769530cb6c9b4a2cb6aa27423f76a58f89753196d8cd99107ec04741be761696c642cf6443bb72c5dbd336967c336672aeef98af9b203ee6f4096531034f890b1dd0862a0737777278167a2aead708533206b3624b906c57e4abc42bf61364e550326a62d4a74fe889ae41839820fa6fb487569f53c1851734cfea5f501104b9240cbc2c87b0531f6e008b38f1287be901af59a45ea19de5b2c4ce78ba4eb1abf4284ce0ea22f18c2a26f428bba481e54a1745702a8af06cab649bb5c7aed2342413157a811a35b162b6f444cf2ddb22a24bce8e2925d83313d0b760017b65b8867419c7a1f57cc785b26bbed63ec79b83feb60674e2497b87be24aa1f899ca59d6391c1f2ad9aa90806fb1c97dcbfe5b9934ba169386759532b1117115e77884623c84cfee522bc0735e1f34eaf4b452530418f652e6f15cc3cd88a52e98078424d486cccd38272a0819887d85811e6bf8dc3689a3112b1b86d77d2bd91a53d123a11b6eb4ce3a8471c35126c017053c8a8f46054bc9c92752631ab8a9100b04f79e14c74a75b0cd39d1173c3f411ad1efdd8bf4be2afea69c2327bd070cd1432c8d21972998cc3abc79487ca0a4db5b17514e9961916d30ab9b500430ba748c5c7922650a7a2354f7e5cefa6f4a4e9a1c411eb9364506e9e1204a8acb3cb77fbd2c4ed -m = 9eca0fe36c80fc5eba171c3ae66a5b1c923faa50b4521bb055e7bf51005c93df -ct = aba645982fce5a0effa0a113f5619fe0c61f6a34ce5938826b95e2ec495ce58dfd87170bf7898b6ccb2aefdc160cf97ed566b0ed941598bbfc9217a3c2cfa9ee04912017bea9295bb8ec5ea54b7656dda87eadc1604c93ca60628e80ee11e17092736c441fbacaaef6ff02ab3eca2951559a29c38bf57278ee5ca59611d08159301e0332ae159fce29e93fc59484cbabb6f0447d57d49b2bd020bc1839847dfce2e35890d67e64fa8e5fabdbf1974d8a4697d9384d0171fe7cedfddad8920a75031e84b507d5f8637a9ff078f94b401e61c313fa0ad2916c5137f1127366af1942471254a68f997380a41bb0097e732d39c61b567d544392fb9c26a66e5c51c5cd3765ad42be8b82f78bc99474ef38f3df9bebd53c00bef43fe5f2b8f9f1789b9e4df923db1fdd5845173460463b480ebf2390c1f1698b4a6137bea917da0e8ee1d1486aa7c6b04974c427d3a103da8bc525e4b352b8932758cbea7ff1843fdeaf237f8fbe3a252dfadf823ef6e50c51685bd4d7c4f6dbf0b985ddfb27ade72093c8551ccbc3735d82b1a6679c37a18ed623436133584adca7eeb563fac0d83d1e6a8a93041be58f5e667c274646176d5d7019d81d385c55477f40fd236014f49a71412dd77fe5b07d6d6e885f29275291ea6300a31e1e7eaf3da350d5412e8027ad9d28d6096da8e76df692f33de3755387f1bd8fd0dec6329f78a60cc951e2e2b7b5ee68b6f61d7dd08baa7098d4ff1ee5bff62330ed2af1c6f4f10dc68c20a1dc68570daaceae9a8175fad62318adfc8409f45e277813940aab44b8ddbebb04071ad82d22ac790a03f84cb8a7577671a1eeefd9e36c4bf2d54db3086ecc6ab514353f87c309a9a163fcab5688a0ce29248c7870fa3f9e4e27b4fed8e6f6e00a6f49fd1a76b33240addbd1bff20df4a7f9580c258c84e83c4a7ffb89a9fc90cc2162c5076a625414aca8d8716c9d7f9afc49ec6af82b975db9b3b97aeb1c327f079ad7c4022ddcb864ec45b11fe2a084e84e50e18d16a679e66f5ac28013e91dbc57fdfc2071a3814761b1c03522e1fd5710c57c447ca83dc0750f855a75694a812d595722d3a989ebcbe04826330fa26699ea5bbce634f9713a6604af995e84b834f77de57064161ab2580d910fc19ced1689b64d8efe254b5c6d0006495c5787ac45a355b9b8a0dbc65153be718136fea531301df4a1f8623a84c594953fe55038079d5f91e7aadcbefd61274284d31a7bd755ea7c8e96b4934a690a1cbd6e4ffae921cde0837ec7f2c32795d9f705739b5c9f5ec6e9286727dd2e2efd8beea3e48f61f2b9e4b7548cd7b30ca2975a6cd08452d6b128b4dbf428e0302ca2e483b02a04e0be54fb55c2d34da0e9ae54b957dc9b17e147ab0932070db7ae48979c925d124364103abbc488fee2061b4471258422fc516b5e4a1d5b7a52f3d1118d2eee8064f70e5b1a2505defca4f1796ff7a43e779b2058bfdceef6c6bab74e656e2fca772175f4fbe8c03ffafe821f583bd269a3da7bc2386a78f9b63a81c658463238936be54cdf292d7199ec9b0df0f66a5825226dc134831a31b82ec71a6f30f7340fdcdbaa741ac451a4786711c6a66e0cd56d6fbfc12994c098ad180711489af902a7691cdc251eb375b1f34f08adbc472d2d9935dced8590a26977a64ad439ce32026c1b76b53ef8181afd4bdc010c2319e980aca85976663d52c1fb3470eb195804d65f03dd11ead42e246b754f2a8b438fba89c5a72fbfa725d17445a14375c49811cabc8d9a10187ca2c59ebde816ddc6d9b3f41a676877ad0c4b7328a4d6fc22950acc6079944f5da18a22ea9c34adb7ad1e23ef41de8a2dd3030a56620fe4c3060bae484a9c8c23a6ae9578926056c98e600df716545ad9eeda1d3e932b33d28744f19f3deaf3353becc8a22e0e263d97c1a8fe13a8e8f0df757ab86abff2f2f138b33a3fc27ab32224ef8d51d7474ca9af1ed5871ca026ea768c33b1137e0c797bf12f471644ce7cd5f5f71bbcd604b38be6b21cb27e9c5b7438b4ff24b490e4bd577c32cf72e43fe666c03bc433b0bc03cc2d1a846025de9ab599824718203fb599103bc0564a3ff93bfa2ffc4dba5668dc3d6021df492c5781fd48421fd98b41e72c8da219d35068c11ef30a7795a1416370f38bb1c910fd29b1eff5ff1c8ea1317a780fd67771dab838237aa4b57838ceecc6e56246d5 -ss = 9b914b57afc8bd71637a6c65c1052610715ff70a9c06ddc2574a45502c75b1ae +sk = 25933617206ae881c4de291b4f269f2e51897ff29d3c6803e1a4c58e53051e879f1af333393c75b366cfe2e84cf9cc930d1928298897480571d7050751601bc119b1071412efe8873ad325bc00420d13a752d33087bb6f884628def98f4fd21d01113219203f93419875c91cd33c7976b7a45f510f70e6002957ac49b862cd35640ce84e6b989201a74eb76422f88b31c94acfa811605a32634199be1639a50b709e89683c5cb0c975d627b76223ea48a2352c8bcc254abc60812a6a5ab7747ca82073d1d31fef708866a9801ad067a6da0d848c409861c350db559a0ab1d91c9be0c149d6c241a13849d9eb2da4b9b9b30b348217491449a43ea4544467824ff954c4869c8dc0b2ba2744c8d38ba584cb78ea6f6188bcd090267ba46882f16964aa003e2c60105415f937cf13b9cd00456d3545bc5e48b6ddf61a14eccbac23bb1d071bb14361b4c9acb7b48805b7890c3676b550238391b388260cb0e2567f725b0382c7174440d82ba8a6d226d325cdd1c26abd510abb195b73d203f9db7db44abba87581a3c57f079b44a9455e3fa16ec87a0cc14368569b35517272220ba7760a8a0508bf0033031d42763fe89b611366b8b93d2d523d5c872bb99bbb099515a5911f1182404b7b4ccea91462c6a5abc16c64f55ab38a763a03ba48e0268819b6df8ba88704ab4c7bcd8f8a150ca434ab0632adc522a49c0e45997375d69901416792f845fcbc1a18789b22870401d6872374b15c851aba4c3cf5a8930d34c74fd444a2c87f90d9353cd77361e26c99c8027b50504bc5b3f2bc27f3978822113e13d71e19e3915a9a4f0646aef6d513e155b41237b2ab08bdf38322bf4c00706c0f22854d080bb8ecf58cc9b75d19a0185412a74b3c7d61a04dd8cb07bb37156c46221a7183beb9321c58a924048ab86032f54815da1bb33ad4312391c1a6778d9070b1a4542aae231aac97bb5e1a1cf42792c9921313c07aba3a8c15db5d1be417c3888a2e0921a7aa1926044ab865935a2738b4378484b44471da250e41925e976beeca9f93d191b0c85b487badfcec4be7c7683c508412e096ae888bafb97cebd3266ef7397004cc56741f53683034fc3160522e6bdabad190c51f31926aa94b2f2a4506d69705623e3047176b46169ab8a715b84848bb4fb9830be744cad7591dd8d128c1a40f8a5b2829a92177d73cb1f319c0f45557a69ad790c87a6b8314e618444081c221c07c4ba5c1c450b8080db278770a0c110dc386fb8411d4b983503964f7b6afa10ac5154ccea9e6222b4a70e5175f125b0a83010474311f8ef84fdf3aab6d508b313a93c29675abe12cde50bd4b5b7e13c7228d9ac9df569cc1bbc995eaacbc2290b0293a2bba70ae8757c5a7ce84386093e02b3201573c56bcc368a7dd404371453c38823ba4752edb663e5fb99c5e91ca9ba94caebc9d60a6318cf62168a86c0c419cad1bc4fe514a745bb2c81701b89ba371cc1f10b50d95086d99778383108dfed849a1f74696464aa1d67f7f40bbc69c1fd907696d6227cf20750d68a3d36c600448c91a523a16e5c84b40819bbb2bfabb2cb03b658fd0656f410752f52bfc9bba4a3a8d09d5835b1540f5dc673df71540f560d411b562f2b047e195e5c5baae8a93147c41d8f282128b8c455100865ca55516709ffb8f33d20eda56796324b6f3b249d982c7d49a84ff076be2187dd4a51efb5592f9549a27ea274959087d3c2a5e217ca3b73391505de8aa664288b95926ccd8028bb7a7c24562cf2ae14fbab852521978dd05bfb52885d8c86cdb6a8df1755f8ad12a7bd7b00b2a7bfa49693646653d1c50fe826cc9c39988e25d316975cac26108e5b9570979dea5843200c346e4c360e0b0f6ab71397999f4ab2f7af368d3218093d1c69853224f016fa11c408acc211858bc53c62ac6d395898b9a02eb0f80e5284031b39ad5409d9c28ee549d45712dcf080fc6bb5b08b526a615173f543b10baab4f9254ee7b7690c758d20861559c1fdff88c10a14eeeb2917fe47af7e63259c1154cdc4df1a56afec68855fca341451ba7f617e9595f009b0ddef81741d78bb2851c3bec505c070a8c9241e54b2a2f661b06323e62365a90e7b5d0d10704a184b1d5782967122d9864eedc852e592862dc868db21f70b83d3a482d0fb39b1e4b0c22871afffa785df48224d887a73cb9b9a68aa2a768b3ab087bd9cbf6253378885113bc6168d631121a5fad30cc822133161b0c39c0a2b30c5c33383555b415c6fb0588d16b3b890894026bb507d080f93e13327707a54725a3a859661e49184025f66f2eabc07c5072a21275440c9d520c9d0570cd4bf8752dfb37ca066ae450a3e5e6694b9581f6195b4b580fbf55b9f933c6f9867af36786fc8c24ca71b47127aa08798f99b113c1c661483a6ad196028b7752d9d4732622934a5b05c8b5095789999796039928b453e480f008a4bba7a49aa65462d71672450b56c441d2440fd4e151c9d0518d10534f24c1a355a5fe3aa1c4365493c7ad66f254300c373ac264b3339f3af02e2736b8023a270a20babe69cc15d494803bb515ec54719619bacac9ac2a58a4e67fe303ad9565b33c8472335710e0544c4a96bebdd98454058413db3bfc2958803a5963c725a4ca074ec9383dda1e892ac9e2210a60d19d5e4b3471f9519adb6bcb79c16742c07e933767ea4b20134ba8329c0c026da0e8a5e12770c8ba4ea7361bae91af0f953b47032da6640f202a8468a096bbe92cb8b02cd524b38a7a4c69d5b9818c8b88da78a7f2236746217a75a1f6e2805533a17996b7f972939a23c75c9023b715a714ac346f8102c2f8a04733495a4b456f179372202477e60b60ba210365274a393d999390628c7f63d2aa2b05cef68776db9150c39b6eca9ab32da9c6753208d74a2e7911af644a028d2c5a68494ea3da6b08a5b67d11090c587f580800e04c942445bfec357e33388a0bc328808624e56979161c3c7ad3bed206b3fa7ac6befba42d067a1b350cb557bab3f87a05b22edb886812935402915e5ea51f41b70dea48aa2aab4f9f247d3f637efba51120a258cab867be231e67675ff29c83bf982e7b15b766a84cd9369ac28c29af664f5c7a7553ec9a0c3285caf26ce0b9c84d504ead34617f303f6d0ca807a7c0da1388f7407bc03c3111c8c87ee158e68b53ce8c668e8343b2303bcab6a4d98857c7070bb103c47c60cf59049901667b3a27b0187aa53008cd1a57c0f2465655d8cdc03494a6074c38f028203357eb2a37967a60a95a1dd22b15f3d723f812890ffa105f1b9b2a238914f39975c1c0f49244e4db7728e15329f2ba8eca4cbe7b76029c9a6f721c72e27149807ad9536d76a57cefa39eb1d93700555e324ac5149a45793667b37007fcf8486c6c5d0ffb3abed3cd8be0b87d1b2c80ab2d3e40949f94236e727b92e83a9ff0b40100b200b6519be545e893b60d09b881c2681d335f9f501b0910572645060bb8a141e910e6aa582f652ebaa79bf2f77b373459ce87c474213ef0257295abc192c05bf31ca3eb061648455fbf82710f8777636c229ef49c6986cba9816d11d636186b62d2b06212932e9e727954530182483110958b99b4cd692944b2b87b618c6cd7765336e4642d6950a5c5642daa8974e498ee2968243289e1cc8460130c034b45660b3668863d719aa9c8e11df72084ae53c3b4d85a7860c42b2482c9a050b1065dda241b43ec996e368c6c7bcbab69a433040e56bcbd4f167a9d71c5d336234ba4a5e47a956459b4c0477b4780769530cb6c9b4a2cb6aa27423f76a58f89753196d8cd99107ec04741be761696c642cf6443bb72c5dbd336967c336672aeef98af9b203ee6f4096531034f890b1dd0862a0737777278167a2aead708533206b3624b906c57e4abc42bf61364e550326a62d4a74fe889ae41839820fa6fb487569f53c1851734cfea5f501104b9240cbc2c87b0531f6e008b38f1287be901af59a45ea19de5b2c4ce78ba4eb1abf4284ce0ea22f18c2a26f428bba481e54a1745702a8af06cab649bb5c7aed2342413157a811a35b162b6f444cf2ddb22a24bce8e2925d83313d0b760017b65b8867419c7a1f57cc785b26bbed63ec79b83feb60674e2497b87be24aa1f899ca59d6391c1f2ad9aa90806fb1c97dcbfe5b9934ba169386759532b1117115e77884623c84cfee522bc0735e1f34eaf4b452530418f652e6f15cc3cd88a52e98078424d486cccd38272a0819887d85811e6bf8dc3689a3112b1b86d77d2bd91a53d123a11b6eb4ce3a8471c35126c017053c8a8f46054bc9c92752631ab8a9100b04f79e14c74a75b0cd39d1173c3f411ad1efdd8bf4be2afea69c2327bd070cd1432c8d21972998cc3abc79487ca0a4db5b17514e9961916d30ab9b500430ba748c5c792263afcc6703873ba41a425ff19559ee47d056d3b5b9e567e5cf24ea17010a5c3ca +m = ffb94fd16f27b1b653e0882f4e86b8ad651a38c01a33fe0a34dbb425937e242a +ct = 37998b173615940c3bf53e11b3880c331e90956325e7cedadfb78077d8efd362dc51b95258a770e8a13bccd88aced0c515443eac997c63ca105619d380d89e54c435e184509c93a70a34e5a723dc49cda4073deefa1870ac8a29bb9de4b3b876a9c7d018bbad13cb6da0e2781f97ed740da54e238b70685a71b17ace1383bd76c115622354b0ce4087aebb878eb2730c316bb7039aa041125d641677647cf3889d713f71b32f8cece202ed93a19e7bb26997c2c94d4b7b323bd2bd3a6292bf9f3fbf5541cae89020f8753feef4dfd3abf192587496454f5cbec41b3a2ddaad1e7b8aa3c5fb27bb4a1db9ec2862ce6fffce72b1564f08bc55a70fb8ffa50e9863bfeccbc6da0a4008dd52aa37117a8a9ba36cb71154097cf436b1361668bcb8bf46da108aa926228cbe29cd129ce75653d09276869df01efaa2f01a7f6ff3cc79d67eff02acb5946a9b1a252b462fb3ea55f658f765e1c0e350b5c4b698c6329a8c8d09919bd2ef8e139aa69259593662a8ac5cf7edec8dcd3e99916f472eab06ffcb97b4111f2fc785d32dd8f877088b069a26c7ad4b5a8e558edeab834d65e1be758b657f34b3d33533bc4a0f0e6dc54ccc3097fe80c81a74cf6542e14611779100d2da1016019d87146ec0aadd5f55a39fd5c4dd87e53d231590c6b3f6aff2c961473efdb11f84405cc75cdd5e8899528718d3abbcc170ac046e15974d1c144482c6cee14e46fa2b2a240a009de90d184ef28f9a14481b6e8d3d2bb8457cf57af3fdda6a78525cc9bd6ea88c8e2dbda344ffd75f8272c5e522cadc826891c9e8fdb37e904df58f19623eb93405da9b744938e591de0f94671cd099b6e7d91e41d4ffea876f86199b4b17ec50e02906404f4f129b482f6dbd56dce6da7f0292cdabdac45e7449e1135dba4448d53d127329803884cb55f107f1eda7c20ab1bcfbffa3924358345b19660dbb861b6145f480ee9d459f34451dc4fef391230ea0936e13ce90f303e32993921b5bf3da7d9efc5d568489cde412bb61a8ab08d3ff1fdca62a7275f31a31d848e8a6e228b5939aa1538927d8b0e731dcece21e098c65b687b670ccbb157b39f085bcf146b9d57562f8909aa4af8821c076d4a72d1e752401f57fb8ca022ccfe043cd023fba7eb2c769c61f58fb502ba12177fa984caaad1373d9b482bba7baed50dcfad0458aa97afb433f01a4872f025954c02b9dc34854e4c38e9be310f96f91a608b0168ab0d388f30e74b10cb27845fcab6d23a38870422db1168d092d6b2640c820d6f9e258b686d6b25980e811334873ee1e13324a517cdcade7a9306542afaa838059bd9a3f14273a26090cb3fa9cdc97ffc60df976b5b21654994e6d36da2254cae88092efd7c15584f314851bafdf355110ada596cb59f464aa6e2587f97997f43e9b4fe3fe4c76e1b377999478a2611a185553f129e1c0da143d0a0132df622b8c18ba014d7a9ea20bdb11a70886a82fe54de44eb7ffa907f940355f683ecee7dcba1bc30e7b4b69dfc37dc0be92937c70447e0d522df9167f28b4072954bb3a8f0c99834f0c68e885c1984fa8a5f878f383c1d5963d311a553180f967a7cfad6f8b4555192a27a9a6a39106a12c00ca18c1ddfbb53532733f0623a43d915c2044d5efb8cf4ec11578a481873c4e401b96f5095222d829520817cc226763bacb5a35e7a007c1d6dd8e03cd33b5f5493f9c34ec4df96fbd5b1f24e471476b3823b329682a6fa3d7e24c525f41e898f6d165cc352aaaa74907581c7435be5fb51156a4af2958cb921ba0095a6d894ce752f3b202c05f3c588fd00f8722408f1ee0153fbe9b65187d36aa2145f1f0943014885e254ecfc63e2c35727bee51e842c3eeb599afb13a6834e95ec6aedacec3a01d6e2d289967353a2bedb9c6b5e7efe50d6f586a6e733a4d9528c386c9515d3d33feacf6360b88ebc1be2d6c119afef50add92f02c0c58d4bdfc3ebaaa669a459da6d3468611e25350f99ebf61f06ea1ce70d9b2fcd15f21bf76926e1d3768a444e1a318891ca5d53951d1f6b13223556dd3515e95fac5735fba2b22f6d5fbc69e499385bff6acdb7ade30396462c7f8198b0199408488ce801ae6d103d51d80abf0adc9aee7ab50a0f44ed30087d8edd6675bc4a763ac6b0b3ffc7df6604341b4b174905b2216925635d61303b12304a9c69ec8fd160e1a6735264a413a8e63 +ss = 14ebecdc57f7fef55529b5a4ece39238c7a52c61bb7afd5b3ee65fed1bc5822c d = 351fe4313e2da7fac83d509f3103caf7b4c64a4d458fefdf636785ac361a1390 -z = f072d9b5a99f9c7a0a011e4dc10f6b600d611f40bba75071e7bee61d23fd5eda +z = a4cb53697a77fe6e39ef13c7460d657197bc1c7ea3df65b85c8deb43a058bf1d pk = 319442d0786cba94aa139895eba98bff419a6b42644b68c5ce534b0f705225f4a7b28cbaf879b30fb633fdc2aa70c54639f180e76b927ca4622f086601a62afff5335ffbbbcb52075ab7681a55625e01cb31248e17708b7d728905b64976409d49583272fb6208e06ed7539fc4f87b1f0b821de4155b79531546824bb4a13e09cadf66b7889c6baa9679df6187690c9fea246226a7a405b997c322b4ab041d7fc0b24ab54400813a29c87204ea29414a7c80ac65d374998494b914467f44241251402adfa34616b021caf86b2adc690267a41c40b763c11506b658132c59c0e887888a2d5a8658bbe403758c84cf86611026a5bf802ae4e5031771c42d047ef42021a7c59c2c0a6e3f10b9adf716bba29d824b271d787379021ec44b4b39c3493bd980bfcbba73e5772e259ccdac1f062a887cf25887c30817da33ac19c2527239e7f6b434f0affd278130b1a480348aef2998924c684e3ca8f49694dfe149152b332128061c659cf2c5861ca003d1e8bf33dc06b197abfe2862362a9a15fb35f6009481d2a79eb18826581abcba4bbba6846238c5edf5b30d6830437714addb5f6751a7f6d79558148c0db07a7b2a784dc78c8176a2a36b4dbb7855602742ec2624d6c6c589c515b5224ebf92cd70b954c5190e4212a0542857a16cbffe060f56140e4f3b2e03b86ab0c8cdee1a3e2e95cb43c852c40b6cce660fe61bc7631a849ea28e6c93203bd55c4c4928d6ca777023264d2b2f96f99f3bc9b23d51ceadc713572542eb00b77ce79b2f0ac533198a60f03939ea1502e09807b5a7c19ba98396167b116c88e889b022195b016c58125de60708890793bc582717253b6608b0933b0b0d160c42bc3efb602e899555265189dc376b15c04cf5348753344f0e8349b4ea29a6b85110f81c247029ffe93ec5891194963bd9aca2ef5a3e912c255e3c53e908c1adf75453075fd9f956a4ba555886a82a03a29cf778d4331ad5a30da5a57636e75f4900285b927289e7ba510216e73189b6d76db21c600e8c26488449041529700539c42195624bbdf1c19eecf8bfcb97a62eb46468953669b380de5a3f84a962cdf3573de9c4f989a645862416fbc92df042baba25ff1381f3c09b79e2c89410625462018ed38a8480afac4a313da239ba44090a7aa296c304dae24030db60bd376ecb7779f2f2414d144e624a9b0d2bc181268229ac1f92929d61c15250730d58b75e663a2a175b4b98a906c3871f1f9a46f0e842c7b48238722124e7c2882b7831576a03b1ca105333e4b004bf286e45d3a9188757faac58e8d995e7101129fc560c9021ba159d748619204b7963f957e7410592028f97d297e2a8042bb8b342f1cf1af6a843a1598b1a0e851cbe6452842762109eac773cf58fbcd5845545485eb47be86bb51522273bb7782223b855c221de3c3ce3290c3fb4c9dee73e23c06994fcb437a93ab885230ce5521f8224521a6ce6c5ac8f682353ec78f22cb133c1c48aca73a461aa128b96590b2b508832f9a04a1099b7775101fc349b6a686b9cc3c7954567f1c605ce1543a6e967857a19678b5e6a3b996fea65336794d36c3045a0ac514962c79a6b03342b2ef826b4e4a2aa4b8e2d66ac920557915058c551b82bc0134dc489d55742b59c143b88ac8903cf6ca8aec2c784c1dc15e3b46ea8d7bcd43ba3161564b6510459f7956949128d6373c1ea8b41b92396d124b3b978325b1d21c290b76a1504a01adb164b3a6cb9bf5422a6b571f209a4f18c31c3a647d8e3cfd335067c75308026c40c5ba20dca0317cc6954341758274330f35df38abb5f1b59806a831979bc985576ae6a8df2608d6305ae2f7406f347cff1415de856b859d8306271c716495ec273a2c96355e195326883c4f024943f54c35f0003e70c9dd5c412f6c260f18a6adf1435150abdf28084cdb13685881aab0c710fec5272417731a65eb9360684e170f6c7a13310686471b0e91b2002b789a5a465128043ce6b7c29bb5dba20200dfc69d242823e477e34e146c828022d78c37b8c8fea50294586cda2f728d9b10d0cb58e1b091b68dcca95e6ad22416e1c9a7b0a75047c72309a284426fa98b3c905f1491a44d1338e0cad6bf2ac3c845005c268eda736b1c997a64438323501b6ac5628455694573afd782ccaf1f339e468be45459e708bfb464d0c480a1becdbc021a06af7aac4772545eb -sk = 719950ed1960ff6c2d7d59bbecb83aabe1ccb569b76cd9b053389c552cb6bf847cf4fc1f18a03e66f02cdb284c15d656151644f78caeeafa8b12cb7c616256c032ce6112735a74285d66a90f3a745ed8733c195f6b1b9b272897520a02fafcb958a9669990b73420bcce373acf5a1c86a555c3c48f78166c0fbb023c49608592261060884b408c9fdb1f4b023506d3516956b02637af26fc7b1d9345f8b54b5af96997d39fa32c01ab64a6ab7491d50303b4e8a134086110d220462395b9d89d9651205aea9e1b88bc80c4c8bac44af4f1886ea788a0b259dda78116051059853d2cd073ed8cadad9ab04f7175d57c3224e953509588e788713d5a6714d0aa48e972f4fa55f16579d9bc6988f562ccf1286e87aa785929bf8266d7e340022c0221736c3cb372b85723042382092545a45032eb727bdc750449c786145acf42b85d4618b0d6f009d0224a816620f1db67f59713090b0849559a51b9589532ce2dc25df8f09aebda932073a2ac2115b12c5f94c64750220d645b34c14ac1b2208565377d61426d7f2a25cbd969a2705ea330b676ea6eefcbbc6cd40da9c0716d147b398b7d469a919d83baacca80f0e41414382804b0a321362e14e766db2450f599963cc2899e1048d839754858910d12c23f99158a9a3149362690a9c5540133e5f217a7b66b0d627321c810f7d1639cca948d708616047f85ba41cee9211df72731ac0986d1c3149854b71683faf68179799b12c031a2a84574b9a67c96a708355f7a86bfabe63ddb94b6c048359481ca7a45cbaecbcf34407d8e378733f812926599df5c156a94945fc7911db26bef17074470a7bd6b60f771cc3f396e847195ce26444b641f91b468fa1670d0184942472667aa76e42976fac48e78da72ef0c207fc7400f92699b46345e4c9972a35daea31adbe87980438de4f211b005c8dcec1a6eecb56d891677f9006c49385e8ab20a19b74325a9a95083bc711537480db30719815352616b2c5721979bd4267fb134188a75b9cb303215a76a246d8f69acbd173d069b2b99b727829aa5469a0212c006a88aa4a6b614674674fa75500aa294711c178b741b0275280bda27813647a5dcac3a258991db4bf436c23f37c697115143a2755fdc199ff32b19209d7ff904feaabff7383884c1bae3c0cc20d019066653b99c1cafe366567c9238785b0f0b4d1432a9e02ca2d9a3b37d84646b157684d7ac720727af4533749a9ff99bad8f3877dbe5cff9c75b38c4002178ce30773ee36a14f1497ab386cb36420f04d85c8312ce25b357d3108226925f6b85c7a3729064f81aa66336163c00506bbfc82030f4f33a5be7330926bb3f849d1dcb09f5cb814ba8a722506d0a037e6eb26216aa3c4d4c05d5cbcf0358501936ad2beb3563c341e2315de6d68404acab0149bafa84491ab67a2dd82972220b0df528da7c4d441c8cdaf508cfa2c0224932e7e5215572aa433c9212022899e43a93cc7c8f4aac6ed5acbd0162e4da4b897b7bdcd72a0b2a2354f61a6c211089c11e476715f3369859c3021584b6593b5784344d53b40da0725a90804c45d02f6eb7670071660478c53281b5e290bfc77ac46602b530b1300628a7a4f20ce22768edd699c6bc5dbdf66064041e42329605e06dcb94207211c7bef41eb150aeccc90725dccc33eb762a92442dc02ae1555cf726a915240508e227e270a4932636a2806d8a5c15a40a3206ac91bc8a3cc7245f7b5b0438fb3dcfd112dff7bb01120087e09abf5580081008d43bb862f6283726992523acb1dc82fc260e64dc395c778d8ea7561382c9918b531cb8b0fc8b7a5a9634d3a7349475a8a117b0c2331ca0b7cc8e5a92f609b5b558435e15509fd78ba747be495b9e78ab178b03c117d4c679d13d5b07b58eb675a72a646763a9358b61ee31b1156866cfd7ab6e7498d3e5ca92799fda467dbd103a5e717e0f6b92a815546f8c221fb2c337e86142d8ae205594bb2c93e50b4503c80b5ab3a19de4ba63d918343260b5692296cb02efa77ead006bcb99013e317b5ed802e8e5209d87c7e584c1de051ada436044caafd0033f51f649d275a7bbe4455ce8035a97945f597d03a1740dc576f0225b8cac3ea76c49f5d6a183f3853138becb6949a158a5ec045512b74016fb841c8881035448319442d0786cba94aa139895eba98bff419a6b42644b68c5ce534b0f705225f4a7b28cbaf879b30fb633fdc2aa70c54639f180e76b927ca4622f086601a62afff5335ffbbbcb52075ab7681a55625e01cb31248e17708b7d728905b64976409d49583272fb6208e06ed7539fc4f87b1f0b821de4155b79531546824bb4a13e09cadf66b7889c6baa9679df6187690c9fea246226a7a405b997c322b4ab041d7fc0b24ab54400813a29c87204ea29414a7c80ac65d374998494b914467f44241251402adfa34616b021caf86b2adc690267a41c40b763c11506b658132c59c0e887888a2d5a8658bbe403758c84cf86611026a5bf802ae4e5031771c42d047ef42021a7c59c2c0a6e3f10b9adf716bba29d824b271d787379021ec44b4b39c3493bd980bfcbba73e5772e259ccdac1f062a887cf25887c30817da33ac19c2527239e7f6b434f0affd278130b1a480348aef2998924c684e3ca8f49694dfe149152b332128061c659cf2c5861ca003d1e8bf33dc06b197abfe2862362a9a15fb35f6009481d2a79eb18826581abcba4bbba6846238c5edf5b30d6830437714addb5f6751a7f6d79558148c0db07a7b2a784dc78c8176a2a36b4dbb7855602742ec2624d6c6c589c515b5224ebf92cd70b954c5190e4212a0542857a16cbffe060f56140e4f3b2e03b86ab0c8cdee1a3e2e95cb43c852c40b6cce660fe61bc7631a849ea28e6c93203bd55c4c4928d6ca777023264d2b2f96f99f3bc9b23d51ceadc713572542eb00b77ce79b2f0ac533198a60f03939ea1502e09807b5a7c19ba98396167b116c88e889b022195b016c58125de60708890793bc582717253b6608b0933b0b0d160c42bc3efb602e899555265189dc376b15c04cf5348753344f0e8349b4ea29a6b85110f81c247029ffe93ec5891194963bd9aca2ef5a3e912c255e3c53e908c1adf75453075fd9f956a4ba555886a82a03a29cf778d4331ad5a30da5a57636e75f4900285b927289e7ba510216e73189b6d76db21c600e8c26488449041529700539c42195624bbdf1c19eecf8bfcb97a62eb46468953669b380de5a3f84a962cdf3573de9c4f989a645862416fbc92df042baba25ff1381f3c09b79e2c89410625462018ed38a8480afac4a313da239ba44090a7aa296c304dae24030db60bd376ecb7779f2f2414d144e624a9b0d2bc181268229ac1f92929d61c15250730d58b75e663a2a175b4b98a906c3871f1f9a46f0e842c7b48238722124e7c2882b7831576a03b1ca105333e4b004bf286e45d3a9188757faac58e8d995e7101129fc560c9021ba159d748619204b7963f957e7410592028f97d297e2a8042bb8b342f1cf1af6a843a1598b1a0e851cbe6452842762109eac773cf58fbcd5845545485eb47be86bb51522273bb7782223b855c221de3c3ce3290c3fb4c9dee73e23c06994fcb437a93ab885230ce5521f8224521a6ce6c5ac8f682353ec78f22cb133c1c48aca73a461aa128b96590b2b508832f9a04a1099b7775101fc349b6a686b9cc3c7954567f1c605ce1543a6e967857a19678b5e6a3b996fea65336794d36c3045a0ac514962c79a6b03342b2ef826b4e4a2aa4b8e2d66ac920557915058c551b82bc0134dc489d55742b59c143b88ac8903cf6ca8aec2c784c1dc15e3b46ea8d7bcd43ba3161564b6510459f7956949128d6373c1ea8b41b92396d124b3b978325b1d21c290b76a1504a01adb164b3a6cb9bf5422a6b571f209a4f18c31c3a647d8e3cfd335067c75308026c40c5ba20dca0317cc6954341758274330f35df38abb5f1b59806a831979bc985576ae6a8df2608d6305ae2f7406f347cff1415de856b859d8306271c716495ec273a2c96355e195326883c4f024943f54c35f0003e70c9dd5c412f6c260f18a6adf1435150abdf28084cdb13685881aab0c710fec5272417731a65eb9360684e170f6c7a13310686471b0e91b2002b789a5a465128043ce6b7c29bb5dba20200dfc69d242823e477e34e146c828022d78c37b8c8fea50294586cda2f728d9b10d0cb58e1b091b68dcca95e6ad22416e1c9a7b0a75047c72309a284426fa98b3c905f1491a44d1338e0cad6bf2ac3c845005c268eda736b1c997a64438323501b6ac5628455694573afd782ccaf1f339e468be45459e708bfb464d0c480a1becdbc021a06af7aac4772545ebe9631b6d4237dd6884ae3647dd8622fc13d1cc689f3c8ed94ec6bcd4bbdb6980f072d9b5a99f9c7a0a011e4dc10f6b600d611f40bba75071e7bee61d23fd5eda -m = 0c5719261caab51ae66b8c32e21c34e6d86ee4aa127d1b0195663c066497b2e9 -ct = 3c2f51cdb1bd41b751e2d4047e75685f2e7ae49d8cd36d71730e9c86d32dd5c09604e8dee025680930151731144fa8c819d1caa4c6e0265d3adaa37a128656839040a2d3a99505d60c5bbbfada6212256c857e979e500eac266c930ec4e3c38ba1eed1bf17b1f601f50b16a0d882f7723b0011a722d8ba965a5042d24479bc1980e585c50e5a6ca4f19c04c435b443b79508fa9b16842666d5a564d99ce7f3e45776bf9ccdc875644bb06e733ec6857c5b67950096b54f16f9362fb3cffc2b14653a073ba9351603b0c4334f6cec513b48693e9584a8ad34ef8dd8a00b80cd180f1ec8b1ab0434f3fb098381da88187ea72b4be5f334c4f16f7f3e08cba9466a0f65cba34cf289b4b365712a239d6a9b21cde5f0c6dd68496e4003ec03ec558e2fb35485e527e333d058020c7d0aa8232591b38f67ff58de279bc69f64de366a8c1361d14519ffe4744f97ee44974b7e3fa5d0a413dbf12d9735a27ba5532836fbe236b1d6e95858151bafa8d6e2902b57a7b7b7c288c53af4b1acd4938e0612ec2724fdc0bde504c7481ac966f6367aeb626b16072a793bac84881325cd03a75848e61cd6db241ec86daad0b1ac312ba264b05532d336f861393985329a8c9d13e34adb2e200a9bdeca3004e13b995d37495854cfcf1e95b17a692ff48b6d625dfc5634c572e07a22e65a62de460d662c21565a7804aed4024890eb3583c1fda13232d6a1345ae28bc0e4c63d2aac2bd665971dc423c09b7c6a9dff12b35d1bb9b7f1b995881c9a6b4ee8d2fef2798af8e22a04b29e41b4032da46ebf53fc240cd9581f8a3e80ae766157b7c9819b0bf547a2a282423c3e72ba26d9f70c21d144fd4b5afcf46f996fcc63994aecc8ea396a61600bd2c1f378a2a1357ec24e17b9e04164801d8f93e7d7d8ab22d4e6f07f04fc01932b58b8a2d14c16a9e72b636312577b9a310b3afd6ff302d79e3eb3baddc48785552a7c750f16490b18dd659cb7daa254c2671fdf5ce1f46b16053cdbce991ca087091115fcbb8196a9e8518b30dd6a73b4dfd8d17e094ad06ac87cae35ab5703aa8138c6ae2714af34957fb57e23b788b4109f5dd9945a83c3b332a99151d7cfaa8c442d0a402964ad4456abc4ee642ed686f16b850cb8b0152cd19d4ec64aed81cdf406e919505eb9e43b4f5a4145b76efcaec998dcb4cba70f5a344bf514e7d7eb01f01f846ee4dde1e4cd26fe046f57f0fec8a63ba95166c839bbb6ebfa3b1f92145397a455f143269fc68298d43a82774f2ceb49c4748d7228a5d0083459b8967b338877b240e2777cc5ccff5bb99e19a5645c56cfc32d0a66b99b9ed5cc9c69e08fdf3cc99d4db8c16dcd1fe58094231318d3431379a093a51e1f546862091de45f2922465d8d35c27db09b8e1fa07bb835891a68780ae2b35e9c3093218329ad800b4464b916e5ac9e9e2828335c9ca1be3dc43b34f7329002de983c60d04bb9a8b85beaf288424a72e03d91361effe3463aef7359ac6f7c480525817ccbea85e51740f592c24c4d925a2a4a99229fc62eeffffadffeace70710fab726ea021e247461e86e47331b4f290e36c7b54c44de4e3e3aab919c3a78491fd2561a68bc1b443b91f765f8ec4e17b804a788aca7924f5046bf287bf4423562aa273a886d48088dc4900389500e2d19a874bb9c1d15f0a88cfaae965dc6df688e968048dfc2936169f8a022df9c540f986f2e9e23e1ed86974fd87f7ddd85fac7ba0aa07e690c681e3025b7d97ddfe2a37390b6043b6ded87dfb71085e63e18645d97ee898af6ab1cf076b653d569dca60ff55ca32a91661f13ddbb9f3624f98c73630d8a2d6ed7074046924f20fd88c85d72cfb1d987898e7e6b28c89af71972f1baf58d0bd08e65f8049a33aaa28605992850e82b62c8a61c488e3ba33288066e8e25b87a2dc87bcc3356e6e8096cb528d734148ae956247f9e429aa862f665698bc50990e8e75d3752d5ebcbd20ab41093959cac6dc199629dcd4d4736641341b7c76df2c8c82114afacccef48ed3dd18f675f02325823f9ec85e12c66c200982513df1bb7af1133749c0719d68ecc5e485cf4a6509aff148b0bea54ec811822bee01ac9d92385dfbac9c096660afe586653c7e6254fff77a3a3326b881865ef43776db67e9be2947fcc8b6846a6eb98b45f3f62c4a446db72f0a5acadd2667f7c725c6f528748466b432b -ss = f95c6e4a06a4d5234995e4ff44a4d5a5761ded0019d920b87a33d3278ac1cc92 +sk = 719950ed1960ff6c2d7d59bbecb83aabe1ccb569b76cd9b053389c552cb6bf847cf4fc1f18a03e66f02cdb284c15d656151644f78caeeafa8b12cb7c616256c032ce6112735a74285d66a90f3a745ed8733c195f6b1b9b272897520a02fafcb958a9669990b73420bcce373acf5a1c86a555c3c48f78166c0fbb023c49608592261060884b408c9fdb1f4b023506d3516956b02637af26fc7b1d9345f8b54b5af96997d39fa32c01ab64a6ab7491d50303b4e8a134086110d220462395b9d89d9651205aea9e1b88bc80c4c8bac44af4f1886ea788a0b259dda78116051059853d2cd073ed8cadad9ab04f7175d57c3224e953509588e788713d5a6714d0aa48e972f4fa55f16579d9bc6988f562ccf1286e87aa785929bf8266d7e340022c0221736c3cb372b85723042382092545a45032eb727bdc750449c786145acf42b85d4618b0d6f009d0224a816620f1db67f59713090b0849559a51b9589532ce2dc25df8f09aebda932073a2ac2115b12c5f94c64750220d645b34c14ac1b2208565377d61426d7f2a25cbd969a2705ea330b676ea6eefcbbc6cd40da9c0716d147b398b7d469a919d83baacca80f0e41414382804b0a321362e14e766db2450f599963cc2899e1048d839754858910d12c23f99158a9a3149362690a9c5540133e5f217a7b66b0d627321c810f7d1639cca948d708616047f85ba41cee9211df72731ac0986d1c3149854b71683faf68179799b12c031a2a84574b9a67c96a708355f7a86bfabe63ddb94b6c048359481ca7a45cbaecbcf34407d8e378733f812926599df5c156a94945fc7911db26bef17074470a7bd6b60f771cc3f396e847195ce26444b641f91b468fa1670d0184942472667aa76e42976fac48e78da72ef0c207fc7400f92699b46345e4c9972a35daea31adbe87980438de4f211b005c8dcec1a6eecb56d891677f9006c49385e8ab20a19b74325a9a95083bc711537480db30719815352616b2c5721979bd4267fb134188a75b9cb303215a76a246d8f69acbd173d069b2b99b727829aa5469a0212c006a88aa4a6b614674674fa75500aa294711c178b741b0275280bda27813647a5dcac3a258991db4bf436c23f37c697115143a2755fdc199ff32b19209d7ff904feaabff7383884c1bae3c0cc20d019066653b99c1cafe366567c9238785b0f0b4d1432a9e02ca2d9a3b37d84646b157684d7ac720727af4533749a9ff99bad8f3877dbe5cff9c75b38c4002178ce30773ee36a14f1497ab386cb36420f04d85c8312ce25b357d3108226925f6b85c7a3729064f81aa66336163c00506bbfc82030f4f33a5be7330926bb3f849d1dcb09f5cb814ba8a722506d0a037e6eb26216aa3c4d4c05d5cbcf0358501936ad2beb3563c341e2315de6d68404acab0149bafa84491ab67a2dd82972220b0df528da7c4d441c8cdaf508cfa2c0224932e7e5215572aa433c9212022899e43a93cc7c8f4aac6ed5acbd0162e4da4b897b7bdcd72a0b2a2354f61a6c211089c11e476715f3369859c3021584b6593b5784344d53b40da0725a90804c45d02f6eb7670071660478c53281b5e290bfc77ac46602b530b1300628a7a4f20ce22768edd699c6bc5dbdf66064041e42329605e06dcb94207211c7bef41eb150aeccc90725dccc33eb762a92442dc02ae1555cf726a915240508e227e270a4932636a2806d8a5c15a40a3206ac91bc8a3cc7245f7b5b0438fb3dcfd112dff7bb01120087e09abf5580081008d43bb862f6283726992523acb1dc82fc260e64dc395c778d8ea7561382c9918b531cb8b0fc8b7a5a9634d3a7349475a8a117b0c2331ca0b7cc8e5a92f609b5b558435e15509fd78ba747be495b9e78ab178b03c117d4c679d13d5b07b58eb675a72a646763a9358b61ee31b1156866cfd7ab6e7498d3e5ca92799fda467dbd103a5e717e0f6b92a815546f8c221fb2c337e86142d8ae205594bb2c93e50b4503c80b5ab3a19de4ba63d918343260b5692296cb02efa77ead006bcb99013e317b5ed802e8e5209d87c7e584c1de051ada436044caafd0033f51f649d275a7bbe4455ce8035a97945f597d03a1740dc576f0225b8cac3ea76c49f5d6a183f3853138becb6949a158a5ec045512b74016fb841c8881035448319442d0786cba94aa139895eba98bff419a6b42644b68c5ce534b0f705225f4a7b28cbaf879b30fb633fdc2aa70c54639f180e76b927ca4622f086601a62afff5335ffbbbcb52075ab7681a55625e01cb31248e17708b7d728905b64976409d49583272fb6208e06ed7539fc4f87b1f0b821de4155b79531546824bb4a13e09cadf66b7889c6baa9679df6187690c9fea246226a7a405b997c322b4ab041d7fc0b24ab54400813a29c87204ea29414a7c80ac65d374998494b914467f44241251402adfa34616b021caf86b2adc690267a41c40b763c11506b658132c59c0e887888a2d5a8658bbe403758c84cf86611026a5bf802ae4e5031771c42d047ef42021a7c59c2c0a6e3f10b9adf716bba29d824b271d787379021ec44b4b39c3493bd980bfcbba73e5772e259ccdac1f062a887cf25887c30817da33ac19c2527239e7f6b434f0affd278130b1a480348aef2998924c684e3ca8f49694dfe149152b332128061c659cf2c5861ca003d1e8bf33dc06b197abfe2862362a9a15fb35f6009481d2a79eb18826581abcba4bbba6846238c5edf5b30d6830437714addb5f6751a7f6d79558148c0db07a7b2a784dc78c8176a2a36b4dbb7855602742ec2624d6c6c589c515b5224ebf92cd70b954c5190e4212a0542857a16cbffe060f56140e4f3b2e03b86ab0c8cdee1a3e2e95cb43c852c40b6cce660fe61bc7631a849ea28e6c93203bd55c4c4928d6ca777023264d2b2f96f99f3bc9b23d51ceadc713572542eb00b77ce79b2f0ac533198a60f03939ea1502e09807b5a7c19ba98396167b116c88e889b022195b016c58125de60708890793bc582717253b6608b0933b0b0d160c42bc3efb602e899555265189dc376b15c04cf5348753344f0e8349b4ea29a6b85110f81c247029ffe93ec5891194963bd9aca2ef5a3e912c255e3c53e908c1adf75453075fd9f956a4ba555886a82a03a29cf778d4331ad5a30da5a57636e75f4900285b927289e7ba510216e73189b6d76db21c600e8c26488449041529700539c42195624bbdf1c19eecf8bfcb97a62eb46468953669b380de5a3f84a962cdf3573de9c4f989a645862416fbc92df042baba25ff1381f3c09b79e2c89410625462018ed38a8480afac4a313da239ba44090a7aa296c304dae24030db60bd376ecb7779f2f2414d144e624a9b0d2bc181268229ac1f92929d61c15250730d58b75e663a2a175b4b98a906c3871f1f9a46f0e842c7b48238722124e7c2882b7831576a03b1ca105333e4b004bf286e45d3a9188757faac58e8d995e7101129fc560c9021ba159d748619204b7963f957e7410592028f97d297e2a8042bb8b342f1cf1af6a843a1598b1a0e851cbe6452842762109eac773cf58fbcd5845545485eb47be86bb51522273bb7782223b855c221de3c3ce3290c3fb4c9dee73e23c06994fcb437a93ab885230ce5521f8224521a6ce6c5ac8f682353ec78f22cb133c1c48aca73a461aa128b96590b2b508832f9a04a1099b7775101fc349b6a686b9cc3c7954567f1c605ce1543a6e967857a19678b5e6a3b996fea65336794d36c3045a0ac514962c79a6b03342b2ef826b4e4a2aa4b8e2d66ac920557915058c551b82bc0134dc489d55742b59c143b88ac8903cf6ca8aec2c784c1dc15e3b46ea8d7bcd43ba3161564b6510459f7956949128d6373c1ea8b41b92396d124b3b978325b1d21c290b76a1504a01adb164b3a6cb9bf5422a6b571f209a4f18c31c3a647d8e3cfd335067c75308026c40c5ba20dca0317cc6954341758274330f35df38abb5f1b59806a831979bc985576ae6a8df2608d6305ae2f7406f347cff1415de856b859d8306271c716495ec273a2c96355e195326883c4f024943f54c35f0003e70c9dd5c412f6c260f18a6adf1435150abdf28084cdb13685881aab0c710fec5272417731a65eb9360684e170f6c7a13310686471b0e91b2002b789a5a465128043ce6b7c29bb5dba20200dfc69d242823e477e34e146c828022d78c37b8c8fea50294586cda2f728d9b10d0cb58e1b091b68dcca95e6ad22416e1c9a7b0a75047c72309a284426fa98b3c905f1491a44d1338e0cad6bf2ac3c845005c268eda736b1c997a64438323501b6ac5628455694573afd782ccaf1f339e468be45459e708bfb464d0c480a1becdbc021a06af7aac4772545ebe9631b6d4237dd6884ae3647dd8622fc13d1cc689f3c8ed94ec6bcd4bbdb6980a4cb53697a77fe6e39ef13c7460d657197bc1c7ea3df65b85c8deb43a058bf1d +m = da8f1fa1262c71363592344af3af48d678dac8e93cb11d2df01a93fefe97c4c8 +ct = b3050e7294a6d60ec15e3bf34c6dcccf575422a0e34704c2c69cecd9166626057518f3388b16449e0f11cc87f5427176c951b305d00286aa858ffb1100822a05312b8ca9eee77c46296252c28b144327493522ff431c6abaab1ea0e7ce01d384774f6a7c931abbf198d79c66db651228e533f0954fad5ee2e744d1d2cccf2939f22a68bf97a84f5b08cc18d40a81d005c721a3679b7928cd97f79582302a009661a8a20b7d095f7536ab5117da2b8c4c5363c046f700354e6131a88923107a7927090415aa93c1c315bee90fab97834949beb468d70a8b2483c386c2094d6c546482b449f7c9ecf33a19de36543988e2007b6a9f73de5fab6c8d21918f12ead0d1e28ac51faf037ec6ccc727925fcbb951a22875bfcec73dee900388cfd156500bfe9a14f1776ae8c6421fafd33c4e56c63e4a7a721ac615137aed28190dd5b1bc3ac2ffadd00dc91e92b0aa958dc787a993e059f99b64699378749afa2a2710f1492a1085953d1d0843f5432ee22a94fec68bc6ae11d2db66674ea3b06e5a26ca2ccb569d2ee2e56d4f1ebfe88a0d7f178324857aaf51245611743d0e45ea80851c23ae2aa60e07977225e27337e6e0b22b5c096f4e073899d283071914cc3d0235430fede25eea8ed3cba32c853ecb27afb1d4a08f7bdeacd088a2e2a8eccc36848e1ebf4cb08d9f8c9f2260dc83835e3b7f3e0d623c8946b6c908c2e727890b4ef905320a41199e1ac191e66adce3e5b062312806ce7b54f2f9af88f675feb0c2ed50fedaad6e5e163126291c48607bc524206a9e751341b007b73bb7fc1fa6a7052866d8e5eaf42619cc6d344a5a09ee7da84bfd7a07298b4a4cf3882d532731edd4f487bb3b9eb411befced7d64c6888ca4d78df0ac8247a22a9c595dd9a962182f95436b0561df46cdab23840c573a1ba45f6d93a4900aab661a7899c08a206fbf85d8213bb13e60db9fb92bc2162d600847e2ebe661a5d73d7ed6fa18ecb692838fa11c162af0d3024b56ca4d0135d8610d951f519621792e5767ce70f995a0545b3526483ad43b0c6f57c9d06e884e7774084ce2e89531ae599c4ab4765820177d28343d703251b958e09795cf238cca855de2e1409e4cac89306af06d0d25c6d5679312e96da5e91e8e93393884766ee0490e6399ddea4eae67a5f8eea3e0085c57582d1b35fb72fc81402997889aaa4326328d2471c7221b8bbd7cf1a0198e9d34c64ceaed22bb1f500636ff4e1d52aa2dc25aa0aa875e835e67a41a745e616e39319e26e85436465163edf78ad1890519f8e1dc238a7388bb1863e067f35cec9214489507f6d64bee6bb9c1fd2f37a9fb2bb7cab07fbb9010dc397064b130f48716bc90d07cf40cab15f614ab475c7574c4d0d8b4eb3e3c5874376a54779eb727bc491b5d5d573e09d28cba5408a6b58414cf0e509b8a783b9fc82de066f9de8fc301923a5081fe682d1e14dd0fbb83a0db972f8ad891a1b800ce2d2b1f92c32caacd8c518f7703594ea96bc9ec16fd430ad3841f8262057b9657b7d871d5bef0b144cc7eaf547fda750751ca62a7ba5b1a8a3863a8d5e5ca0216d30b55a241b03bc2024dccb4bb6a80b1c137d106d6a4c02c9b1dc904ddb15606e472afeb34fb1ce679cc6c00159fdb2ee9c6ffd98cd4b68ae22e84df67c533f3e614d12bfc252f5e68bc1a17fc8bb7d7374ee1f067e24000d2eb2313ae1945236b7862ea2606b82d0a2cdc10c5a2b840273a7b94215e46b6d015a3cbce6c95ee0e04d44c0dbe647089b16d55c338f7bf59927cbc9f5acdf162396fc9a4604611a92a17927f037236997071b074332d36cc2b02d042019034eeb0a4e228c4f02e03ef713e09d289122b88b188ad322cd11c087a134ed1f53db07654e4d3e2979b238f309727e14b4e08caec0f3e5b552329a1be9a76b51c76edab2ffc0ccbd5b405f3bd955db8ad54c33ae46c24f984f1d32ade3f9df431d73498b5b7343c23ea655b73b27947e25861f05d706e43748e76839cb70f12cfdd9e8606c35c62142d18fab2ae9eba0466a35eb04944e55961a127bfabaa709fe469fddb8d8065ac865afd543006c0f2b33325204e13ccb2ad76afa60859c845a39b72867f97d8e90cdda123bf59f5ca9722b666389a114af982b327695080dbef23dcfa8c96c35dc1852a1678e58bd472bb18ace4e5c13bb582c46f5dd6f1eeba4d758ea02a974368 +ss = e9d0977acff5ec1bacf2b3b5516e75e3ea5faebc60520c64c1b1e991753123e4 d = 9bc5315580207c6c16dcf3a30c48daf278de12e8c27df6733e62f799068ad23d -z = 5a4d0a8a41c4f666854e9b13673071ceb2fd61def9a850c211e7c50071b1ddad +z = 195927b10c3be5f19fb055a71cf9610fdc0f03e23fd09eeb8c63b7ba3c0fe642 pk = 8ba428266b1dbf30553a10aa6c5118f85ab9daec1c521639b686bfc4b198c511939a039982cc774aa074d391bc5137419a22892005114f3132f22497ebc5316e190013325b2c0c1f23ac61ebf6875640c7f56c78df4937c883bc9da38d1f709a6df68026d8af0ba51f1f2c5ff0806cac1a396a7272a4065660906658a25c570c7067d1972417142b0b6bc244b8e52b1b7a4b915832486f8a7486230cc63a981b195431448671e71c38527effb2768ce1574baa6a23226563794e714c1c7f75c05fc4b2630a47ae24b2a1d3141516941d61a58b609808612064881347b4765e892438eaaf1c538e0baca4e6e1bb38821633a385b7c1cd285b6edef2739a675110387e6ec747016a6a1007c87949368d31cb7a63a50e210ce168c825b86695223fc1b8789bdc89545a3394f9c1bd943094546f640b0b129c4e78a9ca0b8107bb18923ce669da26268d57c7eee01f15d0454cb1cb7af05f2e787833bcc4d4996312c82714043907b30a8d250ece8aade970cbe463494e759f463131c12b636503c747f64249d2687b3301387620307503d9562e5a033d86eb23546b83b0f70937fc6b70db7c1d519fe1ca0b93137a41d89843a635fb5c389d420558746be267440e8aa996124ff97b163eb828fe492e96a367ee7c22e2f4031c44688935b0e6439776e34c2c525a31664386a5b6040116d487846f538e0da71fb17a750d4b0b8f4c37ba859810a8aa15b573eb029c8f7052124bcefbc48dc60743e7a455a0c4cfb7c57847c50afb1b5725d735d013441f7b1b43d93840cc4373dbaaa71035ae110955d9cb60ba5b5de5999b082335ebc1d3d5b6a6681e2e4714423b50d30aac28a4006869a85941247f0a8f8da236421b761315b6adacc513f5ae525373cc57482dfb15286546d106925adbc71f4cc1bd33641cf63035b7c02669ced392b0b8c70e776a768f859c04e3b1c1f05d9a909025f075bc0021b091b0bd29ae7e7c787a0a570cb99f9337986d714595023b53147913b72f7df50b6421319825304af61ee75765f44581eb0378ecc979f81950437ba7603b751dbcaf1261a17346cdf645a65cea895320211089a07101bf617b731e38a8114335e3267169d060a9c09e7e829d0168a21bc580087554a17688cd742ef7e4a2510779b666a2b613bf81d8060e06385398babcf2ce1ae7abd2e66ac06142a2f73598ca2a1ff769923a0aabcc22268710c0a2143b96269bbace0f69a25142bb9f1a0c05266003f7a69ab405dcbb3360290ba355c8c6f5b1035697865cbecf8a20209019ea08b6416c86a098af524a2dcb9b7d16253960670ea96897b406c5680b14de691fa5305405f35048865e549c3847b3bf01856a15a25dac28c5afcb6be3e8adaf3689a0e5bb056b000a1308ac643ccd94c28711acc4653b52cc87c7d6bde2dbac47678ddf7101484379de232cae6975b4ec02d6a043ae14a53632ab428666fcd98b9f702432018e783ba3c7d32079a5ce9378621018b52de73f7eca9c8577803f14c0e2c55f8c988fd19353cc4c729f545d3203be1374caa91945e21ab4baf2a4083a91e3d58e89270ef4560669d555fb0444737c6dae111cd1e18f55f1780ca0bb8e7c1ac3e7168d0c9e4a515ca4f11c49c967bd78149af3abc3e692c4659b30851eb86ab41d575021fb146d60069d242569d111e510b731724e6eb456c5428754db8903f31b365c7aa9976c13210438b50ea3e778e5a60e25f85c42bb10b24b72bc820300c91547582fee167eff958894e4898c198a4f652f871c9b03234f98e7a237778c679b757db3225394a356991b2810cc6ca5c7ab888dc9e59529f3498ec40efc47051c03c75225187da36d3daa9f3f0977da80a14a13a990ab20dd415c2036003ffab31b7aa534ec7cddc40a9877ad6cc61d07b7b1d8b71db1d1a2b71923337532e464853357400aca0f6a883ed84b56e77b755594b7bef178115b18c68175dc2c390d462ab641ba14d80b1d36cf290c6afa532d8d7091da94703cfb7334d667f0e3150b60ae8bfcb56dd40e3a58bd4d09a5a3e8a167841118a51490a126d6b85ee90a7f3d5432f59635b1d5587821818afb74ce42569751512c9840f364b6370cb318c1677a304be1a2938234b56bd2632f768a93750158e844df96c720007228c2829f0b779eb3382eda6d6338f166acd09e376826299b77b781250c2224486ef23d424bdd -sk = 4da026f053c3ec1712c7f294dc891e26196894a1b620f97429574edee9568e113feb564d89a1883d5a0329929ca57ac001925c8d616791842dcd291627d61c7c2c3f842b547f074f46f082a06bb4282323a291c3cc07904079125cd5a854168d83ba8ab6b160b5e1881d25403b297c73048e3298287f51529a8ba2deda6b4d7665a373171b03b1c0baab6482c50ca3a028d485ca8491b1b73767ec9ef8874a54d4ca414895d2e49fb2ac0cc80c9d248b97ddc51d00a10ca3324fa8a6373a99c5dc1bb7a389cd9a3c6931fc7bee05abcba579251b742f46383afb48faa514319b8f9a0491f9212da443acf9b9ce5b29a6e723a4eafba5c1a7b3e017870fb35dba8a69f1f7995ef2aff817907de5c66899824889a760ca4a38a57b3afa880a3524e138b37487b2ee7332d2689f99a5a3748020fbca43ed6045a5aba65f6c67783cb74c217ba987ad381938b4a651b6908fa4f18e6d073a6992160438ba3c9547e4557e1e724192414c912648d25907bd8b069c845465616969161c483927f5d610c815638e242323465839d36a8149bad494b71f1336a3f0a954369d4265b6cab935f06694c482b500cb77bb32c4d805a295a692648a31611b206d06c2e86c61675577053a747bd3a748f452b480028edcbeca8a10eb843ea8a71e21e9b822d80860764d8c5a77ef0222f8004c902c832f1a344758776eeb99c3ec8b24ccbc03f5bcbe59027fb424e6c580cc3b41c041984ea552bdd6396d52867887430a2534a44ba544a0b285c061d7d6618c76945a5c3b29bbbb09a724b1ac53e5954f66708c8c0b2d7da57c62fc8b80e73d737741f9141f7164b4eac08822a4c340b5b74cb5c2d407b9d63365c55c14c5e6ab43a8bc68908c34074a9bf4816e000ddb464656c379fdd829b6961c22e5345674243ca64705212d52e616664587f90947feeb4366a7aba98b76d9f79a1ecc4bf50571a07cc57e0cb1af828bb26263a8a898bf3b7b0ed07988e82dbe3c0405d46b1cdc37600570fc37ad9b2237e3032bab1a0ae420b6f011a653987305aacc8876ac4d014b7e619227b8b35ba2616c9575506870fad2585549a2f902b185d7a61139c027912ee2a00ee460328b16cceeb259149a0881f8152d563bc0243302d29fb98cc57a45369517640bf0bf63a555a900269878c4ba567f8d376176d6941d34957e1373b7520483394c3606089d14aee0917059227bd848bb22e088def4194bfcb36eaa81d4da713e37be79e52f51ba2c32f05d06405947838625e49f5f6bcda5e683d014a12fcc0c81601b52f80c39b6659606a8fea82c62e061a939cb4451869922083268561e16381b026152170104e11f30b2399f4097b94078adc66f23f85ba6651e861237700bcb1ae92e2bc652cbf19bc0fca0d7f7577c9c96dbc9b8b07b917f258c15661da17621db1287ebaa7714a54052fa660f034f227198ea14c2467b46cf9877f4e0c29962992b560a7db93c8ec13343f734d86bc548246a57473d1285463d0942f288245d933ddab7a09766a9f8c178ef539f9ce9a0e97364cac0366b5b08b4c1b081e01d198c2aa5288617a50019eb3a40a300af538119d733f2544d18b9094f387a3f4c17baf01523f1453f68a916436c8e6a80cd05472de7239ae15dbd52144a9609c1017e88c1a3fb301323b060242ac803133c9bc50f67c436de804e7e7b54a3489e5dec22c83a982b45160108535ea7b588018b0d3b0ccbb613a0716eaed8b61912073cf728c747bfc79741616750b8373235408aeca1abf7e09e72cb181bb09e8c31010e3ccd05db0f487c8a29c4c822c59cf447124c973f57392865ea82af9a15382bb68a708a6ce92e24484eaa252f97635e60d4bcbc8a403dfa166fe5c6a8500332624122a15e25d5041de8b88ee92e1b1b0762734e63ac80ce9227c43980d8bcadfe4caa420045b26173b6b953e3c97c7f655244d534b2963fabd264a33466dd79440f4361c8c77f1afa0a8f31c183a369993494480cbf7d13308bd58e78d88a53d45044026c7b620e0e8a7124b957f106aee02598ee190bdc68c53af48ebc5436adf0bf66227f2089aa4cf461f2d7bb990c3e530872c9d157a839a15b4ace0b2895fdda50d3caa18ee60fa11325946a689e96b651c6a9b4a41d0e83238d52990b5520f21c268ba428266b1dbf30553a10aa6c5118f85ab9daec1c521639b686bfc4b198c511939a039982cc774aa074d391bc5137419a22892005114f3132f22497ebc5316e190013325b2c0c1f23ac61ebf6875640c7f56c78df4937c883bc9da38d1f709a6df68026d8af0ba51f1f2c5ff0806cac1a396a7272a4065660906658a25c570c7067d1972417142b0b6bc244b8e52b1b7a4b915832486f8a7486230cc63a981b195431448671e71c38527effb2768ce1574baa6a23226563794e714c1c7f75c05fc4b2630a47ae24b2a1d3141516941d61a58b609808612064881347b4765e892438eaaf1c538e0baca4e6e1bb38821633a385b7c1cd285b6edef2739a675110387e6ec747016a6a1007c87949368d31cb7a63a50e210ce168c825b86695223fc1b8789bdc89545a3394f9c1bd943094546f640b0b129c4e78a9ca0b8107bb18923ce669da26268d57c7eee01f15d0454cb1cb7af05f2e787833bcc4d4996312c82714043907b30a8d250ece8aade970cbe463494e759f463131c12b636503c747f64249d2687b3301387620307503d9562e5a033d86eb23546b83b0f70937fc6b70db7c1d519fe1ca0b93137a41d89843a635fb5c389d420558746be267440e8aa996124ff97b163eb828fe492e96a367ee7c22e2f4031c44688935b0e6439776e34c2c525a31664386a5b6040116d487846f538e0da71fb17a750d4b0b8f4c37ba859810a8aa15b573eb029c8f7052124bcefbc48dc60743e7a455a0c4cfb7c57847c50afb1b5725d735d013441f7b1b43d93840cc4373dbaaa71035ae110955d9cb60ba5b5de5999b082335ebc1d3d5b6a6681e2e4714423b50d30aac28a4006869a85941247f0a8f8da236421b761315b6adacc513f5ae525373cc57482dfb15286546d106925adbc71f4cc1bd33641cf63035b7c02669ced392b0b8c70e776a768f859c04e3b1c1f05d9a909025f075bc0021b091b0bd29ae7e7c787a0a570cb99f9337986d714595023b53147913b72f7df50b6421319825304af61ee75765f44581eb0378ecc979f81950437ba7603b751dbcaf1261a17346cdf645a65cea895320211089a07101bf617b731e38a8114335e3267169d060a9c09e7e829d0168a21bc580087554a17688cd742ef7e4a2510779b666a2b613bf81d8060e06385398babcf2ce1ae7abd2e66ac06142a2f73598ca2a1ff769923a0aabcc22268710c0a2143b96269bbace0f69a25142bb9f1a0c05266003f7a69ab405dcbb3360290ba355c8c6f5b1035697865cbecf8a20209019ea08b6416c86a098af524a2dcb9b7d16253960670ea96897b406c5680b14de691fa5305405f35048865e549c3847b3bf01856a15a25dac28c5afcb6be3e8adaf3689a0e5bb056b000a1308ac643ccd94c28711acc4653b52cc87c7d6bde2dbac47678ddf7101484379de232cae6975b4ec02d6a043ae14a53632ab428666fcd98b9f702432018e783ba3c7d32079a5ce9378621018b52de73f7eca9c8577803f14c0e2c55f8c988fd19353cc4c729f545d3203be1374caa91945e21ab4baf2a4083a91e3d58e89270ef4560669d555fb0444737c6dae111cd1e18f55f1780ca0bb8e7c1ac3e7168d0c9e4a515ca4f11c49c967bd78149af3abc3e692c4659b30851eb86ab41d575021fb146d60069d242569d111e510b731724e6eb456c5428754db8903f31b365c7aa9976c13210438b50ea3e778e5a60e25f85c42bb10b24b72bc820300c91547582fee167eff958894e4898c198a4f652f871c9b03234f98e7a237778c679b757db3225394a356991b2810cc6ca5c7ab888dc9e59529f3498ec40efc47051c03c75225187da36d3daa9f3f0977da80a14a13a990ab20dd415c2036003ffab31b7aa534ec7cddc40a9877ad6cc61d07b7b1d8b71db1d1a2b71923337532e464853357400aca0f6a883ed84b56e77b755594b7bef178115b18c68175dc2c390d462ab641ba14d80b1d36cf290c6afa532d8d7091da94703cfb7334d667f0e3150b60ae8bfcb56dd40e3a58bd4d09a5a3e8a167841118a51490a126d6b85ee90a7f3d5432f59635b1d5587821818afb74ce42569751512c9840f364b6370cb318c1677a304be1a2938234b56bd2632f768a93750158e844df96c720007228c2829f0b779eb3382eda6d6338f166acd09e376826299b77b781250c2224486ef23d424bdd847db13de94d97a88d5a3deae31c246f5f04d0c7d7f337859e024764337a08f25a4d0a8a41c4f666854e9b13673071ceb2fd61def9a850c211e7c50071b1ddad -m = 0e59f6f9047c784c1f00b24454aa4f1bd32c92ae7e626549972f86fab90e7e89 -ct = 9ced918ed9738954a85a7f10936c5935a0807c63cf8077c4d0399855a92c3ab5f3d305147d7cc4200dad4b74e1b47485f1f73d3d995ebb046b4615cc77d490f435d123ea51b679c1e11a6521d299ad97702a7fc6a49af422d97ffed8ba18877e4d91c0506e40b8738032a5d652e28a7a9b2bdb563584543aae819846a52b4f29efb6f19c16a600d777bbab2006239d81d58e8434b2cdb8a0710f3a93f99cbbfd0591605aa588c54347ff1ef459e950d214b969523d30f67aba7ab8a3f4d30aae56ea094b4678c667753539bb6829d0ddbb9939a6c89357b5eb938c080641baa14729d3b121e83b00465802698330cf5e5fd7d3dc4226520c32478f4e8b10f62ba301eb33ad74558418d59cfcc812eccef16561adf2f3e7d1694221bc0a38bf06f02c010c9a09d62ef29b40b3ade9fd8265adf942c67834155220e7f1f3c324bdf26a1251c7c5326198ffe9cde871b8ab46f58562daacb1aff664ea7eb96dda890a9113293ce04c4a9df05004704258f3a91e3a9bf12c059c3f3d6d66fdaf8a9315ef556664ccfba77593a4889d1136869480f0fef97d517c954752bf064692b438c4b46d51a99fbec6ec32e5e8d84a46980bc0528f0ae629223a016c5e3e5c6905024d74f0a880481f7de083017b9eb87fcc9a720afa8657af04bd808bf3150c47ee22208fe2f5eca6356555f83127c28566ff8795cb594d94c3fdedc6e9db623dde0e9a5d6080de7d9555f43729afc0420e3c121506fbfe8d6f732b7a37e675788957b11501bc25be554b7ae895eddd344573d9b5db72aa00504b2bc2d4f3f1cd1d081f5ad2e2cec57e8fe4a496aa035050fba92e23c0918774b321e6acbc26d81d2c3b52d00a5826fdc7446e5386baf366bcb0097e16c0410255a728b108f297e1c576698b30565b5cfe5a899545b10d62aa4b9969dd0fd2e28960fbfb1ceb57a3228b6a6f3eecd9a752a788ef2c9afcafbbcfa08c555cd206b53e731c452c04f53746cae8f050964e81ba30c175e56c2e8f469845441f1b0e49afd284975469321894c1ab54bdb157234a32faa27c5c7c0fc16b1c690fb6e5fed60d09bd8c10d2ba592643e60bba672922c7e44d20e630dc2eee8cd2c92d09033cb3199f24880dfdb23fcb3c31396b4ee2741da7e795a77e06463b433d1cec442ed5e1afa41b10bada64e20870d036610a74d113a85a5d3515242e00e57fadbf43321955df8f8b0f591cf40f0b31a4c0a1c69d1fab96ef17e14be052d935620daff846bb042a4c7d2128c7555c900bc0c5e254ad07d05c0a8ee332f2116034332bcc7e84e9b21effe2186144a69f2965f8f965f3c5b0a0071bc1f142fd945d0720c6ac864ed2ca332b683eb9520a18bd62a6874f832212d1728c7176a1581d783521aba4d0897c1521c74a0a1bc43ddf111e3d8419b227408b392744c2f003a331fdfef520be7ea0fca464bab8b6acaf848e782ce8e24f24c87c72e586646629139447321c1d02b70da6c30617543ff93241336369c6902f1021c5bf22e054181292ae95661998d20ec03d1cf8eb80204ecf438eaa85b4c9a3ef9a0b6de5d5fabb07b9c2387764fc50989bffeec8fc2cc8737e8d0789f06a58fea2b9432769cff501f889a94b19893c16480214f87cde8a958dc18342eab1b811f02f5c254f50a3504eb53dbcd2f58e719b7377afd4ea7989806cc685fd31e2cad8cb06386841a94a38bd875dace1b8c926015829de740802f8566b5e60274e3164e3ebad9890ac960fc4a6cffc088b0dc1c4083fbbc5c26def414bebe789fcb51dbb96f5221d9a1cfabc9c63de336ab8b655765503345ccca0da9128471b4e207237253031d515dd3d6f82173ee0528ec097dcea1f6161d11bf5440ca97a3dabcbf69465e64bbffa5d1b0e825c9687bab16ade468dea65d9880b155fe2d860470d04485d47a1a2402aad2d73b9e586036b44ba750bb4e8634c669c407743a163a804970dcf02fd952758b541ede109ad61d6825e90c90dea51d0e928d893302169c70895fd888a7819432514ec996991fffe1829c14993caa1ec9b444bf72cc4a7964327851d64c37b0729387a7a46cb5d893d2ce3b6ce764d760b41c4e89e7d8f41538316d0bfa7a9f13b7dce644c62e10440baa406109d9f7a5486f983e799d1a80675f56d70c53b7f616c72f207f3c5579ed876fceefc2e24d691dac78f7d7766fd98414132485093d9 -ss = 2be43591adc5cd2f992823123e497907fd235cbfff86339de365ac045db694e0 +sk = 4da026f053c3ec1712c7f294dc891e26196894a1b620f97429574edee9568e113feb564d89a1883d5a0329929ca57ac001925c8d616791842dcd291627d61c7c2c3f842b547f074f46f082a06bb4282323a291c3cc07904079125cd5a854168d83ba8ab6b160b5e1881d25403b297c73048e3298287f51529a8ba2deda6b4d7665a373171b03b1c0baab6482c50ca3a028d485ca8491b1b73767ec9ef8874a54d4ca414895d2e49fb2ac0cc80c9d248b97ddc51d00a10ca3324fa8a6373a99c5dc1bb7a389cd9a3c6931fc7bee05abcba579251b742f46383afb48faa514319b8f9a0491f9212da443acf9b9ce5b29a6e723a4eafba5c1a7b3e017870fb35dba8a69f1f7995ef2aff817907de5c66899824889a760ca4a38a57b3afa880a3524e138b37487b2ee7332d2689f99a5a3748020fbca43ed6045a5aba65f6c67783cb74c217ba987ad381938b4a651b6908fa4f18e6d073a6992160438ba3c9547e4557e1e724192414c912648d25907bd8b069c845465616969161c483927f5d610c815638e242323465839d36a8149bad494b71f1336a3f0a954369d4265b6cab935f06694c482b500cb77bb32c4d805a295a692648a31611b206d06c2e86c61675577053a747bd3a748f452b480028edcbeca8a10eb843ea8a71e21e9b822d80860764d8c5a77ef0222f8004c902c832f1a344758776eeb99c3ec8b24ccbc03f5bcbe59027fb424e6c580cc3b41c041984ea552bdd6396d52867887430a2534a44ba544a0b285c061d7d6618c76945a5c3b29bbbb09a724b1ac53e5954f66708c8c0b2d7da57c62fc8b80e73d737741f9141f7164b4eac08822a4c340b5b74cb5c2d407b9d63365c55c14c5e6ab43a8bc68908c34074a9bf4816e000ddb464656c379fdd829b6961c22e5345674243ca64705212d52e616664587f90947feeb4366a7aba98b76d9f79a1ecc4bf50571a07cc57e0cb1af828bb26263a8a898bf3b7b0ed07988e82dbe3c0405d46b1cdc37600570fc37ad9b2237e3032bab1a0ae420b6f011a653987305aacc8876ac4d014b7e619227b8b35ba2616c9575506870fad2585549a2f902b185d7a61139c027912ee2a00ee460328b16cceeb259149a0881f8152d563bc0243302d29fb98cc57a45369517640bf0bf63a555a900269878c4ba567f8d376176d6941d34957e1373b7520483394c3606089d14aee0917059227bd848bb22e088def4194bfcb36eaa81d4da713e37be79e52f51ba2c32f05d06405947838625e49f5f6bcda5e683d014a12fcc0c81601b52f80c39b6659606a8fea82c62e061a939cb4451869922083268561e16381b026152170104e11f30b2399f4097b94078adc66f23f85ba6651e861237700bcb1ae92e2bc652cbf19bc0fca0d7f7577c9c96dbc9b8b07b917f258c15661da17621db1287ebaa7714a54052fa660f034f227198ea14c2467b46cf9877f4e0c29962992b560a7db93c8ec13343f734d86bc548246a57473d1285463d0942f288245d933ddab7a09766a9f8c178ef539f9ce9a0e97364cac0366b5b08b4c1b081e01d198c2aa5288617a50019eb3a40a300af538119d733f2544d18b9094f387a3f4c17baf01523f1453f68a916436c8e6a80cd05472de7239ae15dbd52144a9609c1017e88c1a3fb301323b060242ac803133c9bc50f67c436de804e7e7b54a3489e5dec22c83a982b45160108535ea7b588018b0d3b0ccbb613a0716eaed8b61912073cf728c747bfc79741616750b8373235408aeca1abf7e09e72cb181bb09e8c31010e3ccd05db0f487c8a29c4c822c59cf447124c973f57392865ea82af9a15382bb68a708a6ce92e24484eaa252f97635e60d4bcbc8a403dfa166fe5c6a8500332624122a15e25d5041de8b88ee92e1b1b0762734e63ac80ce9227c43980d8bcadfe4caa420045b26173b6b953e3c97c7f655244d534b2963fabd264a33466dd79440f4361c8c77f1afa0a8f31c183a369993494480cbf7d13308bd58e78d88a53d45044026c7b620e0e8a7124b957f106aee02598ee190bdc68c53af48ebc5436adf0bf66227f2089aa4cf461f2d7bb990c3e530872c9d157a839a15b4ace0b2895fdda50d3caa18ee60fa11325946a689e96b651c6a9b4a41d0e83238d52990b5520f21c268ba428266b1dbf30553a10aa6c5118f85ab9daec1c521639b686bfc4b198c511939a039982cc774aa074d391bc5137419a22892005114f3132f22497ebc5316e190013325b2c0c1f23ac61ebf6875640c7f56c78df4937c883bc9da38d1f709a6df68026d8af0ba51f1f2c5ff0806cac1a396a7272a4065660906658a25c570c7067d1972417142b0b6bc244b8e52b1b7a4b915832486f8a7486230cc63a981b195431448671e71c38527effb2768ce1574baa6a23226563794e714c1c7f75c05fc4b2630a47ae24b2a1d3141516941d61a58b609808612064881347b4765e892438eaaf1c538e0baca4e6e1bb38821633a385b7c1cd285b6edef2739a675110387e6ec747016a6a1007c87949368d31cb7a63a50e210ce168c825b86695223fc1b8789bdc89545a3394f9c1bd943094546f640b0b129c4e78a9ca0b8107bb18923ce669da26268d57c7eee01f15d0454cb1cb7af05f2e787833bcc4d4996312c82714043907b30a8d250ece8aade970cbe463494e759f463131c12b636503c747f64249d2687b3301387620307503d9562e5a033d86eb23546b83b0f70937fc6b70db7c1d519fe1ca0b93137a41d89843a635fb5c389d420558746be267440e8aa996124ff97b163eb828fe492e96a367ee7c22e2f4031c44688935b0e6439776e34c2c525a31664386a5b6040116d487846f538e0da71fb17a750d4b0b8f4c37ba859810a8aa15b573eb029c8f7052124bcefbc48dc60743e7a455a0c4cfb7c57847c50afb1b5725d735d013441f7b1b43d93840cc4373dbaaa71035ae110955d9cb60ba5b5de5999b082335ebc1d3d5b6a6681e2e4714423b50d30aac28a4006869a85941247f0a8f8da236421b761315b6adacc513f5ae525373cc57482dfb15286546d106925adbc71f4cc1bd33641cf63035b7c02669ced392b0b8c70e776a768f859c04e3b1c1f05d9a909025f075bc0021b091b0bd29ae7e7c787a0a570cb99f9337986d714595023b53147913b72f7df50b6421319825304af61ee75765f44581eb0378ecc979f81950437ba7603b751dbcaf1261a17346cdf645a65cea895320211089a07101bf617b731e38a8114335e3267169d060a9c09e7e829d0168a21bc580087554a17688cd742ef7e4a2510779b666a2b613bf81d8060e06385398babcf2ce1ae7abd2e66ac06142a2f73598ca2a1ff769923a0aabcc22268710c0a2143b96269bbace0f69a25142bb9f1a0c05266003f7a69ab405dcbb3360290ba355c8c6f5b1035697865cbecf8a20209019ea08b6416c86a098af524a2dcb9b7d16253960670ea96897b406c5680b14de691fa5305405f35048865e549c3847b3bf01856a15a25dac28c5afcb6be3e8adaf3689a0e5bb056b000a1308ac643ccd94c28711acc4653b52cc87c7d6bde2dbac47678ddf7101484379de232cae6975b4ec02d6a043ae14a53632ab428666fcd98b9f702432018e783ba3c7d32079a5ce9378621018b52de73f7eca9c8577803f14c0e2c55f8c988fd19353cc4c729f545d3203be1374caa91945e21ab4baf2a4083a91e3d58e89270ef4560669d555fb0444737c6dae111cd1e18f55f1780ca0bb8e7c1ac3e7168d0c9e4a515ca4f11c49c967bd78149af3abc3e692c4659b30851eb86ab41d575021fb146d60069d242569d111e510b731724e6eb456c5428754db8903f31b365c7aa9976c13210438b50ea3e778e5a60e25f85c42bb10b24b72bc820300c91547582fee167eff958894e4898c198a4f652f871c9b03234f98e7a237778c679b757db3225394a356991b2810cc6ca5c7ab888dc9e59529f3498ec40efc47051c03c75225187da36d3daa9f3f0977da80a14a13a990ab20dd415c2036003ffab31b7aa534ec7cddc40a9877ad6cc61d07b7b1d8b71db1d1a2b71923337532e464853357400aca0f6a883ed84b56e77b755594b7bef178115b18c68175dc2c390d462ab641ba14d80b1d36cf290c6afa532d8d7091da94703cfb7334d667f0e3150b60ae8bfcb56dd40e3a58bd4d09a5a3e8a167841118a51490a126d6b85ee90a7f3d5432f59635b1d5587821818afb74ce42569751512c9840f364b6370cb318c1677a304be1a2938234b56bd2632f768a93750158e844df96c720007228c2829f0b779eb3382eda6d6338f166acd09e376826299b77b781250c2224486ef23d424bdd847db13de94d97a88d5a3deae31c246f5f04d0c7d7f337859e024764337a08f2195927b10c3be5f19fb055a71cf9610fdc0f03e23fd09eeb8c63b7ba3c0fe642 +m = c08ebd7cdcd4dfc51cf41db75f31755f2b3fadb6a059499dd431eb931e348143 +ct = 62fe883bad9b3947f3e21aeb92bc4795541b3c5ef93b683d2b73c804b9c3e0afa4e67d8c8da166ef974b1731d819a3233de8e40dea8e3abf08a3ffe43166ed206c505010461199495c90dcf8555e9744b78849c2fb454afd8e2e0c3ec7dccc21b72397505e296ce242d9eb689b4e888109d749f20190e3e74bcb5dc2c57edbf2f77ad7d1bed77fe9806cd0a8fff5f532633ef1a73dc8aa1ab8ce5ad9231ce46398b935b77d1e044271e974c3771b73ba1eb69f1699a69a341e0d54d73054326d6f65c2b4408b7e9d30ae95c40145e5d7c9a4ed541953b5eea83404ec1dba8d0649be0ea0144612190f3d6c5f8c102a81394e0a7d36159ef54fa680aaaf1e28ab7da7d99fbff4fbad441eceb9c2b0f5f8aa228fd82473f0aab82cbb8f9d46de1c845d69e1286d816cc541e507a2fc93d4a467ba78e5027cdc7201d20716e2f3a5524db0478cf4e164fb556c215ef988012ed0640397f8202713a42de60387831ea4df2bc88a00b602e29d31a3fd14ed989b5c2abf8834daefa35b229df4fbdbd262faf060158afa910673d3a97c736b7c1bfe511f412ada15eddb4f3d41b0314784b5b8ccb9fd0f6d3c7d5dfff976c3c1d5bfd3c058e136fe66b3cb0397af8a0c9bb5048a403d681da49f232c4ab6dc88b5e12b53a03745a9c26ad49d0368fc9b900a6d09b2c33df0a46fceac677caf4c8f6a417c88bde2c989407c1ab532936fab7ddc1f59fbb2edb7ef7f14914271ec18a2422715180386fa7a5d4ed8ae49226547db3a2fdb7dc1ddff2ea94407f42beedb6c18d0d84475f1f96fd4f4407463aac20ecdf6e88d189349c0bb52c45d18cc79d91f9adaba248cbef8319e046123d35673887e7d3ce8ba686b1ca6f3b5fdf674b66c7c7042094be5107ab48984b1709a331d60179ea0dddd7bba1a72af4b9fedd93702c5d9b7489bec6aedd3e1472ab7ec5ff52c31bad2e58d93e6f2b3094fdf99029764c8703ce9704126262d287ebe3dcb2017d73c8f5b48842820bb5777de1d92596a75abf24ca67549a298648957fe3eb4c81d792185c396cfc4944728171c52d3fdea080a480f0c9bfd98c74a8c2fe64eddbf7b99db5d9cec84080ad66004e8aa7a799104bb36a434ff994e769fcd25e1c6163a4d691093e90dadcc06fb2de700456c765ce712115ed6a9b1675dd6701c005a5be8d36e17a319c941d72797e8455c619556fde72a5923756d209e1410281e5f2754397e6b46ac10a53c4e180765e84095389309193d90f2c407183739f5989c1c9e35b16ad35f746aa3ec8fc3057c8e99021b11f10ce91c08813ac92994988265f13f3083e2c0f54133d7e023216208e220f74f5a0ba8ecd27c215be04fed1b898b379c664a6015ed080f1b20c60e1974c8e206ed8b036677bcee24334f51e4b41033742bd323e1879d5356834160b466765551b2632f1f563d63da2a62fe4c654a3b956adfb0993fc4b2ac7c9e819e30b108f39f6b8e0423f8829a41e46164b3daf9e3fc8127f89c856363d779b41d8b7a5cb5ce48a6b078bf370ee0f7db7e4840edab7ad0d00a0cd69c5a274795f35e1ce30ea541a6c66040176ddc301f90cf4b5174023598eb712663ce9fd674cab591a38dade3a736cd9727eee3da75a35ae0552d06582449f5a40c4a7e085b1a10fd8415af15b14a24e6715c5149afe984a9326b55ade5a8d3ab304efd5f7c30f74471fcc2dafcb83c4bc2a908297acea46ec83319db63162c186c26d98ad41406ddaf25adc62e90047716eba9c4bb54c25856d7805e2db83097bfcb8f41d9c41db2907ac0678d65843f590e8aa02d08b49b8642bc84c36b081cf1c52bc5618bfbbea5de7ad066435a5891b3a81e1687104ece89de97ddae982dc972f08a4d98901414962deff3317138a4f6db42c7deba1a9178545e228a78cdf335b06f4d4f5e19f715c64ea222f84457ea7f07ffa9b541d0ab5439920e64c5d6d5eed40751fb64c7b5819ca3a296f55977a59a05bd4257f7dd14b708676d8bee717cad12f346d8d45d2aadf378b331dc564df328711371679e6211f39253c324663790faba869f67721df18d51063d56e839850f7be72b10ab73acd5137e922aa613abe7a2bc98f40d543265a3000fe65b8d32801a5d5c086c26f68947688660584bf4d42053aa0a23e41ec095dcf45032b6268855770682e4a77b72488cdeac655639e2146b19c6cdac0c8d8f2e +ss = 1c1d8892d74f606d457ac58cc37a744b91eeec09ec4ac19f26d4241bc5386ea2 d = d8b907b34d152ff8603b73051f772daa71eb902c47b7e2f070508269d757e02e -z = 36b817736cbc5f7b1dd6eef5fe6332fb1a598f3871e5470d440fd2ea631da28a +z = 7613c090fbe4afd54869ce826b72f3a5ec823d9a1c983a3d31b2387ed6b0c613 pk = 3db4bcf2f3231e1aa3e81c7336e49c4d760454729e9a47c4550062afd77d971228863c24f1881d589c111b38a7e3f08788298e5cb26ccfe7a71b171fc504b86d4526a2c0a3e0251710a21fdd68047612cf215a46f1cb3d5376cdba14829ff67f7d4704f199ac398777c8ac0ed24c4f00715c976b0ef18a83dd177367078b43003c10e588dfb9c7c99c5164bc14755114d5138715721eb3022cf2d016f97011f37502c44a397aea0a7818546c831f2073a4697aa878d00c4b7ab8312233cd3880a3493401bbc3d8ac5ee715490f89474a8a9e6f078293e11e43981f00a25988f076e20a7d69e25fbdf7030e8404ebe35f530a8cc5793cf3eb1aed34b3ea742f4fe853fc8b7aa77a2b17669a116c49a0a114770b14801a62868839ab199e3c02c810cb6e0489820f25c524969a57172811089c5c81659f6859a1e5197ca36a33da0e2ec00cd035b23973448d12b251793da4bc9039b11c4312cf3db1abdea0657467885191334fdc8f590973b201addd09cdbb545fe66a0aacf679f0b89d7914268084888d358b767a8475e85da48590f0809e0ccb2c7d286f12fb8c6fba2f1b16cafc97a0b9863b107826c197a7a6bb0bcec280c526ce18058e2d47bf92e7bc0d4031d4c8c8c8f57bd880c8b12c556d750eef27ac96fc47f37c2c26468a8d27b2bdab5483f241aad905c3a76fd82308d2938bf7a070e6dc56e100b99dba0e46f2729a52a365d732965875b020b82ab23de8f8807442ca89b31fcc76162961564060a119002b116a510b0c2e1f301c55992bc48519ec5a1abd49a4e9da97bba98bb4774c0e6b939ac720cc22b2df733bcb128c7d4165cce67710719c1c978cc49257ff741ea1c3b5a6479c4935447987bd61d99c1d80c833f671f6a44be835a8d8d733adf4af4dccba087c4b8681a8b49a863bc21887a0b1d50b05ae1513dbda0960bb156be96a1321b553f21aa0e14295d00b81096e1c557ad6c949bec43817a836f09b0ad0803ca072b488a1627ad2c017013492a955fc829df7d800c99b1ce02b1d35a68d3269cb322b4d66ca9ccd279fc738c4c3910a8a4a479bcba7b1a6ca8745505b80236b63244d54942305c3c0f89bb4e771a5b09dbb072d20417f469b47cb8b64380b1a99b6a83cd111a881af60ea3ae5a314dff60841592f46a39beb80234ea507b1c9233b898a33208d8c936294738cba7287c5ba7f2ab0b7b63a0d475ca3d6486858cc0de5580e95c56c635825bdac834c71337916055d1c9490e7977982945941b8ff196ba5c23f92553f9a1b962a56ac9498b69ce0c9393621f7a662c6074c9e93b44d099a0003390748547e10052506ac88dbc1d3523a16b0825b4656552383ecf067b2a423bd0aae22ec0971e52963241403438c3c254724e1565ee569b0d357b416bf3d770a729a277caba335519724b2098a107f3f4c1aa1f49796208e739304852c949debc717dc8430f23987d60f0a0a3fd5f97aae412907227fd2da078f1a1bf46c0b66e596839632b121c5eec37694809861541b223619850a368684863a34761b864314187989ab4c68d965b3cc994d734ec4c84afcc805a0f4655c61a8564c3577273d198184a2b4443a11aa05931dd1827c0720214eb2798af1a83678808913c9c6dc57eea4c1f2f469bca44aa8a8082cd4082464a9e6ac0a86da0d1e0021dbd3196b726ad9b43dff34cda455c7a51ca343f1af8ce2c580c581e4ecb1517cb36959114a481a0e73718f07a8eacb71a7c2beb2654fea5a7e01a6c02f183686b89ca0c775d0605e17225a655a544838a60f252412fa5baf353d2d264c4e4c2cd31bb4f3075410c220632b3d605c7431479f5694870cb1b1724c0363e470f1b8a38175c79fcc9ccb33571bf9cea9653722b5bdfad66ea7aa4d6252c8733cb40627485df64a4e872cbc574134c319cf1464a6b69a6318038896111fb69d306a6c47a393069b0f27911255e0306bc4ca2e93ae71336daa3a8bc0517eff101989f9c19bda6751724e1bf816d4cc7397cb5a57a14c471aa511e42f18e4937001977d063a4ee855f326811ec26c8662b5825a95780a3d031948d53337a45679f5c328573c109e5944b68c0b4d2b466fc48f921328d6fc74705491077987e6cc936e2bb69b534ea97acf85e60f2522a55c115cac8cb85e5a9ac9709046b442990cf89513930f122152632a3c3d7c15c8018e1c23aa33cb89ad -sk = 1f83902bbb77a97b032277079cd0ca70d09d57385ce5c1b3c08b80ed95b2bbe70c101cc1912b71b29b87dd08254b593d616a31ff4957c7c0c325f82024f6a7b125b0ff799fff47afa6a9a7055382bca08cbfba71ea1b530bda5a4548922c90c6de8927494370efa6c96780086bf585ae6534dc05344dc1941ef793eae214312a371ecccea680c1a166ba97e128064748269922c9a19cee4b8a669abd146491abe31a57b724f3a173740269a33309f651c934e09a564627896150addb8ba181cf2503256512b0dd5588f4372781f35cfc0328c0dac842a1b3f418b6e8c567f410568f2c6be8eac9bab558deb08389ba08bbaa50e1ec5dce044efe5830743402402a167a9369e1d281d37713eb656662600840409c4fb971c0fa7771ba53b6c13ebffcbb85aab3316a3a99a9ced8bc4596932b3d052fbb13a5cbfb762ad7a08ca4aaf33862b6325baddb0e56d395e8f92ebc7347e847956b471695c978dc2431ef7286c0e0a880f7871bb05160209900c0c403da599b988a8ef0a716a9535b71002b3bcdade60053f5a8bc66419fc907f1ea718b7bad6bb76fd3f710e6778587c36ba5e4c2d7796185bb72c5fbb839b6c91119ae6c954e9b66c3edb500d884428be2c7cb6a6c86b807a6059739e23f70433d8a7a4aa768975aa6b0c3924cc8827cfc731a464121090a685820068019197f489315a2274a7133422b2968830271fc94b1c775c5a21e3b07bce543b32f00b7250cabd0d04a2529347848830c975261a54717324533ebc0ec627f2064ba693a9bf9a16fce87a8d7270759a06c00eaab71a5cc25034120445334a39d63baa2ab3254d77a921209750f6869e6971d05da1e1bb29cec9cb7b4962370e5c139ba472a75114b28bbb8e7069c5a8201b730db571c1ee0b10e1c42b4a97fb7f7ae54670d12859d68199443157ddea85760445895e7175ef8bb919c7213f427301c4f6561afffb0b03cf1ad05613c52dc5ca71a74545abe77d239576303bc9678272873d9b28f4a4aacfdb46940f59b0a82a75642a0cd794d63d03d43f65e753a6aa2b58e0cc664a48ca3d8a3b18c7b05cf8293d3e23fdfda93506c831455b648e2017fd866c87683ab307c6fd9cf24212509d777f34b0618776864ebae9fa5318e739692c5aa86648d49778b67f81347b434ccfa990ee9a79de94c94054e6e4a8a152b5f4757b89f075a27ac464cd1801d02ab64bbba4f932c0003458ff73011282bf444961c54c5275408c4f79c3c553424aa4aa13a53d59b1b785c0ffb686fda185d5438af5c494d98b80381c821c493bc0e7797cd1995db681ec9e18859a9229c497cc251af12d9cfebc6a19c599c9d364e587c7d32245145a60ceeb54cc7ec5b541b71dae959c800a747eaab53f8cd24365c91f53b7b0b9d3630361d41ade4c82c85e04d8ba243763b3f9dd65d60921f962337a3421051d36889253a423939abeb0ad962ce1e1a9931c960d9f4948723ca17a731adfb4834615693f622470225cfa7b036b931a2240564cc35e59a7acae48707491576cc1410a304e0885534f577692c5a237344a5f674ec7c45bda3242d70b004d5ab620ca2b1ac0a56c0cd5b942529b054e0f840e3c1837e0053539b4a3eac9c6dc6283876c745fba8d505681b923e315a99ed34b04e558be2373cd3a07dc6a26ea98136bd197ad8cb1e695544fd93a23a29577e26114e5c8b4257ca7ec5a467d53fd9e037386c933799bc3ba921a50cc98db79f1f7b96da7a5ab4604498a223ebbc27aaa87ede5b4df226c6b5c382e5ea3545e50b9b0a7b30d15c77927713ba9b5fa52a64985128530a84003b1b867a6bc87f295bbb15814ad3bca5eb3240f72894f147092387cb072692bb62161ee3ca1f75ba423653c21582004d8c3ef207f55746e7338cc94c45ee5928702559f0c783cd16676a342ba9a652962c50c030983172a196ebc901a13ef6472c7e67230629a5ee8917e965cb0ff990dae8cff8d3a7f361c31130ad8cb43a9ad48bc46c51b9a56722c34f5681c71690cf5b746b0102c635171e4f1aa199fcc38f566a0275cef828534746ab958abaf2c8814b15961601cf13436ade37047d1c5497c74aab9a0015218c8a41c719328a0a272d96d63dc946124441ca20a8a30af11f07190639993d4cacb58c46754147313db4bcf2f3231e1aa3e81c7336e49c4d760454729e9a47c4550062afd77d971228863c24f1881d589c111b38a7e3f08788298e5cb26ccfe7a71b171fc504b86d4526a2c0a3e0251710a21fdd68047612cf215a46f1cb3d5376cdba14829ff67f7d4704f199ac398777c8ac0ed24c4f00715c976b0ef18a83dd177367078b43003c10e588dfb9c7c99c5164bc14755114d5138715721eb3022cf2d016f97011f37502c44a397aea0a7818546c831f2073a4697aa878d00c4b7ab8312233cd3880a3493401bbc3d8ac5ee715490f89474a8a9e6f078293e11e43981f00a25988f076e20a7d69e25fbdf7030e8404ebe35f530a8cc5793cf3eb1aed34b3ea742f4fe853fc8b7aa77a2b17669a116c49a0a114770b14801a62868839ab199e3c02c810cb6e0489820f25c524969a57172811089c5c81659f6859a1e5197ca36a33da0e2ec00cd035b23973448d12b251793da4bc9039b11c4312cf3db1abdea0657467885191334fdc8f590973b201addd09cdbb545fe66a0aacf679f0b89d7914268084888d358b767a8475e85da48590f0809e0ccb2c7d286f12fb8c6fba2f1b16cafc97a0b9863b107826c197a7a6bb0bcec280c526ce18058e2d47bf92e7bc0d4031d4c8c8c8f57bd880c8b12c556d750eef27ac96fc47f37c2c26468a8d27b2bdab5483f241aad905c3a76fd82308d2938bf7a070e6dc56e100b99dba0e46f2729a52a365d732965875b020b82ab23de8f8807442ca89b31fcc76162961564060a119002b116a510b0c2e1f301c55992bc48519ec5a1abd49a4e9da97bba98bb4774c0e6b939ac720cc22b2df733bcb128c7d4165cce67710719c1c978cc49257ff741ea1c3b5a6479c4935447987bd61d99c1d80c833f671f6a44be835a8d8d733adf4af4dccba087c4b8681a8b49a863bc21887a0b1d50b05ae1513dbda0960bb156be96a1321b553f21aa0e14295d00b81096e1c557ad6c949bec43817a836f09b0ad0803ca072b488a1627ad2c017013492a955fc829df7d800c99b1ce02b1d35a68d3269cb322b4d66ca9ccd279fc738c4c3910a8a4a479bcba7b1a6ca8745505b80236b63244d54942305c3c0f89bb4e771a5b09dbb072d20417f469b47cb8b64380b1a99b6a83cd111a881af60ea3ae5a314dff60841592f46a39beb80234ea507b1c9233b898a33208d8c936294738cba7287c5ba7f2ab0b7b63a0d475ca3d6486858cc0de5580e95c56c635825bdac834c71337916055d1c9490e7977982945941b8ff196ba5c23f92553f9a1b962a56ac9498b69ce0c9393621f7a662c6074c9e93b44d099a0003390748547e10052506ac88dbc1d3523a16b0825b4656552383ecf067b2a423bd0aae22ec0971e52963241403438c3c254724e1565ee569b0d357b416bf3d770a729a277caba335519724b2098a107f3f4c1aa1f49796208e739304852c949debc717dc8430f23987d60f0a0a3fd5f97aae412907227fd2da078f1a1bf46c0b66e596839632b121c5eec37694809861541b223619850a368684863a34761b864314187989ab4c68d965b3cc994d734ec4c84afcc805a0f4655c61a8564c3577273d198184a2b4443a11aa05931dd1827c0720214eb2798af1a83678808913c9c6dc57eea4c1f2f469bca44aa8a8082cd4082464a9e6ac0a86da0d1e0021dbd3196b726ad9b43dff34cda455c7a51ca343f1af8ce2c580c581e4ecb1517cb36959114a481a0e73718f07a8eacb71a7c2beb2654fea5a7e01a6c02f183686b89ca0c775d0605e17225a655a544838a60f252412fa5baf353d2d264c4e4c2cd31bb4f3075410c220632b3d605c7431479f5694870cb1b1724c0363e470f1b8a38175c79fcc9ccb33571bf9cea9653722b5bdfad66ea7aa4d6252c8733cb40627485df64a4e872cbc574134c319cf1464a6b69a6318038896111fb69d306a6c47a393069b0f27911255e0306bc4ca2e93ae71336daa3a8bc0517eff101989f9c19bda6751724e1bf816d4cc7397cb5a57a14c471aa511e42f18e4937001977d063a4ee855f326811ec26c8662b5825a95780a3d031948d53337a45679f5c328573c109e5944b68c0b4d2b466fc48f921328d6fc74705491077987e6cc936e2bb69b534ea97acf85e60f2522a55c115cac8cb85e5a9ac9709046b442990cf89513930f122152632a3c3d7c15c8018e1c23aa33cb89adf122b76b83c343de27054985634387fb7138f6f6f105cd4cd3f5b02698a964b036b817736cbc5f7b1dd6eef5fe6332fb1a598f3871e5470d440fd2ea631da28a -m = a3963ade17d69debbc358dda82c7bebe2c39d25b36813058e7a161542e3f8c2b -ct = d1f430876ae26be412e795d9b0e71adb0ba2d560e65f8dd92ed84ebec186a51b6d1cd734cc7ec0a1ec3304abf64050435d0b6a4db04d63d582412d7e46f051fd766801459f873dce6bf332649d0241bbe94134f7645858662d7c4d5605bd5b8c28e1ef49e4754142ec4c80c43230fc875a158e8fbdf695c252f1b0ff4a83ea5a123496d3d873408552b2c46a2f94c57f7febd9874eac6379d8d94e7d36590c4be2461dc7ab639debf641b53d4b2963c235c394cd6572eda8c3c185489bd22beeb2616a948d5ec3595b01831d698260c7a39c1618756364df166dfac89382e2309b51216e78f38b1d31ea63c3d0f0e7b06f1313efe07e1daa144c8b93e154b9a4a925186499ad55200e54c41e58dfe1709a9d2f8e66121ab914ee862ceca8fbe5b817c40bdffe6422477deaa5fb4fe65ad5f93859b055083b7ec00e7c0903e11357c9327f4960cad4fac9ceec48cf18114dd2cd5c966532a4d2629a6036d0bb486120abbf3b0173ce027a14d0b4a1a167c638d36d6ba0819fd47061531b84b0c6c3768f341cc2916f1768fb149f6e25741915d9dd7474d00b684dc6181edef9b29f1e65baae5f9c131536cc15987658b77a739ae8551bd4baae3b58250b5aedf929bbd6e260461897faabb5d1cdfcba9386bb34e2a5ce6b8914edc2af4a076748a492cc1659d4c1f0edbe7fe5e578dbce5fa5194791cfd417327f5d8d0222baa930f9e3ac51c2119d1414546c65b3e2c9d2e9c2b43cf80018ceebe0fc886c4d71c6ee0cd9723ef17879b47cc254f432ffb13c2091c70a4c6374f2036341d0038d382f6a00418ee0fbb65d984888effe7470d871552fad21781a40633326fcb93863fff29f1e20155c52b6af637c1a764892d24f81680b1ab97510c485dcc2bd530bc6ca7fae1030bc606876eb7e86c93f1cf4d851223502c84629331be8833f53c84f6e9d5e1b943d28fa2262cb7c49155e13e7db26755c5b17f30e9959a5dd80485f70c1e0446dc893e7f2b790e7512a34d90bd490b5c3add8bff20de304402ecf0315eed79f1bf051cd7cee5de21e3aebbeb5306427f0d120485ad795e0ea2cec0f05f1bd134dd814c724e372cc8940f455617323ee0fe86b67c9e7dc456de3b6078b9b585a409c7b1b844b07a2474b61d23d49677a3e7ee8f6d4ccd321fcb431ca90f2171e17ed29e1b38d3f577468fd8e56a68824a34540ae6dcc4be52e45782ecf26be9d4e3497018d1dc2a0d23b3d72424074e4e67ac4ea430d919caa4535ff749662d6959e3cb0df6dfb3d9f5bc2b299702cec4c609b9d94ebfef7eb62e345e1eff9dbfd95905c3a786ee0388b40314d423310b76c4e7b119e6c98a52a4bca528e2a4d916b995af2fceaf20d86a35930283889c2725a3597afeeabf398a6131d59266b41979504c415afd15cac5983ba279a6c967ce4a2ef1da0e8932abb86126ee9f1802efb8fe053e2896c15797462adaeac0957ce5931d947d53ebf7ead43f8b4842f74fa7c6fad3e98141e496e5c4673885a10044aaf431f229004796f772a8653af1ab550441ba313624a0c5cfb77a4d9c063b5f3834debc04e1c56a53c1edccfb3269e5bcaf95d8b268ae4c58752d4e803788548f02bdb55d54cdf1283d32218fc3fff95be098c230e3f38ff6531bb862c575351f6dc3e21c27a6385ddda04a95db3fd0a2f765a9dfeb3dc9b421ace630c4972d2ca83e968a47a00f555518ebae64c44144709a3dc442e1b98437be43840daa17498a6bc144a915b3023c676e9e574b5f9e3f1a5c5a8ae93b93ee2caa14d070100352362ad2477a5d4391a36029744c001ffc5438ba70a6781eb07bea521ecd0642f63dfa6cf7948170739ea1185514f13bf28aa95bf405b9dcbab8663f708778a5de064bcb36b15a4cecf8b9c8a70e347d8a199059251569f9d35ca01156c421e0e317b518b72de1c5c593e90ba0a2f0f006077dd08d57c5b9e03d72ecf89d40af80847281c59f502e36bfcd7058299aa08345baca5281a3bde9447e57ff0b5435c334af93ad217823b565fe1fd49b749135871991a17b96f985fadc69afd752220ef1e5ae4c4bc264f5429af2b6998d75c04cfe90b027404eb023be56a55f723d0790d96fda4b69fda40372cf17eaa59ac9f8b99017a83a11b39c150588a1f238af3ba5f3254111055f9864648ebe5aa5168d4a6552aedf1b9b4e43834167189ec6038c64832 -ss = 589b27be9d14aac5ecf7bfe7c79ea45bab8d5efeca465ca196d465ed34bd6665 +sk = 1f83902bbb77a97b032277079cd0ca70d09d57385ce5c1b3c08b80ed95b2bbe70c101cc1912b71b29b87dd08254b593d616a31ff4957c7c0c325f82024f6a7b125b0ff799fff47afa6a9a7055382bca08cbfba71ea1b530bda5a4548922c90c6de8927494370efa6c96780086bf585ae6534dc05344dc1941ef793eae214312a371ecccea680c1a166ba97e128064748269922c9a19cee4b8a669abd146491abe31a57b724f3a173740269a33309f651c934e09a564627896150addb8ba181cf2503256512b0dd5588f4372781f35cfc0328c0dac842a1b3f418b6e8c567f410568f2c6be8eac9bab558deb08389ba08bbaa50e1ec5dce044efe5830743402402a167a9369e1d281d37713eb656662600840409c4fb971c0fa7771ba53b6c13ebffcbb85aab3316a3a99a9ced8bc4596932b3d052fbb13a5cbfb762ad7a08ca4aaf33862b6325baddb0e56d395e8f92ebc7347e847956b471695c978dc2431ef7286c0e0a880f7871bb05160209900c0c403da599b988a8ef0a716a9535b71002b3bcdade60053f5a8bc66419fc907f1ea718b7bad6bb76fd3f710e6778587c36ba5e4c2d7796185bb72c5fbb839b6c91119ae6c954e9b66c3edb500d884428be2c7cb6a6c86b807a6059739e23f70433d8a7a4aa768975aa6b0c3924cc8827cfc731a464121090a685820068019197f489315a2274a7133422b2968830271fc94b1c775c5a21e3b07bce543b32f00b7250cabd0d04a2529347848830c975261a54717324533ebc0ec627f2064ba693a9bf9a16fce87a8d7270759a06c00eaab71a5cc25034120445334a39d63baa2ab3254d77a921209750f6869e6971d05da1e1bb29cec9cb7b4962370e5c139ba472a75114b28bbb8e7069c5a8201b730db571c1ee0b10e1c42b4a97fb7f7ae54670d12859d68199443157ddea85760445895e7175ef8bb919c7213f427301c4f6561afffb0b03cf1ad05613c52dc5ca71a74545abe77d239576303bc9678272873d9b28f4a4aacfdb46940f59b0a82a75642a0cd794d63d03d43f65e753a6aa2b58e0cc664a48ca3d8a3b18c7b05cf8293d3e23fdfda93506c831455b648e2017fd866c87683ab307c6fd9cf24212509d777f34b0618776864ebae9fa5318e739692c5aa86648d49778b67f81347b434ccfa990ee9a79de94c94054e6e4a8a152b5f4757b89f075a27ac464cd1801d02ab64bbba4f932c0003458ff73011282bf444961c54c5275408c4f79c3c553424aa4aa13a53d59b1b785c0ffb686fda185d5438af5c494d98b80381c821c493bc0e7797cd1995db681ec9e18859a9229c497cc251af12d9cfebc6a19c599c9d364e587c7d32245145a60ceeb54cc7ec5b541b71dae959c800a747eaab53f8cd24365c91f53b7b0b9d3630361d41ade4c82c85e04d8ba243763b3f9dd65d60921f962337a3421051d36889253a423939abeb0ad962ce1e1a9931c960d9f4948723ca17a731adfb4834615693f622470225cfa7b036b931a2240564cc35e59a7acae48707491576cc1410a304e0885534f577692c5a237344a5f674ec7c45bda3242d70b004d5ab620ca2b1ac0a56c0cd5b942529b054e0f840e3c1837e0053539b4a3eac9c6dc6283876c745fba8d505681b923e315a99ed34b04e558be2373cd3a07dc6a26ea98136bd197ad8cb1e695544fd93a23a29577e26114e5c8b4257ca7ec5a467d53fd9e037386c933799bc3ba921a50cc98db79f1f7b96da7a5ab4604498a223ebbc27aaa87ede5b4df226c6b5c382e5ea3545e50b9b0a7b30d15c77927713ba9b5fa52a64985128530a84003b1b867a6bc87f295bbb15814ad3bca5eb3240f72894f147092387cb072692bb62161ee3ca1f75ba423653c21582004d8c3ef207f55746e7338cc94c45ee5928702559f0c783cd16676a342ba9a652962c50c030983172a196ebc901a13ef6472c7e67230629a5ee8917e965cb0ff990dae8cff8d3a7f361c31130ad8cb43a9ad48bc46c51b9a56722c34f5681c71690cf5b746b0102c635171e4f1aa199fcc38f566a0275cef828534746ab958abaf2c8814b15961601cf13436ade37047d1c5497c74aab9a0015218c8a41c719328a0a272d96d63dc946124441ca20a8a30af11f07190639993d4cacb58c46754147313db4bcf2f3231e1aa3e81c7336e49c4d760454729e9a47c4550062afd77d971228863c24f1881d589c111b38a7e3f08788298e5cb26ccfe7a71b171fc504b86d4526a2c0a3e0251710a21fdd68047612cf215a46f1cb3d5376cdba14829ff67f7d4704f199ac398777c8ac0ed24c4f00715c976b0ef18a83dd177367078b43003c10e588dfb9c7c99c5164bc14755114d5138715721eb3022cf2d016f97011f37502c44a397aea0a7818546c831f2073a4697aa878d00c4b7ab8312233cd3880a3493401bbc3d8ac5ee715490f89474a8a9e6f078293e11e43981f00a25988f076e20a7d69e25fbdf7030e8404ebe35f530a8cc5793cf3eb1aed34b3ea742f4fe853fc8b7aa77a2b17669a116c49a0a114770b14801a62868839ab199e3c02c810cb6e0489820f25c524969a57172811089c5c81659f6859a1e5197ca36a33da0e2ec00cd035b23973448d12b251793da4bc9039b11c4312cf3db1abdea0657467885191334fdc8f590973b201addd09cdbb545fe66a0aacf679f0b89d7914268084888d358b767a8475e85da48590f0809e0ccb2c7d286f12fb8c6fba2f1b16cafc97a0b9863b107826c197a7a6bb0bcec280c526ce18058e2d47bf92e7bc0d4031d4c8c8c8f57bd880c8b12c556d750eef27ac96fc47f37c2c26468a8d27b2bdab5483f241aad905c3a76fd82308d2938bf7a070e6dc56e100b99dba0e46f2729a52a365d732965875b020b82ab23de8f8807442ca89b31fcc76162961564060a119002b116a510b0c2e1f301c55992bc48519ec5a1abd49a4e9da97bba98bb4774c0e6b939ac720cc22b2df733bcb128c7d4165cce67710719c1c978cc49257ff741ea1c3b5a6479c4935447987bd61d99c1d80c833f671f6a44be835a8d8d733adf4af4dccba087c4b8681a8b49a863bc21887a0b1d50b05ae1513dbda0960bb156be96a1321b553f21aa0e14295d00b81096e1c557ad6c949bec43817a836f09b0ad0803ca072b488a1627ad2c017013492a955fc829df7d800c99b1ce02b1d35a68d3269cb322b4d66ca9ccd279fc738c4c3910a8a4a479bcba7b1a6ca8745505b80236b63244d54942305c3c0f89bb4e771a5b09dbb072d20417f469b47cb8b64380b1a99b6a83cd111a881af60ea3ae5a314dff60841592f46a39beb80234ea507b1c9233b898a33208d8c936294738cba7287c5ba7f2ab0b7b63a0d475ca3d6486858cc0de5580e95c56c635825bdac834c71337916055d1c9490e7977982945941b8ff196ba5c23f92553f9a1b962a56ac9498b69ce0c9393621f7a662c6074c9e93b44d099a0003390748547e10052506ac88dbc1d3523a16b0825b4656552383ecf067b2a423bd0aae22ec0971e52963241403438c3c254724e1565ee569b0d357b416bf3d770a729a277caba335519724b2098a107f3f4c1aa1f49796208e739304852c949debc717dc8430f23987d60f0a0a3fd5f97aae412907227fd2da078f1a1bf46c0b66e596839632b121c5eec37694809861541b223619850a368684863a34761b864314187989ab4c68d965b3cc994d734ec4c84afcc805a0f4655c61a8564c3577273d198184a2b4443a11aa05931dd1827c0720214eb2798af1a83678808913c9c6dc57eea4c1f2f469bca44aa8a8082cd4082464a9e6ac0a86da0d1e0021dbd3196b726ad9b43dff34cda455c7a51ca343f1af8ce2c580c581e4ecb1517cb36959114a481a0e73718f07a8eacb71a7c2beb2654fea5a7e01a6c02f183686b89ca0c775d0605e17225a655a544838a60f252412fa5baf353d2d264c4e4c2cd31bb4f3075410c220632b3d605c7431479f5694870cb1b1724c0363e470f1b8a38175c79fcc9ccb33571bf9cea9653722b5bdfad66ea7aa4d6252c8733cb40627485df64a4e872cbc574134c319cf1464a6b69a6318038896111fb69d306a6c47a393069b0f27911255e0306bc4ca2e93ae71336daa3a8bc0517eff101989f9c19bda6751724e1bf816d4cc7397cb5a57a14c471aa511e42f18e4937001977d063a4ee855f326811ec26c8662b5825a95780a3d031948d53337a45679f5c328573c109e5944b68c0b4d2b466fc48f921328d6fc74705491077987e6cc936e2bb69b534ea97acf85e60f2522a55c115cac8cb85e5a9ac9709046b442990cf89513930f122152632a3c3d7c15c8018e1c23aa33cb89adf122b76b83c343de27054985634387fb7138f6f6f105cd4cd3f5b02698a964b07613c090fbe4afd54869ce826b72f3a5ec823d9a1c983a3d31b2387ed6b0c613 +m = 0727dc8abdf2f12fcbbfccc9c84b6dfad8e1eb346249efe569f2ace9d8614a07 +ct = 5b345cdeab98ba63ace249e9fd006bce658b838a731492e2409308e0936c81b3fa3b520620a01bab4b35e52afcd7259ac298df58121ae447784a26e18a2e7923eee8d4904529d3dbefa1bbc06610a9231023d17580c69574dc1017c8dc8bf8586fdcf557d0820bc1e25a968f98a6bb491059fe52b8891a5597998ca7f78d79f1f00344d19d328a95d5ad0278898dc9134dfe14c9a02a1a33de5bab09292a1d6a3ff554aaa8c1de84af24b5c6604390cb1f36b60ad203b7c82a2dc1ad3e5816a89cca03b2b42ede9fdc5987bea4ea9604b9a45244445ed01a8723efd4ed1839ee175b9331d28232de24952e6f466ce9f1edfbb522e0ce3a1921f5f5e809bcfc4d5861a820812cd3cfede3da5c2b539129c9ec6362609c0156ab2a6e4bd2cf757a3d406582d327785d76ac0932924075a27b292cad6a4131701f4caf5a1b9838641c1c200b22bb907be08f9897483f0e8cd12d1ea734aa11e271945432d54969c712ac66376bde377717d3dcc730a56a2b03f707576adbc2280f6139ade6b4add69fe8b884b989edd38b2315e0f3e6af5ad85f3abb84af3054dfe6c934cf79fb692a4a99eee9c70a9288ad325592d51404a09c5b2f4b5839441c323268643476b25b3133e17811ed7d1ddb86ce7dce44b7f92f04809b65d56db139b8148de23958908008d038f6c2457d2eaa833fba1bf6367d25b25cd32fe5b583392d28565c5012767a8540179e5f1e5e9ed2dbcf7bd1f5e78a44375a6d8c5ae76a8fe771b92debf29a53def5d57455d875412cc2a8222220a7d00f5cda14313a2bcc1f7914dacbc5f61c809908ad9965cd027159bb5929ad4073dfae8bd79368463697cd3e93c1a69b6304750f931c8ee6dce49a0251fddce49996c57dbeac1c83f354f451b83d93f63cdc9053d05a7bae86f3e0072366b04608014b22e47c4cccf7189b4a2dcb306997b40f517b33c2b5c7320146e62081f56e647dfeda61c680b9af689b2af20bbde8b73ca6c0ff22270b56cb4d7605e7e1e2277f88717b7e7fc490cd7ded543352146dfccd7704f9bd406bc6994306bd455995a74dfe7baf8b4930d7a40fe6a7a06d5dbcae4f83fd32332042d752310a665fa972185350e3504072738985adb34652a12ad2a339cc96224bc32824ff73feee61b462b8211f3a9428021bcf8c19c5886a7ec0d1e778ef2f1914a0ae3c4d7b4e841d148f74e07e2511be892c0a8e6fb49a36d4e5bdecd7b76da7f18097a1a11d89363dd3d742802bde5299bca711e72bc0d4f8d4eb3684282be84ef1f3698d1598474c070eedaa743d443c5e49d257b7577f4adab272e93ee048cb2dfb4a4dbaee60eeef6ef27361984c5fe7e9a6c6ad3515bdee45d9ba0cf3e0554d1d07b3dbb396f1920018c25bb7d157cd24a6fb51cbacf724e6c511bde2183eb623adef9d8fa4bb459a8a327cfe420f7e049a74dafec24b14eada05abe9c96cdda425985cc1b713c0f5ee781d99e5f82325c0905b9fd9b6733bfc677e3c554d46eec9dee695064ec89e9572d1a02e534a4dd4e13e1978004d25b9d3fbcb4d24fed362f487552b165026a2bc09de06f1a920a6911412433e6f52f2339f19eaa2857a46fca8f45ac077f81eb902ae4477555f228fae779f3492bf363a4c8f4186c5f66da1e04b9b6984e10e170ef507879ae0ef8bacc7a011b9f60ec54a6f9674c76c5dceaf9ed45546e93839d6389bd36d65a35091bda3a4fe9d124fb808bffae3ff1c645b2c1d8284b0591fd12fa7fd76ec42aa5ca49f4ff6e257d466727b9398e4c885e7cbacdfd540457a9d85fc6a96c432115f2aa79d46821d0c08418eac46e8a68d799869b301d38ac85f399cede6fc621a10b9be4a8bbf17eeab6657386aeb6ff1272576c2f03ae2e58a6fc2d59b9e8bd53b2c546974229cd63e2c1bf16bf5b85c80284d129a98e36ce44ccab5be57cd6cc770fc13c386fe88ad0716b144cc156d14430bc76bac6b7ba665fe5f1108bc3eccecaa390cd624ab8347ee157c422573b062d5b71c5f55373e6638f0e8720d32259c3a8c910a87e2901293639f05c9526d0e6c75ce73c5a126dc99447424b775500c6dee4df0833d4f853fe4f751224bb5771047733c62072e1e67f615c93f6a1ad86a40d20a116494efc158776a6bc4dac0e7160777201646e50890385272cd8359480ad0882325f3765e142e82a4d62d99373d274afcb27154b42dcc +ss = 25f98de0f3b9c85cff41926af744508991c050b0e5a92873959729b98791db8a d = 684a29e4e5480a5f2533e1526b5fac8cdf5927f3d85087c71f928c59690eb565 -z = 75d12195ec32a8686d0600e45d4a7f54219b0d7a3826d193a51b9156ecf2edd6 +z = bb3eeac4320f84d09cad413a7d7c19c27668b2e0e1bbba2d159b833db6c0f50a pk = 24d25e62d57365c8c611f96ba675aae5a14164b5171d74146d792d6203ba384ca81ec71ed87b8ba40023ed8bc6ac54406263ca3d97c5bdc20d9e2cca82b0aa54586863d95d3ed0075cc897f6726caa441896e86e03711a3d109f5bc311e81a5194363f8bf735ac9a2caceb7ec4826f8af2b303c3914e9b7c3c5337432ca626970761900b44cc92630ac8469a6bd9d2b46d88c225223dfc405d6f1447f9878610d021cf3762c235c414025239ab3827ab5a4699c82e37b1a27b460f0264f4089a98e41c924773f4c83f5c57a4d0f6959f6c59fa6aa4a6047ad0873935718bce46b2f19864e06486a4f5c8d689adec32a2e7c6b57071be67017fe25b8f52ca525f99be536a4c1468b5f9f418025450048692f961ab8feb5075b543e04a0564c26c58a72ec6433b623a2d5a086c85347e45ea7b99d03ab50664149414c3f81d219a5b5e732c0a52c060e90e64e14873c02167a21a67da6a0b945781341cb7c65aa2dc481b0998de5c8d893a548f055f8fe420f173b949862a5549b0ac1908f202ae0bec6b19c0b3e5178f4e40485ca33a93947522c1aa6c188ac2fc4cff214b995b1bd69229d01a8d3d2045af723a1de559abf78c09928d71aca3c0016038340ae715058c95cd33ca85709b2134f78b86a84ae764ae94b994acf1354e42126638b57ad207bad29f1e60471acb5b650332b4656ccc808c15ebb8df203ff0821bea62aa67967bfdd09535e7088ca98e3795aa1167be9126348a946507c08243a969b2f9238fd29f0370356288cb1708024ba7a9cd58a12d306d4f4579893c8a04a10c1872b6a602c155f70a8ba6987fd28dc842b9f60b4052890a4482a351533b4752061e30957f8a16b6f8502a1b4d8f91b56b71470ee2cef40648533bb1d9179b3e335e051115b817aa30b3707b64121179318593b0460bcf6e57a65e045d00353605d60a0705468c6b8e4db422c31476c8a0b54ec166ba59b75f9834633c0052757dc437005f653ed4c19ceb7c774eaa75ba0068f2a997a79a98bee42abf9a3b7597394d4907e430737f860454407b8fbb2da0a054c2a4c737c8724c02684a070da34388fe9927be4259859849ea9cb6ef5990eae176efa10154556ce5650cf264bd11780055b5931bd6c5f51816d135996757b386b76a03893efea95ef964b402079cad080b67098b2c092f1e9768782a8e3daccd82741cdc5c8575796d08e3180b34b4ce227e7593ae9264417e7b53daea2987a01fdd42150a4262441475370c1357a575288571996527c95a9fd62c3bf54a8c8ec0a335c3a31b934002443d07f27240860e8ea76c821a71e67132c9a5a1d4d3b5f29cc9a9924081fa3c33f4a11285458954042337701c392998da8ee556a544f0b49c9c2b83b58dd8d165e6751318363400d61652d7170ca44b3033bbb20b45072708e6453b1708b5b8206419e050d7c8843e0bcc227b9d6b426a9f693945d69ee98558bbe133fc6427a8f73981786f42dc03fb23621952ca8ae03810648b8cbab5c1d2816fd1c231e10f7eeaac9a798c2c3a4cbac428c6971851320191d3195fe4419ab69fe913280d0763a906c33c4a9d311c74d9459ee85a6599061f09376a14803e1ddc67d8328bef1c7f673b62bbc234b20a29802ca9c19c89b9b6628a6bac7ae29897b1136a0b8c28b0441bd00a9144c85c9897a48902d176b9b03a454f36885db61b5915811d60c170f74abf894bcde1a088195fda3043be6080b8b98dd48168c12a68d0b74242472ddff790608170c271a4bb19907288854cf1c4cd744d1eba1201fb643b805c7c7c1f6cc9437038bcaf6616f9a6a214785f5fe71071e4564d0070a401b457023685a65d63fc525bda14b26c1f5381885b24786a939669261b769068c3f97eee28aed3fc68d3b08d6a6b77ee2449030c0190c016394b0d9c8085bd550d12f5110e647b9a1549e8f67f5fd0580fb39358114aa668bfa3a202c0369ddbf5518d80aed20c403aa3cc7148119cba54ce1667c2654d9b5a833d5a552808ae72629a2da12498319a30113b314c870e8752e442af5ed67bf1481f071921191b2b21964fae23b33df528a22090e4bc6ec2911810e02e65758397b48d1906013cc0cc0c2c73944b45bef04c2781acf467336a107ff7cb12e6305ed85342d2355b047862be56057cfe1b1b3bbf85039a8189076a3752784e23d8a802023fd0743eb03d989a6968 -sk = 8b78635ac351c94bb6b1d2b861e4914dcba415f66ccc465b370578e136330a2c5cb0ca2857e1cb733a75e5cc4fcdf7a12580017f1c0ff484401cb23318a98000637b3d065608678103940d8ba75ccbe58206c130ed62bbc0132317b6556a9c2ae8f71a43712002d795ca52007782652d291dfe535f75034b0d624277527a6ef623168aacfbf721a9e8753195b82eb9855467322aab0ab1701546c470ad139944b6736e1c97c9768370846b45693aaed9c80a7b53b863830df61fe9600ad5717bfa2c8e59e30c8a20179b27b59341c855677880330afd1a227b6c6313e17c46e87d109a4aec4c1795908db6046598483159907a667378f80bcb84472d5a748043b1bac10ba5bcf61b07a2b13b12c347f3253e26c25ef0af6a003a67b0bee98a7c5a489c9ec9ac1f042c6f2bc7585cb01bb4b55496a93de903ec974398e277ca7cc25e3265a879420ea0bd8451716ac21f1bb806c12b3488d408ebf18b89b79b1f8c09eaca235f1c165f9504ff987139590f9977513ee037249b4e25e51a296526ba76cd3295895a571cac279bc65642cba501c8f131eb52b5c7cb73b17757440b1ee4e9295d404177e542bd744aa587738bfac0ef3c1fa0f19b0a5c5e28b53c2340c7fa061ad354c85ad26993087b61ac2002795d5ada7a3e6747ab8110367c824988ca705b818d7a921dba33371405ad235b18e463a8ac88180c88f071579fa5ab6d904a2f53b03f7c7ec39c473632369f984f8cc66dbd1924206a6376706ca36601be7b16edd17e93cb9a0437b3615374329b0712794f5058790d88182be4863293133a83aa00e07c8e79c6f12c33fa9437ed984a1392903da89bd43184db6c8dace3789af5cbba092010b889ca98af99e5b0b3d4399bf61266e833a55a85e11784708b98efab223a27aea1a16e76a73c2027759fd97a7db870f9fc79afc89435d092db556e0a738c133b259f86c98d78a43a49744f306da8cc6c9098a5a9cb091c9bad94970f03b543d669a9aa4944e0c08ddfcc1d7d485fa414b0765a88f175ab6c94b12a2177dcd4998e6aa263ec3fd5baa2466ca04568869466887f7bcf636c7a1f084277532841f51c3edc5c1873bce0f07a8871740c4aa82bb5ab164916082b795eb0660be32da9972840c927b7bb4061343d56757258ba4c91624f21da11cb265b00b9aafbb1665679c86eabbda12b74f1c5917101d0ea2bb293c71ad5b556369378a8d5b7297c9731705dd4493dbb173ad01458686a93287b6da0a6923b913989b69612a915a03a0962379bbc466a03f5517aaa0c0b030c6ca420636b2ee8821916e9c7f2ba228bb2aeabbc292f6c07ad85c6f43ca90d42629759536046394936c3ac5ab979d5cec1a1cc19b5c17edb47b0f47f34d616027b29a12725bf14b62fbac4f2cc6eece89ca0467d4868c11c17299373687b657d132c55785080f5b87f0e3c1504673825b98e8a0aa35f2c8d84f41b060ab43a930e7be1c9d04746169bb4ab403ed8c74aacb868b4a93f1dc55144738e2736749ac64170ca7d0f0348a9550ee494466a49617b541068f2c57ad4108ab813db58526c7647d55c1cb657ccd1143343aaa8421c23bd0c822f763b6a82b7d0041648a143bcc431a72b204e680a3bf11cb6652255143c4470b18ab27ba5e6cf2f1064c37ac2a446243442b0d2714d2d6c3208e303f974748012a7f0aa89dc01035ddc3685657d457a6cbe9c7a9e8aa5e522ab7dbcb1c646251bea398431339619b1ee972a46da3a063c909392c284b4c5ba840c235588ca640a54963252e45e33f51227b11700f135756b3567004216417f2beb77f9267e72e444f3a78ec649131ffb364b11bbf8ab6472996be20829011c3f32183fa1a39eb2bc0ac20478ec168e4e2ba66a01742d973bcec937a9383c62c725cd0528bcbab546179a6365819777412c5671def8cfbe9b27af037de11c268ff2c1814222664bc9a7059114511cbb5b361ee050634405f8d1908d6a9f3dfb3c1d888ca74bcd244313fda169b23345f2c804db569a12293883994940fa236a7a5df76c1d6c853207a04d2de7793c6a6bf5330bd31c285a923071c2331c23432c427791e17711f50688130c3daaaf532060ac0c9ae2e9cc338145d8a5787904c133817947430890361777818990c5780a4440b2202d24d25e62d57365c8c611f96ba675aae5a14164b5171d74146d792d6203ba384ca81ec71ed87b8ba40023ed8bc6ac54406263ca3d97c5bdc20d9e2cca82b0aa54586863d95d3ed0075cc897f6726caa441896e86e03711a3d109f5bc311e81a5194363f8bf735ac9a2caceb7ec4826f8af2b303c3914e9b7c3c5337432ca626970761900b44cc92630ac8469a6bd9d2b46d88c225223dfc405d6f1447f9878610d021cf3762c235c414025239ab3827ab5a4699c82e37b1a27b460f0264f4089a98e41c924773f4c83f5c57a4d0f6959f6c59fa6aa4a6047ad0873935718bce46b2f19864e06486a4f5c8d689adec32a2e7c6b57071be67017fe25b8f52ca525f99be536a4c1468b5f9f418025450048692f961ab8feb5075b543e04a0564c26c58a72ec6433b623a2d5a086c85347e45ea7b99d03ab50664149414c3f81d219a5b5e732c0a52c060e90e64e14873c02167a21a67da6a0b945781341cb7c65aa2dc481b0998de5c8d893a548f055f8fe420f173b949862a5549b0ac1908f202ae0bec6b19c0b3e5178f4e40485ca33a93947522c1aa6c188ac2fc4cff214b995b1bd69229d01a8d3d2045af723a1de559abf78c09928d71aca3c0016038340ae715058c95cd33ca85709b2134f78b86a84ae764ae94b994acf1354e42126638b57ad207bad29f1e60471acb5b650332b4656ccc808c15ebb8df203ff0821bea62aa67967bfdd09535e7088ca98e3795aa1167be9126348a946507c08243a969b2f9238fd29f0370356288cb1708024ba7a9cd58a12d306d4f4579893c8a04a10c1872b6a602c155f70a8ba6987fd28dc842b9f60b4052890a4482a351533b4752061e30957f8a16b6f8502a1b4d8f91b56b71470ee2cef40648533bb1d9179b3e335e051115b817aa30b3707b64121179318593b0460bcf6e57a65e045d00353605d60a0705468c6b8e4db422c31476c8a0b54ec166ba59b75f9834633c0052757dc437005f653ed4c19ceb7c774eaa75ba0068f2a997a79a98bee42abf9a3b7597394d4907e430737f860454407b8fbb2da0a054c2a4c737c8724c02684a070da34388fe9927be4259859849ea9cb6ef5990eae176efa10154556ce5650cf264bd11780055b5931bd6c5f51816d135996757b386b76a03893efea95ef964b402079cad080b67098b2c092f1e9768782a8e3daccd82741cdc5c8575796d08e3180b34b4ce227e7593ae9264417e7b53daea2987a01fdd42150a4262441475370c1357a575288571996527c95a9fd62c3bf54a8c8ec0a335c3a31b934002443d07f27240860e8ea76c821a71e67132c9a5a1d4d3b5f29cc9a9924081fa3c33f4a11285458954042337701c392998da8ee556a544f0b49c9c2b83b58dd8d165e6751318363400d61652d7170ca44b3033bbb20b45072708e6453b1708b5b8206419e050d7c8843e0bcc227b9d6b426a9f693945d69ee98558bbe133fc6427a8f73981786f42dc03fb23621952ca8ae03810648b8cbab5c1d2816fd1c231e10f7eeaac9a798c2c3a4cbac428c6971851320191d3195fe4419ab69fe913280d0763a906c33c4a9d311c74d9459ee85a6599061f09376a14803e1ddc67d8328bef1c7f673b62bbc234b20a29802ca9c19c89b9b6628a6bac7ae29897b1136a0b8c28b0441bd00a9144c85c9897a48902d176b9b03a454f36885db61b5915811d60c170f74abf894bcde1a088195fda3043be6080b8b98dd48168c12a68d0b74242472ddff790608170c271a4bb19907288854cf1c4cd744d1eba1201fb643b805c7c7c1f6cc9437038bcaf6616f9a6a214785f5fe71071e4564d0070a401b457023685a65d63fc525bda14b26c1f5381885b24786a939669261b769068c3f97eee28aed3fc68d3b08d6a6b77ee2449030c0190c016394b0d9c8085bd550d12f5110e647b9a1549e8f67f5fd0580fb39358114aa668bfa3a202c0369ddbf5518d80aed20c403aa3cc7148119cba54ce1667c2654d9b5a833d5a552808ae72629a2da12498319a30113b314c870e8752e442af5ed67bf1481f071921191b2b21964fae23b33df528a22090e4bc6ec2911810e02e65758397b48d1906013cc0cc0c2c73944b45bef04c2781acf467336a107ff7cb12e6305ed85342d2355b047862be56057cfe1b1b3bbf85039a8189076a3752784e23d8a802023fd0743eb03d989a69684c3182ca7a48afe60eb85790dcb50b8005b568921dbc724130b0ce83f127845475d12195ec32a8686d0600e45d4a7f54219b0d7a3826d193a51b9156ecf2edd6 -m = 97beafabf2c8575586487c7a80e8af5fc50f94b6051c1bc66a5ae9f66be3cea7 -ct = 891cdcbfedc7e2908be3b8d9f0809d09eccd00130841937b3a51cc8c9568277db52394daac3c6bcc4f5192cd850696be7cadd5457e5a470dc3e0e1ec78572e7d26261e4e11fe2e108f0537a979816ef533feb1b65db1514ab06272f4a5a0ea3c7b863b1009c0049f0ada8531ced42610df5dcc90e98a0983444d83ba0835f3c672f8abe63469235e00054a3d697e1d1fda680a2f82423e1b5af0c216bde945664e0fa41cafb39f8222c1d2b1a826523a39f0efa0182d48cda070b84fb3ef3f0cac4d9d71588acf88e82689625bc5c1f048889cd7141be4be15421d527d75d876d539775691f99f1230d8557f09aed4feb7f61ee537889ccd4e968bba1ec8eb4bf77425c4ead7e9bea83b207bade188fa4195b6768fbc4ae422393fe84d42172a08828ed5c7c22c1fb62b6688173c2cadce2096261a4eeabd143291a3c01889455a7f4415a58fffb11259abcaae47a93f0e77fea1acbf908aed05752cb9daa1a8a294cbc35c5654eb510bedc00a4052e1dcfb0b4bcd416d13cfcc78e54de894a53263aa44a3ceaab3d3cf6d7294405416cd8ed0a5650296bd8d6769ca29833a72e260d3fd17afcd8cd99bd88e9025dd574c9801615ba3c293ead8315d36e8f6261ace445b33c41558c47c330e536610d6c1699a4bc5c59f914105497417e1cd68a6a4e53bbc71f1e6c6275764c117aaef3d9794046446100433afdeb427d8d8cd9018fae0b41fdad5a7aba338da8cfe89d0c5286352ae0b3a9a68889dc1731682d0b55b06d8a2235529e567d83848c6fdd19b1266c51e0947dbc6e4b1eb84f2ba3354b33e85fdd3ee44111eeffd670c9662192dfa93fb2fbbee5b181a93d091139020da221df6f9270fdd5434b4385cf31a14bc29a117e276c0678597b621c95f3bd1b5bb71605acff525deb3796de036e2b70063b6359cbdc33cf3ccc2cec209dfdbbd3dd9123e58a36fd6b57c6658191200fa655b6284b0c66e8f34bf1efb82dd0671ba46c52985dd85cb936c959e25b1bdea9cc9741f10710723549b5513c1f207a53a77102e120275d8f0a95b6e4651dc8530ecf3298853882c4e556c51f6e6008fda5ecb137d3a6d6d3db24722595c7ff213bd2396f15b09cb131537e53e3c4813a54b8be3d9c546fecc055cc9004694f742668f296ccae7eed44adf56a1dc13026f1b6f4e92c5efb81daf9b37700d44433bb40749846206fd2b3a4020a1b00367b31db908faff6bc59c92b8321e147118ed0ecd632a20cc67bb089c3fc31e560b6665c2db8c72639e3a117a4c0db2ce63defe4a8a566a284aa1997028743cffeeb902f6552922cfb72777b68c6accc035a0d35a1c7313ccf531422593d73ecb893a8bb2a334fe174bb3d654e27f144b95adf499baa2791e7b773e9dcc81e06f3f453674823deb2d24c22f87ce9b1aa18f815ef6ed87aabadff92e395fdf5462e0c91ce2e1e9fbbbc46e4412721c2107186968630ae5aa3e6e58a159dddccbcefd69c21bd0964a2d0b289d9d55734dede1525a41489826dcb69eabc09c076cd738b708dc702b0cbd0464e5aacd1ccd9b3bdd2db19724fa751f84c6fa096b0df1dd8fc7e310e7cfe92cc1d17d8e17b1e68fd6ece6360a9ea54e677088deea3da91988bb09b04c3a1f1c47b2954d135796fd906d898a8df6ca71e31619b42fb8729954c0fecf5c5e39e07fbb55123baf145f1a05c525b3b665998f5ed05f3a3be458fba499e44c7a79a147ca4fb70d41c6219068b75ad79a85f770cd844b0dbd3759ea4d377de1e8716dac4cb5f855c6c57f8f8d18b45c06dbd0fca719ca140370b6a789685b57cf6040e28f456cfda6dd9f96e125ac30c870b07a9c55e3cdf1da0569460c02842417e889c686d81daf9bbc2438ff332921878c6cf3ca21c7a4910b28a7860908a06ae14953753d87f171ba699c7673fb7e63d3229ebccee8a959bee43e17ab953582064a931ee8a1b2161a25ef10e576508b6046ff82dbfab8bc0c8f23a6fce21897969dab660c54c23e43d79cd83abf4e4abf19bf6450e2fbfe743a22699820e86ecf54aa8b802f6c41e6e20f3c103b30577ec63e340bc9f7c5bc361be7c19a6d8c16128cf42998be578aaf9972bc2ea1254cb2560135ac00d77275a0fdd13cf098c7f830e40d61162fddf00ab6d8922354fcfcd06b714c3121f612f3574c959c7be39ef269db2f8e813604d0dbdef00bcd2c9c7ac74387 -ss = 2b4baf07f9e610e5c0265c51b5ba491ec5893bff7a3995c2d690ab7e15cc4454 +sk = 8b78635ac351c94bb6b1d2b861e4914dcba415f66ccc465b370578e136330a2c5cb0ca2857e1cb733a75e5cc4fcdf7a12580017f1c0ff484401cb23318a98000637b3d065608678103940d8ba75ccbe58206c130ed62bbc0132317b6556a9c2ae8f71a43712002d795ca52007782652d291dfe535f75034b0d624277527a6ef623168aacfbf721a9e8753195b82eb9855467322aab0ab1701546c470ad139944b6736e1c97c9768370846b45693aaed9c80a7b53b863830df61fe9600ad5717bfa2c8e59e30c8a20179b27b59341c855677880330afd1a227b6c6313e17c46e87d109a4aec4c1795908db6046598483159907a667378f80bcb84472d5a748043b1bac10ba5bcf61b07a2b13b12c347f3253e26c25ef0af6a003a67b0bee98a7c5a489c9ec9ac1f042c6f2bc7585cb01bb4b55496a93de903ec974398e277ca7cc25e3265a879420ea0bd8451716ac21f1bb806c12b3488d408ebf18b89b79b1f8c09eaca235f1c165f9504ff987139590f9977513ee037249b4e25e51a296526ba76cd3295895a571cac279bc65642cba501c8f131eb52b5c7cb73b17757440b1ee4e9295d404177e542bd744aa587738bfac0ef3c1fa0f19b0a5c5e28b53c2340c7fa061ad354c85ad26993087b61ac2002795d5ada7a3e6747ab8110367c824988ca705b818d7a921dba33371405ad235b18e463a8ac88180c88f071579fa5ab6d904a2f53b03f7c7ec39c473632369f984f8cc66dbd1924206a6376706ca36601be7b16edd17e93cb9a0437b3615374329b0712794f5058790d88182be4863293133a83aa00e07c8e79c6f12c33fa9437ed984a1392903da89bd43184db6c8dace3789af5cbba092010b889ca98af99e5b0b3d4399bf61266e833a55a85e11784708b98efab223a27aea1a16e76a73c2027759fd97a7db870f9fc79afc89435d092db556e0a738c133b259f86c98d78a43a49744f306da8cc6c9098a5a9cb091c9bad94970f03b543d669a9aa4944e0c08ddfcc1d7d485fa414b0765a88f175ab6c94b12a2177dcd4998e6aa263ec3fd5baa2466ca04568869466887f7bcf636c7a1f084277532841f51c3edc5c1873bce0f07a8871740c4aa82bb5ab164916082b795eb0660be32da9972840c927b7bb4061343d56757258ba4c91624f21da11cb265b00b9aafbb1665679c86eabbda12b74f1c5917101d0ea2bb293c71ad5b556369378a8d5b7297c9731705dd4493dbb173ad01458686a93287b6da0a6923b913989b69612a915a03a0962379bbc466a03f5517aaa0c0b030c6ca420636b2ee8821916e9c7f2ba228bb2aeabbc292f6c07ad85c6f43ca90d42629759536046394936c3ac5ab979d5cec1a1cc19b5c17edb47b0f47f34d616027b29a12725bf14b62fbac4f2cc6eece89ca0467d4868c11c17299373687b657d132c55785080f5b87f0e3c1504673825b98e8a0aa35f2c8d84f41b060ab43a930e7be1c9d04746169bb4ab403ed8c74aacb868b4a93f1dc55144738e2736749ac64170ca7d0f0348a9550ee494466a49617b541068f2c57ad4108ab813db58526c7647d55c1cb657ccd1143343aaa8421c23bd0c822f763b6a82b7d0041648a143bcc431a72b204e680a3bf11cb6652255143c4470b18ab27ba5e6cf2f1064c37ac2a446243442b0d2714d2d6c3208e303f974748012a7f0aa89dc01035ddc3685657d457a6cbe9c7a9e8aa5e522ab7dbcb1c646251bea398431339619b1ee972a46da3a063c909392c284b4c5ba840c235588ca640a54963252e45e33f51227b11700f135756b3567004216417f2beb77f9267e72e444f3a78ec649131ffb364b11bbf8ab6472996be20829011c3f32183fa1a39eb2bc0ac20478ec168e4e2ba66a01742d973bcec937a9383c62c725cd0528bcbab546179a6365819777412c5671def8cfbe9b27af037de11c268ff2c1814222664bc9a7059114511cbb5b361ee050634405f8d1908d6a9f3dfb3c1d888ca74bcd244313fda169b23345f2c804db569a12293883994940fa236a7a5df76c1d6c853207a04d2de7793c6a6bf5330bd31c285a923071c2331c23432c427791e17711f50688130c3daaaf532060ac0c9ae2e9cc338145d8a5787904c133817947430890361777818990c5780a4440b2202d24d25e62d57365c8c611f96ba675aae5a14164b5171d74146d792d6203ba384ca81ec71ed87b8ba40023ed8bc6ac54406263ca3d97c5bdc20d9e2cca82b0aa54586863d95d3ed0075cc897f6726caa441896e86e03711a3d109f5bc311e81a5194363f8bf735ac9a2caceb7ec4826f8af2b303c3914e9b7c3c5337432ca626970761900b44cc92630ac8469a6bd9d2b46d88c225223dfc405d6f1447f9878610d021cf3762c235c414025239ab3827ab5a4699c82e37b1a27b460f0264f4089a98e41c924773f4c83f5c57a4d0f6959f6c59fa6aa4a6047ad0873935718bce46b2f19864e06486a4f5c8d689adec32a2e7c6b57071be67017fe25b8f52ca525f99be536a4c1468b5f9f418025450048692f961ab8feb5075b543e04a0564c26c58a72ec6433b623a2d5a086c85347e45ea7b99d03ab50664149414c3f81d219a5b5e732c0a52c060e90e64e14873c02167a21a67da6a0b945781341cb7c65aa2dc481b0998de5c8d893a548f055f8fe420f173b949862a5549b0ac1908f202ae0bec6b19c0b3e5178f4e40485ca33a93947522c1aa6c188ac2fc4cff214b995b1bd69229d01a8d3d2045af723a1de559abf78c09928d71aca3c0016038340ae715058c95cd33ca85709b2134f78b86a84ae764ae94b994acf1354e42126638b57ad207bad29f1e60471acb5b650332b4656ccc808c15ebb8df203ff0821bea62aa67967bfdd09535e7088ca98e3795aa1167be9126348a946507c08243a969b2f9238fd29f0370356288cb1708024ba7a9cd58a12d306d4f4579893c8a04a10c1872b6a602c155f70a8ba6987fd28dc842b9f60b4052890a4482a351533b4752061e30957f8a16b6f8502a1b4d8f91b56b71470ee2cef40648533bb1d9179b3e335e051115b817aa30b3707b64121179318593b0460bcf6e57a65e045d00353605d60a0705468c6b8e4db422c31476c8a0b54ec166ba59b75f9834633c0052757dc437005f653ed4c19ceb7c774eaa75ba0068f2a997a79a98bee42abf9a3b7597394d4907e430737f860454407b8fbb2da0a054c2a4c737c8724c02684a070da34388fe9927be4259859849ea9cb6ef5990eae176efa10154556ce5650cf264bd11780055b5931bd6c5f51816d135996757b386b76a03893efea95ef964b402079cad080b67098b2c092f1e9768782a8e3daccd82741cdc5c8575796d08e3180b34b4ce227e7593ae9264417e7b53daea2987a01fdd42150a4262441475370c1357a575288571996527c95a9fd62c3bf54a8c8ec0a335c3a31b934002443d07f27240860e8ea76c821a71e67132c9a5a1d4d3b5f29cc9a9924081fa3c33f4a11285458954042337701c392998da8ee556a544f0b49c9c2b83b58dd8d165e6751318363400d61652d7170ca44b3033bbb20b45072708e6453b1708b5b8206419e050d7c8843e0bcc227b9d6b426a9f693945d69ee98558bbe133fc6427a8f73981786f42dc03fb23621952ca8ae03810648b8cbab5c1d2816fd1c231e10f7eeaac9a798c2c3a4cbac428c6971851320191d3195fe4419ab69fe913280d0763a906c33c4a9d311c74d9459ee85a6599061f09376a14803e1ddc67d8328bef1c7f673b62bbc234b20a29802ca9c19c89b9b6628a6bac7ae29897b1136a0b8c28b0441bd00a9144c85c9897a48902d176b9b03a454f36885db61b5915811d60c170f74abf894bcde1a088195fda3043be6080b8b98dd48168c12a68d0b74242472ddff790608170c271a4bb19907288854cf1c4cd744d1eba1201fb643b805c7c7c1f6cc9437038bcaf6616f9a6a214785f5fe71071e4564d0070a401b457023685a65d63fc525bda14b26c1f5381885b24786a939669261b769068c3f97eee28aed3fc68d3b08d6a6b77ee2449030c0190c016394b0d9c8085bd550d12f5110e647b9a1549e8f67f5fd0580fb39358114aa668bfa3a202c0369ddbf5518d80aed20c403aa3cc7148119cba54ce1667c2654d9b5a833d5a552808ae72629a2da12498319a30113b314c870e8752e442af5ed67bf1481f071921191b2b21964fae23b33df528a22090e4bc6ec2911810e02e65758397b48d1906013cc0cc0c2c73944b45bef04c2781acf467336a107ff7cb12e6305ed85342d2355b047862be56057cfe1b1b3bbf85039a8189076a3752784e23d8a802023fd0743eb03d989a69684c3182ca7a48afe60eb85790dcb50b8005b568921dbc724130b0ce83f1278454bb3eeac4320f84d09cad413a7d7c19c27668b2e0e1bbba2d159b833db6c0f50a +m = 492d4cea1c6e07d9535ab2fc21d773bea7ee2c7d66ec80d41191aed269a398d6 +ct = 6a2ac04b0be55e91729be92f787571b866af277cda1504792d158af780089785e2d9bd913ef66abc60e4e8690e40564439a30c342ba583f45c80863b268f6f665c4e6a0d7fd18e9d8fbb094fbdde8e99e0696cea3b606f95ac9eae4e527e281e83c020e0b5036d8b549d30bbe0083edd96d971bac248ce0f598a776bbe496c6737a8cb7b3df96dd18ce395d96ffe241d351d219a85634d82036d34e2b8f5ce13e0603586ee6d1aea698232d621bd5b31db4c058781543690dec2edbda16fdc9832478c6a4cc9d40761579fcc794709dae9de03022f44b60563414cf19064be6f5d5ede2507366ff687efe8feb545cc0b640fab4268d2a627216762c97c4212532e8ce46b5432ac8d91e5d40081e44df6ec2f175f0c01c427dbc8313bda9cda6f90188f7133b26f34234a8b729e4bb8bdf9f7bbfd2a0c26bc473b273f1c26a4635cf02d00e2237dcc3b87b3410fae829c523e5d48e3efea07533d9c157154c895737ac611d6e9e27496260b241ae4e714ff8d9badfe12b5d61b47171b7c5e911ac4da71ca032aee900f592e3c671fb26f0a409a94817bd5289fb89f2bea88313a201f6623f4e6883cdf392b0632fb2d3025ae137459638ee63449a80571d08a5e851da530d73decfedb64cb76105746e33d61fcf5ca9eec95fe4aaf67be9b92147d505c42f55c5fe0b175a701c63e766dc755ffd0a5798dc9421ded3a7145ff374b5091d7b095b9001502ba4961b18e56ca00dfc0819ac947b8f7f4dab0f534e95cf1b1497c7273c4b63f6b1138654522b44e5cf3a31cb01d3ed6467bc1aa9bfb0395eb54be807a3db12c6739e3025e4a40278ff713a52cc1fd73dbc976b4319f58a5ce911a1d17bd9e9a868c9e93efa8129cf63bce73beee7fa7c09e02beda3d07dea5d634cd58df8ed8e4c312feb44b9250d3c43726daf26c6fe293071c69106920de01467388d81db5edc509ee36bdcc12a6f15c63f63cd75b87c6f057e7d617b2b1463492e82408ac1fde93c0323b494c49526e7d043fb8187a5369881b0db6b9f0723f2004d9d4ab67ef23872a1a6399428441908125b31f875dd38968603d1be7b6e246415978f79f8263f266a6780a188283ea8bddb815494fab5927504f91f6a92fc75088c98fb25a5d8f39a70af6de37656ef70159943abb0f03f935676b4b0e55c3f32dedd5a6860604016adcb70884140651e5eff277c0b01a19836c0b150da0c90cea81d5ef9a29e789e9b5cfe973c602a3103bfd0edc570929beb1e97572c3ba9de6fbe6ec8b91a1d889aaf579869e4619dd6123e139cde6a8c618c039591f83cb33b2630f8e2f040abcc1bdfb6616ac544446e458b7e1bc1c9d4b85cad3c4ce9ca34289c9694b888b5805dcac04074e5361165cfdb4deeed3ded6c93043336ce7d3f0a21a47a518307b22335708546685ee76c9b4488a14b0d575ec3952a13bf41ca04960c039103f062981e84d5c200cbfb43ae0b887d8ef31a7ce3e085224e0e093637125992e40375cd2329efa608da291fce02eaa7eb06c314a42710fb239f0c45503cbf1764236bfb86d144975ca710bbe9ba933e2130f967604bc0bea6a68119879a1a385740f7ccf252495ab0454f7d6557468ba32bfc9379c0859487a8148ef745cbd630a081d19886dfad4a0267fea83ab9005fd86c3d4ee40e0daa28f29d4d18072a2bff898d3cfed958b7b5f465607f29617ee24136c4eb3f5e70074a805e54fe05347f7150943c58cc443a5215ad8c71ba6a927effea6a83bd808a440112a964b3e535d3a8041b53137cd0180d2a97231b7c443217313fef3dc76c358bfa4b00b8e0a2452ca3ac5cf6ff198b9b344c5f825ede220d3e3dd4c1d9dd807b6e6ec634e9afed9cee2f04a81a5f192720b68689d572ad19902fab0d532dd5bfb2d8a975a29c4afecf335e82ccda83ad81b5885e024fdd5ed5fc403575d41039df6c70d0b043622e00624d73b248d8d035dfad0bfc39787b80e076707b9624c4f0721364b1e8e27bea7eb122a279c872c3791183acaa7a3212e7eae16fb43992e305b0d4ee9a3a4a079e1cc35baa127cc9889881d70d50870d3927554e488bf4d6ebf872c9c4e1f2f4ab2b61f4c461072759573be6dc2e87fe58edf3473d48fd56c30fca1dd20b7e908211d906160d7dc7b990154ed4eaccaa0b776880e9e1dd04c73f1e51974f0f9be17c8687f0d77fe3dd38f7a36c1 +ss = 9acc088cdc498d1d958d79edabc0da3ad23bca11dfc5f5fab950c8a08ed7ce41 d = d76b3573f596eb286ab5231feec7499686b13021be36cb126c7ebeb9d7030daf -z = 248c0a21ea0bb6d6f56f12300e8584d8e9a34e0e6f52227281151ae4c305fb8f +z = a8ac144dfda421de1a7addc92adb79bbfa9657f3dc4b78a7335f29db87b290d5 pk = c6100d6d7952085257f692ad9173888f28bdae384635b2057a8183ca07853de05f72437d6872575ff4c0efb06259e397cda6a87a178498c9aac54b046a8219d98c48f113319984995f68b1affb863ff97dd8d14cace2921bc192e038be06a5c58205cdc68a3d1ec34d58697a7b6bca3e731e0a68940ee5b8307460b402651457ad1a7883d0165c8cab4d88f565008155ac009776500f3779530958c3003c7603c900e50148088b9420b78eac241dc0aa11454195a03998388ac747fc465dc140e9193a9294abb90b8022b493e069ae430ab3fc9307fc89358d3a88fb054e9836cefbe45c44569b285b01ec892d5ce8288ed638d1876663e3c33c25c28297609fd94cd0bb923a746a4f55470b3b6c03c8a930e7bc06a08f521b6063066788841964696a31547c851b578fd02434526c7e641fb9721cd390984bb121518a88633658c7c7c6b0830cb6800b2368cbe703cec33a4bdf319b49909b590a8bbc6542a108bf5927c49dbaa2c5c5009e002e242ba210a64f18b8542be1cb92a8293c56586b568b489ca697d6c4f819c399590472e8b9de9573a1d2934b86bf2d2b6f92ec8489430e0a681fee0a22bc3a705396ce6a74c1d5d3a91aa253da718757c875a1442fef4241f95b516d27220973c25e29b1d335846db494db4cac3a0b76388304b4252ac2362ff032a8b5c3322f6a0e5658799f1193ec69bf15c77e5ff2a3a2925690496af4320ec688450058b5727a0e66f98270267b3f49270e310714f353dd4b74410a9a0e778a1e030461113cfb05a142001cf39721215026cf84b1c0e706dcfc4d9ea80514061463a16e069750c026ad26ecca10f5830b2b756d515ef1c64d6d2c5e73818998aa9230d19d35842400c4568f62397eb0a42cf86c857c3ab009c8c831257d246b456996bc1bcc378a44bd88a0fc3469b0da0d22410218941431a12f37831653342f12206c56c4b3bf980a5017114b3112a6100b06a2a62104c48ce8639d1830e785cb3dab23f398691b48458d2acce79511ad276643476bd6c33d8d1c40fab1b81a96a7dfe36115e49a07f8c72240b9b3f24a2739b963609b0c2705f928c6ba7c2fcc0c164be46fdee5baa5730cd7a55e1221cd73305bff9b8ae5c126b8621bd6116c17286974002c88785c745bc32f0b86dba92e072a395e91acf7257ac5ec5ee88a7095acc39ad023a904b72c0ac845a318d18c7c72a0c4387cb470c8ba438498c5514398c70967b46109e18505543a98d51a3753bf3c657aef7264a91c2253f801641c609628a7f13a246d5aa13f3a4d1da22221ccba20091c6284452f376b32cc2d27d3869137a3fcfb06b7c93f70f3a20d84741b8a186d78af94c204bc0b6da175175bd819479485db23bf6eb2cbbb62a088f2bda7cb470c26b281e29e0f29a111688cc2e7cd61985eb39287546967ad991eccb99a6dd4b111861755964a77e3a7d2c5b9dc966e6f51bd53d72f9775a624f344fdf4bb3a9822d26b6db6b11efb527a2138c45f27c5e8a834ebc780e1e8210a9a7a4b7c3fc63b1757a22b8cab57bc07aa27a228cd30411ef407bc276ace8c05498cb641366b4ea0caf8101198b35a51d502a1c1894eeb700a832d70e627ac0b7a57543769991f007176cefb10c6e74a987c1d9b9750db5230317298a800b508d41c942b48c36035915c0504646726ab767a5059d39996a3e310ccbc610d878f9b7503b08822bc1541a359c807526d27a7abc1d78e3c0c3f67f0609c699e44ca8ce2c7a78e70042be21f4c569e9d0494a6e8c2f0592ba5060b365b57d1b03916e27fce04c42205803af0b213e27b21245e480b6330bc8533888e72e9bb2148059ac42ba2ba2550ebc37e437487c581d069bd27d739d4daac6d5b6c9adc8de4898181422a34b9a239508878a0682eb2466a44a59542b268d31989f049f433a7a0225d556770f4391dfdf4432133a0d888436afc531f4584abc40022c36314757e79538cd1c67da58a049cd10baab7a7fa38293ca84403291372f97c9eb85d120b541bba94098673e35358e4f97ec124cbc7e1c2e62a2616838d5d13674b832694975cf1396deb11a1cb5a1bcfda55ba86583884aa9593399a047f00e703cd458ad157333c349c46021b7ae1970bc2927f094c77970a7c9bacfb0a6e02108036f809c9ac23877b8b2eaa1abb3132e55d8bd5b08678bfa4243430bb4d059b58a4b0cf0fd26e -sk = bddb6a1bb704f8b530860b719752402098c84ae4809b01c8ec7583a66a3f4bc290bf2173abb41868225606d54991f5b547c2254c74391717045997a57ba534a97b3605e1ad9f7c6446ac08bbfb1999179bb8f67731a63ce1c717f30b57fd17bc00605e8e14127eb0c26e324aabd45138484a51a15dd2464440178ca7e966d4d58383f6bf9bb2a971729074781a8d978965f9a51eb2729ba8c308474d56089f2cc869b523c41c409507a671f0f3621e057662454d49c49a398343d64cca74b7822d773373d5185426b7b3951256154a7b78cb1f5049df0371b840ab21b83944fb383cc84ad9e24ff42b2731276c1d26b6120534438b029c4ac7c0739453c2860d32acd75229c63a23a7201c303032bc0a410319035d38a3c9802d41a56a8c6c2496db10441a2bcd13a81f90cda2564cc9e4020a47595a30994888b383e996115aa282eac3e3594447110c2d07774f9312d796c6b74a7634b6c0da2291458a35d3022bee048483461cfeb152e1d2ca9195afd1f9aa82131804d35e739299c539b913c54a0c58683259b3137aa464b9c6e03b0eb751999b6c5354d6171c78cbbef1b456ec4c88199764a5761d18c0849c1b0a263ea401b86cba549c712e4a251830f7b6ee16b2bfabca3ce018c3833bb881385c272dee151ac35a2c9561b3c1266855219b0c6b485e669fcbc49b24c50c6c3237aa6b116085085405115e0422d956beaff9360b58bf915654b9b887ad9733f425a5c6990b3f0223d8099bc0e95c6a5702cf5667209ace08fb4697d02dc45caca8074185f54ec4641b35bacd2f0b770fc215fdc171c98baa7ab6c0450ba6e47a838575a528f7be221c3c91f02734269a9425a2edb76cb6d077ed76040a716d39c9c87a58ad8867954c752367a905aa158e0a9019dda50a6213c260f7bd8a0a6e8cf581fb74cb17283f3a1a8aa9a0418c79a948199365a6a1045238104280ac704b33791e156a2377bc83e9b9c86d0a3d2aa3287272be6431bb4e598232312d10d03bcb13b4d838a9a624566c6a25fa44a0934ab6cc333e6d52af3ec26a6fb97615cc3c77102d1a315486bc69c555a3e8271660222a406022e8d97251308a90a15f748153c1168cb133593c1641e164c8a06cc008059c55449413c2b28667b99122ac42b8bffbc15fe395003249c676db7589d2896e7405bef8ac510782ff204454c8a0390c332ceb7a5a3123eb1a1ad0470096058358ba779df70106e24990da77aaf09705110993f16a2320a941d8865b387236cb8528babbf2d9196c15898bf71040d3ba500cb7b1ac85df11003a058d838c2652d4577306023c756ae9715136e91b20699fef425e48953fece15baf27489d929876803eb0b5764e6338bf5970c2f35d1e815bb5b0b1bab630138859b729923343c3d24922a8522e38e19868b8a4585acf14b795ff3a609d93b1a5ccab08f877c5b71ea78c2819113fb3632d5d995b02926663f2ab8e3a73dd6ab93503192e0243f2593618e3a809684bb6a31674e77802828fefea3a50fcaeb1088f7edc036cb84329c988d965071e97c1311643bb1ca2b43cc57c84cd5ea9109ae36de2801cbdca3bb6f977959578954ac17d303841d5726631663f12816edab5c22b0286716d1da2b9ea03c5c23806e56679f43b33fb553ac921482f0b61db90acbca4b91ba19a22c5709ba48777979538519da6ac5e2b576c545b35e510b1a57bc651f69ddc4634588b19a31a481a216a365941bbf709679a9ef8a6324c20c6842818ba97cca6d26ca3fa79f3571e0cdc651ca753c5f2b8e8c247e9b064cd266d268ba3c18a30168452031b9458b3c4a084a7a9542fe7fb88fdd828f5d275cc1879fea43d84a38db1933298f6c98c08188b5aa96d9065e7a638d3746265652fe72a2d4623bc97c40b61a7124c899876c3aeb0d9cd2672795e0a65d44c0180436e8f4c2876e66cb8071262da0947a926c80c6b67e13697c7a200b55f576459478731ac9b62b7572442e04105a83134561ad9a71a9d4696f8fcb791c44593a680ad34b8096ba82434828c492638a9a870b14b611bc4fd43a005624895ab6760257d181954f3f934e3f6742dc54cec3cbbb8c229f8902d18517374cb6fa8a0cf6bca0487880d30173cbf6a0386f12ecbe135cb7b620a5b7b3999b947770401a917c6100d6d7952085257f692ad9173888f28bdae384635b2057a8183ca07853de05f72437d6872575ff4c0efb06259e397cda6a87a178498c9aac54b046a8219d98c48f113319984995f68b1affb863ff97dd8d14cace2921bc192e038be06a5c58205cdc68a3d1ec34d58697a7b6bca3e731e0a68940ee5b8307460b402651457ad1a7883d0165c8cab4d88f565008155ac009776500f3779530958c3003c7603c900e50148088b9420b78eac241dc0aa11454195a03998388ac747fc465dc140e9193a9294abb90b8022b493e069ae430ab3fc9307fc89358d3a88fb054e9836cefbe45c44569b285b01ec892d5ce8288ed638d1876663e3c33c25c28297609fd94cd0bb923a746a4f55470b3b6c03c8a930e7bc06a08f521b6063066788841964696a31547c851b578fd02434526c7e641fb9721cd390984bb121518a88633658c7c7c6b0830cb6800b2368cbe703cec33a4bdf319b49909b590a8bbc6542a108bf5927c49dbaa2c5c5009e002e242ba210a64f18b8542be1cb92a8293c56586b568b489ca697d6c4f819c399590472e8b9de9573a1d2934b86bf2d2b6f92ec8489430e0a681fee0a22bc3a705396ce6a74c1d5d3a91aa253da718757c875a1442fef4241f95b516d27220973c25e29b1d335846db494db4cac3a0b76388304b4252ac2362ff032a8b5c3322f6a0e5658799f1193ec69bf15c77e5ff2a3a2925690496af4320ec688450058b5727a0e66f98270267b3f49270e310714f353dd4b74410a9a0e778a1e030461113cfb05a142001cf39721215026cf84b1c0e706dcfc4d9ea80514061463a16e069750c026ad26ecca10f5830b2b756d515ef1c64d6d2c5e73818998aa9230d19d35842400c4568f62397eb0a42cf86c857c3ab009c8c831257d246b456996bc1bcc378a44bd88a0fc3469b0da0d22410218941431a12f37831653342f12206c56c4b3bf980a5017114b3112a6100b06a2a62104c48ce8639d1830e785cb3dab23f398691b48458d2acce79511ad276643476bd6c33d8d1c40fab1b81a96a7dfe36115e49a07f8c72240b9b3f24a2739b963609b0c2705f928c6ba7c2fcc0c164be46fdee5baa5730cd7a55e1221cd73305bff9b8ae5c126b8621bd6116c17286974002c88785c745bc32f0b86dba92e072a395e91acf7257ac5ec5ee88a7095acc39ad023a904b72c0ac845a318d18c7c72a0c4387cb470c8ba438498c5514398c70967b46109e18505543a98d51a3753bf3c657aef7264a91c2253f801641c609628a7f13a246d5aa13f3a4d1da22221ccba20091c6284452f376b32cc2d27d3869137a3fcfb06b7c93f70f3a20d84741b8a186d78af94c204bc0b6da175175bd819479485db23bf6eb2cbbb62a088f2bda7cb470c26b281e29e0f29a111688cc2e7cd61985eb39287546967ad991eccb99a6dd4b111861755964a77e3a7d2c5b9dc966e6f51bd53d72f9775a624f344fdf4bb3a9822d26b6db6b11efb527a2138c45f27c5e8a834ebc780e1e8210a9a7a4b7c3fc63b1757a22b8cab57bc07aa27a228cd30411ef407bc276ace8c05498cb641366b4ea0caf8101198b35a51d502a1c1894eeb700a832d70e627ac0b7a57543769991f007176cefb10c6e74a987c1d9b9750db5230317298a800b508d41c942b48c36035915c0504646726ab767a5059d39996a3e310ccbc610d878f9b7503b08822bc1541a359c807526d27a7abc1d78e3c0c3f67f0609c699e44ca8ce2c7a78e70042be21f4c569e9d0494a6e8c2f0592ba5060b365b57d1b03916e27fce04c42205803af0b213e27b21245e480b6330bc8533888e72e9bb2148059ac42ba2ba2550ebc37e437487c581d069bd27d739d4daac6d5b6c9adc8de4898181422a34b9a239508878a0682eb2466a44a59542b268d31989f049f433a7a0225d556770f4391dfdf4432133a0d888436afc531f4584abc40022c36314757e79538cd1c67da58a049cd10baab7a7fa38293ca84403291372f97c9eb85d120b541bba94098673e35358e4f97ec124cbc7e1c2e62a2616838d5d13674b832694975cf1396deb11a1cb5a1bcfda55ba86583884aa9593399a047f00e703cd458ad157333c349c46021b7ae1970bc2927f094c77970a7c9bacfb0a6e02108036f809c9ac23877b8b2eaa1abb3132e55d8bd5b08678bfa4243430bb4d059b58a4b0cf0fd26e4359601c371b50b50b5306de33cfd476d3b5f811700dc4918beb345840244e3a248c0a21ea0bb6d6f56f12300e8584d8e9a34e0e6f52227281151ae4c305fb8f -m = 75461decd34c50d6a094b4a64fb75e5e9479f8f9250d82bb7d729dedeb2d4b65 -ct = fc9393bfd2793b72c13ffa54f3badcb466772128296fb25ef9a7331a5ca77e6b9d817db4139032de3e6202846e6d091ba4efb66b499b26dce7bcc3e97359c93cf4bbd7274d9c6175298de0f879cff18491d3b9fa86abe58ea4a7321ad66b575b215cf42a015f7590ea95315624282e53aa9d1d0cf3e93534259ba6f306c59dbb0cecc7cfa7d54a48637bb8be3f552828869ff4f6c94b4f32e1b66c8e50ee021f7da5cd3ab0a8ea18192e6268fd9293180d29e19ff42a8361dd3521a96c4c02c5fa67e752768e9ae94ca099eccdd1cde070a3539c9e471aeb00c7b38bbfc974f4f524aad9a20d3d11766436540161d1cc0a582f2862ab32d9a0423ce2cf54e7f487d21dcedb6581ccefb0284dc1c3e9770828ef8480e577ecbaff4d4640e0c904a53f96be8b819987bf78b7e5609620e8b29b3f4e27b324e942459e229e81be39668f4a9ce8b9dbee563b19f6f5e6437ab02b54d44853b1ed3ae8b14df5aefcccdf79433e7c50c3d6a0b437f155eed73ec2e4ed62a9334c67c5e77f56a4c05423f7c2a4dae8fd570450f85a34c5333f828715610db548466a0dd338d7d9b64a7f7028bcf82c299a1b5bda661ff669189e17dc07cf7ef2b93276b51c40e314d46a12779f1ea7823ca28bd4af7c1567a208e1c45a4593abc1351b73542291bf6f7ec61871d5cad9746273ad09df9ad7c9997c3934c38910b82daba7d0fc6d7f18cd6d178ddd2d494fede2a341551506d6953516ac3ebac927f10979e0b4ee0c5819bba05d9db114d96090cf98bd41a28a3dbdf3383a7148915ed5940d3c69ec004bd821941115fe533a7b965c2ce7f1c93d7ed2bb8a464dd8c39787f357dfd85a1e5ab1d9be46dce00a0685b3a04c8a7de021ea9610f4ad9514e5676a22953d25d93660e008d17f03287462ad8aa4102ffb2a53b316127c35ecc8b1718cd08fca640103e3b15c50528aacfe5f24b52442c9f2ba2f75ec95d265558f3fd1325eeefce62ff95c8a1f5739f7f8e7b15b4366e57b73eb3b72d85eceea3ffa075e1fd3d8cbf7e2b9c94b0a9ef31f22bb0e8735d1b146fbf1a53732e7f291e9d63b49e537fff637919d0b892cb14565e43d62398f68685e99d74cd28ebb3b756352d433829223e5c364322cf3fc8939f7127775257641d4751e2e99599ef15c32a24a180e37abc20a00c9ae55cdcc83fb581c15954392c47a89260644d8f537226cc3e4fd1cbb1e3aa7ee84d571c017629c99b681d34fa70539ff7b64e7f40f9c76737158b0b095149de556a58187bbe1d2c1945b6ae1ade5f21056efe17975b7d1d6008375c83e74e141578a736080f72c7d720739f386e5cd4ebf4dae276059f061f12f99644c9cfb2f8aff90433a6de5751afa8b4f540c5104a55ba0652655dd8dff39cecfce0b0e938576f0fefdf99742a2ab71fbf3f1795f73abb5c063e2fa8865308cc0ccfb8606c09d0e9d9737b58167ebc444b68346321b1c40a451091ad32216254b69124871ed2a60ad6bed009ce1c29f3c74927d3b508100807d9e6b13a176c944dba5f7311af4e3ed1a546a7ecd3a13741c0cbbfe6305a7eab6506c441014e4a5668b80acea51a42cc30ddc3d3a62b2e82490bef1c54d5c3c49d29a933bc17d934cb3fe3c112cf6e487e627b1959c9f3bc12d91b9677e9b82618093ff8ca464cc2358160f20a939a553549475c9e8d017b842798c121ecaab31582f29829d6697eb18ba9cc071b903e80392fd850ff23647acd568b8fd7548278780d558309679658c8eff2f03cec796ece8c73028173ee61b1f532fa784852259ae128656c188cf7f8614aff8a30ece7cd29a41e22ed7438c438ed6cc187f793eaa670086d72dc768c661dd3d3719964c7f9d5ac39712c0916d2414b24b66920399b996afdef9088773e123f4808a11202a3ce8909ee41300b895c03f88b6b4bb4e4e1c486a6de5bff0f56d9f88d5d9ae6997a2f63757152dbb7252c30216b5b4a2431b5d0201298afb8d35844746174b106250773a545d50eca98b9127b63f759d50ee91d6c03849a5c04e5e581a1682aaa8267c64454a77cc3648a4891a56c3eabb0f9640295013ae260db9daf76ebce4b80da2975fa7416076c349da115124c4842723481b84029eb0877b17dc7836ca1ec1519f7be2c37654cc3f4b809d7de52d4a254b40fe1b9931820a85537ed76161df12b6187516d1d2c4ed9fd102ca173c5c51 -ss = f11f5bab28d73428bbb6c025aadce95ab7eeec3393c5a6ea4d6949b5be86b34c +sk = bddb6a1bb704f8b530860b719752402098c84ae4809b01c8ec7583a66a3f4bc290bf2173abb41868225606d54991f5b547c2254c74391717045997a57ba534a97b3605e1ad9f7c6446ac08bbfb1999179bb8f67731a63ce1c717f30b57fd17bc00605e8e14127eb0c26e324aabd45138484a51a15dd2464440178ca7e966d4d58383f6bf9bb2a971729074781a8d978965f9a51eb2729ba8c308474d56089f2cc869b523c41c409507a671f0f3621e057662454d49c49a398343d64cca74b7822d773373d5185426b7b3951256154a7b78cb1f5049df0371b840ab21b83944fb383cc84ad9e24ff42b2731276c1d26b6120534438b029c4ac7c0739453c2860d32acd75229c63a23a7201c303032bc0a410319035d38a3c9802d41a56a8c6c2496db10441a2bcd13a81f90cda2564cc9e4020a47595a30994888b383e996115aa282eac3e3594447110c2d07774f9312d796c6b74a7634b6c0da2291458a35d3022bee048483461cfeb152e1d2ca9195afd1f9aa82131804d35e739299c539b913c54a0c58683259b3137aa464b9c6e03b0eb751999b6c5354d6171c78cbbef1b456ec4c88199764a5761d18c0849c1b0a263ea401b86cba549c712e4a251830f7b6ee16b2bfabca3ce018c3833bb881385c272dee151ac35a2c9561b3c1266855219b0c6b485e669fcbc49b24c50c6c3237aa6b116085085405115e0422d956beaff9360b58bf915654b9b887ad9733f425a5c6990b3f0223d8099bc0e95c6a5702cf5667209ace08fb4697d02dc45caca8074185f54ec4641b35bacd2f0b770fc215fdc171c98baa7ab6c0450ba6e47a838575a528f7be221c3c91f02734269a9425a2edb76cb6d077ed76040a716d39c9c87a58ad8867954c752367a905aa158e0a9019dda50a6213c260f7bd8a0a6e8cf581fb74cb17283f3a1a8aa9a0418c79a948199365a6a1045238104280ac704b33791e156a2377bc83e9b9c86d0a3d2aa3287272be6431bb4e598232312d10d03bcb13b4d838a9a624566c6a25fa44a0934ab6cc333e6d52af3ec26a6fb97615cc3c77102d1a315486bc69c555a3e8271660222a406022e8d97251308a90a15f748153c1168cb133593c1641e164c8a06cc008059c55449413c2b28667b99122ac42b8bffbc15fe395003249c676db7589d2896e7405bef8ac510782ff204454c8a0390c332ceb7a5a3123eb1a1ad0470096058358ba779df70106e24990da77aaf09705110993f16a2320a941d8865b387236cb8528babbf2d9196c15898bf71040d3ba500cb7b1ac85df11003a058d838c2652d4577306023c756ae9715136e91b20699fef425e48953fece15baf27489d929876803eb0b5764e6338bf5970c2f35d1e815bb5b0b1bab630138859b729923343c3d24922a8522e38e19868b8a4585acf14b795ff3a609d93b1a5ccab08f877c5b71ea78c2819113fb3632d5d995b02926663f2ab8e3a73dd6ab93503192e0243f2593618e3a809684bb6a31674e77802828fefea3a50fcaeb1088f7edc036cb84329c988d965071e97c1311643bb1ca2b43cc57c84cd5ea9109ae36de2801cbdca3bb6f977959578954ac17d303841d5726631663f12816edab5c22b0286716d1da2b9ea03c5c23806e56679f43b33fb553ac921482f0b61db90acbca4b91ba19a22c5709ba48777979538519da6ac5e2b576c545b35e510b1a57bc651f69ddc4634588b19a31a481a216a365941bbf709679a9ef8a6324c20c6842818ba97cca6d26ca3fa79f3571e0cdc651ca753c5f2b8e8c247e9b064cd266d268ba3c18a30168452031b9458b3c4a084a7a9542fe7fb88fdd828f5d275cc1879fea43d84a38db1933298f6c98c08188b5aa96d9065e7a638d3746265652fe72a2d4623bc97c40b61a7124c899876c3aeb0d9cd2672795e0a65d44c0180436e8f4c2876e66cb8071262da0947a926c80c6b67e13697c7a200b55f576459478731ac9b62b7572442e04105a83134561ad9a71a9d4696f8fcb791c44593a680ad34b8096ba82434828c492638a9a870b14b611bc4fd43a005624895ab6760257d181954f3f934e3f6742dc54cec3cbbb8c229f8902d18517374cb6fa8a0cf6bca0487880d30173cbf6a0386f12ecbe135cb7b620a5b7b3999b947770401a917c6100d6d7952085257f692ad9173888f28bdae384635b2057a8183ca07853de05f72437d6872575ff4c0efb06259e397cda6a87a178498c9aac54b046a8219d98c48f113319984995f68b1affb863ff97dd8d14cace2921bc192e038be06a5c58205cdc68a3d1ec34d58697a7b6bca3e731e0a68940ee5b8307460b402651457ad1a7883d0165c8cab4d88f565008155ac009776500f3779530958c3003c7603c900e50148088b9420b78eac241dc0aa11454195a03998388ac747fc465dc140e9193a9294abb90b8022b493e069ae430ab3fc9307fc89358d3a88fb054e9836cefbe45c44569b285b01ec892d5ce8288ed638d1876663e3c33c25c28297609fd94cd0bb923a746a4f55470b3b6c03c8a930e7bc06a08f521b6063066788841964696a31547c851b578fd02434526c7e641fb9721cd390984bb121518a88633658c7c7c6b0830cb6800b2368cbe703cec33a4bdf319b49909b590a8bbc6542a108bf5927c49dbaa2c5c5009e002e242ba210a64f18b8542be1cb92a8293c56586b568b489ca697d6c4f819c399590472e8b9de9573a1d2934b86bf2d2b6f92ec8489430e0a681fee0a22bc3a705396ce6a74c1d5d3a91aa253da718757c875a1442fef4241f95b516d27220973c25e29b1d335846db494db4cac3a0b76388304b4252ac2362ff032a8b5c3322f6a0e5658799f1193ec69bf15c77e5ff2a3a2925690496af4320ec688450058b5727a0e66f98270267b3f49270e310714f353dd4b74410a9a0e778a1e030461113cfb05a142001cf39721215026cf84b1c0e706dcfc4d9ea80514061463a16e069750c026ad26ecca10f5830b2b756d515ef1c64d6d2c5e73818998aa9230d19d35842400c4568f62397eb0a42cf86c857c3ab009c8c831257d246b456996bc1bcc378a44bd88a0fc3469b0da0d22410218941431a12f37831653342f12206c56c4b3bf980a5017114b3112a6100b06a2a62104c48ce8639d1830e785cb3dab23f398691b48458d2acce79511ad276643476bd6c33d8d1c40fab1b81a96a7dfe36115e49a07f8c72240b9b3f24a2739b963609b0c2705f928c6ba7c2fcc0c164be46fdee5baa5730cd7a55e1221cd73305bff9b8ae5c126b8621bd6116c17286974002c88785c745bc32f0b86dba92e072a395e91acf7257ac5ec5ee88a7095acc39ad023a904b72c0ac845a318d18c7c72a0c4387cb470c8ba438498c5514398c70967b46109e18505543a98d51a3753bf3c657aef7264a91c2253f801641c609628a7f13a246d5aa13f3a4d1da22221ccba20091c6284452f376b32cc2d27d3869137a3fcfb06b7c93f70f3a20d84741b8a186d78af94c204bc0b6da175175bd819479485db23bf6eb2cbbb62a088f2bda7cb470c26b281e29e0f29a111688cc2e7cd61985eb39287546967ad991eccb99a6dd4b111861755964a77e3a7d2c5b9dc966e6f51bd53d72f9775a624f344fdf4bb3a9822d26b6db6b11efb527a2138c45f27c5e8a834ebc780e1e8210a9a7a4b7c3fc63b1757a22b8cab57bc07aa27a228cd30411ef407bc276ace8c05498cb641366b4ea0caf8101198b35a51d502a1c1894eeb700a832d70e627ac0b7a57543769991f007176cefb10c6e74a987c1d9b9750db5230317298a800b508d41c942b48c36035915c0504646726ab767a5059d39996a3e310ccbc610d878f9b7503b08822bc1541a359c807526d27a7abc1d78e3c0c3f67f0609c699e44ca8ce2c7a78e70042be21f4c569e9d0494a6e8c2f0592ba5060b365b57d1b03916e27fce04c42205803af0b213e27b21245e480b6330bc8533888e72e9bb2148059ac42ba2ba2550ebc37e437487c581d069bd27d739d4daac6d5b6c9adc8de4898181422a34b9a239508878a0682eb2466a44a59542b268d31989f049f433a7a0225d556770f4391dfdf4432133a0d888436afc531f4584abc40022c36314757e79538cd1c67da58a049cd10baab7a7fa38293ca84403291372f97c9eb85d120b541bba94098673e35358e4f97ec124cbc7e1c2e62a2616838d5d13674b832694975cf1396deb11a1cb5a1bcfda55ba86583884aa9593399a047f00e703cd458ad157333c349c46021b7ae1970bc2927f094c77970a7c9bacfb0a6e02108036f809c9ac23877b8b2eaa1abb3132e55d8bd5b08678bfa4243430bb4d059b58a4b0cf0fd26e4359601c371b50b50b5306de33cfd476d3b5f811700dc4918beb345840244e3aa8ac144dfda421de1a7addc92adb79bbfa9657f3dc4b78a7335f29db87b290d5 +m = a0caa815deb43343d4c18fbe19b107d20e36f89ac9d721ee8e82cca43f9a28b7 +ct = 1e2a1c5daad7a68908c17676504f08e4d2daf63443015b4b665f8aab78ee46d6eb8737a8ff21dc5f37dbc8bc6aa43ff3253bd34d823d8d19110b9034a80d623ccbdfaf29fd0323bde07ba91288b7c88ccbeaec07d44217ac6b1c636b0572ea23b2b9991250dd630da42b3fe9b3480cb64b3f5566802127270a265e27e23aef6a6afad300c2da59c5a930b5008e89f753f77f6af5b24d7db52b907c110a79ffc8314d3c24ff8f262fa5a38d748eb8201b47291d345fca9b057af70f460435637976cb086863e1d4b42638859f4620c505762ecb09f949db9ce70ac33ad9ca18e32e9ebace2d6a551ca4e136b5c180f4b5e4272992c1191c405828e7973492de8166888eee5a4f5b62ae8e507589f3998a79580ef45643d2b133a244fa4721c98e212f422a1ed9b1b9274ec5c8a28077f603dd5f297336efae4d5d49d54a2ad63a9aa9141ecf5997864e31fc7f6e06402aa0c730862eeb26c4574eff31c07f48ef4a371ee1c478c9d0ee12d576cc0f22618af30af31d67eedfa61b7acd66f99be434b6966c3308bf75219cee875dc46755b4ba7f2a3930150d31203a49ece8024e5af8b7bc548ddb31b73063af345597cb342766f8ed0054dc819c0b49c025acc37f2fc640aeb05a45debb232123b6576e1dd87eb2377f42606873bd417ceb24ff8253ac4f4e2c9f543e8fd8f1071695cca77a4960634e9ca5a3817b868263fe82c6d42f8fbb542e20b8d0c387eb0349ed5ae38a985acb44c5f7e30794c1455a4ea13fe70adfbf08a5a6ca1526ab651a577394b1ec951078c76a3fe05861f06e2d111ae7030f7c51a60f1baee1552cf1101a27276773d0ca469211ca7eab5b2f4f8d8df7215e24954ebaa23272c6f56a638ec2daa173181a635fd96b8ca6ae32ea02e7f9c73de6501aebd833f01d730f3ad9f93f06220a8afd17f9d336f442ce9e761c29da4d10f64f13be346ed7a7dae1f7465a10639aa0c39ea588a96d981db69d49f1cdfe3171655d71bb23c6b0c53315879610e44f2f407176236c4ef906e51645940b399f956a63f3786801244f861bd5aadedc5e2c3f642eb7d509d808e06fbc8f0a37cc58f7ef6faa97a8d4fc6ab28d598a6f24386932f1b80fefbd0bc4adf0c19194be52c89ee77d72e19182503d775c59c3dcc2af6e4e45e6b45fc5011499ef5152e1ddc3733063c2f25e2d9d78fe4b888e5a51b15a879aabe8face6a7e08a4f11359ceff5fbfcaa0b49e911f3b14ae33135c9e04271d434e986eef54d21d1c9c79c582e32ec63c8067ff226fe2fc36f15c336b6ae85fca6c2caa8aefd79a6af29ca16ab4199f87f333b83728ec815dec535f47d5f8e75e2314160dde640ff6929c6bc48b59e8dad16553c885a9aa502f110c38282f24e10ab5d67049d2bb30bb7e7959c144fc200df89c585003ffe8438e331dee5ebf0d950ff662cf75a7c1003051e5f702451511cbaca9434fc78561f610d24e34ce96974ba8a589122f45a763a13c258c3d412f89af504f37b1abc43eaf7595b07821ea6cbeeaac5a3c64688089f4951fb637667ad348e5e2c48d31a4249d4a7436bc02871e2f30e407f24af3a8323e328f636872812616c24772835e22ab4e6cf99402440160cdc5daedd3a2b46571f8ab41212a7b4537366de79568c34db1f3e6be838008d39f1576eb7705eb3db5d1158e8db81b72f9c3e6d26270979f50e170aebf7827e4b055b9b8d3bca09c6befac0ea1b04dd650c88ae14aab4f894f98a068aa0bf765b2707a35991e1febe91f01e4d0eafa7f9a56895c958e47e0e0667d6bbd21bb7cff6509e0a4bfd3f9c58dbd4749b235b6fab1afc48d7068566f4abf022b1c763e79da72b6554fd79db47166986972620ecf5c694fbd264524a75f9f768d537cd5e34abae7883a35baf8fdcae93443a8f0fb95519fc2134fb406f46f8c9b5fa98c0d5e551111e4fe1e4ca36e85881a008f061ddc3404f6abb3f3ab5d054a2ea209c6927c1c8ae69693ec11c1850ca8a2edfd80cef38f641ba8f49b277d1163446a5d71417da34cc0808ab9ee5c74b01d30be821c822a088c3a4c69513f4d58164bffa4b32badc195b1d79ea5685c83d6d37e6979a3ade4e8612aa2bc36c6f7f73082c10c7e91786b348bd0d2a4d33403fa78ba867b37763da4ecb113f7d6c64b424e3a0c4390d9223ee51b1e3a0b660edd340b686b8f230a25688a5eba749cfc8cb2 +ss = 3f38634f1c524c69ce06e37b7274c8265231e8eac9a872535e9df4d7930c4342 d = b87439fde81c9e39eebe7cf741c685785532c1dd23e8ef868b9ce7a541010f3d -z = 1646460817a0fce5836bdfe124a7448e7adf7b8ecc2652ac6d280e986682df71 +z = 6eda18027c6709111f1987e026a481d46003aeaf2ff23b675bc349c749f300c5 pk = 49548733578aa80987b45a404d892f45f83fe6260b4521181484a7ab65aed79a53f2e495ad444066d1108d14c4fa74847fda990a783fdb923734860238a94b8634217de964ea35a3d4c651a15c719301a2cad86352257c2ca1a87f329092e18c5c782ace76ba239c6001143f87a0406da9437d7b19144386b9687023a34a46814eae040c71673aca3993acc03879c9af60ca0e4eab9205b7ab65c33ff1295100d349f84694abe062672135865494ecf58db2912a3af380c228b78d329634f359008871769696bb357d552c3e9fc17d8b636e1b905303bb2a5b6a6f07f478d4229daac38ecf47c205371705b72092f7a438d01267783e24370080362c659796d7443354d92dfb9bca5ba5355e5c3608bb3d9b312fc7ac435b81cc1a6ba84a74283763a520381e9e3c998dfba80d8383d416495b42b7b6ca3e91789c8191b894350f52b6b7a3e38a45f50f39497794e0971650c446551d7d304c87515bb415773c10bf08cc20506c0f515428e8b9037c42a837469de6a3a37c695b602407a46b7796593623a9c840accb5a6b1175a30f62c8b9461c444eb73bf1e22418347af3d92742175bbfb41474156745eb0dcbc4077eeaad6c13c314d3188d3c9bf2f73784c0cd1a215c4623a8bbb19997d82be2b1719346190f054a1ad92819d9b812028633469c3661238fc66cab7c05bc5468a132c9b3a50ea5a4a8ea04800c97c3b391115725011e597312b7a0440ac2da794859776ca73b550d666a8f058477a1a0c9621ff6184f415114d35514909719234c166734b5535b863afbcbc5a2264a86b0642a41763b6d6da15447bc930f925415abb3170337c6985c499570dfb98430a56cd1784eeae57a5da37862790a282b8db833ae37bc5a6940a8b95926f1f468853b288c9a4c7c128bcb56c7a218c3fc725ad1b89c829799b0a8a1f3718fb489b83b900f1cc9b1ee16369f18b207d022a35224330582bc4848e4634f3490c12c756246dc9f3cc27550057a1863ccb91a4b891820bc882c0e6024e1bb037677092c633f2cf68b96b666e1034339ca3e43f6ae7fdb22f9fc7649e559e5d22a07075bde79a82e62b5a5258a0e685a2cd1bc8566cdb4a19d5c581236f0cb4e7aad6f561ca9f6850d30a6fa0c1eca230a06e11cd6f26194f56f40bbcdc99bb4c1f32c851bbb7af48f19d813f89b01d9477861e128631b9b4d72c4c7ccbe59462a4519a8a34a44dd84586c4a542aeb6e1338b6836297a59283af07ccecec01ce074d8469c93f509f09f7230c092c63f2245ac2137a4349078a473d81cb3f87cbdf843645500b932bc326a85fa91095e4513e9dac02d92a69f5acc4200bb1dc0270b013b1f2372bc75aa609e291f0385bbe9376953cccb3f99971dc9747cb913760506fb051ed186454255fcd642aff73c32743158d467b0ad012aaa439c9335b4ee23a426cad3ddbc4ab882076c2bbe83321fb684825b032059838e3d43da29852309b1a7c15c08a5669a3ba2200b34b7f325a5f47b479aa49984060ace979e9db6bb68466973a3e0030c0bcfc4e6c6c13f734b1731ca956f89341d37b1cd5c40bec802a98c674869c04571993e461446b2e2a68ba71915bbefc2d40dc8756b9ad9bab639ff6985e03b5a861785981a7b1449594d584bc1cc4ef7a4333e5453944c61d0145a5b6c999900df26299ccea5cc1d36fbb80c1a5e9c619a4347669377d541519ca47f06884b1984408d43b4133bdcc488bddc599c4057b14a027d051420a5c17cc1671f18a2128b58e9b7a5e233a6ed2da288130b51e47038c9aa2751556ba24b284515af73a81a6881d665426d1d27a8a763fb3b2caa19bc310a9c10024b7d722606c3b6f19c8935b744e28333df8b9480a0083eb588380e6a12d777862e5c7d3e1874e8b1405a5787e92accdc798a873539c133502569e6de7a29c7025289a9913cbc7aea55718f96f2b2c6394b38fec3a7b79238bafa349c03960750209ee517629ca2280bcb7df35793bf233fa074185a04894ac515b8985ddb5acab68ab379a639c49216a8ba4f9b125947150a907385e9729a7d621a5a9bf8c4a1234e6ce4411923c18ca0e925cb372c59220a502390e4c740571f71eea1083887a5797f5631f614f4e91184811892c6086b0f5bb6fc322afa31653509c8e11a8eb3b7d32e99b4b05d558ea7918a7881bcf516457ad2c3ab72ef2e04e3a4acb85a987c2 -sk = c6389f081ca0932ab66f658046c1278b38bc42b5c4e1a7c7a51b09d8a159773b67aae1c2aa8666000c6e6a014b5c0369dff147688ac6fd48c73d783e3025c92d782a479acbde8a7548384b763a868c46178345a773a9852016b9fe765db0bbaba5751e8056b7564c53fee8040d3c0125115d323c62a3f0a2b518330b6cc4abca84f62c792d07c1e1a0bbbd7c5b9a698cb683981f8828ee69912600311a0281dbf9c6c9e69daa26a446d136e8b0310f236d7a5a49b2bc616fd346c3462ab09544998c8d5ef641e7b48c35ba7a68f25414f703fb02b501c69c58a9b798c8c76923272ed9bf432208bab30f2db45e1cdc56f6ec11792a33ec1a62b3fc992441527e63328a46003db49b7dc07f73f705ca0220de94bea4967213d612b5a03b2c16a9bd4c66e0ac893263169a87aeae67843944628e6374b5518bf40919840b8e6c64172be3a35ee5a29777c035463380203072ea50e7daa4f906d01c502560621137b91649c97417cc2d3e1677006226d4621073cb1aa213525199bbbfa78f1899a53cb2b8d00819869867a41b2f48c615efe2c8da15a4e6965bef0c4207a499a2156ebfb611478182d85a71c9f8776d28051d1a6e4a104e54615992e0595ca9b0cb2a0ab0159575863f3145b3401498949502b2ea4392c77728215f8700c93f5846a1a8126eb6b72248bd1047bbe62aa58737268428509e53575f945735e75b42db2ba2f21b24c990a847241d2c3533b10d50847c85d98143fbb2eb5138accb055a8b8bcec8afd7b5697306165af982190821a14301ef0a90c3d829ed9035430725a99c67745ca415600d10d7c29b228998d7402efc1f0d0476c4d74c34754af9a1aa1213c9a0198065378de2d023eb73b3a4bc5801d98213ab7040cb63318b8395dbad6c7c604760ca679b301ab08ef1a948a5a83debb39651310b368c736a56977f78af0916364f278a4e3973374213f7a28ba70296d1916fc65cad3b33c4e1597f818cbc489ba970680999c373dbc246740c07d97c5e1ea5aa1d627757f4467e84ab9c5bafd9ba484f1212706788cf5ac1829c7ff0a66f26c30aae327bb7e167bde95fb5829340b187162a5fde3a7cc6a0a05fdb6f26902bdb0c6c4f75692e67ab1c8b1b46a40e53fc901dd892a3e612afd1cb2cd52bc5b0c3191137e602b0a5872d3a961ef7168990b634f438b744375d75995943caaa47e3cc5dc634432b6cf2db29b637a5e22559a59971be46004fe2a40f7c330610377a5b0eacf79d85f3c86223a4c90c31c2495314748601431fa1f49abff2575410af33f7367c5540084b75d6736ecaa010290839ee2456ee16bbcb57c601f26aa104916254a689c24cae98296e4bcef8770ed7485511f55a46c75592c88d6f76005356c397eb1e61caa04bf55a05c8409e644055759a7e60c1c8210221fb97780b92c2c8aafb6b94c259a9ce6291e18a801a82456b93c221a625129a1720328f11574a5c35c3650a7b57619c61f47ed6319329f118f4c31358a26a7e9191cab61012a71b27b47fa13cb0b2c959d913a2f4bbb3d106ab695a4c13d41256a0b442f0428de78f90609a11b8cbb475083712539e1ab034903c30f6b73bb8229ed50f901b142a597e7fe48b6333ac8e01205481b10eca15f509140987166d81cfb7417dac331ca141ccc61a446b285c05d9a68aac887aa23e17ba7deec8521aaa3088cb03cc7056560ac669772609c53153118b45d855f7dc44618b743c22c779145d58867d04f101904579ccb2cdacb28be7e019c01511644b3a9c288a1fc84658281ee2492124f609d4997765f315370176a0e3c327458027facf937a38eb88ad7c950db7eb5c49e17d48532822611d8625581b3b2425288872e00db25037542360cb5685bde15872a935069cc09d04395fd1a5ae62084f74b66da89263a11e8d177dffeb686a2445119065d8c59248f23e0d515ef2502177bb273ac62a9fea23e0e48c9224596c44ce974650dcc81ae7dbba062bcef017898beb0625c75eb2ec3444f20eba3195f5f9018309b026a32d4211430eb1c1eb2b7d87b0c282f0a04633499c3a9478a7b755e0b1904794f5a0b94f52c05300c838c67f4c26803c52a042812da9c8cac5650c3367a770220f43e3c039c3109a506731076c8dd1b1d99caafda48254a73ebfb66849548733578aa80987b45a404d892f45f83fe6260b4521181484a7ab65aed79a53f2e495ad444066d1108d14c4fa74847fda990a783fdb923734860238a94b8634217de964ea35a3d4c651a15c719301a2cad86352257c2ca1a87f329092e18c5c782ace76ba239c6001143f87a0406da9437d7b19144386b9687023a34a46814eae040c71673aca3993acc03879c9af60ca0e4eab9205b7ab65c33ff1295100d349f84694abe062672135865494ecf58db2912a3af380c228b78d329634f359008871769696bb357d552c3e9fc17d8b636e1b905303bb2a5b6a6f07f478d4229daac38ecf47c205371705b72092f7a438d01267783e24370080362c659796d7443354d92dfb9bca5ba5355e5c3608bb3d9b312fc7ac435b81cc1a6ba84a74283763a520381e9e3c998dfba80d8383d416495b42b7b6ca3e91789c8191b894350f52b6b7a3e38a45f50f39497794e0971650c446551d7d304c87515bb415773c10bf08cc20506c0f515428e8b9037c42a837469de6a3a37c695b602407a46b7796593623a9c840accb5a6b1175a30f62c8b9461c444eb73bf1e22418347af3d92742175bbfb41474156745eb0dcbc4077eeaad6c13c314d3188d3c9bf2f73784c0cd1a215c4623a8bbb19997d82be2b1719346190f054a1ad92819d9b812028633469c3661238fc66cab7c05bc5468a132c9b3a50ea5a4a8ea04800c97c3b391115725011e597312b7a0440ac2da794859776ca73b550d666a8f058477a1a0c9621ff6184f415114d35514909719234c166734b5535b863afbcbc5a2264a86b0642a41763b6d6da15447bc930f925415abb3170337c6985c499570dfb98430a56cd1784eeae57a5da37862790a282b8db833ae37bc5a6940a8b95926f1f468853b288c9a4c7c128bcb56c7a218c3fc725ad1b89c829799b0a8a1f3718fb489b83b900f1cc9b1ee16369f18b207d022a35224330582bc4848e4634f3490c12c756246dc9f3cc27550057a1863ccb91a4b891820bc882c0e6024e1bb037677092c633f2cf68b96b666e1034339ca3e43f6ae7fdb22f9fc7649e559e5d22a07075bde79a82e62b5a5258a0e685a2cd1bc8566cdb4a19d5c581236f0cb4e7aad6f561ca9f6850d30a6fa0c1eca230a06e11cd6f26194f56f40bbcdc99bb4c1f32c851bbb7af48f19d813f89b01d9477861e128631b9b4d72c4c7ccbe59462a4519a8a34a44dd84586c4a542aeb6e1338b6836297a59283af07ccecec01ce074d8469c93f509f09f7230c092c63f2245ac2137a4349078a473d81cb3f87cbdf843645500b932bc326a85fa91095e4513e9dac02d92a69f5acc4200bb1dc0270b013b1f2372bc75aa609e291f0385bbe9376953cccb3f99971dc9747cb913760506fb051ed186454255fcd642aff73c32743158d467b0ad012aaa439c9335b4ee23a426cad3ddbc4ab882076c2bbe83321fb684825b032059838e3d43da29852309b1a7c15c08a5669a3ba2200b34b7f325a5f47b479aa49984060ace979e9db6bb68466973a3e0030c0bcfc4e6c6c13f734b1731ca956f89341d37b1cd5c40bec802a98c674869c04571993e461446b2e2a68ba71915bbefc2d40dc8756b9ad9bab639ff6985e03b5a861785981a7b1449594d584bc1cc4ef7a4333e5453944c61d0145a5b6c999900df26299ccea5cc1d36fbb80c1a5e9c619a4347669377d541519ca47f06884b1984408d43b4133bdcc488bddc599c4057b14a027d051420a5c17cc1671f18a2128b58e9b7a5e233a6ed2da288130b51e47038c9aa2751556ba24b284515af73a81a6881d665426d1d27a8a763fb3b2caa19bc310a9c10024b7d722606c3b6f19c8935b744e28333df8b9480a0083eb588380e6a12d777862e5c7d3e1874e8b1405a5787e92accdc798a873539c133502569e6de7a29c7025289a9913cbc7aea55718f96f2b2c6394b38fec3a7b79238bafa349c03960750209ee517629ca2280bcb7df35793bf233fa074185a04894ac515b8985ddb5acab68ab379a639c49216a8ba4f9b125947150a907385e9729a7d621a5a9bf8c4a1234e6ce4411923c18ca0e925cb372c59220a502390e4c740571f71eea1083887a5797f5631f614f4e91184811892c6086b0f5bb6fc322afa31653509c8e11a8eb3b7d32e99b4b05d558ea7918a7881bcf516457ad2c3ab72ef2e04e3a4acb85a987c2e1f6c5a99a49d6b1b4aa18089439bb4c56ca465785bb36594ef2ebd3af20d5641646460817a0fce5836bdfe124a7448e7adf7b8ecc2652ac6d280e986682df71 -m = 2607dcf4fd6ca1c614c21b5e37c24981c32b91c8c3e6955777da8a3f5d9c9335 -ct = b7ea1960dee38f3bafb4591b3b838363e5dbdda139e40079568373907f1f729c3cc9a2ed6b021cfe5a9b1854fa9415b028df1de3fdccfad5a3fea1e33250cb92344bf28e5d3079bbf4c737505955b26357a3c28982b11b0ece1dbaec4ec2e400f5d2aa01f5c012eab444c2b219462f8f064898d14aaf12ff6267737475842dbf5c49901ef6535a5aff7e6f2b2eb06ea195e2f874d57a00367bd431a1ad3e0ece51d3f02a638a46565c82ca6e0534a69daaa855185f1ad6f383f56402d6107fb2540c881da5015e847844b74e9a97f7f762bacc43a14c28a5332a20bc00e00a31b36ea5045cccfaffc73299e914e83a5e3c4ce0a893f08de7bd093ab09d1129845927aeaabeea70d3dff90bcd4c9970507a88a50a39c7b7aad94781875dc45e0866b5ae3616539b29fbdeb52a296aa1696930a16dcefd8414baba1d551746cccc76354bb9b13dfc24ec1e28350f7c476ef44d7b4a1095c5200d5ca0fd70c594cbda3060e8e68aaf05afddbfb003c383974ea0d50e1e0017887359dea685b9dd4b215683cec6323aa7c379713eb6d11da4c697eb15a69fe5414e2e13fc2500c405f692a85a30dffae3faa1f965b87e4735d14cc9de8c8316642eff336b15466a48d24c526ce68e1c6e493b009bc47e134c041d33279789f3a9968779b62c9e3d70423c8a00dc30abe6cf8e81a501e60301653f593e01246cecd2b65d5c7831e7c7ff0bc70a3bde3bd9da62e1d612afc9d7d4b17aab40247c02f5157ecff9b3e3545fb1fd3117c9d285ff1c0a31cc79966385b8a92e075d9e2d72533a16c0faa97a1ab8312fc4f478a1ee4ae6fbc718e2a4f441e9b099ccd0b2ae98a0141ecab673d04b845d995cb6f4bb3b51e24b9ff73ad3e595761753bf38ff9ee9a5f751af59f6d72ddfe98adaf80b0a888b061d30283ac64b6175e53b50ea8e6342c1e3dd4842cfd7984bca3d7f60ff4adca7541562cd95ca1f796f36a37bed37acd4e67d86c5cbc893861f1777ba1e7c9f20bf2d7b68614c9d1d70d0c56c1894e4be9418fe4580cc18f18ccb997d4b669429338521e9cd12b969c4b75bef259d533a42f925016188f2e176430e4cf82803ff9c984a31d85c26201afeffe56bb36f3ee9f815f33efb3df232f6eebf2d2c151179cb72e2b3463f5796df6052ffb1d5da8f3de4223ad3edb3375c06080a77fb77ec6a0c9df4d0d590992c08120c8026898f5d28023892097134134227702f435938eba1567d65953a81b8ae2e1300e05be7a4ea3b4ef62dd7a9645a56e92a2e3c2cee37180f1ce56baf7ed15f1b442a9eb51c909450544910bd26c5bdf99b8a9f8604ac5572e2bbc10bd2084cd293da7273aed11e9b7310856e33aa2e5ec5a1c3ecdb8cd0a626bc70a57613fc4bdeb1635f5bd1dde249787fddfa430d72c82c9ce7392caddd1314cc0f2809e433cc7d36ea1dfc89b9aabe4cd500ba1fb99c9cf2196e6eb159f5d4d944af9ed1a9e094e69854548e1879b46cff975b851860cc66ac43a31ce6657c3c16ead9f3c77783a65d115dc62b24d567dcf0a688ccb2c26b7b12fc26960e38434c9c8be69c65a21bf1bf3f863753ceb19331bb570cf64e0495c06bc830f3f44a44a410d4138bd6bcd91dd02fb0bb46780a0a4e02f102a1c88879c2592eaf3483777885092a43d1dc634b6dceb29c111071b00ba834a78dfa3fad75ff44b78ad40f4cb088555d3b581fda7490b8739f8b4689a77cc682781fa6c1f339efdce5bd1a682f15d28f72c6170f35000b6fe49d00185e90fbd344e5a0d1bae0e6ec091fd0c9d966388e6508b4f0a1bf3239bb0f71bd40147abdd80ab9e7a5c588d80438fd0b52d309a89ebd32c63302edab51ea0a450d4b047622e631bcd2b474bb7f5d579f08d594939f56b0d9175a5f191e876e909581dabd08955cc315c948272df0c3ec861fb6cd86ff0944a388865ca6364278ed0755902e57994438db88c87472e8957809c211bb4a5beb33a71969a636edbe08219112f072d687294cc2fcaebd3972cf035ada150d363873fc079fd115b53fb16f406b290ee09e89c74c25d41e60d9d0ec0ad30143676be3581d93dd67e40910ad9cc263338550c3ae7243e066986321d928706da2ad4c606b3d9f1a64338130f15dae0e093b51f24913a4fee0e5ab7284926f40711606bc892e30d3785683d316b766d422b1743cb4980b9b467b8a85d1bf9e3d9a84af8e -ss = 802e384b54ea191c7ed1f6c3c6db5a88f9115994858a1c1b9cb3f604e0935f99 +sk = c6389f081ca0932ab66f658046c1278b38bc42b5c4e1a7c7a51b09d8a159773b67aae1c2aa8666000c6e6a014b5c0369dff147688ac6fd48c73d783e3025c92d782a479acbde8a7548384b763a868c46178345a773a9852016b9fe765db0bbaba5751e8056b7564c53fee8040d3c0125115d323c62a3f0a2b518330b6cc4abca84f62c792d07c1e1a0bbbd7c5b9a698cb683981f8828ee69912600311a0281dbf9c6c9e69daa26a446d136e8b0310f236d7a5a49b2bc616fd346c3462ab09544998c8d5ef641e7b48c35ba7a68f25414f703fb02b501c69c58a9b798c8c76923272ed9bf432208bab30f2db45e1cdc56f6ec11792a33ec1a62b3fc992441527e63328a46003db49b7dc07f73f705ca0220de94bea4967213d612b5a03b2c16a9bd4c66e0ac893263169a87aeae67843944628e6374b5518bf40919840b8e6c64172be3a35ee5a29777c035463380203072ea50e7daa4f906d01c502560621137b91649c97417cc2d3e1677006226d4621073cb1aa213525199bbbfa78f1899a53cb2b8d00819869867a41b2f48c615efe2c8da15a4e6965bef0c4207a499a2156ebfb611478182d85a71c9f8776d28051d1a6e4a104e54615992e0595ca9b0cb2a0ab0159575863f3145b3401498949502b2ea4392c77728215f8700c93f5846a1a8126eb6b72248bd1047bbe62aa58737268428509e53575f945735e75b42db2ba2f21b24c990a847241d2c3533b10d50847c85d98143fbb2eb5138accb055a8b8bcec8afd7b5697306165af982190821a14301ef0a90c3d829ed9035430725a99c67745ca415600d10d7c29b228998d7402efc1f0d0476c4d74c34754af9a1aa1213c9a0198065378de2d023eb73b3a4bc5801d98213ab7040cb63318b8395dbad6c7c604760ca679b301ab08ef1a948a5a83debb39651310b368c736a56977f78af0916364f278a4e3973374213f7a28ba70296d1916fc65cad3b33c4e1597f818cbc489ba970680999c373dbc246740c07d97c5e1ea5aa1d627757f4467e84ab9c5bafd9ba484f1212706788cf5ac1829c7ff0a66f26c30aae327bb7e167bde95fb5829340b187162a5fde3a7cc6a0a05fdb6f26902bdb0c6c4f75692e67ab1c8b1b46a40e53fc901dd892a3e612afd1cb2cd52bc5b0c3191137e602b0a5872d3a961ef7168990b634f438b744375d75995943caaa47e3cc5dc634432b6cf2db29b637a5e22559a59971be46004fe2a40f7c330610377a5b0eacf79d85f3c86223a4c90c31c2495314748601431fa1f49abff2575410af33f7367c5540084b75d6736ecaa010290839ee2456ee16bbcb57c601f26aa104916254a689c24cae98296e4bcef8770ed7485511f55a46c75592c88d6f76005356c397eb1e61caa04bf55a05c8409e644055759a7e60c1c8210221fb97780b92c2c8aafb6b94c259a9ce6291e18a801a82456b93c221a625129a1720328f11574a5c35c3650a7b57619c61f47ed6319329f118f4c31358a26a7e9191cab61012a71b27b47fa13cb0b2c959d913a2f4bbb3d106ab695a4c13d41256a0b442f0428de78f90609a11b8cbb475083712539e1ab034903c30f6b73bb8229ed50f901b142a597e7fe48b6333ac8e01205481b10eca15f509140987166d81cfb7417dac331ca141ccc61a446b285c05d9a68aac887aa23e17ba7deec8521aaa3088cb03cc7056560ac669772609c53153118b45d855f7dc44618b743c22c779145d58867d04f101904579ccb2cdacb28be7e019c01511644b3a9c288a1fc84658281ee2492124f609d4997765f315370176a0e3c327458027facf937a38eb88ad7c950db7eb5c49e17d48532822611d8625581b3b2425288872e00db25037542360cb5685bde15872a935069cc09d04395fd1a5ae62084f74b66da89263a11e8d177dffeb686a2445119065d8c59248f23e0d515ef2502177bb273ac62a9fea23e0e48c9224596c44ce974650dcc81ae7dbba062bcef017898beb0625c75eb2ec3444f20eba3195f5f9018309b026a32d4211430eb1c1eb2b7d87b0c282f0a04633499c3a9478a7b755e0b1904794f5a0b94f52c05300c838c67f4c26803c52a042812da9c8cac5650c3367a770220f43e3c039c3109a506731076c8dd1b1d99caafda48254a73ebfb66849548733578aa80987b45a404d892f45f83fe6260b4521181484a7ab65aed79a53f2e495ad444066d1108d14c4fa74847fda990a783fdb923734860238a94b8634217de964ea35a3d4c651a15c719301a2cad86352257c2ca1a87f329092e18c5c782ace76ba239c6001143f87a0406da9437d7b19144386b9687023a34a46814eae040c71673aca3993acc03879c9af60ca0e4eab9205b7ab65c33ff1295100d349f84694abe062672135865494ecf58db2912a3af380c228b78d329634f359008871769696bb357d552c3e9fc17d8b636e1b905303bb2a5b6a6f07f478d4229daac38ecf47c205371705b72092f7a438d01267783e24370080362c659796d7443354d92dfb9bca5ba5355e5c3608bb3d9b312fc7ac435b81cc1a6ba84a74283763a520381e9e3c998dfba80d8383d416495b42b7b6ca3e91789c8191b894350f52b6b7a3e38a45f50f39497794e0971650c446551d7d304c87515bb415773c10bf08cc20506c0f515428e8b9037c42a837469de6a3a37c695b602407a46b7796593623a9c840accb5a6b1175a30f62c8b9461c444eb73bf1e22418347af3d92742175bbfb41474156745eb0dcbc4077eeaad6c13c314d3188d3c9bf2f73784c0cd1a215c4623a8bbb19997d82be2b1719346190f054a1ad92819d9b812028633469c3661238fc66cab7c05bc5468a132c9b3a50ea5a4a8ea04800c97c3b391115725011e597312b7a0440ac2da794859776ca73b550d666a8f058477a1a0c9621ff6184f415114d35514909719234c166734b5535b863afbcbc5a2264a86b0642a41763b6d6da15447bc930f925415abb3170337c6985c499570dfb98430a56cd1784eeae57a5da37862790a282b8db833ae37bc5a6940a8b95926f1f468853b288c9a4c7c128bcb56c7a218c3fc725ad1b89c829799b0a8a1f3718fb489b83b900f1cc9b1ee16369f18b207d022a35224330582bc4848e4634f3490c12c756246dc9f3cc27550057a1863ccb91a4b891820bc882c0e6024e1bb037677092c633f2cf68b96b666e1034339ca3e43f6ae7fdb22f9fc7649e559e5d22a07075bde79a82e62b5a5258a0e685a2cd1bc8566cdb4a19d5c581236f0cb4e7aad6f561ca9f6850d30a6fa0c1eca230a06e11cd6f26194f56f40bbcdc99bb4c1f32c851bbb7af48f19d813f89b01d9477861e128631b9b4d72c4c7ccbe59462a4519a8a34a44dd84586c4a542aeb6e1338b6836297a59283af07ccecec01ce074d8469c93f509f09f7230c092c63f2245ac2137a4349078a473d81cb3f87cbdf843645500b932bc326a85fa91095e4513e9dac02d92a69f5acc4200bb1dc0270b013b1f2372bc75aa609e291f0385bbe9376953cccb3f99971dc9747cb913760506fb051ed186454255fcd642aff73c32743158d467b0ad012aaa439c9335b4ee23a426cad3ddbc4ab882076c2bbe83321fb684825b032059838e3d43da29852309b1a7c15c08a5669a3ba2200b34b7f325a5f47b479aa49984060ace979e9db6bb68466973a3e0030c0bcfc4e6c6c13f734b1731ca956f89341d37b1cd5c40bec802a98c674869c04571993e461446b2e2a68ba71915bbefc2d40dc8756b9ad9bab639ff6985e03b5a861785981a7b1449594d584bc1cc4ef7a4333e5453944c61d0145a5b6c999900df26299ccea5cc1d36fbb80c1a5e9c619a4347669377d541519ca47f06884b1984408d43b4133bdcc488bddc599c4057b14a027d051420a5c17cc1671f18a2128b58e9b7a5e233a6ed2da288130b51e47038c9aa2751556ba24b284515af73a81a6881d665426d1d27a8a763fb3b2caa19bc310a9c10024b7d722606c3b6f19c8935b744e28333df8b9480a0083eb588380e6a12d777862e5c7d3e1874e8b1405a5787e92accdc798a873539c133502569e6de7a29c7025289a9913cbc7aea55718f96f2b2c6394b38fec3a7b79238bafa349c03960750209ee517629ca2280bcb7df35793bf233fa074185a04894ac515b8985ddb5acab68ab379a639c49216a8ba4f9b125947150a907385e9729a7d621a5a9bf8c4a1234e6ce4411923c18ca0e925cb372c59220a502390e4c740571f71eea1083887a5797f5631f614f4e91184811892c6086b0f5bb6fc322afa31653509c8e11a8eb3b7d32e99b4b05d558ea7918a7881bcf516457ad2c3ab72ef2e04e3a4acb85a987c2e1f6c5a99a49d6b1b4aa18089439bb4c56ca465785bb36594ef2ebd3af20d5646eda18027c6709111f1987e026a481d46003aeaf2ff23b675bc349c749f300c5 +m = 281023b82d26fa61f9a306cce0fa00037556c9a0b597fc734ab2fa2a146c1661 +ct = 05b9bdf894212bebae578c1a2b5d311c59dec8b3e9ac8734cf5d3a1829d03e0552747e5f9c50408e0edd04e867fbd9c7275dcfca3f76f1a4a5605a06459b3275cb1c263c07b38bb16596940559a96ced98a74d2bc9d060b82b16603d979755ec063f290e4297511aafef7f181256df08f5ff309d742ab917564cc223d71d728eb299f5391d6948b7c846a15af1a563f231cfd0fe6f632bb17c74fb2d4abe87d8c5afdc656e21ad6b71bc406c480192c25cabab25469171c3dd892d16fc5745324605c276c9aace9bd2973cea580a75585cff78793707c6690de151cc0ac4cb420767758bcfa468ecc9ac886c7c039ab23aa5c81bdb340b97902cdc432bcb64ed9997bbab2e9a9242318db5e6461a583048713f5c9e17de527e25a464be5cc0399fa825358a440d134629b57f3823524efaaa8d0bab0af8dbed7dede3ff8e733c145ab7ec5a281c637949b5d1d19a9eff966b7d88d0b67335e13ceb82b22a493d73be81ebe312485ea1aeaa6f2069f9d81485b1989b329c59ba1fcef73f3991839395b35fc57a2fadba41c2ae8f4908410546aa7806aa199f66ff97d8d76983558dcbad7b0ec1b35528fbfe5d5e2dafceec5a44773bd787e6811584fe9ad78f5942749028ec2607dc9bc1681b1c5cb686b8fabb446494851d906bd64846690e1f1ba80cca1140cfba0eb241c4e02982349a68f0814cab36560973807c93e894f53a09024ca6e75156dd0069f210a8a0ceb138b8d9a1cd1ffcfa698764784aa17c4b90f151261fdfbbd9fa4ce651d08d30d773d32d52f949779f3ea0a743bb43bfd4176de37199f9f11c6b6e54c7e022f99de6736e06614966b061cb490f48897840c6f768386d2ff614277f9e350c54e5c23405ab14e7c9d754a93c89318036f319a8927f142428842f30a4b11217ec5a2bf81ee3005e17b6bf4404fa0fd4443de11c2224b4e08eae14cdf8aba36f5e0f1557ef0da3042e8e3690afbdba5a0f89b3ab6a3609acaffa62ed3bd239e78c3e4cfa5b18b121b7621a67b892a044852307a8e75ec3de96c9ab5c4d08b1ad6137aa3046a19cc7a42b22d21027375e6da86dc73af76c66551c54e1c429120b99b19513c9a29d6ae663f6a91e0c6102b5632d8a639a249f0242ee2f27bc09d71873a634cb088196a177d625dd2757881383c2f4ceb2e5ab4c68e9ef5338c4fd6a829bdf9fbc8922f8b13c2ac58cbe8373392dbaf8d73ccb4c08932841d377fdc98f3c957a222b1a792d946aa66ff734965127afb862c605ea62babcf843e2013b59d9728734025212ea1c8bd4b8d92a34d61a24055ed05c2a9cbdbbe6b41d5ccedfeadcf1ffd3ae1db32cbfed4a56baae519840c3a910bfaf5271d887eef3566be305fe2f3dad72c9a6fff5c67cbb4dbd0ddd58a71aee391a55e815f137a3d7e2630a70954f81eaf69df3bcc1fa0bccd342b91a655136e2465d35be4ab2cac3d799df0ee159a6d1887134854ade24b56a037462a356ab27d5e78fed6e7a3a6ddbebc5184148c42f3fe958bed84bef18b92e657da855697ce9790921e4698b7e13383d6afb8c8c2cf49fd8aef1bc5bc71e41746d30427e6f5e4012db946c488df03c1aa17c726d7a9d1e9ca6046b77264962647bc9fa13626703d48a5f2964806924ff96f53bda09fb7cb157928d9cfeeefdd8008f0c1d896a9d90c1bd3e0eb7117f50fe76522910f83d65b0ca9a50b2539e8ff9d274968285f715da4b1cb96ad30b535dfa5498a28482e8e63643447e5cc0216aab36114ac81e1f9361f6b1882250ee23d3380ea636c2906fba859b30b4f839b98f1a7162e34d11b1cf2c465cdf257aa2f66f7cbd982bc3bc4787b136b8da730268e5f9f67149a4e0edaf59bf766f735f68a52daccfcc87c5d18d5754b36653f0cbea305e184a2a3148e859802ba5a88e505092ff9adf7820b6606edbc722f4f3a4ae418b535530e811a6009816e9941f1d88f6ba21e9df4d0956cfd94c50d4039d8de631d4ca8dfc0e922bf43c387c566e5cbecad89ef6be95a6b808f732a16fba54196efd0a0163d2009093717cf1f417c95eaa332b7eed7f14f2a6bebc6d1936d035909d4b7fe3e4114388b4517f33d5433037d278b44c4108347a52e6045ac3dfb66229860782f4277d18561d0296f63606411f2dba5ff18bf7d00ae5c3055f77657f0655ab0116d435c269de64c024d52c5388bda4302cbc7403e69d +ss = 713cb80c51c4dfc49fd1718bde2c9a8eb9da6175fde300fa1f7f27da479521d5 d = 056661b38038da4fdd7426f32a81576c73ed84843b305168a374f934e27a4e1b -z = 79238a80dcfd7c992d84b2dffa67493e669243d4fa38c46b090bdf86bc548411 +z = ba2de5dd570e201786cbfd5d27020b649b011455909aaf0ad6d92c1b4bb1f8db pk = 08aa6ac1e96fd9ea9bf4595a7cd565d91416b583be0c3355ef18b9b4bc1ea59135d3701eed6bb0b66bb320572189525bf4804a8d75a5f973393cf53ebed81a1f2ca339016e35617e77b58a38e15d417043e6174888ea4408cc8583d196042317f3c9571e6347424c032dd459ecb873d7f9312fe891a0a81261136690363b816a3b538923e56741cccbc86d477c629a1713e99a4be8aae2b3516e863ef232755fa0025e40a664b714bb5c8b2a42568d824246d069ba2469ca370c1417a6a632978dd39503e433ac8566708c21ab04924d257e8002804e92147db57a8d39168c709563e7604674ae830c176914ca2ed38b9e793515231b7e15b5dbac4027daafb276099c0036f81621f7dbac5d24c5067023dc6b219881cdb9f290bb9454adb45a45eb1b975b1094aab8b2a9afe05a8240476753ba802c15495c5034f9348ec8c732724c9703e9a08220854a29598cf42b6777a19eb462c4907f0a7b5a3e991a5d7c4d8a70a78ed5cd35dacf9e98c19c596ccc1c4710ec9b029700acc002a1c661c13ba1c25a1d853a851054546c33b1f4032e1f089e9c4c8af9a99c3c72ae4077272c3a37839b817b55a31ba99b66580766fa2180c35a50462c0b98adc38c6ac1d72a7396b28e36cb6a601cdf7c9857f5413d380a1d031bb5801890182518ec414dd78a8ef86edfc0a1f10572205b5593623c41d873da21aa60e3870348032497b367bb50dc6176d415ba54f8809b4155462ac6d34593fbf57fc7d5bf64c10af1ba368d52afc8e2ca3ff8467528c625b26709122c6b1b34648247849338a24005aa9100a790b054640ed59383eccb6415f7a15f2aca63cac12609113d843aea83814691072ab8292b7c5db1d973aa6c7b2bd1a4aeb4bb1d58ca7da26b2e0296211042488c0dabc511308791d7a8ae725c922ef374acc53d76ba5a12fb2a5bb94c309824ee119c87a62f5786996800af28d11e59a83de0504413351651d0209e98b76513747d087333702cff8463db4c353557632c8c46c3667623e012e5d7937f6b004bb549960c5760d15d08d1a4e85c288a2044d1362aba2962d2b078b7854f997abf6072c390342536a8ae8f62385a5770d4752db9f979fa09037bcbae54d4583e17c4be538100349a379502dc69c283638ecda028ba0cb1d21426334c4789715cb39c79cf408c2d1720afc8986de03627b28efb773ee612630b2ca1a0a81239b6020e1380ac69be3cf3742014c52f9b22a118aae7092efe8c93705c0a7a1a8849c0216f776695840bb0a168d5b991e4ca78af08255646000fd16373831f8ed490724019aa15c57307bf06011392859167d0ca6fe88feedb49878c7bb0609aeb604429710db83b1fa592c7a5e911ce795e093a9602875700306d38234e2a70bfad422df30380986533bcec5d8c119bdf3b99e1596a05a123e2d3acca83031ff778c2181f75d268d6aa98520c969306cc80863789724c0ec5552eca57c3d84fa141c69e07b39d9518bcb52049ea04145c34ad355cdf65cf6c1014f511b9c6bb9281fa243000781a99301c06b77ed606c0fa1eb5987e76aa5bb346cc85c85aca114cd0a51c06448c1eab496299515d7a1598940c33c8bc58db4486867158a09080b97674cc9a9f7a176fd5034c139b19a50d4355011e2b65d47ab642c84812c74dc16a83fedc38873145ff3143564c4aacf969f34ba743a14595bb0b5000c30b47662a7b4eabc0980aeca368573550c3148811386ee589a88a53cbc6be1ab2755e58441b6c87e83baba58b63bfd097f0d4922ea7c0aff97143666d912199fc4307a3bc086ab13d6a6481f411bf780b10f5e04a41f27f5784402c9b5e1ee459fa8c4705f36756b34989bc63bb9cc9630c2c0dc6bf3987789bb59195f416f8661e6f5395839c68a0d85d13d0ccff807956a28124e47b5b3c9f3aeb9537c3403671c03d28a09610c89c8c6c69d9733b320382a84a6cc2b9407743cc66611e84999d11356115060e6c2c5f9610fa820d18b355b64890b0a88fe784a39ac0c9e539732d79a36832492439944b643436b84d4bc870b5c21a5e224e321a5e7a6931e628342ed4616fb4b1997cb12fe6be06b20e7794437512be498aca2c532c3a865fa2373742da3a4067a7881ab97fb577618336f3d9750fc9b04e044922246c645c74b7ac6a7dd70d90506ddbb5f53a83079aba0927bd52a68e278d3f01ac19eba6bd -sk = f75196a57024be817edc544dbd552f6b42ba121c2b8ea95e55017856a10c5905a8bb2590e63b449364802c6b438fc19eefc875017acf652a8f0d6ab0f7f5aca1f1833ed3551d37419d906d2b55123ec14d5f109abcd9382e990628bb30d882cca8665957346c3a08553c870d32f77e66348ca9dc321960b7d50b09de64178411439c021899f2b8c583762043a4508c3160544ed2264735c600a6ab43c8515532130583298a11450ae3b7c99ff559a1d33115dc2d2489934518bd52fba1cb9a019d918464b59cc90941599253957364dcca9f95a08035f8be5bd36db6b19f1f191a6e4b7fcd493b7a41c90bc76fe882aa0f3b39b6f454785c5dd1d106c80960bbe5846d90bcde837cd277a039dc22427b86a6658f97a60101665f3f69125445647f3bb2d3125c80d89aae6096a01c24902321933909a8a2925faa1e7407b3c90c8a53d958c1c83465e557ab620e53509ee8c960b3c547fea08d4ffa215742113ed9661b57ae1b30ba5768645c632de76b96161a9b6c34b8da48b75d176c2c849aad55c6680bd0863273c345c4c7379cf3f873fa5953f53b9a026a4dc120c96e279085566c7d090eba276a0928693e639b5564a59c08aeafd25915f5478dd86e938a11529bb9a2b0b83487c696e79f1fd034ef000fa502328184be42b8959d9c0683f3bc20e71902423ab14a4744e162f6a2b474dbc4a6f21fc0432ca7422cfb253d0f952be9c13125458df8753f5d551caa38bcca1625b533051c5226c8768335854e7477064320cb765ab9eb311a1859b4b5a006d918bd8508a971205e6902897cf95e0b652e09030794b46fcf7a784560c0a18b8e6334a57ec177ba56a8bb9a857013c6b9998975379bb04b540015a14a76c658f856becca363cb37997bb85b185aa0104063696f1020bd1b443419989798826e141a24a3533494391fa233cf848451cbd609d014508fe137534c42d6f22ed2cb82363c847865aa243ca993b14992572cbf5535845cc708bb09a1e8a7834c200d8036768755afab53aba85813eb859ee83efea7563ee4bc158599f0cb04033393c829aedbda289ed852e1eb1feda9484777051f967e048041ba3c313a1414d463cf3ec36801aaa1aa540deab122ab530ecaca30101a1089087311972b338b045a1637189020c3030e63f707feea9af844c7e1b20b4a5348c1a432f341bb9f598b8c0c2f6f55c4d2c2c22b187430748f82842daba92283dbc4bd20636b6754b20a7127f01fcfd4013a1155e4746dbf3ca1f34991fe7c39ed99bdf5760d39db8e6c428f2de8157be0139415aea96bcf6fab633f2257b582312d3c7acaf6a5f8e55ad699672160ca01246545059e58502e28199cd0f5505adcb91900a283f0b059f33d1a8b352010a3c815717fb3a9482c946df0c74a526353d5c9ecd2590c5050996393a02286841580ab599bfbc8838a53301bb11d5fd492af40ba26224505969d88f6b193ea42b0348954180e17124ec2c64b962a92aa9c3fe2d72f94301531c4aaf847243702bc8f9c37d64b54f20ac003b844c52417e1436d2e75ac09c313c83b8575e791a7c95d0412cc61521a6826997561485dec26ad7baa8e065e9a279add7301c5c74c5b95c1b6915e69c9a6d4b4679fa180aca9817d6817e17314da19501344231a58c8547148cbf38081a8889c00cdf77234d04169ece6bf0abca31517c986c44ce771a32feca99df60524380323b31d92c9c100749825f30e1f7c9c079907a5750e3f8b18ad040194092093e7934219a5b11b4028281030774818416d53854975241efc6bb8bb751c5069b7099671d0768f3bf74219142e88e08e58642b41b04eb66324392b094fd0740cd4585a27ccb3f25ef972cc26b9512c1900f8b61040ea7921d21f142c7e1a99b886e32bb80721e6c75f6a999328a2abbc3c797965c09b2081671346355b4bf8c78c72c6cd98d0116db3423a1b69a0f80515e423bc1bc6522b5fc77abe492740d6fa8227235e3b7226fd89064ca494e9012f1cc62b02f95523f147bb321938cc1fafa4323173a8df6264959a5a6052a3b218622007af0408c3227a053dcb71164c9a80cb844f59050b113f497aa3a65c11c317c9e6b6a6e8028c23fb4589046a70db1026f07aba9b45ec78ca14d9babcbc2e62ea6130d8414e98b85de8a908aa6ac1e96fd9ea9bf4595a7cd565d91416b583be0c3355ef18b9b4bc1ea59135d3701eed6bb0b66bb320572189525bf4804a8d75a5f973393cf53ebed81a1f2ca339016e35617e77b58a38e15d417043e6174888ea4408cc8583d196042317f3c9571e6347424c032dd459ecb873d7f9312fe891a0a81261136690363b816a3b538923e56741cccbc86d477c629a1713e99a4be8aae2b3516e863ef232755fa0025e40a664b714bb5c8b2a42568d824246d069ba2469ca370c1417a6a632978dd39503e433ac8566708c21ab04924d257e8002804e92147db57a8d39168c709563e7604674ae830c176914ca2ed38b9e793515231b7e15b5dbac4027daafb276099c0036f81621f7dbac5d24c5067023dc6b219881cdb9f290bb9454adb45a45eb1b975b1094aab8b2a9afe05a8240476753ba802c15495c5034f9348ec8c732724c9703e9a08220854a29598cf42b6777a19eb462c4907f0a7b5a3e991a5d7c4d8a70a78ed5cd35dacf9e98c19c596ccc1c4710ec9b029700acc002a1c661c13ba1c25a1d853a851054546c33b1f4032e1f089e9c4c8af9a99c3c72ae4077272c3a37839b817b55a31ba99b66580766fa2180c35a50462c0b98adc38c6ac1d72a7396b28e36cb6a601cdf7c9857f5413d380a1d031bb5801890182518ec414dd78a8ef86edfc0a1f10572205b5593623c41d873da21aa60e3870348032497b367bb50dc6176d415ba54f8809b4155462ac6d34593fbf57fc7d5bf64c10af1ba368d52afc8e2ca3ff8467528c625b26709122c6b1b34648247849338a24005aa9100a790b054640ed59383eccb6415f7a15f2aca63cac12609113d843aea83814691072ab8292b7c5db1d973aa6c7b2bd1a4aeb4bb1d58ca7da26b2e0296211042488c0dabc511308791d7a8ae725c922ef374acc53d76ba5a12fb2a5bb94c309824ee119c87a62f5786996800af28d11e59a83de0504413351651d0209e98b76513747d087333702cff8463db4c353557632c8c46c3667623e012e5d7937f6b004bb549960c5760d15d08d1a4e85c288a2044d1362aba2962d2b078b7854f997abf6072c390342536a8ae8f62385a5770d4752db9f979fa09037bcbae54d4583e17c4be538100349a379502dc69c283638ecda028ba0cb1d21426334c4789715cb39c79cf408c2d1720afc8986de03627b28efb773ee612630b2ca1a0a81239b6020e1380ac69be3cf3742014c52f9b22a118aae7092efe8c93705c0a7a1a8849c0216f776695840bb0a168d5b991e4ca78af08255646000fd16373831f8ed490724019aa15c57307bf06011392859167d0ca6fe88feedb49878c7bb0609aeb604429710db83b1fa592c7a5e911ce795e093a9602875700306d38234e2a70bfad422df30380986533bcec5d8c119bdf3b99e1596a05a123e2d3acca83031ff778c2181f75d268d6aa98520c969306cc80863789724c0ec5552eca57c3d84fa141c69e07b39d9518bcb52049ea04145c34ad355cdf65cf6c1014f511b9c6bb9281fa243000781a99301c06b77ed606c0fa1eb5987e76aa5bb346cc85c85aca114cd0a51c06448c1eab496299515d7a1598940c33c8bc58db4486867158a09080b97674cc9a9f7a176fd5034c139b19a50d4355011e2b65d47ab642c84812c74dc16a83fedc38873145ff3143564c4aacf969f34ba743a14595bb0b5000c30b47662a7b4eabc0980aeca368573550c3148811386ee589a88a53cbc6be1ab2755e58441b6c87e83baba58b63bfd097f0d4922ea7c0aff97143666d912199fc4307a3bc086ab13d6a6481f411bf780b10f5e04a41f27f5784402c9b5e1ee459fa8c4705f36756b34989bc63bb9cc9630c2c0dc6bf3987789bb59195f416f8661e6f5395839c68a0d85d13d0ccff807956a28124e47b5b3c9f3aeb9537c3403671c03d28a09610c89c8c6c69d9733b320382a84a6cc2b9407743cc66611e84999d11356115060e6c2c5f9610fa820d18b355b64890b0a88fe784a39ac0c9e539732d79a36832492439944b643436b84d4bc870b5c21a5e224e321a5e7a6931e628342ed4616fb4b1997cb12fe6be06b20e7794437512be498aca2c532c3a865fa2373742da3a4067a7881ab97fb577618336f3d9750fc9b04e044922246c645c74b7ac6a7dd70d90506ddbb5f53a83079aba0927bd52a68e278d3f01ac19eba6bdb8aa8568431ffc4681caacecd4475c838cf7348402a06413e7a9590ba405ea5e79238a80dcfd7c992d84b2dffa67493e669243d4fa38c46b090bdf86bc548411 -m = 38c89bbe7145c29e9a831c11431eb9929cb24fb4992db20737e4687d397fd732 -ct = 9320dadb6b92af8708cc473a1f44985daf326ecce3f87fad2730c7bc4fdb09d26a76d573c7f9f9ad677d6b16f50bc4f826227b8d88e933bd32e2210e92f27b55232e4c3903b93a486c62e74267b98cabe4f3fa904c40e63ebf1f17fbef0e9d0f349e255ed21efb0225ba4ef2d0a1f7d39b42509600a9b1c6a38860b968e5ab70cd80fdfc82dd35279e6d4d34ff9b6c05f1f82c0fd4cd608cf5d9e92415ee78aec27d8d253c1ab412947320457e5ce51d5858f0007b80bf408e2b2e15cddfa01ead36db2b81f0fffccf44d6bf14b75a1c19e3b1e9ea612a1088384931f6d2f8f44cba35e05096f0d2f7efdb1477fb3fc48a07ced391c8d0cb16179af81a9f527f91d5a746e7234c43a76f8a1d6c375c1437a1804ac7844462ef328dc297dbbc5f71e21fedae5ba7b3d3468747e3769ff7e2238d046e6c1df2571ccdda3babee010b79827341eeb7f98d0de3411b8a661df4f57faa2f157172794079e9a9f623efd7c05100ceaacb39dafbffce87a8414b0cce8d80c922e2e0908184921c98993de5c42fd3c393c82fa2ad485150549ab17da356dd156a9af107a0a7275ac61333c88d13df9808379412d47e456abd931c7dd3f37201d1573b46972bbb75cc8a6f214f8b86e570816a7463ad19d424093f8d34193e7599f487480a17bc9f87f9dbf17c9bbce2373143d37c29607a006d0fe942e74626f62e5104b47ea80c831e209c702b41e90481c2f9a139abad3560e67b45dd2b84dca70ed58e19e6e4c81d1ac1ee5d0da7ad2554941d0fa5a385db5364667f6cd10ee620943c9fd4dc0d42c2550fb8f7eca72036a67b7ac9b36fd7c3108a4253cf5b4af21c1c2188eb46deeffbaecefebaf00064117f5c1d15e2505bbbcb3e260057c73c88d363c964318168e90bbe406400275558e0faaf9bbc553623cef842d6657cb1166e849ac6b5a04df735aa27fe35dee9f027f5a8a1b70fafa7e7775c850211405cfc0527680a0f969aa6c38d5576c75275498aec8bea9427843da9229422ecd4c9d31987073238218752e4cd306b9a1c62c4e2171ec708ea29ce85ae158077a6d42a6129b11d212785877d0f611b098549f746a54b37da9b2aa2e3d55d268b9173d305ac63efe9c8c896b0c4b75f62be11714367d99dafa79441e686e51d923694d06d7644e7c76f6c4e28f62cf6e9589e11cb91edef2a79a02f3c91ab2d2433f3fc2a1046b54c1a947aa2587734cd875abcad1de5d03f203fbd53277146627fe6b665649c71316be67b594a28af88b848d67e06531ce1318708a950516698f34f810824e77e1e67d7b03fa559208c78aa863378b5e33570fb234eecb0d58220be9575876d221876c35fec08fb57d52d427a13dd0d4860e13f152a51a8939f17955da7875c32681ed22d773ecb979712c03044967f9df0eb78022c141234f12a88e2505481d3fbb9bd1d6fa52801d1b9cdb18d3800dc3803a7325373d74e99d8bc3a3f9fd7fca40364cfec2c93c4f0dafafb9b68ed20e49e617d41cfbbac2d0e661463813d563c18da4f54cadf70ab0fc19afff0b69c0a73fb14c8cc620617f08872abd5e300c5f47695a0e60892a6c9653b337bab8761dab3bb52485082fb929a6c215ad74cf454527cfee3aa332152d1372f7e6367aa115e11c1d48ea383d5b23e772849923b0eb9d4d57e13fb9e9b4165039acad7e31c1c97fece4ef6d90185cd127e11f0643327a89ecdf03385156c55fa0fbe0c22ba0c1ed5c9058259330917317f925dbc8a98978a83c183859547366a83c1025f9d1dd77d6a63968470e78c9c217f23317b825197addfbb88a7a0a2cf7be23cce336a6f989e684742dcbe1458f6f5ef1c3de92001038f232f0307ba3227f535d3e3e7d602a8b22beac97cffa6986e79441891eefcbc5044f1b77f56d91fe60af6dcc06ef725289c3673d2dac398ccdc0cc5faf4ef38c15a536370d6831e5a62eff626337b1971a3664b24d15870040810b4a9fab6d42cd60b03b5a533c2d7be02bc2ddec0df587590bfa5777fb79eda43a76b9fe78bfe8304363bdc7a09a78781c1858546b212e9262f0ffc4389a87885ecd71a6135510ecd99bb4e79399e5a86050cdafcd9ae928af0149b1f52337e21d7f0779de1c22ff25699680be81e941a44f732924a3c47c73ab73726ceb5f0c3e67b49bc853479ac1cf03c5b88e00fc71102abc5ed5c5dc1a76ca1bb30b9e542ae -ss = c139ba708b0161bc7ab3f9b96186cf08ede5bee39c86b519937ef265543b3270 +sk = f75196a57024be817edc544dbd552f6b42ba121c2b8ea95e55017856a10c5905a8bb2590e63b449364802c6b438fc19eefc875017acf652a8f0d6ab0f7f5aca1f1833ed3551d37419d906d2b55123ec14d5f109abcd9382e990628bb30d882cca8665957346c3a08553c870d32f77e66348ca9dc321960b7d50b09de64178411439c021899f2b8c583762043a4508c3160544ed2264735c600a6ab43c8515532130583298a11450ae3b7c99ff559a1d33115dc2d2489934518bd52fba1cb9a019d918464b59cc90941599253957364dcca9f95a08035f8be5bd36db6b19f1f191a6e4b7fcd493b7a41c90bc76fe882aa0f3b39b6f454785c5dd1d106c80960bbe5846d90bcde837cd277a039dc22427b86a6658f97a60101665f3f69125445647f3bb2d3125c80d89aae6096a01c24902321933909a8a2925faa1e7407b3c90c8a53d958c1c83465e557ab620e53509ee8c960b3c547fea08d4ffa215742113ed9661b57ae1b30ba5768645c632de76b96161a9b6c34b8da48b75d176c2c849aad55c6680bd0863273c345c4c7379cf3f873fa5953f53b9a026a4dc120c96e279085566c7d090eba276a0928693e639b5564a59c08aeafd25915f5478dd86e938a11529bb9a2b0b83487c696e79f1fd034ef000fa502328184be42b8959d9c0683f3bc20e71902423ab14a4744e162f6a2b474dbc4a6f21fc0432ca7422cfb253d0f952be9c13125458df8753f5d551caa38bcca1625b533051c5226c8768335854e7477064320cb765ab9eb311a1859b4b5a006d918bd8508a971205e6902897cf95e0b652e09030794b46fcf7a784560c0a18b8e6334a57ec177ba56a8bb9a857013c6b9998975379bb04b540015a14a76c658f856becca363cb37997bb85b185aa0104063696f1020bd1b443419989798826e141a24a3533494391fa233cf848451cbd609d014508fe137534c42d6f22ed2cb82363c847865aa243ca993b14992572cbf5535845cc708bb09a1e8a7834c200d8036768755afab53aba85813eb859ee83efea7563ee4bc158599f0cb04033393c829aedbda289ed852e1eb1feda9484777051f967e048041ba3c313a1414d463cf3ec36801aaa1aa540deab122ab530ecaca30101a1089087311972b338b045a1637189020c3030e63f707feea9af844c7e1b20b4a5348c1a432f341bb9f598b8c0c2f6f55c4d2c2c22b187430748f82842daba92283dbc4bd20636b6754b20a7127f01fcfd4013a1155e4746dbf3ca1f34991fe7c39ed99bdf5760d39db8e6c428f2de8157be0139415aea96bcf6fab633f2257b582312d3c7acaf6a5f8e55ad699672160ca01246545059e58502e28199cd0f5505adcb91900a283f0b059f33d1a8b352010a3c815717fb3a9482c946df0c74a526353d5c9ecd2590c5050996393a02286841580ab599bfbc8838a53301bb11d5fd492af40ba26224505969d88f6b193ea42b0348954180e17124ec2c64b962a92aa9c3fe2d72f94301531c4aaf847243702bc8f9c37d64b54f20ac003b844c52417e1436d2e75ac09c313c83b8575e791a7c95d0412cc61521a6826997561485dec26ad7baa8e065e9a279add7301c5c74c5b95c1b6915e69c9a6d4b4679fa180aca9817d6817e17314da19501344231a58c8547148cbf38081a8889c00cdf77234d04169ece6bf0abca31517c986c44ce771a32feca99df60524380323b31d92c9c100749825f30e1f7c9c079907a5750e3f8b18ad040194092093e7934219a5b11b4028281030774818416d53854975241efc6bb8bb751c5069b7099671d0768f3bf74219142e88e08e58642b41b04eb66324392b094fd0740cd4585a27ccb3f25ef972cc26b9512c1900f8b61040ea7921d21f142c7e1a99b886e32bb80721e6c75f6a999328a2abbc3c797965c09b2081671346355b4bf8c78c72c6cd98d0116db3423a1b69a0f80515e423bc1bc6522b5fc77abe492740d6fa8227235e3b7226fd89064ca494e9012f1cc62b02f95523f147bb321938cc1fafa4323173a8df6264959a5a6052a3b218622007af0408c3227a053dcb71164c9a80cb844f59050b113f497aa3a65c11c317c9e6b6a6e8028c23fb4589046a70db1026f07aba9b45ec78ca14d9babcbc2e62ea6130d8414e98b85de8a908aa6ac1e96fd9ea9bf4595a7cd565d91416b583be0c3355ef18b9b4bc1ea59135d3701eed6bb0b66bb320572189525bf4804a8d75a5f973393cf53ebed81a1f2ca339016e35617e77b58a38e15d417043e6174888ea4408cc8583d196042317f3c9571e6347424c032dd459ecb873d7f9312fe891a0a81261136690363b816a3b538923e56741cccbc86d477c629a1713e99a4be8aae2b3516e863ef232755fa0025e40a664b714bb5c8b2a42568d824246d069ba2469ca370c1417a6a632978dd39503e433ac8566708c21ab04924d257e8002804e92147db57a8d39168c709563e7604674ae830c176914ca2ed38b9e793515231b7e15b5dbac4027daafb276099c0036f81621f7dbac5d24c5067023dc6b219881cdb9f290bb9454adb45a45eb1b975b1094aab8b2a9afe05a8240476753ba802c15495c5034f9348ec8c732724c9703e9a08220854a29598cf42b6777a19eb462c4907f0a7b5a3e991a5d7c4d8a70a78ed5cd35dacf9e98c19c596ccc1c4710ec9b029700acc002a1c661c13ba1c25a1d853a851054546c33b1f4032e1f089e9c4c8af9a99c3c72ae4077272c3a37839b817b55a31ba99b66580766fa2180c35a50462c0b98adc38c6ac1d72a7396b28e36cb6a601cdf7c9857f5413d380a1d031bb5801890182518ec414dd78a8ef86edfc0a1f10572205b5593623c41d873da21aa60e3870348032497b367bb50dc6176d415ba54f8809b4155462ac6d34593fbf57fc7d5bf64c10af1ba368d52afc8e2ca3ff8467528c625b26709122c6b1b34648247849338a24005aa9100a790b054640ed59383eccb6415f7a15f2aca63cac12609113d843aea83814691072ab8292b7c5db1d973aa6c7b2bd1a4aeb4bb1d58ca7da26b2e0296211042488c0dabc511308791d7a8ae725c922ef374acc53d76ba5a12fb2a5bb94c309824ee119c87a62f5786996800af28d11e59a83de0504413351651d0209e98b76513747d087333702cff8463db4c353557632c8c46c3667623e012e5d7937f6b004bb549960c5760d15d08d1a4e85c288a2044d1362aba2962d2b078b7854f997abf6072c390342536a8ae8f62385a5770d4752db9f979fa09037bcbae54d4583e17c4be538100349a379502dc69c283638ecda028ba0cb1d21426334c4789715cb39c79cf408c2d1720afc8986de03627b28efb773ee612630b2ca1a0a81239b6020e1380ac69be3cf3742014c52f9b22a118aae7092efe8c93705c0a7a1a8849c0216f776695840bb0a168d5b991e4ca78af08255646000fd16373831f8ed490724019aa15c57307bf06011392859167d0ca6fe88feedb49878c7bb0609aeb604429710db83b1fa592c7a5e911ce795e093a9602875700306d38234e2a70bfad422df30380986533bcec5d8c119bdf3b99e1596a05a123e2d3acca83031ff778c2181f75d268d6aa98520c969306cc80863789724c0ec5552eca57c3d84fa141c69e07b39d9518bcb52049ea04145c34ad355cdf65cf6c1014f511b9c6bb9281fa243000781a99301c06b77ed606c0fa1eb5987e76aa5bb346cc85c85aca114cd0a51c06448c1eab496299515d7a1598940c33c8bc58db4486867158a09080b97674cc9a9f7a176fd5034c139b19a50d4355011e2b65d47ab642c84812c74dc16a83fedc38873145ff3143564c4aacf969f34ba743a14595bb0b5000c30b47662a7b4eabc0980aeca368573550c3148811386ee589a88a53cbc6be1ab2755e58441b6c87e83baba58b63bfd097f0d4922ea7c0aff97143666d912199fc4307a3bc086ab13d6a6481f411bf780b10f5e04a41f27f5784402c9b5e1ee459fa8c4705f36756b34989bc63bb9cc9630c2c0dc6bf3987789bb59195f416f8661e6f5395839c68a0d85d13d0ccff807956a28124e47b5b3c9f3aeb9537c3403671c03d28a09610c89c8c6c69d9733b320382a84a6cc2b9407743cc66611e84999d11356115060e6c2c5f9610fa820d18b355b64890b0a88fe784a39ac0c9e539732d79a36832492439944b643436b84d4bc870b5c21a5e224e321a5e7a6931e628342ed4616fb4b1997cb12fe6be06b20e7794437512be498aca2c532c3a865fa2373742da3a4067a7881ab97fb577618336f3d9750fc9b04e044922246c645c74b7ac6a7dd70d90506ddbb5f53a83079aba0927bd52a68e278d3f01ac19eba6bdb8aa8568431ffc4681caacecd4475c838cf7348402a06413e7a9590ba405ea5eba2de5dd570e201786cbfd5d27020b649b011455909aaf0ad6d92c1b4bb1f8db +m = 2f349ae0ca4e08e2a8ce5d568829cbaa2150b69d13fff8a46711b0f5dcd770cc +ct = 4c72eb03268c3237da52a108583368ba933e032c8a99c221dbcc502398b08701284f1e28cfd757f2073cbaadf24712a9a799dfe33304e26a20bdf104568ea0746a20601ce1815009730fccad96681ed20a1bb72b3420564012595e13a581ab5661b4ab13c485c5534278492ad10d4533831ab8f260e0d2e769c41bd724cab26208321de39bd776d6a34a4463ccb18af3acabaeaf6bd9e300eda48da232b177ac4450c173df00032905c2bdbebb4f1fce52184f4842b5ad15b6044c0f2c29f977f817ca8ed2158fc49ed8ce4fd3826d717c2a207f4b931d2a9f16ce754b9f6b2894ccdf1e951059eaba943674dd0a2ba1ff9740b99b5174021d7814e95e2f6a25941cb6cc494bd4ca1f204e62f1257a665c651c6ca10ca29c0d49908077c0559997e35df6fb43c6023e957a1159d8d0c5021c1cb691d87f2c57242732d3fec423d753d1875e220d7723da485cd037199ff84a8ccd7278049d0c886a7fa16377b80a7c6650622ca48532c7027b66bf17f3ca87bf93634dcaa2e5cea9c8841fdca4aadeae50726da081e1ea39c632e824a2889965f77512a3fc52a372ef7f4045654548ffb0f0b918d3d37a805d0ca94ee5ddd7e9ec1071266da94b7b50675ea86c3c1a7411640a9884c55598354906d3bc3d35d7f08b48c3ab82dcea51d6fa933eb0afa648cb9acdce8dc827f5696f60bb6d50c633a0584cd22fdccc5f9a836b27b6b4c565864408b68aa54376ba90ccbb7d9ba319c36aa98d3573616cee39e6302c2d3748d123c6e7c3aae7b14322132043fd30a097e69866a8c540fcb41ec0cb4886b8ec1365c94e7f4128de6e689b13b32e996ec4b464072b0d3187301c92d9718cb7276a2f78f289876bf7107c8807dc5a9f8c6647777471aee46711a52ae2c6981b7a7325888a35f9702f20c9838145be49595dc5f3b407f782a052eeedd64e70cb460becf97efe375634ddea203fc4b69d8a63765de3f9a7a52a068cbcc42fe2ae08e34354a7ee8259ff6b5d9d78547b1694b3143a2ea6235d1016090abd46a4c1e6a20072322b6694a2dcc08c7a4a2fc2957f20c21e23da176bdf17d1092df2d980e769e61fe4dd560488a29a1a3cf5756b29d5aa84492d7d1bf7f4fd724e59efb427bca620f41cb9d12167efe1e35b9ed6718bad56c4366da3d9406e104065552488b12c4ed51d16d872cff7b2f97c6aee1ca757c944fe52861ec8b3d9093a8d3ad6ffb20a85fd859a4d865398a314445310ca2089d7b0897e236842772e7a3f0667eb3c56d70f18903276ab03a34042879925838f81014a0a64bf3abc32dc82cd07dd0d49f0e174378c5bc9bd5f179d74e7ca9d8adc5aec4e181071640e6994f94fc8afd695e4c57e68130e00863e588095be7c0e4f958028bcacfed2ac26d7c862026507e379806d94ef0cef30972ffe65e33d615bc51dd1e9a385858c6f9ad3abdd3a62e13b0d42e2308f26fb9b4f2230a935000752dad4c924cbbc21c95461ccc38c34e437c6b0187ee7aa2888617a4d4f07d01b424be73d25d5b5412b014946d441770b25cbb00426884e3ccb8751a37026359bb120b65aa612a6bf8fded36689d80e894fe1a6b58b6c06e735e65f60f0eefcf900a144c4d18a25d228ced1b0b632622a740d8146849eb72c0440b049209bb19b595117bfab49792b1a0759043eb56ae63b71f927e6d9a455acdb4df0ce63adeef8c6036ed5ef13828d67f61f9f622b94391e3ce6fedae136a78e4fefe8f4fd486fa25988c5baf2406a92fe45050481a744004bf7bd6d10696eaca8e2f0a732a6c861c6b281ac1cb21cd70f3c088f747fd7bcbed6db5c6983b84a3a888bf1273b0569ac1388d9be08e9ffe95f3b534c6fa01b66cf9120f5f792f3aa4e8a673647e2e22f7c82d10de2770814582e53cda33771c0d876c97dc034ea43676fd61c07c049291a8fa08e0be69c8775a59f777c4d7aade60edbfe927223a4ad04a49721bdad060d71078ae6ae80256bff0ad63a24ec2d71d2cc8e41d02d2e0f9990a52485b88cc344d8c98ffa7cb3fa14f4a80a45c87ccd9efb8cd1e384f9aef24cf865b777eeb4c7cf43690c187736ca69ba8d9c65a4292d29980b81d151d7a07ba150878cb7d083005cbb809617929efc52338222f651ddf6e956693f58ae626d7bd4cc16c7da73ae9fff463d541b429a298a5123780b69478e597c16fafdd063793c33a18665dc94d4 +ss = e753dfca86295ba609e0d04efe1685da11d0bfd57e9533c44d2289ab179abbf6 d = a1b52d871612a1c611ae0944f9e71858f35d3bd14f20e96a931720668bdf0a6b -z = 1f135cf64b6403e103afae34da038613e2853bbfc36baafa3c6a95347193f37c +z = f25f42aaa0d647322bd837cb730af6082d2fa2d17bd63b162b36839fcc2df0c5 pk = a936ad0edb0ae5a6b9a66bab5538cab0ac6e0430bebd798c474ba1ec345ea6d3ba9fa0377d46606e70c86dd1be281a9f46fbc0d890c607dc009f46b459958989852b5582566cd30d02317cd4e0b84e6b1917e692e45c9beae45bc8e8bf6a65587f206a67d93a4872c571200bbde620e2639659302068088bb2d8bddf33c98ef34541b4c2a22897815b809b060f86200aaea90376234860a66e9e8843bb52ca7033010e47c41d573fd9ba40c4faad88026eca797e80396a2ed5586f8109a44bcac355117a7a3f72950030cc506482aa0ce39369bb350fb07b1388981c89400ab5a632c172d159c6f0e126bec96e17c0c18c615be5110818e0cfc2900f76d706aec990021aad6eca787b453991a896f4622537051e3e4a11a0954995525b8f2b11583a3a3e594400ac97b82a4b5da822891910c721ab0bbb9942f2ba777a0c5d8c532393934b391fe5669850bab01740905b684aaa96be0cf50df463406b91a28149174b555c742c3f78569bf294681ca09a336531edb94bf30459893cb2de348330fc56a7304ae2f7cc33d13b7966751414420dd089a48a6036c1cd7c5608727b52612864b63694005590859aadd91b068b053453d1c6f9287c58aa042073087f7959fa932284231b39aa991c0523be599ce85b1f0fb52d465156c795cf3bfba270ab9cf94cc152774fec76ae77b9acf0f37dd2a9547945442ada8eab32960332860e2a25b7a25e86d0a7aab0226e877f0488877d941fc0a0541461b8a4744de6456df6c5ae6c621a969a02f9c943f68a48809328a0ba3892d7af2fe169ee41554f0ac1a3836e151760c8472f60b77e274948ecb6748c404a74005bde6c5849401fe2d667748b9f3c19a41d659474b0b4a6829d848a898b93080c66aae85b3660d392f34a6ee9c6b10df567dce1892f4932b6babe31e0a50f8217985c6537188b817b3311c25e8c63ca265b568ba9cfdd451e6fd517e18317fb99c8204abfdc937134e845cfe00018e097022997653a8d5be32cfb07b34836c242b74ef9d30ba0d7ad8c2b2944c766c025804eab23a05b6fe6b85d331904c4c99a1fc992790a70f9ec52e25bc17b949b66f49040a59e7eb97491c546bb3778e2e70e1a63815c760da8195bfd431a9fd88443e26dde85c5b08091cb19349cfc73ba195923a38ab6a044d1c9cbe498195c1b5a27a2b07b627c141cac61d391ff1b88c9893327447d32234705d42f10374b77c86d83d71e3711893188310c45c51a5473003d8566d87fde99c67b962f6b4750d7851d3b6201a2faae68fcb1011404b252bcdb341e68702c8dd6a237813e049c42aac05977637cd3c81103e1973f6b45b8b0b56f69afffc9cb5e97bae9b6c5809abaf47b5b0b20471bd77ec7455e1dc25fbfaa7018e58133a44678083c06e06334452890a35240526225a33736a042b1595da8452c2eba086acc1a6cba45beccbdfa23acb2f01cbeb75ff179cb39242ceac33eb2889c4784cb970938ad336da5dc013aaa2973043372cb99657297e7ca05702992b578a65c00c867b43eaca93e975695f7625aa8240c0e5827e1636d72ec4a0480408f911ef631b48a1c4462665b230550924b23481bade7b43a1d76cbe6791e33874182f955313cbe69bab35aa59cd1b133fc326ba571713a1c4dbe2a662b514021bc7bae44343f39138444173dd7944c6291c50973ff0b9c0aacad9409881ac232306354d5362537b507e2ab84b4a0a3b5b9819e62c3b6dc1fcbba0224b48da7114dd4fa3103069caba17c09b7bbef8b94b6e15f58321b708c9c23a40288708ccec56f3fa2bcc7397101fb9e54fcb7e7e816f149356570a006f69779fa6e30b1310e6bc6d983599eb81c202c5e887659f5e7836fb7a72eb80474116c6659c24dfc4c38dc2e8d6a0787a3b6c170a23ba53865a53849f4c3f25b2363e582bdf079793bcb832878b0f7268f658b72b3417135684393a4b1f40322ba7fb147416ff0b58d3b62a7343a6c51b4c8f6894f0b05e33476ba24c61c276652048b009ccc1a768e48cac707a42f4e3b685cac54aee57203b78ecaab3a44aa8dd7daa43f2cbb2ed2429d547b4da5176a7b621a38681ccb3e72d98f1f9926b1b30325d6cbd3862c7d044dc16b8a25dc59c2a53e295040d7627f744bcdafeb522cf8ca6eaca400106b003197c8f9c878a367c021db7e9273fe2e03a2716683dab6caed5c770f6e7984 -sk = f8fb5ba9d24c8681558cd13593f0cebb335b6f65bd5dda6de6d19e09f15165051f981ac6472b263cec43883a79149707093066fc129ae148b04f860c2df119f8a51056eaa5dfd89bfc564226e56dc391ade1cc2a1df58edd4572c5a147bbe21283b97f1b213bc276a471b63a7df1cdc86c7a69a34ed17a425b37aef969c1cd079529ba29a2e2c3412c5615e23523f3124c00c778752bb9b3677b90885cc21b0e257bb7f335fd53928b737d19da3b3208219e6c898e96b45f801135a09a1425a0986c597e2b4042c1a4e6d7a4d0e30e729c73f2bbbe85b579c3c13a34344a7403b95d425936486c3b602804c08ef6f5ab22c400b9523ea3345abfe666023bce6a1b63a872c33e3aaf0ccac2c40a4d5a48107d0c7ab09001ea67ca6f4c1fa7137d259c860d032c396bcbcb4177f82439852463b640855ce604f91c8f2e4a0899b2102c6059dc077d5ee6054355c546c2148077b8defbc313c71f1a420dace126b16c21e40064e2522f9e224cc8e3526b1a99a2f4a81efc2dd3609043246d461c7c1af025b56a9c7e72adea57584cf044c2f0bb60352c32400d1631c034572ee46b71edbc0334031aed7bc26af543028c3918109da52a6abf3217a2219c0607ba9edab5b4daad5ec7948393c4a670c340688541aa713b596843e5ccb9616b54e92610539bfd39159fab36d4928ee9cc8b1291ac0134257e242faeb595100ac113ac416ff517866021b550b6d063512dc37477117d025964c95c13535c2f09a96740037fe1846efec4446ec03f93fa6b6fd8b539f0196444a61823b08cb74b7520618c08324f0667f142beb3a34c2c5286b3d159fce3b046079f07e558ba28a8893a8c94f9711c227fac6900114c8bb6aa5369b059dbbca008482a1843b62a1b06c68c6b2f40bac6f02b6cac1633055a178a396ef35f59f1a76543953d3b07e2b8be217c5d5b1a82f9c080f4119d22275958026280bb8c96626c1d0baea6658a29546e09418aaf85a121f8647cb4789484bee0189b9ab10852c397a2e25b9b15b71ef17440dc3554db740289ba05111979614aedcca79699021f4bc3a4c68b39d0256d88cdd7a24e3ac31dac35388720671a12a765d705f8429d0891c3e0d8062ad45a0b882bc53016dfb007d1c550998963d7e12fa51c7361d86156ea3a8ad7018c627a9ea18f9d3787ab3b88a27b3f9443aa87ab75eb1364a4c66c50e8170892a08fd15cf2913749d0c61305c4de45a1ba2550009726a0873c70049705009dc8327be3610f61f9bc60a26d14dc0c3e67cdae4b5ac0d5a0638804d6c6b4ceb351f0c19f0974324cfa28fab704b4677aa3f2bf65686c22100b74cb9ab5f7215452cbe8d6909754304573a9314b3c8362cfc34c6302b3cbd5dc482e76576fc5900b367016c03a860a88744928cae55413231ca8a5008d210cd2e317d1bb6bc8624ecb83002e66092d8aa77fa0c6766532178a8cfb532c70f1114e5156e91486c3c7658e2a22cf0a77873c944a5a4bd70ba1686146e18b328d30813c9850c3003698c5afa2082b3425c785200596592fbfd7b2ad5568f9d278fa24c523251bfc966a69ca882e707426563d2e099295305fe2e2a96f968a92e9423dc4a1f6662f68299850f81da13ac23e272a8b64be3ff3bfe61563fc98c555ecc6625b7a84c79c6550c399977ceea525b12a52f9098191b004cc6b83a8d89a63756ca9460fd21758a0701e5e71280055cd3ec2a218168d38e78861ca2d0ec6c56a880f5091ce656bc4dee3a8061801255865067982744439e83b893b3055f67466a8b722ee0339c46160d4c40cd92a2ed5601199e5b214c9c48d311e3b26032377b637ca10c5579b7bb381c25bb7bb82159b0b1ac9592a9e9817ccd8b85631adc7c44ca1f6a8e7529782302dd2266fb0a7b04fc16857f034b50b37b723b42e747947e1a6ffb1c8162181be23a1c82ace8d4a1bf522143e495c39bb9e63f17768411289087258e6a07192656c7269ad688bbc5cb66f094737dbb85ef146c0cb146c7010ccca769aab3d0e3b52fc61b637a02bf0c7bdab750bb7a9a367302a4f3115f352675b2b458eeba2db040db45abb314c5583785925bc833f82caf0d6687f87220652886aba525cf89900e0b6fe4493ca61cab752261a432cd34121ec58348f1aa59d4476ec8b5da936ad0edb0ae5a6b9a66bab5538cab0ac6e0430bebd798c474ba1ec345ea6d3ba9fa0377d46606e70c86dd1be281a9f46fbc0d890c607dc009f46b459958989852b5582566cd30d02317cd4e0b84e6b1917e692e45c9beae45bc8e8bf6a65587f206a67d93a4872c571200bbde620e2639659302068088bb2d8bddf33c98ef34541b4c2a22897815b809b060f86200aaea90376234860a66e9e8843bb52ca7033010e47c41d573fd9ba40c4faad88026eca797e80396a2ed5586f8109a44bcac355117a7a3f72950030cc506482aa0ce39369bb350fb07b1388981c89400ab5a632c172d159c6f0e126bec96e17c0c18c615be5110818e0cfc2900f76d706aec990021aad6eca787b453991a896f4622537051e3e4a11a0954995525b8f2b11583a3a3e594400ac97b82a4b5da822891910c721ab0bbb9942f2ba777a0c5d8c532393934b391fe5669850bab01740905b684aaa96be0cf50df463406b91a28149174b555c742c3f78569bf294681ca09a336531edb94bf30459893cb2de348330fc56a7304ae2f7cc33d13b7966751414420dd089a48a6036c1cd7c5608727b52612864b63694005590859aadd91b068b053453d1c6f9287c58aa042073087f7959fa932284231b39aa991c0523be599ce85b1f0fb52d465156c795cf3bfba270ab9cf94cc152774fec76ae77b9acf0f37dd2a9547945442ada8eab32960332860e2a25b7a25e86d0a7aab0226e877f0488877d941fc0a0541461b8a4744de6456df6c5ae6c621a969a02f9c943f68a48809328a0ba3892d7af2fe169ee41554f0ac1a3836e151760c8472f60b77e274948ecb6748c404a74005bde6c5849401fe2d667748b9f3c19a41d659474b0b4a6829d848a898b93080c66aae85b3660d392f34a6ee9c6b10df567dce1892f4932b6babe31e0a50f8217985c6537188b817b3311c25e8c63ca265b568ba9cfdd451e6fd517e18317fb99c8204abfdc937134e845cfe00018e097022997653a8d5be32cfb07b34836c242b74ef9d30ba0d7ad8c2b2944c766c025804eab23a05b6fe6b85d331904c4c99a1fc992790a70f9ec52e25bc17b949b66f49040a59e7eb97491c546bb3778e2e70e1a63815c760da8195bfd431a9fd88443e26dde85c5b08091cb19349cfc73ba195923a38ab6a044d1c9cbe498195c1b5a27a2b07b627c141cac61d391ff1b88c9893327447d32234705d42f10374b77c86d83d71e3711893188310c45c51a5473003d8566d87fde99c67b962f6b4750d7851d3b6201a2faae68fcb1011404b252bcdb341e68702c8dd6a237813e049c42aac05977637cd3c81103e1973f6b45b8b0b56f69afffc9cb5e97bae9b6c5809abaf47b5b0b20471bd77ec7455e1dc25fbfaa7018e58133a44678083c06e06334452890a35240526225a33736a042b1595da8452c2eba086acc1a6cba45beccbdfa23acb2f01cbeb75ff179cb39242ceac33eb2889c4784cb970938ad336da5dc013aaa2973043372cb99657297e7ca05702992b578a65c00c867b43eaca93e975695f7625aa8240c0e5827e1636d72ec4a0480408f911ef631b48a1c4462665b230550924b23481bade7b43a1d76cbe6791e33874182f955313cbe69bab35aa59cd1b133fc326ba571713a1c4dbe2a662b514021bc7bae44343f39138444173dd7944c6291c50973ff0b9c0aacad9409881ac232306354d5362537b507e2ab84b4a0a3b5b9819e62c3b6dc1fcbba0224b48da7114dd4fa3103069caba17c09b7bbef8b94b6e15f58321b708c9c23a40288708ccec56f3fa2bcc7397101fb9e54fcb7e7e816f149356570a006f69779fa6e30b1310e6bc6d983599eb81c202c5e887659f5e7836fb7a72eb80474116c6659c24dfc4c38dc2e8d6a0787a3b6c170a23ba53865a53849f4c3f25b2363e582bdf079793bcb832878b0f7268f658b72b3417135684393a4b1f40322ba7fb147416ff0b58d3b62a7343a6c51b4c8f6894f0b05e33476ba24c61c276652048b009ccc1a768e48cac707a42f4e3b685cac54aee57203b78ecaab3a44aa8dd7daa43f2cbb2ed2429d547b4da5176a7b621a38681ccb3e72d98f1f9926b1b30325d6cbd3862c7d044dc16b8a25dc59c2a53e295040d7627f744bcdafeb522cf8ca6eaca400106b003197c8f9c878a367c021db7e9273fe2e03a2716683dab6caed5c770f6e7984984f4c4ef2371654067ce0f22bbe4648dc9d87eee23842f31affcdc36328e8db1f135cf64b6403e103afae34da038613e2853bbfc36baafa3c6a95347193f37c -m = b2c35e33c72d90182791f0e12a0324f5b216efcab2c8da1bee025dfbe13f4152 -ct = db826054868f520c82d82ed0dd1cd6d8ca2270bf8fb6b35f69f7cddcaf3a82f2129da1ef1a13324aca5469ba549a1bf3f5af2bf50c49b4766c902e69e9e158ac72c6cadbb8c0fdab22d4321e0b4790d3fb2f1e2dd31c39a728e47212784f9016a805c71baf1a9880d60fe28f3c10cf94ccf77ea3536f7eee9b60a4229ea8a30a9b204a4def8ac84b1aa498241b234bed717d8c734b8f9a9d7b6e518cf1f0328f434d6ed1abaf576159b98dc5e21d94388c674923262f42a6cce3fc182f15124cd0c969ceeefbad2feb67becfdf951af0124e3ec0320e8d4e6bebc17bc2b31d81bba48c2617aa13b841d40239a485bf021274b17e0d62a617862cc904ff0dff555cd79cc8f7e842773254655c5aadc5681bceba6ee8eb3e3c99a7155c4b3148ed616d6000324f4801acab3f47e92c4980a617a48247abe23a81e85f89c8d6cd8ab7c88d768ae17e511bc1e6e47214ea9632f02dd3d66e12ce3694b29f2de42c7c8354bdad60fb116a97e3591604adec8e059cb07bf0d38d17668b1accdc6cdba5e09663065b55cbe9153bdbb56a63479dce2e007acc75cb874f25785068ee6b9c4a9c6900ebc97f8a262fa9224571598849f70d6fc80537ed7397bf28550a44100f02fab5f1dce06419f7869cfa44184093863a4a075c9e9cfc1a9e19e693b56088a294820be946c45b74527644bfa9101c5096110be7d333950263cdc26b1cdfa886d3b186654f6c0fe933bd0b502b126803bd14487d511c4409f5494cbae82e240d3540838b72ea78986a52158057a3fe511ef79dc2c6fe4f50029aea02542fda50092a3bd4c8f7b11c248b29229bbe7d782fa85a5a61dbaddb0ca05ba375a07eb23df5d3ed108c2eaaf5f5955a66dfd81c54752aea89a66d460a43c8a5b395618a541b2be998fe9735ab46beec5d95191e27c9e12aaccac0ff91c2943327b49b5b4c3a1305341d9f3ef847e7adf76e70587e66dd3adab4eacbc2de9c28aa998eeb9dcbf637c2cfcccb4a370a41fb1ff5a428ee2fb173b5698ea49d60738cb50bcca03000e781add058d63b78cf9bec6b1e5811337558b5c1c9fbe3d90f9dccec4f86e47471509109731adaa3639cf77c1d26f927be6ddac7ea0c391f4581c3087e83f993b3ee47be876cb3f3e43ff90f0f1ec85bdfad0085381d7a85acde3338c8cbda30b6e2dd631b76c15a4f656aa6106a5be8442e0aa2859daf9b7675518c56ac3bd6e21b396f95359335454902c7223261d0f5915ea0e8d92997188c1a9543c6e8ded3875aeb58461e01b909950c8dfb361518f8a5f1e1cdc618827e23f2adeb8aca83e02a30b3451543e55a110a6f57983763984e2235ce783ae45aa316783158924dd2ae5896631d965c216a0fb244a8fd8d3f82a7b09d1f636e6c011486d6947871977f0765ba12c1dad4748d7d37ea42cf2a6af39e602d81b862cba297b9f15311a90574a4ade03a2e8d6acc86e9dea6607129a8db598b8241d8f8d001769184650d7ec74e3dcb33f3e0dceafe9982d74bbe0efd47cf6da24914497609535db2dd18ed20bb5c381a5f8842e7b48dea13b3952983ec3c7105c5279f759385484f82db91e20ed0183af57351de4e9cd6ca897e5c50b283f7c03a3746504cfd49bfc02a9b0a27496d8849859954f97686c2943ba9832b05c33d1e085726490ab4eb1450346a676528de85652909fddc49ae44fc6867c5a231e6d6090221d547be814081abde62875f3277c7cf4d3c95aeeb533c9d258a5caeb4f6aefed614b643a49dfcef871d96fb82524544bad759a924445eb55d29edcf6f52fbbd95eea7eb8b42138df1f685633881e6a7f36153b1a9c4168b0bccd6f5b4868efc432200c78cbfa016cce9b5677cf0decc88be723cf1af89afa2ec7c31cdac36761c47c3c8e0fd939fe90cd2e2865248830ac4d221c731b42484e2e21e3d2915302aeaaa309a3ace0731e6c7d0e19a2b915526ed3619e213a06fcf9e409e4d2ba751c651b368c09ed0df3e3b3c9652432dbe008542a5cd12cf8a2a782ef6a424f1014090e2fae4f024d188f1714fef5364f49668fe570cf00b60332c87a54ad95010092d95b12a5033a4adfe69628ddaf1be2b3b05b0353ecf3f8924efe33994e8916f738ac064547c261d03bf94c3447c3315da25ca492f79af446d3a7de5ea0d77f1dcae9fc6e0295603c2fec2828cdc2cdf7eafd77f610c7f27a59f3c3cd068 -ss = 9be0c520666feaf2932e12b7178b26fc54633b1ea32074056759661700f65592 +sk = f8fb5ba9d24c8681558cd13593f0cebb335b6f65bd5dda6de6d19e09f15165051f981ac6472b263cec43883a79149707093066fc129ae148b04f860c2df119f8a51056eaa5dfd89bfc564226e56dc391ade1cc2a1df58edd4572c5a147bbe21283b97f1b213bc276a471b63a7df1cdc86c7a69a34ed17a425b37aef969c1cd079529ba29a2e2c3412c5615e23523f3124c00c778752bb9b3677b90885cc21b0e257bb7f335fd53928b737d19da3b3208219e6c898e96b45f801135a09a1425a0986c597e2b4042c1a4e6d7a4d0e30e729c73f2bbbe85b579c3c13a34344a7403b95d425936486c3b602804c08ef6f5ab22c400b9523ea3345abfe666023bce6a1b63a872c33e3aaf0ccac2c40a4d5a48107d0c7ab09001ea67ca6f4c1fa7137d259c860d032c396bcbcb4177f82439852463b640855ce604f91c8f2e4a0899b2102c6059dc077d5ee6054355c546c2148077b8defbc313c71f1a420dace126b16c21e40064e2522f9e224cc8e3526b1a99a2f4a81efc2dd3609043246d461c7c1af025b56a9c7e72adea57584cf044c2f0bb60352c32400d1631c034572ee46b71edbc0334031aed7bc26af543028c3918109da52a6abf3217a2219c0607ba9edab5b4daad5ec7948393c4a670c340688541aa713b596843e5ccb9616b54e92610539bfd39159fab36d4928ee9cc8b1291ac0134257e242faeb595100ac113ac416ff517866021b550b6d063512dc37477117d025964c95c13535c2f09a96740037fe1846efec4446ec03f93fa6b6fd8b539f0196444a61823b08cb74b7520618c08324f0667f142beb3a34c2c5286b3d159fce3b046079f07e558ba28a8893a8c94f9711c227fac6900114c8bb6aa5369b059dbbca008482a1843b62a1b06c68c6b2f40bac6f02b6cac1633055a178a396ef35f59f1a76543953d3b07e2b8be217c5d5b1a82f9c080f4119d22275958026280bb8c96626c1d0baea6658a29546e09418aaf85a121f8647cb4789484bee0189b9ab10852c397a2e25b9b15b71ef17440dc3554db740289ba05111979614aedcca79699021f4bc3a4c68b39d0256d88cdd7a24e3ac31dac35388720671a12a765d705f8429d0891c3e0d8062ad45a0b882bc53016dfb007d1c550998963d7e12fa51c7361d86156ea3a8ad7018c627a9ea18f9d3787ab3b88a27b3f9443aa87ab75eb1364a4c66c50e8170892a08fd15cf2913749d0c61305c4de45a1ba2550009726a0873c70049705009dc8327be3610f61f9bc60a26d14dc0c3e67cdae4b5ac0d5a0638804d6c6b4ceb351f0c19f0974324cfa28fab704b4677aa3f2bf65686c22100b74cb9ab5f7215452cbe8d6909754304573a9314b3c8362cfc34c6302b3cbd5dc482e76576fc5900b367016c03a860a88744928cae55413231ca8a5008d210cd2e317d1bb6bc8624ecb83002e66092d8aa77fa0c6766532178a8cfb532c70f1114e5156e91486c3c7658e2a22cf0a77873c944a5a4bd70ba1686146e18b328d30813c9850c3003698c5afa2082b3425c785200596592fbfd7b2ad5568f9d278fa24c523251bfc966a69ca882e707426563d2e099295305fe2e2a96f968a92e9423dc4a1f6662f68299850f81da13ac23e272a8b64be3ff3bfe61563fc98c555ecc6625b7a84c79c6550c399977ceea525b12a52f9098191b004cc6b83a8d89a63756ca9460fd21758a0701e5e71280055cd3ec2a218168d38e78861ca2d0ec6c56a880f5091ce656bc4dee3a8061801255865067982744439e83b893b3055f67466a8b722ee0339c46160d4c40cd92a2ed5601199e5b214c9c48d311e3b26032377b637ca10c5579b7bb381c25bb7bb82159b0b1ac9592a9e9817ccd8b85631adc7c44ca1f6a8e7529782302dd2266fb0a7b04fc16857f034b50b37b723b42e747947e1a6ffb1c8162181be23a1c82ace8d4a1bf522143e495c39bb9e63f17768411289087258e6a07192656c7269ad688bbc5cb66f094737dbb85ef146c0cb146c7010ccca769aab3d0e3b52fc61b637a02bf0c7bdab750bb7a9a367302a4f3115f352675b2b458eeba2db040db45abb314c5583785925bc833f82caf0d6687f87220652886aba525cf89900e0b6fe4493ca61cab752261a432cd34121ec58348f1aa59d4476ec8b5da936ad0edb0ae5a6b9a66bab5538cab0ac6e0430bebd798c474ba1ec345ea6d3ba9fa0377d46606e70c86dd1be281a9f46fbc0d890c607dc009f46b459958989852b5582566cd30d02317cd4e0b84e6b1917e692e45c9beae45bc8e8bf6a65587f206a67d93a4872c571200bbde620e2639659302068088bb2d8bddf33c98ef34541b4c2a22897815b809b060f86200aaea90376234860a66e9e8843bb52ca7033010e47c41d573fd9ba40c4faad88026eca797e80396a2ed5586f8109a44bcac355117a7a3f72950030cc506482aa0ce39369bb350fb07b1388981c89400ab5a632c172d159c6f0e126bec96e17c0c18c615be5110818e0cfc2900f76d706aec990021aad6eca787b453991a896f4622537051e3e4a11a0954995525b8f2b11583a3a3e594400ac97b82a4b5da822891910c721ab0bbb9942f2ba777a0c5d8c532393934b391fe5669850bab01740905b684aaa96be0cf50df463406b91a28149174b555c742c3f78569bf294681ca09a336531edb94bf30459893cb2de348330fc56a7304ae2f7cc33d13b7966751414420dd089a48a6036c1cd7c5608727b52612864b63694005590859aadd91b068b053453d1c6f9287c58aa042073087f7959fa932284231b39aa991c0523be599ce85b1f0fb52d465156c795cf3bfba270ab9cf94cc152774fec76ae77b9acf0f37dd2a9547945442ada8eab32960332860e2a25b7a25e86d0a7aab0226e877f0488877d941fc0a0541461b8a4744de6456df6c5ae6c621a969a02f9c943f68a48809328a0ba3892d7af2fe169ee41554f0ac1a3836e151760c8472f60b77e274948ecb6748c404a74005bde6c5849401fe2d667748b9f3c19a41d659474b0b4a6829d848a898b93080c66aae85b3660d392f34a6ee9c6b10df567dce1892f4932b6babe31e0a50f8217985c6537188b817b3311c25e8c63ca265b568ba9cfdd451e6fd517e18317fb99c8204abfdc937134e845cfe00018e097022997653a8d5be32cfb07b34836c242b74ef9d30ba0d7ad8c2b2944c766c025804eab23a05b6fe6b85d331904c4c99a1fc992790a70f9ec52e25bc17b949b66f49040a59e7eb97491c546bb3778e2e70e1a63815c760da8195bfd431a9fd88443e26dde85c5b08091cb19349cfc73ba195923a38ab6a044d1c9cbe498195c1b5a27a2b07b627c141cac61d391ff1b88c9893327447d32234705d42f10374b77c86d83d71e3711893188310c45c51a5473003d8566d87fde99c67b962f6b4750d7851d3b6201a2faae68fcb1011404b252bcdb341e68702c8dd6a237813e049c42aac05977637cd3c81103e1973f6b45b8b0b56f69afffc9cb5e97bae9b6c5809abaf47b5b0b20471bd77ec7455e1dc25fbfaa7018e58133a44678083c06e06334452890a35240526225a33736a042b1595da8452c2eba086acc1a6cba45beccbdfa23acb2f01cbeb75ff179cb39242ceac33eb2889c4784cb970938ad336da5dc013aaa2973043372cb99657297e7ca05702992b578a65c00c867b43eaca93e975695f7625aa8240c0e5827e1636d72ec4a0480408f911ef631b48a1c4462665b230550924b23481bade7b43a1d76cbe6791e33874182f955313cbe69bab35aa59cd1b133fc326ba571713a1c4dbe2a662b514021bc7bae44343f39138444173dd7944c6291c50973ff0b9c0aacad9409881ac232306354d5362537b507e2ab84b4a0a3b5b9819e62c3b6dc1fcbba0224b48da7114dd4fa3103069caba17c09b7bbef8b94b6e15f58321b708c9c23a40288708ccec56f3fa2bcc7397101fb9e54fcb7e7e816f149356570a006f69779fa6e30b1310e6bc6d983599eb81c202c5e887659f5e7836fb7a72eb80474116c6659c24dfc4c38dc2e8d6a0787a3b6c170a23ba53865a53849f4c3f25b2363e582bdf079793bcb832878b0f7268f658b72b3417135684393a4b1f40322ba7fb147416ff0b58d3b62a7343a6c51b4c8f6894f0b05e33476ba24c61c276652048b009ccc1a768e48cac707a42f4e3b685cac54aee57203b78ecaab3a44aa8dd7daa43f2cbb2ed2429d547b4da5176a7b621a38681ccb3e72d98f1f9926b1b30325d6cbd3862c7d044dc16b8a25dc59c2a53e295040d7627f744bcdafeb522cf8ca6eaca400106b003197c8f9c878a367c021db7e9273fe2e03a2716683dab6caed5c770f6e7984984f4c4ef2371654067ce0f22bbe4648dc9d87eee23842f31affcdc36328e8dbf25f42aaa0d647322bd837cb730af6082d2fa2d17bd63b162b36839fcc2df0c5 +m = 525f15e526198acd1d2b0ba0886071e482866312cdfdef01c20eb2935c28ec84 +ct = d4f1d65c0a829e99abf2a02dabe989c5d9ae51f1191496e9437f3cd7b024e31372016cced22ec30bf7a2e6e143c6ba8f0bf71963d21c42fb4d721c90fee874e4cbf6b13d50056b459d5c0c5947963ce11ce23bf7b12b496f23b501348cda2b460127b81407c06a26c5e564b8b9e2eea24ca8f59fcbf264ddb2f5f84386d99cd0ab23ca4d96a68d4ffd6c8631eaaa94499d0decae9b77868be7dd518712ad402604e5bad5ab1955cf90c27fdbed96018d2aa4432183552070fd87859835fa18581e41d8c9fba4ca9310c02ca290789fcc31d88d039d09d844343c1f0b3edacd023b01fca476a642fba217e43557edf24197c0b47940db661c7a544e4c4e27544d673e1b817e74990d27806cc40a78acb2ccbf5dc2f9707e146eee40dde2a21d061c3305ad15d1a931d0d7361ce5a7bd00cb25736cabfa02a899ce52a7023912b3bb0807f93c54784687e1111e6fe44ce160a7e16dd5787d001ef954937cdd628d5be82a87000a9844fb75c138cc0ed934c8a32b924886b2486f1753ce5b82479f10ab4b783132024d2a21659c858933da828e74a342b74a5b804afbe1c478ee2623e52f13085562eefae7b4262402959e3a40dcb79b9f5dabe934edd07f73bdaa393729c6ea5ba7fb031862fa7d9224e27eaf8fdcc298824947b05aa0d0bb0866ed935a9786d7270dc48f2c71264c28e79a2c744731b638f02fc6ac7955e192afaf958631bb3c02f65ad502e6466889935f841d0ec9b0f1ac9018abd02c0477c755a347c6c3cc3f93b23682cb736539301f95b9746a6dfdae2a18609cb7e8c20d5d66dd7a87b747611470539b93085126219cd48bb1c4e41f909c45e2e2dca6f7c5d9da422417c4ed58db6455bdf0eebe485998fb6ec9783f5fb815ab5d674469b2a2849be8871d57fc3bd72810e96db8904aeb6bea332c6f7dec7b4072898f7971e22f9065b10d729d4a6cc9078b6b1471201ee34727e3bef3af3116d1179906243a42341feaad6e450e8984995b5464c66aaa214d6587fa7d2d97104b10f771c966971917a02fcbcf179216a0a1fe2434668529a3cab9d39380498c2c4c22f83efd47b9871e2e90a1af45357d603e9b1976ea8dcfccf90fbf61a24c3635c843ec71ba8dfd742c6a5433eac47a79f90343f068142b3856ed00d9273647d2fd737f7e5b8f89aee90a4374dd014f5c90e99437b253768927fccf8b73cfae122d3f0a00d8d9ed68709d79d2a8a043187cbfa13bc9ef06ce9470beeb640768ccb075bfbc1ade8cf734876f09c90402223eba414d6b3126acbde7940dcdf9207be1af39dc780043fa76ad5f65678434574f43110f437f9c17030e0aa6c43a364b849dc1c9c468d60fd4ebcf7680a312e0a0464f34ff7408f0ae07289af41ea6a781bddab9010974552164c974afe6204b1719da4655a7a336b99008dd08e89ec12c9441248f998ec0bd418224911c1e7a5bc18c4fcf5f756ff1d2b7fbe4b94ece24c176e68f5fe9807b2fa13bbe35ef5739715a2db2b34173dde6cfddc6c950f55485bf39a73ff820f0839eb711dee9a688db8eb4f53be749ebb7f5df8c2a8f0f432f7c543d621ccbba242cb94bce06db712224b30b2256ab92b04f4a7c7be320cd1f7aa1d07add393485e941f45a97c851c074acd9a79ccb6467d96c2ca80516218b84cfe6d12d4e2eb12b5c14d9f98304c8077445144826df57ed52284aca3862238d6a9e646cf1b44a6a0ce40e7d451ec248f7544d71f40d98163b1431d5b5842e519c39c60aebf1763484a5777be8d7fe516fb577d97202185aec96f3060f366e9e781da3d2f55469d558e85e4b096a04011cea3518ee9a81bf801526a4ae03c0395c373ed6f15a1cc52f27293cdda53467da5c03babe6b5b49df06d31e1ff4784a2253c6b3d221b12d33a17f6fa966c7497127f3889b7eb1f8177a63b2de695d78cbabc7e9e4954febb533f5ad33d186e1aba7bc952f20f9bbddefd955debf52a346c391451bfa7b0ddee7d9866f6a992af33fafc6aac8391a61d28f42e03a48711a9ab130d3f97ffd5544a5dbc6de96aa1cf09c8a8312b5d32e4799d7060bd98ce2a0e2bfb4bd655ca1c423f7b5b006c897c773c33de4fc75df3ebf79512e32f2c0a2d9d6602d47ef423047d2b6147afd86829f9e211ba4c1cc0b61819bc74afc81fdb0a97bf9f68bb534bed453c7fa5ec4d37e3dc44bb24f2c5d2b1d63c9a1 +ss = 9bcc4aa03c21dc8b84601ef68c88ed4d31390eb2e7b3717c55526e30d10061e2 d = 952b49c803d6d6fba69f4375adce8594847a00bcae2179da49af2aed04232502 -z = 62d7033947ae42ca53522a65fbafe18d3bc3e0cb66164e9a094fe4b44d8977ed +z = 23da505ea48a79eb504eeaddf7d19d736f39a46c837f2a0c2bf3fb876ed8e6bf pk = 6461a7a463b8e40c03739a6b5fd196655871adb3c82ad10fb2b2b538e61e1b664fbaf761f09b4d5e358b518088b3206e1295bfd0461a2ff8553b40cb92e36f0f928af9fc7ef54c358d88280697ac3d5548029c3faf882ae2da732e0c47934b9c98232c40b84a344421e708226ca6524c062302765bf4d593e2d75d3a783f1dd7328767315dda868e685eabc18fdaec2ca8b037fdc3607629cc3ecc8e848c771b94c6a20a28e3003778ba68b923b711060bb6152554707d7e4c135ae8663d87643ec4921c6a5c20ac69e67b0b795a6febe794fa86b13866697b15306f667ab867c1f2ebbf3cc63c5e7b03189abf9b4a91eb782fed97bc3a6314d0ccb528b313d165b2910859de867d7d6290bbc85185b0201561af34b9656a00b2ec32323b26a04888786f81007362814bcc82862a7280a5cee73a330e6c2e01fc9afe2741b12166949532c884ce8bf2281aa4b860756463bb49bd1524b8ccc6ecb6051ada819865b8bbe1bb01141b77fa3ff5713f95baac10866303939c07483b6bfc500d61b7ad494382c643e87508e410c30fe96b37960ad4e707421944b13b31d6686745c52ef6ca4fff3074f19c1695038367b1218e8b08d8e6180870b0fe5b5511e3b4641b6fa44156c561aa2aa9a1e163aacf73c24d84bb764004b3b329ddcb0f15716e17c51c6c432ba1407c0d063b0cf2c073763a790cd0312abe6d26b0d75390492a88772763fcf67e1bf28e1a01c0a5714bcc685570d34627ca5896dba36a6642c507680ec744ccdbace6835d052a42e2379a5e80acca643cc06b62f3e5ceceb4708c3ac4bf88af58c7cf37f43d2797635bb985f052450875a8997c335ae85d5b790377301f5a094a5b43b515206067e36fe51ab9af296583d47450a34a302844b0526a4ef891d01c287602453126557a876c583c2a06561a88f9651e39929d0b43fccba48595925c01adc0677200c39c64e44505aa58a9b5c88311c094dc3aa5314f167247b501798c4a0d5d9a04b77c6552369542e96172573e727890fa3b2e3551286113221fe92f81c481c125bfa7a6199ef8c0eeaa0a5b8973c9a33807a464fd4a50eb294741c5a8fd998171872c0fd44ec86112e19a707dec768f7245dd2a6f60a554490947e5152dc3eb9d9e7151ff7188127b5313757431d3a41c673e203c7e8e9963d0ab1276b5c1114c38ec8cc0ba0a94918cbccdcc7dc5366704415cd2ab9a7fe55ed49498b8b7105fb312f4a153e394a019749a23dcc180236468a47d96d47be66a0cdfd16a2dd15aef826041192b8028b1ea782fbf0a2cd5fab19011b219099f8e87c74cc69841f4a927e181e98ac6b3db7846ec38c0ba8aa9f50ba7a423a474060ef165299b12786bc8c05a384ef129b0f6c06c1047e582c02a54aa8713422bb6b9a6a4195fe6843d7c639916943b5793107cb8e63365dab357cc02a9f1b33e8da29f25f9839d862285864ba790bf965292470965e0a9c1d1f65b72139908d791a4d89e489a983279a703a0c34222786e123b45c793c925b1a146c006f15fb4a1c85e181f8b1c6983e1a1d7210c12091d83439ac8a15d965a386be47145bb946162cb8869b359654121092d81947ccb5717e805478a7c0ea924692b361ccb730f3180c8f79041f8d366757528b0828b7ff9531c76690c37cd8072ccb1c36a195a84197a8797446273d686aea96fefc153f1710d98229abf35b6e6127f2e5a5c9e88a33a85a1006a1383988e3c72692038c2a713bdfb266f22a4657548a91554c54a948e189a62590a3f0362c1f84954408ba3c9284442b59c1a4904128c0bbb50b2e34c98b819a1d6793de75697cd814ee162ae3dacc0d50bade8b835c3f27126731d2721ab61802f544967df987b5b0b02efbc95847a5f06113737e55ca4db20c4400580b5c241016b50db710d7555d8f67cca13b2d86103d3870d5713b217d03b3984334a6ca272d43911ec23db3b5c15139efcd510a95c96d68a70d2988adbd048122678ac8a051282bb4fb47d6d5819a3a9866571cf53b78ed80a76ffecc971b221bfb917bc69018dc0177468357292495d98a022634ea7b0b1f517734ee40d0e927919221ce9eabfa05596a801a342b87267ac9047129995630271c1c2f02a4d1af2217b65c05609b8745306b6a90f86eb48cb0a4777065c449f94385651c3b4c0503726cafa118167110e848fbed995526b458d362061a1 -sk = 5b47b61ce23572623c431a498e378c6b71a5cdccb58e225310217f6f2b1b7140b97349b965d9c95332a66d7a9879f24c479851a0ea485254755db347bff9a06d00502ae3a910c06771aacc0a51add07a291496ac10e2899b6562dcda7b6b9b7eb516335d222c43498859d87a44cb8ad589a06e609fc5798ca06744051533d5c6154608c790a8abd776cbd2984b57e1cf4e0638c77915dd89249d3c0775b45cc159b44bd32f49a51a1e398763e35dbf5c6ccb100929c9b91047a1ab98a140e00f77f5076310c33179a8c80449591c4156c244eb8c8b3009328139c18f8c59e1961a2b91c840d552c2e4b3897265b16c28de6abb72d218ef713a1d179cea38561663c9bf21b68166aaa45748316877a9a5bed6f5230d3015193aa5a9e1b34dc6576b57692b543fff321b14879a24728de3d6a297c06ac6cb28ec3482da708abab28fa815272624af6e26a879f65c6432812470c52de01edce20681db43a967069dc9bb34f9c540a21b8d7322a3675fee059f5f655cfc480ba31255e899c48a7c25588303d67055434702ecca24d31a9d69796df408328912ada084ab122c6ac53c3c349c105270c9aeac73923614ea9129ce4c9fd8d78bd33045d8557ad3d0a698b34a7c073b93783670662f8558375647747905402a6aabd1698d1d3b430ce8b5ee8665771a34ca73b2dee04497c997c9e74044230690354b7af23bd94aa02cf599554391095c0d53f5c1db19ac33189b2b9aa3c48bc4e09bcdc5029bd3b45a370c59045abcbfb257ddf30085da053056c17dd0b5ddc6494524875ac189e6c7a7cd483288f03abc155bc2022eb427b7d5093f4616c124b7c29a0043181c7bded83de7592511e3617a75652d4568d7c7b3ab2b7464c514ce6ccf54fa8d73e61834e534966620dc59196ab44b736151a27c02e065a000611542fc296a69a24989331ef980f708142d7274ea863669a52039b59d48b90bcc75ce4b434f5751cef621cf3a29873c003a57276128e70bb4aa5de581834946741a8134890491d37b6051959739fa8eb81c6947141704683124136c1c382760e13f00c59ab5bcbcef98b973831b91ba87fec02216619f012859faa6b01b1649786b626348182398226cf794095681d1c25800b18bf33cc71123898ad2aee46905a8118916ba8651328a051697f8041667789c874394e96a0efcda8998d420684217952496ae9117c6c618513c147148979f5c8bfef8c7ca1836430c3cfb66b17cbca63ed1a2157961cee600617157aad986b5021f4f69c3bee6ae181a076c3cabf076903bd59814352f4ee2c04a138ae0eb018a2193ced58981caa3bb032317499e6ec4bc5cfab8b389467ef295dbe7305bd1cd099364d7596b1801008ed734d7775c5606af0f1a2978733dd7f55556dbc5fbaaca5a95bbc287b6d3a43aa9b78ad10a025f46af233512b126230cf928fac14d753160bad961bdcc4d5e1b4edd241609a0adc6b3c6cc9660e5371d6c1655b4465f16d535adcc54f8376371b758cacb81d84a7b3e6b8754b430c0753982a89d5ca8b2f4244aabe0bf05f75ed0b092f332aa83808f897ba21906af25e68a88b61a357a10ece1977199203e465ef9bc020e145f6421abd11b18ab198549b67b4f0c11fd7b001e43731f2383f62ab90adb3e13197db7279020d212105236fbd8746722a99606b522c69648543f9e65558162235ceca379905100a2b98f32824ba288aa3cb7dc1734bd49c0769cc5a44483e0317dc62961471b195483683f774243e689ff504c02ec73e04b5731c49d0853494adccd6608a575388d245a312a1a38f1f9a17d26073eb3b6fe41175f362dfc697ce5d2cda6b0145a739e7879c17e277de2750733c9b539a915585c237cbb66cd4b1afa425ac5f22f06724ea5783b579331928b57a9fc407c56541117c8665aaa2df1ad0dd20d6a2911faf73c9e653d6baa0ee73720dbfca1f5ba6a1db99e0f87955fb85a253105156a2b9fd3c35c8ab458023ce3d381132b488c122beaf1b740a526513b31b63cca1ca8389f9a26e22c3ff1d50b42e3c71cfbc4465745dcd28b3811bb29e52558735145ec799614926f5a55d57c640f673e4fb176e8f56f73aba60e60a4cf464373f5104416c6ceb386b4518c7d154b86e58a04b2337f1ab43660b312f0c905bc776461a7a463b8e40c03739a6b5fd196655871adb3c82ad10fb2b2b538e61e1b664fbaf761f09b4d5e358b518088b3206e1295bfd0461a2ff8553b40cb92e36f0f928af9fc7ef54c358d88280697ac3d5548029c3faf882ae2da732e0c47934b9c98232c40b84a344421e708226ca6524c062302765bf4d593e2d75d3a783f1dd7328767315dda868e685eabc18fdaec2ca8b037fdc3607629cc3ecc8e848c771b94c6a20a28e3003778ba68b923b711060bb6152554707d7e4c135ae8663d87643ec4921c6a5c20ac69e67b0b795a6febe794fa86b13866697b15306f667ab867c1f2ebbf3cc63c5e7b03189abf9b4a91eb782fed97bc3a6314d0ccb528b313d165b2910859de867d7d6290bbc85185b0201561af34b9656a00b2ec32323b26a04888786f81007362814bcc82862a7280a5cee73a330e6c2e01fc9afe2741b12166949532c884ce8bf2281aa4b860756463bb49bd1524b8ccc6ecb6051ada819865b8bbe1bb01141b77fa3ff5713f95baac10866303939c07483b6bfc500d61b7ad494382c643e87508e410c30fe96b37960ad4e707421944b13b31d6686745c52ef6ca4fff3074f19c1695038367b1218e8b08d8e6180870b0fe5b5511e3b4641b6fa44156c561aa2aa9a1e163aacf73c24d84bb764004b3b329ddcb0f15716e17c51c6c432ba1407c0d063b0cf2c073763a790cd0312abe6d26b0d75390492a88772763fcf67e1bf28e1a01c0a5714bcc685570d34627ca5896dba36a6642c507680ec744ccdbace6835d052a42e2379a5e80acca643cc06b62f3e5ceceb4708c3ac4bf88af58c7cf37f43d2797635bb985f052450875a8997c335ae85d5b790377301f5a094a5b43b515206067e36fe51ab9af296583d47450a34a302844b0526a4ef891d01c287602453126557a876c583c2a06561a88f9651e39929d0b43fccba48595925c01adc0677200c39c64e44505aa58a9b5c88311c094dc3aa5314f167247b501798c4a0d5d9a04b77c6552369542e96172573e727890fa3b2e3551286113221fe92f81c481c125bfa7a6199ef8c0eeaa0a5b8973c9a33807a464fd4a50eb294741c5a8fd998171872c0fd44ec86112e19a707dec768f7245dd2a6f60a554490947e5152dc3eb9d9e7151ff7188127b5313757431d3a41c673e203c7e8e9963d0ab1276b5c1114c38ec8cc0ba0a94918cbccdcc7dc5366704415cd2ab9a7fe55ed49498b8b7105fb312f4a153e394a019749a23dcc180236468a47d96d47be66a0cdfd16a2dd15aef826041192b8028b1ea782fbf0a2cd5fab19011b219099f8e87c74cc69841f4a927e181e98ac6b3db7846ec38c0ba8aa9f50ba7a423a474060ef165299b12786bc8c05a384ef129b0f6c06c1047e582c02a54aa8713422bb6b9a6a4195fe6843d7c639916943b5793107cb8e63365dab357cc02a9f1b33e8da29f25f9839d862285864ba790bf965292470965e0a9c1d1f65b72139908d791a4d89e489a983279a703a0c34222786e123b45c793c925b1a146c006f15fb4a1c85e181f8b1c6983e1a1d7210c12091d83439ac8a15d965a386be47145bb946162cb8869b359654121092d81947ccb5717e805478a7c0ea924692b361ccb730f3180c8f79041f8d366757528b0828b7ff9531c76690c37cd8072ccb1c36a195a84197a8797446273d686aea96fefc153f1710d98229abf35b6e6127f2e5a5c9e88a33a85a1006a1383988e3c72692038c2a713bdfb266f22a4657548a91554c54a948e189a62590a3f0362c1f84954408ba3c9284442b59c1a4904128c0bbb50b2e34c98b819a1d6793de75697cd814ee162ae3dacc0d50bade8b835c3f27126731d2721ab61802f544967df987b5b0b02efbc95847a5f06113737e55ca4db20c4400580b5c241016b50db710d7555d8f67cca13b2d86103d3870d5713b217d03b3984334a6ca272d43911ec23db3b5c15139efcd510a95c96d68a70d2988adbd048122678ac8a051282bb4fb47d6d5819a3a9866571cf53b78ed80a76ffecc971b221bfb917bc69018dc0177468357292495d98a022634ea7b0b1f517734ee40d0e927919221ce9eabfa05596a801a342b87267ac9047129995630271c1c2f02a4d1af2217b65c05609b8745306b6a90f86eb48cb0a4777065c449f94385651c3b4c0503726cafa118167110e848fbed995526b458d362061a174841a59db1202eb2e3744bb36b9c5a229a33cf9eeafca4b3d02d155d870b6bf62d7033947ae42ca53522a65fbafe18d3bc3e0cb66164e9a094fe4b44d8977ed -m = afb7d6dc2b7eb6d84acc080c1be63c98afe7b07786b5801f716444a3e8e64800 -ct = 803e8f41392ec543b8130bf61c2b74cd3abac42c0e4bf632d235db957ffae436d25d95c6b725059b4a705902a737e91cc16bb6a0c36b589d1eee54530c59d9483bc0d4dd666083dfc36202a9ee837e69c20599f896dbdd18aa5d7a6ebbf3a1600106a71d3697885b0554d8247d3f3ba77401f19f171b2b33cfd4dcd35db1e6211d956fc86b26c4ce30d40ded4b89a582cedec1cd757688fa279144ff01f2b9b667ab72f3f84b8a8694eceb50a98b6f622cfaa3ea08106988a457fc31e993afafb52b44defb4c799956d5d813981d030aac1f323d20ad0362f65c00fedaf7f3efa56c7cc21b9722c0656f1373f0b7eb1738b052da3a6d0d2844809a6c919839d54f7ae83fbd4c71666c312253bb85d27b9b2cf6de6c1ecdfbd4b5f0072ae62c280576ecc673348c8c1e619de681b64c15abe357759f1944041401bb6fbaddc0a715a802e5d144a46d56385770d7c2f754fa378c2acff5ab6a4b25e2b80ddec7979f0e265d976e6541628e192fdc863196ba7a6e459038ffa13535218ad4de7c21373f6d1846d6b93f945a36a7c7a73c1b3a3150e091ba2256ef226cc5dfd16959d2a96af3c3d406dfaa5997cb9e184e864bff8d5ba39e4729198193145f4097a80ebecd5671bf6928dabe09563b890c122188997c51cd279d425b6ed4e5aca85b2e7f8b9f7b16204b742602f7dd3ab4ba49e8e5b5f2f01deaee4ca910ec6d0eb4a4d1f3544c3a02a0e74532eebb4198acbdf94541c5c3dd5f3e1c675f50f2500fd27bd5e1584a2a99b052483ed9981fdada7134fbed3169def7f5cc4b1590b36d9f00af185ab1e1accf268d74a7957543fb543f5bb2db14f34f378c8a4fb71712b85cba313aafdca1a736aac8823150dfd80438ff68cbe19c1659c555a6d89dd872aa262587ce65be93322ac72bf4f724171c3f9638659edc4d6e5dec8192d50d7b483a9b1a837279efe79a25de3b65155db8aebd9a514bb2a7b1009e269a9f851697d119aa6c3c78066fd8545331b15aff2e1142cef184ab531d9b9547f815c99a42aecfb3dd0ed09363ce1bcc2e2e16a158cc5415073c24da28ad19e9b269077c64a5abbccba0578d3ca4bdeba52802b5327baae457c869774b855f900b2b06277859d942f7c22e387bdc843b7fba17a6c707c6e6c1ba92f587675df64e65e98a83caee7a18bd218cd91f052f4e4f86a53dfacc5dd7a25ec5317b5cf4ed4901b8568cb36478e6029847497e10f73271536f50b2c558732e6d990f294835247202cfa84f212d1f2f1e7995032e623715d91f19fafc24aaa7484811aae9840e4e7550b5a102dc71caf6313e0dd050ce04795a6e7ab8376c2781e4a28442a713ac0f0c9a52f64d0d3a18622932b18ace92d872a5d2b151471043f942dc0866e93ccb094262e710dbe136d7bebacec025194298775a7781161768e717bd08d00f91a64ece160ba97e92659ebb718021e987c4089c1f4287eed8e97a1578da1930e5409add5751237c4054c0066e70e7ab3a362f39bcc4cd1a79c8d1d3ea4858b8ca84bf4e689d809bfbb669e458cadaa1f079532d2aa399750376a6686a4171cb73916e1cebfbc37c0019c79f4928af21307f9ca384230dbb039918c6ac793744b50aaa3ac2ee1c8a50b74d23cd3580b8f5c3dfd19ba9e21477a846d18dada39f83f0426b868a76ddb3966d04fe36f55eaedbf360a5c0066ab3b194ae7938d6429632a3db9b4a3605aae0bca7b01e5ed2d710f79eec946b589a3bd6b030533497b20af7c6c841237ea46c574475a373f95f2d949dd8136229448b56931da728a003ea62008e8d8f3d070b6e4255f4a58e64a47c4ad7cafe1dbda9f2cb132065aa1b4fa7ab30470d94c2b882351e89012cde04b2b366fc96776fd594b480497a06aff32cc3cfdc1ea9eaafe26995a8b8ee6fa62febe1fb331133921f810d03dc634e289691059e68fac4faf30175b6e6823e94990d4e87c615af8ff637f77babcbeddc09add51a7fdb7cbf7eba7ed9621c6b9fd8eac40cded3b0a3d469d51ccd7e7ac4613c88cd146107e462c2d9f986f51ded6e6fa8af29171bdc9b039b2facefa101416ebb3c5e0abbae774201491998cddaadb0e2f34118e61247cf04d7129f2650005fc56da743989f5f2d0e1765ee6b3fc6694b7e1605c18604a681464ce6f54b18ef7a3010c92792c324805bb4801429d4bfa58ceca2259038cdfe94478575 -ss = b21993d37cec0783b0bd10aa4db79733ebee78bc3d1d362dc328eb328e68047f +sk = 5b47b61ce23572623c431a498e378c6b71a5cdccb58e225310217f6f2b1b7140b97349b965d9c95332a66d7a9879f24c479851a0ea485254755db347bff9a06d00502ae3a910c06771aacc0a51add07a291496ac10e2899b6562dcda7b6b9b7eb516335d222c43498859d87a44cb8ad589a06e609fc5798ca06744051533d5c6154608c790a8abd776cbd2984b57e1cf4e0638c77915dd89249d3c0775b45cc159b44bd32f49a51a1e398763e35dbf5c6ccb100929c9b91047a1ab98a140e00f77f5076310c33179a8c80449591c4156c244eb8c8b3009328139c18f8c59e1961a2b91c840d552c2e4b3897265b16c28de6abb72d218ef713a1d179cea38561663c9bf21b68166aaa45748316877a9a5bed6f5230d3015193aa5a9e1b34dc6576b57692b543fff321b14879a24728de3d6a297c06ac6cb28ec3482da708abab28fa815272624af6e26a879f65c6432812470c52de01edce20681db43a967069dc9bb34f9c540a21b8d7322a3675fee059f5f655cfc480ba31255e899c48a7c25588303d67055434702ecca24d31a9d69796df408328912ada084ab122c6ac53c3c349c105270c9aeac73923614ea9129ce4c9fd8d78bd33045d8557ad3d0a698b34a7c073b93783670662f8558375647747905402a6aabd1698d1d3b430ce8b5ee8665771a34ca73b2dee04497c997c9e74044230690354b7af23bd94aa02cf599554391095c0d53f5c1db19ac33189b2b9aa3c48bc4e09bcdc5029bd3b45a370c59045abcbfb257ddf30085da053056c17dd0b5ddc6494524875ac189e6c7a7cd483288f03abc155bc2022eb427b7d5093f4616c124b7c29a0043181c7bded83de7592511e3617a75652d4568d7c7b3ab2b7464c514ce6ccf54fa8d73e61834e534966620dc59196ab44b736151a27c02e065a000611542fc296a69a24989331ef980f708142d7274ea863669a52039b59d48b90bcc75ce4b434f5751cef621cf3a29873c003a57276128e70bb4aa5de581834946741a8134890491d37b6051959739fa8eb81c6947141704683124136c1c382760e13f00c59ab5bcbcef98b973831b91ba87fec02216619f012859faa6b01b1649786b626348182398226cf794095681d1c25800b18bf33cc71123898ad2aee46905a8118916ba8651328a051697f8041667789c874394e96a0efcda8998d420684217952496ae9117c6c618513c147148979f5c8bfef8c7ca1836430c3cfb66b17cbca63ed1a2157961cee600617157aad986b5021f4f69c3bee6ae181a076c3cabf076903bd59814352f4ee2c04a138ae0eb018a2193ced58981caa3bb032317499e6ec4bc5cfab8b389467ef295dbe7305bd1cd099364d7596b1801008ed734d7775c5606af0f1a2978733dd7f55556dbc5fbaaca5a95bbc287b6d3a43aa9b78ad10a025f46af233512b126230cf928fac14d753160bad961bdcc4d5e1b4edd241609a0adc6b3c6cc9660e5371d6c1655b4465f16d535adcc54f8376371b758cacb81d84a7b3e6b8754b430c0753982a89d5ca8b2f4244aabe0bf05f75ed0b092f332aa83808f897ba21906af25e68a88b61a357a10ece1977199203e465ef9bc020e145f6421abd11b18ab198549b67b4f0c11fd7b001e43731f2383f62ab90adb3e13197db7279020d212105236fbd8746722a99606b522c69648543f9e65558162235ceca379905100a2b98f32824ba288aa3cb7dc1734bd49c0769cc5a44483e0317dc62961471b195483683f774243e689ff504c02ec73e04b5731c49d0853494adccd6608a575388d245a312a1a38f1f9a17d26073eb3b6fe41175f362dfc697ce5d2cda6b0145a739e7879c17e277de2750733c9b539a915585c237cbb66cd4b1afa425ac5f22f06724ea5783b579331928b57a9fc407c56541117c8665aaa2df1ad0dd20d6a2911faf73c9e653d6baa0ee73720dbfca1f5ba6a1db99e0f87955fb85a253105156a2b9fd3c35c8ab458023ce3d381132b488c122beaf1b740a526513b31b63cca1ca8389f9a26e22c3ff1d50b42e3c71cfbc4465745dcd28b3811bb29e52558735145ec799614926f5a55d57c640f673e4fb176e8f56f73aba60e60a4cf464373f5104416c6ceb386b4518c7d154b86e58a04b2337f1ab43660b312f0c905bc776461a7a463b8e40c03739a6b5fd196655871adb3c82ad10fb2b2b538e61e1b664fbaf761f09b4d5e358b518088b3206e1295bfd0461a2ff8553b40cb92e36f0f928af9fc7ef54c358d88280697ac3d5548029c3faf882ae2da732e0c47934b9c98232c40b84a344421e708226ca6524c062302765bf4d593e2d75d3a783f1dd7328767315dda868e685eabc18fdaec2ca8b037fdc3607629cc3ecc8e848c771b94c6a20a28e3003778ba68b923b711060bb6152554707d7e4c135ae8663d87643ec4921c6a5c20ac69e67b0b795a6febe794fa86b13866697b15306f667ab867c1f2ebbf3cc63c5e7b03189abf9b4a91eb782fed97bc3a6314d0ccb528b313d165b2910859de867d7d6290bbc85185b0201561af34b9656a00b2ec32323b26a04888786f81007362814bcc82862a7280a5cee73a330e6c2e01fc9afe2741b12166949532c884ce8bf2281aa4b860756463bb49bd1524b8ccc6ecb6051ada819865b8bbe1bb01141b77fa3ff5713f95baac10866303939c07483b6bfc500d61b7ad494382c643e87508e410c30fe96b37960ad4e707421944b13b31d6686745c52ef6ca4fff3074f19c1695038367b1218e8b08d8e6180870b0fe5b5511e3b4641b6fa44156c561aa2aa9a1e163aacf73c24d84bb764004b3b329ddcb0f15716e17c51c6c432ba1407c0d063b0cf2c073763a790cd0312abe6d26b0d75390492a88772763fcf67e1bf28e1a01c0a5714bcc685570d34627ca5896dba36a6642c507680ec744ccdbace6835d052a42e2379a5e80acca643cc06b62f3e5ceceb4708c3ac4bf88af58c7cf37f43d2797635bb985f052450875a8997c335ae85d5b790377301f5a094a5b43b515206067e36fe51ab9af296583d47450a34a302844b0526a4ef891d01c287602453126557a876c583c2a06561a88f9651e39929d0b43fccba48595925c01adc0677200c39c64e44505aa58a9b5c88311c094dc3aa5314f167247b501798c4a0d5d9a04b77c6552369542e96172573e727890fa3b2e3551286113221fe92f81c481c125bfa7a6199ef8c0eeaa0a5b8973c9a33807a464fd4a50eb294741c5a8fd998171872c0fd44ec86112e19a707dec768f7245dd2a6f60a554490947e5152dc3eb9d9e7151ff7188127b5313757431d3a41c673e203c7e8e9963d0ab1276b5c1114c38ec8cc0ba0a94918cbccdcc7dc5366704415cd2ab9a7fe55ed49498b8b7105fb312f4a153e394a019749a23dcc180236468a47d96d47be66a0cdfd16a2dd15aef826041192b8028b1ea782fbf0a2cd5fab19011b219099f8e87c74cc69841f4a927e181e98ac6b3db7846ec38c0ba8aa9f50ba7a423a474060ef165299b12786bc8c05a384ef129b0f6c06c1047e582c02a54aa8713422bb6b9a6a4195fe6843d7c639916943b5793107cb8e63365dab357cc02a9f1b33e8da29f25f9839d862285864ba790bf965292470965e0a9c1d1f65b72139908d791a4d89e489a983279a703a0c34222786e123b45c793c925b1a146c006f15fb4a1c85e181f8b1c6983e1a1d7210c12091d83439ac8a15d965a386be47145bb946162cb8869b359654121092d81947ccb5717e805478a7c0ea924692b361ccb730f3180c8f79041f8d366757528b0828b7ff9531c76690c37cd8072ccb1c36a195a84197a8797446273d686aea96fefc153f1710d98229abf35b6e6127f2e5a5c9e88a33a85a1006a1383988e3c72692038c2a713bdfb266f22a4657548a91554c54a948e189a62590a3f0362c1f84954408ba3c9284442b59c1a4904128c0bbb50b2e34c98b819a1d6793de75697cd814ee162ae3dacc0d50bade8b835c3f27126731d2721ab61802f544967df987b5b0b02efbc95847a5f06113737e55ca4db20c4400580b5c241016b50db710d7555d8f67cca13b2d86103d3870d5713b217d03b3984334a6ca272d43911ec23db3b5c15139efcd510a95c96d68a70d2988adbd048122678ac8a051282bb4fb47d6d5819a3a9866571cf53b78ed80a76ffecc971b221bfb917bc69018dc0177468357292495d98a022634ea7b0b1f517734ee40d0e927919221ce9eabfa05596a801a342b87267ac9047129995630271c1c2f02a4d1af2217b65c05609b8745306b6a90f86eb48cb0a4777065c449f94385651c3b4c0503726cafa118167110e848fbed995526b458d362061a174841a59db1202eb2e3744bb36b9c5a229a33cf9eeafca4b3d02d155d870b6bf23da505ea48a79eb504eeaddf7d19d736f39a46c837f2a0c2bf3fb876ed8e6bf +m = 06430dd2cfea620f387e8cf12a48dc32e25b9eacb9468c42057b01a3cd76aa80 +ct = b75552950a026f737d596b341964f43603cbbebe57443ac0b00bac786f1528f53d2cc5733b1f2615d528f44bbfde602c757480ce10286eb01517cf1bb2c887983351db25fb834587b0af9f9aff02e72762aea47b0d228fb5f7892afb431eb0942278e57c8267f04dbc0f3561ab2a06afb659f4d4b9fab87934f0b81af2b05dbad3f3fa09d0439429f23e472f771673db28508f2421275b1e6f8a586402d2f6f00de271e0020f324f52747211e9eff866dc01e74a092bc2caefe53937351dd0751c44becfca8902472204ddabaee33feab383a9523183494fef9bdec10a129e23afde2448593342df38ccdd3f247af1681f2e301daf67b4c6e808cc5251f9bf556bea54190f77735b0c299cd4a08642f6ad54f34be40399db74376112586a61c0ac0b66e7e16f23329f05a17369dc0844d011d79ecceba1c0e13439c77884ef72f3cfce713acff4624c2a0b71b54c14711494c8475cfa2118ec6a1ec76aaf942f825a533ee6dd373380cf014e10db25525deda9a8e5651027f415e0e842f64c6c7cc656d88c5cba0361db7bd5e731b60d8c3fe14b2f18755695d333ffc6a73cfcd3d2305a6501cd7ae25fbfc48c0bdfc3c1a7ceee40d2f6a9dac07b74129df6e1aa3ef5e26c91ad080dcf6fb7c5dbf946ef614682cc7ebcc08fc5e85091c479c67abfdb8571e866570328728890436d5a3ee70665b9eb589e14c4baf77259b7396209fc25db89a50f32e8190fc3c549044099240d1c697eda8d3c54092e9d229292078dd952b40aa86e8738d44e4a22c60c8767084ce553b5a04713c57cfa580a20e8cb9c7485ea8bfffe4f216919daf7f02928f65d14a2f7f55ed4cfe9f948321b087c3fb91aef6417c7edb06d5f20e38b629e17b7703e0c33b388f8b32956ddf3161d8923ffe0136e40131848e1d435a6c054379cd0c5c2422b576b8524f9845fedbd089f5ed4290cbd64ae82a21fdd3ed26870988ad7aa559dde882848824d359641507b83d7e198a837f676e8a9d6b59bde14811f3fde1b752ba4c897085f5a81333e6194e155f89b5f1ff4378072f68cc6524207114b5690605a32eb48b70cacb1ab2370e6f69c8e5c31b13c01f870755f574069c1b39f48492ea25358b58eeb27a65ea1decea5fbc14a51253238cae0a105bc9abf83d5c10c4686787039e8f302aebcc6a5c1782cd417045871412265325bfaa09e5189d98445d7759b8dc45ec361760748481c81542bd158eb0652b6634c462d8358d096d92ed65135fb29101615d42e98afbcf158a30cbfd08dc11efe8e0507e79248b99c04656c58fa7ebbfca91a5468f37b1cc08814aeee0b2dbbff4522fe430a59e9809885d3b825856a1c54476781cecbd452812c88d1c541f15f247bc13e2f7483b56f1b7f5696447833991628a1c1029b89b6fc4b253e26d523bdbe1616e4e45278d56fbb565bd10ad88625a14ccb7f87cb5513482def4377731dd816ff77e9f150090155b2276e5cf3c6755dcf6b67e733eb90f012774202219d067dcd43e5e38ee4064f3f0e208e8dadfc467216705dda530eafd98916b6bdb0721e01203e7aa164ffa8ee0eb7bcfc39d00eb94ba36bd48ce8a08d8c70aec99bc7288e01726ad50b6ac9084fd602422d4dcfef47b359e06bb13cfbb9bd51384128ba54943e532e79ec1b72244b8676d4019deb1bc055104716189d5298f0e1851667aa3d09af905bbaf7bfbf8fb55ad9f664f2026ed29f05203be81010ba82c5d7e706e7c6bcbd73e739cfc04f235a84ba1158120f745c749a0dda637366df8a9707d52631b16065553c926fc310826d6b811f1b2dffc908a86b5e225d5ebf396eccb76af16e58fe2e7dfc473734927f27b6bed5444ba0e75bf5f5e4ab5098055cf0a8d93fb67be799d5a9f6bd42fefd9b00581cb60e64afff245814848a62b8b2e0c1157cbfc5dfbfc41bd796112f18bbdc737727ee8cdeaa8ed871f1d4af5134b3b47ee935e348fc206215b64e0c62f1fa43fdc48f823059353fbb90bacaec9a59d829bd90028f78ff7866ab40da24ae1c9e27db06470cc1c59977577ff5b9066cc98f42fd526f51414435eeef2e2b66b0910fd8a576267093c155268e10ba8477af0c2c20d5728165fb4a2deed4e978f5a46137742acfd0486a3132cb33451ecfae5d63416cb6cfe8963a28c39774223e04b4fc4ce3097fbcb6fc1c63da96c831b57f124561d33c8cebfd +ss = 028254fc9d35d9de5fc4006def745ccec1071c39c967b4e2d18aac9679fdfbea d = 3c815e57e9233e975fa1630208aab206b71ae0db37a7a8789ac683d9f9b2d298 -z = 01c8e376fdb140ee343106c093af7cb149b316ba79446ceb4e5e0cedb9b164f9 +z = 5532c666d12d7f321aa87f8a1f475b161bf3812efa99269925f5f29b1e030b5d pk = cc40bee26ac378d8b540992eed54b23676827aeb4bd44857c2c21d55d72d0db795b0b6c8bc9077aeb59b71588abfe926f7ca57d305141012a41eb063f5281018563eab7252c34aa832a4bc27dacffb008e6d255cd547a0ebab65f410035550297c50b1a637cdef9172b6d4ab96ac598ad7622c34c3b98890c77cb9a5a08e3411a235da946c92a81d7bc57998175531b203e21e3cc9cda7d4bdb46c517c08a1dbb5bee25cbdf2991def527fe6c838d3e1221bb7a48cf7a247895dc77328a07b8c342c731d24ca8a83b9cdd7a47025467aa81bbb0878ae5c8e6fc0ade2f88c68a328fa132a4b5a0298ac19f46098a451870993015360093bd7b0ebe3929a028333312361e07a7dac8c90b50019e73893f78d097028fc5714362c41dd42c4dd71cfbea58e5aa96d82b03f5ef65d572957ede919e094a70aeab998a55ae4b2988890c88ffa1095273b132550068337586284976a30b0c538474a25ec076960d1bee0620a2a875fc53054d28042674b1f51b7877629a1fa815e2ef578afe936dfe5c7cfe6472ae7c264809a3a1285f6a156448246e4e832c75439cef074f62bb4ab5a4bebf24a129c046b0cb215552d126c32ea74088a2a7da6bcbc380354a00642ddf9810ca8c0df8296c55c057df32a4aa14f45192846e31c38919185e2c77cfa199b2003b80a5d6a867cc6764fa4b907646cb923e39bff6a14f335392363890cf66a10026e7de62d09daa31a50a5458515dee1ac7e092dc19ca6ff506dddf67aeb26ba4d720a92310fb942581f69024ba975598c97c41a6112c812aa6a21258060badb32dde0a5eaaa4fec6983776b1348c06a7877bb1b44223cd67aa088b6e0b593eeebbf320a76a95999f2c37da487a277625298f403114a018b8b78af433a15a69de14158657ba05855bce24402243746de13728b4c4359409a282b994f3053777a72e6c30686eb0e4746b88ab57fc9f2558a1a0820c59c2cfc801b97b0206833d4c389e415330ab87ff870c90f86218c3b2c058b97b1e595f87703f6d34118965cc88423e3bb4e182210c225902fe3229e4559ae8a231b34395989c732f54be1b90b3f846adcfb5a36089f1b057c70931921fb36207966666413c8998c509a6268a6bcc1271ead333060d9753820a0f1786faf467d9f645c45fa9cc8ba5d9e09629b47a040ab2773976ea3e6876590c152c897d59543fb576e6ba22f9b312995f9969c91cb9098aa2046ac4bc69a38ab5c7a206eed57514de7821e64aa6626299c99b2a7299dfe933ba386a19ee01cd7a24db661356a19a68f68018a6847f56c0247346e294158c36c3da5e51af8604c3ff26014648f310977ccf8bfb36316be8321c71a4e1745237f964b5df9b67f8699454a810fac4fc83493aa2a7e4af61728759a12a769fb751d0d2125413cc0d4e0b5aabbb63b8c8ac5d385a95094e0650d16009da134c36a7c8a59ba90260b9af69542add7a72922c8dbd2b9e1dcbf39e6b19a4815d1544d31547f9c336baa44c835805c1a03610c0ca2b33bc44557583da206ccdb50f1c7309de949996ac72fd9803ec5bb7a151fd8f0b4e78008e35c102a33a9412b40e4b7a247864277bac3c1409006a75596d0cebc52621e91a7af791672e29861533e765257beb06fabe44c20f0a44a288c42d22851433c2be639404aba3e6b356c4671906a375894954849431f71717dbc1a26b19258db8096138cf83894182c88c6d9a56d718f489040667184ad175ca0b02ecdb1b5fd0a2b785197bc696a68471c9b486d7596657318bfd1f46aa29414c436c0f69252ce96bc09837cb4325903bb15d81b3f5c62cbb8dbaced7421b4361a8c196601b002f79877158c97bbc80072ecbc8b69557a4c60c8e90d23427dc7ba806ba6234189bd874c30ec696710c53540f74bf61b2a777606721952f930358b55c183db4f1ea17a761a0cfa14c55ed47cfba737bc75725c3471aa8b563050bd424512df66b0684948d068b94765adacdc5a24e18035c5164c54ca64171143a023a7a07ad8b5ce3aa095c7307eadd6499d89cceffb00f635334a3c91785009fa6a93c1211854882e99b7a32306bcf053551bf99f99c8a458106a55ec98a0c06c7c58583ed757956a89533c6c7b2867b8d3a5fef526e13abe818919fb03a7f9f0cfa9025fbcf4677fd32a677f68dabfa371062d8b8ce9dfe0d90bf06044ac3a840ceb626b16e134 -sk = 2c021f19322a908456f1677d31dc8a4a2a734a2571d19c421c47aecc507c3c53a931113290b693afd1b7ffeca87cc90b0419c48bc4359d64146d9932beec78766408f59216c692228fe59b768c92f4d5a3ccfa6a35599da2695766d754c1f682ab13c8966997f37a74985551c36828224c177d3a3ade3c2c20a907c830bc32906df70b021b47c38c606ef951acf7c1512ac15fc0d761c9057a7db1ac6c56198f9a8ed2f67a0f159a5ee6612109254d57745736cc3cdb634f5658fb684d805888fea8582135bd4890343a545e4e0a6f0c130b8539125ab06358f8bcc0a4b44a7a4903d018c960ca45779bb564a30cf1b340b4c317cb77da50bf899c10b4676f3c295b90e93c2540a9e17c3bde560f351c81c58b545306449585718e9199a6302e3b0ca1e737c07a4b7e21ec154604590d415f4b82778778905360cc2e49be4b08c94a744995f18959d4492f0b7a3f53a98f9a8d914863b9583d866712fe583fd2677e8a3b8ba5341902178824f4c41ba21cbf7a4b666acb413c31cfa744b9a5405efc5b53a2c64481270484134753c1b0407e23b95850a8c026843643e42b329bcbb7422df5cbb968b04f39210a4ec959e1b5c9cb32a180588b9baa690f7459b1282d9e9200bd1a0e910a3efd948c3bd0af04d866edc61c866b48d7aa22e6fb5025c6892c66116e271b998b888e0481abda592c8b36f7464704fc22c51b5ba995928fe03594a8073ad790798aa304579822255e61d11557092bc9b5bd4c94068c60b2940c180831c5167487b7538c9ab47dc268215c8c7f324563d3973fa73bbaf07c771b15070d880478d2693535425fccae0f8272cd7224f3795a70241d480425e4a74922309906e1c11c5107e9f34fac3536354100f911234d55769b763cf2408b9812aa6b7c2601161953cabf0733cd3af819f5158a136621fb159db3dc6c3f3220adb8acaa8cccb7cb2ee583b9909c903ff43612d178c568aa7e9217e345cf4daa9aaf17cca1b5a4a5a73ce9b0581e73bcc019bce2b68c8c273dfe588ba0861c5a73a6edd9bbdd66935af04e5ea81a55d62c9a8c51b3e6a402587ff4f837c16380aef5640f333db08a6cddb425cb4189ed773d8adb91e2708f12b78a0105bffee30873c1b6d5d5469f6464705741ec4310a8185a1553372f6091c769109f19527e95a6802c2a49127077b21126e7531a5941298bae199309cbe00d97513bde1ac82292ca1a76957d20a306932f83994a00f21d89519e16138f0477667f338a67450e1248a682142a79d9ab6b58b88754362a32af3402d062a554ca8a40da0481ba721a9b023da71987b744c6b9ab5e80830f8b7200241007f0eb72ae3694ee92814df4b1db269f4404cd0c77a844d2b751f5a0bd1cb93d61a628098d0eebc941827f77139831575b98e47b7dc3676d887b56d0ad96bcaa1f280049776339cb3fef6489dbd26205530cb08c53fb0839b49909864ab06b2c3fe15957dda96ccda90c51904df02c6a1e5846f892a1683838b9760ab900664a1a039b6a1c75f9c4b05340ede9881f48869dc881da0191e24bb5aec448ea052e57e69edf254575fca87a1b50e6d39520630688b04328a70ca1a871ffbcb0a8823dfd4747dc859b3472cfa9e02ec7f2c5b3b9a08e4534a971ca46f7cd93547ed32c42dfe064577a5291db057df43d59741da0a12ad930a14319a0d7516a26b5cdf32ca566a6cfb1099b2da1a37b487ca950199f9212d14c83064742ae46985c398749f392046bbf13638b19b716e6fb94c8d5331b14bfdbc2be35699627641abe618880d8947ef059696185de186069cb9309552e256987b4f071f79a9687d85fc61292c19548c3272cc8e34bba918eeea5181a52b68344ba8656409f00426d28869e397f077a675cc169a17264634a0b2341b758a37d54f1c1fe154893a1560a7b10618094f8c060330cb03f978cf765133aa4c9482b0cc169802a8128b108b7ddc5718ed6377a6a11922b72d6f3bab633b3c820a42ae2825a43093f48bb73a0432c56b56565aaef028c2228be23618a6fb8b9d121700f8b25b79578bacc1d3d7a1ef5d16355a07dceda8a5b358f20641113ab967f75c3b2dc7f4c1c81f18b35f8e573d8039466f210b89baa4752af1b45b2f71b5642eca69f50789fb153c7f9b62dc29440b36ecc40bee26ac378d8b540992eed54b23676827aeb4bd44857c2c21d55d72d0db795b0b6c8bc9077aeb59b71588abfe926f7ca57d305141012a41eb063f5281018563eab7252c34aa832a4bc27dacffb008e6d255cd547a0ebab65f410035550297c50b1a637cdef9172b6d4ab96ac598ad7622c34c3b98890c77cb9a5a08e3411a235da946c92a81d7bc57998175531b203e21e3cc9cda7d4bdb46c517c08a1dbb5bee25cbdf2991def527fe6c838d3e1221bb7a48cf7a247895dc77328a07b8c342c731d24ca8a83b9cdd7a47025467aa81bbb0878ae5c8e6fc0ade2f88c68a328fa132a4b5a0298ac19f46098a451870993015360093bd7b0ebe3929a028333312361e07a7dac8c90b50019e73893f78d097028fc5714362c41dd42c4dd71cfbea58e5aa96d82b03f5ef65d572957ede919e094a70aeab998a55ae4b2988890c88ffa1095273b132550068337586284976a30b0c538474a25ec076960d1bee0620a2a875fc53054d28042674b1f51b7877629a1fa815e2ef578afe936dfe5c7cfe6472ae7c264809a3a1285f6a156448246e4e832c75439cef074f62bb4ab5a4bebf24a129c046b0cb215552d126c32ea74088a2a7da6bcbc380354a00642ddf9810ca8c0df8296c55c057df32a4aa14f45192846e31c38919185e2c77cfa199b2003b80a5d6a867cc6764fa4b907646cb923e39bff6a14f335392363890cf66a10026e7de62d09daa31a50a5458515dee1ac7e092dc19ca6ff506dddf67aeb26ba4d720a92310fb942581f69024ba975598c97c41a6112c812aa6a21258060badb32dde0a5eaaa4fec6983776b1348c06a7877bb1b44223cd67aa088b6e0b593eeebbf320a76a95999f2c37da487a277625298f403114a018b8b78af433a15a69de14158657ba05855bce24402243746de13728b4c4359409a282b994f3053777a72e6c30686eb0e4746b88ab57fc9f2558a1a0820c59c2cfc801b97b0206833d4c389e415330ab87ff870c90f86218c3b2c058b97b1e595f87703f6d34118965cc88423e3bb4e182210c225902fe3229e4559ae8a231b34395989c732f54be1b90b3f846adcfb5a36089f1b057c70931921fb36207966666413c8998c509a6268a6bcc1271ead333060d9753820a0f1786faf467d9f645c45fa9cc8ba5d9e09629b47a040ab2773976ea3e6876590c152c897d59543fb576e6ba22f9b312995f9969c91cb9098aa2046ac4bc69a38ab5c7a206eed57514de7821e64aa6626299c99b2a7299dfe933ba386a19ee01cd7a24db661356a19a68f68018a6847f56c0247346e294158c36c3da5e51af8604c3ff26014648f310977ccf8bfb36316be8321c71a4e1745237f964b5df9b67f8699454a810fac4fc83493aa2a7e4af61728759a12a769fb751d0d2125413cc0d4e0b5aabbb63b8c8ac5d385a95094e0650d16009da134c36a7c8a59ba90260b9af69542add7a72922c8dbd2b9e1dcbf39e6b19a4815d1544d31547f9c336baa44c835805c1a03610c0ca2b33bc44557583da206ccdb50f1c7309de949996ac72fd9803ec5bb7a151fd8f0b4e78008e35c102a33a9412b40e4b7a247864277bac3c1409006a75596d0cebc52621e91a7af791672e29861533e765257beb06fabe44c20f0a44a288c42d22851433c2be639404aba3e6b356c4671906a375894954849431f71717dbc1a26b19258db8096138cf83894182c88c6d9a56d718f489040667184ad175ca0b02ecdb1b5fd0a2b785197bc696a68471c9b486d7596657318bfd1f46aa29414c436c0f69252ce96bc09837cb4325903bb15d81b3f5c62cbb8dbaced7421b4361a8c196601b002f79877158c97bbc80072ecbc8b69557a4c60c8e90d23427dc7ba806ba6234189bd874c30ec696710c53540f74bf61b2a777606721952f930358b55c183db4f1ea17a761a0cfa14c55ed47cfba737bc75725c3471aa8b563050bd424512df66b0684948d068b94765adacdc5a24e18035c5164c54ca64171143a023a7a07ad8b5ce3aa095c7307eadd6499d89cceffb00f635334a3c91785009fa6a93c1211854882e99b7a32306bcf053551bf99f99c8a458106a55ec98a0c06c7c58583ed757956a89533c6c7b2867b8d3a5fef526e13abe818919fb03a7f9f0cfa9025fbcf4677fd32a677f68dabfa371062d8b8ce9dfe0d90bf06044ac3a840ceb626b16e134f7243d71bcbb46b9a423431b3b30947eda5fd81b526cce79a36730d8ee1be42c01c8e376fdb140ee343106c093af7cb149b316ba79446ceb4e5e0cedb9b164f9 -m = 28f5e9dbda122b2cf8f3754fe9e0c73a84ad4b0c093522e0b62cf815d60bbc3c -ct = 6b0374071c6dcf175bf6e59102954c4f7505988aab8f84eabfa209454dd2348378d238aa6700031e415ae7b59d982d7803e2828134e81b2a4931c26b65a355e93bc5d3ea51872406f3ea512f56b049abc6368065894755ad7280ad8001a6ca9de420a050864f9bcecdfd54c6bb6ce07bb56ccd6bc3288b10c282b15fcc5504d548966a8e4f11a22f339da0f06795e12ead3b28e3cc9faa084e8fb62684f382d8bdbce24d7caa3c56dad1c17a7b96eb217eea64553ab7e35fd803fb9709bab88fd044b752a34af022a590b60d12bfe262123f97596f0a630d36ca0f087e7c7e18fdc8f7cd20b4d89c20ab6de5344394266baf8de93494435c911d17452f7a996d5ed23e5ae257e2f00cce28e4137104199ec7a84568e17228bd9577554123a513d0de8a0fbb1bdd311c747f6044011079a1d8bdb4bd80d2235c2945db71b386ee944756af4b475a2751218ef4ad59d1a55effda78404ec20e177c8a5bc6166168a9cef88f6206735460aa134bf0eabdda17ecaaa62a133938467d7503e2736816926705c3c68ebd7813d07d97631ce859ac39f5aa0b33ef7e2d6e71163c0d0cc3514b4a49b870188547dd720350d2924892a7fd27bf06fe488f4eebba81a3918de1c11aa202d722fb819ccaf812c48f06a5b87e4732bb1afaf7c40191dc17f66024a9f5d7bc9cefb936f73fe26d8d225da876555ecdc3bcc7f565af4af1d7d2fb893478d93a53bc8ce9d1e5dac843112724ade9d1f3e058ee8ccebefb13e514c758a6e51e10c7a8f2ad91bfd7169a0fb05ed1f343619d687758972af4b0b7b7c49bb1d0f79ffac5691ce45bb03cfcbe4406dd019933e795dbab366612f353f819f082199939e70b9e73cb8fa5ab337952bf01c5b72a06b7c2aa1a74852ce59e664a1f0c5b7c1db71f99aac4e050cac45a57896e790be955b63dc84363e6d2ab450807a4e07b00c1c70e928df0926861c18f79faf785373101661cdf9fd0afdac3cfae32f14923f1998a2c95971934d91d7859aedbde79ba2958d009debd6a8521dd154899064a4890a20a8c43c97c3938bdb82a313e10991583730cf0c269794e9352b533e4ca84d24f6d9fec529288e9fd5fa9ad8cb78bb965d577e732c8201334896a9a5beab1bb0e986474b5326633f1e3e53250ec2058326c1f655e5de748d0d85567c86302e5c9bcb9b12e509d97800d17406671b713a36a4b8f3d6ee8f067e4cdeddf07297e2fefd2b1fce3755eea4d6e6f7f13451d30d7c9eecd034413fbec4364c1cd1ec0d97a9f202d3c15ad05da633a1c3d4f8637c083c75ecec4187f9fbbe6b6d560becc6fbfb921f71d77890bce681de68d8d677c44588460abcb8cd8ec4a5693cded8b7ec4a410ea151c2ea4a8c5a70e355a211868563eeb6af052b6c18dc412adfbac48830772127b2a8fa0bc617a688de864872cd306b7768718b6eedcdf78163c8c72576d4fa13ce010845fd497ce89892ef886ae6429d64a45b26d2434a52fb26b47392ccef96293ad95755c89a1c00c04cadc1c83ec6495d6a9deea32f61983d298c192609ba2dd530c9e7067020705c72e09904c0a0928934d03f97f267b964ef5c731229276b7728ac22096d488287c757477ff85cfc29100ae2c85190abc488830e5458a5b97e99de6810ca4132694ec8630f55ffff8257d991fad10a05f20d40bba810b5eeeed1080465c5274a4ac442ef770517d15b509174403007a14ae3af497733cbae4f3d396b0e0d495ffedcdcdad2f0f57edbf617ddddb5e6e079ad99b4715cd49a79163a4f54feddb1d354e35a74003df85c4612a0ab202a60f8eff1d126563d1653d18a8d2deda660d3f3c93e7b1bc3726844b641f4732ddd00d84025580a5113a0e08806b6bda950d91cb26ebfdda7c41e8d57b89b07a47b534f1f6345a2cf18159ab90c3fe006fab1073fda380620a6dea5863773bdd36eacd9a5470a0f6d994d93338da9c9e0f28632866b64d3d3c8d9ebff6d03b916ffc0eb6560291745a010735d0ca5adabbe64f0997c0688a94f134a591bbd00a9a1c8038378e6f40b1aeb3a78516e5ec5062ca77a18261b715fc2489d8be0e137310cfff96907a3e12b01fa1e3b84daa68bfd1af6c14fd2c4c2e214b1206a8018ba45e72db8bcebdad1fcc44472ec0337573e195af913059bc7a808f2218e7e8370ea1a2238f46b819d2faae4136ce82cccd482a7ab2460c3d83 -ss = e1aa7fa8a3e874ea0ed429fdf2aba8ee91fff9f5ec99fd81af82cc16ed8195dc +sk = 2c021f19322a908456f1677d31dc8a4a2a734a2571d19c421c47aecc507c3c53a931113290b693afd1b7ffeca87cc90b0419c48bc4359d64146d9932beec78766408f59216c692228fe59b768c92f4d5a3ccfa6a35599da2695766d754c1f682ab13c8966997f37a74985551c36828224c177d3a3ade3c2c20a907c830bc32906df70b021b47c38c606ef951acf7c1512ac15fc0d761c9057a7db1ac6c56198f9a8ed2f67a0f159a5ee6612109254d57745736cc3cdb634f5658fb684d805888fea8582135bd4890343a545e4e0a6f0c130b8539125ab06358f8bcc0a4b44a7a4903d018c960ca45779bb564a30cf1b340b4c317cb77da50bf899c10b4676f3c295b90e93c2540a9e17c3bde560f351c81c58b545306449585718e9199a6302e3b0ca1e737c07a4b7e21ec154604590d415f4b82778778905360cc2e49be4b08c94a744995f18959d4492f0b7a3f53a98f9a8d914863b9583d866712fe583fd2677e8a3b8ba5341902178824f4c41ba21cbf7a4b666acb413c31cfa744b9a5405efc5b53a2c64481270484134753c1b0407e23b95850a8c026843643e42b329bcbb7422df5cbb968b04f39210a4ec959e1b5c9cb32a180588b9baa690f7459b1282d9e9200bd1a0e910a3efd948c3bd0af04d866edc61c866b48d7aa22e6fb5025c6892c66116e271b998b888e0481abda592c8b36f7464704fc22c51b5ba995928fe03594a8073ad790798aa304579822255e61d11557092bc9b5bd4c94068c60b2940c180831c5167487b7538c9ab47dc268215c8c7f324563d3973fa73bbaf07c771b15070d880478d2693535425fccae0f8272cd7224f3795a70241d480425e4a74922309906e1c11c5107e9f34fac3536354100f911234d55769b763cf2408b9812aa6b7c2601161953cabf0733cd3af819f5158a136621fb159db3dc6c3f3220adb8acaa8cccb7cb2ee583b9909c903ff43612d178c568aa7e9217e345cf4daa9aaf17cca1b5a4a5a73ce9b0581e73bcc019bce2b68c8c273dfe588ba0861c5a73a6edd9bbdd66935af04e5ea81a55d62c9a8c51b3e6a402587ff4f837c16380aef5640f333db08a6cddb425cb4189ed773d8adb91e2708f12b78a0105bffee30873c1b6d5d5469f6464705741ec4310a8185a1553372f6091c769109f19527e95a6802c2a49127077b21126e7531a5941298bae199309cbe00d97513bde1ac82292ca1a76957d20a306932f83994a00f21d89519e16138f0477667f338a67450e1248a682142a79d9ab6b58b88754362a32af3402d062a554ca8a40da0481ba721a9b023da71987b744c6b9ab5e80830f8b7200241007f0eb72ae3694ee92814df4b1db269f4404cd0c77a844d2b751f5a0bd1cb93d61a628098d0eebc941827f77139831575b98e47b7dc3676d887b56d0ad96bcaa1f280049776339cb3fef6489dbd26205530cb08c53fb0839b49909864ab06b2c3fe15957dda96ccda90c51904df02c6a1e5846f892a1683838b9760ab900664a1a039b6a1c75f9c4b05340ede9881f48869dc881da0191e24bb5aec448ea052e57e69edf254575fca87a1b50e6d39520630688b04328a70ca1a871ffbcb0a8823dfd4747dc859b3472cfa9e02ec7f2c5b3b9a08e4534a971ca46f7cd93547ed32c42dfe064577a5291db057df43d59741da0a12ad930a14319a0d7516a26b5cdf32ca566a6cfb1099b2da1a37b487ca950199f9212d14c83064742ae46985c398749f392046bbf13638b19b716e6fb94c8d5331b14bfdbc2be35699627641abe618880d8947ef059696185de186069cb9309552e256987b4f071f79a9687d85fc61292c19548c3272cc8e34bba918eeea5181a52b68344ba8656409f00426d28869e397f077a675cc169a17264634a0b2341b758a37d54f1c1fe154893a1560a7b10618094f8c060330cb03f978cf765133aa4c9482b0cc169802a8128b108b7ddc5718ed6377a6a11922b72d6f3bab633b3c820a42ae2825a43093f48bb73a0432c56b56565aaef028c2228be23618a6fb8b9d121700f8b25b79578bacc1d3d7a1ef5d16355a07dceda8a5b358f20641113ab967f75c3b2dc7f4c1c81f18b35f8e573d8039466f210b89baa4752af1b45b2f71b5642eca69f50789fb153c7f9b62dc29440b36ecc40bee26ac378d8b540992eed54b23676827aeb4bd44857c2c21d55d72d0db795b0b6c8bc9077aeb59b71588abfe926f7ca57d305141012a41eb063f5281018563eab7252c34aa832a4bc27dacffb008e6d255cd547a0ebab65f410035550297c50b1a637cdef9172b6d4ab96ac598ad7622c34c3b98890c77cb9a5a08e3411a235da946c92a81d7bc57998175531b203e21e3cc9cda7d4bdb46c517c08a1dbb5bee25cbdf2991def527fe6c838d3e1221bb7a48cf7a247895dc77328a07b8c342c731d24ca8a83b9cdd7a47025467aa81bbb0878ae5c8e6fc0ade2f88c68a328fa132a4b5a0298ac19f46098a451870993015360093bd7b0ebe3929a028333312361e07a7dac8c90b50019e73893f78d097028fc5714362c41dd42c4dd71cfbea58e5aa96d82b03f5ef65d572957ede919e094a70aeab998a55ae4b2988890c88ffa1095273b132550068337586284976a30b0c538474a25ec076960d1bee0620a2a875fc53054d28042674b1f51b7877629a1fa815e2ef578afe936dfe5c7cfe6472ae7c264809a3a1285f6a156448246e4e832c75439cef074f62bb4ab5a4bebf24a129c046b0cb215552d126c32ea74088a2a7da6bcbc380354a00642ddf9810ca8c0df8296c55c057df32a4aa14f45192846e31c38919185e2c77cfa199b2003b80a5d6a867cc6764fa4b907646cb923e39bff6a14f335392363890cf66a10026e7de62d09daa31a50a5458515dee1ac7e092dc19ca6ff506dddf67aeb26ba4d720a92310fb942581f69024ba975598c97c41a6112c812aa6a21258060badb32dde0a5eaaa4fec6983776b1348c06a7877bb1b44223cd67aa088b6e0b593eeebbf320a76a95999f2c37da487a277625298f403114a018b8b78af433a15a69de14158657ba05855bce24402243746de13728b4c4359409a282b994f3053777a72e6c30686eb0e4746b88ab57fc9f2558a1a0820c59c2cfc801b97b0206833d4c389e415330ab87ff870c90f86218c3b2c058b97b1e595f87703f6d34118965cc88423e3bb4e182210c225902fe3229e4559ae8a231b34395989c732f54be1b90b3f846adcfb5a36089f1b057c70931921fb36207966666413c8998c509a6268a6bcc1271ead333060d9753820a0f1786faf467d9f645c45fa9cc8ba5d9e09629b47a040ab2773976ea3e6876590c152c897d59543fb576e6ba22f9b312995f9969c91cb9098aa2046ac4bc69a38ab5c7a206eed57514de7821e64aa6626299c99b2a7299dfe933ba386a19ee01cd7a24db661356a19a68f68018a6847f56c0247346e294158c36c3da5e51af8604c3ff26014648f310977ccf8bfb36316be8321c71a4e1745237f964b5df9b67f8699454a810fac4fc83493aa2a7e4af61728759a12a769fb751d0d2125413cc0d4e0b5aabbb63b8c8ac5d385a95094e0650d16009da134c36a7c8a59ba90260b9af69542add7a72922c8dbd2b9e1dcbf39e6b19a4815d1544d31547f9c336baa44c835805c1a03610c0ca2b33bc44557583da206ccdb50f1c7309de949996ac72fd9803ec5bb7a151fd8f0b4e78008e35c102a33a9412b40e4b7a247864277bac3c1409006a75596d0cebc52621e91a7af791672e29861533e765257beb06fabe44c20f0a44a288c42d22851433c2be639404aba3e6b356c4671906a375894954849431f71717dbc1a26b19258db8096138cf83894182c88c6d9a56d718f489040667184ad175ca0b02ecdb1b5fd0a2b785197bc696a68471c9b486d7596657318bfd1f46aa29414c436c0f69252ce96bc09837cb4325903bb15d81b3f5c62cbb8dbaced7421b4361a8c196601b002f79877158c97bbc80072ecbc8b69557a4c60c8e90d23427dc7ba806ba6234189bd874c30ec696710c53540f74bf61b2a777606721952f930358b55c183db4f1ea17a761a0cfa14c55ed47cfba737bc75725c3471aa8b563050bd424512df66b0684948d068b94765adacdc5a24e18035c5164c54ca64171143a023a7a07ad8b5ce3aa095c7307eadd6499d89cceffb00f635334a3c91785009fa6a93c1211854882e99b7a32306bcf053551bf99f99c8a458106a55ec98a0c06c7c58583ed757956a89533c6c7b2867b8d3a5fef526e13abe818919fb03a7f9f0cfa9025fbcf4677fd32a677f68dabfa371062d8b8ce9dfe0d90bf06044ac3a840ceb626b16e134f7243d71bcbb46b9a423431b3b30947eda5fd81b526cce79a36730d8ee1be42c5532c666d12d7f321aa87f8a1f475b161bf3812efa99269925f5f29b1e030b5d +m = 45443194c6681faeb9e4cd954543bdb55dc9fc5478555dbabaff127cfdd85438 +ct = d313cd4af10859bdeeba24c6251c70de801f2271a1ca1b23d7a64c3351052c4cdf3b219aa1942f77d531d920dc2052135787e3ac4aec26a03ce5dafd94e6a059e84424f87428c23842a49a3fef3204ba6edfce2b87f4d0eb57523c41e74b8fedf33f9118323d01f28ae365c23bb2693dafe831c20c8da1d15f1db9bc5981d5418218ea0a7197e29c59c01bc953a5a402b83c80c0d6c44160b642f59af7ae5963e127618280b9f83f4ddf9408886276b766066bf58cf5defc10b7832b4e7dc1726c5c1105a1387aa8621bf543952f7d70ae4c29d7c7348eb14ff2dd0dcffd40d25df8857559bd72c2f23c26dd804beaaed3bf1b95674caa2490cd4777530cc8262cdd635637b2c8fd223b3bf6a567e12ea63c12569c775d4894220e27dd95cd2c8c9551db1870d0abdc05e3bd202aba5d46a7bffcb7bd4c3848bb16208fbc8aa0b5e19898cfbcd63da7092ed82986dbe013e114b71e1e9c0701e847ec532ba26eeb95a110b95bd98c80236c413a632f5a526d1b5c5fa33118fd3d009d1221bbf4277cb0863738d6c2d4055b6e39a9c8f6a43dc5892edec5ed3f7a99f44ce8b66b428516fd09b91685f541bf82a1eb08ab552f04e886c6bd9cf0d7e6b32b08f4405343b97f59d7be6dd41f358132033de71878e6b2d0ca65206909061bbd9b2d26c15b4d6a625f6448bf8dd0fe15b0176175ae15473eb15eaafab334eec9e148241e3312473f6441f2cb45b05490529fc680d11d26c5b0bab29e4aec15165ed2ec67fe8de9eaea0dbc0a31a8ef18898fad81de6b2a32c054a7bbd84e36c39f9e4eb6cfee587684977a492787eb3bf261fd4b080d2e750447ef44f03957312d319fc214ffda1ead796fa419f9c2b27e06eb12f8eec336ed633f0047505d62557aa721a2b8031098b631698420cd3768e7f24f41d69b3a32c7568227da72d415c71b50ff0594dbb3b23216910e1f95a7335e31d70326f35e18da256b843a882d6b7e67797c98ea9d20fba2892a21dffdf60f400b1e781b533bc41bc88a85a215d99ee717cf3fda7a007663eba510f3401cb877d40ad8d13102dbd56503278d2558124e391fa366b3ead518efedcefda15d905240a72fa577e347550981f428fa258c6496bd3c214a3afc1e6b5078be0b3b82a2bbcf53bea49c981213d4415fc51e81d51dc52e20cb4c7669acacf16255f5b5d4fef2785e567dcdf0c378bd0244b88bb447e772ad38766e5d07de1b814413571e0124cfa34fbd5ed735e9ca0fa421c0dcf3ddfa53fc07db1e17525a0deae0c4d6638a464d6437405fb35a0a8e048655fb5af6f3dff767e6bc20039e09367d6030bf7156822523fd3e5499fef75d84b4d2388d4b6e2661aee1ef9e5220b7d80dd4f85cb1f2b82b0f788df80130c0e29251c9969bdb82223085b593b1d456cdf8b7194af034ee31afa74eec891394f0eb141ceed48c04093da6e398bdff88d611f1b81879d6148a026cf4849fdc42c8863f9cf084a16f069028f041bb0c413dfca1435b6b68608c27fcb046b5ac6947a567f86312051af16fd1a47ae79be6fd99f47f438c8ceb0ecd38dd4991f68364a3551d54c150dacbe55e7d10e3b9dcd5ef1be8248fad68abf948ef32882b20a6810250153be70ccb4c3c4b137d739f083aae5b61ea3a05c2eef482f2fa481340850b75d26f29b694741d1eef36f9416a063d1251eaf075e5057b3536af622d51d3b002e9ffee67f7b1fff34e651e532fec4e165726709fe2693b0e8f2fdadbcbd1a8fc108dfbf253bac047de6387aa716ecb27980a3afd97e3707b656692ce13b1fb43347932699db448ada8d89e39fd96b39243675f56b36854f725f459c469136422770009743ebd5a7c460482c39cf156a5a6c29abbec9259959224f36c0c274250fb5f8b8a9939ee7c0bc911c45759109d8523dd7b3d8fac7be18b8d791b41a89964637f37bbc731a7bd59e5d9d350f7160d7ca61d4cef931ac2192d12784b3ea20c2c90af351d7af68c3ce9d8490b0c4503e07c17ec3d9841b49372cdad73270016fcd420327b6abdde1865c6a494692c9761a9841e7841a267d593f18b80dc13d33d5e62ee5ecb16c459020fed6361d94e5a2d2b9f0c9dacc328e3b309994e4238a55c443c992522ebe6ab7cff76c7c65667825c1e150fce75fdc019f7265e5b2b49bd7abfaf773b49b0b676489ac81f5ade62cc39c916c56145ce3a9715 +ss = 61010880e699f88a301e7b69f2e7abea796f3b48aa178379c7512313c3a5c972 d = 588760826dcfbd36d9abe6ae44a669bb3ebba6a218eab69e30f18a3bd536576e -z = 0e860576285483bb5fd36e2f944d32c4317bebc1e441470c1372046a790d79d4 +z = 173dbcd4922b8fa921dc24240b2173c2e65a839357f8e4a93f51e7daed4c8c00 pk = 5993b3dc543a4939519f942b982aa75743861387558fd01f3066af48080751346618e25c2501979f70cbd722528c713e9bf1b891043de54424f7022e45cc287b7a8138c842f1bcbad18795a382439c5c470a91309fcb8149039d0435b9b80a0773778111134c104cc5e7bbc455fc0f4d157f2afb40972c41fe85622825b5ac48c0e357cc2d953140015bef5cae1cd2bf7519398b610c9b191fa34767ee67880fd9ab6d5782350b176d3a7c318714f8208f71c80a1b189bf10827b763acf096b49cc5c0b2a21c268a6c69500ce889785825438890a6e7e399ede411d83a53bbf81fc0b0b472692db25b69396337b2724f1425aee7296fb29a399a16a13ce748995806cc5c64ac87783af77bc05329ba849a086304ebab9edfc5435b55503c2a6f9b996d75359e963077f4a88ee2e259a6b97635a3bc8670b9fbb94af2fa3046b51bee299bae327f1519ca170a1aa443ca323c1d336952a3d2342d481b10b4752e34c2f03866ee8c8508a77a4721c387054cd241bd54b8be0bba7be18616d3b649a452123e347f8f52c0c5ba2d9fe7560ad88f2bb77622212dff7474b2c250b0341d9ce6ae52dcbac5d3b99807af81744498031477b6178d4552d3e813483c3c6c4a73dd111e7874b7659b29db53946538cf3b51bd53d63dca591d16043469310c512cabc763b208a19099fba9f82b445c05bddea259a0156940e3099d97928c8079bb7846b566b4770c904b75b430151b3198bcce1830b9b8cd5381a1b255a880e49865297a801291f491201684c658d288ec63b8e6d423c4c9091f9552926253876629266969acd09a8c896ddac6bee964832bc0952b98a95ee54422da547ad9174503093835c74693047d782829f06327d11b6a646ae2e8703c3a6bfe9516e71915e7294a2d5a4ec8406792b55692c5591af95d3e7376f6ccc58caa2ff787a126193175162e6a084159e957d85383a0502bbbe091da6a62a7ec4441453306f74c40c483abe092a36a5876a60e1893c8c4fb3dbc946d781873d49cbad7ba431ee820f6e0246b5548f045ad65b0670c341d3edc40f331b59740ab0d167e02fa36cb23b10467084a63b9f1facabc9c86e6511f8cc6928de03913001927ec47e6b001264c9629343e10f945e4f9065e3985e8b4b3536b1aaac91a02a7b701c961a939388f57b310c4652d7649d604a0a7006686c5c0f467486e5248dc24be13f411fd524a6efb276bd75875d5cf7a18482dea41b4579f168486c3d87545b415ec495f37185b6762b754194f3f415f82628ed9884b658465ffec83f5213ec15264c454cb4cb46106c21bd8031d11fbceb50b7d897aa771748cc2e5a23fe99fa91347fa90c642b5410c2c4382b0a498f479aa94011959328eeb48e8222c5ca82930f5a4d40a7460a827c756c28e99a88440b0ca206241f4472c06ca74d48a5f565b8a85803e214f9a6cc92ab2b80bd16c0c5725a9c7bfc6067109600d8142a8bf681ee32b3d2bcba3ea21aefe0655fbe06c0c0c6b303c6b2efaa6e8e6b29fbb86cfd13c6e143d7b104ec625a6ab2c782bb88d4929ccf7528aee89947ecc33e5187bde373c21f2ad26252163a48bdfeb74841987e797048b506c8fa6c60f431294ab03ae304e1e64a1489a05976355f44b6bdbac7b81d2b003729f9ceab9190165677c81644a5820d8a158da62ce19657e947170472e67d87fc5c526b2db8fca728ef881198ff809b80bbb3c1652fb9a51c42aa89ce96844721a9da7274d52050b106c7505497629962b747e117c2970948fa1e6bbef069cf4da83314083f57455d9b031639202351bbc4631b080f936a1e017810632bcc19b41ac0fc7939d5bc6562b074eed4267b9f6a6d110ae51f2b6d9b39f46061031573c5a10c2f23b6879338889e05efdd4424820cd98298b59dbb720a101e8e62887303d5efb4ea99288199b54a3caa85476876d969b2ffa0b72754e85d3979c17155d784e3ed0a2874cbb9890b4bcf6334c8855f7ac45159a18e4f29ff5d8a5e5f34142c01e3fc53a2d07cc7f6c582718c434c062383bb60d4c54dd07a06d2642c8ca4920d5b7fa723f6f2540eaab1385eaa17b4339b8b3cd08f60e5727045fa947bec4c6e766b850f86b80d2b559507137234cd9856b7310aef4f50034ebbd5336c026530b5ff525c277590d2dbc2ddc739f6b876472eb12ce233ccd402ddef61523fd6fee69a88f34a34c -sk = 47a7741316be87861aec518a9b38146b43aa54a98f47e242866b8d79f731d98c754b572a2a9170a7eb4b0d73b38d6665d1e43af0b61ab95cb54879707805bd787913ee369d231c600b76949bf86366579ab62724caa1beabbb02fc945bf007cf57a225afa67393cc58804a15016a12dfb90d5a52be41f907b1f2c4fe93712f555b0ae896e85931020089642a23e4c38581d4c40a46aa8ddb3c26db0e29fa5f7a12b6ca32cd2ab6b50327ad0dd8139ad83dce676ab2dc0c2774c86a2c72a5fa2d4dcab588a66d6551c040e91ae045698ac0a1dfb95048c545d08654c1b560384561ab07bd8c61182f99c79a2267c961ae66434321e8501d474ad84aa71286a948c5ad187232cf72576f167d63992f62d3423ce75577c2052ef84019404b0e1706ba704fe3d116a518293112b8b80708c094bde829ac38e362a404beb67026ea6782362035cae099302c5660931ce31b93b665059633699ec44c28c2bd230b1942421f12388900081618bb29e315beeaa090a06ac7feda567fd1a12d1a41eba931c279acdb875d9ddb7cd9a6adbfb32239e843012a8cb91776775408316b056fbc42758772c1e53ec0344479c2791b837a6a34aa77710d35593a55e57572fa99711bbe5a83454bca7990e834ba285a09aa11666cb2b2f39704904354687d0524888cf6461ef302139b042540138e322453619b3dd715b617230e08c4585478f9996798e9b47c712f82ba45857551ea4c79b4a0577938666403174e84585e684783d33f3b701420f66d48473fc6bb627b399e90697e760783a3e09d6531cc524568def8507f0437314488af7376bf2a6bacf783b632197d8565f9456d04a8476da8cd6c988d26a56d29479a2dbb85afc18dc81a8611bc4adaaaaa440471b530053adb874db67102b6a64ffca8bf8487e18b2f7582b71fd78d85f819c24b892741a83e67585b6b1ae5ab6ad1f5cc02ab78d0ecbe01087f46ac9bfca464a4b9ca817c3a1af5cb0a6a3f1dd3a2ec06774e805e001b44c8194660a280d0d59bfeb35ebe9c943e626b98e488f8984275401bdc4959993345c38bc801b95d56bbb47a2b23f5f1223d5a0e2a827d4578948cfc5432627c9586275679202e3c970fcc980af56757912080072a4af234dd030ec481a6ed8030921691d6126839635c6b270497ca4a87d4bef47cac60752383712636752a4aa18af13bb36ef445fe653628704e4dc2cadd62839f9842f9b2c264ab4ff648c59d15708f55ae4a396d5f4bc75d20603c03cdec4252facc579a0cbd1f64a734e8350f03aceaa2734de2b486f6b93c36ac11803e564070aba97d2309078fb43768f98ef5d03b09fa10ffbb0beb3b5fe01310065508100206a640b93de87bd94a634907730e30800803b233b95d1cc7cce49c08ab143734347f3459a5be0230f9481d50b4b835a91736d6a7b351c8082a4d080967b43b0553835bf52943a380051f48c27823c5aa0b20b7b733dcb004b2a7819beba4b3fcb1f991789c2c57ca01b50523214af309fdf421187492c411c14128744bf4a83599a30b86194473c2bc9222fb4ba34108689aa8065aa24ff3559a76f759768c81a8cc5aa2a6792f3033b2437b05068bed096475d9280bf34980b1c478681e53190ef7165db8d7be89e82411a5cf76795d545b69feaa1a2065b7a5c00a50e6a0871393dd54af62e9b858e3453d9a86bcca62526837855324ba191f6c1914754ccfee7ca3be778ffed14646224d19ac50494a634392a7faf6b502772820a61de5bab6be04b7e2f2b8b05ccabb22cc4709a19ca96671b59f611350e4a5227503050ffa19c776b0bc26372049b8fe864e328798ec49c5e4128cb1498432061a5af628ea5c8922845b07300c49e7a929f76232ac2aef1cce07d9c7e8bbcce4f99f3b6b0b1912648784c69493c9e9201b8166c0725709bd56af241834d278152b5a96ce480c9c31c9af0a2711b58e8539b93037623dcb9561411d3c03c457f560b41ca23b2a7a8d66b1b686ba4566577a2a71448648ae3b988bd21829012d3cf3a18f4a596262a33579776b5a5b2c8a0e1a5c5e87c06cf9833c13269990719beeb2a0ee333012b8c1acb7321cca98f086aa4db73988cc49762ca541372566abb0ed081cf6201b4ee8a17c45b8ff6046317648bee9247b93b6013a405993b3dc543a4939519f942b982aa75743861387558fd01f3066af48080751346618e25c2501979f70cbd722528c713e9bf1b891043de54424f7022e45cc287b7a8138c842f1bcbad18795a382439c5c470a91309fcb8149039d0435b9b80a0773778111134c104cc5e7bbc455fc0f4d157f2afb40972c41fe85622825b5ac48c0e357cc2d953140015bef5cae1cd2bf7519398b610c9b191fa34767ee67880fd9ab6d5782350b176d3a7c318714f8208f71c80a1b189bf10827b763acf096b49cc5c0b2a21c268a6c69500ce889785825438890a6e7e399ede411d83a53bbf81fc0b0b472692db25b69396337b2724f1425aee7296fb29a399a16a13ce748995806cc5c64ac87783af77bc05329ba849a086304ebab9edfc5435b55503c2a6f9b996d75359e963077f4a88ee2e259a6b97635a3bc8670b9fbb94af2fa3046b51bee299bae327f1519ca170a1aa443ca323c1d336952a3d2342d481b10b4752e34c2f03866ee8c8508a77a4721c387054cd241bd54b8be0bba7be18616d3b649a452123e347f8f52c0c5ba2d9fe7560ad88f2bb77622212dff7474b2c250b0341d9ce6ae52dcbac5d3b99807af81744498031477b6178d4552d3e813483c3c6c4a73dd111e7874b7659b29db53946538cf3b51bd53d63dca591d16043469310c512cabc763b208a19099fba9f82b445c05bddea259a0156940e3099d97928c8079bb7846b566b4770c904b75b430151b3198bcce1830b9b8cd5381a1b255a880e49865297a801291f491201684c658d288ec63b8e6d423c4c9091f9552926253876629266969acd09a8c896ddac6bee964832bc0952b98a95ee54422da547ad9174503093835c74693047d782829f06327d11b6a646ae2e8703c3a6bfe9516e71915e7294a2d5a4ec8406792b55692c5591af95d3e7376f6ccc58caa2ff787a126193175162e6a084159e957d85383a0502bbbe091da6a62a7ec4441453306f74c40c483abe092a36a5876a60e1893c8c4fb3dbc946d781873d49cbad7ba431ee820f6e0246b5548f045ad65b0670c341d3edc40f331b59740ab0d167e02fa36cb23b10467084a63b9f1facabc9c86e6511f8cc6928de03913001927ec47e6b001264c9629343e10f945e4f9065e3985e8b4b3536b1aaac91a02a7b701c961a939388f57b310c4652d7649d604a0a7006686c5c0f467486e5248dc24be13f411fd524a6efb276bd75875d5cf7a18482dea41b4579f168486c3d87545b415ec495f37185b6762b754194f3f415f82628ed9884b658465ffec83f5213ec15264c454cb4cb46106c21bd8031d11fbceb50b7d897aa771748cc2e5a23fe99fa91347fa90c642b5410c2c4382b0a498f479aa94011959328eeb48e8222c5ca82930f5a4d40a7460a827c756c28e99a88440b0ca206241f4472c06ca74d48a5f565b8a85803e214f9a6cc92ab2b80bd16c0c5725a9c7bfc6067109600d8142a8bf681ee32b3d2bcba3ea21aefe0655fbe06c0c0c6b303c6b2efaa6e8e6b29fbb86cfd13c6e143d7b104ec625a6ab2c782bb88d4929ccf7528aee89947ecc33e5187bde373c21f2ad26252163a48bdfeb74841987e797048b506c8fa6c60f431294ab03ae304e1e64a1489a05976355f44b6bdbac7b81d2b003729f9ceab9190165677c81644a5820d8a158da62ce19657e947170472e67d87fc5c526b2db8fca728ef881198ff809b80bbb3c1652fb9a51c42aa89ce96844721a9da7274d52050b106c7505497629962b747e117c2970948fa1e6bbef069cf4da83314083f57455d9b031639202351bbc4631b080f936a1e017810632bcc19b41ac0fc7939d5bc6562b074eed4267b9f6a6d110ae51f2b6d9b39f46061031573c5a10c2f23b6879338889e05efdd4424820cd98298b59dbb720a101e8e62887303d5efb4ea99288199b54a3caa85476876d969b2ffa0b72754e85d3979c17155d784e3ed0a2874cbb9890b4bcf6334c8855f7ac45159a18e4f29ff5d8a5e5f34142c01e3fc53a2d07cc7f6c582718c434c062383bb60d4c54dd07a06d2642c8ca4920d5b7fa723f6f2540eaab1385eaa17b4339b8b3cd08f60e5727045fa947bec4c6e766b850f86b80d2b559507137234cd9856b7310aef4f50034ebbd5336c026530b5ff525c277590d2dbc2ddc739f6b876472eb12ce233ccd402ddef61523fd6fee69a88f34a34c4092d5afa2f038f879184f7344800ea49a63543be9600bdc2b184207445882900e860576285483bb5fd36e2f944d32c4317bebc1e441470c1372046a790d79d4 -m = b0d713cbef0bb1df70cbb425d1e9373e9f7790fdc7980cc96a240dfc53f1e8e2 -ct = 3a2c5528c1a6c1018f0b8954ee1c7d1b3120252c524480e4443f6970badda50f5fc3ca2e3ba2e88a3c60fffc6594897d77412a2d7f10cfc17e64dda24d82ec2d1edef8d998edaeaac095467484e2f365d61ca70a2887ed3e5a8d38db5b54c95c2a467ae6f864db69b71e933b74f9f83ac491cdad0312bb74dfbbb25339dfc1db2bf38972ea1436bf2f6a785091c88a88df323ed72741cd99b614c31495aa84614e1e81bf81c748be4240adeaa0a948c28383ac6f7b21e03167584ca6b455b6f9bf0ed551086ae1bc0d61b89d49ec352ca54c0e65f5e0e487d3785c6f7c161ef76eb3222cc6637a59a5d176ede8645eb7ce3d066d4d85dff32ddfd6cbfb65fb9a9bc3de4c0eacfb382ab2b6a8daa8d4c4cf086568cb57a3adba42632b35d4be1daff1061ff14c469a13505a38f4e69d53127f760c5be7efb59d8ce8df7de6681ca751341626cb181ca562e6f3625ff80383f16b360ab232fdd0f516f8b66ead2674c3f2bab4d626c5a1af422bf596a87ad8ff87fce238d04f8772bd3db9b5edac15cd581697cc7ab0b6b8c0db57a91c716d1f770458963dc599c152312910665bd3bd3c1942f0db15d90498bba9ca9371640eb1f515d158f69446e0b4a0df98c04e0afe84cfa5135cccef51c5557932aee1eefc87057cf9cbb7eefb827f1e2146ad9c7e2f6669863ed62b754277001bb802a82a781469c0871870a5d4485554f05806bd45dbea91e68ba6b3bca956272e82c050f50c72b2915609f84af30ad8a34266244a1e76727069050a728fb929e060603c8cd4d6de1c285328097fba53966fe6bb8dd028e0205c3099ebbedb906252ae88a9a3e572db7187ecd79960f30d93de7026df0e3decc1a462062f7914826b2d19fb670b67f23dc8085d7a812c8e448578e2e904123bff236dcb985ca22542783a75cf06acca86a58db1c6096d58e1d93bde2cf147db475047e078a9e2d0a8b1ffbbb9eaaa0a99332b2e39c2428e88936846ad5dcff88a41300eb6debb121c5ac3b34e032419664f8c46ac86d83aee910d5ca9bda5b13d22b9aa5be782819d3fe8ee682e90b62ca2bafad8b010d93b101e223e0327a5d4aa3375db2f100037d436f78c7a85efd9033ab81436f9d5f22dee767efde1b056309f93504b362ea1db14e0baac8189d5528081aca2bec45dc31b7f61d690888d1aa82eee31b50965f1d5b1c9c1e4a73079158d266682e03dcd49a73a3961eed8ef50350f5e099b5a1ee42eb058fdad967e5aaa05b5db8a144c826becfc6ba0d133bc2726456fdfc34fd9ecbd9b2425e40d3bbce2545256e6e1681c270ebcdf9022e79fdb39ce54065db2b070ae8f634e95b8acf5247878badd5e3a642fb81239c5f3b84a6e610802d45649b52c6daca9a0be45f7f76013597e5723ab56febbf2ba0f0c9757e13a30f15de36062310a60be9f321565dd8b86d658d5cf188247d2b7f2e8297e35186537b19890f21c1a874d268fa5a333446b0f9b82503bfa8f187d71a71c646728b55bb04e6b3833c739648d32d68064da6f1db1316db8cd06f05d5b105abc35c505e7ba0f0d59d81af05e2474dff107df73d2a8ec7943cc7e080bcdad940214b83262d0b899257d8737d17f04ef45396163918318d67cf51c66b9856ae4f951a63dbec16a0602785309a509db5a93223165291683601bcf72951658a47ad6d4373fe522a25ad4093a23ed8791cf5b8fc9fbe02516dc482f562af33db93f3ca1694da1d1776de3c838362bbb70415b1777e3a36dc332d44241ce406abd59c4b2cd6d99e0d488bf0cda5cb37b5610d23d2293baf8bdc781c5f1e1515e2cf6d062b435f8b5b3f1699e956cf2fedf4ee27f7e382aebea72c9ac8cb1b545295a195c925fa71138f2ab82a37b7ea4b5cb28e6432366f9014f7a6ca483608419d670870fb92968ca03ebed12c5a02c633f87d032c89021d39fa1a41e32f255dbd29538a2c66ad8570e44838272da6a5df40a2e1c9e9618071d90701b028e0e4a1c9a87c7ddfd6bf9244a2dcf6d635471206acfc1deb31dfe2e9888dfc457209df0a4d691bcc1b5f14c6b89cc2b68a186b086d782b5ea7c89814d9fe9c9fbbb8723955f498857c2901500e2bc369534f11da657785e1a4068d25da2878bf360a0dec06d0c131c1eb47f25c65e100e98d3ad0699d0bda50c2c99a502e944c57bae09c2973ea5614ce1b6a98b3b0b64a099ab912754 -ss = 85e65c7a43f95e355bb62793fd9ff5e0a3c0f881fc8ce6b815e7f951730d5cb4 +sk = 47a7741316be87861aec518a9b38146b43aa54a98f47e242866b8d79f731d98c754b572a2a9170a7eb4b0d73b38d6665d1e43af0b61ab95cb54879707805bd787913ee369d231c600b76949bf86366579ab62724caa1beabbb02fc945bf007cf57a225afa67393cc58804a15016a12dfb90d5a52be41f907b1f2c4fe93712f555b0ae896e85931020089642a23e4c38581d4c40a46aa8ddb3c26db0e29fa5f7a12b6ca32cd2ab6b50327ad0dd8139ad83dce676ab2dc0c2774c86a2c72a5fa2d4dcab588a66d6551c040e91ae045698ac0a1dfb95048c545d08654c1b560384561ab07bd8c61182f99c79a2267c961ae66434321e8501d474ad84aa71286a948c5ad187232cf72576f167d63992f62d3423ce75577c2052ef84019404b0e1706ba704fe3d116a518293112b8b80708c094bde829ac38e362a404beb67026ea6782362035cae099302c5660931ce31b93b665059633699ec44c28c2bd230b1942421f12388900081618bb29e315beeaa090a06ac7feda567fd1a12d1a41eba931c279acdb875d9ddb7cd9a6adbfb32239e843012a8cb91776775408316b056fbc42758772c1e53ec0344479c2791b837a6a34aa77710d35593a55e57572fa99711bbe5a83454bca7990e834ba285a09aa11666cb2b2f39704904354687d0524888cf6461ef302139b042540138e322453619b3dd715b617230e08c4585478f9996798e9b47c712f82ba45857551ea4c79b4a0577938666403174e84585e684783d33f3b701420f66d48473fc6bb627b399e90697e760783a3e09d6531cc524568def8507f0437314488af7376bf2a6bacf783b632197d8565f9456d04a8476da8cd6c988d26a56d29479a2dbb85afc18dc81a8611bc4adaaaaa440471b530053adb874db67102b6a64ffca8bf8487e18b2f7582b71fd78d85f819c24b892741a83e67585b6b1ae5ab6ad1f5cc02ab78d0ecbe01087f46ac9bfca464a4b9ca817c3a1af5cb0a6a3f1dd3a2ec06774e805e001b44c8194660a280d0d59bfeb35ebe9c943e626b98e488f8984275401bdc4959993345c38bc801b95d56bbb47a2b23f5f1223d5a0e2a827d4578948cfc5432627c9586275679202e3c970fcc980af56757912080072a4af234dd030ec481a6ed8030921691d6126839635c6b270497ca4a87d4bef47cac60752383712636752a4aa18af13bb36ef445fe653628704e4dc2cadd62839f9842f9b2c264ab4ff648c59d15708f55ae4a396d5f4bc75d20603c03cdec4252facc579a0cbd1f64a734e8350f03aceaa2734de2b486f6b93c36ac11803e564070aba97d2309078fb43768f98ef5d03b09fa10ffbb0beb3b5fe01310065508100206a640b93de87bd94a634907730e30800803b233b95d1cc7cce49c08ab143734347f3459a5be0230f9481d50b4b835a91736d6a7b351c8082a4d080967b43b0553835bf52943a380051f48c27823c5aa0b20b7b733dcb004b2a7819beba4b3fcb1f991789c2c57ca01b50523214af309fdf421187492c411c14128744bf4a83599a30b86194473c2bc9222fb4ba34108689aa8065aa24ff3559a76f759768c81a8cc5aa2a6792f3033b2437b05068bed096475d9280bf34980b1c478681e53190ef7165db8d7be89e82411a5cf76795d545b69feaa1a2065b7a5c00a50e6a0871393dd54af62e9b858e3453d9a86bcca62526837855324ba191f6c1914754ccfee7ca3be778ffed14646224d19ac50494a634392a7faf6b502772820a61de5bab6be04b7e2f2b8b05ccabb22cc4709a19ca96671b59f611350e4a5227503050ffa19c776b0bc26372049b8fe864e328798ec49c5e4128cb1498432061a5af628ea5c8922845b07300c49e7a929f76232ac2aef1cce07d9c7e8bbcce4f99f3b6b0b1912648784c69493c9e9201b8166c0725709bd56af241834d278152b5a96ce480c9c31c9af0a2711b58e8539b93037623dcb9561411d3c03c457f560b41ca23b2a7a8d66b1b686ba4566577a2a71448648ae3b988bd21829012d3cf3a18f4a596262a33579776b5a5b2c8a0e1a5c5e87c06cf9833c13269990719beeb2a0ee333012b8c1acb7321cca98f086aa4db73988cc49762ca541372566abb0ed081cf6201b4ee8a17c45b8ff6046317648bee9247b93b6013a405993b3dc543a4939519f942b982aa75743861387558fd01f3066af48080751346618e25c2501979f70cbd722528c713e9bf1b891043de54424f7022e45cc287b7a8138c842f1bcbad18795a382439c5c470a91309fcb8149039d0435b9b80a0773778111134c104cc5e7bbc455fc0f4d157f2afb40972c41fe85622825b5ac48c0e357cc2d953140015bef5cae1cd2bf7519398b610c9b191fa34767ee67880fd9ab6d5782350b176d3a7c318714f8208f71c80a1b189bf10827b763acf096b49cc5c0b2a21c268a6c69500ce889785825438890a6e7e399ede411d83a53bbf81fc0b0b472692db25b69396337b2724f1425aee7296fb29a399a16a13ce748995806cc5c64ac87783af77bc05329ba849a086304ebab9edfc5435b55503c2a6f9b996d75359e963077f4a88ee2e259a6b97635a3bc8670b9fbb94af2fa3046b51bee299bae327f1519ca170a1aa443ca323c1d336952a3d2342d481b10b4752e34c2f03866ee8c8508a77a4721c387054cd241bd54b8be0bba7be18616d3b649a452123e347f8f52c0c5ba2d9fe7560ad88f2bb77622212dff7474b2c250b0341d9ce6ae52dcbac5d3b99807af81744498031477b6178d4552d3e813483c3c6c4a73dd111e7874b7659b29db53946538cf3b51bd53d63dca591d16043469310c512cabc763b208a19099fba9f82b445c05bddea259a0156940e3099d97928c8079bb7846b566b4770c904b75b430151b3198bcce1830b9b8cd5381a1b255a880e49865297a801291f491201684c658d288ec63b8e6d423c4c9091f9552926253876629266969acd09a8c896ddac6bee964832bc0952b98a95ee54422da547ad9174503093835c74693047d782829f06327d11b6a646ae2e8703c3a6bfe9516e71915e7294a2d5a4ec8406792b55692c5591af95d3e7376f6ccc58caa2ff787a126193175162e6a084159e957d85383a0502bbbe091da6a62a7ec4441453306f74c40c483abe092a36a5876a60e1893c8c4fb3dbc946d781873d49cbad7ba431ee820f6e0246b5548f045ad65b0670c341d3edc40f331b59740ab0d167e02fa36cb23b10467084a63b9f1facabc9c86e6511f8cc6928de03913001927ec47e6b001264c9629343e10f945e4f9065e3985e8b4b3536b1aaac91a02a7b701c961a939388f57b310c4652d7649d604a0a7006686c5c0f467486e5248dc24be13f411fd524a6efb276bd75875d5cf7a18482dea41b4579f168486c3d87545b415ec495f37185b6762b754194f3f415f82628ed9884b658465ffec83f5213ec15264c454cb4cb46106c21bd8031d11fbceb50b7d897aa771748cc2e5a23fe99fa91347fa90c642b5410c2c4382b0a498f479aa94011959328eeb48e8222c5ca82930f5a4d40a7460a827c756c28e99a88440b0ca206241f4472c06ca74d48a5f565b8a85803e214f9a6cc92ab2b80bd16c0c5725a9c7bfc6067109600d8142a8bf681ee32b3d2bcba3ea21aefe0655fbe06c0c0c6b303c6b2efaa6e8e6b29fbb86cfd13c6e143d7b104ec625a6ab2c782bb88d4929ccf7528aee89947ecc33e5187bde373c21f2ad26252163a48bdfeb74841987e797048b506c8fa6c60f431294ab03ae304e1e64a1489a05976355f44b6bdbac7b81d2b003729f9ceab9190165677c81644a5820d8a158da62ce19657e947170472e67d87fc5c526b2db8fca728ef881198ff809b80bbb3c1652fb9a51c42aa89ce96844721a9da7274d52050b106c7505497629962b747e117c2970948fa1e6bbef069cf4da83314083f57455d9b031639202351bbc4631b080f936a1e017810632bcc19b41ac0fc7939d5bc6562b074eed4267b9f6a6d110ae51f2b6d9b39f46061031573c5a10c2f23b6879338889e05efdd4424820cd98298b59dbb720a101e8e62887303d5efb4ea99288199b54a3caa85476876d969b2ffa0b72754e85d3979c17155d784e3ed0a2874cbb9890b4bcf6334c8855f7ac45159a18e4f29ff5d8a5e5f34142c01e3fc53a2d07cc7f6c582718c434c062383bb60d4c54dd07a06d2642c8ca4920d5b7fa723f6f2540eaab1385eaa17b4339b8b3cd08f60e5727045fa947bec4c6e766b850f86b80d2b559507137234cd9856b7310aef4f50034ebbd5336c026530b5ff525c277590d2dbc2ddc739f6b876472eb12ce233ccd402ddef61523fd6fee69a88f34a34c4092d5afa2f038f879184f7344800ea49a63543be9600bdc2b18420744588290173dbcd4922b8fa921dc24240b2173c2e65a839357f8e4a93f51e7daed4c8c00 +m = 52081a3d33dd573d4554eb48c3f83e7961c3909b6053ae3765369b2bae10cb8c +ct = d72dbe61c319d55838172e2c10d5197f538a3226a7834911543f0df092c3ae9b79186d2e15c218fae975585cfe55f18851c3c95eb1007498a35d081a437c499148f06a4d6a1769f4b076b1fc58be8a1e3fbcba4d53f723c466ac9f2006aa496306973381fcd4c1c974b1fc1f7b7b73c4d2d405e4045eb95e77164c60bc629c95f46cb37ff9e8dea1d49e332d46101586345aac419666895a99fecba4414e15471fef4db6a1b5edf1f510c5aa00bd833f052ea57d15a4dd61b5f3096a2724735960cfb98a863fdcd72acd2831518e98490dc46231202da0121ab066556bacfaacb0401d27104265f8d4c0037a5fff748dd1298e8b4b9ee0dbb63396d6dfac434eca6b39d9dc52a0cc7b010c5728cf155c26cc76bc27b7f4cb22c112b2e454de8b52e7c9718ef2a516df9052f11ef1bbfdc546a532fe0f82eee3084cde219fc582709f463cb162817db943931ee1b36c38dc9b5ffad2fbc4245c437a6f7b67dca3bdf6a3968baaa88056a32316b6ea8d82488c512b292847b0aefdea0a204ff2daac139a04598c508c840f24ae023b2b9110179d412fb241bc2bc55b10f6bf87c02ecb8e04139a82b349f8b606bd61f2eea045a86468ea1a44183bb7142b9f8ddbf5941dd27b52491bc76518acb4abc581740bcfe9623939b350518eef03baf4a94877ecded2f4b8b2e8bf3fa0b42b25b08d00aec00ae3a0a0317548536e39ce2e8d94cfe616eb5dd975dcd24d1f37a951dc7a39e961c82b96c47e4d23e76c86049a28434249f8597f74ea1913d9154ca28e9170744f93edd85cacb47314012d87f883ac9ca8bc1de124af9be2de0d2965785fb55de2a166e65cde03d1a285909f543c7bf13c279f392bf59479d6cb75131447f858533409b887263ddedba7dda711869d03998d5664dc25a748fc29a9fe62453abff1878acbec3772fb4b82fa076904dfe629074012a925310313f5cc1fff141d00661610638fb894c7a5c9cf29bd9f4ff8d4096377d7c871e20a54e9a4d254c4407777f66f7d7771f1daa77370a1463f067aa8205a6f5f0d5f6e4427ea6e47a76864952be01a3483c34eb2bed6e73ede138b310133d287ed7fbb4525d0213b28e2f39984f15e57c5f52fc5f02ea744f98dfbd1f8970149bda884cfd2576842ec294047481d3df51bdc7e1d1897f8cbb45505c296c77f958cd0b3d0a923e054b7e473637f8246a8f78bfdb6e0a0500781e084dac398845f758b5bdf7791201f801ad6ed3cd511c24552fa41823f4ac391124cf7566751316f069bf032a21b1f23627c03b139560b4a67e8e8a237c7a79bb0d7cfb9b0015cd09bfeec7a4aed4c8c1bc12be88cb13a1ef23571cdda4e8ddbea9c15ae1ba13b50428bbb91603e313349511fe499cd12398af0ca2347502359b233e183b014b19f8bdd0369a8683b1bd3ca179bc4e6377564160c160fd6e707811a0f2c18bbfe1302f2ddd99f4d8ba1ebf8c8eed82c941215d450d912cde8862e3f240fe3936f5cd945c145b1c4d67ee0d2e916b0a24dd497e6ccb61dc557995eec3dd124b993dcc19efcff8d0ccfeeafa5962f271d3d50231c97da0038cec410ddecfb8186af4863b8690ea7d6e6de6d89bfdeb82b4e965e7a7911280a2a7ad52bb5570b5cd759192c024b1aa21ab1f87be18101c546fd8e7f05269df3db939d6f5c6f895e69330dc9b67447aaf0d9b1153743cc767712bbec90f77f8e17d00eeca8bbcfd8aa12957e413f9fde329b4a313b36ae3749e741f0c1c66b425ceb56ee1ff9ed23d35e6df558a775025a10c9c3918ad10d2f089d5f134003830960908e9f4886a090ee74c863c4626d9552298cbd7bb83f62a87e9012a1488f6c72e6e9dd7a3abf86657948f52e5aef7268ec3d97ba22401a8a50ccac1279f59ee3c695dc464038007bfbb39cac968d95d37e0b37fc4f4219d41d29c171e2afd018f1ef6cb096b16d46f73dfa8a53ad428981486c19e4052837dd5c8aacaa52fafa3bcd168a06a001f12cc0471725c2a6dcadfba3c7faa13fe432bf2c904df8fa93c4669c570e4aef27941f3610b6218f2e88585efb323e1f55ca92b06e8c93ee55a135f96d7649af77c9953ce58942ad7f1558a563b54a915ae51f0707f78bcd3dc01acd5426da92ddde8ae5fbfa6d76f9fe1e40e94f0faa033993f36792cf1b5cb2040ebf30159d232d5f38a4bd251bb17dbe475066ee6a8f4950bde8c9 +ss = 5cc8e070b29143461e61a293b7002f019e96e4ec166f85ad5e971af8dc271c49 d = 47550e9edacb6ddce3d9ab81f6b61080dd4f2693854acb05e0ccc7a4fb6390fb -z = f89d7d99d5c3e0d10d6ef9af054d842375f695abb28e3b8eb495100f04306e92 +z = 7e30dd3b9f9d66518a0525f030574c504ab3851b77857b70858c130ca20ece35 pk = 3c3830f0332f31f89ec458368a31cd2466203c2b510cd773d66c92cf2c95d7700d82b54faafc8931300f48563aa4cc976ad602d31c4b4b6c96c6f527a637231f1b94cc38767a608f44922a3f391b9e6c5f78a87bbf6cc19849ae619a2d84533441727e79e241efcab0a0ea361febabd3b76caaa8955ec8b963daaa8c8838ab71ce07276a78546859e21ba695953c8521a07bc8b4264bf1d3403eb8cbced71753b6619a4309599c4ecd32826e6609d7d09f976c02dd4143db7ccf9ff09365910757268f49141445b689a6dc0706c92fdd8382c63010f7a026abf217ce572256360a9a4ab2b7acb235f6929b8661dfd5bc4041813e657c95ca1a36535e97d6a56c7022dca5cbf8d121f24ab6df3002fd4b619b03ce2c4b57ab65732721901448b9c0136b1c72145b2b101fe1bb555ab2c0482caf3a1cedc926a007858e7a4ed9dc120eaa7e945275c4a847146c88a468ae23ec173ca76494732792d9a952178d83790b725ca63fe13ff7c5cf5096b3828b463aaa0ee913c390359c9e4346cdc063b8517dc5830a24e578f2053f33e5999fac5603ab62ea785080bc39e0aa206c98c560597d219746737015a5668ba4f0b06f45a7385c753a854c4d818f78466b5b9421fb84b0bad8b5b0cc3104ba8b9531b9033c52fe7c718ae81a3b06ced360a879d9cb3f73b8d6c09781462e6d7c13377006d95406329777e2651ef2803c69e984d4e719764ccc1307a64a1633e7516b2c5380c443a9bea049c91cbaa7bc385b989d1453676ecac1c2123f05e83ac0295c6e36ae6f0364ce5b35348037b7379bd2248af8fba3acc293479b24cd0a2b0dd350b10676c93ab5a6f76cb0256dc64cb8a4f677d2940761e48e665461bf30c2e9702ac726ad1aa7cda90c5655b9904ac1699921ac4a3a1981b566c6015016ac84e7964f64c0b5eaf69fd5460b9a17686952951ef9a04a55926bd482e669bc6b731aad4465f9901337a0544f27ace61841a5c2b0efdb2e4b897bcbf1c032142b73f70cc0f7b509d6847f61ba4e209269acced24a0721ca6d9e634167622928b65447a5aab30765efb7c977a56020b56abfb82449614df3fbc118369e8aab020cf989015696140b6a5c960db2fcb5be3c41091a6729c62547db67307ace42760689c32c2388310d1269915470286433c5624fefe684a12957d90c8b61fb334bc56cfeccb229f01f0312a11449310e432e75037ba429adb4507fb74a293823364f81b756673adbdc063d030fbec029569c8db185a0ee8011000cc7b2118a046483fd975d9a0122fb0596aa8a6d9b99ce7303b1c8a4342696001167a742fb9374d4a20a8377e8a6495e21ca6eb106b2c680a48ca6c138673ed09897f4c731412ec536759a773a1e3aab3b335301eb2501a5cb48c33a1e026e4bb25e2f867271e48cd48a029039519b296cea8b04953bcf41b515429237e696503e9283ca4165355585be315f20266438523d41543194aa6aa476bb2c229f2f12648a179e46c1696581607b4585c5341359aab5c5f0b2ca96177010c892f8299042a880b9c281483ebf0a96ecd9cac2f13bfff4c87845b708c73404979af7eac68bb45f6b7c8597b756557a38b09178f2883e8c6397c74352aa32a49468adf650441a73a2a0e7489fd7a42a9421c8366ec7b5a0ba8b0fe721190f825bf5ca839fcb22f425738e92b68608078316af96526965331d16a41052f2154faa17fa843a5e2278cd122aee688924e57029a8902a03186bc562f99b2e72b9cf8e578bf28c2f5a86b47b4555d50a1512ebc131280964165f139b7a8860120ca684cec34cec402552eb3b9063b7d8266735cb1be8a0b253c67710d80d5d1b128e38085d40cdc7e2cbf4b8c9e1861d2f41a79e1b49aca0668e4b9312003986045415b194f0f583811b181fc15f8cb5788bf14762095bab613f51f4351bf00f669102bd349b70c40549b75ecbe16394a3062c5316bcc4a1ff57cdc976950618c7d103248f4c4cc2087bca854fdf6840ae98238c26656615143f0538c960888f32bcabe935732b6a5c24372b438449812e4f125b07b836b1e076f7e629fd3578132c70776635c5fc0d4b435ce2e301703c20ec130a25657eb394013924bb88090b1599373c5b7624d59d2f2c3b2d71a308a25092d5b0eb6ba81c5b0c650104b7ddd07164969a62466b80918873a4ea56cd80a8e559fb30f6cce44f1f8fe60a -sk = 35e4451348cfb9a06f1836296178b6af41a1c0196f26525831c081ea779e6b8c4b3f150afe2963aa756968358bfcd47d76415ed4294f02a843f89b87d6803bad504a9165b9bedb0c946058965b64bbf953e719160b53552c100d251cc9c111837e0a7c4c043ba0777e53b39f658b41b5f8900d4721268a8ab868b15a12c3b8f41316dcbe117ab3a027b8fc2cbf3566569a130d6db132ddccc5eed69a392bae8e4a7bd6c9708a48badebaa79fa1ac1e729eee0399803a374d3733ae501f1a846cd2f5166dc31b4d53750bcccf937b1ca43c3a6cd5601eeac251f9aab8b2489e22ceff436f1142ccd1bb17dfc75db6125a1a433325a5599fd23b49bbc3d1b9195b984303735f9f2646efd050097ab23a8aa5569ab744a934c2991ba046cb012467d39c3936eba9cfec4268e1a0eea559980133b4121f9d5a603e092c199818c057b7c841a7dd00af2c0ab3637878a9ea90bf377874fa38bf290fea6131345340857a1a53d4bdd9201b99fb628d975a91001f907a2e9ad37c9b99b8af915070339fdf76125d9556b1716cb74a9f18092afd887880526fd82cb002ca49e879c50e33af2e747104674eb1f30859e3c22f3aaebfd30fd672b6ab855928c4085130488540c8cbdb832ae25249f46b7178af9769a4b359664ba48da4a746c215c58ac2752e43835b5c2a9ef0a3fca159d29038cd60cd60f5bf508521d3d59c4f083653264776501b4fc62337fc37562973a1f9bd9532b4bdb25c21597a11e17096b155cd43c76874c44f25c1aa1bbcea897367536ecf4124feb6cdf2360cd5a082ac03b5e94232dfb44e1f124fdf65a4bd03b16ed729884065d77135f1f730a7a91fc2eb43271c0b2bfb8e615c07df54041917a95b0544e8513e8c6060d14c0fb802c0f2680051341960654f3594c9972c08664b7bd30b2f031827307b95fc525a2632c2456041b1286d6f175bc0b41942e8b8be69bb364a11ab4cc199f20aeb516ced1acc1f4b2b91b860331677290c643bb9a00b4b65644592c5ca5bb19b25d2a7080cc32b08910c137946a3fab6c8e31a1e97a4735a5c0a239b073c6e056053cd6498117497870718d35235019b3ee6050dcaac31a27167fe35ce57586c364c13bcc7587ca066c6e05673e2ba0186281d94843df10bb3a93c05025c0c691a0c41b229a55b7b506724026c4f1b48313788a212b0c951783ec9447e64314e878734ab59401923ada0586225c7a5c00a5f97bb76632dec47c15c06c7c20090c790404b3044136c79f46181cb1123a7d3cf969b72f6cabe063a35774a60863267b1ba34b93a5d3db25fece84a02429a9d142ed897320bfcc114391bcc097a078b04bd9356113b3cb993c19384886df182e37ba659d5b8bee24445411e318cbd092b8f8e53c63bfa3896a2cdbdc66e27f25c83fa85c260a34fd6cfe6872172f1361aa125e6c5c6c902cdec68708c14c175e910cf002ad647a317f78f52f76bae006a3aa51780d37a00aa20c6a532281719c5ac88641a9d15549088b5a4dda23f443335abfc5c2f7c5be2a142740cbfd612a83af271af0aacb43833b56295b51a885d798825c3a2c04b399c528530ca24117b6e762c7b6527b0509b5963b68560015db4d489b5a93507e286539604cd0c35e6001127902a72ba3fb9d379833241bf849d2c11bf6dc5133c0c76e861909b375a930caa5dd105e8d96dd8698864678adf585c4ea072ae56990c25adac59ad0fa30b17d2a0ba16a444a16ead3c9f679c333cc97d830106a91a54d6e074c463bca12657bc91544d8a6e181c5b452229ca94bafdd02375d5a96de2b93030cfc93645c7282b082c29d4b466fea3c28d2b16ecc6cc5e584d35e45c5ec7233c723c7b2275abd41748a79f88797d9d03b8ae9b839ea935f5e13ff9e775af239c7c448eae6c7b407c42915c1c4cf3a1cb652b44b5acb746a5b2b576fda15fd1cb81396cc1a17752c2b5748e988649bc8caa98c2c2f09cb01b1153a59ced58a76738072a1b6a5a68b1825a062a223cf83913d77b5ba226076c939dcbaab624c712b51921b46098c48778ef46917c63a23a563a39d0c7d3ba5ef7b87857c8912a137f52026cb4628dbcc0ac53062b1b181821f65e4f622babe9882a69487407b0a715a68c110c1a20339eb559d47318dd255f4ff758db79be3c3830f0332f31f89ec458368a31cd2466203c2b510cd773d66c92cf2c95d7700d82b54faafc8931300f48563aa4cc976ad602d31c4b4b6c96c6f527a637231f1b94cc38767a608f44922a3f391b9e6c5f78a87bbf6cc19849ae619a2d84533441727e79e241efcab0a0ea361febabd3b76caaa8955ec8b963daaa8c8838ab71ce07276a78546859e21ba695953c8521a07bc8b4264bf1d3403eb8cbced71753b6619a4309599c4ecd32826e6609d7d09f976c02dd4143db7ccf9ff09365910757268f49141445b689a6dc0706c92fdd8382c63010f7a026abf217ce572256360a9a4ab2b7acb235f6929b8661dfd5bc4041813e657c95ca1a36535e97d6a56c7022dca5cbf8d121f24ab6df3002fd4b619b03ce2c4b57ab65732721901448b9c0136b1c72145b2b101fe1bb555ab2c0482caf3a1cedc926a007858e7a4ed9dc120eaa7e945275c4a847146c88a468ae23ec173ca76494732792d9a952178d83790b725ca63fe13ff7c5cf5096b3828b463aaa0ee913c390359c9e4346cdc063b8517dc5830a24e578f2053f33e5999fac5603ab62ea785080bc39e0aa206c98c560597d219746737015a5668ba4f0b06f45a7385c753a854c4d818f78466b5b9421fb84b0bad8b5b0cc3104ba8b9531b9033c52fe7c718ae81a3b06ced360a879d9cb3f73b8d6c09781462e6d7c13377006d95406329777e2651ef2803c69e984d4e719764ccc1307a64a1633e7516b2c5380c443a9bea049c91cbaa7bc385b989d1453676ecac1c2123f05e83ac0295c6e36ae6f0364ce5b35348037b7379bd2248af8fba3acc293479b24cd0a2b0dd350b10676c93ab5a6f76cb0256dc64cb8a4f677d2940761e48e665461bf30c2e9702ac726ad1aa7cda90c5655b9904ac1699921ac4a3a1981b566c6015016ac84e7964f64c0b5eaf69fd5460b9a17686952951ef9a04a55926bd482e669bc6b731aad4465f9901337a0544f27ace61841a5c2b0efdb2e4b897bcbf1c032142b73f70cc0f7b509d6847f61ba4e209269acced24a0721ca6d9e634167622928b65447a5aab30765efb7c977a56020b56abfb82449614df3fbc118369e8aab020cf989015696140b6a5c960db2fcb5be3c41091a6729c62547db67307ace42760689c32c2388310d1269915470286433c5624fefe684a12957d90c8b61fb334bc56cfeccb229f01f0312a11449310e432e75037ba429adb4507fb74a293823364f81b756673adbdc063d030fbec029569c8db185a0ee8011000cc7b2118a046483fd975d9a0122fb0596aa8a6d9b99ce7303b1c8a4342696001167a742fb9374d4a20a8377e8a6495e21ca6eb106b2c680a48ca6c138673ed09897f4c731412ec536759a773a1e3aab3b335301eb2501a5cb48c33a1e026e4bb25e2f867271e48cd48a029039519b296cea8b04953bcf41b515429237e696503e9283ca4165355585be315f20266438523d41543194aa6aa476bb2c229f2f12648a179e46c1696581607b4585c5341359aab5c5f0b2ca96177010c892f8299042a880b9c281483ebf0a96ecd9cac2f13bfff4c87845b708c73404979af7eac68bb45f6b7c8597b756557a38b09178f2883e8c6397c74352aa32a49468adf650441a73a2a0e7489fd7a42a9421c8366ec7b5a0ba8b0fe721190f825bf5ca839fcb22f425738e92b68608078316af96526965331d16a41052f2154faa17fa843a5e2278cd122aee688924e57029a8902a03186bc562f99b2e72b9cf8e578bf28c2f5a86b47b4555d50a1512ebc131280964165f139b7a8860120ca684cec34cec402552eb3b9063b7d8266735cb1be8a0b253c67710d80d5d1b128e38085d40cdc7e2cbf4b8c9e1861d2f41a79e1b49aca0668e4b9312003986045415b194f0f583811b181fc15f8cb5788bf14762095bab613f51f4351bf00f669102bd349b70c40549b75ecbe16394a3062c5316bcc4a1ff57cdc976950618c7d103248f4c4cc2087bca854fdf6840ae98238c26656615143f0538c960888f32bcabe935732b6a5c24372b438449812e4f125b07b836b1e076f7e629fd3578132c70776635c5fc0d4b435ce2e301703c20ec130a25657eb394013924bb88090b1599373c5b7624d59d2f2c3b2d71a308a25092d5b0eb6ba81c5b0c650104b7ddd07164969a62466b80918873a4ea56cd80a8e559fb30f6cce44f1f8fe60aad7166f31b2650d125c8ef23b5825fe11afe25d0cda306fa6c7a824b4c2d31d4f89d7d99d5c3e0d10d6ef9af054d842375f695abb28e3b8eb495100f04306e92 -m = 32bdcdb7059fe27f6409901980c080308951ffd90deffa8317b4d213a5f04495 -ct = f6fd705760aa07b02a08230438102a2382bb2af13cea1abc5a2f7c17d06cb3c306617777e97eefdb708be6f26b5fa8ee63b2e3b63edae094dfa4a78bc38388405231a2b948933054d753ed52b25b455e3820d5dad7c7b95001760383ff63e686c0e3c3c31b9d901a718c0a383a11101307e7e7bd68e7e08767f19817a12dd18fd3b7e7b4f05221314aca6f61acfc337b4bf7e2cc00a4671047990eec7d10367bd6e73f6e13805ed0079c2a772de41bcdc7aa9eadde10987d7570019d6adf4eb8df7e129f1fe2ce36abf4c14d857e4dade41d1e189c7bf8443827608ae58c1d59cc6041b5a3cfe4ec9600d5a995cbd8fe8ebd252b5eafae52fd92ed4d10296c9cf8bed3d322a4f7479ebe02222f567600f3cc74045bd85490d3e46cdef939e7a17fd398f86c7d31c66a22edd38f367c99de0d41f2df95c87a471eca9fb1880b67f32bdd4b3f9728aff21e80b3be0e3773f70a2a8f7ec49223a3e09c4a32273e6c5e5fdb7ab70da3deb511a9114ec5c34140c8ff0b099cef2e108512d70181dd0b364f7b713aa079a746494e05b01ba00635008c356a4a22eb85c2439e5209dbfc99bec9a245827b93b99e6e55634f301d980d279c62ef7ad53a25698332cf1df1cc2bee49032fe7d9fd93c07ca35b9e674a3d386eb3e2e0c904621ef6fd5926ae8288a9c00354814ddadea3af5f70910dcae595d3fc0bebab4de2bc4768a49e2e46fe9c21de034de11ea543031f5e187e387be6b6ff4014e974f76eb21fdcb7334b7f50898cc23fe5f03d94f92075c36be139df22a53d78f844a4e5d843ee3990e88f37080b4806a1dc6cc1ca4276e5afcbdd8738820f81b34bfb27234837663fb96fb6ad29f6c3de36ce876f074a7468ee76d63ee5db3489e267e6b8785008c06dea1e3655532be454d8eee13fa27a551eab5e842551018891b5ea47886ecbe96479dac09fafb84269bba3b6414a28dd52ea3a2f3f3f207f5126dcb09dbd891bde0b8f72c1a503f17027b5b13620210565d06905753be462ad886df32af31b2003fb6ed6e0f21dd91c44c7845a02308970a3e849fcd9ae92f31c77e7d09ba7bfed3145c1aa92469aa5a85c5d24df609ba5035dd181b262694db2bb4a3db530b4cdd3978fd222898b2379bdc35367d1d596a61b786f9ceda01f4d4c3d8367b01c0caae64d0aa344c2fc58234b27ededa1f1a6bbe8c7b7d877cc9960f4fed760200d3076decdef941812bc53b640c1b2fe7eab61c8fd2de1a45b62cc97700191745fc5641ca51af993cb9cd9edec5d787f564a269d65b939891ed0e06f691f72329daa39e62eb85cc796da918c6e32e6e85b60b01357e2d78313e91004681f133c84cbd2d55c74aea46c3ed481a47a5a318d98f14479cec4b9322846f7fa514cdd2d41cfb74e9e02d0a793f6b682bc50c6fc5ded8f4d800957583260f449501c06931e36b7f59e4b9ee24de708ebe3fb5c28db09a9c72f6188f1165dc386671d8159560024dea495be752ff3bbc38fb1ee2092c10616acc1f11e3c15a0a9af8f8bb16f0ac6a1414c6e970e7d5137c74f86bebc7a2cb8b4ee7747cc3a00f96abe8e453493e44a746e6d69fef56cb129ceff37c87304fd11567b05ea1b235cec52fff8bce6a78d9d1f36aca94e97063137a4017182c2237c3361913fb463e0eb619d11de33b2d1e8081c9cbe3c40f901a1e36d8d0e58964a8f2d19cac916a22eee0c65a75e282e724bbdc004d1d760f940e374196a9ca9b37c5ac5005d5279767956460ecee7d993a2138f0f5051b1147f7b9688a4225f9c02a1e29c271a7c750cc8e9d4230a05bbf673f0391c5fcc91e01f0c67ab48e60ce462404b36dda2cd96820f53955b9b0b8523be5e5c259cca38f8b0851bf3dc376c7033bbcf00cfd10ecc3e5811b5b972fccc80ec11430a944be9ab6877788001a7e7896bf2926441d82ff23e1304d8124d0745c93597122f77a54bf89e8f5b9a58e30c7835cae13d56e090b4ef69163a13d8b9ea5e568fc8b1e6ee9fd2c8ae40b0fe9a7b2d6bf313eb79535fd2d0ebf5b3a6d29deff91fe5c68897172837948bf32a79c4798831f14f89e16458f19fe904aed58b11b6c62ae68f9d762b7f2ac52ede41f1460e78f18374d3cde079ff3fc3f6dd7c712640d63aac122e89000cc55f5ab6e216bddfe84df9b50a33ab7b1693f63570d3cb92361e894f300d3951c03793afbd7db9006c5335 -ss = 31d6f79da3364c96f9018ca27b246664791c0298a2c40a9df0d6bd34d64a5496 +sk = 35e4451348cfb9a06f1836296178b6af41a1c0196f26525831c081ea779e6b8c4b3f150afe2963aa756968358bfcd47d76415ed4294f02a843f89b87d6803bad504a9165b9bedb0c946058965b64bbf953e719160b53552c100d251cc9c111837e0a7c4c043ba0777e53b39f658b41b5f8900d4721268a8ab868b15a12c3b8f41316dcbe117ab3a027b8fc2cbf3566569a130d6db132ddccc5eed69a392bae8e4a7bd6c9708a48badebaa79fa1ac1e729eee0399803a374d3733ae501f1a846cd2f5166dc31b4d53750bcccf937b1ca43c3a6cd5601eeac251f9aab8b2489e22ceff436f1142ccd1bb17dfc75db6125a1a433325a5599fd23b49bbc3d1b9195b984303735f9f2646efd050097ab23a8aa5569ab744a934c2991ba046cb012467d39c3936eba9cfec4268e1a0eea559980133b4121f9d5a603e092c199818c057b7c841a7dd00af2c0ab3637878a9ea90bf377874fa38bf290fea6131345340857a1a53d4bdd9201b99fb628d975a91001f907a2e9ad37c9b99b8af915070339fdf76125d9556b1716cb74a9f18092afd887880526fd82cb002ca49e879c50e33af2e747104674eb1f30859e3c22f3aaebfd30fd672b6ab855928c4085130488540c8cbdb832ae25249f46b7178af9769a4b359664ba48da4a746c215c58ac2752e43835b5c2a9ef0a3fca159d29038cd60cd60f5bf508521d3d59c4f083653264776501b4fc62337fc37562973a1f9bd9532b4bdb25c21597a11e17096b155cd43c76874c44f25c1aa1bbcea897367536ecf4124feb6cdf2360cd5a082ac03b5e94232dfb44e1f124fdf65a4bd03b16ed729884065d77135f1f730a7a91fc2eb43271c0b2bfb8e615c07df54041917a95b0544e8513e8c6060d14c0fb802c0f2680051341960654f3594c9972c08664b7bd30b2f031827307b95fc525a2632c2456041b1286d6f175bc0b41942e8b8be69bb364a11ab4cc199f20aeb516ced1acc1f4b2b91b860331677290c643bb9a00b4b65644592c5ca5bb19b25d2a7080cc32b08910c137946a3fab6c8e31a1e97a4735a5c0a239b073c6e056053cd6498117497870718d35235019b3ee6050dcaac31a27167fe35ce57586c364c13bcc7587ca066c6e05673e2ba0186281d94843df10bb3a93c05025c0c691a0c41b229a55b7b506724026c4f1b48313788a212b0c951783ec9447e64314e878734ab59401923ada0586225c7a5c00a5f97bb76632dec47c15c06c7c20090c790404b3044136c79f46181cb1123a7d3cf969b72f6cabe063a35774a60863267b1ba34b93a5d3db25fece84a02429a9d142ed897320bfcc114391bcc097a078b04bd9356113b3cb993c19384886df182e37ba659d5b8bee24445411e318cbd092b8f8e53c63bfa3896a2cdbdc66e27f25c83fa85c260a34fd6cfe6872172f1361aa125e6c5c6c902cdec68708c14c175e910cf002ad647a317f78f52f76bae006a3aa51780d37a00aa20c6a532281719c5ac88641a9d15549088b5a4dda23f443335abfc5c2f7c5be2a142740cbfd612a83af271af0aacb43833b56295b51a885d798825c3a2c04b399c528530ca24117b6e762c7b6527b0509b5963b68560015db4d489b5a93507e286539604cd0c35e6001127902a72ba3fb9d379833241bf849d2c11bf6dc5133c0c76e861909b375a930caa5dd105e8d96dd8698864678adf585c4ea072ae56990c25adac59ad0fa30b17d2a0ba16a444a16ead3c9f679c333cc97d830106a91a54d6e074c463bca12657bc91544d8a6e181c5b452229ca94bafdd02375d5a96de2b93030cfc93645c7282b082c29d4b466fea3c28d2b16ecc6cc5e584d35e45c5ec7233c723c7b2275abd41748a79f88797d9d03b8ae9b839ea935f5e13ff9e775af239c7c448eae6c7b407c42915c1c4cf3a1cb652b44b5acb746a5b2b576fda15fd1cb81396cc1a17752c2b5748e988649bc8caa98c2c2f09cb01b1153a59ced58a76738072a1b6a5a68b1825a062a223cf83913d77b5ba226076c939dcbaab624c712b51921b46098c48778ef46917c63a23a563a39d0c7d3ba5ef7b87857c8912a137f52026cb4628dbcc0ac53062b1b181821f65e4f622babe9882a69487407b0a715a68c110c1a20339eb559d47318dd255f4ff758db79be3c3830f0332f31f89ec458368a31cd2466203c2b510cd773d66c92cf2c95d7700d82b54faafc8931300f48563aa4cc976ad602d31c4b4b6c96c6f527a637231f1b94cc38767a608f44922a3f391b9e6c5f78a87bbf6cc19849ae619a2d84533441727e79e241efcab0a0ea361febabd3b76caaa8955ec8b963daaa8c8838ab71ce07276a78546859e21ba695953c8521a07bc8b4264bf1d3403eb8cbced71753b6619a4309599c4ecd32826e6609d7d09f976c02dd4143db7ccf9ff09365910757268f49141445b689a6dc0706c92fdd8382c63010f7a026abf217ce572256360a9a4ab2b7acb235f6929b8661dfd5bc4041813e657c95ca1a36535e97d6a56c7022dca5cbf8d121f24ab6df3002fd4b619b03ce2c4b57ab65732721901448b9c0136b1c72145b2b101fe1bb555ab2c0482caf3a1cedc926a007858e7a4ed9dc120eaa7e945275c4a847146c88a468ae23ec173ca76494732792d9a952178d83790b725ca63fe13ff7c5cf5096b3828b463aaa0ee913c390359c9e4346cdc063b8517dc5830a24e578f2053f33e5999fac5603ab62ea785080bc39e0aa206c98c560597d219746737015a5668ba4f0b06f45a7385c753a854c4d818f78466b5b9421fb84b0bad8b5b0cc3104ba8b9531b9033c52fe7c718ae81a3b06ced360a879d9cb3f73b8d6c09781462e6d7c13377006d95406329777e2651ef2803c69e984d4e719764ccc1307a64a1633e7516b2c5380c443a9bea049c91cbaa7bc385b989d1453676ecac1c2123f05e83ac0295c6e36ae6f0364ce5b35348037b7379bd2248af8fba3acc293479b24cd0a2b0dd350b10676c93ab5a6f76cb0256dc64cb8a4f677d2940761e48e665461bf30c2e9702ac726ad1aa7cda90c5655b9904ac1699921ac4a3a1981b566c6015016ac84e7964f64c0b5eaf69fd5460b9a17686952951ef9a04a55926bd482e669bc6b731aad4465f9901337a0544f27ace61841a5c2b0efdb2e4b897bcbf1c032142b73f70cc0f7b509d6847f61ba4e209269acced24a0721ca6d9e634167622928b65447a5aab30765efb7c977a56020b56abfb82449614df3fbc118369e8aab020cf989015696140b6a5c960db2fcb5be3c41091a6729c62547db67307ace42760689c32c2388310d1269915470286433c5624fefe684a12957d90c8b61fb334bc56cfeccb229f01f0312a11449310e432e75037ba429adb4507fb74a293823364f81b756673adbdc063d030fbec029569c8db185a0ee8011000cc7b2118a046483fd975d9a0122fb0596aa8a6d9b99ce7303b1c8a4342696001167a742fb9374d4a20a8377e8a6495e21ca6eb106b2c680a48ca6c138673ed09897f4c731412ec536759a773a1e3aab3b335301eb2501a5cb48c33a1e026e4bb25e2f867271e48cd48a029039519b296cea8b04953bcf41b515429237e696503e9283ca4165355585be315f20266438523d41543194aa6aa476bb2c229f2f12648a179e46c1696581607b4585c5341359aab5c5f0b2ca96177010c892f8299042a880b9c281483ebf0a96ecd9cac2f13bfff4c87845b708c73404979af7eac68bb45f6b7c8597b756557a38b09178f2883e8c6397c74352aa32a49468adf650441a73a2a0e7489fd7a42a9421c8366ec7b5a0ba8b0fe721190f825bf5ca839fcb22f425738e92b68608078316af96526965331d16a41052f2154faa17fa843a5e2278cd122aee688924e57029a8902a03186bc562f99b2e72b9cf8e578bf28c2f5a86b47b4555d50a1512ebc131280964165f139b7a8860120ca684cec34cec402552eb3b9063b7d8266735cb1be8a0b253c67710d80d5d1b128e38085d40cdc7e2cbf4b8c9e1861d2f41a79e1b49aca0668e4b9312003986045415b194f0f583811b181fc15f8cb5788bf14762095bab613f51f4351bf00f669102bd349b70c40549b75ecbe16394a3062c5316bcc4a1ff57cdc976950618c7d103248f4c4cc2087bca854fdf6840ae98238c26656615143f0538c960888f32bcabe935732b6a5c24372b438449812e4f125b07b836b1e076f7e629fd3578132c70776635c5fc0d4b435ce2e301703c20ec130a25657eb394013924bb88090b1599373c5b7624d59d2f2c3b2d71a308a25092d5b0eb6ba81c5b0c650104b7ddd07164969a62466b80918873a4ea56cd80a8e559fb30f6cce44f1f8fe60aad7166f31b2650d125c8ef23b5825fe11afe25d0cda306fa6c7a824b4c2d31d47e30dd3b9f9d66518a0525f030574c504ab3851b77857b70858c130ca20ece35 +m = 6a56ea6b25105666b70c77c9027468b84e2b069070ef3380403066430733575a +ct = 34cf26787517e5522ccc1476bdc8aeb8e180058ecedc6a6849a1be240354a1698bdef4bd7582e10f7d319951d8d1fc607d2727f809a6745274653aca179de23c2912b17d4103012bcf13938466030944bd9047fe7acc07fb1dc9db72bab35b91f40a47796fe633d5c7034e550859482cc1417ca33f69314e281eff7313c105222e69e0963e795882a95cac4fa946370e500f7a4ed3910095e9f4e710c9674658bcc96be74c91886fa3a361cbca5e3bf504e6d02b11cad06660ce24cedb94144991483a63ed489835bd93b702486f9d0bc94ea7ce2491c492511ede6aa674d10fd43772dfdb739ac5d2ac04e735428b185c9fa5749ffe6d987955427f86e68b6c4fb20109279f4c01e84147680269c704f71a1b6d22303e26b5df11735cfd05a15385293cfdd1eee24541b9dd25a412ec6bd4468d57816a3d40d9c636f8f579beaa952159053da4352621366e7924a65938f752542286ef33472cbc6244523cd0b928971427879c0414b281fdba1d24723a865bcd7578324b34769f8d1fef6d10706e1f9d8054b505ec927d9c1b8d6d0f9435ff283c9eb75b23bdc0f9637aa6b8cc96b019541a0bf158f53b5d4243613271bd5b19cb26e5ed3610fc160fdc6bcb77a0186699ca8807537dba1e074d2d6553b14ce846bd00ec97fc958b201b69aee11ea8391ea868f08f643dd22c0cb98d84692ce365b4542b20ee9c2efb15bb4af3e65c9c1750f52b36de254f9b8bbfa33303e67673ae8a1f6827ae14069657396147dc895e0da4cb792ccfbfb07e181e8400e5dadcbb72e084dad2f73d08ee7e818a919587c9aca1402587ca118dc66f31ce2d3fec56b7273671bd7facbae262c59c88c5b473fdb737806f58cd154483d0988fe84027e2e8ef611bfea28c0c0e1353938321de7b391661f1ad1088f2fc2e651fe59ef4d2b7d0bab684eeb04d827b85b02d2aac9adbcca661f0a1fa38723638b666a8b0c96924c3ae31397cf2d758e4b67983dac114cde18d6ce81b0474e71d002eef665f383a13a42f79777fc11fd28a30934dd41e3f774a3aafa5d4c6f8b30240b87d9e8280edc3fa44c007675b61510983f0061ced93befeed09d51607d5f2ba268656b8169ffa29ddba6670e643674a150cbfff95df964147221bf5bdefca0cdc4ef7117f765073390c07ca08a1c9149b0dc124ca746df39bceb4b7e8c6a805865a810076e734b40a01a08a6349d950033004332105c46b54ec4c4cde4fe7532a9dff694c2a2e4638132475bbca48a2629abbef21ac0565ca762904c0ed8422754a122c69cfb96818686a79d037b33f095e327ce7523b541ef01fc06c7ba2642780ba5449ea76cf858d13bb30b847e2346579ceef08373201e5050515d2858ba5eeec3abf46ae34240e9eb12d6951bb75632776c02ca68183f749adab6b78fdb435463b4c6b78113cd41da67776396a2ab14d0945500b0b2c8579bd9f9b5565858f76a397060ca02deeb3615acf6885b6ac98fe38dfe0b7a9177041e57ad77910526d8c80c5dcde3685e031c2844c7f271c954c0f6d306546b7765a163223e9e22dec30bab8d0d430eff17ee816e3b23d9a4c6b09fa7e2d4a2e84e438093f945c214fbf1715c2d4072ab6d4c59f96087c8338a49fe2671056311d703879bb89999402626209554ea3c6473be2ca1eac2ffbbdd800dc3d3304b639b5a7f635bc57e8e22781d7d3a799984695c66551dff21ee8c048a15329f53999ed9673aad9eb71accbe8406e163cbc21a3bf2691e43de1e522ad5082b5dae9ccf70f5d57720fb52278fc35af3615680a0e670c142f73def16395cc40118eb9b85e47b4a233353714866370dcfdd00481cbb7ec75a47a622823e4b90d3e02b4ecd3da0e7997326d32d199d474e24923049dd20ea7674570666096993e419eea7189237c21a3c3e61fdb73b15872e0c7746ea881feb0db4801c49ad54cca633a7cc4878f6c51030477fc9e1d3f43751d62e10cd6e046c0e9cc7232d39b3340dc98a0d54fd14293dafb4fac316802871a5994d1747afb61ca7d8f1bd920b82be7b327a8ad8c8acaa130b84ff0a165240e8ecfd2d0e2b4deea091915d5bcacc7ce6f6c49a8e14faa0ed8f5e0aec3903405a57749f448d66969dfd9bf3610280bd45af6b3c269ead44f25835840d344ffa609073bcbbe6dd8b7af956980aff0005cc98877304bbb0b5d04125b5601665461d235 +ss = e6282e0e2ca5d00e092c41487eb4da70f733ea6185571f5b162b47632c10af39 d = 610afb64be8cc1df288cfb016ee2f44c6c07113de7f6fee071fe0c3fe31c6215 -z = cd292e4c5f9e1a55e0489bceffb204d672a6215f4f3980a646d9f880817c52dd +z = 05913ffc8d7fb91c97dc1e0bea9dc9955fa28b3cc0b7415c192f81912d70516a pk = a99ba278867903f11dce73ce433c475e3b7e0b3c65921b3c842b142e139fe1d15efe13b7bc3625177282f4a92ff5363027901e2ecbca0dfb928e86bb51fa7c6a2ca93c5b893855703ca521be85af4651c52ab82006c95fde5779c10ca73866911a4c48088742b8b2243f629fbea924b7d8968bfa6200361a9c344a45466de00b7bf0e5b78dabb1bac3278144a94b27193b2c8214ec97527931dd04c2e43b4c64753d8c494041683168447ea5a49944d161a9290b4ff328e4fcb2427292a01367c713806b37cf92649009c09416a915b84c23efdc41d7e7859dc81276042357663c0bb68282cb71d891177148a17c315b7cdaa9aff35b4a4369e83453097b88d61395da62431f19a7c8427a2cb15eefd30b810bb74342a306b1bf26a0490af566f5a17885baa8f4a60e1c9432cd02a15915cbc8d574cfb23399ca1d93b95bb1e7a68a798a9b9a6d4dc92bf1bb84ba1109db395dc4b59f1931087e4524a090ccd037be1be6237a6483ae1a21b859bedc7a5a57a46fc02b13f5a446f4997b310b14c734160c7a19a36507876cb4c0cb2bef3bbc5d26281f15ca5d7654de307b20f9b3ebe90dfc074050e67108534832c95e55e57ea6fc6a050461cdb87f0aec7c3b069358db0784a9c7dc25cb6f6236ad96784759277f660c49130a8ed9377f85394ca90e1d59467ef98eb555956755aa51127a26f498f3a6a2d2f972357b0b40c1254f143042199bb380ad86a04c1a8a1c4fc68166606152c5950ca8b0b3b86d99167727f623927963770a1423a5cbc9629f248409183cb5a0d99e22c915991c7ec3e5288400add0c355a3f94e7a4962a513b05af268e31c7d1c4b3fe0f0b8be500812bcb66ffa0fcfe66928dc86d769ca1f4095ea3124c5e1c7be5c71ca7abc0ec76b7b0b572895c7e923be57f39eb0f430c1703a0b7b86a691935824299062c5bf927fd5573e413552a7731453171c945748e9943429da1c00588742c8c2acbace1ec1a290e3830006610d21b945647180075194db0170426087112764bc23718bac96281ced834396cc8d4d003d3246641577bd11a59a765001215760d8122eef819f2d1416f998c7a8a080718a11774072f3a563a0581b92e5aa24ec05ec9004d578438313913b176e783c01e4d313648123b9db69d9e7c648d2cbfd42587ef1a2dae065fc359951ca56f8253b27b3878074bf58d3b51cc7bafe7bb9cf818b938843f78ac68ef8349f37468e81c06044ad9a051585c34d33d76cb8ecab0c0886cfea5c725b3013c048db0b7efe3792c6777a0b8413481aa0ce5b58228479f90c941517631319415dd52eadc45ffa383f149879cf698f3c7990848353bd5b8e6d7333067ac67f5903163a9f45d681f0c637a5f53f7ec0cd30c270e3b78ee4d575a3040b71c30106c6831dab1f2c8515fa8a6c5477c311e7023d779365466228aa3d1fc2b819b51e0771c989720946aa19e6b28a463577214c58bd35237c33573a75a11cc1b5dd8595420cb87f9063bb7247d88789f40198a0395c001877cc35a5a5171e3360781bc3588930827339c24233747d9b5d96f6a31712cfd71cb962b7a1974c3ed85c05a525a21aac83af06c68136cc9bb8b7d74216da468d78f80153bb0cd2b2316dc975ed6c09b6384ad49735f1ac99e03c95e8ebc851f8b24aa65df8117d8312093bb3363d02c72f727f3371c2c8491dd611ab24765fa2665f612517d1d66882056903a67fd4173575166255609a54a3245d74b46c075c04b702ac4bc88e71b757907091c228b0182e10305b7c1cab0df3447a93219df5390a0302f99a0ae8bc51108c7c3397590f4b241165414952840303606e6c1b98755264b01280a8caeeec25c0818840d494bc436279a939d96c6f9160a01233afbd576f46359b2c75097bf15c37047f31a186b7bacbf23aabe9b7ab649938b08687a4b1734a834d3fa62a8a7a180cca4fd0a74c32a76db42009daca9ad0c3a6f8a06699630f56a6c793927d155b229269b1e3c94e0d23be1ee3121e4b638216c5b722ba3aa3129dd49bf1f93e78d16d1e820485527564405df9fc6574b7809a8bc289a02ea0e455a3a7813c195921194756558a6d481ff86a0de4dc39a347ca01562454f589f953837a256cb2ba49f200a7d1b22ef801109e2a45e28c57e201354be551e351a73036f4b363137340efa7764c439f68d3c8e0723683aa8254a66284f447 -sk = 03a941a829c025261f44172acf806bea5b216b58bab845328c36cb925a5169d6b1ff141ba44010ff2c1a446113c443c6d98ca879e673cccb84d5519067619edf59c23798b9b6bbcdc0d49df5f4b21563ae54e287dcccbe4c53c62918a6a213c460eb8c92377cb57a1b6d6467d40297fb90c6907b6be5b03db314c3ad5b2f46999743ec7ff0b055af2b2753695395c6157c60115e183dda398d136806b7017bb4fb4f36b7653bd17cabd1bffeecbaf2eab65b853c710820818b05afb86388f327fea6c3562a027c610afd9c0bbb23a571489120c2baa0d7aeffd196b2dc8b40d4016fda16062512a64462fe806d5959c49dfc0c9b2955e6480b7af0011edb2d44c6a43d08b5f469656cb9396c9c640bb077cc24ac0f293bab4cbadd998ecdba31534408b74420cb432826cb5dc8224c48159626053096063841153f723761f83315629c945778a24f826a28a90a5854ba7e80c48e44929eeca17e28304babcd0af4198962a045292f09ab5b7197a685a67d07ec9769b69e64ea1457fb8e1a70b23ac4a797132b021244944143e936c6e5d840494b674fdc9aee84a091175f8e3121150b1375e028d0ab6b709a443f14c56ab67e3a8721a4b698eac9615fa12c0e5277e4a412508446ed4999687ac5ac626ccf5468f3e944b8d099fdc319337c85e5024a0798556cfabfd47a40146691d32c0f179b5bb3c3088f2cb29e2b961b630610d1528fab952dc75d23339c26a38f68421c12c2360f369abce128cd64551ca29455e02aec7c359cf9182f5642f1bab42814aea8f2844af15670421e0e113063b4b8c614487f6b6236dcb21e48613c0635e5f6a6a6e070fb665756f98156c65a6f407e1014bd6540a92e8a09ef6c944db876250b951d16332251c5bb6b79f88928adf6bef819a241068b08337136b8bdc33476fddb0292b68ede75490db193e267bbf2f8459fabb17d10bef7018ae895995200453065ad45457e3e86a12c554db3617a99613767598031c86bd5815585444dfa41cbe068034fc0a1cc2636d010230870776d2645db640b409a292acc909aaa11d0d05a1b1469ea2673020bb7ebc7381190c271e2cf73d37f61f12c8389843b0540117c7ab924c140d1409f701ab0c0596103a1aef3c93a2a79be19c7870abe83232a7de265a1a1280d30490ff50c414a006d8a403c50948da4b1054b18be35a8f9252079c5acb2104bd42ccb51617839e07380fb3a62b3a5080295bcca410215ab5c30a89b727363185363027bb1a6b09fe83233d79e4527371ecc8b879c81a25b3e6e088d2e786976396ef8d6c383495b52eb69bb718dd7facf5f120303ea259fb2bc32a5269ab45e6bd8ab9f9456a68b869a4c13a0b6c98dd1bf276572efc9a31591acb33b9945919fd20495db284bd4ba7c66620754e58396c0a191f20304b545aa2279cbe62d08eb4c82e60569598147f9910ef70abf792d375420bb999e4a9cc28db0193a124d0cc78807a54d13933b25b350a16c842e4b31337bc7734104fe564c20f27ed6ab800717baac4a9c954c6ec5238bcdf309c6fc497a6a9b9e4973d7d44ea53b90db26912ac7796c327d24d3705db5bd0266b17b145fd8ca77624c8eccac1c209073b2a6399cc7704d25452a2a0dd6002020e51b0ae800f9e93250591bc01b7274927da637823cc69d3ab59f7a0194b5b653ef0a001cbb5d28284576bb0670aa0e6f94c06f7b2b0d6904d0615fd1831cd6800ba590816e06022b0502d165340c38bf824a35d6c227db3680a3c1964c4727aec40384d0c413731e85f2224bc9cd4fa24e93d0439ee97c9b0852aff733c2974fd6e4241b1a46a86a09b48a59acd13cacf617adf9b0bf835c20e9b05b8b58a5218587ab1d50800cbfc315c1814a8203c442158790515d83ba576c25ce9eb0539b26accf471d299b3cee6601bf711a1bc913c0f88f478ab072cac1541c892e314d733350c0566385a04bd8d759b6b81ba0370069d031e352266fbc8e9625c373c0c4c3a600f37c5576e678ede07fe17609c774bc28f2c7d7889dbda78b0b041acabc1997e93e1682393fc655daf227be808d9b395ddb659dae366c87b7b07f072b7fd9169474ce4fd0578952b4e926abb7e039d04cbc94371c0c967394a95aada9594a8cb4d5d1945ada7bb18a5e52ccc5ea5672a99ba278867903f11dce73ce433c475e3b7e0b3c65921b3c842b142e139fe1d15efe13b7bc3625177282f4a92ff5363027901e2ecbca0dfb928e86bb51fa7c6a2ca93c5b893855703ca521be85af4651c52ab82006c95fde5779c10ca73866911a4c48088742b8b2243f629fbea924b7d8968bfa6200361a9c344a45466de00b7bf0e5b78dabb1bac3278144a94b27193b2c8214ec97527931dd04c2e43b4c64753d8c494041683168447ea5a49944d161a9290b4ff328e4fcb2427292a01367c713806b37cf92649009c09416a915b84c23efdc41d7e7859dc81276042357663c0bb68282cb71d891177148a17c315b7cdaa9aff35b4a4369e83453097b88d61395da62431f19a7c8427a2cb15eefd30b810bb74342a306b1bf26a0490af566f5a17885baa8f4a60e1c9432cd02a15915cbc8d574cfb23399ca1d93b95bb1e7a68a798a9b9a6d4dc92bf1bb84ba1109db395dc4b59f1931087e4524a090ccd037be1be6237a6483ae1a21b859bedc7a5a57a46fc02b13f5a446f4997b310b14c734160c7a19a36507876cb4c0cb2bef3bbc5d26281f15ca5d7654de307b20f9b3ebe90dfc074050e67108534832c95e55e57ea6fc6a050461cdb87f0aec7c3b069358db0784a9c7dc25cb6f6236ad96784759277f660c49130a8ed9377f85394ca90e1d59467ef98eb555956755aa51127a26f498f3a6a2d2f972357b0b40c1254f143042199bb380ad86a04c1a8a1c4fc68166606152c5950ca8b0b3b86d99167727f623927963770a1423a5cbc9629f248409183cb5a0d99e22c915991c7ec3e5288400add0c355a3f94e7a4962a513b05af268e31c7d1c4b3fe0f0b8be500812bcb66ffa0fcfe66928dc86d769ca1f4095ea3124c5e1c7be5c71ca7abc0ec76b7b0b572895c7e923be57f39eb0f430c1703a0b7b86a691935824299062c5bf927fd5573e413552a7731453171c945748e9943429da1c00588742c8c2acbace1ec1a290e3830006610d21b945647180075194db0170426087112764bc23718bac96281ced834396cc8d4d003d3246641577bd11a59a765001215760d8122eef819f2d1416f998c7a8a080718a11774072f3a563a0581b92e5aa24ec05ec9004d578438313913b176e783c01e4d313648123b9db69d9e7c648d2cbfd42587ef1a2dae065fc359951ca56f8253b27b3878074bf58d3b51cc7bafe7bb9cf818b938843f78ac68ef8349f37468e81c06044ad9a051585c34d33d76cb8ecab0c0886cfea5c725b3013c048db0b7efe3792c6777a0b8413481aa0ce5b58228479f90c941517631319415dd52eadc45ffa383f149879cf698f3c7990848353bd5b8e6d7333067ac67f5903163a9f45d681f0c637a5f53f7ec0cd30c270e3b78ee4d575a3040b71c30106c6831dab1f2c8515fa8a6c5477c311e7023d779365466228aa3d1fc2b819b51e0771c989720946aa19e6b28a463577214c58bd35237c33573a75a11cc1b5dd8595420cb87f9063bb7247d88789f40198a0395c001877cc35a5a5171e3360781bc3588930827339c24233747d9b5d96f6a31712cfd71cb962b7a1974c3ed85c05a525a21aac83af06c68136cc9bb8b7d74216da468d78f80153bb0cd2b2316dc975ed6c09b6384ad49735f1ac99e03c95e8ebc851f8b24aa65df8117d8312093bb3363d02c72f727f3371c2c8491dd611ab24765fa2665f612517d1d66882056903a67fd4173575166255609a54a3245d74b46c075c04b702ac4bc88e71b757907091c228b0182e10305b7c1cab0df3447a93219df5390a0302f99a0ae8bc51108c7c3397590f4b241165414952840303606e6c1b98755264b01280a8caeeec25c0818840d494bc436279a939d96c6f9160a01233afbd576f46359b2c75097bf15c37047f31a186b7bacbf23aabe9b7ab649938b08687a4b1734a834d3fa62a8a7a180cca4fd0a74c32a76db42009daca9ad0c3a6f8a06699630f56a6c793927d155b229269b1e3c94e0d23be1ee3121e4b638216c5b722ba3aa3129dd49bf1f93e78d16d1e820485527564405df9fc6574b7809a8bc289a02ea0e455a3a7813c195921194756558a6d481ff86a0de4dc39a347ca01562454f589f953837a256cb2ba49f200a7d1b22ef801109e2a45e28c57e201354be551e351a73036f4b363137340efa7764c439f68d3c8e0723683aa8254a66284f44737933cfd8c0e61085f2ae264d85c4ae05f8bd40bf29976c6d52e4f1c7ff709cccd292e4c5f9e1a55e0489bceffb204d672a6215f4f3980a646d9f880817c52dd -m = 4ed7c92d83bd03b2a25b567f17ae55542e2f6a4308ec0f3fe69f8ba5ae24331b -ct = f695860f10b252f70d7752cf30dd0cbdf0d16b013e2be107e0020f04477022395cd3d87131e7159019e6a289c26892edc15795530d3afed62b3a8e30074e12b316918d59ed3de0bb5f5c6e3a0226684f78fd4f6be71ad2c515ea9ee99a3eb46e38f90236277fdc907019716d82f74ed054b7f0e7aa020caebb4f3781912ecd0032c5d3541bccfcd30f070d633705024d518cd8b96c37ef45b6ef5a9b1c6af8426d5c1e9dc4d8f12fa4397c48f86f99b13f66b7eff757b559f7ea03d38c67f9bbd6c291ec242b781d51da355b5701beca86c938dc464ec18b858f3539e2614964c17faed94274024353f592b99397fa7f7143de9bdb06aa0865165a1a6330b606dd77d533bb7c005fd958d08c4c80b9f44b00d397a7f1d613e5641614737bf384e354fd6ac24876fdfc75019508d3efa7793887b7fbe40799e2bcef94078f0f1072a7a7d2d1791acc4f5d3a3c1480b8a401dd6fd7e3ffaae8675eb41c727fbeb575f4b2ff97cb946315aa4d3a6dc2d81ba7c2ad17703dddc8f1ab591c903cc34761757e74e0e0874f8af2e1134eac6c48cb5cf5ef0cf5385e7fd6a7c64b8a72c968e12e5c878a62e6d8a2fbfd14ccc0f068cba9cf15a6369e7a0515f1dbe3f54df0c8b9429ae440c17a90f2fd6317ea3aa40a804a5489e92a14b9f73593787c1ab5c51d63567633ce5ac2e5deb437c9a30461a4e83baba7887fdfba223184d49e68d0b048f9d93ebe5e3422909f5b3d98f7c6adcdef625636d8fc9ca049c2b9a6778a1845a0de3aba3a76e1853b10b764e7530562721f3e24a75244795d725e5e8d4aeb227d0d72e9de1b2e28428ea339cca54a1bf6ea6c22186909036803a632b31d705473879cef6fa00d96c7d76370bcff51bf4a738dee7641746c577ca1652da662bd0349e4152a3adbcbbb752c2b8902d1b18bfb9ac59dce1f05c538ef04d7b316b01878acf8a94cba578da692377ca77c62a275f27d5b321c58ac258b22870ad709dcb0c24c673ab57383ab013734740ad7f1b4570ab79b188ef38b97585f395150d73a1c80589bded79b23f398b08abb79495e2afa29cdf60aef7cfc35d2d41058f39e6a0635cddfbbad367a160905163a273b1f9f7068aca2d7473023f40bacd68f304a5e8b8b07d3f854aebb5c2875eae6f295cbfada772a8e2ba918e2a2510fec004069abca750fe7a14f45cc056efbe2d2782c9c6f31e77524929c97e42c65a68f214a4265f1249d36073c92800173ddfc193d92f7ddf736b9d5b1d3cd8b272f1027daf0f6460f9f54bc6b0e07b359791843b10c85f0324438c64ffe065af6d5683275d5d254d1708267d44d9078455f7f88d1274be000c139e3b223460942632cb54181dfa749ac1901868312a1427c3bf92d8c5f346fb806e5a3a1a8444c8553c4fff4a0dc105775df4d32516262a63480cb96b0b025457ca7fcd5c76e95da70f4b9b8ad4013ec17baf6830d9d7f851945293bd7768ac228971ef739bf1c81874c76fffc1e5ab3acbb3520bc4f11a11878c45e91c5a041cf98fada5b5df23ee7a13af76eeee5a62b603dde11149a7fef9737d786025a371938db4b070094cab06f7e899628a93b7793854a4fc701f29019e8ff62129db3b787922d30081098652d4a2d83c8aa4d5a1655f2c7e4be9b10ef8d820a6bc05830bbd2ec9f1f93f71835f7d8d2d9b3f4e8255b8b9832aed28e8f53a22f1e4f8916922a723a9aeb7309ac107a96de7009151331a0db5e2b6b9a45879f82de0e90f05e08299c14eb909277d4c71575cbfa55697296db30b0d7ff80a4b5f2daeb811486644058063b6b7061b98d88dc643abf4d14ae132bfba6ae562d8d70037019ec11a9e896ec9437531fc2da8f37d1b4e15576f39c1355fb31296c509975a57578cd99d04fb84f62cde95b580c42c58ebb1cce48a16986479a416ffd37ff675c7d8953931d9c095f44766f742f79d09c4e17dc4151a7467080fee87f82c567a64cb2428374b7c3bf415f021eaabc042cffa33cc56916f66b03baa2923612b3cec59e7bc01d2cf1ae0e1cc8ca99e28fe92c1295387f397ddf4beb40b90644a5fe8fde2ff8798416e06ac94fe20d3692a135aec95f6911bcffa6f0f70eff7366b6cff15b60a7f20f45d905431f1c2c92c03ea5f9e4267b4b682948532541ae3cdb4e76bce04d7a91d63c898271065e282d893bc824391de464d9b5a8a1bdab15f835b362 -ss = c3ff72eb1114344fa5d98aa74748b41969eab37294549def838be8ae19c446f8 +sk = 03a941a829c025261f44172acf806bea5b216b58bab845328c36cb925a5169d6b1ff141ba44010ff2c1a446113c443c6d98ca879e673cccb84d5519067619edf59c23798b9b6bbcdc0d49df5f4b21563ae54e287dcccbe4c53c62918a6a213c460eb8c92377cb57a1b6d6467d40297fb90c6907b6be5b03db314c3ad5b2f46999743ec7ff0b055af2b2753695395c6157c60115e183dda398d136806b7017bb4fb4f36b7653bd17cabd1bffeecbaf2eab65b853c710820818b05afb86388f327fea6c3562a027c610afd9c0bbb23a571489120c2baa0d7aeffd196b2dc8b40d4016fda16062512a64462fe806d5959c49dfc0c9b2955e6480b7af0011edb2d44c6a43d08b5f469656cb9396c9c640bb077cc24ac0f293bab4cbadd998ecdba31534408b74420cb432826cb5dc8224c48159626053096063841153f723761f83315629c945778a24f826a28a90a5854ba7e80c48e44929eeca17e28304babcd0af4198962a045292f09ab5b7197a685a67d07ec9769b69e64ea1457fb8e1a70b23ac4a797132b021244944143e936c6e5d840494b674fdc9aee84a091175f8e3121150b1375e028d0ab6b709a443f14c56ab67e3a8721a4b698eac9615fa12c0e5277e4a412508446ed4999687ac5ac626ccf5468f3e944b8d099fdc319337c85e5024a0798556cfabfd47a40146691d32c0f179b5bb3c3088f2cb29e2b961b630610d1528fab952dc75d23339c26a38f68421c12c2360f369abce128cd64551ca29455e02aec7c359cf9182f5642f1bab42814aea8f2844af15670421e0e113063b4b8c614487f6b6236dcb21e48613c0635e5f6a6a6e070fb665756f98156c65a6f407e1014bd6540a92e8a09ef6c944db876250b951d16332251c5bb6b79f88928adf6bef819a241068b08337136b8bdc33476fddb0292b68ede75490db193e267bbf2f8459fabb17d10bef7018ae895995200453065ad45457e3e86a12c554db3617a99613767598031c86bd5815585444dfa41cbe068034fc0a1cc2636d010230870776d2645db640b409a292acc909aaa11d0d05a1b1469ea2673020bb7ebc7381190c271e2cf73d37f61f12c8389843b0540117c7ab924c140d1409f701ab0c0596103a1aef3c93a2a79be19c7870abe83232a7de265a1a1280d30490ff50c414a006d8a403c50948da4b1054b18be35a8f9252079c5acb2104bd42ccb51617839e07380fb3a62b3a5080295bcca410215ab5c30a89b727363185363027bb1a6b09fe83233d79e4527371ecc8b879c81a25b3e6e088d2e786976396ef8d6c383495b52eb69bb718dd7facf5f120303ea259fb2bc32a5269ab45e6bd8ab9f9456a68b869a4c13a0b6c98dd1bf276572efc9a31591acb33b9945919fd20495db284bd4ba7c66620754e58396c0a191f20304b545aa2279cbe62d08eb4c82e60569598147f9910ef70abf792d375420bb999e4a9cc28db0193a124d0cc78807a54d13933b25b350a16c842e4b31337bc7734104fe564c20f27ed6ab800717baac4a9c954c6ec5238bcdf309c6fc497a6a9b9e4973d7d44ea53b90db26912ac7796c327d24d3705db5bd0266b17b145fd8ca77624c8eccac1c209073b2a6399cc7704d25452a2a0dd6002020e51b0ae800f9e93250591bc01b7274927da637823cc69d3ab59f7a0194b5b653ef0a001cbb5d28284576bb0670aa0e6f94c06f7b2b0d6904d0615fd1831cd6800ba590816e06022b0502d165340c38bf824a35d6c227db3680a3c1964c4727aec40384d0c413731e85f2224bc9cd4fa24e93d0439ee97c9b0852aff733c2974fd6e4241b1a46a86a09b48a59acd13cacf617adf9b0bf835c20e9b05b8b58a5218587ab1d50800cbfc315c1814a8203c442158790515d83ba576c25ce9eb0539b26accf471d299b3cee6601bf711a1bc913c0f88f478ab072cac1541c892e314d733350c0566385a04bd8d759b6b81ba0370069d031e352266fbc8e9625c373c0c4c3a600f37c5576e678ede07fe17609c774bc28f2c7d7889dbda78b0b041acabc1997e93e1682393fc655daf227be808d9b395ddb659dae366c87b7b07f072b7fd9169474ce4fd0578952b4e926abb7e039d04cbc94371c0c967394a95aada9594a8cb4d5d1945ada7bb18a5e52ccc5ea5672a99ba278867903f11dce73ce433c475e3b7e0b3c65921b3c842b142e139fe1d15efe13b7bc3625177282f4a92ff5363027901e2ecbca0dfb928e86bb51fa7c6a2ca93c5b893855703ca521be85af4651c52ab82006c95fde5779c10ca73866911a4c48088742b8b2243f629fbea924b7d8968bfa6200361a9c344a45466de00b7bf0e5b78dabb1bac3278144a94b27193b2c8214ec97527931dd04c2e43b4c64753d8c494041683168447ea5a49944d161a9290b4ff328e4fcb2427292a01367c713806b37cf92649009c09416a915b84c23efdc41d7e7859dc81276042357663c0bb68282cb71d891177148a17c315b7cdaa9aff35b4a4369e83453097b88d61395da62431f19a7c8427a2cb15eefd30b810bb74342a306b1bf26a0490af566f5a17885baa8f4a60e1c9432cd02a15915cbc8d574cfb23399ca1d93b95bb1e7a68a798a9b9a6d4dc92bf1bb84ba1109db395dc4b59f1931087e4524a090ccd037be1be6237a6483ae1a21b859bedc7a5a57a46fc02b13f5a446f4997b310b14c734160c7a19a36507876cb4c0cb2bef3bbc5d26281f15ca5d7654de307b20f9b3ebe90dfc074050e67108534832c95e55e57ea6fc6a050461cdb87f0aec7c3b069358db0784a9c7dc25cb6f6236ad96784759277f660c49130a8ed9377f85394ca90e1d59467ef98eb555956755aa51127a26f498f3a6a2d2f972357b0b40c1254f143042199bb380ad86a04c1a8a1c4fc68166606152c5950ca8b0b3b86d99167727f623927963770a1423a5cbc9629f248409183cb5a0d99e22c915991c7ec3e5288400add0c355a3f94e7a4962a513b05af268e31c7d1c4b3fe0f0b8be500812bcb66ffa0fcfe66928dc86d769ca1f4095ea3124c5e1c7be5c71ca7abc0ec76b7b0b572895c7e923be57f39eb0f430c1703a0b7b86a691935824299062c5bf927fd5573e413552a7731453171c945748e9943429da1c00588742c8c2acbace1ec1a290e3830006610d21b945647180075194db0170426087112764bc23718bac96281ced834396cc8d4d003d3246641577bd11a59a765001215760d8122eef819f2d1416f998c7a8a080718a11774072f3a563a0581b92e5aa24ec05ec9004d578438313913b176e783c01e4d313648123b9db69d9e7c648d2cbfd42587ef1a2dae065fc359951ca56f8253b27b3878074bf58d3b51cc7bafe7bb9cf818b938843f78ac68ef8349f37468e81c06044ad9a051585c34d33d76cb8ecab0c0886cfea5c725b3013c048db0b7efe3792c6777a0b8413481aa0ce5b58228479f90c941517631319415dd52eadc45ffa383f149879cf698f3c7990848353bd5b8e6d7333067ac67f5903163a9f45d681f0c637a5f53f7ec0cd30c270e3b78ee4d575a3040b71c30106c6831dab1f2c8515fa8a6c5477c311e7023d779365466228aa3d1fc2b819b51e0771c989720946aa19e6b28a463577214c58bd35237c33573a75a11cc1b5dd8595420cb87f9063bb7247d88789f40198a0395c001877cc35a5a5171e3360781bc3588930827339c24233747d9b5d96f6a31712cfd71cb962b7a1974c3ed85c05a525a21aac83af06c68136cc9bb8b7d74216da468d78f80153bb0cd2b2316dc975ed6c09b6384ad49735f1ac99e03c95e8ebc851f8b24aa65df8117d8312093bb3363d02c72f727f3371c2c8491dd611ab24765fa2665f612517d1d66882056903a67fd4173575166255609a54a3245d74b46c075c04b702ac4bc88e71b757907091c228b0182e10305b7c1cab0df3447a93219df5390a0302f99a0ae8bc51108c7c3397590f4b241165414952840303606e6c1b98755264b01280a8caeeec25c0818840d494bc436279a939d96c6f9160a01233afbd576f46359b2c75097bf15c37047f31a186b7bacbf23aabe9b7ab649938b08687a4b1734a834d3fa62a8a7a180cca4fd0a74c32a76db42009daca9ad0c3a6f8a06699630f56a6c793927d155b229269b1e3c94e0d23be1ee3121e4b638216c5b722ba3aa3129dd49bf1f93e78d16d1e820485527564405df9fc6574b7809a8bc289a02ea0e455a3a7813c195921194756558a6d481ff86a0de4dc39a347ca01562454f589f953837a256cb2ba49f200a7d1b22ef801109e2a45e28c57e201354be551e351a73036f4b363137340efa7764c439f68d3c8e0723683aa8254a66284f44737933cfd8c0e61085f2ae264d85c4ae05f8bd40bf29976c6d52e4f1c7ff709cc05913ffc8d7fb91c97dc1e0bea9dc9955fa28b3cc0b7415c192f81912d70516a +m = e75c36e2c2f58f47597a06ff4be1caca2984c889e08a9c9d4b2831d6a6ec17e1 +ct = 1e1f4437a90f510d20823e989547ffd3ce3589e13926a255ff0f63763812a9c613911a32ccc9b7c760801f101ad6e16bc5592e8e8cb28977597229577f8094ecf800a4be04bf2655d26aee456b407631107497675733781d9df8c2ce63fa9134393fe7cb3370872a9c481c3db84dc1e5879d495cc9b9f1015d516d8c6deccaca0e8a599a3589fcd43cb93e33f87fe38628c481904ab9aa991142a95ef30708805233d4edf4dd03ad3d49df8b62019b6e0f5657203d4f8aeb840b64f7a07a7b6a1076e9f0824c7034ef6c11edc2ca24e7071363bbae5e14e5cbbfdf605198914cca842e073c4691220b06c5446bf45cf7a3a789926c130e294ed4cc3a4e94464dd0e7ca1dbb57118b2c74fe10b6550907e593c8ba39872e6c9b9d76e96807cb34741bf5a13893aac9d1567731896a12f157cdf2b7fe8f06a9218a64b60b053a1828c7a5ab7687994462c09af8d0bb549070ba6b4b14f51c5b3a9f9ef8558745640f1fb318ce9c2c01c492b76dc32e7c27304b61c98fab163c154914136c27e30786728ced381b18c89ceb08be0a14b5128b56ce240e14714579dbd48714a0b26ec5ad0082da92e76839f79900713733f0ea4b08b4d971874e18161f6501873c2521e632ef8c789fcd705e60fa52ffba643a9f2362e50a0baa554ed4d4a4a23c3f86578895c991e9d6831c126dd81ebbc6600bc2928051619478cf215d0b4f5a1eda9fd5ae17fa5017ca2f548e183b45d3338d625b94326c6583d20b4855e01792ae90ae1da8c6b200940c538f45503c0d3702ba6a1fc34012921cfd3b75093589c32cfb08194849e38e824ffdae8bded31db89d7b1fa62cf445c7f6f6948fae53fc4d9b1134d9ba9dc8ee92197b04dfe432e7e54e1f370e713283379399d1327b813509df24c7f5ad3dbe086889696fe5ae7fa53c1fcba3e58a93c2cd1a3e7ded6049408c6e1d1a0b0c9052698b7e32b068b003a64095130fa418bdf5ecf5759843ff2a23333b2fa88931c8e355d183dae2513ec099912ea89510b03a5197abe9dc8ed0064b4b9914248ac6f60d1720fc9bc4db3df880c178b353fcd1ebccb6651a81413ef8456076bf845e62343d30cd425f90e39acdaf6ee262618958cebe497417687624abb8ffffb6129e43b6ca43e5facf21e64c970e5671bc54876d69bb95b025ffa32bac7431175bbcf161bcd94a5dc332e403009daa140f87ca39e19c630402b05649344b04848a88612aa63b6cb81a9572cda5dd909c43e86c7c802130902f700a68e9174546b81a73db1cf784f477736b26350f2397bb44e5fdd0265609543762d5f8cbcbe5a3fe91b1d911482f805c5e0370696bd7857cdf5f3731906036aa44ff299ea8dd3a87d59f9278e6f0581da6c5e2c1042440de3c043fbbc425009b90835858ac06288d69b169290696b91af4d976278eae1a55936cc8539deb268df9e7d2af1bd869b41a2c77896b80febbc89bfcc76a0d453bcb14249eb61cb84707b9c897894e6a1200031e5c0ab0dd39407d4d9cef304ed56def7490ea8d93320ce705390bff5643c2d2a8304f5212b21b541a8c75f1b7ca1d3956037c12e7510e7028c96fd5fff864a561e8076263e72ec6913e5d928a62d2756631d3c207604d712d56d508c587fac0f38566ae04013afac3ac6e907325feb4d625241bb453e95384cc30bd893791a53185fa856376f019d5179c0949862bfb11f34e37e3cc65818b3623f68503f2cb5ff89ea6a304001ee58b39553cbf06a337d21f86ba06182dd8a4d5840e8eb005c0a60e57e2ac5b32e326c5349b4579d1a988d069661b6ea232f58197648ae658bfe7d9d7b71c2e96ba08581cd57e71a1861f74c549418e61d06b551cf9a0ef71eb90034e6f59a14dc6dd7eef2846f22e7749139f25613eb04737c3f7732e9a85c5a73f7cc9197db3e63a3be846ca7e04776eeee1319c8c44c65c71558026bc6d51c6a9a5f873109ae71d60bdd61e133c28c985d6a8b7d53b13c9962d3abd5c89aa86cf3efceb8479a80c98626aaafff76b259ec35e9dc52e604c78baaa9f9f57361b61be715c01013b95b200869cce59b2bfe5bc00746ef37a8db171e85ccdb339feb7e08c121e8fbee764911a297c0d71fbaf477bb8cc4a352b8a0dd7ad59dc7e95e49b971400c0dc098e66054a926302c6187d52a2df0ae3e9f125fad746b77c9d65b9ae44e5db31d096c598b61622f742 +ss = 9598fe2a55c73a7aabf3381673fb74ca60f4cf8dd057f818240037a0554b820a d = e1953800acaa85ac02a906c72cb8e8d704e8d27820345f88f71e89c1f549afcc -z = 8c64c049c6dfc0f1476cffd520b055756162f7ec94243de6b14ac0b9e5fb366c +z = 97c65a12d87432f475509f11e0884fb51b5d970c1b6d2c87c70590cf41c16b4f pk = f44a0e9b691f0a718f02246fc688a248e3c2f387a55c463f0d976af9a2399cd4845c22516e0b3c882625aa609b64195c90925afdeb2901075565db2562b11d2c07c8d0d94122462c25a794da3639879a409256018f7418af91608b63ab222069e31c2ac0233e8f73ba8be2b0ac0463c9bc79cb048ae517295e8a01d2e16437088d20168f135c4d63b41021060a557003bcc935c6c97b3859176807b5637659f1b5bc4b488d4e5657e9f7b37c320b5df12bf31330ad27a7f205907d6614949bc97f3c1e94f21dd235606602a5c13254f43ac1bca2a6269bc5e6a96c31e30c972067a6030665ca7b05a700c53c560860a11371505457196cb33152b10f9b99518d4ca6433724a93219db1bc834499a019c02665c650c7c0d22724bdc0bb852c9523d1a9e5b06570a6610bd1175a74b869cca729e8c17ed5101d43c814fb18838f840884a4159bac515f7b5a637b703385e5f7115cd187e2964be55828a33656ef0384896525d4511aa2fc40046729f54acc768353b8001201bf508b5904e3603abe5b426dfb77f213c54b443b7d5ca6998291b56c379ad5216056198bf5617e58977a0490c308bb5a6873ab980a1364b1d25f0b01c3acf3221528c942fdc83a9a9a60d819c015fe06d2c684194c56a98c286b2122ea3fb9b18d003cf91453fd09940f7722999af0645b67179bb11b35a4cc56c2fc1c581f168f1918983ea00693471f6e33144c642dc5a4c28b01ef514449213a4e4749f0b2c40e6e06052d6870dac120cfc54aba5143d8ba4fdfb946af9c90f99ca2eb158f001003517b9aa7a1306973deb713671a16ba714245ba96723e3453718a3bca2ae2c1b4d0265102ed901b3a1b6b6ec639a8900eaf67b5e500876137122a5284cf52de9881352770a9d20af5aa59c71189694590c549831021aa911948e550765f8897671621e5d3771f1263f87220c0f0b28804726c112a7756c85dccb8a6ffa3969bc618a83af5c1caf2de9ba439aa4d4d0021633c9744440f0f9a309d1467cca4d67a917198bb873f5569d8c8b5718a5b65a7457f55e3d1bc71f4a62006d29fdcb62526714cad2ca04fbc28983b54b6b037436917da15608759abbc316e8359a26c55e7df179a74c39269c02caea7e61ca571dc771e7679e611b9eda31bef53b11e3524ea3f600fdab967fc8a23b0b73407738955b20b76c75b971c4c1105b9c5a3557d57af4db036454a22093a570f0bb10038bb3a46a0c92866c707c28a91b9e6172314408dcd3b051f363775842274988340165887a027bfb629847b9271a5f66c15c286537c76c31f62b45e2995f0aa30dfcaa6bf2883d1deca9b7b2029515c564d3b970143c29956ceff588e99b8025a2343efa5233361bb2332afea2499656203cb712ac8cae4ce1489df2bd9223c3c65737c101c0dc5c2bfd83444a29c64d8812cd69a68f004d2596033e903d744abcb688ae65b0371d711b187b62e6c755f2f947d828446fb45f30c42da615b3c5f682f2157e940691ba674571573647c09225748416529653845a6944859dc3c62e7c0a9da78a4ea492f57386ec31b0c8730206e5adbbb0253113a173e20313610fbf696803718a0d393e7ce4165e004a450825d8935f7738aa7c6a1226640f3cf40ffa6644dae2280043c501635550bc76e8348d133a55cd73001fa3197c1a071bf30a1ff907813aa8b8986449918c08164817720f30e44828010aa6a11a378261e8b141d52779f73927d7f505dd99c7a43a2db1197ba33a2950c280549564733706009185a493b59bba67bd511e4dc55a4f458d9b1003b90a30aa87874fd83707f1cfaf11a4b9088bd41c8d69bcb77853b396c15e24948722943f0e28c4e896c56f7c9d3974144d43a4765392bdb0c2ef5bc72b27b11ff57d03a8214de0520dfcb3093b5ac72003c615c04f64693f68c0d17cbc34f8cb1ea068d681c917315836005dcb423c0695ad19a06801847e947b045e7b78c9728cd321579ea31e5d7633b121884ef65095354dfe63891945983d54cea2583ae4b64f54065cb5631272e1149c151ed0715e93a30c38c85c59415acf73ce76d9453697a3625a607a205204b307dc3c92cb140f1a75c671e916fcda070567b42a2aa12a2499e26293da440b664bb8337b6d5497471b002435c8b40872ab33e490268f2ae99c43bbc1fa7d8949cd772a745bd9ab018fd3f6ed02f32cd2bf845923 -sk = c842401604c8c4c78d8417c804c2723b14733044aa2755897f65987951218361a07aa84d6af8a956454036b79e145c93b9d4b862146bd4db824cabcb61fb91bc306f851c9e93ac266e3c9e9c939be422b07e512d28503a6efa9d3ea8861e39b1ad481b8ad1805a8c0d48179aa1203c2ed7bb59d5c8ef651281c77f83ac7b49eb997965b161db025b47ce6e2c09edd41f5eab1c8b7b4d20783d60c90dbfe6ac387b629be10351868186f6a0bf68905f8c1cf34303fb577c25212919533c7044697d9425bfb76bd9d367f43b2d3613351d95395f4c2bae63b2a4608c69364f41e85d542a08f35b940fbc3b48f63360b50aa88259c7cb4634e5a34300c5957a3644f6ae381389b53210110329fc61519113c17e64782239941cfbb11a647b814372e313205844592cc3c17319b41ff21a0bda3f5acac3f18bad085c8f27b7758b7519316653ba9c253dc94ccad37f98d00b9fe67e2a13662c77921e4a9a86c8089682811e53a60b1089a1038483e615e6eb109a3b7636e02a44c2c3a81b96d84336cf594d24172be1bbb9c7b3685ea45e45b81d731b9b75ccadbfdb768119b20a0c346156cbcd5bb107a00a0e3c6e949b9db0b4ae21026c915908c5f38413c648edb20623f35b382b0cd5f4a8d7062bebbbcc9e809bdbb5c84042bce2e81bb0d795c6786af95a7e7b0629f7978a03558f98709a86319570273bea71986aa92560260d022569d4c98a85bb98aa198deff63dc6bccd1e6032ebab8caee5cf4717b17d89125c67a8a472c371153a4fc9045fd3304a74b983936060f42c80454a005342c1318a284bc5b9a71a39e748a94739536b517dac1619c00db64c81001acbc2793f9f29b42214442fba962f331d48c300da2186d21a4de61c4b5948c7edd1b9fa5865caf2280a81b9f7171137d6a678c92745b1aeb9db686ba84d65f6beabe332ff036bd113161fa068e74032ca5736d3ea3a01f1acfe067dfe5a5b398575bb9b148ee6155be2b4b67b348420ce758c5855102fd06a1fe8d347ef1b073f064f1f7926be5b2343029e5b7468e93b8abec6be231b6bee714031e04ed23c6da37032ecc00374706eff7453dd931d80029382f17e82a85ad7a8b25ea97d1d2aa21238b25517008b0400281168328b02869889f7f142cbf1ae8ddba5ef2713de649aa9ac56229494db211b90b96ae3b2829ae528c634110a3bcd355a243f3654295b0b79b9b7d43272321959b3632313aac107c8b7aeb83172778b7b199e736307fdf5ac6aeb40cfe750b7227f46a00b9000880d405877b63ff6c616bf4a51ca11c863a79b0e099308b42cbb7997420008268a3b762b9a5e181da14a4a92a5b55e7950268a9a83402889a98835cb9562a5a627750a5348b3398b39783009a081a058bbabcc7740af00b8cdbb4e0842c7f14b47ff4cb424b6252ccccee30398023a9b50b4bb4a2c1ff0a007a0a54eaf421fc2113f0353c7a1da6cbf3c7f5b448b86534fce3b3b82c3b82c3420bca7c865aa22461b3d95522e9792b37b78c5555a62a3439f3ba7646076111336079bb8352a286e542094bb58b07cb832e2b288021034ed4934469b1723e57e57e358942730196140f47658258a761edcbdc046c08bb897f349b2930214c105792df1b45ac18e1e05c136921935f40951fbace0acc5c7bacbcf34c35da30a90671b63e50525d08b94632709b119ff39925362149e5b7caeb6a0104046ed846b41bbbd9c6b7ee8f3ab4e672b9353a929764c239832d9f6604522072c964ac98196d8302275159b9ca71b19b75881d26ea3374fb74181d558812b602fdd094b9e40692697cd4cfb1d20570256c0bcbbdbbc8206476fd27c0d0cc624e839c32254c0d76c558999fc2779ac592dfe07a347e9316a3bad42b78a048071cc9b67e46ab223a138e747227f777ba8310c83d170c2cacd25fa391c08a6d35096c704cb3e275d53f32c592884b096a7ebcb04ed8812f5469306eb6166073dcca7a5bc26357a6702b51688a9c13353bb1883d47accc185d16227ec704a60e57186e3135521cdf8ab1382a7b70f80bc782cb75f28c494853175599290657552ca4b406b54a9e607230156e14667ce32a68c3938ab9b309a36ae9b524999812779c1aca66208242a188617469930212f23ce0ea81a6d63a509b0686c5a63f44a0e9b691f0a718f02246fc688a248e3c2f387a55c463f0d976af9a2399cd4845c22516e0b3c882625aa609b64195c90925afdeb2901075565db2562b11d2c07c8d0d94122462c25a794da3639879a409256018f7418af91608b63ab222069e31c2ac0233e8f73ba8be2b0ac0463c9bc79cb048ae517295e8a01d2e16437088d20168f135c4d63b41021060a557003bcc935c6c97b3859176807b5637659f1b5bc4b488d4e5657e9f7b37c320b5df12bf31330ad27a7f205907d6614949bc97f3c1e94f21dd235606602a5c13254f43ac1bca2a6269bc5e6a96c31e30c972067a6030665ca7b05a700c53c560860a11371505457196cb33152b10f9b99518d4ca6433724a93219db1bc834499a019c02665c650c7c0d22724bdc0bb852c9523d1a9e5b06570a6610bd1175a74b869cca729e8c17ed5101d43c814fb18838f840884a4159bac515f7b5a637b703385e5f7115cd187e2964be55828a33656ef0384896525d4511aa2fc40046729f54acc768353b8001201bf508b5904e3603abe5b426dfb77f213c54b443b7d5ca6998291b56c379ad5216056198bf5617e58977a0490c308bb5a6873ab980a1364b1d25f0b01c3acf3221528c942fdc83a9a9a60d819c015fe06d2c684194c56a98c286b2122ea3fb9b18d003cf91453fd09940f7722999af0645b67179bb11b35a4cc56c2fc1c581f168f1918983ea00693471f6e33144c642dc5a4c28b01ef514449213a4e4749f0b2c40e6e06052d6870dac120cfc54aba5143d8ba4fdfb946af9c90f99ca2eb158f001003517b9aa7a1306973deb713671a16ba714245ba96723e3453718a3bca2ae2c1b4d0265102ed901b3a1b6b6ec639a8900eaf67b5e500876137122a5284cf52de9881352770a9d20af5aa59c71189694590c549831021aa911948e550765f8897671621e5d3771f1263f87220c0f0b28804726c112a7756c85dccb8a6ffa3969bc618a83af5c1caf2de9ba439aa4d4d0021633c9744440f0f9a309d1467cca4d67a917198bb873f5569d8c8b5718a5b65a7457f55e3d1bc71f4a62006d29fdcb62526714cad2ca04fbc28983b54b6b037436917da15608759abbc316e8359a26c55e7df179a74c39269c02caea7e61ca571dc771e7679e611b9eda31bef53b11e3524ea3f600fdab967fc8a23b0b73407738955b20b76c75b971c4c1105b9c5a3557d57af4db036454a22093a570f0bb10038bb3a46a0c92866c707c28a91b9e6172314408dcd3b051f363775842274988340165887a027bfb629847b9271a5f66c15c286537c76c31f62b45e2995f0aa30dfcaa6bf2883d1deca9b7b2029515c564d3b970143c29956ceff588e99b8025a2343efa5233361bb2332afea2499656203cb712ac8cae4ce1489df2bd9223c3c65737c101c0dc5c2bfd83444a29c64d8812cd69a68f004d2596033e903d744abcb688ae65b0371d711b187b62e6c755f2f947d828446fb45f30c42da615b3c5f682f2157e940691ba674571573647c09225748416529653845a6944859dc3c62e7c0a9da78a4ea492f57386ec31b0c8730206e5adbbb0253113a173e20313610fbf696803718a0d393e7ce4165e004a450825d8935f7738aa7c6a1226640f3cf40ffa6644dae2280043c501635550bc76e8348d133a55cd73001fa3197c1a071bf30a1ff907813aa8b8986449918c08164817720f30e44828010aa6a11a378261e8b141d52779f73927d7f505dd99c7a43a2db1197ba33a2950c280549564733706009185a493b59bba67bd511e4dc55a4f458d9b1003b90a30aa87874fd83707f1cfaf11a4b9088bd41c8d69bcb77853b396c15e24948722943f0e28c4e896c56f7c9d3974144d43a4765392bdb0c2ef5bc72b27b11ff57d03a8214de0520dfcb3093b5ac72003c615c04f64693f68c0d17cbc34f8cb1ea068d681c917315836005dcb423c0695ad19a06801847e947b045e7b78c9728cd321579ea31e5d7633b121884ef65095354dfe63891945983d54cea2583ae4b64f54065cb5631272e1149c151ed0715e93a30c38c85c59415acf73ce76d9453697a3625a607a205204b307dc3c92cb140f1a75c671e916fcda070567b42a2aa12a2499e26293da440b664bb8337b6d5497471b002435c8b40872ab33e490268f2ae99c43bbc1fa7d8949cd772a745bd9ab018fd3f6ed02f32cd2bf845923ae96ec4edc7ee08108fe6c0411a96f48731066ae4be12edeb7fc667039c9c1de8c64c049c6dfc0f1476cffd520b055756162f7ec94243de6b14ac0b9e5fb366c -m = 060ea5d2ed1dd88144a9885e79278590821c22917b55a48920f96b53ebe0e689 -ct = b4751fe6d8b051468461ec3751dee375904b05d469aa210c644bb3099e9798e32e4f938b974b7b845f15b49d0acb2e0ba801c14ef03927332ebfb19552ba1dd167d65e281fef1dd89b98f71168de8e0cfb9b66a37bee32a4db4ce2583d3e215b0b4f505a49238db980a4250f537304a729d0fb379a8618062d6f2f8d16cd5569db70664b92b2ea45d95d3bb43766db51c32efb5468d8b768316c6e06e18aebd93ecb8f409baab81deb93910cfdc8ab860bffbe3fdf90d19e2eb437b055b3fc86ecf208adf1ef09a8d9811a0147327cc470ea4d6c221fbecd40debe5c308a3c989e302281701ebf348efa67f3f4cd76085f6d3fe1baf606a55ad023964756beef472c4083152e123ffd43729794a43219c5855aaea576203b291075e96f6db4e05a10b6356d1ab5ea79e72956a3432f682d5115c9713f92389110ac126a27113013cb909e28130bbfe4a9613579675cd8ae09c5025d0a8284b3315fba3d37b59c6e319d7113a9ad36ee5183307c0391ced523f72c78aa8456a56d99d190920cd86d1b6e8e628ec8ad4f61cdefa52654ff339af70af68e6e1f2b10371eee209d9581dad1a4d0a98f96603d9edc08dd462b96e012d5a257b3ec8c6c67c6f7a9319c27453ff5a8486a7dae40379bc5add7e7bbe63cc34f16f0f6f3e0f539632921ce075d7fc761a545e86a47195210fedcdf8f3284a794063d5167d67b5f95416c20ac8d7997be46dfb4594f6265b6978f5029f0684132477d700cc62df977202369f8f2e0d7d531ee256c81744716f8d4d2f65d53f61c3727c0cebed8f0624c2fb220fd11da288c0ddcf8f63720471f407ffe1d16899c273b872a82239219aef5671ce8ef4d26e4bfaf02ae7cc05513f250bb4955875b4d253c5654e907dbf161614f18d3dfcab77f1cb084768c0000be5d69bb7fd163ec931acf0e5021db88c62898a8cda1b055e151d7d9979927aa7059bff89314826bcd162d528ba351cd6bd3082eb35c616606d63ad2f0c8d11c0cb1557e73ba451d5576754acbc70c79af5cac27b30ad28c0dc6bcc2552de8ee14d1714440454cf612f59c8005a63ac426316fe8f5cc292946f70bb6e40038b2f065060e9efd0eaf73d803c8b54cde968482503c9ca6b530fe615ad87075844c84e60a5b2d9751c0c5384ca7364266bb798d0ebad047985c54775278d21d1b416b2b2e9d2e63c251f9ab0a63684a9e8c3d8c512cb7af8ec45db559acf406be4b81bdf62d3c668c9c209fba9a25a818219e98686806adf76892c7090158a2b9547233ebb6bc475bb8adfad41b7bff46b946c64177466d0545bfd1ec0067d7eb492f537980460c8199c52290f18a2ddefb6ad06b74c5b3601c6810c3fe87366635eae1a93e0bebfd0b0035365bb3f1c9e4ada2714d15bf1eea4372b2e6a63d12f93559a59de386564fe524a6879878625625622c48f02418dad34b374b1488e2919d0eb0b6207a633529dedf9486a4f0505d9547cb129ad7ed65fab266b6c143c7d5ac7569a27ced0e89968639773ee1ea3b9cd6da12a6f7841ff4032daf0ece64d29b08b21fb190daa4fbb6ecac3c66b688b01bd799fdaebfbd50c726512548e52945bc4dab8e682f0dea84ba3f57a531e9d2cc87e6c3d2eb029c55f84b238c568d44d6b80526f7ca24fb1dac5790751110de8b7cb17577ca1edd81a9aaaa9595b4ea98f113e83ce34be6b9a74eb16de6bfe0f325f86f95c2daa3c12a53721a1b23c9f14eaf97571c48dd581905c863fce399529261aee3fe480e4569cd545b8753bf6d7f98497015eac0cbffbd4627bc4ece853273ea22c6603ec7e1ad56a1dca9a5c1890ecd6726565f31cf6aa35383a8667f20cbb391f6825abbb4fbc25910d600fb792488b7e1c7bae44b840ae6e10c48e7284d50daa6e5b5a1eed6d54eb0878173ef80c49db06c4e1ea2bd44030cd933fc5f30cb3a432b4444b3ce80b5c24c1010393ec34211ecb881f16354567edcd8f07f49a8d45df90f285739ec754b92d0a4678a956a385ab37e27ef1ed2806ae7d01892477618ab6829c2b8becee0bbd9b4c7176e7e1413375327fe190de8582c67f03ce66733d150ce2d3cb31e67cee602fb6822ff1542ab13c93a68a5abca521418ad42d1089a81d11d5517315f50d72eadffac1991c493e3615de847a8180ad7e7c06e1f400618ad4204dfe61c3b763cdadf03c2039a1a32d39af427c8ec7e -ss = 38b3b33fc6be0f25028865627cf3f9b60139e30b0623b70377aaa6c603f3e571 +sk = c842401604c8c4c78d8417c804c2723b14733044aa2755897f65987951218361a07aa84d6af8a956454036b79e145c93b9d4b862146bd4db824cabcb61fb91bc306f851c9e93ac266e3c9e9c939be422b07e512d28503a6efa9d3ea8861e39b1ad481b8ad1805a8c0d48179aa1203c2ed7bb59d5c8ef651281c77f83ac7b49eb997965b161db025b47ce6e2c09edd41f5eab1c8b7b4d20783d60c90dbfe6ac387b629be10351868186f6a0bf68905f8c1cf34303fb577c25212919533c7044697d9425bfb76bd9d367f43b2d3613351d95395f4c2bae63b2a4608c69364f41e85d542a08f35b940fbc3b48f63360b50aa88259c7cb4634e5a34300c5957a3644f6ae381389b53210110329fc61519113c17e64782239941cfbb11a647b814372e313205844592cc3c17319b41ff21a0bda3f5acac3f18bad085c8f27b7758b7519316653ba9c253dc94ccad37f98d00b9fe67e2a13662c77921e4a9a86c8089682811e53a60b1089a1038483e615e6eb109a3b7636e02a44c2c3a81b96d84336cf594d24172be1bbb9c7b3685ea45e45b81d731b9b75ccadbfdb768119b20a0c346156cbcd5bb107a00a0e3c6e949b9db0b4ae21026c915908c5f38413c648edb20623f35b382b0cd5f4a8d7062bebbbcc9e809bdbb5c84042bce2e81bb0d795c6786af95a7e7b0629f7978a03558f98709a86319570273bea71986aa92560260d022569d4c98a85bb98aa198deff63dc6bccd1e6032ebab8caee5cf4717b17d89125c67a8a472c371153a4fc9045fd3304a74b983936060f42c80454a005342c1318a284bc5b9a71a39e748a94739536b517dac1619c00db64c81001acbc2793f9f29b42214442fba962f331d48c300da2186d21a4de61c4b5948c7edd1b9fa5865caf2280a81b9f7171137d6a678c92745b1aeb9db686ba84d65f6beabe332ff036bd113161fa068e74032ca5736d3ea3a01f1acfe067dfe5a5b398575bb9b148ee6155be2b4b67b348420ce758c5855102fd06a1fe8d347ef1b073f064f1f7926be5b2343029e5b7468e93b8abec6be231b6bee714031e04ed23c6da37032ecc00374706eff7453dd931d80029382f17e82a85ad7a8b25ea97d1d2aa21238b25517008b0400281168328b02869889f7f142cbf1ae8ddba5ef2713de649aa9ac56229494db211b90b96ae3b2829ae528c634110a3bcd355a243f3654295b0b79b9b7d43272321959b3632313aac107c8b7aeb83172778b7b199e736307fdf5ac6aeb40cfe750b7227f46a00b9000880d405877b63ff6c616bf4a51ca11c863a79b0e099308b42cbb7997420008268a3b762b9a5e181da14a4a92a5b55e7950268a9a83402889a98835cb9562a5a627750a5348b3398b39783009a081a058bbabcc7740af00b8cdbb4e0842c7f14b47ff4cb424b6252ccccee30398023a9b50b4bb4a2c1ff0a007a0a54eaf421fc2113f0353c7a1da6cbf3c7f5b448b86534fce3b3b82c3b82c3420bca7c865aa22461b3d95522e9792b37b78c5555a62a3439f3ba7646076111336079bb8352a286e542094bb58b07cb832e2b288021034ed4934469b1723e57e57e358942730196140f47658258a761edcbdc046c08bb897f349b2930214c105792df1b45ac18e1e05c136921935f40951fbace0acc5c7bacbcf34c35da30a90671b63e50525d08b94632709b119ff39925362149e5b7caeb6a0104046ed846b41bbbd9c6b7ee8f3ab4e672b9353a929764c239832d9f6604522072c964ac98196d8302275159b9ca71b19b75881d26ea3374fb74181d558812b602fdd094b9e40692697cd4cfb1d20570256c0bcbbdbbc8206476fd27c0d0cc624e839c32254c0d76c558999fc2779ac592dfe07a347e9316a3bad42b78a048071cc9b67e46ab223a138e747227f777ba8310c83d170c2cacd25fa391c08a6d35096c704cb3e275d53f32c592884b096a7ebcb04ed8812f5469306eb6166073dcca7a5bc26357a6702b51688a9c13353bb1883d47accc185d16227ec704a60e57186e3135521cdf8ab1382a7b70f80bc782cb75f28c494853175599290657552ca4b406b54a9e607230156e14667ce32a68c3938ab9b309a36ae9b524999812779c1aca66208242a188617469930212f23ce0ea81a6d63a509b0686c5a63f44a0e9b691f0a718f02246fc688a248e3c2f387a55c463f0d976af9a2399cd4845c22516e0b3c882625aa609b64195c90925afdeb2901075565db2562b11d2c07c8d0d94122462c25a794da3639879a409256018f7418af91608b63ab222069e31c2ac0233e8f73ba8be2b0ac0463c9bc79cb048ae517295e8a01d2e16437088d20168f135c4d63b41021060a557003bcc935c6c97b3859176807b5637659f1b5bc4b488d4e5657e9f7b37c320b5df12bf31330ad27a7f205907d6614949bc97f3c1e94f21dd235606602a5c13254f43ac1bca2a6269bc5e6a96c31e30c972067a6030665ca7b05a700c53c560860a11371505457196cb33152b10f9b99518d4ca6433724a93219db1bc834499a019c02665c650c7c0d22724bdc0bb852c9523d1a9e5b06570a6610bd1175a74b869cca729e8c17ed5101d43c814fb18838f840884a4159bac515f7b5a637b703385e5f7115cd187e2964be55828a33656ef0384896525d4511aa2fc40046729f54acc768353b8001201bf508b5904e3603abe5b426dfb77f213c54b443b7d5ca6998291b56c379ad5216056198bf5617e58977a0490c308bb5a6873ab980a1364b1d25f0b01c3acf3221528c942fdc83a9a9a60d819c015fe06d2c684194c56a98c286b2122ea3fb9b18d003cf91453fd09940f7722999af0645b67179bb11b35a4cc56c2fc1c581f168f1918983ea00693471f6e33144c642dc5a4c28b01ef514449213a4e4749f0b2c40e6e06052d6870dac120cfc54aba5143d8ba4fdfb946af9c90f99ca2eb158f001003517b9aa7a1306973deb713671a16ba714245ba96723e3453718a3bca2ae2c1b4d0265102ed901b3a1b6b6ec639a8900eaf67b5e500876137122a5284cf52de9881352770a9d20af5aa59c71189694590c549831021aa911948e550765f8897671621e5d3771f1263f87220c0f0b28804726c112a7756c85dccb8a6ffa3969bc618a83af5c1caf2de9ba439aa4d4d0021633c9744440f0f9a309d1467cca4d67a917198bb873f5569d8c8b5718a5b65a7457f55e3d1bc71f4a62006d29fdcb62526714cad2ca04fbc28983b54b6b037436917da15608759abbc316e8359a26c55e7df179a74c39269c02caea7e61ca571dc771e7679e611b9eda31bef53b11e3524ea3f600fdab967fc8a23b0b73407738955b20b76c75b971c4c1105b9c5a3557d57af4db036454a22093a570f0bb10038bb3a46a0c92866c707c28a91b9e6172314408dcd3b051f363775842274988340165887a027bfb629847b9271a5f66c15c286537c76c31f62b45e2995f0aa30dfcaa6bf2883d1deca9b7b2029515c564d3b970143c29956ceff588e99b8025a2343efa5233361bb2332afea2499656203cb712ac8cae4ce1489df2bd9223c3c65737c101c0dc5c2bfd83444a29c64d8812cd69a68f004d2596033e903d744abcb688ae65b0371d711b187b62e6c755f2f947d828446fb45f30c42da615b3c5f682f2157e940691ba674571573647c09225748416529653845a6944859dc3c62e7c0a9da78a4ea492f57386ec31b0c8730206e5adbbb0253113a173e20313610fbf696803718a0d393e7ce4165e004a450825d8935f7738aa7c6a1226640f3cf40ffa6644dae2280043c501635550bc76e8348d133a55cd73001fa3197c1a071bf30a1ff907813aa8b8986449918c08164817720f30e44828010aa6a11a378261e8b141d52779f73927d7f505dd99c7a43a2db1197ba33a2950c280549564733706009185a493b59bba67bd511e4dc55a4f458d9b1003b90a30aa87874fd83707f1cfaf11a4b9088bd41c8d69bcb77853b396c15e24948722943f0e28c4e896c56f7c9d3974144d43a4765392bdb0c2ef5bc72b27b11ff57d03a8214de0520dfcb3093b5ac72003c615c04f64693f68c0d17cbc34f8cb1ea068d681c917315836005dcb423c0695ad19a06801847e947b045e7b78c9728cd321579ea31e5d7633b121884ef65095354dfe63891945983d54cea2583ae4b64f54065cb5631272e1149c151ed0715e93a30c38c85c59415acf73ce76d9453697a3625a607a205204b307dc3c92cb140f1a75c671e916fcda070567b42a2aa12a2499e26293da440b664bb8337b6d5497471b002435c8b40872ab33e490268f2ae99c43bbc1fa7d8949cd772a745bd9ab018fd3f6ed02f32cd2bf845923ae96ec4edc7ee08108fe6c0411a96f48731066ae4be12edeb7fc667039c9c1de97c65a12d87432f475509f11e0884fb51b5d970c1b6d2c87c70590cf41c16b4f +m = c068b1a68f7f29e1a8313876c4d37a23167e9bb9ec5a47013a5a840dc77d4ba6 +ct = 59fe8f1530e8671a1bf5b9fe284fc030edbed9d0656d42933c7f091d994b53a09fa1afcb3361b5a8ae286c7d2cdcad267ad82a5a424c2d1f79ec8ef21ab0e19dc493b7afed9b03d78beb2c913241160e63bef1079e18b01dfe1d23d5418cdc8b1649f035e1b071cf7db1985ee868745bc3ca680989c8a3155e7fd26d381ca524ac843fb12f3e569d618807e4d7dcb76448f8f9fa28b533affc1f8d8156267432a9887fd8bf1b6b4ca4d30ff2a945f23c2b6cba829834ee1aa4509ce65577ab66bfc9ad8e50db291ed59bdc75a75b987097c1145a3a12842afe7f1f2b8cd78439875182c870711283adaa8fa90a3ab6ccee87a6e734ca8941d60116b203ed4e366735856496cf0dd33cf4a6ba50abad18b841d07dd695f5e1c51099e846092d9efd32891efe2ded1831ee959f4866a04f47f6f3e35ef846488c8b890e32e60a43077af213eb0ea512eb545ca99fa28c5c42a551fb6866c436422bf36ea82eba8d1a9a6b01a92dfa7ea2b46308be01586fa10f534328dd11be26b2a60ca91c070493fdb83981922d6ab2dd316c90f25b0bddf2519d56a71b2d2563412e64df4b0427097a03e816bb84f0ad82ee001dcc36c901952cbeb1b96621e0bc3b941fde109cc9192c60411d0ac294f582cd103992a0101111fcd9491b50f1ce199c65de7991d7ce44dea4eda1678b828e24039a3bc49f39b4774175eb48ac8fa9f3ab0b21664d78c7f52c85538d0cced54c441d74445f259fce7048a029c23a04bf242daa252993c65708f7032b107b2dcb1a041b57ba3a7dffbb3c5970bde9fa9c69a974d03adf233119113a4496a6c5e1ca7c5e84cd333bb0eca6ec2247e7001cf2773d28e63cd3cd59be8966e6f19a26e473f3ffbb08a5d9bb00bc6d0bcb9b12efc4e427838db72d40ef79e0f815efa5267d69ce469ee651656192f76b88db102015a27bd8ffea0ad1ac89d79fe1846e354dd577a69363b5965e1a9e69b4f63cf745bd6e38da110c98065c6d11ccf18727217a0323463897342f44ccb1e562cc6cfe33a3c20283134f65bd35bbcae283a32c67ab4d7469be82e028fe9700b23145df933f781c33aea5bf50f14972dc0c052d1710bf7f2be0beaae0c2443f8c338ef6194be32f40df731b791e75f701f3660f6bd7df0a7b6f4a73ac6c8fe7f55c1e1d2fbffa0cf4260cb43bcc8e4d1a11b282120e70367539fd8d1bf5354bb4b3dbe5f9b2406652762364737fd18a5e0baaede66d087a21da18c728dbc0c40f3caa3c4abb2d75d957d552c9715db4b266113996efab6b9d94378db8720eae344db903d4ce9967e4e16ed0d7228e26926a3d30bf205f4a57e6e127187e28797bc0cedf2ca9dc22b30152b337c065ff60a785d6734a41b444c7e3f569472602249a3160fc59610c12064cf7cd38bfd2417f6da56cf648cb9edb57741608945f90d8486d769d759d0a576894cdcae477d482690a91f981d542767f6a68157c87df57dd06d808b165881fbe54964619d2370529911e6fb6d7e7cc4a7931b34d933a546c2d8b13ddde75296f46e9a8902ab05529950130c53126082e1b62c2d4443d07e2bd5bcc03b5c7a58c9c8afb1a71983230e58876400b78ecd878619fc2ea6f100c42a1bc1bd1ba2974bf2a01ccdda2f34e4b1e87de3d6f5ed7bae65005336fd3513239602304533be191acbc8aae4838cfb0fcf114c1e1985218c805828046f703ebb59de7071b64ff6d8a75cb68129f63ad190aa4c7d42aa62a926b6ae1df8f6af233396132e3abe851a8d0553259f746a9405de0c9919be7b2f1874b4930bfd7b577a5f028e7e169241a74de98f8208467146f93ef835fdc74f179812661ce46208ab21f7f96ea75c10e516e4eb29765d97dc6e01af07080b75598d93be79d1ca4508f6048d9130d5178eda326b8eb9392ac768ac5b8888335865a5ba867ff676c7412329ad9a4b903abbf485980cfd8f76fcf579726bc16edc8c3092534c03ab2bffe9f05c08904162aa4b367d06a0a56315602113cc1c60f2d54f9c1a5e47b966a79301db6b46685405efdaa97d3c1e0e9ace97a86ea35d87c83faecb4f853e1aaa78addd69380f953b0dde2bff9a28256cae8f0fa394e2c95b094e0fbc9f7f682be79ad0b264dee34f894f413be1418389d8b0ba634123dfc88b3db13b4951f878a99ffcfdbd8e0408d8dc7adde5d4b4a949a6edca0c987963d1af9855351d1bb +ss = b6bd9b7a5abc1475f201998f20d33c1f880aa2920876568d9010b1ac52d74f11 d = c719f9b2d16399b7326ce4eca30dabefe8fdaab18e9f6df888b0a134ef355570 -z = e40771856eb77e4633504899fcb86c6a3d433d0b8d60e26f07bd61f1d4ed69bd +z = a49f3b482a66256d7f667585925cb7f58894e42660ef2573ae33655c231dfb0e pk = b7572f8bd73104745eac83154707cf81c85377ba36b111c9504a180f01c880d08b55c3008a9594e75b3f026a103724064393351dfa7eb5ab9a1c774a59c47b31437011816abba42b75780c1ea8769a7bbd1ba60e686c726f2aa6c9101614c213a8147cabf658d5505aacb288f065bd31c5b7494b377ef1ab72925fe513c49ccc130cc542aa34abd31b5d99cb8f6e2b9a1c5417a4ac9c91011627e6353cb6529ac19697d05d076bb197790431f9ce62a31fb8154797583692ec9abf67b678e0c204a822e228b09bbb7b4cb3a5df788b0930841aba9e4f7c1212150c87c4b871e978db33a5395356b25aae33e3b9d7153e4a497c7d7387af0c4367e95fa500245acb15b7dbccf9a013326c2b0336b66c101aa499159a7c875eb6cebe292d266821bc193ced74b04e61845aa5b1ddc953699cbb7743cd76d930bff38efd943c34b01a8d973a81247d966825d1a9b3b2fbc5769c9d5ba883fc357946d54f3cc3090ee48eb2fa80b4d86dee07c57c215f07dc23aaf8c4aaf2c9e03ca2daa433fd9c584bf582793919449925f27786b6dc2de9c5cc08220feb501fb7e2900c243b1c357c8fc814cf87b233b70ce6f0938b56698c160ca893afa877bba49c0a8f606e30761d9dd14be7a40f8db95496865c2441a47aeba1ca7458256aa5a910948d4c920d32712c55cd8546809704c1760c8f8ed991d8ca570cab3441782b6e4035d82c24105397cfaa8ad86a385327873a228bb0c02801a50340b70e5483709ef03de0483bf08b940c4aab7a61c24e9947875c8e2b930dc208ace4752da4d0253ebb2bfb333a1ec9bdec73283d435c4d061df6b0692df903c6481179e07adaab8d69277958458f6ff5c6e4c92804ea47bc8a03bdd707c1a78d912467a83575fe74aa25c043feea0be5899210d7c8bc8b669fec5840f5b1782a5a9d947e78301eeff9b12635c9b15176499a3593362fe5a946fc98c7083bb185c2087b58b6d7caa3599427259a72c6f89fedf61f7e111c04f008053cbefca2ca13a06d09d9494cf29f82c5b93bfacac8d705e35874d0297aa15c7fb181878b32459cb09d6d489671e7700e4731e783c73c86b5b8731ae765a639b20f8c69844559b0763b5cfab7396c1aa09ce238227c29ba34a48891a39cfb37f1226cdb35517d354d422000c3709b7cf53bb9807e2ae7321b38bb29c327e5eb3d02036b1a4c61a2a66a3e91af4288875719496003988b488d84535cb66a4a1f1ac69952817fc13ffadaaff145780aa02ac41cbebfcc9d798cc4d9a090a4212f0fda861b8760ceba5f334c1a54d52567c2b51628455c85517f67baae5c694293c29a684984ac3e711501d5219fa8279bceda4d8aebcf17babe31fbbffe6c297dd27cd894be83b416ee182306d65d2a962f64811ad1faa4ce72a6cbb1c5d22a1c4a2c1eca36b38618afd0a928c4db55b991428ad72a40679ec7521a170929cf10a41cf63bf0dbb5f1316a23d2acce5c7c34c67f6b2450f36556bd987b525a009c77ac7e23355de3aacad177ab7538eb7b25d613a3e9c11c79e59fd9ea263c0178d47885c7384b492909fbc63ac0b2a4ae455dd3446b395c0bd001765f31c79649c53453252e02b98af51f23f8b2f5f2c8d3eba71ce67a95170237b7a408235429826637f8cbecb11a4dc351fd0134a0cc7869983a02a50ff3958e445a9dd35023900b7a3c41ccb66a54628741adba17da89cef8d83e8f66893bccb50918b6cfa1480b051dd0153fdf5a0561c2c782dca0a02861b87a8aeb304927716884905e1e0a004f3a119b3293fb0850cbba7581f1363598c1384ab228d8720b4c6124e2ad1a9774d7a16880542d30dab2f0796fe5536402bc10326c7577971c496083e0c24541e07c813a01989013ab9580abcc038284588294b743086357d50b01e93d841c6a7b929d32291e47d2419b464c3c692847f7706865a29335a4ff50c536991fcb790d0de50f68914d1ca5b438bc0a43393510fbcf15a895d5d546850c0fb1d970517819e841cc42dc279e8b398a563c174c57876605e1212be53ab714486588f96b8599262d67bbce891b90308959524355338355598b233aa89e4679749207f3ba1086ccccf836c7e3528989d0848b947487781a2b025955b2c748c700b479216c3caddcf63564392d6515767b771a21f89bf2d90cf3dfc681c2fd81792135e1938ca482ef3c253d8976201852444e -sk = 0c9c633ff39d1c6c29f8356aa02981dcf189d6535e2ac00750c30b111a88b21024e4823e7d543614f30112f7c78f1679dab68b71aa992538658fd0c8e2984abdc09647453b3fd99dd860238cf40c9112a7dcb57e06540148ea4ad6f97020474afb65c5c67ab4fdb1515c6592941b1e38d4097155bd194b5324f464dbe678ece9b5f8f57822f87ed7f3a6b470ca3fea3314b4bb404cb66e3bbf8f2953f2682cdb65cfb47906b3962443775796564d75cbb4b9bb24a8a98d7723269e8204ba89782f974ae591808e97cb2468252c8539c2454041c9232f33b43ed8359dd6856c98ba4fc09e92f9a4ad497f8f1159e159b5af795ab09c20aa753931f47764b6cbab6968c7a779802b469abb1e7f677a0a485ff5cab2f028112ee8c35152703bb14127b33fb00a0ce21cc607e49a73544029baca215a67091a9ad89a408794c4d2da78557b1d31686c6b4c3749958efc60891f12c9e0b7c19613823eeab1d8f672089339e46c16daf0c3b7d53727605c26a723518a2651d8762ac373817bbddbec1ebca2cf91fa2a66896c55a4c946a791e5502ff19aa21cb132322bbfd127c10d87563028bc49b222e5401acdc81991828e4c111a54566e5724b40a452c0f4632b7b85f0445c881938134d516113560b0065beb409fceb25f796c0ba0ab190fac0214007916ca93c2abb11bd88553aa34c3c518bfec423728c86e529c300a1f70225f2f683911040ff9405614e1baac070e0e90337e134e3c93081514a937f9798ea7b57b3a3a0b829a2697b0778c802116c067a5c368576395c43d33882f97c770519c16426284e19bac180a2a6cb85d65b1a115316b08541dc231c123c184e82c691f20749a4b92f2d1040d09519df7678ac282fff9cf5124acbe04388ccab61bf71b87ab3b830a3ef6700a68b06770012424031e89a895ae81c8aca9169d6495cf01cd8ba0c27ae132c16aab0ebc4b13abb37d67ced10a0246e87be1233ff09a6802f6371858972d21b48d410d8cf3a8a1e664f62028cf851a134037142c20e8eaad7de32581b39b5d93221cf72124a73daa2b61f3d7c8f25a973a815b351206800bbcba60ac8c2a86a7758b38339751c23ea5523d84ec982a260256c69af739349d206ce9c9a70dbb0a950a0b63815994a6878711578bc22942914df8489ec5a09258eba796e8a6ff5483a71887e55783a94201e5b88898870e67d32eaab132519624f4b28f22e80903e591331ca792c0cef824bc62168be6eb8f7ba299bc519b0c370509e38377f171761521f8fc882d1b8d0db3c2109a43d1754f75529f7b071b7492b753688feef12fda217ccba484ab79192b7933781811986430bcc010b50a5621ec15dc7bb545cabc77c336892a0df4436e732b905d70769865cdee0a9906438e9d921f521862a3227bab93202da0cd19f6221bb68fda8155ae38132cf2a30a4a5c3dc0b17df0016fac3bdd56cd9d06cc8f2c6b4ac41207fc1aead0cd87506caf5c043941513f0a4abf725818c7686f0745ece93c23f2951ee263f51a3fb3630076dca4ea80a156dc6b4248246f638024b8782c9757e076ceaf18cc27284c321ba91766454640ad32d97e65650b39c9b23fa80405f8cec82abf70ea4f4d24c87e8b253f708f9a563c78655877795c4f05024a788dd4bc7ec1190b606602aa40364692478b3b552c46b5720acc5042be92ba8760924c05a60032c52f63b40ac50086a62548dfe9b312f2904ab17da59842da877355360e217917d7a3c3f1a9b9f2466c8fea980be798d249ade8389e626a4693ac38a844294842382e0c5b92bc25b29abc3212543ec39eb2409858f9c8a22713b043713bc00f1a77bff5d269698b9c91706bf0326899791f161b481b531e77f95de95b45522b9a4f0423eca7afbe418848137b925a6ad13bc792194522f00661742f5e4a0e4d85aad8b36b6540a1b25a4a38c32305e543a6a13c37b48296fb84a3464ddd3016771b79e33251cecbc2ffccc6d3c06d4a660622d3630661543a001a3f9ca586c9354f513f3ba5c6de933db0d0690e4102c9918720437f437354a3107849775c95c4417bba787f172407fa0564498cff67c545b7323c442b3cfb11952079f1d11449bbb622630a6945c402c7008dc7a35f380c2df7c5edf8c9c64432afa34cf0547882f202b7572f8bd73104745eac83154707cf81c85377ba36b111c9504a180f01c880d08b55c3008a9594e75b3f026a103724064393351dfa7eb5ab9a1c774a59c47b31437011816abba42b75780c1ea8769a7bbd1ba60e686c726f2aa6c9101614c213a8147cabf658d5505aacb288f065bd31c5b7494b377ef1ab72925fe513c49ccc130cc542aa34abd31b5d99cb8f6e2b9a1c5417a4ac9c91011627e6353cb6529ac19697d05d076bb197790431f9ce62a31fb8154797583692ec9abf67b678e0c204a822e228b09bbb7b4cb3a5df788b0930841aba9e4f7c1212150c87c4b871e978db33a5395356b25aae33e3b9d7153e4a497c7d7387af0c4367e95fa500245acb15b7dbccf9a013326c2b0336b66c101aa499159a7c875eb6cebe292d266821bc193ced74b04e61845aa5b1ddc953699cbb7743cd76d930bff38efd943c34b01a8d973a81247d966825d1a9b3b2fbc5769c9d5ba883fc357946d54f3cc3090ee48eb2fa80b4d86dee07c57c215f07dc23aaf8c4aaf2c9e03ca2daa433fd9c584bf582793919449925f27786b6dc2de9c5cc08220feb501fb7e2900c243b1c357c8fc814cf87b233b70ce6f0938b56698c160ca893afa877bba49c0a8f606e30761d9dd14be7a40f8db95496865c2441a47aeba1ca7458256aa5a910948d4c920d32712c55cd8546809704c1760c8f8ed991d8ca570cab3441782b6e4035d82c24105397cfaa8ad86a385327873a228bb0c02801a50340b70e5483709ef03de0483bf08b940c4aab7a61c24e9947875c8e2b930dc208ace4752da4d0253ebb2bfb333a1ec9bdec73283d435c4d061df6b0692df903c6481179e07adaab8d69277958458f6ff5c6e4c92804ea47bc8a03bdd707c1a78d912467a83575fe74aa25c043feea0be5899210d7c8bc8b669fec5840f5b1782a5a9d947e78301eeff9b12635c9b15176499a3593362fe5a946fc98c7083bb185c2087b58b6d7caa3599427259a72c6f89fedf61f7e111c04f008053cbefca2ca13a06d09d9494cf29f82c5b93bfacac8d705e35874d0297aa15c7fb181878b32459cb09d6d489671e7700e4731e783c73c86b5b8731ae765a639b20f8c69844559b0763b5cfab7396c1aa09ce238227c29ba34a48891a39cfb37f1226cdb35517d354d422000c3709b7cf53bb9807e2ae7321b38bb29c327e5eb3d02036b1a4c61a2a66a3e91af4288875719496003988b488d84535cb66a4a1f1ac69952817fc13ffadaaff145780aa02ac41cbebfcc9d798cc4d9a090a4212f0fda861b8760ceba5f334c1a54d52567c2b51628455c85517f67baae5c694293c29a684984ac3e711501d5219fa8279bceda4d8aebcf17babe31fbbffe6c297dd27cd894be83b416ee182306d65d2a962f64811ad1faa4ce72a6cbb1c5d22a1c4a2c1eca36b38618afd0a928c4db55b991428ad72a40679ec7521a170929cf10a41cf63bf0dbb5f1316a23d2acce5c7c34c67f6b2450f36556bd987b525a009c77ac7e23355de3aacad177ab7538eb7b25d613a3e9c11c79e59fd9ea263c0178d47885c7384b492909fbc63ac0b2a4ae455dd3446b395c0bd001765f31c79649c53453252e02b98af51f23f8b2f5f2c8d3eba71ce67a95170237b7a408235429826637f8cbecb11a4dc351fd0134a0cc7869983a02a50ff3958e445a9dd35023900b7a3c41ccb66a54628741adba17da89cef8d83e8f66893bccb50918b6cfa1480b051dd0153fdf5a0561c2c782dca0a02861b87a8aeb304927716884905e1e0a004f3a119b3293fb0850cbba7581f1363598c1384ab228d8720b4c6124e2ad1a9774d7a16880542d30dab2f0796fe5536402bc10326c7577971c496083e0c24541e07c813a01989013ab9580abcc038284588294b743086357d50b01e93d841c6a7b929d32291e47d2419b464c3c692847f7706865a29335a4ff50c536991fcb790d0de50f68914d1ca5b438bc0a43393510fbcf15a895d5d546850c0fb1d970517819e841cc42dc279e8b398a563c174c57876605e1212be53ab714486588f96b8599262d67bbce891b90308959524355338355598b233aa89e4679749207f3ba1086ccccf836c7e3528989d0848b947487781a2b025955b2c748c700b479216c3caddcf63564392d6515767b771a21f89bf2d90cf3dfc681c2fd81792135e1938ca482ef3c253d8976201852444e4e23909b028699d6677eabe6bac4bc4e8437acbc52b0b17f1df5760c0455c2b5e40771856eb77e4633504899fcb86c6a3d433d0b8d60e26f07bd61f1d4ed69bd -m = 10ef9426f8c4a13b52325c5bb4ead4596ecf2c6b5bd2d37d8350e90d4164fdd9 -ct = 2929007cf0f8e962570b17cd980f393a11a6a7a7d77cabc669aaade0c777f379d004e88f2e601c03cd09c63a3529260d900ab7f93dcef26de3f82b62dc3effbf2ce62244e0e3155fc85ce3bf7b4eeef72f3e0ffbfb30385e09061431ae43d472c551b52eaaa11584836535c59d109b027d9f2e65d3f9d5408af6927d607fcc876790f24c555380f339ebd313648fbc4d31001661cd8dbe69e5f8dbe7f79f560fb8fc9b137102a40ae40a4ef3abcae98e31b629d85048ef737ac265a786532d50baa7211be1f7b32f13121364785307b771cfef0cdf2f30e80807c652f4e3b46aba4c84fda5b64d787c08f1662a91a33abfc65f682b735b06cd5e90a8d964a6ce632de6be616212e2839aa7534d2ca674a79c5e769b28776b3af6435245a654eb4ee760e5c14781f7f3e1a2a3270d8d4e9a590f27b12ed7bb32fd9657ab2abc4d993832cd04e4dd7ff3fc3ec9fc62792009c0b61e9e2c27f15eba6645da1c82c683c2ee7006e5e2f9895eb9d1e01ccacabbab48c8f63ebf0fd4168f53c240b8d77f4fcc65178a31f208cbe156ae5dbe9a8cc1840aaa8cb0ea8688cdf6be7d19cd34c0b0ca9f698eedff840b677641066aa0d39f9694d0220db17e8fb0e0f435e8c3ec6ad51832d9836c9ffb3e3b1ee12bcacc429799c0df3aa6c65f10050d780f55403c1a22d43a5ebf52d47d59f26a5b04dde03275c8acb4c037083ffd24695d40cd7cc357eb4044d3def48f4eeb63bb6582d7a6f0c55fdcae271f8bea625553bb3f28d9f2de56366c43e86d6bdc5af4e5b81f072497252119729e2bcdb596cc23bcb5093c232f42d9af73f53429d17fa9b8a6bbc02c835a95ba29015f21cae2d2c8929a7f13fb59423dd7a13d52161ace58ef66542285cd9b94bad14dd81417459a09ecf906983429822b8692685d75b026ccf1db0c2f72fec09c1c6b6107814045098c1766a1cac8f59b45399f481168f9cd0331aa47ab06deddc5e50b9ab7a54c2a673bb52c0b4d999024e06c98d3e9e8321631ff48ed3868e31eedafd1173c14ff04a515a4f48bc07e5a0b1427c272b47e35f543edaa7b5a520ca049e509aa8b5c4ec54e59958cadced8efcb3aa3bcec14d6a1fe0acc33269c89b1d0faaf2f3483af8adb83aefb43117386c276fc0be05001c9b4226b7cc7a9da42e998e49dc8b6ee80c4965def92f0484b5ef438fc35d32ba7542ba8103505f94c1ece62e80b7808e2462d996171f96d62a0f78545585ab322792f633a32d6aac7ef2615fcab9faba6e2665e23b41a45699d00d1f520d33dadef458722f173ca1f83c099039bfb46ab7e78189ed3fcd49f8b3bf061fd2906bae64ca8840f95f194d4fc69734cf17fdcad1154b28a099d9602e1947b5c04a08b3b2be6358d16da5e23155365424ac0850c467b51e42f9ef2c0aca1799d9eff4241fbbd064a7e74d7c1d642f61ea002013d4449ebc21c46d9e290975d41c6054bee2727799114adf8c697165cadd3e85d93ee3242172a23cad20540853ecf8a0a3ca9a68de24ea7ddcfe06671cb954f3547862bb5d3a9473f82979c25c375cf6ac4827cd5923b67f2f243576d1459d1fe040f64e27f194e57e15bd6d89f6ffcc3fe077eb5b2ab52fa9dd417f20865e0cc6ae2676702c2379014304abf40cef6a5dce7ffc7a5e89e7c921e49c85bfe6c5cb1ed0c5986356e1d5b06e51ddac4924e23c6d822ddbd7f956dc49f43878bba5f00b2553c8e0f6d831e034825d2e1a73dabca9f22b76bb5df3aa115e9cfca504423425cc5f8c216d4ae6f75bf3a86d7d5695da6068613af31f8d61d54e3c9e26de411f4d9334d24593b0812dcdc287a113f8097fd53916e560ac216989fdf1e97561726cea25011084186431117c34883e277b851b0645202e587f938d37e3d322c27185f5fd721d14f860835f4b3b8492434c6683969041999b2461464c9faa3085dbd0e70d5f4683a92cfc9e618ddfb75177eed9a9ebc94d35d09f6f6b4223feda49b15beff35e0c51e1d6038d899ffa1cfa369b5ec94fe185cd9e890ea71aefb711da5e9bf4d200170447639feeea5eae22762332def36327e4e3788aca9f83105252d25f94686cd5bed7683e2c5b4a068a2c4c6850ff48aa2de942183f7b581c9a811071d8fff689b18f00bfab0b8eaad575959dd426a0c7a07c7a4828bd6710647ac2670497068adbff9573055c0b276aa0227bbfc1fb87ccd -ss = 2255d629619de2e544267385edf2f0cf366d83909ffcf7132568726c85e7afef +sk = 0c9c633ff39d1c6c29f8356aa02981dcf189d6535e2ac00750c30b111a88b21024e4823e7d543614f30112f7c78f1679dab68b71aa992538658fd0c8e2984abdc09647453b3fd99dd860238cf40c9112a7dcb57e06540148ea4ad6f97020474afb65c5c67ab4fdb1515c6592941b1e38d4097155bd194b5324f464dbe678ece9b5f8f57822f87ed7f3a6b470ca3fea3314b4bb404cb66e3bbf8f2953f2682cdb65cfb47906b3962443775796564d75cbb4b9bb24a8a98d7723269e8204ba89782f974ae591808e97cb2468252c8539c2454041c9232f33b43ed8359dd6856c98ba4fc09e92f9a4ad497f8f1159e159b5af795ab09c20aa753931f47764b6cbab6968c7a779802b469abb1e7f677a0a485ff5cab2f028112ee8c35152703bb14127b33fb00a0ce21cc607e49a73544029baca215a67091a9ad89a408794c4d2da78557b1d31686c6b4c3749958efc60891f12c9e0b7c19613823eeab1d8f672089339e46c16daf0c3b7d53727605c26a723518a2651d8762ac373817bbddbec1ebca2cf91fa2a66896c55a4c946a791e5502ff19aa21cb132322bbfd127c10d87563028bc49b222e5401acdc81991828e4c111a54566e5724b40a452c0f4632b7b85f0445c881938134d516113560b0065beb409fceb25f796c0ba0ab190fac0214007916ca93c2abb11bd88553aa34c3c518bfec423728c86e529c300a1f70225f2f683911040ff9405614e1baac070e0e90337e134e3c93081514a937f9798ea7b57b3a3a0b829a2697b0778c802116c067a5c368576395c43d33882f97c770519c16426284e19bac180a2a6cb85d65b1a115316b08541dc231c123c184e82c691f20749a4b92f2d1040d09519df7678ac282fff9cf5124acbe04388ccab61bf71b87ab3b830a3ef6700a68b06770012424031e89a895ae81c8aca9169d6495cf01cd8ba0c27ae132c16aab0ebc4b13abb37d67ced10a0246e87be1233ff09a6802f6371858972d21b48d410d8cf3a8a1e664f62028cf851a134037142c20e8eaad7de32581b39b5d93221cf72124a73daa2b61f3d7c8f25a973a815b351206800bbcba60ac8c2a86a7758b38339751c23ea5523d84ec982a260256c69af739349d206ce9c9a70dbb0a950a0b63815994a6878711578bc22942914df8489ec5a09258eba796e8a6ff5483a71887e55783a94201e5b88898870e67d32eaab132519624f4b28f22e80903e591331ca792c0cef824bc62168be6eb8f7ba299bc519b0c370509e38377f171761521f8fc882d1b8d0db3c2109a43d1754f75529f7b071b7492b753688feef12fda217ccba484ab79192b7933781811986430bcc010b50a5621ec15dc7bb545cabc77c336892a0df4436e732b905d70769865cdee0a9906438e9d921f521862a3227bab93202da0cd19f6221bb68fda8155ae38132cf2a30a4a5c3dc0b17df0016fac3bdd56cd9d06cc8f2c6b4ac41207fc1aead0cd87506caf5c043941513f0a4abf725818c7686f0745ece93c23f2951ee263f51a3fb3630076dca4ea80a156dc6b4248246f638024b8782c9757e076ceaf18cc27284c321ba91766454640ad32d97e65650b39c9b23fa80405f8cec82abf70ea4f4d24c87e8b253f708f9a563c78655877795c4f05024a788dd4bc7ec1190b606602aa40364692478b3b552c46b5720acc5042be92ba8760924c05a60032c52f63b40ac50086a62548dfe9b312f2904ab17da59842da877355360e217917d7a3c3f1a9b9f2466c8fea980be798d249ade8389e626a4693ac38a844294842382e0c5b92bc25b29abc3212543ec39eb2409858f9c8a22713b043713bc00f1a77bff5d269698b9c91706bf0326899791f161b481b531e77f95de95b45522b9a4f0423eca7afbe418848137b925a6ad13bc792194522f00661742f5e4a0e4d85aad8b36b6540a1b25a4a38c32305e543a6a13c37b48296fb84a3464ddd3016771b79e33251cecbc2ffccc6d3c06d4a660622d3630661543a001a3f9ca586c9354f513f3ba5c6de933db0d0690e4102c9918720437f437354a3107849775c95c4417bba787f172407fa0564498cff67c545b7323c442b3cfb11952079f1d11449bbb622630a6945c402c7008dc7a35f380c2df7c5edf8c9c64432afa34cf0547882f202b7572f8bd73104745eac83154707cf81c85377ba36b111c9504a180f01c880d08b55c3008a9594e75b3f026a103724064393351dfa7eb5ab9a1c774a59c47b31437011816abba42b75780c1ea8769a7bbd1ba60e686c726f2aa6c9101614c213a8147cabf658d5505aacb288f065bd31c5b7494b377ef1ab72925fe513c49ccc130cc542aa34abd31b5d99cb8f6e2b9a1c5417a4ac9c91011627e6353cb6529ac19697d05d076bb197790431f9ce62a31fb8154797583692ec9abf67b678e0c204a822e228b09bbb7b4cb3a5df788b0930841aba9e4f7c1212150c87c4b871e978db33a5395356b25aae33e3b9d7153e4a497c7d7387af0c4367e95fa500245acb15b7dbccf9a013326c2b0336b66c101aa499159a7c875eb6cebe292d266821bc193ced74b04e61845aa5b1ddc953699cbb7743cd76d930bff38efd943c34b01a8d973a81247d966825d1a9b3b2fbc5769c9d5ba883fc357946d54f3cc3090ee48eb2fa80b4d86dee07c57c215f07dc23aaf8c4aaf2c9e03ca2daa433fd9c584bf582793919449925f27786b6dc2de9c5cc08220feb501fb7e2900c243b1c357c8fc814cf87b233b70ce6f0938b56698c160ca893afa877bba49c0a8f606e30761d9dd14be7a40f8db95496865c2441a47aeba1ca7458256aa5a910948d4c920d32712c55cd8546809704c1760c8f8ed991d8ca570cab3441782b6e4035d82c24105397cfaa8ad86a385327873a228bb0c02801a50340b70e5483709ef03de0483bf08b940c4aab7a61c24e9947875c8e2b930dc208ace4752da4d0253ebb2bfb333a1ec9bdec73283d435c4d061df6b0692df903c6481179e07adaab8d69277958458f6ff5c6e4c92804ea47bc8a03bdd707c1a78d912467a83575fe74aa25c043feea0be5899210d7c8bc8b669fec5840f5b1782a5a9d947e78301eeff9b12635c9b15176499a3593362fe5a946fc98c7083bb185c2087b58b6d7caa3599427259a72c6f89fedf61f7e111c04f008053cbefca2ca13a06d09d9494cf29f82c5b93bfacac8d705e35874d0297aa15c7fb181878b32459cb09d6d489671e7700e4731e783c73c86b5b8731ae765a639b20f8c69844559b0763b5cfab7396c1aa09ce238227c29ba34a48891a39cfb37f1226cdb35517d354d422000c3709b7cf53bb9807e2ae7321b38bb29c327e5eb3d02036b1a4c61a2a66a3e91af4288875719496003988b488d84535cb66a4a1f1ac69952817fc13ffadaaff145780aa02ac41cbebfcc9d798cc4d9a090a4212f0fda861b8760ceba5f334c1a54d52567c2b51628455c85517f67baae5c694293c29a684984ac3e711501d5219fa8279bceda4d8aebcf17babe31fbbffe6c297dd27cd894be83b416ee182306d65d2a962f64811ad1faa4ce72a6cbb1c5d22a1c4a2c1eca36b38618afd0a928c4db55b991428ad72a40679ec7521a170929cf10a41cf63bf0dbb5f1316a23d2acce5c7c34c67f6b2450f36556bd987b525a009c77ac7e23355de3aacad177ab7538eb7b25d613a3e9c11c79e59fd9ea263c0178d47885c7384b492909fbc63ac0b2a4ae455dd3446b395c0bd001765f31c79649c53453252e02b98af51f23f8b2f5f2c8d3eba71ce67a95170237b7a408235429826637f8cbecb11a4dc351fd0134a0cc7869983a02a50ff3958e445a9dd35023900b7a3c41ccb66a54628741adba17da89cef8d83e8f66893bccb50918b6cfa1480b051dd0153fdf5a0561c2c782dca0a02861b87a8aeb304927716884905e1e0a004f3a119b3293fb0850cbba7581f1363598c1384ab228d8720b4c6124e2ad1a9774d7a16880542d30dab2f0796fe5536402bc10326c7577971c496083e0c24541e07c813a01989013ab9580abcc038284588294b743086357d50b01e93d841c6a7b929d32291e47d2419b464c3c692847f7706865a29335a4ff50c536991fcb790d0de50f68914d1ca5b438bc0a43393510fbcf15a895d5d546850c0fb1d970517819e841cc42dc279e8b398a563c174c57876605e1212be53ab714486588f96b8599262d67bbce891b90308959524355338355598b233aa89e4679749207f3ba1086ccccf836c7e3528989d0848b947487781a2b025955b2c748c700b479216c3caddcf63564392d6515767b771a21f89bf2d90cf3dfc681c2fd81792135e1938ca482ef3c253d8976201852444e4e23909b028699d6677eabe6bac4bc4e8437acbc52b0b17f1df5760c0455c2b5a49f3b482a66256d7f667585925cb7f58894e42660ef2573ae33655c231dfb0e +m = d5668ff18683eea789415d6fa2a5a1031b2980b1e641f521d5235d50e04eac25 +ct = b1664ac2cf2e12f59183175bb33511df920db2b2258d8746a6f30f48b33418cfd66a9dabb321aef9451ec799466ea241f95458072460d202fb825408c503b76920c7338b87efc5575a064499205ebdd591700abb916adba5bd529c7335a144a4022ed445cbe6f4d45be5377b042a8c2494ad0b3b91e1ddd5e49f73b3bcd8857037bf69d59f69cf58bb75fe22deae451b1f6809e42f3585ffd775f0b2b05941efda480ba84729ca6f08865087d4d056f5a9ad149e7d3cc5e3e217aba5bfd3dd2c6e7dd7f7369b46cedca5a666c863d336f677798f682209ac2398f18e2c7f9bf68560e4bc40a258a522d601e1f5be29dfa6fbe78e3452cf7a6e20fc9a63e655ebe57c1b83a5af3a86ca71a2ee1988d2ba0465d91a776a6b7a3b9e7d9b12cc8c861a82ce53601bc97e2f402d97e95698817ed93498f02444e3985cb4138afa6ad3365c1edc7bb34a4605590cb87e523f9272ff2068a168db613306ba2a0cfe3e9df55b2962421950049261707316e6b648cf6ca3ea6197c50cd958535292a41bce03d9c55b99e3cdc40ce704aa1199ff15e47a2622e87e01910472e28d64f74b486f710278535e73ffcdd3195a553c8804f956973df901b6eb38955605d7d18ba0d74f258bf51dc64b113274df06f9a960338b0cfd7f3ccabe6df9c7a9fb032317c30fd233a35df1d9781db859ce3ce5dd8b1c0013d48c3ed97bf5ac8974ffac5a22e3d9a6d2c1a80f0d795b2fd318bb920d21fdb3104ac99a1c508563fe41b9e09386da2d481152ed4e55c12544974285e43f911db763f7a4b9a56a5aed302f64961810dd75c07822fe95fb4018d9ab00441bc68c0fb27d55337b948c493711dbd37f1b771e4b89defcce6745b56bb72f60908b4aaaec0485277b14c358021c6918001391ad7afd48181e4ef024ae1bf150e9572f3b884ddd4e157e0fba705d99f11f1c720ae7ba3f3e4da7374bf06d1952e204dc86c1080572cfb49eb269e0185587514505f7fcd4be42dcabc3939ed33f2fb2ed26a16fab1030b8342133822ec83f27b91d12ce231326d697482aa2b4db9695f3666e6aac849968ac63be4e6de69a0b05082d55e72b0302f9ad55c25e16ecbd3c1d15e7975e132d92154f27269af540df9b539842144e8dc8df65b7f52c77e5f0731d5c07fbfaa87a28571a4c74fd5485a01cb40a330a9b174d8a0ceb9cec5cda7870eac825cca82b96abadd9e9db00d79e18c752b051056c089fbe34a514a02f8b4670d787e493b26ad8b4da87f8365f920d415aabef322c6ac190b92617534067e8e42e6ddcc2d53a7a495b4b87a84016ade07e8eabaa23d2b4d6547dddee28f88625a1c2612b914256311ad2dac744d9ab6d6a7dca054f7c99605c73614184ece8463ebd56f4b483945a307518e91f0a6d39a7cb75173f5c7a886b91f1073f4c318845434281e126f832d825dec5b3f5568185e491a61eabc1cfb6efbb935472bef73f3a278ed6ad2bd1045f12c4c47b450f3e0350f52d9ada5b5ec5f6ce7518e0845b555147696900a4c97596f80b118e499ae9a53b693a2b6ce844e632911d34f1d26f5db40a0a2cb56fbd45a552000857a8a49d68cffff7cf7bbcfedc792e48cf76450132b4ec38d57cae10f183214d4141f4d570f3e85404f8d76adf269a9e6621d632234a68ed3abe134900c748cbdc09ceb97ce8e2afe7e0e4149407290cc056da064ece736d1c836881ce0ef339921f4478c30f987a5c785ead18ca6ded77511864b19da9e30ef58fe251ae5a36b4f658eca586a79a02449a8aff34a68ed2ad5e62564546c8c0271894966b7ee2148b0872a90a489db4da7848ef6822fb25a213bb33cb90911fe5acc31dff11e02be1fe8a6a47d72fb22714a8411375a8bdfd51092194f50fd2312943285ea2949b279960dc1c350044a4460170b04470ea0bb67ce4d90b5fc8414da617d9ea874398b4e70ffbadb5b94e717ab0441641256a3e2ac2f5c5ddbad12111b32774e4079eb2ba950923509fa916e2dbb16bea5e15c35ee84ad9d30e185667dabe64ab16950256ac6fda71ff467d09e3e70e46ecf190cddf9159064966aa7a018c6be7142aa782013e46c579489d6511538506d8a802c437ed8c5e3ad67e003501013c463dc318098e27f3db8429d978b17ef56e24c608612dc3f6946bc51a6c78c012042b17234422443073a27b15960fb916dba11d09e2c62a88523a +ss = b71d423e54eba50d15af507afd30807190b89997d6618e12a66eeb39658b413a d = e9acbb774be970206c3a738e243b420805a509fa59fa902044be2f0d013650d2 -z = ded5edaec5de3bf5b4d7c2f2e18e87f499c1968993eff196753db8045e2c8ba8 +z = 1d9667c03155106785069387ce7d25cb09c5516d52817201d6653f20e775b453 pk = e7c99be7540833828e457c66edec8e201b07d8068bdf671086d6af0beb628685790487707b66be4c7341c654a8119774e8b262b2f34944898e42752149039356c1348eda779b526da7ac838551855a4a8af5780c5567295dd16011e3177e267948ba7643174391a34c5597b7af774256329f211518e1a67b2f35898e610f49500c2b4647297723004ab77f9b538524a9b96b1e5fca8f224c2e24701bb726735b408323784e9afaafde570b2f4c2bba88bb54808ee73aae69ba352612268e9b4460f004af4998a6c484474c0d04111f2d1091d31443ee2447be719e8f4c3a49e918eea7870f199e1507bf0bd543deda7eba63aa1704a02eca523ae006853b5e09706259605e72e78ad6fa602bfbc7bfbb0d2d78b5155b3d2017c9086803be862ef501196ebc2af13b2b0569473e9620fab2c85fc23874ac14b59c0f082029b553184b01c76d856858475914f025df1914c16a209dc90a306914c3371a6cf68473a431b2886a8cd40a5302834a73359e001658b90725e02e63c27403fc0e1953b11ee6a6415815d2b2bda0b13e54511c96b801da22b5ae94b68dea940ea4787f3a1506e290696c3535b8ce73351a6e48bed272af5e456904aa03094210494c90b280c2942682dcacbec8c644e9a36d326816a42b23b96b751afb7b951a87d8e94db48932aa14bf73e92b06b85f7afb4387e949645c5838622ef7bb2fee0175914b3c931b25f80a010568a179a21727f52ce578aab6da1a88d8b7461a5fca7865c108a477363d3f9a960bfa81b4d34a551c4f1e234e18fa294b7b8055e6acfac6242d671855f29979609b821566acbb381dfab0cff8bd47204fec023ef281226b63a7d0397091a9844e23b28f57a0dd205a520a48a3e517276977388b575522c5b78627c4253bd38840a7889fa75a7bacd10b8f27a3e13bc20aba3ddaeb88ae62b2930338cdda41e0770b4d2092da100aeda2b5f5600718d69b032a45bd677b8732965b82908b877f5f77446e4aa132d46044067b21090404d21d01231264651b38832137da53caba0865957f5af7ac4d640fef96702f853bb4a70767dca757da900dc73e17fba67ca85d94bc98378a6a71c5c9da14738e0c34f5c81471539c42144b4cab5d8d53285f8c415cd8cfe2d30295d00dcb47b4ffd90282f6b582a57bd3f13eb41b088ba624575b355f8c7fc0f34f1e924fe7d653692c4f44e1c64f9cb145fbae9e789c029421793a4c43856469298b4ec648b21babc0167c04d90a3a8c554df46b80b407dfca54d5f68e2dca4e98a92ff38b427115c26aa33161503a83143714234fed912829bcb924d69049a1c958e6a3088cab51f956c87862e776320e78457cf31c20957158bb377460bfbf93a44c079e1f1bcb7b4268a0cb1cb8151512dc632252700cf06c988b2a3b254ac6422c73432ccb143819105897575c8672b7b0464e61a6a8891bccfbeb51f96120107cce8e950802b2c04650a1f264aba721541897538278bbac29b73f811940a47249035b04c0023084bf57806d51da03605c0ab0e6a6b65cab53cb26425666dd1b597418864211c6bec492d4577bc127369af391f8ec72c53302df5013c2c7c62d364b35508219749f131b7e2792cb206a9abe2c21a565bf05c1a7f8995c89549aa3120ffd83cc7a8b8a95bac3e7eaba48b57f55829f05bb265cbbb8b0b7983f7618f2511b3fe3ce9a0b735f2c1acd189f9115a1f1933ce19a8535958cba82464ed9829bc9a0c1405266f697d54128cb31cbd5b95c72740fe16219997210512a7343130e7dd00556948abc6c0dbd215e9db44a2d80c5606b930c6c8b949081bb453461a21026943929d3bdd3c942f8951aaff04276d2186cc052b6f67e84d5aa6be0c67ad74aace945ddd7c4b75248a0854593e8b27e971895b58c08e8107214afea3aa1b41a17ca121fb8308eea899e8cf04f7e884cd40746f2106a86164489ccc20f526154e613c565a282d5742f4953e963c42e878ab4d6668cb9c15f8629f537cdaa078db33191ee281a46ebc2a3036639e5cb1b201384b222af46873e1c946438125f060afd4734e21794a8da3d7b266c4125b60c9c480091874ae9c242f550898a30281380fa352c0d4466295a24653181e0e292ae099abec3275f8a89f22c983c8a0875e7424c3b66b1aa8f0893d44d76104bf396577fd719d69eb306117f3abd65385a87af12d1bb6d0433 -sk = 2ecb7caa911a2f615a13cb82e5a8be85e1c2bcf06c71b9696682532639b57a91537e470e8514390949cfadc80b0e5c3ee3eca869e22250560d8896b5f6eb0fc6ec0a6d01760c9108b7a26cd79039bcb3cf9ea0432fe0581626cfedabc12f758b407c8e9dfa373f45c377fa6d41a7205a7322b737cdabc8114df437e864c4abbb3dd084964f971b36e24406a7a7544a260d917c0ef95ccf33b1833bb6d4232bfce37b96004ed7779258faaedd9abaeb5051d8f605eb85be0f9599ff28b40587488fa376729685a8336c0dd213f55447e2c4895111b98e73bd783b2d08960abce22f6f894ae5456577a81156c66f6f1bbebd9c04d1ac43b77936f13060d3305a3893a825781e47928fc492adc16b31b2669882fca10581603b400f297b7fe7525d20e82958099b2d118ed3a14a8a915731525c470b7852a9b0ef04b4a3b0b65b4c5d7d486366175540a91e752993ba979d8a446f94088c7c3a02fd5c051f900a141957e63cbd71aa012db60a02b3872f3a623218a6b1f628fe8580e8725d9fb647f128c2519a8a0cd0649671616b462b83904ce621c95ff44697ca71ce930eaf0b28a6448a1c6b38c14800427683b71c954e49b6a3b978417b78ddb1a1b9729b89160b4c7ba49f312e23632460913d82d655d6e00b5b17a635827d8a0781e12a68c536ab40909f46a7173fa9cc9990371dcbc0b8a433436133ac123a73664a14e1409b4476ab001c17f26ebe968ed8c6a9d491b92f234499435e2df615c849be5f6422c8bc9de8f148a7c0713d93642dc852b33652287010f02b1d7b77972c797add3a38651b4c11ea968ce53f10d38df4160101fb0ee557bcf5b3328e12150a7c0d769812abf2ad2c1c7661844e6b34b25e7a30ec64b6e7d4282f48344bfc6f33ab3c428c76705cb9b1e9637721c9ee60874017013374082892b4af174749041c606b3f6690146bf1b0c8d2844f80594f265a8fb639e209c9b7fc418a230aaf340bba34c1c66b7d570918ed6caf8f62768620058cc7cb4fe1c762aa96a5015b82216e204c5821022caa84af9b12b9c9bc683747a2724c88e650539779742edca6a6a6c5f5d68faaf73d4cc7aab9b105f3a1b46cc96c915912e807aa6c841f6be63812062ed1d07bc9164eccec7e6662056313cc32f63c6181cf3343adc9073888d5756f508d65025bf6490a5f6b164a942466e60c4410c72aa69d2ca10459b890a4cb22a7613d44e70ac96aca21169f932a6134d27a6c05582e830c0ba137df060c6249b360831cc6b993e3d455c2e61694b11b520c64078bb552a65a3bab407d46c0ee173bbb52a95c7cbd8612380fc0cf1655c8e691bb0493103ec80a5fc92b4951a0d78768504284ad52580f16247b3c44af0a397f28ce3d0c0e4d34cc48b26b3998b060f2a9a013889685446b6281b3341c08e8300a013390a881a3a4937b412bf4745b069acbf5315b9955aa4999ba827bccbbf776829291a9067272059104522d69d1834886bde76c078a6061305833fefa710ebbc0dd0729493a285acbcf2708cf93ecc76b85691e20bfa4379c8521420c231f68429bb5c76e69378f6ef3475fca5760a5be829c2b4fa955e0e0931423b0a615194c26225bc538e2db29e928c686892be81b1a04f94e9ba65ac12a68d013885a021d91cb21cd7b76f0138667b5ce8cb742e5a54bb34bc17b28c8af5c27bacc6c308cc127a0152120755dd61145970d3cb02c664c3fb8c5763ac841f845b7799c9cf7f61318511b6728499e843ce1a18093ea1caa879bc6f1c4aa5a279e80afedf5353c5121a5d0433ffb748c0790161b648886a87fb003380a1dc289ac2bd876262c90081470453b12f5970d939c6bb573263b902624b03e403395a3a9a3c8b897c2dc5a6b630ea4cc87b6f456b5616a008c8dffd6b970541117335189fa4ce92883b88b3a0917994974cf4837b7b31c16d36bcd867181411239086940c3a03dcdb612ca1411cf6038dbe35eb013658037b98d329d4a647d2fbb7983136480a722dc791e2281c251040155fa5b0c092d437576a4f055f1708c58e3611d3071eae9053c4bae4af8769494077912af5ffc129c7164749ba2eaca0676f02a8c4bc1545c405ab16e90012a4915c4b470c230587f0bbbbbdc3487387635e457c66e3ccbce8c75048527959651e7c99be7540833828e457c66edec8e201b07d8068bdf671086d6af0beb628685790487707b66be4c7341c654a8119774e8b262b2f34944898e42752149039356c1348eda779b526da7ac838551855a4a8af5780c5567295dd16011e3177e267948ba7643174391a34c5597b7af774256329f211518e1a67b2f35898e610f49500c2b4647297723004ab77f9b538524a9b96b1e5fca8f224c2e24701bb726735b408323784e9afaafde570b2f4c2bba88bb54808ee73aae69ba352612268e9b4460f004af4998a6c484474c0d04111f2d1091d31443ee2447be719e8f4c3a49e918eea7870f199e1507bf0bd543deda7eba63aa1704a02eca523ae006853b5e09706259605e72e78ad6fa602bfbc7bfbb0d2d78b5155b3d2017c9086803be862ef501196ebc2af13b2b0569473e9620fab2c85fc23874ac14b59c0f082029b553184b01c76d856858475914f025df1914c16a209dc90a306914c3371a6cf68473a431b2886a8cd40a5302834a73359e001658b90725e02e63c27403fc0e1953b11ee6a6415815d2b2bda0b13e54511c96b801da22b5ae94b68dea940ea4787f3a1506e290696c3535b8ce73351a6e48bed272af5e456904aa03094210494c90b280c2942682dcacbec8c644e9a36d326816a42b23b96b751afb7b951a87d8e94db48932aa14bf73e92b06b85f7afb4387e949645c5838622ef7bb2fee0175914b3c931b25f80a010568a179a21727f52ce578aab6da1a88d8b7461a5fca7865c108a477363d3f9a960bfa81b4d34a551c4f1e234e18fa294b7b8055e6acfac6242d671855f29979609b821566acbb381dfab0cff8bd47204fec023ef281226b63a7d0397091a9844e23b28f57a0dd205a520a48a3e517276977388b575522c5b78627c4253bd38840a7889fa75a7bacd10b8f27a3e13bc20aba3ddaeb88ae62b2930338cdda41e0770b4d2092da100aeda2b5f5600718d69b032a45bd677b8732965b82908b877f5f77446e4aa132d46044067b21090404d21d01231264651b38832137da53caba0865957f5af7ac4d640fef96702f853bb4a70767dca757da900dc73e17fba67ca85d94bc98378a6a71c5c9da14738e0c34f5c81471539c42144b4cab5d8d53285f8c415cd8cfe2d30295d00dcb47b4ffd90282f6b582a57bd3f13eb41b088ba624575b355f8c7fc0f34f1e924fe7d653692c4f44e1c64f9cb145fbae9e789c029421793a4c43856469298b4ec648b21babc0167c04d90a3a8c554df46b80b407dfca54d5f68e2dca4e98a92ff38b427115c26aa33161503a83143714234fed912829bcb924d69049a1c958e6a3088cab51f956c87862e776320e78457cf31c20957158bb377460bfbf93a44c079e1f1bcb7b4268a0cb1cb8151512dc632252700cf06c988b2a3b254ac6422c73432ccb143819105897575c8672b7b0464e61a6a8891bccfbeb51f96120107cce8e950802b2c04650a1f264aba721541897538278bbac29b73f811940a47249035b04c0023084bf57806d51da03605c0ab0e6a6b65cab53cb26425666dd1b597418864211c6bec492d4577bc127369af391f8ec72c53302df5013c2c7c62d364b35508219749f131b7e2792cb206a9abe2c21a565bf05c1a7f8995c89549aa3120ffd83cc7a8b8a95bac3e7eaba48b57f55829f05bb265cbbb8b0b7983f7618f2511b3fe3ce9a0b735f2c1acd189f9115a1f1933ce19a8535958cba82464ed9829bc9a0c1405266f697d54128cb31cbd5b95c72740fe16219997210512a7343130e7dd00556948abc6c0dbd215e9db44a2d80c5606b930c6c8b949081bb453461a21026943929d3bdd3c942f8951aaff04276d2186cc052b6f67e84d5aa6be0c67ad74aace945ddd7c4b75248a0854593e8b27e971895b58c08e8107214afea3aa1b41a17ca121fb8308eea899e8cf04f7e884cd40746f2106a86164489ccc20f526154e613c565a282d5742f4953e963c42e878ab4d6668cb9c15f8629f537cdaa078db33191ee281a46ebc2a3036639e5cb1b201384b222af46873e1c946438125f060afd4734e21794a8da3d7b266c4125b60c9c480091874ae9c242f550898a30281380fa352c0d4466295a24653181e0e292ae099abec3275f8a89f22c983c8a0875e7424c3b66b1aa8f0893d44d76104bf396577fd719d69eb306117f3abd65385a87af12d1bb6d0433513906f5bef81445bd210d63fc4c9b9ef0b61c17b0cd5b229a45908fcbaddcecded5edaec5de3bf5b4d7c2f2e18e87f499c1968993eff196753db8045e2c8ba8 -m = a4bd30a64cbf29a4e290fa1cc1dfb99e68348713041e4409a1af23c5d80c15c4 -ct = f45953e044b1ed79b196c28e445bf9426f5ceb49c86085da69c6fd3f4655fb0a803f5bc64093ebb6f23d44137d938b6cc610ed96de5f5aa229fbd8bc6ebd928c3aa9b601c33aa94d1712bbc287d38a05adfd776786d55b63634c0637f468de0d4299366cc1467d4820f41e46790e13a87923c0871ba3c295ccbaf6f04c8beae1b17d6c4b39bc5542c92310def6a856f627c1d5d40a4f2aacef35b92af791c6bc0d27626b5fdd7895b197de20fd8cdc7d70c20f951fc41e79b840f5bf1da58c24da196c9225a025fd66526cf3a6e31f83e0ed08bf3fe5f8c31661581be2082f7e11e51c6cf6b6adb1bfdffed8ff76e2ae714f7e5b14e0835247bcb6061ae230a1ee0c2837ad619eca6eb6ff4ab6b78b8f57d8a7bb8e72cba8e16703f6429a1ac68ce6a89bf473154973caa967adc1523ad37918bacc793019f96d05ff752ccb9df81bf9fd47137108af7b27144aba836cc8adf1586bc9ce01b977b764f2cf4c9eb3c6170208ca879a48886892c1cc1079589941f2f8bffe5a36a84cc15a33a4e763996468e6b03973bd152efd7afc636b9692523551f047373b9fdfb5a0abdc34a5975c36488e1ee60782d6dbf8f28cd094ab384c061a7534d5d4b525066d60dd99607fd8f8c7496e1de5acb42b2fde87fbfe509afe53b712868e7722ac6604df6fb9b04a7ecece2fb4070415d7f3013deb18728936a331795b6660eb0f13c900571ccc0b79bb1ddb13d6c6633c35cd095c8f94a3b029765be1d2c14b694ea5bd18ec25ca6d0f941a514057aaaa90274f89686df3df7b77e9c8f3010313f26e43faf9f7f9aa58916af283a6867b9321e91b8c5d3a34c03075135eb9fb2c82477cd1f916570d25e446c18c966f0f8cc53333fc4fa0c1327ec2c567417ccb91ce946f121a5723f9dd30075ee7c6b6f379e926a6dfb3dd59ebf8d40fd0f70fb0326f72b2b9adb58e74f89826aed821fb8e728addc24a46308de932d18855d9e13910e34069b7b74a7d03b244137b6d6abffe072793cbbb14e64556d8ed4aa742d578e3f2187d260f9d04e4ab24f6cd7b820300149b8d3de3a9baa05bcee6741d46c42c11c3647e057b490d9e7287477c4b671a0605b1c1b332f18e0ff070e5f794e436776a642edd5826fe9a5dbab89cdc61c0f1f49a73c7efc79ca565f876bbfacbd69bd24ff727f533724de9461e03d1897e4501dad1a6690db341d3bfc0c1283ff8ae08179f76b0ad2062f95812cc7deb7d6c5b141c1515a37bf32896a26dfdb6b5612c133e2c35e30fac4057c145b373c71cb33bb8e3d9adc58fcec27785b20d2b7605c4d0249347c87b56cd0a3092184aaf53dee360018549253d5ef3948ee07b02bf1488d225fa25fe94cd8f8d4c364c5123026a25f81222ad091a430299e399c23e4341a10c74eeacdd9f189b8983b317a55890689b14d78e94b290738d40431b2e730b0785873eddbe531b71aae8479167da54672fa8d735004450dcc67b8d000292e91b09a648ec61bac512c1961d21007ec8e4d6b622f8757660b378b122ac59edf498e597aaf951c9779f6b33ddd956633317c35898acf9d8eef942c3d0a81425980f558f0b32e97e7b9cd044aed6dd90bed0f70cd5462df3681080de3fc6785f58255adeb456fa7eae1a57a000c0ff54b7871bfc614513eea78d62f994a86ac828badb68e8f484b3700a70a326e650eaf490915b44f4ec0d1edfff06cec52ab3420a4c678124a80016fdbc6401d9b3af24332ac82b0faf9a4e87b0005636d95d15df9a959e3563b8cb67bca133ea3565a709121e34d2416fa10e2760e004282d893a8802576fe899cff5b16d0bedcdd45a84f99eceec0b63bdb54840b97b082e915b403b090df9789bd3c2683e7408061c3cc9e931563e7792cf1e12dd187494e259adbee8dfdf98fd3057591d50d5c18ee5f45f4debabdaaf0baa7ee326a11d504d8eaf78a99012dd918cd812edf6944e702aa810176bf0b99198085d3be64bb4f8e2da8c0474de12ce28272a0060ed1be640ddde2e2ec4ba8730961032be916884032642459f29423fc5863b1040009b5514210af9e40bfc7371aafea0194e5d03e0d31c28a8cee4d77fa8617d6b1117f9fa2df541dbfc9a26d1cc7825bcbf3c6d8cfc38aa21c3285cc0a93fe98137bccbabbee65af55c3eb10779191127c54bba7cad258eecb60f93bc00217eaaefb4011d2fb7a2e6df2b400899 -ss = 17e56d297d325d3af453c1e27482b904e2462b166231e194788244c063bf7b5c +sk = 2ecb7caa911a2f615a13cb82e5a8be85e1c2bcf06c71b9696682532639b57a91537e470e8514390949cfadc80b0e5c3ee3eca869e22250560d8896b5f6eb0fc6ec0a6d01760c9108b7a26cd79039bcb3cf9ea0432fe0581626cfedabc12f758b407c8e9dfa373f45c377fa6d41a7205a7322b737cdabc8114df437e864c4abbb3dd084964f971b36e24406a7a7544a260d917c0ef95ccf33b1833bb6d4232bfce37b96004ed7779258faaedd9abaeb5051d8f605eb85be0f9599ff28b40587488fa376729685a8336c0dd213f55447e2c4895111b98e73bd783b2d08960abce22f6f894ae5456577a81156c66f6f1bbebd9c04d1ac43b77936f13060d3305a3893a825781e47928fc492adc16b31b2669882fca10581603b400f297b7fe7525d20e82958099b2d118ed3a14a8a915731525c470b7852a9b0ef04b4a3b0b65b4c5d7d486366175540a91e752993ba979d8a446f94088c7c3a02fd5c051f900a141957e63cbd71aa012db60a02b3872f3a623218a6b1f628fe8580e8725d9fb647f128c2519a8a0cd0649671616b462b83904ce621c95ff44697ca71ce930eaf0b28a6448a1c6b38c14800427683b71c954e49b6a3b978417b78ddb1a1b9729b89160b4c7ba49f312e23632460913d82d655d6e00b5b17a635827d8a0781e12a68c536ab40909f46a7173fa9cc9990371dcbc0b8a433436133ac123a73664a14e1409b4476ab001c17f26ebe968ed8c6a9d491b92f234499435e2df615c849be5f6422c8bc9de8f148a7c0713d93642dc852b33652287010f02b1d7b77972c797add3a38651b4c11ea968ce53f10d38df4160101fb0ee557bcf5b3328e12150a7c0d769812abf2ad2c1c7661844e6b34b25e7a30ec64b6e7d4282f48344bfc6f33ab3c428c76705cb9b1e9637721c9ee60874017013374082892b4af174749041c606b3f6690146bf1b0c8d2844f80594f265a8fb639e209c9b7fc418a230aaf340bba34c1c66b7d570918ed6caf8f62768620058cc7cb4fe1c762aa96a5015b82216e204c5821022caa84af9b12b9c9bc683747a2724c88e650539779742edca6a6a6c5f5d68faaf73d4cc7aab9b105f3a1b46cc96c915912e807aa6c841f6be63812062ed1d07bc9164eccec7e6662056313cc32f63c6181cf3343adc9073888d5756f508d65025bf6490a5f6b164a942466e60c4410c72aa69d2ca10459b890a4cb22a7613d44e70ac96aca21169f932a6134d27a6c05582e830c0ba137df060c6249b360831cc6b993e3d455c2e61694b11b520c64078bb552a65a3bab407d46c0ee173bbb52a95c7cbd8612380fc0cf1655c8e691bb0493103ec80a5fc92b4951a0d78768504284ad52580f16247b3c44af0a397f28ce3d0c0e4d34cc48b26b3998b060f2a9a013889685446b6281b3341c08e8300a013390a881a3a4937b412bf4745b069acbf5315b9955aa4999ba827bccbbf776829291a9067272059104522d69d1834886bde76c078a6061305833fefa710ebbc0dd0729493a285acbcf2708cf93ecc76b85691e20bfa4379c8521420c231f68429bb5c76e69378f6ef3475fca5760a5be829c2b4fa955e0e0931423b0a615194c26225bc538e2db29e928c686892be81b1a04f94e9ba65ac12a68d013885a021d91cb21cd7b76f0138667b5ce8cb742e5a54bb34bc17b28c8af5c27bacc6c308cc127a0152120755dd61145970d3cb02c664c3fb8c5763ac841f845b7799c9cf7f61318511b6728499e843ce1a18093ea1caa879bc6f1c4aa5a279e80afedf5353c5121a5d0433ffb748c0790161b648886a87fb003380a1dc289ac2bd876262c90081470453b12f5970d939c6bb573263b902624b03e403395a3a9a3c8b897c2dc5a6b630ea4cc87b6f456b5616a008c8dffd6b970541117335189fa4ce92883b88b3a0917994974cf4837b7b31c16d36bcd867181411239086940c3a03dcdb612ca1411cf6038dbe35eb013658037b98d329d4a647d2fbb7983136480a722dc791e2281c251040155fa5b0c092d437576a4f055f1708c58e3611d3071eae9053c4bae4af8769494077912af5ffc129c7164749ba2eaca0676f02a8c4bc1545c405ab16e90012a4915c4b470c230587f0bbbbbdc3487387635e457c66e3ccbce8c75048527959651e7c99be7540833828e457c66edec8e201b07d8068bdf671086d6af0beb628685790487707b66be4c7341c654a8119774e8b262b2f34944898e42752149039356c1348eda779b526da7ac838551855a4a8af5780c5567295dd16011e3177e267948ba7643174391a34c5597b7af774256329f211518e1a67b2f35898e610f49500c2b4647297723004ab77f9b538524a9b96b1e5fca8f224c2e24701bb726735b408323784e9afaafde570b2f4c2bba88bb54808ee73aae69ba352612268e9b4460f004af4998a6c484474c0d04111f2d1091d31443ee2447be719e8f4c3a49e918eea7870f199e1507bf0bd543deda7eba63aa1704a02eca523ae006853b5e09706259605e72e78ad6fa602bfbc7bfbb0d2d78b5155b3d2017c9086803be862ef501196ebc2af13b2b0569473e9620fab2c85fc23874ac14b59c0f082029b553184b01c76d856858475914f025df1914c16a209dc90a306914c3371a6cf68473a431b2886a8cd40a5302834a73359e001658b90725e02e63c27403fc0e1953b11ee6a6415815d2b2bda0b13e54511c96b801da22b5ae94b68dea940ea4787f3a1506e290696c3535b8ce73351a6e48bed272af5e456904aa03094210494c90b280c2942682dcacbec8c644e9a36d326816a42b23b96b751afb7b951a87d8e94db48932aa14bf73e92b06b85f7afb4387e949645c5838622ef7bb2fee0175914b3c931b25f80a010568a179a21727f52ce578aab6da1a88d8b7461a5fca7865c108a477363d3f9a960bfa81b4d34a551c4f1e234e18fa294b7b8055e6acfac6242d671855f29979609b821566acbb381dfab0cff8bd47204fec023ef281226b63a7d0397091a9844e23b28f57a0dd205a520a48a3e517276977388b575522c5b78627c4253bd38840a7889fa75a7bacd10b8f27a3e13bc20aba3ddaeb88ae62b2930338cdda41e0770b4d2092da100aeda2b5f5600718d69b032a45bd677b8732965b82908b877f5f77446e4aa132d46044067b21090404d21d01231264651b38832137da53caba0865957f5af7ac4d640fef96702f853bb4a70767dca757da900dc73e17fba67ca85d94bc98378a6a71c5c9da14738e0c34f5c81471539c42144b4cab5d8d53285f8c415cd8cfe2d30295d00dcb47b4ffd90282f6b582a57bd3f13eb41b088ba624575b355f8c7fc0f34f1e924fe7d653692c4f44e1c64f9cb145fbae9e789c029421793a4c43856469298b4ec648b21babc0167c04d90a3a8c554df46b80b407dfca54d5f68e2dca4e98a92ff38b427115c26aa33161503a83143714234fed912829bcb924d69049a1c958e6a3088cab51f956c87862e776320e78457cf31c20957158bb377460bfbf93a44c079e1f1bcb7b4268a0cb1cb8151512dc632252700cf06c988b2a3b254ac6422c73432ccb143819105897575c8672b7b0464e61a6a8891bccfbeb51f96120107cce8e950802b2c04650a1f264aba721541897538278bbac29b73f811940a47249035b04c0023084bf57806d51da03605c0ab0e6a6b65cab53cb26425666dd1b597418864211c6bec492d4577bc127369af391f8ec72c53302df5013c2c7c62d364b35508219749f131b7e2792cb206a9abe2c21a565bf05c1a7f8995c89549aa3120ffd83cc7a8b8a95bac3e7eaba48b57f55829f05bb265cbbb8b0b7983f7618f2511b3fe3ce9a0b735f2c1acd189f9115a1f1933ce19a8535958cba82464ed9829bc9a0c1405266f697d54128cb31cbd5b95c72740fe16219997210512a7343130e7dd00556948abc6c0dbd215e9db44a2d80c5606b930c6c8b949081bb453461a21026943929d3bdd3c942f8951aaff04276d2186cc052b6f67e84d5aa6be0c67ad74aace945ddd7c4b75248a0854593e8b27e971895b58c08e8107214afea3aa1b41a17ca121fb8308eea899e8cf04f7e884cd40746f2106a86164489ccc20f526154e613c565a282d5742f4953e963c42e878ab4d6668cb9c15f8629f537cdaa078db33191ee281a46ebc2a3036639e5cb1b201384b222af46873e1c946438125f060afd4734e21794a8da3d7b266c4125b60c9c480091874ae9c242f550898a30281380fa352c0d4466295a24653181e0e292ae099abec3275f8a89f22c983c8a0875e7424c3b66b1aa8f0893d44d76104bf396577fd719d69eb306117f3abd65385a87af12d1bb6d0433513906f5bef81445bd210d63fc4c9b9ef0b61c17b0cd5b229a45908fcbaddcec1d9667c03155106785069387ce7d25cb09c5516d52817201d6653f20e775b453 +m = 07b6b69b60dc15a90690b3fc53e8a4655275e0a1a502551d8bf2eb337b1cd2fb +ct = 629fada873a027ca01bb01367c8a0791812df7aa3e09df9f607c116760ead3b61fab1d7adb35a666d6daf62ad8ebffdeffb56bd6e0817ce33b4c735776eb91220bc49efef2b03ec026e3e57bf9779b5d01a1176d68aebe69666f2691c9cc1581b36ff5688a46071f7b54e18e5312f691057b92eec85cf2d48666fd903ff79f7401bc2c56dc50e45f001c7908d8117990e94656e07aa257c7820d4d52c5036bdffead0a2eb3184d02835b0bde12269ab50febd157a0e27bb5b087c766e8542835f2fcd44ac14319539b20a98d5f37241ae1e4b669c521b45f9c8269613a486e50292d282fe8497397da70df66eeade1350e65a99c336195def9e5b20c91805a7a433e3685bcd6cf97ca334bab5f6dc2b0160f78439c156e7b949eab484411145769ed9c2bb5ba1199c6cd4c08763e11f7a8b629b2175b897fc79d1c1d863414d05e770b6f7079167d8d2501c881dad679920d53a5cfcc303a5728abd7ce449a2e384af6c03e3347df9a543afb2da95d0f4feeb1c5186f9e6648098f201823a3459388a7b00883e69f79b76ca4ac7f573e44c36d2935bb5888b49cef7fd1d52181d65ada29a16709a025cb11775ecb149f6f9d4f74fd9f9f8172e405aa2cf9ed505e6fc249ec883b769fb8990a232dd9e6651d6126a14b25584441691ccfdce9db22d476f6346453dd94987366cbc04d5df039897f53290059418a6428244cff9d6fa3cfe50110e34aad706825fa46c4bf3c01efbd4164e55b5df710c02dc7fd00b960bd870cf9890ef4b863bae04d7bd3bc9ec67d594eb02a15f3c28c7f9073ccc5b34429f941f6cd233342fb685cfb4aa28d6bbea0f312af70ab183614230fb233ff277e4d281fcccf75600199ceae2a1493e6f040cf0ce586332a04590f673a57ba304477c9f9145e14332dabdbecd3ff32edab1a4bd510b29ecd2982a343a8729cfd8f9255b746b83805b22389e5a9a1bc34068e99204e63de30fb6aa226d0461c4edff605cb08cb64f2b082508dbef0e73fbe2a00d45f9a8d8146e38c4d72f8fd94870c50589d3bdc0b819fc08b0fb32b0f3016ac0cc739f15211801a318a29a542115316abfd19f90b4af44135271cc159ae1d8a74cc378ff6c492f61f1076495e2b77158f3c0fe02252e21c365ee751e4e2eb5028ce7fbff8fb5a6d4d9b12aa15bac1aa26650572266a95b078e3befb158d1ef37812196a9801b34cfbdc4b03677ce88c629838c00458a24705ce05e0fd4f418435223c7ce0a3295372fb37b183997313a78e705def7b274e900383c7d6454a681018bec6ff2e087e8824dc6114abf9490b6a62c6c03bead9e0a6db7a5f3b0a7bdba61f913a3c25738757e8e7ce52a2a08ba08328101b124061ad86fcc60973e6df2cba3cb57afc4a2a609747198ed73378b3a86e14b56ca4f66cdea5840d24c6396b00710e37ff4a04dd3f08a537d70610bbc8b715e741cae88d4a11d84aee745edbdb0d2c142d2a467ba788fc82d49c96966db152ec101b44f8c78de27d43301e82d128e70e5d10a9e830ba3f1f3ca04440d9a98cb9bca802cbca79eb6f00759e9562ad3f8973b6205162b800768062506ac79d2ade8fee27079e71e88f989f050645d4f15eddb963f3f6fd31fa36335922eb792ce6bb393c89ae7ae04479579fc99f6cd5d7c09bf3ed423afd4520db747d8a91109cd75a11d9cf8079be24b3e794af99f41610b2abf24d49349127a95826b06c7b7f488606784e9c50d7a38f1d8732c5fa60ec00ade4eb79e2279e3899e88e057ecfd9882db24859d68db39a9313d1348df113f7ebc21c84e67b3ecfb5a593c9efda9204c7871ce0bfc9745eee7604b2e12630986da685568dd89f5a0e3e9a72bed11420ecb57b54e0db0bb03a57093e13232574d7099509009e634c03a83bf1fe2091a53de7f681c577d7cea1ec064e94e7a74eb1c855084859ed6ea73148f12ea9e3b01b714b6863ca0d0fec5911b7523ad3dd601cc7bc2024f149f47c2b5c132b4bc7132bdb4ae8a9deb754c3c0e6a829fd858a53fea6d6c8aad4434627b6915eaf9c324e50de89cdce91de7a2a9d256f93a70af75647c672722ebc6b9430e772f070014425c323c89fd9f76a4e35928ec2cab33589f83258fe42a81077bd9ca60c7a5c1b9657a8d701546b511149092c2a8d73268255f80678bdf406b3792d526faaa02fb235f1bc2b25e29f4a1f259e42b16ed3 +ss = 9e0757de9384d63fc8d87e5b1b2fc43d1381618f561e27e1f391d11ee8582c3e d = c1b3cbffad4b306f9af0cdd3028876486dbe858875c9b6497fe20172a986c82b -z = 1c96249919cedc2369d8d739ab125e0d2ccb82dfebcd90240a545cdfe07511f2 +z = b5b9e60227058afd73501b1c4e45adbbd41c7be8d14bcb8e98af77698fdf6b69 pk = cf76c08745bcb7cb2c3478823c977ba1f3565d880d8e731337d798fd273bee2a03416cb6d11774e0b7c177e23a619509e04c334e486f97a963035c2952fa286c8108a3fa6857c080076143185603ef480c7ea135c76497ac2a4ea1c65c535385bb233c54b0326d415d2b01cb0fa60b969bcfd5578920a06659291b59e5100441b0e535b46294680627646c052d13404e486713fc460727f50677e48e64275e4e2b33da225686d920941277caea4d8f4a7c7b96b151b36836a76671c9010cc7546ed301866a694104169540a8620415037654a55ab132d56590663c21c267b94a2f1a162bd61808512c2e7c671247142c3cc54622697edb50514895276efcc21bb02d45c79a4549a501e79859361457047aba280f91c13556d06095a13ef8ec756556b31c1a535fe895e3aa85a78346692b9b225330637397a482afe97b508304b6140ca9da2c33f26522d51363662a0c437cc3dae5ad97b491d8885dbfc65c82ba88e6d78564133fe5ec502543340736b2fd927c2e3207cc77cc127790ff2634cc2220ad001e39ec393c5c5b5598193d628417b7bf5f903e9274c2a1a38f72db99e4c2aecd8b5b5b445d3d259057b2b3ac1b3a0657c2dffb6c75c93b20ec3358180f9c124fdac8a64d2b73ce6819bc1005602151f7e4c804bc89a81797ca8313650910c7b2a36ad2a690e3af7a99cb2bb09cb1eaca0891bc69d989cb7220faa3626342cd33438877799835c2782413a9f1ca29861752f294b7e3c2a3980618d0540a5cf00c01943db920bb4693436d3b7436593e7b9a83cd21cbdc692956cb3f7a17c41f46af94bb15059b8661349248235adf68b69d9944f2f30f93173ffda657c9d722d0521c12b2790e230afb49496a930c46a62a4d8c26601a4e783b73c2a465722401769365719681c5086d8a7bbcfff451e58b2cf32b363c501e978971d8c5ac6f41b458693c711765c7fc1ad7319f3481a68bc456eedc04fca898b0b3ab59a14b7fa1c148b6b792352e7ccb1456a86a5a0377ff98c08ac0bc4c997b0370baa76950bd0874f9478e6b8150770c4ef2885e88d119126492c09b8e93110616406e6bc7ab46ccb0b47587c0da1c54828f98941dae515d279308302b672ba10ffa0749395269f5c5a03581799eb3b60fd53355b3690efc291c3b77aec797fd09b1cccc8d5bdb8b4dbc18857c28ecf86ba3a654b8a351d0174df4ea4d7f4159656010f051462a3c4988e28e74c39cddb557566b7c757874d9061fa5f85693ca2124822891a4a0afb000a3887522326dbdf4a54e851cc775405938bdbbd39370c01ba010b8b3785e3880a54470546b617ad86bc984a70de844a510e6a14e241f18c765fd04c2006c6781ec90c9e16881b7bc4557945d68a4543a5f16968b39f38e8f5aa7699171d8567e35da662087aecea63aec3094bb4c88f08432b86780237218afc22ec78c96322a81b8060719fb6742c290ecd8664fd378a95341f3c326d992b3b7417c5f543249d57475b3b526b93307664217b8837c1c48ee6322df891cbf6943fdd445f2da71f8ac449c718e8412cbe0bc2efbe601ad08af68b48f7d2677dbe05914d9b1629b6cfb69a9f43a05b6fa560143a45f21405b25983115b537315964b3525117158013a434785fa13b30331148f028a2e3e299c9969fbba917cc27b851823630bbb930ab2336b59d1e0060e74230d6a0399087ace16894d1e4236f3b9b708645a3b27378a86c960bb038080f93e66bd1bcc3e57739591c386c45846cecbfc90ab3fd506ec50c0d0ec9a2422cbacacac17f62472b4ac6ccc645d48b0283a6c62136a60d62354a983d4ceb74eddbaae57711bd958614f054336a38630535f0dcbdaf918e5dfac711093974d2987dc1109ce7bf7429cfddda9e1826172114254ce0bc526ab358e359c35cba02e720c4611dc17122b8bb02702a962db3470e32620d62291ad8c9db86615e9ab48df3aefda4003f815a1157640e765afb2527b2c532011ca07e321673c721c3f32a2613394f68b687a042724c0207cc3b87675ab51a60b4f12d312a0fb5443cd0518b1f9788fef9a36752291647c234d49daf4a6a4bf420e990307f676271a47cfdc68182500a93c914ea348dbd544b3163780a2c2373282e319b346e7ba0b1eb67a1f92f57648fb68bb6cc9865fae1ad459ad417635c409c28f9ef936ae28d221563e30f83162cef01b482889e -sk = f3ac3178bc3e6b8002eb20046ee3288f9cc63c1abd0b14a118d52e2c9a998d4c67e2014415084f520945f55b985adac8c503079789aecc491eb7ba540f32be8823a4a837786be140d260cff5d46186588f4fe2419e0c4ba1b619567b9d8206b53ab1289640520f2259f5d6854871498b23696a321813d7a544e77fb3100b34c89af2c63856fb43bb0a74a6073958d1199b4098386984847962b353b4d81aaf4cf65349c8197db8c1b29a91fde5af1f9749a96b3b82c567207a81a163347919aea565304b4820369799d352ce72415cf1c692537a48ab603b9dc741a08a66d874bf46daad570b6f1f4133067a1d900ca87cc25e91c4ce1c84b46d3c5baad46fed227268f1a9dba968eff27249b3c6e4c7c19e8a13046a2b45bc24f4304a80c09d37ac289f924f33e97181b8393eaa82a6fa54f2e76dd88791b5c3773707046c362d94ea547c3050ab251953464f4e540764b08103a88e448446f6b82375c15e3ca9a98798639b83638ada857bdc1e3c6705471975c51b8087a26348babefd234d27d6c055d3aab7560b28dcc13d343a79530ac868b5f6ac83af04b8d7a20b64dabe9de32a5c1b2c2acaccc4588c1ba26f5462aaa5c1bdbc36467f346a1ab5c5840a07bd33ceb44093659bb0451c4c87ca4852172dc0bc3674b4275078cd2b9a3afd61bfe454107d092e5840c4968c547adc723c1970cfe705c5d33e3a4533f0028655c6ba44ab22c2a4c85a82b4b6dcc09765124e43c985459cb2ab1519db1ec6f348d017a785484802d90e0222ca2313b4fbc465dec0cd4f3a5675e33cf0db79145867d5f0b8f340526c8a744929728ceccd146b6e66d03f660aa4e2e15d200b5960f3a03b571bb2e59160048e498c15379027e07987ddd841bdaca79764bcaa1c9843fccc65b53695335d9d4cc789e062571665da99b4e10368467aa551775c39c7c9dfe7624e8940f294c8655503f2f970071b40f6ba3544c64c41887184828be6057a9e972631604901a7870733580c6ab8d4aa18b49cb4d567577aa8b0ca2490edc68b168583b8b38415d32f5558996cc911a9470951430c36f71712f1c579a12327c41c441c980c286b71a31748ea54df2a557fd1701c3173944b7b40117ef9cb08a7d03d45531b8de4c753f697ec4b4303448c260b0783c81ed599425d9b16806828bf795c8cf65a95f366bb90110cc75d3e6064bee17cf1497f36c48e68b46ec07417b2a876cb556c705c7ddc387d74f2b0aeec9070d227af09a324495f551680a474328d379aac253a6f4c42c865a183d7c2f4f8ca94a92388b1afbb5408cb1c0fcd3c945e2923acdb7e16a45c03ec3298b3c44e9c1e75d049b2ebbcf2f29a2d3b7fc68644530010e052a0d357809009cd786604a39898b385b70ad7b3be011ea83b93d4426f4f20a3d0836fc6fb532fa14536285013050c16d01c5752884e49a82a4a0bdbc8bc2c7598d548278703ab4c607a16b1bab64052f40a06d3915cd03825f12c069d956f2a5662e05804183932b5216ca66274214acf5c01a7f4c77ebf522db776068f94151f7ac33831259b53bc48e99c50b260faec0b7bd3cd4fa9b5a5c2588cf098fce5aaeeb15fe651355537953d9b8580313b56336f9e6a723f412123c51e942438fcf65f92cb91a0f99b3dc5b0d90a94d7f9b0d9d4ca42408750169540a2bcf2ca20f13bbff3ba60f6faa2df7c176f74cdc2090555c658f24273980c4d6c03461751b9e7e59e87062037433d2a79c72fa6307a77b3d0c42cd8d1aed464b90963c351b2648ab5bc113909ee6c15bb0189603194155051fa534d0e723f4e28cea0b7ad34b3767e1029598b16cd87181d9b8332f87b38795eecf1622f7955bc646e470b54bd3bc915c3bd2fe40eba8b31a21b79130a3ea50cbabe79b7370b5130695ed8a61291125f79122b8a19666fc571076361af26b1979a939d481b55b781baca19898119db5ab19cd22617a59851a04b5db78e1a532a4da80ed29c8bd11a5ff3609e9c6b4b2417155045af7edb0d91506a7bb5920a5095c3327b6182a74aa14bb4957597077e93c880283137d9b424f3c16357051c4bd88549c090ecf23bf7650941ac00234c0398c56d0e3608f1e348db9a0d4e252f78b05c9bda80dc01a7c0b720646cb3475514ca43b2254ba566c929d9d68fcf76c08745bcb7cb2c3478823c977ba1f3565d880d8e731337d798fd273bee2a03416cb6d11774e0b7c177e23a619509e04c334e486f97a963035c2952fa286c8108a3fa6857c080076143185603ef480c7ea135c76497ac2a4ea1c65c535385bb233c54b0326d415d2b01cb0fa60b969bcfd5578920a06659291b59e5100441b0e535b46294680627646c052d13404e486713fc460727f50677e48e64275e4e2b33da225686d920941277caea4d8f4a7c7b96b151b36836a76671c9010cc7546ed301866a694104169540a8620415037654a55ab132d56590663c21c267b94a2f1a162bd61808512c2e7c671247142c3cc54622697edb50514895276efcc21bb02d45c79a4549a501e79859361457047aba280f91c13556d06095a13ef8ec756556b31c1a535fe895e3aa85a78346692b9b225330637397a482afe97b508304b6140ca9da2c33f26522d51363662a0c437cc3dae5ad97b491d8885dbfc65c82ba88e6d78564133fe5ec502543340736b2fd927c2e3207cc77cc127790ff2634cc2220ad001e39ec393c5c5b5598193d628417b7bf5f903e9274c2a1a38f72db99e4c2aecd8b5b5b445d3d259057b2b3ac1b3a0657c2dffb6c75c93b20ec3358180f9c124fdac8a64d2b73ce6819bc1005602151f7e4c804bc89a81797ca8313650910c7b2a36ad2a690e3af7a99cb2bb09cb1eaca0891bc69d989cb7220faa3626342cd33438877799835c2782413a9f1ca29861752f294b7e3c2a3980618d0540a5cf00c01943db920bb4693436d3b7436593e7b9a83cd21cbdc692956cb3f7a17c41f46af94bb15059b8661349248235adf68b69d9944f2f30f93173ffda657c9d722d0521c12b2790e230afb49496a930c46a62a4d8c26601a4e783b73c2a465722401769365719681c5086d8a7bbcfff451e58b2cf32b363c501e978971d8c5ac6f41b458693c711765c7fc1ad7319f3481a68bc456eedc04fca898b0b3ab59a14b7fa1c148b6b792352e7ccb1456a86a5a0377ff98c08ac0bc4c997b0370baa76950bd0874f9478e6b8150770c4ef2885e88d119126492c09b8e93110616406e6bc7ab46ccb0b47587c0da1c54828f98941dae515d279308302b672ba10ffa0749395269f5c5a03581799eb3b60fd53355b3690efc291c3b77aec797fd09b1cccc8d5bdb8b4dbc18857c28ecf86ba3a654b8a351d0174df4ea4d7f4159656010f051462a3c4988e28e74c39cddb557566b7c757874d9061fa5f85693ca2124822891a4a0afb000a3887522326dbdf4a54e851cc775405938bdbbd39370c01ba010b8b3785e3880a54470546b617ad86bc984a70de844a510e6a14e241f18c765fd04c2006c6781ec90c9e16881b7bc4557945d68a4543a5f16968b39f38e8f5aa7699171d8567e35da662087aecea63aec3094bb4c88f08432b86780237218afc22ec78c96322a81b8060719fb6742c290ecd8664fd378a95341f3c326d992b3b7417c5f543249d57475b3b526b93307664217b8837c1c48ee6322df891cbf6943fdd445f2da71f8ac449c718e8412cbe0bc2efbe601ad08af68b48f7d2677dbe05914d9b1629b6cfb69a9f43a05b6fa560143a45f21405b25983115b537315964b3525117158013a434785fa13b30331148f028a2e3e299c9969fbba917cc27b851823630bbb930ab2336b59d1e0060e74230d6a0399087ace16894d1e4236f3b9b708645a3b27378a86c960bb038080f93e66bd1bcc3e57739591c386c45846cecbfc90ab3fd506ec50c0d0ec9a2422cbacacac17f62472b4ac6ccc645d48b0283a6c62136a60d62354a983d4ceb74eddbaae57711bd958614f054336a38630535f0dcbdaf918e5dfac711093974d2987dc1109ce7bf7429cfddda9e1826172114254ce0bc526ab358e359c35cba02e720c4611dc17122b8bb02702a962db3470e32620d62291ad8c9db86615e9ab48df3aefda4003f815a1157640e765afb2527b2c532011ca07e321673c721c3f32a2613394f68b687a042724c0207cc3b87675ab51a60b4f12d312a0fb5443cd0518b1f9788fef9a36752291647c234d49daf4a6a4bf420e990307f676271a47cfdc68182500a93c914ea348dbd544b3163780a2c2373282e319b346e7ba0b1eb67a1f92f57648fb68bb6cc9865fae1ad459ad417635c409c28f9ef936ae28d221563e30f83162cef01b482889e4f8b3e9ae47d3b5b95c080d4f18440c24b0691c19f06f5547554697bdfe97b011c96249919cedc2369d8d739ab125e0d2ccb82dfebcd90240a545cdfe07511f2 -m = f4b66a7d3b65b896dfe100b2cad24b175a1168cfd2ae11fd704b835f6bcd311a -ct = 8cfbc2b257563dc7d2ea27ec74b788845da8181a78c21305b91856f212e7136682bf4aa61b226b85993b53757f6624e46d180de745c168354095db9ded0252a34839f80ddb7a1ccd5ec5bfdd021a65126123e94e4882dfad5e4337772a6c555d80690a1bd9362feea5bef00a66230c6038a0d9e41ee2a9a0930b5aeafcab11efc8202fedfa7c7289bab2eea3c3d2a4e40a1f173726877d06cd7a5930ba5f8527365b18005b6f576aca3f48e1d5176f0a8d63edd45af97a2d6dc9712e9fba8cc8188ee9991fb86928eae266c960e9fdb8ee19980f94fa5248a372e084a90d3cb2aaa736e0f98ebdbf72ec8b9028498f7cc6e7501e5a4547da54accf687649124df2699f8ca7b3b64c7f5feae0d688ac6422f83b9d00ec4f364269e8c464f3ea1b322c2c000ad97c04a0001ba05e2766faca2f92b75b9388754960ec6bcaa25f45a528705bca859c727191ccffcd5c4635563d4d9a0c21fb5d79ac07ab6e2f54a86a96e2814580aa4d1afb214dc2b8936d126858712458f165004667b55bf96826026e1cb6dff89dc9dcb68eff18d3df98efdba3972034eb3f7ca65f2d78375250a44dc39357ba676b29fa9ebbc567489404505283aca4fb2778f3845f4261cc636b175b6c4219b6c1758f8c460258355eedbbc071a77fe68dfd533bd00f02908c13de70e92d3bb64d1e5f6d58ec54bad4d16b7fda70b5637a901079be7526400cdfd87a33c43d9c77a5322db773600ab3b466a0f7d7e35b29b412eeb378795be831ba8c5aa85f6d031331cfb4d2fe690c7e94cc809c1e69ee236f94c18cdddbc2b6c720413d24415044d32297dd46a90319e5105b553b3b854efcd17ff2406d0778c968d7f105a50ee71210a416e683c2b2914987aa3d1b5625c8a4aa0d9cf9ed58834b3bebeddecaa7d1b43d9d5a5583140edd73a74899c61a73dfc4ed56f4152d6d3bf7e94056286394ef4e26858f0210bb276db0a4fa615212dcc1e0d1e912af992e9c36a160af1d496f137f84a6615c1b33624f2e72ca81d3c41fa057e64b4be8f21f26f01dd811aa91cc8772416334e464be633d94c470a84010f75dc7a9d22047f870bf326f7bb8fb37eabb4593f24e754dfd8dea281419ac96b10c017d71ef622cd67d83fefe76234e5d65a374a9607cf09e821d5ffe2b866922e893257476a70630d1e466523ae582dbf714fdb9485836a2e24654064a9855088c02a1411b5a8dfa5f4952f2afb617cc93cf8662efdf1605f4b5193c076a2cf46b3abc1af0426a8399c201f210bdc510adf1e13d464a9e44f2eb95ee6f1397641de6aee374590d926d8baf7b15e972352c95e8e4f0eae4431979f17a304ba2120b07c1238620195ab3ff571ffffbbe7e5d130680a87e8956a4e0254e51c6a3d48c21ce6be9d230141d11416702015629b5a3860cc8fc191bd46ffc97a8c68f00f23507c0999dc72722c4ac27f6827261e8549a95574d1abf7689e757550b53c50efd698f26eaabacb60718a2303a29f8d4b7bb21202886b8a2d195b7cbefec0bfd7d010c76ebea46aadac8d76ff422b70613c18f0a6eb118a5772ae1913fa34004a1f5325887a3c84ff64ff61e016a9369e1338916affa88a6fdfec05c9cb38eb35e5199d79169a3fd52f71cc08d2366da15336df373047e4fd9b8cc5a9701c6359c5f0f973a350cae60d0ccbe16d1847cc50401e4f2d4b0387b9ca27a1d591ed5b32c9de73069edf22edeaded10deb94d12ae664b416407a1ffffebf6eafb123c8c6bc9db0e9548b489f0f8c80aa731227cde933cb27647326b118fe4ffe476cc053b5523aa35cc5b210bbf518a3b604dda632614e7c42e368520cd0dfc2c7a55d707b4a61eb9e92923218d2c911daa5c9936a228b60e104975cf490bd2e34f1a0bc57c3fbe433c734a7f92e011c5d373a3b4cdc783e7f7917e17d9c294d0aea8138898b4774b71d8ce807aad3a414a85a068ecf692ccef6effca5164c1d9c496a6d4390366a6f214283795e3485a4111fecbdeb78068ecad1bc7f6a520f3109a906015b763702262c423303d46dedc347350d39a66416cccdba71eb203282006511adea015641155a7d77f3db68cd195d2e1c497e13733774e8ed4574e63d0f5dcf0912ddbf4958d717d9405e6f2778690ab58c464437400fa10151038126b6030d14c784826e4981950626709434dd8cee141d1a288b7a54b0d1f2f6e33c86882b4 -ss = b2c21f10ff58773d24d46aaa3bd18bec534b9c6cd52ab7ee5850309b06251248 +sk = f3ac3178bc3e6b8002eb20046ee3288f9cc63c1abd0b14a118d52e2c9a998d4c67e2014415084f520945f55b985adac8c503079789aecc491eb7ba540f32be8823a4a837786be140d260cff5d46186588f4fe2419e0c4ba1b619567b9d8206b53ab1289640520f2259f5d6854871498b23696a321813d7a544e77fb3100b34c89af2c63856fb43bb0a74a6073958d1199b4098386984847962b353b4d81aaf4cf65349c8197db8c1b29a91fde5af1f9749a96b3b82c567207a81a163347919aea565304b4820369799d352ce72415cf1c692537a48ab603b9dc741a08a66d874bf46daad570b6f1f4133067a1d900ca87cc25e91c4ce1c84b46d3c5baad46fed227268f1a9dba968eff27249b3c6e4c7c19e8a13046a2b45bc24f4304a80c09d37ac289f924f33e97181b8393eaa82a6fa54f2e76dd88791b5c3773707046c362d94ea547c3050ab251953464f4e540764b08103a88e448446f6b82375c15e3ca9a98798639b83638ada857bdc1e3c6705471975c51b8087a26348babefd234d27d6c055d3aab7560b28dcc13d343a79530ac868b5f6ac83af04b8d7a20b64dabe9de32a5c1b2c2acaccc4588c1ba26f5462aaa5c1bdbc36467f346a1ab5c5840a07bd33ceb44093659bb0451c4c87ca4852172dc0bc3674b4275078cd2b9a3afd61bfe454107d092e5840c4968c547adc723c1970cfe705c5d33e3a4533f0028655c6ba44ab22c2a4c85a82b4b6dcc09765124e43c985459cb2ab1519db1ec6f348d017a785484802d90e0222ca2313b4fbc465dec0cd4f3a5675e33cf0db79145867d5f0b8f340526c8a744929728ceccd146b6e66d03f660aa4e2e15d200b5960f3a03b571bb2e59160048e498c15379027e07987ddd841bdaca79764bcaa1c9843fccc65b53695335d9d4cc789e062571665da99b4e10368467aa551775c39c7c9dfe7624e8940f294c8655503f2f970071b40f6ba3544c64c41887184828be6057a9e972631604901a7870733580c6ab8d4aa18b49cb4d567577aa8b0ca2490edc68b168583b8b38415d32f5558996cc911a9470951430c36f71712f1c579a12327c41c441c980c286b71a31748ea54df2a557fd1701c3173944b7b40117ef9cb08a7d03d45531b8de4c753f697ec4b4303448c260b0783c81ed599425d9b16806828bf795c8cf65a95f366bb90110cc75d3e6064bee17cf1497f36c48e68b46ec07417b2a876cb556c705c7ddc387d74f2b0aeec9070d227af09a324495f551680a474328d379aac253a6f4c42c865a183d7c2f4f8ca94a92388b1afbb5408cb1c0fcd3c945e2923acdb7e16a45c03ec3298b3c44e9c1e75d049b2ebbcf2f29a2d3b7fc68644530010e052a0d357809009cd786604a39898b385b70ad7b3be011ea83b93d4426f4f20a3d0836fc6fb532fa14536285013050c16d01c5752884e49a82a4a0bdbc8bc2c7598d548278703ab4c607a16b1bab64052f40a06d3915cd03825f12c069d956f2a5662e05804183932b5216ca66274214acf5c01a7f4c77ebf522db776068f94151f7ac33831259b53bc48e99c50b260faec0b7bd3cd4fa9b5a5c2588cf098fce5aaeeb15fe651355537953d9b8580313b56336f9e6a723f412123c51e942438fcf65f92cb91a0f99b3dc5b0d90a94d7f9b0d9d4ca42408750169540a2bcf2ca20f13bbff3ba60f6faa2df7c176f74cdc2090555c658f24273980c4d6c03461751b9e7e59e87062037433d2a79c72fa6307a77b3d0c42cd8d1aed464b90963c351b2648ab5bc113909ee6c15bb0189603194155051fa534d0e723f4e28cea0b7ad34b3767e1029598b16cd87181d9b8332f87b38795eecf1622f7955bc646e470b54bd3bc915c3bd2fe40eba8b31a21b79130a3ea50cbabe79b7370b5130695ed8a61291125f79122b8a19666fc571076361af26b1979a939d481b55b781baca19898119db5ab19cd22617a59851a04b5db78e1a532a4da80ed29c8bd11a5ff3609e9c6b4b2417155045af7edb0d91506a7bb5920a5095c3327b6182a74aa14bb4957597077e93c880283137d9b424f3c16357051c4bd88549c090ecf23bf7650941ac00234c0398c56d0e3608f1e348db9a0d4e252f78b05c9bda80dc01a7c0b720646cb3475514ca43b2254ba566c929d9d68fcf76c08745bcb7cb2c3478823c977ba1f3565d880d8e731337d798fd273bee2a03416cb6d11774e0b7c177e23a619509e04c334e486f97a963035c2952fa286c8108a3fa6857c080076143185603ef480c7ea135c76497ac2a4ea1c65c535385bb233c54b0326d415d2b01cb0fa60b969bcfd5578920a06659291b59e5100441b0e535b46294680627646c052d13404e486713fc460727f50677e48e64275e4e2b33da225686d920941277caea4d8f4a7c7b96b151b36836a76671c9010cc7546ed301866a694104169540a8620415037654a55ab132d56590663c21c267b94a2f1a162bd61808512c2e7c671247142c3cc54622697edb50514895276efcc21bb02d45c79a4549a501e79859361457047aba280f91c13556d06095a13ef8ec756556b31c1a535fe895e3aa85a78346692b9b225330637397a482afe97b508304b6140ca9da2c33f26522d51363662a0c437cc3dae5ad97b491d8885dbfc65c82ba88e6d78564133fe5ec502543340736b2fd927c2e3207cc77cc127790ff2634cc2220ad001e39ec393c5c5b5598193d628417b7bf5f903e9274c2a1a38f72db99e4c2aecd8b5b5b445d3d259057b2b3ac1b3a0657c2dffb6c75c93b20ec3358180f9c124fdac8a64d2b73ce6819bc1005602151f7e4c804bc89a81797ca8313650910c7b2a36ad2a690e3af7a99cb2bb09cb1eaca0891bc69d989cb7220faa3626342cd33438877799835c2782413a9f1ca29861752f294b7e3c2a3980618d0540a5cf00c01943db920bb4693436d3b7436593e7b9a83cd21cbdc692956cb3f7a17c41f46af94bb15059b8661349248235adf68b69d9944f2f30f93173ffda657c9d722d0521c12b2790e230afb49496a930c46a62a4d8c26601a4e783b73c2a465722401769365719681c5086d8a7bbcfff451e58b2cf32b363c501e978971d8c5ac6f41b458693c711765c7fc1ad7319f3481a68bc456eedc04fca898b0b3ab59a14b7fa1c148b6b792352e7ccb1456a86a5a0377ff98c08ac0bc4c997b0370baa76950bd0874f9478e6b8150770c4ef2885e88d119126492c09b8e93110616406e6bc7ab46ccb0b47587c0da1c54828f98941dae515d279308302b672ba10ffa0749395269f5c5a03581799eb3b60fd53355b3690efc291c3b77aec797fd09b1cccc8d5bdb8b4dbc18857c28ecf86ba3a654b8a351d0174df4ea4d7f4159656010f051462a3c4988e28e74c39cddb557566b7c757874d9061fa5f85693ca2124822891a4a0afb000a3887522326dbdf4a54e851cc775405938bdbbd39370c01ba010b8b3785e3880a54470546b617ad86bc984a70de844a510e6a14e241f18c765fd04c2006c6781ec90c9e16881b7bc4557945d68a4543a5f16968b39f38e8f5aa7699171d8567e35da662087aecea63aec3094bb4c88f08432b86780237218afc22ec78c96322a81b8060719fb6742c290ecd8664fd378a95341f3c326d992b3b7417c5f543249d57475b3b526b93307664217b8837c1c48ee6322df891cbf6943fdd445f2da71f8ac449c718e8412cbe0bc2efbe601ad08af68b48f7d2677dbe05914d9b1629b6cfb69a9f43a05b6fa560143a45f21405b25983115b537315964b3525117158013a434785fa13b30331148f028a2e3e299c9969fbba917cc27b851823630bbb930ab2336b59d1e0060e74230d6a0399087ace16894d1e4236f3b9b708645a3b27378a86c960bb038080f93e66bd1bcc3e57739591c386c45846cecbfc90ab3fd506ec50c0d0ec9a2422cbacacac17f62472b4ac6ccc645d48b0283a6c62136a60d62354a983d4ceb74eddbaae57711bd958614f054336a38630535f0dcbdaf918e5dfac711093974d2987dc1109ce7bf7429cfddda9e1826172114254ce0bc526ab358e359c35cba02e720c4611dc17122b8bb02702a962db3470e32620d62291ad8c9db86615e9ab48df3aefda4003f815a1157640e765afb2527b2c532011ca07e321673c721c3f32a2613394f68b687a042724c0207cc3b87675ab51a60b4f12d312a0fb5443cd0518b1f9788fef9a36752291647c234d49daf4a6a4bf420e990307f676271a47cfdc68182500a93c914ea348dbd544b3163780a2c2373282e319b346e7ba0b1eb67a1f92f57648fb68bb6cc9865fae1ad459ad417635c409c28f9ef936ae28d221563e30f83162cef01b482889e4f8b3e9ae47d3b5b95c080d4f18440c24b0691c19f06f5547554697bdfe97b01b5b9e60227058afd73501b1c4e45adbbd41c7be8d14bcb8e98af77698fdf6b69 +m = d70b79de7c2f7cb8d18eaf1ca040f6d8588ba85512ad000b59806ba485538377 +ct = 661fb150b8279d29667fd195dd9afaa24443b8257ff64ab917deace7c02ed831404fdff8158ba8a8c32ad3146ea4d8dac4f8f3a19ee80c7593c8ad8a4a5857af785cf9b1b89e6dac96927748d22db0ae8d2a8957f7a21a554d2572d46354f3bcefbb8689f07533ffb574c6f27dd2cfa9a60a6106b827e5699fa5483aef3f9d1b92d7054beb539eff80cc3af4ca993eea4bcb29dc457684e56fa66185e12f7163102540c804f620354efd4f042614e9b27f633c0bd7bd4baed55a1d152bba4c214205301f422d508093c0ef6808b0f95f0e50c22091986c176705c4b5f227c2be51f61d00b93d1646a2b222c57fee68e43e1e17b0a52bb9ac61d66b77c8df6191cc9edf535876f12a1d7bda1e8ed1b7c22f00b101a17734eb1590737db01b5bd420aabc375032cd534bbd5902ba9dab604b3b81f68460ccd0d4543df4fcc0afebfe0418c35d42f7c59b5a7a1bd903f20cf720602a9b194e50457a433cc84a43fee091ce01026ad58f14066bbae5b4008749511899792d0a5bdf7132a1577824d091cfea1bbe5546da36aef1bdd6220ba430a3a0b93f53f0ac305f4ce8d1cddde9625da5ad9806e0e674e75ab781a33a0f66ef95ad6c148ff078fe3a83b2629d9c38282a070c5e0c9233aea00b6f7d54609e236040e487dbb87f2ee1c1ecf86ab7f02b82c346d1a3b8694d6e9ea8e626f767cd0b7870c8856b167e29b1a90646b2c7c2ac6e7b3804deb09971bbb9a0598d7e8723f278286e8845e40cf1cc03bab91f4de73da22b86fc236bb093ec97ed27d91e6e7d6b00da8d71d9077f77e352bf193c398d742d9d0245b852f5ecfefff4208bd94ca74f2f2f30d21d99986e005df2b39b1ec62e4853b09b9afd456ac63d3152d47bcbf3a272dbcefbe4fd0853c7cdea6cf3eea85122ef226b8fd4f80b5ebd2339cac598045de0ee10a198e4df0203260c232944973ec7a70943f055c051d465dbefacfde8d4672a7db0e65703a5d2ff7b840530a77da22f4df38645b44d8f440bf080204d53cf6c211c650f1c890a3bd7120a598ce0b50565bb9478b9052e65ec6e20060d7142b3049b87506c26f22165a9259b58b64c8aa43b0f4030a5ccf8db51ba4d8ef3f88af4b882177e1ae389c2e6ae5847f399f9ca1aa239b8b9b2f07c80c55131e15da75259374e189604f107470897475c26487a1bdbbe7df3ca74c805ce6f9d348dd6ecd8a6f0c60cc2e55dc27af63f7a98f78d18d7830840507c3ea4e293cef7d9b8d12f8af45291e5f3948bb49ddf7cb41ed6cbd6479b0719a66f6922aee3f18dc1984a6c96429b8c738a40455886684b8a6696066508df25c06a3d9b974ccb7cd81a6b6d47fdb07f4ae9fad93959fda922b876c48c5336d4b7d90b55c7aebc031a6b7a0cd5e6227ce87fa58992462af5bbcdb4efcca92e6cd80e15d6a8b4efd185d1995f83515c315a2e7949995963e8d8e2319e82cef0572b36d0e2adceb9e4575b291b5f0815cd78286fb587c0cb339ac19c390e85d7a05b23e7df85589c70b4420adaead9ba2108064e72a71ef328443587dcdde09ca5615a2db8e0a2ba63abb1f456136e8286da3eb9c22569141598360e2a2e2fa6cb694f82c3f0a73d2d1d6e4bc7884f6a7f24364dc2a81238afff90ec049ddfee9b1af58b5f086dd1ee7b88efa0850130358bc7d48d64f9f254d28c6d2e56eaf2fa493b8724bb1deb2326712b129ce607683384e0e1406ce6cca1585e87fcacab6255e4c6378a7aa88ae342b72137be0bb67eee42b483e813d01b7e90f76da2f54e2dcd3d36a4a59087584110e533783c912576102050c8f510e3cfe7bcdb81230da5465a536a35e2784b7c1f38dafb5f50e2e4e3225e8ce01a09c07998ed1c905f177690d538e44c9c50768693c13a7e3b64a38247214fbb8fa43560712c4cff9d973809f9c77130c5ef7638b17d9675c18fd1da047ec0787cf6a4fe057e85a8438100f08600aaca732a60600f296ce5576760496c64bb341fc8f7a55d9556fbe90fb746d40b3ed900bdd5df7a6fe320d3c6c496dbbd6873017048aa8620d81ac8e8abce61061ecdd429327254f76efeeab814db4013949d1ff5e09cd74b61fa3df560bdfd981ba4229d50f25158189ea4508e8be19e3bc12349a12d62b92e6fb9cfcf931db3c59f5603c433b9181f556b710481bc84316bfab106fc85f5b5be1bf275ad6a23d32948700efdbbcde1cc +ss = 8f92faec3f277432deec14a11aaa885faa418f36585fb927c288c052cd9d20a3 d = ff7495b8575b5a98e4fd21fb4c3e58cbb60f14bef21aa74cf8802e3153f14807 -z = bdc370460375a778d1a31d01c42b66367ed8d9e8f84551002f552f0e52102b5d +z = 11c033d4a4bb231985ca7e851fc73ea4b2c29e131b7f442db8a66a9e5b31934b pk = 2e225b33d590a3bc60ff331f856884594944a1055f1ac6bbd5f7bbe0c7b5363c984d408b493b92bca2a9395b7dd9a46c17b632976324206179bf05406e629f86875573d05b0599b561dc5ee8f54a73690b5c3b414fcb7aade872a9489a5530025b442c94052d5e892cb47b7c7585547a72a9e3a3cda629aef1876c96c479063c49e94b952cf819af8b3bc39995d4563337bbcd419c17c4f5696a6002cbc6b760e344a7fc49c2d0c0ed52b54f16041e5c4ecf2426442b9d59ec05872190a80b4f341312f91b7737cc77696acc5e0323e02100563519ad3002fb95b0591aa126a70ecb708143c7a502c53a77a82ae915b25be77c68006f4ccb0252463dd668537c24bf4b0039cac4a4e6b3c19ad37301b595c504909d8a4b8af71c0fc2c905e26b5317703b3195712070b0d5677bd5101c4baf9186582a8b70d163ab01c6151177b7c83b6cca2bbf62f6abef41c6ad6764cd8392819a85cad945ebd210b9c08f1333a393b144a4782e683ca2c73c5875f20debe3ab59c8393f7caf4328a57618197450097d250e9a77266d15cbd7b3867dc49c0e83c7717513bda8235e8b89fde06cef1413ee0a0e42c814b4da9d0b0c5961f73e90c57c1dc614de43c396118979cba7144316607bb82e5451e9475c0cc4127c58a69fc47e6f02a3fbaa03949a9760573b2bd3c6606325c56a23cf4aadd8024bf9d1020332cba28c7fee610d45674e17281e047822138b04df69ce9e11aa644c47fffc688ba4b6c91b01e2747d2765b7d9579485a37e7090aeae19ae2773cb4cc17b998c9d25955a33a0a9c47117fba45f02611f1fb59d415a93aee26a2e4726e50c457c692766d55477546785f76a2ab7c5ab983a90771834da4016a755a2040ee3f6a24145cd2f827729bc74b17bc92032548b663f50b307ac511c47e24e4ac4957e552c4662915074373d83b34f468bd66091b984692dd32669332b0527b0a0bb3df41556aee9693eaacf97047516b6aa455311cf97135b697e7e9a2e147756e8fb0b657b41a6352fe6a17f4b031efe17926b7757fa74831257ce2442066c624bdb106d3330b99d730e7eac1d1528348156352e266475204c6e13b5dc06b2596097c1da6bb2d31e139c34f732a70bc09afd6a8e9700bb20fc78e3fb15eba8b2eca7bda0508b1d8c0c9393557e62836117219fc2201c79346949c53d8414c7e673106234e98cc1508c81317450670ca7de957bfeaab0e6780fbd755eeb08a441f983e3c81468a7bfcbb152bf6a581a901564f2cc6ac13423c32dad054e02e6509725bf13605f646922bcf84fcb4b456c7ca25457415c7275ba54ae8c4717157a299fa18b49fa6be7460f8427516649440d4c0dd42814b8c4692d71b7b6c0049473472e002a53392d183b4ab70b6582557f8ed067eebc00b670b517433466ec6b2f967ec1720b8c68c41d2923fae5c4285c63b03a8416926b93496dd57b6e241b14f2576e7b9a28076b2dcb8c2f475152a5fa7ec98c952a263cfc221282d57bf329a0dad122046a75399507574289a18226afa90ce4d7235ad9a658955b6a25359a435d5a6798b1d453b90679b5849e3fc817899375f890470238004cc7520be51feb8291cb8bc336813dd14a7bb24b2b8b8b425a969c4e410ac4876787f67ecb61409885518e0533884c613f70a22997b0b8cb1e2e333d51ac4e5fe854c657c0cc748adee498b6c389d4b498d206845daa6aa89731b1dbb33f2c38db8614024778225b92d5826e1bcca780400e79b42e0fa3baacc5825bfc0f45cbc485d69c024ca504a975ada9a5a822cc0c11cb3fbabc64d07db6133a7e91223c3658725686ceab91eb74060bd039cf1488376660225b42db441ddbd437d5193bfe777b35513ac8d85e6da433faec55fe969fd3865eb9045589b09769a41c963596ce70238cf7b407b096ea546fd5f141ddd54ec001b76cf634871240d9f82f77f5153e84a6a5c41a3cd908e962c5b8898ebd4287fb2c97a0710b448c4ec93cc5ef1719c91b92ae77b35cf2628396160f0bc3263003e2e89243f073726a657b2386173115b778cfc842c67a4b71d5276a934aa94d92b452286a35913b0262af2a4007642a0b04f76ce58a31bc776d6f1b8966180e2ef026763a87519a10b8049d799a8a3d038d5be31eccd5676550482cb48f19171d8f1a3a633448fe9c83bd28097bb29a168db5af1d1b354b6881a2ce509b -sk = 37f7089480382622ac6687b4b15bbdbc1a9ad7467e8ff4cf44f0614de74b9591b9c5410d2d7084bb57ac27963aafac148de80dda6232f4a0c634d677a80c226fe67063191c05a54afc026080877538f63df93cc6fdecbbc0a9a0a4215488da1a2f7b1ea8f8b917f32f397b94c80170bcd423c1f1ba4c736449f84bafd6711b0070dae72de1ea3923435fe15a4fb35ac98d6379f0a44c200a37704b5b269ba3a555961aca5e2cc1518fa4bad3c23438e06952c9317d198b0c112d79a89560dc3361f5732f820ce4d16ed448ac2ed221c8ea3601602c27f640dcc394a7ecb5079978cf52b80de15c3015839a44b9ee36837866c5c8e9579849b331e53dbc049e46dbb524c2090a54ba793c845420a7c2c29e78a9b8c83c310d780f74127c02a59ab68c1b29952dff1196d0940edc338df3e1c1c8e34fd0dac4d5596f97a2afa98b1e8be46bc0a96df412639ae5b52229086229b5bc79ac020b61a56c04091c10cf9940f798a9c50ba1f5fb30bfa947f20b62a60215c5a88d23b70c0e299c53f49a1ed511ac5812558133d9f195e1fb5d77314559ea79e63a88e781c4224155abb5ca91f089c0c609cecca32e549b0cba167d9307a3a64681a815a69c5d7e787751162483e7701437034f0864d8d53201fab9763c7921eca6f11247e7ea364298c1c3ab893549572bec45c1a8c3b88659cfd526810b23f2095aa6c1424c7178187109f83063b52547b9c731f9933622a33c7a8b927a50191593488f9a0d12331017919159c7a027c3956fe109393a167a6475cebb49224736847319d161490ec52396d7babfb638bdea29f50c9ce37314fc858455f63fcc70cfcb751df12274feeb45a124ab1b997c917a550c3469a0c185eb0238ffcb4dcbf751e12ca17a71b807b1446ea7180ee302e6998ef8d12a857c84ffc377f5e42fd41238a54345229916a715977025b3b4a6060f778de7d426a2f95927335cb202bf4080b8510cc0da12c4eaec4bbfa42997e21504b8c5d32604f1d66e8d55b50c393f973acd37a236db595e3ef08239c42fb5e9243d967181b9b94f4521c104a8aa726dec057abd419bc8c6cf350c91acb78b0832144f409f78992652e30eed7ba2375b3245d877c8e8b873f0427071c956633495381a2c642b15282b9945c758910fe469cd091b4458218105da96a479be0ac6b3ba155d359b2815916e93e9bad3d431945b852e519df0129174b24a32cc9fb8a62de96733d153a799cb8fba3c86b9101cf3d4a97bd3b699467991a57129607c27274d3224cd1848c17f1550be47b71a119873045e215bb817cb92c12a7bdc6347df8b64dd686873d800b4672aade8af56d2995546cc37c06f9212a54745c5597184ea85cedca7b980386fb91b8ae677a035a4547b5848879c2567c8cd6ac285f6f2460dbc0b73f5ae0993c988418c234895380c556042acd15a6c015a13ebe16cdea4be38528a9d244230a0ab053c568e31c64d06a3d7bca0e5207b7669811a3512f8ac6887137b0b7627d2401ccd604ae786753fb6568cb522b28712211208c1849d1f75cc4fb951d2aa081ada952998b0b0e938b77359233a76c135897e91059cc5639e978c12c6bbfb735fef4bcb1d60180df21dd367c02e79916d697f20197d07e9980af13d3a0ac5d2e010a8bc850476630f5b8b37cb8a88c14a047a1afd576b6fd0aac283981457430cc62a900c7e81f47f2574802eb91707e54db0e77c223467ed07c29b7c5197a38b9cc7c77d99018faa271ed10b32843a92001be592afa651082a646858e4497f777c0f589913f50b0952669689bbdc033701042f32dc48fc26038a63142e17a6d7c711f5f058c2392a50779eaa221c811975d957c389513f39f42f7a58175cd1a6a50b730888102dc93f4f056bcb42710572b6ce36865c621a75d7717412a12cba792988517540a3d8493f3ea68858654c62807794cccc4102a9e24328cc722971012af19bb7ab6c97f4813ffe5a2f13403a37b7477d18bd35e4613b73b4ee15a3c639593c8530211a0a52d214b7d48dd93ab27ce23975f2cd9d8aa70c878fcf342cd8343488d7a0b75228dd3cc8ebc1148271af1526583603baaee2110c400ae5145cebfb63fd118f958081e9a652c322b793883144b96517c088f4237f9a067ad83bb3a59c1cadbbbd2e225b33d590a3bc60ff331f856884594944a1055f1ac6bbd5f7bbe0c7b5363c984d408b493b92bca2a9395b7dd9a46c17b632976324206179bf05406e629f86875573d05b0599b561dc5ee8f54a73690b5c3b414fcb7aade872a9489a5530025b442c94052d5e892cb47b7c7585547a72a9e3a3cda629aef1876c96c479063c49e94b952cf819af8b3bc39995d4563337bbcd419c17c4f5696a6002cbc6b760e344a7fc49c2d0c0ed52b54f16041e5c4ecf2426442b9d59ec05872190a80b4f341312f91b7737cc77696acc5e0323e02100563519ad3002fb95b0591aa126a70ecb708143c7a502c53a77a82ae915b25be77c68006f4ccb0252463dd668537c24bf4b0039cac4a4e6b3c19ad37301b595c504909d8a4b8af71c0fc2c905e26b5317703b3195712070b0d5677bd5101c4baf9186582a8b70d163ab01c6151177b7c83b6cca2bbf62f6abef41c6ad6764cd8392819a85cad945ebd210b9c08f1333a393b144a4782e683ca2c73c5875f20debe3ab59c8393f7caf4328a57618197450097d250e9a77266d15cbd7b3867dc49c0e83c7717513bda8235e8b89fde06cef1413ee0a0e42c814b4da9d0b0c5961f73e90c57c1dc614de43c396118979cba7144316607bb82e5451e9475c0cc4127c58a69fc47e6f02a3fbaa03949a9760573b2bd3c6606325c56a23cf4aadd8024bf9d1020332cba28c7fee610d45674e17281e047822138b04df69ce9e11aa644c47fffc688ba4b6c91b01e2747d2765b7d9579485a37e7090aeae19ae2773cb4cc17b998c9d25955a33a0a9c47117fba45f02611f1fb59d415a93aee26a2e4726e50c457c692766d55477546785f76a2ab7c5ab983a90771834da4016a755a2040ee3f6a24145cd2f827729bc74b17bc92032548b663f50b307ac511c47e24e4ac4957e552c4662915074373d83b34f468bd66091b984692dd32669332b0527b0a0bb3df41556aee9693eaacf97047516b6aa455311cf97135b697e7e9a2e147756e8fb0b657b41a6352fe6a17f4b031efe17926b7757fa74831257ce2442066c624bdb106d3330b99d730e7eac1d1528348156352e266475204c6e13b5dc06b2596097c1da6bb2d31e139c34f732a70bc09afd6a8e9700bb20fc78e3fb15eba8b2eca7bda0508b1d8c0c9393557e62836117219fc2201c79346949c53d8414c7e673106234e98cc1508c81317450670ca7de957bfeaab0e6780fbd755eeb08a441f983e3c81468a7bfcbb152bf6a581a901564f2cc6ac13423c32dad054e02e6509725bf13605f646922bcf84fcb4b456c7ca25457415c7275ba54ae8c4717157a299fa18b49fa6be7460f8427516649440d4c0dd42814b8c4692d71b7b6c0049473472e002a53392d183b4ab70b6582557f8ed067eebc00b670b517433466ec6b2f967ec1720b8c68c41d2923fae5c4285c63b03a8416926b93496dd57b6e241b14f2576e7b9a28076b2dcb8c2f475152a5fa7ec98c952a263cfc221282d57bf329a0dad122046a75399507574289a18226afa90ce4d7235ad9a658955b6a25359a435d5a6798b1d453b90679b5849e3fc817899375f890470238004cc7520be51feb8291cb8bc336813dd14a7bb24b2b8b8b425a969c4e410ac4876787f67ecb61409885518e0533884c613f70a22997b0b8cb1e2e333d51ac4e5fe854c657c0cc748adee498b6c389d4b498d206845daa6aa89731b1dbb33f2c38db8614024778225b92d5826e1bcca780400e79b42e0fa3baacc5825bfc0f45cbc485d69c024ca504a975ada9a5a822cc0c11cb3fbabc64d07db6133a7e91223c3658725686ceab91eb74060bd039cf1488376660225b42db441ddbd437d5193bfe777b35513ac8d85e6da433faec55fe969fd3865eb9045589b09769a41c963596ce70238cf7b407b096ea546fd5f141ddd54ec001b76cf634871240d9f82f77f5153e84a6a5c41a3cd908e962c5b8898ebd4287fb2c97a0710b448c4ec93cc5ef1719c91b92ae77b35cf2628396160f0bc3263003e2e89243f073726a657b2386173115b778cfc842c67a4b71d5276a934aa94d92b452286a35913b0262af2a4007642a0b04f76ce58a31bc776d6f1b8966180e2ef026763a87519a10b8049d799a8a3d038d5be31eccd5676550482cb48f19171d8f1a3a633448fe9c83bd28097bb29a168db5af1d1b354b6881a2ce509bc1b4fdc4929c2c7e4501ba7a9feb0be571e27c43fa96f9a7f934636ed9a86110bdc370460375a778d1a31d01c42b66367ed8d9e8f84551002f552f0e52102b5d -m = 1d7b03d3c5eefb8ae5799dc569aa668f1bcb8c86607b089d3530cf61d6380147 -ct = 1f8be8b5ba78493e13dbd03eb5b200f890396a6a07eb154a41e3d96344da2bc523b21daac562465c2ea792ea074f3b46ce22146f01ec62db1d7084d271cc15e38d48f4699547bf450a52313b2861362d6568ea272d884556181a8d2cf4cb562ce9e3335aa9b52a5e24552e1da9b60904149d93b26326ad5dbb45c11260db57b9d082125ce6abe14196153a68b44a2d16ac0046914b96598d8f1344c762024487a1f691adc63128591ee64362b9a44032c78b39f77ed18e0b3d97b17c9af4922f63798293afa46121c25091c4e68aaba883af6041e455b9575941194b47d4fc9b66728ca6d961c9e91180f921544224d6073dcc5908c6e8719ff0a1d602f9ed32da3f08d3b59bbf1f85c32663acf693e9c0c01ff1ff338bee85a985fd9e1a3e5482b96e1980aac2a93cd1ddb3131c8a5fdb38cfadda6dd01e72dd36c01571a67ba2c45c3f65a0664b0f0e993876f431c7e679fd0b0b9ee80a9a4e87a4a335366a0413da526db051bd08c36a579745acb23ef478b4e881c60f03dddef41b245383b3336b7c6d895c789e239108947a2c48392324863da385f4fe50357a2e22022028b83b0709e36abb4abb569efb3ff17bf9641e5656cf352fdebc054e57dc135cbf55b24637dcdabb2a882caf86b09fff4e06ec7f842ecc69af85f9c8d861b9a38419e74918f5d3c4350a473343f863872f37762084d7dcf6e35682374e4c3c7c62e50c70702e27033eb9a4b296966bbbaeec0722a72ac7acc6dfee17a263c3b682c40f781e9477ab0d73413495d23450c27f38e61cddf05d663a7c232cb85409ae7e3bcf1bc2814f6c368715c2f5a3037ad37a193da71c4a160d5e0b7f7f8bb845c6ee2980a7b562acb5e89a289c6299471a1c0358e766c62b7807b4e0b79aca0f686ca8c2ee4afc6421978a5549108abb3f5371c1e3be669021d094841c86bdd34b525bf9a9cbba887b550c102e96727cd70d7cbd097dc9cdbb7140368f8c0f2752b89bc48170e84dadbdac3dc2d8321b88eee8452a622da78fcd882c346e00fdbe9043c63f74c8ba15b16287a2829e68334bac9f83c61f6051d5be5a5e673dc2a2db6a6028e681f348825428f39df59d70cd876b23dfb400c3cde5c3ffb0808a1f5e22aac0c5f630c9225f79a3a6c398f5bc58ae452b7eb9789396d2043a6275ccf12705adcda5e29e66e5576e6fb4d1de1b8786d50bfd9ff5b470289f19e0015cbb084db012c47d209548b1f591390702ad509434af9bd0612438eeab38de061fad1f04612c08eca5b3e0b8a004e53b4d43a995fd3f6514089b399893999e51976c239733e84357d6ebeab83ce32d15d00834deaa4ae66c40f49cca106eaf31c95e8445c949a5583dd93035d32edd1fced6911858ed85bfe71a531441d8513f196ecd68975fd2a3298fcaa3c417d4427899b6d12e05317214cb9fb4242bba3a3aaa428057ac92f1c881ff801afd6ed3b0fc68b8c35da7bb75a8662a1b7199c307b22f7787f559f27996b02f2155aaf6141f2099e49c8f6de9737ee3c6e02eba13b1b6f79bf8fcd87820bf9f17880161f6378f28e4da0772202b95948b62624be5e926ec6a1837d3aa0c5335d340162b12eb79dce675a3292f40da0f1d6a03460524831e96061dbcdcdb290099aa970255cca4003d4807f902dc635325016f399b129e3c895a599ff73e3dfa004f2ed060d440d422d3ba39d290b251ffbfe23c2e04ba447c62fbd443227997047cb05041ddc67cc796c56508610568ea55534f95ba42c3ceb579356c425d2d3e57784f2082188f3b3e76495e811878caf8c4a6db8392fd8928ee020dda16dad12b041f71c77ea7129d768af7ff9c198b8f046e5872208df414c3346c5fe645a27c6c71840c354af3c733657150988df75d3f83ea4184dec783d0f3a36403f522a174cd49175ce0a535d5cbc7fe20381187da3e9271b0bb582c2b44168207298bb9caeb93c3797bb010d27ef21e92c3eba5657a86ff8673f3a79f172e998568d542e240bc2171710fae322ac4ecf03100bbe85281335bc272413695ea62b7f3112bb2f52fc61b84235ea095847f956244b31e413b6c68ea204d699aee0ce0d470224171a424f1ebca9bec0da4c1ba00ad705fb9b5f1ae09a34402b628ee066202cf0e92afd008abca6910d887043aad7ca8757ba7a3b7b7cff2344ae98f2734869e05d0e0c4c4947bf0eee8172a2117c4f57c -ss = 7e59320c0e79e27fa0abfca4411bc4eb686e8606597203545f88958cb16eb82f +sk = 37f7089480382622ac6687b4b15bbdbc1a9ad7467e8ff4cf44f0614de74b9591b9c5410d2d7084bb57ac27963aafac148de80dda6232f4a0c634d677a80c226fe67063191c05a54afc026080877538f63df93cc6fdecbbc0a9a0a4215488da1a2f7b1ea8f8b917f32f397b94c80170bcd423c1f1ba4c736449f84bafd6711b0070dae72de1ea3923435fe15a4fb35ac98d6379f0a44c200a37704b5b269ba3a555961aca5e2cc1518fa4bad3c23438e06952c9317d198b0c112d79a89560dc3361f5732f820ce4d16ed448ac2ed221c8ea3601602c27f640dcc394a7ecb5079978cf52b80de15c3015839a44b9ee36837866c5c8e9579849b331e53dbc049e46dbb524c2090a54ba793c845420a7c2c29e78a9b8c83c310d780f74127c02a59ab68c1b29952dff1196d0940edc338df3e1c1c8e34fd0dac4d5596f97a2afa98b1e8be46bc0a96df412639ae5b52229086229b5bc79ac020b61a56c04091c10cf9940f798a9c50ba1f5fb30bfa947f20b62a60215c5a88d23b70c0e299c53f49a1ed511ac5812558133d9f195e1fb5d77314559ea79e63a88e781c4224155abb5ca91f089c0c609cecca32e549b0cba167d9307a3a64681a815a69c5d7e787751162483e7701437034f0864d8d53201fab9763c7921eca6f11247e7ea364298c1c3ab893549572bec45c1a8c3b88659cfd526810b23f2095aa6c1424c7178187109f83063b52547b9c731f9933622a33c7a8b927a50191593488f9a0d12331017919159c7a027c3956fe109393a167a6475cebb49224736847319d161490ec52396d7babfb638bdea29f50c9ce37314fc858455f63fcc70cfcb751df12274feeb45a124ab1b997c917a550c3469a0c185eb0238ffcb4dcbf751e12ca17a71b807b1446ea7180ee302e6998ef8d12a857c84ffc377f5e42fd41238a54345229916a715977025b3b4a6060f778de7d426a2f95927335cb202bf4080b8510cc0da12c4eaec4bbfa42997e21504b8c5d32604f1d66e8d55b50c393f973acd37a236db595e3ef08239c42fb5e9243d967181b9b94f4521c104a8aa726dec057abd419bc8c6cf350c91acb78b0832144f409f78992652e30eed7ba2375b3245d877c8e8b873f0427071c956633495381a2c642b15282b9945c758910fe469cd091b4458218105da96a479be0ac6b3ba155d359b2815916e93e9bad3d431945b852e519df0129174b24a32cc9fb8a62de96733d153a799cb8fba3c86b9101cf3d4a97bd3b699467991a57129607c27274d3224cd1848c17f1550be47b71a119873045e215bb817cb92c12a7bdc6347df8b64dd686873d800b4672aade8af56d2995546cc37c06f9212a54745c5597184ea85cedca7b980386fb91b8ae677a035a4547b5848879c2567c8cd6ac285f6f2460dbc0b73f5ae0993c988418c234895380c556042acd15a6c015a13ebe16cdea4be38528a9d244230a0ab053c568e31c64d06a3d7bca0e5207b7669811a3512f8ac6887137b0b7627d2401ccd604ae786753fb6568cb522b28712211208c1849d1f75cc4fb951d2aa081ada952998b0b0e938b77359233a76c135897e91059cc5639e978c12c6bbfb735fef4bcb1d60180df21dd367c02e79916d697f20197d07e9980af13d3a0ac5d2e010a8bc850476630f5b8b37cb8a88c14a047a1afd576b6fd0aac283981457430cc62a900c7e81f47f2574802eb91707e54db0e77c223467ed07c29b7c5197a38b9cc7c77d99018faa271ed10b32843a92001be592afa651082a646858e4497f777c0f589913f50b0952669689bbdc033701042f32dc48fc26038a63142e17a6d7c711f5f058c2392a50779eaa221c811975d957c389513f39f42f7a58175cd1a6a50b730888102dc93f4f056bcb42710572b6ce36865c621a75d7717412a12cba792988517540a3d8493f3ea68858654c62807794cccc4102a9e24328cc722971012af19bb7ab6c97f4813ffe5a2f13403a37b7477d18bd35e4613b73b4ee15a3c639593c8530211a0a52d214b7d48dd93ab27ce23975f2cd9d8aa70c878fcf342cd8343488d7a0b75228dd3cc8ebc1148271af1526583603baaee2110c400ae5145cebfb63fd118f958081e9a652c322b793883144b96517c088f4237f9a067ad83bb3a59c1cadbbbd2e225b33d590a3bc60ff331f856884594944a1055f1ac6bbd5f7bbe0c7b5363c984d408b493b92bca2a9395b7dd9a46c17b632976324206179bf05406e629f86875573d05b0599b561dc5ee8f54a73690b5c3b414fcb7aade872a9489a5530025b442c94052d5e892cb47b7c7585547a72a9e3a3cda629aef1876c96c479063c49e94b952cf819af8b3bc39995d4563337bbcd419c17c4f5696a6002cbc6b760e344a7fc49c2d0c0ed52b54f16041e5c4ecf2426442b9d59ec05872190a80b4f341312f91b7737cc77696acc5e0323e02100563519ad3002fb95b0591aa126a70ecb708143c7a502c53a77a82ae915b25be77c68006f4ccb0252463dd668537c24bf4b0039cac4a4e6b3c19ad37301b595c504909d8a4b8af71c0fc2c905e26b5317703b3195712070b0d5677bd5101c4baf9186582a8b70d163ab01c6151177b7c83b6cca2bbf62f6abef41c6ad6764cd8392819a85cad945ebd210b9c08f1333a393b144a4782e683ca2c73c5875f20debe3ab59c8393f7caf4328a57618197450097d250e9a77266d15cbd7b3867dc49c0e83c7717513bda8235e8b89fde06cef1413ee0a0e42c814b4da9d0b0c5961f73e90c57c1dc614de43c396118979cba7144316607bb82e5451e9475c0cc4127c58a69fc47e6f02a3fbaa03949a9760573b2bd3c6606325c56a23cf4aadd8024bf9d1020332cba28c7fee610d45674e17281e047822138b04df69ce9e11aa644c47fffc688ba4b6c91b01e2747d2765b7d9579485a37e7090aeae19ae2773cb4cc17b998c9d25955a33a0a9c47117fba45f02611f1fb59d415a93aee26a2e4726e50c457c692766d55477546785f76a2ab7c5ab983a90771834da4016a755a2040ee3f6a24145cd2f827729bc74b17bc92032548b663f50b307ac511c47e24e4ac4957e552c4662915074373d83b34f468bd66091b984692dd32669332b0527b0a0bb3df41556aee9693eaacf97047516b6aa455311cf97135b697e7e9a2e147756e8fb0b657b41a6352fe6a17f4b031efe17926b7757fa74831257ce2442066c624bdb106d3330b99d730e7eac1d1528348156352e266475204c6e13b5dc06b2596097c1da6bb2d31e139c34f732a70bc09afd6a8e9700bb20fc78e3fb15eba8b2eca7bda0508b1d8c0c9393557e62836117219fc2201c79346949c53d8414c7e673106234e98cc1508c81317450670ca7de957bfeaab0e6780fbd755eeb08a441f983e3c81468a7bfcbb152bf6a581a901564f2cc6ac13423c32dad054e02e6509725bf13605f646922bcf84fcb4b456c7ca25457415c7275ba54ae8c4717157a299fa18b49fa6be7460f8427516649440d4c0dd42814b8c4692d71b7b6c0049473472e002a53392d183b4ab70b6582557f8ed067eebc00b670b517433466ec6b2f967ec1720b8c68c41d2923fae5c4285c63b03a8416926b93496dd57b6e241b14f2576e7b9a28076b2dcb8c2f475152a5fa7ec98c952a263cfc221282d57bf329a0dad122046a75399507574289a18226afa90ce4d7235ad9a658955b6a25359a435d5a6798b1d453b90679b5849e3fc817899375f890470238004cc7520be51feb8291cb8bc336813dd14a7bb24b2b8b8b425a969c4e410ac4876787f67ecb61409885518e0533884c613f70a22997b0b8cb1e2e333d51ac4e5fe854c657c0cc748adee498b6c389d4b498d206845daa6aa89731b1dbb33f2c38db8614024778225b92d5826e1bcca780400e79b42e0fa3baacc5825bfc0f45cbc485d69c024ca504a975ada9a5a822cc0c11cb3fbabc64d07db6133a7e91223c3658725686ceab91eb74060bd039cf1488376660225b42db441ddbd437d5193bfe777b35513ac8d85e6da433faec55fe969fd3865eb9045589b09769a41c963596ce70238cf7b407b096ea546fd5f141ddd54ec001b76cf634871240d9f82f77f5153e84a6a5c41a3cd908e962c5b8898ebd4287fb2c97a0710b448c4ec93cc5ef1719c91b92ae77b35cf2628396160f0bc3263003e2e89243f073726a657b2386173115b778cfc842c67a4b71d5276a934aa94d92b452286a35913b0262af2a4007642a0b04f76ce58a31bc776d6f1b8966180e2ef026763a87519a10b8049d799a8a3d038d5be31eccd5676550482cb48f19171d8f1a3a633448fe9c83bd28097bb29a168db5af1d1b354b6881a2ce509bc1b4fdc4929c2c7e4501ba7a9feb0be571e27c43fa96f9a7f934636ed9a8611011c033d4a4bb231985ca7e851fc73ea4b2c29e131b7f442db8a66a9e5b31934b +m = 8449bffafb415183ec7e27d7fa2e30ae045b7d860a4f59ad0c551a8488e1db6e +ct = adbeb58726ccfdeb0f57d7643aa30944a004d9754700087b81f8076b8771bfc17419c8529ce51b955bdbf41fd1efd70b04c09b4b8f6c927ad9796ba72774fccf5a873e5c0d1d702828e20328bf6c8df7d4b5e54bdd005b00eee56bcec4407826032d2d7ad776ce41dc11d7d614c33d39405708aa5990f50f70b600cc423a6c687aec77e915fc43df169c93f1cbdd292ef1388972eae2308c4508652db330163a6f6a7789ff5b7c03f0b6eebfa8204dc304b0f744af2698e72be43f3bec48dd8841e6eb52862903b877428514e1247f88bfa96a0ae3823d63938e3b248c01ff7b4ab168d3be022e891018e06e054e1b9a3117e81c28c585322b6c4a2fee29ef28a4ec971f2fdddc7ec69fe067b527de8a7c231b3838b67de00bc213253851cbcfc38067328fc2640102eae7b37903b841fae2b73800bcd1ed9185e29ae007036d02e367a8a132dfd15f855e7c2f7b9239d0d5cbe7d1edcde58443b2a1418136ee20688efa2cd08a718fd878d3be9984c31813e5a4ea6e1e666ea60ddda7f45ede833a5c64f8498d782c9a2c13f6d41119dfa5485c4d9c68c0aaa7ec2cbc60adc02c9d6f080a385984fc0b30f719206ee5d660ce305b3e89bddf3a9a4a6c6533f5b1dc9a74c3d59603626e4e0bc6d32af3ff14a1b030999471f1289f8b461068d16b560898fb1d585791a898b02cc7c7f4ef641daee4413aad487e8cb15919882490c509f14000c25e50a3bfc9edc71f5fa7b8df4bbd4da49a68583dc430fb750ee55fd858418447286a687df4faef7463fbfe20b6bf93d14809940bb355918995a7f4ecc3330e4cf20f0811e034f76ab0fb7c2f4a0027989371190dacd26e3374e3a930dbba95028bdd5be864f8954debbf6937a215948942bff1fdcf47a9db266ce36ad888574a722e6da7c3b3ef40fc238999492d917acdc2bf2ea8752c7f5b9fd41ea92ece7c4694e769e587667da7b7b20e51788f9e0cbe7daa8358932e2298cda50723bd4fd392689b690feb10c7cbee310feb655410237ebb262e31602b0147a73c9dfdea4a52dbd0f9c346854680152528929d44537e92724d171eff47e2704839ee58d541db92f04705a4062e8171f57d3d5bf2eafa05f4a919a7ddfe51e60efb95e12bd8014dd483ecbcf39a012fd711d51d1517633629d31283d14d7416746234000df3fdaf1c2970b783739cda2fd687970cd1456f36b3d8acb9114f2f4fcb810b1254468cf1693d3ad1df6d05734efc100b5dd1e344a1b91a6494efc53fd7916f75ddd9ca9087651c8d09212b452451aa0074dcb364604c589f606be2a5100ead3e05f9eca207421e615eba6d08d61732b1bf722d8413e6a2fc891bbee363271a9f43efb334962b0dbd347cd80e476ccc142af2f792cc0cbfb61366f0c73909eced4d713b26cc91e2cfb7e87acf57d72a3376cd64d8db303150cf153ce379f03fe40ff53541904993210a928f82922cfb19d1a9f2450c5a0fcaea4b97da20d5411143d3bd024174e79b8e7ba5198fd9ad4ee4b4c6b88f119236cc054b61ccabe2defc8df0b93296d23fe57b8d5759feb454c29b7e31f57aa0d46ce673feb4afb33c42c803599f47da390c68f5a41e7c13cbb2408e3b6081bfae78325b5bfaddb29644b41318969fd2fcaea3a7217ced6a5ee634c37dd1bf41058b5e90585bf04956e103a241105a414b0c7c989d6fcded2a89d7a89a99b4d390f867b0b6b281aabaf48d7b592116acd40774011a9f6c51b852044475dec4aeb893f9fc9da7f8019d7a9e776e8d4d1fc7797ad53d7778cc092f103b5c96f6d5db57605d49d49c875fb0c4e7a04aa092c5f058708b9dd7dce4528f9e685cc9f406562d02fb0280e45d251e07b22e54e1e9ad3fbb93d05af01598c24b1d26f702e1fd1dd149e3191d56780ea3b58eb5b1a47c7f271dfb92cfb2df4660cb8e8db24a8d9ca7ed50d734c06a6859cb33d279ecaf9f0ae197a6eeb525269f8e126ef410a6e927098bdb554660a7370c4d109d16cba98e1a00949f47d24bd7fb33fd31e673afe30971b5d7a3261f20369f87ec48e19fd1893f4c79cd06952c901b61694ebf7415fa74fd5cf3c68f5ea736b70099a05f514678969043b8b264a8ca54f94699994786acc701a1c52753702311bba8d69de8427dbb4130b404796b6dc1540ca9f8afcdf40766bc32f7441420f3669e34e494e203c0ed79cde2de398900d1d7c3 +ss = 247fbe279ce626d0f5954a6b863b0ca3b8139d2ff0bce9544fcd56d86c07c1f8 d = bdc3fba1c32751139fc45bacffb3ea97f26573d804a5f27a459293d95190ed8e -z = fd5a08f656a6eb8cd20679930a31caa6a6331c4b133a6838c223ef9f769f6246 +z = 75fd654bb12da3469881ed591a82f58b4bfbac587d045fdf3aa0348029deb1a7 pk = 6806cbedb0c2c364c98989815ee9081d132427943a0adb0da7197cc7430757f3868c49c045d39c8c085665d13bed825fd7cac7fc6933adf438a4cb6849b91a1c737d394c5e08649d88e9274009c4375a4fad4b164851540e43ac603ab6f488628fd7272bc1981ba03121c3a22e587ef30a793ba097d160025ec1b629a348fb8b854b54139d5b6af09a7515ac4ba457c8289108c7c316c069a8e454a8d1084504c2a4e03c0a321681d168933e0062bfe1635de39ec8c9aa2a5a48983c1bc34798fc64114c18ae77f13408f753da60cb892c52f811c8382b3c455c4c0f08248bf7278b9b4b927580a3e50930b7af9c04839b4bbd95e870a7289b5b2ab92fb339c847a9c22529ec61343537944ac07cc5a1ae713ca8fcba73daa688c9ca369e8b8d99fb812489482a727d40c7aaa6290f5032ab8fb5b09ae4985d7558b8c55b9f0accb3781b9b2405f11c05e99cb3723922d0da4963e68487631722c0cc643b3920b8c2ac34b54e77c1fc748c96c186b3a5439fa2b3b2e1a75b16357e2210da4b3fb620407c4cb78f18178f2b6c4706b619f18dc0863c72794434978d20933fc79193894041183660f0437a2e309eee87bf538a2b8c7672833820805bc2cbda61e8f04b7839b1493372759aaed528980e02726eba914491b7317099215135175c41986858fa31cfb689a865375e8547932899867b987167115031f5b4dd263f0341395e1176bff3a69fc9b9c020ac8515af5e665a15f48a3cba1c4a96390ad7795f7695e654279802c46275bab1e32fb7111619c55c8787cc01140f0fc03fcaf4b6df9877e0f24971f06749bb343e1a5faafb66a75b4888a1c63f593bbf3906c324083f737a39247ca110279a677736e77eefd3b08f645100e249461657da00b365a58beeb48de3f96b6797850119145975388ab4c9025215dd4b0a0ec066c8a7a593fc0a1ca921c3c54659d40fdfaaa4f63a6b0d55a761e9a57843617ad6963087396a0187bdf593d98009ba825d056bab8e3b6ad5eb31b3f195a2c9b7cf9281c176b58346cdc24c580f23131213a08c4cc1c776c146893e8cd44983bc01494793028225f2161f916b888c923c8c30c43c41c1a2d12f18a4918216771cb992ff1abdbb33aa5f363e6cc044a0d68e6b36785951566e4a666af6cf9d3222fa17566966c734a364ce14933da00305930b47dc1e977b88e328296461c302c35f3e432e5d01243685c176e1b6876b03e341ce0a1c52ef32966d67004cb4abad9cc8a534b728db8c32811f7e71556beb656d773759f04a71f43413805c1334385e396e8b128225929977f41cf776450460707e0c247980ac42c69cb641af3cb36724d5705af745965181312a91aa000b42b82670a9aea43ac26a5cb3ebfbbdafd4225535255609c3a7d04332e6c816fb68e5ac05daf42c95c78f6db76213a083b3237b4665b9ede88c1bf53b4473005d4627bee21cf225bd35eb728932543956ca142b4f3614816d891895b14f0d28ba36d298d6713809180621d1b12ebabcf032aac6691b22cb9013d8a8dfd70ba1281a77f237f9318b43d043f193cf9e1004cda26f532ababca3528c69200624b613fba988bccc73288b7996c2de008f22755ade918784f7ae2f69ace6e08e0cc528e3bcc85403967da02cf1463c77976555460bba2824af0923f2dc4336ab44d54ca0658417f8fb5755f397fca11e07759c5ba86accac1e30523349168ef3740f59ea90b1f7577ffac0f3f675fa85314ad49cdfb385b6a68d38752c435cce3cb9b176086019113ad638cf3426970de0013624313ff57ac82b1feb24195028b1b65bbcbd5c4ef3a60116125b3580743cca16ca9abe8fdc1ec1ca2e4d717a0eaca0fbcabf74034b74391d8d9668198a14e5491ec817701733be7ab11635e4a1e6910f3745a68035a76f35aa3b3b41e7eb581ce69142586dec698b675a1660b7c22dd1947bb24f1ebc8b22b1ad1b81600b545f74ca076e468513c0a483466089dc1cd7090c4c5623b02b7824d2ba1894c4e200222bf867911c89d3264b5a081d7441a2f3729cfe4106a780237e179839323f97c04979887c4c223f23a81af875a33cf28cbf75722ab92308c320d32625ec326734a532333c8b1ab4767bcb682850750620c402878103056cfab5417354bd395084f4f95ad375f6a1289b8cdbfed9f6518d7031c57fd3455d4544735cf52680424c90f14f -sk = 5e43bfe8ea443466ab6b087deadc672e7aadc85521d549b978b054a9b8949e519e3fc3a653607d794491341039713037d31c9824eace39e7127a974403441e25b714fafba4b98041e85b2fd8d8acc2a69aea9c80930306b46baf5245a505d48e293a77aa4174d1c095b0b4a45754a4a94bcb01d4543bf7c7def2ae2009408725c58bc76bde03abef3c4ee0831d3c6b2632609707b3b861f093e857902d52a2a48619b1ec20dde7a923412f79c22389601473076965959b2aa3c79dd31b98ca9847731c89b0929ef5174cc6b92972ce2c07c8139a62c901216245cfc92b2da158079e1c93c8e08ff438a02ddca4ca948f47a106d40ab6a5b0afaf52052f237e44f0765b3436271421308611845785e257cae691c39fb8c80bbc1c5fd687a547b7e8e3aa1d7c15a918984b6b359cd24711cbbbb95716ea54a8d3511c5dc983fa1b019e0b0d7de90c3c0a9e7652c18e72cad6f9c510e64f0cda8cbd86502a5880ee1536edd16ab36bcfd859ce879b3f5d6a0d90630668b7385c8599ecb1849a4942d87a91497129e196309156c9ab245f4c637080c963f9648fb2ba6f32d2566f88bce680203dfb827438295f8670c9bcc34a98497851bdb0e631ea06accc26373809986da62fa714012d2579d5d61443330e3b882c800b6c9d02c98e9859a4022db4a09510fc91a3b95bcbf73b3a09311cd13e52b61733e02dbb400e8a54a30668311ac02fae2b55fe05c95ac43875d92f3c2acb3d4a6b53d363d5d75a697061055a3a788bcdfa051edf97c3515ca920ebac9e7a998bb598b8436bdb63550e416d2aea5057562a901b609b129d92b27536e02c26ec6a3b2c5f6b733d0529330e9a89600b089dd30a0bb52530a3062be741b09818a78b4fb9f274b7262ca23b3f2a40542caa64fe38a6ed06beb5498733a38a7fd0b5aec2673aca2b07e00909e68d40aa207fb179cf7a60a9e13719635a15cb221d1cc88b921e950c94cee17d60f80ca5b4a656f501d7136d1245207479a1da42c26c48664297562a0bae0e7906e9d853fc7c490e4078b5b3b226b37101a31b5d05a26f1ca1f231a853f23f59d86a3fd269a0256eebd02cc0c6b77f1b1c613114e1084d8d1cbabd0c7702f43d2ee01db985382c562f1b7885a7015edf59bd8988b5bcea1cb04639bbf5b119e6293f908245455070da3013d2b6e2116776694b44e3a7e433407099a51940870b336f547677665c7066e181ce266ff0e508268731bd13afa2ecb4546276a5dc50772a6fa38541af968ae5c59e2d04c3b6002c7120a6a970ada2671590411552e48e7119c7b7f7ac97429e9b7cc0b5242df277cc10e7c48976266643a9b2308cf1799324780743f95e65851c03599fea7129d5552b86ac35aed10b5f00058a8742c02a3e4f6cbf5df61c66143ebe933060c98a4bb55318566184601bb395625fc86e4bd47377b54459b45e50c145596b9178d57d01bbbaa9a63bf444889fc810f1e40e07d289e0b04a58f84348463b9fca3176aaae6c1c119cf679bacc6eb685b9f443c2a9e304bba0adf3888b42698ac1f68f1626439e796e1967c7bef581dbabb6c22c9c16029e18d8493a524fc2a41738a25e735c665e79ac423aca37b5222d97030e794107262a30e76c2c712597527d92437800967c4ca2407d826ec5d0c1bfba5c96b82146320a7f74640100314b1b448db72ae1a57efc949034425da38c4fb03107a06c26e81773edfbc3eb265460d345375081bac591b3cc847a954ae1494f25190c84464141fc95c840c1b19aa0d700073f01381bf2b9c14249fb6719670460e0515d93507f5245b3dcb68e0f00c5e1b227e8608308280b4a54403b5a9df3d392ec3608eeacbc08e10c84158c97920ea670625f08658a17590c6575f41923027b637f2a881c3592271b3e3dfab7adc1a3596ca1c075167847a4c586394ec7735ca93266519c7ec49fc0c1964a47b00538025e1028ff304eded54d5f323cf5465c2fca52993352f70bc1289128ed702a4a6528ae7315d8f4bde361ab6865c182460e1f4a6e49ab5ac81b07c53800c65762aa0594b3c7cfbe449dfe238a63f35463c94b2dbbb18f9b33e6548dd7398f0cf833f1243e72d123918b35530414afa37cf88aba62003bd1f46b158b4a91c1c5eb3c851f513f8a760424a65002d87d6806cbedb0c2c364c98989815ee9081d132427943a0adb0da7197cc7430757f3868c49c045d39c8c085665d13bed825fd7cac7fc6933adf438a4cb6849b91a1c737d394c5e08649d88e9274009c4375a4fad4b164851540e43ac603ab6f488628fd7272bc1981ba03121c3a22e587ef30a793ba097d160025ec1b629a348fb8b854b54139d5b6af09a7515ac4ba457c8289108c7c316c069a8e454a8d1084504c2a4e03c0a321681d168933e0062bfe1635de39ec8c9aa2a5a48983c1bc34798fc64114c18ae77f13408f753da60cb892c52f811c8382b3c455c4c0f08248bf7278b9b4b927580a3e50930b7af9c04839b4bbd95e870a7289b5b2ab92fb339c847a9c22529ec61343537944ac07cc5a1ae713ca8fcba73daa688c9ca369e8b8d99fb812489482a727d40c7aaa6290f5032ab8fb5b09ae4985d7558b8c55b9f0accb3781b9b2405f11c05e99cb3723922d0da4963e68487631722c0cc643b3920b8c2ac34b54e77c1fc748c96c186b3a5439fa2b3b2e1a75b16357e2210da4b3fb620407c4cb78f18178f2b6c4706b619f18dc0863c72794434978d20933fc79193894041183660f0437a2e309eee87bf538a2b8c7672833820805bc2cbda61e8f04b7839b1493372759aaed528980e02726eba914491b7317099215135175c41986858fa31cfb689a865375e8547932899867b987167115031f5b4dd263f0341395e1176bff3a69fc9b9c020ac8515af5e665a15f48a3cba1c4a96390ad7795f7695e654279802c46275bab1e32fb7111619c55c8787cc01140f0fc03fcaf4b6df9877e0f24971f06749bb343e1a5faafb66a75b4888a1c63f593bbf3906c324083f737a39247ca110279a677736e77eefd3b08f645100e249461657da00b365a58beeb48de3f96b6797850119145975388ab4c9025215dd4b0a0ec066c8a7a593fc0a1ca921c3c54659d40fdfaaa4f63a6b0d55a761e9a57843617ad6963087396a0187bdf593d98009ba825d056bab8e3b6ad5eb31b3f195a2c9b7cf9281c176b58346cdc24c580f23131213a08c4cc1c776c146893e8cd44983bc01494793028225f2161f916b888c923c8c30c43c41c1a2d12f18a4918216771cb992ff1abdbb33aa5f363e6cc044a0d68e6b36785951566e4a666af6cf9d3222fa17566966c734a364ce14933da00305930b47dc1e977b88e328296461c302c35f3e432e5d01243685c176e1b6876b03e341ce0a1c52ef32966d67004cb4abad9cc8a534b728db8c32811f7e71556beb656d773759f04a71f43413805c1334385e396e8b128225929977f41cf776450460707e0c247980ac42c69cb641af3cb36724d5705af745965181312a91aa000b42b82670a9aea43ac26a5cb3ebfbbdafd4225535255609c3a7d04332e6c816fb68e5ac05daf42c95c78f6db76213a083b3237b4665b9ede88c1bf53b4473005d4627bee21cf225bd35eb728932543956ca142b4f3614816d891895b14f0d28ba36d298d6713809180621d1b12ebabcf032aac6691b22cb9013d8a8dfd70ba1281a77f237f9318b43d043f193cf9e1004cda26f532ababca3528c69200624b613fba988bccc73288b7996c2de008f22755ade918784f7ae2f69ace6e08e0cc528e3bcc85403967da02cf1463c77976555460bba2824af0923f2dc4336ab44d54ca0658417f8fb5755f397fca11e07759c5ba86accac1e30523349168ef3740f59ea90b1f7577ffac0f3f675fa85314ad49cdfb385b6a68d38752c435cce3cb9b176086019113ad638cf3426970de0013624313ff57ac82b1feb24195028b1b65bbcbd5c4ef3a60116125b3580743cca16ca9abe8fdc1ec1ca2e4d717a0eaca0fbcabf74034b74391d8d9668198a14e5491ec817701733be7ab11635e4a1e6910f3745a68035a76f35aa3b3b41e7eb581ce69142586dec698b675a1660b7c22dd1947bb24f1ebc8b22b1ad1b81600b545f74ca076e468513c0a483466089dc1cd7090c4c5623b02b7824d2ba1894c4e200222bf867911c89d3264b5a081d7441a2f3729cfe4106a780237e179839323f97c04979887c4c223f23a81af875a33cf28cbf75722ab92308c320d32625ec326734a532333c8b1ab4767bcb682850750620c402878103056cfab5417354bd395084f4f95ad375f6a1289b8cdbfed9f6518d7031c57fd3455d4544735cf52680424c90f14fdf4f164c11041dbe981d8ff2008757b7e694f564a298b92cd182129ade5e72bcfd5a08f656a6eb8cd20679930a31caa6a6331c4b133a6838c223ef9f769f6246 -m = 554f3385b382f4a46314de37ee3885addfc5332bd4038785094e0a832e9e8c2c -ct = ba80cb734ac2cfff296237be3fb1835fec5f211097e4a3aaffe971e61fce8f944c137fed78331a03cb95bc834df9115065a51542b09c9938d822a7c001412b2debfd5146a4428fd33f6a07b3aef6d21eee6a4f84f7d63b63fefeb7a8315e29ce2028cf7a84774cd1f1d2ac37c5dc53d188e34b2c94c760b682a750915e36939db15dbba95605640062ba46876dca91800b78138beaf793e3eb7c1ac19102f852081b4b706cf2793845f49f401db8b350035d5b1fbc6017f4be80fcff0b8452b45d4adc897f90ac357cfbb061da0067aa0749cbb7ef34c60643673321e9e3311ea9e0b10d4d6ac0b94715f25e721d5a34fce6155b88825cca7cd886279908bc0dda1cd78570b47a929f48a543ed892d05f1d389c1ec004bb296cbc0ac532b90abcccb56dc30cc37497ad31eeb6481288a72585a591bf3ae12a8db93a5dfa9a066b52ac729d8d292420140f8ab5ff8051d5ce37e0da7d5641370bc2e4126cdbb2eee24efd35fbf1ea0b15f2e80a28e263e50b222ba7a103ae6990b5957ce7078be20717b931916355189a8d0fbc3447a59bce41074f0a512a7a64435dec59ff4f1f06845fb0e362e6014566f15a9d26160a8133f39a4a1575cebad34ccae46616b117b872dcc2f8828bcca8bdd36e79c9b9f7c9153ba99797c1f2ea8fe24f15f85a303be29c9a531750fb5f498e0dc491a02ac51fd431906c6351638167648c9c271ffe030d971fe3ce9c121df8585e0df43847b5577f81683b2fe42dca7e31b8f6ea97dd689bb5a604e367aeffefc9185b3556c4eceb3cf08fa3797b5bc5517ea72b6547a8f154ad1e73602a3148816523ec29e0c73ed9cdda460cd79a62fd20fa4ae80e6902c50f9e5b82c38002d296a731db0f796c88bca71b5d3480045dec6f9b30f62bcbc2db544dbd502a31e50f2f8d6033513e0816062017f0fe32b2775d45f662903a718c3b78709dd6305817f1936adb480ab9ce670981cd44c48aa71276481e43b3be0a4c45093b731ab9b75a18b584845b51e3603ebfb14911f939fcf088f9061592e4653d38ff4b735ae5e8dbb12a07adf7dbaa73cdce839f799b93c6bc2fbe384aa503cb825c34da85af559968eeb5f6c4c87816e054c6429fda94dccd8880b4b2b7defe283f3be2f58723460d203bc3c7cc4194973b65dff3c9a65655522a6b6fd2a0e187d75f93f3b2ce446e0ff4de16e7c6259da9f087794881466fbf1998fc46c451728eeba89fce0d91c1537e9111aff8caea43ee7c7b839015c9e7e4a469d9871177c43e777e22b9f818e759aaeb2343be09e9e63dd7bb19199540b64a464f82b3dc38d66d07c53c688fd29bac259525260964207f110ad13cc45c745b5be24815486d4148410be1cbfac7996a75f163f606a834e31c7af5edb84929583b1b7cb02d5666e61278e7c40c7fb303683efdb69602d25b4062ca547c02f7bb4ee014f705737e8fb128e53e0c581df84a24bdc85a77917a3a5b0bbe5fbe9fb2cbcb731bccad6532f7133f8cde1d866348481f120488cdd6c77755069c8682729de3e44cd2df916a20f884b9fec627fe7089b54c93d3c6f5eef66b676a57fcafc338f4fb957aa516d15e861ae91927cb37fd398993c3a97cff1eb54824dbc3e74882db05b339753520b4bb7162e617fee05ca06b43f2e90c65140642945c43045a9e94f8d5c66b1dc659c088501a0e70af4f8ab758ad7ccc6d4841d51488b6dba3a1856bddf405d09d18e8396347a80ebf3517592ba6f4290f4b1b3c53d3c212bcd8752ebc6beaa41cf118d1676ea3d86d34211e41daca4e1bb18d1455c2a89c1eb7c2655fe07c902013e02a2c891f580eb57d09de29d2981f02af022535713a3d3e08be797fb7362bb3ed616a57e0b00dfa5e2184ada4fec7084ee5e2c2bfaaa1d640ac5d34d1a06da9f78dcde922c31dfa687b632b24c4a4793b303698ce90756b70ca61c92b7398deb9c0d142838b829e745e5b6904cd3c39aedb646bb23dfb5c651bcbed2e9a8b6af41e856dcbf4e78e8c708c3336a3c36b1b84fcb17ccc0751c5f1cbc28cf43098e5bff39ad19fc7489fa5881b0a7d3b0d30072a865147af455a1ff36301d65751c8c3384c5acc67b3a85ec286f3f08d384603b5fe6843c66fb805ff16eb93d0a735272bb509c22a8eb843c702a2a82e51f35ec18877f368acbcaa94096d2c9ad9b4c6461178bb68192bb16c3e7168dac20 -ss = 29f28098cfa280a87f7093d33aedc7588d5f53bc4e3e6c464ad2382842dc50ed +sk = 5e43bfe8ea443466ab6b087deadc672e7aadc85521d549b978b054a9b8949e519e3fc3a653607d794491341039713037d31c9824eace39e7127a974403441e25b714fafba4b98041e85b2fd8d8acc2a69aea9c80930306b46baf5245a505d48e293a77aa4174d1c095b0b4a45754a4a94bcb01d4543bf7c7def2ae2009408725c58bc76bde03abef3c4ee0831d3c6b2632609707b3b861f093e857902d52a2a48619b1ec20dde7a923412f79c22389601473076965959b2aa3c79dd31b98ca9847731c89b0929ef5174cc6b92972ce2c07c8139a62c901216245cfc92b2da158079e1c93c8e08ff438a02ddca4ca948f47a106d40ab6a5b0afaf52052f237e44f0765b3436271421308611845785e257cae691c39fb8c80bbc1c5fd687a547b7e8e3aa1d7c15a918984b6b359cd24711cbbbb95716ea54a8d3511c5dc983fa1b019e0b0d7de90c3c0a9e7652c18e72cad6f9c510e64f0cda8cbd86502a5880ee1536edd16ab36bcfd859ce879b3f5d6a0d90630668b7385c8599ecb1849a4942d87a91497129e196309156c9ab245f4c637080c963f9648fb2ba6f32d2566f88bce680203dfb827438295f8670c9bcc34a98497851bdb0e631ea06accc26373809986da62fa714012d2579d5d61443330e3b882c800b6c9d02c98e9859a4022db4a09510fc91a3b95bcbf73b3a09311cd13e52b61733e02dbb400e8a54a30668311ac02fae2b55fe05c95ac43875d92f3c2acb3d4a6b53d363d5d75a697061055a3a788bcdfa051edf97c3515ca920ebac9e7a998bb598b8436bdb63550e416d2aea5057562a901b609b129d92b27536e02c26ec6a3b2c5f6b733d0529330e9a89600b089dd30a0bb52530a3062be741b09818a78b4fb9f274b7262ca23b3f2a40542caa64fe38a6ed06beb5498733a38a7fd0b5aec2673aca2b07e00909e68d40aa207fb179cf7a60a9e13719635a15cb221d1cc88b921e950c94cee17d60f80ca5b4a656f501d7136d1245207479a1da42c26c48664297562a0bae0e7906e9d853fc7c490e4078b5b3b226b37101a31b5d05a26f1ca1f231a853f23f59d86a3fd269a0256eebd02cc0c6b77f1b1c613114e1084d8d1cbabd0c7702f43d2ee01db985382c562f1b7885a7015edf59bd8988b5bcea1cb04639bbf5b119e6293f908245455070da3013d2b6e2116776694b44e3a7e433407099a51940870b336f547677665c7066e181ce266ff0e508268731bd13afa2ecb4546276a5dc50772a6fa38541af968ae5c59e2d04c3b6002c7120a6a970ada2671590411552e48e7119c7b7f7ac97429e9b7cc0b5242df277cc10e7c48976266643a9b2308cf1799324780743f95e65851c03599fea7129d5552b86ac35aed10b5f00058a8742c02a3e4f6cbf5df61c66143ebe933060c98a4bb55318566184601bb395625fc86e4bd47377b54459b45e50c145596b9178d57d01bbbaa9a63bf444889fc810f1e40e07d289e0b04a58f84348463b9fca3176aaae6c1c119cf679bacc6eb685b9f443c2a9e304bba0adf3888b42698ac1f68f1626439e796e1967c7bef581dbabb6c22c9c16029e18d8493a524fc2a41738a25e735c665e79ac423aca37b5222d97030e794107262a30e76c2c712597527d92437800967c4ca2407d826ec5d0c1bfba5c96b82146320a7f74640100314b1b448db72ae1a57efc949034425da38c4fb03107a06c26e81773edfbc3eb265460d345375081bac591b3cc847a954ae1494f25190c84464141fc95c840c1b19aa0d700073f01381bf2b9c14249fb6719670460e0515d93507f5245b3dcb68e0f00c5e1b227e8608308280b4a54403b5a9df3d392ec3608eeacbc08e10c84158c97920ea670625f08658a17590c6575f41923027b637f2a881c3592271b3e3dfab7adc1a3596ca1c075167847a4c586394ec7735ca93266519c7ec49fc0c1964a47b00538025e1028ff304eded54d5f323cf5465c2fca52993352f70bc1289128ed702a4a6528ae7315d8f4bde361ab6865c182460e1f4a6e49ab5ac81b07c53800c65762aa0594b3c7cfbe449dfe238a63f35463c94b2dbbb18f9b33e6548dd7398f0cf833f1243e72d123918b35530414afa37cf88aba62003bd1f46b158b4a91c1c5eb3c851f513f8a760424a65002d87d6806cbedb0c2c364c98989815ee9081d132427943a0adb0da7197cc7430757f3868c49c045d39c8c085665d13bed825fd7cac7fc6933adf438a4cb6849b91a1c737d394c5e08649d88e9274009c4375a4fad4b164851540e43ac603ab6f488628fd7272bc1981ba03121c3a22e587ef30a793ba097d160025ec1b629a348fb8b854b54139d5b6af09a7515ac4ba457c8289108c7c316c069a8e454a8d1084504c2a4e03c0a321681d168933e0062bfe1635de39ec8c9aa2a5a48983c1bc34798fc64114c18ae77f13408f753da60cb892c52f811c8382b3c455c4c0f08248bf7278b9b4b927580a3e50930b7af9c04839b4bbd95e870a7289b5b2ab92fb339c847a9c22529ec61343537944ac07cc5a1ae713ca8fcba73daa688c9ca369e8b8d99fb812489482a727d40c7aaa6290f5032ab8fb5b09ae4985d7558b8c55b9f0accb3781b9b2405f11c05e99cb3723922d0da4963e68487631722c0cc643b3920b8c2ac34b54e77c1fc748c96c186b3a5439fa2b3b2e1a75b16357e2210da4b3fb620407c4cb78f18178f2b6c4706b619f18dc0863c72794434978d20933fc79193894041183660f0437a2e309eee87bf538a2b8c7672833820805bc2cbda61e8f04b7839b1493372759aaed528980e02726eba914491b7317099215135175c41986858fa31cfb689a865375e8547932899867b987167115031f5b4dd263f0341395e1176bff3a69fc9b9c020ac8515af5e665a15f48a3cba1c4a96390ad7795f7695e654279802c46275bab1e32fb7111619c55c8787cc01140f0fc03fcaf4b6df9877e0f24971f06749bb343e1a5faafb66a75b4888a1c63f593bbf3906c324083f737a39247ca110279a677736e77eefd3b08f645100e249461657da00b365a58beeb48de3f96b6797850119145975388ab4c9025215dd4b0a0ec066c8a7a593fc0a1ca921c3c54659d40fdfaaa4f63a6b0d55a761e9a57843617ad6963087396a0187bdf593d98009ba825d056bab8e3b6ad5eb31b3f195a2c9b7cf9281c176b58346cdc24c580f23131213a08c4cc1c776c146893e8cd44983bc01494793028225f2161f916b888c923c8c30c43c41c1a2d12f18a4918216771cb992ff1abdbb33aa5f363e6cc044a0d68e6b36785951566e4a666af6cf9d3222fa17566966c734a364ce14933da00305930b47dc1e977b88e328296461c302c35f3e432e5d01243685c176e1b6876b03e341ce0a1c52ef32966d67004cb4abad9cc8a534b728db8c32811f7e71556beb656d773759f04a71f43413805c1334385e396e8b128225929977f41cf776450460707e0c247980ac42c69cb641af3cb36724d5705af745965181312a91aa000b42b82670a9aea43ac26a5cb3ebfbbdafd4225535255609c3a7d04332e6c816fb68e5ac05daf42c95c78f6db76213a083b3237b4665b9ede88c1bf53b4473005d4627bee21cf225bd35eb728932543956ca142b4f3614816d891895b14f0d28ba36d298d6713809180621d1b12ebabcf032aac6691b22cb9013d8a8dfd70ba1281a77f237f9318b43d043f193cf9e1004cda26f532ababca3528c69200624b613fba988bccc73288b7996c2de008f22755ade918784f7ae2f69ace6e08e0cc528e3bcc85403967da02cf1463c77976555460bba2824af0923f2dc4336ab44d54ca0658417f8fb5755f397fca11e07759c5ba86accac1e30523349168ef3740f59ea90b1f7577ffac0f3f675fa85314ad49cdfb385b6a68d38752c435cce3cb9b176086019113ad638cf3426970de0013624313ff57ac82b1feb24195028b1b65bbcbd5c4ef3a60116125b3580743cca16ca9abe8fdc1ec1ca2e4d717a0eaca0fbcabf74034b74391d8d9668198a14e5491ec817701733be7ab11635e4a1e6910f3745a68035a76f35aa3b3b41e7eb581ce69142586dec698b675a1660b7c22dd1947bb24f1ebc8b22b1ad1b81600b545f74ca076e468513c0a483466089dc1cd7090c4c5623b02b7824d2ba1894c4e200222bf867911c89d3264b5a081d7441a2f3729cfe4106a780237e179839323f97c04979887c4c223f23a81af875a33cf28cbf75722ab92308c320d32625ec326734a532333c8b1ab4767bcb682850750620c402878103056cfab5417354bd395084f4f95ad375f6a1289b8cdbfed9f6518d7031c57fd3455d4544735cf52680424c90f14fdf4f164c11041dbe981d8ff2008757b7e694f564a298b92cd182129ade5e72bc75fd654bb12da3469881ed591a82f58b4bfbac587d045fdf3aa0348029deb1a7 +m = fa2c8b8c0f711a6d31c496199ad1993c31db62debbc11ba3b3a86fe4278c365a +ct = 532b4a02ee4edf16d60d9048939df25239a9db3e954b2527c1f78725ffea54498ba0a3fa9e35ba72d52e390cf9854f70e9316ff644355ae61e9395855b06dd498596b51b29fe4d89ed0c3f488851a650585000f9730475b5f74a3ac5c2b27cc18ffc3508c3eb3760772e7edbf5b08c3e89847d3e49298b4f2e5a0e3ea9f1e6b700141dc4eb445e41b897698b60f801cb9f1fc9f41024cf6f2db4d40e4578009c635911c6c80121022374085d2946fc5013939e5c7260bbb60c3a36354b74a15f9571e0900ad453afbb9ee4a550c19d3eda35636d55707ca7ca36f2ce484cd400c3f1b741e266cf81fd5a1c324ea6b17eed5ca893e25a81082895d4c56f2d944bc574490715d25b5e7c3054d9b626e1946759ab43113992a33d537431feda05c5bbc6bccff08d55964046414e116739738a62b7d5356c5e7620a70698c494d72cef0a0bd6b2aee85f0b7a97a270cb01abbd51ce004b53d342693cedbf93e247167b50956ff7aa2be75ba92f5563ecf5452311d2a49c8280dd06fed1eeecd8997d555c8c0beaa22baecc6eaa5e2ba37492f577a2fe102fffca71345bcfeec93b24120b78c9b21c897a16ce448acb6c8e79263c57bd61c5147f796d109bf5418593941eced6d92a4a49497ff1a7347c381b7a44be6fbdaf0ca99bac36c5e8e5f9837ddb7ffefb181098145f24a19db7c31eb3a158a601b06ef9614999ad88d7dc853d8331af01c8d1b6540c293f5b684d597977a5ddebcfe3caf9fa7349e3fc3252bfcd679c8ea077c455544b2305a48cef5641190100278ed59212f70996a5addeb0b8d7e097443ad9a4029ba2a1adcf19b86c6e287d26249f9fcf8b834e4a8c9797c5b37591f1e25cf56267c1eb329e3369022580932db7d30245d940caca4f35d3b435ab81bd884529826c63159107def669af6d39993ba9b9f3744d733beab718956b2d0a02a4fb732ff4fb5178498e74dc317d279e47749cf1d5e0e3ea13855fe29df85b5c1ee35e38126fcd4891e5814ef03b51fb03605a7fdc8b391d65ed14dcea8e7a0b692322816f6ee25a0ce1ebd791419107aa378ba9183fbc37f8d45f9bbb957ddf7bda0667dded34397e227c1c8f818b574a39d65772f0c1047b75818082fa754dae5ddfa3b2e1a7efc354018c69bf1b630ea3c2ec1cef068e1fe79bcc7300ed25f68fa312569bef0c7f03ac88b5339e197a8bec218ce3f343ce6c65cc74d4ad731d715c6c3f4ce40dad7473635958b68e8de6247c1e91f288c9f37379fde139bf9e2ca209c8813f940123c710a2d2d06d354619e0291193b0a8f241d31adfff66570e38b4165044d68b864143be14491f00a55930dd618c4d4f0b13384506b5956adae3922f84f54f8501fd87c96aab0504cf42817f68450950253d61f4a6f652133f5880b662bad937ee42ddcd64c84f89081097c98716525e4a12a08bd585df8e8574a803bdfcdf20c444bb5e1c9f251ba65b8128821e80db40ef1fd81a33aaaee707ab44b7a26e27f4054c038b044c573c3aa1bb8692f07fda17699d1d3289bf8c29a217921b5709ae843f0b035463c9b50410836077384375f1fc2d0cf0245378527c6bd0096ef54a364ed1a37b0167b7fc6c9df550dcbb6deaacb6e591463d1f966bfa9cfc8475ecd6ed293c9919ac70ac1228a2ec1dca8258d43435bd4c256ce051115b9750e55bd600b5a7dcb67c0ccd8005dbe48e6e93246c964da16075fc2778313d592a1ff0533b88b5aa6833a65764347896620184bfb08813db2c2f841a346362c6c2189e4bae574b7e539c85b43d8dc43c88c4bd22e83e5053e23c91befffae63be97e90a35b25d85f19d80006df61c7e22b2311824bd53d323c963c9639613baac87fd7a2fe1f6dd8fb6c9b54b3699f263be071ead2f8a203171e7cb18074f3e91e4ddff0cebaeda4eec79086fd8376eda8f29e24a70b8b106295610f4ec3032bf49e45da8680748eb2a19d592536bbd52e76dc73acb84eaabc6d779fccadaf8f6396eb5cbfb185b5fda00f69bffb2bb56d50adbbc1a5fbb91281ab91894fceb8022caf38f366c407b4e3ba82ec8219114d2b23ca0f457a0bc5e90d777e8c32fa9660e5f8a647379760f3a473561ff0c2095f128f6351c5d8f522e1bcb218fb4abb76880e614365f92f3a9792af55a1628eaa3b45cad7d46ef7ac821b661592a2c5fd1c961a73d66c07526d5b646e479413f2ab +ss = 40ab8880047b04213da2c202c78c4b6f92cb6d73f1bf13683737b4fa89a1f2c1 d = 447f6076a627bbc5ad7773fbfeb14b4ba9ac43a0f8b99fb6dcd5e452aa3c47ec -z = 20a7237801f470fcc2bd9fd7bea8322859b850f7882d362947432913dd068c01 +z = 4c7e3a5fa1ec46b73f87af48578132eb080aaa37d31f0c2a041c5948e59f44f9 pk = 2e5317c2017a6ce707b079cb56a06e388b924e96254d26c853733b50520224bc51798578c4c53bc92552e8a42a07136992213a6763056a025106255f57e4670a6a4262445aa745a916a9b629ea64ac757186d136fe301c6226992129b493d0c2d635b5187cc2359cbbf235a90eb24f7feb5137e4157ee0822b0cc1761c18c25b18f757392863c24a13ce6dc84e3c28aafe018acc1b338a27746acb22f687af1e693df043625c63805ad42b9a368f13f19014b456c78236fff57c7de2b96e7a2223d00d9eb8973ab04c67f3b03e8cc1cecc7912033999101b37ec643605c0d70c1161a6cebc512380851f6a834de7631bbf47adea0bc17a6478f122c8be309804d2995541558d688b9e080c22bb3494f43c1b1a0c874bb4d5246688a2be22159a56151ac2e6385b1384d0c635ecc94b80bb8276f435a64883ecf51c43f066d481cdb5a21485380ca2874a38b39a691c12d983cdfee9530212439d154df71106e2854222454c20736f6daa41e9c949941205d84a7b5730b95cd3251c186dd97b1d4ec329521bbdb3394c819a984f87a7b3992d1d578b5e57ccc3ca151992395cc6695ecca7ab67806f2c2c0ef46a6bc02c2bfa17a8ec41caf87f48a146f2345b7a185baa1379880b00d0044f90e2a148186cbf474bab0330b8f029c72802f1b1698ab158e5c81343d34cb10255dbd1b9b6265d4c4a3b1905a650c29acf22ab6929a0d95357bc76983a201727b1a0f7c8464de2bc0da3a48a81b338a1855a759f764639d9e7306341a96b9aa52994bdad71ca3eba0cd695a701a0ca483ba6f16b64a9b59c68747a22086efc38b3344c32e67c66f47359d282b73428afead6cb07774bce87c27a5734e39895771cc490783f149865eb3cc37d8576c1ca0454a33bdee7aa80a2ac17fc709167843167208837594eb8a47ae1a38ce819c4ba7dc4521df532c0a6eaa5ccfc37e1f76e6ed20a1715139d9a41e2fb46cd5c0b3bea25f60a120222aa06e15504e4188116ade33507a26b927d10bed839577d2641b9550e1e921932185467b8c2856a430ed28275daa37b166e025073fa513a0c852091555b0e19a2c8e858c1584e229c6bd2bab500ec032abb4b8028b90e3b24feaa3fe2f826efb574a786c3bcba9829e49ba6318b2b24cca031c636c863f224619df40949b08ffee535a25c7187a92fb522376cb30d4fdc7ea9368594cc53921c857f7a1d9e9528a9cb817e423d25f791b4cb1e95e7b3e6dc406c83c9140385173073f7ac23d69c6aafaa6cf82862fe05a409521174328539b6a907f34d553aa77980c9f4959c329c563d8c03920b98563c5f13a0231eec58876210a5a78f1b43c1fb8b4490d18c16687065939535363ab88397e51760ac356c69f7b25458183a10a0310363f31c5c16f1898d06701824565a615ffc232f33513fae22b6bafa22177b142ff88190a207b4eb5edd4bab67185ab0c9b8acac2b37ac2108ab09f96461a3f079c3c018c6c058d2809f1346889e17cc488cb645c698ad3730084415647728c2116e013767b37bb513000feb359b84105bef19cc7dda7abcecafcbba381bb0727c8554bbac2d42c18bef471fce337e2fb99d69a9a54fb14a1bc6856dd56a020317c4a57e315cbbc371cd673a0b0919209f2361990068f0570b530b0678e01032ac6f95c2021651a1159b0b221545134c500d857c7ba0aab92cab5b5298c1b7b8ad588d0d53860f0563ad9c309a12a82b14486a10b79d7b6d38bbb03d9bb49db4c90610bcde5c383c418088f51eda6a99e386af8e1802d84b6d7f236104c2526d577adeaa8dd1c468d812cbdce44b04d64ad2938fc6495fc0a84e62e506ea548a8f5930c032b59e54aa54598f9653a118c5c83dd07f1b73061c02195436b6a66301bdc21953eba0e0e351e01605d9919956968601549abd9ccc9d284b3943c666cb8bf8c2112f52a5c733691fc2003c5b6eb8589d9594b8c92c4c4c6abc2e5b2bb67078f81849e5b6760cb1391b9c5a57f8705ea61f2cc475f1f3a45a2a0b12bb976b2874cbfb4f7266b6e1e20e6c2c490bab8daa779f0109be1a662c985016c483a71e636156186471a9ae452bb973ec28bc135133e9744cec8b330c0752451c6944b7a304a250595d86b394c6762d104a83936b5fa76b32d3aac91874b16304379133e8d8c063cd3044da1719855fbbd9796314b11df8459ebd2d92b7fdc94c4c -sk = 469963001d4d93da7cbaac0acdfc833c47601ae334dcc0022a9220138c16b9eca73ad1863431a34f593addca4f0ea393fc4595d22a7cadd0a8d89827086a955400abad84226541114cfcb3e3a240fb600dd6c0960a7976175c56b0b48c66721e13882e3aa5784e12869f0c8518037955f876997975d27a7c92d4cf005ab859590504c768b02576a94263c87c4bbfe1afb09b8c0a5c067776a0d96a5d12925b44ab3d3e57c6971b0a86617f65a16c7e9b42c283577219409e1ca4de08a92dc5b4e8e87051680c1b24068dda801fe871e0b28ab0611bbb97cd49bcbf159b7785830bc9d302c0a61ad138277afc2374aa64e983506bd11288f4a20376b50ae1c1233a1acf30af1da67301a5a420aa826db58322dc1c7ad8bfd25c3b21025b565c357b4a0802e615a35a384f1794a0612e030228a865a0390197e7c27f45a4258fe26082c850170cae86721bb5c68cb32153b9934de4cb11528c570af363925ab0fedac79748b3489b7180e81ff6db702d5a100336955ec02fd2b9c86c2cc001833b0ba1b7dbc9699c6556b448324d29b0f6a4028bf48a49b1cf60b4a9f91321aa64ca849848cee2be0a29219f783008417da307710f87cafa2603fd206e5698177e81470af4c608a6128908541183a5b4769e74166349e55b4d2a2a84600ef712c2d1f13f4fb3c91bca8cad209cb5ba0ff578bd6e29a0cf07a972d262a2ea3c4dd44a5d55446c174b345b96871076fcf785cca68545eb6be64bc9be17a7d5914d8a50b286d3a2a8e1a53faa53815acf0237b8bf204c34766e97883071e56539361bbdf29187c180414c83d9c09e30983995aa4850a6b2358aa6240642cb9b0fdb739fa5a93ec60c11061aa8b5e71316a517be2baea2f74baee32eeaa0a75d2030f5e8bbe1b517f56511fd8aa499621a9ef6c88b96a9f33b2b3cf04381b5c97b743063a6286751ad9ee14903c4674b308dd5e28bc700134c43c788b04460db78a0e795e24698553722b4c3a095784828960672cbcafc11af32c918ace0580d5bceaa574409854051a2419f148809147133866f9b651a38622f21e0614f10139ba53724831ff312157146169ea29293d2a3f1250ab9cc877d448ecb53139e6c5487dc2931d45b4a74c34bba11cbb965e1e664ecfca54db7bfe7e61db2382e50076a70a9aa028670a354013c894b729945830b1125aa53f4d352bff33fdbe7c64bf70a4c3acff3680976fb26368693d928122ed5707b453a1dd714fa9c5a8e6534d45b53a2ba464e217dc0461be31c5763715bb66b6f3a4c0e7a3a4cc107602cc3b67487a7d162422468b5cf33c8e5a63f801c2016b15c40398f914cbcdac9664b7601680346fdd3a499d89b5cdb7e77cc8a1215661aa34737149bd0734f7be6a0c20bb94e6a89dfb9b0a9d6c4bfb86408922fdc9650df7577e5a89215c8636d5c376f4596c329158964084200c91af4a7699018c6d139f521204bc521110aa222203774db88ac0ac94cb97720a71411eabee0b2863c35607a617e761298825acd91c73685198be96b84a98ac7295142f6c19bab0082c53a8a50a3a39eec2a34e859cfa2c88c9cbc77b1bdb5377981f61c1fc394d70820336baf21820d44c0956e09a5ef7786b8427a10ba0aed54573ca5245bfa751ef891e1072ab20a4f74795a3f296bc5e9587f272a9ffc71a878337f5149e7ac47a26532b2ba2cd848ad5e7a621ef3b0ac470ad0e64490f6463c0a6d091c1a1156771999697e576eb1155789555392da8d0f0cc364378274922b4d11a3013ac273db2e0606ccaff52048d30821093d5ceb0417a4347e5b178eb5b59d37c54cb911ac08cd5461b1a61567f4448288e78a3ed70c3af85c6bdb72d4bb6819bc1c5946bffee0974e91c56b47bdd7647990948834d463361c1919a977dc84506a0c13ec7a9da410cdf51a9fb67b867dfba51e029e6e99a35a0064a5f640a36b3e41c45d586804d9b5a8306674c037a587427af6160f7568518edb10e4d83e6fea21b23b20a1cc92d66c043b5328dbc9805d7c7d938066ac238c3461a2162624b75bafccf47f58065eef38207d22895e321a0adbb16d2001657a9f622849a0008ea88988359b508ccb764d265766d2b1e1f55fec412afd07a2c9a22729b8ce84ea770cf4612d369653ab92698c6358769d2e5317c2017a6ce707b079cb56a06e388b924e96254d26c853733b50520224bc51798578c4c53bc92552e8a42a07136992213a6763056a025106255f57e4670a6a4262445aa745a916a9b629ea64ac757186d136fe301c6226992129b493d0c2d635b5187cc2359cbbf235a90eb24f7feb5137e4157ee0822b0cc1761c18c25b18f757392863c24a13ce6dc84e3c28aafe018acc1b338a27746acb22f687af1e693df043625c63805ad42b9a368f13f19014b456c78236fff57c7de2b96e7a2223d00d9eb8973ab04c67f3b03e8cc1cecc7912033999101b37ec643605c0d70c1161a6cebc512380851f6a834de7631bbf47adea0bc17a6478f122c8be309804d2995541558d688b9e080c22bb3494f43c1b1a0c874bb4d5246688a2be22159a56151ac2e6385b1384d0c635ecc94b80bb8276f435a64883ecf51c43f066d481cdb5a21485380ca2874a38b39a691c12d983cdfee9530212439d154df71106e2854222454c20736f6daa41e9c949941205d84a7b5730b95cd3251c186dd97b1d4ec329521bbdb3394c819a984f87a7b3992d1d578b5e57ccc3ca151992395cc6695ecca7ab67806f2c2c0ef46a6bc02c2bfa17a8ec41caf87f48a146f2345b7a185baa1379880b00d0044f90e2a148186cbf474bab0330b8f029c72802f1b1698ab158e5c81343d34cb10255dbd1b9b6265d4c4a3b1905a650c29acf22ab6929a0d95357bc76983a201727b1a0f7c8464de2bc0da3a48a81b338a1855a759f764639d9e7306341a96b9aa52994bdad71ca3eba0cd695a701a0ca483ba6f16b64a9b59c68747a22086efc38b3344c32e67c66f47359d282b73428afead6cb07774bce87c27a5734e39895771cc490783f149865eb3cc37d8576c1ca0454a33bdee7aa80a2ac17fc709167843167208837594eb8a47ae1a38ce819c4ba7dc4521df532c0a6eaa5ccfc37e1f76e6ed20a1715139d9a41e2fb46cd5c0b3bea25f60a120222aa06e15504e4188116ade33507a26b927d10bed839577d2641b9550e1e921932185467b8c2856a430ed28275daa37b166e025073fa513a0c852091555b0e19a2c8e858c1584e229c6bd2bab500ec032abb4b8028b90e3b24feaa3fe2f826efb574a786c3bcba9829e49ba6318b2b24cca031c636c863f224619df40949b08ffee535a25c7187a92fb522376cb30d4fdc7ea9368594cc53921c857f7a1d9e9528a9cb817e423d25f791b4cb1e95e7b3e6dc406c83c9140385173073f7ac23d69c6aafaa6cf82862fe05a409521174328539b6a907f34d553aa77980c9f4959c329c563d8c03920b98563c5f13a0231eec58876210a5a78f1b43c1fb8b4490d18c16687065939535363ab88397e51760ac356c69f7b25458183a10a0310363f31c5c16f1898d06701824565a615ffc232f33513fae22b6bafa22177b142ff88190a207b4eb5edd4bab67185ab0c9b8acac2b37ac2108ab09f96461a3f079c3c018c6c058d2809f1346889e17cc488cb645c698ad3730084415647728c2116e013767b37bb513000feb359b84105bef19cc7dda7abcecafcbba381bb0727c8554bbac2d42c18bef471fce337e2fb99d69a9a54fb14a1bc6856dd56a020317c4a57e315cbbc371cd673a0b0919209f2361990068f0570b530b0678e01032ac6f95c2021651a1159b0b221545134c500d857c7ba0aab92cab5b5298c1b7b8ad588d0d53860f0563ad9c309a12a82b14486a10b79d7b6d38bbb03d9bb49db4c90610bcde5c383c418088f51eda6a99e386af8e1802d84b6d7f236104c2526d577adeaa8dd1c468d812cbdce44b04d64ad2938fc6495fc0a84e62e506ea548a8f5930c032b59e54aa54598f9653a118c5c83dd07f1b73061c02195436b6a66301bdc21953eba0e0e351e01605d9919956968601549abd9ccc9d284b3943c666cb8bf8c2112f52a5c733691fc2003c5b6eb8589d9594b8c92c4c4c6abc2e5b2bb67078f81849e5b6760cb1391b9c5a57f8705ea61f2cc475f1f3a45a2a0b12bb976b2874cbfb4f7266b6e1e20e6c2c490bab8daa779f0109be1a662c985016c483a71e636156186471a9ae452bb973ec28bc135133e9744cec8b330c0752451c6944b7a304a250595d86b394c6762d104a83936b5fa76b32d3aac91874b16304379133e8d8c063cd3044da1719855fbbd9796314b11df8459ebd2d92b7fdc94c4ced722667caf175df48a3a346ec7cb1bcc37d67d3137ff7b7c70a07f202893a3320a7237801f470fcc2bd9fd7bea8322859b850f7882d362947432913dd068c01 -m = 38bf0033b779edf5367d9ebc01c988af90904c560970815837380650e4749eea -ct = 42dc166fc17472b8bfea78919e261ea75925004d80e65fb1f40605d2353a17b091758b1f0eed0e83af4fa0ede05571319e280b3270502d96e3c396dc5d8c4166f8899e56782db6ecfd9bcc624637a8ee7732f348ecab587fc1053bd165064ec3781d687045193a914feb6d4278bb51fd9bda7399509931e1404248e9df71f79fd1d0a5232c0121a6b2212fce26fe12ab1a80b0a618ef67fe65bce631b202e24a881675515f205defe72bc7cd7f64b909cf5df086ea31c9c2c9b7178a4e570cceb5b3c761ceebacbda056ec911ec2c19c33704e89f9afc396bc8421d4b9785341f5c34b0bdbaeadebaa1f149fcef61cc1300268051edd5f2457d3c008e69dbf8e5a8321392c4124af7be34e4d822aa617301d40740fcae4353145a2ef23f59e0e2e148fd95e20a916452e96cd3951c88c48f66536b1e35725b21bfc04a628f81f75cfa0419ce29b04243bbb3f8dc9d5e7e5ed1685d1a656a22d5099124b56c596f61c2eb4729a2711cbe6b0b6d7510db1a3b8b07b14a7398bd77c419cdff2085638de6d6b6d57b93984fd8bbc05d49c35e5ba4601eacdc4b1524d2d0d653a51118de1e6641765119beac31386945b38d7ac11467f09e4df6f35b104af41fad0800c7411ee1554576dce910331e471944cf6da8312a585875275ebe3536b831996963a5812d3f12a19714b1e9f5635ca528b0d99dfe13ce3a4ec4de3210cffe3aafb2ee095dc9a2d9eb1f52fcb34eae0db01608ab75be718f78bcaec0be7ffd999a2fece5cbea318e5d0fe15a6dfe5639157a0bb4aafb28e661003769c53a59caf9a4c79ba72f13d4289f5823f145ea7b13620f7b08955a5964d5ea7a6a3d67bf2c8006c534b0c250c2eb56419dd9c06f0ba9fe9c44f67948187e083c16ec7c0c8e3632fee22edd321850b335ffa5e8fb5c6ca1b39bbf763c95ffa71e10d76b25c9241b3924b4cfc3801c184e5e9a3a7248e4f8c76ac80bb3938fcb8ae3b65e50606449d34196e5481406fcc5f43a4f26b05c02aaa6140376816103ab84f35ea853fbdeb26166dbeb65c0294e1fc01484b77ba79ff92e4d63e1f41880209caa12dd13606813029c82af71739134791c0d626ec07c810774a681e3e35211292933ae6944024eafe7d2a00e9d52668b266b1700dd3bce38ff1abfb45a889458110c47fb9594ae19db87761fb8abb7de1f705125ac391f59d14e9e708c8d71602efbd3c3cc3b74c6963f882db0e5be4ac5bb6debbec9c464f8da2fcfd6977bfbbf53ba46aa47c70d8d7e53c9e7dec06b85e5567ba8a7e4ac2779e0522d823de47d04b23a597e389d1fbb2b94b4015610fc872f0a8022fd3e1e58c85be69f016a45934e1adcb1ec2705c8c93110b5845a15e9e1afa464bfd18a5f576f8cad514686734c1651237b34be30d80301ee81c0bff30fc78482120798a21e8f90fd97fbf144dcb28b41bf377dd7bb16196954f315d61f20107e306c1160bdbc4aa94e2e515285fdb4c27a645203fbee670ed25726b90b228179605424db8db06487222afc26fc568d22195cc58be42a6af7e2607b348b4c36ed68a505339627de54ed142bd283473261ee56d06ac268b832e4e53ef618a0b214703344befecd01b53847770fcd256557bcaf675be2d0b6322567cb2d118467faf1e3857985c4f6a050a7ad225ce344a65b88dc2a0d685ccbdf8f71b58aee20f40e64c53001979c6a51f9c743074c3b11707fa8e7fa74701c72b9184b631508358546359a316f750afc6438e57fd8fd4b74ac024677c4ff62bb163bb616e4ede1952fbd5b86108600d329603906f81401d2b69c0f1f1310fbbe82feb24e5b3e77d64968977adb675a84c7cb609d12ac837fffa72aa9bdd19b5f00254d417fbbf4185306d64731e0bceba2aee56415fb0f5b6e69bdcbc06cdff9fd82aea205c85ac2beb9b8a04b1983cd3a3d1d6a57c509cf77132b46b77f5b73b47cef5b52bb9f6bb9fb75eae87b767bc651b6d58367fe37877954b2df855b69b91400ee5ce86e829b3fafb6ad1bf3beca7f6747f5dc2634f8fcd68be9bb1afc7de3351d1636463e45829d44399cac8ea494f5221ee616f4c1e09317f256815a05ddeb4e9dcb1fd90a2356f2ed6880802e1e7f7b8a1a07702e3672c97d9275cf10edc1b86ebff159d328e8eb97b23b74afe14c828e8e42677c25c2e27975f22d6ba0bd81a0c647a925919e9d8782024ee34c0d5 -ss = aa11bff01186992b29074a4f6b5770dab9ac55ebf904207369b9f5b19c202654 +sk = 469963001d4d93da7cbaac0acdfc833c47601ae334dcc0022a9220138c16b9eca73ad1863431a34f593addca4f0ea393fc4595d22a7cadd0a8d89827086a955400abad84226541114cfcb3e3a240fb600dd6c0960a7976175c56b0b48c66721e13882e3aa5784e12869f0c8518037955f876997975d27a7c92d4cf005ab859590504c768b02576a94263c87c4bbfe1afb09b8c0a5c067776a0d96a5d12925b44ab3d3e57c6971b0a86617f65a16c7e9b42c283577219409e1ca4de08a92dc5b4e8e87051680c1b24068dda801fe871e0b28ab0611bbb97cd49bcbf159b7785830bc9d302c0a61ad138277afc2374aa64e983506bd11288f4a20376b50ae1c1233a1acf30af1da67301a5a420aa826db58322dc1c7ad8bfd25c3b21025b565c357b4a0802e615a35a384f1794a0612e030228a865a0390197e7c27f45a4258fe26082c850170cae86721bb5c68cb32153b9934de4cb11528c570af363925ab0fedac79748b3489b7180e81ff6db702d5a100336955ec02fd2b9c86c2cc001833b0ba1b7dbc9699c6556b448324d29b0f6a4028bf48a49b1cf60b4a9f91321aa64ca849848cee2be0a29219f783008417da307710f87cafa2603fd206e5698177e81470af4c608a6128908541183a5b4769e74166349e55b4d2a2a84600ef712c2d1f13f4fb3c91bca8cad209cb5ba0ff578bd6e29a0cf07a972d262a2ea3c4dd44a5d55446c174b345b96871076fcf785cca68545eb6be64bc9be17a7d5914d8a50b286d3a2a8e1a53faa53815acf0237b8bf204c34766e97883071e56539361bbdf29187c180414c83d9c09e30983995aa4850a6b2358aa6240642cb9b0fdb739fa5a93ec60c11061aa8b5e71316a517be2baea2f74baee32eeaa0a75d2030f5e8bbe1b517f56511fd8aa499621a9ef6c88b96a9f33b2b3cf04381b5c97b743063a6286751ad9ee14903c4674b308dd5e28bc700134c43c788b04460db78a0e795e24698553722b4c3a095784828960672cbcafc11af32c918ace0580d5bceaa574409854051a2419f148809147133866f9b651a38622f21e0614f10139ba53724831ff312157146169ea29293d2a3f1250ab9cc877d448ecb53139e6c5487dc2931d45b4a74c34bba11cbb965e1e664ecfca54db7bfe7e61db2382e50076a70a9aa028670a354013c894b729945830b1125aa53f4d352bff33fdbe7c64bf70a4c3acff3680976fb26368693d928122ed5707b453a1dd714fa9c5a8e6534d45b53a2ba464e217dc0461be31c5763715bb66b6f3a4c0e7a3a4cc107602cc3b67487a7d162422468b5cf33c8e5a63f801c2016b15c40398f914cbcdac9664b7601680346fdd3a499d89b5cdb7e77cc8a1215661aa34737149bd0734f7be6a0c20bb94e6a89dfb9b0a9d6c4bfb86408922fdc9650df7577e5a89215c8636d5c376f4596c329158964084200c91af4a7699018c6d139f521204bc521110aa222203774db88ac0ac94cb97720a71411eabee0b2863c35607a617e761298825acd91c73685198be96b84a98ac7295142f6c19bab0082c53a8a50a3a39eec2a34e859cfa2c88c9cbc77b1bdb5377981f61c1fc394d70820336baf21820d44c0956e09a5ef7786b8427a10ba0aed54573ca5245bfa751ef891e1072ab20a4f74795a3f296bc5e9587f272a9ffc71a878337f5149e7ac47a26532b2ba2cd848ad5e7a621ef3b0ac470ad0e64490f6463c0a6d091c1a1156771999697e576eb1155789555392da8d0f0cc364378274922b4d11a3013ac273db2e0606ccaff52048d30821093d5ceb0417a4347e5b178eb5b59d37c54cb911ac08cd5461b1a61567f4448288e78a3ed70c3af85c6bdb72d4bb6819bc1c5946bffee0974e91c56b47bdd7647990948834d463361c1919a977dc84506a0c13ec7a9da410cdf51a9fb67b867dfba51e029e6e99a35a0064a5f640a36b3e41c45d586804d9b5a8306674c037a587427af6160f7568518edb10e4d83e6fea21b23b20a1cc92d66c043b5328dbc9805d7c7d938066ac238c3461a2162624b75bafccf47f58065eef38207d22895e321a0adbb16d2001657a9f622849a0008ea88988359b508ccb764d265766d2b1e1f55fec412afd07a2c9a22729b8ce84ea770cf4612d369653ab92698c6358769d2e5317c2017a6ce707b079cb56a06e388b924e96254d26c853733b50520224bc51798578c4c53bc92552e8a42a07136992213a6763056a025106255f57e4670a6a4262445aa745a916a9b629ea64ac757186d136fe301c6226992129b493d0c2d635b5187cc2359cbbf235a90eb24f7feb5137e4157ee0822b0cc1761c18c25b18f757392863c24a13ce6dc84e3c28aafe018acc1b338a27746acb22f687af1e693df043625c63805ad42b9a368f13f19014b456c78236fff57c7de2b96e7a2223d00d9eb8973ab04c67f3b03e8cc1cecc7912033999101b37ec643605c0d70c1161a6cebc512380851f6a834de7631bbf47adea0bc17a6478f122c8be309804d2995541558d688b9e080c22bb3494f43c1b1a0c874bb4d5246688a2be22159a56151ac2e6385b1384d0c635ecc94b80bb8276f435a64883ecf51c43f066d481cdb5a21485380ca2874a38b39a691c12d983cdfee9530212439d154df71106e2854222454c20736f6daa41e9c949941205d84a7b5730b95cd3251c186dd97b1d4ec329521bbdb3394c819a984f87a7b3992d1d578b5e57ccc3ca151992395cc6695ecca7ab67806f2c2c0ef46a6bc02c2bfa17a8ec41caf87f48a146f2345b7a185baa1379880b00d0044f90e2a148186cbf474bab0330b8f029c72802f1b1698ab158e5c81343d34cb10255dbd1b9b6265d4c4a3b1905a650c29acf22ab6929a0d95357bc76983a201727b1a0f7c8464de2bc0da3a48a81b338a1855a759f764639d9e7306341a96b9aa52994bdad71ca3eba0cd695a701a0ca483ba6f16b64a9b59c68747a22086efc38b3344c32e67c66f47359d282b73428afead6cb07774bce87c27a5734e39895771cc490783f149865eb3cc37d8576c1ca0454a33bdee7aa80a2ac17fc709167843167208837594eb8a47ae1a38ce819c4ba7dc4521df532c0a6eaa5ccfc37e1f76e6ed20a1715139d9a41e2fb46cd5c0b3bea25f60a120222aa06e15504e4188116ade33507a26b927d10bed839577d2641b9550e1e921932185467b8c2856a430ed28275daa37b166e025073fa513a0c852091555b0e19a2c8e858c1584e229c6bd2bab500ec032abb4b8028b90e3b24feaa3fe2f826efb574a786c3bcba9829e49ba6318b2b24cca031c636c863f224619df40949b08ffee535a25c7187a92fb522376cb30d4fdc7ea9368594cc53921c857f7a1d9e9528a9cb817e423d25f791b4cb1e95e7b3e6dc406c83c9140385173073f7ac23d69c6aafaa6cf82862fe05a409521174328539b6a907f34d553aa77980c9f4959c329c563d8c03920b98563c5f13a0231eec58876210a5a78f1b43c1fb8b4490d18c16687065939535363ab88397e51760ac356c69f7b25458183a10a0310363f31c5c16f1898d06701824565a615ffc232f33513fae22b6bafa22177b142ff88190a207b4eb5edd4bab67185ab0c9b8acac2b37ac2108ab09f96461a3f079c3c018c6c058d2809f1346889e17cc488cb645c698ad3730084415647728c2116e013767b37bb513000feb359b84105bef19cc7dda7abcecafcbba381bb0727c8554bbac2d42c18bef471fce337e2fb99d69a9a54fb14a1bc6856dd56a020317c4a57e315cbbc371cd673a0b0919209f2361990068f0570b530b0678e01032ac6f95c2021651a1159b0b221545134c500d857c7ba0aab92cab5b5298c1b7b8ad588d0d53860f0563ad9c309a12a82b14486a10b79d7b6d38bbb03d9bb49db4c90610bcde5c383c418088f51eda6a99e386af8e1802d84b6d7f236104c2526d577adeaa8dd1c468d812cbdce44b04d64ad2938fc6495fc0a84e62e506ea548a8f5930c032b59e54aa54598f9653a118c5c83dd07f1b73061c02195436b6a66301bdc21953eba0e0e351e01605d9919956968601549abd9ccc9d284b3943c666cb8bf8c2112f52a5c733691fc2003c5b6eb8589d9594b8c92c4c4c6abc2e5b2bb67078f81849e5b6760cb1391b9c5a57f8705ea61f2cc475f1f3a45a2a0b12bb976b2874cbfb4f7266b6e1e20e6c2c490bab8daa779f0109be1a662c985016c483a71e636156186471a9ae452bb973ec28bc135133e9744cec8b330c0752451c6944b7a304a250595d86b394c6762d104a83936b5fa76b32d3aac91874b16304379133e8d8c063cd3044da1719855fbbd9796314b11df8459ebd2d92b7fdc94c4ced722667caf175df48a3a346ec7cb1bcc37d67d3137ff7b7c70a07f202893a334c7e3a5fa1ec46b73f87af48578132eb080aaa37d31f0c2a041c5948e59f44f9 +m = 0359cbd196b3f4e9a0f8506a14a90ae501b00496958c512744ec20e95b065497 +ct = bf82eb4f62d1087f051465c782b577f7d650b12ad67159e84531c6606da08d3398dbd815abba744b688372e4594f779a7b14d4f7dcba3cf2ba7761c740d350ac7d482c5598d7563070b6f402e9a6e7f9f032406665f6240938f56f68972741b4263d25f40ff97c772e1f1a67a4329fe4616bd56140ada860653ddbd8bebac2ee3368db493a3cd9a831643df57b3094df1012f57f6af15185eb5a6193c0ab8cd33a4acf1e928b73a5894557324fca822482f87e42adbc64360e111ad67e794315b745b1f472b986e760ee7443902277c8d8fd31e76b8aeac1e88321f8ed9aebca0d383bc00a4ef6a33bdcd61a186b24b3bcadf2630b11462e2140f2427a078fc0b11b4a6f153c277f018eb81e86d61a932d95b9e344e7a025973345e1d1725620eda0ef7a2383aeeb376176a548d5f337fda178c21b6a07b297a782de3bd7969af16fac234eaecb907388491d3614ff845d474a081953bf433a23a03bbdc43030a4835591329ace848d1d1f70ca660cf818ee424e6e5c611ae43db03bc040ae40ab2834f8b70ea2bc3836513582332ac294f7b187db83e60a139df7b917670e59db16238fc6f2c379b56880fc2297eaa8ac2cc44d0f73d9b6863ca807080f6be633c4e7212d88c4c2002cb4f9a530d22087c79712f4b1ff1f8d2bf5515376ce042e3beb80b93f8b08c48d72b5f6a821cb77cef664e7cd9857148e0c2000d94bf39d7c382ae9cbe57120a41ff30562ab6113c3165c6ea382162e4bd1a261c7331c50bccc726270775a27d79f0eb9fbc0428d414ec8fce884f1c85213a3c1b790ede2825f2f184637db757e088d278c603be389882fcab5ed0b7b5476de89e6a4039d9f24f3e16b3b96de3dc63074d84eaa1bf72c7291a75eb6356c7f08e030d232f4aeae01c085f74b2aa47df9223c104352c67973eca82a665b6c0d69f05a93a1c4c084f1fb3fc1eb8ce1d0fbd804a3f75f9cc3e00f2dde13e11f9e62f61795d61d2545a6154b7d04ca06c4ea3250fcb8ad24451c93f58f91250e937023adc2af9f1d657704167d8db511d5974194107c54cc7c4afdde2d125e5bbb2099e68165dbdcff212c72c62e6a4aaa6c808e9d390cc96f59f30b9d064004022a9d3a2a6b8603463e8e67adc0f3b659131d450cbd421d09fd05c75a80cfb8e64ae53c30c59f13b80ba11647eea1c03875cce054a5756124d8c9dd62f97590a4a6cf99ad376cf57b4f0dc272beea83a250c17d9cf413438839c53176ed7d32a169630a48afb6f09ca30e8efc954c2100152c33e79926b0ae5fad298cd2eccb1138c77835682e4d68c9d2cfdf7cd105209ee3506406f77d36d63da6ea8922d55d1ff6f45dfebc54f761050298ac1e3082c6bd9e31e51f23bf38237abfdc2cba28243d1986fc0fb9bbe76d749d1728fa52e885e8218cb16b18a5799ee0035755596c9dd48fd409a6e13f7aacdc3956dfc07c885c94461d10453cd747f85904bae0aec6e1a834aca4ffe1fe4f9aa4e7000ccb58e9b15afa65805683192d848672be297849f9731345b52c9adc1bc62d3379d81f7236d3aba47ad7888e818f4ee6d34a3abc6d7299f831a59dd111e92b7cf36be03d7442aaf4a57cb032629c8b88c7b3f9376b2b697463ee6501fef1d5086ef8aa522fd187019cca041cabdfcf07cbea316612d96b36e1aca51e64cb2afeacbe702ec905ba5b21f827f55d2e7be8ddac5f25f83e787cd168da2b5ea0f61f5b490479d9a7eb7a8db43116e1904b2df22d34a158084adcc0a2c2302e995fc69d9b76af0b10cf6273b5d09fc56b0297e631dcd6c27a333bb729b18f82aa4a4ecf642a1b036c7351f05c71a991680e77c7a9644f4c3c91b4a84b46d88ce49d5dfaf3cf7f24f3fd1bcde24aee43aefdb03ae0657a894ed2c314b4d3bf8538c470bb4702066106edd35ad5db74dc2254e0452073de9aabfa4c43ac45fc3c6f517ef43c8917c54af0a569514402a12a7b0165f4413b122ad1066daeaef044262337acf6ac0d835eb94ceb9b40a8e7c018a2af8e09dc51b4b01fdc8f349b6a26f0837ee72ec066ca583486c0effaf19cf8f29dad4904b4ecfddaec5524eb7dbc4bae4be88670d5963ba131b48f55c1babaf6052fe7395d77459edca9c486a9cde82743cf2eec883b23040478374aeb574df03fa905bdbe8b8d398a7d9786056bcf3e9a97ae2f7ee78ce18aeb8093e0a1993bc54126ac633c +ss = f1b93086f3491b94a6222ad9f523ad857e7f0eb57934c234be379ee8f43172ce d = 2d5df64d62cb07fe630310bb801c658dbf3d97993e68626745de39d37fbfc2b2 -z = 7b534537addaba4ecf14f02ab317d36cb9f0f50222ced7cf029dff8a0d3d2fd9 +z = 6cf04ca090e5805fe0ffedd6be0f254397155a7639c5afbb30a7a75cfebff026 pk = e4783db3d78351b11b00e292ab5425ab7110a6847a7fba29c24241999ac07fa77b461841c12519e9388635513837dca2a51434bb03bc43e89e9b73362cfc5f05007428c6c96271674a574f64d51cb5793454590fe9d42728c5c51858b2c5554b143acce2e1a9a4238cc9b88b12670e884b743168c967574f1ed1b700c50ce9f84d32ab1cd1e85a3a31a324770ec851a2de70805497a27148cb66249f8ba7796c02cfd462823dc9020f997114ea758511b5daa832fb6b4d05e10fd9f53d0837a5eddc05add9aaf668b87af55516b63a82bc64146b21290763f46b00a6ec3cfd71c702a28719fcce1f1a2b7d124a4ec8703d63865964036a27274c806ea1ab9067e5bb6d1766faf4b58ed05cca5c6688a86a5f9216ca7187423cb9d453825404448cb7290a5bae8848c41ba4cad130894cb385f68916d3a5ab6eb045522ba80c1154671617afa25e15734c5e5051f1e3173562899873ba90d670d644ae4192351b108f8511c89dc2c1633516b0a850a0345d46465bd058999ed227c8cb8f02625f4f0570a72a77fb1171aa577eb0239bcc2cbd00c82ed1baa91992ae4283be56094be2bb4c9f0623fc53a9d1853afa9990d1998b1e7459dfc3c57db5abf30b0900716416a152be54946aebbd7ab8cc2cf535321a57cda44cd34060f86ca496830a16652a88d069802c59f902cf08d91afca82bb5b3aae6b4af650a3d7f5a0cebc8ce63a2a7c7e07c5a0cc9b18ab56698087dc65b2a014b8e00af240397d8c00c7454380df1497293327b81cec6e43154e97b93d9695d21c807f621576835e5b79f42d777230c8dffd72cf41a05fbe51765280bc6d3928c1166a6838e33a40b81826be34685203c7041599c14a84d3df2a044540957141545b465f03579167cadd8a93d83a03f7911406bf613562bb6a9863e80d886709978cdb75037b36a60f073ffba561fd87f6fac17d04b3233f797e091221114c78e794b9a9073bd0a66822aa3aaa4ba8104994de5718a44ae76aa7a8eb59c1f8c59ea9cc32724372767060ec6951809848ef7cffae9aadea314d57780599cc3e55a8b0b04810e5b3a2cd9cae6d729e4d994c4d296f2b07dfc97596f8aa4636c70863ca52020b1c21c074838a4ac0360f88154c8e8ad820c3778275b966a3568b36b3f44a50a019a8d588849cb39dd813d5ca8905460bcebf94efad35a3a2ca588eb4fdf999e778b24c41259f198c20b219aa6c1715090000f4407a7217ff5645f8483a408facfe24b368d9042eca9bc803b9d0712b21ee36047016e5559b5d9bb6e046a63ba32a9537380ea73a22b662ee892a62af4b2710a2920a36f1740bb55b36700426287329e4f3b63acc77d6f6a94411a2612316da5b612882605a930a000c18dfb6331f9005427d63bd5c66bb0b4c496b6071cfcc8df3c4b350bb252d920b9ab3f73392b3a6682eb222c0fb065977b93c8d133fc07249f6a0a47d19fd8702f6c618d2c170dba4c65317c1d0bb188a09c9c4e97212ff004d9477fc36c1a25f3c725a7982146c4f3d20b0b07356fc8bd18289f860bb8834078d7d4813da9bcc2d3746f0b9387600088f277f9f747a9862be9a851cae219257b190c91c17c910dd8315a107967fc619c20093ddd6532b6a096838b1be3263f314c42a8f4b8b71586dfa279550ca54d87a1bd46b8d9c75861080294e9a084f3970d217610299aa8fc5814611a40bc01d8d60ab7878ec5c0460b916dcc183f826888d0a03a89dc3e27569b2a7a461ad847af7286af11a7c7a07ed8c3aa76b209d98c7aa72a5c3049be14f723c2062fca960c28925e6521534f855f3fec4054f3224851137ad18c4ef959e47c8134c86356f09b82606a69116b5d572a7c40a6a300b689721d37e80148821aa74902c0c30331664a65976c29e80034c00447245fef8a3a3dac44824b210a3b04f3b7af5a824632fcc5ebb45948ec3cb971607ee94ffca362ca60cd6e895c9aa0ce699570bcc4cab9832638c2269dd9b43f880d4f507768e4986d85814929afe4801008103900230956193e7262a0af2a6036f4cb85c581a5d1256cf78c1657598bf1c45f3048f3fcb0a37ab971d30f7f124e7662b171a5070bb14a750b26af9b020a929fd7b2b244d5945e58b5bb64b2f60b7296491d0ac31bc6a046c7aa3a1738b8563c234d4da3b73dc1c5c4a047b0a5ea85edac7bec66f4d87fd2fe422e7dbcd02d1455 -sk = 3c14bdd913cda0f267abaa8b0a30a5eaa527638c01926623b0bc2ba55b0b596a92bad72e92845828e8050f4c2f40873918e4524cea8505208d345783f71202496721e361a582c5445fa31fb662a64941abf9fc203ab4a741c9214c1b80b4ca617c4976c819794f53cacdb3509978a6df5900016278388234cc1a09b804679f36718255b2db60a7eee5bc3bc78bceea8060354b54031c4c76b30a1a8b1ebb697ff8606ce408fba72dbf0856e5b53b1e4a4ecc746cdfc77545b46060974c8a788a1d59529a9aaa571b895be01ed5c23a0d22707d89467a5b9c662767a0d77d5c49adca983ce7401f34526dab1cb9fe744bde8c54c230705548b9ed00b9f4ea055466cde77019324c0a7c9ba404b641a6530ae64a964ea47e6e80aaa4652c9a8b66061103f385479e50a780249a909c92b7913329a478880162d8857d58fa39d3283f5a2a7f8ff6abffe2463db40728d06166627e9c92283fa57a2e46190ab869b6c21fbeac86911284153b259bd2a442070d1cc581fdd333e5990f84ac67f47491df01128f0959ada0891c236e0aca87755289c0e6c8fb136974c97dbb1b8871a4c70aa001fc950f0cbb3ace4ac44f800252f5bd76fc1dc09a3d2f8860385a4bf8d765b49c5379140e0a2801dac947c23803ab6b467f2bb1b019b9d53771418312f51b28db18be216794a0467d79ac8abaf2c90f4b1b3474c168bcbcc1e6ae59c5781296467f2b8d63d5842d67935dd429bf8319bc0b8199cca9d3f78c483b8e0771622ea764fa610ee13c1a188c56d0b5c17094c1b7a45321bb69d99a666a7963268a1d0a0491b8b5cb700a7d86ab9039330edd8bb17cf1ac79355a82166458d2323e070ac109c98d201358f22bf9a3b513b8bba43905d1a790a7b1a11f682583ab4fe0a82f3e316b7c70afdd823c8fb7acfd330b22f378e8597ca5357454a71197cb4039e9a81d7995d14587b479657584407b281886d6a7fe9b6170a056d2003bf898027c275b7c1c3d1d0c157145ba52d264699b969d60aa3873a9606041c20b17c90055b8016ea703539638cff8aa0a219542bf51b68cf153a86149881c087d898ef9c3a089cc70a8656117131aa3f233c73cbf439022d224422920501c07243432aeb925c4023185d3f897a79a983d857c6d1422f9b22234005e00882f77c7704cc74adea4c8f3971e7964ba1a530c1f722ef696828c46946f0b329d909a47b83353330630359eb8e9b7e78abc50fca8c3aa9af967c89f464430c815d1959a21a226a966a6434301fa600a4d129886826803ec49a54a34acd62b50e33fd782937571816421341cd76a3570c17ac9c338e4ac4c51077650b98ae445d236904da694f755c1a5b288275b517b4c9b896c49bbc18933e52d34969b6ad8add604b526488c6397842a54b6657b93386b0ed7d36fd2f448efe43b0a144c33f729df530c8b6340cd61897b3c50b0d8ba81228604f7a4bcd120cd2a7bbba3b4818177c435a2b0c3ad838c6d9bd3903d64b32b8a8da5d93589021251d14c920328c4063c2af3c8c41228355527adf41037e1ac6aa69a427a55354ca9d54025306c16f93154776b4a7af9c9ef2298dba9b669c40bd0601abd410357b8940511beb6c96543d121535437d8eb5fa6a6414860ac4e849f5fcb09104a68ba7987f52bc859dc9025450332b28f3959ca78f18cba09c3c4522d365c93cd4756b780a9ab87a040b8202c2cb7ac3c880796775feb4ee8e5228ef4c62bc93e5d068226701d244348f3665941f59415c6275e1656fe68487f3500739762d13ba5d3ec27c5f77b7703a1b2e645b05782e5a21952584a323282df23c8a9695c0b537ac9d6bb4e7907ea4bc2cdd684ad647ce10b326585a0f7e486a4bc15418454ce4baf62b81131c0008d54cf9a6abd94e212c0193c724a54f8c12b4ef6b6ddebcf678ac0fd84cbca17284a326b7edb071f9c2a3df66334e29d588b94d684474261b3f8fc6bfc7a9328b7b91bf2023f088337b331b0c143cb86549264bede51c9bed644796b53d3f230327b14c7d699332457e90a5d40a053309403b263a59d7cc6e56b3e87592735d95e3aa819c41182dd9c0972592fcb2caa046883e491bfb4c34c87b995f143ba5f7c51dcc45c5dba619822102d005eda5ac7d4b02b05b8c53f1c79df7a92a9d4cae4783db3d78351b11b00e292ab5425ab7110a6847a7fba29c24241999ac07fa77b461841c12519e9388635513837dca2a51434bb03bc43e89e9b73362cfc5f05007428c6c96271674a574f64d51cb5793454590fe9d42728c5c51858b2c5554b143acce2e1a9a4238cc9b88b12670e884b743168c967574f1ed1b700c50ce9f84d32ab1cd1e85a3a31a324770ec851a2de70805497a27148cb66249f8ba7796c02cfd462823dc9020f997114ea758511b5daa832fb6b4d05e10fd9f53d0837a5eddc05add9aaf668b87af55516b63a82bc64146b21290763f46b00a6ec3cfd71c702a28719fcce1f1a2b7d124a4ec8703d63865964036a27274c806ea1ab9067e5bb6d1766faf4b58ed05cca5c6688a86a5f9216ca7187423cb9d453825404448cb7290a5bae8848c41ba4cad130894cb385f68916d3a5ab6eb045522ba80c1154671617afa25e15734c5e5051f1e3173562899873ba90d670d644ae4192351b108f8511c89dc2c1633516b0a850a0345d46465bd058999ed227c8cb8f02625f4f0570a72a77fb1171aa577eb0239bcc2cbd00c82ed1baa91992ae4283be56094be2bb4c9f0623fc53a9d1853afa9990d1998b1e7459dfc3c57db5abf30b0900716416a152be54946aebbd7ab8cc2cf535321a57cda44cd34060f86ca496830a16652a88d069802c59f902cf08d91afca82bb5b3aae6b4af650a3d7f5a0cebc8ce63a2a7c7e07c5a0cc9b18ab56698087dc65b2a014b8e00af240397d8c00c7454380df1497293327b81cec6e43154e97b93d9695d21c807f621576835e5b79f42d777230c8dffd72cf41a05fbe51765280bc6d3928c1166a6838e33a40b81826be34685203c7041599c14a84d3df2a044540957141545b465f03579167cadd8a93d83a03f7911406bf613562bb6a9863e80d886709978cdb75037b36a60f073ffba561fd87f6fac17d04b3233f797e091221114c78e794b9a9073bd0a66822aa3aaa4ba8104994de5718a44ae76aa7a8eb59c1f8c59ea9cc32724372767060ec6951809848ef7cffae9aadea314d57780599cc3e55a8b0b04810e5b3a2cd9cae6d729e4d994c4d296f2b07dfc97596f8aa4636c70863ca52020b1c21c074838a4ac0360f88154c8e8ad820c3778275b966a3568b36b3f44a50a019a8d588849cb39dd813d5ca8905460bcebf94efad35a3a2ca588eb4fdf999e778b24c41259f198c20b219aa6c1715090000f4407a7217ff5645f8483a408facfe24b368d9042eca9bc803b9d0712b21ee36047016e5559b5d9bb6e046a63ba32a9537380ea73a22b662ee892a62af4b2710a2920a36f1740bb55b36700426287329e4f3b63acc77d6f6a94411a2612316da5b612882605a930a000c18dfb6331f9005427d63bd5c66bb0b4c496b6071cfcc8df3c4b350bb252d920b9ab3f73392b3a6682eb222c0fb065977b93c8d133fc07249f6a0a47d19fd8702f6c618d2c170dba4c65317c1d0bb188a09c9c4e97212ff004d9477fc36c1a25f3c725a7982146c4f3d20b0b07356fc8bd18289f860bb8834078d7d4813da9bcc2d3746f0b9387600088f277f9f747a9862be9a851cae219257b190c91c17c910dd8315a107967fc619c20093ddd6532b6a096838b1be3263f314c42a8f4b8b71586dfa279550ca54d87a1bd46b8d9c75861080294e9a084f3970d217610299aa8fc5814611a40bc01d8d60ab7878ec5c0460b916dcc183f826888d0a03a89dc3e27569b2a7a461ad847af7286af11a7c7a07ed8c3aa76b209d98c7aa72a5c3049be14f723c2062fca960c28925e6521534f855f3fec4054f3224851137ad18c4ef959e47c8134c86356f09b82606a69116b5d572a7c40a6a300b689721d37e80148821aa74902c0c30331664a65976c29e80034c00447245fef8a3a3dac44824b210a3b04f3b7af5a824632fcc5ebb45948ec3cb971607ee94ffca362ca60cd6e895c9aa0ce699570bcc4cab9832638c2269dd9b43f880d4f507768e4986d85814929afe4801008103900230956193e7262a0af2a6036f4cb85c581a5d1256cf78c1657598bf1c45f3048f3fcb0a37ab971d30f7f124e7662b171a5070bb14a750b26af9b020a929fd7b2b244d5945e58b5bb64b2f60b7296491d0ac31bc6a046c7aa3a1738b8563c234d4da3b73dc1c5c4a047b0a5ea85edac7bec66f4d87fd2fe422e7dbcd02d14550c4dc82d723965476a518ea0915c1554bcc61c814c80ff120c37e7e8ed6d5c407b534537addaba4ecf14f02ab317d36cb9f0f50222ced7cf029dff8a0d3d2fd9 -m = 048ea516d0ebbd9f709b47eaac66f344c571cf50f0d01c9466aa061a50b66a24 -ct = 639c23a8d56cb8898e7060b9d8e740599ee22b195af2bfd2fcb15eff0ebf73af3940b0288d40bc7c32ecec62ffc93b73cda8926beb3b39f93d3f68588165a6c288e5d1b571780b768092fd6637183577bf001a28b75cf96230ab9821a99e4940a5282ac68d4ddfc1281574822b245d2d36a18e043b08a6609f04a98a24f7d3173f8b73dc2242d2f44af472dcb6b6175115a1de1e94440ec6d5a5d2ebd551963e99eb97f9614666720309dd74e30185e677fcd40f8dd7091ca97ef393a5345190d8c3db8c1ce0d1ee313a7a65c1bbbea92d060af41570431a85b99dc422ba988200691965ba148f58672739755836a01e239eaaabacf71af568e067f0ac4cee103c6904b76d8bde8f499e75052d822394aaba1b1d488c8804f5a2ad71a219dddae3f4f254d0495de72881dc25b338eb7054e3ebae004db531f2dc4735f619981d047183027a91854c230e3d9905fc46dbaccabc293c68c1009c1f06e467855aa9075ad5152b1bc945812935811e129ce37ee286426215105ce661ef821ee0219338a7a0be822acc690b1373a117f2408852894a0cc3ef5830ac26a335b9ba269ae92e2940510a2cae2aad10be949644a1bd68a42a97fff440cfa57d8cac297f8307a4e56480b29913fc1aabf55ca8334c282d2114eaa9356e428133c0bf17974e8022bcf93c57842805a482ebb01cb12c0669ec9660e43204c57ceb8aa57fe73b741e092c814f0b3e3e67ed5514e1cd80f230cadfd85b5368b6bbdc437f2ebea03dfeafdaebfdf7b7c770877d90f4d90289050dc0841f1d51a0eb607fbc4ec04805c2d066092e1cb33f0268ade6fbe4ea035c9c9ba7f300b8aba3fb4930e5753389bf2fda206b6faa34323e110293ce43848f8df6cbfa1754ef495008c99caed0dd0cf0e959f81cfa544a7c01753c15e799b78ffbac02961c561978111d228a0fbbba0d4cf31e1f656d59b0dacf2809fd881e7e0542e83cb4cf8707c2c962cb3f5db55046c3dd94ea1db12c3221f1e8aff4cded3b9334b4a017c4d3dc0939507c38c16f9f78027fa2ea7ac62afef62e8aba4d635763ae15184aa020e2272ed0212c1ea233bec517b2e840c616453caef7a2bd0bc9756ba84f484a5b903da60cbc81341ee1ff7b15236299b2a97cf4a50d7b17533b1f25c8ae6e72831671abe9878fc06e00cc91fc721fa93964127119d46db101df23fc461aaf5000f9c5857cbfe15bfb544934680acfb7d945738cf76983dacbe606baf66e9aa313bb48868a5255cd0068c2891ece8bbd6ff843f7d3e6b9accd1c6cf9ade4248d2ef74fb8ced08f438c243ecfd74a3c9ba5374373c4b820ffd69792f87279f5f0637eceee82aeeef31cffa00f96191906ece032fef5267d2c167251037501f7a71d93d6876a09ab9472a90c45db8d692829c51723cc7d9342ae0893f324985123a1b131872b2551a37723eb2eed55c272f72dc2fb2a89e3f53a18dc535bf6ece2599247d04192823bd995dccde4784f3d0abf7af07b1c1017c8515c7d07267f63451e0ced75088d3e9dfb92e1db4ada09706f70a3f619bc67fbcf4a5fe8151ba67e92f432f1524f233b49b635576f7da97fbe1491c0590a83a6a5cd06e00a707a0ecbe86d71f625fdaf106e2d43c6ccef9f742d2f5f8f6aeef1c79b8dc582f3a8e43d415a81303b0a8b482353cd4adfe9822bec7f8175d70c33750e5105b64512be8b359e351e7be9c26d860bee67352656a5620c6ba3917a150a3114b1b67be6ad1dc2e88d4f9e0bca184f11f428206017a5d1acb5b1459a86bc40cc4755b801543b4d8bca52becf60482117a5b42c0b8a2e07b682edcfc39a016bfb0874e5800f8b2e91e9519956b92f526cbe78829312f028cca6508b8dbd1a6be9408bbec0598d490a68a1cb596c5da99b1dcdd4e7aa2441c2b38653667ea2d45793876785cea706d4eb574525786931b9dee433ffc6206cdadb170cad13ae401ea86a3cc99e1181ed2f920313397933f3f704b6ad0f416218924ba50be9c0c74099f10e805ccc4e7dd9a54870a1013a434afcda4388da528940f38cd1a3146136637c4808be20b94fa77ce5727cd3e64d63969c229200e6c674432bb77e36897680dc47bd325e5b3a10999ebeca210a778a9d31a42126f98df0b0a0ca6eb661aae4b954bf0303cca42faebafca103c3f9116c2f4b55b3971c7c7b6e25e12ab8cd538ea2eb9a892121a82c -ss = 05e6848b937984d705db636a3b6327ef9d375765cde16013ba0d203459dd2743 +sk = 3c14bdd913cda0f267abaa8b0a30a5eaa527638c01926623b0bc2ba55b0b596a92bad72e92845828e8050f4c2f40873918e4524cea8505208d345783f71202496721e361a582c5445fa31fb662a64941abf9fc203ab4a741c9214c1b80b4ca617c4976c819794f53cacdb3509978a6df5900016278388234cc1a09b804679f36718255b2db60a7eee5bc3bc78bceea8060354b54031c4c76b30a1a8b1ebb697ff8606ce408fba72dbf0856e5b53b1e4a4ecc746cdfc77545b46060974c8a788a1d59529a9aaa571b895be01ed5c23a0d22707d89467a5b9c662767a0d77d5c49adca983ce7401f34526dab1cb9fe744bde8c54c230705548b9ed00b9f4ea055466cde77019324c0a7c9ba404b641a6530ae64a964ea47e6e80aaa4652c9a8b66061103f385479e50a780249a909c92b7913329a478880162d8857d58fa39d3283f5a2a7f8ff6abffe2463db40728d06166627e9c92283fa57a2e46190ab869b6c21fbeac86911284153b259bd2a442070d1cc581fdd333e5990f84ac67f47491df01128f0959ada0891c236e0aca87755289c0e6c8fb136974c97dbb1b8871a4c70aa001fc950f0cbb3ace4ac44f800252f5bd76fc1dc09a3d2f8860385a4bf8d765b49c5379140e0a2801dac947c23803ab6b467f2bb1b019b9d53771418312f51b28db18be216794a0467d79ac8abaf2c90f4b1b3474c168bcbcc1e6ae59c5781296467f2b8d63d5842d67935dd429bf8319bc0b8199cca9d3f78c483b8e0771622ea764fa610ee13c1a188c56d0b5c17094c1b7a45321bb69d99a666a7963268a1d0a0491b8b5cb700a7d86ab9039330edd8bb17cf1ac79355a82166458d2323e070ac109c98d201358f22bf9a3b513b8bba43905d1a790a7b1a11f682583ab4fe0a82f3e316b7c70afdd823c8fb7acfd330b22f378e8597ca5357454a71197cb4039e9a81d7995d14587b479657584407b281886d6a7fe9b6170a056d2003bf898027c275b7c1c3d1d0c157145ba52d264699b969d60aa3873a9606041c20b17c90055b8016ea703539638cff8aa0a219542bf51b68cf153a86149881c087d898ef9c3a089cc70a8656117131aa3f233c73cbf439022d224422920501c07243432aeb925c4023185d3f897a79a983d857c6d1422f9b22234005e00882f77c7704cc74adea4c8f3971e7964ba1a530c1f722ef696828c46946f0b329d909a47b83353330630359eb8e9b7e78abc50fca8c3aa9af967c89f464430c815d1959a21a226a966a6434301fa600a4d129886826803ec49a54a34acd62b50e33fd782937571816421341cd76a3570c17ac9c338e4ac4c51077650b98ae445d236904da694f755c1a5b288275b517b4c9b896c49bbc18933e52d34969b6ad8add604b526488c6397842a54b6657b93386b0ed7d36fd2f448efe43b0a144c33f729df530c8b6340cd61897b3c50b0d8ba81228604f7a4bcd120cd2a7bbba3b4818177c435a2b0c3ad838c6d9bd3903d64b32b8a8da5d93589021251d14c920328c4063c2af3c8c41228355527adf41037e1ac6aa69a427a55354ca9d54025306c16f93154776b4a7af9c9ef2298dba9b669c40bd0601abd410357b8940511beb6c96543d121535437d8eb5fa6a6414860ac4e849f5fcb09104a68ba7987f52bc859dc9025450332b28f3959ca78f18cba09c3c4522d365c93cd4756b780a9ab87a040b8202c2cb7ac3c880796775feb4ee8e5228ef4c62bc93e5d068226701d244348f3665941f59415c6275e1656fe68487f3500739762d13ba5d3ec27c5f77b7703a1b2e645b05782e5a21952584a323282df23c8a9695c0b537ac9d6bb4e7907ea4bc2cdd684ad647ce10b326585a0f7e486a4bc15418454ce4baf62b81131c0008d54cf9a6abd94e212c0193c724a54f8c12b4ef6b6ddebcf678ac0fd84cbca17284a326b7edb071f9c2a3df66334e29d588b94d684474261b3f8fc6bfc7a9328b7b91bf2023f088337b331b0c143cb86549264bede51c9bed644796b53d3f230327b14c7d699332457e90a5d40a053309403b263a59d7cc6e56b3e87592735d95e3aa819c41182dd9c0972592fcb2caa046883e491bfb4c34c87b995f143ba5f7c51dcc45c5dba619822102d005eda5ac7d4b02b05b8c53f1c79df7a92a9d4cae4783db3d78351b11b00e292ab5425ab7110a6847a7fba29c24241999ac07fa77b461841c12519e9388635513837dca2a51434bb03bc43e89e9b73362cfc5f05007428c6c96271674a574f64d51cb5793454590fe9d42728c5c51858b2c5554b143acce2e1a9a4238cc9b88b12670e884b743168c967574f1ed1b700c50ce9f84d32ab1cd1e85a3a31a324770ec851a2de70805497a27148cb66249f8ba7796c02cfd462823dc9020f997114ea758511b5daa832fb6b4d05e10fd9f53d0837a5eddc05add9aaf668b87af55516b63a82bc64146b21290763f46b00a6ec3cfd71c702a28719fcce1f1a2b7d124a4ec8703d63865964036a27274c806ea1ab9067e5bb6d1766faf4b58ed05cca5c6688a86a5f9216ca7187423cb9d453825404448cb7290a5bae8848c41ba4cad130894cb385f68916d3a5ab6eb045522ba80c1154671617afa25e15734c5e5051f1e3173562899873ba90d670d644ae4192351b108f8511c89dc2c1633516b0a850a0345d46465bd058999ed227c8cb8f02625f4f0570a72a77fb1171aa577eb0239bcc2cbd00c82ed1baa91992ae4283be56094be2bb4c9f0623fc53a9d1853afa9990d1998b1e7459dfc3c57db5abf30b0900716416a152be54946aebbd7ab8cc2cf535321a57cda44cd34060f86ca496830a16652a88d069802c59f902cf08d91afca82bb5b3aae6b4af650a3d7f5a0cebc8ce63a2a7c7e07c5a0cc9b18ab56698087dc65b2a014b8e00af240397d8c00c7454380df1497293327b81cec6e43154e97b93d9695d21c807f621576835e5b79f42d777230c8dffd72cf41a05fbe51765280bc6d3928c1166a6838e33a40b81826be34685203c7041599c14a84d3df2a044540957141545b465f03579167cadd8a93d83a03f7911406bf613562bb6a9863e80d886709978cdb75037b36a60f073ffba561fd87f6fac17d04b3233f797e091221114c78e794b9a9073bd0a66822aa3aaa4ba8104994de5718a44ae76aa7a8eb59c1f8c59ea9cc32724372767060ec6951809848ef7cffae9aadea314d57780599cc3e55a8b0b04810e5b3a2cd9cae6d729e4d994c4d296f2b07dfc97596f8aa4636c70863ca52020b1c21c074838a4ac0360f88154c8e8ad820c3778275b966a3568b36b3f44a50a019a8d588849cb39dd813d5ca8905460bcebf94efad35a3a2ca588eb4fdf999e778b24c41259f198c20b219aa6c1715090000f4407a7217ff5645f8483a408facfe24b368d9042eca9bc803b9d0712b21ee36047016e5559b5d9bb6e046a63ba32a9537380ea73a22b662ee892a62af4b2710a2920a36f1740bb55b36700426287329e4f3b63acc77d6f6a94411a2612316da5b612882605a930a000c18dfb6331f9005427d63bd5c66bb0b4c496b6071cfcc8df3c4b350bb252d920b9ab3f73392b3a6682eb222c0fb065977b93c8d133fc07249f6a0a47d19fd8702f6c618d2c170dba4c65317c1d0bb188a09c9c4e97212ff004d9477fc36c1a25f3c725a7982146c4f3d20b0b07356fc8bd18289f860bb8834078d7d4813da9bcc2d3746f0b9387600088f277f9f747a9862be9a851cae219257b190c91c17c910dd8315a107967fc619c20093ddd6532b6a096838b1be3263f314c42a8f4b8b71586dfa279550ca54d87a1bd46b8d9c75861080294e9a084f3970d217610299aa8fc5814611a40bc01d8d60ab7878ec5c0460b916dcc183f826888d0a03a89dc3e27569b2a7a461ad847af7286af11a7c7a07ed8c3aa76b209d98c7aa72a5c3049be14f723c2062fca960c28925e6521534f855f3fec4054f3224851137ad18c4ef959e47c8134c86356f09b82606a69116b5d572a7c40a6a300b689721d37e80148821aa74902c0c30331664a65976c29e80034c00447245fef8a3a3dac44824b210a3b04f3b7af5a824632fcc5ebb45948ec3cb971607ee94ffca362ca60cd6e895c9aa0ce699570bcc4cab9832638c2269dd9b43f880d4f507768e4986d85814929afe4801008103900230956193e7262a0af2a6036f4cb85c581a5d1256cf78c1657598bf1c45f3048f3fcb0a37ab971d30f7f124e7662b171a5070bb14a750b26af9b020a929fd7b2b244d5945e58b5bb64b2f60b7296491d0ac31bc6a046c7aa3a1738b8563c234d4da3b73dc1c5c4a047b0a5ea85edac7bec66f4d87fd2fe422e7dbcd02d14550c4dc82d723965476a518ea0915c1554bcc61c814c80ff120c37e7e8ed6d5c406cf04ca090e5805fe0ffedd6be0f254397155a7639c5afbb30a7a75cfebff026 +m = 894f98d7435d1c0c3667c22a218a449d07f117d46fcbfa4baa09f62403827464 +ct = 433de739397c375c5068522c36da3adfc12bc6022a8846eed9f30dee2c22bb07f4a80d3ea846a92538292fd67e8f7749004b1c02915964a4597241eec8fc07b2c87c7b05215845b2e8bed3ec035eb6f3bc748f2184379b0431584bf64a682972e3a2846a4294c6764b849d82169551e3d9c7c67fe22824edf4015ed6574963dbc8f813b79028df8a81d46bc2e7556d9999ae0517ddb440e8ffc46d4bfda1ce955fd583705a532526ae71a506fcc19db8ec359df9eb64a81b551e9fe8ec4c7bbcaeb442281f45c7f76e71f106cb7cf6c56ffd798d53791f9312a57cd76d8aca4d72adc6f0c529b7d00a70bee717409f9a89e6cb72c1dc450321c5791579873340133fb2bda9485300d131c3e1b4f390628c34fc3da31fd57488a9a75953e80d98b80dd4a09ebdb52a17aea229d9e6f92dd821ccdb697d19c6b3019f5f611795ec9d53f6d9e0cdc49fae423e56da4d4f0ad6122b59ed9ae44cc81f258a8e9ab6ed139f0142aa28406d20a55123db52c2809c72c5ebde9e4367cb09b12f9fe9f0dabd28ba1156197df0a87c4412f6acd6c9740f4afe8f220b450d4baad109f78ad65327b5e66b93329069654ef6ebe8fd3ef6be797cf2b63d487c027de525ae5145e55dc9e6b5610f7b0a4936df7b573ca49d9106feb7ddf99c94401e75feef4d4ddb4198c4599ecf7b200ca4585008ba6bdf4259bce0f25c2e0acaf457d356292df8252f347d4bb5a0880a7af276d811e59aaae2d4b5b3ca5894d5c46676ec5f48a9be99723fd6dd34b3706a6a437a271adaf100f1dbc2a4f4b3fcab5a527339f1882eaff7ded22ccb32ba4b49403b659348d730c1db2a4cbb09678924201af6a5cb03da05d69c7f85d220afde041916a30f8c181a06ee36227d48582cd5c6730556c645d248bed7336625c31313f65fff73a31676f555a356bb1990b6a2e801756da3f603087d6d0c2c57255d3343a0f8a182e4ecb7756ddbb962a7a81068f1dfa5d8a3dc5e727654a99da2ed70716e2516b4ba1d5eeb9e3c2cbab7f19c5014d347ec7075ac7ab987789c67eb99984a252134c8fbb7096135a3c5b8872e0a0842ebd1e765044d1c9befb7a2eb2bb5b6d5bdba2383d305a5db81226ff7fa797565603fa3e16659096779ec9d03c7619d78205baf540694da5d9a4e05a9cbdd7b1e104ae9d23e07295a803b339d2d1380caf3dc221ca0a7e139db1afc8bc3355c2c000ab7eeeaaff62bb399ef62d843ae5b4b33e6bfe649d07482dfabb2599bf7eec0b308b6ec5eaf2c15fa05d2182b8a3ec13252034eb764d06860af1841001b9e9dc1ebff5ce2455706a9f3032147d9f7c2854521c235a4b551594dead8d0dbda1ed73865d2a471da48b2674792f1f15bd1c170b53586eca6fb3fa95dfcf8c77e963734f120aeb4b324abd98201c19a77437228d5d2335d5d224b28ed171085ff161f5636e0b81fe1a6ab5fbe8bf87f614cc13729d4c705a66aee25b7e26783d87ad35c22c13fb581972b220eba6680e529ee809bac3569fe0fe32d580e0ec9c18dcf2cca0883366dbf06b3825e3dab7d2e976646b84efa833dfc6788f3dc923038078702e4fffe28acc24f0b28eee524e1f92ea7ac975724fe86e1788df4dafe2a82134404dedc7db9ec895d5963c139493a167717cc06cc7435c2bc9976ecb49c2ba98468762667dadd8e4b65d3fc27bc10935d79ff00daee12360637bb4d453185da37e647e1e619a8dc5f88188db9939d11ab687cb39b0c3649764568c477feffba946ac9f9c7ecd657590e7c55cbfde6858f1cdc5a273c2daca88c812bdf7be8fe2e75b2403cc3db32d6e5cc292ddd1be1c1b3a059fc6066efcf6fe66831bb84eb6d38e67d9417b6aad15b11fe526e85b1703993fd36c89b90c2259f401498c212debe5ebdc0fbe118cd82510273d7562e33d8edc47dde1bdc2f0158a0717dacd6b98d3dde600876326fd0fd70b7ae46f81692e7975cc396639577906f6edf44d53b469f294f73151dda8565e081aedbaed6e2ff0af0897ec4ab9aa0c25fcc4c9704bfd5652791d01bd4609faa3290ab87486c703a2b3c1b4984e6425a1c6921d0a441ff381a55155a6a868353ef6feb8e32989a11c8ab15de40f23525207fe750e7d403e7a87aa527f1e860a34da80ca033a9ca371da32fbe1fdf78b1c496bf255df3a1750558737ba12f96f6590915b6506836b8d5e1d9a494ae7770ac +ss = c18734d943f9d045cf9fe7b76044c5559adafb60877ec4852e09f36d9427a131 d = 25056d1b8113bb362dd979d98643d7a7ac9c4f95994c0ba060609b6d07002ff3 -z = f48a9254dd40b117941fa35a66bb50296327b725525deef70e128ca8045ec451 +z = 0d5ec1be89d37beb810db438778bac52cdc1fe8f5c27ad825639e12ed908fa31 pk = 44bb41c301705ee232e0a6bdc2e4c6bc55958859a5afd2b82f502e88a746a20179fcd60fe0276affa12828129543471c7c620fbab41db49173ae4a144eca173b23899a99785a25148e6c92e6b5b3222ca7eb3bcddf6508c4b19a039143b9d87aafc77ae80627cb0b96e2b849e86aba25f74b93a43fb21cc5c4e861d950256484802a7b479b67a803fba87d916d0918bde0973ba3f2c0228c0dedd302c6fbc9366c4eb708234592cae1f3c58499cd177621731738f0d8573b53018ce88676ecaace719063910aa3d08b13a2ca2e64afabd52a309b2e0a849f3537109518ca4094ad4be6628e3c4a713c59f8778bae05cbeffa3e095b98aac23f489b85a9b18245649e8ec3bb8397c4125864d8695752e942437b315b7286675279df55cde5d20aefab94b1015030c40de0735472e02aec59027c8caf0074b0fff4bfa12267a3a5bc6a380632436041cac792330a4ed585379114b641bac7ccaa534a3863b52390d2173e4474299c8e1a2571bfe215c71b1d23c14368926a2d0944a1f20bbc536c84b7c8218b3937946cb227134e35c36f81c73d6433d4492cbe9bb1631787376115f6f9c3e5b76e83812494719b60231dcc4182c3e8a3e21122106b9036c62755531b6c5572cda5647746b9fe64286d395cfb759caf4136466937b70146cb99010af4088aaab16b6579733843f02766f19cabc7c6aca7e44e7265823cb907022bcc72617cfb7bcce57988ca4c3d60e94d12c34588f173473a5d0929b5bcb09cd8f91534e7bea694576638889fb29c2074058900587fd8889c89593cb5186fba07bc103f4196a7063ba5c4229170f8830e254862457adeca7219f73f201130719b39e0b84845709f2cac7adfb60b26658ea9137a940b1ad8ca7966dc1c0e540eff9999822b5e69f58133902ad3704345914e17a30a96d6a879e320ccdb91f9f7c68f683c00532449f5420e8444e4c01df8b203e38327e566130c164d91bb14bec93b6eb4419a22c744fa9d92e861ae7bb13862288030551aa43bc4f809817675290a2413e71c9d29578df619be496061f7307248ba88d9a322648f969a2fbe005d9f895264887898cc0a8b35cfd0ab7afc594c9771536677571b9188d3b5411ae450a5a75e6dfacd813ca905b13f0a52153d0793c908b2d641b00c3a483293399d0b1579e28f240393e13c86e0121f1dba46fbfc9a5d062c1ef670e01c4b6b7a809470ad15f725b80849a0ac6f5370c1c96a309ff964dd1a9db2016b189a61311cc82dd652328596d6a2aab35a8020094ff7438064a7801a050090a18e9e4c2b33c14cd1f97b518ac9f4eb9a1156c816e6ce01d6053481b57b1787bb925faf531fdcba1be23570dccac4312c148e7833162c6219835ce3da23b1d149e434928f810577c37d0340b6bbb45945d789f6cca8fd5226a3c066595399ee696fbe2025701669454a83e3162535d51b11216affa7bf5c62a62d696d4532954791ab088ba84208a7dfe76b33861ba6d6b51dd322005700b38c8e4973c934e12c374c3c86c099fb42b2dad468a8701417e2b5e902b674b759a0f8366a3c00be49b43c39a016288a1282c9673c1204a73fe2b45e90aa2732a46abf8496cab31c52066052684d078c1926d374da041bee98939b4a597b2166451801cf89cac513a3d0890c3163150a54734b7960bf5701f837af59e9a4c631ca49768829ecc6d23122be873234d825209400c883cb47db7b60b1b1fda95b0076b6ccf97ba855ae9ac8a9e9fbbec589c342a4198366a8bdaccdab8349f9b9aef229ce46d4818bf188338aab48420b9abc13eeb990ea41ccca136fe6a3c3827bb40c33c1c749620db32dbd773043302b8b2b52de82910ba96ee430283fd51f17c38bd1734b4aa353345777ffac17797683ad603cde78c51dc45403e97514015fee950215b7366d76b29980c79ef727622919b59931e9a78ff6977d9e49c8da013a2920827a21988a713e8a378c3db9c90b8a2703e2961b246a5d867dd98692cb60093d617fd9493edee2820bb081b2b1c3c9e6941817b408255a0cd09eb8aa43c7d298954b2a92250aac1864d1086fd7338ade31a36f756425303a51bc1ac7f920a69273aa11b7f077000f9ba015035dfb96159d28282bd9960290b9fc51a79be9888d737329801428564cdc7c4940531990744a987152dca2388ba27e3769c8bf287e54e41cbc0ecca95ce621f2 -sk = 2d149d32c41889573ccb5166c597c3fe207cb806bd13a8a7bdf86267a93da7110a31f22221a17a5381c367eb1b9cd00810189c1f12358b59adbff2060ed6ac6712c660b51b553402d406bcc1d2444a863b6ff261e17aafffd01baa2b05cd83050ab460ced09bc7c0c2963784b7f9798d837bbc0483001539f0ea65a0574b46785645019b25130095725fb71556add2832ea245e250973f504dc58a4ba3c45cc8259e7906588d688f4f4cc79a1a955ee31e0fe931d16cc9da767c3a48bad09874f7730fa74c349d2163638aadfb59a462e904c5530a0b485541e391b6037041ec6a0560563f186be2ab97a42520a7daceabf1216e16870437cf012a6b6d082bbb23349628af4dd8ca9ea986498a80edfcc2418c3f5a627ba8baadf3739b3c578b2f193f57b72dc2827a2dc379aa31b6127c65352338c012cfcce0af1b33150d488cf47134e06b5ebaf0432c172090fa6671670bf7b66002e135e7c43d938343d5729e22e5597a06209e0793e65417de945b5e1aaeb2740fb1b350c902c1390a97586564fa94120cf7538b21aacc0ac0831b477e37c9e984b73ec91ed88705ef4cafd2f15a50227c0e4c0627d2a6d7875e9605afec339799690bb6f0a5b01141a6976fd51aa7a079827d37ca89726686ba95d6f275a59341fa229b4c163c260c4dbc4587c50ab8f0ac777849b5f700209f17c15251854c35aa23c20d486122ec8145565966f4a067251b96461950ac2171f1996e94517610338b88c091c356804cc691922449db0645a404ae4a641d1482b58e6230c7965c23605d66e96c8f0418ad786801d7530cfa2b5b757e06abc10518b274e3992e538922b717866c7eef827d2bb4c05ffa3322981cd8069dfe028d878a8b7a002472d302253a83ab84adf5530cc5f4671bf5219fe600ba97abd2555c52857abb76ccf4760adb30346c55aa5340b189e1968f72999e64c0b76297d232412b3c9384783457b83309ba7ef74abd50d16ea1c32a2362aaebd02da7790fb8827ff368261cec14f3a2095323502446703783ca9b6aa595d690031297c59b25414455c155924a47896716ac45330ce7069d131b75a57769fd4b4ca1990170a3570160cdbef1c930063d56e3546f09b1cd913c82057c0bb89111e6b1bba88eb8cbcd72078fcbf5059fe25c84bb5607d7b20bd0733fd96dbae2abd9531ddbe3cdd89a926361bb56ea0e5f9181b2c8c1532312f3f9005135c07dc211b824b1e63ac96e64845c35c41e0313511a5d429663796abf2443908d353766d40f47a910fd04a710ba5d6a5b301832a5b6016338d8858b220e8219512b643b8b60ca2a9347ec39638b787fdb44ce72408dcd2504de24af91130abc09b2e7c9bb26b3393ee06fd77019ed3466e019ac92a416c9683da22cafb1a9ad3475af17a15ee9f97446096647578f77fa02e79904fcc008fe509425446ca2a4c1dff32cdfa4ce120230bb5cc9cb49a2e2841bf69a1c49a762ec171698ca0445201c485a15fef2562eacabad3259119c9ba4185677e03aa0470ca848709c4ba0c8e5814416c5678033c819773db36e7a90c65fa82ffdf6921c38285122163bc0744de5c5363c9a973428a6daad20e5a62d37017b464da7637d9d26c6ffc2b5f17610072c7e1ce668cfd97c29eb597ef51c039015e4b35a7d049db6488e271851d20cb61655cea5a074338a722a10a7f77b5bfa0c8bc41b346bc5ba4bd17784b166dd83a6a5066e0724af7b603d4cb3a880f95040d53b9f11ced9fa55b1771900e8924fd7656ae198b392bf23a83418519e3c754203a9035c83903df9176004be81aa0cfe690297d67cc3432f815c4db7dc5797a2cb99140e28e880097a0f45415ba730b616572c2316895e7c0d11073c4ba5a6ddc74f59206deb3917e84a9d8ec6c63fc83a001da56b03bdf9c077be63645331596bb962845594907a22f8a85b084aa80eec51b4f27e1af011464cc73f6615397c22833ca5b81cb30df1982a18bf148a9d3fa5c6a46c323ca1b5a1fc4392a2204379bcaa3a63ff679f3ecc00930052ed80c965a82e55c08389d284d4060254a42f87c6aee7211933e2c6678caa453b8c006a94960b0de5192631f9ae68811d5b729eaeb1c0cc8aaccaf180fdc09792da38e194358124b7e87b7f55181689b3c5537011bdfc9e44bb41c301705ee232e0a6bdc2e4c6bc55958859a5afd2b82f502e88a746a20179fcd60fe0276affa12828129543471c7c620fbab41db49173ae4a144eca173b23899a99785a25148e6c92e6b5b3222ca7eb3bcddf6508c4b19a039143b9d87aafc77ae80627cb0b96e2b849e86aba25f74b93a43fb21cc5c4e861d950256484802a7b479b67a803fba87d916d0918bde0973ba3f2c0228c0dedd302c6fbc9366c4eb708234592cae1f3c58499cd177621731738f0d8573b53018ce88676ecaace719063910aa3d08b13a2ca2e64afabd52a309b2e0a849f3537109518ca4094ad4be6628e3c4a713c59f8778bae05cbeffa3e095b98aac23f489b85a9b18245649e8ec3bb8397c4125864d8695752e942437b315b7286675279df55cde5d20aefab94b1015030c40de0735472e02aec59027c8caf0074b0fff4bfa12267a3a5bc6a380632436041cac792330a4ed585379114b641bac7ccaa534a3863b52390d2173e4474299c8e1a2571bfe215c71b1d23c14368926a2d0944a1f20bbc536c84b7c8218b3937946cb227134e35c36f81c73d6433d4492cbe9bb1631787376115f6f9c3e5b76e83812494719b60231dcc4182c3e8a3e21122106b9036c62755531b6c5572cda5647746b9fe64286d395cfb759caf4136466937b70146cb99010af4088aaab16b6579733843f02766f19cabc7c6aca7e44e7265823cb907022bcc72617cfb7bcce57988ca4c3d60e94d12c34588f173473a5d0929b5bcb09cd8f91534e7bea694576638889fb29c2074058900587fd8889c89593cb5186fba07bc103f4196a7063ba5c4229170f8830e254862457adeca7219f73f201130719b39e0b84845709f2cac7adfb60b26658ea9137a940b1ad8ca7966dc1c0e540eff9999822b5e69f58133902ad3704345914e17a30a96d6a879e320ccdb91f9f7c68f683c00532449f5420e8444e4c01df8b203e38327e566130c164d91bb14bec93b6eb4419a22c744fa9d92e861ae7bb13862288030551aa43bc4f809817675290a2413e71c9d29578df619be496061f7307248ba88d9a322648f969a2fbe005d9f895264887898cc0a8b35cfd0ab7afc594c9771536677571b9188d3b5411ae450a5a75e6dfacd813ca905b13f0a52153d0793c908b2d641b00c3a483293399d0b1579e28f240393e13c86e0121f1dba46fbfc9a5d062c1ef670e01c4b6b7a809470ad15f725b80849a0ac6f5370c1c96a309ff964dd1a9db2016b189a61311cc82dd652328596d6a2aab35a8020094ff7438064a7801a050090a18e9e4c2b33c14cd1f97b518ac9f4eb9a1156c816e6ce01d6053481b57b1787bb925faf531fdcba1be23570dccac4312c148e7833162c6219835ce3da23b1d149e434928f810577c37d0340b6bbb45945d789f6cca8fd5226a3c066595399ee696fbe2025701669454a83e3162535d51b11216affa7bf5c62a62d696d4532954791ab088ba84208a7dfe76b33861ba6d6b51dd322005700b38c8e4973c934e12c374c3c86c099fb42b2dad468a8701417e2b5e902b674b759a0f8366a3c00be49b43c39a016288a1282c9673c1204a73fe2b45e90aa2732a46abf8496cab31c52066052684d078c1926d374da041bee98939b4a597b2166451801cf89cac513a3d0890c3163150a54734b7960bf5701f837af59e9a4c631ca49768829ecc6d23122be873234d825209400c883cb47db7b60b1b1fda95b0076b6ccf97ba855ae9ac8a9e9fbbec589c342a4198366a8bdaccdab8349f9b9aef229ce46d4818bf188338aab48420b9abc13eeb990ea41ccca136fe6a3c3827bb40c33c1c749620db32dbd773043302b8b2b52de82910ba96ee430283fd51f17c38bd1734b4aa353345777ffac17797683ad603cde78c51dc45403e97514015fee950215b7366d76b29980c79ef727622919b59931e9a78ff6977d9e49c8da013a2920827a21988a713e8a378c3db9c90b8a2703e2961b246a5d867dd98692cb60093d617fd9493edee2820bb081b2b1c3c9e6941817b408255a0cd09eb8aa43c7d298954b2a92250aac1864d1086fd7338ade31a36f756425303a51bc1ac7f920a69273aa11b7f077000f9ba015035dfb96159d28282bd9960290b9fc51a79be9888d737329801428564cdc7c4940531990744a987152dca2388ba27e3769c8bf287e54e41cbc0ecca95ce621f2c934c11e2eaa7c3c4e764863e436ff12fc9f517c79df6344ab98611f57fe7296f48a9254dd40b117941fa35a66bb50296327b725525deef70e128ca8045ec451 -m = 686c921c9db1263e78ae753b1c9c2e7936b8229dca48c0942c56c6bca4f10917 -ct = 8f00964a9353da5bcc59499c0d4d1c1b26a89c6b291518fbce86431426dda3f8f9b6d58d36bd59ed0d6a8e124476720147e32f5280f1d1293641bff5b464d1655f7883b358d14dde8b9c4627accf0782e2c0b2e617f46290ae4f3a8377d94eea2021e43dcf378395c8e6a6022abf57c96c249b37ed8fa75aedb433a6884ffa045628ea6163059a988f8d230bfb9de2c2525fcee06aa42eeabb3550643358f6c891ffbc7e70226b46cbc0c415a05b130803a66e9078c370692e7bb634c4f0711b581232a3b332e4ff9b976d4c5edd21e039a5a1ad9810a8c1234cda9c4fdb0fde66348e24559f0d1b557c08d896b75300137f6c5e7a2e68ff19ff903ac43fed2900d8519253672456b87cd6987b0a6fea63af54fddf4073013da807cba4194e69c891a7d71cd4b5af8670239228b8f093682bd0e091fcced699769a8d3def0d52d797180b2888145bf578923e75f6a61d6f42b9a32e170745370ab0ed1761d50ecd5c2685a9d6141ec34d8acd77345beec21175a62193a62825f3b37e1db028a95f01371265b10a360a99106e3f84a80b8a22aa71345852cf905f5e3eca22b7505c055aa378348a3fb7c48320278800b0084e0d75b8eb06ee6552bfdf4c4ce160ffca79660002d173cafcef33fcf1b642c28af31c4ed9fc1faac8b3bf48590e0cd3eb9ac93dedd3c6a8a4c34a9cbf8a0055dc8e62ba0ddcb124500a31683c9e111f0ebf36f7e24b41417f61ef6786244a28a2ec64f219712bf839bc83d253512f3f53198c403cf89100b208833492d35f6bafe6428bde4b70a75b259e8543b4a633a41c005f8727adf11cb2e6991b912c597af5cfcc8cb4cc324d909401c451502ad3447481f0bc0460128f17bcfd99db088fbe99c7a2973e1da0b076b1613e44d1db28a11c98145567b669dec0e96bc35117eed9a1cb28fa0cfa9d346d8195bfd0d571701f15f54e93d686b50380c12b1558eef84700d53292f9af2fdedc64ba75dc244ee7964d7782f7e0eb651df5cfa52363dee73ee6ce0f71b4ceab3aec2b888a32b47dd154881fe43b1234c9b6c476566bfa661b48c3b5e91110faf3c7fbd17a06ef9549f993a2bc6357ce82b808974c835f1f13319489142e9f50dfd6e7626df5f38a7b6e4259ef49bc3d524a62fc2214fcfab0cc086d428151d0130ff59dbadd1d1127a41d8ef02aa978ea339d298183c7756b7afe781ff315c2864fd25d072ff12fb825376764e044c65248d1b64568663dd99c1bb6ae2bd658fb4bd098ee4baf193c8f6ee8143639ec72e59fe081a2777d1589990759be13dd8c3d4d7cfa7f7e851a19587fc698d58fc1d524239b8bb20bbaaee1199a4f22075ca845aaf39a8a385a61e8b38ac9200028093631e02ab944d178d41feb1a02e2d5372e2589296d3c366513c6a0cc891c0ed41dc32799fb7045cdcff16c482dc82737489db16b2e6637a87e88f37d80e3691fa7190ae4bd1594b7bfbe76f997ab7d76ce9176dfd2e6a5204211bc23453b49fa5c092fdef27cbca183de098222ab3c4c973029d8704141990310bd5e454b071add6ae9b8684e1ab18970252a5fee3e040bd1924509f16b495c4cd4807690ff5f5deaa69a76affdace7ad9bf68bd983636a4435fb145c1f8ff045b1b1768b135450b3fa3648b13c9ae5f30340b4bad79462b3b623fa386f6621c9bc3bfa579a56e19d33539c4aba95889b1bb8fec9a0e0b42d2d5880bf5bb4005c39e953f3e742b6f82dbfecb893ef3a2ec59702590ab377f937dd7c7bd3f68a896a863acd1af09212d2974b5ce0127fa1c3d372a1dfb4ffc021ed236b2cc418eaebae172cf323b8e2ebcb119106402622baaa0bff7ac0cbec76abfb9c668c59107f5aea217dea8b30096d327f794458cbde4a1183f38c166eea6c790f59d9d103f6a09264405364426dbc71ffa952ce239a9a968d93ecaaba8d1968da45edb7a886665d558d8a35c67283a6bef240e1cee53389007d35fc95a061eaf06d728f1fb8c560846b6be1758a95c86d7d84002ddcdeb1961f7f9598f5b3a6abced060dece5a938809f424c879c50f6024054360377bba9da315157e031682fa3ae22a7bdb53457db50a31fd6a03871c01abf1a83a48af5d394c1bdde0bcd83a08dbc93ec391252e1f4f388d3b30ca4f878636a6c5520ee36f7d6bb0c1e8fa0a2cc867e1fd59dedbf8ab674508c5604e26673fb5e9b073e47be682 -ss = b285300e7f7859a1904d35ebf346b16d5860f0ebc4709e41c90c19d321196811 +sk = 2d149d32c41889573ccb5166c597c3fe207cb806bd13a8a7bdf86267a93da7110a31f22221a17a5381c367eb1b9cd00810189c1f12358b59adbff2060ed6ac6712c660b51b553402d406bcc1d2444a863b6ff261e17aafffd01baa2b05cd83050ab460ced09bc7c0c2963784b7f9798d837bbc0483001539f0ea65a0574b46785645019b25130095725fb71556add2832ea245e250973f504dc58a4ba3c45cc8259e7906588d688f4f4cc79a1a955ee31e0fe931d16cc9da767c3a48bad09874f7730fa74c349d2163638aadfb59a462e904c5530a0b485541e391b6037041ec6a0560563f186be2ab97a42520a7daceabf1216e16870437cf012a6b6d082bbb23349628af4dd8ca9ea986498a80edfcc2418c3f5a627ba8baadf3739b3c578b2f193f57b72dc2827a2dc379aa31b6127c65352338c012cfcce0af1b33150d488cf47134e06b5ebaf0432c172090fa6671670bf7b66002e135e7c43d938343d5729e22e5597a06209e0793e65417de945b5e1aaeb2740fb1b350c902c1390a97586564fa94120cf7538b21aacc0ac0831b477e37c9e984b73ec91ed88705ef4cafd2f15a50227c0e4c0627d2a6d7875e9605afec339799690bb6f0a5b01141a6976fd51aa7a079827d37ca89726686ba95d6f275a59341fa229b4c163c260c4dbc4587c50ab8f0ac777849b5f700209f17c15251854c35aa23c20d486122ec8145565966f4a067251b96461950ac2171f1996e94517610338b88c091c356804cc691922449db0645a404ae4a641d1482b58e6230c7965c23605d66e96c8f0418ad786801d7530cfa2b5b757e06abc10518b274e3992e538922b717866c7eef827d2bb4c05ffa3322981cd8069dfe028d878a8b7a002472d302253a83ab84adf5530cc5f4671bf5219fe600ba97abd2555c52857abb76ccf4760adb30346c55aa5340b189e1968f72999e64c0b76297d232412b3c9384783457b83309ba7ef74abd50d16ea1c32a2362aaebd02da7790fb8827ff368261cec14f3a2095323502446703783ca9b6aa595d690031297c59b25414455c155924a47896716ac45330ce7069d131b75a57769fd4b4ca1990170a3570160cdbef1c930063d56e3546f09b1cd913c82057c0bb89111e6b1bba88eb8cbcd72078fcbf5059fe25c84bb5607d7b20bd0733fd96dbae2abd9531ddbe3cdd89a926361bb56ea0e5f9181b2c8c1532312f3f9005135c07dc211b824b1e63ac96e64845c35c41e0313511a5d429663796abf2443908d353766d40f47a910fd04a710ba5d6a5b301832a5b6016338d8858b220e8219512b643b8b60ca2a9347ec39638b787fdb44ce72408dcd2504de24af91130abc09b2e7c9bb26b3393ee06fd77019ed3466e019ac92a416c9683da22cafb1a9ad3475af17a15ee9f97446096647578f77fa02e79904fcc008fe509425446ca2a4c1dff32cdfa4ce120230bb5cc9cb49a2e2841bf69a1c49a762ec171698ca0445201c485a15fef2562eacabad3259119c9ba4185677e03aa0470ca848709c4ba0c8e5814416c5678033c819773db36e7a90c65fa82ffdf6921c38285122163bc0744de5c5363c9a973428a6daad20e5a62d37017b464da7637d9d26c6ffc2b5f17610072c7e1ce668cfd97c29eb597ef51c039015e4b35a7d049db6488e271851d20cb61655cea5a074338a722a10a7f77b5bfa0c8bc41b346bc5ba4bd17784b166dd83a6a5066e0724af7b603d4cb3a880f95040d53b9f11ced9fa55b1771900e8924fd7656ae198b392bf23a83418519e3c754203a9035c83903df9176004be81aa0cfe690297d67cc3432f815c4db7dc5797a2cb99140e28e880097a0f45415ba730b616572c2316895e7c0d11073c4ba5a6ddc74f59206deb3917e84a9d8ec6c63fc83a001da56b03bdf9c077be63645331596bb962845594907a22f8a85b084aa80eec51b4f27e1af011464cc73f6615397c22833ca5b81cb30df1982a18bf148a9d3fa5c6a46c323ca1b5a1fc4392a2204379bcaa3a63ff679f3ecc00930052ed80c965a82e55c08389d284d4060254a42f87c6aee7211933e2c6678caa453b8c006a94960b0de5192631f9ae68811d5b729eaeb1c0cc8aaccaf180fdc09792da38e194358124b7e87b7f55181689b3c5537011bdfc9e44bb41c301705ee232e0a6bdc2e4c6bc55958859a5afd2b82f502e88a746a20179fcd60fe0276affa12828129543471c7c620fbab41db49173ae4a144eca173b23899a99785a25148e6c92e6b5b3222ca7eb3bcddf6508c4b19a039143b9d87aafc77ae80627cb0b96e2b849e86aba25f74b93a43fb21cc5c4e861d950256484802a7b479b67a803fba87d916d0918bde0973ba3f2c0228c0dedd302c6fbc9366c4eb708234592cae1f3c58499cd177621731738f0d8573b53018ce88676ecaace719063910aa3d08b13a2ca2e64afabd52a309b2e0a849f3537109518ca4094ad4be6628e3c4a713c59f8778bae05cbeffa3e095b98aac23f489b85a9b18245649e8ec3bb8397c4125864d8695752e942437b315b7286675279df55cde5d20aefab94b1015030c40de0735472e02aec59027c8caf0074b0fff4bfa12267a3a5bc6a380632436041cac792330a4ed585379114b641bac7ccaa534a3863b52390d2173e4474299c8e1a2571bfe215c71b1d23c14368926a2d0944a1f20bbc536c84b7c8218b3937946cb227134e35c36f81c73d6433d4492cbe9bb1631787376115f6f9c3e5b76e83812494719b60231dcc4182c3e8a3e21122106b9036c62755531b6c5572cda5647746b9fe64286d395cfb759caf4136466937b70146cb99010af4088aaab16b6579733843f02766f19cabc7c6aca7e44e7265823cb907022bcc72617cfb7bcce57988ca4c3d60e94d12c34588f173473a5d0929b5bcb09cd8f91534e7bea694576638889fb29c2074058900587fd8889c89593cb5186fba07bc103f4196a7063ba5c4229170f8830e254862457adeca7219f73f201130719b39e0b84845709f2cac7adfb60b26658ea9137a940b1ad8ca7966dc1c0e540eff9999822b5e69f58133902ad3704345914e17a30a96d6a879e320ccdb91f9f7c68f683c00532449f5420e8444e4c01df8b203e38327e566130c164d91bb14bec93b6eb4419a22c744fa9d92e861ae7bb13862288030551aa43bc4f809817675290a2413e71c9d29578df619be496061f7307248ba88d9a322648f969a2fbe005d9f895264887898cc0a8b35cfd0ab7afc594c9771536677571b9188d3b5411ae450a5a75e6dfacd813ca905b13f0a52153d0793c908b2d641b00c3a483293399d0b1579e28f240393e13c86e0121f1dba46fbfc9a5d062c1ef670e01c4b6b7a809470ad15f725b80849a0ac6f5370c1c96a309ff964dd1a9db2016b189a61311cc82dd652328596d6a2aab35a8020094ff7438064a7801a050090a18e9e4c2b33c14cd1f97b518ac9f4eb9a1156c816e6ce01d6053481b57b1787bb925faf531fdcba1be23570dccac4312c148e7833162c6219835ce3da23b1d149e434928f810577c37d0340b6bbb45945d789f6cca8fd5226a3c066595399ee696fbe2025701669454a83e3162535d51b11216affa7bf5c62a62d696d4532954791ab088ba84208a7dfe76b33861ba6d6b51dd322005700b38c8e4973c934e12c374c3c86c099fb42b2dad468a8701417e2b5e902b674b759a0f8366a3c00be49b43c39a016288a1282c9673c1204a73fe2b45e90aa2732a46abf8496cab31c52066052684d078c1926d374da041bee98939b4a597b2166451801cf89cac513a3d0890c3163150a54734b7960bf5701f837af59e9a4c631ca49768829ecc6d23122be873234d825209400c883cb47db7b60b1b1fda95b0076b6ccf97ba855ae9ac8a9e9fbbec589c342a4198366a8bdaccdab8349f9b9aef229ce46d4818bf188338aab48420b9abc13eeb990ea41ccca136fe6a3c3827bb40c33c1c749620db32dbd773043302b8b2b52de82910ba96ee430283fd51f17c38bd1734b4aa353345777ffac17797683ad603cde78c51dc45403e97514015fee950215b7366d76b29980c79ef727622919b59931e9a78ff6977d9e49c8da013a2920827a21988a713e8a378c3db9c90b8a2703e2961b246a5d867dd98692cb60093d617fd9493edee2820bb081b2b1c3c9e6941817b408255a0cd09eb8aa43c7d298954b2a92250aac1864d1086fd7338ade31a36f756425303a51bc1ac7f920a69273aa11b7f077000f9ba015035dfb96159d28282bd9960290b9fc51a79be9888d737329801428564cdc7c4940531990744a987152dca2388ba27e3769c8bf287e54e41cbc0ecca95ce621f2c934c11e2eaa7c3c4e764863e436ff12fc9f517c79df6344ab98611f57fe72960d5ec1be89d37beb810db438778bac52cdc1fe8f5c27ad825639e12ed908fa31 +m = c07d2a9f28995f021a974e798a55aec0230b11b9ee542f69925d009159425e81 +ct = 91c4f11cdb289fd8bf8b2092f3a9fb1e510aa6160445462d0095fe10a8b2c2a6704245fb48e4c095af3747750c982762f38bb81a0dcd80a8b91aeca2b04f52333b0cd8c1695b5d9cce77057e609fecddc37221299b4442ea8574fbc4e50e2038ca02a17c00d94da4c5dab6867d97905beb1e2b31431745dca1fa1049507d97b93431a2c90d8812b3ba491e5134e15e1e0b73bfaff485c19adfab83d594f2f0742799ecbf806862d819ec1973a1a56484153bc6fc25b9df12caa4a2dd0daed030f482280cda062f3995192e42c25af520e9db3a4d86e71984451224008f0d639fcee4bbd04a291a838163f42ea005f8d62ceab6df5df1a35dcd6f14fee4fd949b658d19df6c1682c0a634b45d47ffe3d5797a26c9ab2e54586a86d599af45c74e4ca7daf7af8b4b67b99b75a19573449b288b7d6300d4c9b42ff46d261147e284705a0d9aff171abb1f4c2eeea74ca88ed40215f3d2ad1a5bfdf2d98b83c30eb2110b2dce8c15730c57b65844ad2b464177b3f84ecbcd983dffd9817e976e75a82c225831a7db3432afa02d19a78187733d0c599747a1658eb3b13306b846c0048ea76a6fe540ae904a4a6d1647c8d5cbb8c7683afc8ecb9f6327cd2bfe213c5737c48cc50ab3a38e4612150837dd7c06638e33c1055cddc58507d8715344d801bb5e65fc5e2976ba57baeed4b3275dda6ef61827f17bb2ff7d7f724cf4e90e5843cb6659cf687862c71c8f337f05ff4b26057434d581c8256754e0414f2f2b44521f368cedd342db692c735a7aefe36611500b0f7c8cbe0579b958311cc6cf1c9184e52ee78f57eeafb2e85f6c48f3acd5bbcee6b692cef83fe3628f15fb7a886e7cc716c4503169fcc9005387b7b70eed8096b2691ab1a7c55c1e0c14a75aa503b5b098736ecf38f934c697fc537c299d7cec293d699700123dba8d6432b023325ef22daabc1669a3fab32179d8015c91a1d5810cf239ff67acdf428b0ecff0b7d9de5938ccdd39a98861df60552b69110ee9e5b35209d09e1f1da06a24a0a81e88b26a504de84442a8240b4fe710f5831d09b116a8d3b7def8cced7dd323f1c97693088718781402ab959bef2dbcfb18805a512cc175d788acde967c973b6703d988b1ddd8d674c2dacb32a06e51062595168ab7ad012ff760447cbc3caceb9ab8758676f4372eafd63d3b349f6961a22ee10486189e6110422b253c1bf2c07b821d0e4202afa4aed84c58b2f05711d593448e355d92a29dd7802d75ae8b57b7ca24b769a5ccc54a302751f1bdce0a55c79888e2bf6062e204b9439f738505d3f818f84cbfdfd61b5b2031a578194efb0c36c8a237ee0f3cd6bf8c22b44f10eee52031b71e7a6de93c435046c55835354b71d9356e9ac92be92bfde05edad33e0fe706966a58c841bb64c18285f12d76b37e839a37ad823ada26f23961e8bbf11c1f86207014f513888e1a3f107389e26fd4e289f2a70afbcdf194c7c0536525d04202f25d3a247f26e09f96fd0eff5cbc9d94bc93e871b148541152b3accc2d9aa1419f52cf68ef5b5bf9d61be2da15bdababfe87caebf315811b169170a839fe1527db84e57a0413cec0e84a680aa013436acb459d4ffadf987ef0c739381e6db60b685e2805da597815a755617d18391677684938ff635aa35eef20aeb927f5cab25b65bb9c84c258afdf4d76912547d4d8ccf6023990ab8138d877cb95371efa10af1cb6c223ac81a1f5585a3bebe0fb5088203f16ff032403b5b1551f9a4cc012a00507d9e0c94a874a02ec4ffa2af358a69d8aadf65d024ed5f99d3559a4fea1d93efa51e1bd1d791a421dc9d1c9e73897bfae8365b635fdb66942ad5076cd51ac71a4b54eb7fedfc9f4501b2370a2b34a4b92723ac1413f6353dfdc764363db439134259131ed6c4dee7a8e3d0c4e6b9acde1d8c5aa0abeda4f04344f45e68a05fd7c641c48139f1a9bd07ae97a754953aa88f823460ca36b0ccdc0179e98fefd7f1e3ec65ea9c4cc9e650c18f15c6e03f828a51245964e035f17c8f0819d7f4df52a55f14fa06f56e33d0780fcf82038a37326eb1ca00b81137dac3580814ff59c741b8b54e7f6ea0e8a013a3fb54a57557f854f781a377a1fdde4823c72971e41ac143fcb2e0c64c69d86f68fde84691fbf8b200fccccbf95aec040a4cb3d087387f6b7f53ec74bdc190c2da8e6f784bad59878c567f4c28a7567 +ss = cfbda200c79be95edc0d897d504a72aea18f2cdf503c17ded828c64c021503ce d = e4d34e12982aeeb1d62fd488d9b9e28557ed3429292239fb4f76fa9098009aca -z = e6c45c7fc62329b13c8d29844405db8ff6860de474bf727ecd19e54e6e1a141b +z = 91fd1369e8228b3979984c15440ef268fd3629c186d6cfde02b0f8a7908a7ee2 pk = c6e762e6e2c322cb783f069a7e5594cd26a0914b3104b87318d0489a63ab263c88d561a4c8fb9a77c72ec2b917f685333c61989a4b3995d74589300688d2512943ae79335dbfb0c52cd14b16c085d510918696087d2ac47437c0294b8626a65f1e373d19a0107de053219a22bd0907ba19b4e7326f765989ea61174151356f04585cb89ba8d05a99808283b550c8a3816eba213362b5cec5773e152d14d83563dbb57ec89eab558c6365bc5ebc577ea46c6b39c3c76b43ea22074bf46f252a125d3740066509c48ccc347abdaf436153911dafd114555964c49ba9e2605213dc8a71a05e37b305f922a4e9a3b31e973e19b161bc4295d290535dbb8b6b359855d811614c14a408c34926be2700418139998e356acd5b85281b61b0c78733b0aee5a1ca99b56737c669d535b276c5546aa72673c5344fcc7923f69a0ada7096d75e81e32e0a8644ad73a4e7d19b3be97ea3d773be842597761818275cbb8aaca1206fa41686613986ddf37949842ba1741e812217593815c82ca7b583513938931b0bc829aa55d85a32b6822013244f2a3bce15791620e6cbc96b8555d0c77705c7cf996292cb5592e490d6243bfadac9dad7270a125e14faa8f8b321cc6c9e3b2407000340702a4c97a0189febc47e5baf51cc060af7cbf48642d46911e0889eace6bff53ca189a1036ba94912582b0f8b679a3b6ebdb31b7bba4f9c4c349052c4b9352d45e68463c865ab331884982c05f3a1fd78081d946a71d984887041a0e894f6995501233363027a3b7c321dc4a21d8463c9369abec4826f0906039a1a83cb59cac584d7c6426c91767167b3a4564237dac2b623445cb5998717bc4c8c9e3364915c5ba86b99a02dc444dd52b236d4cd2c26cfe39c1cc8321cf7156867b37f85188abea7a040400dbf4830ed1835b2d47a6b8991451a7889020ead45451f46623002b31839c556a22382130b7689cc92cab281b164dd237357a195f4688f8f385f8f45a32432bc238a0c7f78324bd5b9e73aace5391d60f28ddef61e4e2c493c136b74229edda96c22f70f54435c6240747d963e576b2aeab0bff2009ba0f34b65c2a35b72477f36c914d048545c513ad61f964829a78bcccec39d2db38496a209afd760f1a51654d3125dd42c3ee13353f93e0114469c2abdf879050cd9466b4606241158a60b35ffe1a8956815419b9fe843913d22b93c7283805ba3098a52bc16bfd9b27c29155a22c99eda56530a69964466065ccaa447b13c4c8115adcc6285d947aaea1378a76e163556c18459b1ac905abc9b39e21e12486a5e56a228395093b150fd550feafab094602672860e5c74240ac705f25903e70667968435a4dc3e24dbc77e9806ee94436ce00b11bac776b46bd85a94634c1a3bf91e53781f03318aed41011a390f48e5b7e2866d11783c7b959882821fd4745a2fb3bf1e87756008ba1103a508a584a3290a4aa4783f10a9e62a73f11a0d18f9b8e3a608a58317f3d3909a5a622bbbb09b52350a7a681e2a63f02504aec572328155f67100b6331f38835fd56361fee46b903ccb020a2998d651bd2cc022f1b4c97966274353b745ae43265d79fbaf20d7969a8b4ab5cc9f43259025724ac0a05e9de54257859858685cd602bdedc01047fb903416a2e2d770aabcce2460903feb40274354b2e705111124887b331cba10673c0d2aca027a2c6ccb95c701568c20346ec747a29de09ff6311fc172910e41031b95330e240ebee2026048047e03c6de9a293f501604d3c7ce57a715db0aa91a6151230731e02f467477d04a5aad9b2b8176a1f056c3140bb1454cc7ffe380cf97139f4800fc4b740a22520a3b2a8730caf5e7580352b936ab9eafe3cbebaa87fdc771b0d704e455b8153c4b6cdc780ec415ac7326be810c63669a7f30a138a187108880b5ab97265a2158f542c37828c80b4bffb474ac27c6513bc54f0897ccd9948dd3c78f60c4cae733aca6caf41b9ca8052f25e58e78526ac8eb30afa960a04a322c582e5ebb286accc225a187a074877c21329856343c587e7ab6b09c3427091655f34127e09c3de1d8c6cdc3aab3eac81a99aa1a1443794c860ca17a63d0b154c9941d9c219c0a7c982114fc0c85483639a0f047a217a148346fc844c44f37270e775c5ca414ba49cc59a4b94dddb5584adf5fef6bde5872a551b6840e3a082a8aa6dfb7232a6813367038cc -sk = 85b01a4a587bae308d39792b47f71997fc55fdc2746f881ddf7bc215145c56d399c6447ada39230866384bb718ada160a7349747867cf695cccdb8a4f1fbb3e573ade85ccf38924f36482bacb9798d481521a0cae103cc9fc9675184490f281d3516cbee910287758a4c374c0a4313f1c29251b1655522936dc329f540a1fd887f0c775823436df736c367aa3013341e66854fb39a9eb90b23caec3e84690ad531141f39914a77a767a47b60f2868cf11311aac9da94c72e9624d21814cdc99c89a4b35e1c4c63cbb3edea06888162e180503cfc6616b24d270601d0d275c03109dd9486220b66d523a8111b4de5b99d236586a09a4f77a240cacb4a737c770bc4915f55b609075ee68499654baf90622647052a8369872a93114c80c60fca1345e20114552119669a0d3a7188d3326017ce92112f0b715c26b40851683478e5c719c11088f00aac577f5a8763d4a76e3cd00cd9061f021672847ba0d4785ea7b1b28fa364e64c4fb7f718d2352b1fc26858b6552419a4d8e1b22f8c7992e3b5373183d040948777c356d514fdfb2d0c5a636bc5416a799270e5c975c0a62f3a76fb134646b333b75582f7f2c51cf4bd37835c3fdb2ce1ea86306362f8216d27e40ca43a45edc9554f08c604624659aa10ebd29e59a60f7bd66eee447f4398addc73387579148bc4a26b6749c961926fd34296db3044cb0d2d1312ca6a6755ec48c46865a36a6330a9aa5d39167c6062ef1a7c82ca5c0ac1b163b85e43c278312c4304aa127d66576e7218c2d0c850108076109919ac6931264dc2e919ff441875e607a97772feb45f14881fbcb37b4d00b45f416cf56c9501c6598ff9425249740eacca49d92e31d679a4f16c3ccb4384db45e47621719c6c585ccc03355216d43625c08760254ae3cc4aeb1287cd5c3f0911641b05c7036c9bb360c72902325830bd25eacb5a88abdc926e0f205ee857aa66c8c47e434d8bb4a6cfabbd8b681c427846f0e18a2762152b170063b489a3e6b8ba06b00f14a3f2e6ac00725e5724cb629b7a312b3a1221c9460917c07637b71050bb644a38a8192270c857d43ea9304495206bf62b1c4c11b04a817aaa996b2a266ceb8a80aa46674f16207b61bfb484af461b6dad9a9e6c22c56f81bb355a6705310e921239497809012159e78a8a249796c155a9dc7cbfe7384dd092239c29773f6610e536a77b879eef054c5e539a381043c1b53d69566a96d1931b166c6f066cf0ec81e7492a200876d42007724ac916460a1266ab77a327ef1282479685bc43a2718c93a806c3de3a0cb918c7a734cb04759341c5b1496679987aa5db93b70f903a5f4024c3da6fe8bb2ebc27182e1179611c61f8f6214069ab83c7165a46caa74bbce0897fabea9b6b58cd34e7535b0297b4359960d23e4a498cf7610601d92af2fb6163c4b2761615121b62a7900b08d61065c83a69d51253d48399fc665962ad36275ed3774f114a079f13b8bce420b44638cfa6ce6018b58bea422a8287a6680eb21c75456592e8b24cb6c26ec3d3c1dc4a19ca16888e9b7fea1a863b7a0143307530b533269a8b692cb4522ac1aa27b01d38603fd009e1c02017bbb36da2049a2c5045a63081266d69d88eff7c2147ac956a33b4c198c1eab2ab93c592bb5137f291824c08258cd0b0bc4855a6b83b81858ee7b4beafa59cf7e4a03675113131251ff512c50aa885878d0c086d7461677bb81e46e4790c30a9a7ac4e0b3b600f04ad6381424a4b430b0a4db2387703f77c4a0c51072bbda954b473f86ad2aa1a5b926d18e0b0c25261502ab2d31ab5e837675b369880a2786389c9ff0ba07f1098e56c3c92557f3ee934573901d0168b3e35c4610385c324579686571a051d4852257ad329fdc85178438014fb365a11cd6a40b41ae8caa46a6eeaec1b264b8cdb2c040e928ec3829f3a7025c66525e937874e09c7fac652ab059a5017698d7c0123cb6dc889b4c3942a6e834d029673955a521318b930fa4553f46058922b57831e947015aa0052b4514deca02213e3171d7063bab2305a3a173ff68a1d46106f1aaa3967bef778af01c84450daa35b06801c5121425869d61213bd4b44667b7c21541103cb1f24b8a472e55e468b8a6cec630314673c8aa12fbc135b79498480721180c3dd1b72c6e762e6e2c322cb783f069a7e5594cd26a0914b3104b87318d0489a63ab263c88d561a4c8fb9a77c72ec2b917f685333c61989a4b3995d74589300688d2512943ae79335dbfb0c52cd14b16c085d510918696087d2ac47437c0294b8626a65f1e373d19a0107de053219a22bd0907ba19b4e7326f765989ea61174151356f04585cb89ba8d05a99808283b550c8a3816eba213362b5cec5773e152d14d83563dbb57ec89eab558c6365bc5ebc577ea46c6b39c3c76b43ea22074bf46f252a125d3740066509c48ccc347abdaf436153911dafd114555964c49ba9e2605213dc8a71a05e37b305f922a4e9a3b31e973e19b161bc4295d290535dbb8b6b359855d811614c14a408c34926be2700418139998e356acd5b85281b61b0c78733b0aee5a1ca99b56737c669d535b276c5546aa72673c5344fcc7923f69a0ada7096d75e81e32e0a8644ad73a4e7d19b3be97ea3d773be842597761818275cbb8aaca1206fa41686613986ddf37949842ba1741e812217593815c82ca7b583513938931b0bc829aa55d85a32b6822013244f2a3bce15791620e6cbc96b8555d0c77705c7cf996292cb5592e490d6243bfadac9dad7270a125e14faa8f8b321cc6c9e3b2407000340702a4c97a0189febc47e5baf51cc060af7cbf48642d46911e0889eace6bff53ca189a1036ba94912582b0f8b679a3b6ebdb31b7bba4f9c4c349052c4b9352d45e68463c865ab331884982c05f3a1fd78081d946a71d984887041a0e894f6995501233363027a3b7c321dc4a21d8463c9369abec4826f0906039a1a83cb59cac584d7c6426c91767167b3a4564237dac2b623445cb5998717bc4c8c9e3364915c5ba86b99a02dc444dd52b236d4cd2c26cfe39c1cc8321cf7156867b37f85188abea7a040400dbf4830ed1835b2d47a6b8991451a7889020ead45451f46623002b31839c556a22382130b7689cc92cab281b164dd237357a195f4688f8f385f8f45a32432bc238a0c7f78324bd5b9e73aace5391d60f28ddef61e4e2c493c136b74229edda96c22f70f54435c6240747d963e576b2aeab0bff2009ba0f34b65c2a35b72477f36c914d048545c513ad61f964829a78bcccec39d2db38496a209afd760f1a51654d3125dd42c3ee13353f93e0114469c2abdf879050cd9466b4606241158a60b35ffe1a8956815419b9fe843913d22b93c7283805ba3098a52bc16bfd9b27c29155a22c99eda56530a69964466065ccaa447b13c4c8115adcc6285d947aaea1378a76e163556c18459b1ac905abc9b39e21e12486a5e56a228395093b150fd550feafab094602672860e5c74240ac705f25903e70667968435a4dc3e24dbc77e9806ee94436ce00b11bac776b46bd85a94634c1a3bf91e53781f03318aed41011a390f48e5b7e2866d11783c7b959882821fd4745a2fb3bf1e87756008ba1103a508a584a3290a4aa4783f10a9e62a73f11a0d18f9b8e3a608a58317f3d3909a5a622bbbb09b52350a7a681e2a63f02504aec572328155f67100b6331f38835fd56361fee46b903ccb020a2998d651bd2cc022f1b4c97966274353b745ae43265d79fbaf20d7969a8b4ab5cc9f43259025724ac0a05e9de54257859858685cd602bdedc01047fb903416a2e2d770aabcce2460903feb40274354b2e705111124887b331cba10673c0d2aca027a2c6ccb95c701568c20346ec747a29de09ff6311fc172910e41031b95330e240ebee2026048047e03c6de9a293f501604d3c7ce57a715db0aa91a6151230731e02f467477d04a5aad9b2b8176a1f056c3140bb1454cc7ffe380cf97139f4800fc4b740a22520a3b2a8730caf5e7580352b936ab9eafe3cbebaa87fdc771b0d704e455b8153c4b6cdc780ec415ac7326be810c63669a7f30a138a187108880b5ab97265a2158f542c37828c80b4bffb474ac27c6513bc54f0897ccd9948dd3c78f60c4cae733aca6caf41b9ca8052f25e58e78526ac8eb30afa960a04a322c582e5ebb286accc225a187a074877c21329856343c587e7ab6b09c3427091655f34127e09c3de1d8c6cdc3aab3eac81a99aa1a1443794c860ca17a63d0b154c9941d9c219c0a7c982114fc0c85483639a0f047a217a148346fc844c44f37270e775c5ca414ba49cc59a4b94dddb5584adf5fef6bde5872a551b6840e3a082a8aa6dfb7232a6813367038cc5b07c8359e6ec4989c34b31293f4df965b5d95802afa5836beabb001d5cd4daee6c45c7fc62329b13c8d29844405db8ff6860de474bf727ecd19e54e6e1a141b -m = 2387772e50059cabda53cb93ba24b19ae529496c03b36584169451525c4a0e7e -ct = d009c3b0460e967d71a8198159994b6d089cbade3b8c9cae2a490275f5d540688816d9a7783dcf25a81e22d71cc96d391a78af5be9debf9582a06b7580b358373edc055bb05f746fe74d93fffc9f28d132f5439a5dbf6831350115cc212ce0f4419bb60b412d8f19c97e507c28d5395fdba0bfbeb0994f26bd4e8eb6ab20d5a30f192518eff49d50fc21d946e118eb5da02751242106da0e402eca8a79d550ac284f5a3205cb04334359513375a2aae672527ca48b05dc66db98b5d708f1bdb777578c0d15251d14d3864057f43f10697bd023be1099ed80b30fcde36cc03753ff373659b5a45b04efcb7ba24d5c15d0e5de27984a7210273eb14b445be236f1f0868aed3def667add0b0489c7d147334e9f46107faffe490dc862f25bfe06ddfb650655bf781a755f2d31dab30eb47a6d065230f79d55608faff57979a4b07e8fc3f6943d158c0a4b379aef198e1edf90b4f85a485127bf8f63bf5cf4b6c398ca159c0a6f4bafc871b5467d77d9d1debcafaf3660e24b7fd9b2389b5d4081476e8bf2ec0b52b4c5ae016f8b26ed77c4c1f5f747c6fa6f87cb018db1eb0c1685c1282d74a8dde7e55f5b200c3faa87dd927ad38ada4c3bda4b1eb36e115ebb90e332b187104b70d5b83ad4979085682ee96b826f495a9bb0be49feb3083bd032920f79a678d5ddd2970ab91db23a9023d6af6717b701ed6c13a72be5b8f537534c28b1e8f16f657128239b2297b26bdf4a3ae9026751ae730b8bc2c3407ed5db565da24422d49b3cd3a251354c6b7ccbfb92088f7130c5e0a0ca045003bbfdc9c064ad7f3932e814a7f0c8086d64dfb33e9ebe5e98977f75ed74ee13dc3c1874994a776bd305c57b2aa08ac42ecb8ab913401484bff4a54020fd66d80687b426536d68d7ea8b5a28ace1b7da21a8a5ad6703106c8a3c94dc1fed45ae309d14f005e973564cb1190fcb89cd5cb85852cc2b0d2233a6096e7346be9b6f427d6d8ab8a4c7960d2e1a4fc8878b772404b6542c2cfc9c01a68f0e67167b150dff928aed0422705b104915a9b9f155aecd1e94f70c47f8002b04c676523f71ea0867a5d9ce2ff1f69363b5236064dd73abbad2084d568e5d2d41f3beb150625ff255c8ea697e1ed755834583841558ba31e4d49d240873349cb6e22a729dba4489f219e1e34091e923d0add51072a3dbef9cfcb1bd68171c353aded14129e6c1d34822e08ab1d0f7d958b0cc348d04b134549752e2b21e691a181a2dab056b5397e2760eb9b68eae06fb4d0faa2e7e1e045349015f1fa656cea6b01ddf892a3c857681cabecff624c3e67b21b09d2d08ffedc5ec9429d2d7b8c2571a29fe25bb2ba798fb1aa17bda7c2621afb79eb4ffcaf13e963f8e238b6ffcdb9626b4ddd477bf721f344ce6038e109bd27ace5c05c5c611163c3aedd9b47246bd77c77a96e22e2bb63096ba082cc60fcf83d95435e44f1395d9512116d723731234e0523f2dd635e9b3eff766d4ae2345bf8e606618074fb309b143a64bb93f86b0b4e307453c84e82b812bc746721c4882cbe488c66403a93f3ef87baaa6009cf8ef81587ed5e9ef549a5c927f10171a45d954699b8a3092e98ddb40cc38f86b6b3a1cfedadfbc1a864135aea1c51d30c9649d1f3f7d46af1cf095511d084ba6e3f8b3555501fc04869f4ed12301b68885ffd13acf8d4c27d2bc883c2dffbd8f981ff83f9f0f215fcba3aa3afbe17d59ea3474123f61f8cdcfc36d7e519d1c4a862913c7821848bf54ab43d983f4ea5bc8ab8610ecd4ad1fbf5e4c862cbd4286d20591973180f951631ee8023483a677a5ee5e3829553b35c6980b4f363ac393806ae8caed0a348c3651734493d78005f860911b3c4877a178a97d130cbedb2a260be62252b54cca713c0de394c31490f2cf69cd76c61b0c18ab5c806be4332f3a46f6b2e3fde252eeb77a0c8df0e201ad1563fc542b97de9cbf0b0fa882b39a172187ca89f0e2f82604a482f04edbf088cfeed6377121baace1f05ef990e6c1d7692525fb8df9f2b690b96796866c6fcd3d20dd6e830bee6e840a929686f2ddcb4f7f880c3e3b6ca62f64d833c8e9e261298164336170b1f44accaa6fb44350ed970e286e5fc31b71194c48783ad1ca6c8875a4c20412d11a07659f84eb85421ceebf55b9c7ac288f3aec2481cffd1fa784543fb7df2d4c65f131776afb65ce86a55bc1ed8648 -ss = 6e2e99d7b70682d8ca3093cd45645eabd5bb720b9aa8f2324251f70da1bfaaac +sk = 85b01a4a587bae308d39792b47f71997fc55fdc2746f881ddf7bc215145c56d399c6447ada39230866384bb718ada160a7349747867cf695cccdb8a4f1fbb3e573ade85ccf38924f36482bacb9798d481521a0cae103cc9fc9675184490f281d3516cbee910287758a4c374c0a4313f1c29251b1655522936dc329f540a1fd887f0c775823436df736c367aa3013341e66854fb39a9eb90b23caec3e84690ad531141f39914a77a767a47b60f2868cf11311aac9da94c72e9624d21814cdc99c89a4b35e1c4c63cbb3edea06888162e180503cfc6616b24d270601d0d275c03109dd9486220b66d523a8111b4de5b99d236586a09a4f77a240cacb4a737c770bc4915f55b609075ee68499654baf90622647052a8369872a93114c80c60fca1345e20114552119669a0d3a7188d3326017ce92112f0b715c26b40851683478e5c719c11088f00aac577f5a8763d4a76e3cd00cd9061f021672847ba0d4785ea7b1b28fa364e64c4fb7f718d2352b1fc26858b6552419a4d8e1b22f8c7992e3b5373183d040948777c356d514fdfb2d0c5a636bc5416a799270e5c975c0a62f3a76fb134646b333b75582f7f2c51cf4bd37835c3fdb2ce1ea86306362f8216d27e40ca43a45edc9554f08c604624659aa10ebd29e59a60f7bd66eee447f4398addc73387579148bc4a26b6749c961926fd34296db3044cb0d2d1312ca6a6755ec48c46865a36a6330a9aa5d39167c6062ef1a7c82ca5c0ac1b163b85e43c278312c4304aa127d66576e7218c2d0c850108076109919ac6931264dc2e919ff441875e607a97772feb45f14881fbcb37b4d00b45f416cf56c9501c6598ff9425249740eacca49d92e31d679a4f16c3ccb4384db45e47621719c6c585ccc03355216d43625c08760254ae3cc4aeb1287cd5c3f0911641b05c7036c9bb360c72902325830bd25eacb5a88abdc926e0f205ee857aa66c8c47e434d8bb4a6cfabbd8b681c427846f0e18a2762152b170063b489a3e6b8ba06b00f14a3f2e6ac00725e5724cb629b7a312b3a1221c9460917c07637b71050bb644a38a8192270c857d43ea9304495206bf62b1c4c11b04a817aaa996b2a266ceb8a80aa46674f16207b61bfb484af461b6dad9a9e6c22c56f81bb355a6705310e921239497809012159e78a8a249796c155a9dc7cbfe7384dd092239c29773f6610e536a77b879eef054c5e539a381043c1b53d69566a96d1931b166c6f066cf0ec81e7492a200876d42007724ac916460a1266ab77a327ef1282479685bc43a2718c93a806c3de3a0cb918c7a734cb04759341c5b1496679987aa5db93b70f903a5f4024c3da6fe8bb2ebc27182e1179611c61f8f6214069ab83c7165a46caa74bbce0897fabea9b6b58cd34e7535b0297b4359960d23e4a498cf7610601d92af2fb6163c4b2761615121b62a7900b08d61065c83a69d51253d48399fc665962ad36275ed3774f114a079f13b8bce420b44638cfa6ce6018b58bea422a8287a6680eb21c75456592e8b24cb6c26ec3d3c1dc4a19ca16888e9b7fea1a863b7a0143307530b533269a8b692cb4522ac1aa27b01d38603fd009e1c02017bbb36da2049a2c5045a63081266d69d88eff7c2147ac956a33b4c198c1eab2ab93c592bb5137f291824c08258cd0b0bc4855a6b83b81858ee7b4beafa59cf7e4a03675113131251ff512c50aa885878d0c086d7461677bb81e46e4790c30a9a7ac4e0b3b600f04ad6381424a4b430b0a4db2387703f77c4a0c51072bbda954b473f86ad2aa1a5b926d18e0b0c25261502ab2d31ab5e837675b369880a2786389c9ff0ba07f1098e56c3c92557f3ee934573901d0168b3e35c4610385c324579686571a051d4852257ad329fdc85178438014fb365a11cd6a40b41ae8caa46a6eeaec1b264b8cdb2c040e928ec3829f3a7025c66525e937874e09c7fac652ab059a5017698d7c0123cb6dc889b4c3942a6e834d029673955a521318b930fa4553f46058922b57831e947015aa0052b4514deca02213e3171d7063bab2305a3a173ff68a1d46106f1aaa3967bef778af01c84450daa35b06801c5121425869d61213bd4b44667b7c21541103cb1f24b8a472e55e468b8a6cec630314673c8aa12fbc135b79498480721180c3dd1b72c6e762e6e2c322cb783f069a7e5594cd26a0914b3104b87318d0489a63ab263c88d561a4c8fb9a77c72ec2b917f685333c61989a4b3995d74589300688d2512943ae79335dbfb0c52cd14b16c085d510918696087d2ac47437c0294b8626a65f1e373d19a0107de053219a22bd0907ba19b4e7326f765989ea61174151356f04585cb89ba8d05a99808283b550c8a3816eba213362b5cec5773e152d14d83563dbb57ec89eab558c6365bc5ebc577ea46c6b39c3c76b43ea22074bf46f252a125d3740066509c48ccc347abdaf436153911dafd114555964c49ba9e2605213dc8a71a05e37b305f922a4e9a3b31e973e19b161bc4295d290535dbb8b6b359855d811614c14a408c34926be2700418139998e356acd5b85281b61b0c78733b0aee5a1ca99b56737c669d535b276c5546aa72673c5344fcc7923f69a0ada7096d75e81e32e0a8644ad73a4e7d19b3be97ea3d773be842597761818275cbb8aaca1206fa41686613986ddf37949842ba1741e812217593815c82ca7b583513938931b0bc829aa55d85a32b6822013244f2a3bce15791620e6cbc96b8555d0c77705c7cf996292cb5592e490d6243bfadac9dad7270a125e14faa8f8b321cc6c9e3b2407000340702a4c97a0189febc47e5baf51cc060af7cbf48642d46911e0889eace6bff53ca189a1036ba94912582b0f8b679a3b6ebdb31b7bba4f9c4c349052c4b9352d45e68463c865ab331884982c05f3a1fd78081d946a71d984887041a0e894f6995501233363027a3b7c321dc4a21d8463c9369abec4826f0906039a1a83cb59cac584d7c6426c91767167b3a4564237dac2b623445cb5998717bc4c8c9e3364915c5ba86b99a02dc444dd52b236d4cd2c26cfe39c1cc8321cf7156867b37f85188abea7a040400dbf4830ed1835b2d47a6b8991451a7889020ead45451f46623002b31839c556a22382130b7689cc92cab281b164dd237357a195f4688f8f385f8f45a32432bc238a0c7f78324bd5b9e73aace5391d60f28ddef61e4e2c493c136b74229edda96c22f70f54435c6240747d963e576b2aeab0bff2009ba0f34b65c2a35b72477f36c914d048545c513ad61f964829a78bcccec39d2db38496a209afd760f1a51654d3125dd42c3ee13353f93e0114469c2abdf879050cd9466b4606241158a60b35ffe1a8956815419b9fe843913d22b93c7283805ba3098a52bc16bfd9b27c29155a22c99eda56530a69964466065ccaa447b13c4c8115adcc6285d947aaea1378a76e163556c18459b1ac905abc9b39e21e12486a5e56a228395093b150fd550feafab094602672860e5c74240ac705f25903e70667968435a4dc3e24dbc77e9806ee94436ce00b11bac776b46bd85a94634c1a3bf91e53781f03318aed41011a390f48e5b7e2866d11783c7b959882821fd4745a2fb3bf1e87756008ba1103a508a584a3290a4aa4783f10a9e62a73f11a0d18f9b8e3a608a58317f3d3909a5a622bbbb09b52350a7a681e2a63f02504aec572328155f67100b6331f38835fd56361fee46b903ccb020a2998d651bd2cc022f1b4c97966274353b745ae43265d79fbaf20d7969a8b4ab5cc9f43259025724ac0a05e9de54257859858685cd602bdedc01047fb903416a2e2d770aabcce2460903feb40274354b2e705111124887b331cba10673c0d2aca027a2c6ccb95c701568c20346ec747a29de09ff6311fc172910e41031b95330e240ebee2026048047e03c6de9a293f501604d3c7ce57a715db0aa91a6151230731e02f467477d04a5aad9b2b8176a1f056c3140bb1454cc7ffe380cf97139f4800fc4b740a22520a3b2a8730caf5e7580352b936ab9eafe3cbebaa87fdc771b0d704e455b8153c4b6cdc780ec415ac7326be810c63669a7f30a138a187108880b5ab97265a2158f542c37828c80b4bffb474ac27c6513bc54f0897ccd9948dd3c78f60c4cae733aca6caf41b9ca8052f25e58e78526ac8eb30afa960a04a322c582e5ebb286accc225a187a074877c21329856343c587e7ab6b09c3427091655f34127e09c3de1d8c6cdc3aab3eac81a99aa1a1443794c860ca17a63d0b154c9941d9c219c0a7c982114fc0c85483639a0f047a217a148346fc844c44f37270e775c5ca414ba49cc59a4b94dddb5584adf5fef6bde5872a551b6840e3a082a8aa6dfb7232a6813367038cc5b07c8359e6ec4989c34b31293f4df965b5d95802afa5836beabb001d5cd4dae91fd1369e8228b3979984c15440ef268fd3629c186d6cfde02b0f8a7908a7ee2 +m = 135cd8f8172371cef32284ec766614cfdca11dbae8797b92227da5e487e16435 +ct = 051a46e673f8b5592b4ee7fb1bee1feca91a977e5e01d6753436452121b456f3df53bb4ffdfa336049ae9185d417b8373ddfe56536d44a22a980687cc97c6c160d1232f67a66ab9479af82f260019dbf7b0d1d4d6b36cadc18e33f1f78b04789d81d4c3f918fc84d91fb45999791026a048974e9acd4ef0a9851691496314da595e1ef2604ac2b6270c8f3aec8897936bd39c5a1ab35887685660f96028fff3e80255f4d365cee06eedee24f155125b2c2b784fc85c50d8e4c1be8e84d50d3c3f260dafb1e4e396eb6845267c77b0ea2c3bb73dfa93e68c26a52033f45421ccaf5f8236980466339b5ad08aab8878efedddbd92ee2d0ba288a15f61b8423592e7ef6e624c2be28f87980187feb5068e97edc617cd67bd13a776f396e16f29eeb5b17fbc096ddbef65b9c7d41e0145d118f2a9b2f2610539784d28817602e95dbc16eb4a96b1fc4701367dd010a59c2562bd1c6ddfe0f21dbbc2299d4a437c2b49ce53d9f7ba7dedce2f2385bc5d505e7a2ab276e6ba3a980b55ba0090532fde22571f89bb52bb8cabc77ce16520c79e0f399229f24ac4a973481e8251b2b22710795cfca7a11e9b0ef0532b050270ac75a9d9e811523b28d49cdfb5671bfd17fb304a8aed9bdf11b750a24610934ec293684b99e6085241fb234430391ded0298fbf18a7b67e8a3f890a3d061b53bc425167b8911f2addc4b445c6c412219088a04b5934bb0ba74a02a42be64f53cf8a3d89a3800ae67b1cfd8996465483cc0c2b513299f90d0568bbaf923cd6b480ecffab5253903d5453605dbb8c9a6f90c0c48d9cd5eb098477cb83ac31e586c433fa8091060582f51ce9aeab3bc75fd0269b5deb76ad45c272fbbd29d79f89c25c1b1fce8a668e03f63d776a51bcb4db85d7720343e2470acdc3918161b290b8dc81870c73cc0d261b2b8c862fb3a599a62c7536e8a63165ad515bb44eeb04cbc4c6ff2f9ca0009d317eb72e51559d34007b35e0bc6019573f73a744dd140276c09f098cbe712fdf09dd0e21ba2cea04eece5ec50c036a1fe5ceeb28427101bcc2dc4be9d33c06b72b0d5e53f8a160e6cb6f50ef3e3ceb754f2b0df39527f3189e1296b86d5f173110b16acfca5ab597586ccba65e7ccaabf7c9622be29c56a3bdbc2e7568f0ccca88d60a88c266a98507e21f68afec83073264287be7ea36cd94004f5bcd6e676357fe5e44fe55a134ef2bc86af759702312a165f888521446ecf4f8c901f25c10c7f68388d9bfd88a51a932dbaefb652cea611472a695dcad536dc13793e705171e5f5a38310d551a90909a9645a1d9cf9cb637c1cf013f566e88c40b3f4c3393613d27ce6a595478c0078c606f38051668a6145ce5012a87c5eaea01d0f0af4013429ca42ee28fb9eda74e25277bc35c66558316c60f78a3763e8ff8d2d711a1855941f7a39f66b2238f9c1bfe25aec0d6dccf5c35ec57dfb54ecffd616f00d779dfbdf92e9d1169855c036486737ff37bb080909e94f69da77443d2bc05954e44d79b8e8953886ca94af24b3bc1998258a54a0a5509589f5b41d1244f73c7265b934726dffa644a7c0ac5c3a271ad187b281417ebd6c664c9209b177211a1ca3fbef17c34ad836681a736b7deab35a37dccd974f3236bbe7c2436b45d5a15fccfffcaae498862b072e4eea06cca4b66362898fbf477fb039903634de6204e61fdf63113026b1657e5040432088c1e6d0fe8ddb7cc331c9223a7ef23c1457227a9dbd16a9549602b5af4afb8e2840ba2e57de4c7bdaf1800523474586c6307177ad7f7af8a70c43f7fabbe980a79cb1a8c00f39877696b38b453b1578e7f9fb0b09154ff05372b7778e8093aa6c8ef6baf1aac5a9a87380cc0945c230e283b766499d3d76b666193a58ecaf9a95fb44533c5513539ed956e6a7f333aacfc15e4198fc65c08deac287a25d8854028a2a28d343d665d1d4d1b77a6c9c0c0c9687b1a2f94de9dc9e2f9230c34f194b33d78c306e1444c366feff82a0ac197c8256fa7f03ba0dd4e720a979359a74f966dbad5254fbc0eeeda4ebca48820c69a61104a0b1b7dc0df08ad57413d52cf0be42bfa7ccea753eed9b652e6ac5039d6ccffaec3366018d15a43c396cb48c93d636e0c8d658e61e2a7c6375748531ce0dd5996eef2f69496af58dc646b17f65e1dd5507faa053495465da94ed111cb0358cb93c5a5b5a704ba087d +ss = cddb5e24b40023bc259f37931530162c3af9445c95e496d926cebc14cf956f18 d = cd6a99396eb3539ca663a51e42063a3a262cc1c5a5fce1566f0597b52ad9fa32 -z = 5a3407f591791a5db4578b5972093a95bec3b8e70c1d542c9b5c9789729f8922 +z = ac8557eb61a3d4a2400d3a604092cc3b92032f4d3b563f3d4aa19387eebf2a76 pk = 4eb491efdb1988b9794aba1c0d42326e9a797c67181995999a1053b3a1ae542a7e1bca4aaef5910a157c713cce03ba4d34a9c427a53f263916041ba9ebf2b86e21b127c5951d7709fd036465784a4a26b91af48c7b3574d6e537676b4bf8eb5e5d6496b7e66ac4d50fba956ab9b881ef55a6459199c2987162774f573599ee0b6b001cba6bb5302df24ea0622d3fe2a7db12a063d528baea6dec8a97bf12a61249010eb7056ec5a9573c77b848a6c6fc13c070450919054c05be006a40368094775032efdb98e087991d76a703924528ec05ee50bc56d206895552cbf4999c6a7617ea35652c8d5cf22590bb9fcf62aa0e055805279400b2c9522cabe1853e06e6965b517cd04538d7f083e27b95c29b073ae13cac42beb549337491b88c877af8910bf8659fb2f309442460ee93a0344ca83c58c1840c95ea482c81380bae24c01c763b2bb05b369bbf074c8e96ac2b5b73920ae07318057a643640fd58c691209b08c9b5cbe972adf001e8c00fe853631341c8a634cc52c77754790a6540ce9585290aa243231332d7ec3161b096ced68d80208c362707ed892921634b4de6679e08a10f55c72043348bc512ad39c07dd41a88d3c8c06769b6c080b9a24080684aea9637527a099bd53af1505eaf0272a1f537593669e6ca1d5135ae9d77b737b77a475b61023777eef22477b663d5848ba7d8859042713bf7353dc46c2e3b9e75788b3813b4844c0a233019529809487531a820a079fc2a43da0874c332695a79aaf3c6d5997bfbd27783064c1c055b82b3be463b5b54eb8c2e42772cd56318c6658e0b90cc31596b3880033338e6e41e9d1187e3732b75f50ed961501a030d221370a61788fc8b164625939e7b19d076b45b51c555d063433709dbab05746641410cb34ae53e3652a0ade7ae5dca29f0e22048668abe03869914117b6cc18617946c73a20b49826748981367090e8b72b8181ab696b878c79bd16683b2ca698e1489daa23b54eb017f4000d481b268e2c7c02a75fb608217bcb1290746f7251d010a581df15ebdba8c5d379441d22e591c4be3c9cd9af05956674f558c2387518bebc02dc3c2971bd264143271ce28b1f419be088922e6644e939738b846cb651267a913936d80b2f4e8987b5c48c37672a222037fa1529a764be14a87939b6c72b7730ffc4db926836c71a56112724a88c9f55aab44638a4c9186717246666b28e1003ee006ac915530a1fc4bb786abcec5b35476436efb7c4b4bbfbf183ed16b0a526c019e7399d1996f44755fbfd86a79d19fbe3957ee97a08d668adee16b996a71df28acbb239dfe03ce8ff5ad62ba992863afd086ba74979cbd2c0b398383378ab973c9647db074921531a9441fb53a94e229b7c7ba8f2ec9a1e830b9826bcf1d353d91abb56b89c33fd37ee6130757d08a1699929808c881f9907556af18a95938a1bcec20191ba5a9ae32b769e3c56d4cc6baf9c9152359609a9e8dd6aa9ccb12b35c9db5605bd8868474e65257f785b429c1869bbdf6e118024c906a951195dc4361aa95d4c53ca418a7b6926cbf539ec1f242dcb3b96e47bbe6cb0cd4a7936cb6c97e8663eae6cbdbec645c8942f6b835d2e44091c701ab73271cd86765e760f0a58beb61b0e2d12bc7511d04b98e8fdb5412f618964367e2cb694af203ab805889e0936c55bf8553b2b006093c72015d8629b494a04e3b51cf18347e7a025064a488b42c0328cea0c57dc14763a74368e36159c72b232c8424fa01b5be63014fd7b2733c47abbc4d8d8474d5eb43fb76b03708872b4cc4529a00c1ab9f67e84de76500f59c7088b1b9dca9ca9f0309b5f12eb4d55f3d734e086a843a39b29de99162a062b1e6874281221ea3314d784572bab031a3732010a50c0ac8150691b621687b6020a5b347817a3899f141bd6454ee1b25e0b130bed368c5f905c1637c036c22f65ca761270a9e8bcc18dabdd78bab5c48a3ddb82a01c646c9dbcccf972b9f0ac4edabcea3088586e8ca08f7177ad3cefd578f9fe6ca08c99167c65e4c6193251288785720ad110f58f81f4b938dfd813b76887cab48bf0cfaae5a8a16f3b110e130be7313411d517e6febb2e0ac004d44380b8ab62e874538d005d4f744918a250e4b60eadc6cad0363e0dc6cba04949f893f75e5c48e9fe10b44687f9aa606cae8888e4c21ab0f7b85eb3d3a2a3d2fe8ed883d1de0 -sk = ce732e28b21f42f2bbd1b049e6b80264b218b581cbab8c9186e325f7617895e6320fe5c697fc3b82546681b3ca5f4a52f1f7501b652f86d35ccb9756e869795c166362fac89c7b5ad41c7c74c596e2a7458e419cd10c10c890c94fd3564aa25f1ec3a3282607d8b1864022cdccebb1b1e48961207e29264a9ca86c94b71d5382c9c6b8004c818f51a52006706285bb3281618a157c80c2c00905c33316516c17f04460124fd79a1c330417984220334c84d96a66fc8a5556814c58f7826ee86f17319da3f504f0124c3f06ca50792c1e1800feea8a8e8805a54bcb90c52eca144677327f5058cca151617f443dabba304b353f4a5caabf0c179a772582711c033b3f3c1225f191b887d8294fd18914850de6b194b91c250374963bdc7215b07cdaa8001372a21f0c3845979386c27949e0bbedc0b004258866a01ec5cb82fc751ba2f4510e514a3fa09b6aea7e5e45762076b81d781c2ba91dd6f40cf13c91e947a7d7abc2a2aa91a1404d87462b42aa71eb15209a9b0d4990c2265b051163cd2ba8319576758237482f500f7e94b3ff099616225737a766c10b6aeb213b5b073eff93c3ac91bbf2b93ff47c84d7ca2e794990e2db4a7e9ab19cb50cd522427e6a935ce3976490b21792cce5e4b971668c4793ca4954b477703730411df1f5ad2557caef78c914d0c223d836c407936ec58825f3b2a1925a5164b097a94a13d8ad3a27bf1ffb0c08c72b92215cb1b67c7d2c4a7bc7a6a8a054d2a34de69c78195bb149e4b4cebab78f41612db19540385f2f74757c662c2da3c7b03a34a9524e2ab90f5cc21fc0d2ad84bb996e6c73426770ffc1c9942cc22aa2934d97a66037a18760c51b0236ca1b1880a2286ee5241ffc220a4c6ec0e296090874b3ca751dd701086a15f419c67eb4514744047d7848980c036107586d36818e74ad98989c8c02afab4134ee0b545ed707876a613ffa10be7c3f10b758b215827ada9fa1c83b129c6bdc5b621d3a5da7f396d6e29b184a38d8091b6a2c288ee2cae833a68a3cb6b30bac5ad7567c788d8c803a7b622fbd8a253b274b93593115b5b7a5282eaf93706c88c178bab897b7198c23b844219852a60410e8afa85c902edcb9a5e87a31ca84ac6b89a75830566062bc159cb129277af0645d5817c8822e384040f1621d66d41643897df21c1013cb1b426a703f120f21c780c67bb011fb3e8cb746c0b14c9f847dc1235f72e6bdfda1c55bd26e377395c4b17b764a41e0f7312782bf71820dd379befe58901a011fadac1efae549e5933aa9f9c64ce2273c486b56251674d56212c0ad7637854c7b8447a135fb960ffc435ac7553dfe935caa98bf32186817b5adb42375e96c30d0a96df39658ede95912946813cb75cc32b395aa73a916514533857b4c3405fc32c2946cf4f4251b2091b6cbb00ce296459c45e558b5048b79cc4cb8aa01bd7e82320637a62e2038d5b3c0593b42d32a38be8312ab022ebb496a5fc4a991a1baeb660a23988fba329a79dc7144d20b5246466f25af4ad971014970ebe2b36316b86b3585f6b0753711a0bf3952c688b4cf6c8a24c0964cdc1f5c1c34b3c28359ba232840063ac30bdda83f0611042fd8b7c2bb43de68b712e67971e76e7adbc0879a41afa358c2258888769b0f785f2b4716e76753d41c4215b98bea2095f5c0ceadbb69c46ca152b3045b95a9ff198ef5302667d31f36e2330a3c1c44e983ba4388a7022f1613a47d19249f2534c23ac25bb76176aa102f103d1c6578ae141772e36ed5f30f2bb02aa34480b7d57e935b5097c5c5b61422ff6249b3531361c284d67b485fcc3f942501112408d01b96bc841df1c0a9136c01cf2652ef067efd740a68f80f2c1b70476b8b67eb14e97104722cb3c82c42d9912a2f2618d50c27312c13eba245839313ac08aa9ac7918252122a6a8ad632c691c8c0f84bb02aebc6f401c2455121ff33653e377805d3b2c8633d8b141d6b6370981bc63a7141eef2bf7e86692f28764716775bfa41043315e5cc1199427fc7f6a9889165b6b09d0bbb80a609c0d52063204bbaa619757e1748412cc1dcda4c2a102396927229ba83b1eba239f41dfa530b8a2779060877a5ea142910a6cb1ac97ca2466ab58625e823fba58429a613f2c92de06993ac7006c8e4834eb491efdb1988b9794aba1c0d42326e9a797c67181995999a1053b3a1ae542a7e1bca4aaef5910a157c713cce03ba4d34a9c427a53f263916041ba9ebf2b86e21b127c5951d7709fd036465784a4a26b91af48c7b3574d6e537676b4bf8eb5e5d6496b7e66ac4d50fba956ab9b881ef55a6459199c2987162774f573599ee0b6b001cba6bb5302df24ea0622d3fe2a7db12a063d528baea6dec8a97bf12a61249010eb7056ec5a9573c77b848a6c6fc13c070450919054c05be006a40368094775032efdb98e087991d76a703924528ec05ee50bc56d206895552cbf4999c6a7617ea35652c8d5cf22590bb9fcf62aa0e055805279400b2c9522cabe1853e06e6965b517cd04538d7f083e27b95c29b073ae13cac42beb549337491b88c877af8910bf8659fb2f309442460ee93a0344ca83c58c1840c95ea482c81380bae24c01c763b2bb05b369bbf074c8e96ac2b5b73920ae07318057a643640fd58c691209b08c9b5cbe972adf001e8c00fe853631341c8a634cc52c77754790a6540ce9585290aa243231332d7ec3161b096ced68d80208c362707ed892921634b4de6679e08a10f55c72043348bc512ad39c07dd41a88d3c8c06769b6c080b9a24080684aea9637527a099bd53af1505eaf0272a1f537593669e6ca1d5135ae9d77b737b77a475b61023777eef22477b663d5848ba7d8859042713bf7353dc46c2e3b9e75788b3813b4844c0a233019529809487531a820a079fc2a43da0874c332695a79aaf3c6d5997bfbd27783064c1c055b82b3be463b5b54eb8c2e42772cd56318c6658e0b90cc31596b3880033338e6e41e9d1187e3732b75f50ed961501a030d221370a61788fc8b164625939e7b19d076b45b51c555d063433709dbab05746641410cb34ae53e3652a0ade7ae5dca29f0e22048668abe03869914117b6cc18617946c73a20b49826748981367090e8b72b8181ab696b878c79bd16683b2ca698e1489daa23b54eb017f4000d481b268e2c7c02a75fb608217bcb1290746f7251d010a581df15ebdba8c5d379441d22e591c4be3c9cd9af05956674f558c2387518bebc02dc3c2971bd264143271ce28b1f419be088922e6644e939738b846cb651267a913936d80b2f4e8987b5c48c37672a222037fa1529a764be14a87939b6c72b7730ffc4db926836c71a56112724a88c9f55aab44638a4c9186717246666b28e1003ee006ac915530a1fc4bb786abcec5b35476436efb7c4b4bbfbf183ed16b0a526c019e7399d1996f44755fbfd86a79d19fbe3957ee97a08d668adee16b996a71df28acbb239dfe03ce8ff5ad62ba992863afd086ba74979cbd2c0b398383378ab973c9647db074921531a9441fb53a94e229b7c7ba8f2ec9a1e830b9826bcf1d353d91abb56b89c33fd37ee6130757d08a1699929808c881f9907556af18a95938a1bcec20191ba5a9ae32b769e3c56d4cc6baf9c9152359609a9e8dd6aa9ccb12b35c9db5605bd8868474e65257f785b429c1869bbdf6e118024c906a951195dc4361aa95d4c53ca418a7b6926cbf539ec1f242dcb3b96e47bbe6cb0cd4a7936cb6c97e8663eae6cbdbec645c8942f6b835d2e44091c701ab73271cd86765e760f0a58beb61b0e2d12bc7511d04b98e8fdb5412f618964367e2cb694af203ab805889e0936c55bf8553b2b006093c72015d8629b494a04e3b51cf18347e7a025064a488b42c0328cea0c57dc14763a74368e36159c72b232c8424fa01b5be63014fd7b2733c47abbc4d8d8474d5eb43fb76b03708872b4cc4529a00c1ab9f67e84de76500f59c7088b1b9dca9ca9f0309b5f12eb4d55f3d734e086a843a39b29de99162a062b1e6874281221ea3314d784572bab031a3732010a50c0ac8150691b621687b6020a5b347817a3899f141bd6454ee1b25e0b130bed368c5f905c1637c036c22f65ca761270a9e8bcc18dabdd78bab5c48a3ddb82a01c646c9dbcccf972b9f0ac4edabcea3088586e8ca08f7177ad3cefd578f9fe6ca08c99167c65e4c6193251288785720ad110f58f81f4b938dfd813b76887cab48bf0cfaae5a8a16f3b110e130be7313411d517e6febb2e0ac004d44380b8ab62e874538d005d4f744918a250e4b60eadc6cad0363e0dc6cba04949f893f75e5c48e9fe10b44687f9aa606cae8888e4c21ab0f7b85eb3d3a2a3d2fe8ed883d1de037f1d7e636b4ab366dd5725957b9e5d2498e4ee1929f2213f9d05c882d96a1065a3407f591791a5db4578b5972093a95bec3b8e70c1d542c9b5c9789729f8922 -m = 155c29c5f0378df0cd0e847a80a07143cf7522fcd880c9229eb9feb1ce340cd2 -ct = 9d9cd5c391aba899542b0aeaa0d4e5949fd13f9b18aac448ba9ef0dbd10282f23ef438bf14d6ed8ab9a47ae7d1eda2c35272eb47a8353fcdf0d01db4c4f967e12defb894e5d3493223b726f2f391605bd140b3b29eb590207d8e4c2188c2d4fde0d311dd2a1e9e2c1a4f4d2543ad3a12513eea71762ebe13f455ae53fde48f540196b25e5dcd38a16da80195c1093287caac07925950cb41502d0a240d8824b1d05d29a91f4a88f0420e3e32c22384ef0cfc4df46d5656630631983384ce34b627ced771340b01451129c2284560920042a20b7a2c68147a80f08428f738f2716d3b36f36d15f3c33c02047e10fea0b686f252eb6f14091b8ab9410b40292e1e67d4f12b2f441c10c843169872ff6749ba576a279549dd4e49faa63d91670ecd8032d4ff77c21f176cd9d55b2b68dd86971f478a53c3d1a0a38e8c16dfcc77e2114bb88f5414da2ee5c3f35d2c37eccc20845e02a73cd879a2f99239d6996883b35492008c37a66a0e3e96648060b2c0b5d84eec0e709c0178579a1608a69e793070ec3b4bfc0b3586f762cdc4f1df4ff6ba62af1a4e8dcf9b629f205f703897c2a51ee3e22e004519fd69c13b645ff5128de46103bc47fccfd6940eb53e24999d21586b206c59ca39317aae95dac08241057fb17951026cd41afabe04330f18440d9d9ca08d237cf3c1d2429ec6354e9d167fc01d1676c83098a07e61941d361dfe208c0c6583b46343d62b79184ec5d9f0fe3648d3cd5b7cf438c48e007a9228999a556b25fd86f518c7e0c0a926565e9e4f09c3e317da90cf8c1152d12c704697030fdbd7a86a3e8aaa28b5d5fc1fed7d9b8b03197f2256e2e2c6cb28258aa114a397e4430e9e9ea3f3ae3fd112b54dd982e216d47a3359bd935ddfd8813edeccb50256566f13fba3098af3b75060af2659a75d3e88ba4299b90791facbc28fae0e309a18bb53dbee0d2b1e3eb9011e369fca55c874745c183d3e4eb87037e1d3e10ebb6377a4af8380015d5ac0d7514f31c79d6f34d2e91df1fd81b5655f7f91882856282f8fb35f27359b46bb58a806d49a0c0835ed88bff0abc42ed986fc56e72d87d3c76e7e6548069c7fb85d3bf0392e0f63974930645a6d4e946e8dcef5dc562c784517e634bf2ab5438a2b600ba5f02e90f6f4e72e7d137c380eca3be71fbab6f1257d3147f3915b46e4422b8f4ca089ec635c8a0ba2e84130e546e8492d82b3ec8874d020420014297efbd34a3ac98d0ed22261a1323fa4cf454a239c51bc79cdbd0ce60ab96cc1d112dd78c3a9ae7890bf3085b11d681bdaca4a8bf610abae695592281993d9db3c11e2b90404d597afb5102ff80337c5d0633f66d968600e11083b39bde80ddc95171b4cc3862afcc7496f13757a8fd19a8f65550cac595a38fd4413ac518e15b6a91a3ef759bbcf1131a096d41bd091f812aa18d5a0be5e98a88fab5a9674e2c144583f1ba1bd91e62f53e2b76b4a0f65395bcb097719ce5d26afc1c2085e8ca66dc9fbf5691733676a742b7cd30e6b2248427167a43170283c35644319953c48714b7179311bf70396743c6bf386d516a47d47c9ea9775f9ebd784de1a0ed35ca6ff0842429f468d93b0660d2f753f5450e9f8ecdbda1a9c958f1ed438e0c95c56862812bc00c94512a0b57ff2439f86752357d2d454659a22bb31353eb5012442ba820d5156145cb945727b65f6f0996401aca3f31574450e273d42da739273ab8da72f313942dbd3a759433aa748af1ded6977c8bab6afe1979aa170a336884232f55c68a6c38336ab2c0b2d1ac1d970b71ae8b05f0538bcf8c4a40d092e8fd1c924b92cde30c53fe11f82c30e640198e0591a8654683f0453d0f1f6d5aba8a0b82d548bbe64b4986c1974012f5697c63618e076c596a9350f847a4ea166a24f62825c0065db2574d64250769f0745694fabed12eb1f9233bd7fb15920bc0660676e07204250b8bb025cba782dbc3ec6f949e0b11cae8d36b1d2e4e9d1baf51678c42b30925f308b432b48fc6e342b6c5162f84df99a69ecb6f439f5b40a5ecb20443e56a9d16f1081bdbb46a23f466353ca0dce734ce394d364f8ff6f173c08bfaf5e7838a33ccc2bfa3e5cd4ee1a20917ca7680bd339f6668c48fc7283d4b3a54408ff53171eb10e5298cf7cc766cd2434fbd83f4788f4847aef72292d8a554bf940941df629e7cbd6765704931d8890 -ss = c7c4eb7f531a9ce048c04f27c69725d55850157d4974990eaa88ec61045cf39e +sk = ce732e28b21f42f2bbd1b049e6b80264b218b581cbab8c9186e325f7617895e6320fe5c697fc3b82546681b3ca5f4a52f1f7501b652f86d35ccb9756e869795c166362fac89c7b5ad41c7c74c596e2a7458e419cd10c10c890c94fd3564aa25f1ec3a3282607d8b1864022cdccebb1b1e48961207e29264a9ca86c94b71d5382c9c6b8004c818f51a52006706285bb3281618a157c80c2c00905c33316516c17f04460124fd79a1c330417984220334c84d96a66fc8a5556814c58f7826ee86f17319da3f504f0124c3f06ca50792c1e1800feea8a8e8805a54bcb90c52eca144677327f5058cca151617f443dabba304b353f4a5caabf0c179a772582711c033b3f3c1225f191b887d8294fd18914850de6b194b91c250374963bdc7215b07cdaa8001372a21f0c3845979386c27949e0bbedc0b004258866a01ec5cb82fc751ba2f4510e514a3fa09b6aea7e5e45762076b81d781c2ba91dd6f40cf13c91e947a7d7abc2a2aa91a1404d87462b42aa71eb15209a9b0d4990c2265b051163cd2ba8319576758237482f500f7e94b3ff099616225737a766c10b6aeb213b5b073eff93c3ac91bbf2b93ff47c84d7ca2e794990e2db4a7e9ab19cb50cd522427e6a935ce3976490b21792cce5e4b971668c4793ca4954b477703730411df1f5ad2557caef78c914d0c223d836c407936ec58825f3b2a1925a5164b097a94a13d8ad3a27bf1ffb0c08c72b92215cb1b67c7d2c4a7bc7a6a8a054d2a34de69c78195bb149e4b4cebab78f41612db19540385f2f74757c662c2da3c7b03a34a9524e2ab90f5cc21fc0d2ad84bb996e6c73426770ffc1c9942cc22aa2934d97a66037a18760c51b0236ca1b1880a2286ee5241ffc220a4c6ec0e296090874b3ca751dd701086a15f419c67eb4514744047d7848980c036107586d36818e74ad98989c8c02afab4134ee0b545ed707876a613ffa10be7c3f10b758b215827ada9fa1c83b129c6bdc5b621d3a5da7f396d6e29b184a38d8091b6a2c288ee2cae833a68a3cb6b30bac5ad7567c788d8c803a7b622fbd8a253b274b93593115b5b7a5282eaf93706c88c178bab897b7198c23b844219852a60410e8afa85c902edcb9a5e87a31ca84ac6b89a75830566062bc159cb129277af0645d5817c8822e384040f1621d66d41643897df21c1013cb1b426a703f120f21c780c67bb011fb3e8cb746c0b14c9f847dc1235f72e6bdfda1c55bd26e377395c4b17b764a41e0f7312782bf71820dd379befe58901a011fadac1efae549e5933aa9f9c64ce2273c486b56251674d56212c0ad7637854c7b8447a135fb960ffc435ac7553dfe935caa98bf32186817b5adb42375e96c30d0a96df39658ede95912946813cb75cc32b395aa73a916514533857b4c3405fc32c2946cf4f4251b2091b6cbb00ce296459c45e558b5048b79cc4cb8aa01bd7e82320637a62e2038d5b3c0593b42d32a38be8312ab022ebb496a5fc4a991a1baeb660a23988fba329a79dc7144d20b5246466f25af4ad971014970ebe2b36316b86b3585f6b0753711a0bf3952c688b4cf6c8a24c0964cdc1f5c1c34b3c28359ba232840063ac30bdda83f0611042fd8b7c2bb43de68b712e67971e76e7adbc0879a41afa358c2258888769b0f785f2b4716e76753d41c4215b98bea2095f5c0ceadbb69c46ca152b3045b95a9ff198ef5302667d31f36e2330a3c1c44e983ba4388a7022f1613a47d19249f2534c23ac25bb76176aa102f103d1c6578ae141772e36ed5f30f2bb02aa34480b7d57e935b5097c5c5b61422ff6249b3531361c284d67b485fcc3f942501112408d01b96bc841df1c0a9136c01cf2652ef067efd740a68f80f2c1b70476b8b67eb14e97104722cb3c82c42d9912a2f2618d50c27312c13eba245839313ac08aa9ac7918252122a6a8ad632c691c8c0f84bb02aebc6f401c2455121ff33653e377805d3b2c8633d8b141d6b6370981bc63a7141eef2bf7e86692f28764716775bfa41043315e5cc1199427fc7f6a9889165b6b09d0bbb80a609c0d52063204bbaa619757e1748412cc1dcda4c2a102396927229ba83b1eba239f41dfa530b8a2779060877a5ea142910a6cb1ac97ca2466ab58625e823fba58429a613f2c92de06993ac7006c8e4834eb491efdb1988b9794aba1c0d42326e9a797c67181995999a1053b3a1ae542a7e1bca4aaef5910a157c713cce03ba4d34a9c427a53f263916041ba9ebf2b86e21b127c5951d7709fd036465784a4a26b91af48c7b3574d6e537676b4bf8eb5e5d6496b7e66ac4d50fba956ab9b881ef55a6459199c2987162774f573599ee0b6b001cba6bb5302df24ea0622d3fe2a7db12a063d528baea6dec8a97bf12a61249010eb7056ec5a9573c77b848a6c6fc13c070450919054c05be006a40368094775032efdb98e087991d76a703924528ec05ee50bc56d206895552cbf4999c6a7617ea35652c8d5cf22590bb9fcf62aa0e055805279400b2c9522cabe1853e06e6965b517cd04538d7f083e27b95c29b073ae13cac42beb549337491b88c877af8910bf8659fb2f309442460ee93a0344ca83c58c1840c95ea482c81380bae24c01c763b2bb05b369bbf074c8e96ac2b5b73920ae07318057a643640fd58c691209b08c9b5cbe972adf001e8c00fe853631341c8a634cc52c77754790a6540ce9585290aa243231332d7ec3161b096ced68d80208c362707ed892921634b4de6679e08a10f55c72043348bc512ad39c07dd41a88d3c8c06769b6c080b9a24080684aea9637527a099bd53af1505eaf0272a1f537593669e6ca1d5135ae9d77b737b77a475b61023777eef22477b663d5848ba7d8859042713bf7353dc46c2e3b9e75788b3813b4844c0a233019529809487531a820a079fc2a43da0874c332695a79aaf3c6d5997bfbd27783064c1c055b82b3be463b5b54eb8c2e42772cd56318c6658e0b90cc31596b3880033338e6e41e9d1187e3732b75f50ed961501a030d221370a61788fc8b164625939e7b19d076b45b51c555d063433709dbab05746641410cb34ae53e3652a0ade7ae5dca29f0e22048668abe03869914117b6cc18617946c73a20b49826748981367090e8b72b8181ab696b878c79bd16683b2ca698e1489daa23b54eb017f4000d481b268e2c7c02a75fb608217bcb1290746f7251d010a581df15ebdba8c5d379441d22e591c4be3c9cd9af05956674f558c2387518bebc02dc3c2971bd264143271ce28b1f419be088922e6644e939738b846cb651267a913936d80b2f4e8987b5c48c37672a222037fa1529a764be14a87939b6c72b7730ffc4db926836c71a56112724a88c9f55aab44638a4c9186717246666b28e1003ee006ac915530a1fc4bb786abcec5b35476436efb7c4b4bbfbf183ed16b0a526c019e7399d1996f44755fbfd86a79d19fbe3957ee97a08d668adee16b996a71df28acbb239dfe03ce8ff5ad62ba992863afd086ba74979cbd2c0b398383378ab973c9647db074921531a9441fb53a94e229b7c7ba8f2ec9a1e830b9826bcf1d353d91abb56b89c33fd37ee6130757d08a1699929808c881f9907556af18a95938a1bcec20191ba5a9ae32b769e3c56d4cc6baf9c9152359609a9e8dd6aa9ccb12b35c9db5605bd8868474e65257f785b429c1869bbdf6e118024c906a951195dc4361aa95d4c53ca418a7b6926cbf539ec1f242dcb3b96e47bbe6cb0cd4a7936cb6c97e8663eae6cbdbec645c8942f6b835d2e44091c701ab73271cd86765e760f0a58beb61b0e2d12bc7511d04b98e8fdb5412f618964367e2cb694af203ab805889e0936c55bf8553b2b006093c72015d8629b494a04e3b51cf18347e7a025064a488b42c0328cea0c57dc14763a74368e36159c72b232c8424fa01b5be63014fd7b2733c47abbc4d8d8474d5eb43fb76b03708872b4cc4529a00c1ab9f67e84de76500f59c7088b1b9dca9ca9f0309b5f12eb4d55f3d734e086a843a39b29de99162a062b1e6874281221ea3314d784572bab031a3732010a50c0ac8150691b621687b6020a5b347817a3899f141bd6454ee1b25e0b130bed368c5f905c1637c036c22f65ca761270a9e8bcc18dabdd78bab5c48a3ddb82a01c646c9dbcccf972b9f0ac4edabcea3088586e8ca08f7177ad3cefd578f9fe6ca08c99167c65e4c6193251288785720ad110f58f81f4b938dfd813b76887cab48bf0cfaae5a8a16f3b110e130be7313411d517e6febb2e0ac004d44380b8ab62e874538d005d4f744918a250e4b60eadc6cad0363e0dc6cba04949f893f75e5c48e9fe10b44687f9aa606cae8888e4c21ab0f7b85eb3d3a2a3d2fe8ed883d1de037f1d7e636b4ab366dd5725957b9e5d2498e4ee1929f2213f9d05c882d96a106ac8557eb61a3d4a2400d3a604092cc3b92032f4d3b563f3d4aa19387eebf2a76 +m = 96fdac8ddcc219f5abacd5f20fefeed980b40339d4147c6a066d6b6d67458760 +ct = 49b0ba37aa62fa1e7fe7bdfde88d90ed0eaf57c9ced66abab41fc59a58c49a74e7e2f2c24589d235573d7997c3401742701be37807fc99d7b46ff33aafdfb22252c086f59829c0252a4647fe1a139788635f1df19fab3fb89e30270b3c62bce33377f24440fed7ce46fe232ca38040a2f53ef566d435bc682c83a57fdc9145f2472c62bf313f71220be26d79ac4885ca06917fddbff5a16a0bee23dcedf3bad1e15b9941f009ac0def8743f28cd02a9869868a66a09f23e30c1c401c5417e6625901b9b764ce8f4e049c5d6b5133f3e3158bd605d3738956e958be9b4a2a759192ca9a68aa8d115647d2b797bc42c41b19a548432df03af18e6dd09422a6a3a0d222426dfd7f1542de55b86a76d51f0bb419857362a89c594e5375743c9f16d23f0ad7aaaf9166f30a8f60b9a73c2b8db23e2a922084360867082a3c9239214806b91dd09690dea020dcd4f97c2a0ed7eac53eb95c3c5234c444f5ac4863ca73dc1cb5c5e18cb208a0aeef3b0798592bc48c688c1250b04393a79e4bfd5ada75a367b80445e0a794da0910bec3a7f0db20b8702f589e4b56ae0feeb8c422790cf8629b9e4e524f2b01d60f64dc291487a4662d48c7a84004d5f3c0b9f1a0c8ee2527f808156e62b8fe797dbf024f17adb41662e0d6df564b2a345c99fab453935b78dfef94b94170ff56ee85121eb31bf57c00da772f37944fd22267d5f74fa7dabf3934bdcaf8c9c2c1c85a1c7f565a86777e8d2f6777fc9ce325b35749cdd262bb86b01dc5bb6d8716fa6dd1fac0724c296b442489217c5702d4855786a9adcddf45de14b3a1b8e0fbaf8582b99a0869ef582e542aabc8ac260dfbec0fc7dd9188bcb855d45b714b48d05183917ec071892c8906a122b461cf167098c8c2b030e0d8548b2a38c1be324cd1d001fda4d8a7c3283c8ee79cf3ab0904a733b84a880372f697b278da1bbe1e4c3c7301cb5bb63b104ff977c0ca4b54a1311dbf34d8ec4d71c8cf1ff7055b10d4e89516f3bbc545167de6172072bf70c7673c68f80d00439b93f9ec243a38adc5be55823727cff291ab491d10f26b08b84af61023ae76fd10cf4d9d2dcb3a4770488efa02e26a48234fee52017e905f35a26d6bba5e3337333c46843bea2f81421555c3214e71920e37cd7b37f582fffe86350221c48cd132ef171f3c94116903c94750ebf6b726afc759df00cea4cc8212f7cd4e641d15ffebb61c4b2363855bc6d3deba02607a8be5e057ac2e498c724088d173bdbb1bf426d6a34df58f15e6ef05ece34bf957483a38c79326535bb15cf99760d9d3d5e2067a7e96feb6fe6b15eff33a382b153c6df401fcfbdbb9498aac7328caa6a8b079e2d38d4c3c900370af391abb91ee70f631e6f7950121ce9bc979f9fa1f86b4cb4713844288d2d77bb2bbc20573de07422e4b45626adf46915740938e6662e9a20c78a6f4429ab5f2a28e51ae1193f70fb70ff0d33669d6cb08e98fc34bf916e8d931c05b4351c42ee98a813bd86d21b424df6f52bc0c1eae143bf22489844c16209c675dc8a7db1b674a83965e493eeb831bc5e17fd3ddda5255600a75c46e8dd9bb774b351588f65b9cd657c2503f363322961532eb296837e76eea2cb9de0d900bd1bf872c489f4632fc38bba36d65b1487a2da5f5ce1b01d5bf91a8494b594d414e31620506c4f521b30e28204fe13421ee6423c4bd794fdc78ce38d3b21a858881f9e48002bc451c22b98848390823a9cc46a88719b65e9c72dabd95523f7b1b71e3a997ee6789cd3a0f97281ccdb313450732cde2f8cbbd9c7bee5572e5bf2ba787a35e15cbfb628cca51305c6fb2bb0537bc6ebc964bddbb80167e9d29f5da0bb09bae0e9e34d1dcdc54db9e48339a7df130de1a803e801e57085a928c5abb3ea6b15764d28715c4e1d6a25092298f4989bff7a781d7f976199e1f4527ca6392738c241b05de0339113a63b7997b36b5d6189c48d69e7af4ec2ac3c87352467b479fc40879f3a615b04dbf2b6c6d015a77d69dfec1aeac2d01a746ab178ab922e308b1c542a1abe5544ad87f206e6774f00213955891643f8e9e885ce3c37868e20158c82df2295d5ad02e2ada987fd88f5ff29eb17002e38fa8cd12d8fdad8921ea2665ba4cc9ca5b1633b943204ee01090d744b55c2942e7f7d875e0f41ccd657b658f3f0ecd799202931d76494184c0e279e62773c48c +ss = 5d70446ed3a8c284ae190e0c8822ef95a0718e84a4dd26adf7d4ac63c7ab70ba d = 6c8c53ed6f65e6b2e324b84364e10de42d1c26a106d4d1c99eee79c78586fb55 -z = b9402bf02481ce4b27a52e87feb92c4399c7f2988d40e942e7496ad15ad2aa88 +z = 55bdb92f28d0393c0f7850c7f6c371bd4835d6db61c138b0faf22854466231d8 pk = 8c06203871ae8b0a2c3bfa4695c43050870392401315764ff65c9ef0db06b03b5b5582b57e1a7ec6ba4ad832a04e31268a853aaa2227f8e382d467cf2d998284884fc7ec971ac439315978bb8a8edf287f26d0769aec141c0686f750c1f17784cae142b942648655bc8a0acb8247462713a2183223dfb093a737306e94386d878eb8babe7ca066fcda152a0a81a792afc9ec32369101516122782100b24b02d5b8693a712f4711176b348e2aeba7314a3a17d0ce11315412e54a6508937a393897b01d361b1fe9b0b7cce01806a62d12470ad5650606883872a55030827b5bfa8a05fba19c9207f113c99fe5985eb70e88325e5cf35eea9605317579f15b161f55a81b694b0a79b8210b2c77524383aacd1936ad36b43f66fb6b5e668205396b40b3889da25e21fa985bbc6af4980d9fda368507a7659785363c6537f067eeb596f5337640e7b3b1877804f21c14d76d69d01b67a941e76cbbcc3765aefb0a74565470e7320605a0cc009c60e57c9e765d2f835dbbd91482d43b86858bf82161e1c3586290acaba2964f3a9b83352cf40aa26442634ef069e2932a470a59aff725b862b880e7a75fd705ee50624ca368e8c39c27ea0588c8983a453bca30897a5785cce2335ef8cd48217eee4485abd47a0769a0ac99089bea59c4481b18d27c15d92e915285dc62197f4804ea3b3e79bbcbf57671dedb8678f1264b420bfe191f21e489675b7f1479a390d0c8fe2a801f4cbad2f90138259904705f2f07afdd4a5394b64905154a914a7afef7cbec54a7d5267a3fca06dcc3b3cd617a3f433174053885f785193c8a70432ac83c37b60cb1ca407f22c7b577f4acea879a8ae700985028aea3475426a3f071cc5162233e793aaf9936dc625a292b84d185ba31f964a4003c3a96701c6ca96305205b5071c3a6540d76c14e969a8061146940907ef20b857245c6f202b8978a23a6c84ceb3de596c10bdabb2732008c6a224de0ad219b9987099f1cea007d1466ab0719e396618014787ca6b1a2680e96a85c949486105bc4357a93a3109422e52a44bccb0c8c1aaca7931973560a82c65d253c02b2171688648a2c9f93f0a26ba58061c8cf64b54f2930a2a4c064cceaa6d34c76ba200c382a1fd1b70119304f278a87a77837856c68a119ca692b8c39782a16ac11cb6c4d9bc7acf335aeeae65f01a50d4bc7458fa93e5e24afb7576b41b631bc884853046160f77ad0646918b947bd440c449b8bdd15a3de54a3c1a17a444cb469e0c1cfa347b5173fe6f4749658984ca0530483a86b773471799b9bd53faf04d0a3c07515a3b915964aee1010333127b3aa72ad964f38ea89a4c561e36143eae3003a19cb4de14fe88bc5b4c236ebd1930474718ae654f43277255b1f508721ca318d2d5255db804166d94cf305bcfc6c91465b18f3aa4a64b624bbf395a10967861ccc3d13a17706511c8946ff31954962b9dc68aab370baca922b4db66cbeb7a4e16c6dbac64937b869edcb585b4785b2b526eb4131e48546ee449d8eb7b709e296c028c6d085a3d614b8856a6d076cce23ca4ebc192ecf14954ba06415280275ca743587492e76a5ab5593e9d15b10f829dcf73a94e040d8a25aa29616ac8a88cbb148e1c727b608305841b8f3c63e967843c9a50c43c3366293868f1b1acba037d95b64dd088e07d42f2d218b18eb7eda5a2506cab773444f2383a5e40940e4f26033c336e3c7b5d7d2bbecdb39180c87127781111b318fc4ab8c50926c932a122aa79766a48abab6707710c66030668540cb5c8d87272dac2683ada81dd20aacc3c01df6056cbd23735dda391332c773934e361a1b6e247711a843644226adaab77089a831e37d571517dca952a58c0835705b03187b77e6ac91d426ab21b997905fb658c6b7510ff5e45e446204fe935a7612a364414014483cf1bc844a6935ce351d1e090313a776253386a01073a416b47a943712c0b7afd130fe833041716530c4af95928ebc541961558a707320a5fbbb3c113e8b3c88b0c3b359c13ee24172c8b649b67c645e07400cebc486383d8ea2afdde8c104e69dab368f092ab3b3b85fb70c3036fa5925301430d17603902b1373258b206b814bcef5a2588981339cb725a5f38a079935f6a27578298f5ddaadaaf4616cfb9af778875e4c3941a07e45ad3ecb9ae67e7527f70f6e07a757bd112947074d5120a1f2a1 -sk = f76c7d8002b7ca65bfe6a59aa3645a8e51afe5fb80145241134cc072a60ad4b72d80c2bcbe1630eeda661cb62e01b0798203a1a287c4b8f725dd422beee6627c864149ebabd84280739193067a2348f2861dbb7f1a0914ba2bb3ac6c80d5ca1f483c8b86c1cf5a2c3bf8f6728555799381a1b1f3cd02e445cbe798ac0361e15335380051294667b9149f38d85a1839ae43d331bf14091c4accbb24c8e8105a9d1185ba880b7e13cd3563aa235b899e7509525280a37162c043b089d5a0bd48b225ebb2d0538f49c8ac3c3b0677d8093cf70b3404016b4686d653ce4715a85953171bb937f5a1916271ad53318e8155269dba4d0a520d057963e70cc01e680fe8408d03d3275c95a2c528190924749bc32dc31b21b58c6f5e4b59c157cab7653c0d146dec9a3f94e241993b09bd62446f35ad7772279e116464fb316db8449a3ab7525b3e89b12b54f14fb19057c39510b072894831a5747782d404487926ad756b1bf81cb416d94265dcacea475fcdaa727d0b5f01b376250b123f717fbb0b1976b7704fe5ae5ac10cd17b87fa8bbd3d824d3b91b567b5c20243677d741ae2cb1c1d049a842b7f9da9cece8931851bb35776caed97c27d395108e42661aa60cc181abb2774c67773fb29b445f3554d386c87d489d895a43ef268af0c81f6065e57e744f719120323b013d35801e26bac2700968566512106f5161ee8528372d45a42b41022239fb0b3cd23c4251927b355719a1f2a0689a4abc508660dbc282706b765ca4bc1887fd064cf8285b1155863e15b112bcbb1962255b362ce8fa4c51c97cfcea7004daa9f746766f2f5487c93b99ee9825cb78ab0a98bf6863a083758e9279245e495ad0a5b86724c1adc3e67d756c1c8647fb4ba32b75a6da3a05a870fc1e12cd279666ca046e064a74625530e742efc72c1d5f959c9d256389c4c63609fa11a8fb5e70e1e2256c8164d80c69fb8f4008a647af7f3ad960265f55cb786e8726b65689a6a751fe045b7d45aecf50605d135a44793ad2c6bba5a59d293528bd94d65f54bae4798eba5b26de8b225728eb8836ad1f373f66a2134b8b429a8457b600c5a3274b0157f66f091ec88436d5667802a15749b4c9c499a36c58fc5a7ccc10a604ed00de74bbf433502c02ab0ed949f5da8b9efb83c4a2395e49413a7030f4f95901e8aa2716a3ebb09aaf61c9384586021301de0f8c085421460a10fdd176c68b4c115c91dac04121924213855ac22e8c98e3643c3d7c3b6c6c4ca964308510525c5aa00c32ad9ba258bc44a9f521a2873bedaf7c56bfc26a320c0fe95cfbe12c0038c1a65b62c18c37e61a2b9194c9ec1db8b9fd036c7c3a620b5c661d8ab0b46a6cd3391e53218e40cbdb082c2207630c2715541b10e3c395bf2a5a15ae8b506880dde937432ecb150f9b3c136881058a750024d9b247232b7289bd07462c051b7ba599c985c6eb08c7ac22135c99e85930113554c59ac06ae298d5935658f513644b01132b4c1ab84677e342a1f4a8a9d5c6a44659805cc8898e563823c8286d54a1cb4b8db866a8f5c74f782784e4b6fbad380c5131fcae11d4ec89df82490b4f1babd4673d7417b9cf04513718f2cd0cfc297071450340f1b110ae53ad21759bb5b8c8e495f55cba315805921485b73a248535ab3519a544f440b03b0b1a667665bf068f165570d9aa52fbc2cefd50738109a2f18011d1b0b37142f24a52843a81c44eccb8b083b8c98a51067197737bd47fb2b40a5a96e385364463cac81348ca44e9b8b2e457701fc0571dcc6645ff724e44b1370fcc235ac9f735b1c85e877dc30a9654006837c5dc318cc11f962837c0f26a59f171b6ee21b0ce02925c280710e140ea46486e68419b11b548d880406e929da097a99f8969840979eb861d483337d605c7e657c024c3315f76440f8437057710cc71817956c8135873ebb9d84b801cac006930443c09773a5f542cdb838e176b45497b97091a613c305e6bb240ee08009e699c6d30d44f4152ec0a1acc16e5310acba766278516470613ce1044e46a4192a145beb3727dcc22f53a98b4c7c414473160d85872f31c76edc5dc2e822a91976761a5d933b8d284082bb85162fab7a7d520ee3889f299956c7639dea77127bd04ba5500feb9077949a8245e4148cc2298c06203871ae8b0a2c3bfa4695c43050870392401315764ff65c9ef0db06b03b5b5582b57e1a7ec6ba4ad832a04e31268a853aaa2227f8e382d467cf2d998284884fc7ec971ac439315978bb8a8edf287f26d0769aec141c0686f750c1f17784cae142b942648655bc8a0acb8247462713a2183223dfb093a737306e94386d878eb8babe7ca066fcda152a0a81a792afc9ec32369101516122782100b24b02d5b8693a712f4711176b348e2aeba7314a3a17d0ce11315412e54a6508937a393897b01d361b1fe9b0b7cce01806a62d12470ad5650606883872a55030827b5bfa8a05fba19c9207f113c99fe5985eb70e88325e5cf35eea9605317579f15b161f55a81b694b0a79b8210b2c77524383aacd1936ad36b43f66fb6b5e668205396b40b3889da25e21fa985bbc6af4980d9fda368507a7659785363c6537f067eeb596f5337640e7b3b1877804f21c14d76d69d01b67a941e76cbbcc3765aefb0a74565470e7320605a0cc009c60e57c9e765d2f835dbbd91482d43b86858bf82161e1c3586290acaba2964f3a9b83352cf40aa26442634ef069e2932a470a59aff725b862b880e7a75fd705ee50624ca368e8c39c27ea0588c8983a453bca30897a5785cce2335ef8cd48217eee4485abd47a0769a0ac99089bea59c4481b18d27c15d92e915285dc62197f4804ea3b3e79bbcbf57671dedb8678f1264b420bfe191f21e489675b7f1479a390d0c8fe2a801f4cbad2f90138259904705f2f07afdd4a5394b64905154a914a7afef7cbec54a7d5267a3fca06dcc3b3cd617a3f433174053885f785193c8a70432ac83c37b60cb1ca407f22c7b577f4acea879a8ae700985028aea3475426a3f071cc5162233e793aaf9936dc625a292b84d185ba31f964a4003c3a96701c6ca96305205b5071c3a6540d76c14e969a8061146940907ef20b857245c6f202b8978a23a6c84ceb3de596c10bdabb2732008c6a224de0ad219b9987099f1cea007d1466ab0719e396618014787ca6b1a2680e96a85c949486105bc4357a93a3109422e52a44bccb0c8c1aaca7931973560a82c65d253c02b2171688648a2c9f93f0a26ba58061c8cf64b54f2930a2a4c064cceaa6d34c76ba200c382a1fd1b70119304f278a87a77837856c68a119ca692b8c39782a16ac11cb6c4d9bc7acf335aeeae65f01a50d4bc7458fa93e5e24afb7576b41b631bc884853046160f77ad0646918b947bd440c449b8bdd15a3de54a3c1a17a444cb469e0c1cfa347b5173fe6f4749658984ca0530483a86b773471799b9bd53faf04d0a3c07515a3b915964aee1010333127b3aa72ad964f38ea89a4c561e36143eae3003a19cb4de14fe88bc5b4c236ebd1930474718ae654f43277255b1f508721ca318d2d5255db804166d94cf305bcfc6c91465b18f3aa4a64b624bbf395a10967861ccc3d13a17706511c8946ff31954962b9dc68aab370baca922b4db66cbeb7a4e16c6dbac64937b869edcb585b4785b2b526eb4131e48546ee449d8eb7b709e296c028c6d085a3d614b8856a6d076cce23ca4ebc192ecf14954ba06415280275ca743587492e76a5ab5593e9d15b10f829dcf73a94e040d8a25aa29616ac8a88cbb148e1c727b608305841b8f3c63e967843c9a50c43c3366293868f1b1acba037d95b64dd088e07d42f2d218b18eb7eda5a2506cab773444f2383a5e40940e4f26033c336e3c7b5d7d2bbecdb39180c87127781111b318fc4ab8c50926c932a122aa79766a48abab6707710c66030668540cb5c8d87272dac2683ada81dd20aacc3c01df6056cbd23735dda391332c773934e361a1b6e247711a843644226adaab77089a831e37d571517dca952a58c0835705b03187b77e6ac91d426ab21b997905fb658c6b7510ff5e45e446204fe935a7612a364414014483cf1bc844a6935ce351d1e090313a776253386a01073a416b47a943712c0b7afd130fe833041716530c4af95928ebc541961558a707320a5fbbb3c113e8b3c88b0c3b359c13ee24172c8b649b67c645e07400cebc486383d8ea2afdde8c104e69dab368f092ab3b3b85fb70c3036fa5925301430d17603902b1373258b206b814bcef5a2588981339cb725a5f38a079935f6a27578298f5ddaadaaf4616cfb9af778875e4c3941a07e45ad3ecb9ae67e7527f70f6e07a757bd112947074d5120a1f2a1a5383897314d60ae0ab1a8b50d6f5de454a2eb8b0502d57001e6e19223a82ef2b9402bf02481ce4b27a52e87feb92c4399c7f2988d40e942e7496ad15ad2aa88 -m = a9cb9a61a3324b1ea5afe693b32784e2871096b2ca14a11acc9577c52359a241 -ct = e1591c087d768fd904587901cefbcc388dd589024787289e961ec158208f6e6bb7a7217e6d2ef667cb61b08d42a822801a88c97d8eed22ae2c9c53d4a47833125840485bb5576e6eda7df58830ca93cc92a168d89061ceacd6ad5cd375c89e458cfd5eb7f901061b4b79c381ac40e3d2491cbafe6e634dd48796c0dcc7f4e83d8f5380bfcf9367b120b1c1dfbdbf2a8cd57cf3cef51527c094f1b3ef99e62f5b16f27f0aa036ccbc5d322b7552995e710184604cd6d150f9db6929add076e8c410ec52c2069c897a352afa4d793811eb541a0ccb5a6a6fd5da05235fccbdc39e6e81232c7bf1ff045fc6967d17ebd571cab2df0bed32c4e9a46444e1c2bdfbb8112cbfdae7399c5d873229a5a5b2a78816b03ac57f3d57f4815139359ff55230de28650d681cb0996024ef259841bad1af01d9100ae99825515b1dd96cf7f844b9037d9f727f59d9fe2a99ed43c605477fc82ea31ee686a1c20afb0fb82704384bb3394759708b53c7c044bd1fd4d95b2c26524f7970b4f27e4c841a845b52e0055455bcf01706c0f798017a0c733104c86f002c3a0697b4518a51574a76b9bd961b6910208758a20029599e1f87f6255e9b798fecda471104c61c882a049ead893ec0cab68a0b920a4cdad6ab65b23a00ca6008838c3cc4337e6056dde377a0cd15e5c79bdb5963a6636b21e82dcf5418369e6a4aed8351be4d26cd73fcbb20666a04442cf3a6b1d92d372e270ab241042691712e2f26af008d25ec4cc9df3681b00f2107b4967a74fe4fdbaf6cd7cf0b941c6090792cc375c74b3b3d04911223da470017cb4b839cca573e0a523e9a9208f111951b973538ac38b95c2677721d823060ce17716e6f72e09c343bc7b1cef069652a97e3e3b04faf865c02e49b0c74f013540444d38fdc7db7b1d129b1258b6cef53d5583ea95fdb92fb7d9a42826bdb492c17eb03ab9ad871391d7ee9d1939526c37da9b68ad9ae1f5abce00cf0f1095c65d5891dbfbedb6fef2875815616d513f751c245afff11380400dd10cb9377f0d7dc4020891016a11e47cf64d194de6d75440baa84aed634d2e8426ad0b62ed99156ab14f047af5d065449e009649ae7831128a6c4935a35aa61e4a82bcbeb4257f6813d28451303185f3421cd00dd202f58f493a559b8e3723bd5149da96e41dcd2179045509db9cd3cecdd11026927a77941e0a61623cb09ceb6fd779ecc20f739a639d4dea378ac533634e6b682cf162f496dd66c4ec8155432bb7f89d0240232f4481dcd5c013eeb856a2fc883c29fac4a9ed7b66f4d408ac56b7a12761a539a95da5a792caf14ede642ecfcc5dbb17f75a1b34757a2cd88ce1fb7d533e0b5f78a9318543ed75bf2e53038f96b2384b12c144624e07bdcb56136fce77f9fb3d71b56b1a3865e54ffe674665797c3655ba20275a4fcc5da5834c6ddb4da14733c68d9cf0b1dd86853b064beecc665e8ff87e0dd29337625be7f888b14a076c5281bac09aa9df193d5493ab65dacffde2f1b95df1e5a09b363041759a306e643a49855d9a52fbfed7936063a01656b05bf78c6fb686570a778d3a12bbd4e64fcd856bb5960b8e2670db6a9bb2dfbb65c2e0139f0449c3dfa2700c3f6ee0ff72268821e107e58258e939f2e5d382b77a9098a1774edecc0350c0328bf6128c226f498c8d8b4ab64e346f627e0b5e748230fd5849e3e4f8bce7c9138bc56de09213e678add6bf8a313d811a14590db49ec4a03f220993709606cfcf71214a7fe9eb0023a5459ce1142fe99fdad363268fbe55e9424d6a0f56e9703e66a175398e9f1d72891c5bae2ae49dce24c47fc066b206b9c5e442c0f731dfa16795eeac3e45be897a8e9b6c9a3ae85420a610d14d07a250c56d343037c50de3799cf9cbfd8a351e40ff8ce3ed212e855425340140e48b3bd8fc45ac2b22282df4ff6ede1dca02ca810a02ea2df4d5853208f754d89ab3ecc5c67bc757d98d18dfdb52ff842f6c86d2407bce00017bcb30d329e39ce835021d3d5db1dd50b943f29dd41d9b702b66ea840b76959255a2a76f99ba312d0d832a5fb079a766f7411ac0f4b21860de267f29f807f4eff76985cef490e930899a7377fb16acde54dd04678520fcf640696f1838cf73a07c45ba58ca34d3f192f505a04879d49a91eab4399ec3676a13441eeda98418373881a2f07ed4ab25e3510f6c4e31d92a1a2ae -ss = 2595157f5c64d440776940b49c3e63605797e777f451a911c4b33178962aefeb +sk = f76c7d8002b7ca65bfe6a59aa3645a8e51afe5fb80145241134cc072a60ad4b72d80c2bcbe1630eeda661cb62e01b0798203a1a287c4b8f725dd422beee6627c864149ebabd84280739193067a2348f2861dbb7f1a0914ba2bb3ac6c80d5ca1f483c8b86c1cf5a2c3bf8f6728555799381a1b1f3cd02e445cbe798ac0361e15335380051294667b9149f38d85a1839ae43d331bf14091c4accbb24c8e8105a9d1185ba880b7e13cd3563aa235b899e7509525280a37162c043b089d5a0bd48b225ebb2d0538f49c8ac3c3b0677d8093cf70b3404016b4686d653ce4715a85953171bb937f5a1916271ad53318e8155269dba4d0a520d057963e70cc01e680fe8408d03d3275c95a2c528190924749bc32dc31b21b58c6f5e4b59c157cab7653c0d146dec9a3f94e241993b09bd62446f35ad7772279e116464fb316db8449a3ab7525b3e89b12b54f14fb19057c39510b072894831a5747782d404487926ad756b1bf81cb416d94265dcacea475fcdaa727d0b5f01b376250b123f717fbb0b1976b7704fe5ae5ac10cd17b87fa8bbd3d824d3b91b567b5c20243677d741ae2cb1c1d049a842b7f9da9cece8931851bb35776caed97c27d395108e42661aa60cc181abb2774c67773fb29b445f3554d386c87d489d895a43ef268af0c81f6065e57e744f719120323b013d35801e26bac2700968566512106f5161ee8528372d45a42b41022239fb0b3cd23c4251927b355719a1f2a0689a4abc508660dbc282706b765ca4bc1887fd064cf8285b1155863e15b112bcbb1962255b362ce8fa4c51c97cfcea7004daa9f746766f2f5487c93b99ee9825cb78ab0a98bf6863a083758e9279245e495ad0a5b86724c1adc3e67d756c1c8647fb4ba32b75a6da3a05a870fc1e12cd279666ca046e064a74625530e742efc72c1d5f959c9d256389c4c63609fa11a8fb5e70e1e2256c8164d80c69fb8f4008a647af7f3ad960265f55cb786e8726b65689a6a751fe045b7d45aecf50605d135a44793ad2c6bba5a59d293528bd94d65f54bae4798eba5b26de8b225728eb8836ad1f373f66a2134b8b429a8457b600c5a3274b0157f66f091ec88436d5667802a15749b4c9c499a36c58fc5a7ccc10a604ed00de74bbf433502c02ab0ed949f5da8b9efb83c4a2395e49413a7030f4f95901e8aa2716a3ebb09aaf61c9384586021301de0f8c085421460a10fdd176c68b4c115c91dac04121924213855ac22e8c98e3643c3d7c3b6c6c4ca964308510525c5aa00c32ad9ba258bc44a9f521a2873bedaf7c56bfc26a320c0fe95cfbe12c0038c1a65b62c18c37e61a2b9194c9ec1db8b9fd036c7c3a620b5c661d8ab0b46a6cd3391e53218e40cbdb082c2207630c2715541b10e3c395bf2a5a15ae8b506880dde937432ecb150f9b3c136881058a750024d9b247232b7289bd07462c051b7ba599c985c6eb08c7ac22135c99e85930113554c59ac06ae298d5935658f513644b01132b4c1ab84677e342a1f4a8a9d5c6a44659805cc8898e563823c8286d54a1cb4b8db866a8f5c74f782784e4b6fbad380c5131fcae11d4ec89df82490b4f1babd4673d7417b9cf04513718f2cd0cfc297071450340f1b110ae53ad21759bb5b8c8e495f55cba315805921485b73a248535ab3519a544f440b03b0b1a667665bf068f165570d9aa52fbc2cefd50738109a2f18011d1b0b37142f24a52843a81c44eccb8b083b8c98a51067197737bd47fb2b40a5a96e385364463cac81348ca44e9b8b2e457701fc0571dcc6645ff724e44b1370fcc235ac9f735b1c85e877dc30a9654006837c5dc318cc11f962837c0f26a59f171b6ee21b0ce02925c280710e140ea46486e68419b11b548d880406e929da097a99f8969840979eb861d483337d605c7e657c024c3315f76440f8437057710cc71817956c8135873ebb9d84b801cac006930443c09773a5f542cdb838e176b45497b97091a613c305e6bb240ee08009e699c6d30d44f4152ec0a1acc16e5310acba766278516470613ce1044e46a4192a145beb3727dcc22f53a98b4c7c414473160d85872f31c76edc5dc2e822a91976761a5d933b8d284082bb85162fab7a7d520ee3889f299956c7639dea77127bd04ba5500feb9077949a8245e4148cc2298c06203871ae8b0a2c3bfa4695c43050870392401315764ff65c9ef0db06b03b5b5582b57e1a7ec6ba4ad832a04e31268a853aaa2227f8e382d467cf2d998284884fc7ec971ac439315978bb8a8edf287f26d0769aec141c0686f750c1f17784cae142b942648655bc8a0acb8247462713a2183223dfb093a737306e94386d878eb8babe7ca066fcda152a0a81a792afc9ec32369101516122782100b24b02d5b8693a712f4711176b348e2aeba7314a3a17d0ce11315412e54a6508937a393897b01d361b1fe9b0b7cce01806a62d12470ad5650606883872a55030827b5bfa8a05fba19c9207f113c99fe5985eb70e88325e5cf35eea9605317579f15b161f55a81b694b0a79b8210b2c77524383aacd1936ad36b43f66fb6b5e668205396b40b3889da25e21fa985bbc6af4980d9fda368507a7659785363c6537f067eeb596f5337640e7b3b1877804f21c14d76d69d01b67a941e76cbbcc3765aefb0a74565470e7320605a0cc009c60e57c9e765d2f835dbbd91482d43b86858bf82161e1c3586290acaba2964f3a9b83352cf40aa26442634ef069e2932a470a59aff725b862b880e7a75fd705ee50624ca368e8c39c27ea0588c8983a453bca30897a5785cce2335ef8cd48217eee4485abd47a0769a0ac99089bea59c4481b18d27c15d92e915285dc62197f4804ea3b3e79bbcbf57671dedb8678f1264b420bfe191f21e489675b7f1479a390d0c8fe2a801f4cbad2f90138259904705f2f07afdd4a5394b64905154a914a7afef7cbec54a7d5267a3fca06dcc3b3cd617a3f433174053885f785193c8a70432ac83c37b60cb1ca407f22c7b577f4acea879a8ae700985028aea3475426a3f071cc5162233e793aaf9936dc625a292b84d185ba31f964a4003c3a96701c6ca96305205b5071c3a6540d76c14e969a8061146940907ef20b857245c6f202b8978a23a6c84ceb3de596c10bdabb2732008c6a224de0ad219b9987099f1cea007d1466ab0719e396618014787ca6b1a2680e96a85c949486105bc4357a93a3109422e52a44bccb0c8c1aaca7931973560a82c65d253c02b2171688648a2c9f93f0a26ba58061c8cf64b54f2930a2a4c064cceaa6d34c76ba200c382a1fd1b70119304f278a87a77837856c68a119ca692b8c39782a16ac11cb6c4d9bc7acf335aeeae65f01a50d4bc7458fa93e5e24afb7576b41b631bc884853046160f77ad0646918b947bd440c449b8bdd15a3de54a3c1a17a444cb469e0c1cfa347b5173fe6f4749658984ca0530483a86b773471799b9bd53faf04d0a3c07515a3b915964aee1010333127b3aa72ad964f38ea89a4c561e36143eae3003a19cb4de14fe88bc5b4c236ebd1930474718ae654f43277255b1f508721ca318d2d5255db804166d94cf305bcfc6c91465b18f3aa4a64b624bbf395a10967861ccc3d13a17706511c8946ff31954962b9dc68aab370baca922b4db66cbeb7a4e16c6dbac64937b869edcb585b4785b2b526eb4131e48546ee449d8eb7b709e296c028c6d085a3d614b8856a6d076cce23ca4ebc192ecf14954ba06415280275ca743587492e76a5ab5593e9d15b10f829dcf73a94e040d8a25aa29616ac8a88cbb148e1c727b608305841b8f3c63e967843c9a50c43c3366293868f1b1acba037d95b64dd088e07d42f2d218b18eb7eda5a2506cab773444f2383a5e40940e4f26033c336e3c7b5d7d2bbecdb39180c87127781111b318fc4ab8c50926c932a122aa79766a48abab6707710c66030668540cb5c8d87272dac2683ada81dd20aacc3c01df6056cbd23735dda391332c773934e361a1b6e247711a843644226adaab77089a831e37d571517dca952a58c0835705b03187b77e6ac91d426ab21b997905fb658c6b7510ff5e45e446204fe935a7612a364414014483cf1bc844a6935ce351d1e090313a776253386a01073a416b47a943712c0b7afd130fe833041716530c4af95928ebc541961558a707320a5fbbb3c113e8b3c88b0c3b359c13ee24172c8b649b67c645e07400cebc486383d8ea2afdde8c104e69dab368f092ab3b3b85fb70c3036fa5925301430d17603902b1373258b206b814bcef5a2588981339cb725a5f38a079935f6a27578298f5ddaadaaf4616cfb9af778875e4c3941a07e45ad3ecb9ae67e7527f70f6e07a757bd112947074d5120a1f2a1a5383897314d60ae0ab1a8b50d6f5de454a2eb8b0502d57001e6e19223a82ef255bdb92f28d0393c0f7850c7f6c371bd4835d6db61c138b0faf22854466231d8 +m = 5e4723f16005d54429f70be509c3149f769c7179c155393ccbde778707cf3a7d +ct = 1f78781626d6ef934f4e9b8155905b1ad9a5a55ee6d3f14907dbffa645b019b1b60db281880888c0889fd7a87bcb749b5ce0607e779dfcc51c3e3897d7c052913d2bd3c49e05732143f080995d0df8d12cbfe8e8dce795d92c2af4951ed19e6c89a9ead231b4b85e60be41ebfe03a4dc733aed1ad8bad4487c5ba8e8917c5fa36dcf4dbf6bec0477752abfb7db5d6c4b08e0c84cdd73a35fc876f4586b456541f9adfe7e7091ae1c814169656b63073a6960fe160b997a2a53a843fd72dd689cdcf73bd1de003d63adbe7d74fe00e842305df8c166ab4014119ab37c7f80a5063d502155d45e623dc62d56ee5fc47507548f9e2ebe36a89fad491e01796e5b2df5c3c057be245ddccf65d148db800282b67b47c7ffb0bd04f709933d2d90d71a3a0031d75efb9684a59b78928d47fd670796064bf4192f104ec0a50d29e216e124d88daed3350b851aee12d8028c8a170417ff14d7fb47b3e212f22c6d1865ad56ee620add4487114ea526beeb529b44f8a8b58db941f874dd0e562c470e90dd784c55a0ccbb737f775580eb7426079223bdde621e2211a60f151bc096f52142a1afb5a8e165d6dcd06cb9ca3de3a5841933e2796004c05578781b43eecefbbd49f4d87891847b3ba1729804c3ff3737c96a7ee580bdc96db49a5322e509cc3a0dee17883b3b0dafa5cf9d9b405b4ced3bd1570c5f80822577704b6fd1fb44d5c107f111214639a248fbd1872dcd5c8dbfe673cb727c972709c370b4bfb4c95f446e4c47642eb4056c88a5bc325cc20ad551b286ed5e31873f4574d42a108d06fcd61d194fec60fc13c26c95b6150f7ca737615fd9c1e4f33e8c697c0e7f5798dd57a2904663756e2a5bf1aa5d4e9a7a53076180fb35cd730be69a887035fe321ec74b6adb92e4362a2823671e19e10414d526dccb36824e5ee39544b7558d8edd266af43fe6dd8e32f0a2b82fc473cbe843cc10c892f33b4e1bb23ac1cff749150a66282d4a575d08eb02b455cbb63414e10b8c92c854c98ea1514cbfb5cfd18db9c664b89db55437a33571d395a9c15cf9a18dd038df1103b8f8a00b22e04838a1111828de45e54e02fab3cfcdfc6649424df3a3a9c811b9ba903205a3fa5d65783c7c3442ebe141deb28f4f30bf20c78836aeb97566fcab0b950a4378239ff4adf375e1b40dfc879d55b22b0d6d77af5a39f5d14c8bc5842877b89df6665619d2f27e77b6933ecad9d808018d7be9932292d12a56cea0f61e6a51702856c7fad4f928a18e42c2769fe9e132ab7e4387f8eacd1acc24163c7ab0426965f84b377eec440bebd0efd7feef40d8fa9bb2a362ea72020dbd9f00701a00ac87e423e03df9b36cadd19e12490589373a470e60a02aca0b8442be20c06a544a33a2702fd4ec7cef8e9b01381294c8296ddb929927bfc421416b541ea67862233fad6c98fd792e86e5fbee93140230afb3de8320eaa1e26fcb06eea61ff783a0ac990f652421bc75524011e8bfab7cedeb2e206a5d947ee0e3575ff126fad4259e348ac0d6750176fb07ac0ccf185a2f02a1d185a3217d59163b5c8af89aafddad7ed8be14c9d6e3e5d931ac2064820cd06b2978325bb9c2fd7d90ac7ce29e9fd07758b5143cb94793eed520c38b2c1c9a7f8ff2caeb46b7533123920edeb198ca1ef4e42a610b36e0cc14bb95f3e654ac81286bc900d718b8fe12331ddaf342209e2b9e598bb277d0c2e69410ab32ba0a7b8acab08934bef91ef4d1fc0cc26c294cf958b5ed9577ca2eac131ec595be19b87b6a448a854daaa2e0ff2044f103741d4ebd3b1bc3c0154f0ce7f5f698b443ea0b57c928f7f0848a98f1878575bce0d300dea502191b191a6235b9670d0f42ca1311c9b20a0c226ec3e2ca43ed3d7b9ecf685407dc0ef19fb0936d1adea13e8e510ab2568120b4543a9b47fc8d9b0f90c09da0c9d138edb255b3447481a312c8b8e657574253f831c0b33a130a1467187067ec40acf1b187720f524994582651c8e38dc7ef7d1ce06bb589bf3ab99ab13bb495dce68a30da5f19078f973799349492c8872cf9fde904bf3c31690cb8bbbec1f690550663e39b1abfa817ee9e4d42d9c4c20e0703b157b791325191806991154dc159844da96d0ccb1bb8d2caefe5765db07b795ec0f6bdd9ff2360974a625cb8f900faccf7ca375aaf318754ee69160f9bed53e9d4ebcae405bad20bc9c6 +ss = 7ecbd55688fc267469c2400e2df0b7fefea15be89bdeaebf5d5d4f2ef50ccb1f d = 2107204cd995f1df14314d5381f8c5440f09a347502e161cffc0a2ec3dcfbc73 -z = 24c3da70fe850e80aa818301d60c70f3038153866dcd5d179e22db59b8991bb4 +z = c95df27db27ffd4a8fdf31c4474cbfe2f5ef99f760e97fcf569d8ab22c2855a5 pk = c17c04d8c082f06a8d497768755ca932d2663637b2641c34a379ad8faa55c15246fc5a13a3963d4d36a1a1e06bb811c736e10301d96181207f65e992a66b7b3d1921c7f7247f34bf3951cadbaca9e346bde27887b61ab58fbbb3cd25466b3684b48223b24c34c6f1ce5aec8513717cbe5a0059352e4ac62eeb157a0ef76936c16db808572cf93adcf5bb44b1935d43abfca1b06d375f4d5a4d2a40392023a86e05796565abaa806d9ba0273e543ab03809c4fbc74fe4156bb2b60c76be49c7a1d5d45410627a85026a58152e2833b445a087a4f011befb1e03b7102ea4b17d6b5c4e3791f9c2babcf2471d86c720d412342529728cb560828c7286035e612698632cc054079ad2b53517b4c953969d8bafbdd0c09845191ab426c23a8b469b601c8751b02a4af32b670e6592f2e5b943924853e551bd80c5e717405eb2480da7a6ffab19660cbb5956546bc64def60b800c252d76c96d2fb3d22736143b144953a410653334c8967a367284e2197f5864c5e811721a49c29ca0e43e9aff5a7264381bdd5c4af51c51b66a450751cc5c7f75683954cff0385436ca38f0759c93ccd37c44e7ed026efeb5b271324bc71bd73d09d923182fb7739405159d51ab7e51a0765c56d98d50fda35546bd762c21204f5661a72aa3a731a0520409c62154cf54243a32914a82c8ea6f75adf55b885ebc8d5447345159ecc78aa6b917d42f9c09677caf30b879cf9b73f468da38880e7948788ca42b1551d4ff31d11435a97a61c0f4430757c70a4d73402d94338765c8f708502774d36ac34cf85af4683ab5b36c61b04064705c68b578f7dfc4b9886140d28335e78c3b5ac7ed5bbc3dd6ab0a76a97858257c519cb57f0c949c2818c43962cc24695c5b3a6242908f20e14239930a9b8fee51bf5e62822f42095f37299316479c9371bcb567cd5cc138828ba5036799714dec18047c84aea562d67e375ce697536443ae087a5787a8de6314a30e81aea1312f3fa12bed1ce1fba8e637009bb7998d41a6654d70b2f9436f6737c9d118de76ccd885b4b0f3751990b93138a70acc047e4416fb2e21bf2359ab022696e67b6ac6b8045f3c826b81b76c4589a687e42d909ee5473512a71b6369d22877ab0f91a7cc2c01533635d896b6bd293f85962f05a2bf14315e42582188bb09f2c3cc86632f636adde80817c0681a3c8c313a65ad918cb12582ad1d76ab42643efa7ae8d94a4721b1f4bf77e8e47af68642112ab9629e0a2e3316d6185668ba373db4708add91ed47a5044eba47c346b7d230d4b324b30c6193184b493d111fd8362812b5fd1e19d4978672c505bdf9a2f888469faa040a4b3c5648929abaa66ec435d3173519b882ddd7474b1210368711c301961f4855a49f75656d356930c79ae11983a32a17d4757ce42a2d9e26f6a77475c12056a5378abf7c7cf097a7fb23badc4ae929a5d1eb46af442956a370d7f9a635926859e6099d2b121a807c107cc15ab18ae4634834c22144f689e92000829a4a9793ca767e43d707bcb2e0118e810b32f14007231721a5a1f1621991b556b70389bc8652b56d824e070a5f9552de88b14df346d43b460807662263769ddc268a78cbf4c155e46484c8e02087aa6493ce73b845289e9499d0dfc1b156621683521dad7176de52bc294770ca02ee08899b79673f562c5ec68157c758d4726cecb986c1355444d96402bdc20a620128ad3c9407a64537ca855f820c7166800839e32b5a0b9404ec4f375c68336c2c098ebaba5d1865a99a8b45993533b0651ef97477660c48ef40ea7261bcf9c43bfcc740a0605765c5cd84cc5640c92e533a2ec923a1512ba57d11924542f53329598598a0717aa91986901046db1c763f25098103b208933085b59c0cc538bd344cf8e268e30bc4730887ff4c559315ca3cabc04b7f7ca57072216c859e73183288c8fae0a71b98a2366a99f276c0b68688759e6b34d51a0f5fca2c52585894a5ee52253d6f963ebd1283431b6d681065426a19157a6384b27bbb0495cb8a4f42c5649f185601b4a19511841e775868c0ef0e010a8147a743285ea16a6f01323a9acb46c1418418c0b94793617db9fcc1039b0060c167052b3766e9452b65f4789d9123e5e299c0e440986013226b63db7c78109622eeb8880c351c6a5ef23c5d54c68389e610b30de122c2b2cdcea30b3c780612fb9992721e26273 -sk = ab150a2298917b1707af1ac0941acc5b6b259d1aae8f878bb0a37089b845991b203ee4c8f1a58cf9d2cc0059ade2db131bdc5fe3049e17f350a805c6f30479be91b12a36190a5332eca4737df5a32fd60cce222b592060add75a62f88d5bf6426fb18a944195f1ecb1babac1dcf20c39339ed45ac8c3ab582382480851107683102fa1914e753731964fdff686f0a354703858c15c99f30a19d9c281ae93004c718d1ca5452fe58183d806dd666792da7a76b0927dc77793396e4508200ef5097e45095a33af5683a4dd1a5f6878c1e6fa85771a990ea16f7a28034a897855769db8e4a9a425860fec7031d09e96b665f57662b2bb86e362c3f9a706e354c12423ac6cdc74973a0767d73e75f5739747433c3451f8e5b85e5311b6e009f79c00cc07ba26b74d512520496b1998a4445c19249729225044cffd51679b495511223417b2bac86cc242241f2b70966e9a7a03c3cc0ab526abf857dc1a140ad85825757d2b5a59b97b7f8c5015da02159d013c1f15491ff4cf64c564e50c389f6c85b7c060f98011a4518cd3b48c2df68c67f3497f439c11f8504e577cf49acfae704a2b093238520292602cc2138762d87536f6285c001d6975a242654ddecb5663ac44228bbe5bd58d9b90426c66802b466b21dc8d7a23893a953033874d0a93626c00b6a4fa3fe9eb0dfeba2f3e789aad8103ca153fbd7218b95547de700ca526aed4f159639c59a7699296486188c3ca111479ddaa747f99ac825c7593911d6261683ce92ee8aabb77f82ab14838db54149194b12791c4991181c66bcf05c67e19f05dcb658d8dfab09c180967311f4e2aa03d9b8218889f87c5a5680299a7459afdd69db27302d9761daa20be37900b971694d3b6aea8c6b5d53a686beaa478f2abc17c1c461807597148719925590c1e482aa05bb73077c017c1010ea576bfb5a63031875a23b0a019d608d64a30d0dcb39d750099d1c7583c34ab1cb1dd99a115547e3e4ccdf2a872e821b2330a5f6b30918226b7fcfc9fb4f37d8103437db12ee073a49d29a7359316f8d922f783797e49b8c2b6146f76c7f8a66838c86364a788d3c4ae67d02ca09391e8547edfe86ca1d131c5b96caf479d9562688d1238c6196526b17844b475149ac3a76865c94993e518941a63a2e4559e81a46c8a99afd2a73b36c633ddc6b32b14723f04a83af89a420a3d04810311a28880247236a3761236b068a9a4edf55317e8841218441eb1137342977215992ba99c1eea7dbea33aa83382b909bf1eaa9030b4386f8baaea643e41531204bc0df8243f81367f4d979bf0125b84eb5d5df53318463102938a85214ad7355960300db40719a2acab9297381a6708391c78a8d4029487c324291a7e4a0945a806e0f24368c7a2af91b8bb155d04c557759228673b548b6a4feb8944b7334bccbab144c84344457b8b794a3d3b4dfc2357be9227f9c4ce8b98003452c1d8d19c7a8332403a41308086346129d3f929b847bab1aa5d88935d816a708c6a5e41023bcd4252569cbc724a53df1b88909267a932186c751339863c8dd49cbe200797186924c26edb976de613cc2c46beb06b39f5c264716a76e67831e4198822d77386592c777a0846f9b278064656903bd1f26a8a87832d541541e8a06e5733700836c5f16a06f17ab68b6ba229c9e740765ddca88a01469a79bb44f2a4a55547abec4f74861b83687d69fb0402d6cfb0573e8181929070483e85a9147801ce7b8a707093b2c67a21f1c65222981ed55755025805823908d908a6516488a0b87800034937b582368cad01c99c47c84c2c09d494a6fba19e5275bb27c998c5ec863e01612f3a75951a0fb8790cb5b623b3c089cf40779b6936b632b54b981c7ec83930f7cafccbc365376a3fa3c1cdb162b1751ad8eb3b2fa70150b637d1963600b0badd755e3be7486f8cc306d9a05d688227f77514b02dc7d47c93986432c2b58c674a74218d6e9482f8a3b8a6c5798a833d97a65df98b3117203aa566ce46499dfaf56f69310bfe821c16bb794dbabb7068cff6fa3d2cbc376bf1c4e06ab2e4a73256a618d9236810642c1d1bb3c13ac300f20eacf79d1ef347a38084dc222bb8741849c2b038d9721ae56a5300be8b9b4ba70c530593a5816309ad50420d63a7bdd0375b9475c17c04d8c082f06a8d497768755ca932d2663637b2641c34a379ad8faa55c15246fc5a13a3963d4d36a1a1e06bb811c736e10301d96181207f65e992a66b7b3d1921c7f7247f34bf3951cadbaca9e346bde27887b61ab58fbbb3cd25466b3684b48223b24c34c6f1ce5aec8513717cbe5a0059352e4ac62eeb157a0ef76936c16db808572cf93adcf5bb44b1935d43abfca1b06d375f4d5a4d2a40392023a86e05796565abaa806d9ba0273e543ab03809c4fbc74fe4156bb2b60c76be49c7a1d5d45410627a85026a58152e2833b445a087a4f011befb1e03b7102ea4b17d6b5c4e3791f9c2babcf2471d86c720d412342529728cb560828c7286035e612698632cc054079ad2b53517b4c953969d8bafbdd0c09845191ab426c23a8b469b601c8751b02a4af32b670e6592f2e5b943924853e551bd80c5e717405eb2480da7a6ffab19660cbb5956546bc64def60b800c252d76c96d2fb3d22736143b144953a410653334c8967a367284e2197f5864c5e811721a49c29ca0e43e9aff5a7264381bdd5c4af51c51b66a450751cc5c7f75683954cff0385436ca38f0759c93ccd37c44e7ed026efeb5b271324bc71bd73d09d923182fb7739405159d51ab7e51a0765c56d98d50fda35546bd762c21204f5661a72aa3a731a0520409c62154cf54243a32914a82c8ea6f75adf55b885ebc8d5447345159ecc78aa6b917d42f9c09677caf30b879cf9b73f468da38880e7948788ca42b1551d4ff31d11435a97a61c0f4430757c70a4d73402d94338765c8f708502774d36ac34cf85af4683ab5b36c61b04064705c68b578f7dfc4b9886140d28335e78c3b5ac7ed5bbc3dd6ab0a76a97858257c519cb57f0c949c2818c43962cc24695c5b3a6242908f20e14239930a9b8fee51bf5e62822f42095f37299316479c9371bcb567cd5cc138828ba5036799714dec18047c84aea562d67e375ce697536443ae087a5787a8de6314a30e81aea1312f3fa12bed1ce1fba8e637009bb7998d41a6654d70b2f9436f6737c9d118de76ccd885b4b0f3751990b93138a70acc047e4416fb2e21bf2359ab022696e67b6ac6b8045f3c826b81b76c4589a687e42d909ee5473512a71b6369d22877ab0f91a7cc2c01533635d896b6bd293f85962f05a2bf14315e42582188bb09f2c3cc86632f636adde80817c0681a3c8c313a65ad918cb12582ad1d76ab42643efa7ae8d94a4721b1f4bf77e8e47af68642112ab9629e0a2e3316d6185668ba373db4708add91ed47a5044eba47c346b7d230d4b324b30c6193184b493d111fd8362812b5fd1e19d4978672c505bdf9a2f888469faa040a4b3c5648929abaa66ec435d3173519b882ddd7474b1210368711c301961f4855a49f75656d356930c79ae11983a32a17d4757ce42a2d9e26f6a77475c12056a5378abf7c7cf097a7fb23badc4ae929a5d1eb46af442956a370d7f9a635926859e6099d2b121a807c107cc15ab18ae4634834c22144f689e92000829a4a9793ca767e43d707bcb2e0118e810b32f14007231721a5a1f1621991b556b70389bc8652b56d824e070a5f9552de88b14df346d43b460807662263769ddc268a78cbf4c155e46484c8e02087aa6493ce73b845289e9499d0dfc1b156621683521dad7176de52bc294770ca02ee08899b79673f562c5ec68157c758d4726cecb986c1355444d96402bdc20a620128ad3c9407a64537ca855f820c7166800839e32b5a0b9404ec4f375c68336c2c098ebaba5d1865a99a8b45993533b0651ef97477660c48ef40ea7261bcf9c43bfcc740a0605765c5cd84cc5640c92e533a2ec923a1512ba57d11924542f53329598598a0717aa91986901046db1c763f25098103b208933085b59c0cc538bd344cf8e268e30bc4730887ff4c559315ca3cabc04b7f7ca57072216c859e73183288c8fae0a71b98a2366a99f276c0b68688759e6b34d51a0f5fca2c52585894a5ee52253d6f963ebd1283431b6d681065426a19157a6384b27bbb0495cb8a4f42c5649f185601b4a19511841e775868c0ef0e010a8147a743285ea16a6f01323a9acb46c1418418c0b94793617db9fcc1039b0060c167052b3766e9452b65f4789d9123e5e299c0e440986013226b63db7c78109622eeb8880c351c6a5ef23c5d54c68389e610b30de122c2b2cdcea30b3c780612fb9992721e26273500dd7b94b28b5b650d90962962bb9a3ae96e70d35723217f3f178cbe565905124c3da70fe850e80aa818301d60c70f3038153866dcd5d179e22db59b8991bb4 -m = e99fbae8a024ebbbdcef32ce213f6aa942e3eca925e5da4c09975d773b33a175 -ct = 117777d43ba7c4e28db041de607dc974d6a3a886a085b78569b24496d0e0b528981903a550f3abcf925f18b5f34ae00c529aeef0e3f3161fb758fea5c9853829d4b2bdf7a9eb58a9b241bcd2255ef410009eb218ff7568edc03d03cc536169bf578d07c5ebe8d7e97f9dfebc83383e0c5e53cbd2c02ead34e39a89c8bdaf3b3431aa83b3208a4ee5ab53ae1098311932930aa1f764079944f6f27d7458227e85205732189ffb12442e18b05b0e9fec425e6deb721976c72f55362d9f8269720df21c5ca604860df195f237cec2dcabaa25ba6339f951e4dfa994823bb74995132ad320015efd51071e41a249414cba3387df5f1a339a2e3869ee879a3f9c95c6a259bca23dd1c9cc35cb7ff180e600229b34817de311191352f9a19b98a8ad6ea783ee3fedb7fd0b9de1f573333f4227d21c51d424fe7ce5faf478fa3b8ae9dce310ce141ad8206370b2d6161895a5b5ddc0f196c078ab596f708d5a126bd81f46fb99a1e53f5dfb1cd49cd5e13567c5efcae4381eff6e0cc09984d817ae91950b301b68e1497c845f5dc14afa9a675d092ff99ac7b2c0841d966bdc73291c59f5d3e9e5a1f03cc08a670e7faa53b4576d2c8d2a28e77cc130f35346fda96ee409134c88dba9bf33e04b1d9246cb8ece83ec28657f49cb7ef9efea7d4cc66eba0819f065189ee5dd6f3ea507b2951943b7df66f46ebeb26a4fccddbcf4ffa75284d4f7e326671bbae557ab8733acf1e1381a34e9bdc9a382b9bc9107cc642df1a6df5bceb2429ec318d106091a8ab6f3eee4346f39303aa5338967a4614ab9f46fcd0b114a0c5df9c722863cbfc410f89ea00c5fa33402d11b8ea8bc254ebd97d92dc91a7644f81f5357c989d2fafc6fcca84950dd63b006024b227708626128ea16e7ce48cf593eadbc3e339be36fdabd38ec60086fafad161ce61665ad30138c4833de8de67694cc17dd3e7501efa37ea89f802aa82ac35f04c273f4f448450d596ada629293b6a95d1750dc2d29f1d38cc2ab830b117087c80371229a313b2c5a0bc6d8b21179f16b608320327235d2cc97d515035edc5248692ed155f526402796eef0ff349cc7601c53872cc8f48a551f97de9c651ebf4a3566e2d28310b25904344a82570d767253612014b9af227b7a38f3fa64058080663c9eb02c31ff5200e5383426ca0fe5f472dbff461a40633fcff7c1d15936644781332f2a3d3707a5ef4b55d35aeeae78ed3f492f0b09a646e0bc08b626d6d697cba9f3a152d1b22b2dddf5da6b3e428dd3c499bda47245feebfffc377ac89edccbfa23236073da99a214c175c363146016ea698fc4ad7d74d3aad511e1faddfdad81c4e6fa4d0ca72aff6fe976723221f4f9be60efd35635e2b78e03b99530c55c5af98f80d233afdc5573f1408f13a3493d1c7334ef2a8ae3b7312ff6b6a9c3a833007df1d77c44a113ab9f0a22fe96b33c0d58c8d92c907508b6ffd9857493beff7b124f1cb878ce2065e65d4de5d33599a5a31cd5439ee9e0822d6012a60ed522d2a150767fedd0d816a8ef44a5fa3441f4553a740100ced50f6e06cf9312795d1c5c6d36e9358f6941c7749e7222d1776e554fdbc6761a51650fad3ed65876c6b53013238fe98f879edf35cf4a99a3aa14eca52e88ab436915999b89cdca93bc6a543ea9ff0155854c1797bab6b316041fc6044ce56dd04c6dc667dee48ec45dc4cd2383715574c4290bb980e49eb9438faeee67c87cab04bbd45df6470603e41fe5d0851d3f286f6690f36f31854f033320cbfa7f31ffa45920c5b2e2d5dd90d480ca8f80e4866641637eebcd1c6d89b6bbebcfb0701e1646edcb4c606e5a5c32b0b063883141c2f89b033f1a687a25d14c8fc0d86cef0e7ed1b418cc871ad4758c58393f2cf2a6e32f47d7d38a69526aa6c3c9df0ad7c9f563067a0670490c97fae952fcd514bd898765f461fe5487aa540ecef6265229de093f2c8d7adbf491ff1edb92bfe3fb730069538a893d3d9a525acbb7772032990b51ace5450c25c76626d7607b812eebd56579a0b355f9d9990e0b0a23ecd9a1396f1f7f25944a2a2a47ea68408feaca6eb04d51896539998e704e7b3f5b9f484c3afbd27d825b559db735a45a4a4defc2ba767727a8b89e4a9a363f72fab655b3b5cc7d49f0e0de8581c34339a8efc658e6612a853e0b1bfe7b3f80e3957e2ce55fd81848965d732792 -ss = 06b1a7d712f84ff30448190f2c445ee751808c72ba109ef8e49842180d2302e8 +sk = ab150a2298917b1707af1ac0941acc5b6b259d1aae8f878bb0a37089b845991b203ee4c8f1a58cf9d2cc0059ade2db131bdc5fe3049e17f350a805c6f30479be91b12a36190a5332eca4737df5a32fd60cce222b592060add75a62f88d5bf6426fb18a944195f1ecb1babac1dcf20c39339ed45ac8c3ab582382480851107683102fa1914e753731964fdff686f0a354703858c15c99f30a19d9c281ae93004c718d1ca5452fe58183d806dd666792da7a76b0927dc77793396e4508200ef5097e45095a33af5683a4dd1a5f6878c1e6fa85771a990ea16f7a28034a897855769db8e4a9a425860fec7031d09e96b665f57662b2bb86e362c3f9a706e354c12423ac6cdc74973a0767d73e75f5739747433c3451f8e5b85e5311b6e009f79c00cc07ba26b74d512520496b1998a4445c19249729225044cffd51679b495511223417b2bac86cc242241f2b70966e9a7a03c3cc0ab526abf857dc1a140ad85825757d2b5a59b97b7f8c5015da02159d013c1f15491ff4cf64c564e50c389f6c85b7c060f98011a4518cd3b48c2df68c67f3497f439c11f8504e577cf49acfae704a2b093238520292602cc2138762d87536f6285c001d6975a242654ddecb5663ac44228bbe5bd58d9b90426c66802b466b21dc8d7a23893a953033874d0a93626c00b6a4fa3fe9eb0dfeba2f3e789aad8103ca153fbd7218b95547de700ca526aed4f159639c59a7699296486188c3ca111479ddaa747f99ac825c7593911d6261683ce92ee8aabb77f82ab14838db54149194b12791c4991181c66bcf05c67e19f05dcb658d8dfab09c180967311f4e2aa03d9b8218889f87c5a5680299a7459afdd69db27302d9761daa20be37900b971694d3b6aea8c6b5d53a686beaa478f2abc17c1c461807597148719925590c1e482aa05bb73077c017c1010ea576bfb5a63031875a23b0a019d608d64a30d0dcb39d750099d1c7583c34ab1cb1dd99a115547e3e4ccdf2a872e821b2330a5f6b30918226b7fcfc9fb4f37d8103437db12ee073a49d29a7359316f8d922f783797e49b8c2b6146f76c7f8a66838c86364a788d3c4ae67d02ca09391e8547edfe86ca1d131c5b96caf479d9562688d1238c6196526b17844b475149ac3a76865c94993e518941a63a2e4559e81a46c8a99afd2a73b36c633ddc6b32b14723f04a83af89a420a3d04810311a28880247236a3761236b068a9a4edf55317e8841218441eb1137342977215992ba99c1eea7dbea33aa83382b909bf1eaa9030b4386f8baaea643e41531204bc0df8243f81367f4d979bf0125b84eb5d5df53318463102938a85214ad7355960300db40719a2acab9297381a6708391c78a8d4029487c324291a7e4a0945a806e0f24368c7a2af91b8bb155d04c557759228673b548b6a4feb8944b7334bccbab144c84344457b8b794a3d3b4dfc2357be9227f9c4ce8b98003452c1d8d19c7a8332403a41308086346129d3f929b847bab1aa5d88935d816a708c6a5e41023bcd4252569cbc724a53df1b88909267a932186c751339863c8dd49cbe200797186924c26edb976de613cc2c46beb06b39f5c264716a76e67831e4198822d77386592c777a0846f9b278064656903bd1f26a8a87832d541541e8a06e5733700836c5f16a06f17ab68b6ba229c9e740765ddca88a01469a79bb44f2a4a55547abec4f74861b83687d69fb0402d6cfb0573e8181929070483e85a9147801ce7b8a707093b2c67a21f1c65222981ed55755025805823908d908a6516488a0b87800034937b582368cad01c99c47c84c2c09d494a6fba19e5275bb27c998c5ec863e01612f3a75951a0fb8790cb5b623b3c089cf40779b6936b632b54b981c7ec83930f7cafccbc365376a3fa3c1cdb162b1751ad8eb3b2fa70150b637d1963600b0badd755e3be7486f8cc306d9a05d688227f77514b02dc7d47c93986432c2b58c674a74218d6e9482f8a3b8a6c5798a833d97a65df98b3117203aa566ce46499dfaf56f69310bfe821c16bb794dbabb7068cff6fa3d2cbc376bf1c4e06ab2e4a73256a618d9236810642c1d1bb3c13ac300f20eacf79d1ef347a38084dc222bb8741849c2b038d9721ae56a5300be8b9b4ba70c530593a5816309ad50420d63a7bdd0375b9475c17c04d8c082f06a8d497768755ca932d2663637b2641c34a379ad8faa55c15246fc5a13a3963d4d36a1a1e06bb811c736e10301d96181207f65e992a66b7b3d1921c7f7247f34bf3951cadbaca9e346bde27887b61ab58fbbb3cd25466b3684b48223b24c34c6f1ce5aec8513717cbe5a0059352e4ac62eeb157a0ef76936c16db808572cf93adcf5bb44b1935d43abfca1b06d375f4d5a4d2a40392023a86e05796565abaa806d9ba0273e543ab03809c4fbc74fe4156bb2b60c76be49c7a1d5d45410627a85026a58152e2833b445a087a4f011befb1e03b7102ea4b17d6b5c4e3791f9c2babcf2471d86c720d412342529728cb560828c7286035e612698632cc054079ad2b53517b4c953969d8bafbdd0c09845191ab426c23a8b469b601c8751b02a4af32b670e6592f2e5b943924853e551bd80c5e717405eb2480da7a6ffab19660cbb5956546bc64def60b800c252d76c96d2fb3d22736143b144953a410653334c8967a367284e2197f5864c5e811721a49c29ca0e43e9aff5a7264381bdd5c4af51c51b66a450751cc5c7f75683954cff0385436ca38f0759c93ccd37c44e7ed026efeb5b271324bc71bd73d09d923182fb7739405159d51ab7e51a0765c56d98d50fda35546bd762c21204f5661a72aa3a731a0520409c62154cf54243a32914a82c8ea6f75adf55b885ebc8d5447345159ecc78aa6b917d42f9c09677caf30b879cf9b73f468da38880e7948788ca42b1551d4ff31d11435a97a61c0f4430757c70a4d73402d94338765c8f708502774d36ac34cf85af4683ab5b36c61b04064705c68b578f7dfc4b9886140d28335e78c3b5ac7ed5bbc3dd6ab0a76a97858257c519cb57f0c949c2818c43962cc24695c5b3a6242908f20e14239930a9b8fee51bf5e62822f42095f37299316479c9371bcb567cd5cc138828ba5036799714dec18047c84aea562d67e375ce697536443ae087a5787a8de6314a30e81aea1312f3fa12bed1ce1fba8e637009bb7998d41a6654d70b2f9436f6737c9d118de76ccd885b4b0f3751990b93138a70acc047e4416fb2e21bf2359ab022696e67b6ac6b8045f3c826b81b76c4589a687e42d909ee5473512a71b6369d22877ab0f91a7cc2c01533635d896b6bd293f85962f05a2bf14315e42582188bb09f2c3cc86632f636adde80817c0681a3c8c313a65ad918cb12582ad1d76ab42643efa7ae8d94a4721b1f4bf77e8e47af68642112ab9629e0a2e3316d6185668ba373db4708add91ed47a5044eba47c346b7d230d4b324b30c6193184b493d111fd8362812b5fd1e19d4978672c505bdf9a2f888469faa040a4b3c5648929abaa66ec435d3173519b882ddd7474b1210368711c301961f4855a49f75656d356930c79ae11983a32a17d4757ce42a2d9e26f6a77475c12056a5378abf7c7cf097a7fb23badc4ae929a5d1eb46af442956a370d7f9a635926859e6099d2b121a807c107cc15ab18ae4634834c22144f689e92000829a4a9793ca767e43d707bcb2e0118e810b32f14007231721a5a1f1621991b556b70389bc8652b56d824e070a5f9552de88b14df346d43b460807662263769ddc268a78cbf4c155e46484c8e02087aa6493ce73b845289e9499d0dfc1b156621683521dad7176de52bc294770ca02ee08899b79673f562c5ec68157c758d4726cecb986c1355444d96402bdc20a620128ad3c9407a64537ca855f820c7166800839e32b5a0b9404ec4f375c68336c2c098ebaba5d1865a99a8b45993533b0651ef97477660c48ef40ea7261bcf9c43bfcc740a0605765c5cd84cc5640c92e533a2ec923a1512ba57d11924542f53329598598a0717aa91986901046db1c763f25098103b208933085b59c0cc538bd344cf8e268e30bc4730887ff4c559315ca3cabc04b7f7ca57072216c859e73183288c8fae0a71b98a2366a99f276c0b68688759e6b34d51a0f5fca2c52585894a5ee52253d6f963ebd1283431b6d681065426a19157a6384b27bbb0495cb8a4f42c5649f185601b4a19511841e775868c0ef0e010a8147a743285ea16a6f01323a9acb46c1418418c0b94793617db9fcc1039b0060c167052b3766e9452b65f4789d9123e5e299c0e440986013226b63db7c78109622eeb8880c351c6a5ef23c5d54c68389e610b30de122c2b2cdcea30b3c780612fb9992721e26273500dd7b94b28b5b650d90962962bb9a3ae96e70d35723217f3f178cbe5659051c95df27db27ffd4a8fdf31c4474cbfe2f5ef99f760e97fcf569d8ab22c2855a5 +m = 2435be12e5a6b3b230f3b0b24ac28fa464b9e8df34acbc8c6eb16441739c1b18 +ct = 430bb3536daf602e70a8748e8eb70714ee57eeb7351be503f4080d9aa349cb4a6544962d5c1f713f9a8b60afb0db36115ccbdb4ba34f5274eae4c3d5a8dc7bbd1b6004235334ae2aacc91d6157e13d5d2cf90a43cdadae616b9e2f1c83f2d51111dd2aea58f3136ab83dfc90f1eb0249862a11138fc4caa0b900e511ec98cc77619e85bef0fa118d69d27d0ce68a39f54e7f5af135398c9643248d10bb6bd3ea42c04e2365162693a14abb55274a66c1ea7a7faf1ef18ad4ba38accc05a88ceae9bd1453ba832d74d4a344dcd6a286979cc7d543fff623f9b4b6148d8ae41174e8bfd768972e111c9f2894b5561662b7b40f6832e8a643e2f319571f631d29d43889de15e660ab1627394e55c92d46d32428533b1c097983e0cdfbdfdfaeb1f71e066fee7a6c9136b3e1917e5be67bf314645441ca01ceaa413bd3b493cc8619deb91a59b2fe45718c19f20ac2918ec4627be30306b5c9d6e0d7b442f421136f694d3bb7acc01e0e0d2f8db852b867238b209609af15ffbf483e8af7eb3ebd4df089a5a739d3cbea6d78c8027ff702b9c738482a5197f7eeed2864fb210b611059d92666d959cb21a3c491618bb4df72abe992e0437d209f377ed9bbc3851c5772a6490d1c1bf77c25b56ed9a762b4a163fec69975c01081e693d482a73169e9459f2708e934d9ccee0b5bbeb4a8ce2f9493e042c123a92dcc3b82003772aaf2fb30dd63d06848eeb33a9672cf464608ae266ffd7cafbaecb176531ee07e8b9ad88b38f105eece4951b5ee074d9832d6ccfd9b19622b430da3230d58b22bbb8126e302f48fe7b36a7975254c4deca7e77fcb774dfb5c38636c6251053b0a7bfaa17ba21e32ca47be2da5f550a3f7e35af16130f62c1375f2de019a0e1066a6fc51e1625e59dcd589cdb2e92e78f5c6a07843715399dd7a289cf300e193cc2e0d76efbd84d60ce0607c69c509d2bcee9d2bffd05289ce0f4692fdea9cd651c4573f1ab7d5d99bccfe6a0a73339e65070d75082d35ff2c837bb4920e10759d1531caf2b2a706537c990c17931e33ff3c47167e1ea68f33c592cb45fb922a2773a4fb79f1618ef8771b4131e37218bf3a000021f4adee70a08b9f4b9fc0969ad5b3bfc5799d036a2d8f066ff5ab41394b1aadf33decc8b2045ff87b7fc37b8ab2e5f4af3d31f7a9ce3465e33f4e0701d971d686e2bc9d525108cce748431368fff09cf683d1c101bbbcf0d7b923f6e971a06ef317b434b0dd087d5b389b223904730026cc1259e8dc093823b87130ce1662fe60d633c35551406f5bb2b5dac8390a698d3fd94e2ef00ac558c55086cb61662c05b9d09efe6f48c46a991f8300ae3fd2315544d80a71e83ae0cf056bbbb663bd88bf76feb1c0bf871826c4c59247a9fdf9a310dd9a263edb541f9985ccfa9896081eae8dbafd5109908767e745f2f5928a041ff599f3578371e2daa10bebb8f39c2eb6539b2be088739af663a84f5afbce6aaf209b806e412ec26b44305b7228e6b68028c59f7e8b83dfe605a284418080c63d1c44ab8f1e4dbdfa75f74ed6322d6fcc5ad15979607477ed22d110e36d56e42a79407b33c84042a63f40e4179ca7f9db58e0b34a2a87d4f90ff1c89df9f8a8d4d6c509d84c89c23994e3d9ffc7a67bf97c29641d2b11771d9be0841ff9c3ea08162cca9ce13b8a8721aa22ff13485c47c5f6286f82fe9ec2620fd1b4b940ea67d0e39d5cbf8f97d2166588e0ad77055932936a8240c759c6fdaee475df9d78e0663d960c05d12e5557fcee6561767d84bdfebe5f77de66115ecbce41bc5987dd630b69be9d3220b1b6db2fe08fd5732c9d6a16ab25a7699d138136fd1005d8f2f47eb1a06ad13c825833498ef6d14bbf38fef47a7c53a70f7364d4e6f123b4e761ef134254cdfb2431e485ac12320f838b9e253d7994feb8e4f0d10ea1664c2be6cfa130a13bff11707336f87d054128e4e5fa429da0845475b28deac096bb839e504ae539df78a1b3892abc8564d2ae1a644c07aa5b57dd5c976a58639c008f280020842f248fd66a4e9a76e7ae579845de378c03e41c9f9e3a08f69e16b133fd205dd8310c7163146c7aa36a459208bbcb73ceddec3db2d337c40ac6a7717a27feb6d855b9c76ede3c1b7ce05e0e23e64783baab4c1bb92ec593220ab62242b11af9a330e1e5f37c65325f2431936e113c994974c383ac02411b32 +ss = 74e7c95f46b214f146e1812f1f2699f1ac4e4298f0051acd2f6fa0168291f4e1 d = 63a925685a8ac5bbd918faa33ac397d1ffbcf99135d9da7c3d6ff7aa4c50af3d -z = 3afdb8a246a56ee71465591831c371f2eb87467b0559dedd776ba063ee6d2f93 +z = 284fdcb2d2a697d75e985aa43fae0df266a8056c18cb0bbb52b4ec89d66c21e8 pk = 56054ad4251def874aa0051ea234b544d7a0dfa60b1d5bb60b8bc95220c6cc96ab6ed53eea9c7cd1715e9c29291a361b04f205cb094ff888642827aa19c64893685ffc004b6ed9516f6638b9bbac94404f91c29a4d5ac6a9615179798cf6c486333a7641846cb49c6b78425aea240cd5f98ffaa826aa3b7b643a0c5f4c3ab4c21ea9081e9439445c98277b9a507bbcbb82d31aced3c378b017f7d62270749bc1901ee53c72953576125574dea727080a659bca4f007b6cf7c9cb2d0254ba9a293290c493654d25e7ac0cd88a6101b12622ba2627000de87d88e4990ccb9cf4a08918d044c2d52cf42a938d6430e544cb2e369ed9e7c7304b55a34a8cd193a096d5c716383904b7b8cc89ca471980b84699f546bcfbc348ae706f400a28f0b1c9f8a40d8be14fecc0b2f282ca8f5c499f2a3d16bb7501003d22965b7e33826d343f72a501e0b219bf868b3e47bd4fbcba0d6635421189c17c32479aa5fb0abc84549f878490bfcac6934a6393a0a14874a878d65aacfa3678704919240d31e9911fb703dd339684d5ae6090bd3478578f7a60d1d72da9d70eca9266b19c79115322e626ba64d52d26c9a655f1325aa63881e8800e16382a46865ac2cf015abe3a420ecef1290e5a2836500176d7b6d54868ae3a977cc26a40a2c20ec3b346c0a4b81549d274a7bc6b446d6a42512c55b9823d745402a630065297973b99b569952aa9a66b440430d980bf4944cd66513220f13964a30e86f738a0eb1aec491908d2c07a35591a384d0e560af91c1f7910b2d3f61e69234375b9b6cc017891eca65b83332df15773baa489862494435538db956d9c09660499d7e343c7d68fe082997b73b69705b9498ac9cd989efce26f4aa2b3d5e7b445e4132185a4e734175ee4b5b7cab33e42ca33096755473d774c758b3ab1b7687d62351c3c5251653953701c81e2cb2667c885e75c814f375eb946adef027f78036b28f4151f1c799fc1556de38bfb2ba996db3e3e70b79be2614b073cbd150c04313013ab88c477297ee615fba0a9e00a50ee3b0f66498ba09acf338b7342b8670c31428f4a52ccf9b4b6dc98667ba43792863661738e63653c34b9147b60ebb21ce89291891bb814096d662806d1d012481b922b9c2fefe9a66b919823970be95bb12c6619498228bec78db0739a5b1c93654a2aad73851355a0485a52c3896c3527964e88727c3805eec01a65cca1fec8466aa44bbac56e53895251892b6355c5e39953f680683ff72e0968867b536c11a33470f8ac74870d996557981711e5d0abc65c671f423ee4b67771055952b54df8934f0b6980779abe207c4f8ce1cf17bbbd90b24d1ff875109366a4270202036a0796146cc8ba70712f98b042b301c5143a6143e01b79b2af3a944100eba87da1725743c370d85894892469c00a95f3866726138c2099b9b6c47ce9b9630222c7656623260d8500b4d7752b6779af5b5b858016057f545175f61477476e3a02aca3d1485e0882b305c9f956908da84ebd8083ed26b8b2b8b50a347a4cda722bdc6ffc2b9043491da64b0fd0a39b7f1550186a0038e07598d6887e6c8c2800288b1c9a45a66233049d77d912b1fb50fc119b0b7455c8d90a3edcb046f2064d401c8f108b833caaae5573a10b9fd1775ab90226d8a32088ac614e9b20737c88dda963d0e77c7c592179b4030881987421a886ac7a422c98b6d51c53d8c1027c84881491994cc84e9b1185b3425758bbb1e305a1103ff6989c633a5697a97e5dcb94e7191d9a47330ecc60acf85083559d507a77f7033965a0859fd6306d27c0ed2b35e7b3444d957a52010ac49a8851952f6061ad551b7c74814606510a0bd19d9ee7998310c74ef507902cc71103134a411f90da122fe72fd14448dea00932977c0f27628f092da3ac07d901c2c3613d22d48ad6376ac1d008c7d19a31623ebc616e4fc3887d68c033bc3ec0e5840d415f6fd2c15355c223da1c45289315cc945aa39ae7498767eb3a6692b2a0ca6e7bc73a5d97644703aba392b5d386849f91bcc7f5691f295a267ac0c1fb84e5e31c94ab020e351ae410840e4198e417b8f397aa33f88114030b07d5c702c6ab64bb7df7276f593ab3d133232c919dbd06b6df756258b25c7132bf03c62077084ce937ce829b0172810b92d45892f335d02d36153217d5db379b621e416a54ce8071dfda35f639a04b14 -sk = f80c63dd6cbda93b6cee719fbad6bdbe1a03f18b3379306ace5625fb38c5edac9c8c94525c85961e14a76082bbd760ccf9b5ac777088b0cc80e0304fbcfc697cfb13dcf1cf777325eb473d11a43da4575b697a860445b02cf75e8b945ff9433a337c754e19453d4bbfd2f07c76e8b7a68b92abc870b56202f7634b9b37902d39bca04653fad9a0e4f0be548abb97c7a1fa18c34cebbae3987f4b3c52a5006629159ac6875276053908b389d931bc7e2871751169b6d81c8d8b5f52854a3e644c5c504675d688ba030e9e78a79e7788522516ffda2ec9946aa9791a634b6ab6d04456003acf348bdcd859567a74a7b73556820f8dfc12e467ae2fd11025e430114a5a60d3b42bb43845721637a69596eb953ab7b3e3b28b3bd9923dbc5189a37e9fe7bd9b763fa905314c0a35387a8e8552bf7135698e15b8d99b0777a0a5af1b7dafc172aa6a4d69202f10351603771876c580a7d24479db0d804b6513a09281f291f2706ab128905663aecb0bb31a41046771449d12c335051a2eb50ca81ace90940a8a6a355b21a9c7505491ea3b48b5323cc567ead909fbdb380fd504c851452bd34f0f65a39ac62d922a3c50a8566edab03358745d701332e4011022bfd4839ae7b6745c66aca80abab8213369e299253b40a7922df02ab70f9723baccb1ad563ad20c5eb8a01ae564be24f40ce91a0f06ec68c0604c74250909d317f8968947a12ea297a279821f1b5377b02653d66897aa526cf51553c268481f7174bd9495da4b0305650358a637a5fc31c99ba7ba304c6811b555e4b1c2f80eb4223c54032d16238861fb650bcba24b127026fba51f5985476103fe1375b94007a06bc2ab048bcb4a78e6d3c748b141be410992733630b8c917f89960273740a595071824a9d02908d52d334373e8a575d5d52e96e5ad0cc95bf2c761ae577b9ef6bead33103e5033e0765d748c409f8a44227b8f55838b38695c5e132f2cb9bfdd7cb8522906e9bc03dda468a04012277417869277e2169c63112e6a8942a1c13aee97300ff4caabf862058b6e7cc16f34c79ba200853701a98d630936a8a595098c8b19820ac91f47451e011069aa688bfbf5ac4ee018c53639a1b0573c8a420c4619166b011e79bd0b843d97766810a48e55d5ce389b5de4a739f77ccc5fb70d52b3ca5d01729935bf7e4bb984576f2acb7466c8248f975bad539b2260568dfa34cf2974d83699761c95405943a7a88374112f8ae79b4d244bf2d683f7cc7a533229bbd8b5e822c8b3449548634ff34bcaeff25a41aa84a1fa1f52f486f89630a7730e4f81ad23c14d6906816a849810951727042ed0782ef26c31281c0aade6c9334a88acb917b781c4f16327196422c24541065b5e80f4374da0853d478625a68f728a20c1c82ca4fcc4d62744fa658059141221a917d6121187d3b621179aa8f7b7cd0904e6e0787f9a5f65eaa78011b6b63290a55542c80a4bfad64677467dd1b12785e6bfbc31c1f3d46db55c0a035604ef658279db3232c675bc0bc97717ca3eb71d4f44caaf1b07bddc90ae982886594f98c41ae7481562cb63d0b2539eec589146735490a4a87b6ec5cc77bfc0810627aa3452cb061a1648ec7cbb4937826602185a7f5b9306d822633e2b7d35a39c135ca5c1c5c1bc80ba25eb91cd6a3d71341cb1314deb05a164d31123b0a6c5cc7ededc1301154e875493ff173d74880afb7438c44085bccb29095ba859a4cb2d77bda5d61fd9600d1b9c45592682bf161713c80d0aba348ee8bbf370bd4b1a50e6723b9b2499030a0eea58a6531579f8b110c7eba4ca3a57a5b6a5ad511f896a9f78a62908cc0fe0a0c06e652240f34d1e16ba51b41ae7077c3e982608216842c499a51ccc4365a864060f4d2b854232b56d803cb91c7fdd830a50cb2ae465c91416bcb09190be99c56f870c065c7bcf4b421718c17f3394a3684cb0bb83473927b3a1b4f8334851861044305137746ab39650949c8cd43839fa75b0a78c14d65b2d9139175f9756ce3865db6c77467b086c4826921047d13caac87a61e2d6b6a6a8cb67d18a0e910dec05aa5c3525ec86a2ed7c24c0e520b44a5c94940ae8d17f6b175642cb49640bc3254957c1e2501cd5017d3c297137a59cc06b69a861bdb73a0c739733dbbc5dd91628d85b56054ad4251def874aa0051ea234b544d7a0dfa60b1d5bb60b8bc95220c6cc96ab6ed53eea9c7cd1715e9c29291a361b04f205cb094ff888642827aa19c64893685ffc004b6ed9516f6638b9bbac94404f91c29a4d5ac6a9615179798cf6c486333a7641846cb49c6b78425aea240cd5f98ffaa826aa3b7b643a0c5f4c3ab4c21ea9081e9439445c98277b9a507bbcbb82d31aced3c378b017f7d62270749bc1901ee53c72953576125574dea727080a659bca4f007b6cf7c9cb2d0254ba9a293290c493654d25e7ac0cd88a6101b12622ba2627000de87d88e4990ccb9cf4a08918d044c2d52cf42a938d6430e544cb2e369ed9e7c7304b55a34a8cd193a096d5c716383904b7b8cc89ca471980b84699f546bcfbc348ae706f400a28f0b1c9f8a40d8be14fecc0b2f282ca8f5c499f2a3d16bb7501003d22965b7e33826d343f72a501e0b219bf868b3e47bd4fbcba0d6635421189c17c32479aa5fb0abc84549f878490bfcac6934a6393a0a14874a878d65aacfa3678704919240d31e9911fb703dd339684d5ae6090bd3478578f7a60d1d72da9d70eca9266b19c79115322e626ba64d52d26c9a655f1325aa63881e8800e16382a46865ac2cf015abe3a420ecef1290e5a2836500176d7b6d54868ae3a977cc26a40a2c20ec3b346c0a4b81549d274a7bc6b446d6a42512c55b9823d745402a630065297973b99b569952aa9a66b440430d980bf4944cd66513220f13964a30e86f738a0eb1aec491908d2c07a35591a384d0e560af91c1f7910b2d3f61e69234375b9b6cc017891eca65b83332df15773baa489862494435538db956d9c09660499d7e343c7d68fe082997b73b69705b9498ac9cd989efce26f4aa2b3d5e7b445e4132185a4e734175ee4b5b7cab33e42ca33096755473d774c758b3ab1b7687d62351c3c5251653953701c81e2cb2667c885e75c814f375eb946adef027f78036b28f4151f1c799fc1556de38bfb2ba996db3e3e70b79be2614b073cbd150c04313013ab88c477297ee615fba0a9e00a50ee3b0f66498ba09acf338b7342b8670c31428f4a52ccf9b4b6dc98667ba43792863661738e63653c34b9147b60ebb21ce89291891bb814096d662806d1d012481b922b9c2fefe9a66b919823970be95bb12c6619498228bec78db0739a5b1c93654a2aad73851355a0485a52c3896c3527964e88727c3805eec01a65cca1fec8466aa44bbac56e53895251892b6355c5e39953f680683ff72e0968867b536c11a33470f8ac74870d996557981711e5d0abc65c671f423ee4b67771055952b54df8934f0b6980779abe207c4f8ce1cf17bbbd90b24d1ff875109366a4270202036a0796146cc8ba70712f98b042b301c5143a6143e01b79b2af3a944100eba87da1725743c370d85894892469c00a95f3866726138c2099b9b6c47ce9b9630222c7656623260d8500b4d7752b6779af5b5b858016057f545175f61477476e3a02aca3d1485e0882b305c9f956908da84ebd8083ed26b8b2b8b50a347a4cda722bdc6ffc2b9043491da64b0fd0a39b7f1550186a0038e07598d6887e6c8c2800288b1c9a45a66233049d77d912b1fb50fc119b0b7455c8d90a3edcb046f2064d401c8f108b833caaae5573a10b9fd1775ab90226d8a32088ac614e9b20737c88dda963d0e77c7c592179b4030881987421a886ac7a422c98b6d51c53d8c1027c84881491994cc84e9b1185b3425758bbb1e305a1103ff6989c633a5697a97e5dcb94e7191d9a47330ecc60acf85083559d507a77f7033965a0859fd6306d27c0ed2b35e7b3444d957a52010ac49a8851952f6061ad551b7c74814606510a0bd19d9ee7998310c74ef507902cc71103134a411f90da122fe72fd14448dea00932977c0f27628f092da3ac07d901c2c3613d22d48ad6376ac1d008c7d19a31623ebc616e4fc3887d68c033bc3ec0e5840d415f6fd2c15355c223da1c45289315cc945aa39ae7498767eb3a6692b2a0ca6e7bc73a5d97644703aba392b5d386849f91bcc7f5691f295a267ac0c1fb84e5e31c94ab020e351ae410840e4198e417b8f397aa33f88114030b07d5c702c6ab64bb7df7276f593ab3d133232c919dbd06b6df756258b25c7132bf03c62077084ce937ce829b0172810b92d45892f335d02d36153217d5db379b621e416a54ce8071dfda35f639a04b143c4467b507971523509bf97d2bdd733ad9eb94f312e4226d036e8fe827a205333afdb8a246a56ee71465591831c371f2eb87467b0559dedd776ba063ee6d2f93 -m = 67a216f37d67f5e74f782f1badbce1cc8c80a6130aec305b421899a4faa0a6c3 -ct = b587da0bc68e28667c54b2104ffb748415e914b72a1655ed8634fc6f3d30702976d9343eb398f1e2a32c185cb0b6c0431cd91953d6d288b87983fd7cac8ac595c39706e952cd64c29955d6eafacbd59cfe678dcfcb1d902fd3bc7a50bbffb58ccdea00da0e251d7edbdfd7a61a94c420c02f368f016910f79ce4608ab246ad3ad0bfe9e333f36d01e5ce9870a395add5d04740e5e6b456274069cfe3028e6767db266a6ce626f4496c04c7f22c1bfb9f4a34db97518851e0bb6dd0b83b581d231d2d8244f8e2758c81678514e20438682cd423cba75f55afdbe159f1b8faef836402c2425e8b2e9e5da5d46c83dba8e731e7e103734e58cd36338b05533997b9ed95749f55b01dca53be39494abad4d0f948f151d9702b2f1a65b2f782ab8e6bcaa9e27634758d33bde45964c12535321793de0af7607255fa64f100e8479cb3a3072d145408b2cf5062e6b73485c2bf3941bc54a7a2f1e6275dd11798322f8a2f36f8c96a4d9d69be6b782f692943b46b2e775de8cdea83745229624f8f0a102ab0627d31e850ddde187dcfff84097bef6af7a4e37b5e3f028f46f3012d7120a75190b7d2583503ca0378d15b5ebcf704d567570bf311560f65de6691d255057d531783eb16da68ad591c72983f8fb3c9a3b67422dea41dbb6083b10d96e693b9ef784ed2a00dabede1912093f8216f37f3e333c0a023ecfeec104b45ae5b49a1fb08a16653cc11a9371190dd64e4314335604a874871370851c04dac56cb0caea68fef87e42c4e0261b14165a1ff6059a997cd2f4dd14d884113abbda817a4e6b5474e629928f9861e48d729ca8626440320c72b468e051827882fd350d5429c242b5d0d0bae2aa45f013a21a200d4a75330525919f9287c962b2883ae46809d45c9308d00f04e50e4fe800587e9f3e7f12a27dec7d58f29dfb7db041cad9e85f3d64f1bed597ad77583ca51c5f0aba3cc73a53879587585305351c6c69a1f71fff44bfccdab39f7677312439ff97218c86f49a25bd13a08b723b1a452c38c09cf26f3101a14f063984ae693aa8cfe6e138f5e78d8c31bd9affa14883e2962300757d158479f7525c34e35dcd0cca55575d5a5b767ee18d3c9f8df7a1a7c00d5b348124e7a9fb2c7ed60b2ae871e63185c790aa3bc670b01528850e0796563333ec29a69301995302c53e332f863c477b37b4fbac9b1537ff19e1e38cf6da73ed79a9efb113ff8a23c4badb007c223bc6b0a1958214c866c3dc888a619c7e8835534154e0d731f985e56e3cef323aa95ded4cd520def060c763e85f1cf8324811a0849f14df41323825ee7082732d16a1cc922dd298e04b8d55f847a2a307f5e0bb3702c838338995ec428a7348e07710c5eca021afa14bbf41fe4539beb821a951652b384f623c712aacbcf5f63a2bf1003a3641e178238cc84bccf498c786ca4cac2ffdbeff999005290dadb2451d2d45f5ae36ddf5450d657313dd574997aee40e275b20e99fd4e9ead22cc50e3d7b32010630f96fe137e740794b77afb4fdc85cdbff1465c21bc50a88691f70203a40dd0624b63355f350b92b26f82081c57a0b8aa459a9a518a61ef22d4cf402bf0d98f9d372da9405a15608cb9c93581ab344006a4811af2c5af2014c57cf85d0a8c026a3f45f5f9d6544bd9c274e4eeff8408e55089fcb3a19d9453a1aeb8833a3877cc9180e939c4fe113b6527efda52b573fdf68ef0742302a8e07014be82059c257761716695e739d9086a06355c5a789f33c86a715cb4129f63af3eae64117c8111f269c42963ed78b4ba96330f10c8fe4177a5ceef83e28ccb2eaef2d982652afd6da8212d45394f0babfc96e7349091aa7ed3860a28e06322d0a2137eb245ebd3da755b01372a11de985f8fe9be8cf46533704936b584771e3282199dcd3b1d739ba80af472099d3d42579e56e25903d2294258daacf4a9a5ec726394a00fc3ab507cd7afe7398836e26f1c898c85b4c5f66b0521703f1aaff56b98cbb0d25985aa75bf2338e46d080d8b615e73f1129a39c3761bd8f0ba02ee87d16673378e51eb13197cbb4c90b6cb625fc386d7b82ace190f11302204ba35f095c84fba2631294a92645942371bead2b34a92156819d3800bcbf4a8fcd462b5a7ca5bbce412409bb8726accfb922654e3ba32e83aff0e4c2b329882fdd7a38c3391014a29c03cef18215201788619e086 -ss = 33a9ce6514da7c60b120c623101d494ac1bd1bfe390b6ea9ee87585e7a9adc6e +sk = f80c63dd6cbda93b6cee719fbad6bdbe1a03f18b3379306ace5625fb38c5edac9c8c94525c85961e14a76082bbd760ccf9b5ac777088b0cc80e0304fbcfc697cfb13dcf1cf777325eb473d11a43da4575b697a860445b02cf75e8b945ff9433a337c754e19453d4bbfd2f07c76e8b7a68b92abc870b56202f7634b9b37902d39bca04653fad9a0e4f0be548abb97c7a1fa18c34cebbae3987f4b3c52a5006629159ac6875276053908b389d931bc7e2871751169b6d81c8d8b5f52854a3e644c5c504675d688ba030e9e78a79e7788522516ffda2ec9946aa9791a634b6ab6d04456003acf348bdcd859567a74a7b73556820f8dfc12e467ae2fd11025e430114a5a60d3b42bb43845721637a69596eb953ab7b3e3b28b3bd9923dbc5189a37e9fe7bd9b763fa905314c0a35387a8e8552bf7135698e15b8d99b0777a0a5af1b7dafc172aa6a4d69202f10351603771876c580a7d24479db0d804b6513a09281f291f2706ab128905663aecb0bb31a41046771449d12c335051a2eb50ca81ace90940a8a6a355b21a9c7505491ea3b48b5323cc567ead909fbdb380fd504c851452bd34f0f65a39ac62d922a3c50a8566edab03358745d701332e4011022bfd4839ae7b6745c66aca80abab8213369e299253b40a7922df02ab70f9723baccb1ad563ad20c5eb8a01ae564be24f40ce91a0f06ec68c0604c74250909d317f8968947a12ea297a279821f1b5377b02653d66897aa526cf51553c268481f7174bd9495da4b0305650358a637a5fc31c99ba7ba304c6811b555e4b1c2f80eb4223c54032d16238861fb650bcba24b127026fba51f5985476103fe1375b94007a06bc2ab048bcb4a78e6d3c748b141be410992733630b8c917f89960273740a595071824a9d02908d52d334373e8a575d5d52e96e5ad0cc95bf2c761ae577b9ef6bead33103e5033e0765d748c409f8a44227b8f55838b38695c5e132f2cb9bfdd7cb8522906e9bc03dda468a04012277417869277e2169c63112e6a8942a1c13aee97300ff4caabf862058b6e7cc16f34c79ba200853701a98d630936a8a595098c8b19820ac91f47451e011069aa688bfbf5ac4ee018c53639a1b0573c8a420c4619166b011e79bd0b843d97766810a48e55d5ce389b5de4a739f77ccc5fb70d52b3ca5d01729935bf7e4bb984576f2acb7466c8248f975bad539b2260568dfa34cf2974d83699761c95405943a7a88374112f8ae79b4d244bf2d683f7cc7a533229bbd8b5e822c8b3449548634ff34bcaeff25a41aa84a1fa1f52f486f89630a7730e4f81ad23c14d6906816a849810951727042ed0782ef26c31281c0aade6c9334a88acb917b781c4f16327196422c24541065b5e80f4374da0853d478625a68f728a20c1c82ca4fcc4d62744fa658059141221a917d6121187d3b621179aa8f7b7cd0904e6e0787f9a5f65eaa78011b6b63290a55542c80a4bfad64677467dd1b12785e6bfbc31c1f3d46db55c0a035604ef658279db3232c675bc0bc97717ca3eb71d4f44caaf1b07bddc90ae982886594f98c41ae7481562cb63d0b2539eec589146735490a4a87b6ec5cc77bfc0810627aa3452cb061a1648ec7cbb4937826602185a7f5b9306d822633e2b7d35a39c135ca5c1c5c1bc80ba25eb91cd6a3d71341cb1314deb05a164d31123b0a6c5cc7ededc1301154e875493ff173d74880afb7438c44085bccb29095ba859a4cb2d77bda5d61fd9600d1b9c45592682bf161713c80d0aba348ee8bbf370bd4b1a50e6723b9b2499030a0eea58a6531579f8b110c7eba4ca3a57a5b6a5ad511f896a9f78a62908cc0fe0a0c06e652240f34d1e16ba51b41ae7077c3e982608216842c499a51ccc4365a864060f4d2b854232b56d803cb91c7fdd830a50cb2ae465c91416bcb09190be99c56f870c065c7bcf4b421718c17f3394a3684cb0bb83473927b3a1b4f8334851861044305137746ab39650949c8cd43839fa75b0a78c14d65b2d9139175f9756ce3865db6c77467b086c4826921047d13caac87a61e2d6b6a6a8cb67d18a0e910dec05aa5c3525ec86a2ed7c24c0e520b44a5c94940ae8d17f6b175642cb49640bc3254957c1e2501cd5017d3c297137a59cc06b69a861bdb73a0c739733dbbc5dd91628d85b56054ad4251def874aa0051ea234b544d7a0dfa60b1d5bb60b8bc95220c6cc96ab6ed53eea9c7cd1715e9c29291a361b04f205cb094ff888642827aa19c64893685ffc004b6ed9516f6638b9bbac94404f91c29a4d5ac6a9615179798cf6c486333a7641846cb49c6b78425aea240cd5f98ffaa826aa3b7b643a0c5f4c3ab4c21ea9081e9439445c98277b9a507bbcbb82d31aced3c378b017f7d62270749bc1901ee53c72953576125574dea727080a659bca4f007b6cf7c9cb2d0254ba9a293290c493654d25e7ac0cd88a6101b12622ba2627000de87d88e4990ccb9cf4a08918d044c2d52cf42a938d6430e544cb2e369ed9e7c7304b55a34a8cd193a096d5c716383904b7b8cc89ca471980b84699f546bcfbc348ae706f400a28f0b1c9f8a40d8be14fecc0b2f282ca8f5c499f2a3d16bb7501003d22965b7e33826d343f72a501e0b219bf868b3e47bd4fbcba0d6635421189c17c32479aa5fb0abc84549f878490bfcac6934a6393a0a14874a878d65aacfa3678704919240d31e9911fb703dd339684d5ae6090bd3478578f7a60d1d72da9d70eca9266b19c79115322e626ba64d52d26c9a655f1325aa63881e8800e16382a46865ac2cf015abe3a420ecef1290e5a2836500176d7b6d54868ae3a977cc26a40a2c20ec3b346c0a4b81549d274a7bc6b446d6a42512c55b9823d745402a630065297973b99b569952aa9a66b440430d980bf4944cd66513220f13964a30e86f738a0eb1aec491908d2c07a35591a384d0e560af91c1f7910b2d3f61e69234375b9b6cc017891eca65b83332df15773baa489862494435538db956d9c09660499d7e343c7d68fe082997b73b69705b9498ac9cd989efce26f4aa2b3d5e7b445e4132185a4e734175ee4b5b7cab33e42ca33096755473d774c758b3ab1b7687d62351c3c5251653953701c81e2cb2667c885e75c814f375eb946adef027f78036b28f4151f1c799fc1556de38bfb2ba996db3e3e70b79be2614b073cbd150c04313013ab88c477297ee615fba0a9e00a50ee3b0f66498ba09acf338b7342b8670c31428f4a52ccf9b4b6dc98667ba43792863661738e63653c34b9147b60ebb21ce89291891bb814096d662806d1d012481b922b9c2fefe9a66b919823970be95bb12c6619498228bec78db0739a5b1c93654a2aad73851355a0485a52c3896c3527964e88727c3805eec01a65cca1fec8466aa44bbac56e53895251892b6355c5e39953f680683ff72e0968867b536c11a33470f8ac74870d996557981711e5d0abc65c671f423ee4b67771055952b54df8934f0b6980779abe207c4f8ce1cf17bbbd90b24d1ff875109366a4270202036a0796146cc8ba70712f98b042b301c5143a6143e01b79b2af3a944100eba87da1725743c370d85894892469c00a95f3866726138c2099b9b6c47ce9b9630222c7656623260d8500b4d7752b6779af5b5b858016057f545175f61477476e3a02aca3d1485e0882b305c9f956908da84ebd8083ed26b8b2b8b50a347a4cda722bdc6ffc2b9043491da64b0fd0a39b7f1550186a0038e07598d6887e6c8c2800288b1c9a45a66233049d77d912b1fb50fc119b0b7455c8d90a3edcb046f2064d401c8f108b833caaae5573a10b9fd1775ab90226d8a32088ac614e9b20737c88dda963d0e77c7c592179b4030881987421a886ac7a422c98b6d51c53d8c1027c84881491994cc84e9b1185b3425758bbb1e305a1103ff6989c633a5697a97e5dcb94e7191d9a47330ecc60acf85083559d507a77f7033965a0859fd6306d27c0ed2b35e7b3444d957a52010ac49a8851952f6061ad551b7c74814606510a0bd19d9ee7998310c74ef507902cc71103134a411f90da122fe72fd14448dea00932977c0f27628f092da3ac07d901c2c3613d22d48ad6376ac1d008c7d19a31623ebc616e4fc3887d68c033bc3ec0e5840d415f6fd2c15355c223da1c45289315cc945aa39ae7498767eb3a6692b2a0ca6e7bc73a5d97644703aba392b5d386849f91bcc7f5691f295a267ac0c1fb84e5e31c94ab020e351ae410840e4198e417b8f397aa33f88114030b07d5c702c6ab64bb7df7276f593ab3d133232c919dbd06b6df756258b25c7132bf03c62077084ce937ce829b0172810b92d45892f335d02d36153217d5db379b621e416a54ce8071dfda35f639a04b143c4467b507971523509bf97d2bdd733ad9eb94f312e4226d036e8fe827a20533284fdcb2d2a697d75e985aa43fae0df266a8056c18cb0bbb52b4ec89d66c21e8 +m = 630f384162dd6f8206cb36d2278af30ccdfc73105029dd507a18ad433503cd7d +ct = aa403b1d6e3e4f1c8428baa6b2ad630a6ba454924b2c41f0a91d6bb4cf29fa5b51f211c7e969e181baa52d77d1ec5473dc7832e9191dcef35eb79710ac0e4c9d500d16eedb619caa84ea58d4ca743e2a3f5e6a92a502aae4731e235f04d8d3f15d5a7e148b1dc535781ae85d9d1e2b74f48eff673b1fbb0a36fb5a9c1c2ffb99668aa8d25bc0915a7366589ff2843760c9c1f0186c6fecd325bd1fb2f6dd86ea91898fa6c205ab0a83a7ce6d176952ab77f9daa39e7021688580489718b9d245f8f5e656935c1503b1e04330b6a7512160e09d3fce39f2a6ffc424cda2db2870590e9e8e333aa7356967f233ec4663b7d59af70f37530fadf03224830a05240f558c996aefaf0248fef49313b58c77fa888f640d91e1cfd7caea4a6aa51cbb0f198ac79e563eca4d39920fc4ae89feb62a9eac30717cdbb63954153453bb817c9490c11f7c441b7526fd1327aee3c847b80bf340f7208b10d3836fd583c3ea1d367e962cf87d2d8bc0bc3039480afe9e6b889a85baa8884b47d8110531d4ed88e34aa008f921c61d06b9a020c41ca82b1341621a8c017552f0f96f78cc8f4345a4281c56133cf74b5fbee71f988cf9bc9fc0b7c0e2fd20480e7e1cddca25e2b8de62bf577ed1c1475cf77f621296bae2d011e62e8f546618e27da50dbce0281fe455b06b0972407075e67eab22abdeb1b0f7ef5ac3600eb9754138013a1eb5b232025faa56901a745e6de4b4b0272caeeb21f3b1631bfb32220e348d24915527496a1b9beced4836dd5cb976eb74c7920ffdec5aff6eb23911026923ada10ed2158d595f55e903ef0f26ee2dfa9a9217621605fcda354871efb41ad6ecc298e52b7e64dba1fecf8b4afcdbd2255845780cebaf01e9c99d599289547adba847e12f8e764f8fa4af24c9d1369aac1c15e2557cdb15ca43cfe45ae9dda493fa39a1fe2239839945d7e1c729fb1091014eb0ac78a7381ad4f13e65f4ca679199322dbeaced071088e621b0e36bde81bf75940fa8c144c48beadfb281d44264281b53c4433f9e164b9254f3860448a26f45269fa402cfba43d7856449f210b424b8cb2f86fe565efa3f497e889a9eb10e763a748f4b734e318dc11d7d8728086b43c7453b9d1c36145747aaa07720781eba77b95218667779686c7dad1109d31b96ee88ae68c76323021e0c8cda4da5f8c3061b25b1bd2f55f105e840423506db992e45caa171766c2a26a0d6418ce7509cc9f092b92f3d0175f30e4b2e58cb209a04a05d3c56b67453c10caaea09d9ecdf0b6c2739b5cd19055b9ab1106fb0671b7506c275f3eedb72d2acc4ec6c69f7acaa9a1dfb686aae876d3e36c792c3f7510595f0c2f8aebf6c8091d655fa30bc9156d4572a6564fd06e31b03c1d379bea466837dff9c71a628e3dd1bdecefd7b7fdb90956e98d465bd79a93658302f8bc2523335903a66beae524ffe9f89d08de98679ea0a495bf427f44873c0325d5daeacff8b10ea1b79a1a1ffe94f2bc9fd7b9a79fcd5cdf1ee0baa0f60a0b974cd3cdb0c598995bc8281c41cd68eee0c0ee4789fb9fec2ac00adc3663fc9e1e915fb52f5b94192453bdedfbe14887f8843f5e35fdbc4e96afceb4993a2fba41a81a45df97a73b2c35d61db3965789039997896ee9d06ced3075a3668f680e969c03474f4afd6dac17e8111916a86c2bcde216df4950a3534436bc00a97f3da6e51a34c5c78d1af4d910ccda10acdde751d6d6678ed629f7df740ac0e1608c0ba3eea46ba4fc13d22f3aba171264f995578c898f8bdc8a7e150d3e96a2dbdd988087c6ede8939a42cab2451f7cdbc2870eb9a04bcfd02210a2853885203dd0c752102c92072a095588a54cb6e4f42cf9768b74ba0b18eec985b40b7618adf4be7a1b4b9a163c4ce7501d36273b6abe92e7cdf944f2f95b4b9a03363e3eaec7a22e8d87a9e0ddc045ac50313a03a57bbb333d04900e19f5f035582010901e5bfe5477c19c4a1cfe846523c7457df9503eb8c9fbefc7425e683f337ed8c1e528d1b74f30529bcea3f24130dec1c4f72ddfe12d73de34c8171a402153b8eda1e19dc8572a65204328585b18d27693e9f039045f6ff0a009ae55cd226fe991b319f8e8e7607d91eed7d55a73577698526ce3c2c40743f4565bfaab0c6209f831aa063feca8658fd7788f903b45e1d3d099facf7005cff1fce8261831f65f4afae86d9e93c6b +ss = 99bab62285afa02370de3f80baf42b5085dbad03b5dd2891014ee4c86bdb0161 d = 6a1aee5e708c1b47f02bdacce4f56c860f74fc7cfec1ef3b58285b1c8ad7fec2 -z = 230e05b7114ff0395cc6634db1eae8258072d09c09f291e92d6620b177dc50d7 +z = 11fe1ebbd66174798908aeaa16d79212e61d5c30364864fc1e09f1b20f296c11 pk = f72bbedf8059fa51188fe16e54b22f88a59ed8a92d72188f1b687222500dbe642699493dc08c97b6a13e640b51f2173cc8a417be58077803627a7c9bb2a7b96e9596e3d96c74f03926387f34c448eaf5885eab4a52945333fca41dc4ac4ca83db05a5a5d54789e02664ee7552ce5b4c3e16af4299c775a4dc322ab9ee16d65a1298294adef821e94a5119e713175b69f03f941f7c56f565439f1e24f663987d65b00bf899495d5c2f178812ee73387a1627f98029344928e5c9100c50f87cb6f99b27e3ec7635c6b132e0b81229807e4d9903a2c5ab8985ddef435fc8462f67a6c01d2188d731412262392acb98fc49e4cbca7acf522a8d385dff01fd02c4be4b878bff659aac05a8fbbcc1565a53cc36af88b41a1a3a18b04c728b1b66a7698be968db6f0bb00f1665088cdd4e3464e34261e72748705b5b7ea5e4c02289365a56739a4ee34a5dbd5509ec297c12a26ed1116929a8eb4793248bb78a1c21d981733ec874eccd2c9b4bb530c4b6b10e136e764af55059da3da93b79076aea089818210bd076e2a8a49a5032405a857baf295e7868bd82c958c90474bc4403e62b85201061b7bb6ac533e96870ad0d7b9f8e6a835e6c6cb4c8437489448a273e576b91ae8062e411593b4c541098185198e49c0790db516adbc2852a220725a5d50d47333ac058325b61325840634140bfb7af0110b34fb408749998df156668634b775965f05aef99713d1f5bdfc5302337b1c041448f5b09af8c5560076ae90ea3d2dbc39bcbc8e9ad26981563ec254a5f3d97220ecb6c5e76706ba933766766024839579868ba43b691496f6bc49199c2c35e35d6107ac61744df910c021591d6df53e4358487f26b4d4060958095fe464ca2703394d885625806106ea31173017f4f0594550bab828993d55628aca5955f61f4e4b316a8aa9971c65813949a16828b5792ad841772aa1b85314527ebc2e6d6351deba9429e43e7fb4991fcc98c67aa6f3287a6eb9485b8064fc585ab8c2af6212441a763540f7af3d8a8620c6cf40ba81a914ca28a8265248673d731432ec9c70e083be49816098494e6994b385b509397198e2a50c76a8949c25ecc9849ed45d59c966444313d5f0419abc929b8ba51a2a49589978a0e29c680c07b9cab2be0035a06c18d561b9b0e862a2957d5d41a0a63c4be99c1d50f76ce57862b4f61cb42591f17ab1e85c1ca2dac3f746940c001d64d81dd0889629d60727d5a5fd8ab7549b439d66a30316883da6455dc023e6e702fb4742a82a101f60cd8f3a29d3d88c7e418c3d30803a541d6ce1aedfa540371c846c672753a858b39b5880d69b8d525c6d57522bb6530cd7a4edb7730cf720541454cab59595e8a5d6302249300a6fc2180eb31ba43398a2a18adca92af2a686c20454fa8a1864d73c0b91167b6b4730c2b67c55b425e92c663465b7f7a1d2163f7d7a8a08a962fa0149cf2ba8c4066cae7c0a22a989ddea22a5311ee5d895eea9a5416739f810ad5ac901471a72aa78956b5183b194b26c361219401aefdc49b6ab481be838f85290a0d96060d68e5fc71358a924b95225070c6283b401296698310bce2f1b7c8a531e84f625585429ad3394fc04bcd8a200834cbb9c9b9a8c83601fdcaca281a93f47c6e32c133414ce71f32e60fc52b4c07a1402c3932056fc3323ea2241a6484e6a074676996e5962867a61cdffe8811764953004cc9c3697e78ab5d156cb952b1c53ec674781792ac831d6e20b5b29c3b064520fd5968bb351a401646ae3267522c234a8404b02529da182b473051bea4b971b170d03aa378877fa47bb60f1c1e3519110121bd58b17ae373be2d21fc6d7ab2ee2085f4a194fa7717ec83f6c144e256807aa921c32b843aeda0a5cf85773b77efc579a677816cc998970911152d091f21733dd1c0fab31808f2a3a64fa783efc2e4a252b56548fb38bba8625b9d4a8aa6a57786f1c9e1dc49dd7686399494277961e67e555cd6c7c4a630fdd897cf61c9c5779594974088a2b415806b520503ebb416481e87a062582a479b3e05b9413aa2c7af59c5a9c5034722f43032f0d6428f8425f4cda38876ac45ba2137fbc56209823b05abbc00aa9e6a307bb164fe0413311f22be44244aee55268da3135ea5996f7cc3f51856610ca68310dfc13a12e8459454d36096c3ba38e979a3d4c852032429bfe1e663e0c256c2e93 -sk = d809438c90aea78b897a528534fb009d716de8d513d32168a1537489e52255d00f49c424bf5b5db0e15a3a9b9845eccf287776f9700ff5bb7ab9f40ffeab7f148a9633546846b672cda9ab8a37c8f9711b76474e7975ab7e16675a8626f8648b605066a4fb4a5c255a0a39387b03bb7f618c9ed1b37e488d4b7175b593860f6c97d637a2d8761d3b933291b2ccfa6bacc4dcc4ddbca804c7c55edb9fc5abb503036059da4d2929447cab1bb1cb746ab01293a2b2f2638beb06030d476bcd2c335dd5226b7450f8b5b2b130332dc9210640c10daa5faac16c1381c2a0c4aae3174be4faa53ca9cbf29769084715d6f8c163a0185030b0c7c9621336a9875946fbb73bda9774c07615711451f5594a44313878204c291ab7550aaf981409d4d7cbee727ba689400dab7382605f03873f38566421a354b59a3b48bc8f62a09519d932af5800a9a0c6efd5783bd93483a0aaac7853c890c3ba18835d1a2e8f14bd0768cc7d0b951909825c988648f797f5711fbc654380e661bbc41cf89b088e1410f19669aef65fd817564a4a4f40281b5e16a69be2b503495a4b6b680a08a54fe0b80ae668041aa120c7a363e38aaf2156cee293bfd4396dcc503646acb74b9460142e4476807c058d72c9610e3cbb50a29ed7244419c2c258659b3a8a23e7e69a3047298378424b7a12df3cce34f1364732b292b105eee6a487126815bc0013d66fb7099efd4931e4301d570bcf2facba0b433b9a03147242c298052650416651db690ce81c268381032b17c429a8e418b7e2bb63d30b570da588cbc36dc3798c65f81ef05530b9043310e182e88bb3e58356de408898738c9b3c457faca42b9b81ed7c4118869d5153338ef4260006c6be294b528c779bd6c8ffcb16e2aab439d3032b8ac45216282346200cf1c812033a4f9667af842481d807f92245bb322e04343971a656087cca8ce9bd3117013ae816ba745888a4ad51a167a17482ee5b88b0bba455a565b1d97bd3b9beeaeac0b4f2879a727028d4a1c61900d0770f15451a01964366d8a6ad1b5bc520392d43bca270ccf9a72df3d68b955c4bed0352b3f78151c4716512097bc92f2cf0a2560923d01358ab1b5f8b7bc687f5c110b04c6512372f119fb23bb852398a6f599f4d145a8afabaf8ac8726abaee569c4579b494a01c67e232b93080d5df1542dd59f21760a24747e98e26466280c04d1784d9b581b4cabcac1c3dde1ca8e00588e0732f76b99ec844032d99ef65c8a9ef4a661e78a47b0542b3129e850647862132c208cb9b3986eb5b510ea1854300ee966b0d3bc09922260ffc96b894a181a95a41f1bb3acb2572475b3fe8933fe3902c965678b95512289cfbac30a2b159b8f2b3535e40881d81c204cba9080b9a7b23190965eb660754368955c0c7929e9447b92ac78e7867c1b4770596047fa820c03a11caa3c2ba48120e29ad46c289920222c511c9e18343ab20067f926435c6d6b040955f9394601b805e38a751bc8a1853fc05857eae658a8a7cad729373e73253e7728fdca89e347bbfc48a7bafa48cb167111367f40c93bf71ccf208a891c383ba3b593f2663148d779ed82b23f4b6796209d51425e9168cb22224f39f069d4bbbb07a395d3633b71c81a238aa549b107530519119262fe4052cab4215647c0c2ca573efbce84881b45279dbb0845dac9ce5ca807666a76c2a18dc4a39a09234095d426ac769dc4d5584d9473705477c2373bcaec3eb1b911e8f9cdc581c2cd330f0a2ca0f937204323447d2328591761e3c093b8dc35249118015cafcf6bbb98626e43eb12f97b12a1c158cd473bba2b3d2aeba488859d64120a668a6be0f30a6d76211c2576be6a95654621eab6541b65c956bc51e0117306873ede094169a956e50c9f453834a6f5b4f4e7bf3d644284ab2057b653d40479cfb63679e2b50e6975dd839100e1888cc35dbc461a7bc248b5b756d10338cf68c4b8ea281493c9c7fb4d1504ac3478ce8cfa7100cd6411fc74bf054d6932a41d234eff8ba54f72b4ebc52ef605cee08358ad5bab7a0966d8b36b2573387c587196a72be1e47132d6b3bb92241e735b47aba99d28797b6382adb0263d6817dbbb71d46a17c43a63748a3f34873d19497c49515fa8b4ae5c588bdacc234f9a74ae67734d14b7f72bbedf8059fa51188fe16e54b22f88a59ed8a92d72188f1b687222500dbe642699493dc08c97b6a13e640b51f2173cc8a417be58077803627a7c9bb2a7b96e9596e3d96c74f03926387f34c448eaf5885eab4a52945333fca41dc4ac4ca83db05a5a5d54789e02664ee7552ce5b4c3e16af4299c775a4dc322ab9ee16d65a1298294adef821e94a5119e713175b69f03f941f7c56f565439f1e24f663987d65b00bf899495d5c2f178812ee73387a1627f98029344928e5c9100c50f87cb6f99b27e3ec7635c6b132e0b81229807e4d9903a2c5ab8985ddef435fc8462f67a6c01d2188d731412262392acb98fc49e4cbca7acf522a8d385dff01fd02c4be4b878bff659aac05a8fbbcc1565a53cc36af88b41a1a3a18b04c728b1b66a7698be968db6f0bb00f1665088cdd4e3464e34261e72748705b5b7ea5e4c02289365a56739a4ee34a5dbd5509ec297c12a26ed1116929a8eb4793248bb78a1c21d981733ec874eccd2c9b4bb530c4b6b10e136e764af55059da3da93b79076aea089818210bd076e2a8a49a5032405a857baf295e7868bd82c958c90474bc4403e62b85201061b7bb6ac533e96870ad0d7b9f8e6a835e6c6cb4c8437489448a273e576b91ae8062e411593b4c541098185198e49c0790db516adbc2852a220725a5d50d47333ac058325b61325840634140bfb7af0110b34fb408749998df156668634b775965f05aef99713d1f5bdfc5302337b1c041448f5b09af8c5560076ae90ea3d2dbc39bcbc8e9ad26981563ec254a5f3d97220ecb6c5e76706ba933766766024839579868ba43b691496f6bc49199c2c35e35d6107ac61744df910c021591d6df53e4358487f26b4d4060958095fe464ca2703394d885625806106ea31173017f4f0594550bab828993d55628aca5955f61f4e4b316a8aa9971c65813949a16828b5792ad841772aa1b85314527ebc2e6d6351deba9429e43e7fb4991fcc98c67aa6f3287a6eb9485b8064fc585ab8c2af6212441a763540f7af3d8a8620c6cf40ba81a914ca28a8265248673d731432ec9c70e083be49816098494e6994b385b509397198e2a50c76a8949c25ecc9849ed45d59c966444313d5f0419abc929b8ba51a2a49589978a0e29c680c07b9cab2be0035a06c18d561b9b0e862a2957d5d41a0a63c4be99c1d50f76ce57862b4f61cb42591f17ab1e85c1ca2dac3f746940c001d64d81dd0889629d60727d5a5fd8ab7549b439d66a30316883da6455dc023e6e702fb4742a82a101f60cd8f3a29d3d88c7e418c3d30803a541d6ce1aedfa540371c846c672753a858b39b5880d69b8d525c6d57522bb6530cd7a4edb7730cf720541454cab59595e8a5d6302249300a6fc2180eb31ba43398a2a18adca92af2a686c20454fa8a1864d73c0b91167b6b4730c2b67c55b425e92c663465b7f7a1d2163f7d7a8a08a962fa0149cf2ba8c4066cae7c0a22a989ddea22a5311ee5d895eea9a5416739f810ad5ac901471a72aa78956b5183b194b26c361219401aefdc49b6ab481be838f85290a0d96060d68e5fc71358a924b95225070c6283b401296698310bce2f1b7c8a531e84f625585429ad3394fc04bcd8a200834cbb9c9b9a8c83601fdcaca281a93f47c6e32c133414ce71f32e60fc52b4c07a1402c3932056fc3323ea2241a6484e6a074676996e5962867a61cdffe8811764953004cc9c3697e78ab5d156cb952b1c53ec674781792ac831d6e20b5b29c3b064520fd5968bb351a401646ae3267522c234a8404b02529da182b473051bea4b971b170d03aa378877fa47bb60f1c1e3519110121bd58b17ae373be2d21fc6d7ab2ee2085f4a194fa7717ec83f6c144e256807aa921c32b843aeda0a5cf85773b77efc579a677816cc998970911152d091f21733dd1c0fab31808f2a3a64fa783efc2e4a252b56548fb38bba8625b9d4a8aa6a57786f1c9e1dc49dd7686399494277961e67e555cd6c7c4a630fdd897cf61c9c5779594974088a2b415806b520503ebb416481e87a062582a479b3e05b9413aa2c7af59c5a9c5034722f43032f0d6428f8425f4cda38876ac45ba2137fbc56209823b05abbc00aa9e6a307bb164fe0413311f22be44244aee55268da3135ea5996f7cc3f51856610ca68310dfc13a12e8459454d36096c3ba38e979a3d4c852032429bfe1e663e0c256c2e9369ffbf2275f12c29cbb69f90a8c881721ce39b49dbba550ab93a2c4c94bfc669230e05b7114ff0395cc6634db1eae8258072d09c09f291e92d6620b177dc50d7 -m = 52b19fea232c9154a3e431e9d69cda40013cf2d485c3cd027ad24e645420420b -ct = 117a74cabd9cd331c3ca13c885108ec1a91d6d4c71bf1bbd1d51ea9d624e43a6a66006577405b68e6d67452fe1b19bef2a084bf29ea010a7346ccc17a92e261848ece4efb47e02c06038a30d3eb1e9dacf1d6f27152f0a8ad6704a22b82ae256d0e0d38376fce84ad3bde8d31b0ec32ad110b10499aad9d1e451ce21c146b5612e0580c3f3f3247ca7252fb03d54e5a8ade28718a57588e26ec8692de62a01ddb99dd19f42acaf1213baca14cb5248328d44d95fd4cf038c9f9b0d9fcb7c8481742baa01902ecc8568561708df1f273c0f9322ac3d7f65ac0daa4a66318721003ad77879ccb2fbe64ced216e405f94e771d6729865a69c2eb501b71da438d8c0df3854acb6e795d661f1b181cce86a8f413275f4e128475ee1650a7186010fe7881509af3bfa0b9b190bec274bb1014c5f7ad3b5ca9ad330dbd6f99c4b6b5344388b0d83824808285ba6356b1270b9f4280ffce7d2bb82e2b236cb8d9663a13b5cf8242b1c964ac9e28a16004359c5384058bb6d6bc43d0730d0949208d888e54fec6d59839235a42755448d8306a10da901672f482ca4857a6151c401b4f523f1e5c9261af0f0a91322003cd8a63b74f74ed186e581b1bdaf426a39a9a673d220d01d0cb6c9d6738999ee568ac9da58eb72d6db1f2fb75c3dcbceb4d175b24b5a9338baf1ef86cfa8d556ace5a06b84e810d428bd61db28ef11128f2f45f6ee6d03e6f7e8b51c637b48ebdd29c0ea60c2fa8cedd281b8253bca0d3a81eedc6404391089a6b977fa9834dae76efffb03d10d8c24a6b60f7194c55727127c398d6550abb1ff5213f7315c2e7c49961d7af82c7b71af65a3ecfa92e9e5536230c2a40274f2f1e21a8dbcbc14eaaa2f7feedfc554cd85d910f9e7faf45ee220d78dd8521fb243146f70e2e0a82b39ee37c7ddb66d62fcad2c34dbb84490376478890dc940ea298db63887d1abe2461e7c3c616d05001439b93b2a8154fb4be2b24f80548aa22ad663dc8f1746da6ee31d18ef34e28255258393f5efed31474fb3e3c18cd48d067d4cb4e5ab8f9873d39331be35e3a4237350ea9c29d8504ae881deb9f41fca88c810424a72881a867bab4f0a2af4fb5a7bd039b96bef5cb913837b599731a7188c7028e7e3905a37f076f64f3e94e5471b2b661b31ac4cfe233f34bddd6578e6567c14a94b3a8dc9c4a2413528ee84bfa6970cb430bd0cf6ce78501a436f09a1836d037acbd5bb0af2383f2cb5a70c219412ede8a72c6a8ee5a89952977610da792e5b567f38d847aa5023755d0a74cdbbd2007e5e8e4d3936b820a43e1be568502c816852c2b9cb9cb308d0f1108390dc906cbfe87e6c69d0edc485c18a9edefb31936dec6324cb7581276d594c7dbb2f82dc605c40ea1b52f2ea8c78b606db3276d05397c5f36ceafdb5e01c789318056aae81f374b2b62cd55b3e0e92b47f0bf3214d069ad4f42c3ffda0cd5e8f71f3263cea62ae2066b8efa6dfb62738dd6bfb04105265e071b07ebd073c4be25e7dcb20ab3195b2b7d6cc497f2dda6593d6461e7c04626c8cbd8650250288cf87fe9336e86788371eda31b61640d624bffbd1d64bca390f5990c48fcc6e00cf6aea2d2ceea2f437c3aa9a3922b692b8a95c9f0a2f7ff5694624087a2f1388fb2bb28875c3a0da348e8ae099e5a9b078fdd8d7bdbefaeaca808ca8240a3476d45be8976fa45dfa7467d9e000aaf47978185b58932f37f8f266ad6be7c4d61c89c2df0db8d485d927d0c8c923304d85e5ecc8c1c291f93430e165a2f21ca891eda09e38efdddda3cdbb0bcb3af5958c6d970b16bfd001e5a97435a1af34c0b52e91278541a872ce4d51146867943aae02013ee12ae7f21eb16a28ac5adcba65d603a5d96fc21424b5d847471b5817b731d54322e66ff1054c3874227709513a6e616aaefaa6fba56c9d87001ca257a18cd653c9ba981a5eeb8871950c395f71377e393ffbf6c509691318b4aac52c37e5959e38c5e616aa94b7d5eefae7f85bec8c69be200f9dbc0132fa91512dddf5bdc57a5c25a644b6dbca15863c27d7dd4d6dac52c9b9902ceb107ec107b6b5fd99ee32ccbb72add0ffe717a7df0dcb54bd998245245daff8889298211606015f7dcff67905d54f46492fd7e33132ef93c1ce30640121ce18cc09ff9ec5567e699997899d2d10166ce6ff981d8cb4cb992d62a1f37f9511b0560040d14e -ss = f250a12d405bd1dca852db3cbbe1ab43c09ac9e319fe61f6cbf2d19af0a968f6 +sk = d809438c90aea78b897a528534fb009d716de8d513d32168a1537489e52255d00f49c424bf5b5db0e15a3a9b9845eccf287776f9700ff5bb7ab9f40ffeab7f148a9633546846b672cda9ab8a37c8f9711b76474e7975ab7e16675a8626f8648b605066a4fb4a5c255a0a39387b03bb7f618c9ed1b37e488d4b7175b593860f6c97d637a2d8761d3b933291b2ccfa6bacc4dcc4ddbca804c7c55edb9fc5abb503036059da4d2929447cab1bb1cb746ab01293a2b2f2638beb06030d476bcd2c335dd5226b7450f8b5b2b130332dc9210640c10daa5faac16c1381c2a0c4aae3174be4faa53ca9cbf29769084715d6f8c163a0185030b0c7c9621336a9875946fbb73bda9774c07615711451f5594a44313878204c291ab7550aaf981409d4d7cbee727ba689400dab7382605f03873f38566421a354b59a3b48bc8f62a09519d932af5800a9a0c6efd5783bd93483a0aaac7853c890c3ba18835d1a2e8f14bd0768cc7d0b951909825c988648f797f5711fbc654380e661bbc41cf89b088e1410f19669aef65fd817564a4a4f40281b5e16a69be2b503495a4b6b680a08a54fe0b80ae668041aa120c7a363e38aaf2156cee293bfd4396dcc503646acb74b9460142e4476807c058d72c9610e3cbb50a29ed7244419c2c258659b3a8a23e7e69a3047298378424b7a12df3cce34f1364732b292b105eee6a487126815bc0013d66fb7099efd4931e4301d570bcf2facba0b433b9a03147242c298052650416651db690ce81c268381032b17c429a8e418b7e2bb63d30b570da588cbc36dc3798c65f81ef05530b9043310e182e88bb3e58356de408898738c9b3c457faca42b9b81ed7c4118869d5153338ef4260006c6be294b528c779bd6c8ffcb16e2aab439d3032b8ac45216282346200cf1c812033a4f9667af842481d807f92245bb322e04343971a656087cca8ce9bd3117013ae816ba745888a4ad51a167a17482ee5b88b0bba455a565b1d97bd3b9beeaeac0b4f2879a727028d4a1c61900d0770f15451a01964366d8a6ad1b5bc520392d43bca270ccf9a72df3d68b955c4bed0352b3f78151c4716512097bc92f2cf0a2560923d01358ab1b5f8b7bc687f5c110b04c6512372f119fb23bb852398a6f599f4d145a8afabaf8ac8726abaee569c4579b494a01c67e232b93080d5df1542dd59f21760a24747e98e26466280c04d1784d9b581b4cabcac1c3dde1ca8e00588e0732f76b99ec844032d99ef65c8a9ef4a661e78a47b0542b3129e850647862132c208cb9b3986eb5b510ea1854300ee966b0d3bc09922260ffc96b894a181a95a41f1bb3acb2572475b3fe8933fe3902c965678b95512289cfbac30a2b159b8f2b3535e40881d81c204cba9080b9a7b23190965eb660754368955c0c7929e9447b92ac78e7867c1b4770596047fa820c03a11caa3c2ba48120e29ad46c289920222c511c9e18343ab20067f926435c6d6b040955f9394601b805e38a751bc8a1853fc05857eae658a8a7cad729373e73253e7728fdca89e347bbfc48a7bafa48cb167111367f40c93bf71ccf208a891c383ba3b593f2663148d779ed82b23f4b6796209d51425e9168cb22224f39f069d4bbbb07a395d3633b71c81a238aa549b107530519119262fe4052cab4215647c0c2ca573efbce84881b45279dbb0845dac9ce5ca807666a76c2a18dc4a39a09234095d426ac769dc4d5584d9473705477c2373bcaec3eb1b911e8f9cdc581c2cd330f0a2ca0f937204323447d2328591761e3c093b8dc35249118015cafcf6bbb98626e43eb12f97b12a1c158cd473bba2b3d2aeba488859d64120a668a6be0f30a6d76211c2576be6a95654621eab6541b65c956bc51e0117306873ede094169a956e50c9f453834a6f5b4f4e7bf3d644284ab2057b653d40479cfb63679e2b50e6975dd839100e1888cc35dbc461a7bc248b5b756d10338cf68c4b8ea281493c9c7fb4d1504ac3478ce8cfa7100cd6411fc74bf054d6932a41d234eff8ba54f72b4ebc52ef605cee08358ad5bab7a0966d8b36b2573387c587196a72be1e47132d6b3bb92241e735b47aba99d28797b6382adb0263d6817dbbb71d46a17c43a63748a3f34873d19497c49515fa8b4ae5c588bdacc234f9a74ae67734d14b7f72bbedf8059fa51188fe16e54b22f88a59ed8a92d72188f1b687222500dbe642699493dc08c97b6a13e640b51f2173cc8a417be58077803627a7c9bb2a7b96e9596e3d96c74f03926387f34c448eaf5885eab4a52945333fca41dc4ac4ca83db05a5a5d54789e02664ee7552ce5b4c3e16af4299c775a4dc322ab9ee16d65a1298294adef821e94a5119e713175b69f03f941f7c56f565439f1e24f663987d65b00bf899495d5c2f178812ee73387a1627f98029344928e5c9100c50f87cb6f99b27e3ec7635c6b132e0b81229807e4d9903a2c5ab8985ddef435fc8462f67a6c01d2188d731412262392acb98fc49e4cbca7acf522a8d385dff01fd02c4be4b878bff659aac05a8fbbcc1565a53cc36af88b41a1a3a18b04c728b1b66a7698be968db6f0bb00f1665088cdd4e3464e34261e72748705b5b7ea5e4c02289365a56739a4ee34a5dbd5509ec297c12a26ed1116929a8eb4793248bb78a1c21d981733ec874eccd2c9b4bb530c4b6b10e136e764af55059da3da93b79076aea089818210bd076e2a8a49a5032405a857baf295e7868bd82c958c90474bc4403e62b85201061b7bb6ac533e96870ad0d7b9f8e6a835e6c6cb4c8437489448a273e576b91ae8062e411593b4c541098185198e49c0790db516adbc2852a220725a5d50d47333ac058325b61325840634140bfb7af0110b34fb408749998df156668634b775965f05aef99713d1f5bdfc5302337b1c041448f5b09af8c5560076ae90ea3d2dbc39bcbc8e9ad26981563ec254a5f3d97220ecb6c5e76706ba933766766024839579868ba43b691496f6bc49199c2c35e35d6107ac61744df910c021591d6df53e4358487f26b4d4060958095fe464ca2703394d885625806106ea31173017f4f0594550bab828993d55628aca5955f61f4e4b316a8aa9971c65813949a16828b5792ad841772aa1b85314527ebc2e6d6351deba9429e43e7fb4991fcc98c67aa6f3287a6eb9485b8064fc585ab8c2af6212441a763540f7af3d8a8620c6cf40ba81a914ca28a8265248673d731432ec9c70e083be49816098494e6994b385b509397198e2a50c76a8949c25ecc9849ed45d59c966444313d5f0419abc929b8ba51a2a49589978a0e29c680c07b9cab2be0035a06c18d561b9b0e862a2957d5d41a0a63c4be99c1d50f76ce57862b4f61cb42591f17ab1e85c1ca2dac3f746940c001d64d81dd0889629d60727d5a5fd8ab7549b439d66a30316883da6455dc023e6e702fb4742a82a101f60cd8f3a29d3d88c7e418c3d30803a541d6ce1aedfa540371c846c672753a858b39b5880d69b8d525c6d57522bb6530cd7a4edb7730cf720541454cab59595e8a5d6302249300a6fc2180eb31ba43398a2a18adca92af2a686c20454fa8a1864d73c0b91167b6b4730c2b67c55b425e92c663465b7f7a1d2163f7d7a8a08a962fa0149cf2ba8c4066cae7c0a22a989ddea22a5311ee5d895eea9a5416739f810ad5ac901471a72aa78956b5183b194b26c361219401aefdc49b6ab481be838f85290a0d96060d68e5fc71358a924b95225070c6283b401296698310bce2f1b7c8a531e84f625585429ad3394fc04bcd8a200834cbb9c9b9a8c83601fdcaca281a93f47c6e32c133414ce71f32e60fc52b4c07a1402c3932056fc3323ea2241a6484e6a074676996e5962867a61cdffe8811764953004cc9c3697e78ab5d156cb952b1c53ec674781792ac831d6e20b5b29c3b064520fd5968bb351a401646ae3267522c234a8404b02529da182b473051bea4b971b170d03aa378877fa47bb60f1c1e3519110121bd58b17ae373be2d21fc6d7ab2ee2085f4a194fa7717ec83f6c144e256807aa921c32b843aeda0a5cf85773b77efc579a677816cc998970911152d091f21733dd1c0fab31808f2a3a64fa783efc2e4a252b56548fb38bba8625b9d4a8aa6a57786f1c9e1dc49dd7686399494277961e67e555cd6c7c4a630fdd897cf61c9c5779594974088a2b415806b520503ebb416481e87a062582a479b3e05b9413aa2c7af59c5a9c5034722f43032f0d6428f8425f4cda38876ac45ba2137fbc56209823b05abbc00aa9e6a307bb164fe0413311f22be44244aee55268da3135ea5996f7cc3f51856610ca68310dfc13a12e8459454d36096c3ba38e979a3d4c852032429bfe1e663e0c256c2e9369ffbf2275f12c29cbb69f90a8c881721ce39b49dbba550ab93a2c4c94bfc66911fe1ebbd66174798908aeaa16d79212e61d5c30364864fc1e09f1b20f296c11 +m = a0f6aa73a5d09451a39087fd84f6872ce2ef031e6c02468b433362311346fb42 +ct = 58874a224f1ee2599f2ae6a760498dca73b38ded6a8824397d9acc9cc85936c880e4440ec43c1664188d196a715f72bde942ee2cd2da82ed4dec8b792b24382650905dac1d3b80fe17c99cbf4e1c5a26dab50a7d301dfaeb1d2c25ea3c016222428d39c6910e989fda11499859e941182e732002b2d36477a2bc83568306f723ac35af942edd92895dc7b7476feeb2f8a57352034a1cd7067423c789f6abcb672dfe92c8a7664dc0d92cabbe44b8e05b7e64600887d5cc47342f9b3a068d4458ecf5b5ffb973fc90754d80f541eee0d7cf343f18bc70684a2a24ba233e563a59ce3a76d2f655b59fcf19b1f48b631611501b7a00bd9fc931b9bbf0bf7419e73aad10c1628d2d86d830efb99be2a0abd5b4677a62ef85ab8dbd832b7414aa4e01592423fb721e33d7797b3bd9e3c1ccdf5a43ead7f43963cedd6fbe7c6e4531c29ba51abff001450121e3788bb6fcfeaba42efc31fc1b8bb971095e0dee1044a60718383fad2bfec645dbe3315a39573063974e4aab3fa9f60bde3220912f2aad6703839297697219397f0da928d1bc845ebc5461600a9e2910eda5826c37789122deb22928f938a4ad6417316e0d9d56fcb0ca7007b7afadeaaaa3a2c5c18a060eb95e3acb8ee2392dc0e361f3c91719345e67a29d6f23cfa273cf63d63f033dfc2c3a07072d1ced7b35b9eef773cc9596376278e28ab55d49d117470d8e1044b18a4e1bfd22489ba53d3f54277ea417b323bd1533c02278453510b393ca56fedf9a89799ff7b5f8753c4c5720332d6fc34a3ea3b037e23799f0cdcbad7cfa4af0b5d1953b706e7c509ff8ec673c82b6c7402ead9edc761e3e3ef2686d8b2b246dcfdd889c4cef15c35c49224e8e15f4e8c1c6c41ff071df43f18d6b81548d3e797ecf3e693dc6bb9e2b57482ee340b8b05b85d7af73e9110506824f67b5aded29836cf810f39bb7851f65a2093acd10fc03d968a088db6f546646c5ce383a073a3c3813f0a5ac17a0f22288975c34598c1eb4e6608fc0bb8c129ac5171e0ef9acaed54f4286d764ea9118daaefd1fc88a33d2969297e96b5ed6e51591ff0203af78604c6b968c779f1afb800b96b3820b6c72dfc4aad1452e7cd747eef68fade7fb58e24bfb1a5127ba279c278ee48f625a3d9fdc87fbc6c9e8023d4eb344716d7466cc88b596a41fa0dde155c1d7c88ea7d8affe83a6533aa1da458266c7c4bf423d7c6b488609b7fc4ce44b884c787fce63636ac97f7f86d7b95a4a0055a359131e666fbb09f1a629f4c586389361d7a76f5b794aea3ed23fe4379b6aaa34aaa330b87cc88f6dd43f1f48ed5716e6c7082d0ac503c4cce0a96239cd9c7f86c43a78a6d1c5f46fba73b9a9eabeed41cbd1e9d55a22806cb8cdc7de5363c56b286e929094ba2dca277c2f2e4380c520f4e2089a408b19302ae111c0759382e4ef0f52cb4822668ba4301466ece66c96a5f8095ecf38d21d9ae5e0beb661198b20f371cd827d88271fd29c1925884b6b748d2fbe492dfadbf21daf024a839144fe7fd78f79c9d350f1d3e193155c6fd1bc97c9b0174707d8db01ea2ab844fdcace69cee48cf0608498b3973ae083ee9fd1713cb08a1628edf4cfffd381c311975662a016252c9d5a0a79e42cfa22fe2d07a71b75a1486ef759dadf1c18cf7d72340aea4082641584f3646894289905e5d0b8ea7f244258a98fc0dfc4a82a2a0a58003322b89f86d4c895579a7bc896ff84959a9602d96085b320a16db3a001e19c619ca7892429b8199e69257d4d83e6af056ab816f187df3e3ad5c03b0be9f52b24258c90e333a374435481d9d625996361695defbd719c81f82f50e6ed6eda4b10b791076c914f3b29be9f5200805637a4df757bc087afb9596c50191dd6ab6e8cba07297bbd7d513fbafce107fc3387790100d73b3e51afa7caa5bbdd1c6a5172d979ea56503c07f45519555dbeef6d52cc28f2190f048092801913ac2e8bc1cac4b6afdcb376a76403f4a124528e3be6031b4361a6b4faa96d02cf816ed7131a2d1282fb47370e776a02dddea341ef6e9c8c9cd3d1b4da2d128abb0c65ba288cfba03040f3283e85bfb057bc1259bb2371bd30e45d41610178b18bf99259e8a86a08750fa5756726a42a4b2193a3dfa7caccf4f2fa2a488c3a1f594fb76e823d9824b964c86fdee81d9368c18d1557d746adb38ddc00ce370ae894c5f485 +ss = 92a76c3f9b2ca0c7c40a6d941ac2cb6b6c129c401bf41634fcba62fd8a252fab d = 6396b328b100e4c7f4bcae69875edea1a1982421558c608c13c592bf7b5d0fef -z = 1100ced48add211a5c937b8d6079d8e271af3f949edc61f70e60453aef20dea9 +z = bae49824e1a023a302cdf665aec15b60f7f77ab2a0fffd5246d07ae975a0614e pk = b48117f3ab234a4bc2e6b80b05f97f10a508b9ab08c0650fe66185f146b0ef5993629b3f7fb646dc248e0690b77557971f02bafef88a9864c28e885562ea7b54dc217c5521146122aef78cb893a99c1c9621a6b51a43117016a7f2231f2380764dd81162a4433d6ca171062704294030d5a3bb9859a983c6b7f009f130444303932f141f506896fbec852a8a6934e72ad8c038319c58abea4c73319df541ce4086a90976356d001cf6479437b64dbb318f7db813d5034840e23910ec67519c93e9648ebd1b70edc3ac24c983ecc4003cf5b130eb251a6199814c715eb54fcc8ba9cd638a294bc2015c8cd7d28736226863a286dd4c0878345d3885cc4b2acc0ae08a277cc23e397dee84ad6ec2b4d73c520910b4eb4ba447071de01311754060195a37eb701045103b59a94d59131faa1b0a99741bf8b186f44c6f66f76695eca6932647e408966f7ac4b0b8af15f1c4fbe27a2037b6e7fb8f4c6738d1a3aa480a6dded4871e89a9be945113013d02197ba78b0f5f8008ac89b28ad829e5fc2516dbced3192242e074cde7c8e2b11ed1192b25db395f09bfdcec8b1a8671975b692c84714ba3049a636494996143212c54058deb770ba709ceb7659868998d6560c8f4386629331f7fe77dc5f5390443865d1215833c78ff2a6e24e3655ce799f62c3b5f24529c051c28347c3c792fdf8700ec3b6559f8bf6646352d2013bcd704bc2b26c0b8a231acafc7675d0e8a0459770f11d04aa0fa79d6062178ea4beed06057444c4b4a76712201937212de48941f868ff3184a9a700756a59e1297a71c3912cdd40e6f883295d0a62904a4be9350edb4483ee6bd20201d253997d983cacc0a4730a4255824ba9e4b7ca7908ce84a2562ba6db8e38b860671e2654f2c9b669ee9646d683e9f907733423d4b139bbda51e785a86a97103d8e14d645064b6e02a3ac6bd56abbad5cb09f1968fd70a84018692c2866af2b85ef8031b7693444cd1a9ca668bffdc9889053980a88bbbe59c883acad0f00dd7ba954c487b585910a10c95f571c245f0b415261fe348714c288220ea84d8bc524e438f43f29a9d42a8ba8138dfcc264182ae8cd7927d0cd0f5da7c2a321914e84f716836e53025e2ca75c8e34b04092752f1b77e9cb872e742aee71dfe2c1ece8c9fe82bcf56131ee0774076cba525934e21ca0387e43d53624caaacc88af2a59e234e24e262a1201582437656f97cfad4a087c622de1563d2a16758875b03ab514291c7d3ebac7e44304c32712af58b079031993ca79e35146723bcbffc96f16c6ab7975151961f1c3c3fff9a9ec5940da90a99bb2cce3f376cc4d9a417fa715892411b649dea698678936c35123e5ee8ad4cfb2a85868a94b3344426ca65636d0dbbb9b2448faa1345e2f7b8db9a2e14f49581f106ab14779278a6aaa303ceb5ca7c246b5ac13162a9273a9ac00c745fe6f01598575e5348670bb82d8cd04a11a7753fa7729c89196be39ce7d543e24ab509684256e82825277da24b84d8f95517b55c2a301864b9a13ab809cb0ac7ff3047e58b9091c5b55dd0c23cb1964d8b58dfb80aeca479eef16f43ea66e185b6fc263e081458086585b8150b8239a531936e926ba339b79f18461851982ddb2a3069b235b8f15e8d74aed3571cb4a55067e385f3b53549fc4cf02079b8a41626a0aa52c5647ca634a37588402ca812f870abb94e09c2bf31bbb865dbc2a3f197bd7c679ec436f21684d7773de6cc551d370d75cc6217bc8db75431159aa5308570b173c7e90b6b09c16267b0169677610f57580640a536301d6b6b7c58525b6f853a5aa73a05c766f631c0f1c82f6ae54eac6659f2a37fc364b266cb0fbf8601dc5651daa87d79fa1852d950f29441982a71bdbb74d260c6b75630e3e80643676c4d59960a445b86d5508dba0c41f1516f44aa309a799ca626d4ca8b7fc5cd54c623acc96f15841c85cb1265f5ba3f6754b178a281e8106a23b04744ba248c703f0279cfa055dc3c70b8c68e48dcc84cea9d725b4ba5b628d9ac62899a460c157752366c00aac16e281ffe1233e217202fba0e2bb3cc5c170e1e373fda503a1d75af9e7a57ce113706d833ae662429e2774fdc686dec4a6268093743b718d3cafe703d2c27bf7b902dd1482ff611cedf63bac0847ecc0b25940ffddf25214ee4dd4e1aeb851878e2493c05e2bd5a30b5b99d369454 -sk = ba45541ce7b3de134e6b17030710bcce09bcdba837f23566dbf1928c99cffcb674cab9c41b3151faa3078177b9126c7973e25687452da075965baa804276859b092d9d4095b5e3a27943776da65262511f62a3aa875b258c7929b502ad6cba00e3b38011c943310bb5cb24791a71bc5a2796d6197192d9594936089d88bfe976058ca16c152193838a3d7306b312f8160df15288f9063514a403acb76be298f5c92d65a90a0bcb28a4f438ea447a9c881808a18a2f5c3c1b876b3ae94ed28478fddc1e98a64fd797a0931cc4a18777e5d481d9e92c0cf2b5f5a58635b368cbc8c25dc733550774c0861795939b74e83a23757c212927805663de14a0fa00cf10f51850dbb4cdd7caabd5c09b2818cc0a09a58169e3827969518e8fc7bc8325b45656861a848347a358ef1155e5d43f7910a738a132c8892977075c9a19c1eb6399f2e7bf1dbab593a907bda509ef5b0de35a222fc951a0829a838591a0441294c35ca0b86be6fc02e1ea1b7d4004e5bcbcaa2a280ef37067d72790bb5d59587e050272ddf8b117286fe80c1bbf078e6d259a9b53bd6ff1b43a86b24adb27bbfa3546c179b8f295726ab768bc7fc8dc2a62715030d93581165f1e4a03d42374a31039d55741c9c49a1c807468cc826f0380b90c9c3f319cf1f73811d674b05c147bb2613ba56365ea04872b9244b236b0d480dd0b47b7797a23286269f97450e13791b205c8aa3310b72f3423b263d93ca320ae1ff04fe6e3bb703a6c4fc17dcfb6341aeb485576b53d1cab71d9049dcc68cf86008bdb6152994e70152f96c8ae4a0819102ba5077b26086b2dc6b04b324a31aeccb372cc18976bb9da42c8eba89640149acc544511546c5dd293c3173ef28ca92b85b86188bc6fc09e2725307a2c3802c6086f922cddc62b5989c5a6846496d2bcbf7775a4b3737ee6c6b69cc3373c96e79675cbc781146c7a78824aae4322e1a69dbf64336efc3348e414ecab04010b9f7399310253679b48af3c23961bf345b35172c1d472f9a31274c730373a29154a581631a0916a21259a46efa387b36cc9272b5284085709e46f07babfcc835959d841b3647f51147a013987dd9556111435124101e5d42ff0848bfe2169a49485c094226ec6994cb50ba9f6476fb2a39522a08145b987593f2fe67a2b2ccb036c4e6540145758c6745a389955ce9744cb8030bd85a838a5904198b318a4d265eea61c70e5a34156ba00a53f05c9be7f1ac214f6a75dc8154eeccec7ca6218b34b8e063231c450ea3a8b48f7c97d9c58fed709c350a28a34873ce76f0fc7a4237aaea0804e2d3874d726aec41c3ac8e02706da459c01736b7a5e0936b3abccbebf146350ea2a246c225ba897473817f28c8d6bbb55fe98a48de682a91770edb1bdb190a0efd677a7fc29fc62690668924cb5887f4078179aade85c0dc8e3529862b2760b187b7778a56c6b026769e339aca5f8c948801fddc4acc3bcc7ff548dd9fc12cd7a394c24a7cbe18d3d22ae3b48beb295905b217af384393705107f33b02547822b0a2cb1b57b6fc637e071c0fdba2f87f010d0c81c42db454f5c7be69ac0069c33330bc40532248fd0b90a28908f7471fbcc543fa944038186979c1f5cd147b9f69218509c41c41873e0718d35b8c6c775f1f069bd22339d3c440f6caf9fe91e3d6b97d2a546e09ab4f6cbc2f5c1481eeca81c3a77209425ccb6c6427ab580b80350b468d9c0795441555b3bcf75343ed3966f69ca80bc850663776ad8e36fad9023baf84bfc59668e6567ffb6698fd0b0cf9cbe87462e35b9694303a90b2673a62b85c74664d5055cfee3ad39fa83206024299745cb7c683479399e948ac2254117f491ffb3311d69455bb925e7426d24b697ed44995ee73d9632459fd37facd4cc1859b0c6054cf1fc5c02e1ae82c2cf2ed21ea2322e315a196e825c27b2ca1cd0b93b4b9ce8e4aba0d248460814f5a734346a0577d55e0b680f01fab8c9a859385733db6342dbc16dc4ca42777a7dabeaa136f149666239cee53880ac4267a727920a9ca43c93a3e301a9859e01abcea7f8b2bfaa11cd3728c9c0ba4f7c7c89a466ffa3c5f2330a5ae87265a009b33c74d61562ca0132c55b8abe791b2e59ade002808ee2bb5ebabebc314e2d66b66ad566ef98623b721ab48117f3ab234a4bc2e6b80b05f97f10a508b9ab08c0650fe66185f146b0ef5993629b3f7fb646dc248e0690b77557971f02bafef88a9864c28e885562ea7b54dc217c5521146122aef78cb893a99c1c9621a6b51a43117016a7f2231f2380764dd81162a4433d6ca171062704294030d5a3bb9859a983c6b7f009f130444303932f141f506896fbec852a8a6934e72ad8c038319c58abea4c73319df541ce4086a90976356d001cf6479437b64dbb318f7db813d5034840e23910ec67519c93e9648ebd1b70edc3ac24c983ecc4003cf5b130eb251a6199814c715eb54fcc8ba9cd638a294bc2015c8cd7d28736226863a286dd4c0878345d3885cc4b2acc0ae08a277cc23e397dee84ad6ec2b4d73c520910b4eb4ba447071de01311754060195a37eb701045103b59a94d59131faa1b0a99741bf8b186f44c6f66f76695eca6932647e408966f7ac4b0b8af15f1c4fbe27a2037b6e7fb8f4c6738d1a3aa480a6dded4871e89a9be945113013d02197ba78b0f5f8008ac89b28ad829e5fc2516dbced3192242e074cde7c8e2b11ed1192b25db395f09bfdcec8b1a8671975b692c84714ba3049a636494996143212c54058deb770ba709ceb7659868998d6560c8f4386629331f7fe77dc5f5390443865d1215833c78ff2a6e24e3655ce799f62c3b5f24529c051c28347c3c792fdf8700ec3b6559f8bf6646352d2013bcd704bc2b26c0b8a231acafc7675d0e8a0459770f11d04aa0fa79d6062178ea4beed06057444c4b4a76712201937212de48941f868ff3184a9a700756a59e1297a71c3912cdd40e6f883295d0a62904a4be9350edb4483ee6bd20201d253997d983cacc0a4730a4255824ba9e4b7ca7908ce84a2562ba6db8e38b860671e2654f2c9b669ee9646d683e9f907733423d4b139bbda51e785a86a97103d8e14d645064b6e02a3ac6bd56abbad5cb09f1968fd70a84018692c2866af2b85ef8031b7693444cd1a9ca668bffdc9889053980a88bbbe59c883acad0f00dd7ba954c487b585910a10c95f571c245f0b415261fe348714c288220ea84d8bc524e438f43f29a9d42a8ba8138dfcc264182ae8cd7927d0cd0f5da7c2a321914e84f716836e53025e2ca75c8e34b04092752f1b77e9cb872e742aee71dfe2c1ece8c9fe82bcf56131ee0774076cba525934e21ca0387e43d53624caaacc88af2a59e234e24e262a1201582437656f97cfad4a087c622de1563d2a16758875b03ab514291c7d3ebac7e44304c32712af58b079031993ca79e35146723bcbffc96f16c6ab7975151961f1c3c3fff9a9ec5940da90a99bb2cce3f376cc4d9a417fa715892411b649dea698678936c35123e5ee8ad4cfb2a85868a94b3344426ca65636d0dbbb9b2448faa1345e2f7b8db9a2e14f49581f106ab14779278a6aaa303ceb5ca7c246b5ac13162a9273a9ac00c745fe6f01598575e5348670bb82d8cd04a11a7753fa7729c89196be39ce7d543e24ab509684256e82825277da24b84d8f95517b55c2a301864b9a13ab809cb0ac7ff3047e58b9091c5b55dd0c23cb1964d8b58dfb80aeca479eef16f43ea66e185b6fc263e081458086585b8150b8239a531936e926ba339b79f18461851982ddb2a3069b235b8f15e8d74aed3571cb4a55067e385f3b53549fc4cf02079b8a41626a0aa52c5647ca634a37588402ca812f870abb94e09c2bf31bbb865dbc2a3f197bd7c679ec436f21684d7773de6cc551d370d75cc6217bc8db75431159aa5308570b173c7e90b6b09c16267b0169677610f57580640a536301d6b6b7c58525b6f853a5aa73a05c766f631c0f1c82f6ae54eac6659f2a37fc364b266cb0fbf8601dc5651daa87d79fa1852d950f29441982a71bdbb74d260c6b75630e3e80643676c4d59960a445b86d5508dba0c41f1516f44aa309a799ca626d4ca8b7fc5cd54c623acc96f15841c85cb1265f5ba3f6754b178a281e8106a23b04744ba248c703f0279cfa055dc3c70b8c68e48dcc84cea9d725b4ba5b628d9ac62899a460c157752366c00aac16e281ffe1233e217202fba0e2bb3cc5c170e1e373fda503a1d75af9e7a57ce113706d833ae662429e2774fdc686dec4a6268093743b718d3cafe703d2c27bf7b902dd1482ff611cedf63bac0847ecc0b25940ffddf25214ee4dd4e1aeb851878e2493c05e2bd5a30b5b99d36945441bbd3f5c241a6d65b510dee6662e2a8f35757b0403dcd375e7a15991a7873c21100ced48add211a5c937b8d6079d8e271af3f949edc61f70e60453aef20dea9 -m = 64440adb05db3308b189bf999f9ee16e8ee3a6ccbe11eebf0d3ae4b172da7d2f -ct = 274b3428c0e377001541b28e26507c5594cfc3e71a928db4a91df96577c6c6f40bf718c0afb2f6e9b3045b4e6b785b90a0ed98e43e0685966decf11591c1a79c2ba259369667d003dbf00f799d78bd492e46ba9c49a1a913830d45664fa9fa75bea8bed5450d7eed4f89dd1bdb0d7442f595fb82fabfa3cfb6adaa2bf805131aadcc1cfda362eb42468a2ee25009b2e38ea9bf97eb09e600d1f45a9a47f792bc2c35c5e52019c30d832a0be547186b6c842a3f471dfaed9739d195786985d3ac19db291e6614cdcc3e1057781c7d8cf37d935efbbb214acdc71b263d170982d2b8bc5bef1fe2ca170918b87c6fa8cb184810ef99b6e21a81f945cfefe0a7e21e1ca543738444e1ffdf5a75d36c09c798e0fbb652229c305958c0b2886e645c96475cb17afbf0252b2a9bb45d164795a875a283f88427be5ca64711a940389bfd48c88093191357b79b2f56cffd1dd4372371fc832969ce1dbf377d40b9a96bffbf855e2c29103ce72e71033257135edc76c69f0b21e65e0982fdee6e576dd9561721f6483bb2a1b9d25b0964ad0329cbc339caa8bafd2803129fc7226a286fdbf35df85fd66a3ced54cb6d831f559edfecbe47b1fe12c357dd387d8190e0fd91e69573075baa39f5a3871f4d03d3e176fc2be8e21dd57bbec061d6cf21341eadc717689260bd06d2bbb36a0b01fa64e11586dce8a9f3a32166f49f4233d1979310844574a0c1b8d1d613a29bdb105c5010e56e04ce4596a98bf200b7f79ced723b2bca12e0201ba40e673357a605a785fee9d8b3394dacbebbee5ba13a000f8f5a1ecc4fe14d2471456b2e5a259da54cd7643abd38d2c4e2c1df06996482006c3e22e7d25af655286bbfff24ab557fff9a92360b9ba44ee729e75754bc52a2a907aab79e0d875a4038fa0438a21bc3bda6f5d39781b40d1cab74364f96d3fd69703bf6f493741df6ac132fd389bf8756e634a3c364e5ac051c0b94ca6a10fcb28e9e0d8b1798c0bc6791471209fb80d1cab903f42af0e6e80436bf9d6f22677182bf3387339b52a65a7e4b4d871494e24b0a70b6975498dfadeae43e732cdc61a541de466a8c980fc44150476d0f968bd10bb43b83ef60cfcdd54d4f3b9fe83ddbfe65e7f139e75dbf5c1241d31fb66b0adc8863573dfff1225af1688516589a890597619a6938f9f5545706f53795e51b292c111415cbe57891b762e2c7eabc4e5422a7d85bcf3910555da0d6917cbfd059733d1d97a9d5d5f88b5306df55f4d09639f4f4c987fb8a7dc7fc3545f9f5ea2ae0298f97a7d1c458d1af14ccb60e46b2f0f2507d5ae1395a4ccb54ebcbced8fa532edbd61a8414069cda7b3d5392c7a639c99137124e7a800170c109423ad97397dcdcfaaef4da6aac967cc72c2109515264939625e42c65eba3ca21bcfdca00ccf18efdce60d4e711bad4241b9e4677528bfa5664c5aa7c146aad9d9925d65b3de1e580a975047d016ed789b08b06f65e56927e68d5054254e8b31c5e62fab1003bf117bcd1ce675fa0420b47db21d56193baf291cf5f536bad7f9755734c73a81c7b3e9527d972d899a4b041eecfdadda15301ef5fc841021592291545edf6dc329b8a1361ba95f599ee48e6117eeb0eb6b2755b49a3a5e9a318a6b5c888047cd0a8ac8c05866c903592df43d640ba5e9a38afcfaae64b45ad4d7d9e5a540fa0fd0091e9f1cd06e533072966cefaf809d7bc6c86f0c7300efb158c3f1e9925c99439a10d96bb167b64e99594c8f443f79205bce4af6b54c3dc3da479108fe6f4edb71f71ed52e80872349a9b9155a04c02bf861512992fc3a293587516b7b2cdca3a74593e2fea4614586966f84c37ebc2c7e8d5c0080319e3e8e06786fc2d178965f531c1e117204d6f90d41f48f9624a6db7bb052316bf6e0c68f2e4528117ab7629cab75fc66953760c92d76c26a846fb4693cf359515d55e7ff3d99df1f2cade4e3d0803fabac924d447bec7fa82b3c796eaf031dae5c64fec8305f9f688a95124e6a8a23b467744e82fdaa0348758ff64c94659b40603d4b74349c085e8059c9ec00fd4278682d1b267d20336058e7012f8e9345ef1d8476cc415da9e3748d1d6ef6b6ae42cee19b98d775459a68ce9778624729847b3c33b8882a0cb9976cc7e9308c64fec5b40b7efa744a16be7b8c15606b26284be162702e8e52b90531dc3c59ada4c9726dfcce809 -ss = 35865737dec963379a8ac738d66b3ddfcc2d4864bed603f6fbf03b48e51222be +sk = ba45541ce7b3de134e6b17030710bcce09bcdba837f23566dbf1928c99cffcb674cab9c41b3151faa3078177b9126c7973e25687452da075965baa804276859b092d9d4095b5e3a27943776da65262511f62a3aa875b258c7929b502ad6cba00e3b38011c943310bb5cb24791a71bc5a2796d6197192d9594936089d88bfe976058ca16c152193838a3d7306b312f8160df15288f9063514a403acb76be298f5c92d65a90a0bcb28a4f438ea447a9c881808a18a2f5c3c1b876b3ae94ed28478fddc1e98a64fd797a0931cc4a18777e5d481d9e92c0cf2b5f5a58635b368cbc8c25dc733550774c0861795939b74e83a23757c212927805663de14a0fa00cf10f51850dbb4cdd7caabd5c09b2818cc0a09a58169e3827969518e8fc7bc8325b45656861a848347a358ef1155e5d43f7910a738a132c8892977075c9a19c1eb6399f2e7bf1dbab593a907bda509ef5b0de35a222fc951a0829a838591a0441294c35ca0b86be6fc02e1ea1b7d4004e5bcbcaa2a280ef37067d72790bb5d59587e050272ddf8b117286fe80c1bbf078e6d259a9b53bd6ff1b43a86b24adb27bbfa3546c179b8f295726ab768bc7fc8dc2a62715030d93581165f1e4a03d42374a31039d55741c9c49a1c807468cc826f0380b90c9c3f319cf1f73811d674b05c147bb2613ba56365ea04872b9244b236b0d480dd0b47b7797a23286269f97450e13791b205c8aa3310b72f3423b263d93ca320ae1ff04fe6e3bb703a6c4fc17dcfb6341aeb485576b53d1cab71d9049dcc68cf86008bdb6152994e70152f96c8ae4a0819102ba5077b26086b2dc6b04b324a31aeccb372cc18976bb9da42c8eba89640149acc544511546c5dd293c3173ef28ca92b85b86188bc6fc09e2725307a2c3802c6086f922cddc62b5989c5a6846496d2bcbf7775a4b3737ee6c6b69cc3373c96e79675cbc781146c7a78824aae4322e1a69dbf64336efc3348e414ecab04010b9f7399310253679b48af3c23961bf345b35172c1d472f9a31274c730373a29154a581631a0916a21259a46efa387b36cc9272b5284085709e46f07babfcc835959d841b3647f51147a013987dd9556111435124101e5d42ff0848bfe2169a49485c094226ec6994cb50ba9f6476fb2a39522a08145b987593f2fe67a2b2ccb036c4e6540145758c6745a389955ce9744cb8030bd85a838a5904198b318a4d265eea61c70e5a34156ba00a53f05c9be7f1ac214f6a75dc8154eeccec7ca6218b34b8e063231c450ea3a8b48f7c97d9c58fed709c350a28a34873ce76f0fc7a4237aaea0804e2d3874d726aec41c3ac8e02706da459c01736b7a5e0936b3abccbebf146350ea2a246c225ba897473817f28c8d6bbb55fe98a48de682a91770edb1bdb190a0efd677a7fc29fc62690668924cb5887f4078179aade85c0dc8e3529862b2760b187b7778a56c6b026769e339aca5f8c948801fddc4acc3bcc7ff548dd9fc12cd7a394c24a7cbe18d3d22ae3b48beb295905b217af384393705107f33b02547822b0a2cb1b57b6fc637e071c0fdba2f87f010d0c81c42db454f5c7be69ac0069c33330bc40532248fd0b90a28908f7471fbcc543fa944038186979c1f5cd147b9f69218509c41c41873e0718d35b8c6c775f1f069bd22339d3c440f6caf9fe91e3d6b97d2a546e09ab4f6cbc2f5c1481eeca81c3a77209425ccb6c6427ab580b80350b468d9c0795441555b3bcf75343ed3966f69ca80bc850663776ad8e36fad9023baf84bfc59668e6567ffb6698fd0b0cf9cbe87462e35b9694303a90b2673a62b85c74664d5055cfee3ad39fa83206024299745cb7c683479399e948ac2254117f491ffb3311d69455bb925e7426d24b697ed44995ee73d9632459fd37facd4cc1859b0c6054cf1fc5c02e1ae82c2cf2ed21ea2322e315a196e825c27b2ca1cd0b93b4b9ce8e4aba0d248460814f5a734346a0577d55e0b680f01fab8c9a859385733db6342dbc16dc4ca42777a7dabeaa136f149666239cee53880ac4267a727920a9ca43c93a3e301a9859e01abcea7f8b2bfaa11cd3728c9c0ba4f7c7c89a466ffa3c5f2330a5ae87265a009b33c74d61562ca0132c55b8abe791b2e59ade002808ee2bb5ebabebc314e2d66b66ad566ef98623b721ab48117f3ab234a4bc2e6b80b05f97f10a508b9ab08c0650fe66185f146b0ef5993629b3f7fb646dc248e0690b77557971f02bafef88a9864c28e885562ea7b54dc217c5521146122aef78cb893a99c1c9621a6b51a43117016a7f2231f2380764dd81162a4433d6ca171062704294030d5a3bb9859a983c6b7f009f130444303932f141f506896fbec852a8a6934e72ad8c038319c58abea4c73319df541ce4086a90976356d001cf6479437b64dbb318f7db813d5034840e23910ec67519c93e9648ebd1b70edc3ac24c983ecc4003cf5b130eb251a6199814c715eb54fcc8ba9cd638a294bc2015c8cd7d28736226863a286dd4c0878345d3885cc4b2acc0ae08a277cc23e397dee84ad6ec2b4d73c520910b4eb4ba447071de01311754060195a37eb701045103b59a94d59131faa1b0a99741bf8b186f44c6f66f76695eca6932647e408966f7ac4b0b8af15f1c4fbe27a2037b6e7fb8f4c6738d1a3aa480a6dded4871e89a9be945113013d02197ba78b0f5f8008ac89b28ad829e5fc2516dbced3192242e074cde7c8e2b11ed1192b25db395f09bfdcec8b1a8671975b692c84714ba3049a636494996143212c54058deb770ba709ceb7659868998d6560c8f4386629331f7fe77dc5f5390443865d1215833c78ff2a6e24e3655ce799f62c3b5f24529c051c28347c3c792fdf8700ec3b6559f8bf6646352d2013bcd704bc2b26c0b8a231acafc7675d0e8a0459770f11d04aa0fa79d6062178ea4beed06057444c4b4a76712201937212de48941f868ff3184a9a700756a59e1297a71c3912cdd40e6f883295d0a62904a4be9350edb4483ee6bd20201d253997d983cacc0a4730a4255824ba9e4b7ca7908ce84a2562ba6db8e38b860671e2654f2c9b669ee9646d683e9f907733423d4b139bbda51e785a86a97103d8e14d645064b6e02a3ac6bd56abbad5cb09f1968fd70a84018692c2866af2b85ef8031b7693444cd1a9ca668bffdc9889053980a88bbbe59c883acad0f00dd7ba954c487b585910a10c95f571c245f0b415261fe348714c288220ea84d8bc524e438f43f29a9d42a8ba8138dfcc264182ae8cd7927d0cd0f5da7c2a321914e84f716836e53025e2ca75c8e34b04092752f1b77e9cb872e742aee71dfe2c1ece8c9fe82bcf56131ee0774076cba525934e21ca0387e43d53624caaacc88af2a59e234e24e262a1201582437656f97cfad4a087c622de1563d2a16758875b03ab514291c7d3ebac7e44304c32712af58b079031993ca79e35146723bcbffc96f16c6ab7975151961f1c3c3fff9a9ec5940da90a99bb2cce3f376cc4d9a417fa715892411b649dea698678936c35123e5ee8ad4cfb2a85868a94b3344426ca65636d0dbbb9b2448faa1345e2f7b8db9a2e14f49581f106ab14779278a6aaa303ceb5ca7c246b5ac13162a9273a9ac00c745fe6f01598575e5348670bb82d8cd04a11a7753fa7729c89196be39ce7d543e24ab509684256e82825277da24b84d8f95517b55c2a301864b9a13ab809cb0ac7ff3047e58b9091c5b55dd0c23cb1964d8b58dfb80aeca479eef16f43ea66e185b6fc263e081458086585b8150b8239a531936e926ba339b79f18461851982ddb2a3069b235b8f15e8d74aed3571cb4a55067e385f3b53549fc4cf02079b8a41626a0aa52c5647ca634a37588402ca812f870abb94e09c2bf31bbb865dbc2a3f197bd7c679ec436f21684d7773de6cc551d370d75cc6217bc8db75431159aa5308570b173c7e90b6b09c16267b0169677610f57580640a536301d6b6b7c58525b6f853a5aa73a05c766f631c0f1c82f6ae54eac6659f2a37fc364b266cb0fbf8601dc5651daa87d79fa1852d950f29441982a71bdbb74d260c6b75630e3e80643676c4d59960a445b86d5508dba0c41f1516f44aa309a799ca626d4ca8b7fc5cd54c623acc96f15841c85cb1265f5ba3f6754b178a281e8106a23b04744ba248c703f0279cfa055dc3c70b8c68e48dcc84cea9d725b4ba5b628d9ac62899a460c157752366c00aac16e281ffe1233e217202fba0e2bb3cc5c170e1e373fda503a1d75af9e7a57ce113706d833ae662429e2774fdc686dec4a6268093743b718d3cafe703d2c27bf7b902dd1482ff611cedf63bac0847ecc0b25940ffddf25214ee4dd4e1aeb851878e2493c05e2bd5a30b5b99d36945441bbd3f5c241a6d65b510dee6662e2a8f35757b0403dcd375e7a15991a7873c2bae49824e1a023a302cdf665aec15b60f7f77ab2a0fffd5246d07ae975a0614e +m = 2905f02ce2c10e4ae7bb7f862d1d377f8df3a1280481e2579d49191d1ee6ef6d +ct = 57ebd8c4c8fee6f4f42d8b41d4c8d0767c58327915b9e61ea42f3b7daa18811e2cbc8115347cb7ada2f84b2e9b40b584043fd6dcdfb1fc232dedd4ef6f63e030a329969ec12974943e9185b49ce48878bc18c1111f9a9e2bbeed2b8e2f54f3874b23d7d3f55f322ae1402b1bb45fe64390789a69cc15b6bcb4bf2949567ad8db52f954dbd365c3f4c77c65e0c63e1d42f0f8cb1ca43ac0b51533d3284de846d09c60b3dd75074b5f8f96283e57d098ccb9bbc58bcaea4fff62f146eb56e1666b9bd4a504c2c92fc4a430be80c5681dea442e1f7df35565eb8cecf760beed95afc1117afae3272e99a8c8abb795024ef11d43949dfa7db17677569cae0f82a0b51e1205586db6239111005c0e5af0b2d6db4a27d26c6618e4b014bada1587c34af13c0ec2cd6c624c6a49644f8cb594a5aa305f19f184073c5c9c57700d86b72392235c7b5fcbaa3515f6339b855483f8403356d3610fb76b2a6b87893111dd8eac0aa8dfe39912db0df902cdddce28138a2e86d081b30f10ff856131c5838309759720b19f79a90e60f91992ecb7bb18bf94e16136a212e30a2e0ff23ec7ce105b0ab3928fa082aa05940a111aa03cc78a06aedafa4046ffb30c2989778521d9826cbfb7571f62a256559d519a700e2e70c2139927fa2240f54e307c30d76a7c4abc97c3bc4fc873b2211d7a98f409a26b575d893de6e7e884f900553cd0b09605a79f3ffeb7f10be8f20f9ca16159651e9b4d284b334ac492f75ba259c59da3bb1f521320d4e5189d8f4178bcfcf61183bdf142371a84d3a9a7322609dc14e99bc764938870a76d7bbff2b3ac86c5220d7e9b7937b4b3728901eb0e35da131b658a4e8f83e05782442080cb45e7c80b8012cb056bcde83287935b05450b9dc1163b1dbfe73ab2ae3c4407178a32feca6f5f11e02e2bc22ed36c44e7f6ab2996a5d88b765aaa0cae96d4091d34bb15ae43fe62b9a2b9a68b7722c180d71a775b6d05c7d37a59f1b27af8eaaf141acb75e0eb07456db015b4494ed1f37b4ad443e3c146f38ca981bcf0c36251391a283fcca80626d66b4b384b659fff7e93a3a01833340be5016a0b12b865a84f260d455bc708a4f0b21dc15ad3f9fbfbb65c1d0c2a540c0e3d4b232f56f25e51585f81e75734514c66671963884c8d23a2c017e72ae31d250bcfbb33416a2e26d7b1919780daaf61a0de1818c1a5117d461538245252a10669f6b2edf59d5ba00aeedca03d767faf004cd401442f72e4dad1929923920afad96059d62a99768978e5d4167f5896803047970e16f9de9104bbc68485ddabeaa85c3e61ba1f036b838ec1a97b05c3dbc7fba100eb592fd2ac1f9e60fc0da82304fbf03c00eeb7bd7871526f8a1f245eb8e0bd5d440c0bac72be3d7e46c2849be903eeb333cd8185d738914824521fd9cc9a4e19f0fe779514aaeaa36e1fdd146ec88255e6a85a18e866b3e87d133d10eac553792bb7511a612904b8e9b92da57daecfe72be82c57d13d28e890610301b2de53c254af93b3e258b1e83a8b10e06d69b476d41294eafb787481a5379ebb120a5e866d18be377746307db60433a77b19120a2e47a57e4382175fa393fc15645d75e20cb8f4ca4490562556af10a66d0ae25bb804cf3146a9f9559902319f76924d0a9207cecef8592ccfbbdd1f5496058486b93f3787c202aa871ca0c1501b7f5f0a9eb59e65c1766f38d87df01cdc6ef73ad42920a6a1959b939501edaa1310ce46dad3a9062a465207d519602d1b7b25bc624b7088508413a5a1feaf1ccaf401653bda45d0e9d8ffeba73b9c1eea2157a28bcaa7050276e3e7d4ca50c017c0a0eac41a9038be5ce1cadfb4408d95e5c77ef521d6a85e178eb789ca3f2b714bf757558092d9857129dac448603ad54493c8fff80ca5bccdbf29602d223863dd09e10933a68370c927df46f33faa9b5c418f368288411952e8b49d7870be49089750bc9cc3532fa530170d62bf0c24ef7d01e8f70ead4b335c8079690476fad4eb3ee5d56f5a4f47a9b288eb16e947abb322bf72502562d48ce0876f090f41521681c5870b8dded153a7a80c241f7e6d425384d1f4c73ed935b3b0813f9f67b229003401cd98875c6b5dda1987e3c20d695a1c83685ab7edccc7b987022b9992a5b1d783e9525a6bfb5d9147850763d8b73246c42ef119c43b16277ba77cd596bd95dd165e9e5aae23 +ss = bb139c1aefeed876f8c9748d5a573acae7f23b471bbccb5104f10040666e0cf3 d = a453bcacdd2b0d4646009e5ed451c3c45f08fb827ef733db3c517a9dc1af93e6 -z = 7a3cc8aa3239d4c52ce4c95afdeff6efbfacac10d294edc0e7cf4535059bfdba +z = e39cc6c99ee6fd8653d15505a6c2a713d41b43fa521cfb214e8d1b38440f4640 pk = 6daccb26429b4e18c04591cef2a49a51f34aa224a4f7e0bdbb1950b5b9bd633a1ceda3c94da93cfce38aa962a45a135a45105c6e2548db96698d581f42ebbb7c4aac8da6805024bbb2b0c45806015db249b4e10f92536495670bbeb0402d0c1be9b01e47a2a77d29cf03647fac3730878c7bddb724f7d8539e31274e20334949a92063634d6c1c0b5a1999460e25259fa91737d2b9a6457588d41041d8d1786ef80ec2951cd0c84bdc57108f02a7aa5297174c7be5a6157693c07a38242f85b79d16260ab37786e67d7d9a77c953b81a2a4b9e01697bf7a714fca3d9904795671d4b99b5ee83765a532624b4004fc6044c1840a4d07d45240251d32fbf922ec329542471037dac809f477fb6ba5b198683443c683cc8494bd1b7bbac7ddfd39f45a10c77433b868c981b7aafbbb2c8f2bc8a6e3134eed7bddd54b9fd1a38dda8a2ad60b4111b10571928c7b55721c527150668a1da383b8606f4e1575ce164dcc911af678a33973c807a159bdc12811b003d68b8edcb12de1614707b555a853290870b5e5b48d7774a9d69a116d13808961164cc0cc38325f49c463e41c043f120af24239c36abb899a3d37857db6548bac59b40e7b233dbaf859ab4554a2ede21cad465be2e3001fc9c955a3b6dca4612d0763299aa8334b28830e996ffb13f7195598c55a704ec9539bcb9a44704c77cc1e9c2a7cd371d46c02a409215333acb076bcb2355acb6c5bec8cb2640c86882342ae3938059a99ae7a281d2b6ade8073d1a90459c04a5db7547b681b007ab996e1a7fd6a030c7b34332854e036b8e99d0369bdaa123a86ab931776e437271a2219af7a4c7b8b78aac0365c78d1de15fae8c4c397c7b6eaa4d02b06f8da7145fab7948b786a78639a4e80299e3c12e5b3847f508c5189d0c735f5841a7f5b34fc7e194f4f20f348475c1d4a3f4e8111c9cc6eb06214c43838b41ccbb6524da5715e5a2644bfaba69b0cbb54935db0379b52668e2b8b84ef5600ef76686bb0651f7c43c1c120e20af9de18aada655d48b375b4a23d21c51e1c3ce9e0131b61c345112b5ca302ca9e183443495da4b309ac898e02c4f70fc7359a57d25778457e70bca8a1c7b444208b00e24da7e0ff89c19190675ab24b605295ba862eb732e4a36640b28bff1cbcdcfa8cbe9f9add36b71b3268c116b3e08c172467c80ea05262831660bf35a7d945a8264b228793ef0284b724480b3b54451a7bd9505b6225b1fee03cfdb599bb024416ca980c8181faf51b421b86f92147e12d04caf335a87fa1dbdb2b0e66c0795cb5f65130adf3bc8ee3bcdff9223cd74ca9c4a8544208b31cbc7a05b21392b0ee03b9abcca42cef8b5448482d8d8013ac221ae01436cab30e1c126f6f80af46baeb4a828f54735b5513c8f11228ec2af7d854d84e3688799ce24c8454e326fd0f52fae773ca5d408568551de89cb85265115092b960ab9792ab8612c012231921b6c697bac6bf53174ac50a6ea2ab3f48b532af51a6f6939d1ba14b694c149b5503f3320f438b731a59b4c22810d1196ed4a90eef2968d1ccd92327b37866abac1c24cf0c2b2228d0e41a3a1ec6a4227a36218b6437b5023e22d43f04b712c2c6665bd2deb160aa95199146618cc1ebefca7691248acb7c549cb66cdd59f5c4c0470205791c742fcaab677f966f746721f58846d1ab2fbc11b6f2978ddd282730402deb863ca1a7e224cccaa2b34f788987520c9da9c0c328cad6dfb46a920bf8ce22f4d265426cbafb31023b7e748252561cd678bb10218d4e5cda45488c4b2c1b2cc73c5c163da9467f02b5ceb4a5ecd136a2b518470719114d1c310a688e46bb80dc38dca1a092d36a3edd7c4c6d37074692e266a0f5fb0501e9791f3f90cdd93386c05c93896b950c7681f0abf8a044ab1227b68210c169b6057528315ca5fab7ab2c9dc7743d8943c997801a01eb2d9a195d2c6a8710fefac2e60702b68523667650e6616cc0b7b5bc50809d1d45e1673be8dc435b7355b0a26728205ae8713be0372cca8169521e574fbd18c37ea3cb6f02aa5c82a5834819254077e1670047997863a5ec7692bc26cacfd8c346290564fb27a50816f2d592277f56167027fdf376a2ea97be79466a3b86b01286fe54444bbc4c4f32460b2936196e92ed698157064cc073e0f3130daca54c038dc1085402160513337af2b6dd900b04dc3bdfcc90bdb -sk = 2d80a415a1b29961459e396204e5b5e65540a2a9ae9cd52d867a9e20952fc7565b66151653448353697b09723b17e3b1ef375a3e260a5869b579883fd1eb3a06da5c11e493f4cc9d18381856fb2c36223e7214ad78a178b2153dcde882451776478a4e06b392ce9b9d0310a5a134b42c37312a8932151571d85cb69d9333ff8685569568a0fc4568682ec2f5506f59742601c46db34efb9665b5815574518ff677be1c0991b644b5931b112220c6eee10c37c19316156bcbf354fb661635e42f6b26b07f9552d7b1a65d51c7eb6a132034bd755674dfc14345aa72acbb85d4724b2ba14925421e570543ae904f9bc4016bc0389fb9922cb12a393a24df219290dc506e501003c0ae8cbbc685a25a91147265207f93f190b12baebe7cc7edec476553762ea45e48694ddd172b6787b7d9719e89d77563c9c2ccb77caeb23d7aa9181b82b6cba09aef1851235c7986194c8322280b4192b94262fc79ceace4b894c86814d4929bd773e6a73fb0c7c36c67391a314555674cf415292055bb39319dcaa7b07230204c068028b3ae7a7223df112032d60edd1b6b52ea1ed13b86231a1efb2969a691cef0d219835a44e907bb0cd2ce6da1442af1460f2ab882959e0862bccfcc6e3fc2bdb5eb673b218d6e9c5dc6461d8796945b614c81a68f9cf381d256bc1e63285141814077af5f54c2c6b487dd29cdb1d2ce08f09122d09632ab823cb00d86a57f8933743f347c203894d0043f5692a6e12283abfa1b98b39c6d638132ea4b94644e89a0adc35816be01a408f752b3215029d7661b554bd39abaa906af32f877cd4b28bcc217825ac897d06a4c233462fba602a81321db93279a19bf44131b86035db3c4ca911f1fa30146f9be0333650c3c24a5c85bf5e252413853defb040f8a16f4abb9e18cb3d496a69b356d8206c106864c7464a7a7ec5e998b3fd5b18df1d947e171272ec5aa1137ccbe50ae73ecc106250c0392a41a73a4861acea19257be33cef406b7eac1796f605a709a4bc06bbe40867966e830e8aac19af626a4642a8447276f09cfba6486564079e1aa38d7e179d9634e3398b743a1812f02818e979b4434a4516c2c77672600d5b7d3bb6d7e3253189c3694120dbe2519c62c80558ac1d522855682962df611febc9f33fa27a0787501a42802863b5cdcc6aa81b964cc2c9b8081b63750a6358db5566a0d3229d2989e98199855a2448f54688ed2487b816f5cd651206350fbbb5cdd995a9db37b089caa57ab0deddc9392ea1c0f99031a42c350cab7b6f54c1e4acdd0e28d7975a188502fef055feb5889bf87929b6006562626335b05edfc544f10cbd927ab3c4c9e806700349b9a0099801d5948cff3bf0977a9691a25ac880d593a36d1e5436eab078bd9a6bf25bc3d6b5bdfa02aab06ab5842c440e40d430aad9311015a8767417b233fa8cfc64914533031ab39b845a3c50ce00ba0f1a586053768ea48293044f3a831b456320600404761c7e826a0b111ae37db49b31bb3e9389bd3e354f08879906996df2036ac49b9c773af5fec5375519ae7b8c61ce475ac544d13a5b421b8a686251b6d1c64f8a353406248b0430c8a3a308b600d0c9506d6509aac9a46093564eaa957b62b0b18078325ab1e847521dca74f5f212b013ab90693c3725729a4888c50533a27a83a436a627a3c1e0be10e35d1900791cc598413a818bc2f58687a502fc5f747ad365dd3348b3f96a9072c521923a513540ac402aabd74a5b364912ec36260235162492ebc96bce5c8a718e124c0669da4d0080117b07680ccfdc79ef10229cb8388460bbe664255513c71bc2243a2cc2a1122218581cc540514ad54365696245cd98ecd445653766847a03794959f15ccced05863e4656bf2571ce6445e9393c95ba11e5de102c358517f7672c0f26a34d8c7bbba5ce9abad9c8b4a6e9788b82bbd399838e4e138c7c1619ca8988a05caacf14a6be164c569444d49911525398d0a460d257e61e6b8e0d2614aa0b55ac0435f34493c298ad719a9900b94abc08acba78f42195637a464fc180013bb081bd7a4a8f66909557e85784780c589aeca24402125b661a068f81d046716e5b5072d754a6878004ac9423092a3e051521caabe98e955c093ad95d74157918960157dd5383702f3adfc65436daccb26429b4e18c04591cef2a49a51f34aa224a4f7e0bdbb1950b5b9bd633a1ceda3c94da93cfce38aa962a45a135a45105c6e2548db96698d581f42ebbb7c4aac8da6805024bbb2b0c45806015db249b4e10f92536495670bbeb0402d0c1be9b01e47a2a77d29cf03647fac3730878c7bddb724f7d8539e31274e20334949a92063634d6c1c0b5a1999460e25259fa91737d2b9a6457588d41041d8d1786ef80ec2951cd0c84bdc57108f02a7aa5297174c7be5a6157693c07a38242f85b79d16260ab37786e67d7d9a77c953b81a2a4b9e01697bf7a714fca3d9904795671d4b99b5ee83765a532624b4004fc6044c1840a4d07d45240251d32fbf922ec329542471037dac809f477fb6ba5b198683443c683cc8494bd1b7bbac7ddfd39f45a10c77433b868c981b7aafbbb2c8f2bc8a6e3134eed7bddd54b9fd1a38dda8a2ad60b4111b10571928c7b55721c527150668a1da383b8606f4e1575ce164dcc911af678a33973c807a159bdc12811b003d68b8edcb12de1614707b555a853290870b5e5b48d7774a9d69a116d13808961164cc0cc38325f49c463e41c043f120af24239c36abb899a3d37857db6548bac59b40e7b233dbaf859ab4554a2ede21cad465be2e3001fc9c955a3b6dca4612d0763299aa8334b28830e996ffb13f7195598c55a704ec9539bcb9a44704c77cc1e9c2a7cd371d46c02a409215333acb076bcb2355acb6c5bec8cb2640c86882342ae3938059a99ae7a281d2b6ade8073d1a90459c04a5db7547b681b007ab996e1a7fd6a030c7b34332854e036b8e99d0369bdaa123a86ab931776e437271a2219af7a4c7b8b78aac0365c78d1de15fae8c4c397c7b6eaa4d02b06f8da7145fab7948b786a78639a4e80299e3c12e5b3847f508c5189d0c735f5841a7f5b34fc7e194f4f20f348475c1d4a3f4e8111c9cc6eb06214c43838b41ccbb6524da5715e5a2644bfaba69b0cbb54935db0379b52668e2b8b84ef5600ef76686bb0651f7c43c1c120e20af9de18aada655d48b375b4a23d21c51e1c3ce9e0131b61c345112b5ca302ca9e183443495da4b309ac898e02c4f70fc7359a57d25778457e70bca8a1c7b444208b00e24da7e0ff89c19190675ab24b605295ba862eb732e4a36640b28bff1cbcdcfa8cbe9f9add36b71b3268c116b3e08c172467c80ea05262831660bf35a7d945a8264b228793ef0284b724480b3b54451a7bd9505b6225b1fee03cfdb599bb024416ca980c8181faf51b421b86f92147e12d04caf335a87fa1dbdb2b0e66c0795cb5f65130adf3bc8ee3bcdff9223cd74ca9c4a8544208b31cbc7a05b21392b0ee03b9abcca42cef8b5448482d8d8013ac221ae01436cab30e1c126f6f80af46baeb4a828f54735b5513c8f11228ec2af7d854d84e3688799ce24c8454e326fd0f52fae773ca5d408568551de89cb85265115092b960ab9792ab8612c012231921b6c697bac6bf53174ac50a6ea2ab3f48b532af51a6f6939d1ba14b694c149b5503f3320f438b731a59b4c22810d1196ed4a90eef2968d1ccd92327b37866abac1c24cf0c2b2228d0e41a3a1ec6a4227a36218b6437b5023e22d43f04b712c2c6665bd2deb160aa95199146618cc1ebefca7691248acb7c549cb66cdd59f5c4c0470205791c742fcaab677f966f746721f58846d1ab2fbc11b6f2978ddd282730402deb863ca1a7e224cccaa2b34f788987520c9da9c0c328cad6dfb46a920bf8ce22f4d265426cbafb31023b7e748252561cd678bb10218d4e5cda45488c4b2c1b2cc73c5c163da9467f02b5ceb4a5ecd136a2b518470719114d1c310a688e46bb80dc38dca1a092d36a3edd7c4c6d37074692e266a0f5fb0501e9791f3f90cdd93386c05c93896b950c7681f0abf8a044ab1227b68210c169b6057528315ca5fab7ab2c9dc7743d8943c997801a01eb2d9a195d2c6a8710fefac2e60702b68523667650e6616cc0b7b5bc50809d1d45e1673be8dc435b7355b0a26728205ae8713be0372cca8169521e574fbd18c37ea3cb6f02aa5c82a5834819254077e1670047997863a5ec7692bc26cacfd8c346290564fb27a50816f2d592277f56167027fdf376a2ea97be79466a3b86b01286fe54444bbc4c4f32460b2936196e92ed698157064cc073e0f3130daca54c038dc1085402160513337af2b6dd900b04dc3bdfcc90bdb290261ff6a1d2fabc75feab002d16cdc44bdbdd0967c728ebef0e9814c60b5e57a3cc8aa3239d4c52ce4c95afdeff6efbfacac10d294edc0e7cf4535059bfdba -m = c8bb46b3a7344ad170c2052fb042b5a3b62e0590562ee82577b1081f6f114d16 -ct = f3d8d8154ff234ca1a5de3fd91e3c60f75ff44b5edec1b56c10a8f09c98271b4c4826c870573979dfffb5e858c65cf7baaf4825308ed6bea73fad9f612156793623a0169cad110411bd3e45973e756fddc799ed3ab71fcbc154c1263571ed32c4b1900d85a443914cc58d3af4cc8658396b23ecee5cdc564eb566cbf21d8accd8bfc23130e2fb77740b261e65fe3151c5c20eef4e7626a174a4f7c404b637231b255da42b9b9376e17afee76072479821bf3f438aa1279c690550dccf67c1cd613750dad8f0837e6a3b290d549560a25d321f675ebc8bd49bb899b45c1eb56fed6c85d8aab174adb8dae92dde1bee0156fd41fd20852155914b3ce4048179cef287d2b146f4aa048405314a57cadd0ab6bad34ba89283d8eab82445bd3fc853c13064660ea20721b25fc4aa28daf65cc73634ea268023b3fba6b560a07b6d2606bc583ce332d73ae99e0fc5dd3a5d0440f6b660dc49578fcbedf1b7f8bc59ba4e708c15aafd7d04404e21379cbd898d550430e0e6d09d0ff6037ba89bf909af8bfe0e753a9ffd551207a95fe51b6075bd239c4ffc6beddae648c44fac3a190f272a693726645bdc4310ec0136ecfea125493cda746ae73cfad18ba5e9a53190489481065adcafc9d2dadfc2e0e777545cdc22ecf11294c0cc46c445bb8f5ff136bf2accd487e91408c8555e8a9c38d224db0eb8a4bf1fd22bd25741768a36bfe959a4d59133a54f1cc41fb7675d16971e341020f15a8f3fc7a55ffb35c732f1038dc51e0b17c04738ea8197ff823aa92c067141640632fb161f703c85f777b27a8ee724faf8f292b6c1a7fbb187c3b80907775229487016a4e52c7c4bd13d3cc9881c4e45bcd65047f0a60fd7e85bc9dfb88b7652327f3a79673d030c79949aa476f7296d4b8b2a98107a3c30235a3cb70b7f3ecac62baabd9efcc7aacecf3f4e9e9998e10598237e9941707badf2d506e2210b96bfd2e777c8e48c4e2c8f1d35529d87958037d8268145c168e6f14cd7001196cc6b1f687c1e1e55779e2ddec8faea9b03897b4b2d939b4a647908995d3f787fdaaad29d6e9693ebfeb4ea99d2349a66eb31272758ccd5e9f6640830e8df5671b730ae257789e52c0df5dc669e7dda63463ca3d0a98863adf9e212c7e970f778e576776731c074115c2b3b165a2609878295c90ad33326f6f234c3b4a900cbcea2741d5440aeeb58b2642458c219f9c490fa8093a1bf1d5a7f3c056cd574b4d4bee7fafb35bbb95fba4926220aaa6d770241b6063fdb4618573fa2f0a80bff5e084401fadc5bd4b3ae116e34fe8d0a7ca5c3acdfe04dfa0ecd6f074d93cb62aecde61f4e8223fda9e67bbb616e6681deeef6118cd926f8352c55244a624a364b6a66b441dbdc78ce78bc8e89b9ef4fd7a784e5fdc3330fcc74b1084ab048bc6ecc08941d95aaa6d80fa9cf3b1195954029b85278dd002ea6fe93bc2eb3befabe57fdae339bb5d5f02202ed46134ff892340dd9d0823b44f1f3764afcc260e9fde8f808178932b01db4c3e58176afcf31ef8f65a39837db11cb3c6dc0c2139df147b62e3886a2e760f7530f397af14846de8ba5e8624ae166fad651ea79ac38c3410bd708e311f949ea84267de93840ce6b44243e94f1a26cf5e107ad20c9eb2468e517b3dd562dd2037fe75ef5ca8c3964d335e9bee0f27af401a5a23bf60324d4065c9388f7b2fb15a6033f722eb3311037398148822d5f9f35c4c25b0747a36636f42c9ac972e31c9f60401d612e80a09b82bc618cbc3e1ca12ae6db3bfc6a826531d40ccd267820a68207e240861f25aea05eae206cc5e25c6550bf6f196d54ec415c25143cb6dbd948691d3cc3b73839668a5738455776ad9ba23214c1901572e6d9706217cadf1080e3d9fb26e96f8b704ae6dc9ae70904ff9aeff5f3a56764bbe28d1932e45246578b02d675ca0f73ad621ebcf6d2ad4c33f60fa94196f35cd1b413347dcaab8ebb80d6cea13bd1dafe7cb40a378b114fa83c1fdacac5f0a5633f25837b53ff57a028cba538da18f465c0e6ea89157b0bb9d36af64957d70e479f6eef33ef44bd84ab372236c72bd04c7ff36c2cea6051ddf609fce98a968480fdd14672b8e3f1d769e290879314174563c140d2a3c73ab536f89986a9cb93c7c09ec0001d37b799078a0d1affdfe21e5fa36182944cdb3eca1dee737004f6597e1685dad2e44e3a1bd -ss = 43691c8dbdd6f1668d600615ffa5187f59d58168a2e7ba426b0f131baeed55ae +sk = 2d80a415a1b29961459e396204e5b5e65540a2a9ae9cd52d867a9e20952fc7565b66151653448353697b09723b17e3b1ef375a3e260a5869b579883fd1eb3a06da5c11e493f4cc9d18381856fb2c36223e7214ad78a178b2153dcde882451776478a4e06b392ce9b9d0310a5a134b42c37312a8932151571d85cb69d9333ff8685569568a0fc4568682ec2f5506f59742601c46db34efb9665b5815574518ff677be1c0991b644b5931b112220c6eee10c37c19316156bcbf354fb661635e42f6b26b07f9552d7b1a65d51c7eb6a132034bd755674dfc14345aa72acbb85d4724b2ba14925421e570543ae904f9bc4016bc0389fb9922cb12a393a24df219290dc506e501003c0ae8cbbc685a25a91147265207f93f190b12baebe7cc7edec476553762ea45e48694ddd172b6787b7d9719e89d77563c9c2ccb77caeb23d7aa9181b82b6cba09aef1851235c7986194c8322280b4192b94262fc79ceace4b894c86814d4929bd773e6a73fb0c7c36c67391a314555674cf415292055bb39319dcaa7b07230204c068028b3ae7a7223df112032d60edd1b6b52ea1ed13b86231a1efb2969a691cef0d219835a44e907bb0cd2ce6da1442af1460f2ab882959e0862bccfcc6e3fc2bdb5eb673b218d6e9c5dc6461d8796945b614c81a68f9cf381d256bc1e63285141814077af5f54c2c6b487dd29cdb1d2ce08f09122d09632ab823cb00d86a57f8933743f347c203894d0043f5692a6e12283abfa1b98b39c6d638132ea4b94644e89a0adc35816be01a408f752b3215029d7661b554bd39abaa906af32f877cd4b28bcc217825ac897d06a4c233462fba602a81321db93279a19bf44131b86035db3c4ca911f1fa30146f9be0333650c3c24a5c85bf5e252413853defb040f8a16f4abb9e18cb3d496a69b356d8206c106864c7464a7a7ec5e998b3fd5b18df1d947e171272ec5aa1137ccbe50ae73ecc106250c0392a41a73a4861acea19257be33cef406b7eac1796f605a709a4bc06bbe40867966e830e8aac19af626a4642a8447276f09cfba6486564079e1aa38d7e179d9634e3398b743a1812f02818e979b4434a4516c2c77672600d5b7d3bb6d7e3253189c3694120dbe2519c62c80558ac1d522855682962df611febc9f33fa27a0787501a42802863b5cdcc6aa81b964cc2c9b8081b63750a6358db5566a0d3229d2989e98199855a2448f54688ed2487b816f5cd651206350fbbb5cdd995a9db37b089caa57ab0deddc9392ea1c0f99031a42c350cab7b6f54c1e4acdd0e28d7975a188502fef055feb5889bf87929b6006562626335b05edfc544f10cbd927ab3c4c9e806700349b9a0099801d5948cff3bf0977a9691a25ac880d593a36d1e5436eab078bd9a6bf25bc3d6b5bdfa02aab06ab5842c440e40d430aad9311015a8767417b233fa8cfc64914533031ab39b845a3c50ce00ba0f1a586053768ea48293044f3a831b456320600404761c7e826a0b111ae37db49b31bb3e9389bd3e354f08879906996df2036ac49b9c773af5fec5375519ae7b8c61ce475ac544d13a5b421b8a686251b6d1c64f8a353406248b0430c8a3a308b600d0c9506d6509aac9a46093564eaa957b62b0b18078325ab1e847521dca74f5f212b013ab90693c3725729a4888c50533a27a83a436a627a3c1e0be10e35d1900791cc598413a818bc2f58687a502fc5f747ad365dd3348b3f96a9072c521923a513540ac402aabd74a5b364912ec36260235162492ebc96bce5c8a718e124c0669da4d0080117b07680ccfdc79ef10229cb8388460bbe664255513c71bc2243a2cc2a1122218581cc540514ad54365696245cd98ecd445653766847a03794959f15ccced05863e4656bf2571ce6445e9393c95ba11e5de102c358517f7672c0f26a34d8c7bbba5ce9abad9c8b4a6e9788b82bbd399838e4e138c7c1619ca8988a05caacf14a6be164c569444d49911525398d0a460d257e61e6b8e0d2614aa0b55ac0435f34493c298ad719a9900b94abc08acba78f42195637a464fc180013bb081bd7a4a8f66909557e85784780c589aeca24402125b661a068f81d046716e5b5072d754a6878004ac9423092a3e051521caabe98e955c093ad95d74157918960157dd5383702f3adfc65436daccb26429b4e18c04591cef2a49a51f34aa224a4f7e0bdbb1950b5b9bd633a1ceda3c94da93cfce38aa962a45a135a45105c6e2548db96698d581f42ebbb7c4aac8da6805024bbb2b0c45806015db249b4e10f92536495670bbeb0402d0c1be9b01e47a2a77d29cf03647fac3730878c7bddb724f7d8539e31274e20334949a92063634d6c1c0b5a1999460e25259fa91737d2b9a6457588d41041d8d1786ef80ec2951cd0c84bdc57108f02a7aa5297174c7be5a6157693c07a38242f85b79d16260ab37786e67d7d9a77c953b81a2a4b9e01697bf7a714fca3d9904795671d4b99b5ee83765a532624b4004fc6044c1840a4d07d45240251d32fbf922ec329542471037dac809f477fb6ba5b198683443c683cc8494bd1b7bbac7ddfd39f45a10c77433b868c981b7aafbbb2c8f2bc8a6e3134eed7bddd54b9fd1a38dda8a2ad60b4111b10571928c7b55721c527150668a1da383b8606f4e1575ce164dcc911af678a33973c807a159bdc12811b003d68b8edcb12de1614707b555a853290870b5e5b48d7774a9d69a116d13808961164cc0cc38325f49c463e41c043f120af24239c36abb899a3d37857db6548bac59b40e7b233dbaf859ab4554a2ede21cad465be2e3001fc9c955a3b6dca4612d0763299aa8334b28830e996ffb13f7195598c55a704ec9539bcb9a44704c77cc1e9c2a7cd371d46c02a409215333acb076bcb2355acb6c5bec8cb2640c86882342ae3938059a99ae7a281d2b6ade8073d1a90459c04a5db7547b681b007ab996e1a7fd6a030c7b34332854e036b8e99d0369bdaa123a86ab931776e437271a2219af7a4c7b8b78aac0365c78d1de15fae8c4c397c7b6eaa4d02b06f8da7145fab7948b786a78639a4e80299e3c12e5b3847f508c5189d0c735f5841a7f5b34fc7e194f4f20f348475c1d4a3f4e8111c9cc6eb06214c43838b41ccbb6524da5715e5a2644bfaba69b0cbb54935db0379b52668e2b8b84ef5600ef76686bb0651f7c43c1c120e20af9de18aada655d48b375b4a23d21c51e1c3ce9e0131b61c345112b5ca302ca9e183443495da4b309ac898e02c4f70fc7359a57d25778457e70bca8a1c7b444208b00e24da7e0ff89c19190675ab24b605295ba862eb732e4a36640b28bff1cbcdcfa8cbe9f9add36b71b3268c116b3e08c172467c80ea05262831660bf35a7d945a8264b228793ef0284b724480b3b54451a7bd9505b6225b1fee03cfdb599bb024416ca980c8181faf51b421b86f92147e12d04caf335a87fa1dbdb2b0e66c0795cb5f65130adf3bc8ee3bcdff9223cd74ca9c4a8544208b31cbc7a05b21392b0ee03b9abcca42cef8b5448482d8d8013ac221ae01436cab30e1c126f6f80af46baeb4a828f54735b5513c8f11228ec2af7d854d84e3688799ce24c8454e326fd0f52fae773ca5d408568551de89cb85265115092b960ab9792ab8612c012231921b6c697bac6bf53174ac50a6ea2ab3f48b532af51a6f6939d1ba14b694c149b5503f3320f438b731a59b4c22810d1196ed4a90eef2968d1ccd92327b37866abac1c24cf0c2b2228d0e41a3a1ec6a4227a36218b6437b5023e22d43f04b712c2c6665bd2deb160aa95199146618cc1ebefca7691248acb7c549cb66cdd59f5c4c0470205791c742fcaab677f966f746721f58846d1ab2fbc11b6f2978ddd282730402deb863ca1a7e224cccaa2b34f788987520c9da9c0c328cad6dfb46a920bf8ce22f4d265426cbafb31023b7e748252561cd678bb10218d4e5cda45488c4b2c1b2cc73c5c163da9467f02b5ceb4a5ecd136a2b518470719114d1c310a688e46bb80dc38dca1a092d36a3edd7c4c6d37074692e266a0f5fb0501e9791f3f90cdd93386c05c93896b950c7681f0abf8a044ab1227b68210c169b6057528315ca5fab7ab2c9dc7743d8943c997801a01eb2d9a195d2c6a8710fefac2e60702b68523667650e6616cc0b7b5bc50809d1d45e1673be8dc435b7355b0a26728205ae8713be0372cca8169521e574fbd18c37ea3cb6f02aa5c82a5834819254077e1670047997863a5ec7692bc26cacfd8c346290564fb27a50816f2d592277f56167027fdf376a2ea97be79466a3b86b01286fe54444bbc4c4f32460b2936196e92ed698157064cc073e0f3130daca54c038dc1085402160513337af2b6dd900b04dc3bdfcc90bdb290261ff6a1d2fabc75feab002d16cdc44bdbdd0967c728ebef0e9814c60b5e5e39cc6c99ee6fd8653d15505a6c2a713d41b43fa521cfb214e8d1b38440f4640 +m = ca41a891e8b3cf62f7cf5e356fa7705dcf26478b2cf2561a0de208dc06c02059 +ct = ce81a02eaaa57ae2dd409010836084997a50d5eba87845c51926137bff88b66bcc5cb918827f7612e8f084e96c914b92580b91f70eea04c3bb9a5ea999440648620a5b0eaa4b295a532131c9c441055844d047336ed3ff87869ef3c760f330b231ddd41d58eea12f2f185a6c55af223a8c0f022d5b391ab95a1d9df3728b8733ffd54864b1072cb13dadd13c0b8fd23ab360062bd355d01aee2b1329d43988654d88e971a8c0f2a95973ea7ae292eff44a00323d6460ff1a13026eff41689d6e6e87025398dafb147d88a8c0d4e941caa3ab6acba54c189f6c135e60a713de6b3ce5c3c9814e64dfdf5e41631eeb39af3b4e852c826a561afa619b79b7d9453076ef743a053248405ebbbcd9417a7a56f4d89ee0b976f9a73b5911a62dca4d1421451ec3ffa7685b54aff5e9dd485e40f60cb6a40f9386dec5151e319a0053f7f22155b35e53b0425557843d3dfc86c179b51e14956177360bbc6284bd4c91fc5852d997dc8f6346ebeb3d875938f4b4934ee00df558227c4450e41867d991ccebf202a4893334b06b59501e8604f4279f24885443f03e97f124ee7869aef747462618caf2876d305bd9a587e4ea919f62aa3167271dfcd00ccde883759a4cf42230026d0caacca0d0dd0c2f9fe1f848b4f65d9c4d94c9a80d55d99b791dbee01a31422961b87d27f2305ba7e43fca4b1fdaa195b4657766e36f0880f423baf1613dfe7fed3f00a84cca15d265e3689329d9847c37d76aa09f3b0a1564b0754d87c56f25b617c77cbb3a22dc2f0822bcf1bda2aec8957a30e97587cc136b81d533e566fe507fd8211dd491ac1ac131ca4e0204888a4064f1aada554f4e4bffb72385c527fc643c97c9e06c879e74a361ef7e9dfd0c3fd454e674d934f14130a2d2a17f18deef2f7a921226c3e85e322979620a13380c7dcd9e51b2a62c73f8606a95ab8f00c12e7a3aabe8ab14b565477ce40e02e329aec955579a63c07e2ab26949f97b26da553a7f3cb5f0779405944307302a5c3c10c10de2f8258b3ecdc48b42d32d99da3658aca38694e23925640e85fbc1b7410779ec8f1c55ac44748e8f00cd7bb92e56862a484e1932c0d4c071dc6259d5a9e96898a05128f0bb63b05058f72162c171ad2aa5847aafba4389d23b78c495735fd9538af92ca5820c9ba8afcf4be449b0e11789b590bc1158a1326f0a8f36442250c48340009d89ec6ff3f56597d4ae7a27fa3a1b4630faf5f6589d556bc9222a735b9ce0d0c0946d472340cefce373dc4133a87dba22ca0e3837971ed56f4c4f9365224a14f02da9c601c97c3e783ce63f5fa93124705a2e47019e6c7977e7ca926482028ca32471705ba6a96f678fb94052cabcd7d4b49a4e30f32a9f7742a87a3d5ac41c1c374149876d1f1e028aab9149d2022527f96d420852fd34ec2bf7415ec5c3820f0b26883cc9332b81dcee35517a26648618c438524bd7d2283d03c0855a1cfd4c273c2baec033e8009b122223bf5eb766417b9a64a729f324a1e158efa70351148f85e52cf3c68f8d7c01ac59f706b28ff9c159a0335a08ec023986047707b00d4bbd35be5e79a52e700359cf2472577b3072f6d6d72bc1fe5d18b24c75d174bbc1608ee782e121bc086222416cda177252fd7a20246b55c9cf03cbffd08247b4f2ab3c2343b3749178c95eb94386da483600f2c4d4c94991ca5cba19d8f7212a60e7c562e744b67741a5b93f790aa694de8034cf42f793ba8e3209722afa6820d316ef8fe7c321486687d2143b0db24d94f1079b90f5f9f1efff76b34accc14cedc50a9d5da1b322c7b4554d26876cb8375fcd0c871007720a3ac23181988fdc961429143fd1e1d5f94e6ad12473c4f415a8ca01d8ff0df40e6f4498aa36ad9c214c8e029f5834b025b69306a8220e60b184695471e5448e18f5d47d277b8b67817d298520100b463b00773ab8202e048e45f221538ba47ac00b858a16727bbba3e4dd77a47c6a2e11756567667e5e8b8d5cdecde3cb8df69543c79669c944464db4cf15976cbddc13af419ac4e5109152aa804ecbd6f8c8f9141510d7797033620f6208c479f32f0e3e53c29623e155f5a3733988e0dd2aedc0f437fe82eff4f47c0af15898f72174bb06281fc6f899851ad050f0b487a3ae2bf0b913a94016496398328b92742951bfceb15f57a87bc86d2004e3cd8d31200aeec85596926d32592c +ss = 96e645644a519783d5ebd4d7a489b9c2f9db4ed53a3b1f14892c80407b25f903 d = 47ca2b77c5b717f423222c2730ca5cb9c856bc951d01b2b2c80bd76ccb5539b7 -z = 8f1481d7cab000e33fa07de8dc9627a85e76fabb4428a3376e66300cf12a0787 +z = d55eeb68870b6df148654f14eb4b3ae9084b40f8b5cbc83ff4c419dbbacbd190 pk = a8102cf7e4cef04582be990060177980606196d12ea824ca65d485783a32e42a4e20d41806e8ae1c51544c63c3156a42bd8abe55e36be37c6be6a51eacf02274eabb03f64c4ddba2a6806cce943cf338b09f50c5123c4083446802456ce85248daac7e5d9637a541c755b03300b43c4da96164c6c42c3910d36522e34895055c43847459451b8022d39a2c287ffb85c8459c31c2d183f98c684a959b2cd0a224cbb38713c4034a6668e14cac3c8f9d1b95ee6251f285835444ae0ca4bc2b9aa40ccc564f7943e9bb697f76475c5ab3ef3878ee51c62d244502a3a044f4c95fdb42a7fa0300d079ceaaab0f5720a1ba852fe7148d4a1642d1330942c81b27882c631c3ca3758f56b7718475404ba20cb8b436bcc1116690380507d02c63e62ac58f551072cca75a761f237b5abff58b2016242fb910f24baaeaa47dbf010600881ffd228aaef714c65b496795bce329819418c26321b5c73cb603d15ffa162901f386e9e815940bb5703477a996b313b50ba05a1d41ab65f233abbec534c106224c792a3dc14688332a8313408510386253c7eb076711ec35f6f929c301422192b3f611b36b97aff38a94b00764e9d89f38072ccd6b978e1a31e391cdb2cb3f9e344ba947a73db91891b944de4935d48a5663f85c94ba6ed8a3026c278d645b7b593702733865f12a3ceda3be2787a1efc2a2fc2211f405c3ad1c8c46257059e6cb43f36ccfe6231b730040849233d03b7e90076a7792f865467b6548e541bfaf5b7c3e6059cb426cd263494c641bdbc7616aa8348c6335d42719c0e79ae52931a119856c168897d48dcb44242c505c535698a35cbaa9f80a8145927af6653d31977e827625e3ba18ab7af3621df248434c2cc5e9324f34c60e1ff1253b4904b1952bb7e16dd979c03541a6be9bca09632120aaad6c457942b0077ff01b6808af3fb82d390573bd666f4b89a44d4b80a49b86470981614bc6b0e3cad5ea399e2255e030833485bc69c5c94cc48bbfe7bae3754bb49a2fc1a15db012be519ac8802a5cd005a6adc31abe237d9c2924134235db04b78c96876b084d41c62aca10008237a6f0c12600fd134ac59808418fde238aae358e34c1153842a31cb030bd97ab2cab83f74164358a1a077591c356162d53970ad65e21a994123c4000277d72ccbd0d712026217de9054fe9b38c61fa2c80871ba83a88bc98105e693a15f2213eb957cb276691d4ab70c9b3ec0b3e4e846979c375aaf9b13e075a83267ba7a90a770717b14b40673591e986a1dbac4a87b111ad2854899808de206e6a768770e84023931bd4d996238430859a6f7628964e4465e5db7a9f5a0a77272ffa95a9ae759d47e1885ae6a4e3e78493a25153387f008a74ece68a67a8224e19209f20770bf4c8cb15cc39dc4147549c8cc599b760700db4591b284905562afe554658a07ff22c8645e29006d331bf09936085c4e7c345e2993a7332c9b40124d375c40e266a251002eb03b5dab50760972b7e9785dd585df7c6488ce9218c0171db28a99ff7a557c34936780fe9aa78bb395885085e0243887ffb27030393d925cdeb2a2cc3365ea95b5bcbe4b0bac9bb32e1a90b009de0f6be8ebb3e684514d2425f3f1688f54056f41c8e364b5e89859478349c793a70982818c28a245f690057095b320b2773206a3a856445290ea1636f5029bce3d8baeef0a73f912e110570817bc66d9b8dfab95da8b270898b6e30f28418ac5233a954f05009c2bbac3cfbabd0db906188abe7b72cce5001496360758cb477dc2ec02a590621c93b9067ed346378c419ab634d95267def3148a594be088bc349ec9669e4bba474c4aca165e664986c34a0dfc5c5c4781a61063f10f2c175693b5b5cb7c9b74442050f5d9421e6900cefe35bd942b49e469787471f43b35ef0c86340235525d50904263b2cc052757b01b75414027c9d02db50b4e47e5cb19f6dcb5aa93b3e4874740ce7b99c5a4387d392f686a215fc5b5bb1a9788565de9455be321b50a39105a33e60a9533b506581d03459696192c08626009e723b228df1cac15c645db16faf697a7df68d71a56cf263639aa0185ed25bae84551c60205fe6b98d9328da3604d8d1c70d84c9ad68cbf266baeb8c6b3b9716ee50a8fb5a25bb6a32f0f971369601f9552a52367d9a5d375d06ec7863e051cb44929f17a4656a2cb2c58d8d457897a1aa0d -sk = ca481db6775f3d276a56ca0e60ca79be147e63b6898f4b814c69a06f55111c9824cbc1c109a01a7baa259da651a1a51d60bb358432550bc1aa1cf3656e0667d726c69a39ae564bb99162c824634b8b8a706d82175bd9657ec09a308b51a3b429822667a5135fe4350a8b3ca10e8b03b6da0bbd616ceec0a08476909c6182ef0314b284cc3f43c337307facf7b617348779d7493ae0a25d415124bc5d9134182169238cea1a46a3001a8165713a3e5c16ae03a477207b99c2cc674fcbb14ca439fcc3032e4c2f1e92841d73859c76cfbe245193816d87c12bb3f12763174997760d6887a429a37f78c32cc1ac8facc587aa235821c254a2341b7c6bcf8b52c908836b67d39d63458afa9530fc2748de4a698af346f8b5405dc7b43b05953554021af73c585b6ef248c07ed23116baa18c845571823d25cbae0af57d4f6ab2473b5919cbabdd7b4cccc1be89150cfc585953389172590edd61c3885446b500495247aed57a9fb1140ceb6b29f7f9a9f524106d8cada3432c12468f9bfb9a50b920cde85654c25249350f6760293ddaa28c771963497c4c5230c05862a4391330f54cadc3b0c92b9798f5bdf8b21016725ac8f565466464c2033872684608111248fccf94c61337eb6b1a9017e342c29eb2b148936119797fdb2757bef51a9a2601a00c6f0547b1831b1ca1118cd2e1cdd601a0b491c588cb5ed88ac36ae183848b9f87264cc5b020b2e965e5b89ff74c58cd2b338177bf1350afda9a74516a5845381e5fe132b4089506e8cde6346fcc760759592345927c5c6a97045b0ad3973e806778759b35988953c80b3e7574b7caa225c744372ee3042e07cce978a3f964395d40176aab7905a4bba98250f594c5a96bac41851e09f897df0376a89516040c1f8fccb93d44ab474c56913826c9e2171ef67510b53eb31153fc028b3625aa7a353bbe79cc76d393e209115dd00b5d6c98f80101705544604351cdb87715618343bc3fa227c1e9fa1ea3989390b02c59ec9174e5165239427592a2d973774ca62dbd9410164bcfd95834c11621f7da54dc55c44c594785fb0016448f2cc39a05e01d8581658a2410caa630347c3f0f6c86f344816bd13b3a04313a730f2de9bb50659b642353f6463d2e2a1a78b722287616cdc266b01098b3544632152db3b23938d67c63e51949496e13182326d5b7d70b81d90cc6c5d84d4e5907833a7a76d3850ac4993a696c4b210dcf352a32b4c83dc9114305308129bb4ff73a91d733303bca92fc0083d95d32ca54557a6ff3c42c2bab46ff913e1d39ba3f6092e30ab47f9985c7c439448c92b245259d388e291c04de427f378011ca983b21b2ba8bea9d6eb36001ac4fa5061ee1670066f9252524848973782774cfa795a2285a2669515d4fda7093bc54439753fb6b4e6b781eeff574155b2438e074b332417d751eab1ba1475436e8fc1b670c3928a3553d2bcfd1a59c46ea2542884f91f98a38d42ecc026ebcf91258acc99a50ae1edc88b90c98b74c3961b70759f39b3c20175fa80386376cde2b66dff213151b800921ab6932b45b720932a540c79cca0eaca0a9d5bc841c3acf3c08096c0446326114f05cb09745ebb986ddb76913faa6d5f411cfe987b5808d5b525759f50742969136a5089b060ddcc66c93aa7f94ea179ea896834bcb30147effd42753c9528643b5026b5bcf02aa1ac9be4ac5525f734fc1049f93963fa046b0ffa7647fcc19ccd2a89fe6582bfbcd70cab789e0ba67c6387462bd1dc35302b29ab65b53ee8cac6f7b5cf257b437819fd9ac402019563ed5104de97953453bb139835c67415515aedb810455855e63b5a442940d1ab85d8c80703141c9bb0a6ccaa6949a797bc0658f56065822c52eb14aabbea75c434a22409578f2b695864803c32649d9068857bc4ccf492ddbb216cd73bebfb517235218c6da930f26a1f7353dc2c2bca039b5eba4cd9fb3531523b1d5200c3c822c135b03126154699420e036ba827c849b285b28b81eaa64adf41b33895286ee8410beaa4a1c637617718f26b3a206593571160cff48437b5187bfd5830ebca6d2204584f822703075a40076b403aac5aa32da5a8e2ac0160fc8a5b5e871478c30d523c9f1967b4fe4aea55976fa803568c6863bd50c7b0756eac8ae8da498a8102cf7e4cef04582be990060177980606196d12ea824ca65d485783a32e42a4e20d41806e8ae1c51544c63c3156a42bd8abe55e36be37c6be6a51eacf02274eabb03f64c4ddba2a6806cce943cf338b09f50c5123c4083446802456ce85248daac7e5d9637a541c755b03300b43c4da96164c6c42c3910d36522e34895055c43847459451b8022d39a2c287ffb85c8459c31c2d183f98c684a959b2cd0a224cbb38713c4034a6668e14cac3c8f9d1b95ee6251f285835444ae0ca4bc2b9aa40ccc564f7943e9bb697f76475c5ab3ef3878ee51c62d244502a3a044f4c95fdb42a7fa0300d079ceaaab0f5720a1ba852fe7148d4a1642d1330942c81b27882c631c3ca3758f56b7718475404ba20cb8b436bcc1116690380507d02c63e62ac58f551072cca75a761f237b5abff58b2016242fb910f24baaeaa47dbf010600881ffd228aaef714c65b496795bce329819418c26321b5c73cb603d15ffa162901f386e9e815940bb5703477a996b313b50ba05a1d41ab65f233abbec534c106224c792a3dc14688332a8313408510386253c7eb076711ec35f6f929c301422192b3f611b36b97aff38a94b00764e9d89f38072ccd6b978e1a31e391cdb2cb3f9e344ba947a73db91891b944de4935d48a5663f85c94ba6ed8a3026c278d645b7b593702733865f12a3ceda3be2787a1efc2a2fc2211f405c3ad1c8c46257059e6cb43f36ccfe6231b730040849233d03b7e90076a7792f865467b6548e541bfaf5b7c3e6059cb426cd263494c641bdbc7616aa8348c6335d42719c0e79ae52931a119856c168897d48dcb44242c505c535698a35cbaa9f80a8145927af6653d31977e827625e3ba18ab7af3621df248434c2cc5e9324f34c60e1ff1253b4904b1952bb7e16dd979c03541a6be9bca09632120aaad6c457942b0077ff01b6808af3fb82d390573bd666f4b89a44d4b80a49b86470981614bc6b0e3cad5ea399e2255e030833485bc69c5c94cc48bbfe7bae3754bb49a2fc1a15db012be519ac8802a5cd005a6adc31abe237d9c2924134235db04b78c96876b084d41c62aca10008237a6f0c12600fd134ac59808418fde238aae358e34c1153842a31cb030bd97ab2cab83f74164358a1a077591c356162d53970ad65e21a994123c4000277d72ccbd0d712026217de9054fe9b38c61fa2c80871ba83a88bc98105e693a15f2213eb957cb276691d4ab70c9b3ec0b3e4e846979c375aaf9b13e075a83267ba7a90a770717b14b40673591e986a1dbac4a87b111ad2854899808de206e6a768770e84023931bd4d996238430859a6f7628964e4465e5db7a9f5a0a77272ffa95a9ae759d47e1885ae6a4e3e78493a25153387f008a74ece68a67a8224e19209f20770bf4c8cb15cc39dc4147549c8cc599b760700db4591b284905562afe554658a07ff22c8645e29006d331bf09936085c4e7c345e2993a7332c9b40124d375c40e266a251002eb03b5dab50760972b7e9785dd585df7c6488ce9218c0171db28a99ff7a557c34936780fe9aa78bb395885085e0243887ffb27030393d925cdeb2a2cc3365ea95b5bcbe4b0bac9bb32e1a90b009de0f6be8ebb3e684514d2425f3f1688f54056f41c8e364b5e89859478349c793a70982818c28a245f690057095b320b2773206a3a856445290ea1636f5029bce3d8baeef0a73f912e110570817bc66d9b8dfab95da8b270898b6e30f28418ac5233a954f05009c2bbac3cfbabd0db906188abe7b72cce5001496360758cb477dc2ec02a590621c93b9067ed346378c419ab634d95267def3148a594be088bc349ec9669e4bba474c4aca165e664986c34a0dfc5c5c4781a61063f10f2c175693b5b5cb7c9b74442050f5d9421e6900cefe35bd942b49e469787471f43b35ef0c86340235525d50904263b2cc052757b01b75414027c9d02db50b4e47e5cb19f6dcb5aa93b3e4874740ce7b99c5a4387d392f686a215fc5b5bb1a9788565de9455be321b50a39105a33e60a9533b506581d03459696192c08626009e723b228df1cac15c645db16faf697a7df68d71a56cf263639aa0185ed25bae84551c60205fe6b98d9328da3604d8d1c70d84c9ad68cbf266baeb8c6b3b9716ee50a8fb5a25bb6a32f0f971369601f9552a52367d9a5d375d06ec7863e051cb44929f17a4656a2cb2c58d8d457897a1aa0d7ffefda144195d79e581c91cdf0247f4346e811f890f54f25226b4ab835871a48f1481d7cab000e33fa07de8dc9627a85e76fabb4428a3376e66300cf12a0787 -m = 2e2b70609f3fe029a14d09d5d659871ac776ce2797a0355f16e2eb68f5613fd1 -ct = b7466ff531fcc8fc7d5f9e07b8cc149d5b0578719a022b13ee26b0f4aae47f4a68ef6d93ed10c0a6478a5f5204ff377ac15592583f0080cde56d12273b7cc7fd2726b517d6d87040e12bec524b59e53624853bf92e47787ad7d8374c5578eabad2d70c77d3e03deea2fecbe940621938dce2895ed0370e0f084b65a7467cddaa2ba0670c1e2810764f24ac3f90379fbde1510212f7937d0d08375e7694dcc79cd6e76499869d613f2e536bd40bac048167411183837d7bd03c63cc0c598cb2b1fccc6c3eb5b8d5c6176ba6a5c31cc3eb8d24adde2e5b023c6ca273a47eaef4864d894ccef1ccfbe4b7ad944dca7f3559359d19df5c6e64edc5ae16571dbf192d56a2ecd8b5d147f586afcfe1e1799b6011a0ea1f70b0189a4be459e42e9aeb5a349f58e97fab41f5becf515b914f5a89ffc6452ca00a761a95bcfeb2c8c48e7103fbede12a5689d6756ea6e52bf5ef2516087b19dae8fd945e1598aa694598c28606516300dad67de45bf9990f46e705a542cf05fbd936fc9b686d7a5931c16e22dd130b6d592067f08aaf848cf7e3ba6ac8bccbbe6100c9823324563b0ecb72e86cc7601432995d5314f80b6af1587910ae7f7ee36bc9bd08426f2874e9f910ab0006561db8c3337b911b1d1d707cf94d6eff02322db56bd82ec648cfb98cd141e721af75dda2f50cb9684b251f61187abb5756b301eb93d1edf4651de3fc6efe719220c5ab9add24d3dcc468a322ebdd6f5c22ee916d14d2845e25926229980746d20a41bed832211a91fab25e6cec2ac6129dd87ad4bf6eb2cef08f36c02f72100ec259a558aaca2dfc2a518f97bce67285d201de9235973b164f562151a050f87c37d330438443cd38f1f0bb3a18018d0cf6fb675b24421140f951d6a8c2645ef4e640b79e13f295fd06a5e8e2e9bb5c22178865f5d9a9f10ee40e7c67a54952ef84cd19a9557871b37b6852cc788b368a1fac04b05e16ed0826d72fcda675504a6f80ea2327622e5341f87e98afde0176f1ea0c04e193f2b2b240cc0d8ac64ef8ecaa019f2d30df21ffed196e7bf9c205ad6c3b0d4d2ad3392417d267b6caa5ff456057eb94ee07ec3a5ed9c874ce6c9b204ad540da39a73e60de465ba1a135add746e76ba84b7144735aeb63fc1543eae12a0a713aa097d93f7810e47bdf45ba39534f3b91668cf8db0cf050fffbd18c102c451a39f16746cc44a2c3a129756cea3ef4ef21a02c978eb35d17f05b32e835b66a86f7223561c2fff74b40730142d7536fbc6b9c05bace89f16536aca4fd0991055b1d1199d29a97aeded223041c391a7e8dacdbd8dc96dcfa8682f9162520b58143175ec2bfde03e8a0bca43fef3934fb8a26d6c3ce88cb5a0a66937e76645a224a9f6e6c37cbff29023e81ed9b02e2fe8520fdce723fcc8c9ece0abc5e917139100497ddae1285f3fd1fd0c90227c91ac1a18247ab466b0fc1eddd4b4519db1d2a6e1fa7cea4a3987574fc118e835fd8cf36fa6bba5a68a3e886cc9f645e5a67a8c9661d595bc2f79cea34043a4d5fbeaeb67af0dffa07b5c786b5767c19f52c8294e64a70236b4fdd4d06854f907c1f6b09dd7a50c131dcd146820334cc3ce1ed1df88dc6ce8a347ce1de0432e3163c725355a89f2e96deda845288152999a0f8a7dce991be19c56d2cf2ce16b43448aa85f3dadaf9c097f469eb8bcfd4e377dc4db97752882a8f70d3ca7aae37dd497bf93af12a8ff21c875a3c28b394ee7131818503edaf1322a1822c9836e348289088f77f1ad74016101de4b05dfc6f70e3bc64a05179aba187f4fbc4700f58bcff07e385db6030d8dd58f1eb6644ca0423e7943b91d98427e8bf168330b31b8e7553e24e428371de99a641d6f6a3b3d3b8d728bd7910a1a1562973b1d944f974bd82fb2f68ebaf23bb8d548c2fae1e5f8cea530c49a52ec2022709ae1d9dfdab633fa958817d75f57097ed5167fb5c130741126ed0c685dfd59e77da1040df7f294a03c6181f81df449a1b5c684dfc3ca70ee977110199e55cb6c37baea2bb9a1c4dcd25ff2da3c426ce9ea67a0ab37c4b95e2af6ac19e1f3b9d3de44551987d3fd7c692839ad60e324aa493c59a92e76981d4b4618410f76d7892b11b015e9af9a08771fc634bb5b4e8c080308022ad45ad8fd593ad7ef44c926f8e67bd6323daca6f4ac2b3c9058ed422695c47ddffdeae44cf823247c670b8 -ss = 43ded3b7e86938f54c6df02230811f74dbdaf1bb4129b58642ca440f51602754 +sk = ca481db6775f3d276a56ca0e60ca79be147e63b6898f4b814c69a06f55111c9824cbc1c109a01a7baa259da651a1a51d60bb358432550bc1aa1cf3656e0667d726c69a39ae564bb99162c824634b8b8a706d82175bd9657ec09a308b51a3b429822667a5135fe4350a8b3ca10e8b03b6da0bbd616ceec0a08476909c6182ef0314b284cc3f43c337307facf7b617348779d7493ae0a25d415124bc5d9134182169238cea1a46a3001a8165713a3e5c16ae03a477207b99c2cc674fcbb14ca439fcc3032e4c2f1e92841d73859c76cfbe245193816d87c12bb3f12763174997760d6887a429a37f78c32cc1ac8facc587aa235821c254a2341b7c6bcf8b52c908836b67d39d63458afa9530fc2748de4a698af346f8b5405dc7b43b05953554021af73c585b6ef248c07ed23116baa18c845571823d25cbae0af57d4f6ab2473b5919cbabdd7b4cccc1be89150cfc585953389172590edd61c3885446b500495247aed57a9fb1140ceb6b29f7f9a9f524106d8cada3432c12468f9bfb9a50b920cde85654c25249350f6760293ddaa28c771963497c4c5230c05862a4391330f54cadc3b0c92b9798f5bdf8b21016725ac8f565466464c2033872684608111248fccf94c61337eb6b1a9017e342c29eb2b148936119797fdb2757bef51a9a2601a00c6f0547b1831b1ca1118cd2e1cdd601a0b491c588cb5ed88ac36ae183848b9f87264cc5b020b2e965e5b89ff74c58cd2b338177bf1350afda9a74516a5845381e5fe132b4089506e8cde6346fcc760759592345927c5c6a97045b0ad3973e806778759b35988953c80b3e7574b7caa225c744372ee3042e07cce978a3f964395d40176aab7905a4bba98250f594c5a96bac41851e09f897df0376a89516040c1f8fccb93d44ab474c56913826c9e2171ef67510b53eb31153fc028b3625aa7a353bbe79cc76d393e209115dd00b5d6c98f80101705544604351cdb87715618343bc3fa227c1e9fa1ea3989390b02c59ec9174e5165239427592a2d973774ca62dbd9410164bcfd95834c11621f7da54dc55c44c594785fb0016448f2cc39a05e01d8581658a2410caa630347c3f0f6c86f344816bd13b3a04313a730f2de9bb50659b642353f6463d2e2a1a78b722287616cdc266b01098b3544632152db3b23938d67c63e51949496e13182326d5b7d70b81d90cc6c5d84d4e5907833a7a76d3850ac4993a696c4b210dcf352a32b4c83dc9114305308129bb4ff73a91d733303bca92fc0083d95d32ca54557a6ff3c42c2bab46ff913e1d39ba3f6092e30ab47f9985c7c439448c92b245259d388e291c04de427f378011ca983b21b2ba8bea9d6eb36001ac4fa5061ee1670066f9252524848973782774cfa795a2285a2669515d4fda7093bc54439753fb6b4e6b781eeff574155b2438e074b332417d751eab1ba1475436e8fc1b670c3928a3553d2bcfd1a59c46ea2542884f91f98a38d42ecc026ebcf91258acc99a50ae1edc88b90c98b74c3961b70759f39b3c20175fa80386376cde2b66dff213151b800921ab6932b45b720932a540c79cca0eaca0a9d5bc841c3acf3c08096c0446326114f05cb09745ebb986ddb76913faa6d5f411cfe987b5808d5b525759f50742969136a5089b060ddcc66c93aa7f94ea179ea896834bcb30147effd42753c9528643b5026b5bcf02aa1ac9be4ac5525f734fc1049f93963fa046b0ffa7647fcc19ccd2a89fe6582bfbcd70cab789e0ba67c6387462bd1dc35302b29ab65b53ee8cac6f7b5cf257b437819fd9ac402019563ed5104de97953453bb139835c67415515aedb810455855e63b5a442940d1ab85d8c80703141c9bb0a6ccaa6949a797bc0658f56065822c52eb14aabbea75c434a22409578f2b695864803c32649d9068857bc4ccf492ddbb216cd73bebfb517235218c6da930f26a1f7353dc2c2bca039b5eba4cd9fb3531523b1d5200c3c822c135b03126154699420e036ba827c849b285b28b81eaa64adf41b33895286ee8410beaa4a1c637617718f26b3a206593571160cff48437b5187bfd5830ebca6d2204584f822703075a40076b403aac5aa32da5a8e2ac0160fc8a5b5e871478c30d523c9f1967b4fe4aea55976fa803568c6863bd50c7b0756eac8ae8da498a8102cf7e4cef04582be990060177980606196d12ea824ca65d485783a32e42a4e20d41806e8ae1c51544c63c3156a42bd8abe55e36be37c6be6a51eacf02274eabb03f64c4ddba2a6806cce943cf338b09f50c5123c4083446802456ce85248daac7e5d9637a541c755b03300b43c4da96164c6c42c3910d36522e34895055c43847459451b8022d39a2c287ffb85c8459c31c2d183f98c684a959b2cd0a224cbb38713c4034a6668e14cac3c8f9d1b95ee6251f285835444ae0ca4bc2b9aa40ccc564f7943e9bb697f76475c5ab3ef3878ee51c62d244502a3a044f4c95fdb42a7fa0300d079ceaaab0f5720a1ba852fe7148d4a1642d1330942c81b27882c631c3ca3758f56b7718475404ba20cb8b436bcc1116690380507d02c63e62ac58f551072cca75a761f237b5abff58b2016242fb910f24baaeaa47dbf010600881ffd228aaef714c65b496795bce329819418c26321b5c73cb603d15ffa162901f386e9e815940bb5703477a996b313b50ba05a1d41ab65f233abbec534c106224c792a3dc14688332a8313408510386253c7eb076711ec35f6f929c301422192b3f611b36b97aff38a94b00764e9d89f38072ccd6b978e1a31e391cdb2cb3f9e344ba947a73db91891b944de4935d48a5663f85c94ba6ed8a3026c278d645b7b593702733865f12a3ceda3be2787a1efc2a2fc2211f405c3ad1c8c46257059e6cb43f36ccfe6231b730040849233d03b7e90076a7792f865467b6548e541bfaf5b7c3e6059cb426cd263494c641bdbc7616aa8348c6335d42719c0e79ae52931a119856c168897d48dcb44242c505c535698a35cbaa9f80a8145927af6653d31977e827625e3ba18ab7af3621df248434c2cc5e9324f34c60e1ff1253b4904b1952bb7e16dd979c03541a6be9bca09632120aaad6c457942b0077ff01b6808af3fb82d390573bd666f4b89a44d4b80a49b86470981614bc6b0e3cad5ea399e2255e030833485bc69c5c94cc48bbfe7bae3754bb49a2fc1a15db012be519ac8802a5cd005a6adc31abe237d9c2924134235db04b78c96876b084d41c62aca10008237a6f0c12600fd134ac59808418fde238aae358e34c1153842a31cb030bd97ab2cab83f74164358a1a077591c356162d53970ad65e21a994123c4000277d72ccbd0d712026217de9054fe9b38c61fa2c80871ba83a88bc98105e693a15f2213eb957cb276691d4ab70c9b3ec0b3e4e846979c375aaf9b13e075a83267ba7a90a770717b14b40673591e986a1dbac4a87b111ad2854899808de206e6a768770e84023931bd4d996238430859a6f7628964e4465e5db7a9f5a0a77272ffa95a9ae759d47e1885ae6a4e3e78493a25153387f008a74ece68a67a8224e19209f20770bf4c8cb15cc39dc4147549c8cc599b760700db4591b284905562afe554658a07ff22c8645e29006d331bf09936085c4e7c345e2993a7332c9b40124d375c40e266a251002eb03b5dab50760972b7e9785dd585df7c6488ce9218c0171db28a99ff7a557c34936780fe9aa78bb395885085e0243887ffb27030393d925cdeb2a2cc3365ea95b5bcbe4b0bac9bb32e1a90b009de0f6be8ebb3e684514d2425f3f1688f54056f41c8e364b5e89859478349c793a70982818c28a245f690057095b320b2773206a3a856445290ea1636f5029bce3d8baeef0a73f912e110570817bc66d9b8dfab95da8b270898b6e30f28418ac5233a954f05009c2bbac3cfbabd0db906188abe7b72cce5001496360758cb477dc2ec02a590621c93b9067ed346378c419ab634d95267def3148a594be088bc349ec9669e4bba474c4aca165e664986c34a0dfc5c5c4781a61063f10f2c175693b5b5cb7c9b74442050f5d9421e6900cefe35bd942b49e469787471f43b35ef0c86340235525d50904263b2cc052757b01b75414027c9d02db50b4e47e5cb19f6dcb5aa93b3e4874740ce7b99c5a4387d392f686a215fc5b5bb1a9788565de9455be321b50a39105a33e60a9533b506581d03459696192c08626009e723b228df1cac15c645db16faf697a7df68d71a56cf263639aa0185ed25bae84551c60205fe6b98d9328da3604d8d1c70d84c9ad68cbf266baeb8c6b3b9716ee50a8fb5a25bb6a32f0f971369601f9552a52367d9a5d375d06ec7863e051cb44929f17a4656a2cb2c58d8d457897a1aa0d7ffefda144195d79e581c91cdf0247f4346e811f890f54f25226b4ab835871a4d55eeb68870b6df148654f14eb4b3ae9084b40f8b5cbc83ff4c419dbbacbd190 +m = 7343358fd131bc289baec8ebfcac5c52c29a86c89f8a2b89c695d8a9a7afd491 +ct = 44ba7b437c78913df29cf0812eab3dd51fd8b5701b05cb1d2a1d14b20136fa7e9d9e5d7af26dc9510804d7618ce92df82632c259799f112c493b1750d8fce272605059adfc5b1eaf80a8174e83411d0372ca39b58cb01be69d365da52bfe1aa11a6e791d39d585b8b12a0ea927f75a7f395abd370968bc30ebc8fc669c5a57ccf78874396b9ce7cd8d8c631b438a3b68a617091d530d9db901a015c74e3d4ea6edfa35b5436767068b1e89674a4f568d06e7044f1caf8081ae5a265e8599bc90775ae1cf9cfc974a32a5b8a66a6a2267ea62b9579502b4eb5502e36aa98d8a2055260df975d4cd01301222006b592f177eb4842bc7afaa03a382fea660a9e474357154866dd1e4038fffb6d071f320de03e6f2c17883fc4bf5340a570a46f237f4f89b84bdb78977bb216199b6e27a7d1b5191e0d5c070e1e2bbcf147712a5f430ebdf7286bcea15422f494fb369df448b6afc4e138d98cea211829fbc0393e71ccf445d594565cfe032f1887367abb78e255637ffa20f0f1b1f228e2d69acf1b2c106ecb21a373059032aa5487a0da5fb17e76e8ddf5f8421ced3873129d344e27519d0ec5b742d7ab20367cbc318deab45d41c8dcef9088d94046ed88e0d56b9968b71b9829460fcbe2d671dac8eedc28efddbc79757d3c2129a30a351ad105932e32568d349293be600f4e5059c2c59d65f965c07ab0aad78538dfa5b168b658409afb87cb8f3a4ffdd35fbcff9229c7f486c5595658e2b4053f3da216ed4d426615dc7d5a082593438936684fca464f4c4354acb7c2ebb2a25d2f807707bd6550211727d9fc7d81202fecdec94003d443110acfc975b2f32bf698169354d9f26280416adf6d427deb703c8035aec163dc2f8dffe74a0f7f2708f04999ba13882a7150ca7271789b5524ec6a10bdabe56ea3cbecc9512a3816d3a57941a95bc4d93389c4c957ffd4562c9f2772bb3e87890dd8bd0d4feb01debda6be1970a09a0fdc2d73560cd5eade00d096f50e6d49e26aac8cb171ab6c97fa8c50e0cb9b4baa426bc2dfd4fef92d5f8ed959d0d38d44b7fd5cf21aff1352dff1ac9a7465385228da57cfcf00cb160d9d0327bf50708869d27cd75d02642b86e6818c686b8e42f820a0d5ecb02a4e61dfc198d6a02b598224abd674556545d7ccc990167ef10fddbbc10af57d435587c6eae55f061c544b839f004725fd3d71a5ef37a7d0df88e312c1a52d81d78dea4f271a98f2f6917b9b87a5ad96838dc8f9845ea84447bff19b7a931677ef0bf57c9c28c8fc85edfb08feb73f743dc300ef9e9160802ea150c8cb740c80b242ba7a7acf0453ae36c930dd88f32b1fb2264af22c6127ded256f1bbec4f464d637efefe11a9e81b3810b6799d42eb0b8a887f7e05437ce38ba58c35d054b1dc2d159196dd04237c5b397585a91c25e76940f38ce7dd52263b4735dae9b53e440f302483066a3ac8c7cac9240fbd4c63af16d71bb2999a45e6ef36e3e46823888b59a1c2181e27770f58698b842ca8c5ad73b716e37d9ba95da5f89986df967e19f3298302f14602558df2a860fe8a1646cf81e23bfea2544d3e89b8a58407e237ca5497edac27bd460c78aa9cd565ee02359ae802d7fcc122742f6fe90a82232e15f21a0ff18601d4ff82b767f6ad705c3753e6ba150da3773c0247020828fd5403a5aaf37420fb66b4fe6fa3e82e4fbcc4d8855d5e3339fcd9082d6835b0224d529d5dc2bcfe113370cbace2a00e00708091937ca187c8a7cdf7488128116a89a1a320729b78f2d3a75b1c820ef3f9e1d0e1acb46e3921aba00d09d6932464f968c1b4f1647c27b2b27d3bac4c3ec75b4d2b4bf6e0dfa29d23f7267dcb51fd763f10003a569bad2f3c03d38d34190ffb00b15dbe55c263c1906d3593ffbd7a93051abe2cf099f70405683bf94d9950875e3a63ed9f029013958d0b4929a7dce0dd195b0215db0d9ae503e58972adc71071e95f49c4de82a391a312d2371fafc32b46a4f8c7e92c3fde96e533f77ece0ce1c4d73411e7c243ff55fad0302f7fb204aa86d26f0a05f6f87635a2314129e83213df82cd1cc9b404d429f5712cc0e736fffa0acbf7a9ecaeabd72ca53e8aa81e879a5ed49e64b5a1e76ef93676d492af9c1114bbae9d123896f7ddf6068932e6ea2343ca0f819dcbf2299bcf9be7e4ab8884005f501f617954f116b63c90c1720091619d5 +ss = c7f2c4e84ce91004d3188fc18739f0e4c3ece47f76c3ef22b43b7f3dca97b559 d = aaf6eb40e596a5e3e8218871e708b089240dcbe7fd3641f0e5e41e071ce49107 -z = e2f8d320ac3cb0c52efdc753282f092bc39baf4a18783a48ea031a191865eb78 +z = aacc8be341a319f425312eff5dacb31e6e772efadde7250db9f613c13b454565 pk = 9f711edcc2ab20e136f9412f7151bcf330987bcc5332408392075a25c27e3747c65b5206a91483eb501b48cb5e07d501579b5093255d5e565cf5ca6247064ddaeb7e909a190da61348365c1c508820208ba282b5d48199d7a947ce9946f633bae9d24eb77680ed38b46379bc96b87f3de694e4c759375aaba76981494ba5cc7419d9c67af522a744a506e73ccc5afc2cf27663e813bab0c82c6c64023fd4cbb5b74d6d5bada2a33ea3f407cf5239fdf56bcbb455f39b9d69813662281947659534f9443f84266937c1000d8cccc430d5f9821126b9b28226d8a8c1d7a247e2d0cfce23c52c3a2c92fbbc45a86394500f7d984c9103bb77030b41b6c885b1ca1c8b1107878069d2bcc23b52a38651c8090f3cfb023826cb84089809e9abdf107e0b261a8ccb3cb8e10434acc40312ae18b93b89323c3a7676d0827beae3b4e7407827579efe5750c47a322bf76851a762caf62cc64370742ac715f182c4e6a77f47c5f23644f42010fc029c49c538c9b821c7761c1d2c27d7096c9f66ac8801660beb39cfd23e531603c7145d61668a612b3406d16feeb67bc5578bb972147fbc5e3f14059f55c8941177cf24910d1c94f1380f2ae449f9f56a8b87a8425a9eb73b62979c8c6b9894d6443ecda81133a299fbca37b4a69ad509ba44403ae3e5b2cf4277c8d22b68fc61f5e105dbd8c31f99609ea2770058352b81836b473ebe95c9cea90aeb682ca81b3e70508bb724b9e4c564d6a9600ea59342e9a06d6c4f51abbc3d7483401737e36b6d3270406e5b4589f5401261b790cb02219636ad9c65ea5c48ce79c2cf4758db9bbb55e003e0c64f9b025ddaf1a341f8c2f26593adb9af185915c0489c77f1038abb9802ec812885af603267b7457210f5a00c917039b1b8e1bcbdb8b8b3ca9418d27ca6e96644f7090322993797a54bcb13cf59428d24d499c6f631e8694c50389496c6454fc34aec2677ebe05a0d61cb7ac553e2017c93d7183f06cf461331073786712a2566230f191c8169a1bba3a968a44a3fde764a0b5724e74615f3cc0f819616bbb21055d85f0fc40c667048fec26fe98b901b67a2923c57e17ccd2ed20f8c3731f10b58b7e9234c4151f6f4174fe6216f5aabfcd3b634122896a156bcc0ce93f41a8a25cd825334b53269881a682d8447975b45e839b8fc54b53f8c70a5aa9c786113ffa708ddd5070b841b58d25820fb6e4d8121ccd016b9601dbbfa4116e1aa9f904dfb5ac2b4d607f43a3961161e02092b9233c75b7020d5ab4bd7e3abc3b679c6d003a6a072f0038983677f606ab976474d8616a5dad0c15ebc10986b9be9f19df7c740fd1198adcc019d43766a847f05fb5cd7c16a6215a0dc251c894ac585a5b530e2611c839e98786fc5d1c1b0817da7c20dfafbc67f62bbc872cfdc153d83f328814abdb5f7babdcbb125298127a83bdfc503d6a8a2359136225b2bbd9baa2a11050774924b8662bcfc608848840cdba8f5d72fa3876ea79784e4784860047915c8922c96bd8f625d56729b96d88c3dba9eb3aa308a7940e90147c9110770f712cfc81224f36fa61c1225ca7a653c5ab8d0b4327c014ec580b9b347d0403c235b25cd88c992582d44ca3e1394a0251743262b3d0a059c1beaa7ce47a32f5b72f6fa1f9e8c34d46a391e80bdd48691a930b3b0dace1b6b4b90b948794c14ec7b767ea6b2161702f9f5cf7336badbd2cd5bbc114f7b84d73a24e0049c03f83fc60b618ee23bfc5a286751970bc37b47432f982101e8fcc3ce01089d5898a46baca7265f05e4027ab367c8178580184771975a0ce9a8006ba7774c4e68e443ae644f19d8bedce0373a39b545738371499e3b7c88d20179434082ca235bdfa7701624a09b20bc65a10dac15c6c14268fc73be9d7a2f6556044c49a2006403848a726e767d2713be1dd04828da143df7860a9253566c9932fa54c9561ef5a26d990c308cb8a65ec8ced7181371a517c16a28ee9989f9d5acd50c8ba7085e95c03de98c978999c37195356dfb2e1da0768647c2e4ca6ae1d6bda251103ed17482cb0ce78ba17c69848475835a0c2e9d08b27bb220185a7ca40713aaa70068f75140c37d259150e6b4581670a6f8423a5979645309b7b0ebb0e911a68e46c48b150552f3093d425761196378863c431605ec3e89c8d796e77fa9a772499aec973b63e864ce36a29de99ecec9695d12112c -sk = 90d7129b79c095b3063f53058a4baa74c262a99c822894254a050409215fe67773c26c7a6dcc739d8406a6055b388204604c7b065c0cdccc16fa880858a36d6200c6cec473bf81b245e09c6e5a55a8d8314334c23dc14fd6a9c011a2ca93753afa8609320b1d01fb9a2a4263ddeab8d5a00c40346b8f84afc7b945f521321103a5219b533f52bee42256edd1b9a526013a00ce07d44ebfd66c0bb67775d1acde4aadb7c98731931e54f5c458264894971df5d0ccd93817bb77a2e7d29ce47aba205c0971f34096280cc725a3c22a4ee24a9938cc2fcd9a670272a463c852efc04388ca8ce86a8e9f63273aa208610c2274709c55922ad371c197741af0526218e84c3bcb61355ab94d5c94dcbb4bc08986ac075e01134b4029c8c1d78f829796c1cab0ea2075bc25b797d82a8e0385ef1094d0a2b1731624308487991a7164d8a507f2390f354b4fa3a225d5a46463145ebb57b98724f1d3cabf11ad4fdc00bfa267d8f3107ceb7da37c060aa23e247c28ad0069d30681e37807117ab841f23548caa02212afbc1bc54297202fa549def55ddeb5ba4d10ace2650511366ebe9c1d61fa9d5574c86c0714aa523cdf946e1fd259148a7e2ab5c21884314e3b8082bc210b5209ccb6b95eaa2ef62203a0b707bf9c5db1a155169b07d41c0edb9709744caaa36622f189773ad7a59dc142317454d9c81d55d1c637876f104b6836a6842b87174290125505461eea77d63a8dad03c7941b69d7f66e434922e13a8182fcc35e51c9ce81978e35818504cb32e4a6dfc777227a5484409a38b2a1e2243110e84d024b1fe0e0bb36d4aac0622152599fefa177b294bece391d47553983e420de5462c72ab588b2934680a399ac40ef35a5e8819458e0a7bed1afbb29a446ecbcd4e45a50176ee201526e314cde085afda30226039ceb41a14d87256bf566db30ac77acb80b29b1f9d602e919707c96863304372a353771e1ce994241a12369fbf42bcb4315592724cd5085a589b1b4ca46dc49cd65a1247178151e455741c8b5d7c9cafcb75bf27a5b4ed05b22e932b1e3bfb0c93248400e5485486e0c39fd5ccec680c78e6137be96823deca37c6306d31c9142fc03ec540ac0120ebbe9bd5237583e1972d0c4676708ad35b559fb89bd872428a3e0504350451dd65f58bcb292c0ba437394dae55e6df13a8f41827939016a081935d1788c4807a53a011b89528fb60f386632e725b163e83e105324c3914f26f389dac199a926a25a02624d9a530bf0afafa4c5ffe6a5ef9422e422019ff337d1bc2fe16a07d9a046d183137d477dda378e17a95fc7e02ecddc0d551724a4f36ee7648c9aa771bd15ae29b7259abb63d0983917156ede6557be445735ec539b2199f9816c562842627cc83bcaa659075f5179abdd1a7056d27f7dd96a6813a940a9321cfb1946e95c16836ef028106bc26a3ee450d8e569eeb23b70722bcbf828821648b1668e6e47869afb16c0e4b827c4cec3c4c9948a6c7f874968dc80160a811cd06d58a885d033210341a6f7907f53a82c98468f6bdb7cc7a60107973db0e70f9a387673234d6665019676215ee4597c65a13a2636cee74266f373a4e48bb1db019bf44ebfb0a509e4bdd324314736292de1566f165449c3b618c53c0e7468a801b962ca60d6834276ba3073f725e800a39668bb515b73bb2b055fc55aa3099f4c2b12e027333df63567043b5e81a53f7993ffea69bf0927bad9a6e56cca6f96cad9fc434dd1aa6f2814171cc8b064000bb36931f955858510e5a951d8f3728b2b276962254d061ccec6727d758fa0944246a70d053021ccdb9710c046f5888bb1e0c75455a09394090d0144578053d46819fca8b923227cf36c5d874bb43b34463db3a502b6cfc0b38415f413dda5a1aeda6faeb55269fc2566940615f714ac0883f0cc74645594c17b6027c198a368a608d50258eb75dc00c793912e133290e7954604629de990808cf8c1b7f0795d6cc62892127229579d2600b8b17a16ca7fa2b389ecac698ad722779ba264c1027e39ad6a7c952ad9224b555344235282a6b6a0711fd854740a6a54a9728ae504764f943b7dc92703c03914cc0c6e9376aabb4cf52c00dcc211cdf81ede889529d06ca404a08b719e35176f86c2aec7e40d1210169cc6a09f711edcc2ab20e136f9412f7151bcf330987bcc5332408392075a25c27e3747c65b5206a91483eb501b48cb5e07d501579b5093255d5e565cf5ca6247064ddaeb7e909a190da61348365c1c508820208ba282b5d48199d7a947ce9946f633bae9d24eb77680ed38b46379bc96b87f3de694e4c759375aaba76981494ba5cc7419d9c67af522a744a506e73ccc5afc2cf27663e813bab0c82c6c64023fd4cbb5b74d6d5bada2a33ea3f407cf5239fdf56bcbb455f39b9d69813662281947659534f9443f84266937c1000d8cccc430d5f9821126b9b28226d8a8c1d7a247e2d0cfce23c52c3a2c92fbbc45a86394500f7d984c9103bb77030b41b6c885b1ca1c8b1107878069d2bcc23b52a38651c8090f3cfb023826cb84089809e9abdf107e0b261a8ccb3cb8e10434acc40312ae18b93b89323c3a7676d0827beae3b4e7407827579efe5750c47a322bf76851a762caf62cc64370742ac715f182c4e6a77f47c5f23644f42010fc029c49c538c9b821c7761c1d2c27d7096c9f66ac8801660beb39cfd23e531603c7145d61668a612b3406d16feeb67bc5578bb972147fbc5e3f14059f55c8941177cf24910d1c94f1380f2ae449f9f56a8b87a8425a9eb73b62979c8c6b9894d6443ecda81133a299fbca37b4a69ad509ba44403ae3e5b2cf4277c8d22b68fc61f5e105dbd8c31f99609ea2770058352b81836b473ebe95c9cea90aeb682ca81b3e70508bb724b9e4c564d6a9600ea59342e9a06d6c4f51abbc3d7483401737e36b6d3270406e5b4589f5401261b790cb02219636ad9c65ea5c48ce79c2cf4758db9bbb55e003e0c64f9b025ddaf1a341f8c2f26593adb9af185915c0489c77f1038abb9802ec812885af603267b7457210f5a00c917039b1b8e1bcbdb8b8b3ca9418d27ca6e96644f7090322993797a54bcb13cf59428d24d499c6f631e8694c50389496c6454fc34aec2677ebe05a0d61cb7ac553e2017c93d7183f06cf461331073786712a2566230f191c8169a1bba3a968a44a3fde764a0b5724e74615f3cc0f819616bbb21055d85f0fc40c667048fec26fe98b901b67a2923c57e17ccd2ed20f8c3731f10b58b7e9234c4151f6f4174fe6216f5aabfcd3b634122896a156bcc0ce93f41a8a25cd825334b53269881a682d8447975b45e839b8fc54b53f8c70a5aa9c786113ffa708ddd5070b841b58d25820fb6e4d8121ccd016b9601dbbfa4116e1aa9f904dfb5ac2b4d607f43a3961161e02092b9233c75b7020d5ab4bd7e3abc3b679c6d003a6a072f0038983677f606ab976474d8616a5dad0c15ebc10986b9be9f19df7c740fd1198adcc019d43766a847f05fb5cd7c16a6215a0dc251c894ac585a5b530e2611c839e98786fc5d1c1b0817da7c20dfafbc67f62bbc872cfdc153d83f328814abdb5f7babdcbb125298127a83bdfc503d6a8a2359136225b2bbd9baa2a11050774924b8662bcfc608848840cdba8f5d72fa3876ea79784e4784860047915c8922c96bd8f625d56729b96d88c3dba9eb3aa308a7940e90147c9110770f712cfc81224f36fa61c1225ca7a653c5ab8d0b4327c014ec580b9b347d0403c235b25cd88c992582d44ca3e1394a0251743262b3d0a059c1beaa7ce47a32f5b72f6fa1f9e8c34d46a391e80bdd48691a930b3b0dace1b6b4b90b948794c14ec7b767ea6b2161702f9f5cf7336badbd2cd5bbc114f7b84d73a24e0049c03f83fc60b618ee23bfc5a286751970bc37b47432f982101e8fcc3ce01089d5898a46baca7265f05e4027ab367c8178580184771975a0ce9a8006ba7774c4e68e443ae644f19d8bedce0373a39b545738371499e3b7c88d20179434082ca235bdfa7701624a09b20bc65a10dac15c6c14268fc73be9d7a2f6556044c49a2006403848a726e767d2713be1dd04828da143df7860a9253566c9932fa54c9561ef5a26d990c308cb8a65ec8ced7181371a517c16a28ee9989f9d5acd50c8ba7085e95c03de98c978999c37195356dfb2e1da0768647c2e4ca6ae1d6bda251103ed17482cb0ce78ba17c69848475835a0c2e9d08b27bb220185a7ca40713aaa70068f75140c37d259150e6b4581670a6f8423a5979645309b7b0ebb0e911a68e46c48b150552f3093d425761196378863c431605ec3e89c8d796e77fa9a772499aec973b63e864ce36a29de99ecec9695d12112c13dd780ec5347c512cfabf4c2e6a44cb2b17993c7c746f93c1400a5db9f12511e2f8d320ac3cb0c52efdc753282f092bc39baf4a18783a48ea031a191865eb78 -m = 4725dd8fb314bfd8ee23731c2341dbe114606d9abe6434c471b5573e7df193bb -ct = 09d3db9d18741652a2c7e32c01b227ab83a0114861e9ee7dd8cfd7a5cabda2ce4dbb134d32a7684fd209b39f39ce509217c18c5736f38c8466472122f75a18ba812ec9e030dd995b2510501d63ff7dc433f8590615cdd385bc5d21a275e45fc76fe9c77fca8a772c47f0d59610a43cd061526f79f43a00a354c845abdeef15fbc54df94a347c07ca54abc28c477dc80ad504420860a981c7e271cdfc565fa45310146b61cce661fd7d2fe8e59fa3c61dd4ddf24c5b9379cd004d18856d2282fb0450ece55abfd96ea517e467614dd0fc4c0096dc3010fad4b2d29a03dbb70ca31122d22caf0bff1806196ea2d1d5d4a04d52d98fc55def3839d78eee2582af67c723282337d76683cc686a391242b94dba4f1398ab607d013150755c4e42fcf9a08cfe2029cd3b89fb4f74aab1874c5c5016d0bfa8aaa518c2c698aa016cce3b916edb64b65bb18db1fd750a9e24a0410d37804683f30d49b9c4bc7e0d84b97a04662eefa5a087db174260f3dce826e974370d391ead39e0482a3370f39b84078c8a90038dae8de5d86b62e1d1cbefde3097b05e64369436277d3ac7c37c27ac0a404b12682b317bebb101b94c7cf72d16db763557271aaed3d54a5a39e5b720440da3a701a10b441b9a5116d0c6edcc3aaf939394ad97539840598368d7bee2cef81ac0f5d3083f730eadd1e1b2f432019d74fc65ee14d466c25e9715e145f8f8a2e6b2305a7afac10a9b625ded3f16434ca60044cfce02da11a8a60e7306a009bec0f90158538a73334dbde3c97582104c19b1a19e40c70dc7d8868ee6472cca7120336231955bace8daf0f564a2d890f124e38229d22999487d37b1beb73a10b9d6cea038ffd8e92ca121bcc915095c676f67836a5f8c9cde542028fa7b5c59680dd8635f170c24b1dfee41c097108cab8e69014a7d3e4f80e68626fe544b6cf3fd8591da736f45dff1a6dbbdcb249931762ac44a7396e0137699d53b3039aefcf135b21f6db0c1e53d5bb4da9114b271c2c66e4bb7620dd11801163e796c739ae993ff7e9de87b6b0a90f38d6d9c55917f4360d5c18e1306fd4487515bd8c87a3487170677079cdf43d9e70b2f94788e3df366d9d0a0d9fe77978af82c66f5d79fadcf4a55e83041e5196f1dcb9c492fa6b57429cc1425008f041c318b243879b16557b8464bff128cedc2d552c98e8f1e9ccb2ebc53132fa34d21127bc1d3f80e5425f12f91462b93cc80e79b2820ddb78c9e239f4898db215a9a600229becbad7dc8fb98e4980f16dd4ce6be6118463567d6b63cff347fa1420e846f1dc8579eeacb5ea7560982e772b2032353a9eba1730195641a7c56aa48446cd8176cd52cc4b12d6fe5050b31cbff7f0c3f424f0bfb2e70108ac70a3aaeb7663d8f059f05a1938c47f30bbb0e492128db3d40a0e86b0f12b3c6f3029955a1f9e82df2b405aa9913fb8a584f06b7f62e633bd06fd9581e1648667ce90f1dc47dc9f56c32b396cfa2be71bea10cc7bc85fb79f409a75369476dfac5d53141f106d6d2c440aa319740ceb08f25f4314063420ad5736fb26cf8015548f25a6fbfc2111bf41dca601544410ac091afb6952e854b80252314152e320ef0f5948c3411d71c4c9424616e29eebc4dc02baa6f931023294b2ead21c8f6873c3ff64055bb4da5676d887a4da2bcec465d2e611e033a49a7482a5363e5f67f9fb2bfe8e7e9d6d5a3aa58d6cfc371b1dae2190bb9d3f86e3d647d76874d260fec1dcb836d98f804f71be0ed01b232e1c41937deb080673e00aa505047ec4e2095011fb5ddb61e51e27023fce4a5167139191ff4daef0f28ff72a854bbb104683b08d2f0e0149f3a2712bbdf31a15364dcd382f5bd814f0d46e407dabeab46736fbfee139a2e5fdadf9ebbc1839ff9a08d5abff806c7b875774a8325bd1003341b57145a6b29d7947f7a38cafc57259c33bd63d552a2afcda47e82f47cf21a57a06b3452207165aa28e97f96d675f3c44f220f7573d3646cbe61200dcaf1ec7b1e2c49a7ec48e4d8021682ee3319903ba68e0b2b3a4d5d6400d1a068ff9c53c881d855b63f983b9a1104f712a7c15f37a7862309b6c0561141e58065b0f69dddd7c9ed8d84c31823faca9bc00fe251edf03f903409a7bb26cc69417a146eb2a958f755245891452af0098d27fa16edb21eb2c85c01a546951f25be67a89cdf749653dfcdeaa7f656 -ss = e24f527de7da7e7dded6b5b0bee5546db496ef5baa7e83c219022562478f38d9 +sk = 90d7129b79c095b3063f53058a4baa74c262a99c822894254a050409215fe67773c26c7a6dcc739d8406a6055b388204604c7b065c0cdccc16fa880858a36d6200c6cec473bf81b245e09c6e5a55a8d8314334c23dc14fd6a9c011a2ca93753afa8609320b1d01fb9a2a4263ddeab8d5a00c40346b8f84afc7b945f521321103a5219b533f52bee42256edd1b9a526013a00ce07d44ebfd66c0bb67775d1acde4aadb7c98731931e54f5c458264894971df5d0ccd93817bb77a2e7d29ce47aba205c0971f34096280cc725a3c22a4ee24a9938cc2fcd9a670272a463c852efc04388ca8ce86a8e9f63273aa208610c2274709c55922ad371c197741af0526218e84c3bcb61355ab94d5c94dcbb4bc08986ac075e01134b4029c8c1d78f829796c1cab0ea2075bc25b797d82a8e0385ef1094d0a2b1731624308487991a7164d8a507f2390f354b4fa3a225d5a46463145ebb57b98724f1d3cabf11ad4fdc00bfa267d8f3107ceb7da37c060aa23e247c28ad0069d30681e37807117ab841f23548caa02212afbc1bc54297202fa549def55ddeb5ba4d10ace2650511366ebe9c1d61fa9d5574c86c0714aa523cdf946e1fd259148a7e2ab5c21884314e3b8082bc210b5209ccb6b95eaa2ef62203a0b707bf9c5db1a155169b07d41c0edb9709744caaa36622f189773ad7a59dc142317454d9c81d55d1c637876f104b6836a6842b87174290125505461eea77d63a8dad03c7941b69d7f66e434922e13a8182fcc35e51c9ce81978e35818504cb32e4a6dfc777227a5484409a38b2a1e2243110e84d024b1fe0e0bb36d4aac0622152599fefa177b294bece391d47553983e420de5462c72ab588b2934680a399ac40ef35a5e8819458e0a7bed1afbb29a446ecbcd4e45a50176ee201526e314cde085afda30226039ceb41a14d87256bf566db30ac77acb80b29b1f9d602e919707c96863304372a353771e1ce994241a12369fbf42bcb4315592724cd5085a589b1b4ca46dc49cd65a1247178151e455741c8b5d7c9cafcb75bf27a5b4ed05b22e932b1e3bfb0c93248400e5485486e0c39fd5ccec680c78e6137be96823deca37c6306d31c9142fc03ec540ac0120ebbe9bd5237583e1972d0c4676708ad35b559fb89bd872428a3e0504350451dd65f58bcb292c0ba437394dae55e6df13a8f41827939016a081935d1788c4807a53a011b89528fb60f386632e725b163e83e105324c3914f26f389dac199a926a25a02624d9a530bf0afafa4c5ffe6a5ef9422e422019ff337d1bc2fe16a07d9a046d183137d477dda378e17a95fc7e02ecddc0d551724a4f36ee7648c9aa771bd15ae29b7259abb63d0983917156ede6557be445735ec539b2199f9816c562842627cc83bcaa659075f5179abdd1a7056d27f7dd96a6813a940a9321cfb1946e95c16836ef028106bc26a3ee450d8e569eeb23b70722bcbf828821648b1668e6e47869afb16c0e4b827c4cec3c4c9948a6c7f874968dc80160a811cd06d58a885d033210341a6f7907f53a82c98468f6bdb7cc7a60107973db0e70f9a387673234d6665019676215ee4597c65a13a2636cee74266f373a4e48bb1db019bf44ebfb0a509e4bdd324314736292de1566f165449c3b618c53c0e7468a801b962ca60d6834276ba3073f725e800a39668bb515b73bb2b055fc55aa3099f4c2b12e027333df63567043b5e81a53f7993ffea69bf0927bad9a6e56cca6f96cad9fc434dd1aa6f2814171cc8b064000bb36931f955858510e5a951d8f3728b2b276962254d061ccec6727d758fa0944246a70d053021ccdb9710c046f5888bb1e0c75455a09394090d0144578053d46819fca8b923227cf36c5d874bb43b34463db3a502b6cfc0b38415f413dda5a1aeda6faeb55269fc2566940615f714ac0883f0cc74645594c17b6027c198a368a608d50258eb75dc00c793912e133290e7954604629de990808cf8c1b7f0795d6cc62892127229579d2600b8b17a16ca7fa2b389ecac698ad722779ba264c1027e39ad6a7c952ad9224b555344235282a6b6a0711fd854740a6a54a9728ae504764f943b7dc92703c03914cc0c6e9376aabb4cf52c00dcc211cdf81ede889529d06ca404a08b719e35176f86c2aec7e40d1210169cc6a09f711edcc2ab20e136f9412f7151bcf330987bcc5332408392075a25c27e3747c65b5206a91483eb501b48cb5e07d501579b5093255d5e565cf5ca6247064ddaeb7e909a190da61348365c1c508820208ba282b5d48199d7a947ce9946f633bae9d24eb77680ed38b46379bc96b87f3de694e4c759375aaba76981494ba5cc7419d9c67af522a744a506e73ccc5afc2cf27663e813bab0c82c6c64023fd4cbb5b74d6d5bada2a33ea3f407cf5239fdf56bcbb455f39b9d69813662281947659534f9443f84266937c1000d8cccc430d5f9821126b9b28226d8a8c1d7a247e2d0cfce23c52c3a2c92fbbc45a86394500f7d984c9103bb77030b41b6c885b1ca1c8b1107878069d2bcc23b52a38651c8090f3cfb023826cb84089809e9abdf107e0b261a8ccb3cb8e10434acc40312ae18b93b89323c3a7676d0827beae3b4e7407827579efe5750c47a322bf76851a762caf62cc64370742ac715f182c4e6a77f47c5f23644f42010fc029c49c538c9b821c7761c1d2c27d7096c9f66ac8801660beb39cfd23e531603c7145d61668a612b3406d16feeb67bc5578bb972147fbc5e3f14059f55c8941177cf24910d1c94f1380f2ae449f9f56a8b87a8425a9eb73b62979c8c6b9894d6443ecda81133a299fbca37b4a69ad509ba44403ae3e5b2cf4277c8d22b68fc61f5e105dbd8c31f99609ea2770058352b81836b473ebe95c9cea90aeb682ca81b3e70508bb724b9e4c564d6a9600ea59342e9a06d6c4f51abbc3d7483401737e36b6d3270406e5b4589f5401261b790cb02219636ad9c65ea5c48ce79c2cf4758db9bbb55e003e0c64f9b025ddaf1a341f8c2f26593adb9af185915c0489c77f1038abb9802ec812885af603267b7457210f5a00c917039b1b8e1bcbdb8b8b3ca9418d27ca6e96644f7090322993797a54bcb13cf59428d24d499c6f631e8694c50389496c6454fc34aec2677ebe05a0d61cb7ac553e2017c93d7183f06cf461331073786712a2566230f191c8169a1bba3a968a44a3fde764a0b5724e74615f3cc0f819616bbb21055d85f0fc40c667048fec26fe98b901b67a2923c57e17ccd2ed20f8c3731f10b58b7e9234c4151f6f4174fe6216f5aabfcd3b634122896a156bcc0ce93f41a8a25cd825334b53269881a682d8447975b45e839b8fc54b53f8c70a5aa9c786113ffa708ddd5070b841b58d25820fb6e4d8121ccd016b9601dbbfa4116e1aa9f904dfb5ac2b4d607f43a3961161e02092b9233c75b7020d5ab4bd7e3abc3b679c6d003a6a072f0038983677f606ab976474d8616a5dad0c15ebc10986b9be9f19df7c740fd1198adcc019d43766a847f05fb5cd7c16a6215a0dc251c894ac585a5b530e2611c839e98786fc5d1c1b0817da7c20dfafbc67f62bbc872cfdc153d83f328814abdb5f7babdcbb125298127a83bdfc503d6a8a2359136225b2bbd9baa2a11050774924b8662bcfc608848840cdba8f5d72fa3876ea79784e4784860047915c8922c96bd8f625d56729b96d88c3dba9eb3aa308a7940e90147c9110770f712cfc81224f36fa61c1225ca7a653c5ab8d0b4327c014ec580b9b347d0403c235b25cd88c992582d44ca3e1394a0251743262b3d0a059c1beaa7ce47a32f5b72f6fa1f9e8c34d46a391e80bdd48691a930b3b0dace1b6b4b90b948794c14ec7b767ea6b2161702f9f5cf7336badbd2cd5bbc114f7b84d73a24e0049c03f83fc60b618ee23bfc5a286751970bc37b47432f982101e8fcc3ce01089d5898a46baca7265f05e4027ab367c8178580184771975a0ce9a8006ba7774c4e68e443ae644f19d8bedce0373a39b545738371499e3b7c88d20179434082ca235bdfa7701624a09b20bc65a10dac15c6c14268fc73be9d7a2f6556044c49a2006403848a726e767d2713be1dd04828da143df7860a9253566c9932fa54c9561ef5a26d990c308cb8a65ec8ced7181371a517c16a28ee9989f9d5acd50c8ba7085e95c03de98c978999c37195356dfb2e1da0768647c2e4ca6ae1d6bda251103ed17482cb0ce78ba17c69848475835a0c2e9d08b27bb220185a7ca40713aaa70068f75140c37d259150e6b4581670a6f8423a5979645309b7b0ebb0e911a68e46c48b150552f3093d425761196378863c431605ec3e89c8d796e77fa9a772499aec973b63e864ce36a29de99ecec9695d12112c13dd780ec5347c512cfabf4c2e6a44cb2b17993c7c746f93c1400a5db9f12511aacc8be341a319f425312eff5dacb31e6e772efadde7250db9f613c13b454565 +m = 1beaad495ce5da859511454a6e6d84c3a3e0d73bae4cb1cf8ee16aa1539d37d6 +ct = 75c5868844a4edcb4b8a4aa4a64dc9e48ce3379a2f3b2594a6d6c4ef188cada5895d919ba771cb899f4f24d720a2016b1e2da3a793baaeb8049c0484040c659d6fa8a68bf949003e3634613fc81c4e474c852f64e6d2f8411803a54e86690a2793ac5fdf445b6f0f80a6eebb77779ec1b04e5d7c9a161a5f82975a1604a90e57fa58504ab4ed2a5add8724734ad36107f16da178e31a722348502fef33f8458faaab006eaea4764dc7e0226edeb520dd5c6c6039bd912927d08f46a01675f2004607cfeab24c5f9a08d5a2667810f3023dd309f37b88b149c24f2b9493b6f8761d1f450bb821bd954abd119641ced5ce8bcd7911430bb8102b0aa15db06384ebb7b2aab0ef4f050cd124f91736059f83f577b42c6a887bcb12a6708430415b44a7cff5751818a116cd1dcc3d9ab2cad3168bf6d44decdd70592e75df91755c96704835f858e0dda900e4a9fefa1af12ddb75e8913ef58095a3e90edcee257c9afe2d01404845191d1a3e29d9352ed737d2807b0eb6a221d7dc0405dbe44888cf618c5d0a9ee44f15b3bc2c9267d0d917132ea57fab6d3e9400cff77179cb129cfa6c0dc371bf5974f2851d0df03757cfc54005e4ace8f23157ffa8a6550b01436f5d15de95437ca7ff7ac4765f272002b9a1c945d28fb92df09dc3d0ce9e0246c745d7ea09b08719d4144435a56455040499c2024e1c093a82309c302cf70ba2261d78b47f82913979fff1946a12c05f3629bb98dc95cae650717d057c0bce14cd1a2e4734a138f26724630140f05789021670b40809927503d23fb8db750ce168e4e18d616d98a7422e4e8369417a7e031e3fca6ca744e7e303a000ebb609f2f791c4a01a67fd5525129043bb286c8faccab65d2d4ea91c3dc432d6f0853cb331f8d1ccfa674308e426c0ae974628c315d78ac41d952678a1d6d542f3fff6419866f90c23f78624de718b7b53213d29660b624e9456fc4a07c813d77f91c4a5f09d2f6f51ebd1e33b8bf33385e7d020d6b390c628c9d0ef5b4361d43b9ced8f5aac7c0f3f089485719bf2db3ac98757f938ec8c18a77765fb1a203271e1193d480bb44ef0117cf9210c08586730160415b4f8e137ed4c53964b39a381d3b86b8cbb1e76b3fcadccd85276b97a4f11b27b81a68a22c4c56b6af0f46d47a13e49cd5ddf7e9dcbef21702b35af1f4a009e9f2260d7b422066479bcb8c270fa142ff6787d437df7469b13c703e553f9bba485c123665b917027e8d4d8a957a0289c39c08f5be39774427763ea4426b1804e266a3f398960e8cc2c47d0fe64934d4d8f586590028e38ddd0f3f861d44e9db2a051510df1823bfab436fecc68825191b243acfad9da221fc5b3b2b5cb8cba2ea2991e4f5b97d79d39e41478bcb7a949233361fb05e7cb66885db9f46975a6c82408633a78ccc68562509228f175859ba382784871436dc0f2be45e3e38ea4e51de96f6752054774dc11b984575209a0de45238d67c722f27b4ab207981453704312ce2b717c8ce5419b065a3673ec2ced5968d2affa24f5cae7d302118b0206795c13a3900228d03eb8dede138110e4a39757368246253468db22fb5a09834f4d1baa647aa98b87d8fc880eb03563aa602726a94210b406237581ad4c44168874ae41c6f7669b6635be6016bbe1373bdfd9de8c95aa22f206149f3e2253f7a790ccb6728fb573e3fede6c61f83a3ba93694e496bd598d5fd6454eedcd82bb4fb6df43e9d72d3656289a06f17f44109288d01cf881cb2161857924fc2edbe71ee06f337b2caeae12374d95c228aacff1ec052a5c453ad87185598eb94c9a92799e1035ad7ad8c10a3ac7081cac06a47940a3bd768cddc45d01a24c12e177b58d4b86dc411a42bb5a77ba368fcfbde11ebb06394182a78c8dfd0bf32e889352b333e91fb3e4861f9cd7862ab63b165893ea8c9d23a9bf5b850a4ccf2a4a62f4a17cc24acd0e6af49762e45f28df33a94f859075812cb8c9a73874f93dea97a6b3ead41baa4a63ca01848e919e4dc95773d9a19c375d721e11297af63d8560b8eaf9c0bb7345931c252e044cf4cfd50338f9231552611387f21d58ee25664b3d4aa6b6aed4a598e5eca7246afc40900bcbf214d15d7f482d2614fe589a26fb84e62790ea0e1bd8bca67ab1c06e64a859c9d62d57afc155cb15b10c0faed4757fbd5597c5f18d35ad1a4a5e948d0b0e905e +ss = 8d7bd321930854ffdb905660ed0e01a6b763147ce8289a6016c780b5d05ca2e4 d = 6500f32c93415cfdbc0bd31d78d5be95cb9060c8cfa2013955b56f8b6868b322 -z = 393308641a9a4647f230201e1389624a296b55192a9819fcb19ab77c25f95445 +z = 2779aba933159a5aa043e2fbe31b14d2e56f93e83763e19787607196101d3f26 pk = f3fa06111b74ab835cc8479a8ebab78552ab3a3ac845a332bd1200c0635d3ad6768a4773aa803ebc08a0d7f772ff78ae9c90b5dd1b50e86724fc89110c128bda8209f0173e4d23210910bb05832b32017c182915308563c938695a0a8c49e6108c972587b04e6c916d5ac10ab425c15b370b0a4273d33530245048e62222d6211caab6a25332651eb49541754d9ec46e63dc4c1b9886efc3ce63596aea297aafe548b20581fb98a755ebac6fe701c23885e2141df14b4933c70040a295144a74a440487741116175addee87e656136a455bc9d1c5d611a22157aa3dd288b4ffa1d79668bf152bcb71108dc5916a223a703d376f3877406081c45a08470e4ae5679b34d2b4381335d8d5120282a656f121a861777d597a3b8910a67749855dba05f36831bd101ebbb427c92bd62f9c7f1a99a47c94e9dcba438835f3e053011f180f501c82611a64ec79e8b3563816a3fbffc5e033a114b8c94c9fb3391e0bbb8d4a33be98b219500f53b782fb2482fa9089b46b6f32555ba583370622771d02c6142647e6b87ddd382428552e58b80a66255394ab3815aa014c31878b74e7121b9f6d084edba988b43104910677aa62a1b27035de440b055146d15c466ea340b4658a41a885fe206c382923fd079f988b831a99d42241cc8637a647216eef18497298509832f8ce55235771e408a4bca646284771a0ae66ecdc2bb9d696d799c3cfad47a5a8b49575618bdac931d00c718049760f880831092fe3acd56d517377b00b156accc3ca6957ab22529673a59bfe87846c5431ef6b9c6c3201841da1451b881b2e26e44ac71e8858eeaa55aabd45281b56345222453440f7e427ebaf90bcd23c75e1cc96776ccdbf92766c778ad3b0a43a82463d09d79b90919eb76084438413573eafa0a60d26bd45ba0f75824c5808112406950d1ac5b226b9332709d1374b61957bb20ad7c33576bb68d265c7ddaaa12788c9e015a96009c0f99521e98e5c0cb38089d2101ef8700fed95e7f643a5dfc686fda8ee3588042d54e3e78b4502bab59794257a277a983ce87c29c18f8535b07960bf20a3014974883529ba033a9604370a926778689937c774e74a3aea922f5fb717a7b73631c2e1f8c33f499674e584dc7f48e3efab83512c0f723ad981452003840215912e3d0abe816a58af87e1cea37daec759da34e24033c1842b2dc0a6909991b9e205178596c812a0cbaa48efb3586b5b6963fd445140bcfab6b4390832de8e27851b10619e699836a692bf44ceb23cd1f6938222b4b83f4a25a0c0c9ff397195bcf5dca633952aaf0321b121518f887c5ae945821f9b1150bc1d2401a7547ca3386bc33232cc58c6370508542994ca6cb098b01033c0c97ff468bc1c726a992181882ca810115fd2755ec18ce0f88cd37fb61580c039ab121ce95af498bbf4eea277eb780d3e0a0959a388d6a290fe58a64829184b763d3636b0551a90e5a9723b26f2c4869ff14ba806153d6ec32ad4c42d27161bf051be85303d9167245684bdb3198673c668e579a72136b6d252225b49f25746298532990352b90d82f6e324fb5877176555a078b82ac10bc8ea63a2b9067f13026584abfbc473909d50c58e9bc47bb99308298e6e90b3671adf643742e669a93e2a90b26723af4cf6bb64446619bdee7b5088369fbd737af0c4ae367313c699f384205c14c13c38599604390c7c911a5781bc2511208679510dc0d0dec26ec46718c748b59418bc353b7618195b77992858c06ff15a9077a37ace35101554e8a3932a9a9138a800bd3484b1b977d53f50a0443538aa5516780a094e6306e7842ee6a753c412d2a89c23eecb2b26a6ac90b3e890466a557394b520a07cb671ae9cd2c43621bf55a99a98392b9cfea6373d4b136dafa78c6e93ba7573b429b50be5949a254714c720721699290a510581b6af396879703aaf4a9781268446ba96a072009ffea0250c793237744e36bb0d3d752e1a6caa346a2f9d1695d49aa1aa2535c6449e8f4abf85079c0b99b91ac2e91613de6368c430a886eb15b192805e9b5cf7e587858b852f1d73d1f0b557684af2dcabcfc14bc8bfb76c2c97f030aac9768982feb815e2471c4d1a15b5c335af4091acc5bd189176b477938ebc700042cdbcb7385e10c3121b179660eb65365d9417ddacfdcb371aaef7abb3c2cfdca88891dbf808a90028d4f12c57e4985f7 -sk = 0246c2025246911b525e6c3421584bfdbc83d73ab936e76a26236a85215c78db7ddd010c2e038e3dda69b5aa2e9f4997d8589bdbf918be1c046cd518e6958ae6925146009d185b53456b5e16d59257f20cd0f6677535510d02602d5ba5b61c440fa07fabb1b5fbb38437e90522665776892ef205a41a1a2083902648844dc9d65e633266af871481f036a2888d3fb9901355397f37875a4494777c781ec40478d09a820204a4115701d25a74b4bd91676ea6391fa160617c80cd05b0a80e040cdf22b29978ca55282f2c40316a35433dcc8ff7cccf4280c0b11c548b5cc08fa45bd0760ce03a02f25689d0f057fae44cb1574c42e760cb331c2ce4be16823dbb2870592ba844f30dc407298590a088425e023b856e106437c6074547260a856e648cba07e51a23e70d7cc65656b4692ec24277f04905c4aeeaaacd36341c705b504cfaba73201c2745ab06b056f1768447981e0d676ec904698edb230f369190d8c1dadaa5ca59001ee8a68c302f04298dc5700c56b2b577d89cd9a585b239089847cd3e96ca80d928867b27f3657987724ff9031649c246cbcb4673f6cb8544150c9975a13938c89a68cd0b6de5237fc8d2b7a6bb94e0c0856f00b821636801e9ac84f35276065ee4108bc1d755c1c428566a1ca3762d050458dbc7093567a4465453ab8656272a3c03b4a3c55929271437724471d5d4926109c9792ba49d117813948106d27c33069eb3c40aa8370b79e23f35934ac28666fe72b43f722151f3c26c96cc3b6a40d9e1876e55970f252811070fefc00d70a009e4871f136a08515ab239c33e2de638c4260d0c89cfe30b8f8e5927f2c59fea3947ffd0bd636b10876c3c387c00e15469b42b80bfeb8681dc7715c2b248ca6fed92a9399b72d1023f9507229593bd9bd936a0f6abba09bc3367782370b60d9cbd0e8b3d5744101c8ca97eab822fa4cc399b5be3195cb1e3c9260030af60bbe3295c4de898c502543589142cf48dbc7505ec9a9d93cb6dd4c9678c1cc0a082c5631a255142603dcc01fc07c27d628d89f09b473816b5d5171c18a3f9737bd6d3420d4bccbd3a5624a2686e54062ce4696e061c83bc2586f1a618639e51e63bc6c64825eb50d4f88334b29145bacc49e28dd564b7a578217fac230ad00a44f3acbf8753aa572d66e1ab9198cecdf9bc722455bd267faf98424eba4031c3bbec8298a9388cabc6b3beec7a7fbb1c814811117a9d550407c9e6099cea65ece641f69454b6a0ca9bf86a3dd472f7c0a7703c6a5b25464c0b091b29258de673220857878434ea14cf50054fb2e63547e9be15107beb7a78cd5c00cbb1462a0347e72b51a15ccb5c333894aba511295b37c97c7f4c2eb6d97219559b40a67310f457108015ac1b8e3ae15acf85689c4058ec8a0bb18b75615011f2701bde8ba70986b39d3368e1f978675a49fbe8509f1239a1c88f1df4adf0ac8b68a87e2a403373fb808a7b1192371c7e68b80854b0e4335739090b953a2b67999f9878a32415b78c22289eeaaefe3298fd38abeb6abcf5a55bca388004e46375a729cc45926a7c3e3bc8b4e2a2b196aabe5651b642c1cb50f666a1bb6da4d1cce8c6344356a68de044214453d03b5ccb82225603ca7e339380d63a4d9160df03890df722683b10847b89df2c46757815d34942eee95d9a0904f50855c73104eac00e22893e3764268a84bc1940b2d5d3befaa5571b31869b238c8ec7aea5a70203e67a0d9851dee23d3801777b2243e2b6328bc4aeb10a468ea96db01b77f68cbd63e4bdc157408ad378f637580e5723b544bceef3962c3a49fd836e993386e4e2c91bcb92725216979c132a0879cbb49f4ff12a46b194851b76dc910c20440535f9529d68acd39ca13aaba696237c400c6b297368f0d6c304f012824783a0b02048d5cd1797c5d61b3f5792715e7b72be1cba7cfb12a638720f7962243933bdc150ee5b26d4368e8c9cb985b7a0e5ea36bb942840a8b3053c09fda45ff937396ba8433bc3175806b0e0a77e2e8cafaf55c69b44bc626c3fb6d9c37d1a83170189bc5c47ab44cc82cb97732b8ddec23596224cfc4894871787ea25493bc48e4a37b70e404e77436f9a91970778c74e21b19265628ba0bdaf0744a5ea4507f5b4a0e978cad763e26a112f38bbd1a34ef3fa06111b74ab835cc8479a8ebab78552ab3a3ac845a332bd1200c0635d3ad6768a4773aa803ebc08a0d7f772ff78ae9c90b5dd1b50e86724fc89110c128bda8209f0173e4d23210910bb05832b32017c182915308563c938695a0a8c49e6108c972587b04e6c916d5ac10ab425c15b370b0a4273d33530245048e62222d6211caab6a25332651eb49541754d9ec46e63dc4c1b9886efc3ce63596aea297aafe548b20581fb98a755ebac6fe701c23885e2141df14b4933c70040a295144a74a440487741116175addee87e656136a455bc9d1c5d611a22157aa3dd288b4ffa1d79668bf152bcb71108dc5916a223a703d376f3877406081c45a08470e4ae5679b34d2b4381335d8d5120282a656f121a861777d597a3b8910a67749855dba05f36831bd101ebbb427c92bd62f9c7f1a99a47c94e9dcba438835f3e053011f180f501c82611a64ec79e8b3563816a3fbffc5e033a114b8c94c9fb3391e0bbb8d4a33be98b219500f53b782fb2482fa9089b46b6f32555ba583370622771d02c6142647e6b87ddd382428552e58b80a66255394ab3815aa014c31878b74e7121b9f6d084edba988b43104910677aa62a1b27035de440b055146d15c466ea340b4658a41a885fe206c382923fd079f988b831a99d42241cc8637a647216eef18497298509832f8ce55235771e408a4bca646284771a0ae66ecdc2bb9d696d799c3cfad47a5a8b49575618bdac931d00c718049760f880831092fe3acd56d517377b00b156accc3ca6957ab22529673a59bfe87846c5431ef6b9c6c3201841da1451b881b2e26e44ac71e8858eeaa55aabd45281b56345222453440f7e427ebaf90bcd23c75e1cc96776ccdbf92766c778ad3b0a43a82463d09d79b90919eb76084438413573eafa0a60d26bd45ba0f75824c5808112406950d1ac5b226b9332709d1374b61957bb20ad7c33576bb68d265c7ddaaa12788c9e015a96009c0f99521e98e5c0cb38089d2101ef8700fed95e7f643a5dfc686fda8ee3588042d54e3e78b4502bab59794257a277a983ce87c29c18f8535b07960bf20a3014974883529ba033a9604370a926778689937c774e74a3aea922f5fb717a7b73631c2e1f8c33f499674e584dc7f48e3efab83512c0f723ad981452003840215912e3d0abe816a58af87e1cea37daec759da34e24033c1842b2dc0a6909991b9e205178596c812a0cbaa48efb3586b5b6963fd445140bcfab6b4390832de8e27851b10619e699836a692bf44ceb23cd1f6938222b4b83f4a25a0c0c9ff397195bcf5dca633952aaf0321b121518f887c5ae945821f9b1150bc1d2401a7547ca3386bc33232cc58c6370508542994ca6cb098b01033c0c97ff468bc1c726a992181882ca810115fd2755ec18ce0f88cd37fb61580c039ab121ce95af498bbf4eea277eb780d3e0a0959a388d6a290fe58a64829184b763d3636b0551a90e5a9723b26f2c4869ff14ba806153d6ec32ad4c42d27161bf051be85303d9167245684bdb3198673c668e579a72136b6d252225b49f25746298532990352b90d82f6e324fb5877176555a078b82ac10bc8ea63a2b9067f13026584abfbc473909d50c58e9bc47bb99308298e6e90b3671adf643742e669a93e2a90b26723af4cf6bb64446619bdee7b5088369fbd737af0c4ae367313c699f384205c14c13c38599604390c7c911a5781bc2511208679510dc0d0dec26ec46718c748b59418bc353b7618195b77992858c06ff15a9077a37ace35101554e8a3932a9a9138a800bd3484b1b977d53f50a0443538aa5516780a094e6306e7842ee6a753c412d2a89c23eecb2b26a6ac90b3e890466a557394b520a07cb671ae9cd2c43621bf55a99a98392b9cfea6373d4b136dafa78c6e93ba7573b429b50be5949a254714c720721699290a510581b6af396879703aaf4a9781268446ba96a072009ffea0250c793237744e36bb0d3d752e1a6caa346a2f9d1695d49aa1aa2535c6449e8f4abf85079c0b99b91ac2e91613de6368c430a886eb15b192805e9b5cf7e587858b852f1d73d1f0b557684af2dcabcfc14bc8bfb76c2c97f030aac9768982feb815e2471c4d1a15b5c335af4091acc5bd189176b477938ebc700042cdbcb7385e10c3121b179660eb65365d9417ddacfdcb371aaef7abb3c2cfdca88891dbf808a90028d4f12c57e4985f7d5acaf411ccb64500879102d9cdf6d9fcad673d874a4153383806fe174b2fc1e393308641a9a4647f230201e1389624a296b55192a9819fcb19ab77c25f95445 -m = 818d3bb8ebfb32bf464775f7139bac0a5bddce80ec5798595992f9403002cd5d -ct = 2ffa3ea41e0c07757f42067e472adf806bbf141c7483b8c184cc0706696053e0ae6253dfd7bbca8ce4cb54fbab32577528cfe37a8cfb5fc801f061b2776f1448d3a59475b33b4961d83cc334c2b70f800765250ccc36463cb7528aef429f7ebfed984f3a200bae7a57de30bb2e88a12d9e0ca2178fac527e261cc312119e905486101ee496332814d34e773d5e2da26c42e2e49486e564d2a1fe8e7e98261f4fc759616fbb273ad6652420713773e20525d6e2f6daf5999c170704699d7234034192771bce7b058378974e3ad11522e6719d164f608ba785bff593c353ce2b2b9c2916e2b3df2b6c461467b36359fc4f0eec75634079bb32a85c3dda3211e87e2626c81ae2a7ae7d6da4cc6e99cf7feb3523b47a2c0bae5c017cb53a6eb55b831355280407bd3ddac02e7f0d9d6d50386dbd40430a71e5a39bc8d573397da044510ee0e0e258750ccd1933ac8ac12be84dca88e6044ffd534cb11b15618ae22bf725278a44c86d37746d70e15a17fb6d7dfb9a855819f53f5aef61f47a52db19acdf359e02dba904ac350a641d2582d230eeef18f4262a12bb0c6078cd7e4fe2bf9fc994e03065435e629addae212686a54f9d59ecdad3a29b1cec83d885e55263f1feb53cf8159ae2647b1f0da6ba5fd646ef5573e254ae1ccdd4d1314015171413a80a018d44f6d97470fc5cffff770bcbdc253414b5bdac1369d182ea7ea65b4f95a0f87a11ad213b3f7eaa367a92eef77146287ded0f0ae11a30d7214ba0010016ed382902a8b20bb26e3e3af78a1cca37de5f329f52c950dfb62b31b866e0c9dd12eb69d7f2f7b3009d28fff4cba273477663441de2319619200e6a005d755afa04fadc9f3e162300725e220a88a917113e8f4a9cd0ffad2974e7e236368b1df5f77889531a7596cab58b39c53c4eab3b55d32e34e104aafd13dc7b9edd0158eeed4b98da0db645cdc1d68bcdc46a063f63dcdcf93f20097c2dc89c1a639e92845b99bccd066bcdbe342f172c157727873e12d5b6c5ad618a0a51bafa3de1dc16dbfe86be573da7899702882f5c1d3fd632ea2cc072e260b2b274d072486c0514f2a5af4ca3bd93dfa795379bf7dc27aa828a0c6a8a6f88aeb3e5b635773e930abb02ef3e77c667e1367f58aecd2c8046da2803ca03df423c4c5226c69dcc9d08ce9adfe341322ca49240f4df12309396a64a2b5f6ef21ee706cdf1189c94147f90ce8e21794be72beca6f29a4a48a8e71f0d634b400230295a897b22fef4d2712800fa3131775bee3ae05edf6a9e42e1e731383665a8cd4a197f73e7cb3b646eeb82f7215bbd945d9df1f9930b6c5a078a6f2fbeb13885e12dffedea21f0a3de00871b3f5f19196fc22f4b4543f95e87a439204bd455b8d0c74425f392c023de58caf90528ebec0c6d858570a5d1155308efe208e8ea880234b3249fb967ae8c4ca8e125d7b788f16f5071e456ca48d04523b562b972edf0ffa3392ae89d3dbbfe5065b9ac09614c39b7b810d3a7f2a3edb66180f39c2716808c904390c2e3fee20889eefcd51e8204580ef7b22adad7a1e7f25e8855d6c99b7dac92cd2e3cb1de826b4f841cb4bf289e9f8f47549561e6398b0c7c42c0efb418e3f96db1f8f21321ed5db3acff5dca4c8bf8b04f7009dca167c334766cde11d1e59769fc107c51132608cd811fcdc03666f979075e276d640198762bbb06eb4e48dd870e3a893cb94f0e3865322642e60cd6b50424a705511a6f6e689e8909805204825191cef63276a99f0f39c64bead5261e09ae83a0ea7c4a34a8457fd8af86c6daa8cc9ee9bff963992d898e7414d73044bd5a4105f5b4bec6d9ee1047bb45fa8c8f3f5a503e748fc8083028202229ad954a1daf5cf4c755a4eeb10433c79c526b992c4900fdcb9fc6c646fec0e91a54322a04bc678dc1afc3d0bca3244b84388d199855e5cf6ebdfddbfbe4f042db00bf455e02f2b77100b623e13aba4c6b05391a4f9e6769e24ce3bff8bd4e9fb6520b0751c5b7c3cba31e2c6c4611d5a37967b4fe6851fd319dbe46824da6e986924c5c2cbe640ecae83efe82698783af87622c0923c215fd7e8f71da4380432f9db468fd9d7e5fe52a8739f0f02551f67d16d3a3d61e34cdfc7442deb5c356d28330d9cbf8b9e4bd190734ba5922960143c521cee50f25305764342a34f5eafaf3943af30894369d68d300e251833e08cb3f -ss = e3570dc33608be251bdf8a7101e897ee900ed004ce96fe29c2e9a9314dc723a5 +sk = 0246c2025246911b525e6c3421584bfdbc83d73ab936e76a26236a85215c78db7ddd010c2e038e3dda69b5aa2e9f4997d8589bdbf918be1c046cd518e6958ae6925146009d185b53456b5e16d59257f20cd0f6677535510d02602d5ba5b61c440fa07fabb1b5fbb38437e90522665776892ef205a41a1a2083902648844dc9d65e633266af871481f036a2888d3fb9901355397f37875a4494777c781ec40478d09a820204a4115701d25a74b4bd91676ea6391fa160617c80cd05b0a80e040cdf22b29978ca55282f2c40316a35433dcc8ff7cccf4280c0b11c548b5cc08fa45bd0760ce03a02f25689d0f057fae44cb1574c42e760cb331c2ce4be16823dbb2870592ba844f30dc407298590a088425e023b856e106437c6074547260a856e648cba07e51a23e70d7cc65656b4692ec24277f04905c4aeeaaacd36341c705b504cfaba73201c2745ab06b056f1768447981e0d676ec904698edb230f369190d8c1dadaa5ca59001ee8a68c302f04298dc5700c56b2b577d89cd9a585b239089847cd3e96ca80d928867b27f3657987724ff9031649c246cbcb4673f6cb8544150c9975a13938c89a68cd0b6de5237fc8d2b7a6bb94e0c0856f00b821636801e9ac84f35276065ee4108bc1d755c1c428566a1ca3762d050458dbc7093567a4465453ab8656272a3c03b4a3c55929271437724471d5d4926109c9792ba49d117813948106d27c33069eb3c40aa8370b79e23f35934ac28666fe72b43f722151f3c26c96cc3b6a40d9e1876e55970f252811070fefc00d70a009e4871f136a08515ab239c33e2de638c4260d0c89cfe30b8f8e5927f2c59fea3947ffd0bd636b10876c3c387c00e15469b42b80bfeb8681dc7715c2b248ca6fed92a9399b72d1023f9507229593bd9bd936a0f6abba09bc3367782370b60d9cbd0e8b3d5744101c8ca97eab822fa4cc399b5be3195cb1e3c9260030af60bbe3295c4de898c502543589142cf48dbc7505ec9a9d93cb6dd4c9678c1cc0a082c5631a255142603dcc01fc07c27d628d89f09b473816b5d5171c18a3f9737bd6d3420d4bccbd3a5624a2686e54062ce4696e061c83bc2586f1a618639e51e63bc6c64825eb50d4f88334b29145bacc49e28dd564b7a578217fac230ad00a44f3acbf8753aa572d66e1ab9198cecdf9bc722455bd267faf98424eba4031c3bbec8298a9388cabc6b3beec7a7fbb1c814811117a9d550407c9e6099cea65ece641f69454b6a0ca9bf86a3dd472f7c0a7703c6a5b25464c0b091b29258de673220857878434ea14cf50054fb2e63547e9be15107beb7a78cd5c00cbb1462a0347e72b51a15ccb5c333894aba511295b37c97c7f4c2eb6d97219559b40a67310f457108015ac1b8e3ae15acf85689c4058ec8a0bb18b75615011f2701bde8ba70986b39d3368e1f978675a49fbe8509f1239a1c88f1df4adf0ac8b68a87e2a403373fb808a7b1192371c7e68b80854b0e4335739090b953a2b67999f9878a32415b78c22289eeaaefe3298fd38abeb6abcf5a55bca388004e46375a729cc45926a7c3e3bc8b4e2a2b196aabe5651b642c1cb50f666a1bb6da4d1cce8c6344356a68de044214453d03b5ccb82225603ca7e339380d63a4d9160df03890df722683b10847b89df2c46757815d34942eee95d9a0904f50855c73104eac00e22893e3764268a84bc1940b2d5d3befaa5571b31869b238c8ec7aea5a70203e67a0d9851dee23d3801777b2243e2b6328bc4aeb10a468ea96db01b77f68cbd63e4bdc157408ad378f637580e5723b544bceef3962c3a49fd836e993386e4e2c91bcb92725216979c132a0879cbb49f4ff12a46b194851b76dc910c20440535f9529d68acd39ca13aaba696237c400c6b297368f0d6c304f012824783a0b02048d5cd1797c5d61b3f5792715e7b72be1cba7cfb12a638720f7962243933bdc150ee5b26d4368e8c9cb985b7a0e5ea36bb942840a8b3053c09fda45ff937396ba8433bc3175806b0e0a77e2e8cafaf55c69b44bc626c3fb6d9c37d1a83170189bc5c47ab44cc82cb97732b8ddec23596224cfc4894871787ea25493bc48e4a37b70e404e77436f9a91970778c74e21b19265628ba0bdaf0744a5ea4507f5b4a0e978cad763e26a112f38bbd1a34ef3fa06111b74ab835cc8479a8ebab78552ab3a3ac845a332bd1200c0635d3ad6768a4773aa803ebc08a0d7f772ff78ae9c90b5dd1b50e86724fc89110c128bda8209f0173e4d23210910bb05832b32017c182915308563c938695a0a8c49e6108c972587b04e6c916d5ac10ab425c15b370b0a4273d33530245048e62222d6211caab6a25332651eb49541754d9ec46e63dc4c1b9886efc3ce63596aea297aafe548b20581fb98a755ebac6fe701c23885e2141df14b4933c70040a295144a74a440487741116175addee87e656136a455bc9d1c5d611a22157aa3dd288b4ffa1d79668bf152bcb71108dc5916a223a703d376f3877406081c45a08470e4ae5679b34d2b4381335d8d5120282a656f121a861777d597a3b8910a67749855dba05f36831bd101ebbb427c92bd62f9c7f1a99a47c94e9dcba438835f3e053011f180f501c82611a64ec79e8b3563816a3fbffc5e033a114b8c94c9fb3391e0bbb8d4a33be98b219500f53b782fb2482fa9089b46b6f32555ba583370622771d02c6142647e6b87ddd382428552e58b80a66255394ab3815aa014c31878b74e7121b9f6d084edba988b43104910677aa62a1b27035de440b055146d15c466ea340b4658a41a885fe206c382923fd079f988b831a99d42241cc8637a647216eef18497298509832f8ce55235771e408a4bca646284771a0ae66ecdc2bb9d696d799c3cfad47a5a8b49575618bdac931d00c718049760f880831092fe3acd56d517377b00b156accc3ca6957ab22529673a59bfe87846c5431ef6b9c6c3201841da1451b881b2e26e44ac71e8858eeaa55aabd45281b56345222453440f7e427ebaf90bcd23c75e1cc96776ccdbf92766c778ad3b0a43a82463d09d79b90919eb76084438413573eafa0a60d26bd45ba0f75824c5808112406950d1ac5b226b9332709d1374b61957bb20ad7c33576bb68d265c7ddaaa12788c9e015a96009c0f99521e98e5c0cb38089d2101ef8700fed95e7f643a5dfc686fda8ee3588042d54e3e78b4502bab59794257a277a983ce87c29c18f8535b07960bf20a3014974883529ba033a9604370a926778689937c774e74a3aea922f5fb717a7b73631c2e1f8c33f499674e584dc7f48e3efab83512c0f723ad981452003840215912e3d0abe816a58af87e1cea37daec759da34e24033c1842b2dc0a6909991b9e205178596c812a0cbaa48efb3586b5b6963fd445140bcfab6b4390832de8e27851b10619e699836a692bf44ceb23cd1f6938222b4b83f4a25a0c0c9ff397195bcf5dca633952aaf0321b121518f887c5ae945821f9b1150bc1d2401a7547ca3386bc33232cc58c6370508542994ca6cb098b01033c0c97ff468bc1c726a992181882ca810115fd2755ec18ce0f88cd37fb61580c039ab121ce95af498bbf4eea277eb780d3e0a0959a388d6a290fe58a64829184b763d3636b0551a90e5a9723b26f2c4869ff14ba806153d6ec32ad4c42d27161bf051be85303d9167245684bdb3198673c668e579a72136b6d252225b49f25746298532990352b90d82f6e324fb5877176555a078b82ac10bc8ea63a2b9067f13026584abfbc473909d50c58e9bc47bb99308298e6e90b3671adf643742e669a93e2a90b26723af4cf6bb64446619bdee7b5088369fbd737af0c4ae367313c699f384205c14c13c38599604390c7c911a5781bc2511208679510dc0d0dec26ec46718c748b59418bc353b7618195b77992858c06ff15a9077a37ace35101554e8a3932a9a9138a800bd3484b1b977d53f50a0443538aa5516780a094e6306e7842ee6a753c412d2a89c23eecb2b26a6ac90b3e890466a557394b520a07cb671ae9cd2c43621bf55a99a98392b9cfea6373d4b136dafa78c6e93ba7573b429b50be5949a254714c720721699290a510581b6af396879703aaf4a9781268446ba96a072009ffea0250c793237744e36bb0d3d752e1a6caa346a2f9d1695d49aa1aa2535c6449e8f4abf85079c0b99b91ac2e91613de6368c430a886eb15b192805e9b5cf7e587858b852f1d73d1f0b557684af2dcabcfc14bc8bfb76c2c97f030aac9768982feb815e2471c4d1a15b5c335af4091acc5bd189176b477938ebc700042cdbcb7385e10c3121b179660eb65365d9417ddacfdcb371aaef7abb3c2cfdca88891dbf808a90028d4f12c57e4985f7d5acaf411ccb64500879102d9cdf6d9fcad673d874a4153383806fe174b2fc1e2779aba933159a5aa043e2fbe31b14d2e56f93e83763e19787607196101d3f26 +m = d2b388fdf32c5ceb6126f9f28c341d109c1cbc6e69207bd655b969de1b8f7b0c +ct = 7fe3a29e1057ff0fc46e2d52da9531f1944aed5e23f603355d2c71c4ea9c67e95a5d1d804a1ce7d6001f9424f598653669f4527f1553ae716c356092bff0d46be9369f372f6e79ec88f41d9e16fff3c17c6eaea05b04d5c26c930b7a65674a12840640fa2b0c84d1f641f97ee6b5c9d4c8b622961c99c2961425f693b2755cca5bf7dee4251c41b8d988fe238d20c44068691a1cb045632f2b46faec81ba89c11edd57b1ae5a39123fc241050ecc892111f7f6d3322eb64bacb32dd24eb7c20bdf7a00eb1a54c094040780192da7a3db8cd6b979df5cc904225c7e52e9e4356a7d8a65a901b8441cc1d44d0293d6b050b5c1e966e852eaac9221b1833481ec4878278c9f5fcf6aca5e46f3ead7bad6b9cc68837c16785dae33311dac0b2b2a3811cd8491ed7c8ea3022cdea21d1c741b758d786f1d421646a9b63d3f0b6cd0fe26083146c717a0f0a065c1365e0ae763d166011361da217593aa67b33c85647f4c5e018ec4a0427d75548f84b85351d48c870758350a305de51676b7316b4ea63e903296a46d2c02ff58759b88f500afbf664d2a1d1d48078a864bc72d6622a43c2727c964999ac394e40a162de0f90ddeae5f1f2903ae0ec93dbd1552bdcaa023be191d616f9120e9b6aaf0a0ffbc00d9feef6644997c850f7d727f84eb925bd0abdf1136fd28660abe4210c97124d761914ec1dac64b1722f8b3ed6059457b7d421600dfbdd35a34cf04dba261a216f6e0ae3c3096edb0d07b7cd584633e47863dd2dd65801e1a58d3536dbc8a653bd0399d7af02fc469e8b9c42f7e56b106da445646ecae6a45a94f6ab1d7e73fe82d0a6aa8e27d9c71c524342cc9a634000216c8e70bb59bb9ada0618952d094d2c7edbe871a5fcc083f5fddfbdfc92aaaed3abd05ca4dff5f47d05dbb49a97e276eef6f5bb63c78be7957827f2014534f5797d1da883a6554f4ec0e7891cd67b74f1543a80a336d4eceba83c6eb41b9600d8a8670419c59f98031c780dc2316f74d18c9a7937e67941a4958fbf90ef44deec4d939b90f03613a04f766ee2e518f10f84850fb0c6374b510dc1bbd4e9ac6a34ad9f0ad8f94b48ca8e2cbf1bb24001acfe5c9895e64e6e12e9a87ff7261a6c111da36bd8d8dfb5d3fcb7b9fda538cff883fb5cd0df99098c69bc4a2cce7c14a95aafb2e1ebef435eac6a90b3f548859198f47e15d85b1b72b3867776c30275c1f94d12670785dc385796d5585482d8558dc2691e873ca52467fd083112cd80e22090ac9d4254c2df58dd12f37f8066613ec16a7673d095138456a0e34fb0fff90900f5d4d6fdc4b78a84fdd96e0ae01d0a77ac4d7d2cc6b8df76d8139ea2bf49ea2b45229289a904e9e0d64f543dca64925400561269ad850f391eef29504a35e2850ec608ac49a7f8afa210c7f74794da09d61b06d8a40458a7f4c23f44218527c264c48e7adf2533aeb3bb9f8fe6c0c93402455f2f7f81f16e7bdd5cbe27e5f742ec3a727bf1ee25804f2b37c96140da7bee422adcb7c4f564654d179b36ed65f77ee3f6f634859211d23f59d6f438816e7993506e578c3c9cb64f41b3d097ba5c86757dd1e50a5167d98cb34be135c75c2c58277df2055dcc168fa8e167952ec5a9e59146d59c13235e9be4a6a0e70a412a29337524912ca6f57ea8cd1e654d5def13a35ac18e9d984901667390b5a4e1931f15df7561adebc0058ef8fa8a94793581d69e98fcd5b5bebd8b2cfb5ea1231cf6f9f67aa464e5f472dc961c200253712b5d6f664e7b45cbff375922e7241654d9e92c470893d23c8ca3303c51398e3f5785c8a089f4e9ee4ea1037ae7ae2a2f6c27a4005eb9fd2cdae3ba0b6d4e3e7181c98e4073382b3b2e055c050d33b85bdcfc13ac61dd8b2caadff05cfa874b0736b08f8f1988bc7b0501e224f45ab80c7e32eac1a8889607c3cc715c7505e1fb6cd00b8268493ca8ad47443fc9c1567c8e12b92fbacb9b8d6f290c0b7d26c8fac1c4e8456dcee5709386668671d24446cf0016ba0824d8914763aa8a12f699ec94e424c9e85c885d6ae3dcd7af7bf6fd96f035e238f8b3f584aa7a400eeca19737a4f9c36e364184581c94354a93e1c77d58ed1920d658304f150868e704e23c75125f3777e4e0dc5aefd0187e28a00fdbac93484a7f2b20b305cc3fa244fe36649c57b19401de2be64d5870613616501353dcad7e95f729bbdf930 +ss = 2690dcbd9836c682d376f21a27eb26f88a9de23ced4e824611ab9c23dfc858d0 d = 7643cef2d62cc5aaeecf754653ea62294cd2208e5bf3ddeea209e3dc45373d49 -z = eac9d531a532770837a854b4f5531f6e0c8d6c10183b30d3435498c2dd142951 +z = 92cedef206325f68ebc282123eb0ab02874f8a3c6665b78346775351ad99cc3d pk = 5987636a96b26372851e703a9bd36d85e966fda580cc79af69772c2a9a7042363a3e3c116dc7711ed06fbf956dd06266329002630508b7d1ca73cbc853e62b23a02bff7404ebe390fcf58bd57262cf1044aa22225fb36446d44e1b8171aa67c415f96db0e109afa31fd00631bfa23f3b6c9c02b20dc3dc1ba6f30e6f20c9ec7471cef6996350bb87d43690c059065cacf697c63b6bc98c881d3ca56f07c34a5b0b10cab263bb75399d162db389206939b15df58448837e0d443b8df132c65bac83d2166c780132875fad888a1c53aea51661c135cea6956c2a4b87a53baefe726fdf09687f6cade7bc9ef5bc25dbdca95a0acc47e0caef22159af5b499fb6e8643c70803ba40a5938a422433053bdec4b729744b565066962046c5d2bd14f14bf0b4030be99a8a198b80b99ec939791bfc8572942e98d47b00814c6a85c39ae7323cebbf353439f3961f0abb687b4c18dd06b706db4350fc4a2e868229272f499709eb1450c2995d9b809e77e676b628aab0212475e602831a367d3948cdfb0d43eb0865eac55c516069893d09f24a8176a3beca0c6065abca0a3a2b3053da2a3bca6a7088f39d9bc8b1e685b67612413aa3b2ba4673b301cd9d87728db6bffe79391493a36b4aad46339dd2b884cac471a8f134fd1cb590819a65190af53355a6483b6a9909bef36c76836c77168c679757ef404a8528cd569911d036c751d4ba4cb1c34b695caf487866cb1de5554196682d32285490a75fb5d18d3b40539adc4d9ad71452016a6fc7156b34014117bc0dc45eb319a1f85b642f7ca7a12164bc7a1feb9114a7c5ba8d7456cc08a883ac86100272b710b225e49de711115b418946f503586076411c6ca3ec11a5244774a27baacc543556582781b273bccab4326b4140b5643c86d310331bfb859f80062ad27e38ea1724dc4b7c3498a8601c11f25c99001db2868d68ecba0019baea1363ef738c5c07778c5b4663447e73c742a1a6a3e708cf4003512804b9ca9358665aba8ac2ce68b6b8b2e51fad7939979593f8f19e19b2c18f03639776483ddb4373184a2d2741839c65f5d47e63597d14a5ab61a6bf01a8065c6756e6ecb64de11fed0acefdd45fc50c1f51b045d8e096a9e77f10dc8e8349b5da9723a1829e2ee3cc0379942fc47841b81df7a94ec7f40bfc2b737d9725486316c2ec3e2b516dbf7cb4936217cd4b23e4422122854791a2cb136a1236677a4e42504ae43bfc93259441bc0d676f8932a757c087f806b59e6380197b37719a2fba88b64ca54fc69ac8e2b79df7154403249441d103f931a25283bcded4c8b51a7995655d49611ddb2ac406b28ab2a80342f51bb8126afd65412b06d0596622e5722465b846a52b47fc6b5842f12acd602ef9c74065d5940d2462f7d99d39ea5f62b46f9fe297f1c01f5183c73c3ccb63c564dbc4c1c60877960202d9369b750129d91060d1708f057811e68c47c4b68781c102f2765e093c94f6c43b784679c4257287680825fc5116cc04b489add5a009a3e65b09644d5a9a9745d249314c4693f017a6d5b054d07fde34cbde568ea6fb9bb56c8c5023142cd19eb2b3b0c6b8bdeedac8b78909b1bb1894b382e6fca4fcd63390cabfb4d516fb18526bb45a0f9a6aed971050788cdd044248839d954594259b562317cb163273b12b453638b70be1085e51c5ac0b6cdd15c218103e92c53750f107ada702d8725548ccc663947c3dd959811842b62b13f9a24b1b4a18f5691dc4cc331c362747f1654e1b785ad1c07443aea2f6006bd670d7128a8373c68aa36ffc59797ab3994bea35ce894466f0c64c061b5d48b9a18c5544dc0820479722795d77c85f161b865dba01a70cc9c00c15167aa35bf0a147147a81d540346489dc58926c975333cc3d286b4c529a2e3e6aa6d2225016a7126dcb46669c72c453bd745632e772bd2da7c1ca87318276ad21ebbb6c419ee2eaa46a733e3934c0ae933950da8fd2eccedf2919d7e8a6812897780275adf78e6dc21757c7a0a489cd8cd95126a569af7c67bf317b146743b0d32a6762103a13698120cf7d07b72be91177bc5d18ab5f0eb53fc4a5cc4feb5086947f42c3516c5115c724af7cf05049a012c8e601e8b5237e1aa5652cc5e4e1a6d0504331e3b393a6a0fc05c75604646a943ab2d79abe93fceaff0f0ff88688c870d19759a41d3d361a0cec73cc908f52bad8 -sk = 34c91f6ec981b1830501d8969f8847b2c6bd5d5c43dfa044c43b551e610d5675bb7e7c9e393b411e69575301bf4ef4c7fd0b4b59e213905a254eb5540aca856c370dd28899541b725091c23907c04390ad32a56385075f42a7545672544fe177b74c7ed99507e4d95def7c4a9f84c9687b9bc318a23eb452fb7635d5201165a47391d21a7ca732fe9b3455c44ee4e54fc3a6518d51402cd5a2d49429b9c8815cd4b1a22c59ed368ed6c7a9df83b958cc83c4654c5cd040245543431c0d2c9091376611cfdc2eb9181b21c8417e3931aa2b1141c1051cb82aca4bbbe6dabda3356bbf4962c3f883d0578580477ac56353ac7524f3855de2b00967b7bee0668112d51ccbc139fa73374df2685a3cc06838b150f92a64c17772053de2b05cc4d51832b8a2b8428436d99e1f2484b127ce0d861dc8a11ab0b0019e0b3439733b36a7a600f4638d820ba5624b445349a86465e1b25de787207dda0b629cb472d415a42a8ba191b76b5829d4d987a2b0c235521c187a0baddb603d755eb37396cdd57ff76276ccca997b00cd481587cb8728830021dcbb8478a267b744a5bfd08b4acb2c1e726121996e55b60d40f6975637831c392845d6823d4b9092151149992794f4ab29d4164a44239f07c365a87ed9786af7a57ac0bc0d491018007b6bf7705a21b082d1e040a4f4c25e329ef9a8518956044e7683af94728487a4f95305d4e15aad45c040f1cf9c442c519b2aa47a4dfc29063243c21f8b838171701b4b73516944efc4b61fb5bca63c3ed12a123f55b832e6c312e8bc48f145d62953f5901f7530068f2c9c9f51ca8fcb342852936d414fddc2c04f551c827071f99c7c24c991f9c97e10e051694c86789a9442d79092b6547d67af70d8c8b074cdbf854718a882daaca3b8eaad0bb1c2d3e859d3eb03c0a23b290518ef88ce1bb02fe71399ef71b380ec1aec4c7c6bf3830c1b15f7718d0e471d10234393d94fbd3305abd09cdf070a0abc09d7497d2f9b939794b923eb3f28b40904a53a05216a526132d9f3cc64606b40f26434142645d79481a8316e8cb0a9321a4c530a0ad139ed5953168a4ac864c726874e1366ab09a249f251ce5b1a7f5ca60ad66375bfdbcfa3d7ad23a13649c03327d409fda64581cb00a696557945c58e96c1c889be648c4885958adea79ab212a0bb15506bf5635e437ecee47b60032b4273b8c96806639c87031b6e23b71996b4576626124281ae4ca0a8fc081e1c91667967b25f76c4f72624cb29bd0a865fd67a4dbf14acc7a09871bc7adeaab37b298f12b60b6372b741681627e4c8346c0d34392716ec173b1b711b1c0a1d010dca486bd5167223658a5c55bcd0739dcfe30dfcf9bd8aa45b3ca0b5a90243547767a1843e4c87922031819ef9249800c6db8b0270f9cb8f2624adf4199741870b0630e1bb1b325768c79984d5e33283a991bb3c98b6bb8be0ebaac47c4310c51eb565baba36be54f6a3151a104911c38ef78e61f1654ef35b2c836c2321a52fac710d6b03811444de5b8403569c8ce0444ef615dad54ae5649e68ab437c00a2c9ea9b18f59346d8b2a5c6582d763730bbc7f24a7ee7c23607c0683a2826fbb4bad4a58ff6e3bb3122bcaa202e6a997c647886db545fe6b94e81456379e7550db446a43616808ac610c3abf273b02b1b748296a760d78f0418355f61ce2898ab3bf9069576827b80557d41000bb0cdf5881d660a7c2569613ad6575e4c528a7c5b9ec91365b05853ab200aaba1ca98aff17a845a209fe4932f30bac0a8873cf5da17f323375627adc4786e906010f6b91333112d0bea256d3a126eb39965db773e7c3daec35060ab2d782b9a7692bc40525171416e7a12163d36837ee3c731ecc38e7236ad09712b4144030213bb53258033a8eafa677fd8a2cc013c5ab46a33531968a9a6c5e6a89613aceec3a4cddca52cf00b21d85657599d21c80692018a07b061db607d7df491cfe59d90d43a6eb52453b2822c7bae0a3336833469764516ec106e8d6912c9c35432984514ea5eb9a65c3c0aa24173bb736723022a6c31f06236639a0e0a25713c5a7855399637aacdc033c0117447730747507b69bc7a3f84621167ac83e4b45ab03b613ac4bd7217abb799027b1a33f55a9b550b3857ca53438dcd157b103c9e5987636a96b26372851e703a9bd36d85e966fda580cc79af69772c2a9a7042363a3e3c116dc7711ed06fbf956dd06266329002630508b7d1ca73cbc853e62b23a02bff7404ebe390fcf58bd57262cf1044aa22225fb36446d44e1b8171aa67c415f96db0e109afa31fd00631bfa23f3b6c9c02b20dc3dc1ba6f30e6f20c9ec7471cef6996350bb87d43690c059065cacf697c63b6bc98c881d3ca56f07c34a5b0b10cab263bb75399d162db389206939b15df58448837e0d443b8df132c65bac83d2166c780132875fad888a1c53aea51661c135cea6956c2a4b87a53baefe726fdf09687f6cade7bc9ef5bc25dbdca95a0acc47e0caef22159af5b499fb6e8643c70803ba40a5938a422433053bdec4b729744b565066962046c5d2bd14f14bf0b4030be99a8a198b80b99ec939791bfc8572942e98d47b00814c6a85c39ae7323cebbf353439f3961f0abb687b4c18dd06b706db4350fc4a2e868229272f499709eb1450c2995d9b809e77e676b628aab0212475e602831a367d3948cdfb0d43eb0865eac55c516069893d09f24a8176a3beca0c6065abca0a3a2b3053da2a3bca6a7088f39d9bc8b1e685b67612413aa3b2ba4673b301cd9d87728db6bffe79391493a36b4aad46339dd2b884cac471a8f134fd1cb590819a65190af53355a6483b6a9909bef36c76836c77168c679757ef404a8528cd569911d036c751d4ba4cb1c34b695caf487866cb1de5554196682d32285490a75fb5d18d3b40539adc4d9ad71452016a6fc7156b34014117bc0dc45eb319a1f85b642f7ca7a12164bc7a1feb9114a7c5ba8d7456cc08a883ac86100272b710b225e49de711115b418946f503586076411c6ca3ec11a5244774a27baacc543556582781b273bccab4326b4140b5643c86d310331bfb859f80062ad27e38ea1724dc4b7c3498a8601c11f25c99001db2868d68ecba0019baea1363ef738c5c07778c5b4663447e73c742a1a6a3e708cf4003512804b9ca9358665aba8ac2ce68b6b8b2e51fad7939979593f8f19e19b2c18f03639776483ddb4373184a2d2741839c65f5d47e63597d14a5ab61a6bf01a8065c6756e6ecb64de11fed0acefdd45fc50c1f51b045d8e096a9e77f10dc8e8349b5da9723a1829e2ee3cc0379942fc47841b81df7a94ec7f40bfc2b737d9725486316c2ec3e2b516dbf7cb4936217cd4b23e4422122854791a2cb136a1236677a4e42504ae43bfc93259441bc0d676f8932a757c087f806b59e6380197b37719a2fba88b64ca54fc69ac8e2b79df7154403249441d103f931a25283bcded4c8b51a7995655d49611ddb2ac406b28ab2a80342f51bb8126afd65412b06d0596622e5722465b846a52b47fc6b5842f12acd602ef9c74065d5940d2462f7d99d39ea5f62b46f9fe297f1c01f5183c73c3ccb63c564dbc4c1c60877960202d9369b750129d91060d1708f057811e68c47c4b68781c102f2765e093c94f6c43b784679c4257287680825fc5116cc04b489add5a009a3e65b09644d5a9a9745d249314c4693f017a6d5b054d07fde34cbde568ea6fb9bb56c8c5023142cd19eb2b3b0c6b8bdeedac8b78909b1bb1894b382e6fca4fcd63390cabfb4d516fb18526bb45a0f9a6aed971050788cdd044248839d954594259b562317cb163273b12b453638b70be1085e51c5ac0b6cdd15c218103e92c53750f107ada702d8725548ccc663947c3dd959811842b62b13f9a24b1b4a18f5691dc4cc331c362747f1654e1b785ad1c07443aea2f6006bd670d7128a8373c68aa36ffc59797ab3994bea35ce894466f0c64c061b5d48b9a18c5544dc0820479722795d77c85f161b865dba01a70cc9c00c15167aa35bf0a147147a81d540346489dc58926c975333cc3d286b4c529a2e3e6aa6d2225016a7126dcb46669c72c453bd745632e772bd2da7c1ca87318276ad21ebbb6c419ee2eaa46a733e3934c0ae933950da8fd2eccedf2919d7e8a6812897780275adf78e6dc21757c7a0a489cd8cd95126a569af7c67bf317b146743b0d32a6762103a13698120cf7d07b72be91177bc5d18ab5f0eb53fc4a5cc4feb5086947f42c3516c5115c724af7cf05049a012c8e601e8b5237e1aa5652cc5e4e1a6d0504331e3b393a6a0fc05c75604646a943ab2d79abe93fceaff0f0ff88688c870d19759a41d3d361a0cec73cc908f52bad8152641a683dd690d4ac3edf0261200cd9244ae7dab962eca2f3d22a554d0802eeac9d531a532770837a854b4f5531f6e0c8d6c10183b30d3435498c2dd142951 -m = c92aa5fb91c980d9cade9ce99d4c75b2ffa7d6a6ff9bd59def1aa701f2a0992b -ct = 0c226b9efd7bfea45f7a898f274ed8b8f6ef318678d211140a19ae90dd454d19769f128c39efd65e4450cae332da03670ddd1cc501cfd517090cc6d6f101175c1a9c1d25a9488be6bac5e60e94ae85e7fb50a2fa49f8565884bbcfa68180446f47c9dc2677b64b4c9ff7451d1a5849e0fbedbfb61aecbd065652135e02b91dd9ecd59120da83918bbfce9a7daa6d80ab2e7f1d277834cd6031847feb45eae1b9413da394465518d97da2dfa675284ef12739813af8b9eb8c28fc65a7a80ce91f3f5e90cc62d4bf4eb63969444735e850b309a6348d9380b552bf7cb140b3c6331551ea1242356b238e8cf4e16bd6935d51a2a56c9609e9d30f24ef7e570e862491128da737cad19732aeb3e6bc5b7b008066a21de2871eebc6a78399402e47e008a889df0f9fff7ad9a14b4fb1c6951d6c8b33f20c04ce0f87b8daa3fe0b6121ad33b97a14e6086b16bdb6cd7001f9209621d3fec5d9adda04ca81f38a92224918b554e198ac63d15d4226a24793b5d57f976aef9c07ba61ad738c91db7aaac7e477394b9d7a23cb5136137e2e8db1f20299d0110e24e2f4cb2fd81f184e44fc5a122c5a4bb1ec38c94f5414ab1b4267d9b66547455d4bdc35b57b8a51e477242a9ca41d45704596628f02d895e8d8ab1a62497a6e492186fd4e814cec36a580fe848fe10516d829f2dc419c319685ba78580490ac0b0e3453bed91829774599ddb6534567383804d7c892ac0b84b8e3bc4fd8901bbecffbce60897ad522611d585060d231c5ffd6ff5d226f235fbeff0c4197843c615cb1b60432be6cb6f38d3ef0e1b824940f55d2e323e007008beebbc75efc48ab88b4a69a6eaa9d6aea5de80d0f59205678b1bf999aaf769925f545a4243ee03b5c29506325a3f309e90cbc5fd92c61f80838567de34f9e85d2b7a3a07077031c2e9853df56d42abeb431cf6d99a271f4424cc788c0879075a0d5e3505c942c829b275e96900a728bfeccc4be995b39a45e12a5c1c474b224803416735531e1ded2e19c07d47d8c6d678e991e07250754b2466416acbfbd393f03f2597fefb8fb4af40ef03da6e8d786457b8fd7dfe570680a00196878a9565f1fcb6f9e5104ec3a7dfe0a7e3fffb06fb8ec372bed2a5e136af99790d2870262f7ddbcb996c15e79b4db0e63b6edebcf02617ae63092717facbdcd5e98c14e66ae4c8944cf411b08b2c9effcb0d29fa2570b32017b5d5a6292e25cdd9ca0604bcc374fc64fdebf6df9aae22614527fe504c19df5e071cf0ae2058e90440bc1cbd65508e4cee187ccbd63f7b1af28476219e4b7734df931cae872e5b4a699680ca9a047ca698477b3cf216c5f8223f3cdbeebfefd725881ec458dcf466dd484032e527784ce2ed1a647708cb0d9b25aaadb7f7edd300d3861afb382e08b24e602114aac01ea59ac95c093b56fbc3205754467c8029fc4d8a9ceab1629a4f3a8de16eaea89fb82f6b3823bf2118481e9db58bab77457a3eea915d7b876f9bdc6ed5b832e5b89ed330774df8cdb6e352142b01b012f78036a9da9a1027057ea0f81e718d2bc9bc3d6cd1a71285986a97c0fafd1c9be0d39f322450f67db819c00846dea902bb8b52621fd7136b679c7cce48334198077b9945f512904189945feb999f78faa69b6507c1379a6ab68071da9bd752ec8a955f3af0403aed8b93caaf45ef998597565ba6be41232e2ae896d5783c158fe8d366acb13214e1ef45f6fceaf6158216abe5f64c84661ad47d03ff901cf7e2b634f4b8eaf50e5da36daa52b41d80366d1ad4eff56cbdf0bc51992d354a069badb7fad9f1a7a399da2719a9115c877d0429f68b005aaaa9fab1228de427b4643110e121fb6ad6af8330e7280675702afe3b72374b286daff3bf37f28fbcd3cc5530d5f372302393c77c41afe07d16b22c21d48bae0f0530954155dbeb950d2d3b0ccee145eec8a2a0ac28f6bca76d3a6e00c2c61be19f027266ca6a9d125d1ff4cedc374358e007ba8259b3629ed88fc606170bc6c61042f7db688187fc9d4a4285aa45e05b8a3c2262a95aebe3074a55d4363ecdeab6492dfdc840cbd534c1db3789d0e926b681bd1c8ee68fe9e0483492817782439ee4f27c2dbacb5bef32372b7de19aa1f2405b2eafbc474d6883bbe0f0b0770cbc7bfb1f74fdd18c8e5918d2ebeef94b675a110fff3c91ff1b5fbc6d6e7aff4f1f4ba6a1169afb3 -ss = c6d9ac793ef53afe26bbe0fd153e0e14bbcb5f47cdc0b25234510ead56f3e464 +sk = 34c91f6ec981b1830501d8969f8847b2c6bd5d5c43dfa044c43b551e610d5675bb7e7c9e393b411e69575301bf4ef4c7fd0b4b59e213905a254eb5540aca856c370dd28899541b725091c23907c04390ad32a56385075f42a7545672544fe177b74c7ed99507e4d95def7c4a9f84c9687b9bc318a23eb452fb7635d5201165a47391d21a7ca732fe9b3455c44ee4e54fc3a6518d51402cd5a2d49429b9c8815cd4b1a22c59ed368ed6c7a9df83b958cc83c4654c5cd040245543431c0d2c9091376611cfdc2eb9181b21c8417e3931aa2b1141c1051cb82aca4bbbe6dabda3356bbf4962c3f883d0578580477ac56353ac7524f3855de2b00967b7bee0668112d51ccbc139fa73374df2685a3cc06838b150f92a64c17772053de2b05cc4d51832b8a2b8428436d99e1f2484b127ce0d861dc8a11ab0b0019e0b3439733b36a7a600f4638d820ba5624b445349a86465e1b25de787207dda0b629cb472d415a42a8ba191b76b5829d4d987a2b0c235521c187a0baddb603d755eb37396cdd57ff76276ccca997b00cd481587cb8728830021dcbb8478a267b744a5bfd08b4acb2c1e726121996e55b60d40f6975637831c392845d6823d4b9092151149992794f4ab29d4164a44239f07c365a87ed9786af7a57ac0bc0d491018007b6bf7705a21b082d1e040a4f4c25e329ef9a8518956044e7683af94728487a4f95305d4e15aad45c040f1cf9c442c519b2aa47a4dfc29063243c21f8b838171701b4b73516944efc4b61fb5bca63c3ed12a123f55b832e6c312e8bc48f145d62953f5901f7530068f2c9c9f51ca8fcb342852936d414fddc2c04f551c827071f99c7c24c991f9c97e10e051694c86789a9442d79092b6547d67af70d8c8b074cdbf854718a882daaca3b8eaad0bb1c2d3e859d3eb03c0a23b290518ef88ce1bb02fe71399ef71b380ec1aec4c7c6bf3830c1b15f7718d0e471d10234393d94fbd3305abd09cdf070a0abc09d7497d2f9b939794b923eb3f28b40904a53a05216a526132d9f3cc64606b40f26434142645d79481a8316e8cb0a9321a4c530a0ad139ed5953168a4ac864c726874e1366ab09a249f251ce5b1a7f5ca60ad66375bfdbcfa3d7ad23a13649c03327d409fda64581cb00a696557945c58e96c1c889be648c4885958adea79ab212a0bb15506bf5635e437ecee47b60032b4273b8c96806639c87031b6e23b71996b4576626124281ae4ca0a8fc081e1c91667967b25f76c4f72624cb29bd0a865fd67a4dbf14acc7a09871bc7adeaab37b298f12b60b6372b741681627e4c8346c0d34392716ec173b1b711b1c0a1d010dca486bd5167223658a5c55bcd0739dcfe30dfcf9bd8aa45b3ca0b5a90243547767a1843e4c87922031819ef9249800c6db8b0270f9cb8f2624adf4199741870b0630e1bb1b325768c79984d5e33283a991bb3c98b6bb8be0ebaac47c4310c51eb565baba36be54f6a3151a104911c38ef78e61f1654ef35b2c836c2321a52fac710d6b03811444de5b8403569c8ce0444ef615dad54ae5649e68ab437c00a2c9ea9b18f59346d8b2a5c6582d763730bbc7f24a7ee7c23607c0683a2826fbb4bad4a58ff6e3bb3122bcaa202e6a997c647886db545fe6b94e81456379e7550db446a43616808ac610c3abf273b02b1b748296a760d78f0418355f61ce2898ab3bf9069576827b80557d41000bb0cdf5881d660a7c2569613ad6575e4c528a7c5b9ec91365b05853ab200aaba1ca98aff17a845a209fe4932f30bac0a8873cf5da17f323375627adc4786e906010f6b91333112d0bea256d3a126eb39965db773e7c3daec35060ab2d782b9a7692bc40525171416e7a12163d36837ee3c731ecc38e7236ad09712b4144030213bb53258033a8eafa677fd8a2cc013c5ab46a33531968a9a6c5e6a89613aceec3a4cddca52cf00b21d85657599d21c80692018a07b061db607d7df491cfe59d90d43a6eb52453b2822c7bae0a3336833469764516ec106e8d6912c9c35432984514ea5eb9a65c3c0aa24173bb736723022a6c31f06236639a0e0a25713c5a7855399637aacdc033c0117447730747507b69bc7a3f84621167ac83e4b45ab03b613ac4bd7217abb799027b1a33f55a9b550b3857ca53438dcd157b103c9e5987636a96b26372851e703a9bd36d85e966fda580cc79af69772c2a9a7042363a3e3c116dc7711ed06fbf956dd06266329002630508b7d1ca73cbc853e62b23a02bff7404ebe390fcf58bd57262cf1044aa22225fb36446d44e1b8171aa67c415f96db0e109afa31fd00631bfa23f3b6c9c02b20dc3dc1ba6f30e6f20c9ec7471cef6996350bb87d43690c059065cacf697c63b6bc98c881d3ca56f07c34a5b0b10cab263bb75399d162db389206939b15df58448837e0d443b8df132c65bac83d2166c780132875fad888a1c53aea51661c135cea6956c2a4b87a53baefe726fdf09687f6cade7bc9ef5bc25dbdca95a0acc47e0caef22159af5b499fb6e8643c70803ba40a5938a422433053bdec4b729744b565066962046c5d2bd14f14bf0b4030be99a8a198b80b99ec939791bfc8572942e98d47b00814c6a85c39ae7323cebbf353439f3961f0abb687b4c18dd06b706db4350fc4a2e868229272f499709eb1450c2995d9b809e77e676b628aab0212475e602831a367d3948cdfb0d43eb0865eac55c516069893d09f24a8176a3beca0c6065abca0a3a2b3053da2a3bca6a7088f39d9bc8b1e685b67612413aa3b2ba4673b301cd9d87728db6bffe79391493a36b4aad46339dd2b884cac471a8f134fd1cb590819a65190af53355a6483b6a9909bef36c76836c77168c679757ef404a8528cd569911d036c751d4ba4cb1c34b695caf487866cb1de5554196682d32285490a75fb5d18d3b40539adc4d9ad71452016a6fc7156b34014117bc0dc45eb319a1f85b642f7ca7a12164bc7a1feb9114a7c5ba8d7456cc08a883ac86100272b710b225e49de711115b418946f503586076411c6ca3ec11a5244774a27baacc543556582781b273bccab4326b4140b5643c86d310331bfb859f80062ad27e38ea1724dc4b7c3498a8601c11f25c99001db2868d68ecba0019baea1363ef738c5c07778c5b4663447e73c742a1a6a3e708cf4003512804b9ca9358665aba8ac2ce68b6b8b2e51fad7939979593f8f19e19b2c18f03639776483ddb4373184a2d2741839c65f5d47e63597d14a5ab61a6bf01a8065c6756e6ecb64de11fed0acefdd45fc50c1f51b045d8e096a9e77f10dc8e8349b5da9723a1829e2ee3cc0379942fc47841b81df7a94ec7f40bfc2b737d9725486316c2ec3e2b516dbf7cb4936217cd4b23e4422122854791a2cb136a1236677a4e42504ae43bfc93259441bc0d676f8932a757c087f806b59e6380197b37719a2fba88b64ca54fc69ac8e2b79df7154403249441d103f931a25283bcded4c8b51a7995655d49611ddb2ac406b28ab2a80342f51bb8126afd65412b06d0596622e5722465b846a52b47fc6b5842f12acd602ef9c74065d5940d2462f7d99d39ea5f62b46f9fe297f1c01f5183c73c3ccb63c564dbc4c1c60877960202d9369b750129d91060d1708f057811e68c47c4b68781c102f2765e093c94f6c43b784679c4257287680825fc5116cc04b489add5a009a3e65b09644d5a9a9745d249314c4693f017a6d5b054d07fde34cbde568ea6fb9bb56c8c5023142cd19eb2b3b0c6b8bdeedac8b78909b1bb1894b382e6fca4fcd63390cabfb4d516fb18526bb45a0f9a6aed971050788cdd044248839d954594259b562317cb163273b12b453638b70be1085e51c5ac0b6cdd15c218103e92c53750f107ada702d8725548ccc663947c3dd959811842b62b13f9a24b1b4a18f5691dc4cc331c362747f1654e1b785ad1c07443aea2f6006bd670d7128a8373c68aa36ffc59797ab3994bea35ce894466f0c64c061b5d48b9a18c5544dc0820479722795d77c85f161b865dba01a70cc9c00c15167aa35bf0a147147a81d540346489dc58926c975333cc3d286b4c529a2e3e6aa6d2225016a7126dcb46669c72c453bd745632e772bd2da7c1ca87318276ad21ebbb6c419ee2eaa46a733e3934c0ae933950da8fd2eccedf2919d7e8a6812897780275adf78e6dc21757c7a0a489cd8cd95126a569af7c67bf317b146743b0d32a6762103a13698120cf7d07b72be91177bc5d18ab5f0eb53fc4a5cc4feb5086947f42c3516c5115c724af7cf05049a012c8e601e8b5237e1aa5652cc5e4e1a6d0504331e3b393a6a0fc05c75604646a943ab2d79abe93fceaff0f0ff88688c870d19759a41d3d361a0cec73cc908f52bad8152641a683dd690d4ac3edf0261200cd9244ae7dab962eca2f3d22a554d0802e92cedef206325f68ebc282123eb0ab02874f8a3c6665b78346775351ad99cc3d +m = 5741c37bc610abd8f8f9673d0267895a4e77235acbdb294eca9ded915410fb1a +ct = da66799e03ff8d30749354f70aa6f14c7f79aba7f6eee8523e877a94c879111bba4d44afce3e935c249e931cdd6a5d0ffb5458c751ab4b95ad6a4591150c99d9116164af5efb76b79fdd3d70d2736f8463c840b6fbccabd81a4a3eca94754073b99247577dd9e0cbe3873a653d682f7cf45c9ac3e39fb53453bf8aef66c31a0db9ca4914336fa4ee9f051599cc7d71a099b7bfc84c4a114479a2134fc139203ce4200a57acd91ba0775ef886c5a53fb72f0b1e243d634a16db15bba3737a2736396d7088645311afe4f0d6449e79948c1e9cf81e92de34cdb4aef1e5d88fe2bceeabc3d26c38a5ac26b90f69944f3c4322121535b1826cc8a01c6f8fca461629db05e631bd0f3a92e82a130e6eca61e85e20ac6b909b34ae13fcdbb003c36003396d762c401f62087d938894da8530e8aec05950d79f6d327984a7f9849d04c28fa3f4cf607e8601caa971924040feb7ff4b682782a0234354130d51068aa369a36c97489c28498bea1f9227e947858a113305a374cae7acb7c2969c700614a4a5f06cb90b8e92ca2f34119952a4efe5d9e17cde7fd0ff88bb5328a50ce6bf51bd2f605c7d5cf4a58bbfffa5766d3a96bae019d154ea3912dfd1940d4625c203f01a6121f1b98f6314d3006a5737e2b1ec99111662795d483f53eea5868d0d6dc8814d4ed87565d3d2ff13e7f75f1d3fbc534ebe6d4f2214c6e443e79c42bbd61cbccbdcdd0969304b78c37c693c317aff10cab6cd297c5ff6ab4d18422c89647ef12c6b6cf9891081e3a7b7d7b1c557048061cd7c2fbadae3e83d74f540f8ab6f552c7327d7bd64e1c52de3aa2b9cab8bfd262884fd1408528c54f0e42f2035d262562ad95c08f30acd89102ddaec4db7a220642189ad352b9f0da6ca2e753435a035dcc1b2a872b7daf0b1e8453bd2811a87c2d899a1eec4ca60d9db25142db2c83aa454af6f2d04bf3d4a8c630f4bebabe3175c6fb0cfab61f2fcb3c2565ed90d64512e3d5520769ee3eeacbb4dcf11591591b9defb99c7ebd14d15e4017ab93a522286a73a63ded5aef1206d8afa92080f78daa136d850e87110d848fab182b3a98aeeadd432af6d1645bc1bbec3c9078a2700d668ad328d421e6c3941399e70cad1880977a0504ecfce188dd4adf4d181002e1b52ec6d0ffb7296d3b1e84a80a9283ffb0e749ff132df4ca6df8d11bbe3ce2d326698b890ade8c1729881de87c90ad3aff8c51100e51f17bb7b2da4fe15277e905fa89e07524b416179a649f31be624b96789be4aee4f786d55206e9b0b2715422c71375bb055c64cdc38ce79267a39ddd2a06a6e5c4b71314a7c36e781d088ca69ef52e482e7ace6ab91a8c515798ae585f054ccb6eabd2ea356668759184453abbc4086c7d972d8f13c84191dd43919857d6b1fa76f60c6e8eea5f2f219fe0df150f36a659de8878dd05f408bdbc8b6adad8cb23a2670fb516ef545ca0271212ee2a989b8ec76b66b11f55083efe5c8358debc6d666a0e320bbc005cff55437c7f7cf15cc7c1c7f006d4c428672950d6c3c93927df099908d828c28cf0829b769daf3bc86fcad9708c1b66ad049339d2d3337e7f2dbbf3a39bf97d5ed14dd2904b89722ff54b9c3246089d9446ead19e1b62af1f6de45f5f15ebb8a6547bb9e6259bc40fd5221ec2ed06964aa57a0a56feb4b9bdc1573e25d35babc65ef25b8cf27aa18eddc74bbd9ab0fdfa714c6b353505b04cf0cf63f6982beb46f34baa905b3df3b0a443241543fdda4465f2336f989a7c65ef5b1517247ab5856199975b0dca1db3d5646d0e0218a737d012452eaf8bc0484f9e3d9b0bf231bab5cf037a61012c82ca986481755535a64f1911983cb9a90d33e7395f738862ce202ec4e84137b09195d8cd724332219d6bef28c4aa38a35617ad9cd403e554d6cdc2a4cddd26a7a781a233760f96beb1be4f4872a79fcd54a73268a5271af5db64a5f37d2452dbdacb497c7b24ad9013e2d4353ca5eb98223e1864810db17d283c5e30f189e93b192bae53d1da9b2272ea5270856fc41d0bba93c0279baa76f330429ea9ac3b3b24ac0535048cc944898ea5350d18ad08afdbc624ed80570ae2f4077a0d1182defa35bd14e45e12b49b153661012f71a1b342c9392171dca37fb36ec25fe2ba738bc4f62ba457970a4134755ae5ea9c199424dae8cf8856f15b60a49652d7820027ca485d9b732 +ss = d702e489be8bfde28b58f91e1c17d7fda656e0a35d59b1c890f44aa88a6bf9af d = f8ee95521060c03bb8dacc79f7eb7db640f545f315613a35d447a09e504cb4e1 -z = 3fc3d8392cb53f36ed647364a04e37278a0e0a45b720f4a75c580c9920eba98d +z = 7373d22cace9f3a09fcc5e85067ee05c0e537aa0738f79101236b4e7d28f2889 pk = 3c2199c59446aa08c7646c1f567ac35c18b82cb24ab1c51f2ce8a79ba51f432672ccf12c23a5750e9c9a6818b628a49a812377587323b1e63d8f21a9dfc76095827cfe352667c16e888b1a621736c28c8acea052f8c4618591b36650a63cf00b904120ce716fcfb40db52347b12486442267bea46c1b778a98268481155c53a72c5731ac2ee36fb72c61b60273d1419ab8e82611921c99dbcd4e209d2af64a08ac27bcd21fb7b9373f8a84241a1bad24c8dc11203b3554ac802dcd18104dc8833a4b60edb07f9135b452209b65229bef0ba922cc60e32954096794b7248f94b134143b0ab3a8c2288a6065e7adf5049e918b3447ac156bd462a204a6d8d680761b9e70d8796fa149dbd45509b6169bc34ea8b876d30c7a2e51943d2ac5897486ac67b2fbb9b0bafc49c39cb459c8a397db06693c20cd7caa079576834a0991761c79fb660843778229b2af530276c345ef8c420ee395455ab47df46609b0bd34e2aa7f35af596750c71c4aa2754afdc48481a018f2499fae61584eca38f331c571bcbf73ac01b349953081908979499f2bcd6939b81a5199fb5838324928372aa2efb6c8da025873318c08117fcf47302fe99a31b923ba947871c6ad7168246341ae1c567f8706b88f240473a646173a58d559cb5d3865f2072d99b78cb7d63617fc05dd16391830cc22e2ccdec55c46f84262f59d1718c473626f55c8022849935b3a32f55180dd7b67cf496c999189d177cceeda613721718b0a2e74e0301e667ae8aa36d83298b2983054a3824d64097e380585c4288be24e5e711f09e72d31d29164fb34ec7068987241266587a367b067284f3595663f927255c66bc7c79e5575744500792e8236288a432b092597069182c28667c51b76c4a422dc8a023127b58979290043cc79011205cc7e61aed141bcb4c090a6405263e3c9d613a5d1b5b7e0a8c5915611fef213eb4a9891d49f303967ec3ac40ee145e8724e8ae90c6eab8edf970fddb459b66b654c8c1fe039ce07ebb50e441bbe386ac39473b9a6a26f0ba3799155bf047ed33a56eda493c26b6bfa912cd56623b18254d84c3e8e34a23b3948d4579d1dc301706c835d879787cc5964334e52875836e4b105fb9abb613bb3ac9a65ba8f39470e3aa20bdb1741f1f78d527555e10caac4e17f57e89a520514716a6a7fb3a5e4c8792ab5bdd7c6bdc3b6b78ad67054166dde3ba339f364df76281d4515e4229547d235be6b6925063cc3832e08d192b6193d6c02a0fac9629ac6b431846bb39a9d123ca6c147ab5aec49fcf819403ca08684a418c04e6e6397cad03b77b2bf3624b89d176f87c82508c9cb13d60b9b3194ff52a7b58413088b2964b2b92b94463f2cbd92444a888154410990c2d5c018916b5f7059c2087cdae1bf06942d05d997bbcb289bfb0725db84f6e23c96da5c64595e96969097b8b9a28c5adbe36093203f01039a0ada6e63a21d22794405940142e0c959bc624619b964dc6b60a1cd31dc99c4342d1ed67c534570a658361376378e82896f216e57c21159967212481845c112fe0a3b1b4b888ce4c22b3c73fb87084d645359a23d7929704738af9ee7abaeac15cd8c6d87295f849341bdf68b24a85621f397fcd31a209b3089151bd44c9d90092ebd2844fe173392a8836876ccd9d97cad570bfb55523cc7763502acc4d337e8634f97647f4a0996514264b0a3c6681022b739a66a98b92cd0577cf1906bf72cfdb23605169d0ef37ab96baa1aac1322149bf682025c3bb7adcc79c1a9c8fb52c3d4b529fda48997bb71d18a3d4fd201000c4648b634778b7a5ff190a27c1e631381b777ac0e858db4033509c66bf1bba3a5828fb7f578e8fa51c7c87bfca883ea96a968d78bf312983e6ba51bd05617c90a1677159ddb6d4ffb62b8642e56eca75cba3f9d810102037b2c57c7502a60831b15b49c87b7a14fceb228d2f0b82e1a5cb632b8d3070560977b24d591e7cc0c07017a09104d2ee24e6dc2c3af1231af922d62629c32481bfbe309d5a0cb4b61c2eccc7e9bf05fad1a7fcfc3635192c90d76668fc91a297cba04621dfefa729996bd118a308491b59c16cb7077456b0b48da4757f23b90253ca5a2c1aea9a524e08293d77022f66b5707aa4f30f6b099332cdb36b957f6adb81a6ad23469a7b265a3e05b2db868482fcdba0367177bbbcad04f3a50adeb85ded90bd59dab -sk = ab4545850434076342eae8409fe0590c34955e860267305fca05c347bb3e53bc714e3134a6e9b338674a9aabb02f021d1a09a190757f03d573c27687f7e35f2d77294d10cded732218395b344523f1b704b27689dcc286b5c98217f239c159ae5d655436f00517a50c6dc6b7f4f111e7f37a0f319bf6acc7b0e3345c9367b2a2b8d9d644936220c0a817fbb38ceb3469cd55c661e1c58d06807504443448c4e53204dc59c60a5153494478eb4056c9a85967a42ebbc287afda51fdd6b84b285523d41d80a56f7a68a168a4527d902311b18d5e381cfdd578bb7924fe687d3aea5607906815181171a727e4dbce1b678762a8b03c2a2bff1635ca85332ae90f14b880c5ec4e5389b7816ab885c44a8d83c5ef0c4c754c7b6e673d984938d3ca4eb0f5b83b90bec27172ac85154ef27b91623841e188d76b040f958c38c8a112c05b54103e55a159de0954f2477e798a573339508b7c2ac3872a623429777ba3179060135c083e2198d1e0aa01967c39c27372a1a36a92bac3bb13ee3c94b1f0391e2702c50253dd497f16f39bdcb9c68ccaab6312084884b113e70f38555422767f4e613b2e87affc01395fca37df0a1aef74263c1001392732d9d1047cc7c6fb910ae6136c33094526876a113514f2918909532a759617dbe2c97e72176490995dc82b663655df65324b1996a42150be41b2a1c90f03b2a6f04174da1b1cc7fbb024c3c972b9714300c683c28a90f48b01c28607922c3ed25601a609673481b365544b7c36a9550ef20c37005b0e395a268e90ce1a5271e1421b46303b80cbcc81e2894d7569e82c2f5d8c6996c766bc505976628cadd84a3f468c67c209117c8254bbaa1ba584dc2661728a69e959949ed6c9f1b42f01ec8e55614aeb7168cfbb5e16504eb9f585c7789c48e59c17b5975c444bd6e32a6654bce298a605043bd367400c14b1d8e1a592a034543c04a44c85711aa66c807fb07378fb525600c19d9a4a9a8c920ba7db0b1d912a45f2b6d518b469e9121d25cf40499196376d3d92827e1b96ae255aff288037793c7db07e1d15533c07162aacae3255c0cc368e2fba3fef09540952910eac0fb2f3ae376aa666fc97a3e122570ccf797c79ec575835e0be6e808b3cb1b72d8241c3679bf15020b6a63be65b95a2c9147eb98c6553c71c550e37603e6b73c877c94e7b603a22eca456c1409d5aa049673d0ea17c123b1835692253fcb589186baa498f39481c3d0640a4d34931033b30f26ebed6ca9c49ba6fb219d6dc8461937284235a6417cc9c0ca0ad385b04b01c81d5a7b97a34977250e3679ac55c3d76d83b1f7b99dba039dc179147223b5d6c11fc9109dc062a1e4b7c88c710c449320949bb4405b28ea2c04d48c58aabb46edaa58e442f3ab6c9810b6d702855f7ca91af71b0e574bac1040dbe864ddaa76827874839414cf3418d1702c6f368a10714cb25e208c8a5779f639837a07e348841a11714f41399da175c49678307d3634d6b9921880fd43ccb8d7842e5f34ce44a4923e7ce6b671c7a989aa748604d147ce7ac25a1533e80ab321b7aacb8d523a3a6298beb0cfda435d77714993173d080827fb07b7855769eba987696afdf58231f361d2164277bbcb26debb43d1395a23a8d890a2cd71362e2340eb68b84f0b23345d1c449353528c2998584941722a304677008da1a13f8c8fb0687cdf688c707a73d121ef5c609c2150c1ad346a2f85fe3f58aad4280f92c35125345610b901c305f6042aca2f6cc2a4a0d1ea46e378098125b1956f12f54154023549d64d799d6972e3b283108e779028c1f7339a9c3d8676ce316ec9b9f09d654d8b84ac1d26223b36aedb584084855374b0562a113d02cce4bc1ad3ee1b69cd76efd0504b48724d25c3416fc2d12eb58f174a9278a6620856763744a1f863bae4504c779571d83849a88c023f15ce838b524a9c450e2b8592b98b4c89ceb35990bd39b74b87cef750aed976f40bbafa6f03c531b0a9c47ac22fb2b24609324f262e3233274f088e05181b9ab973a4c727ef53d40f914bae5c99d919537e67ec61061c7b61b7d17b72eca748894a25a5a97d5876d4608bf5c2b55fd85243b1117fb907843e47c83d29e51a11d53419051461bce776c040c848cb8522fd2c14880b87fa970873b8f3c2199c59446aa08c7646c1f567ac35c18b82cb24ab1c51f2ce8a79ba51f432672ccf12c23a5750e9c9a6818b628a49a812377587323b1e63d8f21a9dfc76095827cfe352667c16e888b1a621736c28c8acea052f8c4618591b36650a63cf00b904120ce716fcfb40db52347b12486442267bea46c1b778a98268481155c53a72c5731ac2ee36fb72c61b60273d1419ab8e82611921c99dbcd4e209d2af64a08ac27bcd21fb7b9373f8a84241a1bad24c8dc11203b3554ac802dcd18104dc8833a4b60edb07f9135b452209b65229bef0ba922cc60e32954096794b7248f94b134143b0ab3a8c2288a6065e7adf5049e918b3447ac156bd462a204a6d8d680761b9e70d8796fa149dbd45509b6169bc34ea8b876d30c7a2e51943d2ac5897486ac67b2fbb9b0bafc49c39cb459c8a397db06693c20cd7caa079576834a0991761c79fb660843778229b2af530276c345ef8c420ee395455ab47df46609b0bd34e2aa7f35af596750c71c4aa2754afdc48481a018f2499fae61584eca38f331c571bcbf73ac01b349953081908979499f2bcd6939b81a5199fb5838324928372aa2efb6c8da025873318c08117fcf47302fe99a31b923ba947871c6ad7168246341ae1c567f8706b88f240473a646173a58d559cb5d3865f2072d99b78cb7d63617fc05dd16391830cc22e2ccdec55c46f84262f59d1718c473626f55c8022849935b3a32f55180dd7b67cf496c999189d177cceeda613721718b0a2e74e0301e667ae8aa36d83298b2983054a3824d64097e380585c4288be24e5e711f09e72d31d29164fb34ec7068987241266587a367b067284f3595663f927255c66bc7c79e5575744500792e8236288a432b092597069182c28667c51b76c4a422dc8a023127b58979290043cc79011205cc7e61aed141bcb4c090a6405263e3c9d613a5d1b5b7e0a8c5915611fef213eb4a9891d49f303967ec3ac40ee145e8724e8ae90c6eab8edf970fddb459b66b654c8c1fe039ce07ebb50e441bbe386ac39473b9a6a26f0ba3799155bf047ed33a56eda493c26b6bfa912cd56623b18254d84c3e8e34a23b3948d4579d1dc301706c835d879787cc5964334e52875836e4b105fb9abb613bb3ac9a65ba8f39470e3aa20bdb1741f1f78d527555e10caac4e17f57e89a520514716a6a7fb3a5e4c8792ab5bdd7c6bdc3b6b78ad67054166dde3ba339f364df76281d4515e4229547d235be6b6925063cc3832e08d192b6193d6c02a0fac9629ac6b431846bb39a9d123ca6c147ab5aec49fcf819403ca08684a418c04e6e6397cad03b77b2bf3624b89d176f87c82508c9cb13d60b9b3194ff52a7b58413088b2964b2b92b94463f2cbd92444a888154410990c2d5c018916b5f7059c2087cdae1bf06942d05d997bbcb289bfb0725db84f6e23c96da5c64595e96969097b8b9a28c5adbe36093203f01039a0ada6e63a21d22794405940142e0c959bc624619b964dc6b60a1cd31dc99c4342d1ed67c534570a658361376378e82896f216e57c21159967212481845c112fe0a3b1b4b888ce4c22b3c73fb87084d645359a23d7929704738af9ee7abaeac15cd8c6d87295f849341bdf68b24a85621f397fcd31a209b3089151bd44c9d90092ebd2844fe173392a8836876ccd9d97cad570bfb55523cc7763502acc4d337e8634f97647f4a0996514264b0a3c6681022b739a66a98b92cd0577cf1906bf72cfdb23605169d0ef37ab96baa1aac1322149bf682025c3bb7adcc79c1a9c8fb52c3d4b529fda48997bb71d18a3d4fd201000c4648b634778b7a5ff190a27c1e631381b777ac0e858db4033509c66bf1bba3a5828fb7f578e8fa51c7c87bfca883ea96a968d78bf312983e6ba51bd05617c90a1677159ddb6d4ffb62b8642e56eca75cba3f9d810102037b2c57c7502a60831b15b49c87b7a14fceb228d2f0b82e1a5cb632b8d3070560977b24d591e7cc0c07017a09104d2ee24e6dc2c3af1231af922d62629c32481bfbe309d5a0cb4b61c2eccc7e9bf05fad1a7fcfc3635192c90d76668fc91a297cba04621dfefa729996bd118a308491b59c16cb7077456b0b48da4757f23b90253ca5a2c1aea9a524e08293d77022f66b5707aa4f30f6b099332cdb36b957f6adb81a6ad23469a7b265a3e05b2db868482fcdba0367177bbbcad04f3a50adeb85ded90bd59dab9cc95efe512c84010ccd7118a92522cead44cff28d6e223f76702a47694c8f053fc3d8392cb53f36ed647364a04e37278a0e0a45b720f4a75c580c9920eba98d -m = 7e8086a01dc5b3bb9eda25bcc45d27f99874841b97237968495800e007696ac5 -ct = d88885324ee2d914a441f11404615809ff4203cc35865b4c0b35aaa04ed69e1c611f7fc5adbf2facbab5347f05038cfaf3e14c91e756f0492dc7ce09e36a86c3d57918bf6738f529821a2ac6c7f10c28f55f737b8fbe174a7b0420b28045e188c47772d3cb83691536646a0881435026e5284f7c90d52a02541c90548f4329480e44d5aa12a3be589fe14dd57938d95721b5bdbc3e5e9dd5320e65f071acb3f492dade686073e93b074a7191532dc29a6e18afc81f305620570dd408e30f87c6b7a05a5bdf09173f61a441bfa8098c8bd18a3fc2b95e2d2e8ef0917a31f6e9d5737ba3941c7e8cb57b032f01cd079436aa7fd9ec714b75ba725fcf0bbab1cd7c86a3794b66e424197d0aa68ec36ddfdd2b2f189301dd39a93648f83136c9c64294c35bff9467791cfbce2c8e46f0f8e589b19a30eeb6031e4078b402a65e16d9468f897326addd6053565ec840ca2be8dadc173cba3436fc19a1168fb68ac9fb00162ec4edbd2bd031381e6faaf8df40c4a3d6316cdf74bf5a1e266ab1c2fcf2ba0c8466362ef3ca59ecfb30e6ccca5a6fdaced32b51d61cc840b42496ce63ae708b825fcf3f603f6e52c0ccec7a0db594c008f8a43bb24744689bdd676c70e430d0ef630a02e39bb4c3b3bac7bac6c517efdcc25231ab8076aa53a3e27452550e2fd27f73ee909075dc9e4a85c51186a792a64e835b25d1bfc7cfb2fb607c4c6b8f3fbeab5346decd5189e31d7dc74762472b1de796f79729ba4cc5e420d9f56ab71abd6a4394409cf835d7cb4ac55565d8c31f513a5f7fd917525fe5af5d989efd773099bd2b702322b3063a451adaaab95cae12864063c77b5bbb6faba537825adca246e79d28abd589fce80b3ef2e73da86b32a04bcdd6e0cd3c1b9311cb312eeae9e1903acaf2794061017639d1a6f2c81dab4ee08f2405f35ae9e65b5101159933bf66cf41d9e15b95a90bcaf35a0c539e3169165a1745c59c9c7bb646cc28b96125676ad175c23b133fd6eb3b4846e7135e010f785820fa3c88ba76063fbe5c5cd43f39ce44086ef23c343d96282ece6e8ae12f91ff3e5f6c3ee38a98dbad47e9232463b944f458d0f2cb7e85ecaa9ca4676a0d5be1276d09f6099c72471d3cfafd458c269b5f407dda9e0c277a2d5620f177e0db448bc1f4137e25bf1322eaf05b1213aec8489f28b5117e60fa87c62177841da1f9de9c153c806eba6a7e1497095b96ba977bbf31e831bf833727542c7c396aa80366b269260ef9ceb8cd1054bcf91950a7ad6dab51e9c88dc2b19960487a69d9acdb2409230c6b431bf85d128defdb58d648da590d2a27ff28231c717e22208bbe1f35229b3baec8d5491f563fc6435dede3ff6b644f14288b65791fb03eb9d52d8ca3bc66bff8cc4be63a53bee600a1f3c9965741a7a5ef228da3f16837015875954dba1f9bff1d7a028ccff21e7fd63c1ed1bf458bd1e21e99e5323fdd50f498538f68ef0e390164bd0b7fcec3a577478a27fa49af5c3ce66c775f78389bf25831ec16964ef84893fbcb3153a57084e84c38a16a618921bc3a53db5148fbfe3b88f6d83371cc5b92cacef4263a5900d9c7f9e13fb2f583400143d874bb0c7a1656d32b0e46d6b08ace8b24e26159fb584a3561e1b7ac795e522408c398ca2e5bc66e583720c66b9adaaf09810a9d0140fc3adcfa5168715659bd1c29664e5bf5e3a50cadddc1bef108436fe5d615da0e45422dd0735cdf98eb8cd476167b7c6a0c46b531378ff5bc450054e5b1576fd854e3dcc56451bfb9fd6211abf591a5dbe4b78ea50a449ad56658443b31b2439b0b303c28fbb95f22d0e7f19af6d7677979b5caade05fdff99ed12269b52c2e1a6eb4e22a3fb46b3821ee457d4dc50c5fc88448224d4010d719f2a6c236e061769cbafd63ebf26b5e6834da7d54b79de20741ebbd444e8cbff0280f9665f7bd03123de32fe8da742d9d0e0f4a8aed82e3524e5e70f42db312b0c5ee888c9bac9d9ea4bcd003bac04ef5fa02075c845b70924dd85557b08f74de7c5712bcc3981e98afe03bfa0fb839b9d7e4af77a1572d82c40bd9fb2a1450936f7da7e61aee716314626ef1f9d5c11ffb87aa9929525c9802732221fb3dba1016b749ff3b8ca006e427a10f894c4004bf184cc67c0982409433fd2ab2ee4317f4364e0272ba1ebea26e4b49d0672efabed0bcb540ffff2162a531203d30 -ss = 9658a1ab1f44049650124a669d72eb6bd2cba3f39637c7f8559c68044242c3e5 +sk = ab4545850434076342eae8409fe0590c34955e860267305fca05c347bb3e53bc714e3134a6e9b338674a9aabb02f021d1a09a190757f03d573c27687f7e35f2d77294d10cded732218395b344523f1b704b27689dcc286b5c98217f239c159ae5d655436f00517a50c6dc6b7f4f111e7f37a0f319bf6acc7b0e3345c9367b2a2b8d9d644936220c0a817fbb38ceb3469cd55c661e1c58d06807504443448c4e53204dc59c60a5153494478eb4056c9a85967a42ebbc287afda51fdd6b84b285523d41d80a56f7a68a168a4527d902311b18d5e381cfdd578bb7924fe687d3aea5607906815181171a727e4dbce1b678762a8b03c2a2bff1635ca85332ae90f14b880c5ec4e5389b7816ab885c44a8d83c5ef0c4c754c7b6e673d984938d3ca4eb0f5b83b90bec27172ac85154ef27b91623841e188d76b040f958c38c8a112c05b54103e55a159de0954f2477e798a573339508b7c2ac3872a623429777ba3179060135c083e2198d1e0aa01967c39c27372a1a36a92bac3bb13ee3c94b1f0391e2702c50253dd497f16f39bdcb9c68ccaab6312084884b113e70f38555422767f4e613b2e87affc01395fca37df0a1aef74263c1001392732d9d1047cc7c6fb910ae6136c33094526876a113514f2918909532a759617dbe2c97e72176490995dc82b663655df65324b1996a42150be41b2a1c90f03b2a6f04174da1b1cc7fbb024c3c972b9714300c683c28a90f48b01c28607922c3ed25601a609673481b365544b7c36a9550ef20c37005b0e395a268e90ce1a5271e1421b46303b80cbcc81e2894d7569e82c2f5d8c6996c766bc505976628cadd84a3f468c67c209117c8254bbaa1ba584dc2661728a69e959949ed6c9f1b42f01ec8e55614aeb7168cfbb5e16504eb9f585c7789c48e59c17b5975c444bd6e32a6654bce298a605043bd367400c14b1d8e1a592a034543c04a44c85711aa66c807fb07378fb525600c19d9a4a9a8c920ba7db0b1d912a45f2b6d518b469e9121d25cf40499196376d3d92827e1b96ae255aff288037793c7db07e1d15533c07162aacae3255c0cc368e2fba3fef09540952910eac0fb2f3ae376aa666fc97a3e122570ccf797c79ec575835e0be6e808b3cb1b72d8241c3679bf15020b6a63be65b95a2c9147eb98c6553c71c550e37603e6b73c877c94e7b603a22eca456c1409d5aa049673d0ea17c123b1835692253fcb589186baa498f39481c3d0640a4d34931033b30f26ebed6ca9c49ba6fb219d6dc8461937284235a6417cc9c0ca0ad385b04b01c81d5a7b97a34977250e3679ac55c3d76d83b1f7b99dba039dc179147223b5d6c11fc9109dc062a1e4b7c88c710c449320949bb4405b28ea2c04d48c58aabb46edaa58e442f3ab6c9810b6d702855f7ca91af71b0e574bac1040dbe864ddaa76827874839414cf3418d1702c6f368a10714cb25e208c8a5779f639837a07e348841a11714f41399da175c49678307d3634d6b9921880fd43ccb8d7842e5f34ce44a4923e7ce6b671c7a989aa748604d147ce7ac25a1533e80ab321b7aacb8d523a3a6298beb0cfda435d77714993173d080827fb07b7855769eba987696afdf58231f361d2164277bbcb26debb43d1395a23a8d890a2cd71362e2340eb68b84f0b23345d1c449353528c2998584941722a304677008da1a13f8c8fb0687cdf688c707a73d121ef5c609c2150c1ad346a2f85fe3f58aad4280f92c35125345610b901c305f6042aca2f6cc2a4a0d1ea46e378098125b1956f12f54154023549d64d799d6972e3b283108e779028c1f7339a9c3d8676ce316ec9b9f09d654d8b84ac1d26223b36aedb584084855374b0562a113d02cce4bc1ad3ee1b69cd76efd0504b48724d25c3416fc2d12eb58f174a9278a6620856763744a1f863bae4504c779571d83849a88c023f15ce838b524a9c450e2b8592b98b4c89ceb35990bd39b74b87cef750aed976f40bbafa6f03c531b0a9c47ac22fb2b24609324f262e3233274f088e05181b9ab973a4c727ef53d40f914bae5c99d919537e67ec61061c7b61b7d17b72eca748894a25a5a97d5876d4608bf5c2b55fd85243b1117fb907843e47c83d29e51a11d53419051461bce776c040c848cb8522fd2c14880b87fa970873b8f3c2199c59446aa08c7646c1f567ac35c18b82cb24ab1c51f2ce8a79ba51f432672ccf12c23a5750e9c9a6818b628a49a812377587323b1e63d8f21a9dfc76095827cfe352667c16e888b1a621736c28c8acea052f8c4618591b36650a63cf00b904120ce716fcfb40db52347b12486442267bea46c1b778a98268481155c53a72c5731ac2ee36fb72c61b60273d1419ab8e82611921c99dbcd4e209d2af64a08ac27bcd21fb7b9373f8a84241a1bad24c8dc11203b3554ac802dcd18104dc8833a4b60edb07f9135b452209b65229bef0ba922cc60e32954096794b7248f94b134143b0ab3a8c2288a6065e7adf5049e918b3447ac156bd462a204a6d8d680761b9e70d8796fa149dbd45509b6169bc34ea8b876d30c7a2e51943d2ac5897486ac67b2fbb9b0bafc49c39cb459c8a397db06693c20cd7caa079576834a0991761c79fb660843778229b2af530276c345ef8c420ee395455ab47df46609b0bd34e2aa7f35af596750c71c4aa2754afdc48481a018f2499fae61584eca38f331c571bcbf73ac01b349953081908979499f2bcd6939b81a5199fb5838324928372aa2efb6c8da025873318c08117fcf47302fe99a31b923ba947871c6ad7168246341ae1c567f8706b88f240473a646173a58d559cb5d3865f2072d99b78cb7d63617fc05dd16391830cc22e2ccdec55c46f84262f59d1718c473626f55c8022849935b3a32f55180dd7b67cf496c999189d177cceeda613721718b0a2e74e0301e667ae8aa36d83298b2983054a3824d64097e380585c4288be24e5e711f09e72d31d29164fb34ec7068987241266587a367b067284f3595663f927255c66bc7c79e5575744500792e8236288a432b092597069182c28667c51b76c4a422dc8a023127b58979290043cc79011205cc7e61aed141bcb4c090a6405263e3c9d613a5d1b5b7e0a8c5915611fef213eb4a9891d49f303967ec3ac40ee145e8724e8ae90c6eab8edf970fddb459b66b654c8c1fe039ce07ebb50e441bbe386ac39473b9a6a26f0ba3799155bf047ed33a56eda493c26b6bfa912cd56623b18254d84c3e8e34a23b3948d4579d1dc301706c835d879787cc5964334e52875836e4b105fb9abb613bb3ac9a65ba8f39470e3aa20bdb1741f1f78d527555e10caac4e17f57e89a520514716a6a7fb3a5e4c8792ab5bdd7c6bdc3b6b78ad67054166dde3ba339f364df76281d4515e4229547d235be6b6925063cc3832e08d192b6193d6c02a0fac9629ac6b431846bb39a9d123ca6c147ab5aec49fcf819403ca08684a418c04e6e6397cad03b77b2bf3624b89d176f87c82508c9cb13d60b9b3194ff52a7b58413088b2964b2b92b94463f2cbd92444a888154410990c2d5c018916b5f7059c2087cdae1bf06942d05d997bbcb289bfb0725db84f6e23c96da5c64595e96969097b8b9a28c5adbe36093203f01039a0ada6e63a21d22794405940142e0c959bc624619b964dc6b60a1cd31dc99c4342d1ed67c534570a658361376378e82896f216e57c21159967212481845c112fe0a3b1b4b888ce4c22b3c73fb87084d645359a23d7929704738af9ee7abaeac15cd8c6d87295f849341bdf68b24a85621f397fcd31a209b3089151bd44c9d90092ebd2844fe173392a8836876ccd9d97cad570bfb55523cc7763502acc4d337e8634f97647f4a0996514264b0a3c6681022b739a66a98b92cd0577cf1906bf72cfdb23605169d0ef37ab96baa1aac1322149bf682025c3bb7adcc79c1a9c8fb52c3d4b529fda48997bb71d18a3d4fd201000c4648b634778b7a5ff190a27c1e631381b777ac0e858db4033509c66bf1bba3a5828fb7f578e8fa51c7c87bfca883ea96a968d78bf312983e6ba51bd05617c90a1677159ddb6d4ffb62b8642e56eca75cba3f9d810102037b2c57c7502a60831b15b49c87b7a14fceb228d2f0b82e1a5cb632b8d3070560977b24d591e7cc0c07017a09104d2ee24e6dc2c3af1231af922d62629c32481bfbe309d5a0cb4b61c2eccc7e9bf05fad1a7fcfc3635192c90d76668fc91a297cba04621dfefa729996bd118a308491b59c16cb7077456b0b48da4757f23b90253ca5a2c1aea9a524e08293d77022f66b5707aa4f30f6b099332cdb36b957f6adb81a6ad23469a7b265a3e05b2db868482fcdba0367177bbbcad04f3a50adeb85ded90bd59dab9cc95efe512c84010ccd7118a92522cead44cff28d6e223f76702a47694c8f057373d22cace9f3a09fcc5e85067ee05c0e537aa0738f79101236b4e7d28f2889 +m = c4d1d167371706468915dfa7f41e45fc48fc5e02ef79651c81c87bea7861b2b4 +ct = f36059c15b9d55453538aaea8939dce8716b0dbe63a61c13c32d10591b2255f15b930db40542cf7a78f97d8fac27532718ac6919d4b9423058fef7bde938f561c61a4c9aac5e6491d16526dc9d64d045528a63e736fe1cadfe6fcd5190664eb4b7c544d9581d364500c2e17da7ec5c6e8f4c585c1097393a051b5aa2efeb530b9801280c2c16174594e1a24266e61bbbf2654e20c5db6d08ca679a2843e2ae34062517c6cc52e22603507ea6caf55f3b33746ce11c180462299f192c240af7f74b0fe29fecf18ab806de6aeaf97240ab58fbd660a0a50da2fedf0f9a0a7c1149938f5411e5c67783f580beb46441dab1b115cf6512f0a20933d3f7a45ef4918aaadb979fc685f0a3458b7a5a211c6ecd9e68ef4abe1bc3ca794b3b548abf73f2e0aa905aa18d97ebbe2a86ac1d3fd20360a9139b5ffa821a8c9ec0f5b860be61386d81fbb9de2faf4a9f5b7dd1aaa4199295b1ab4fd8835b9d2a1792eeb8f3e46ab082538ae0816e716c654ba3f7d32ed9d030861e999f0c22c7453248d73b11868fa995736e2e2fe181a39e891768da24bace0157ca8d0bc9ef68eb91aa5797026f788d87b8cc367856fe10ba5919551e8bf2f46f67992eb7ef697bba02fac67aba0b5bbdbd28fcf94abbe971d59d71ea70119ad988963a1e6ecd0782482f94f96b2ff6cb63b7b5abcc93b4b7b89684bb370eeed9a2a8e620a7b97dd97c0902627e849d44ab436ed545af3be0c92bc1148dfa499a5ac7493e810c31d0352c82d373c5ad55504ead1399ef14f4b23406672af437d44beacabb1d42352085a8aa35686455edf611f0891203a42090af5b1946c869ccca8ec44250660d9b6437711068d4cf6b35144550ad82b12789539c0d21eab3025662fd9d3716956ba639e556e14ca7490d65d8e8ee93c9efcc63449c62f939d82916ca6452b61ade117e01c277e33ac020a76e8dc3b479cde151b34b241d21097440905a3e6d74ebdc2670e026ce49a8cea6cf0a0833a3be787b72a029cac2c0d96e028221cb937281348ad03f3fd8305b82cccd37510fc53a11603f238dede2e14e799dd2b28c96abae6c7ac9e26732cf3fd0bc1043cefa3fa30fbbf2294426cf999063443097102efccab84f4e354cc2812739815eccfb2895a687a8b66d079280983c1cd33b7c3bf6ac84979623c87c0cd22de7d07c1e5e06819cf087c249d3e02ee0191469a64d63c086e8d6851b15df9c8573be5a5499740e40484e6f52336e2f10201e788a8be42a5cfea22be8a08abf69a950d289c71b6e9059e07250c29b968b5a4f3d34809a8e900ccb8847ef634b3d807b3a12ab612680c95a0966023851cf710dbdc2624de6514ae5767f15ab696584b48e21f918418b2a0768e2891d5e33bd7d0aeeb5016be54b44d51849b104726790498d53c179e65798e19ea8248ba28cd2194050e8e5b2dbe3569d85bbb3f8672aa7c99e13e21b72f7e9d283f220f446eba479dcbb3bc294445b0cc799d2554fa90d4304050b78a89dbd5aa99871cf6632f179c7491f51a606b90849d293d47523e162b9c006bb287c661b7656397103db29ad411a47d95d9dc19b3065b7adba8db41915dddce9971860b1818bcec3ab1c6ae9af3d44d9e152f8b1f38163db05e250682839d7304d706101fd1b06bb46fdf67af7735c7a4bd71a1034907ba387d6be58427dd770823acf41f1fb7bfd029353ecde829a6e19259b603402c4f3a05fa88473dd802f92bdf799952990c7495edcc65835149e1d96d2d7431128c5b6c688f3d95372371bec7b9abd9d5173d106d9bfd40c169983a63666adb1aad17183725092fb3d4d22932d1e8645f7a1fd8c5604b4f662c8e3b5ed10b144de161923de1a79b8889baa1a79342ca0a72af06eb0a045104c43147fce6833eed49c31efe6467daa7e6a429d6c534b2074a66bfad0ef79f291c01da6699e5a344ea57152bc2b0bec4f13964289f1f3be12b1e159c497303623a6deace0bcba1363df8616be9e176b7d2fec99fc438a526deb8ccc333a51e94609773105537dfd71a1cb681f77de18e0ec0c7df010ec93e0a437bd5361f450b8e29c714f8ef702e7971d9d83bbc4b4d9c9221aa1eaa470303cd93bf3be9d86a24a09e44c5b7c0b0a2df262513058a8a7c7f945efd93ed9bc66a2ee2538c2a8abee492494ba1952d7b5c36f7e7b78d14852051a11a4511ed93f4089300fe26b35 +ss = 8f88ebc3e728a5e62931050a9e36a3788c6d4e8b11ffbb1a40e2e1c7089b914f d = b8bd0493a882e3a49b4e0f6256fb1fea0912562fd9ba26ec3d6c9cc12c8973ab -z = d7e4b5d8021c486b9c3114d7cbbeb7cd49eba8a61bc2bcae1f1bef30a1daf76d +z = c1b070e4e519d727f677e011716436bee9dd0188fe38c00d0ff425ad794c07d1 pk = 5651279153af42d2940a191c57e30e0f1c6a3bc553d805aaae5982c663c2dd034e6bd48dd4e0794d55bb26379871fa7692fc7fb61c8f0565916db30861a2a61b346986697690d16185753395060b229326681b16cd5b8069fb5498aac4ac9023adc380aaea764fd8625f765f5d73a1189a7524a6bdd1209a8a23bbc5d96c54b89b9f256d20f396b6f61e47e0989ac04cfb267b175a8b38395dc3e976feeba1967ace1c491733cb3b005580fbf666ff6093597cc59362cf60d074f6d33c3be33bd02bb0d3460abd45889cba06129ab11fe978d4749a675c32e2e9bb2d6816ce198bc5e67bd6069666c6b1ef780765664ef650c9847566e02c116f5318d1fb240a167a89b2381cb4cd7ad60eda125bfad338bfd668a008a9f9354999949ce5fc09aa21025a83cdb2c7cfdcbb3e03e0212d58b78e00ad85ca97e3f64a82e79d26053da439862eaabf9bba6a11f225ce27be4cb2ac2ee73742db5c074597fb25b50b83cf03758853576c8ad4c8e748cfd8306370672f20f315474836509c93ea814c9c77a4366325d13c52b0d5a231d79ddf765e774c9c60f6a2f7b1377630be03149a31d7112e61b32296234678bebbe05bcc4857453858b06680399c699fd23a9f96b95f5978437b5d453704c32317beaa45222133d6cb8a5e984633081170c154d68674896911ce5014a9054c37901411ba72f77474b5591e0e1477705a3e1b535d4ed3b3c1d043de517b23035239a39694005c00ca332d9b5c98a16034550d4a92169966882bcb28f01171e276bb36f98dc3dca74058462f2caa4d5a9e60991f848b6c519c45332b18232b900d9787dc78a685360336b685d5301315923f8df99d34b8267932496ae4981a2cc94739cf075343de4231736b42d9866b0ce7030be42aca98309021b24a1a518dd0107c2b03a75552c169b605635323d9cfee4c607c656724b48f523a1ebee51393e1538dca234d864066f7417b1b67968a2c03f9b85255148a9409bbe6543be9319a3777fbc586bac8aa5574612078a6e9a78640757f63c1646e015d64066402a2a8f36b7c96e0a50ea13c220103194bb188c6947e533b1a173cdaf225eec27720a61bb3017205e98258fb470641633d955d14589bc566c9fce9590b6141f9c662baa60ceac1a7b0e518e370c27da21e2a098d62433f2fc336340851e2e536e0b2ae8c2b2b58057b5d30a8fab602c48ccfada926455549ee4c15f2369f58742d5fa85415990faab1b76eeaba47d05a0c35653b36192a6b108046bca55443fa075f072270e836293ff543d729400693483f7b44f0c65dbb17b5919858877acabd77ccab92446a09c8be6653f9398b4d5540e8544d56d5c88dd20ea99344b747304f56b2aa725f1a858eb7bbae293b891ca61c2d5942204455cb726c29a23231eacfac678dbd002ea8395203172b35a448ed3944bb07bd2e11b9fb52caca2213dd482159821ef5d9a98d09147e272d3a9b84023172d0d1ade55662b02a9574c13a5d5b79575c25c9d46bc5c766e4768836f787cc6a771a772518e7c5a2f4716e007900db8abc8a630916a268b080cf12ac427a02c474ad28caa73a5793bb0a7593913debfc4cd353ab92bb23d78a2822527e58f52f4d5a70b2f05eb0e6231dc43e5fb7c27bf6870181709f1b0ef4175753687a66261f32773dcc520c752ca7ad6344155bc63f000e1c18be1d154476a4a639d2ae5e36bbc157a7c7f8291b6506f12aa8003784927284fe1b1a4fb70aba9a39d0775dfa293f9a29a4fa3712fda54c41e45c6696aca509d09e42618164c34f78b5b385750ea93d39abbbac58640ce09e5a5245a37847c78765d731596bb10123f51793ea5d97c0321fb5810a22af50406e53806569c53750153ca7b49dddea12baf4ade371b4c7d05e29369a5d1c71ee1ba62db26c74b456cf30832018cfca235b32174c031c53b4c653ee205c632218ce05676f2878930334c2c284d7e3b73683cce303694e68bc7f95b0d186acf5101d95fb6ce55acda6743c7512638e42978af9037272a1a5e23e3632059ee1a3367ca9bacb27930700d19327a0c6ac9fb57d3e41bedcdcc47efc18653c2c5cd78200ac77b066b018d137facac920790bc9e593cc243761cab947818e8ad7ae6701601644aaccb78ee7bc4e233aab6cf57188333e7b4d655c9f1ea4b448fbe32c4996fc298d26cae25d276bcf6e66ba65e3e97791 -sk = d7e3338b3ca1d6118b7485bf85ab9e8f6c36e158b67d2c3530b0a544b8afaa0a8604710987429d0d1b1eaaba8f06422e992c475dc4cf909061efe673a3547575e8b00ba47d5a158c22e6b2c280b3152165a5a01a43d801e96791b6d99c92c0b0602c94c0b13f2672146a7044e4372c5fa8843fa7974692b0f292af9fc3b5793092c705421e6aa39b7b3eec76694f5555985a94879abf737949bc33cfd1f8563565b2f345b6b3389fe061509be046b3a048a73599ac20466f0707e9b46045352f94507659ba428cc6994ee3375b07d09ad3be1872c15692c7394626cfc01bf5435d7922bf9199533a22cc4ff021a97c571db311485b36e2a3344eb880c67819aea18b09919fbc57cbc11cb228f8c24f38a445c512245c3a5cbc65d20269ee849bc268899981b9f334704499b60a891139d9470a1a147f38470752c4eaec5b14d51817fcca22e7bc1c585cd2189131960a9e9284ac7940b2949707ec7a67f22db280775d8163394a3a9557bd48f50c26f177ffe83030a3455de1196a763f8af156df73ce3bd07ac70447573a79dd04a59e8b40e39c6fea736e14f1b1b67b5cf556c3adb29facfca4e6d8b759d37737863da2a7ac4a645a8f202ad61c17068385c21415f7e14146d896020b89cc73aad60135d5a3b94879184e086f1066a9f56041b6029d1f538fb5b18a7a741e04e2c158b69927a1a7708bcc411988c0c315d0d1bc3a31b0cd473fcd3abacb1bb3eb23224379b5350081efcb8c45584d3b845e2500420453718ad83194130983a355b1388bf246b9fe7400443c52629812fc1125c3800c3f824c0ff95bc24a2e8b306d5e3278fffc585843bbfcd06d2ec3482295717a5111aa7b6475040083106a01491cf981197eeb77d9b01c2be476f07c59cbeb5c4d19a2000d61546a9cc149a149ba8e57cb0ecb3105d94715c7b1ba7800785edba95a7352583354b93cbef98c78bfa946a7431813ec36ac45488b170859c098b7c6813cab2ffb519814c3a9de3c254ed7a144fb6d15b183cb48a9021972233382fc8c388511add6a86837801f4bea0df0103b3a152648bbcda68499352691be0c3e5218a7c22c8ce49790af1bcd4f6717eaa18cb489b446d24f5ce239c79a6e34215e87bcb8461b5b509c895ec22f94c17c3bcc5904d968c469b200d3322b423761e3749556476d925a915971a62a5a330acbd106ad77da7897815cfa31cd44310d44915d762164b6170b2916b5427c694ff3340fb16b73500e92833ecc35bb25db6e652701d85ab215b366a173604c2797c2a9c420e069e7e4b3d1120dbd1c196d105211134478d23cc4428f8f56182ff3a51c7b84f01a08ba157e86b9374fb7c2e7eca3d4b65f4a73472e38c6f7c06883c99c4ce934f9b04436d250ef262c42d4862b90c11f4924087469210a25cf4cb29d139d85d9c904004cb246348c60736d707b2b9b111c91acd3937d9e8934032746aa5025bcec8bf637936448a0dd67a27db2a74b60bba82bcc87d73d4a9033c427a85883613eda43829c7ca3c7a8f24364633610d8199a5ec8038d0b6686abbd47692ada94282c40799ed4bf8ecb65ee7c8b2047c41eb255318c139b89ce909831fe3024bac10b4110ca34f1bd752858a4c0c307537263723987f6c3e29918fe816ec4956c5b4b33d532367f14230b14357e94bbb7e8a947453e4eb606de4c695468c9b12458340cc59d0b23b01b2255173af1206383aabda0bb1fb76a65a814bb2a4a1a0108650617090c3a35ec675650745381e56658cbb71a81cc386bccef66cd599b1819629ee02015b4928a5d12838892333974877a2995bb2b73bf3b292da0ac34d26dbc501a2c20be0e054b8b0bc541ba92d135118a5a17c19a2b3501c60921b960e013f88ca623d4b37717ba5882bb3bda2bb146c42ca4b339a01fcff7c35ee467a4e7c282f175985bc07481bebf5395e0d3843759117459c2b7a45985a672657b787768c32cf37aca5a419743c70f48bb78d53f6d65b5d3d079907975b77698649292ab0c8c93938147b6afe695b9774881cb11ac88ac3a1321965e598b4e01b76114c6b47316657b01116412b0e4c5aeb29e0c1856382569fa800a91f6b7699928a12ab0bf92a395f643234c98b66501bb66b8ba4b88c516101594338ee57700b95ce6e334b7d4425651279153af42d2940a191c57e30e0f1c6a3bc553d805aaae5982c663c2dd034e6bd48dd4e0794d55bb26379871fa7692fc7fb61c8f0565916db30861a2a61b346986697690d16185753395060b229326681b16cd5b8069fb5498aac4ac9023adc380aaea764fd8625f765f5d73a1189a7524a6bdd1209a8a23bbc5d96c54b89b9f256d20f396b6f61e47e0989ac04cfb267b175a8b38395dc3e976feeba1967ace1c491733cb3b005580fbf666ff6093597cc59362cf60d074f6d33c3be33bd02bb0d3460abd45889cba06129ab11fe978d4749a675c32e2e9bb2d6816ce198bc5e67bd6069666c6b1ef780765664ef650c9847566e02c116f5318d1fb240a167a89b2381cb4cd7ad60eda125bfad338bfd668a008a9f9354999949ce5fc09aa21025a83cdb2c7cfdcbb3e03e0212d58b78e00ad85ca97e3f64a82e79d26053da439862eaabf9bba6a11f225ce27be4cb2ac2ee73742db5c074597fb25b50b83cf03758853576c8ad4c8e748cfd8306370672f20f315474836509c93ea814c9c77a4366325d13c52b0d5a231d79ddf765e774c9c60f6a2f7b1377630be03149a31d7112e61b32296234678bebbe05bcc4857453858b06680399c699fd23a9f96b95f5978437b5d453704c32317beaa45222133d6cb8a5e984633081170c154d68674896911ce5014a9054c37901411ba72f77474b5591e0e1477705a3e1b535d4ed3b3c1d043de517b23035239a39694005c00ca332d9b5c98a16034550d4a92169966882bcb28f01171e276bb36f98dc3dca74058462f2caa4d5a9e60991f848b6c519c45332b18232b900d9787dc78a685360336b685d5301315923f8df99d34b8267932496ae4981a2cc94739cf075343de4231736b42d9866b0ce7030be42aca98309021b24a1a518dd0107c2b03a75552c169b605635323d9cfee4c607c656724b48f523a1ebee51393e1538dca234d864066f7417b1b67968a2c03f9b85255148a9409bbe6543be9319a3777fbc586bac8aa5574612078a6e9a78640757f63c1646e015d64066402a2a8f36b7c96e0a50ea13c220103194bb188c6947e533b1a173cdaf225eec27720a61bb3017205e98258fb470641633d955d14589bc566c9fce9590b6141f9c662baa60ceac1a7b0e518e370c27da21e2a098d62433f2fc336340851e2e536e0b2ae8c2b2b58057b5d30a8fab602c48ccfada926455549ee4c15f2369f58742d5fa85415990faab1b76eeaba47d05a0c35653b36192a6b108046bca55443fa075f072270e836293ff543d729400693483f7b44f0c65dbb17b5919858877acabd77ccab92446a09c8be6653f9398b4d5540e8544d56d5c88dd20ea99344b747304f56b2aa725f1a858eb7bbae293b891ca61c2d5942204455cb726c29a23231eacfac678dbd002ea8395203172b35a448ed3944bb07bd2e11b9fb52caca2213dd482159821ef5d9a98d09147e272d3a9b84023172d0d1ade55662b02a9574c13a5d5b79575c25c9d46bc5c766e4768836f787cc6a771a772518e7c5a2f4716e007900db8abc8a630916a268b080cf12ac427a02c474ad28caa73a5793bb0a7593913debfc4cd353ab92bb23d78a2822527e58f52f4d5a70b2f05eb0e6231dc43e5fb7c27bf6870181709f1b0ef4175753687a66261f32773dcc520c752ca7ad6344155bc63f000e1c18be1d154476a4a639d2ae5e36bbc157a7c7f8291b6506f12aa8003784927284fe1b1a4fb70aba9a39d0775dfa293f9a29a4fa3712fda54c41e45c6696aca509d09e42618164c34f78b5b385750ea93d39abbbac58640ce09e5a5245a37847c78765d731596bb10123f51793ea5d97c0321fb5810a22af50406e53806569c53750153ca7b49dddea12baf4ade371b4c7d05e29369a5d1c71ee1ba62db26c74b456cf30832018cfca235b32174c031c53b4c653ee205c632218ce05676f2878930334c2c284d7e3b73683cce303694e68bc7f95b0d186acf5101d95fb6ce55acda6743c7512638e42978af9037272a1a5e23e3632059ee1a3367ca9bacb27930700d19327a0c6ac9fb57d3e41bedcdcc47efc18653c2c5cd78200ac77b066b018d137facac920790bc9e593cc243761cab947818e8ad7ae6701601644aaccb78ee7bc4e233aab6cf57188333e7b4d655c9f1ea4b448fbe32c4996fc298d26cae25d276bcf6e66ba65e3e977918b12f00bf09aec2b492cf53686beb31c558d0493cc7b2b9a9dc7265fa9edb685d7e4b5d8021c486b9c3114d7cbbeb7cd49eba8a61bc2bcae1f1bef30a1daf76d -m = bb321ef14d44d8698df879fd52450567657f52a2df8d111185dcd7d4f30a72d4 -ct = 8bc46f61d95f5c96ca7bc453c55c452e66fcbe157f3cc98aaf903e4d04d9bda437ee938e950bb2c280c81136b271ed1683aa5fc2fc34dd3b2b8674803ae699e2a9d9e41864dd10b497b6655d03c0ec13da507d1d1716f144a0f142c46275a8e81244fbe2d05129bcf5a2e70505f3ee6c99cba30a5c697e75a4ba42af626d28c449054e5ed87ea979f098d2740b5bc09a64f467968ed6c3a6200c20140b87bf0e3a3dbad3928353ecce71f86b0308e1243973ae2335febae6ec6f8b6df5db64cfdca6113ba132f9112870e6482697d429472c694b2f75cc162851c14c0e4d9a8125b2651c95ea991e1f6b90cac92eca4b562a7644685d3dc3a0033589f821bb289dd7c06420dbdc84c96834589136b8a39d7c73e04711f9b142eeab777473a5ee18b6605941d38f106da3d692149c9ed08dd58abdae04b6e35332311dcd558f76f068eb5997817f6539b8dcff19aee042147ab0b6f27f53fc6c4704f50e228e36d44de6d8aa2e65f6a4e5e3fec2a952f472a09618e4190ec6f8e6cdddaf0ab9b497c606acec3a54f54272e752dc378787cbb4647151d707e28b42c5cd4c773a2a696001fbd6d61d084dd95830da6b54a7aec9c467f6d8bb63d63460cbd83e6b1de8445365b64242066b6ccc2d0ca65dff76b438563b11974773cdc913d21b9865c9694bf1e23a2e9b8836739c8610a480db018b1aa2efa9cbc52710134f58bba68dc5d5709998145e4c761f855fe63600845c171790bee7ef3bf90f3052d1362e8acb282b636dd78fd559aa750e374ac781a34e33953840716b2e4c3591838a1f84fb1dfe1875b1be772b79d8fe55fb3d0378de2b06a62a7afdf6b8592252f94d67c19c4299d9acfb1092928066ad1a9e545a0f6fd2162a41ebc8bf60e9fa75ceac1532dc266e5d90bff88cf70afa523b569774948cf04f9136a9965deaa8cbc6fd4aa00392f4bd28201e8806fad244eef25d615fba40fabb1f701174ef0f8abbaf804f8ade9de56cb44d41eea1e2c8cd9097890b9ba598c41d36a219bbd024ddd74d038971c74a82373fa35167987ada575ecbef500dafdad46fffda72c0bd4a5138cee6cd8e19e91ee4e41d8f9835fe13606c9d81531c35f6de8040879165abf15004fb1937ccdf4d10ad4af023b3da345b568f587d8bc6fc939a24e8395ba36c4c048cb9f8c2a7666a5a14593df01906c148f858ae00d8407daa4028f8c921caba6c6698abee4120de373d410016f04a1a613f53fe8d45145327619949463ab8de766b563a86c3aa3ca9c87a00bd60f2ebf454bb489c36405f27b9f0951ec0f66844e110ed650046e75cad8aa17bdc9d1ddc18dd92f5a89de164053519ee65b799f34796f85da8fdb02dbfc7f09902dd000a3b058b5a556f90527101b955b8a07101a8e64a3ea584319df65551f12334473e1d3a78bd95dae687f76fdf1b6a34d4dda2128a7d9f23891a2a57803cb012099abb48861f50656f707a4ee53495de8724fb51bdf96d18188edbe32fbe6ddeb5464ef90d0607414c9d048e58279c00d97fbce4400689f4e35076b9b6478891686a0bf129658c3ed989b2c0a99acdf90b146d2284c0a26e892bf9d303cd6c14523a64fc0d11882d3c443d6b8dd98bdf60780769e4c18df68cbf40272cbf0a6ef8694b4c7e78ae32c682d4563f86bbb79399a2f2cf12972ee662c76de82c5ea740edbd03c522fd6b547373e709de4ca4f1fa5bd53655b65cb4f1b18ce57ac32b9fd6572887f2367312d21f1ff05f52032c814dcbed088dabe62baa8f774f3697bd68e53ca29dc50c7ae947950af2fad64bdc7002cf74e77f0c81916d8d5b34ea0e67aa0eebffce1557de72d003fdbfacf4a10f315a5784c8bad42c37f908357caa9874628aed04d4067c3bc79be7fa8ef1daf289f17029f566428c181b44154b491d62d63f664e05e81e25f9dd67eb176d10c943f9ac8fe5e06d39d72f3ec68fd81bb86165c21092d1c7c1c037ea0334c296df3c9453ea3f796a9391ec24976bd4a79596ff92989e3e8ce0dcb164cfcda5942083fb61f918171e9c80621ade9e6e1632368b0a77ebb7c5dd4909cbafc25255d609828a8715056cc2fc8d6ad2c529b8a9f76a93b3c701ad44f7f3119b884a255e8f08cd1db5c884bd3fcca470d665af92f0c2f2a9c339dd8116ea7a9b5d67be84b6ddd9a46cb29e226b89f46dc7f48f8be38c6da81c68e0e1d021e27f -ss = e50d8305695844b9d2becfb7d260a879e11767925c3f279a66c245ce8e48417a +sk = d7e3338b3ca1d6118b7485bf85ab9e8f6c36e158b67d2c3530b0a544b8afaa0a8604710987429d0d1b1eaaba8f06422e992c475dc4cf909061efe673a3547575e8b00ba47d5a158c22e6b2c280b3152165a5a01a43d801e96791b6d99c92c0b0602c94c0b13f2672146a7044e4372c5fa8843fa7974692b0f292af9fc3b5793092c705421e6aa39b7b3eec76694f5555985a94879abf737949bc33cfd1f8563565b2f345b6b3389fe061509be046b3a048a73599ac20466f0707e9b46045352f94507659ba428cc6994ee3375b07d09ad3be1872c15692c7394626cfc01bf5435d7922bf9199533a22cc4ff021a97c571db311485b36e2a3344eb880c67819aea18b09919fbc57cbc11cb228f8c24f38a445c512245c3a5cbc65d20269ee849bc268899981b9f334704499b60a891139d9470a1a147f38470752c4eaec5b14d51817fcca22e7bc1c585cd2189131960a9e9284ac7940b2949707ec7a67f22db280775d8163394a3a9557bd48f50c26f177ffe83030a3455de1196a763f8af156df73ce3bd07ac70447573a79dd04a59e8b40e39c6fea736e14f1b1b67b5cf556c3adb29facfca4e6d8b759d37737863da2a7ac4a645a8f202ad61c17068385c21415f7e14146d896020b89cc73aad60135d5a3b94879184e086f1066a9f56041b6029d1f538fb5b18a7a741e04e2c158b69927a1a7708bcc411988c0c315d0d1bc3a31b0cd473fcd3abacb1bb3eb23224379b5350081efcb8c45584d3b845e2500420453718ad83194130983a355b1388bf246b9fe7400443c52629812fc1125c3800c3f824c0ff95bc24a2e8b306d5e3278fffc585843bbfcd06d2ec3482295717a5111aa7b6475040083106a01491cf981197eeb77d9b01c2be476f07c59cbeb5c4d19a2000d61546a9cc149a149ba8e57cb0ecb3105d94715c7b1ba7800785edba95a7352583354b93cbef98c78bfa946a7431813ec36ac45488b170859c098b7c6813cab2ffb519814c3a9de3c254ed7a144fb6d15b183cb48a9021972233382fc8c388511add6a86837801f4bea0df0103b3a152648bbcda68499352691be0c3e5218a7c22c8ce49790af1bcd4f6717eaa18cb489b446d24f5ce239c79a6e34215e87bcb8461b5b509c895ec22f94c17c3bcc5904d968c469b200d3322b423761e3749556476d925a915971a62a5a330acbd106ad77da7897815cfa31cd44310d44915d762164b6170b2916b5427c694ff3340fb16b73500e92833ecc35bb25db6e652701d85ab215b366a173604c2797c2a9c420e069e7e4b3d1120dbd1c196d105211134478d23cc4428f8f56182ff3a51c7b84f01a08ba157e86b9374fb7c2e7eca3d4b65f4a73472e38c6f7c06883c99c4ce934f9b04436d250ef262c42d4862b90c11f4924087469210a25cf4cb29d139d85d9c904004cb246348c60736d707b2b9b111c91acd3937d9e8934032746aa5025bcec8bf637936448a0dd67a27db2a74b60bba82bcc87d73d4a9033c427a85883613eda43829c7ca3c7a8f24364633610d8199a5ec8038d0b6686abbd47692ada94282c40799ed4bf8ecb65ee7c8b2047c41eb255318c139b89ce909831fe3024bac10b4110ca34f1bd752858a4c0c307537263723987f6c3e29918fe816ec4956c5b4b33d532367f14230b14357e94bbb7e8a947453e4eb606de4c695468c9b12458340cc59d0b23b01b2255173af1206383aabda0bb1fb76a65a814bb2a4a1a0108650617090c3a35ec675650745381e56658cbb71a81cc386bccef66cd599b1819629ee02015b4928a5d12838892333974877a2995bb2b73bf3b292da0ac34d26dbc501a2c20be0e054b8b0bc541ba92d135118a5a17c19a2b3501c60921b960e013f88ca623d4b37717ba5882bb3bda2bb146c42ca4b339a01fcff7c35ee467a4e7c282f175985bc07481bebf5395e0d3843759117459c2b7a45985a672657b787768c32cf37aca5a419743c70f48bb78d53f6d65b5d3d079907975b77698649292ab0c8c93938147b6afe695b9774881cb11ac88ac3a1321965e598b4e01b76114c6b47316657b01116412b0e4c5aeb29e0c1856382569fa800a91f6b7699928a12ab0bf92a395f643234c98b66501bb66b8ba4b88c516101594338ee57700b95ce6e334b7d4425651279153af42d2940a191c57e30e0f1c6a3bc553d805aaae5982c663c2dd034e6bd48dd4e0794d55bb26379871fa7692fc7fb61c8f0565916db30861a2a61b346986697690d16185753395060b229326681b16cd5b8069fb5498aac4ac9023adc380aaea764fd8625f765f5d73a1189a7524a6bdd1209a8a23bbc5d96c54b89b9f256d20f396b6f61e47e0989ac04cfb267b175a8b38395dc3e976feeba1967ace1c491733cb3b005580fbf666ff6093597cc59362cf60d074f6d33c3be33bd02bb0d3460abd45889cba06129ab11fe978d4749a675c32e2e9bb2d6816ce198bc5e67bd6069666c6b1ef780765664ef650c9847566e02c116f5318d1fb240a167a89b2381cb4cd7ad60eda125bfad338bfd668a008a9f9354999949ce5fc09aa21025a83cdb2c7cfdcbb3e03e0212d58b78e00ad85ca97e3f64a82e79d26053da439862eaabf9bba6a11f225ce27be4cb2ac2ee73742db5c074597fb25b50b83cf03758853576c8ad4c8e748cfd8306370672f20f315474836509c93ea814c9c77a4366325d13c52b0d5a231d79ddf765e774c9c60f6a2f7b1377630be03149a31d7112e61b32296234678bebbe05bcc4857453858b06680399c699fd23a9f96b95f5978437b5d453704c32317beaa45222133d6cb8a5e984633081170c154d68674896911ce5014a9054c37901411ba72f77474b5591e0e1477705a3e1b535d4ed3b3c1d043de517b23035239a39694005c00ca332d9b5c98a16034550d4a92169966882bcb28f01171e276bb36f98dc3dca74058462f2caa4d5a9e60991f848b6c519c45332b18232b900d9787dc78a685360336b685d5301315923f8df99d34b8267932496ae4981a2cc94739cf075343de4231736b42d9866b0ce7030be42aca98309021b24a1a518dd0107c2b03a75552c169b605635323d9cfee4c607c656724b48f523a1ebee51393e1538dca234d864066f7417b1b67968a2c03f9b85255148a9409bbe6543be9319a3777fbc586bac8aa5574612078a6e9a78640757f63c1646e015d64066402a2a8f36b7c96e0a50ea13c220103194bb188c6947e533b1a173cdaf225eec27720a61bb3017205e98258fb470641633d955d14589bc566c9fce9590b6141f9c662baa60ceac1a7b0e518e370c27da21e2a098d62433f2fc336340851e2e536e0b2ae8c2b2b58057b5d30a8fab602c48ccfada926455549ee4c15f2369f58742d5fa85415990faab1b76eeaba47d05a0c35653b36192a6b108046bca55443fa075f072270e836293ff543d729400693483f7b44f0c65dbb17b5919858877acabd77ccab92446a09c8be6653f9398b4d5540e8544d56d5c88dd20ea99344b747304f56b2aa725f1a858eb7bbae293b891ca61c2d5942204455cb726c29a23231eacfac678dbd002ea8395203172b35a448ed3944bb07bd2e11b9fb52caca2213dd482159821ef5d9a98d09147e272d3a9b84023172d0d1ade55662b02a9574c13a5d5b79575c25c9d46bc5c766e4768836f787cc6a771a772518e7c5a2f4716e007900db8abc8a630916a268b080cf12ac427a02c474ad28caa73a5793bb0a7593913debfc4cd353ab92bb23d78a2822527e58f52f4d5a70b2f05eb0e6231dc43e5fb7c27bf6870181709f1b0ef4175753687a66261f32773dcc520c752ca7ad6344155bc63f000e1c18be1d154476a4a639d2ae5e36bbc157a7c7f8291b6506f12aa8003784927284fe1b1a4fb70aba9a39d0775dfa293f9a29a4fa3712fda54c41e45c6696aca509d09e42618164c34f78b5b385750ea93d39abbbac58640ce09e5a5245a37847c78765d731596bb10123f51793ea5d97c0321fb5810a22af50406e53806569c53750153ca7b49dddea12baf4ade371b4c7d05e29369a5d1c71ee1ba62db26c74b456cf30832018cfca235b32174c031c53b4c653ee205c632218ce05676f2878930334c2c284d7e3b73683cce303694e68bc7f95b0d186acf5101d95fb6ce55acda6743c7512638e42978af9037272a1a5e23e3632059ee1a3367ca9bacb27930700d19327a0c6ac9fb57d3e41bedcdcc47efc18653c2c5cd78200ac77b066b018d137facac920790bc9e593cc243761cab947818e8ad7ae6701601644aaccb78ee7bc4e233aab6cf57188333e7b4d655c9f1ea4b448fbe32c4996fc298d26cae25d276bcf6e66ba65e3e977918b12f00bf09aec2b492cf53686beb31c558d0493cc7b2b9a9dc7265fa9edb685c1b070e4e519d727f677e011716436bee9dd0188fe38c00d0ff425ad794c07d1 +m = c83b6ddc081188c55bd3d236d360f73c5cabf211676ecca5a0f2da3550d51ba6 +ct = 25fae2cc7aa58cbe79b4a93b741e79e9402ea55b503e1b95bebcb25812332017fb8bfa499afac97df194329459bbd0c06727c42d171383f6cb5805cf653991a4c297c4a5502881497b24e882810b0bc09ba88fcfe1566682b4c975f489f33fd74861ca4910c1c728d03304795579377be1782903e281788b1b6c0ff5b17cafb579175f17ecc8b03121d62e4347e05ce89182abcb08f75f35027a82e1ca618a2185b3b02c063b2d59895c64bfe47af514d962135b6b64bbd65263e087127e2b97ce955b30e6597f2b663229cb4a1c7ebbeca627cf46770c9833d2d8912b3ec840b3ae0264280e28c3d11004d2bd51e7129c20997ec11e901a228f4d610700da7af920611e71662a4b735cbeeb3a12196615a146eb081af2388ea01e7139c5073854680d0f3e1ebd2523458138e478f6518f233199e47f53582a9f5056810d603544bba2acc9e1616abe418c897d56fdb741a308c9dea348edec54c7f4c297f19c15781d1be3b7cce2dd68269fc36b3d148fec17b27d3d703be482bd7093c394c57cf757783fcba0bc26aad0bd1883c99091c64f0fc138d88ee969890ac17312797cfbd1bdb6e90d5a6d45bad80fb095a266fb91dc736f6cccb1997194bc4bebe5f50b4b587eddd240cc600cf646793d895a8552695f634464ca4dc426432a243871b53cd0d457be53d6bc94731787d329c216e92965b5afb44d38907b67384e039f6c279d35f298e398734bed43e943007224b658c9cd977da9e8d46a03513889ba69046ab21da7fe9fa3997d3dc52029c084b60a9ef0f3792bba67af556c6340731002a85089bb56f52ef7e404d8a1940ceebbc4229133e9cb5aecda0496fbe3ba41f89f5cfbf72d39ee3a2883e26c1e1282025487f25c238dbf7fe082cd469d46f43ef0d1acb6aa819edfd79393e0b868f4cbf035033173d6ab96b71b5fac72a906b37c8e361e6a4d04cb7069594f8e81d96d6a70e28adb1ab7cb7ed0e02dd6d4811c69250022de002eaacd82e849306eca9bd56072db0dd09496f636c7e5c7b46be58928169a62e2a4189a1c96d9b671485d2197eed7cd4cbeb2c1957d3f09de8fbc4d3c9656450a0e6a87a2ba454d469cce61378b730f0fa56a07280d496fc77bb9b779883169d4fb550cdb9bc29e954a8e541658c0c997682e8213b67e89c583d5b6933277365db494ebf3ea2ce581cec100d589416d5b9b00e70291df096ec96e151d990effae11a29781f91359dc0d0d855e1d5fd4bc6315bb163e8873f6456c145149889c8c8fab8a32fb8f48e990c24e2bd359c0926c1a84af3738a6ea1b0cb6196fbc980b75d3d821048b3d96249724cfb15f72254fa4b6e7c6f63440b5cc00f2d704240707dedc037dca995b605c869170382114344120d1aa9dcb5014d6ba5bcc574454a53a38fa860dac2843657d5715640493cd4f1fe7f41d974fc55eb1d94940c875af725fe2a11957a7d1aefcdc9ed89619325e001575130acde28be3147fbf92907e30c7910d66d918b24714a4e5c97e7fc20195042356a938650cea924b3a5643368f06693e0fc20e81a699b0e6f2c2b672518bb4421c72806672589931d3c95101bccd99893d78306807a25358b2907901919b92a0795711ae62f33101c7e3f0eb3cadf384153725cd21a53145c760d699f210a3d3514fab7ebfaa123aeb1ea3722de464151a06053d62ac8429ed4c99ee66aaa8684af3080c5f8d72133d710bbfff2dfa0b32ad4825db8b6498fc0e1f846c640b276ee6c5b973019a0da14c2ec57bb2db2ae4b4b7e1844e576ff12d2abadff3499137f189481ff433e7f6d2d2a8eab4a8febf0c4d28b51c22d35596d9afb57356f9d0cdeb5f3e62a44459fd4c59a8614595f5910b644aaf479488db7a62a8a7f4dadb70dc67b0f8ca26530e1212c2b2da2acb5df6041b4d35428b8220fbf72a2239ce9f78794ebb782292974705c0700f6f60fe92461167759a933c03f963e39190379fa54332341b99557f9d7c3cc1a6c7b5a17077cbf30bc667047309f830e9783fb16c055da6563f9215d17d0bb9ea279ec6e273bd2706ad6d50ec868f0ee99f6c2df8cffd68ea49476424d726b1dc2e647e330e72662034cfbceb4b7af3247339561dd286b58857d9fca703b3f65bf824121bca70db849ccbf49c5b266d43ab0a4657c653bf7235f97373fcda0d5370b82e53a08c62fa1ba6ea2434fbb0c8e696d7 +ss = 56d6961d8076674d9522bd0dc724bb742ccc11a10a0dc2dcefb6ce62605f20fc d = c0407e41ddf48d333978b89bcf2db01e4613425b456249e76a6f25b8a2827bf5 -z = b2dca81e3f5f748d23c9d356a2209f6b2d60247b2e45c9808de497f64f124643 +z = d89cdcf4b8ece9f441926532427f01e9dd71b86ea949a59b14189aaa249aaf77 pk = b7fa152b25c460c63c4d18ad733422163c0e26ba99530074269c212f2697f2073bcac61e4e603b18b575bf696d7feb8724400848f05e91186052b05ac7828127802fbd1672b3fb45ff418374d61f1aca1c1b93af018cb60f006d04418088216844b29f9b64bd46710657ca30a054bb1bb0161a857edab220813170d1cb96f3d82365317cfee94eb1a8ba6bf82af10acbe3626c7284b622b314d72469ebc76d3ad8cceaa93e08793490ea0a73408a1cdbb066b67d1351af5a6c477d2b90b68a3982b70d32346cbdb15ef09736b28c23cbe03d18998270013509f13c7eb95d5a03895301cf2d0cbece1908b3c28e73e676304b0c98f7932bc246107ac07b27090c2779ea2b8c987b084d86bcc40496a1c44c751438af5951acf276b25414d4e37aafa3a1fa5b8fb0fa11be21bc76b7816aa3a1df142446aac524a6a41aa3411e00609f297e698026f852094e2a2e5e9146f812c283529e16256050204ad3b03f04e35af7d36799605903e8c3e2663f9e89791aa8cbf1b8047f2a159dd909d01a3eb3f081a930b26b6b3c32b7172b77bbaaf1ad51401c645b63828842ea7b7803f9699740cac72b56f434ab7e1c09b4ac5368dc559d603c5aa471cd673bac5abf0f858dbc672e16f819149094f2b144d008c06ba0c36ab2a61053629f994fc233a38576a7821229e79685c2147b7b15156493c1eaa2c087134f1222758b00b3cc10804561b24974742c2aa016e23cb19c868244c65371b6bbf31d5603b46e58bebf638fb7924ef4181d02f6a1da6321a7c6a74038bbaf569b817a72803a4725569c82bac9f1c593b437b533d62b8d31889e6679251560d0fbb4f768501aebaffcb116a23422f48ccd89e0c645a11b0f80ad2c77a2f30b8cf415084e5c9f655824eca8be8835a81a6c9832e09c3c596417657657a9c85a13a54d3c0d2c427a8bd6bf91245e80ac30a1b630bd395c02296cd5d63d9c92ab3ca1a8c47c89d1a742cbf4352b762a60226cbbbcb28272856b2bb3f176ab32955c96a0274723a508730aa94730f998ce0e04ce1e67726412233e8b96c31481bd017c67f1aea09a3e96f897b70b969cf405ba7424a0e8aea4b45c6206752c075e2bd3b3abc53f99f2842a459a55118a10f87d8f0c2caf4180ec741738d6a04efa30f9b3b9af587c33297bebf8778b960596bc3095439ef3448c11871d228a0dc24718f6c59c8c73234a641c47917b27b46cda986a1857315911673ba0468641757ec5ae71c860de0b5ebf05cf6889a170743a27350b19e406a77427421a54f1c163862a43c6ec1260d45139b7419b0538ae31a0ac78584b3264cca519ec35acd94c1ae5b436eaf82fecfac8681224fa810fb0a95581528ae300081efabd7e599517c21f469208f4daa500b9225560b9381707440082675293dba332ca00c4cf746f46041b78d219eda4bbbd32cf07e37e20e15c25f8a96b5706fcc71f620abbf052a572d73b24c5445715c77187a1baa883a714329d619a10cc2c9c84b2c4c098f0e42c4c00a77c44845b45003b7c1bc587a3f6c10d34269430765da39550e2b78fd7b97cd9128a5d8653b7aa05164101a9285a9c1a77a8b255d1b8533a1315a82bcf7e6620c4224ce830b83844bb16560d6ef98819e0ab4523acc16961229a0b0847410b19647ca7836345b275609d5d12bcdfa5163b0c4caaf2a0f05993ed16b89dc14d33a60b56a0a298e453a4883c7b6c7bd2186718da1a29895b2c066bc6a2896947431fb224ab31b11f204f8047bd5e421d92b78357694d8959991e56b6a123373c00463bc259f78a3c2e7b3526331323e9af2bb55726795fd904160c302242b1bd7d65103da1395d82aa5f662e4edbc812479b0b79ae15f25a07363080d887fe8a0df37b51b5ab7c3e878d21086ca0e1cc47d877194cad6e384a81403adf05c430d22d47516acdbc946498a281611bb9f73ac3424f6cac3146faae1611103ca4008fa95a8ebca35ae114ffe14921a855f5049447643c391588444217a510ae31b82b5c159c928ba434890aee2c7268724bbc29cfd152b05d73198e7b62b43b9b03e081cd0a1ea7395246cc890735268f189f21c143e5f5cec76692e6d937faac7af3abc5480464f8b077c9352b14a22dc65514caf392d1ec6c81d96c33175f5832ab3bc19c54229f45e12ebeef4308b229c948d425016d674119c0aadefeb21338ba6cedbf7df723 -sk = d338b8576c1fd9168551a681f9c590095b6b8d8474f571226a4b68ee81a83738bb964356edb663d925960388c92896029a201ec7f046cde497e3384f613a444634aa3c41656c6031d5233720241603612bec1032afa7b3d41242ce374c8b118cf6219fb5e645002530781cb4660403f88287d115baaa07ce95496a7232862282a653367fbbca1e337155a3c8905e368c1974418e735f93b6965fec11ce7b43d81710d727a4c4b434003b9110d013568b7bbfb341212543031c862fac505944b86394554772047b2a864a6675ed984583269362759cbb464e7e248a48c3554b8054ed9342aedc8e221439f812697b691bd5c89b7fb11ec716bff96c97dd73c45b00980bc6b1f69117c2329386518058e97b26626d98196025724baf0c5729109399e035ace9a630cb6d7ca9cbc16ab560da5c01e37601bc0dca7a3af891b80418c0056145c7ac8c176605411a39bfe843cafb4fa61463b20a504e984308f2b82ca7081a97951d0961b2664e2d7b41df902571d02c1fe24ec0ea998609248cf51cf2f81d96a983dbd29bb37b9a7d559c72fc0baae894583a842fcac92d910c7d682dde70a4a7b26e3259b290a182392cbe36b68d2e321708e9c00d8c06dca5043c1a461e76438b7801e8faca17045b272b16999471f8fb42f53a43294124c3b2b7f7a13eee8b195a01871909a70e41a0cedb37f3f733ee259f40c1cd12c79daf90788d78ceaaab9e1d20b7ff8800a17ac28953a4e90b257d099da195b6701a695195bc730389a84a499ab784762631935a5a974398c6988a59822bc6382b9cdc6072f0a6cf65c9dff2309d1a433ac52e6cbab472e788f76558d57986bac5c79b921f06e509db18c70ee88af044b527e221e5a5105a19610f059fbf6009b985190ac81640607cc4fb69d4892b5d9ac12bac26765aad5c874fe3080beff77961cb9e747a8e4b4acaf3f3b81d51a4a755ae8ef2994e8a722dcb5b8014c1ccdc6a79046664c3b75c02b91e0b4c5c250b8eda5d67e9a0984a6052053d22266b2413b98d841e8aa686f4e0aeb8d5b2ed2c8bbddb0374d0ad8cd47a0e6945f0ac352307ac0db224eba29bc09397f05b1308828cd42b85c556bf0a938959fa7cde083d3d0163c21b016133145ae0c47ef73604999e76f9ad19432f82e762ba8174f89a23d09333f7e677f33bc15bf996ae6999ada8747bb0c454412c2b651d2a90382937427ea555b3856d0250ab1e3663b8d78f3d96cf9eb90b5a501129715df5db38086076c4b351305a9718903abf12609fb1bc8a59162e2152f8e0c62241ca5deb5260d71ae162b7ea827a342584576b00dc674a5be149c7744d7ff43a5b04a3ebd38c110630ff656f2ff042eb603403d14f18eb17cf675c995c2790e936cf8b60e758484bc04314e50105b28346829077aaaca72acb46d331e9127b17dcae5e639d2b33b9f3cca468f731bf0b332ba41d196ab77b3c436702078730369cf59144540ea08b5025a4c880c1530f40a852e35f96519c91eaa680d90d25a4256feb1878b48e39143ce43378eb3335d3e03f2a358782e0b54ab56860148dc0fa5cfd149cf26a7260639a347aa72b977b6f38bf29e1472c26b4d7f80e4bb3192de06ec05a6a85479e1fb34c240cb0164b0170c151d330cfa3103f41183e458a4c15b414a043a1b7590ad2c79cd3d39e2e6655f17a1497f35c801064b95912349c8878c910ba7bbe3fb25488947315b4aa1c5c10870b0c81b8ca3f6472d89638c2d283efd290ee108a9abb71d353aa512a5601f67e02b5b9074881ff96650b9bca29db27bb8a2f84f09069c75ef6e42f5c989d3229b759908262818215958d1bbc1a40dcce324a5b5a18cde861c2ea085641a814be004e5435a837f0cf7326710fe73bfee27a0a739ef5c08204c3a98ab98a1ba865c51a82aea57f1c3a62c12b7cdebc6a87ba13df51a1ede668797199b5943cf5a6c595452e627b27c3554a92b4488a476d28348124f0ceb2a29a2ea926cc656496b4656b4c0323361483469bd183604d1ccdcbf8a25d05adc1344c1315263f46a5c37ba98a96179b5aaea3d14b7a7bb6c6cb4a1d068f6809938f5a55877137542642cd3a06b03400d02cc9fbe83a94b63441fa1c28f42de5c81583d19c846020fb17ae65b1512580bb4d066c536926f7d571b7fa152b25c460c63c4d18ad733422163c0e26ba99530074269c212f2697f2073bcac61e4e603b18b575bf696d7feb8724400848f05e91186052b05ac7828127802fbd1672b3fb45ff418374d61f1aca1c1b93af018cb60f006d04418088216844b29f9b64bd46710657ca30a054bb1bb0161a857edab220813170d1cb96f3d82365317cfee94eb1a8ba6bf82af10acbe3626c7284b622b314d72469ebc76d3ad8cceaa93e08793490ea0a73408a1cdbb066b67d1351af5a6c477d2b90b68a3982b70d32346cbdb15ef09736b28c23cbe03d18998270013509f13c7eb95d5a03895301cf2d0cbece1908b3c28e73e676304b0c98f7932bc246107ac07b27090c2779ea2b8c987b084d86bcc40496a1c44c751438af5951acf276b25414d4e37aafa3a1fa5b8fb0fa11be21bc76b7816aa3a1df142446aac524a6a41aa3411e00609f297e698026f852094e2a2e5e9146f812c283529e16256050204ad3b03f04e35af7d36799605903e8c3e2663f9e89791aa8cbf1b8047f2a159dd909d01a3eb3f081a930b26b6b3c32b7172b77bbaaf1ad51401c645b63828842ea7b7803f9699740cac72b56f434ab7e1c09b4ac5368dc559d603c5aa471cd673bac5abf0f858dbc672e16f819149094f2b144d008c06ba0c36ab2a61053629f994fc233a38576a7821229e79685c2147b7b15156493c1eaa2c087134f1222758b00b3cc10804561b24974742c2aa016e23cb19c868244c65371b6bbf31d5603b46e58bebf638fb7924ef4181d02f6a1da6321a7c6a74038bbaf569b817a72803a4725569c82bac9f1c593b437b533d62b8d31889e6679251560d0fbb4f768501aebaffcb116a23422f48ccd89e0c645a11b0f80ad2c77a2f30b8cf415084e5c9f655824eca8be8835a81a6c9832e09c3c596417657657a9c85a13a54d3c0d2c427a8bd6bf91245e80ac30a1b630bd395c02296cd5d63d9c92ab3ca1a8c47c89d1a742cbf4352b762a60226cbbbcb28272856b2bb3f176ab32955c96a0274723a508730aa94730f998ce0e04ce1e67726412233e8b96c31481bd017c67f1aea09a3e96f897b70b969cf405ba7424a0e8aea4b45c6206752c075e2bd3b3abc53f99f2842a459a55118a10f87d8f0c2caf4180ec741738d6a04efa30f9b3b9af587c33297bebf8778b960596bc3095439ef3448c11871d228a0dc24718f6c59c8c73234a641c47917b27b46cda986a1857315911673ba0468641757ec5ae71c860de0b5ebf05cf6889a170743a27350b19e406a77427421a54f1c163862a43c6ec1260d45139b7419b0538ae31a0ac78584b3264cca519ec35acd94c1ae5b436eaf82fecfac8681224fa810fb0a95581528ae300081efabd7e599517c21f469208f4daa500b9225560b9381707440082675293dba332ca00c4cf746f46041b78d219eda4bbbd32cf07e37e20e15c25f8a96b5706fcc71f620abbf052a572d73b24c5445715c77187a1baa883a714329d619a10cc2c9c84b2c4c098f0e42c4c00a77c44845b45003b7c1bc587a3f6c10d34269430765da39550e2b78fd7b97cd9128a5d8653b7aa05164101a9285a9c1a77a8b255d1b8533a1315a82bcf7e6620c4224ce830b83844bb16560d6ef98819e0ab4523acc16961229a0b0847410b19647ca7836345b275609d5d12bcdfa5163b0c4caaf2a0f05993ed16b89dc14d33a60b56a0a298e453a4883c7b6c7bd2186718da1a29895b2c066bc6a2896947431fb224ab31b11f204f8047bd5e421d92b78357694d8959991e56b6a123373c00463bc259f78a3c2e7b3526331323e9af2bb55726795fd904160c302242b1bd7d65103da1395d82aa5f662e4edbc812479b0b79ae15f25a07363080d887fe8a0df37b51b5ab7c3e878d21086ca0e1cc47d877194cad6e384a81403adf05c430d22d47516acdbc946498a281611bb9f73ac3424f6cac3146faae1611103ca4008fa95a8ebca35ae114ffe14921a855f5049447643c391588444217a510ae31b82b5c159c928ba434890aee2c7268724bbc29cfd152b05d73198e7b62b43b9b03e081cd0a1ea7395246cc890735268f189f21c143e5f5cec76692e6d937faac7af3abc5480464f8b077c9352b14a22dc65514caf392d1ec6c81d96c33175f5832ab3bc19c54229f45e12ebeef4308b229c948d425016d674119c0aadefeb21338ba6cedbf7df7233c98fa4af17fd014a60d11ca5e929e4fa2524f7db289ce0947ad90657990c153b2dca81e3f5f748d23c9d356a2209f6b2d60247b2e45c9808de497f64f124643 -m = 210a423dadd899b810f011794b79aa7f860823ac1962370e791287d3a1afa384 -ct = 3a78ec350bbc5d013a17acd684202828d6ae13f6f4e9419e991b0ad00342ba0d9cc3b6681a16975d01c2cdb4209a70c315f1e8dfd455b06a7a04f47d7cdc5afdf5a6f66dd3d0d3df881856e9ed083c966997a540f111382fc8b947c45ed02bfea863d17b417245d8d34f16a1369f88fc530fb936236e503c7efe230ee1d1ecfb6da7329c611e7ada805d1b7998cb5a0f700541999f3235c6f574b7660989eb9a005e3bddcb4857c35cf4550aed6d72c4da37ff7ce0e43c93514e5e8c6e562b7438d1f928cf59ecc6bea1c4a84651ac08717c41980a7ca309faa50a8cc9408c57601c62ab0b51cdd5e8a8a836b6556fa1e15a74e6634ec15da4213ac300a001564e6300ba9bd8400e9f052bbb1571afd09147cd91edc9cc370d3247bfb7eeb9f67b11de3e95e91a5394cf38cc542b5c7560e68233afdbba952d25553071d8fc1b8316f804483fe777fad88728505ecc97f05e1d84915a7c6a434c6c97984755d96a9980c42ea414feb46cbcc862dfa383d824e1ff75abf450d0e5c14a21fc6216b3eea284d7c5b1370b83af8e1cb1f28124f31d664b03ab0b02330e624222e7f5ed158a3123af35c4a294c4b13121c94fb85786ab3e09b279506de16d182b349b6e5cfb8453e9ce45e1191b9839f97e76df8bac9a8ffd0c9b642c7e4749082de7fc4bdbb39fda2451a8720acfd6f2e7a4bcf9035ae8a64f08ef45e9540b3e21dd44aab83c84a4a893c8c00ada8d91cfc5d973097de920aac93e9f749e64425e0ba92ad9b33ca5e506e3d80759057dfd3cd44a7854d52c3bc189bf24a6277bd7862700e8250b36896d8c355ad575179ebabb2d6af22377f3f53422b21a1a9445d6aec99feab98d6f2059f61f5e834c2725018a4f7a86d51f413cd030d9b33736b832c4b43047c355917f2deb8f7c4ee01a329957192d64dd67f45130621d205b6f654e482c20a402c48f3b9f9f36eb245411a77a716f2f278a820849bd11bb2b109591619e1969585c55276bcd07aac2881016f3e946961f971eb158e3cc3090f8c543d821e4acad8e8a5c23c322db7932cdbb5e2fd87b068684572583025f71c130caf384d3eb8dbcdcb43f09979b43d9bc401e7843cfab560a041af8fce4708767661269dff41db075c2af7b35f6ccd1c36bb6ac148d13ae56116a169dc152aba0e755dadbe48404cbd6000110dc7ac811ab11fd59d62e50bc984e0696a34b8ba5fff3d0cd8394a2a6c43cba701f9d49615933ea94484136e82a39857b9976a30dcba6eaab7b5adf4d1b8ea0a35ad8cf9bbafeb4a117675cfb9afdeaed624d4eec3eddf56792c2f47d88fe7ac0355be8c8036de2098326b7da6eed0f706f4be23bddaab30f8091bc973f6742e23f19cf75401cfcce350012fd136e70372e5cd1542660b6430921bc148338138283df1ede68a562a3885e5d9bd77b8c5920bdd2cd1d53e2e4fc51b93a0dee448d71fb55a0ce11167585babbfd4aebe3c2c562f9fd4370c22fc704029044218ae354ad9a520d678690b1fc600dca0a91142e55f948107f8e070e12cdf552a61b7f2f6550e747039e5c97ebda604e2e8f6f2a12a9212a073cbc07ed3532311f5b1fc60f5824a543ba28dd351583f2edd3692ec5d219c0e13bb37a11554501222fcded963b0a90f380c5c06ba649df28633df82b45964c8fc661d53d9b1698f1061eaca9db22430f99c0e67f6f9b2dacbaf24d40cc22e2eb8847c4365347a91a6adde450b1928536a933f835d0b47ce7ea5a7139a7e677c83ea540c9861fd2af999c6ee9031f708271fe48aa7f51c3b0af2c8bb2064d7b977c9b994b6dab8e36e09824cab4e6357b09d919e18ec7eb5fb9e62c67faabc7570d2ffacd93d45c1dec9e86422556ee4891bf12c4d04b982d2a330a4bcc668651b854cf79543a7968ebc61e63a4395731d9cb3e6ccb8c78e442c0b89a7c2ead4905b6e1c53a0e7fbeff51ef32c88b28ceff498495921a5966b1d1e9716d0af2ba02a9f140644b54c08dd78d78eaddada98933f6c797ecd6bc245ae897f0922b257899140baf154b2750ca65b909bdef4a4bc2d086e0b4423dd85cf37b06c1d67ba67fb6fbd035ec359b1ce1c5bbbb6201430c3159d04a497559c18997c55aa8bb80f8c750103e52549afce83f52d20e563239eea66ff2b6d2d6370579e6fbaf72a7cced4a7f93c8cd3c610bb0bb90f8cacbf020dea7461a007d20e1be43 -ss = cb697a878ceaec9484266727e6f96ce24f11d01d1ed56428a8a016655f3eae13 +sk = d338b8576c1fd9168551a681f9c590095b6b8d8474f571226a4b68ee81a83738bb964356edb663d925960388c92896029a201ec7f046cde497e3384f613a444634aa3c41656c6031d5233720241603612bec1032afa7b3d41242ce374c8b118cf6219fb5e645002530781cb4660403f88287d115baaa07ce95496a7232862282a653367fbbca1e337155a3c8905e368c1974418e735f93b6965fec11ce7b43d81710d727a4c4b434003b9110d013568b7bbfb341212543031c862fac505944b86394554772047b2a864a6675ed984583269362759cbb464e7e248a48c3554b8054ed9342aedc8e221439f812697b691bd5c89b7fb11ec716bff96c97dd73c45b00980bc6b1f69117c2329386518058e97b26626d98196025724baf0c5729109399e035ace9a630cb6d7ca9cbc16ab560da5c01e37601bc0dca7a3af891b80418c0056145c7ac8c176605411a39bfe843cafb4fa61463b20a504e984308f2b82ca7081a97951d0961b2664e2d7b41df902571d02c1fe24ec0ea998609248cf51cf2f81d96a983dbd29bb37b9a7d559c72fc0baae894583a842fcac92d910c7d682dde70a4a7b26e3259b290a182392cbe36b68d2e321708e9c00d8c06dca5043c1a461e76438b7801e8faca17045b272b16999471f8fb42f53a43294124c3b2b7f7a13eee8b195a01871909a70e41a0cedb37f3f733ee259f40c1cd12c79daf90788d78ceaaab9e1d20b7ff8800a17ac28953a4e90b257d099da195b6701a695195bc730389a84a499ab784762631935a5a974398c6988a59822bc6382b9cdc6072f0a6cf65c9dff2309d1a433ac52e6cbab472e788f76558d57986bac5c79b921f06e509db18c70ee88af044b527e221e5a5105a19610f059fbf6009b985190ac81640607cc4fb69d4892b5d9ac12bac26765aad5c874fe3080beff77961cb9e747a8e4b4acaf3f3b81d51a4a755ae8ef2994e8a722dcb5b8014c1ccdc6a79046664c3b75c02b91e0b4c5c250b8eda5d67e9a0984a6052053d22266b2413b98d841e8aa686f4e0aeb8d5b2ed2c8bbddb0374d0ad8cd47a0e6945f0ac352307ac0db224eba29bc09397f05b1308828cd42b85c556bf0a938959fa7cde083d3d0163c21b016133145ae0c47ef73604999e76f9ad19432f82e762ba8174f89a23d09333f7e677f33bc15bf996ae6999ada8747bb0c454412c2b651d2a90382937427ea555b3856d0250ab1e3663b8d78f3d96cf9eb90b5a501129715df5db38086076c4b351305a9718903abf12609fb1bc8a59162e2152f8e0c62241ca5deb5260d71ae162b7ea827a342584576b00dc674a5be149c7744d7ff43a5b04a3ebd38c110630ff656f2ff042eb603403d14f18eb17cf675c995c2790e936cf8b60e758484bc04314e50105b28346829077aaaca72acb46d331e9127b17dcae5e639d2b33b9f3cca468f731bf0b332ba41d196ab77b3c436702078730369cf59144540ea08b5025a4c880c1530f40a852e35f96519c91eaa680d90d25a4256feb1878b48e39143ce43378eb3335d3e03f2a358782e0b54ab56860148dc0fa5cfd149cf26a7260639a347aa72b977b6f38bf29e1472c26b4d7f80e4bb3192de06ec05a6a85479e1fb34c240cb0164b0170c151d330cfa3103f41183e458a4c15b414a043a1b7590ad2c79cd3d39e2e6655f17a1497f35c801064b95912349c8878c910ba7bbe3fb25488947315b4aa1c5c10870b0c81b8ca3f6472d89638c2d283efd290ee108a9abb71d353aa512a5601f67e02b5b9074881ff96650b9bca29db27bb8a2f84f09069c75ef6e42f5c989d3229b759908262818215958d1bbc1a40dcce324a5b5a18cde861c2ea085641a814be004e5435a837f0cf7326710fe73bfee27a0a739ef5c08204c3a98ab98a1ba865c51a82aea57f1c3a62c12b7cdebc6a87ba13df51a1ede668797199b5943cf5a6c595452e627b27c3554a92b4488a476d28348124f0ceb2a29a2ea926cc656496b4656b4c0323361483469bd183604d1ccdcbf8a25d05adc1344c1315263f46a5c37ba98a96179b5aaea3d14b7a7bb6c6cb4a1d068f6809938f5a55877137542642cd3a06b03400d02cc9fbe83a94b63441fa1c28f42de5c81583d19c846020fb17ae65b1512580bb4d066c536926f7d571b7fa152b25c460c63c4d18ad733422163c0e26ba99530074269c212f2697f2073bcac61e4e603b18b575bf696d7feb8724400848f05e91186052b05ac7828127802fbd1672b3fb45ff418374d61f1aca1c1b93af018cb60f006d04418088216844b29f9b64bd46710657ca30a054bb1bb0161a857edab220813170d1cb96f3d82365317cfee94eb1a8ba6bf82af10acbe3626c7284b622b314d72469ebc76d3ad8cceaa93e08793490ea0a73408a1cdbb066b67d1351af5a6c477d2b90b68a3982b70d32346cbdb15ef09736b28c23cbe03d18998270013509f13c7eb95d5a03895301cf2d0cbece1908b3c28e73e676304b0c98f7932bc246107ac07b27090c2779ea2b8c987b084d86bcc40496a1c44c751438af5951acf276b25414d4e37aafa3a1fa5b8fb0fa11be21bc76b7816aa3a1df142446aac524a6a41aa3411e00609f297e698026f852094e2a2e5e9146f812c283529e16256050204ad3b03f04e35af7d36799605903e8c3e2663f9e89791aa8cbf1b8047f2a159dd909d01a3eb3f081a930b26b6b3c32b7172b77bbaaf1ad51401c645b63828842ea7b7803f9699740cac72b56f434ab7e1c09b4ac5368dc559d603c5aa471cd673bac5abf0f858dbc672e16f819149094f2b144d008c06ba0c36ab2a61053629f994fc233a38576a7821229e79685c2147b7b15156493c1eaa2c087134f1222758b00b3cc10804561b24974742c2aa016e23cb19c868244c65371b6bbf31d5603b46e58bebf638fb7924ef4181d02f6a1da6321a7c6a74038bbaf569b817a72803a4725569c82bac9f1c593b437b533d62b8d31889e6679251560d0fbb4f768501aebaffcb116a23422f48ccd89e0c645a11b0f80ad2c77a2f30b8cf415084e5c9f655824eca8be8835a81a6c9832e09c3c596417657657a9c85a13a54d3c0d2c427a8bd6bf91245e80ac30a1b630bd395c02296cd5d63d9c92ab3ca1a8c47c89d1a742cbf4352b762a60226cbbbcb28272856b2bb3f176ab32955c96a0274723a508730aa94730f998ce0e04ce1e67726412233e8b96c31481bd017c67f1aea09a3e96f897b70b969cf405ba7424a0e8aea4b45c6206752c075e2bd3b3abc53f99f2842a459a55118a10f87d8f0c2caf4180ec741738d6a04efa30f9b3b9af587c33297bebf8778b960596bc3095439ef3448c11871d228a0dc24718f6c59c8c73234a641c47917b27b46cda986a1857315911673ba0468641757ec5ae71c860de0b5ebf05cf6889a170743a27350b19e406a77427421a54f1c163862a43c6ec1260d45139b7419b0538ae31a0ac78584b3264cca519ec35acd94c1ae5b436eaf82fecfac8681224fa810fb0a95581528ae300081efabd7e599517c21f469208f4daa500b9225560b9381707440082675293dba332ca00c4cf746f46041b78d219eda4bbbd32cf07e37e20e15c25f8a96b5706fcc71f620abbf052a572d73b24c5445715c77187a1baa883a714329d619a10cc2c9c84b2c4c098f0e42c4c00a77c44845b45003b7c1bc587a3f6c10d34269430765da39550e2b78fd7b97cd9128a5d8653b7aa05164101a9285a9c1a77a8b255d1b8533a1315a82bcf7e6620c4224ce830b83844bb16560d6ef98819e0ab4523acc16961229a0b0847410b19647ca7836345b275609d5d12bcdfa5163b0c4caaf2a0f05993ed16b89dc14d33a60b56a0a298e453a4883c7b6c7bd2186718da1a29895b2c066bc6a2896947431fb224ab31b11f204f8047bd5e421d92b78357694d8959991e56b6a123373c00463bc259f78a3c2e7b3526331323e9af2bb55726795fd904160c302242b1bd7d65103da1395d82aa5f662e4edbc812479b0b79ae15f25a07363080d887fe8a0df37b51b5ab7c3e878d21086ca0e1cc47d877194cad6e384a81403adf05c430d22d47516acdbc946498a281611bb9f73ac3424f6cac3146faae1611103ca4008fa95a8ebca35ae114ffe14921a855f5049447643c391588444217a510ae31b82b5c159c928ba434890aee2c7268724bbc29cfd152b05d73198e7b62b43b9b03e081cd0a1ea7395246cc890735268f189f21c143e5f5cec76692e6d937faac7af3abc5480464f8b077c9352b14a22dc65514caf392d1ec6c81d96c33175f5832ab3bc19c54229f45e12ebeef4308b229c948d425016d674119c0aadefeb21338ba6cedbf7df7233c98fa4af17fd014a60d11ca5e929e4fa2524f7db289ce0947ad90657990c153d89cdcf4b8ece9f441926532427f01e9dd71b86ea949a59b14189aaa249aaf77 +m = 5add4ff6b8986e4b0dbc8e05801f48b7fa41aaa10e2311f4fe1e0b010d569862 +ct = 4c4e8d71b891f6b026747a34e0a4311ada29d28cc4287c27f03101964a3d5e6c79f30b2e09a6291580626ccc249f27e9dd4dc101574557fe4dde87a87d1a88469129ffa0282cb83e7421707c67e4cf6cde7be5e5439eb09b62a9b4699bf82dafd4d6db906854b3c6777ba67ddd85903381ea9fc58b1bf1c96ff611cc45286bd612c198463c9f2de2c83c2b0139f1ec9c30edb45c24ac14e855437319b990168ab664af113728c5db73062947ff8cb3103be6685ceaa73ba10ffa7ea089329f377892546478183b8d1edb6d97d28921baa9e6d85b3b04c374ad2578adec9c7070959ec9ba4a1e5d4376fa4bda5065749d22375fb90733caf514ea98707b61111972750fe72c9f589c151bb71705ba631aebb80968108c0dbf9e04f25147b96b5241ecdbf690913ebd83cbbc39bd65e90bd10e8e3aba98e1465768bdd4fde00d8777e17ed3af8736860f5f2ede1b3ed36bf45ee893100e8ed04402f06d85689e882395d66e6a80972404e04b5bfe8fcf9ec6c2b83d3eb56218010a0bdf4345e1f1bb33ded7fa078a42fe57000aab7e073a6137882f378931de88feb6d5210c38f242ef2af923fe10849fef98e703d136d65fcd588e016d3c69843003a6ae1568f0af044e1d495a644bd79f3fd8bf930aebe4765b39a29e11ba3b4ce6cce00843977d53684b16f20266de2af8d1565e221031a12f3c6f59e42ae13d809e57a0f439926aa2ad1b4e07cfb9c0c70a9cfec980204ca9125558f5c8badfe1a51b8a856b68d27db1c27f2ca03ed64ecd8a815ac0aed2e893a8587c01dea8bf97f2b1e4b6d1ec6daf913423d883ad63898e56006f4615ab63ea27b2757f136d575c8aa845883dd00ed9bc5f73a6c11dfc4b4a11e12cd8fcff2336e53baafe764c0c6da854e1a84183d1f89b5124d48ad0720beb8408c8a060ce98dfea83334efa36737d0da2b105a7cabf99fb90c5ac3096372d85550435ad89c4735183645596aa56c86dd724e3df3dee1ba38bea052475ba617ecefa67c192f5fef49deee28a7a00ceca7d547e5fc7445ff07fa794e0956a1ddc635e55deb3701e34c0e9cd8cf37fde80473d51ce0c148560e1d81ade6f79a51ed80cf4e65d107bd7f4872024d9958505175060b6a6822b3b2dd6a199d50f8c817ca2a765481708a031dc0b82864179977a281f2f06c6f4f9fd89cd862009d8c657c338c3acf6eb7a136446a058d1085430ccd0bee24439296411e603ce475ac9ccc12e28af1e656a7a1df639890b069ddad9f77a7375229f304f629e3fed25cbddc0fd8f8cee8a36c157654b62f06a2e96dbcb0a3d02d122490b8d059708e216ecbaf326c17de69b91cc14dafbf86e98f98d6680c752e7ed06e0b5e3d015527169680050351d899e9ca6c74c68554daa4606738d2621589db46619976c241dd7b48490e890110857c5b7de5ddafb343da34cfc4f93e3aecc34be8a4f88b43068d9793883241acacdd17ecf238742cab57d0311e11d4bfdd13e63bb832bb133d93c3badf52822951b6d3077fc7bf1ad342cd1b6b2e192907af309e59888e680aedcb7bd552a21fb2d9df3cf31176789fd2641a2f6bc74e725e02e9e255b956f5f1d5333546144b5f99d4cbb341490aa433be239951d390ea3406006e7e11c0fdaf7bdfd2825a357b0cd2f0f3fd770b6b0bdb10b3b84a6842cc038997ffde4e8132299bbd11407bf766c99adfcbda284a3dfb917c891dafbb807a26a6da1b06d5aa5789ae00f9784b60beea92e0ae077015ae2190619408a291e70494298bf5cef8363f27054730b1afb17fe282d4b2795f453525a348804c3a68d8876c596c4a267e71ffb1393a241a7155bfc3f7f9af47693645571830ab9055013b4326a42819a0c5104c69e71314ddd26d26674d75af777dae823477d5e4c2258da89f72c8ba85ff6adf54ae2f9e55c0d1b70bb2c5b03c876be1aab039c2a2316ddb6a06ac789ae72e5e81de5418a17917ecc55446056795e4866098fa9aaafd684d699854c063608d834871d313cf8538a4dccc9a310d4d2f6d66f667dfac95583e295a7d70fc1a67e8b653bb8394a9c3f2c5d0e7dfc8e8762a48314a52975b3b626ea0126ec252e5501b0f51b6d7c64ddf04f8642079056300b23fb83604dc4a106b198133a25db65c6a0fabc0bcd555661d9a3c1bd94227757c14281303fc91db84f82b5caf0a442a17c50341d044efeff4f9e9b +ss = 0654f860ae842420b5359093d50578b04c117cd65fd290b704822ccff0bcb82a d = 334382d39164d1989696a2ff77b25a28af8bead9883b5365eb6fcca7c1781cc9 -z = aba5068af837be962f439f233593d193ce5e08f7d66efb3389885927b89d2523 +z = 8aae27e7d301495dab212a61fd3f209a8068fcf9a61ad83463c00d2cab426633 pk = d3539de5422f470189bd6c462361c8105549370a09e8ccc407908a4e433813f73e3ae465cf99af30105e6e4456b899777236466f05bd36a05494b347457439cc9ac66557580ef049071c7922f3770b4220063139a607c8019b52708976d184949cd88714f18130f0a6c91ca38680863eb9be2542a4b27a629dec949e552d8b3c86883211ec341b637555c70a8fa503412a771853d32cf1a5939fd7b6eb012b26e414b14710a4639096025a95fb8cb581358379330999cb6b93527ceb079b134021c19c9122640f90c11c234f808ccbe17b3e031b1a7a94654f82289e2755ae38b9fcd477afe576bad2218ce692b51205f61a59e644808c011c0ee0ac36a050a4c158edc9c770444d310097235890f2d630f85c0ded24443462906fb84d7cac3e7c1777d08a57a689302e99a3d9302faa4c0dec854d4872579365bdd1645706c744fa5a167b563accd8097e8c626ae63c8280663a382c11ba8f6c1b95ff1161c3b5679ec6c661c2b8081c1c39f6c732dc97bbdbbacb133006a7c94de933aa19156811a224829769637a54b9512d8a4e82071af50a66ab52301241bc5206bab6bc0b29776a4b630e59e72988c4c7fd83912499175a2a3d3a2270edf3a2977049bac7524cd69691f59442db348243881e04b8e9f1adb4a436555c52f2f729c345ab278011cde73521172e8fbb5509746ae871cf0e72416c2482a280c348862b313c9686d37ff0d73a1e216ffcd936d2941fb5bc77a9b0b771354fed30ca16121514541b5124386b835c22540ee2f9b5970c1508e41dee69bc15c8c5a16abf91487a1a5c3c778396fb785bd9465dfbd05acf507686d53257c372dc8279e89669284c76294aa3098462efda8c743b0b7305bde0693d98048412907b2d2b27892397b9f3cd31dbaf9446598dc886a4e1bf0f9c39e9faa3aca90ae387aacd698906c38e81a4990a08c80ef340b17a78fa89bb9a67813439bbd1150cbdfa3609708e4de5365013c819fbade55636f2a311d7a2b2ef7b250632774ff22ef2e76029569346266e70bbc82ec09533f8caf60c4356d1023b4b4532f7c1e5da18f4582d40b8861166885f52c0db58357e7579c7516f9da7046d3092303219f327ab52a28cb6a246b5016fa6894599d9725fc3c2af262b53a4592f881f2a195d5ae75bcd36c30d6b7646424c219302c4e5794057782e7034eec6c488395710c8211ef954f9f7434265590862b2219045b1336af22889abbb4639ba0758e28f2378cd1b1a4225b4171c53691a9cc5986a6c3ff51ff53b4ffe3c4eb8585006c8667bc17b3a28c67439ac5f3c08a6e93a926aaf515c24f8a7c3e3b2ab2f5183def46f8ac996e400acc320b49254042ac43c7cb160ff32ca605438d7124b5a727099f48008d60ea2e63f5bf9b81e3183e1647251017e82827620070c96a32fe122632c4aae1590623ac191bac113e9c3676ee645fb762b0ff982e416ca2aa343f607a70405720e9c42ffd815be984042b37d5f76646db400da5c4f08baaa41b33fc78ba147f3cbcdf63f3f543752dca541169058521c28449d0c78cc8bc95784d8ca6cac6ecf2745a78bbd589353404bceebf916a882b66752a7a6e96dce612ef5754c392207b5b1c69d362134aab5513ca757aab9cfc94db5302510101a73b7cfeaf7a0f1d259893c76d9111652a4ac02348c285b94f16c671fe953e1bb0ca222a3ad751096a1a05bb2789c0c14da099e75477ed038849dbb19de489fab582910bc70a3a80c6f76152d494fa067186958191a5101051b6d55449dc5a4434925ca9f610ba498a24b232ac6aa08cf477a99f5a223067aa4c91a7749b834c90d6e247653c6b6db65c5efa72f3cd9cce1510437268cf92753db242742e042def3019f85188db7573a43830abab80d4c176ad551c5c5216870276160aa61b92863c1725083a56df800735c5428b28adc49b75da02bf120996be7ccf9e20d43dba59b6900bb50456d6589cb2c0209e51258336034566ae1bccfc1fb314afab759b00e103c0a7f5cad05a4bbf1894050ec9c2488bc3f89b685789912d43d63661ad0651d0f3286d3f055d1a307aa7371ae1a74f1a68d57a7438e4b5107bc0dcd8c4de5736adfe3170f8a1f01535a3772229da4386b4acc072c1611b53c899352b5ab5b39bb9cd4ec72e622c946f0f10feb3f0fa52eaad4f2d4c36e59ca0a5389566fad53898992a17bbe0a0f -sk = 9bfc3a71fa83a4070db5064ada8410a770845e818c49b91e09a251e1925edb226ee8ab153f94b2417560d88959113a6bbc854b0065748e6a7db90977ada0216f3c41cff70e5202b306cc22ff8a138c360d75b9cb1bba849c5bcc8c9b55e80647e513c9e3e15f66a144f013822da24266765e3f1125f435bda4c46ef57430eae331e1d54c91960eeb363ca25387d0d441abb930e4a7c329191c5ff7a87996a4b1aa74162611e67b303e284c7098a65069356b55304b11b8bba66c5829647493c09bf62166017977a988333092efe98d9c13a2bce53f8ea2c81a0099b7d5c2b11704971366a5565cc14610df796c604700680226cb165e9acaa6ab507a923b4d472a4b6c9424e7f5a622f87f4f8a1083b4755067a93c285cc0748d241c7051971128cc5af4db5c1f7c144f98b6bf9703f5338628ca22df4b84d10312edda9df71442464a24491a62687928c22455dcc23eca964e9248543520790d813924cb58a0c156aafbcf63906ec5fa891936c7e16b5fafd98026d64ea2012bd75b6c5f376eeb74ae9b29cff7041c650b91a2b852c021562ba33b66ebacf787be40810f22aa43f4174571c77710f775d1719968a5523780b613262f94bc36b611b63f460dc6e02cc588af99f164302276b0386e697469c55928c0e62438c25af90577de0883cf45819262905ed30d9a1a7918b82f9b4a28ca5b8dd1d9ad4326adc7ba69c087765cc6511668cc0be83d510245f8834e890662e06774f389c0c623be3212aae5accedb101c43463b68889ea9a2c21aa0acb5329ff80a336f8914fbc602e2b9ae452647777651ccc4bef70ac06423b66ec5982c861ad9723dfbc834ca6a6433174c1d6c1ab9569265a96ab5d48495d72122763b3a7275b297713f1a729bdc48329b64fff9c45955c6091375d4d77fbac540dacb140666610ec7a15ff18bc741aa69425508d5cf682bafb6d3c9dfe02d80349597f56fbebb7ec8031fe71b6d6c065c4e6b5e5d17abf3b412ded81efcc8b6b1935fb37b467a5cc61f318aed20678800726509baa73bba244030500050d4b23e4ad71349cb0877566ad100ba77f8b409bc8f0ef8cfbcfa3cd1baa1935c9abca798ff6965ec7b53141b6709597bc4f9983766403ed80df4095d59ab482fab7fca432ef5e76affc77f74f4cda522a0085a4917d04167a00b09863850d6caa0621c2d473de0763b7d3168b6147bdb009eb260901fa82013c8c0a3f6c39de3cc49a773d08b357ef932077b5bab86391239b3c366c43010ad15ea2eb1e05267029e5ad8139728a907b98761b65dd6dab895363159b48875fb6aa80882256a04460b2977280688745c5914c089b37bfc949a8f9864afec2e4dc13f6092070eb561d09b530eba2ccd66b87b0986adea1933448066521e28ac2ed9c57ede492799b401cdba8377d593dafc1a0d233004e25877242c30070779d8bc5bb488dd3988004b5a8554861b560ebaa5bfff7c89ded193ea077f421c216996c1445b165b912901b217315636a168c0216ac026fbbd4239858837b02dab5a39d1be6b072468a264661c5e34f42380c66526377c990092434bcb551a744227445c5108fcfc3cb4526d0b711dbd4539cea05a08a78fba723f314aa643a9260baa22b96842fa4995601c71dfb42a5719c6f3b9208b19728a8c085d28068412bbf3461dc09206feb7b1250607c1e33ac229323082cba12b139bb30eb21a5861d902c0e35cf2db3c227050cb8c309dd256ff4871186330be93492be78e267640b49776dc98adfc0197c896a1fa27af841351b5c790a6519f58c98bff08029fc09e3b960b6898577c92612d264833737c3e4aa1765c5d5b49bb12bc0df280890ec6b7ef55ac5fda82989603a7f513c5a41c04b341e1197b7d4049e2c01cdef47f27208a48aa0a2ba5706abb474c467897e154daea8410181c6d4cbbc9e73746d46d6f372fe6836d82da12a31b0673c10b35c9673d25830ed32ae795bb7d1aaf2cbc0433939a79d06dd33cb485a4bcde071b5c083978d78bd8e359181152fc535770548df0eb33a780c0c9e7bf907540a1f953c972b43527b0bc586b8b2abc865b9127caa4ea98a5de1aa2bdda772ab0702f983ec8a4231bf48c2fbb37a4247783bb0221098a15781c3dec95c1990b21c88cd1f911624600252759d3539de5422f470189bd6c462361c8105549370a09e8ccc407908a4e433813f73e3ae465cf99af30105e6e4456b899777236466f05bd36a05494b347457439cc9ac66557580ef049071c7922f3770b4220063139a607c8019b52708976d184949cd88714f18130f0a6c91ca38680863eb9be2542a4b27a629dec949e552d8b3c86883211ec341b637555c70a8fa503412a771853d32cf1a5939fd7b6eb012b26e414b14710a4639096025a95fb8cb581358379330999cb6b93527ceb079b134021c19c9122640f90c11c234f808ccbe17b3e031b1a7a94654f82289e2755ae38b9fcd477afe576bad2218ce692b51205f61a59e644808c011c0ee0ac36a050a4c158edc9c770444d310097235890f2d630f85c0ded24443462906fb84d7cac3e7c1777d08a57a689302e99a3d9302faa4c0dec854d4872579365bdd1645706c744fa5a167b563accd8097e8c626ae63c8280663a382c11ba8f6c1b95ff1161c3b5679ec6c661c2b8081c1c39f6c732dc97bbdbbacb133006a7c94de933aa19156811a224829769637a54b9512d8a4e82071af50a66ab52301241bc5206bab6bc0b29776a4b630e59e72988c4c7fd83912499175a2a3d3a2270edf3a2977049bac7524cd69691f59442db348243881e04b8e9f1adb4a436555c52f2f729c345ab278011cde73521172e8fbb5509746ae871cf0e72416c2482a280c348862b313c9686d37ff0d73a1e216ffcd936d2941fb5bc77a9b0b771354fed30ca16121514541b5124386b835c22540ee2f9b5970c1508e41dee69bc15c8c5a16abf91487a1a5c3c778396fb785bd9465dfbd05acf507686d53257c372dc8279e89669284c76294aa3098462efda8c743b0b7305bde0693d98048412907b2d2b27892397b9f3cd31dbaf9446598dc886a4e1bf0f9c39e9faa3aca90ae387aacd698906c38e81a4990a08c80ef340b17a78fa89bb9a67813439bbd1150cbdfa3609708e4de5365013c819fbade55636f2a311d7a2b2ef7b250632774ff22ef2e76029569346266e70bbc82ec09533f8caf60c4356d1023b4b4532f7c1e5da18f4582d40b8861166885f52c0db58357e7579c7516f9da7046d3092303219f327ab52a28cb6a246b5016fa6894599d9725fc3c2af262b53a4592f881f2a195d5ae75bcd36c30d6b7646424c219302c4e5794057782e7034eec6c488395710c8211ef954f9f7434265590862b2219045b1336af22889abbb4639ba0758e28f2378cd1b1a4225b4171c53691a9cc5986a6c3ff51ff53b4ffe3c4eb8585006c8667bc17b3a28c67439ac5f3c08a6e93a926aaf515c24f8a7c3e3b2ab2f5183def46f8ac996e400acc320b49254042ac43c7cb160ff32ca605438d7124b5a727099f48008d60ea2e63f5bf9b81e3183e1647251017e82827620070c96a32fe122632c4aae1590623ac191bac113e9c3676ee645fb762b0ff982e416ca2aa343f607a70405720e9c42ffd815be984042b37d5f76646db400da5c4f08baaa41b33fc78ba147f3cbcdf63f3f543752dca541169058521c28449d0c78cc8bc95784d8ca6cac6ecf2745a78bbd589353404bceebf916a882b66752a7a6e96dce612ef5754c392207b5b1c69d362134aab5513ca757aab9cfc94db5302510101a73b7cfeaf7a0f1d259893c76d9111652a4ac02348c285b94f16c671fe953e1bb0ca222a3ad751096a1a05bb2789c0c14da099e75477ed038849dbb19de489fab582910bc70a3a80c6f76152d494fa067186958191a5101051b6d55449dc5a4434925ca9f610ba498a24b232ac6aa08cf477a99f5a223067aa4c91a7749b834c90d6e247653c6b6db65c5efa72f3cd9cce1510437268cf92753db242742e042def3019f85188db7573a43830abab80d4c176ad551c5c5216870276160aa61b92863c1725083a56df800735c5428b28adc49b75da02bf120996be7ccf9e20d43dba59b6900bb50456d6589cb2c0209e51258336034566ae1bccfc1fb314afab759b00e103c0a7f5cad05a4bbf1894050ec9c2488bc3f89b685789912d43d63661ad0651d0f3286d3f055d1a307aa7371ae1a74f1a68d57a7438e4b5107bc0dcd8c4de5736adfe3170f8a1f01535a3772229da4386b4acc072c1611b53c899352b5ab5b39bb9cd4ec72e622c946f0f10feb3f0fa52eaad4f2d4c36e59ca0a5389566fad53898992a17bbe0a0f091210fb4f6fac00a24167d9bd2761e601db0a3734e3c835d1e9c5865b1e379caba5068af837be962f439f233593d193ce5e08f7d66efb3389885927b89d2523 -m = bc856afe24213e3d14c3d6f9b89223bbcfb2c890722d770fa3492c1e46d1c302 -ct = 6959f2136ed99ead6a930d5dceacbb2d35bac303d0d2dd744b4822a77c70ee532298f4db2fb202eca94018d675fc047e642a7b178e3148c269efc74a224480baf7df90e7a7cca50c1a3998bb41f2147339a0f626ec705123f848c3e5b57a4e170a7d7861e460f1309b7a658cd178b1067a0c95bf2bcd69ef9741882b6fcf91c925901bab59e39abee68582c220351b7fb3302d3ea5b1bc7d1e017ec65d418d7cc5548764d1c7184e450cbcb5608039ec5b89e37e9195f4a86a2ad61c56ca569d1c4413f3bc99d100141c433adb9b5371838aa7ace2bb54bf32b210e83a13eea07ef27e0708fc3776ec84eb35d134d4a49fe7e2c7a0005501aea667a614cda82f16bcc617e97fb8a53178ba0767e038e111796cbd01d19075a117897db4929219a62e8a1c169cb9e84583fd772cb64c7f273628118767b09bd8d74cfcc98afc80f8474710acdd795fb1e29f59d5cecc9dd0e67954284fad057705c3f8a54ff5da60604bd5cb2c235994b9acf43ea0a3019591c969b5185cfd1adaeeaa3424f50511837e37dbe8c261fa2836975f70b555c9a39a653fbd75d6cab80be51c8bf527fa98ddf15e14fcb5244e74832832dbfc8357ecf0a3c14bb9638336093626a63ab0d83a4854f0c8d2ded79ddfafbe429bb1c69a5537ed10e4d54ae2bfd8537916a1a187fe96550d6b7fb659063cc4a08cd9f0218dd5492beac4e5f04ae07969500e4c9da8571e46d3473c69c208c3646844582971007a234021188927ab923130a98904b0a7623015e4235c9e6dc9b722edf60ee9ec4272c3d460317939262565711c5547ff4a2a3e76b1ad6a9a142816d1216c7b4ee2ce005b54b10950aa6af2c9c87a964d95e3f74719dd96828c4d88733c6fe1aee99aad00af75f688906bfdfc2d955e27f0ea80ca1758ad0e4ae8cbb32604c1987a44fa9b630f17dfe6f2d759620c183134928425fad9e7b91274a83ac4f3d97b205c230fddeed0645306bb0209e6ce2c7cfb9e2156874b9d4a98c36007c959f555e6bcdb71d87a8040ba1f2af909ce28a1aa12ee2378a02a9f99be2e5094db1dddc4866fa4b3ed99836d19f4601401060285acaf5c7d03ac9d473805ee5110dd4ce97a8eb2bb9c8b7a7cbf1cd29dd1d5d02962d227310d64866c09e8b9bb642422ba5be66220922cbe2f7fed9695c6d83596fd018640247115669d49eb6833c385b54aca3b31c5ab195c767f23aea11013249ef45467b6bed014ad9a0b4aa5542016d20bf0c433de6c21895735657e71fec97d7b1951ff2a23a6629b9570a43cd4392a0f93e464d08a7ee40a7633114835b98f71a599828a9adbae22a2cfa3015d123af3e422553e1d28c6aa4328fe28e1971e1cf7cbfe5fe940e81d0ae7c39bfb551ceaf20af1769f5eca338598de9d94caa0975fb7d60d7c3cb6c8b1494af0f0981169f0a06ad50aa404f1c822cf845a5c1316cbd3b6f5ceea163b931d4b086eb7fc7fb3ae814b16d4de7f33cedcfc69f2b6a4de90ae16e47d8de20e60130918b9c7e29ec0d52d2412d7a0a9aec9b48843590c396462e522aa539592df6ea4d38feaf8a515b8fa98387399752be504c8138dff46f09cb71220575625579021537383ca84e410abf7649f4bc3aa2394f32110e349ec290bc937210586cccbc221d7123153bc7ad55950e10828b1e2ddbc363a02993e0ddcc20ed7fb6c67704da0e4740c3d6baadbf44c5dbbbd06be14e52b1d16cb329a4bf1d744fa7c4f65071a0b189f8c9c711d245990cb5eb5e7fa620326f836938ac5a5fb5cb897aaaafad79c64af4fa73e9a3d71274097672e018a85df98e9ce3476e0779039a6a2c0a5d32793f48708c74a588220fc8bf0ed22dec8dc10ca0a291442301280686a2fa2fd6b6c1ed0ceb93f74935f77173ff56dad0616f2b1d16e88627009c944fd678b8918009f59775d4c57db05e3c630237e94515f63b5bbc7641416bde130d24447763c8aee48ff703d9aa8bbc9b970b1e7f17c87c50b373ee8729d09b31bde31503565895ff7b7a25f4af7bc8ff11eeb4c7215cd128a8de5f6e1854089b7bd33408999785acf74ec99dfdbdbd096b55fedb8e4105d111c9afee76c97de3efa0070d273bd4452403cf8e84ea350c82d13d86a2e9289a8ba67731d20274f0f3a12eaeaee9e5300315c56d2fc322e887ef41ee18cf5bb77885866335a36adf66d923d88bd0b30cfb497437f0d0d -ss = 53cdf36f6da6045c9bbfa9fd3a8c525e0a775299490b61cc2eab45001050ae71 +sk = 9bfc3a71fa83a4070db5064ada8410a770845e818c49b91e09a251e1925edb226ee8ab153f94b2417560d88959113a6bbc854b0065748e6a7db90977ada0216f3c41cff70e5202b306cc22ff8a138c360d75b9cb1bba849c5bcc8c9b55e80647e513c9e3e15f66a144f013822da24266765e3f1125f435bda4c46ef57430eae331e1d54c91960eeb363ca25387d0d441abb930e4a7c329191c5ff7a87996a4b1aa74162611e67b303e284c7098a65069356b55304b11b8bba66c5829647493c09bf62166017977a988333092efe98d9c13a2bce53f8ea2c81a0099b7d5c2b11704971366a5565cc14610df796c604700680226cb165e9acaa6ab507a923b4d472a4b6c9424e7f5a622f87f4f8a1083b4755067a93c285cc0748d241c7051971128cc5af4db5c1f7c144f98b6bf9703f5338628ca22df4b84d10312edda9df71442464a24491a62687928c22455dcc23eca964e9248543520790d813924cb58a0c156aafbcf63906ec5fa891936c7e16b5fafd98026d64ea2012bd75b6c5f376eeb74ae9b29cff7041c650b91a2b852c021562ba33b66ebacf787be40810f22aa43f4174571c77710f775d1719968a5523780b613262f94bc36b611b63f460dc6e02cc588af99f164302276b0386e697469c55928c0e62438c25af90577de0883cf45819262905ed30d9a1a7918b82f9b4a28ca5b8dd1d9ad4326adc7ba69c087765cc6511668cc0be83d510245f8834e890662e06774f389c0c623be3212aae5accedb101c43463b68889ea9a2c21aa0acb5329ff80a336f8914fbc602e2b9ae452647777651ccc4bef70ac06423b66ec5982c861ad9723dfbc834ca6a6433174c1d6c1ab9569265a96ab5d48495d72122763b3a7275b297713f1a729bdc48329b64fff9c45955c6091375d4d77fbac540dacb140666610ec7a15ff18bc741aa69425508d5cf682bafb6d3c9dfe02d80349597f56fbebb7ec8031fe71b6d6c065c4e6b5e5d17abf3b412ded81efcc8b6b1935fb37b467a5cc61f318aed20678800726509baa73bba244030500050d4b23e4ad71349cb0877566ad100ba77f8b409bc8f0ef8cfbcfa3cd1baa1935c9abca798ff6965ec7b53141b6709597bc4f9983766403ed80df4095d59ab482fab7fca432ef5e76affc77f74f4cda522a0085a4917d04167a00b09863850d6caa0621c2d473de0763b7d3168b6147bdb009eb260901fa82013c8c0a3f6c39de3cc49a773d08b357ef932077b5bab86391239b3c366c43010ad15ea2eb1e05267029e5ad8139728a907b98761b65dd6dab895363159b48875fb6aa80882256a04460b2977280688745c5914c089b37bfc949a8f9864afec2e4dc13f6092070eb561d09b530eba2ccd66b87b0986adea1933448066521e28ac2ed9c57ede492799b401cdba8377d593dafc1a0d233004e25877242c30070779d8bc5bb488dd3988004b5a8554861b560ebaa5bfff7c89ded193ea077f421c216996c1445b165b912901b217315636a168c0216ac026fbbd4239858837b02dab5a39d1be6b072468a264661c5e34f42380c66526377c990092434bcb551a744227445c5108fcfc3cb4526d0b711dbd4539cea05a08a78fba723f314aa643a9260baa22b96842fa4995601c71dfb42a5719c6f3b9208b19728a8c085d28068412bbf3461dc09206feb7b1250607c1e33ac229323082cba12b139bb30eb21a5861d902c0e35cf2db3c227050cb8c309dd256ff4871186330be93492be78e267640b49776dc98adfc0197c896a1fa27af841351b5c790a6519f58c98bff08029fc09e3b960b6898577c92612d264833737c3e4aa1765c5d5b49bb12bc0df280890ec6b7ef55ac5fda82989603a7f513c5a41c04b341e1197b7d4049e2c01cdef47f27208a48aa0a2ba5706abb474c467897e154daea8410181c6d4cbbc9e73746d46d6f372fe6836d82da12a31b0673c10b35c9673d25830ed32ae795bb7d1aaf2cbc0433939a79d06dd33cb485a4bcde071b5c083978d78bd8e359181152fc535770548df0eb33a780c0c9e7bf907540a1f953c972b43527b0bc586b8b2abc865b9127caa4ea98a5de1aa2bdda772ab0702f983ec8a4231bf48c2fbb37a4247783bb0221098a15781c3dec95c1990b21c88cd1f911624600252759d3539de5422f470189bd6c462361c8105549370a09e8ccc407908a4e433813f73e3ae465cf99af30105e6e4456b899777236466f05bd36a05494b347457439cc9ac66557580ef049071c7922f3770b4220063139a607c8019b52708976d184949cd88714f18130f0a6c91ca38680863eb9be2542a4b27a629dec949e552d8b3c86883211ec341b637555c70a8fa503412a771853d32cf1a5939fd7b6eb012b26e414b14710a4639096025a95fb8cb581358379330999cb6b93527ceb079b134021c19c9122640f90c11c234f808ccbe17b3e031b1a7a94654f82289e2755ae38b9fcd477afe576bad2218ce692b51205f61a59e644808c011c0ee0ac36a050a4c158edc9c770444d310097235890f2d630f85c0ded24443462906fb84d7cac3e7c1777d08a57a689302e99a3d9302faa4c0dec854d4872579365bdd1645706c744fa5a167b563accd8097e8c626ae63c8280663a382c11ba8f6c1b95ff1161c3b5679ec6c661c2b8081c1c39f6c732dc97bbdbbacb133006a7c94de933aa19156811a224829769637a54b9512d8a4e82071af50a66ab52301241bc5206bab6bc0b29776a4b630e59e72988c4c7fd83912499175a2a3d3a2270edf3a2977049bac7524cd69691f59442db348243881e04b8e9f1adb4a436555c52f2f729c345ab278011cde73521172e8fbb5509746ae871cf0e72416c2482a280c348862b313c9686d37ff0d73a1e216ffcd936d2941fb5bc77a9b0b771354fed30ca16121514541b5124386b835c22540ee2f9b5970c1508e41dee69bc15c8c5a16abf91487a1a5c3c778396fb785bd9465dfbd05acf507686d53257c372dc8279e89669284c76294aa3098462efda8c743b0b7305bde0693d98048412907b2d2b27892397b9f3cd31dbaf9446598dc886a4e1bf0f9c39e9faa3aca90ae387aacd698906c38e81a4990a08c80ef340b17a78fa89bb9a67813439bbd1150cbdfa3609708e4de5365013c819fbade55636f2a311d7a2b2ef7b250632774ff22ef2e76029569346266e70bbc82ec09533f8caf60c4356d1023b4b4532f7c1e5da18f4582d40b8861166885f52c0db58357e7579c7516f9da7046d3092303219f327ab52a28cb6a246b5016fa6894599d9725fc3c2af262b53a4592f881f2a195d5ae75bcd36c30d6b7646424c219302c4e5794057782e7034eec6c488395710c8211ef954f9f7434265590862b2219045b1336af22889abbb4639ba0758e28f2378cd1b1a4225b4171c53691a9cc5986a6c3ff51ff53b4ffe3c4eb8585006c8667bc17b3a28c67439ac5f3c08a6e93a926aaf515c24f8a7c3e3b2ab2f5183def46f8ac996e400acc320b49254042ac43c7cb160ff32ca605438d7124b5a727099f48008d60ea2e63f5bf9b81e3183e1647251017e82827620070c96a32fe122632c4aae1590623ac191bac113e9c3676ee645fb762b0ff982e416ca2aa343f607a70405720e9c42ffd815be984042b37d5f76646db400da5c4f08baaa41b33fc78ba147f3cbcdf63f3f543752dca541169058521c28449d0c78cc8bc95784d8ca6cac6ecf2745a78bbd589353404bceebf916a882b66752a7a6e96dce612ef5754c392207b5b1c69d362134aab5513ca757aab9cfc94db5302510101a73b7cfeaf7a0f1d259893c76d9111652a4ac02348c285b94f16c671fe953e1bb0ca222a3ad751096a1a05bb2789c0c14da099e75477ed038849dbb19de489fab582910bc70a3a80c6f76152d494fa067186958191a5101051b6d55449dc5a4434925ca9f610ba498a24b232ac6aa08cf477a99f5a223067aa4c91a7749b834c90d6e247653c6b6db65c5efa72f3cd9cce1510437268cf92753db242742e042def3019f85188db7573a43830abab80d4c176ad551c5c5216870276160aa61b92863c1725083a56df800735c5428b28adc49b75da02bf120996be7ccf9e20d43dba59b6900bb50456d6589cb2c0209e51258336034566ae1bccfc1fb314afab759b00e103c0a7f5cad05a4bbf1894050ec9c2488bc3f89b685789912d43d63661ad0651d0f3286d3f055d1a307aa7371ae1a74f1a68d57a7438e4b5107bc0dcd8c4de5736adfe3170f8a1f01535a3772229da4386b4acc072c1611b53c899352b5ab5b39bb9cd4ec72e622c946f0f10feb3f0fa52eaad4f2d4c36e59ca0a5389566fad53898992a17bbe0a0f091210fb4f6fac00a24167d9bd2761e601db0a3734e3c835d1e9c5865b1e379c8aae27e7d301495dab212a61fd3f209a8068fcf9a61ad83463c00d2cab426633 +m = f9e9fd68166f1efe1916c2e0868e30cd14ca6a7e07c44a1e5ecad722d016a3bd +ct = cde3737244073eef0b1a2b2017c0c63009aa1878ab78d1de9116175b39d4e3cddb0c3788ef7ff00b89284939c0e24073c20fd8ffe8a68edc3d8f119e38a3e6b4343d8b6bd099a8d249d8b4ad3a499f1e47a89d0954298012911adceff0dfa0a5fa5a2ee8c0e9083137eb1321d2520268989195680630ecb7ae057d0583f5575fa6c43d3ffdd21bf3a9737752f3496ac5ac66a7b64da2a444c10394c2ff4f623f6f73af3aa2d379cbfe285060a8c30b090d4927052ed77b04517d64a518544a3167430ddcb57f294688316d5c0d8872830e4f9b3274eddf167b1fcbf4c9ffc32de60526e5a547325e6ce0e7df10d99a003371c6d482e325262d675103bafd4bf65a9b653fed40b118d132a0b2e93e8144888bda24e92cc0f2ebd7318c2fb6e9a9d0aa538ed522195a8a54a7744e496d5bf2f3560ad2cb6a10562c16a030615a7478ee6c7a8dec51f7c842dbb926d9ee3d4ff8987d130c2c55b8697ead6eaff7449ccb33e0b63773a248d281ffe2600c0718b4ed45f70787718fc21a1286b037c69f41a03be7636591aee5538a3ffc553ffa268fabbd4b07288cdcce8eaa198411b1f88d325db8c950ce94bc24121443ba06f5303f667b37c4c2d897b66442f93dfa7c04fa096ecadc36c8654f0343b4cb2bf5fbbdd443955e6c9092c7fada13f1f6e488300159a62b17e7f7ca002bba0433b36090291a00ab91653b1932046f1ee9ea507da2ffd7c94cb9212756bc32f9cbf5f60671f1920b1d21e47b7e0904bfbd43b9a3427fa1fd41e695148eb615b1635b892f5becc0133ec928a605e8e427a188ad41c2bbdf88290730d5caa8cb03145213a0f6706decc804b3b9b96f2039f825e4c843a4ba40223d565ba35fc8b4481d4f4d1b93d86c1c82d5511da7374d36d4d05081122e4151c89962124fb136d5c8ccdd230fb9c25ac67ef78a88e0c220b6dfbed34104de4f68652c377e0728b964da6ceb1e9dcf5c35433add81f34a8bc0850b85e1a96274e0f3e915acd55250285d6031e16c0cf5dbab6bbb3a5fa0232be37ad6a6fb8a65371cb1fa8b5fe53edb72920254a3b0b2874766dc22b5db30c953d3ff6954a11b6a9f041b07c0dbb30e0fde4d9407b35cb2db1ae2b0e11c5ce601c91d9d4ead5dc4f75fa1c03dcd909832ab2ac2a80e1f0dda6ac3dd9f51825c2216709e5d5230b1de6f071641a0c216103be596b556257816e73ba6170069222215e03032eb8a7f91a7554cb55c06f2ae7c567c864e91f243dbbdc427cc37c3b1c0dd949f3f00734ca2b65403660701d02788253f7955a02df6f32f7948779cca12ef6788365df7c7aac0d44adc3af8c00441f02a4d2b10daf0e75224ede885c6981d6f598aed2945a9e492cdf9a2880afc57c3aa2e7e9bba4ac27e609bec52faef68c49ec1b35f55ad411d705df690bc4866cc76fd022725e92f0dcaddcdf866d3d9b0e1f38332ad0dc6e4fe06b2599fd1d19e3a52f3eab92d35b6b4347555d7b8fb1d4f14ee9c61b5da5e4782e7ea59ad941d62bc903076da0a0c92d68b44e66eb43ff14fe670083a6c8e602e6779f61c7585464426efc1c758159e3a6d7244d89aa90dfcb702acd3ca121ba21a69f26f5b2dfc09143bebb05b96cc6b81994bfeabdc4114e183ee1c0b36e1859a790e454f5bd3481389fd15bbe9ae5f27c12ec4af1b3713edabff045cf71931515af1eed5a82a5913c9349aec3cd74ebf4e0a91256ba1ab2c863cdffec9cd2b7d725e406be1b53cbce44fb241dda9f1b9f73b97900f4834a4a59af715e12bc38b0b02fdadcbfcb04095decac5869daf72bf8bed11a18b4fb1ade34a84a12edb6783fb7b930a8a664950399dcf523603859d15dbaae5b410c15c3f9d34bb0de141e606304c778dbae8a7aac0e70d4164edcb0aa5d55cc4bb6a7ea7ecb429664d7f1e529ead40688e58fe6e21c5037725c9313ff1146633a884c12e1dbce24a9ecdcc9664891d02f8c522f7392c53d9f290e7a59248200a7f22e0ceca605220f81184bb564121c5b998c177163dd8b5fc3c494200841bd40ae71f301c79843340945213567194f169f017eef21c0ddf849952bc70c4cd792cfa6729b1183e312e06372ecf3ca8fa2d0128d43ff34cf20798501484263764413f508025476f605dc2e548061116b77e00eebdb0952d9c0d85c3a3bceda515417f24820be0f5f0d2851a06f8ec65056160e24a15202ce5de +ss = 8d4451a0da9bfeeacf4e2f0f5cd7c398499febb4eb46c82da3aaaf19d03c835e d = 6995143e8eb8a6e93840f76eec844f67d2b5f75b1839a5040337e61f9806764a -z = 0f4dff8e56f68440836a072412a30d851ace2c7c6f02d60e7a8420001a63e6c6 +z = c30e299218d4a39c2ea3fc06439fc4c411e99bbc34b8f30d23845e91e71fef3c pk = c675bab636ac40ecb18567a8e6fbc63a52327520bb770a5d64349817a13cd365c96741726aa9107e9a4c04796dbe92061697131e728104c9c6ada26ebfc51632898564d89b2919438ca1308c53387604c162a424afaa2af9ab0c42b50cc50b3318a15738057c2f1806017a7bac76ba523acc1c66111d45c253ab299463cfce584ece769707a6b35d6114a8b92939a16d27a7be7f72b660f0b851e4950c20b33c074d307c8fc9b51454e41a96a8ac76cc30a568b4bc442177e7748e4b0f7d31201569585659b55deac3a6ca4dd264985df553c85c9ed07b61e6d58f2bf23a19a5740fc9b9bf18859efc79f9e9178bb542823a4fef94be8ca589abf740d7880380e78853708cb9220e5d0ace428c58a543acffd8333d2831857c3784090e3696a3b011683899ae31b40513e9589467a3cf2891439871a1b240fea31f2fb89956d9966ca204a598050beb2c36f9a6851820c87a5262a9cff23b1e7bdcc9d060484115568463b9ae44b33d7b6c0f46619299596fa3c3ebbcc15f37a7a3ebc9b42332f483708f7ab08e285a08759ec62aa06838c7ec103864b75ab25a013d7c183955884bd01c4f58cd410344396358bd6901a94228275c79a289b385c788884b2bd3371d0852b0ac4a24107a87f1da0e6fbbbbd0a25c9cb14b7f25b7432c8148a0c91f8c7616c7bee7119a8f9aa4da5291a820922ea68f2bd62c4300cab4d10a73db255b1aa33d523d774aba41fc5f26326220c8b3575520788c0476bb3462f73c61016c9349bb00c5c59b7a740044b639ab59253b49e23c8ee36676e015a93001a8c4c539f576c735068661c02026bb22ce5932bcab118827107a784ce94c2c89444a7b03a2386772d89106b49acb607abc86996a351b6b7f364e9a05c746377520d7a27a154f502042c388292394a4940c0470458726b76f39037e10821fb56b3e4f38c752f4278b8b1fc332a48da56cae9c56bd03343659b4abc262fee6855875ac2b8aabe02a352919ba6363c6e75a8358d3297386240aa80f0aa33b1a79cae3c9ce40f87520ac713bfc2dc9da6c5b2bab6443383279bc9f3433e4080c7bd5bf22306e4fba2a8ff0a1f7978bc6a7bb809664783c36ac81445d4964c8ec6e9616384c60636f6ac08aa1c23d182fe70034ff2390442190f8c2cd68c9892bb0a6fb29c5e3480697145b150675992137c5a16c507c96180a3129417d9e30815e30b90d05835b890cec789e3ec8ab7dec509919cfd670241250822c539fa2ca8d9d619e22f050744727bbec916289aecbf47bf48b9c6ed6ad5ee5745a865859253c84b39fb569147804112a0046e2149903fb5ae0e56a4ec2b44397973441394175bb675c3198800e1bc56185ca7076345ac1623ac0ac1f10f099fcf971feacb965482a2bfc585bf30647d90f7ba27cd76891ef5b3ef84b988f2a407f5552be77559d026e385627baea2debf3ae73e3cd1461b1d7f9ba55daab9c4bbca8045172cc8eeefbb36647bfeb033495986526cc2fdc6c7a39da80278182347a3330fa332e071d8f31321bf32f4507b16e328fa7892758f2948a1a951506222833c0bb68140495a7a5e942c6b17e674733ce754eab747e96d2a077e7024df77388b6bdb807744db74612a8c72011be7d8b0949c75cd1b6107c2422e30c1e577b3515556a10c1ba712aca7f6988b3873705257cee724acf431ca0f9961db020ebc784e4f27c6fbc062857015db28d64004cb41bb7ea3b5657e6b65200b3959c642b213dda13a1b25377c4a47c43dc2dccf3607aa02ca28a4067095f541b359e21b39004590ebba6d6db8fa461a1343b824d1373f872343e8bb605729b674c66f7e5c76b536539f06f919213cc14756ffacd5789a46e7c8ad789ba0f6237998487c1912e86b087c9388d3a6a9c18d505fbba2f7aa6168508b1c8702a2fc167f2202ac21ba862917f6d78971aa7296ce1306d2a1f2f06b8a3a214ed45765f6a05a7445cdea385ce7922e8006b549319cb38904f38a6f932304037c4fceb9647fb7ff9e9aff5dcc951aa3e4bf50c296b71259650b5047c94ea2696837e26aa1d18938851198928db1ea22758c6cac0906a995a022998a7a942626c2cec7a5fe83948d74509c61915819425120d9e6580c0a3776ad41a95b52b2e867b6d7242ccf281a241a88049058d8caee564224faa36c70ecd281b67eb98908468420b38f3c24da9290ea98b24 -sk = 5e484946337e3f4135d738b0862b69f7b247a5bb0812d56201300c53bb87b798b2b551ccea75a87f002d7de7878ed08e976a2cb62b4aa559bc36816e9690973f608b262612f89b5bc784365e33193fe9013c05818e0a7151297ea53c95089388be203071d0335535436c799f6d3aa3260a9c8c9c9e36f79f13135c3dab92914137c33773660aa15557c32b7a086a5a1cfd125dea60183ecba94da22f0f3a18dd2131bc792c4013b7bf84a7840c976c53117653c4f947839d8cb35538bb97899418688a9e062f9fc17d77450d85261aab01bd9ee77e917966bd26bd3d3990aabc8561cbaddc5a22f8c80d99453fa7350b2a022e4ca48dea6c9c07309543611abfc7cda76aa03e51acfdf0cc73921ef2d02f45990aee50ca77b93f14e4bef44576134391f7b67658e1cc7876713742267a556ea8f562bd858b24e04314b025ccb5be0650642a23460c3c65e0d6cb68232cff709204b7b7cab0741807100a712686b982f632095d7730dd9385a7a26c23741474e12cd8fc259ef346b5f287eb01b046104ef8415372b47da145ab0c5c1774626b5dea7d72db4c62fab14c03ca51384420690a799194e8aa05bb914db21956bedc948299baed7289c884ab9833c8669422adf51d4e1a0466056eeca478f11ab55ce2ce34430addc889044a5601357ea6a5b097b54252b046fa83c0211c236953954c36840e390d2707848c0b879aba2354ea200fca56cbb86c0c2269a81c790b966893f782aae9a4bd1b02fa85995a757ff2083fd26347c97711e07560af77cb59c7cd64f7cdbc880ad26a7bd7fcb9b210710e581c49453a3200ac08554a641068e6879ba6665ae9f281fc14c8fbfcb0cac0081c1a06db017d80048b324248f699825a489d0726893e109127a0ae802cca29ac56f6118d209a54cb842c9a8c539e43b9681cb868018c95d872c532a10a77bf52a796d33187fb8aa3fd780bd2c4b30fb7394dc64b0fe05b81128763a1325bd00eba411247b1c22a1146feba1b255c51f74999dd29a9453151bd9869e3d548347b93c1b798fe92a053b88c80d7afa5c561d31435d61251253b9a4c2b0f42830c81e990006dcebddb7002240ee8e276d4e31c2d249b84414f3997b9c4f5c0698cb2a24c48e3605f6d704e5db734ead12d62634dedc68ed6a1248273bad5ecac0651978b098ffcc148667671d4b59ea6095b0b363c31299e5b90282f914bebc66f6291338bb7600c8310b83963336952ec33854ed7c979b71f30188180b11bb66314c93242ecb890123c9f2aaa786acbc7dbf560cfc1625d06c3828998ed51b79d28c583bb38719706d1d67b9ba5a556cb9ee1dc4ff2c53c33969f2f97bb93056729f65fd90aa2d7113edf611c521761be671fe37baada7a2b4a114dd458a19966a2a42914d61b47aef5abccf8240c88af752b51bcd0a3788c2aa38aad8dc00d835476c8386dd3a8628b261f1d6b2b9f771842c97da7bbc3d03696f60524be6476430044f6a8aa48c22901f750dc55c1ea7813ec3518b26b3fd0657ea6fcb6be94c026244a0401593664673faa680f866e174143b0cc086fdacc1f7126c3e941f090332d8487d5e66061d5311c9b5c8edc39bdfc34948400a9a3aff3a85adc48b21e11b57f853985689697a591c5170b2766a18d18937ce92857a99095fcb6a2524bea122ef1fc8f6aa724f754832fc17c932388b728359e55800e3110c89b8b7b711aff4785259b3e1b2b0b886a057d71b035617ddc7c0c8b1bcdecd50a7135c8a68a2fa2f7b62b10baf6325da837368280102d7a7439d328f91b2173d8625d769a6ea936990299a02329380a85a818524f601b36e6cfa8046ed2f7c1b5c13260152aa34ca30e1887f2849c61b41649913138b74c817b2da9174d3ad4ca15653f768896837323dab2c18781a8ba793d54c9126df6a6ec044b7e709870422a8a1c030f238767c91d75185def8002c105806cf728897b382aa596dff7ac969a5cedb9294dca50ca1c74ceb7605e978722b148817964cc1159883a6dc5094f02a5767d4bb5df6304d3148bf009068a1b2e4df78bf021182e985982f4b2629c049dc26667746c4503ae0491728202ba0b55a8248c700484597bab32dae41607538bcc5c9dde4a198cb81ebd9c143eb9b612930da8f56fe3d8c02863c04cea9ec675bab636ac40ecb18567a8e6fbc63a52327520bb770a5d64349817a13cd365c96741726aa9107e9a4c04796dbe92061697131e728104c9c6ada26ebfc51632898564d89b2919438ca1308c53387604c162a424afaa2af9ab0c42b50cc50b3318a15738057c2f1806017a7bac76ba523acc1c66111d45c253ab299463cfce584ece769707a6b35d6114a8b92939a16d27a7be7f72b660f0b851e4950c20b33c074d307c8fc9b51454e41a96a8ac76cc30a568b4bc442177e7748e4b0f7d31201569585659b55deac3a6ca4dd264985df553c85c9ed07b61e6d58f2bf23a19a5740fc9b9bf18859efc79f9e9178bb542823a4fef94be8ca589abf740d7880380e78853708cb9220e5d0ace428c58a543acffd8333d2831857c3784090e3696a3b011683899ae31b40513e9589467a3cf2891439871a1b240fea31f2fb89956d9966ca204a598050beb2c36f9a6851820c87a5262a9cff23b1e7bdcc9d060484115568463b9ae44b33d7b6c0f46619299596fa3c3ebbcc15f37a7a3ebc9b42332f483708f7ab08e285a08759ec62aa06838c7ec103864b75ab25a013d7c183955884bd01c4f58cd410344396358bd6901a94228275c79a289b385c788884b2bd3371d0852b0ac4a24107a87f1da0e6fbbbbd0a25c9cb14b7f25b7432c8148a0c91f8c7616c7bee7119a8f9aa4da5291a820922ea68f2bd62c4300cab4d10a73db255b1aa33d523d774aba41fc5f26326220c8b3575520788c0476bb3462f73c61016c9349bb00c5c59b7a740044b639ab59253b49e23c8ee36676e015a93001a8c4c539f576c735068661c02026bb22ce5932bcab118827107a784ce94c2c89444a7b03a2386772d89106b49acb607abc86996a351b6b7f364e9a05c746377520d7a27a154f502042c388292394a4940c0470458726b76f39037e10821fb56b3e4f38c752f4278b8b1fc332a48da56cae9c56bd03343659b4abc262fee6855875ac2b8aabe02a352919ba6363c6e75a8358d3297386240aa80f0aa33b1a79cae3c9ce40f87520ac713bfc2dc9da6c5b2bab6443383279bc9f3433e4080c7bd5bf22306e4fba2a8ff0a1f7978bc6a7bb809664783c36ac81445d4964c8ec6e9616384c60636f6ac08aa1c23d182fe70034ff2390442190f8c2cd68c9892bb0a6fb29c5e3480697145b150675992137c5a16c507c96180a3129417d9e30815e30b90d05835b890cec789e3ec8ab7dec509919cfd670241250822c539fa2ca8d9d619e22f050744727bbec916289aecbf47bf48b9c6ed6ad5ee5745a865859253c84b39fb569147804112a0046e2149903fb5ae0e56a4ec2b44397973441394175bb675c3198800e1bc56185ca7076345ac1623ac0ac1f10f099fcf971feacb965482a2bfc585bf30647d90f7ba27cd76891ef5b3ef84b988f2a407f5552be77559d026e385627baea2debf3ae73e3cd1461b1d7f9ba55daab9c4bbca8045172cc8eeefbb36647bfeb033495986526cc2fdc6c7a39da80278182347a3330fa332e071d8f31321bf32f4507b16e328fa7892758f2948a1a951506222833c0bb68140495a7a5e942c6b17e674733ce754eab747e96d2a077e7024df77388b6bdb807744db74612a8c72011be7d8b0949c75cd1b6107c2422e30c1e577b3515556a10c1ba712aca7f6988b3873705257cee724acf431ca0f9961db020ebc784e4f27c6fbc062857015db28d64004cb41bb7ea3b5657e6b65200b3959c642b213dda13a1b25377c4a47c43dc2dccf3607aa02ca28a4067095f541b359e21b39004590ebba6d6db8fa461a1343b824d1373f872343e8bb605729b674c66f7e5c76b536539f06f919213cc14756ffacd5789a46e7c8ad789ba0f6237998487c1912e86b087c9388d3a6a9c18d505fbba2f7aa6168508b1c8702a2fc167f2202ac21ba862917f6d78971aa7296ce1306d2a1f2f06b8a3a214ed45765f6a05a7445cdea385ce7922e8006b549319cb38904f38a6f932304037c4fceb9647fb7ff9e9aff5dcc951aa3e4bf50c296b71259650b5047c94ea2696837e26aa1d18938851198928db1ea22758c6cac0906a995a022998a7a942626c2cec7a5fe83948d74509c61915819425120d9e6580c0a3776ad41a95b52b2e867b6d7242ccf281a241a88049058d8caee564224faa36c70ecd281b67eb98908468420b38f3c24da9290ea98b246c206507b89f46c6e9cd5e78b6cc78fb3677ee609cc090cf3782c876fd5f941b0f4dff8e56f68440836a072412a30d851ace2c7c6f02d60e7a8420001a63e6c6 -m = 5fc00f89563e44b24cd67d0ce684effe5731619fd08e7d72e2406eb016afb66b -ct = 8a61026b5ce2a0558882b991529775934dcbb7e0c0d25f0a1a29e378e5da5d7b66ea087ae4bf51fe9bd53d49928c197c651bdc3ef2a99abb66377e55746fb0bba0832ab4dbb389d510feff9ccb84bdcf88af7f9e4659402e7919f3fbce0192d54b68e3a0d0dcc800bccbf5c5f51596935c5634085e4e9e9aa07473420fb1cbe42d97d2c219c8901f662ab3017f63f69e4e75cc1739ef5b1092da79c94713cd29aed6538dea70e18b3d72deb9de7053ab5b0532d558f624927e1f44d6246f9f263ebbbf819b90e38e0b7da5f7d3d3071f2d438591f071c2d4382449a2c6b9569edbc15b1c0fd3ce21340c86a0c6de16bd8b4ae3ba5860d5f72163d7f85c48d688e95680ee48c4810cf0055f4fce4ea5a94379bfe5985c9b9a8395ad6a49371e4df437b5d211704e57e9548eef1e4f1f4ab6a91ed28e7432fb5262ab0f880898a0a25494cc1a6852b745de8665d3705588daca2c8f44602d80b30862ce36f032ddd1d35242ac4b1d8b2849128402f6333e321c85f894dae7d58794afa616a09ad388a07d89182126de43a0a1877eb5a1b5527cfe2aa0ac38c07c745ede3a70f1a4be268e31b15c491cf6c145a1debd70c2df335e4542c379289465947af1da941526e970bfd161a0bcb5ea7c33c4a00ababe1023d6c157b24cfad69447684207964177c7d460a646ec6bd8212bd4245d912ef032c5e12b416ef55846e7d59ca4d5fd9fcb40fc50fe3b89ae9286df735d4386f05f453f0bb20e71f92681d809f185365cc74798fc6db1e5642929f2de5f42b96dc307bbfe3fa52d9a3c6a0fe703e33a914e1afbda76e5871291596551236b4b3827872f2d40159ae3af892b0664b8765a514b94229932923dc9d5ec7aaf9db2de9e1c446e93a2eeeba1a5f5c6260b89fe3a752d0f740a4acf50469f784c697decfc4dca6d01bb9ec06e6d68328cd327edc45f0e771baa0f9e9f4f0336678a85a13d5d6454dd1dc9bb6248bf91c9afdf6ed9ce0103b19380c99faf87a996fca6faa8d294236cbfd1161a2e28469f46f57eb345c1e0a78af65a9dc3aa97140af8c5040eedf903c0e57ec54f38ae8cccf9912c86c01d999959240485bbec4a345687c27094610dc92946c8f676474cb203d0308f777c7b58820cbeb7c2f5ac1f5482f5c7ff9abf87d3edcb54437c314ccc598dbdab431ed9a30462c50b845d5c2d1e4750d8c70e901f93174aa752b27efe02ca63e6f4ad1cc1a250c334d30f92522c88ae87456231c8cbfbdee6f54bde17bfd6ccfd7a317ed313b2927aad5495075ffafb5b6c86acd398b9c4e5352b7fda09f4c479763d76876a5c117eef7ba34742c8554c14a9ed84c5b6cf0eb84bbd7e8e2ebf5c477fd5e5f88afb5830648dbacd67ec29656f48803844d49646aa0082c932ef81a5e7b8e54d7d13710b0e5a8b836cdabd1c6521dcc0ecae4d93654faea661d45e959b8b00a70d19a6f2796ce65c9486fe8a1baf4805a49ed50ba888d3fdd1bc72ea75d3e33017935bcb7f084af748ced89b4cf9dfde6b9b703cd5d17be0439a146dec9147aaf25b4cf83e4de4b0c499c68c2f587bb9cc9d98d0a93e9ac4908c816124d4d441cceb54b0cb40a0ed8fc040f6291b60a33e6a4d36b25229a1d2de05c0a8c644c93e2503676251ff7f440e4980d50a0cbc15df80b908a8b3e179643c2cecebf565ef5ac4fa8408989fbedd208638b7d8a6ae0416c135932476068502401199cb0103bce114708564b601b8384e7955e5d6587c8eb7bdaffec75209913490e002fcc6ad1a2427c55cfdbe7c14526f6b6a2087945f4fb11e45db4213f427c0d3ed211e389450c35874d71885a519cd8645a675f348216e90f56ee15eedf451b2d5148c074403b8aaf57756030cf848dd0f85e454f459c7b575b581a0a0c28daf9a013c33bde7650f817f6eab6d7138581fb8c4bfe42413a23f78f150ba5d847dc3b235214d2c6ff613a45e6bcb80d4a18f44071249501ea5bd4137bb9168577a7ecfb2a40adaea0f431f763bb084a6732035475247343cbd63b0aa835def78185a615fa11a16e791d0f75ce9a2c9ed66f095db95f65f4e995d07d54b899b22920f037148d1865c5ac7a0584eedc69f2f01abe8c722d2ada88c4e63bd2162297cd07e9290e088853ffb2fa4a05fe70b6f7b5cc53b4e7e1cb61181038f6863abe0f99ad19b2468bea2d542a4e276cb717b3c5486dfd2014a44 -ss = ccd0ae3af0a25b563080c0bb9b107c8ea0adaf8e775407915a0a12cb8279ab5d +sk = 5e484946337e3f4135d738b0862b69f7b247a5bb0812d56201300c53bb87b798b2b551ccea75a87f002d7de7878ed08e976a2cb62b4aa559bc36816e9690973f608b262612f89b5bc784365e33193fe9013c05818e0a7151297ea53c95089388be203071d0335535436c799f6d3aa3260a9c8c9c9e36f79f13135c3dab92914137c33773660aa15557c32b7a086a5a1cfd125dea60183ecba94da22f0f3a18dd2131bc792c4013b7bf84a7840c976c53117653c4f947839d8cb35538bb97899418688a9e062f9fc17d77450d85261aab01bd9ee77e917966bd26bd3d3990aabc8561cbaddc5a22f8c80d99453fa7350b2a022e4ca48dea6c9c07309543611abfc7cda76aa03e51acfdf0cc73921ef2d02f45990aee50ca77b93f14e4bef44576134391f7b67658e1cc7876713742267a556ea8f562bd858b24e04314b025ccb5be0650642a23460c3c65e0d6cb68232cff709204b7b7cab0741807100a712686b982f632095d7730dd9385a7a26c23741474e12cd8fc259ef346b5f287eb01b046104ef8415372b47da145ab0c5c1774626b5dea7d72db4c62fab14c03ca51384420690a799194e8aa05bb914db21956bedc948299baed7289c884ab9833c8669422adf51d4e1a0466056eeca478f11ab55ce2ce34430addc889044a5601357ea6a5b097b54252b046fa83c0211c236953954c36840e390d2707848c0b879aba2354ea200fca56cbb86c0c2269a81c790b966893f782aae9a4bd1b02fa85995a757ff2083fd26347c97711e07560af77cb59c7cd64f7cdbc880ad26a7bd7fcb9b210710e581c49453a3200ac08554a641068e6879ba6665ae9f281fc14c8fbfcb0cac0081c1a06db017d80048b324248f699825a489d0726893e109127a0ae802cca29ac56f6118d209a54cb842c9a8c539e43b9681cb868018c95d872c532a10a77bf52a796d33187fb8aa3fd780bd2c4b30fb7394dc64b0fe05b81128763a1325bd00eba411247b1c22a1146feba1b255c51f74999dd29a9453151bd9869e3d548347b93c1b798fe92a053b88c80d7afa5c561d31435d61251253b9a4c2b0f42830c81e990006dcebddb7002240ee8e276d4e31c2d249b84414f3997b9c4f5c0698cb2a24c48e3605f6d704e5db734ead12d62634dedc68ed6a1248273bad5ecac0651978b098ffcc148667671d4b59ea6095b0b363c31299e5b90282f914bebc66f6291338bb7600c8310b83963336952ec33854ed7c979b71f30188180b11bb66314c93242ecb890123c9f2aaa786acbc7dbf560cfc1625d06c3828998ed51b79d28c583bb38719706d1d67b9ba5a556cb9ee1dc4ff2c53c33969f2f97bb93056729f65fd90aa2d7113edf611c521761be671fe37baada7a2b4a114dd458a19966a2a42914d61b47aef5abccf8240c88af752b51bcd0a3788c2aa38aad8dc00d835476c8386dd3a8628b261f1d6b2b9f771842c97da7bbc3d03696f60524be6476430044f6a8aa48c22901f750dc55c1ea7813ec3518b26b3fd0657ea6fcb6be94c026244a0401593664673faa680f866e174143b0cc086fdacc1f7126c3e941f090332d8487d5e66061d5311c9b5c8edc39bdfc34948400a9a3aff3a85adc48b21e11b57f853985689697a591c5170b2766a18d18937ce92857a99095fcb6a2524bea122ef1fc8f6aa724f754832fc17c932388b728359e55800e3110c89b8b7b711aff4785259b3e1b2b0b886a057d71b035617ddc7c0c8b1bcdecd50a7135c8a68a2fa2f7b62b10baf6325da837368280102d7a7439d328f91b2173d8625d769a6ea936990299a02329380a85a818524f601b36e6cfa8046ed2f7c1b5c13260152aa34ca30e1887f2849c61b41649913138b74c817b2da9174d3ad4ca15653f768896837323dab2c18781a8ba793d54c9126df6a6ec044b7e709870422a8a1c030f238767c91d75185def8002c105806cf728897b382aa596dff7ac969a5cedb9294dca50ca1c74ceb7605e978722b148817964cc1159883a6dc5094f02a5767d4bb5df6304d3148bf009068a1b2e4df78bf021182e985982f4b2629c049dc26667746c4503ae0491728202ba0b55a8248c700484597bab32dae41607538bcc5c9dde4a198cb81ebd9c143eb9b612930da8f56fe3d8c02863c04cea9ec675bab636ac40ecb18567a8e6fbc63a52327520bb770a5d64349817a13cd365c96741726aa9107e9a4c04796dbe92061697131e728104c9c6ada26ebfc51632898564d89b2919438ca1308c53387604c162a424afaa2af9ab0c42b50cc50b3318a15738057c2f1806017a7bac76ba523acc1c66111d45c253ab299463cfce584ece769707a6b35d6114a8b92939a16d27a7be7f72b660f0b851e4950c20b33c074d307c8fc9b51454e41a96a8ac76cc30a568b4bc442177e7748e4b0f7d31201569585659b55deac3a6ca4dd264985df553c85c9ed07b61e6d58f2bf23a19a5740fc9b9bf18859efc79f9e9178bb542823a4fef94be8ca589abf740d7880380e78853708cb9220e5d0ace428c58a543acffd8333d2831857c3784090e3696a3b011683899ae31b40513e9589467a3cf2891439871a1b240fea31f2fb89956d9966ca204a598050beb2c36f9a6851820c87a5262a9cff23b1e7bdcc9d060484115568463b9ae44b33d7b6c0f46619299596fa3c3ebbcc15f37a7a3ebc9b42332f483708f7ab08e285a08759ec62aa06838c7ec103864b75ab25a013d7c183955884bd01c4f58cd410344396358bd6901a94228275c79a289b385c788884b2bd3371d0852b0ac4a24107a87f1da0e6fbbbbd0a25c9cb14b7f25b7432c8148a0c91f8c7616c7bee7119a8f9aa4da5291a820922ea68f2bd62c4300cab4d10a73db255b1aa33d523d774aba41fc5f26326220c8b3575520788c0476bb3462f73c61016c9349bb00c5c59b7a740044b639ab59253b49e23c8ee36676e015a93001a8c4c539f576c735068661c02026bb22ce5932bcab118827107a784ce94c2c89444a7b03a2386772d89106b49acb607abc86996a351b6b7f364e9a05c746377520d7a27a154f502042c388292394a4940c0470458726b76f39037e10821fb56b3e4f38c752f4278b8b1fc332a48da56cae9c56bd03343659b4abc262fee6855875ac2b8aabe02a352919ba6363c6e75a8358d3297386240aa80f0aa33b1a79cae3c9ce40f87520ac713bfc2dc9da6c5b2bab6443383279bc9f3433e4080c7bd5bf22306e4fba2a8ff0a1f7978bc6a7bb809664783c36ac81445d4964c8ec6e9616384c60636f6ac08aa1c23d182fe70034ff2390442190f8c2cd68c9892bb0a6fb29c5e3480697145b150675992137c5a16c507c96180a3129417d9e30815e30b90d05835b890cec789e3ec8ab7dec509919cfd670241250822c539fa2ca8d9d619e22f050744727bbec916289aecbf47bf48b9c6ed6ad5ee5745a865859253c84b39fb569147804112a0046e2149903fb5ae0e56a4ec2b44397973441394175bb675c3198800e1bc56185ca7076345ac1623ac0ac1f10f099fcf971feacb965482a2bfc585bf30647d90f7ba27cd76891ef5b3ef84b988f2a407f5552be77559d026e385627baea2debf3ae73e3cd1461b1d7f9ba55daab9c4bbca8045172cc8eeefbb36647bfeb033495986526cc2fdc6c7a39da80278182347a3330fa332e071d8f31321bf32f4507b16e328fa7892758f2948a1a951506222833c0bb68140495a7a5e942c6b17e674733ce754eab747e96d2a077e7024df77388b6bdb807744db74612a8c72011be7d8b0949c75cd1b6107c2422e30c1e577b3515556a10c1ba712aca7f6988b3873705257cee724acf431ca0f9961db020ebc784e4f27c6fbc062857015db28d64004cb41bb7ea3b5657e6b65200b3959c642b213dda13a1b25377c4a47c43dc2dccf3607aa02ca28a4067095f541b359e21b39004590ebba6d6db8fa461a1343b824d1373f872343e8bb605729b674c66f7e5c76b536539f06f919213cc14756ffacd5789a46e7c8ad789ba0f6237998487c1912e86b087c9388d3a6a9c18d505fbba2f7aa6168508b1c8702a2fc167f2202ac21ba862917f6d78971aa7296ce1306d2a1f2f06b8a3a214ed45765f6a05a7445cdea385ce7922e8006b549319cb38904f38a6f932304037c4fceb9647fb7ff9e9aff5dcc951aa3e4bf50c296b71259650b5047c94ea2696837e26aa1d18938851198928db1ea22758c6cac0906a995a022998a7a942626c2cec7a5fe83948d74509c61915819425120d9e6580c0a3776ad41a95b52b2e867b6d7242ccf281a241a88049058d8caee564224faa36c70ecd281b67eb98908468420b38f3c24da9290ea98b246c206507b89f46c6e9cd5e78b6cc78fb3677ee609cc090cf3782c876fd5f941bc30e299218d4a39c2ea3fc06439fc4c411e99bbc34b8f30d23845e91e71fef3c +m = f866365324cfdf8254ea0b73b7947496f9fd24bfdc562db4857ef5c659441cf5 +ct = 7bc2922a32740f3c7de466d7c13e6b0decc88ce74d0d5c8f78518830c5057c832e88b2fddea11d3f9355027b87bf03c90ca51bf7898259332ddb3e0f7eac87cf567842b9530bfdc09e3ebebd6862d0af47dd784b06bbd6c63a06df4ef8ffb7fb32582e0cb65fbcf0c0a3f561dff027d4434058b60ea8acab489bd241466b42daec05df638f379f82c356ce5ab8d7c93dc0b2b0268650b45ba6e6b93d554d754a85b380d3d2cab2413a1d879d13ecd7aa9abaf01821bf67b78fcd108e994902d8b7bdcdb9016033a94f968a9de3e84593d17800973a9d2e1ceab3d08a0e55930482df10b3bf6d06fb9cda46f072409e738ef224819b0a89739c6116cf1430c05ba0078d6f0ed3e30bc572e3deefa223c9bce2595acc751b9d1670195defc6a72ee7c2635bd737f38833f41ea5af8c99f3adecfff09e13f2ad84459d5c2b6952a5a6e3b00e965874317660aed157687fe64f4283988aad9a25e988262e93463a15a8bd64d489de27a999229018688aa620b305b51c4c20780aaba1a9bfeed6544f0a0283eca04be0d36f117f9e8cb5e961e3db486b22844c224c722f776fcd183ba22e3a9250d5352a782cfaeff1546a36952fa84e0b83fb98074019ff2af99bca08a7d045e1af3ed89b874529ea5cb0514fa370879f5d5af97be447ea86908d56a35c4d4ff3e955b6df5f40d1774b614dd7a73f3f2611a7cba615cfc94303576c3ee543f9fd35a153502d30852afa13a54303ea0ed46b7805503821d7ba543f122ba87937c4fbadbea35b168b4d28feeca931b868b81c582f987f05bac8675c74b73cbb7de7650e8a24d9e56965857614557007aa177289cf0f863568af66cf434933f7aa213e018ea22ccc22bdfd3a029b63d6fae8864879927a68b85afe49339ce68eddef269d4220b0f2b2b9c383c94c7c3ff9a31ec2b07a8c2418afdbd12d756ec7943348648fb87f362197ac4a1fc183e421139b8254063ca01d5751ef8c891ce6ffea1eb6d7a7df5d057d879fd5c287ec661ede82f9c99366eda6e5d74810cd101c555aa061170bd0936fd91a41df48aa1b267e5397f957a6afb6448342b6f497afa91d0b02d1d41a9366c633387a826f8f3436c274de74e294878f29ef58d108bd61baeb4d8a6a789e33cf7600713793322121aa0b5918c47871c9f8f69d273b0f99bb4a322a1670ac325c5a087e508fd14cf3e11b4bf42b4f35899687ca4bff681927e0af54528f91ce3e685c6462cca4cd98f5318a460a9617934109d2d9341eeb639e0bc5f80e000d64707ad7e22f060fb51716adaf910adbd10f38cd90f97204a5cda73a9a532570325d6aefae54f876b623b0b121084f82fd4da4bb19237462f81139bc7c392e9d3be7200c6f7df418abaf8747fb7bae49d0c86cac1821aa07768fce7d050a14b800696dc2473c7fd5f1f1cfb94674234fb169194f685a96dc1d1efa2c39a1f16f22c3dd8888442d61559a276a8a977be3534cb4902ca37ffcefdcad4ccdde14322f2a4584e255bebd76e247e46731e285b4469921cd747fe38eb92ea53a179b48bd8aa87a86ecf1bc6746ee8c196c733f2ff72cae6111af95b6004b415230deb63232281acac289a0c36265b8028bad57cc7ce35e9ff3534996452f349b2ca8024179062fe2ccc3bd855f3af8ac131c7ba465d528cf6dd426cf24250db096efdc864066d8ae63e5d73b7aff8e961f231c3404294f4919ff54ff10b4a124df113e8d9a25fcebdb4a7da7401a5c460c1aef737578baf81bf5c79720620f6c4b92eba51cc020036b9bc18006f9731bdd7ed8dc78f7d85b5dd27a404e005dd24dfc0b65a1ad6ef81141329d28b16fd1e3a6973f66df7772367b37ee2cd2dcbb0317885a2ae59a2f520e8fd8c1bbcfb8b6a06f4f6541a89315384f29355c53e3ddf0afb99c1dd83f0a36b6237f683d90cf1aaa2227b02b8a461f2c867542de55be8f48c6d55f0a5741ea11f15c920a746d4afc767bc3ad235fdd690022f24a14f467d9aa477c71ed8daee3f12c2e8ad390522a70c93d056c8de8605f4c755c1abec9d9587daad5162f27e2e5cb7b5ae9d2e6979fe991fbee9830f0bfc2cda34877cd0889e98c940706469f88a4a1ef7a6f2d646ea36180900c84c4024918e0bf4e152d987e9762d394351fc6961580164c3eab3219f5d9f495d51d54442be15fc6b520dd954fa646052cb16da05aac1f39ef0f6ed215 +ss = 223a0eff22d271f9bbe97b81a9454eff0e9513bc8e37f6d9a532644bae8fe60b d = 995eff7e0d195c6d0533f3dc194d47e60f9ad14696144cde694d60a95f3e96b4 -z = b28f7e7a15a005f92400ce33db073d49b53871594a88fc45e0f94207b5f0f2dc +z = a33923382f8863478882483037fb1282ff917eb6658a7154c6ad64b5858c629e pk = 10089c89021be2da6c17ea926bf636c042c59a1b79941c248dd3079f623095437766139de109c3346147d1f8a069b2316ed2606ca1454e364e9c43a80b0bae79f005e0ec3e006d1adab7bf69fa5b098166aa9520de263e25a36436d3a9783b96a763c9321727eb65a7207b51d526c6182c1d51372316cc0ddd946077a81f6487b34d68b59841ce41e779885027912c5d6271adeaccc07ddba319700694f927a374b794584de181b890f651043a1b391a7956477b436307dc8b0d0467bc05206074d17f560160774a8477509bf5a936811bb9acc179834a9d1106af0438148d076e4c3a7c70d7231dd475f06778eca68e40210859b092915782db538e650bae18537ac3f7a3e46bc76919af12bc47a3b67d0e44b91c82028eb18d99556abec2cf3aab979d125c137b75586b4d419758ff68229870869be755950100f9c2bf6d706cb9bbc5289489df8acf49046ea3d27fe7f0cf0e148286970010151a11b879f9035351ab10a536b6a3144a806b8fac1389f58b0395fc7ab90436b440bc9e66ae3c73a5e8e5ad59662286fa9a03e62c5eb100c9b63dccc74793080ce967b7d162438a492ca2815f56950d02aab7f12254d75c499840c5d662c0c10185b4ba3f84a91b37745d1ebac3a2440dd899619706756ad70468e1515d4c0a765942dd5a84af8a894cab90a724a95481285a160102eaa39591ad4e2c871a160be835012705598ee166bf2622bae3acaab37d4fda18997212b831b9b043082ef2b7b86423bdc15d2be82687c35e12c85fce726f340634c1107df0f50f3253764fe4cf0d294d27f28674f94ad16b7d03f91fa62a42ba154e35496e9b2aa884ab27b5332514c377f78a2fb5e7ad85d643ee94763095b2f2616bf87439c22a26c46287125bc7bac3aab30b1aeacccd25532b326983a37a623f0a2df3d7cb732124f89c37ec1881f2c5993667339d825b68908cc7923d02c55e7f967d3d3b8d01ac87128b85c465b285d60869290a78b40d48d9c39e92c298b313eab8a8b1607b6da8c22967ada0294696988d5d251ea0565c84571914156feb5820e5ea145f411f5ff64b587a99b88cb08ff4270cc89573d901cdd5624c0a2c3a654b99a0bf602acfdd15c06d69077aea18e73ca0c2e650751a68b659a568c2742b626d37f775d2b9b66da7a331cc4bbc087866b596b7b55c600864595743e1b363ce38bc1e12041e056ba02bce42d9ca15f5a241db89e2510469762690d270d1e16cfcb92f715975f68b44e75bcb98e521a5c2be1e4a2e5ef07bce98bf8bdaba631433c5a96f9fe7782e756b8e54714f0466fbd00ee503966c8118a1993910c6ad99511da8216431b26aa7b09a5f304201acba84670714c410e21a2d4517a0a1f139304a6fe9c63371f65d43b095b16040af3ccc487840cc41a63bbb6e2dc49731013ef885b0e3ac5e2ba78d19265b3f36c1bdec49697a48252a78d7c4cef33b176f31104a3185dfa62404dc4a771877fb94656d15c43142bbda1417a7c69996681a0c69b2d7395e694c4ade0a5886d28f207722855a30273c91e2c19a2b40b62a554f1ef9c282b51015504c4b84714a99a3ef33504429976c2c036a9782b0f2be79924d98700d6c066015b10c03db90844b7d4ffc14b49ccd5680b1c1d9c15ca935404737093c20a05461c45abcb81c6a19b3a0abc168356882b8ec3549836faaf354d3b60d1a5290a883ab1e19b9493c26113b3d03b8c3fec053bbd14b4be12c80ac412b6bc1328a4fa5f1a3f46bc4bc685c7da98533422aa2a8c9822237f62c969ce064ea0402cc656a88c39ddf221e3d6a52ecd38f160a3f71c281a02a24beebbb1c6c9025dcc51447a7f5679fb0e382854a29d8088b5fa11c59c439eef92f869c4fc8b66ac7656c385c0983b07aa98a71abd2b576212fbbd14b96b19559a6cfe5dc1f3549436a4263bd9b8a185740b4eb16e09184dfbb07ffb7266c275438e13208e4a2888b63fcca6cd8b5abbc14769bd61a74f34627b896f1e85c03202f4d58932c183d7cb4a5548cc540a32aa9c558e9889e10d706a809aca75218740bb6c39761bcb0bb0c76725eb80bd5a46d074864dda334359b4d4dbc7c8da2b413dc20a1201ae9e7acb49c905145307ccc92fba03c02045c9632564b68cdc1e9527b239c1f9a7f72358949b2ac4074721445e155a3a1624cb4aca373de6947f148ca7e2b3c93605e706eddd992 -sk = de4627135b3976b8ac07c0059bb28d09e98e3428228c1786c2e8a1d6029d93cb9eed217d09b03e9a7561af7441e4271c7b6c8c862c5a93e955a05a87b01a63d9e8a334b26e1fc0346051bf31d078860a9afe939f4a90c2a395b2b6c205475164e36a0c2930cd26e26420470b0d068e36971a978b17be984a418a3cc5c6b62ab00d6dca5657f71e08b215edfb88a5b6751eaa525dea4b0bd41430388e0cfb445da3347eaa375b86858f19c81b73a4bf88c2f807638d808f78535b9fc6c6bc0c1402e16f0b784f9a22a30e5c6c1932c2063bc558a7b2636c76d5c0cb77e6c5518b3b31d920a23b2bfff3ab93fb03b3386f670b07655989c5185d5d393631e9acee701dad333379a63efbcc636bf2b4fa05b84a375559079c5909651e481da96b01a771befc7bc407db7d9f94b819a468d443a7aa8c9b4741266875268602336c1b1160a4ce5d41c57fb915335c87a72a7345316373d921a6d0ca09606154199c4f06c244a7c568bc5d82449149f92ad3350b51d3c474e77a3a1053160570c876132434aedd92c8961b95588910102c62ae1a75479175cdd666ab85478ebb6133920e9154441f1383b0f147137614dadc823f1848fa478b1f301d3f745c647c216c741dfd3b3195483f24f1a5313cb458273ffeb559689004cd534ec1369b0c68a873651f7413037118c6f98c538dab9c1ec649ff2301a03a650cc0c138e79d15f9079a639737e840a7dc720b173bb329a34cf65418495e4df2805a491a4c96b47d452725850ca8eb3944399f9d14157fa46b76f0891525461113766dc025ee1c2e735198c3db253a2b8a566cacb81b65a1c9473c6c6da9743d780685cf83cebb441cdfdc9fba20a9ce2943759c4d08c57a0e74bb0e1888e94723169437aec19aec1a2a46c81ae4645de32bb18f3527f4dcb8221a0f7be74f3f5a8cab0609be216465819fb858232b008a855c9e6b54439a67aaffd9701967bc46a274d1d6ac1d45cee7c54cf49669e89a44ffd7b73b2a12327a85bf5938e6975b949c03ef3a1d824ccde033cb175a3356c8a998e4c69d94630a896606fc1979dcb5c172a54eea2e99d5ae331bc64d708fae45c514a2544843ca59c3c122947bc3660da7357ac0e33f55485e79eb3117d14c42ec5c56653e0dd1a4e8205fe571823098ad8d9844a25b92238063a92040c500cc0bc2b25b493e4cf69de95c87b03b773a796d13f42014847727345888eb06d9251aede24d03e292cb452a3a38a0a461c8b4f9cd9f87b09bc0ca98e62e5027595c24792f818865777a346004fe3b5b587452648263aaf688154526d591acadb74520f3627d7395ec7b71dc3c6e8414985d591a05c88b6455870c48b12c576d7b328b88795295c051ca6293b0fb4dc61ab8ad34cfb114a4c7e44ab4667d4b1948c83c28baa424b19370afe997d8b08e447a2eff376024f5ca54dc8ec0972b96f057acf5a6b0d32869fab3e1797ee2571b1620a076082c4ba6799c27b07fb073092a7a2f7aa110635cb94900e487a6664b318f54956039c57ce509ede489faabac96cb11f58c87708a8ed3408a526701bfb8507d67415fe64e7d41081ac12c21f3092af02810c604f02c4064e348b4f98f6be65d87650e56e7667cd5179c347a894b5a9da3a3a413c2d3a23e5dd0c7dc841e10e4a83b3bc0ead17b5983a57821489dca73d1656e97632beb9a3aac017855a74f5f393eb5e42c96a207b06687030b28b5e09afd66225ae892200969ce41420f960e44963f634bb9f69c7c4cc2849f258040257def4941d9b54476d2ced88799140807531b817dbb1b2da7a4477abd378155da169a84086150ab09ac8a980fc14db247b3a76723fd67701644bf72810394b0ac77e74bf94416d866489cfc286da29d62c1947be88a0cb78aae94610d48738019768df89b38198258dc7f70d62a3fa72479b9aaaa4a84259837bfd4872d8c708d478a0e674a66da6cff330a6e140577c6acfb83cf4eacc370ec57fa76c76c765c39f5a07b8b1a244265cd03ae02433d3fd438d5a885ea03808c6196e4a3a459ca6d6b456a6fb961fed58ec0d353ad36143c841cc8a0390fc55f35d50400156398020051a10c22c69207fa839e12750cf0a5ca404c6b5344b9671e6e15502ba17c37872a9bb390cd379281651047fac2b6d20010089c89021be2da6c17ea926bf636c042c59a1b79941c248dd3079f623095437766139de109c3346147d1f8a069b2316ed2606ca1454e364e9c43a80b0bae79f005e0ec3e006d1adab7bf69fa5b098166aa9520de263e25a36436d3a9783b96a763c9321727eb65a7207b51d526c6182c1d51372316cc0ddd946077a81f6487b34d68b59841ce41e779885027912c5d6271adeaccc07ddba319700694f927a374b794584de181b890f651043a1b391a7956477b436307dc8b0d0467bc05206074d17f560160774a8477509bf5a936811bb9acc179834a9d1106af0438148d076e4c3a7c70d7231dd475f06778eca68e40210859b092915782db538e650bae18537ac3f7a3e46bc76919af12bc47a3b67d0e44b91c82028eb18d99556abec2cf3aab979d125c137b75586b4d419758ff68229870869be755950100f9c2bf6d706cb9bbc5289489df8acf49046ea3d27fe7f0cf0e148286970010151a11b879f9035351ab10a536b6a3144a806b8fac1389f58b0395fc7ab90436b440bc9e66ae3c73a5e8e5ad59662286fa9a03e62c5eb100c9b63dccc74793080ce967b7d162438a492ca2815f56950d02aab7f12254d75c499840c5d662c0c10185b4ba3f84a91b37745d1ebac3a2440dd899619706756ad70468e1515d4c0a765942dd5a84af8a894cab90a724a95481285a160102eaa39591ad4e2c871a160be835012705598ee166bf2622bae3acaab37d4fda18997212b831b9b043082ef2b7b86423bdc15d2be82687c35e12c85fce726f340634c1107df0f50f3253764fe4cf0d294d27f28674f94ad16b7d03f91fa62a42ba154e35496e9b2aa884ab27b5332514c377f78a2fb5e7ad85d643ee94763095b2f2616bf87439c22a26c46287125bc7bac3aab30b1aeacccd25532b326983a37a623f0a2df3d7cb732124f89c37ec1881f2c5993667339d825b68908cc7923d02c55e7f967d3d3b8d01ac87128b85c465b285d60869290a78b40d48d9c39e92c298b313eab8a8b1607b6da8c22967ada0294696988d5d251ea0565c84571914156feb5820e5ea145f411f5ff64b587a99b88cb08ff4270cc89573d901cdd5624c0a2c3a654b99a0bf602acfdd15c06d69077aea18e73ca0c2e650751a68b659a568c2742b626d37f775d2b9b66da7a331cc4bbc087866b596b7b55c600864595743e1b363ce38bc1e12041e056ba02bce42d9ca15f5a241db89e2510469762690d270d1e16cfcb92f715975f68b44e75bcb98e521a5c2be1e4a2e5ef07bce98bf8bdaba631433c5a96f9fe7782e756b8e54714f0466fbd00ee503966c8118a1993910c6ad99511da8216431b26aa7b09a5f304201acba84670714c410e21a2d4517a0a1f139304a6fe9c63371f65d43b095b16040af3ccc487840cc41a63bbb6e2dc49731013ef885b0e3ac5e2ba78d19265b3f36c1bdec49697a48252a78d7c4cef33b176f31104a3185dfa62404dc4a771877fb94656d15c43142bbda1417a7c69996681a0c69b2d7395e694c4ade0a5886d28f207722855a30273c91e2c19a2b40b62a554f1ef9c282b51015504c4b84714a99a3ef33504429976c2c036a9782b0f2be79924d98700d6c066015b10c03db90844b7d4ffc14b49ccd5680b1c1d9c15ca935404737093c20a05461c45abcb81c6a19b3a0abc168356882b8ec3549836faaf354d3b60d1a5290a883ab1e19b9493c26113b3d03b8c3fec053bbd14b4be12c80ac412b6bc1328a4fa5f1a3f46bc4bc685c7da98533422aa2a8c9822237f62c969ce064ea0402cc656a88c39ddf221e3d6a52ecd38f160a3f71c281a02a24beebbb1c6c9025dcc51447a7f5679fb0e382854a29d8088b5fa11c59c439eef92f869c4fc8b66ac7656c385c0983b07aa98a71abd2b576212fbbd14b96b19559a6cfe5dc1f3549436a4263bd9b8a185740b4eb16e09184dfbb07ffb7266c275438e13208e4a2888b63fcca6cd8b5abbc14769bd61a74f34627b896f1e85c03202f4d58932c183d7cb4a5548cc540a32aa9c558e9889e10d706a809aca75218740bb6c39761bcb0bb0c76725eb80bd5a46d074864dda334359b4d4dbc7c8da2b413dc20a1201ae9e7acb49c905145307ccc92fba03c02045c9632564b68cdc1e9527b239c1f9a7f72358949b2ac4074721445e155a3a1624cb4aca373de6947f148ca7e2b3c93605e706eddd9920560200b8d070d1db2cbeedf3cb322ebbab3edb80cf474b4178633c210b2fc74b28f7e7a15a005f92400ce33db073d49b53871594a88fc45e0f94207b5f0f2dc -m = ea22a76065db4b565ee1807fbd813b43bde72b0e08407fb867c6a18995025e50 -ct = a7729e048c9b11222b310632b461eddda0bae6da73cfff6f17c48408b2b5bd0094c1d0551c2c77c46f2b5307f4a0119fb88de780466d953d2d14ccb3df3fed1e66ec8c98fccfd59eea5ede3e761d51c6931af686f26d8b3f218d378f0e63348e41c807c1fa81f4c01b7c0e21ff9f5534b2eb1535527249eb84eb3c25b6165b9fe60dfd7ce708758f66a78126a6594a7a6a6448fe426393f299a802ee10c06c3ebc45e6c8c55224b32c58e56c17fbd1c89ead3105f0ebde5606bb5b93f5a9890cb7b68b8614a2c24a8843a74d92d8b7d8f8d8a4220464e4549aaf113194b6109e0de3c2f50d9a1704051609e4e01ec940bafac8010c73990dfd837dc083767683ee0e2f14731e492e8e731abda5487f32535c6f38e40dfa14541132c246d9b31b3534699f7acd43ce0168e345cb35693f4554e7d4bfe2ba71278070c7530e8a920b363015c7159bd7476d81727824a44b994c247569011ee593d114523e7e2f22c0fd363e1d8c103e4b57200e23652fc6da92663627dde29f7e8f01bb5960ab6e786c4f89aa4468aad2f046289a084a079993fee4b773eb43cdce60adbf20bf49ce9b8d22fffbaf7dd2e2fc5718006cf7cdbf4876058a5edf24801f7e00634a187c4457e69908194c1c652267bb8cdc798498182cf73a5d12b4b0b37aba628705b8dac0082bc58497818567bf54a2360026eaee1ceac34ca3945e24d8ea0d34439ab99287f2415200017d8be7f485a3cf0227f06caa73789f4920f9cc8659b9462a9fedd59c4d9233af1518be2c2605b260e42b2885a0bb4e77840470faaa62186408d08e62737ffacac3fe8f71d13332119e1ccfe68bc2a0fa5aa0d29a5cb28ce826df24fcc4c9c0993ab62caa969c91008bde7a10ac0f074759324f094fd0b46d132d93db00fe4dfa1e3774441560377b0620b920c67edc4b8eb729fbd1aa09907ec9b4b5a1d4626733b548d8c355da1eeb1b1d83865294f9d0ba2e874ef475135b71a58e5fa355bb5d8ea4fde11667bce73b5a12560edddce98c9705141d2aeda1585791a29f852bf366d39485e0a1739e0d6291e52a3c1ddb9a489c768c19325f94c9e52cb3310b8d02b7625f98f284e59dfc126e0950f2cbd974fc7cedd3bc91b2645ee7d939b32b0203a1b3950a849f7f020f97870a12f4191d482121d2400b33e4063c037cb4eec6aac12002b9a1cc4b6e6f48a393c4b62bc2e60c81b44e8d585536f1ecfbd0a5d349e49c21b22462906fa9e1fb00b5f54e56f60d42f59b579db3f0839283579aec2928190bac77a2b53d07959fc1f9c1ee3602e21f9ed5210ed2eeba0349f3edfec20b73d151a7667f3495a0929408c5bde81e5832b502e0b8221f1786255487aee67545394882065d14a5fed9e83b32c395f80ac9805796cd83d98ae12127993ef4234d2aa7a1b0d1056460a4e7492cad4d0cd644fa89780aa1a97b64d66a63151c34e1a7e5a47c82b5aeace7f55f3625601ab5a420225bdd671d184d09e65eab5c0ed8ad72fb12a175c78ae18e2b431496f834c3a34fd3c62eb5748d67543ee0aa9fef7a5f093e4df1df9e511a1819c4b87321db03ca01533c9e2802534d5b01ef73bed828ce632fd3494e37dc5904eb7519c1771e004c8ef312c9c9354410fa38be45a4693930cee0a295a2c8e0cb347060b58a5004f6ecd4de4d8a2e2785aa1c3dcad78fc70d2c45b38770a7f94a3a28dd3bb487b252398303e2da958693615bc6aafba899337f843f4705a74e7b6febe32c734850716c09cd84eb6d0a6206974d9a586f4063582a0a97d29d4678dc6a992d18505d9074308c6413c65d5988fcfaffbf151ccb69d872538467aa603b414d6f599ad9b4fbfabb4a595dbb22b6a394248bc7c82cbbc6d3444c447dae99d9bd3f11300168c147f7265f89b8297d9e5d6085b058c53fdadbe3fe886e9a159ad22e2af7d753593ccac2eae2710b782a957e2173b7ec9e3890e2ad5bdd40c593978b4437b0ef85790cd6474dd2f2a7f00d8fdcc0da8a1443c4a804447222c261d5ea0519b8c250f5eddb53c741c96b4b4618f66d8db52061fbe23a6ba63e501e61ba723b889fb3d9ada759492b9a3b31ed4736f871c389becfde9ab62f243190545941ac7c72d231122f5328227979cb53fa4173f19cbb2e32f7db55829f85d816ed1d31c1685b29b5c721fe933e544fed651cd2b42ee8b30a61ea86ef4c323133a6a4e9 -ss = dac2c554310dfd43c22fd2c2e1b26892f169c18eca56c7fac335385910445fb9 +sk = de4627135b3976b8ac07c0059bb28d09e98e3428228c1786c2e8a1d6029d93cb9eed217d09b03e9a7561af7441e4271c7b6c8c862c5a93e955a05a87b01a63d9e8a334b26e1fc0346051bf31d078860a9afe939f4a90c2a395b2b6c205475164e36a0c2930cd26e26420470b0d068e36971a978b17be984a418a3cc5c6b62ab00d6dca5657f71e08b215edfb88a5b6751eaa525dea4b0bd41430388e0cfb445da3347eaa375b86858f19c81b73a4bf88c2f807638d808f78535b9fc6c6bc0c1402e16f0b784f9a22a30e5c6c1932c2063bc558a7b2636c76d5c0cb77e6c5518b3b31d920a23b2bfff3ab93fb03b3386f670b07655989c5185d5d393631e9acee701dad333379a63efbcc636bf2b4fa05b84a375559079c5909651e481da96b01a771befc7bc407db7d9f94b819a468d443a7aa8c9b4741266875268602336c1b1160a4ce5d41c57fb915335c87a72a7345316373d921a6d0ca09606154199c4f06c244a7c568bc5d82449149f92ad3350b51d3c474e77a3a1053160570c876132434aedd92c8961b95588910102c62ae1a75479175cdd666ab85478ebb6133920e9154441f1383b0f147137614dadc823f1848fa478b1f301d3f745c647c216c741dfd3b3195483f24f1a5313cb458273ffeb559689004cd534ec1369b0c68a873651f7413037118c6f98c538dab9c1ec649ff2301a03a650cc0c138e79d15f9079a639737e840a7dc720b173bb329a34cf65418495e4df2805a491a4c96b47d452725850ca8eb3944399f9d14157fa46b76f0891525461113766dc025ee1c2e735198c3db253a2b8a566cacb81b65a1c9473c6c6da9743d780685cf83cebb441cdfdc9fba20a9ce2943759c4d08c57a0e74bb0e1888e94723169437aec19aec1a2a46c81ae4645de32bb18f3527f4dcb8221a0f7be74f3f5a8cab0609be216465819fb858232b008a855c9e6b54439a67aaffd9701967bc46a274d1d6ac1d45cee7c54cf49669e89a44ffd7b73b2a12327a85bf5938e6975b949c03ef3a1d824ccde033cb175a3356c8a998e4c69d94630a896606fc1979dcb5c172a54eea2e99d5ae331bc64d708fae45c514a2544843ca59c3c122947bc3660da7357ac0e33f55485e79eb3117d14c42ec5c56653e0dd1a4e8205fe571823098ad8d9844a25b92238063a92040c500cc0bc2b25b493e4cf69de95c87b03b773a796d13f42014847727345888eb06d9251aede24d03e292cb452a3a38a0a461c8b4f9cd9f87b09bc0ca98e62e5027595c24792f818865777a346004fe3b5b587452648263aaf688154526d591acadb74520f3627d7395ec7b71dc3c6e8414985d591a05c88b6455870c48b12c576d7b328b88795295c051ca6293b0fb4dc61ab8ad34cfb114a4c7e44ab4667d4b1948c83c28baa424b19370afe997d8b08e447a2eff376024f5ca54dc8ec0972b96f057acf5a6b0d32869fab3e1797ee2571b1620a076082c4ba6799c27b07fb073092a7a2f7aa110635cb94900e487a6664b318f54956039c57ce509ede489faabac96cb11f58c87708a8ed3408a526701bfb8507d67415fe64e7d41081ac12c21f3092af02810c604f02c4064e348b4f98f6be65d87650e56e7667cd5179c347a894b5a9da3a3a413c2d3a23e5dd0c7dc841e10e4a83b3bc0ead17b5983a57821489dca73d1656e97632beb9a3aac017855a74f5f393eb5e42c96a207b06687030b28b5e09afd66225ae892200969ce41420f960e44963f634bb9f69c7c4cc2849f258040257def4941d9b54476d2ced88799140807531b817dbb1b2da7a4477abd378155da169a84086150ab09ac8a980fc14db247b3a76723fd67701644bf72810394b0ac77e74bf94416d866489cfc286da29d62c1947be88a0cb78aae94610d48738019768df89b38198258dc7f70d62a3fa72479b9aaaa4a84259837bfd4872d8c708d478a0e674a66da6cff330a6e140577c6acfb83cf4eacc370ec57fa76c76c765c39f5a07b8b1a244265cd03ae02433d3fd438d5a885ea03808c6196e4a3a459ca6d6b456a6fb961fed58ec0d353ad36143c841cc8a0390fc55f35d50400156398020051a10c22c69207fa839e12750cf0a5ca404c6b5344b9671e6e15502ba17c37872a9bb390cd379281651047fac2b6d20010089c89021be2da6c17ea926bf636c042c59a1b79941c248dd3079f623095437766139de109c3346147d1f8a069b2316ed2606ca1454e364e9c43a80b0bae79f005e0ec3e006d1adab7bf69fa5b098166aa9520de263e25a36436d3a9783b96a763c9321727eb65a7207b51d526c6182c1d51372316cc0ddd946077a81f6487b34d68b59841ce41e779885027912c5d6271adeaccc07ddba319700694f927a374b794584de181b890f651043a1b391a7956477b436307dc8b0d0467bc05206074d17f560160774a8477509bf5a936811bb9acc179834a9d1106af0438148d076e4c3a7c70d7231dd475f06778eca68e40210859b092915782db538e650bae18537ac3f7a3e46bc76919af12bc47a3b67d0e44b91c82028eb18d99556abec2cf3aab979d125c137b75586b4d419758ff68229870869be755950100f9c2bf6d706cb9bbc5289489df8acf49046ea3d27fe7f0cf0e148286970010151a11b879f9035351ab10a536b6a3144a806b8fac1389f58b0395fc7ab90436b440bc9e66ae3c73a5e8e5ad59662286fa9a03e62c5eb100c9b63dccc74793080ce967b7d162438a492ca2815f56950d02aab7f12254d75c499840c5d662c0c10185b4ba3f84a91b37745d1ebac3a2440dd899619706756ad70468e1515d4c0a765942dd5a84af8a894cab90a724a95481285a160102eaa39591ad4e2c871a160be835012705598ee166bf2622bae3acaab37d4fda18997212b831b9b043082ef2b7b86423bdc15d2be82687c35e12c85fce726f340634c1107df0f50f3253764fe4cf0d294d27f28674f94ad16b7d03f91fa62a42ba154e35496e9b2aa884ab27b5332514c377f78a2fb5e7ad85d643ee94763095b2f2616bf87439c22a26c46287125bc7bac3aab30b1aeacccd25532b326983a37a623f0a2df3d7cb732124f89c37ec1881f2c5993667339d825b68908cc7923d02c55e7f967d3d3b8d01ac87128b85c465b285d60869290a78b40d48d9c39e92c298b313eab8a8b1607b6da8c22967ada0294696988d5d251ea0565c84571914156feb5820e5ea145f411f5ff64b587a99b88cb08ff4270cc89573d901cdd5624c0a2c3a654b99a0bf602acfdd15c06d69077aea18e73ca0c2e650751a68b659a568c2742b626d37f775d2b9b66da7a331cc4bbc087866b596b7b55c600864595743e1b363ce38bc1e12041e056ba02bce42d9ca15f5a241db89e2510469762690d270d1e16cfcb92f715975f68b44e75bcb98e521a5c2be1e4a2e5ef07bce98bf8bdaba631433c5a96f9fe7782e756b8e54714f0466fbd00ee503966c8118a1993910c6ad99511da8216431b26aa7b09a5f304201acba84670714c410e21a2d4517a0a1f139304a6fe9c63371f65d43b095b16040af3ccc487840cc41a63bbb6e2dc49731013ef885b0e3ac5e2ba78d19265b3f36c1bdec49697a48252a78d7c4cef33b176f31104a3185dfa62404dc4a771877fb94656d15c43142bbda1417a7c69996681a0c69b2d7395e694c4ade0a5886d28f207722855a30273c91e2c19a2b40b62a554f1ef9c282b51015504c4b84714a99a3ef33504429976c2c036a9782b0f2be79924d98700d6c066015b10c03db90844b7d4ffc14b49ccd5680b1c1d9c15ca935404737093c20a05461c45abcb81c6a19b3a0abc168356882b8ec3549836faaf354d3b60d1a5290a883ab1e19b9493c26113b3d03b8c3fec053bbd14b4be12c80ac412b6bc1328a4fa5f1a3f46bc4bc685c7da98533422aa2a8c9822237f62c969ce064ea0402cc656a88c39ddf221e3d6a52ecd38f160a3f71c281a02a24beebbb1c6c9025dcc51447a7f5679fb0e382854a29d8088b5fa11c59c439eef92f869c4fc8b66ac7656c385c0983b07aa98a71abd2b576212fbbd14b96b19559a6cfe5dc1f3549436a4263bd9b8a185740b4eb16e09184dfbb07ffb7266c275438e13208e4a2888b63fcca6cd8b5abbc14769bd61a74f34627b896f1e85c03202f4d58932c183d7cb4a5548cc540a32aa9c558e9889e10d706a809aca75218740bb6c39761bcb0bb0c76725eb80bd5a46d074864dda334359b4d4dbc7c8da2b413dc20a1201ae9e7acb49c905145307ccc92fba03c02045c9632564b68cdc1e9527b239c1f9a7f72358949b2ac4074721445e155a3a1624cb4aca373de6947f148ca7e2b3c93605e706eddd9920560200b8d070d1db2cbeedf3cb322ebbab3edb80cf474b4178633c210b2fc74a33923382f8863478882483037fb1282ff917eb6658a7154c6ad64b5858c629e +m = 4c25311d7b2fa56a45f4ec1cb4591c627b52eed4d2409ec70ebe855d988893d8 +ct = 548a3367cc4e8581e7d3bb565cc1458605da439e65b5b3b5ed1570c6f813196120b2e26aa4ebfcb6259b77f6b1e6350b20087e423fed1fa7abd55bf832d750e2649910c2352a37dda958aad18ab7ed887d649d4051116576f5dab6ef2417aa5f5b7e0ba0fb0e92b5451248c9290e114551b79cde28fd124dd97ef7f928e1a80e8199580e624d2ba1f8543bf1f145990deef81445c5993e2708879757d57d80c3a4563db9838f62ef7afcfd01f56c2f3df48607c4e8118de83fbbcc4a02173b7e478a53cbc74ad92fc516dbc4824e5f0984cf49f75bac04e0bef1013923058812dbe15fbcd2a643b6bfd0ab92f25b1fbef640dd8049244a25239a3340d3db729a9e1ad1390d7cdc7250c05fbf7e722620514d39755bb4dd43d74029024fca9e5d3ad462acfe19954ceeb1e803dd7a43b5f429694c01d396694425667df1fcfa8ae69ebc080673a356b95c8a907a2bfb4313a062236e67f2f7281b965cc4a55704ad91d22d77453086ef7d668be3321ff6c7f70015e761aaddbad1010793a3acc1c7a10e3b0d4c1c4e8a85b59c5f28126016366eae7458710f0e843ec1231261b39e540fadc8e5f4d695214a010097757fba2330910e29a1a5040eb926fbe3dcb228b14166963fa5d51878d425d4f091a677dd029de8f298987d5292336567aa2c51919f6b3d45bce6a718e280bce385b51c9ed347babaf186b254e8b89684d525b7603c8ee37318ed2491ddc9a46c8f3c112fcbe8d8c6a9f7f6132bd098e5f717ecc472daa7a70c22396500ac350b4c2d054c093a8f80ba6737cb4833bffcfde86ba314249537db669f7eefbfd52a7bd208bc4bbb47a0e39ef22d079b7facbda91e177217a3ba12d0d16c1313036db76dbd677453f57241b5c66dc975e9b0a7f947667e3ece5d5be84f34eafdbd23a4c6808675ca22aa7b4630d8d228fb8b9eb95f5d4c09ab2d7c93a7c501b57aa13c20a72beeeee6ade4650feacb673f3fc7c66dbf74cd3961c27772ab360e4eab496b2c166429eadb429177c06c98a10e0e59691097ac3dea92f48c84b7763ba4511e6267effbb8369b58d1276b133d6a2eddb6eaaa244a68b601b62ca108cdd9c01addf378904e33a3b3db122851d64d31a9bc6adba34ba0a3e7e6f968f62d1cb2bbc727b8b7730734b37f7212d58ba2cd6c247d573785438e27c47873a5289f6c8f77e6349c3836cf47f30a64549531d5e794863dbb22d0f51118e12831898739a988b5c7b6b83cea126b9b84ec008e174f01d0e598dca1c171f6d58f01686125a588a5753b6c3b6aca64bebb81c2f214722f2624692d104036db1ed248247d597025482b4fc5bc1813064d441f4fcd751d26e200cab6e0fa072a87241a482feeed22c061d9a32e0cbb9fec2ea3c99ed6b2c839fc89a83a3ab2999dea24f69c9bf5ac3f392e7f19384b573273975c7847a11d5c0a1305cf3dae96303268e096f7bc15eacf287035ab5404c0a608d1823bb7130fbeda6fb5bb8b774d8b292e11fbbf4dd9737c4df0e0018db688119a19ff3a2255f436786e1b175c90830ef882ef040c0c4431573bd02286bc9872161b29eab31306281adc25a8f2a6923b7dfa89bdef7a2263dfe457ccf2f816beb3bb7716ff021bf176d67bb2ae4d8e80745a35627fcf9ad83e81a3a03f8a1bfc2e1d8345cde4921e6fb90f95d76847e2b1ed299860f400d628ea59975ae43478453794e2d4b15f6aaf197a0c9a441ad40ca113b90e260f34d50bb003a8dba78e3a15545c2a2adb8620c1a55182fd120dcb1da366695c91215687c8f540b37c2ebf81c7b4bb325906a248e72a63c0ba3a5891468c817e0f0b6fbf3028fa45b5313df0b7b27477190d0f42f24a6843e2555a28eea6a9075edc64c478347e8dd3fb2810e62686e9c89e4e50ad803bca616c9ed701814a620908d67dca8b6aca709c23f5e6022a60e189d3cdd87f3faedee2f44b080c656e53287ddd20fec52dd6f2f64401344523d09a9de2cce1737e63a14295336119817d157504b3082fca7cb9d3c24721257e0c8eb2e5a72a3a9b52553f876f971ea66e2adc506c6b61ab7beb47e40030ad7130bf6e0c22b67b4fa45c34f26bc6d51b79bd58a6dd8c4cffc13120945f1b0e125b701d171614971154bbeff167a628c052392d8a08330b099ec00dbed6a35b3ab3b0be155c2227cef9700e3b2e12038fb9f581804ebbbea71f468c94a73e +ss = 5d444c7798331d19a14766e62a9719a4b19b6f96fb298abfc6c097e5afc56a1b d = 3e809ec8dd0fec0d911a4e3fac20f70fbb128c5de94dc7184ca7310ae9157a98 -z = d8128601c28b1def8d393a0db283229f7c7383152a814e7cefe8ef9d9768c473 +z = 7b2daf2ea1f1011c4bd04208e9e90b9c2bbe2d8b96a1565cd1163966f5337e4a pk = f2810baed633638b1737b5ab13fcb47e181e6cb86c69301b77b85e2c64305f1584e370934a02aafdd27c972cb252b95d01d6b6ea9a52107aa9ad68a021b3bab723ab9599544ff08a4a13643e181db6c752a8a5c948d010e8743ecc064ea034444f3a2b207bc3a0606600358907708bc87016261a61b1547bcc8421c009778ee31598d47a48d3a99e9a24ce230b9568cbf4bb61d9a0aa512b282e2506a51b0fe92507bb7cb044e93ca230b6d9f97cfcf31b9055c9775419684aab2609a1e11b2b354223c9761f7d6b5b02a16f72a9910f7ccb63263e1e45ad9e0349405b8a8b876d3125824c115c69510666308330901208d02f1a6057a0f5481af4956ea5281c956735d28e49173031b688a30289d385a7718c2c21c300d7ac3fc81bbfc6747c60f4cdb9c037c458c50dd1605ba167806a6fc32c759f2942dd81962ad657b51942b3fc8d925b9db72b1fd2b303c05043638a3217d1856d8b243018b0d8679db5c3364a85b78c913793e87855b382b3456d3d7c1c2b82bdb94c6e96732c6f455e4e631fd46cad78085556fa7fdcc649ebe587d7dbaf5d1a77c6fc70b3bbcb89744be1b09430f2ce72482d6a8673a8d511a8a1c506a2cf4facaa9e489d6a3a5322410464d590d0f52b957b28937b543bd5a01f07261afc810d41bc815469e145862a3238bb194da838c642b817db611e18c08325502778922197e73aaa2c030869ca3ab06b22827feb4465ae60975a61255a405db1f112a2087218619bc9dc064035774306b14d4b6003949181301253034323f55bd0818097193d449a3ccd1315ee375c7efb833d03a87a881cb5dab7e0d045b6b80505cc18d8e9be1f1a7740d4981e31339503b1a2b22061d484d9368b8a5193d29b3cb693b3de6a357414be59d5aa64c6c4ad9964e470999e90627014b34a7a8b168010ddb76f994783b5f41ebd60697198262cf42efc13128a45024386c78851c709389262d10d65c4784eb10c2cb13d9fe819cb4c6dc0c34da8c22b69d5cc3ae995e0a965a267cf64d69d2bac59801c8dbe917b37292630518b093b98d39c6fe0138257467f93c76118ca748556003c05810e7cbe83c60f8791a72494889289716790242199262e44b356a98e38429733f07e4d2329da534fe8d4998872429793a6c4d14919d3adbda51c60ca58c915cb53b37580d960525a8dafd591d2cc9fcd8a615704b4866c6f11471d84064732b11d62d40633d67affe2bd75315c54321d3f515078b1cac4e1ba9fd529db1b92a47202c0e768b271826787bd6098a8854460d5da5d5744944887cbb1840125e2825393b64644b8c0b6cd9536be03d6c3e7e6ceb13b1901f1cec3456903f5b15e9994ed1207ff52915ff2460c098ef820a1e885c2ff231896a3c1dcd5ce49910b30927597d988808721cdb68f98914266919dcc46125278774d4c1861466a8197c4214493fad00f83808290dc6064a388633b0ffd2b1fdd84a6c3fc3576345d1a654f3b129fd6c2a6b95b46d235a9a7f44a6f9558af20a451a69c6f5c119712cc5ed91f91b946678520e7165ab4cc367d1ab985692f85e68a3b05c738319e0d7107f2f89710f32c7c047019f6cf29854bcda6b319288944e9907975083e649a93289e04054496f63234bc4cdcb9a2c3d8b98c9c63b08c75109b964101aac6a016725c3903e5caa639614650c0e052673721b113f48d5cda5cce6b8a7449ba5308ab9f1c25c4c4335e2c4a3be318c99787fdd98f7b592d942617b4346fcc402df7a41043b0bd87c318757bb3878b60421ac5b2234863d2888984898d198d002035dc123091532371e444204ab05c8a9db00c4756135998369eb181882ab3c0c3d17189267f03d64af8b2c3addc90e32b3f44c43864615af5001b45c9677f59b8ce680edcec5088dc17865a790f593ab49bbe5327718a4b0a4fbbc0606b7f0e6b9a4f4857b3146500839bc47a8825e890de04100878518c722d321740f4c4035a813a5b1c9cf081679e957b795a2771485874e5bf75f57b11f8ad9fe3b1d2d72a1bda04bb1517296193763776fae451b6615a8e9c788a5c8d65173bb9307b2cf9c863029553f56717b355843ab1dfe72cef8c46d6a8367ab70f83db71c4c410960a7b6221ae2ab64a17441f4b50adfa971f25c719dc8705926c6bad712cef52d284175dec18f24979ef5ba8eddf7caa3880aec7b42a147e75f0dd62b3d0 -sk = 84d7070ee80107976bfd1b0db6cc33f3c98178817d8460b63dc012311638aa43b253a705bc994931bab38a62c5d1dba793b8437bd600a8725d36aa898e353d6b955b80f8578f855bcee194ce2c6e4c6179ade8176e34578fb24b6d60c395b674a7a8a4c72550f83a09d24582f94125690428a4e76972b77a53e852ff3718a440b67d6521ca699e5a8c434dc47a38032129bb76bcb4c810028938fc94f1741a1fb26ec95252e259b8f9176bbad8763cb63da6f295b460cde1479be8d6b9e3c49ab77845c21c8f3f88741759461e339f76376ab81b4f07e7bf0db861a4ac5b24e09d4144ac900b43cec07f1dd2cc4f7c976eb0baa4d8637bcaa70946391109981e978ca023313b200092d26ccc823ebbaa85b8ba1680636d0be656f01769555b058af7825fa00d10a38b0a2b127a773cab406c1d4310a0882889759f20b44aecf68dd24416d9491cb523a1afb1a1ed87b28e5589f4059132603e228b185d426f49031af8fa21b11cb0f37c4557f94b2f158340921f95091128c5616f54105d47253f150ff335081d231f5b308a526b9506b03e0b5c6a88394f0c9c6e7c2b475c7508a3a8b1e0d571d1c364784cc8a7ca7ae6c2b24366a0d2865658d42a8495b24a16c9a9d8b1ea77332a1058dc292ec02c4723fa7204e93eefc24f10c4877425975cbb6142026a2aa649fc6c77e8c72dd3e5b0d9e9495a02c251b12b7ab51f6a9853bfd151a4873cab4102db62676496a8b38c8038e4c6d988880a6b2774875a5fe69693d9726af64a51d77a03e523bad8b2a6dbcea137a051d19e81059d07437e38db7891956c5b2c8abe282b5a02a5530c56a7b4b46daab256588b04344365313a3ad94a2d7aca4ba7072cb9259e2676a5c86215b24faa159bc18bce05451c69d2699a056ed3f6a7f2bc7676f11bb06cb72dc53d7ea6bafee89797b57445f3ae11262543a2882b863cdb455d5ea03eba56946dc61d798a76bdbc4ca7f2a102c518224a2091211ec4d251ccfb08aa2598065a79b8b61a56e925031a579ac5bdeef1a6e0b1381fe180db008f19e775e030052a624b91d1550fe5365260150ccaaf228acb8fe471d2c8b4b27bb57d62ae9ad9ce15a0b72ed98b8a619cfdd3a17ada37cc455d77640ea327088e9c33d4281b65dc9a27c68d27088b1f2a5fc586bb0993753e62a67bc3886048274ac267a95b42aaac3e60c2699321a79301acd350b92899a2c0ccc4703b243660a39c5901e3b6bb146c588dd3431c4a5bead8aa29e04f8fdc0d04783751707cc25ac359952abe7384f839b42d9c9982dc66a21c7fb5cb7316748423e25005d389bcd56fc498080f88cd75ec974ca9ce9f2ba995b50eca85cf09612fcbdc492ccc6d0662a59f8cc0ff3355f17424abb6c774a377b81c12b9982f60777926ba0b860123434cae8f926e902a5e633019e3c62087a1bdddf2186768baf91656d903c4f1ca88163b8dca041823bb6ee525583816cdfafccbcfe63dcae0b93c46a14fb72114194cd084c208921925e7c55ec807ee6c0a8ddb71c4ab3bd5836b7fa160009dabd1e5498d005718548324b0339ec71ac4a75c81f522dfd92b64e3676b337758490e068c3cc747bc004da30cecab9c542ffce8266d8106e77631e9166653d50b220829b272c2ed5568fd00c52de89e1cb76adb4963623c082f824afde530e842838d6c331d80ab47f33fc2730bae2407b8a40c10642bdab993d363612e5b6250825c92fb6a78535fb1ebc52bd83b6f5b58f52669ca138370f1b21fc80f09d7011a005a20125630d63a9e596dc782962c622bbdd44582fb8a2e4638f7a0029c740f87dacf6300a8ae8b4ca91abdb56534654395f9e2c7cc087633149ae3609089567c7c7b20e13c03a059a5c95b22be46671733b28b41b354f30b043ba5edcc15ebe74e7cbc3188b6ab37fc40dd3bbee7e02da545942138739479c4f610cdff564ba7a281b7249267c3740966c7ffbba92a8a1c3328b19f58c058eb27e27857e46585e0a4ac62f1a361e44f92413e37e7cca667ab53064dac9b3aabf3363451c95f6778ddc114f8c3673cc302e7183d49379bbdec05fd361399ba5ad58a5a8f823efb096e1dc522179100626bb67ab1647645794b38af228787b425b03f7c15082abd063125086c8586552070f6897252936cc00bf2810baed633638b1737b5ab13fcb47e181e6cb86c69301b77b85e2c64305f1584e370934a02aafdd27c972cb252b95d01d6b6ea9a52107aa9ad68a021b3bab723ab9599544ff08a4a13643e181db6c752a8a5c948d010e8743ecc064ea034444f3a2b207bc3a0606600358907708bc87016261a61b1547bcc8421c009778ee31598d47a48d3a99e9a24ce230b9568cbf4bb61d9a0aa512b282e2506a51b0fe92507bb7cb044e93ca230b6d9f97cfcf31b9055c9775419684aab2609a1e11b2b354223c9761f7d6b5b02a16f72a9910f7ccb63263e1e45ad9e0349405b8a8b876d3125824c115c69510666308330901208d02f1a6057a0f5481af4956ea5281c956735d28e49173031b688a30289d385a7718c2c21c300d7ac3fc81bbfc6747c60f4cdb9c037c458c50dd1605ba167806a6fc32c759f2942dd81962ad657b51942b3fc8d925b9db72b1fd2b303c05043638a3217d1856d8b243018b0d8679db5c3364a85b78c913793e87855b382b3456d3d7c1c2b82bdb94c6e96732c6f455e4e631fd46cad78085556fa7fdcc649ebe587d7dbaf5d1a77c6fc70b3bbcb89744be1b09430f2ce72482d6a8673a8d511a8a1c506a2cf4facaa9e489d6a3a5322410464d590d0f52b957b28937b543bd5a01f07261afc810d41bc815469e145862a3238bb194da838c642b817db611e18c08325502778922197e73aaa2c030869ca3ab06b22827feb4465ae60975a61255a405db1f112a2087218619bc9dc064035774306b14d4b6003949181301253034323f55bd0818097193d449a3ccd1315ee375c7efb833d03a87a881cb5dab7e0d045b6b80505cc18d8e9be1f1a7740d4981e31339503b1a2b22061d484d9368b8a5193d29b3cb693b3de6a357414be59d5aa64c6c4ad9964e470999e90627014b34a7a8b168010ddb76f994783b5f41ebd60697198262cf42efc13128a45024386c78851c709389262d10d65c4784eb10c2cb13d9fe819cb4c6dc0c34da8c22b69d5cc3ae995e0a965a267cf64d69d2bac59801c8dbe917b37292630518b093b98d39c6fe0138257467f93c76118ca748556003c05810e7cbe83c60f8791a72494889289716790242199262e44b356a98e38429733f07e4d2329da534fe8d4998872429793a6c4d14919d3adbda51c60ca58c915cb53b37580d960525a8dafd591d2cc9fcd8a615704b4866c6f11471d84064732b11d62d40633d67affe2bd75315c54321d3f515078b1cac4e1ba9fd529db1b92a47202c0e768b271826787bd6098a8854460d5da5d5744944887cbb1840125e2825393b64644b8c0b6cd9536be03d6c3e7e6ceb13b1901f1cec3456903f5b15e9994ed1207ff52915ff2460c098ef820a1e885c2ff231896a3c1dcd5ce49910b30927597d988808721cdb68f98914266919dcc46125278774d4c1861466a8197c4214493fad00f83808290dc6064a388633b0ffd2b1fdd84a6c3fc3576345d1a654f3b129fd6c2a6b95b46d235a9a7f44a6f9558af20a451a69c6f5c119712cc5ed91f91b946678520e7165ab4cc367d1ab985692f85e68a3b05c738319e0d7107f2f89710f32c7c047019f6cf29854bcda6b319288944e9907975083e649a93289e04054496f63234bc4cdcb9a2c3d8b98c9c63b08c75109b964101aac6a016725c3903e5caa639614650c0e052673721b113f48d5cda5cce6b8a7449ba5308ab9f1c25c4c4335e2c4a3be318c99787fdd98f7b592d942617b4346fcc402df7a41043b0bd87c318757bb3878b60421ac5b2234863d2888984898d198d002035dc123091532371e444204ab05c8a9db00c4756135998369eb181882ab3c0c3d17189267f03d64af8b2c3addc90e32b3f44c43864615af5001b45c9677f59b8ce680edcec5088dc17865a790f593ab49bbe5327718a4b0a4fbbc0606b7f0e6b9a4f4857b3146500839bc47a8825e890de04100878518c722d321740f4c4035a813a5b1c9cf081679e957b795a2771485874e5bf75f57b11f8ad9fe3b1d2d72a1bda04bb1517296193763776fae451b6615a8e9c788a5c8d65173bb9307b2cf9c863029553f56717b355843ab1dfe72cef8c46d6a8367ab70f83db71c4c410960a7b6221ae2ab64a17441f4b50adfa971f25c719dc8705926c6bad712cef52d284175dec18f24979ef5ba8eddf7caa3880aec7b42a147e75f0dd62b3d03a2484828bce833f9262405b562bcade9ff04877838558409d2b60f1b689d137d8128601c28b1def8d393a0db283229f7c7383152a814e7cefe8ef9d9768c473 -m = e9602b34fe73ad57f4bf6ead99743d645641553a5b9b9bf2e7016629e3e9bd76 -ct = adc71bd3473b28ca58deafd4b80f366f36284b335b67ed949864033518d38bfe66d834d9bfdd8ad1dbcc6f6363cfef391ef583be7b212bb845960e2b9300138258462fff104ac20cc4f91397d8861ca43aa21dbc4857b126c70febabd65417739cdc9590473a77164fb3d39bb986e2f09aa6cebe60b4df1b2eff7743484c698a23aab47c5e5ff4127dca9891cab124122273409bce5916344424ef32afd2429c71f99bdcef91f3a8ec87806c9b0358ec63be1cf264e375a61de9ec7e58e6b8920b5e41acb2daf00f7d63ac0f4da048198480fdcc1e6c13609e985ffb8549703819d3e76e1a6ebf3c6f4706bb1caa1acbd4cd896c0759e1564aefed4b8678236ed06bcd6669d1d8125f87dc77c7481908324434eaa580ef5b28dc9de7d9499f7c67b127b780e67c4647d4cd83778db2aed1fb0177f0fd54d97668ee11bfbc480cda57e726002328641e8d7589d6c57fa4d3fb9784abcc58b69bcd9e21c5263af02c7f89b8ec89ac4db6609a6696ed2f7e55713aafa7a1b25f926d70c01ac90f5d0a11415c1ab4f5ffaac01632485301254f9d4c6e28c0830d6ad6b44e85adb99ad79a159975dda0519dccb122b4123aa6b6e71279d509735f97562e2bf6d113f6a41cb99b6ce65bc235f5e911c264d70aa987f0b981d4808e1d66bf41db2f3febf0711134368cf626a867c7b364b9cb070199522f8690d5bd6caa507763907982b530b3685ca2eb1ecca79bb384a1501e005101b1f73651634bef2b3d4e44cbcb75a2fc1143a52819abf4d35bccf74feb06db24b1ee7014e0fe67fbf099ee4f452dc2a4da2ff35f514e8bfdea90dbbbb09e881d5bf13fd0c3ec49a30eb4adea5c29149fe42b6ccc2bda4bafb0286c163f5f71db571e653e5591bb01db916e3cf901391e4fe101ff4122745a5fb99e814fd2b3f00d6b0f388aff722565b608709fefa8196e2b3d788e97e5e8a3830fc3e8d7a79cc1cbc7f11c413ceeeb99edceccc97fb9d46a1fd3401ee2ca1da1bcb8b3db9df1118e65d37b30699cecdd3e6c26b0fb73f8c7ecec87b92c01aa8a21b44eecab10c223d5d4806e0b54ffe4468024780bc0dea9989ef28997f88d29d55741148a9f7fad806431d8958227d3ff4b11495845c804e4ad67fb5fc5f010cec2487dfcf8d29a8b0ddd4f260e68b21d1e07dab289b09859513a51ecf165ee184f486e4aac0fbc8647916047449a780b2e1059491911fd91f249f04476418332fafd4b36fa62e301da18fd08807932249fa3fa3645c93f1b487a3c29d4c841a3eaedbd6efdede63d9c07d74086fc30d82e644679828b19fe3fa43cc661d6e2d3509f003c448c7b5f1979b7095ad2f66bfd64b6b72a4f5904f9f7b65e91436ed6eb0f39b2737d1a7d893f4be25d07c095ae47afc3d9863fbc3d7c573595caa7a67a125ee0c88dd0dd9da80de93d92cb2d2919687ce963a947a716c9a735356bc98abd544a9c5b9938fb97b8df75afa8bd043d482c1e8cd51f97bf4a8de90ceebad8bcdb69c46216d555eb12c8884bab1731fe9aa40ffd1377bbd5490d29fce105c1f4d6e88a004ba98c8de8327687d8c3f9decf427f02a738c858c126cf2edcdad9b11e90894c79966c1e4d4ed62c91ba0215cd3d474863738c5e75775641d0b91948a127f4d42a73cae62bf51ddb8da8ca750c327c1f20443a93537c7cc11176f4e17b8bfdc2bcf262117be283840986e6253eda5e38f27d8ed4dc38d908a4a278bf207828a9f30b1e2e83fa2e25b3219a0195c30b651b5b609e86ad1c481673cbccc63bcef1d504d5f80e1db8193f4795444f4322b8a574ce46befedb3f24cb3578d642b60b42931a3cde6157aff846d314efea7903a3e785200b233684d6c7329c8ed0a4656b238b46da35efa99f7973e327e33be9714d58b3bf74e6f9bab801d73a4ef98acd917e30fb07f9738d36c7335d51fac8c8d59fcdbb809c75fc362a05f0881052d50d04fc014d5b52db5f9016219e02f3c74bb1964c66f3ee5c24ca621e635fe06731acb854d7f6f4ffbbefa094301934be65bf4392440c13790652ca9f9147dbe0a344f1739b725eecfd874bdc18ffbb5b506dd72e57e8f797290e3588f5a10b5d3278ed0e4ca5d459637b91ea9cd06745d3fb38193eeb4d6ee38e1d544c6a44905c515bb43964167107d093e62dcdfd8850b3026a19ac3f8b1d748ec54c796159ec98b3badc5fd9a1a14cd1 -ss = aadfd151e1d8a0f6d8c81f02dafab4fa4507ee05326f8eb6ba86a08754df47bb +sk = 84d7070ee80107976bfd1b0db6cc33f3c98178817d8460b63dc012311638aa43b253a705bc994931bab38a62c5d1dba793b8437bd600a8725d36aa898e353d6b955b80f8578f855bcee194ce2c6e4c6179ade8176e34578fb24b6d60c395b674a7a8a4c72550f83a09d24582f94125690428a4e76972b77a53e852ff3718a440b67d6521ca699e5a8c434dc47a38032129bb76bcb4c810028938fc94f1741a1fb26ec95252e259b8f9176bbad8763cb63da6f295b460cde1479be8d6b9e3c49ab77845c21c8f3f88741759461e339f76376ab81b4f07e7bf0db861a4ac5b24e09d4144ac900b43cec07f1dd2cc4f7c976eb0baa4d8637bcaa70946391109981e978ca023313b200092d26ccc823ebbaa85b8ba1680636d0be656f01769555b058af7825fa00d10a38b0a2b127a773cab406c1d4310a0882889759f20b44aecf68dd24416d9491cb523a1afb1a1ed87b28e5589f4059132603e228b185d426f49031af8fa21b11cb0f37c4557f94b2f158340921f95091128c5616f54105d47253f150ff335081d231f5b308a526b9506b03e0b5c6a88394f0c9c6e7c2b475c7508a3a8b1e0d571d1c364784cc8a7ca7ae6c2b24366a0d2865658d42a8495b24a16c9a9d8b1ea77332a1058dc292ec02c4723fa7204e93eefc24f10c4877425975cbb6142026a2aa649fc6c77e8c72dd3e5b0d9e9495a02c251b12b7ab51f6a9853bfd151a4873cab4102db62676496a8b38c8038e4c6d988880a6b2774875a5fe69693d9726af64a51d77a03e523bad8b2a6dbcea137a051d19e81059d07437e38db7891956c5b2c8abe282b5a02a5530c56a7b4b46daab256588b04344365313a3ad94a2d7aca4ba7072cb9259e2676a5c86215b24faa159bc18bce05451c69d2699a056ed3f6a7f2bc7676f11bb06cb72dc53d7ea6bafee89797b57445f3ae11262543a2882b863cdb455d5ea03eba56946dc61d798a76bdbc4ca7f2a102c518224a2091211ec4d251ccfb08aa2598065a79b8b61a56e925031a579ac5bdeef1a6e0b1381fe180db008f19e775e030052a624b91d1550fe5365260150ccaaf228acb8fe471d2c8b4b27bb57d62ae9ad9ce15a0b72ed98b8a619cfdd3a17ada37cc455d77640ea327088e9c33d4281b65dc9a27c68d27088b1f2a5fc586bb0993753e62a67bc3886048274ac267a95b42aaac3e60c2699321a79301acd350b92899a2c0ccc4703b243660a39c5901e3b6bb146c588dd3431c4a5bead8aa29e04f8fdc0d04783751707cc25ac359952abe7384f839b42d9c9982dc66a21c7fb5cb7316748423e25005d389bcd56fc498080f88cd75ec974ca9ce9f2ba995b50eca85cf09612fcbdc492ccc6d0662a59f8cc0ff3355f17424abb6c774a377b81c12b9982f60777926ba0b860123434cae8f926e902a5e633019e3c62087a1bdddf2186768baf91656d903c4f1ca88163b8dca041823bb6ee525583816cdfafccbcfe63dcae0b93c46a14fb72114194cd084c208921925e7c55ec807ee6c0a8ddb71c4ab3bd5836b7fa160009dabd1e5498d005718548324b0339ec71ac4a75c81f522dfd92b64e3676b337758490e068c3cc747bc004da30cecab9c542ffce8266d8106e77631e9166653d50b220829b272c2ed5568fd00c52de89e1cb76adb4963623c082f824afde530e842838d6c331d80ab47f33fc2730bae2407b8a40c10642bdab993d363612e5b6250825c92fb6a78535fb1ebc52bd83b6f5b58f52669ca138370f1b21fc80f09d7011a005a20125630d63a9e596dc782962c622bbdd44582fb8a2e4638f7a0029c740f87dacf6300a8ae8b4ca91abdb56534654395f9e2c7cc087633149ae3609089567c7c7b20e13c03a059a5c95b22be46671733b28b41b354f30b043ba5edcc15ebe74e7cbc3188b6ab37fc40dd3bbee7e02da545942138739479c4f610cdff564ba7a281b7249267c3740966c7ffbba92a8a1c3328b19f58c058eb27e27857e46585e0a4ac62f1a361e44f92413e37e7cca667ab53064dac9b3aabf3363451c95f6778ddc114f8c3673cc302e7183d49379bbdec05fd361399ba5ad58a5a8f823efb096e1dc522179100626bb67ab1647645794b38af228787b425b03f7c15082abd063125086c8586552070f6897252936cc00bf2810baed633638b1737b5ab13fcb47e181e6cb86c69301b77b85e2c64305f1584e370934a02aafdd27c972cb252b95d01d6b6ea9a52107aa9ad68a021b3bab723ab9599544ff08a4a13643e181db6c752a8a5c948d010e8743ecc064ea034444f3a2b207bc3a0606600358907708bc87016261a61b1547bcc8421c009778ee31598d47a48d3a99e9a24ce230b9568cbf4bb61d9a0aa512b282e2506a51b0fe92507bb7cb044e93ca230b6d9f97cfcf31b9055c9775419684aab2609a1e11b2b354223c9761f7d6b5b02a16f72a9910f7ccb63263e1e45ad9e0349405b8a8b876d3125824c115c69510666308330901208d02f1a6057a0f5481af4956ea5281c956735d28e49173031b688a30289d385a7718c2c21c300d7ac3fc81bbfc6747c60f4cdb9c037c458c50dd1605ba167806a6fc32c759f2942dd81962ad657b51942b3fc8d925b9db72b1fd2b303c05043638a3217d1856d8b243018b0d8679db5c3364a85b78c913793e87855b382b3456d3d7c1c2b82bdb94c6e96732c6f455e4e631fd46cad78085556fa7fdcc649ebe587d7dbaf5d1a77c6fc70b3bbcb89744be1b09430f2ce72482d6a8673a8d511a8a1c506a2cf4facaa9e489d6a3a5322410464d590d0f52b957b28937b543bd5a01f07261afc810d41bc815469e145862a3238bb194da838c642b817db611e18c08325502778922197e73aaa2c030869ca3ab06b22827feb4465ae60975a61255a405db1f112a2087218619bc9dc064035774306b14d4b6003949181301253034323f55bd0818097193d449a3ccd1315ee375c7efb833d03a87a881cb5dab7e0d045b6b80505cc18d8e9be1f1a7740d4981e31339503b1a2b22061d484d9368b8a5193d29b3cb693b3de6a357414be59d5aa64c6c4ad9964e470999e90627014b34a7a8b168010ddb76f994783b5f41ebd60697198262cf42efc13128a45024386c78851c709389262d10d65c4784eb10c2cb13d9fe819cb4c6dc0c34da8c22b69d5cc3ae995e0a965a267cf64d69d2bac59801c8dbe917b37292630518b093b98d39c6fe0138257467f93c76118ca748556003c05810e7cbe83c60f8791a72494889289716790242199262e44b356a98e38429733f07e4d2329da534fe8d4998872429793a6c4d14919d3adbda51c60ca58c915cb53b37580d960525a8dafd591d2cc9fcd8a615704b4866c6f11471d84064732b11d62d40633d67affe2bd75315c54321d3f515078b1cac4e1ba9fd529db1b92a47202c0e768b271826787bd6098a8854460d5da5d5744944887cbb1840125e2825393b64644b8c0b6cd9536be03d6c3e7e6ceb13b1901f1cec3456903f5b15e9994ed1207ff52915ff2460c098ef820a1e885c2ff231896a3c1dcd5ce49910b30927597d988808721cdb68f98914266919dcc46125278774d4c1861466a8197c4214493fad00f83808290dc6064a388633b0ffd2b1fdd84a6c3fc3576345d1a654f3b129fd6c2a6b95b46d235a9a7f44a6f9558af20a451a69c6f5c119712cc5ed91f91b946678520e7165ab4cc367d1ab985692f85e68a3b05c738319e0d7107f2f89710f32c7c047019f6cf29854bcda6b319288944e9907975083e649a93289e04054496f63234bc4cdcb9a2c3d8b98c9c63b08c75109b964101aac6a016725c3903e5caa639614650c0e052673721b113f48d5cda5cce6b8a7449ba5308ab9f1c25c4c4335e2c4a3be318c99787fdd98f7b592d942617b4346fcc402df7a41043b0bd87c318757bb3878b60421ac5b2234863d2888984898d198d002035dc123091532371e444204ab05c8a9db00c4756135998369eb181882ab3c0c3d17189267f03d64af8b2c3addc90e32b3f44c43864615af5001b45c9677f59b8ce680edcec5088dc17865a790f593ab49bbe5327718a4b0a4fbbc0606b7f0e6b9a4f4857b3146500839bc47a8825e890de04100878518c722d321740f4c4035a813a5b1c9cf081679e957b795a2771485874e5bf75f57b11f8ad9fe3b1d2d72a1bda04bb1517296193763776fae451b6615a8e9c788a5c8d65173bb9307b2cf9c863029553f56717b355843ab1dfe72cef8c46d6a8367ab70f83db71c4c410960a7b6221ae2ab64a17441f4b50adfa971f25c719dc8705926c6bad712cef52d284175dec18f24979ef5ba8eddf7caa3880aec7b42a147e75f0dd62b3d03a2484828bce833f9262405b562bcade9ff04877838558409d2b60f1b689d1377b2daf2ea1f1011c4bd04208e9e90b9c2bbe2d8b96a1565cd1163966f5337e4a +m = 37a2bfa95682bf678cbefc25bc48bf62fa950bbb7c0e7051cee508f9540fdbec +ct = 474bb08d597d3346912ad55e4defb164ef55f87f0ae152f9432d14e385f448e909ed293d06e2fa02fd0a7ad2cd8927dc7e220c5247cb40c90df5b11a56e160200761d9a98fa78ba4c03ce21283edba4a5ebce40d3e3bc77843c129614fda01e262d5d79ed2e18b1d3faae28c78b47935af99f5280170c1dce64492cb56bbd818c50c56484e7669986777ccce0a4f302fd64a312922096c0a5a0c460d19b3bfce271a5d22852fea863dbfd4f55c2ba53ca33e3ebfdb476ec8b507f9b0258df25768ddbe5a757622baf7bd2cd1906f9724dce0dcd462af7c56960ce887297e80033c5413a85bb3aa2a975b70cf120b15bab63cdc2f11eed0066193b68492bee6777f80c6390c2dd5e74837afad46e2cb7902575d2094f5a4ab1c84f299e8d4614881fb3179e849afea539ced56192ff1edae4101b0fc3e945c81c64d1a5524ab391eb13525a73c2b1ac7420c0d77818e96ba2c72f22403667d59e36747ac074285f3aa58ae1a24bce16e4da9df678331cdfe4914b180c84524a5c0174d39146352ca3036d4eb5a1650afd2083255d31808d7c56b1714f0992c025dd571f4263c3b3dfad96202479fe65ba8b44865fd7ad53d2f709e8f405828785cceb790d7941e491604670314d435369de575555522e59ffa7ed911874192175ebcf209376fc2b71b41bb70bfd443849558be6b73c9c4f57cbcb278a9a5bab4661825480593c102fc3325b57196ee47c739df0512a237a9620f1aaf03599d6ac1cd54dd553c7392bef8008c8233eda886faf38d1b571c9089c4882610445fc67787da2136deac2a1501b0c6eb55cb2d5290a85b6f3b52ff5091b423a5896debfc8b63c3cf41827852333d21aacc446cd2c4ca2224422d948146e06ddc9745b289d4bb46d3447bbdc6c43046e7eae5abcc56255394c177c614c3bbb9caeecca8c788826c2d92ba019d786f3db12c872ffb52fb92399f31e09bc5c47e2882d631321e1645c4459f98228a4719509101090593e71103222a35fad29d2f6a2325e947624cfece80103b31f1b645a5ecc5a2ee9e130dc0a801115780f0d7d2895688eed3eadc855bc440ba402c85bd8a897ac97d9c6888d1c19b9c0bcae368c64924d8fe18bb71da3330b091f7ee4560ecb3293fcbedf7fe6f195cc099cbc135c9ea5489834b30124168adfbe87544cd502cba542b8a053fafb3f300f7ea06c808c34c40cefbb4aa2c46d9297ed549a7d5c8eebd2ca306150057b9f7424077ee1d26381e064ee9fb2f1d6eff1bb02df8c10ac1f97c623605782d892c9dde18e47fc9890b22d322e2287947184cf2bda35064cffc3b2288e70cfa69649813ee34c297daff0997c38902f585b5709cdb8dea6850dd1844b84ba35e4c64119b7773286a5c4bf9ccd5e635774a730b2c940d45b45d46d236344f7eef1ff5a8fcd92521506c3ab923a25d5f85b2207c0cf2a02786dd13fd13c669f4c08caf5d6457ed86f3811e7fffde152c937bc5f8384c8cb9c13de7839fedbeb280a5e867970735aa8eb9ed9f969da0b71076cb5fc59ed2437ef5bbbb7ece22c890b6d05d95421b368de7c6bf1f5560d98cc350326632b1c224af4baae86f36c8fb8f3bf58b519e3d62be2ba75f3d9ba169113476f5bc7fcc787a15ac898569260b3ba67ecd1a41e91add49aab38f190d9b7781fc91484e0c40288df7b3f92ec37b0a9cc110a61e391861e0ca3b23da738575556be9904369f0960558b24b02c22b65cf793c6a55ff35aa66e1d6682e781881b0af595697b977c4bbcb79aa6f8708350f0af1f1916084f8d02506fc060db71433352806c7a0492e782a4ea22e550255ed21217b3a52a07b006edef4c873410be75082bb103b11281dcff7e5d1c532bf7782ca4fcb924d4a218d515bc4fe8d1ecfff834135a388f96df87aa72c1f936a69565a3917574dd8c672358782d3f5fcbde4a15c691158956144189b64355a287d0c744f7544d651fa8fcab0c90a0489266933600eb4e2758b19cf4ef0d84e3267527c6ee5ff0e812e10588262259472882be688804293375c0df5c9731a1f97f54428dc1c306b8044cbe1c1c3c9a6f5035930273fe7a92acef07fbcc0a2d11282df10eae4b04c99ce1a60f9b84bcf4bcab3c3f042893c25412455658c56929da376247d60d50a215430facab068cb8bf3153f7132c8527bffa599866d5ee70fba538a683613e0ededca5f0e7361 +ss = ba4c61f3dfbafe6b6a15471149a4b56e61c8177d13c07f34b3c0af594e793214 d = dbf1c465fff3d9f783bd9ee61a573715e45691147b8904439b5ffaa64f94ff7b -z = b6d75eac6c76ced1b0a025b40a55440712ad8424672e761e9bc400d63812006f +z = 5c2478cdc8d59ab164856623d53b9e60cf0aa8214cb64e674140bfd6de9fdfaf pk = fb70ab80405c4c59421f913a78e89f67767e71fa51431061746a74746b1fd544065788a7f880b9c81c007e6091e6118f3acc518bb06579b45ad1374404284b0f1c370c53062cb79a08015b4086626d3083ee7b427b24613947588f7149777a3fb5919c73d5a23ef5445f24aba79b94bfba774f71c84f929978c44e07a84bb9139b32fb97d4b20e363a2098838c6a3c51ad244b540b90020c5a0ce2b135918db1e9093a0cc43ab210d28a7889da51d88c7b3d1452d7879f34a130bb263f51429086e39051b8acb15a8a34d7a856e6a89248baac15ba1138b680e79e56881b94376638f507e95809862b0897744d3d8658e33c89a7791b93acb17ddc91ccc5b71b01b9bca81a7485c5e4428538a3ba7f124d24864149b26d0f246e9aca34c76103d676cd7a54abae1c895c37b1784476180601a67a5d04996d195363c61864caf95e7d3b2f4ed68ca2db09d9d34f86d5666aecaa468587fe5a3c56434ff4815c61094c831699c5f1be9301299e3016b4cc602bb62a4f1c2f1af247b4fb92d4a10430e29f0a71c02df70e48e0ab79c0a31827b996b4328294864deabf8114b4dd58b53919b1e86ccbfbf7931523409da691ddea60dbaa6114e62417d9bb054110d3284b3285110b7069fcc58e2e13cb50daaa0fc082b7c87eaf13063c6a966b4cc24334a7e6fb8c3131461756a35f2b9842811f233a6a7127a33b7cc559b477b491c0155949f9952ac9631c32451b3872967955c1235b61af676429c94e9034405be47ac5873c9dc33ed94828c9429dd7cc29d076871222893f207b0f3a8086d77c3d7792ba25ba8db46a554b161a30cca878ad6397974acb3812767a95a01f73ca80f1d83006e9460d2348c047ad60f2841db1bae58952142aa3491cc7dde58debbaa27621c7caf299f4325ee978caab6ccd4bd7510f318b20e98d26a94ee99c935629394e6b80a5614891a75b45d81eda8a6cf8d8b43d62ad9399369023c4d677ce75f14f84b05d01b7b021e15e459bc5c82cc9c4158ba32c5d50708ad9f620297333a4d899cc7a90c28740039b351345bc7b971aaaf39d97326553740238e569d4870bb09c66af75b532778b9b0a631d362d13d61567212e6ab523fd4c3ebd5839e4aa1421db5e06e33bec836876d8a8624c22fa56c43d4060a9e52f1c905ea8714d8436569d050c7a574a74535aa3c4c194bb3d4a867a07535dcdd93f644baa2dc5242c5a58f0c8caedcac7c5256d8f3b40bf57b055616c24569a51c5bd712279827bb00d274d767156173c7ecb8766202376e9a7227517bc4488c029b9b6b2642858344bd14c8837ac908690312ff5a6de7bcb88f2cffd40a9fc666800f9ac54fac76ff5a42ff83b9d49233c841607aa348e2a5dcbc572d2a482f78b2cdf3ca4bbd22148c925276b6072d777d53081311a286f37ab14ba2000ad4cb82769dc889de981c969f732eda2717cc405cc276fc965ca2bcc80054c557c1343847bc6054157a5276432917501f88bef0b44521c0d5fa168dd89c9e34aca4df0a348e53eb5c939650a240879c0911a8e1ce371d7ea45e6f90b8db0520b115f826085ec25a108309466c11920984534c99dfbc7467af31d5f941784586bcc0347412c48d0927a4b95a22d98b49a1a20cc72272f09bb63aa194e4450c3bc2351ca6d2043a68ec30c705cc856b00f5054a66d3140bfbb47425a67eddbc4204944a1e379e1516e45216e12d06b2d522398a125728822ced62dacb220c845a444594b3b6977eea89e256878e52c766a86a3fd04437b4165242553fc747b80952769c10547804b80c1a6d85a29620aaf7054a54aec77e0e3c1aca9613e0b877d39cc9c1c9088a96d7452a3e2c6a1f87c4efe1234bb9971a1026292c22c94449b7c8a2cb117b8175c7416284742120c11378c03256e4d2b80d502bc5ddc1d4e3c022bea80140307a3a214ba51c807db26f2536829a62400fd3a8d06b788e5cd43896a9a349a4c0581662999b9ac52803ba34bb128bc0556fdc40ea9eb0b73193396d51c1bd533c4910b358969ba135f862b64dbda9608dc7665fc61ccd645f8926d1835adc34386cea20ffe3283f900a4ffb693a223755a50c4771379307242e4548ed4dcba4574410d409a4838233499a337859c64c6941d477f70bcb5a653bf571602e5224e40f228114639b811c5c1d3b614daf84266bc4c312fa43c4109dafde79000ab39 -sk = 47318b2cc6a9d8bc6ebe7c12489017c03214325b61a2a8541fb783c448c3a31c1d82ba7906b09e3512af8d00d0706a3d391281f0315044c9c4f92b0ad72c60e18637577b942a442589cbb466ac344438750b86cc86b97d16339a9db0365e6696b183041543b031c9220e82bfb89c21a5b0a0d301109568b1c00b2b878c9284375949c88394f141abc188ef7607cb8151bae654a7b7bfd785b44bbbb5c5a68ca5f96bfe5abf179cb83a58aee518202c9119c80081beb38caff81f5ea51811f13be9491f431b127783227bf9b691031145d6a144213fb4f1c89c38c00c81abf075c4415586bdf28b946380c948b94d7a0c3a793100842230663f4eda9174dc7214884e0f552a50d16dfd0a5ddfa7920b0aa50437bfc735a546f5b0f4bb22e174b061bc80e91428547576b6205490ca3934c9b15fcb69611a1639974478800b2cba3d5243a0e2762be2f87035295fff40b56be37ddc71915434c4af6472c1e5c519506e691703c49c715b50b360a5c2fcdb79f59c7ade27380f9905eb7aa6f5042c6a32bae657c699eb85a53395c0303e87e89800131f96969bf45b3f574a40ed813268603a24f1c3180607814914775350b88a1fa7e1034c9cb155879668950ad5950803abc0cc58bdfc408fc1f2bf7d3a2972aa66b58844c048150c0b8c89aca3bd3269474875bf10a94d2b9ea3687ab9547ea59731b73a8849ac7b7c4b946d70b8b87c56b81b77024503ba87485ba3655f669770410e89fc84925b87c008c3cc13c7b9447d82fc2932a1c641230725a422b6219d9bdb5ceef17e121132e6615075e0b26cf71e91a1593210a09507214716a3405b2503ca5f29d4479914cd10b3457aa62a6bb71bd08736e1519e69f709b8c8439b4441bbab5d0911bc6737ca742747ca592e5ed734a8aa1b77450a9d4188e05422bd9240e285865d530e718c6f1a816153cc27414446bba8129a1716171aa60ae086ad09951c2b9aa2744e0153cbd4ec9d1736908cd78e7cd75d0333434715c517633ee6603f7993083724a596069f3270c071b6bab955844a081a896096f76059b9738d819ca3b6588d5f578058d28d2d0710b2bb2e307a5f9e18533713c41e172a99614a97c00ac0a83a25526c399cc9fa9b74cc4774830c8e754231b04274c90c526dea7fe3d203688114e7a90d3ac02ae69a139649b754581bb56825a215c3ba282a26c036e5d5785c07c62956b612fc37fb73a7c6ebb506b998d54979ff29781cd09ccb64993299745b34b6d7f897c0e05e1a6966e6757dbee29af2eacbbb7701dbc39294db584c7c3a7841112258951d88145cf73404a17adb8cc4d11788225557a83b652f95053e8507093b2a8b00ce77e7bbbe83233dc18880f2274472c05e646b90952fe92440d164092a058d69c96869d8a83377a2da92c2d668607dec3cbefc6242b49a9da97c19c2067722c8d309cb898593b08b5d8138bf2fd1c59081614f764acb392d7feb205a85270dfc1129929cf7b53d41031c92944972b8bc9a9c494ab384996647e177a87a101c45c747660aa4a38088a5f7919ca46dad338576463a1c1425a6c4409e2ba8217827ae83bed4e6c80ab528a6bbc1ad58c868b995d9f72c77e84173c9cac4311d8fbc5895d694498a68e0b16037a95f9b61c95ad0b052e01ddf68a1fe5c094d3b8726545f1f857be735475a8abdd7c7b749377f2fe1adb0ca283d6721a109790f4242ab1711b08cc2cf7361177969ee3106b8238e4d41795111908fe17dd68a461c490d165316e927781ad220fb371d5b1951c4d83d047b72f258865e4296a9727052f4214eb55727b23a52bc68f73cb417cb40ad595888c941ac9360c11c0d17790e3efbcc97373afddb9ae3f61030729d5b7b200e4555b6d25d3e6b16e211bd05dc2c724a33ffa8bb3aa4684a422c19892731630ee2125ac8d8cdfac2b69834bd888aa2eca804d7a935a8d371899023488c9799b55f2d83a7d970aee1750dcc59483cc49451991a799044a74326eb0689a1c72186226c8102b344209fb510c21a885306a69640f6add7858dacc86216a189984640d518312d553626da12c9180948492eb5d1090bb896b1cc315105b2a0002f83b3997f02a227740bd4421ade421696031c495892cd3bb68aa38ae1f02afb536e9499abccb904973661fb70ab80405c4c59421f913a78e89f67767e71fa51431061746a74746b1fd544065788a7f880b9c81c007e6091e6118f3acc518bb06579b45ad1374404284b0f1c370c53062cb79a08015b4086626d3083ee7b427b24613947588f7149777a3fb5919c73d5a23ef5445f24aba79b94bfba774f71c84f929978c44e07a84bb9139b32fb97d4b20e363a2098838c6a3c51ad244b540b90020c5a0ce2b135918db1e9093a0cc43ab210d28a7889da51d88c7b3d1452d7879f34a130bb263f51429086e39051b8acb15a8a34d7a856e6a89248baac15ba1138b680e79e56881b94376638f507e95809862b0897744d3d8658e33c89a7791b93acb17ddc91ccc5b71b01b9bca81a7485c5e4428538a3ba7f124d24864149b26d0f246e9aca34c76103d676cd7a54abae1c895c37b1784476180601a67a5d04996d195363c61864caf95e7d3b2f4ed68ca2db09d9d34f86d5666aecaa468587fe5a3c56434ff4815c61094c831699c5f1be9301299e3016b4cc602bb62a4f1c2f1af247b4fb92d4a10430e29f0a71c02df70e48e0ab79c0a31827b996b4328294864deabf8114b4dd58b53919b1e86ccbfbf7931523409da691ddea60dbaa6114e62417d9bb054110d3284b3285110b7069fcc58e2e13cb50daaa0fc082b7c87eaf13063c6a966b4cc24334a7e6fb8c3131461756a35f2b9842811f233a6a7127a33b7cc559b477b491c0155949f9952ac9631c32451b3872967955c1235b61af676429c94e9034405be47ac5873c9dc33ed94828c9429dd7cc29d076871222893f207b0f3a8086d77c3d7792ba25ba8db46a554b161a30cca878ad6397974acb3812767a95a01f73ca80f1d83006e9460d2348c047ad60f2841db1bae58952142aa3491cc7dde58debbaa27621c7caf299f4325ee978caab6ccd4bd7510f318b20e98d26a94ee99c935629394e6b80a5614891a75b45d81eda8a6cf8d8b43d62ad9399369023c4d677ce75f14f84b05d01b7b021e15e459bc5c82cc9c4158ba32c5d50708ad9f620297333a4d899cc7a90c28740039b351345bc7b971aaaf39d97326553740238e569d4870bb09c66af75b532778b9b0a631d362d13d61567212e6ab523fd4c3ebd5839e4aa1421db5e06e33bec836876d8a8624c22fa56c43d4060a9e52f1c905ea8714d8436569d050c7a574a74535aa3c4c194bb3d4a867a07535dcdd93f644baa2dc5242c5a58f0c8caedcac7c5256d8f3b40bf57b055616c24569a51c5bd712279827bb00d274d767156173c7ecb8766202376e9a7227517bc4488c029b9b6b2642858344bd14c8837ac908690312ff5a6de7bcb88f2cffd40a9fc666800f9ac54fac76ff5a42ff83b9d49233c841607aa348e2a5dcbc572d2a482f78b2cdf3ca4bbd22148c925276b6072d777d53081311a286f37ab14ba2000ad4cb82769dc889de981c969f732eda2717cc405cc276fc965ca2bcc80054c557c1343847bc6054157a5276432917501f88bef0b44521c0d5fa168dd89c9e34aca4df0a348e53eb5c939650a240879c0911a8e1ce371d7ea45e6f90b8db0520b115f826085ec25a108309466c11920984534c99dfbc7467af31d5f941784586bcc0347412c48d0927a4b95a22d98b49a1a20cc72272f09bb63aa194e4450c3bc2351ca6d2043a68ec30c705cc856b00f5054a66d3140bfbb47425a67eddbc4204944a1e379e1516e45216e12d06b2d522398a125728822ced62dacb220c845a444594b3b6977eea89e256878e52c766a86a3fd04437b4165242553fc747b80952769c10547804b80c1a6d85a29620aaf7054a54aec77e0e3c1aca9613e0b877d39cc9c1c9088a96d7452a3e2c6a1f87c4efe1234bb9971a1026292c22c94449b7c8a2cb117b8175c7416284742120c11378c03256e4d2b80d502bc5ddc1d4e3c022bea80140307a3a214ba51c807db26f2536829a62400fd3a8d06b788e5cd43896a9a349a4c0581662999b9ac52803ba34bb128bc0556fdc40ea9eb0b73193396d51c1bd533c4910b358969ba135f862b64dbda9608dc7665fc61ccd645f8926d1835adc34386cea20ffe3283f900a4ffb693a223755a50c4771379307242e4548ed4dcba4574410d409a4838233499a337859c64c6941d477f70bcb5a653bf571602e5224e40f228114639b811c5c1d3b614daf84266bc4c312fa43c4109dafde79000ab39bb8615509158b63be5f5e51a0e690f2ad6fd0c56fa886bd85902abd52598bc81b6d75eac6c76ced1b0a025b40a55440712ad8424672e761e9bc400d63812006f -m = f72b9080a6c051bbdb9b0abc1949034be0f89a9f73fe277ec4d4740c78d04a83 -ct = edc1a2e380d2d195a572f3e2806b202314e94c5d3194953c163c37ce0c21d22a1e6158507799863c03b68fefafa343b0a3f04585590fa3efc25ae942200c359cf5ef9c0a6d7e11a9570e41af9c4d1b1ee82ada271acef20ab8118142619189b456fc4bcb87507f6bc00685e86c68733b7163114e8d9112e26d50dfae0172b4e8a9f85e00739df3b8952794e39b01978da91112c21c4c22e0529c850a38a60eb2f55db819576fc0b0da14a185791d371397eecfb58b95154f11a74cf39dce278159409fe1eb6e09f0e0c5201973f09b3c2a7366df34302057a17ca2367df276a648f2198360ea4a800b1faa26fcc833a179c2883c4b35686f6276e34a80428479a1146dd0062b8545df26fb62bf771f9e9bb22ca6a93b9acc0d1d874aef160305184c11d7e6ddea5174e4a9ab84baddf6995c1e7b336ee02e988dcbd36fa250ae9adef86901c76675d8059fa80ae6ebcb1010fe0c454400e5c7ce575ae5ec74f3d8346f4bc405e4c3670a754fb0dd488b49d44e962458fb54d98681105ea8abb0851a9349ff74c408bd82ec36e97075f7aee611e42d49897306d1a18cf4ba7d6bff48eb13e5f3fd3abc8211d1e4d4c77e6f4e3804083120fa227c37a875c669cab04a7fdadc2636ffef059bccbb5cd595f2e620a3c36d63341b4e74bbea02cf5b471a1d8372644d906fca63d98af044ec95bf1a9022444d3169caab0bf568d9c31bb83282325e9ea4c46209c01ef29e730fb932295e2d4802951a8d26472380e7d5a42641cddb645ba1de46f03e435b5b6e52e8d85fa2ec24e833b965f6902d56bd599e5bf388ec650968b4a91a95336a587d54b65c71c42e756f972ffc4127b88d8fb28468388320dcb8dd367922465ca6299649290cfc7ebbb2aa54f0d08c475e21aa8f64607567d9be48292d9217fb56096366f2cbbeecc2cf87e3efee6a677a33b0ea1b7893a1b258943423bcc04b8453f15e46636e13a4855685b9743fcf16747449e5cf252f818f6588f5739312f424f52033b009c8f8d1cf189e3f15ae7dbff03ea0a5c84a5df576c4912094c7d874cdbc48a757f2106baebf259e72ab694a9e409f7cfc3c7bdb7dc984ee84b1cbf7b8cb0be1aa2707c71cf993cbfb758e826956ee5350ca00dbfab7059da394d1ee361b04feb8db9a8f3df7ad7f500e2b0b66b0309e16d3f2b74520ccd6c11b9335ffdceebd5cea455a6af52687faaa81429c65871ec46a9bbb7e01392b1dc324951e6409dcbb46865d68e01b32cbd685a015e7e23dff887fabbbbe00de0c4f01866841f720b5b693f9f8dc56e8673a115c40101f7990d879f50aad96dc542be26ce2691d41e77a7162d00504c84f33855dfb94cfaf25ab9c538ca975f89d0021b0268c0e8225bd6a835f197bd018dce8f9bf8729d8b24e722debf139255036aa8f3b0abcedb2c1759f303acfd3bd48182b2a9e0d7703b0c2df5d3a1aa1aec061bfb63bccf4c34f89864ef4a1a06d53aadbaa057da14e3be9104d6c28a9440518ea8610a38e5fe33c9bfab538ded237bda85122869abaa94d932fd809381213e2176219503de0c23639cf3d4972e127521e312d06505a4878bd1e2dc149b703ce571e9558549362e4ad1f1b0e25ac4456e08ee61680e6d114ce40e8045a27b3b1dd3a5c57db94f929f3996c6bd4581d22f307337788410e8e6afb39dfac6690134918ef64c869f76aa0437f79e43c229f089340e9f035361674c22276b0a11a2985b21788a9959e7eb4fbe1ffcdfe73abb77e6634f061f06e2d3c8a6a1029fdd2ebbf431fc07e1cd96d19bbfe261cd78834be86a6f95b99dd62fea44399da8168741cf974801b7611ff7a854f3d13d322edfe209f1fd8c8fd40549766582b1e6c6f67b052bfe2b6eda8b0e30d88aee0ac6ab0117ead8719e5dab959fd03c237c76f8aebc4fe0dc5773aea6681b86d666fc78d4496507d11f9343a981ceb85f58e77d2da066eb71d496248c08fb201a4f75db6ef9b91a3e85a904818bd9162058bda39f7ffeeb518473e9b788eb7eabbd1e30e91df84e3197efd78a4ffa27d8170bbd7a911c156dfa7de7079c21b08a6dc76aa030984166576ca30ca346e862ad0dfc6fed98412fa0d1b1ca09126c8030f8d559a980a6f9ecadcef58c984ab47f803ab1618a18bf36c5d8c6db2e6aeedcf1120d5aaa9959e2b7edc76ea492760e9253c87d21b52fc213d50339b821084 -ss = 3cf685398c6d7be5276e43b1e8dee668cfb7569c8ef89ad63f6dcfd78e1a343a +sk = 47318b2cc6a9d8bc6ebe7c12489017c03214325b61a2a8541fb783c448c3a31c1d82ba7906b09e3512af8d00d0706a3d391281f0315044c9c4f92b0ad72c60e18637577b942a442589cbb466ac344438750b86cc86b97d16339a9db0365e6696b183041543b031c9220e82bfb89c21a5b0a0d301109568b1c00b2b878c9284375949c88394f141abc188ef7607cb8151bae654a7b7bfd785b44bbbb5c5a68ca5f96bfe5abf179cb83a58aee518202c9119c80081beb38caff81f5ea51811f13be9491f431b127783227bf9b691031145d6a144213fb4f1c89c38c00c81abf075c4415586bdf28b946380c948b94d7a0c3a793100842230663f4eda9174dc7214884e0f552a50d16dfd0a5ddfa7920b0aa50437bfc735a546f5b0f4bb22e174b061bc80e91428547576b6205490ca3934c9b15fcb69611a1639974478800b2cba3d5243a0e2762be2f87035295fff40b56be37ddc71915434c4af6472c1e5c519506e691703c49c715b50b360a5c2fcdb79f59c7ade27380f9905eb7aa6f5042c6a32bae657c699eb85a53395c0303e87e89800131f96969bf45b3f574a40ed813268603a24f1c3180607814914775350b88a1fa7e1034c9cb155879668950ad5950803abc0cc58bdfc408fc1f2bf7d3a2972aa66b58844c048150c0b8c89aca3bd3269474875bf10a94d2b9ea3687ab9547ea59731b73a8849ac7b7c4b946d70b8b87c56b81b77024503ba87485ba3655f669770410e89fc84925b87c008c3cc13c7b9447d82fc2932a1c641230725a422b6219d9bdb5ceef17e121132e6615075e0b26cf71e91a1593210a09507214716a3405b2503ca5f29d4479914cd10b3457aa62a6bb71bd08736e1519e69f709b8c8439b4441bbab5d0911bc6737ca742747ca592e5ed734a8aa1b77450a9d4188e05422bd9240e285865d530e718c6f1a816153cc27414446bba8129a1716171aa60ae086ad09951c2b9aa2744e0153cbd4ec9d1736908cd78e7cd75d0333434715c517633ee6603f7993083724a596069f3270c071b6bab955844a081a896096f76059b9738d819ca3b6588d5f578058d28d2d0710b2bb2e307a5f9e18533713c41e172a99614a97c00ac0a83a25526c399cc9fa9b74cc4774830c8e754231b04274c90c526dea7fe3d203688114e7a90d3ac02ae69a139649b754581bb56825a215c3ba282a26c036e5d5785c07c62956b612fc37fb73a7c6ebb506b998d54979ff29781cd09ccb64993299745b34b6d7f897c0e05e1a6966e6757dbee29af2eacbbb7701dbc39294db584c7c3a7841112258951d88145cf73404a17adb8cc4d11788225557a83b652f95053e8507093b2a8b00ce77e7bbbe83233dc18880f2274472c05e646b90952fe92440d164092a058d69c96869d8a83377a2da92c2d668607dec3cbefc6242b49a9da97c19c2067722c8d309cb898593b08b5d8138bf2fd1c59081614f764acb392d7feb205a85270dfc1129929cf7b53d41031c92944972b8bc9a9c494ab384996647e177a87a101c45c747660aa4a38088a5f7919ca46dad338576463a1c1425a6c4409e2ba8217827ae83bed4e6c80ab528a6bbc1ad58c868b995d9f72c77e84173c9cac4311d8fbc5895d694498a68e0b16037a95f9b61c95ad0b052e01ddf68a1fe5c094d3b8726545f1f857be735475a8abdd7c7b749377f2fe1adb0ca283d6721a109790f4242ab1711b08cc2cf7361177969ee3106b8238e4d41795111908fe17dd68a461c490d165316e927781ad220fb371d5b1951c4d83d047b72f258865e4296a9727052f4214eb55727b23a52bc68f73cb417cb40ad595888c941ac9360c11c0d17790e3efbcc97373afddb9ae3f61030729d5b7b200e4555b6d25d3e6b16e211bd05dc2c724a33ffa8bb3aa4684a422c19892731630ee2125ac8d8cdfac2b69834bd888aa2eca804d7a935a8d371899023488c9799b55f2d83a7d970aee1750dcc59483cc49451991a799044a74326eb0689a1c72186226c8102b344209fb510c21a885306a69640f6add7858dacc86216a189984640d518312d553626da12c9180948492eb5d1090bb896b1cc315105b2a0002f83b3997f02a227740bd4421ade421696031c495892cd3bb68aa38ae1f02afb536e9499abccb904973661fb70ab80405c4c59421f913a78e89f67767e71fa51431061746a74746b1fd544065788a7f880b9c81c007e6091e6118f3acc518bb06579b45ad1374404284b0f1c370c53062cb79a08015b4086626d3083ee7b427b24613947588f7149777a3fb5919c73d5a23ef5445f24aba79b94bfba774f71c84f929978c44e07a84bb9139b32fb97d4b20e363a2098838c6a3c51ad244b540b90020c5a0ce2b135918db1e9093a0cc43ab210d28a7889da51d88c7b3d1452d7879f34a130bb263f51429086e39051b8acb15a8a34d7a856e6a89248baac15ba1138b680e79e56881b94376638f507e95809862b0897744d3d8658e33c89a7791b93acb17ddc91ccc5b71b01b9bca81a7485c5e4428538a3ba7f124d24864149b26d0f246e9aca34c76103d676cd7a54abae1c895c37b1784476180601a67a5d04996d195363c61864caf95e7d3b2f4ed68ca2db09d9d34f86d5666aecaa468587fe5a3c56434ff4815c61094c831699c5f1be9301299e3016b4cc602bb62a4f1c2f1af247b4fb92d4a10430e29f0a71c02df70e48e0ab79c0a31827b996b4328294864deabf8114b4dd58b53919b1e86ccbfbf7931523409da691ddea60dbaa6114e62417d9bb054110d3284b3285110b7069fcc58e2e13cb50daaa0fc082b7c87eaf13063c6a966b4cc24334a7e6fb8c3131461756a35f2b9842811f233a6a7127a33b7cc559b477b491c0155949f9952ac9631c32451b3872967955c1235b61af676429c94e9034405be47ac5873c9dc33ed94828c9429dd7cc29d076871222893f207b0f3a8086d77c3d7792ba25ba8db46a554b161a30cca878ad6397974acb3812767a95a01f73ca80f1d83006e9460d2348c047ad60f2841db1bae58952142aa3491cc7dde58debbaa27621c7caf299f4325ee978caab6ccd4bd7510f318b20e98d26a94ee99c935629394e6b80a5614891a75b45d81eda8a6cf8d8b43d62ad9399369023c4d677ce75f14f84b05d01b7b021e15e459bc5c82cc9c4158ba32c5d50708ad9f620297333a4d899cc7a90c28740039b351345bc7b971aaaf39d97326553740238e569d4870bb09c66af75b532778b9b0a631d362d13d61567212e6ab523fd4c3ebd5839e4aa1421db5e06e33bec836876d8a8624c22fa56c43d4060a9e52f1c905ea8714d8436569d050c7a574a74535aa3c4c194bb3d4a867a07535dcdd93f644baa2dc5242c5a58f0c8caedcac7c5256d8f3b40bf57b055616c24569a51c5bd712279827bb00d274d767156173c7ecb8766202376e9a7227517bc4488c029b9b6b2642858344bd14c8837ac908690312ff5a6de7bcb88f2cffd40a9fc666800f9ac54fac76ff5a42ff83b9d49233c841607aa348e2a5dcbc572d2a482f78b2cdf3ca4bbd22148c925276b6072d777d53081311a286f37ab14ba2000ad4cb82769dc889de981c969f732eda2717cc405cc276fc965ca2bcc80054c557c1343847bc6054157a5276432917501f88bef0b44521c0d5fa168dd89c9e34aca4df0a348e53eb5c939650a240879c0911a8e1ce371d7ea45e6f90b8db0520b115f826085ec25a108309466c11920984534c99dfbc7467af31d5f941784586bcc0347412c48d0927a4b95a22d98b49a1a20cc72272f09bb63aa194e4450c3bc2351ca6d2043a68ec30c705cc856b00f5054a66d3140bfbb47425a67eddbc4204944a1e379e1516e45216e12d06b2d522398a125728822ced62dacb220c845a444594b3b6977eea89e256878e52c766a86a3fd04437b4165242553fc747b80952769c10547804b80c1a6d85a29620aaf7054a54aec77e0e3c1aca9613e0b877d39cc9c1c9088a96d7452a3e2c6a1f87c4efe1234bb9971a1026292c22c94449b7c8a2cb117b8175c7416284742120c11378c03256e4d2b80d502bc5ddc1d4e3c022bea80140307a3a214ba51c807db26f2536829a62400fd3a8d06b788e5cd43896a9a349a4c0581662999b9ac52803ba34bb128bc0556fdc40ea9eb0b73193396d51c1bd533c4910b358969ba135f862b64dbda9608dc7665fc61ccd645f8926d1835adc34386cea20ffe3283f900a4ffb693a223755a50c4771379307242e4548ed4dcba4574410d409a4838233499a337859c64c6941d477f70bcb5a653bf571602e5224e40f228114639b811c5c1d3b614daf84266bc4c312fa43c4109dafde79000ab39bb8615509158b63be5f5e51a0e690f2ad6fd0c56fa886bd85902abd52598bc815c2478cdc8d59ab164856623d53b9e60cf0aa8214cb64e674140bfd6de9fdfaf +m = fc69423340cca2e8e96b963188545fdb2b9287959ecb7eb108f8d04204bc87ca +ct = aa22fd8fe3d2388cf610bcac23fd3550250cce04a2ac3eee5446a6a61bea88e60549836fc8e35aa25e4c3cbb26cf9edb89bfe68dc0c8997d683c4af2fe2b4e1a7b1fed925120db6a7bfaf7b0585a82523d7080dae4c6929807935ce1e5831fd985b54b07f6d0e65aba37cb27d357b603ac44e6b6a4fea5e12d6da5960b39d2c77ec1af5736f5a7513f0a67652e64cb12dc4e356ee18521f5892c9a341813de93b286e53dc8f04c45f49372ecce5e6969c9cdf1875040dccd0303e6637b7a56c27c8a3500d091ba21cf8896003d6cdbd222a5b1309d75b51f0a9ffcb38ac73e1cc156493746b14dde7c52f291de6654937a6f90b78896a1d62fef21a82853199a05f37cb6cc8389e90fa07e067df85fc92d13c07b545d4c65230d00768b899c788e05ae6e659bdabc164315c29d2b3a4f06393dc9bab9e6d46d180927459d0081dfb25a415c46705ab00ee0366133671a485bd669b36bd1ffb249c2e89dc2766c94d2158d0bcd164dd88fb7eb1c271f068d5615771f7126be7f0b0fd59e43a1d7a8908118696d38ea4fc36ceb0592c1fba5567702dbf939fb94002664675cb8d2df22d6a56eac0ed05068f871cc6bcb6940f77a9b4f9c283f09c54de21a97f5f48fcf9a4cd14631d537c2872dfdf007ed8a135dac8e5609cce47624006ed414c77b5dca7c969bc2b942f206a9e4d686596edc7c2f9249f0f126c3b6dd2e98293e5de8da7ac7288aa6881b54629126d5d63f29a967177877b4c697a5866c70da15611bd3c06b68c69b6c242bbee42562700c7a5ceb1174f58d5cf8088032469101a2277f5aefa739b976f4b30af66e1a7fc88283fe59dee3a089568ed99d812cc43d6c2d416971f734ae2bca2ee7cd092f14fed4d2ce5be6a79ed29be04d7449316b3d79f326f9f5fceb368fc5ecde3d99a0552b9bdd9e0133317b034c0016073490c76e83c40294f148ff1bf6b618205f75239f9ac8aad67cc3e2c3b7a4a752ce132480a51eb26260ee51660cb43fb77de8dc8b68fac20333166edd77769c9790e69200435236ec4501f2e7130dffcc7267ad94970fd6a68d147e501d71e8be13bd9b859b19db6f43ddc87a07f3f94f4941d8342e00d31a4d51c69d9b29ab4ea960fc560f65a00101599fe45f8edc86bc081164b3391224810ecb8e708f789436ddf0e9c2c3c3b4cb8b1e8c3cdf3b229d681dd706c83e83fbd572680bb3f428e9fa65bf64b8f0c2f190881dba227bc1e08a3f77cb8940038e587b1f63513c12dbb61cc964ad305c15f7416a19fbd6290ef825eb470f2fd380a1d69472e002a55aeb04585409088f20fb09c0ca7a7e286e8f240b5099f814fcd9de1045906c307ac47773de56d3504ba39e6f11afa53f65008ff1ca112dc3a9f08567820e095f12423923a136561a4e9e984f9caa1508d8f282a864b16c14771a0c3bb4c5f94399f63db5f74eb5adf3a952e456e2a6e803b839024b0c52bd150ef7faf41bf465e5d5231832b7a84299d8f8e7b07cd48f8261e851f3a81375685fff078fdb159b2898e372223c7ca7945c68a45d7ab314d492442ef1aa413437dd8b1ab7740596eeb31465347192cd83e5f4b1e569cb09342d093717f0e518be7845b327438b879ddab9ea0f196bc095ff0c565839d69d2bcd40075c3236aba4719dd30b9c949ed23abc9d7b20771f7cb03c4a8edf4304cb49f6a6d197b8d0473ed9e48009377ce8c09dd912a0421c467f0861bdbda2438e1f696a3ab5c00f6b2328e97cb688e7980f5be3e6e0b7b5f3dcb92b230da8e05f30e4c3aa0e4483b680d416176aa8b100a2cb5d8e0996f626c610f1a7b7eadc2d153aaf5374b6c1303cd59c420dd5e77a96e4ff0792e4f8f370100064f0f1c5629b1a53aaff3a6388c1efa1b6a66906c5ba4c9a5bc502458dc935fad6f6285c90420da42ea242944b21eb5f916092ecd15ce1b69d4f272d38391ce3d33cce79a02f65adba75cb121a28957d98661ee90bd07cd8469ce58c1979daea015a73ea1f18f8f932e1f09ec5ae17f231a0c481bddf0bfe984c8c3350ebb2a77c87053fdcc1777fa38215c1d83a15c683edf83016c91bb5b652ea2ec74ee06303c98554bdb09622912ce147a9589229c04c64d48080f274f3c3c9bcae5591fd0a95e95d35f69ad86f5d282e526f50d528ac9716bc0ae016df628fd8bcaa73c39f6a62fb1292292036a600c03d14e8f6c0db13bc01 +ss = 920c48aca75e502412ec455d00c5da4fe0588ccccea95299a6036e4acc3082be d = 1f7cfd2b70863154e8a69d1758532e86c20cfc763d67c758bd10a13b24e759b5 -z = 273b38bddc18488024ec90e62a4110129a42a16d2a93c45439888e76008604c6 +z = 88e66590b5b102b223291cc78119bb94e799e37b95b7bef0337e6a572284b9fb pk = 52dc3121b31062ca9d2d7599b62b942c221868e9030e52b016bb30bba71109ec9cf44930d76757d16452623010828925c340a8c2a7772fb71a09e1cd8cb73fe5c1a8428219b9f14eab47ccb13703ab2aac1bab159fc57b1ed434b5a00d5221c05ee77faebb4a05ea04d9c6abccdc5764e876305025e57b9e25473dbebab8bc207148f720f224b1a4887da3604e23321f17167b01d546b5074cb27bb5b6a365b91232ee7cb7f47102902285fef001e4914499da9e31eb1376e110b3bb06fbb350a054bd79e84113021bd1a1637be1a7d3057679b41f20fabf3d764c158457e7a967cd4440d4eb2c2d09808296c1d666784698115a83ce0840467449080e038b81f1c7743c7f71861d0a150c5867bb71db4ccf5c5a92955cd33812d3590b7b999708b38d6867b979650a73a63cc9fb9bf87653c5396ab8730e38201d3d493443369a7b424fc895cbfd96271445849c38ba8c9a969cbb70626698f12223e450c58cf5a384fc784914072ed92338f11693bcc2c48c201390144bd52584260a15bb48401baeef381affc95ac96033816c3414d03ee70ca8c947c7b9ba2052393d3ee9856cd52708ac02294c4cc58461b379a8b3b5c85396b4e90b678c9817c34b2ed2fc9e8bf346ebea1e6987b81e32b6fde7947a1772230257c0b1c564427b0951a451c11c6f2a7c27b6391c2b0581d19bad322038989c3540084132bdcd6368682927524149a4620326c7b968f6090ebca4b7da889b48723ad977bb76369d3b07873b5bead9cb08766702b90d16ea4ce99a7ffd3ac1b2dba13cba3dafb3761f09ab7d0084f324bc15a0347ff2264bea0c88711364ea0dae46763a02c3a90b1655eb7d74a59d3687738f1c8b26e0929920089237a196d64a3ea58facd259c4d72e17721efb36c6aaa1572ea88d1171134fa331c43125eac801d1eaa9ef426efb2cbd6718a4be981ebd2375b73c91b7248ef21c6bf6b29a4c385ee899007e44a50af44ff7a4a973d933889241aeb90358f84943917441c7840d0348526b25ec3a15558562f107cf33540823788075931711c5133f8516bef21c8425088435405275b970c457abb73f696612b253221112a34376c3133164a617c6002a5fd143b7fa094abae345f78a734dfaacd7f6377ab48f943bbb3690ba32476f701c7af32575cbac0beeec43bcd8b54fe2c026d6c4b4fa150111bc58a8119c083a1a755e0e0c57be5c0929f64946015f8ac80c07a249eb68afff3388f205353327b484cbbfdf6236222867bdab6bb2fb4fda4260fa1b47bd47b43490cb11a9c3aca191dcab94080bbe8e394cb988ad474c122964739f05b5964070ddaa7a4bf2227e96498f7205e17b77d926695c3508f1105e4774126f014b61194436042c3c155e4a5134dc95583c189aba2bb29268c44e2b6b6d52b70198a4e193c0b4587ab18a0166c51365b05949a438e1f8670c69be929b5c44e851b6c6af3d1bc3fb9cb99a7a7af7d6448099a0af87362ee950bafa5257d840f427adcff5a048717b60c22d5b2a6cdfc4158d5747925731aa85bc66ec37d3384ffc7910ec5b4d2cb5442e25ac411112dd4b983b68a90bc57ddb122d73372794214e4e64a07ae676da990239498257149c299a193fa1cdeb371cc354bcde26c3238bae59230f4ccbc4614708fdc39ca5d916d80873908204b70391788cac2a346a1ac72a92673532bc9286455d7eb405c830beaca707fb865aa1d41315628ccec14d431434fff6350e518f3ea8422b44cea3b6b39910ba6b5265e8d18452f7119384244228a983c3aeb0b139a96830ae90b9c2e569fa885406c1270f1654cf69a34c2375f2bb537f39a61935af753cb6ef139317105c9f4b3dea094093d667396552b2b9562cfc0e9ea43c54f99430931f10bbcc0c81270ae352cbdc29658188e67a3de915469ae4263667665385381a352b48176539f59d4e2b19737309efe6c40a1a4d3f52a7fe47089ed22fb3b3c24531865beb47f823221c690b60586928ec5cb9505ac6b9c764b62b63273165f70e76034614ec354b38786feb660704a5de79b1d3399da5c8b1e0416af49c22d7a6982a338471cc88b18258f2f3b55bf51bebdcc53a7829e4c875f18127c7b5473f0252bfe4735c59388b305f3f106803c27c6bc3c51d38070f1561eac805070ac24099bb9a086057df0c5465326e1932aa50da74aa8435d9294fd6b7c05a153f30 -sk = cd28aa8c74142a0508c2534d5adc64284806bb2c653bb9783adc640e9945c253af86f57c19b42c6697ac85d1bfa46b5231559c11f5a0da9b2bf43c40001d4e6c00b81237343e15a41da190cf8940b641a4b42b72d9cc8bac681369dc07d80aa62f135b0f956355a4a68e575f34393c42bccea68a7a63c269a5821557299ff63b9f0161368f6084132c8b56984f4d1626d7436dae2596e1b24a86562374b066d2483a1b354fff9766845480ff396f6ad089b724b0f15a34c2288deb05a8418909803cbfe2f3c63c30056f358fab798f4e385eb0e35ed0c38ade7382787a2502d117ad0bc6cc0a4746aaad23345f10074b21970c18eacc898472766b2313472dd3348c82f69b7d961cd35a8c61984e7ca20ae6382f04a977a72b532a1395707cbb7cd595e0da0202498058e59f22e0c340c438851674e3ab1e0d872fda3baa7f87b67f449e6bb461bdf1cd771475d5b59facc30181599ddac8ce68dc2de5741b21422fdd512b39d9633adb202af3941e323c9326297cb58086c3282f722c4d50b94b32153ff30b91f07a811a9d9e07b7667846806b6f7071ae29323156b668f831a9f79ab7949cb363dcc8d151349db4b5ec1266e7f5af98105c95c0a4d47648aeeb01fbe1113948b407fcbe199bc2cdba40257745d765c6a0766012f19df41a770e96cc95d3cbc70549f7e61914a73dc71062f2a3a377ec26ded59e0cc85b11a74f43c3237c7561cb7046c0e660b5bb0ba0634ff2b211438a9b9b906f241b04b2439f29a3cf0ad9128d683f0c2c26ca050978cc179872b1664a751458c072106fdfa07d97105188278268b0481018782f361d08555fe5799a0654398285b378f7a9f143ce20673184c75e8b662085899812912fb8a60485921b2f7b3feab95cb7aa327d8b9dbcf7c7256a131270b731e33f8f555cf4f8b7a1e6aabb4c83d2938b7b21beb1c3b3cb3bc08bf52fc1f5715fa89ef8e205d85862f6a2cf420592aa24568fa0b8dcbb90d0b654c7c82c7411b6c3e219f46c352aa034c4fa0aa4fc47daac204b351497727b96714359a66466f6c4cc2b83bf6b87785367c7116489d6c5feb975e41c4bbb2a3d8fda920021c523227a438374d96032f62c41b17422584ab5880475cdda8b7f4844e5420c25d97235b0acf71012adab59298bc80052aaf1807e8015695d92184741bad318ba9ae27c306a2e42c80512534963b70b9d0b7f5ae70326c33e7d43249e8c9ce386947c167c8f33c88947244989c45b4858203249fa5a136734153cd94f1ad467b5043f7ed77f58d34490d1b5f9e323f3e2146011921b8a9f94e419bb85ad965443e7f4a73534457be43ee5f677a63a7738762b799600fa0b9cd328ae4cf507c1d9845eda77c30bb7c39c618afb402cd9b016f0092cb61e8be13a18925ca122a142409b8dc637a364093cd76925a194aeda21c61709255ba2de330693b888a6c2c6f0c39fa5b4c7fcfbcc198b3253c0abc5ab5edfb438ed3a82b72b5f54a39d21c37879480c4a648f182a94ea566c598ba4cf697140a20fdf4cabbc540b80e8664216a6e880553899964a7b239d00c68e720706512cd2a58b9c49bc0acb90283b506ca196f7855ed69ab21f059a11fa3fc4670dfdca6dc0a17c3e407ca5f7c0bf4481d006bc6f257323700a3027b296b58b4c4716200c8b382190c1cba73b87c1497b69e8755f9cc5228efbcde6f2c0120a524d87080590a92222725892b588bb8ec10760dc535dc2029e4bfc7dee8005a82446534462fa1443ca492999c01d87d71e0b6c9d0e7a9fac2264c8c80baa5052f9e876ca5b5d2c286d78467b8bf35e51c27b7f34b45d5534b45b520aa18a85e54d22babe9b618b098a49810ccc2adca1b8226f8ab826ecf9c5fa2b665ebb5449075bf6ca53dc5665ca639eaa96120585b9b772a77a17bc2634c268fc9df25b516878901a1332dc3a0a38cac0104c59522947b92abec9aa8d943aa710305a9aaaa751b564cba271355ba882bcaee053487b0c899af306678bbef3b603a8902cbd61aa78639eeac2a387158e27f629395422a3c922ddd45ba7c93c6b97148dc7b990c51c63101672d87d10c8782cd48dc34a925be78b245016a144c392447f576282e1c83745fb395bb2a4f5f2bc224a0628f75621817798f70437e6381fcbccc547cd52dc3121b31062ca9d2d7599b62b942c221868e9030e52b016bb30bba71109ec9cf44930d76757d16452623010828925c340a8c2a7772fb71a09e1cd8cb73fe5c1a8428219b9f14eab47ccb13703ab2aac1bab159fc57b1ed434b5a00d5221c05ee77faebb4a05ea04d9c6abccdc5764e876305025e57b9e25473dbebab8bc207148f720f224b1a4887da3604e23321f17167b01d546b5074cb27bb5b6a365b91232ee7cb7f47102902285fef001e4914499da9e31eb1376e110b3bb06fbb350a054bd79e84113021bd1a1637be1a7d3057679b41f20fabf3d764c158457e7a967cd4440d4eb2c2d09808296c1d666784698115a83ce0840467449080e038b81f1c7743c7f71861d0a150c5867bb71db4ccf5c5a92955cd33812d3590b7b999708b38d6867b979650a73a63cc9fb9bf87653c5396ab8730e38201d3d493443369a7b424fc895cbfd96271445849c38ba8c9a969cbb70626698f12223e450c58cf5a384fc784914072ed92338f11693bcc2c48c201390144bd52584260a15bb48401baeef381affc95ac96033816c3414d03ee70ca8c947c7b9ba2052393d3ee9856cd52708ac02294c4cc58461b379a8b3b5c85396b4e90b678c9817c34b2ed2fc9e8bf346ebea1e6987b81e32b6fde7947a1772230257c0b1c564427b0951a451c11c6f2a7c27b6391c2b0581d19bad322038989c3540084132bdcd6368682927524149a4620326c7b968f6090ebca4b7da889b48723ad977bb76369d3b07873b5bead9cb08766702b90d16ea4ce99a7ffd3ac1b2dba13cba3dafb3761f09ab7d0084f324bc15a0347ff2264bea0c88711364ea0dae46763a02c3a90b1655eb7d74a59d3687738f1c8b26e0929920089237a196d64a3ea58facd259c4d72e17721efb36c6aaa1572ea88d1171134fa331c43125eac801d1eaa9ef426efb2cbd6718a4be981ebd2375b73c91b7248ef21c6bf6b29a4c385ee899007e44a50af44ff7a4a973d933889241aeb90358f84943917441c7840d0348526b25ec3a15558562f107cf33540823788075931711c5133f8516bef21c8425088435405275b970c457abb73f696612b253221112a34376c3133164a617c6002a5fd143b7fa094abae345f78a734dfaacd7f6377ab48f943bbb3690ba32476f701c7af32575cbac0beeec43bcd8b54fe2c026d6c4b4fa150111bc58a8119c083a1a755e0e0c57be5c0929f64946015f8ac80c07a249eb68afff3388f205353327b484cbbfdf6236222867bdab6bb2fb4fda4260fa1b47bd47b43490cb11a9c3aca191dcab94080bbe8e394cb988ad474c122964739f05b5964070ddaa7a4bf2227e96498f7205e17b77d926695c3508f1105e4774126f014b61194436042c3c155e4a5134dc95583c189aba2bb29268c44e2b6b6d52b70198a4e193c0b4587ab18a0166c51365b05949a438e1f8670c69be929b5c44e851b6c6af3d1bc3fb9cb99a7a7af7d6448099a0af87362ee950bafa5257d840f427adcff5a048717b60c22d5b2a6cdfc4158d5747925731aa85bc66ec37d3384ffc7910ec5b4d2cb5442e25ac411112dd4b983b68a90bc57ddb122d73372794214e4e64a07ae676da990239498257149c299a193fa1cdeb371cc354bcde26c3238bae59230f4ccbc4614708fdc39ca5d916d80873908204b70391788cac2a346a1ac72a92673532bc9286455d7eb405c830beaca707fb865aa1d41315628ccec14d431434fff6350e518f3ea8422b44cea3b6b39910ba6b5265e8d18452f7119384244228a983c3aeb0b139a96830ae90b9c2e569fa885406c1270f1654cf69a34c2375f2bb537f39a61935af753cb6ef139317105c9f4b3dea094093d667396552b2b9562cfc0e9ea43c54f99430931f10bbcc0c81270ae352cbdc29658188e67a3de915469ae4263667665385381a352b48176539f59d4e2b19737309efe6c40a1a4d3f52a7fe47089ed22fb3b3c24531865beb47f823221c690b60586928ec5cb9505ac6b9c764b62b63273165f70e76034614ec354b38786feb660704a5de79b1d3399da5c8b1e0416af49c22d7a6982a338471cc88b18258f2f3b55bf51bebdcc53a7829e4c875f18127c7b5473f0252bfe4735c59388b305f3f106803c27c6bc3c51d38070f1561eac805070ac24099bb9a086057df0c5465326e1932aa50da74aa8435d9294fd6b7c05a153f305cf14252096e4988d8ecc4ac6d29ff09c55d666865863d03a68db523728910a8273b38bddc18488024ec90e62a4110129a42a16d2a93c45439888e76008604c6 -m = f1e5542190db8ecf4b8d617a04fd3783ad0df78bf8dab749afb57db8321d151b -ct = e23dcb2a014177a2782bd2e50125320cabfbb9a7c8b516c957ac9720767092a306f8b99f7cb0e65e94b84d22855edbdde132bcde713729f7c1ae94e89de76149f1582ace6e0c10b4508df00f8f35db857ea0472c373486fad5ec4d5be5bbdf56c9e9a2d9d4fec06a4482237764e169ad66b36c29dd194a96a1ccd1d267319be15f7c68df9d9631848a1ac5113c22a2cbdd6d22d2d12b9b66301515655bf3d4e483fb58a05b8cf005685ec1ffe65b9f0623f9d0ba382515a8e34ec918f69fbb9837d7cf58fdf6c167be0eb973945ecabf75870444b9d3e0c4c16f6a8225015668b01c8c1ec59363bbe49307c8b512d450ed1f5374aaabed2f24dcfa125ccb429139597e93f9a54eb859acea60e407c4daef2d0c74d4faacf5c77df5d70b7f91a4b4bb49fb9a5aeb88cd689e69c66e5db3e8e854411e2baa5da74b76260348fd241a218c75d3cae201deb8726dcf01ee834d9d765b492c97c3d77ceb033ece55b0fca471d5ccd2249783c8add544afa816f5915d05c5a6fbf06e64bb159f661d1e3a418badd2d8790ab60c55344746a91411a4d3c24dda13a79a0c8e2804b1095f4732dfcea21c4be8c34ee1f1169c20ee6128c3cce87beaba40a9446e5d0fda9d5b61eb2694346a2c701f41d42c0869a11f2017b37ea4dae310e3fc2411a0201fd133b3bbecbe413ef813f3ad0603e172f346e32e7ebe00874daa7d61bb29c33aba7fbffee19f026db0ab565f3a334785743a05942df9686d241c4d76d64b0216eda51b09e842555adc4ace342cbe6fb592180eaa1f477cfeb66544a993eb773eee1478879030ed5f9097bac566f850cd01a7d89d77593eb4cefc4f74c7771d523f04ff62f018933a64800909f8102ea0ca43f0bc267c76f5c3993b57a48e0ec4b40b04843c1537e3368df4ef899bd8f14e25a9720f79c95cefa11d445b476246daba63008c32fe1c1a4fe65222cb31e3db646bc0a316e4a3c1f1ed43f0332525e9f7438594d67b3aa824e4748c0cadab664129a13452a4a55263e3f92f2da720ffa5c132c24ef2ab54027ed5bb3ed1fed489a6b5df21a07f2fccccc066882020e0a8de8b6a209defff7bbf892db5487968c42c9db27ce0c83aea25184f2407e126765bf13d940127b30e8ddf8246dd8d40f9c3fdb2ec3c8ea6e099651e815b8c97ebc2b4d506645e4fcffe97c9e67363d57bb5eee180b225de335f6079360b1663db1b1f7f81461c91611e4a65717478c9cc27cfde1f6be34761807cc86bc67aa179f3b3bebc4c1120a3b9bd45e946611f924f88ff1483d70a6f5ef24cdf9ec7f5ed4df589d036d5027a8beab159217d6fcbda9462419cf7edf59ddb83b0b2d1afea23135b1774b3d3b3a580b371035ab2c604dd9912057c1dddba91007f9322cf33968bbd94543e01e0117cd48b5908b44eebb965ed2fb7533978618a310bd4991d9b1f439e8f206e524db466c1a4910efe4baca9c59825666b2d4ac10149e2415937c3c3ff53287b15d68ecb71e26f2dde2366f2032c74d88cc5a8d09cc4d17583a9cd1120491cb27a20f3e1c027254ae595ea43539c79db220c16ad3ca329404cfca6da5988e5ef2ba52cdebee541d6934a0fb7ccfdecd21d7195249d970e9684f46571df66153096a3b797bbb002f3af31f74cb0a658c69b8deb946483c2dd7819bdadb234eff0497c06499f4dca7354f0425e0c20d0e6dd246f9f6767a63ef9b1455885cad01d91bb307c246f0c0330423178df38318b2c71ee87e3758b982cc2ebdbdad6a70cbce046e3c45d5fe967e736ec415f0b2e5aa3332540a2dd3f45ee7077d8d66f197e6e97a55d3956fe6d5df4fdb49ff86e14f56edd0917e530433da644e7bda994d05298f3ed24bcb9d9950f89c161f24f1506630d59babedabccaf4a65384ec6158925b46a01a10dd5754529f2e1230bdb351f884203193259563c42023a65464727c54e9f6f3fd771972c5c0b20fa4f480957985b1754891a21d7f615d8b4c2ac03e0ae8318fd0230167b903277cc09cb5328447565cd70e49e151c4eab4923c6dea0e0d8cb6b8ce64a23e281398ec6a9ee6697c7f4f649f5a360b955178f356ba32e272bc38229dc5909bc33d32dfd02f1e7e71d586715a8bff5730ae850da553c732aefa27e4588b9e69d2fa2f165f546a6931b073e27894158d13a42a26a7dab5b40720fcb4875a3bf4f484c2aab5e7541b207869ec -ss = d8f625c25326ffde75ad8a731ad675a60d0cb37eabe8c1ca1e2c7ca1226c446f +sk = cd28aa8c74142a0508c2534d5adc64284806bb2c653bb9783adc640e9945c253af86f57c19b42c6697ac85d1bfa46b5231559c11f5a0da9b2bf43c40001d4e6c00b81237343e15a41da190cf8940b641a4b42b72d9cc8bac681369dc07d80aa62f135b0f956355a4a68e575f34393c42bccea68a7a63c269a5821557299ff63b9f0161368f6084132c8b56984f4d1626d7436dae2596e1b24a86562374b066d2483a1b354fff9766845480ff396f6ad089b724b0f15a34c2288deb05a8418909803cbfe2f3c63c30056f358fab798f4e385eb0e35ed0c38ade7382787a2502d117ad0bc6cc0a4746aaad23345f10074b21970c18eacc898472766b2313472dd3348c82f69b7d961cd35a8c61984e7ca20ae6382f04a977a72b532a1395707cbb7cd595e0da0202498058e59f22e0c340c438851674e3ab1e0d872fda3baa7f87b67f449e6bb461bdf1cd771475d5b59facc30181599ddac8ce68dc2de5741b21422fdd512b39d9633adb202af3941e323c9326297cb58086c3282f722c4d50b94b32153ff30b91f07a811a9d9e07b7667846806b6f7071ae29323156b668f831a9f79ab7949cb363dcc8d151349db4b5ec1266e7f5af98105c95c0a4d47648aeeb01fbe1113948b407fcbe199bc2cdba40257745d765c6a0766012f19df41a770e96cc95d3cbc70549f7e61914a73dc71062f2a3a377ec26ded59e0cc85b11a74f43c3237c7561cb7046c0e660b5bb0ba0634ff2b211438a9b9b906f241b04b2439f29a3cf0ad9128d683f0c2c26ca050978cc179872b1664a751458c072106fdfa07d97105188278268b0481018782f361d08555fe5799a0654398285b378f7a9f143ce20673184c75e8b662085899812912fb8a60485921b2f7b3feab95cb7aa327d8b9dbcf7c7256a131270b731e33f8f555cf4f8b7a1e6aabb4c83d2938b7b21beb1c3b3cb3bc08bf52fc1f5715fa89ef8e205d85862f6a2cf420592aa24568fa0b8dcbb90d0b654c7c82c7411b6c3e219f46c352aa034c4fa0aa4fc47daac204b351497727b96714359a66466f6c4cc2b83bf6b87785367c7116489d6c5feb975e41c4bbb2a3d8fda920021c523227a438374d96032f62c41b17422584ab5880475cdda8b7f4844e5420c25d97235b0acf71012adab59298bc80052aaf1807e8015695d92184741bad318ba9ae27c306a2e42c80512534963b70b9d0b7f5ae70326c33e7d43249e8c9ce386947c167c8f33c88947244989c45b4858203249fa5a136734153cd94f1ad467b5043f7ed77f58d34490d1b5f9e323f3e2146011921b8a9f94e419bb85ad965443e7f4a73534457be43ee5f677a63a7738762b799600fa0b9cd328ae4cf507c1d9845eda77c30bb7c39c618afb402cd9b016f0092cb61e8be13a18925ca122a142409b8dc637a364093cd76925a194aeda21c61709255ba2de330693b888a6c2c6f0c39fa5b4c7fcfbcc198b3253c0abc5ab5edfb438ed3a82b72b5f54a39d21c37879480c4a648f182a94ea566c598ba4cf697140a20fdf4cabbc540b80e8664216a6e880553899964a7b239d00c68e720706512cd2a58b9c49bc0acb90283b506ca196f7855ed69ab21f059a11fa3fc4670dfdca6dc0a17c3e407ca5f7c0bf4481d006bc6f257323700a3027b296b58b4c4716200c8b382190c1cba73b87c1497b69e8755f9cc5228efbcde6f2c0120a524d87080590a92222725892b588bb8ec10760dc535dc2029e4bfc7dee8005a82446534462fa1443ca492999c01d87d71e0b6c9d0e7a9fac2264c8c80baa5052f9e876ca5b5d2c286d78467b8bf35e51c27b7f34b45d5534b45b520aa18a85e54d22babe9b618b098a49810ccc2adca1b8226f8ab826ecf9c5fa2b665ebb5449075bf6ca53dc5665ca639eaa96120585b9b772a77a17bc2634c268fc9df25b516878901a1332dc3a0a38cac0104c59522947b92abec9aa8d943aa710305a9aaaa751b564cba271355ba882bcaee053487b0c899af306678bbef3b603a8902cbd61aa78639eeac2a387158e27f629395422a3c922ddd45ba7c93c6b97148dc7b990c51c63101672d87d10c8782cd48dc34a925be78b245016a144c392447f576282e1c83745fb395bb2a4f5f2bc224a0628f75621817798f70437e6381fcbccc547cd52dc3121b31062ca9d2d7599b62b942c221868e9030e52b016bb30bba71109ec9cf44930d76757d16452623010828925c340a8c2a7772fb71a09e1cd8cb73fe5c1a8428219b9f14eab47ccb13703ab2aac1bab159fc57b1ed434b5a00d5221c05ee77faebb4a05ea04d9c6abccdc5764e876305025e57b9e25473dbebab8bc207148f720f224b1a4887da3604e23321f17167b01d546b5074cb27bb5b6a365b91232ee7cb7f47102902285fef001e4914499da9e31eb1376e110b3bb06fbb350a054bd79e84113021bd1a1637be1a7d3057679b41f20fabf3d764c158457e7a967cd4440d4eb2c2d09808296c1d666784698115a83ce0840467449080e038b81f1c7743c7f71861d0a150c5867bb71db4ccf5c5a92955cd33812d3590b7b999708b38d6867b979650a73a63cc9fb9bf87653c5396ab8730e38201d3d493443369a7b424fc895cbfd96271445849c38ba8c9a969cbb70626698f12223e450c58cf5a384fc784914072ed92338f11693bcc2c48c201390144bd52584260a15bb48401baeef381affc95ac96033816c3414d03ee70ca8c947c7b9ba2052393d3ee9856cd52708ac02294c4cc58461b379a8b3b5c85396b4e90b678c9817c34b2ed2fc9e8bf346ebea1e6987b81e32b6fde7947a1772230257c0b1c564427b0951a451c11c6f2a7c27b6391c2b0581d19bad322038989c3540084132bdcd6368682927524149a4620326c7b968f6090ebca4b7da889b48723ad977bb76369d3b07873b5bead9cb08766702b90d16ea4ce99a7ffd3ac1b2dba13cba3dafb3761f09ab7d0084f324bc15a0347ff2264bea0c88711364ea0dae46763a02c3a90b1655eb7d74a59d3687738f1c8b26e0929920089237a196d64a3ea58facd259c4d72e17721efb36c6aaa1572ea88d1171134fa331c43125eac801d1eaa9ef426efb2cbd6718a4be981ebd2375b73c91b7248ef21c6bf6b29a4c385ee899007e44a50af44ff7a4a973d933889241aeb90358f84943917441c7840d0348526b25ec3a15558562f107cf33540823788075931711c5133f8516bef21c8425088435405275b970c457abb73f696612b253221112a34376c3133164a617c6002a5fd143b7fa094abae345f78a734dfaacd7f6377ab48f943bbb3690ba32476f701c7af32575cbac0beeec43bcd8b54fe2c026d6c4b4fa150111bc58a8119c083a1a755e0e0c57be5c0929f64946015f8ac80c07a249eb68afff3388f205353327b484cbbfdf6236222867bdab6bb2fb4fda4260fa1b47bd47b43490cb11a9c3aca191dcab94080bbe8e394cb988ad474c122964739f05b5964070ddaa7a4bf2227e96498f7205e17b77d926695c3508f1105e4774126f014b61194436042c3c155e4a5134dc95583c189aba2bb29268c44e2b6b6d52b70198a4e193c0b4587ab18a0166c51365b05949a438e1f8670c69be929b5c44e851b6c6af3d1bc3fb9cb99a7a7af7d6448099a0af87362ee950bafa5257d840f427adcff5a048717b60c22d5b2a6cdfc4158d5747925731aa85bc66ec37d3384ffc7910ec5b4d2cb5442e25ac411112dd4b983b68a90bc57ddb122d73372794214e4e64a07ae676da990239498257149c299a193fa1cdeb371cc354bcde26c3238bae59230f4ccbc4614708fdc39ca5d916d80873908204b70391788cac2a346a1ac72a92673532bc9286455d7eb405c830beaca707fb865aa1d41315628ccec14d431434fff6350e518f3ea8422b44cea3b6b39910ba6b5265e8d18452f7119384244228a983c3aeb0b139a96830ae90b9c2e569fa885406c1270f1654cf69a34c2375f2bb537f39a61935af753cb6ef139317105c9f4b3dea094093d667396552b2b9562cfc0e9ea43c54f99430931f10bbcc0c81270ae352cbdc29658188e67a3de915469ae4263667665385381a352b48176539f59d4e2b19737309efe6c40a1a4d3f52a7fe47089ed22fb3b3c24531865beb47f823221c690b60586928ec5cb9505ac6b9c764b62b63273165f70e76034614ec354b38786feb660704a5de79b1d3399da5c8b1e0416af49c22d7a6982a338471cc88b18258f2f3b55bf51bebdcc53a7829e4c875f18127c7b5473f0252bfe4735c59388b305f3f106803c27c6bc3c51d38070f1561eac805070ac24099bb9a086057df0c5465326e1932aa50da74aa8435d9294fd6b7c05a153f305cf14252096e4988d8ecc4ac6d29ff09c55d666865863d03a68db523728910a888e66590b5b102b223291cc78119bb94e799e37b95b7bef0337e6a572284b9fb +m = 01e6b1b765e4c42464f6a35d1df3d2c673d752683850fa4d147d4e0629b88b10 +ct = 98f0d34306f56c305679dc96138348dedff9e40a6e8ebe8ff6302cd5ca57a0e3ffaf4fed7598e7f32265059aa7eed3137ebd73f0f42e352b943b696403a133de09ab5fa33c464b4fc25486e0ce04962192d7f7ec1199ee25f4e306964cc8f149b6af26c21e35c6522d3f9d1c67807a4667206a6404d7018ffa58744fd29991533d2a2b29008d3df0f54244c1877779d054846116635b00370a0f0dd31ad44d18d3036e42e4db68473cd8f8ab69716a16439b95c191e7a0b123c0a4b8688e8c10c7a0ce81551f6e25c3bd74a821cb7ee19b4fccc1eb839bccb006f760f38a6dfe2fe937e8a6467765fb5f4d3ffd1768c1d2827877ca5ac56007d1d23a3b5f5baefc75e8d4ee40d753a6ef30647d8a10b214fc3a1f58fc31b6b4404d45c38a60f47cfa350443f6502c1bd25e1e1a0d3ebbad52615e87cb349f9314dbd39c28a681d8dad067fd403ad41c60d5d7c1badfe843ac3fade5390296c7c1d708b4eed0c74f7ef9e74dca6fa4f108a7b7002102f1241419a6389173a8df7c635a34e92bb03d829ae5c744c4c494ef768bb01bd60f46ee90771d8ab900b2508a98a14a685b69c97743a5729c30cbca2d98433c4f193cac625dab4891451fb152caad7f214a724506fdb4aa69fbdcf05bd292d403bb7e744daba5d20cb82853d9957b2f189624344390dce822c6288dc537105476a6a5cfe95f6247f87e91f6337eaa67335e44e898b67b3f38e2b37fc7917271a3f848f555275b84aa8588cc976aec6851edc66a2e4d8db7eeba15a5387dc0fea3552b18168b6b8c3f758d8516dc2e7b3cd2d5656757f63114110b40144a16e299e0ea1451470135f8cde980eba84a4e183fbf38694125749041f0e17492171691313d6b38a00d84e7ea0da6d8143537ba625e039d3858d7f7d5c1c9755da9e078598fc99f0f7cd459de159c74fece9a8bb503bb7412eef96ce3371766876fd3b8eaa5d23da2747c74e78b44c6d53f2cddc4422b89e6c699be65c85748d388df469d3b22d2772fcbe9e58aafd21a5b39a40dec59c5853f5b01e05fd8db28a56396d319d0a8d655418523d633e78a39cd07ba77fb192603cbfac2b15e22696cf678cd0d1345405fc787e0e81bdeb4290fe6d0981040074db199e9cb2d71d0c048f776c394447111f78e723289607c7d580fbb64a15223d05297662bd44e0b57570e77cb8acd83ab8d7d259ccb67142ebfbbf7f58a78c10ece679d82d7ba8b7aaa104e9aa27641624cf1352465cbde8b884f11383445acbb12f9c242446df02966d48ebc256afe3611565ca82ce325e6a56c9e65d4261a2f7b8a39af5895ce78d82e126bc96943a103697a1973859ff704e5315629affe0ab8ae229c9786ae4a7db774d423e5e77ace2fad6970ce584c12dd93df535a693ed85d0b60d82587837d7927a4a00f34309955616c27e59fbbfb00041eaada7e5d6f42db7bc2b72ae904830e1a1344066f0e288ff700c493105245a620b03e236e9394a41da74e2694617fe8a0c3e882972bb8cdf48633370bba72db03190804686676f8dd2a8fece8e210673c06cc8bf9dd3dc0815fadfcbfcec9954e893b837e4d297825b4e66bd37229215711362dee44b466e26a9e4c261ec82c6331b4d277cb9c391fef0f83ac4fba445b4a5789d45baf3b54fbdb39f24bdba1f19e26285932fbff5f6db60f0319a483d0fd2258ac69847b61b53c560c3fa8dbff0383cf1c61f7657c2bb9a575d636d559b35f786ffd06e30b6ca845c4bfe904e27666ea8ab6e3d82377295f2684ed1137384806d96f197193fa7b54d0cba5c2fdc767fb6cabf118a25998cfe0452a2c9de70220a2b1bcff60b19812cdc1a64888e4e4c0da867d7832e939de903263b0f3a297b83952172ee1cfbad5098af816b126c977bbf2094bf67df2c6a6b727ae27bbdb19356d537b2a433e200b049fa16d8da3a7d9e2ec867a0f13788f97cf872b904f8ab6bf1d3d7c99c1a2210153aa68408741871141697bd63e06237b5a8b25f71eddb2882694c9c90fef78e49a6719554d50454993fff766246c0c1e08f4896e3817aff633d1f75206b1bdf8583ecfecf399f45ca1232d12a97d32302d8d4639f3b0fb6bc243f77ac432cd3b0f26fdad751f5209e0fbd862930122794df011be18075b9e20f0441d821672ed0b96b7a41e4fcaca3046a31964bb464a0070752e9b4089cd9ef79e5c6670ecd75989 +ss = d4535e861bb2594693f30ee46de8f7880ed1a510b30f604482d2fbf8feabe06d d = 3a19577908efd37697b8edc7fdaf47d1bd3ad01a1b77faf794bee5b9c3192a6f -z = a3729672816f3eba84c9638a79676eeac0f22c8a48e0c5d50a26ff0844c66b99 +z = 08a2455063246eb5761e908816e48990d670308b0d34d7823a325d49a1a4dc0d pk = f1b45961c6216fc930a8760d4b79afe948166ce6222b16acc847ab4bd9540cb68872c9095aa7619b88414e313051b7abc0248eaf745c7bea31b01b29c5105fd698119ae0186e7c89aeec141027b19a5ac3e1c419dee19825f518d46879f43c8720e23f8916abad006b3bca9600932a67938015964b25b75d95788278d0af8be577ef5cb1fe61cfadec5500ad17de196a1f95187106649ea4227ac9a96091617d673f32454fe68442f0509faf86a06d4c421746310341257f48c51c961342372954e8373796a089721cc646b6c27b2d7e594b4f9ca5ef4767fe24920edc60ce2abe17e36331aa082d1b66d708304ab884ec6c7e9ca98d7edb489fb2ad522a2b0881997662205a38a35ed77d8af15b70346fb825a25b0962f0a8befd5c602550925ac9454b6a4c02db9ae9a569dffc568d70a1bfc95c108b03f16c799310a4aefb74ded63c3ad4791ce3ad8cdab1df854adc814b2a1164e551a36cf87daf367f8767b122d4c2ce30632f22341b5458eab4cd2e9547f83b2d50ac57d8c30ecbf5387db6049a61768ef21123936664a46b4a2cadbe1b7a5ff752dec141f38aa5b0b85546b77f67d32d40f6a588e63ef136013f0ba4e2889714c309835bc0d8e858863a29622a843cc49dd2b85e66214c0b2695dec22d3c4a0f6544940ac77eb8a1c415aabe7797bb4e8079cf74943c5190a549a78038883ec62093a70ee6022df193a4fd7ba17714af692923b650b94f5b854d07139b240c29361ae9a2cf34fa4f1f6c2924850471d6338206a1b8c806697589b5d8a2ab860f4d1614426452038983dfe2ca14ac40170aad48809c99f68e5197a0f02a78b481062413cd8779c59ea9864bd9c68e8705f4179405d5a5ffb2273051bc1366a26312895345b81e780fd1683ec8e3261e1291723978a5e3350ffb6e1a7923b363162eb14247684d01cb3f48b7abeb2154a2751061327ea5c3839fa0a0db315b7ca60b0a7c5903309589e8812f5301dda14e98c92c028c1bb57c1b23f1b90ee5bcdb448229fa6ef147c56862babd6aabe7eb142e9a671de69786010720eca14ef6ba53d71e5ba885d50bb325707865b564e0018d89f27f8fd2678be207ef830b3a6457166b031a307cea082b8260937ed83f20646e50bc022f81cc6738b16f16954d983cc7a38d365462a564c8d4417c29ec50daf373f0c8134d53bd6edc509f544b27d69085d6a0cbec817609b8bada6f8810cf0be61ab3d678757131ff93b5ba9a9efc54aac9fb279991370742af6be65145ca215ef35dbf512f13f88873f87b17f3c4d9e475f90a02d270ae72734029710522b93762d404691910a3e79686f6aef2118446d23955da68a477bafbf278822276b3882feb3112f2a47ec753510fa97bd5e4111ec67a66909fa3557d637c3686a214a81a6c9e983039d5cbd2b1853ebc7697a8c0ab34342fd3561d8b3ddb0575eb62c0f509079a5c5a3eea1b23417d70eaa585aa36ac24993c6cb463d63fb6129583e7908dcc4c6e55ba3cf30eee2842696777989b90ac577bdcac111ee344ad1478dcfa7bd15911d0e745a523a64dbc28f03c336dbc9a86c146c8f842478a172706cdef994d87c562d3b39911441e6570397f503da1f07c0c6045c3e863c7f3bcd41b787c8016058b81fc7b3375e9185696813a589c75995ede730d39715e66a370c127121235cb7785a42bab8a091872650062a4fa6f5825a5c2138d0cc74ed874c6a8e89cb7565879d66d34865b85342b350477688a0fc2c5905216a7eff70bc742723d34a3daa13b7e094970136d5e959119a79894f4b72f55941b157c601a9ca5066083b2805846267cb3c989926d72fa18abd97cc0531a8747ca42d0b35c89478ffa2d3f769b1b2c0961ec877e704212115df3e171eeea463877b2f911878a15310b6042c1624f6232867578a842cbb477202395f51c3c129385993023325ee405975e062c705a63951b080bd4b98e3388c74cb6c4d9ab3d66a5e543481f300c2f8a1a17e7cadc83195ab4c840756db9fc11c39196bd34071e1ac098ab332354bb23d5a376ca35862070c933875ce21dd7383a41ab9abfe2ac96170c22c5133e07089940c03ff80ee80aa18b33bcf8061fd838b44ea3c73e278a7ddc7e1e7b56a63bc2fcdbb48ec711a0e259e3548f38022a5e3553db5e8548c3b3dc474f7843c49a8dbfc939c41af7f8ec6c8354aeb0c67e05eae0 -sk = 8dc4a33d0a013d102a7ed6a5303693669033816bce0c8a83594695531999647a48f6708c65220be4d9a60f013201a36ee053796356b26e3617126c3d0a354d2fbb82312a372ffa37b939a7bac8ad0e127f18eabc771462fc57b542a73bb7067fde6bcffe4982e6db3394264d34dab222318856ba8b6919c5a0a667866c0d2166b69ae04432c044f289bfd7255542cc7946b82c2db388c8b656f234a3b607c2f6611acc3a5a12c8111e42138abca9b8dba79921a177682c2ad1138b133636951f5aa77a52b7554943af52f7b53d0b84ecf44fd77018f7062e564c5e58753994724242d6b3a8f8a66df518f7e13a0a5c1c4b253dce12ae197342f5d72c296498bc9888ec347f528958aa689c8ddb81870184c9e2254f918b7465354826870300790044165216c8bc279ae93854381c28cb438bce444b2258afc3a84cd4f91de8373f877b30137c4ce4664e4d330bf763b344489604e97f4c9c24ffc226d07c5824ccabe38cae22487ea2ea0e89920f304bb911b401f45735089512dca2298ea1a57f643cd7524a3d6c9f055b25eaa62fbda318a7b8c8dc9c5cea953ad5170c0452a7bc04469987712d0522256a1ec52961561175c32abe93dc5ed37289b9d4cbd3966911fab85fe47b3c68692cf5a845286baef91493e15c6d23437bf7517ec5cf609c8628d82ff7cacb54d4a5ead25c85f59ab51151f9350247782459b598a2089a85f2c9bf66797e863a4ca0732268a4e40c57009d0c7d1ab1ff46b78e350dbfc19fcae823bcc040183a27182abde00a966a6075e68c011aa62eef913024ccc85b460098facc9c4c81d17c577bc009b8f9416d225d156c4e75b84691a90948d31883b1b2ab3635dc357ae867b2496983cf9595423c541e3c17947042b3d141ef825c99862302ba911c67619434b3f9cc489e8c8abae92af1ec3045c895edb41f745aa1f3d1a625e47eabb49432129a5608571431c4890c8fa5769563b8b1f9ba3c1b77b034f568038865c90304a4f79f65f74c17fab9e6b52236cb636ef5b686271f955a9e889b7a1ea1a010828aea1a838de1723f0149cf172f48890161c34039e99b36185f068b5707fa476d650bf149479b8c928f93089a4b941047b5b528135685797e0b9e65f595d9016a614393cfd630c6a217d0a03091853f606b238ee13c92c2b5d9e19b2c57638ce82a3d767639e115838b8eeaa5a47b7b686ea05cc088abd47a10ae593ae39a07f55cb4c1347acaf7cf59422182749e6aec39d62ccb876094ba3cc0b871c57a03a00ad67c5c1c6ef911c6dc36b13cab713be1a6610caa46db4ebb86b76572a0bd60adf163b325c89b506c33cc343c37a2bca7cacabd90494f044b550778677c2ebee76e03622705556b509c204087b5c5e5936c0153857691c3149521b800b76c43195897067529a4a87d68e974ed57178b7980eee227e4150af1234025757eaa3b645064202d632eaea3943b40cb10922bf569ab2c44867c411bc8240d110134d78143d3d44b450056be166b57921fe64a44f80968a1941d91a971e10c347aba369702b1ed542984f28b6254bf61d94b69f015b0e32b05e8897502238fd21d87978eaad45bf5997654b40a903319ca64095c9297b6393b33066d876c52c5dc2f79f0501ae14475e179fe3b5747b7b11af7b6c7187eae775e4beaaf1e904f96a741a6a4820027bfd6b15513911d921835598090b1f145d2885063c24cbc26b3ccf22787ecb3b67cce6df4c1c45270239545463b0ffac611dad17a6e81c4b80543e6e7cec66c25c8e23560d32fbc8c29740433462749f15658dac545347c8d4d5470e15610f7515756cc4eb73966718baf841995d1ecc081d68b4275cc8e33a87cb61df5dabd0f7cc980d5a043c431d8b6bf2b661d7841caba2ca6aebbba4f338459561c0cd68b07ab2d6764c27eba2ce3e33452f072a8dc37b5d192db301cd2937015a5c08442731c97a0d9333a62648b43453750dc1fd4752ef16845067271a6b236857c69f3cba42a2c5818564d2cbc33d0e43c926a4d57c38f618b51fc0c86c6e778d478916c4a186052b4dc9a89f7e4c0b089aa23a771bcc06f3b43a8804a18cc4b8ded358c7ba66b5f7385996968a27793fe845b40a4af8177ccfb45ca82f3513d29be6dea3046c9bb080220bbb1a0b30c10f1b45961c6216fc930a8760d4b79afe948166ce6222b16acc847ab4bd9540cb68872c9095aa7619b88414e313051b7abc0248eaf745c7bea31b01b29c5105fd698119ae0186e7c89aeec141027b19a5ac3e1c419dee19825f518d46879f43c8720e23f8916abad006b3bca9600932a67938015964b25b75d95788278d0af8be577ef5cb1fe61cfadec5500ad17de196a1f95187106649ea4227ac9a96091617d673f32454fe68442f0509faf86a06d4c421746310341257f48c51c961342372954e8373796a089721cc646b6c27b2d7e594b4f9ca5ef4767fe24920edc60ce2abe17e36331aa082d1b66d708304ab884ec6c7e9ca98d7edb489fb2ad522a2b0881997662205a38a35ed77d8af15b70346fb825a25b0962f0a8befd5c602550925ac9454b6a4c02db9ae9a569dffc568d70a1bfc95c108b03f16c799310a4aefb74ded63c3ad4791ce3ad8cdab1df854adc814b2a1164e551a36cf87daf367f8767b122d4c2ce30632f22341b5458eab4cd2e9547f83b2d50ac57d8c30ecbf5387db6049a61768ef21123936664a46b4a2cadbe1b7a5ff752dec141f38aa5b0b85546b77f67d32d40f6a588e63ef136013f0ba4e2889714c309835bc0d8e858863a29622a843cc49dd2b85e66214c0b2695dec22d3c4a0f6544940ac77eb8a1c415aabe7797bb4e8079cf74943c5190a549a78038883ec62093a70ee6022df193a4fd7ba17714af692923b650b94f5b854d07139b240c29361ae9a2cf34fa4f1f6c2924850471d6338206a1b8c806697589b5d8a2ab860f4d1614426452038983dfe2ca14ac40170aad48809c99f68e5197a0f02a78b481062413cd8779c59ea9864bd9c68e8705f4179405d5a5ffb2273051bc1366a26312895345b81e780fd1683ec8e3261e1291723978a5e3350ffb6e1a7923b363162eb14247684d01cb3f48b7abeb2154a2751061327ea5c3839fa0a0db315b7ca60b0a7c5903309589e8812f5301dda14e98c92c028c1bb57c1b23f1b90ee5bcdb448229fa6ef147c56862babd6aabe7eb142e9a671de69786010720eca14ef6ba53d71e5ba885d50bb325707865b564e0018d89f27f8fd2678be207ef830b3a6457166b031a307cea082b8260937ed83f20646e50bc022f81cc6738b16f16954d983cc7a38d365462a564c8d4417c29ec50daf373f0c8134d53bd6edc509f544b27d69085d6a0cbec817609b8bada6f8810cf0be61ab3d678757131ff93b5ba9a9efc54aac9fb279991370742af6be65145ca215ef35dbf512f13f88873f87b17f3c4d9e475f90a02d270ae72734029710522b93762d404691910a3e79686f6aef2118446d23955da68a477bafbf278822276b3882feb3112f2a47ec753510fa97bd5e4111ec67a66909fa3557d637c3686a214a81a6c9e983039d5cbd2b1853ebc7697a8c0ab34342fd3561d8b3ddb0575eb62c0f509079a5c5a3eea1b23417d70eaa585aa36ac24993c6cb463d63fb6129583e7908dcc4c6e55ba3cf30eee2842696777989b90ac577bdcac111ee344ad1478dcfa7bd15911d0e745a523a64dbc28f03c336dbc9a86c146c8f842478a172706cdef994d87c562d3b39911441e6570397f503da1f07c0c6045c3e863c7f3bcd41b787c8016058b81fc7b3375e9185696813a589c75995ede730d39715e66a370c127121235cb7785a42bab8a091872650062a4fa6f5825a5c2138d0cc74ed874c6a8e89cb7565879d66d34865b85342b350477688a0fc2c5905216a7eff70bc742723d34a3daa13b7e094970136d5e959119a79894f4b72f55941b157c601a9ca5066083b2805846267cb3c989926d72fa18abd97cc0531a8747ca42d0b35c89478ffa2d3f769b1b2c0961ec877e704212115df3e171eeea463877b2f911878a15310b6042c1624f6232867578a842cbb477202395f51c3c129385993023325ee405975e062c705a63951b080bd4b98e3388c74cb6c4d9ab3d66a5e543481f300c2f8a1a17e7cadc83195ab4c840756db9fc11c39196bd34071e1ac098ab332354bb23d5a376ca35862070c933875ce21dd7383a41ab9abfe2ac96170c22c5133e07089940c03ff80ee80aa18b33bcf8061fd838b44ea3c73e278a7ddc7e1e7b56a63bc2fcdbb48ec711a0e259e3548f38022a5e3553db5e8548c3b3dc474f7843c49a8dbfc939c41af7f8ec6c8354aeb0c67e05eae0345118a7b9bcc773f0ec10c3e353eb4365d2bbff3b812df4635d5c8265b5d8c5a3729672816f3eba84c9638a79676eeac0f22c8a48e0c5d50a26ff0844c66b99 -m = 74efa414ae171bf60b6f884cb7e5ce12028f49365daccfa23e845d551711660b -ct = 3c00591a4f5b9313457a54b7482447f4d440f8606396256ba69f395f4d9c113667f09ce7ce33930ac6feba2747abca7e50bbee920cd9a8b66d09f3f73b8d8273cc280323b52e7e237ad5d4084ebaa63f6b9ed49127d591d0a3fe565bc423410d88e19721b0ef9da8cc5d8218f93456ede7d74f4f1065c9df0c353cb0184b1516d3de1da3834533c58ac6f80ab04559545fb87013b8a9a0d1d202e1e09c0b473ace09050680f4bb110ddf2a3e3b176b4f7e6c9d21b7b1602aed3f098ddeba95cfd5b1ac88392d667e17b7fd7f67ce8092469d2354dcefce2fa38df931f2086558180fc011cd5a36b9cf2e3f90732dfb7d9f4cd2b99deab6434ae8b859850fad3bdfe9404c27a4b5110ef8ebb2826f9b58ef90185e8a630b57c195b828e0236fa9aa6765afc064d360e827a680d67fb5529332c90ccb9f54160e566d7ae169833660d081c23ddef4268c0718bf44d9a3d14565e42757b091d4eb8f3ded0b04dccdd98838a26fedd8df150daa2d02ad2ea1d79993f67bddf6b7aefec186d8d70a99c77ac95543cb4618095c09b45627d2c088eb74325100679118bf119f7d69d16ba5a820eb8554b28128f2ebb1e9028adf4d669c6ed36253afbabf1a1317528c57f0d4d4ea8e20c47bd59c4644043bda7faae4b895a1668968b9b54673a344e9622f65fc529cd1613d03902070dec5500f8618894920fbf1c9bd3f133fd4d4cf6ec5bae122e1803784a6954848a8f50ff667c011a671344ccc68fefe4a23c31a8d5c1e2c270fb2309ec3130a63ab5cb8a1972921aee4b9cd55fc7d013881ed16876d0edd038b21d279deda175e5edb491613934b931e2cf71ace892026a8700bfbfd7149064d2991e5023a3f8d72fc3735cff72a2a21858031e38e0db31656b3db3efe06e4d9e6da99de1f674ac56efa7d4d0106376ee72e8ffb93c8a4acb9b0a1821e6607296781b971b09da67531f8e8c8a0fd5d710e93bed1e75630b6285dccc32b9d76398ce696abc5a88759b3d327f40ac3d1ff00477aeceebfe20d8fe32ac847a0fdfd83f95ac0de9d6a5c1f650a4c1b949a85d7a92bc4260ef1879724c7369b661ed9aeac9600f66124cc30541795340646a2fd7d4b878217b8ac2eda06ea08201d3f51c4f9a996dc724bd6f804be9b804f6785fe5a257b63e9cd00de0a4cd595698e4c4a1f081b2266632cd04a087638f2d237739b687f239daa6ab27891630dabf8e02f78cfeb37580452c71f1c1088fb71b4869fa523ffe03d809da4a33eb71f174b31121db2577eec7a2ba0f38ed3bde0809bb2c191e32a706f9297429928cfa99f0a11d0d61954c1d937d1ce9cade9227dd225afb6847fbba0cac3c7026ed5f9ee655dfa97a0d2f74b1d79259d934a55a110e91100b4d8f440bed798c38d8d52f0d4fa64041416897dcdc04c4b9cc213366b87daafbfadc86265c062479618edb5ce4cae58945af4eab0d6b58142d0d21d2fcb7431c650d981be577abedc25b1654697cd1b8a05e56d19c6c0ec5748f3eede3000f58f340206f256804c91cfc6932d29e4afbb673442e44360828fcfdfd641968cb084c8cf23a806b0aed61d7a45dc288a4babed3cd891d7a96d490f996ef2ea349e24e13b57d2cf9263edfe86d5da75128ee7d66fa20944245e7b0209663c372484c0f77e83a115356432ba37ff413731990fa5dd32b7bd70a7f11980fc487adf76d3662b9167d5c54ee88266530b30b37d75a5893855fbccd0d7cf843f66e82258634535e387c05b60433794d87dc3dd7e63f6854ee0ec196788f26fc1d39544f23e167270ead095fbd11073a71542435cd95c1c57cdc5ded66750e021d6978d8a2541412c1ae5b6f728a25f37519256279548e4941731b1465c6980a8a7f8ad51f82f0d70f9248b8a889d9f870315367250236c1e726cc3e3818c489c9b24a257210ba820a56ce0cc526ea88dba9a3a859dff84d47c900e7fd6ad9bd2378010ff102f4b0bfdcb45016732572c698affe8a882b67bd713d1ce33091eea997e573382293010d79a8089f043ea913864f291d5658cab8332eb5785a26530a2292ac95688d3638ce34ffd88e469e49948a43bae2e561e09deccde9158bf438d34c98565f3e4a63ae94f57561894278461ef12a99e0379992f42288bfe68d863bbcc75ade039afb83cf62db3b3b30aa2189519a1a4b3006ec64ba142dd0fea1aa15f98066705b8774a -ss = 984c3eea7d9eca750e6100abc664aa23605cfa9d40e6e690d51937f3dde17f7f +sk = 8dc4a33d0a013d102a7ed6a5303693669033816bce0c8a83594695531999647a48f6708c65220be4d9a60f013201a36ee053796356b26e3617126c3d0a354d2fbb82312a372ffa37b939a7bac8ad0e127f18eabc771462fc57b542a73bb7067fde6bcffe4982e6db3394264d34dab222318856ba8b6919c5a0a667866c0d2166b69ae04432c044f289bfd7255542cc7946b82c2db388c8b656f234a3b607c2f6611acc3a5a12c8111e42138abca9b8dba79921a177682c2ad1138b133636951f5aa77a52b7554943af52f7b53d0b84ecf44fd77018f7062e564c5e58753994724242d6b3a8f8a66df518f7e13a0a5c1c4b253dce12ae197342f5d72c296498bc9888ec347f528958aa689c8ddb81870184c9e2254f918b7465354826870300790044165216c8bc279ae93854381c28cb438bce444b2258afc3a84cd4f91de8373f877b30137c4ce4664e4d330bf763b344489604e97f4c9c24ffc226d07c5824ccabe38cae22487ea2ea0e89920f304bb911b401f45735089512dca2298ea1a57f643cd7524a3d6c9f055b25eaa62fbda318a7b8c8dc9c5cea953ad5170c0452a7bc04469987712d0522256a1ec52961561175c32abe93dc5ed37289b9d4cbd3966911fab85fe47b3c68692cf5a845286baef91493e15c6d23437bf7517ec5cf609c8628d82ff7cacb54d4a5ead25c85f59ab51151f9350247782459b598a2089a85f2c9bf66797e863a4ca0732268a4e40c57009d0c7d1ab1ff46b78e350dbfc19fcae823bcc040183a27182abde00a966a6075e68c011aa62eef913024ccc85b460098facc9c4c81d17c577bc009b8f9416d225d156c4e75b84691a90948d31883b1b2ab3635dc357ae867b2496983cf9595423c541e3c17947042b3d141ef825c99862302ba911c67619434b3f9cc489e8c8abae92af1ec3045c895edb41f745aa1f3d1a625e47eabb49432129a5608571431c4890c8fa5769563b8b1f9ba3c1b77b034f568038865c90304a4f79f65f74c17fab9e6b52236cb636ef5b686271f955a9e889b7a1ea1a010828aea1a838de1723f0149cf172f48890161c34039e99b36185f068b5707fa476d650bf149479b8c928f93089a4b941047b5b528135685797e0b9e65f595d9016a614393cfd630c6a217d0a03091853f606b238ee13c92c2b5d9e19b2c57638ce82a3d767639e115838b8eeaa5a47b7b686ea05cc088abd47a10ae593ae39a07f55cb4c1347acaf7cf59422182749e6aec39d62ccb876094ba3cc0b871c57a03a00ad67c5c1c6ef911c6dc36b13cab713be1a6610caa46db4ebb86b76572a0bd60adf163b325c89b506c33cc343c37a2bca7cacabd90494f044b550778677c2ebee76e03622705556b509c204087b5c5e5936c0153857691c3149521b800b76c43195897067529a4a87d68e974ed57178b7980eee227e4150af1234025757eaa3b645064202d632eaea3943b40cb10922bf569ab2c44867c411bc8240d110134d78143d3d44b450056be166b57921fe64a44f80968a1941d91a971e10c347aba369702b1ed542984f28b6254bf61d94b69f015b0e32b05e8897502238fd21d87978eaad45bf5997654b40a903319ca64095c9297b6393b33066d876c52c5dc2f79f0501ae14475e179fe3b5747b7b11af7b6c7187eae775e4beaaf1e904f96a741a6a4820027bfd6b15513911d921835598090b1f145d2885063c24cbc26b3ccf22787ecb3b67cce6df4c1c45270239545463b0ffac611dad17a6e81c4b80543e6e7cec66c25c8e23560d32fbc8c29740433462749f15658dac545347c8d4d5470e15610f7515756cc4eb73966718baf841995d1ecc081d68b4275cc8e33a87cb61df5dabd0f7cc980d5a043c431d8b6bf2b661d7841caba2ca6aebbba4f338459561c0cd68b07ab2d6764c27eba2ce3e33452f072a8dc37b5d192db301cd2937015a5c08442731c97a0d9333a62648b43453750dc1fd4752ef16845067271a6b236857c69f3cba42a2c5818564d2cbc33d0e43c926a4d57c38f618b51fc0c86c6e778d478916c4a186052b4dc9a89f7e4c0b089aa23a771bcc06f3b43a8804a18cc4b8ded358c7ba66b5f7385996968a27793fe845b40a4af8177ccfb45ca82f3513d29be6dea3046c9bb080220bbb1a0b30c10f1b45961c6216fc930a8760d4b79afe948166ce6222b16acc847ab4bd9540cb68872c9095aa7619b88414e313051b7abc0248eaf745c7bea31b01b29c5105fd698119ae0186e7c89aeec141027b19a5ac3e1c419dee19825f518d46879f43c8720e23f8916abad006b3bca9600932a67938015964b25b75d95788278d0af8be577ef5cb1fe61cfadec5500ad17de196a1f95187106649ea4227ac9a96091617d673f32454fe68442f0509faf86a06d4c421746310341257f48c51c961342372954e8373796a089721cc646b6c27b2d7e594b4f9ca5ef4767fe24920edc60ce2abe17e36331aa082d1b66d708304ab884ec6c7e9ca98d7edb489fb2ad522a2b0881997662205a38a35ed77d8af15b70346fb825a25b0962f0a8befd5c602550925ac9454b6a4c02db9ae9a569dffc568d70a1bfc95c108b03f16c799310a4aefb74ded63c3ad4791ce3ad8cdab1df854adc814b2a1164e551a36cf87daf367f8767b122d4c2ce30632f22341b5458eab4cd2e9547f83b2d50ac57d8c30ecbf5387db6049a61768ef21123936664a46b4a2cadbe1b7a5ff752dec141f38aa5b0b85546b77f67d32d40f6a588e63ef136013f0ba4e2889714c309835bc0d8e858863a29622a843cc49dd2b85e66214c0b2695dec22d3c4a0f6544940ac77eb8a1c415aabe7797bb4e8079cf74943c5190a549a78038883ec62093a70ee6022df193a4fd7ba17714af692923b650b94f5b854d07139b240c29361ae9a2cf34fa4f1f6c2924850471d6338206a1b8c806697589b5d8a2ab860f4d1614426452038983dfe2ca14ac40170aad48809c99f68e5197a0f02a78b481062413cd8779c59ea9864bd9c68e8705f4179405d5a5ffb2273051bc1366a26312895345b81e780fd1683ec8e3261e1291723978a5e3350ffb6e1a7923b363162eb14247684d01cb3f48b7abeb2154a2751061327ea5c3839fa0a0db315b7ca60b0a7c5903309589e8812f5301dda14e98c92c028c1bb57c1b23f1b90ee5bcdb448229fa6ef147c56862babd6aabe7eb142e9a671de69786010720eca14ef6ba53d71e5ba885d50bb325707865b564e0018d89f27f8fd2678be207ef830b3a6457166b031a307cea082b8260937ed83f20646e50bc022f81cc6738b16f16954d983cc7a38d365462a564c8d4417c29ec50daf373f0c8134d53bd6edc509f544b27d69085d6a0cbec817609b8bada6f8810cf0be61ab3d678757131ff93b5ba9a9efc54aac9fb279991370742af6be65145ca215ef35dbf512f13f88873f87b17f3c4d9e475f90a02d270ae72734029710522b93762d404691910a3e79686f6aef2118446d23955da68a477bafbf278822276b3882feb3112f2a47ec753510fa97bd5e4111ec67a66909fa3557d637c3686a214a81a6c9e983039d5cbd2b1853ebc7697a8c0ab34342fd3561d8b3ddb0575eb62c0f509079a5c5a3eea1b23417d70eaa585aa36ac24993c6cb463d63fb6129583e7908dcc4c6e55ba3cf30eee2842696777989b90ac577bdcac111ee344ad1478dcfa7bd15911d0e745a523a64dbc28f03c336dbc9a86c146c8f842478a172706cdef994d87c562d3b39911441e6570397f503da1f07c0c6045c3e863c7f3bcd41b787c8016058b81fc7b3375e9185696813a589c75995ede730d39715e66a370c127121235cb7785a42bab8a091872650062a4fa6f5825a5c2138d0cc74ed874c6a8e89cb7565879d66d34865b85342b350477688a0fc2c5905216a7eff70bc742723d34a3daa13b7e094970136d5e959119a79894f4b72f55941b157c601a9ca5066083b2805846267cb3c989926d72fa18abd97cc0531a8747ca42d0b35c89478ffa2d3f769b1b2c0961ec877e704212115df3e171eeea463877b2f911878a15310b6042c1624f6232867578a842cbb477202395f51c3c129385993023325ee405975e062c705a63951b080bd4b98e3388c74cb6c4d9ab3d66a5e543481f300c2f8a1a17e7cadc83195ab4c840756db9fc11c39196bd34071e1ac098ab332354bb23d5a376ca35862070c933875ce21dd7383a41ab9abfe2ac96170c22c5133e07089940c03ff80ee80aa18b33bcf8061fd838b44ea3c73e278a7ddc7e1e7b56a63bc2fcdbb48ec711a0e259e3548f38022a5e3553db5e8548c3b3dc474f7843c49a8dbfc939c41af7f8ec6c8354aeb0c67e05eae0345118a7b9bcc773f0ec10c3e353eb4365d2bbff3b812df4635d5c8265b5d8c508a2455063246eb5761e908816e48990d670308b0d34d7823a325d49a1a4dc0d +m = d7a9ee0513802fdfc6995a975c992350a5277ee79f1837e66959d1d0016eee34 +ct = 35137cba18f0b63074f661807199feed5df343be4732ffaf10a3c34a2c19426b7dd84aae3d27859ff58b70c0214e1575a0f8e850904ccc4a391018e5f02e196c3bbd09b79a30e30fd9bd4bfe4b7f91bdb8ea53f9012a7eb53c6e6823f99f600ddc09a26e48ecbc17b7147401fcdd87329c331475b0f8d7138b605d70ed35d3caa9b7193bcc823af49c7ef3968a4444e237974e801e008600e601773c0cbb275488c9526d1f58ca6341ba5728bd036244d71c569299105638ff1e10c48f0a21709b3f9e7379c613c54e173f4ec542787fbfd261abbfae95e14f7ccda1d80b85f7cef09eebad9643546479a05537374b69068e37f6b5bb149c9e710a4a586d13e911645c2a9105f8261970b2d6482f3203eb68e8d7b8da9631cf386b87059cc6abe626cd96f3b16d5a7c2c3285a33b70ec73768847d2ac49de7c1cf64c28adcf5e8465411c5951979129d59a0ab3ece5e28638e961cefd97325f1ebe7b8844dfc995061b594f78320bc77f87d7f1f531ffcec609999eb5fd80beadb484fd875717cda2006e8a361b0f6004c10d85e7342f027d8c9ee1b18f0edf271e4cc3ffef777378ea8151c7245418dfeb93d4ed23eac249d964d7af0c97f0d4ee5107b88fd3fd2c78cf118eed6053a79f542d1a631580c11df5282dea39da685754059d205bfe74efeb514d395a1e6fe679c4b3420fdbdcad781369323fd60be897049936426ecb0e2a2b588d3fb23c49a4aeb2c427fbfd901ca104c5ce0356b661c08967353677952c883cd68f008065c3cbc8645b093cb2b607e593d136919a0dc6fbd5f2a7c0afb5d07f3e0321377a2932dc7044dcbd0c2288cb1843fa65a4ebb6c2b003c2f066d19fdcd68b4f13ad10bc08cc0c17a482a5835d0b2c302d297ae0447be41362afb1c58e368ffd3b6ccacba14787fbc89ea9569e66ee844461c723f18a779c47036de5c384cf7dda6474965e0c1f7ca7bec3a8967cd94a3924df95a1284508dc6e6570d91bd0a6fc569153cc268c1bfa14d7b9aaff11a5a45c4459460398009abd6357e4a2d7b014504d97d68f1a5622ffa3556b8572f0a1075eee76919f7f26da47717f74449df02524e1789098de466432a50858fc857b4afb369a7ad58920c63aecc44f8249453df2198a95a3f008f57e08b6e1fd0b126056ee0e4eff1a6afd29e1ce247ef2c8f329cbb4720770116ce7e5866127419a8a93938c50d8c407802dc6e8cb9e115844c22326df00047f1ee41a958747cfac66f9d6bf49d6e6dfaaf61d33dee8ce9d510e21d7a7e065a3eb02157a36d21893f99be82a70053d588ad3c631bc98f615063471701c22972463b3aea374f3ce0b6ff645726dd0488f7e998e82486e31ea267fbf84b9aca8f56e081bf0cc223a39fab91e535d19b349d5f4949ad4389613a8def92a54a991e4742317c93a311a5b272a20849689558764646d648550870ffc5ebe2a5ac6461cc4074cf53b434813b1d9d4a762da3e4be00f5009499175ed18db02819bb8eb560e6de31c64177128378a3da6c8e50c73f3c5b35623be7507c20c39b783d1730071f1c4f396a24f30bd23ede117abc4e622effeb168017dfe0046d1d602170e510fcb05c34f68559b8e62d168d2b83886d8487fc472c7873b285c34cf9162fdcfb91c6272b71dd0dacd3b991c1fe3160a0c64953aaec2b5e85afd6c9535fa707ae5d261b9dece1041844f6e417ec90597082858d751ffb04a2a6e8de3aaa5d7cfdaa50f74bac6198939979734ba0006309748611886adf76122c00899db1579e89b98fae8dcc984bcebf4b1631ade937b7a545b7bebb2191877c7a96d714bcc8bdc9ff9346a72362cbe93caf6ea027e9e714eddb0425bd05cf77f62360ceda7222315a584e4592f83496654457d22f309cb0c309895e54e59cdfe819812f27f389de17328ce6a5f286598bfe679396fd9a5f74a8f831f1eb2dd9ecb98d4bca77e7c29b735869dd75db8f808c41eef7703d5112008e3b7ddf6467cc3a3a4ab199205f6992ad9a02ff1f7e5259914f571fc5a8991f83f967c22dcec99e9b4db614454703dc463503b14a3f5aa3333c5bd9c538bda07c41e8086a3cfa1598bbfc99ed3229a6e1539e3048c7eb955569a5301815ccfaf92201a2752bf9f79cb7c1accd910b2c6a3df502e823aef88efc9de5ae42bdf7f3a991b317d1ea3a0343782f77f3cc07a8d806c7faf66f88115ab +ss = 3b3a6f0d858d92dce4bc7124bbc1b386ac01a8883e870741043214f1c16526a1 d = ae0f65e29f38804a6759f70f4d01e2aaff7fe1c91ebc4f892dd0de3ab2e68ea5 -z = e03ff73e02a217659f53d8c47556bf3d8c94040f630d63605e2d0f923579370c +z = dad700cfd0bfc439237a0cdb3f7d6c76699aad545d0acd755f14f7cb3b30096c pk = 09167020156648552c8dc941c1cc6424693025e263aef87f3e0b7147d0b8164077dd580f8c5b8f8ce10d77b217adfab3c65a2e6a04a662bcacc640b0eee6b08dc32c661751c0c8bddffc2e0bb78691a68e7eba25457a42aa0c3b15e17787619824e02edc7804161a3e7fb092e897506b8333aee03fd8b11c943853f1a9a44f5927309abde1321d60f73e41538cb9f83e3fa004011a94a200cc80eac685d85adf295b3dfcc175e4ab1e3cc0cb03c472655e29ba2274d759906a9043f2575f850f1152542585b9feba4368598c883c65120048b7c85e1a361adb0941e6479370f01604d4bbe85ba4683bae545b3772755765073899b00b0de9a6d810137ba8a91aab33ebc21c34274f3c995fe4ca8aaab926e7ba0d83175100fb261272137fdac3ec38ac299a25d2d9c514937e4386a06831ac39e21fc6e702a50476493754a37261c7187cab94922ae12f2b032228934782c056aa67861775814fe5a8095c617bf590795c9b65aa6ee60b60575c881f4631849c6717905456d55016360d789a1f5ac166b1508d6100b0ce914216ca0476566ec33417ac234597a45c8a519b40842e5ee66b8b69269be2848053c50b38c258e38ad3104e9a1a50e9872dae129c38a367418c84f0cb5acedcae229291c3f6aeca507007042f609734dac77fa01c1735245d06f64aefec7736e077d5ac9d8767346250c7dca28105477b18c681fd779123e93788624007bc729ab13352f9915d062df3367d1acc58ed8478a9e6216a826977b770819796f24cad7db1538cc41c03a8192f2323c68a9f28fb0145cb543832639158cb098b7693c615b820ba01a3838cf805b9972ceec7689e9bac7831701d543e87a880fe91b59743888aac439d1222a5fc33f5068844fc3ae421cfe80c50db3031584a21b4330ce1a7c014b11eb3526ee4dc740ca7179a428dac27c128421167665f809959a5494c6e3a53f9d74f6e85ba7442cf68d999ce2a891da7cb6903ade2f576f858a5f731c259446219149d11f35d61fc3af43bac9e1a6a6f93469ce7a3896917ebd7c2e8c521bac1c612f0aaba462e48a30ba3d37a28507a16e20658f34ccd3905db5ab94d6333b1390e7a93906eb0c59932840cf55227f19a2c8728a7d385189057144b462a2338df6151e02bbc53d35412e4235d7045e47154e4b910a47ca8ee678595bb690a6b4459b23fbac0b51b055402a9a83f29691ae02a500c9c6352658fd1816a7a9e3f593ffda6939820530793382ba38aa851433585a39c68c7026461f9e0000b365ff2b67a93eb83437b5207061961233013a41cf7d1ce8f86c6b8159a65cb979161410d24b1b20a1ada82b72d127e941846e9d16d16f3b9a63b9e678057a20aacb88238ed9ca1c722307e2c2f3540afb2b78ed999981ff6a0a0e15f3c3ccadc9b242b886d12f29ad6113d63c8268c56913458ad31a04f6130845a1942fe68b9384c3fd2f62fe034c8e6ba23bb6799163553291ba2376775c4a67914f78bb75026df18aac6c8c9e6e77351dbcf8b97106d7ba0df874b1ee2bc508222794543ea60b3dc95093f288220f83b6a6b456f2a3bba809af288ac08b44ba9411bccb5ba61961817e20b7cdb6efdc4563a6b4b4888058f08ab01d702fb015f20c9202af713de66c1cf133bcde0277f84a5c1876b7adb21fc5a82555474b70443bc59355e3932d20c14887c25e9517c69d807c30a842cf50549da1620ea315e5a20549b59106a6e1fe56d6c4657d6f69891a7449a57239de5137e8c3efc2994bb0b2bd8cc49edbb3661820da27199414a33d804acbb1a80da68ce288c0974b0b1a8f038fd1819bd8090fb022fd648331699724b66059d148d6445acbcb9b910ab14cd0482972858b56541596b5b809aadf81657796c544c02b9a6eb9160bb0cc6445708d71051a89a88830c03c71903892860b950fe66495f992829dc783691876a06a1ff983965d67f2207a60643a6cbb59be857408d802b86f054d5137ee8e6a02d2603e29b4e970a9ca5f49e64e39f70fa5912488c98d28daedc20da06c811a38aafb0064e9ab2f3628587f7a099036a0ec71d70b04ad0e26919146b4006b15221ac78ea0599325b9de25c81506a786949deb23bae43c27c60b79f73635dd64b35002ce5d40f9808ae6a51cc00185ddd099212e3cb03ca153015fb2665c77d8fcc529f21afde0d4f32cbfa399f2973d812f516c86b -sk = 38bbb649e7520a59ac57783e32a5022489365713cce30171ab46ab219b7e81369af44bab6f5badcf613e963938a0829ace625bd8594ed3c0981c5963f68874aa87685599041c4c296b4cc181e57667d499b2f961f44773ca958193e97988d816d702078c0147e41390f503921f139384d75efc91cd08544536b4c9c09bcc2914a807e090d98b5c07c1a4a0c16ff0eab557e5ccc1871ba1a36ff66b1acd113facd6bd16053f22cc85634a3d56e564e30862aa1409d48aaf92643b62009f8e206c2c8bb7f357b9432a8474349c3e1679f1d154cfd4a373665a86c481b9c3163308cf3a1a265a6313d0068ba2181ae5e5a1114995005c8fb574c4a7da80562953348a80bc23cd90c37a2d166ee4e895f2a429aff3c9eeeb869ec9982d367c5809396987a2efe93dfda2cf45e774cc3541bfe655a7280af9b7601fa5183ab62682465fdb273ab435355b84563047bc4c6204aec310d4b91e8b849182c16a57605a6f5690d3804d8857379e11b324977f30b461954a17cb16c4dd93761224a47f4c680373c51de251cb69a2c737cbb1f76d7278033ae86480c7776cc7ca02393f333b6cc00c200ae58922756d3664a30d7b262302672c27a7496746f8f56797726340c734473522fa880819d76a004a480f48b74f7c6ee1998741d39fec12759670b4e8057aedc67950b929e200526ba5a27e0bbb67570bae100b77d525af70b7b6143a7419a35273c14b492e1e42c5b5918a62f3c829a50c1fd8715b030cec454c90c72e6509ab1936ae7490c6b62a6720a840aa714f7b6b0134335c75c44a421598b790631e2ca497e256be08910b69c01997bcd20591d1967ef5ec5c035b0c1f19a01bc0103de6cafda45db70950cf551da2442741eb7233b36396c124c6365a83b66d9cc896ff448f54194fa05267b8154895173075039143dcc58062cbbb1946a917abb184788052920d1428c856bafb3461a463627ec7430671ce75bc2adc95622eb2925a582a15e487787389bcf14dfd84801a37bc39136cc1a49cab7cb924772606d48d3941bccd3221eb418b12a6342ab6c357f273795339bbc720439aa9cd5a478122b8b01769edb013686c8e872a4e2c049a755a8f954614665c61d5d9aec7d67cddb779512a308ba3cffd5c4bc642c091226667c40957c17b3c92bea102143dec663b6155464ac7a9559c533a647c5a106c38972a26beab45c2f04c974c9bb860bca64615b6f0782305c81862abc973d280088bac791876d3172d4e340f26452f60009a49989bec107b680b62cdc12751f9079ed07c28143a405a600a974230b20719b0953da3c2da574ce2c31786c77600646e25b3c305f6507d91084a836366c273d62c526e0630f9b483caf335d6bbb5bcf4adeb4143443a07055349cfb690948487f7795b67dc2e45430e7a5c9564cc84cac0ad0832480aa844417446b9b086a493b7aa163b76a50f35b7384bd054147a8621674843c3040ce06eaec68b6ce8a2c5b42390c76350e10dddb35c9f4c4a1cc148ba08601f92b2fb12c9088922c3463139239a62e878e4db61a3529a8fa7905a7a1aaf90216dab5026469b27d4122af5561bb91d111a721a78587eea259a4c7f6b743574398e30a11918896ebae2cedb5b35b095c3ad863068245497e16b94852d25f3121e5792d337c712206c2ef151ed58c8ced316160979d74b4c54b1be2448562cc6c23b96c7eeb3600a028e91d817ecb13c9269bd8ea15296012b13281bda6213f1753823037d24f14e733267b3c31cc2e2b235f1665bd6a81568c7bafc902a6184cea493508772866044a2f7c2aba3a07d560d535b97499bc0e07423221797cc11c46562c721a99c100530ce0b0f8d09013d27bff057a2456a622475297d49bb98595d6efb69d9353561a028e6b5a9da9a4207ba35f0a10b4cf66d7ff4aca409c8edb8160e8a60c5101fd480cdb05362430c98bd8ca34a318405024cb2a425a45384d501889e75c954767a1e274392c830694b59778a158f0b06cf2b444cd2c0134710b35cac598b1de47048d3b204d004a7d8d94810f9a751d782b7ccb158f70f262a53fa7b3d46676569f12b37370e17e1ce35cc0a230465a03903cbdb30ef18ce8b2033e9c5c1a686067ee639bf934b29b5cf2b921015549075cb0f609653e202afa388a409167020156648552c8dc941c1cc6424693025e263aef87f3e0b7147d0b8164077dd580f8c5b8f8ce10d77b217adfab3c65a2e6a04a662bcacc640b0eee6b08dc32c661751c0c8bddffc2e0bb78691a68e7eba25457a42aa0c3b15e17787619824e02edc7804161a3e7fb092e897506b8333aee03fd8b11c943853f1a9a44f5927309abde1321d60f73e41538cb9f83e3fa004011a94a200cc80eac685d85adf295b3dfcc175e4ab1e3cc0cb03c472655e29ba2274d759906a9043f2575f850f1152542585b9feba4368598c883c65120048b7c85e1a361adb0941e6479370f01604d4bbe85ba4683bae545b3772755765073899b00b0de9a6d810137ba8a91aab33ebc21c34274f3c995fe4ca8aaab926e7ba0d83175100fb261272137fdac3ec38ac299a25d2d9c514937e4386a06831ac39e21fc6e702a50476493754a37261c7187cab94922ae12f2b032228934782c056aa67861775814fe5a8095c617bf590795c9b65aa6ee60b60575c881f4631849c6717905456d55016360d789a1f5ac166b1508d6100b0ce914216ca0476566ec33417ac234597a45c8a519b40842e5ee66b8b69269be2848053c50b38c258e38ad3104e9a1a50e9872dae129c38a367418c84f0cb5acedcae229291c3f6aeca507007042f609734dac77fa01c1735245d06f64aefec7736e077d5ac9d8767346250c7dca28105477b18c681fd779123e93788624007bc729ab13352f9915d062df3367d1acc58ed8478a9e6216a826977b770819796f24cad7db1538cc41c03a8192f2323c68a9f28fb0145cb543832639158cb098b7693c615b820ba01a3838cf805b9972ceec7689e9bac7831701d543e87a880fe91b59743888aac439d1222a5fc33f5068844fc3ae421cfe80c50db3031584a21b4330ce1a7c014b11eb3526ee4dc740ca7179a428dac27c128421167665f809959a5494c6e3a53f9d74f6e85ba7442cf68d999ce2a891da7cb6903ade2f576f858a5f731c259446219149d11f35d61fc3af43bac9e1a6a6f93469ce7a3896917ebd7c2e8c521bac1c612f0aaba462e48a30ba3d37a28507a16e20658f34ccd3905db5ab94d6333b1390e7a93906eb0c59932840cf55227f19a2c8728a7d385189057144b462a2338df6151e02bbc53d35412e4235d7045e47154e4b910a47ca8ee678595bb690a6b4459b23fbac0b51b055402a9a83f29691ae02a500c9c6352658fd1816a7a9e3f593ffda6939820530793382ba38aa851433585a39c68c7026461f9e0000b365ff2b67a93eb83437b5207061961233013a41cf7d1ce8f86c6b8159a65cb979161410d24b1b20a1ada82b72d127e941846e9d16d16f3b9a63b9e678057a20aacb88238ed9ca1c722307e2c2f3540afb2b78ed999981ff6a0a0e15f3c3ccadc9b242b886d12f29ad6113d63c8268c56913458ad31a04f6130845a1942fe68b9384c3fd2f62fe034c8e6ba23bb6799163553291ba2376775c4a67914f78bb75026df18aac6c8c9e6e77351dbcf8b97106d7ba0df874b1ee2bc508222794543ea60b3dc95093f288220f83b6a6b456f2a3bba809af288ac08b44ba9411bccb5ba61961817e20b7cdb6efdc4563a6b4b4888058f08ab01d702fb015f20c9202af713de66c1cf133bcde0277f84a5c1876b7adb21fc5a82555474b70443bc59355e3932d20c14887c25e9517c69d807c30a842cf50549da1620ea315e5a20549b59106a6e1fe56d6c4657d6f69891a7449a57239de5137e8c3efc2994bb0b2bd8cc49edbb3661820da27199414a33d804acbb1a80da68ce288c0974b0b1a8f038fd1819bd8090fb022fd648331699724b66059d148d6445acbcb9b910ab14cd0482972858b56541596b5b809aadf81657796c544c02b9a6eb9160bb0cc6445708d71051a89a88830c03c71903892860b950fe66495f992829dc783691876a06a1ff983965d67f2207a60643a6cbb59be857408d802b86f054d5137ee8e6a02d2603e29b4e970a9ca5f49e64e39f70fa5912488c98d28daedc20da06c811a38aafb0064e9ab2f3628587f7a099036a0ec71d70b04ad0e26919146b4006b15221ac78ea0599325b9de25c81506a786949deb23bae43c27c60b79f73635dd64b35002ce5d40f9808ae6a51cc00185ddd099212e3cb03ca153015fb2665c77d8fcc529f21afde0d4f32cbfa399f2973d812f516c86b772f50f7047714627bf76bc098e0b919145fcd8df6922ebac383e5c556738390e03ff73e02a217659f53d8c47556bf3d8c94040f630d63605e2d0f923579370c -m = 0b4c3cffb2ba4380ead13dc0d8acad2356b448a810da1df29f264c44aab6d24f -ct = 22509676d4912b2ac7854cd4dc18e74b36ffd43530eda380df1dfd47b59de1f684c15e2adeec4ec8a12637af27e95051f83dd1db707637367fd947b4715cf762b8d6ebcb08c7a36f918013e850bd1af9c79d6aea881a5411ec5ce9650cb7b90f5512dfa0446e779cd827ffc7dbbca8c4b494caf6300059f0b34f6986e9e0ac705b6433a68763448e436e7f105b1364b459f8a0c436ee1b6e0b060e6e688db13bb843c4154a4a988007ba62d5506ed667fac5893b71d6c65d07591c6a7388fa210bd0d1038bd4f72959f49f64b05da72deec30a6519c3262aa34a474a89ee97a5339f60079289411402ae825510deb808e4e78a12c2df0a62f6b5290fb34f933863ad62418e9e72ca3f12ad3f2cfc5262ba57c2ab57beb0eab1172b857cfd5ac26d9b924684c5797b4bcfeaf4c840d5a9187c434db4150c6867d9d8ab53a607ba587417e36fce1da612f0ccd4fdf1b9302a25ecb24419c32c17a0c32d9a82c582bd4e850c8fd7cec067202ff0f61cb599d3622d36133e0ec8265d4cf6590afcad69232d850753e16568eee85c08034eb72c5e31aa00d3bac5423d8b83f5ab8536e262b81a80aafb7844fb83873f6eea505d3df06643176394e31977cd9f80704865700d4ac40855c8bc530a170ec72d135be8566e8bb684fc1668fcdd2b1cbce22d6d97b3e1370f79375f01cbadee1f08a32e3d2ab358af722c5a27c1a4ad2123372b5522a2d49a3eb28ac418055116a97ad07fe772db0a888d596377884de6e95e9144d4a64a04dff3b1e6a5cc47720792e934b3d725948adea2acb6b2eaa49d376946b7332036dbd13e0da8124f10fffb7c38a3883027455d838657c475326820ad8949e9b3da01191d05a4d0e313e41ec74ab8229b0356aab8b398616800b2bc16e148138b610a49dba4c705ab436aab5f855eb4c04a6dab28e46ee4548d3c4bfc64e6a804b36840496581a03a48c19bc06af1e88a4675235361d1151fc79cf65a146045a9b0d98689b3de9cd27128fcbdf577b5a708a4f36a4fde1e909238f2edd3a3ba419a435ee7607cfa95171f1435b89f31dac176e631eadfb33c4a879d788acbba63e7145e17edcbbe0a2550fa51177dce2ce5227e35aa9c35582b061ce236d63659319672241950bb49534d03bc7903376f068f67bc4b729e6b115847a7a07fc983a8bce6a7fddc63d8efa0a9fc3bdec174b7974376ef0e736e071e800c8c7375c7b8c20759d2a48c31f4fd03664c09555cda4cfe28d41721380f187fb5a1348f22dd7a901ad2dff1ebd86c28812d756ee9cbec34d321e53fe465f5678d95eaa87f6eff0c6ac4513577eae4b81e78333459f59869e921a9840a83b1b834d9569af4bf80b03a5f2b879c349de8f64c2e2f8f2770f90e085da05b190afe6293dbd827e157dc8994bf5ebe463968d605c0a4489c6d3c10df6ef97fb3ca6ea2632a7184c03bf7b3add0e5025a21e01a820a5e8f1caf1f8917d5faa798611ff369de04b0659ebc08f9ebc9efe45ecf0ddb3002faf40c7a68630c4a1f337b17edef1f712e64b00759c26280bbcd98d26e7eec3a79aea5db5bd75406bbf22f3119233d9f441090e20972c9f49448cdaddcab01d382e64599776ea502e9e40635d6248a5844148e88bb62a0c9e929baf4f69e1045193e6ae8e1885eee1f99cfc3a91d79c895d05033c88565472df0d55fa06072b098946eab845657b45904c4055ce84a7ac762b516a8ef5090dadbce2f8b29e1bda293ba047f0abb28457da945199272373753fc12699c4edd51f15853d09ac6bebb8ebe5e058d2e64526d6af59454c352636e5ea85943c3241b5b3997b7e918dd1306749f67a437553feb596d8d769a29ef2acbcd8196ce24df2940165a86e027a21d62606730ea311238ffbfbe4cf8d5eda00ad84db99917b8edd12c880447b726d2d67c20306941875b980dbf1c44636f2da7e8fd5ada9fa6d5770af50986dc6e16910e69ec3a1fb773e1e1fd4ee5b709931ee185078542c79c949c171b44363368725ebce545feb5b57a507cf5239c589d02bccdf7a17f2a562c029cdf3588ef87d69a615f678e43eacd416d7147d4fd28cd566644c5299e257878310979988192a620f1bd5c722bc9f1f52dabe97c1723f1c237fe2b66bb5a4db7a171e52273913587d7b52ab1427403f9b367f68ee1244e0e6cc9c2147443015ef9ce1be3c5d8c8b3dbdd5cae1d3e13 -ss = 14cf9129961a5fbb00ee9bf444bb2ee7424f50bd8eca98b21bdada82b2f47fed +sk = 38bbb649e7520a59ac57783e32a5022489365713cce30171ab46ab219b7e81369af44bab6f5badcf613e963938a0829ace625bd8594ed3c0981c5963f68874aa87685599041c4c296b4cc181e57667d499b2f961f44773ca958193e97988d816d702078c0147e41390f503921f139384d75efc91cd08544536b4c9c09bcc2914a807e090d98b5c07c1a4a0c16ff0eab557e5ccc1871ba1a36ff66b1acd113facd6bd16053f22cc85634a3d56e564e30862aa1409d48aaf92643b62009f8e206c2c8bb7f357b9432a8474349c3e1679f1d154cfd4a373665a86c481b9c3163308cf3a1a265a6313d0068ba2181ae5e5a1114995005c8fb574c4a7da80562953348a80bc23cd90c37a2d166ee4e895f2a429aff3c9eeeb869ec9982d367c5809396987a2efe93dfda2cf45e774cc3541bfe655a7280af9b7601fa5183ab62682465fdb273ab435355b84563047bc4c6204aec310d4b91e8b849182c16a57605a6f5690d3804d8857379e11b324977f30b461954a17cb16c4dd93761224a47f4c680373c51de251cb69a2c737cbb1f76d7278033ae86480c7776cc7ca02393f333b6cc00c200ae58922756d3664a30d7b262302672c27a7496746f8f56797726340c734473522fa880819d76a004a480f48b74f7c6ee1998741d39fec12759670b4e8057aedc67950b929e200526ba5a27e0bbb67570bae100b77d525af70b7b6143a7419a35273c14b492e1e42c5b5918a62f3c829a50c1fd8715b030cec454c90c72e6509ab1936ae7490c6b62a6720a840aa714f7b6b0134335c75c44a421598b790631e2ca497e256be08910b69c01997bcd20591d1967ef5ec5c035b0c1f19a01bc0103de6cafda45db70950cf551da2442741eb7233b36396c124c6365a83b66d9cc896ff448f54194fa05267b8154895173075039143dcc58062cbbb1946a917abb184788052920d1428c856bafb3461a463627ec7430671ce75bc2adc95622eb2925a582a15e487787389bcf14dfd84801a37bc39136cc1a49cab7cb924772606d48d3941bccd3221eb418b12a6342ab6c357f273795339bbc720439aa9cd5a478122b8b01769edb013686c8e872a4e2c049a755a8f954614665c61d5d9aec7d67cddb779512a308ba3cffd5c4bc642c091226667c40957c17b3c92bea102143dec663b6155464ac7a9559c533a647c5a106c38972a26beab45c2f04c974c9bb860bca64615b6f0782305c81862abc973d280088bac791876d3172d4e340f26452f60009a49989bec107b680b62cdc12751f9079ed07c28143a405a600a974230b20719b0953da3c2da574ce2c31786c77600646e25b3c305f6507d91084a836366c273d62c526e0630f9b483caf335d6bbb5bcf4adeb4143443a07055349cfb690948487f7795b67dc2e45430e7a5c9564cc84cac0ad0832480aa844417446b9b086a493b7aa163b76a50f35b7384bd054147a8621674843c3040ce06eaec68b6ce8a2c5b42390c76350e10dddb35c9f4c4a1cc148ba08601f92b2fb12c9088922c3463139239a62e878e4db61a3529a8fa7905a7a1aaf90216dab5026469b27d4122af5561bb91d111a721a78587eea259a4c7f6b743574398e30a11918896ebae2cedb5b35b095c3ad863068245497e16b94852d25f3121e5792d337c712206c2ef151ed58c8ced316160979d74b4c54b1be2448562cc6c23b96c7eeb3600a028e91d817ecb13c9269bd8ea15296012b13281bda6213f1753823037d24f14e733267b3c31cc2e2b235f1665bd6a81568c7bafc902a6184cea493508772866044a2f7c2aba3a07d560d535b97499bc0e07423221797cc11c46562c721a99c100530ce0b0f8d09013d27bff057a2456a622475297d49bb98595d6efb69d9353561a028e6b5a9da9a4207ba35f0a10b4cf66d7ff4aca409c8edb8160e8a60c5101fd480cdb05362430c98bd8ca34a318405024cb2a425a45384d501889e75c954767a1e274392c830694b59778a158f0b06cf2b444cd2c0134710b35cac598b1de47048d3b204d004a7d8d94810f9a751d782b7ccb158f70f262a53fa7b3d46676569f12b37370e17e1ce35cc0a230465a03903cbdb30ef18ce8b2033e9c5c1a686067ee639bf934b29b5cf2b921015549075cb0f609653e202afa388a409167020156648552c8dc941c1cc6424693025e263aef87f3e0b7147d0b8164077dd580f8c5b8f8ce10d77b217adfab3c65a2e6a04a662bcacc640b0eee6b08dc32c661751c0c8bddffc2e0bb78691a68e7eba25457a42aa0c3b15e17787619824e02edc7804161a3e7fb092e897506b8333aee03fd8b11c943853f1a9a44f5927309abde1321d60f73e41538cb9f83e3fa004011a94a200cc80eac685d85adf295b3dfcc175e4ab1e3cc0cb03c472655e29ba2274d759906a9043f2575f850f1152542585b9feba4368598c883c65120048b7c85e1a361adb0941e6479370f01604d4bbe85ba4683bae545b3772755765073899b00b0de9a6d810137ba8a91aab33ebc21c34274f3c995fe4ca8aaab926e7ba0d83175100fb261272137fdac3ec38ac299a25d2d9c514937e4386a06831ac39e21fc6e702a50476493754a37261c7187cab94922ae12f2b032228934782c056aa67861775814fe5a8095c617bf590795c9b65aa6ee60b60575c881f4631849c6717905456d55016360d789a1f5ac166b1508d6100b0ce914216ca0476566ec33417ac234597a45c8a519b40842e5ee66b8b69269be2848053c50b38c258e38ad3104e9a1a50e9872dae129c38a367418c84f0cb5acedcae229291c3f6aeca507007042f609734dac77fa01c1735245d06f64aefec7736e077d5ac9d8767346250c7dca28105477b18c681fd779123e93788624007bc729ab13352f9915d062df3367d1acc58ed8478a9e6216a826977b770819796f24cad7db1538cc41c03a8192f2323c68a9f28fb0145cb543832639158cb098b7693c615b820ba01a3838cf805b9972ceec7689e9bac7831701d543e87a880fe91b59743888aac439d1222a5fc33f5068844fc3ae421cfe80c50db3031584a21b4330ce1a7c014b11eb3526ee4dc740ca7179a428dac27c128421167665f809959a5494c6e3a53f9d74f6e85ba7442cf68d999ce2a891da7cb6903ade2f576f858a5f731c259446219149d11f35d61fc3af43bac9e1a6a6f93469ce7a3896917ebd7c2e8c521bac1c612f0aaba462e48a30ba3d37a28507a16e20658f34ccd3905db5ab94d6333b1390e7a93906eb0c59932840cf55227f19a2c8728a7d385189057144b462a2338df6151e02bbc53d35412e4235d7045e47154e4b910a47ca8ee678595bb690a6b4459b23fbac0b51b055402a9a83f29691ae02a500c9c6352658fd1816a7a9e3f593ffda6939820530793382ba38aa851433585a39c68c7026461f9e0000b365ff2b67a93eb83437b5207061961233013a41cf7d1ce8f86c6b8159a65cb979161410d24b1b20a1ada82b72d127e941846e9d16d16f3b9a63b9e678057a20aacb88238ed9ca1c722307e2c2f3540afb2b78ed999981ff6a0a0e15f3c3ccadc9b242b886d12f29ad6113d63c8268c56913458ad31a04f6130845a1942fe68b9384c3fd2f62fe034c8e6ba23bb6799163553291ba2376775c4a67914f78bb75026df18aac6c8c9e6e77351dbcf8b97106d7ba0df874b1ee2bc508222794543ea60b3dc95093f288220f83b6a6b456f2a3bba809af288ac08b44ba9411bccb5ba61961817e20b7cdb6efdc4563a6b4b4888058f08ab01d702fb015f20c9202af713de66c1cf133bcde0277f84a5c1876b7adb21fc5a82555474b70443bc59355e3932d20c14887c25e9517c69d807c30a842cf50549da1620ea315e5a20549b59106a6e1fe56d6c4657d6f69891a7449a57239de5137e8c3efc2994bb0b2bd8cc49edbb3661820da27199414a33d804acbb1a80da68ce288c0974b0b1a8f038fd1819bd8090fb022fd648331699724b66059d148d6445acbcb9b910ab14cd0482972858b56541596b5b809aadf81657796c544c02b9a6eb9160bb0cc6445708d71051a89a88830c03c71903892860b950fe66495f992829dc783691876a06a1ff983965d67f2207a60643a6cbb59be857408d802b86f054d5137ee8e6a02d2603e29b4e970a9ca5f49e64e39f70fa5912488c98d28daedc20da06c811a38aafb0064e9ab2f3628587f7a099036a0ec71d70b04ad0e26919146b4006b15221ac78ea0599325b9de25c81506a786949deb23bae43c27c60b79f73635dd64b35002ce5d40f9808ae6a51cc00185ddd099212e3cb03ca153015fb2665c77d8fcc529f21afde0d4f32cbfa399f2973d812f516c86b772f50f7047714627bf76bc098e0b919145fcd8df6922ebac383e5c556738390dad700cfd0bfc439237a0cdb3f7d6c76699aad545d0acd755f14f7cb3b30096c +m = 2bee79d35d1bd40005203028b58b095ddff33a4806a2ba264f76b6b06af6449c +ct = bf3a2dd41a41f4f573f912474cf0bf79ebc101e6fd605f1ef56780e4c27122bfe49b3cc9d7a144d43fbc5b3faf3b27bf5dc158b5b8f8f24b676de71a82e354a712fecac90b740da9a152d420acafc71f2ad1796fb95b6092fa464e4c961de6ae12be46c4006fd5cee3c547abff8788bf1291cfadddb85f5e7310eb2188c8f9a18f973568f17328c13281fc8e81241c565501076dbddcba0cf2085db7ef0359e0189da6b87b7c52585d80cb7b7da1ad3b354d2988f22ec7b27a17082440f601f36327823f0821d892197b5cdec6b3d169d0a6ec96061400c825c8873bd03b7cc39973112150967a4609a64b2128bab544c1a63beb86b00a3a1142f04f6876deffebfa495fe02527c4e9ed7627c3522e2524130d25e9fdc9e9a09f65404d599bbe7829cb21f4a4b6f52f80c6ac24ac00af44260280304ce6aa59a3b0fb38716de0c60acbb293cc700dfb212f1687c16d12dd9ee0cf8f101cf3becf06e14b5097355c774316ed1ebcaeca84355fcfea3fc0449aaadffcdb97fb09c31f06cb1d8e03a096d1e3295c093e4e1b85f51bcdb458629dcf132f0eb7de22c5317e56cc92d05cc9777269aab262535baaf030df4bc595244685d4df5df9b876eff4d7ffe86214bfcdc07461d461819975c59ac0c393175d8e572f229024a039f8395d3fd467ddc7d1944486178bf7100b504f1836e803ef54a95fa9ed5e482039df71bbce5232daacfc060bfa9292c7995115d5ac79e9008cf5893f22eb1e642ddfbe0266ce9eadebf8e0e11a92bac0992ebed090dec2daa1aa31808c50a82092857a43be82fe2299a29c49f54fe5f7e0a2ac09d7d26ce941733b08f17acac50ace0e1450940478af522a039a276906ae1e4a8b7833735523d0f37a08bcc76d514fcce2f5bf5959bfc4a39b1bf3d4c7568a27efa29653cf8b2ba0a4d79f2ebbeb603b67a4026381fc28011dac77f2f422a202684395f881f17f3c6550e6a3bb528eddc40ce0a677d077fa31659253ba9ecd015a4d3b200ae7094af72f13a8781af3166d4c09d25980d92a3e51b1d4e3881d0197f9a7d0e975a70a87cf7fd7fe1d399d0f7bc6a9a70e15d8af061c5fb30d14ea999838db71a9901dbbf075e3f2ee80d05d8aa461da8fd08a02d4a98d72e3a0a64b96e2b7f65e912e7a05def679774034dc41ff92cd1c15aada6cb4db708f65754ea2c6403d8b9c325560f8456536bf77f91250b52b93b7a48cc04ac827dac9d2631233df6ddcd8b801943b65830540dc17395ef1c54341bc729e43278694d7d289a9011dc354fc50b32bc4f1b4aa863ac3bfa88af98c4acffabd9ed483383c04e7f029511e7dcfbf409e165dd846193a62b4f24851175e534b06f161e191824988487b191cd6c553ffe42805224ef894fc75c0a66d975d87cb9e9ccf5bc19287b805a18972ecc7543d3544e8ef196dbc5a0caedd748a8a736276c66f822e5a98a0ca0af437b0418b9ef7adc4dbd49e31f34713b168dbeb289875049ea0695393753273768470705a0d101ca0cae65b3d4ed9aa006a3c2c6029022f67620958154490e652283ab812e75d3122ceb5b64f75f11ca29f0e1edcdcfb26a6ab60f1f27adc5e51f6e9cb9ba7ece7f1bc84afcb9f58c5507550c625eca9a0e3d0b5d4d9edb54b03b24239d678dc5d8e7707b32024dabd0f24f40a63a7e09471ce931f9e4b0a91139834579502806d1d413ba38b1932ed7e2d0028f795b42b27ba71cff05fc15dd312d0cc014c03c0019a8829aa5c87526fbfa9d0292f33aa58a4d65f5d1dcfdba4a65c57c9727cc55c420f88d66e0930162efcb6180bce440dbc4d932a90a84e37e723f4d81a3ad81bab16b242411fe21cd887afd6b793e0d6469823f1f84c213ad98674a628959cd11c3a3cfedde06aaf643e82e06c181d8709af498f5cfd7ab159bb2b772235e739ddb6526f3da81f174a9fe852a1721d513f94e8cc74d8822e5b0c9439b48c127c4218f5ae9c3adc1236be7dc82e222ef6a038610a11acae994733e3acfacacc6852792131f35db97f2ebbbef90bee7a7ee1e29fc654ec130e10908a2d9d1730340fccce1ac1937e955c68d623b78161f688925b49d6f07925e9702396cf8e7a5e8fa86083f0ecc33a0d85eae8b035847ea9e88ac865e4cc98a8310125bb69d8b4fd4b0861ea41e381010f5a28e0461212f0d4422898031f1c5f4d02ef9ace7846f6deb3f3567eeb +ss = d50d1fe7c4685b7586244444d8a29a9f512034e85aa6f1f137c50dd33acee62a d = 6084a235f79dd093ef6d185b54e69df33dacee73a9bf2f379004421a10e3a79d -z = 9f684fb055ece19459eb464e91e126a7a6e3ed11ccee0046da234d964c985110 +z = 2a96a70166e26d17a7319e8a5e12e38ca01a98d8a5813049a5bdd355a7d71347 pk = 50672c2e47609ecb47db696d4fe16e54341c0a510ca0293c25f69d027a4b7ccb08c184a68dbb0e8822393ab7b05ef08c4610a0b84c8c4cd5b783e71327d925959782b6c106b08436861a8fb2c1ce2f239f19a73b84966698c52e3c380a7da81b54ab76e62929e6743c88b05457868fff3074f8f085dbb05816c8b4803a7398f1c0f2cb3765e84672b24fa32838f7199a8f738b89334dc6f391125569b12a670cd37caaf00ac919aa4b92bd4da706973681b696b33871441daca919216760b41f5000a7bf782ac33491382b1c423734016cc8ee4b80e6e25be4720ed05439b9dac5fd240193746e6b196c938b345b39bf5485b5bdaba020dc90ebb5ce8398c3b0fc59eb5ca95857abc2f6bd04bb34f2902da9c4a641fc36a1289640a371ab965b25383b7f017834fb4c3c3477910288f8b305031a7b97b69f3eb48780d3558c7c741171815b169e4e9a62a261460ff2caa333150aa2698d243ec55abad0329cf8fca935094c6795489c902303fcca7f257c7d072eaed4a31c9146311b21b09b38326aae0d914c55ab756d7b0cd761510dd12572b912ec79b61fa230e4eb9dd052b29b775d891b7025bc89c0dcaa0a18855988c215c74f06b36976101c0f697cf8db4c0fe25f1c016cd11154f5a5cebdcc4add13b31a63336ae621f2257837b16ff0f6c07eba6fe5b058a42122aa88629014256017bbef582e123365ae37063fa97277b2063d3860d3920beca27638f02807fa3bac4ac08614ad1590bdc6c855f4d3b292982838923251a348cb48753ef773570ab00768341670c21dc7a356931e5b8ab51e8b2615f5689e607953f685aeb6b999815b2cc66c24f65d2ec64e4ee88d4cd830da4c61e15a033e37182731b5b0b506def921bdc19a85624630ba9102226f6c2467c9eb21483bcfc96a22d8493f9ef8b7276378ffc16c3a996f5cf6755d924716524dc85c39d22a8254e74244229c975b467ac94568312333eb578a197f4530ab74514fa174855904c7fd09b2003c3b94bb41c4559b45c00f7a73935ed15a39e47bcd46497141942c3b669642060533ce5ddb0cb4c1369dec82b8d7239637b615a086d4aa87630439d712a55556cdb911734a23779d7c5ddc628d0f326b5502a79da80fcfb3aa8e607fd5c25b8f2768515618538a990df66fe57c5c3b3a354655ae4fc098bcd7a382301d0b721a1e74795ac23ffb8c5493e14c0793cf03063794cb0d340a018461ad89e17ea89b7b88382b9a288bc4b13180db6ee6224fd929b628049c20c1c830504e09651147417b552b6ec810c744210532bb011a93baf28c20512558bc1c4c4a07565779b7fcb260839506e0e0224099c5751a93d6141f90816ea8da87cd1105715a67d0b969d8b748a46831ead199eb4c28b634a82d8b988d2a6d5c797943000d2546957eda9b1573bf534b552f225253d768706c8ad4c42e2688b40965c0dee151be4b7625d92e79fa40fa7c00093148125c65e841cdb86aa90a02099e2c6c4c0bbc95f14fd0734872f2a6d6b3c9b3d0285b7ccbb5b715e913245c14a5aa146f003788d4a76df1037195da2e939cc08f56c3c25405d7d1851249496d33421e5bc386645ff3a8367c3bcfd0542c8962ce146720012087693c60e3a47de4570887473bf9b68c22699afc314afd801a0cda51fe4340e4e34ef18c07a9c7a40190908ac323068c95d59bb04bfc11ac930f99d082d547c99a807c8d112d82f1b81125b41f57a243006b772673efd286b4d24684d2b046b53d7d26b6bbb862d64c42e0e909e813391d6a8289647e91660dc5891479c43769d9608c10763e5a35acb9ab7552a08d167abc9b02d3798115d4c0b6b0782c77bfaea4bc27835b4ae525bb052f6dc04d65074e00207213d612e746a44cb5bb55311c0d4a43d2eb3c2003cf3eb895fda1001bd55484992a384561152779df9534b933244654b2c37b3caa368319235a1da431d958a4dec38da311412606adc0d26022f8a822e4913b8b5e97b6c2525636b586c8b3c62ab4dc73539a028fec33a5704bf95183847361a8143d1c22495ea4a229b4214fc22334b857344c721ac2190b554f7a30479bdbc8854c0f0219b4002a0685119aec442242d15cdde0983f8c9ef2b3aee24ca7ed917b90407d5ad86906c0c865149060b36db1cb1a22d97ca3823d34197b7d9e60e307bbabd9b3e8272a0ef1b3333269a7af6a5bb8740bfa -sk = af361347809757c2ae0c4a60393c90222c394cf136e95517552721ff136dcc234d64715a1ab43d15708187f89a6830791e0062cd43253ee486ac54179d320fa6a8bac4d0c07b7158a1eccfe52c4847403849982d73288877d04eaad37d392aa487597f80f19af7444e5a82cfbe51609ae515c1b320b6c75aefc121d5e2904a0185654a418e5c7a379b41838ace149b45c5a4040dd239ada846102a6bbc811ebed4710b2393ecc4bb8c6254dc815d2667831f962887a74eb883a5a8642e0b427450d01321246a8797b7be1211eaf64b0c706eedfa17cba2b010626112ab6b2b2b928df38ccbd9b639b9c6ad090e92da98b5c9914549beb6a9b5505579a56943d210722bf590d63c1ed56534a96552005226c34cc1ac32572d2ac0823bce348086096525188088df229536bac34a1c95083309a0971f31d975de0598e4e009d24661b2a79dfae85343b94fb1bc171493ad77d767e0814837348616205652eb4f98838ce536691de8c3af0a4970eb0c3600b4605841bcb0884e08bca3198b04b2afa6f575229c56462b9516026d32d2ce33a4b1add3b411371ea6516765f457613ccb50f94ab9395f6fbc94395a6c9c104ce3b79171a83a49b22add3a915086b804c3b42301bc1f14630ee3217f059aef485c019a4248b4a78a516d75919eb2b15bb1e5a34cb6b470ca7a797ba1b5193cb4565497f98bfe30a7578044867897c332687d925c8bab05d0c35693f557f541b571d6ab7e4a752b80267b0329d7558fe4bbc54c8612aa95c03f81641a129b1793160dba78c4e0269e9361087328a73c67c0044217a25c2e05b64a1b8ebec972606bc220b1a456d8ba86a76ac4a3c06429cfb6035ea50549db887a5f6170ea282bcc295a2ef000f571038fa97b6bd98fe0399ece3755d4b55e16261f7fab678c394c83676cb9f080bcc915c8b1c67dc998d7097074249585e31c5b30bd0250abc570531db43f546c2e05983a7b5219127809987343cf722fc38525b2ecaad2ca703679cbb7500420f83960d7505bb7b7b59a8b6f0c876c7a53d893a10468a516fa7a6a08c04d3259ad003db768559e173df06a08793b10e5a1a46145b6f0fbb230ca504424b4e9617cb3f509993567b4cb94cb2cb39811bc1eab31b5f5691ff4108e5a6eaa9b15dc2aa45fc4ad26b9ca007a7c2a680acefa88f12790abec7e3da1c13a355c1c669117070a7e1976f6859921e273f53632b4144b58e0a74207100d2cade0c8a0410814d40a4234843a44978d0d4a173be52434760423235f5d7c8e1f56c8181487bba930cc9272acd524eb6c9d71d753fe62b0e9ba33a478b7e82b36d9690607550aca261085a08725281b02e531432b35398b7ed1355b8172776926bfe41880df90af6951a58981c708724deba6b6c2bb8af1c0009c71a0b82ac0d14cb0910a8ec3988251dc9e93f17e067608115c85bb6c47d33a2a9359a35beb47c3a04ab65537f59bc1ebacbed4b97855f753a954929b6449a4db7d2098cdfc04008873004bc535bd5c74dd49247419601513c4e8125731307bc858845896a67d33902afa4b58b50be969b947851bbd791d66887cc6e92e19a2b92ba6bcc2825c4239ab2894b2467547ff3a63bef65edcd579215aca66a13cc6705453c4964f1c29499179cca36a3b998bcd173458127b5f5c9db4d12448d3914f4092f7f37f4d826221ea8bef6889179919eac60dc2547c5e6550f45bcb3d4b41de1b12273675a0f1c611b6199f27cbd277a38a67b77aa3ae87751e96f4b268f75b36d070cc1743b469a2ed493d50004ea5269e91bb4111795741f713918438b9945458f2836d42247254b2fec86cced59b0c721f3c372923c0072f31576bac1c8b986b25e035fef91fafb1c7d0c19c94494f4ff57d86064b22b008214375d0e61361e2cda31472c5d1853f6ace7f8765659abdf95904df05b976039336c9753dbbb216e599347664a7b170eb563ad464a16ef963fca77564b794408acee8395135aab683a14b0dc18413f31b8a4929111550b07b50db2209403854bc4391e115095d2b2f632a76d4015b7cc34e9474a75c124396483c8f0c03800b1f539623574099077b7dcd364e34a122bb0b738d863db019cd19967e48a181acb23cff56346f32135a30aee015af3b463885497a844562107a6350672c2e47609ecb47db696d4fe16e54341c0a510ca0293c25f69d027a4b7ccb08c184a68dbb0e8822393ab7b05ef08c4610a0b84c8c4cd5b783e71327d925959782b6c106b08436861a8fb2c1ce2f239f19a73b84966698c52e3c380a7da81b54ab76e62929e6743c88b05457868fff3074f8f085dbb05816c8b4803a7398f1c0f2cb3765e84672b24fa32838f7199a8f738b89334dc6f391125569b12a670cd37caaf00ac919aa4b92bd4da706973681b696b33871441daca919216760b41f5000a7bf782ac33491382b1c423734016cc8ee4b80e6e25be4720ed05439b9dac5fd240193746e6b196c938b345b39bf5485b5bdaba020dc90ebb5ce8398c3b0fc59eb5ca95857abc2f6bd04bb34f2902da9c4a641fc36a1289640a371ab965b25383b7f017834fb4c3c3477910288f8b305031a7b97b69f3eb48780d3558c7c741171815b169e4e9a62a261460ff2caa333150aa2698d243ec55abad0329cf8fca935094c6795489c902303fcca7f257c7d072eaed4a31c9146311b21b09b38326aae0d914c55ab756d7b0cd761510dd12572b912ec79b61fa230e4eb9dd052b29b775d891b7025bc89c0dcaa0a18855988c215c74f06b36976101c0f697cf8db4c0fe25f1c016cd11154f5a5cebdcc4add13b31a63336ae621f2257837b16ff0f6c07eba6fe5b058a42122aa88629014256017bbef582e123365ae37063fa97277b2063d3860d3920beca27638f02807fa3bac4ac08614ad1590bdc6c855f4d3b292982838923251a348cb48753ef773570ab00768341670c21dc7a356931e5b8ab51e8b2615f5689e607953f685aeb6b999815b2cc66c24f65d2ec64e4ee88d4cd830da4c61e15a033e37182731b5b0b506def921bdc19a85624630ba9102226f6c2467c9eb21483bcfc96a22d8493f9ef8b7276378ffc16c3a996f5cf6755d924716524dc85c39d22a8254e74244229c975b467ac94568312333eb578a197f4530ab74514fa174855904c7fd09b2003c3b94bb41c4559b45c00f7a73935ed15a39e47bcd46497141942c3b669642060533ce5ddb0cb4c1369dec82b8d7239637b615a086d4aa87630439d712a55556cdb911734a23779d7c5ddc628d0f326b5502a79da80fcfb3aa8e607fd5c25b8f2768515618538a990df66fe57c5c3b3a354655ae4fc098bcd7a382301d0b721a1e74795ac23ffb8c5493e14c0793cf03063794cb0d340a018461ad89e17ea89b7b88382b9a288bc4b13180db6ee6224fd929b628049c20c1c830504e09651147417b552b6ec810c744210532bb011a93baf28c20512558bc1c4c4a07565779b7fcb260839506e0e0224099c5751a93d6141f90816ea8da87cd1105715a67d0b969d8b748a46831ead199eb4c28b634a82d8b988d2a6d5c797943000d2546957eda9b1573bf534b552f225253d768706c8ad4c42e2688b40965c0dee151be4b7625d92e79fa40fa7c00093148125c65e841cdb86aa90a02099e2c6c4c0bbc95f14fd0734872f2a6d6b3c9b3d0285b7ccbb5b715e913245c14a5aa146f003788d4a76df1037195da2e939cc08f56c3c25405d7d1851249496d33421e5bc386645ff3a8367c3bcfd0542c8962ce146720012087693c60e3a47de4570887473bf9b68c22699afc314afd801a0cda51fe4340e4e34ef18c07a9c7a40190908ac323068c95d59bb04bfc11ac930f99d082d547c99a807c8d112d82f1b81125b41f57a243006b772673efd286b4d24684d2b046b53d7d26b6bbb862d64c42e0e909e813391d6a8289647e91660dc5891479c43769d9608c10763e5a35acb9ab7552a08d167abc9b02d3798115d4c0b6b0782c77bfaea4bc27835b4ae525bb052f6dc04d65074e00207213d612e746a44cb5bb55311c0d4a43d2eb3c2003cf3eb895fda1001bd55484992a384561152779df9534b933244654b2c37b3caa368319235a1da431d958a4dec38da311412606adc0d26022f8a822e4913b8b5e97b6c2525636b586c8b3c62ab4dc73539a028fec33a5704bf95183847361a8143d1c22495ea4a229b4214fc22334b857344c721ac2190b554f7a30479bdbc8854c0f0219b4002a0685119aec442242d15cdde0983f8c9ef2b3aee24ca7ed917b90407d5ad86906c0c865149060b36db1cb1a22d97ca3823d34197b7d9e60e307bbabd9b3e8272a0ef1b3333269a7af6a5bb8740bfaa9f015f625356a6bacbb5e565c70184940891589309a571b7166c2ee713b8fbb9f684fb055ece19459eb464e91e126a7a6e3ed11ccee0046da234d964c985110 -m = 1c82471dcdfca3a6942061ab4f3d5bf0d197321437c706d9cccccce449447002 -ct = 555bbb084cfd60a223b01afb6eafce111b4d52d70dc5db0216b29a19a3e6e185edaa514b36475147a32f6eebec1182f6f0430f3d74b04272a66b59bc3962493bb9ac9262243033bc8baeaf5362813577f150074148356ba29e504d6203c1a6725b1983cae9ac32625c396ea367a12760bb50f5778b9698d5e361b4d106cb500961b5f562800b86030df20e8b27bc2f69a0397661684c2546e6de82cd99d0241bca02813776b8b4d2beb5310675f320af1dfdd1ad332e7830cbdecc7f32cd97d0dc4fd2e4e0768091c9808ae6c1a2fd74de50fc9298f4f31e009a1c6b0eeeb817697d61c3f04e65098e0138616a96ec955765655efa919ab9035ba3e15a0aee8ffbb16449656433fbd7def778f0aa8eb1d07b1db00122dba4a805b7d366aac536344dbab7878dc380dbab360428851f6e4bd4212c3d5d285297c07959a8d1dce2f321357a35761559e01cfc845724568a1a5914e2db5c5a9a59dd9a310d30e405c6b87592a58f59782e8be0c3c5c579c0f766ecba7aa495c2181ff66edd15aad0b1d65260bdec0c7962189500adda615e0eee29f0bc423e98f05e8eb0145ad439a3fe4eee0868bb37399c5c981f20b1f1cd9a933ba72db7ad462a87ad328473b752dc0f4d22afba60e3396f6b8c3dc4ee265fd8dea6f32d4f0da34b0f760519f5f6fc1775b8c50643860a28686e6ddf27fb46de3553c9555af51d73e653d11a8156fe733057f4f9d499be8fca2de71200d40e642bf2b13bb24478c2a3cfb1025211d6e27d8bd7dc3776f58eff239475ee28575bba1be33b100c7eac46afc809224faf745e40735bb3144f65280dc00843119d761095d022aa8ab81f4f2b94df94e557f08431e55a67dd825b6530690356b0c646a5da6fddfe2545316829d1030f7c810a29dbf33ce7e652191e0389e456dfb11e30d17d0f390ef088e69c5227f1497531654ce45025f9edb33bd4d80f148b6ba15523719ab72be558ae1e895b02eb1d9be658bac164acf25c5ba3bc512363dfabe41700f8668f70be26914cbf6bab8acf584eceead2815e77ef92cdc39c62a1751681d2144a29cd22d467ee33af75edd8bb34f7916a1de2d0980fd7c4a42688bd1bb7b5850d6146a112b3bf6958c36e7ac81d19f9b81eeb50cbca2037165f224d6a4051767cfc3a9189294d3ace7ad8a0352fa46e1013e0f9a6bc3a9e80d5d453648f66ca3cb2a9f5c167e53bd4270b7bb9ad7d04db208503cd91e8ab17147e527acd059d5936857064cfe51eca99ed5c78e0ddb66b08b6d4312b09c19fdaac5c2ebec8ee0943c6ac75257579f394454136c1507183497755a15f6eb4e12f0a0607dd8f766976457cdbc28df9fb56836383da6dcdefa78e0c09dcfd86c6ba1cc63821865bdd7f589d41574ff51ebc533bd95664df8db48c6bbd7d677ab3966ebf9b393e9b16153852e9b9b2d288bd55ef4c43619b1e6526620acfa75a831bc1dbb4a80e09c9b034e2262b0622b58cfd468c0ac4e4e0a99fa73bc719ca2f88fabd3212a2e087587a4c3f2807d7425239e4324ab5ff609f6293417b5c61f36646887ed77cce179fee283d83376a688f125a544026d73de20372fe577a31f8f1d1eb3f10935875dc30ba543b38bb314f18b553fb556299dbaa4c1020909a14692086460e6f1f7fead248eccd9d9a57854a8c1e8124e259ca02f050f37c6facb857fc336d7199f81a93c3d6132a5f9e010285440294dda17044d2add52e992e0878c8e07adca4798792b54f1e1c3c5b349109fe003d33944ff6035ca22cef1e2dcde188581c804d9abab6303a5f65282f814f01e2dee7711daece0c67cf49bda9823f018afc412f682329e4350803139ac957d59354148cb7aa82f802be471bbcfe0209ca7adac785c34d4ca5a3d82a6cefcf459663c19ecc3d56d7e3939b0d0389ce30ebd303f2076ccafd2efaf12d7f37fd92dc1348fe3a9095ee8b7bab668c9d41a176ef27ef52eaa6c51583a762f21f473428d8c238b9a3506f6b7b83f2ffe059e09dbfd172071a53671164d58a54a71d7bd9a433ebd214d406c51489281129d731a9d21c52fdba16b98ee79898959c93c8a253587d335cd1f720707b642ba036ed2760843bd529facaabd6c31c59ea6601e3d291d84e91ed8e859bd5b23e1c138437f771ea78529335aeaccac2c37095345886917b2afe53fe7a4716325ebd57a0b3ad4cf08a10532d6792d4b7 -ss = de78ccd2a757a9a4c09763b2d9da4da0d40cadd7741e76ae22b2b472d823840c +sk = af361347809757c2ae0c4a60393c90222c394cf136e95517552721ff136dcc234d64715a1ab43d15708187f89a6830791e0062cd43253ee486ac54179d320fa6a8bac4d0c07b7158a1eccfe52c4847403849982d73288877d04eaad37d392aa487597f80f19af7444e5a82cfbe51609ae515c1b320b6c75aefc121d5e2904a0185654a418e5c7a379b41838ace149b45c5a4040dd239ada846102a6bbc811ebed4710b2393ecc4bb8c6254dc815d2667831f962887a74eb883a5a8642e0b427450d01321246a8797b7be1211eaf64b0c706eedfa17cba2b010626112ab6b2b2b928df38ccbd9b639b9c6ad090e92da98b5c9914549beb6a9b5505579a56943d210722bf590d63c1ed56534a96552005226c34cc1ac32572d2ac0823bce348086096525188088df229536bac34a1c95083309a0971f31d975de0598e4e009d24661b2a79dfae85343b94fb1bc171493ad77d767e0814837348616205652eb4f98838ce536691de8c3af0a4970eb0c3600b4605841bcb0884e08bca3198b04b2afa6f575229c56462b9516026d32d2ce33a4b1add3b411371ea6516765f457613ccb50f94ab9395f6fbc94395a6c9c104ce3b79171a83a49b22add3a915086b804c3b42301bc1f14630ee3217f059aef485c019a4248b4a78a516d75919eb2b15bb1e5a34cb6b470ca7a797ba1b5193cb4565497f98bfe30a7578044867897c332687d925c8bab05d0c35693f557f541b571d6ab7e4a752b80267b0329d7558fe4bbc54c8612aa95c03f81641a129b1793160dba78c4e0269e9361087328a73c67c0044217a25c2e05b64a1b8ebec972606bc220b1a456d8ba86a76ac4a3c06429cfb6035ea50549db887a5f6170ea282bcc295a2ef000f571038fa97b6bd98fe0399ece3755d4b55e16261f7fab678c394c83676cb9f080bcc915c8b1c67dc998d7097074249585e31c5b30bd0250abc570531db43f546c2e05983a7b5219127809987343cf722fc38525b2ecaad2ca703679cbb7500420f83960d7505bb7b7b59a8b6f0c876c7a53d893a10468a516fa7a6a08c04d3259ad003db768559e173df06a08793b10e5a1a46145b6f0fbb230ca504424b4e9617cb3f509993567b4cb94cb2cb39811bc1eab31b5f5691ff4108e5a6eaa9b15dc2aa45fc4ad26b9ca007a7c2a680acefa88f12790abec7e3da1c13a355c1c669117070a7e1976f6859921e273f53632b4144b58e0a74207100d2cade0c8a0410814d40a4234843a44978d0d4a173be52434760423235f5d7c8e1f56c8181487bba930cc9272acd524eb6c9d71d753fe62b0e9ba33a478b7e82b36d9690607550aca261085a08725281b02e531432b35398b7ed1355b8172776926bfe41880df90af6951a58981c708724deba6b6c2bb8af1c0009c71a0b82ac0d14cb0910a8ec3988251dc9e93f17e067608115c85bb6c47d33a2a9359a35beb47c3a04ab65537f59bc1ebacbed4b97855f753a954929b6449a4db7d2098cdfc04008873004bc535bd5c74dd49247419601513c4e8125731307bc858845896a67d33902afa4b58b50be969b947851bbd791d66887cc6e92e19a2b92ba6bcc2825c4239ab2894b2467547ff3a63bef65edcd579215aca66a13cc6705453c4964f1c29499179cca36a3b998bcd173458127b5f5c9db4d12448d3914f4092f7f37f4d826221ea8bef6889179919eac60dc2547c5e6550f45bcb3d4b41de1b12273675a0f1c611b6199f27cbd277a38a67b77aa3ae87751e96f4b268f75b36d070cc1743b469a2ed493d50004ea5269e91bb4111795741f713918438b9945458f2836d42247254b2fec86cced59b0c721f3c372923c0072f31576bac1c8b986b25e035fef91fafb1c7d0c19c94494f4ff57d86064b22b008214375d0e61361e2cda31472c5d1853f6ace7f8765659abdf95904df05b976039336c9753dbbb216e599347664a7b170eb563ad464a16ef963fca77564b794408acee8395135aab683a14b0dc18413f31b8a4929111550b07b50db2209403854bc4391e115095d2b2f632a76d4015b7cc34e9474a75c124396483c8f0c03800b1f539623574099077b7dcd364e34a122bb0b738d863db019cd19967e48a181acb23cff56346f32135a30aee015af3b463885497a844562107a6350672c2e47609ecb47db696d4fe16e54341c0a510ca0293c25f69d027a4b7ccb08c184a68dbb0e8822393ab7b05ef08c4610a0b84c8c4cd5b783e71327d925959782b6c106b08436861a8fb2c1ce2f239f19a73b84966698c52e3c380a7da81b54ab76e62929e6743c88b05457868fff3074f8f085dbb05816c8b4803a7398f1c0f2cb3765e84672b24fa32838f7199a8f738b89334dc6f391125569b12a670cd37caaf00ac919aa4b92bd4da706973681b696b33871441daca919216760b41f5000a7bf782ac33491382b1c423734016cc8ee4b80e6e25be4720ed05439b9dac5fd240193746e6b196c938b345b39bf5485b5bdaba020dc90ebb5ce8398c3b0fc59eb5ca95857abc2f6bd04bb34f2902da9c4a641fc36a1289640a371ab965b25383b7f017834fb4c3c3477910288f8b305031a7b97b69f3eb48780d3558c7c741171815b169e4e9a62a261460ff2caa333150aa2698d243ec55abad0329cf8fca935094c6795489c902303fcca7f257c7d072eaed4a31c9146311b21b09b38326aae0d914c55ab756d7b0cd761510dd12572b912ec79b61fa230e4eb9dd052b29b775d891b7025bc89c0dcaa0a18855988c215c74f06b36976101c0f697cf8db4c0fe25f1c016cd11154f5a5cebdcc4add13b31a63336ae621f2257837b16ff0f6c07eba6fe5b058a42122aa88629014256017bbef582e123365ae37063fa97277b2063d3860d3920beca27638f02807fa3bac4ac08614ad1590bdc6c855f4d3b292982838923251a348cb48753ef773570ab00768341670c21dc7a356931e5b8ab51e8b2615f5689e607953f685aeb6b999815b2cc66c24f65d2ec64e4ee88d4cd830da4c61e15a033e37182731b5b0b506def921bdc19a85624630ba9102226f6c2467c9eb21483bcfc96a22d8493f9ef8b7276378ffc16c3a996f5cf6755d924716524dc85c39d22a8254e74244229c975b467ac94568312333eb578a197f4530ab74514fa174855904c7fd09b2003c3b94bb41c4559b45c00f7a73935ed15a39e47bcd46497141942c3b669642060533ce5ddb0cb4c1369dec82b8d7239637b615a086d4aa87630439d712a55556cdb911734a23779d7c5ddc628d0f326b5502a79da80fcfb3aa8e607fd5c25b8f2768515618538a990df66fe57c5c3b3a354655ae4fc098bcd7a382301d0b721a1e74795ac23ffb8c5493e14c0793cf03063794cb0d340a018461ad89e17ea89b7b88382b9a288bc4b13180db6ee6224fd929b628049c20c1c830504e09651147417b552b6ec810c744210532bb011a93baf28c20512558bc1c4c4a07565779b7fcb260839506e0e0224099c5751a93d6141f90816ea8da87cd1105715a67d0b969d8b748a46831ead199eb4c28b634a82d8b988d2a6d5c797943000d2546957eda9b1573bf534b552f225253d768706c8ad4c42e2688b40965c0dee151be4b7625d92e79fa40fa7c00093148125c65e841cdb86aa90a02099e2c6c4c0bbc95f14fd0734872f2a6d6b3c9b3d0285b7ccbb5b715e913245c14a5aa146f003788d4a76df1037195da2e939cc08f56c3c25405d7d1851249496d33421e5bc386645ff3a8367c3bcfd0542c8962ce146720012087693c60e3a47de4570887473bf9b68c22699afc314afd801a0cda51fe4340e4e34ef18c07a9c7a40190908ac323068c95d59bb04bfc11ac930f99d082d547c99a807c8d112d82f1b81125b41f57a243006b772673efd286b4d24684d2b046b53d7d26b6bbb862d64c42e0e909e813391d6a8289647e91660dc5891479c43769d9608c10763e5a35acb9ab7552a08d167abc9b02d3798115d4c0b6b0782c77bfaea4bc27835b4ae525bb052f6dc04d65074e00207213d612e746a44cb5bb55311c0d4a43d2eb3c2003cf3eb895fda1001bd55484992a384561152779df9534b933244654b2c37b3caa368319235a1da431d958a4dec38da311412606adc0d26022f8a822e4913b8b5e97b6c2525636b586c8b3c62ab4dc73539a028fec33a5704bf95183847361a8143d1c22495ea4a229b4214fc22334b857344c721ac2190b554f7a30479bdbc8854c0f0219b4002a0685119aec442242d15cdde0983f8c9ef2b3aee24ca7ed917b90407d5ad86906c0c865149060b36db1cb1a22d97ca3823d34197b7d9e60e307bbabd9b3e8272a0ef1b3333269a7af6a5bb8740bfaa9f015f625356a6bacbb5e565c70184940891589309a571b7166c2ee713b8fbb2a96a70166e26d17a7319e8a5e12e38ca01a98d8a5813049a5bdd355a7d71347 +m = a8fdb315f75aa1e656cad005010b032bce1dcdd7cff8c938a5314ed240f480ea +ct = a382db2ad5ce3bd114c1287738c32f5115e807c837efcddfe91693ebc7abd3c7a3f743ed2d3bb6ab2bc412325bdde8d6d3120520b177c7def9021a180044bb63c27205d9a2017cebf83614b0b1091225def049f7600ce40807038cdf6ad5a5f7e2538968733e4d40ba4a1e81f7f30d09e7bbc107e71c6a4f5ab3bbdb2ef4c136ecc6f758fdf0f249e40853f59c4c146d9a35f005105d13137743be2677924d287b9782f24a3c5331a9a532cf3c8e19812a5aee650edfe97022bf30bcd2075a4137db456a8e8ce19e995ccc5146552e3cb488325424ebba18a1fd7afe3a3b7c57185b14545816344f9bd8eb18f911f92f768327e3b9802ca0eddbac63bebac157e06a91bfaa2ccbead3accfcc0d98be4cef501c3350907a5fc21fbbc30e89e97bf8bce8f1da813f017b56d4a3d2cac5e6f73f3ee71919bcf6d5fd8172286fc08238148ac8f162ca2a23a628bbb8ef06c3380d24637a1a51e11bf74ad8cb2b65baad5deb476a80e7b81cff5338e7bb944a37542a5d62ed93c0f5928199f9b901c7a97bc43bdaa362bc81b5832a981a7ec13b8a2e734d1a61a04383cbc7da106d785d55c0c152d4f5c374399f2ab735e47f61d04c0f0ab5641e3c7b0fdd1be75afbe139b24d62a6b4ff0465f8019746ed73f0ca51dbcbd8a024fb6ca2c862759b9395416840d6474db92e1b10680d174de52c67d9e27e562f2f18914eb2f33f0c78f7dddefb91b31460f57ab7a5e52b0162f2925299ac4cdd877c67068bbfbb7de75c01bc23ce9bac1eb93971ea9988535f692987eda0cc079a4397c900ca0878a67fb545b32b5d98849059d49044deb67f534a9e7763e7dac9392d8945fffae30881f4887cc34be152273e467a01a843301f2e0ca6ebf7e31f3057781195482fb430cef90bdd7ea368c26cc93a265ac944961ce119b4a5d321cc4909e220e72a9d52b49473e7310a6c7e56159cf478b62d27926f0e54937d1650ad0ad716b2189a1aa154eba1d4465b7ff81e0ff159a4363e504c483ad0ad8ba983d60eb1d30ec3c9211323eb43c017ffe9b24fa3ef7cf04c2dc02410fd9e5ad1194b092e47caeed5dbafa14841fe738a491956591a11ff0f1c98ec077c6f457aa3269f645518edfea3fead30c3c502299999555b5f9060feea35177e60d608b9f67cd11042e603fb1477d807a3ab47925e173e1856ff30cd274ca37d0e1fca220bd399e64db21cb63d8fb86352163bd3e1ff6ffc48de7646a59203e6bd5fe08660b28a807f9f9a0f9715f64547cb6d510b4e027fe2a34e4d0afcd2b6e2c07f22eb3e5025dd9f7357af3fa4a92dff914df30ab92f19e4fadaa8efac91913904d8ddf24413f0b720cbcdab9ac1a1aa92563cd50ff4167336d85a69c4ee5157194a9dcf1c3b6d0a4c1a3f58864c298b28d8d844f0db9be321e258bfdd003fa7f3688dc884492b6fe1668eff742531e496940399d4fc628f8f9c743e148566ea67b98b91b9135c6654c8352979a0993cfb87c699f969070042e3b9fdb66b2667148c71c5e51da1f970d3532af736b66a32199a20fb5248c1213fa4bc6f487fac018f08f131f3d3622577e2d6f523321ba887924ecbfa72b90686f14562faad1231107a5cd527544bc5493f7084fef6a50b19a49dcc1c8d0dc6a5acb810592e21c300c1e31b0699fc91be26d4f2b514fe0fa990d7dbbead29cb2c9d285d17a0652a48834f193259cef30d1569fe355087c7441822713c2b532046d350c65438a9e1d934d8c6cda9fe56d18ee58148f400f94b6e1c299661af37c6057e783361c4540e0f9a12cb943bc8cc4afa8601c8a92d238bc39bff2cbf3cfe800ff9b5cb8e501df35b94411320ec3c35ccabfa2cd10db30d7addf99fc9aeca25edf1e1007a18544029ac5af2907ed21963cb8feedc899cfdf083ec2e81cfd10824cf409deabf6c4809bf13c9dca8654a3a268842d3239544b83433ce0a2786364124dba0aabe37771a1d99a0b73ed2d4d920c0820ccf440bafe29a1e033d22f5c9dc20253934cca6e8616597013e01bf30f74055222771e458e7174faab5435c125fcd3ad93b6ea5e5f5a17bff6adac0c26caea431e97c8294a8bfa2bdcdcf9b403e2859f7e2a1bf3acb8260ccd7146ac279e6f1e326f68c8fbcc46d385600b17b0e737944394125cb19b45de4f0c979da2a37b9740dd078044036988e74cd8b6221542929a7534484625f748adc +ss = 1dff346bbb5f07a83cae994161954f4c8c27ae946b7fc05b5887e3d2cf26c78b d = acd1c0217fad5caa4235544dd9de153ab1880ccf4c76f16f236fae4e4bfda04c -z = f03a8abb0a5010f400ae5722a75bdf5a2f6d5b546b34d73857cb1bfc7e587aa7 +z = cd2dd7a1be89575be8c14529bde4d832cc005dea955065c08b3185b215da3a2d pk = 25879df1312d41f14b53ea0fcb973ead32cdf833463ef73eed9a0ce2d09faff9ce3a06030b3021cf4360f3e4cf93528bdbe69d0655171ba7b6d93cc220a10d37e828e54629c6239ee13c0a73e58f0ab6632e764a840753393b206c180b3c333275db3f05516fde08803f7bcc10589f8f54793f732cbfe82658033694e6aa74823b92cb616433072d405e3b38a42ba35252a99cb0a568d51b4562cb3af733af7a179fc66cb56292bb1d796bebb5c400f30098591447191a7ce6a3b2cc3fc7ab7b5c6ca02c6808be45671012867812c2bfdacb9db982c2893d150b6c70347091fabc0297356f033bdd6734736907dd3a9e60e4637e2ab768e9558339921d8c1a8218926815cacca840224052d574164a4661afd903d4516e43e3984b31554e5b666a9cbd332a9e6c63036d34189616cdb3d100331bba659649ef0abb86502fa994b941f9a354231110b8080db75c69ec6ffcba48642b0ef54479dd7995f7f9ba92f8b473cc7e31d04948648af330aa09996e868c75bc3949bc3bc8e5923df68b5dd78bafd3318ae4fa6224b8a7dc9814f7b35839b05cb709cb1cf2c1e80aa879c58b29677cda375a5e4229bc8431d48bb08af0bc27f982a6723e60b00df6e607665b7a4b4cb35e5162ba3698b7140ae7a25a3ea76db07626afc773854038b3d13654b7cf0a1a8e75959e5ea0797ef4a64538c19f0028dcb5cdb5803815467e57aca68fe00c3352602897aa88021203a4b970ebcca77846e5c01adb22859e41cdbfa8a7be9b932aa2c6d391379a035455d84282d5ab90d5b6de056f211cc6af61c1d5b643f8d299c249c055964c56906f88778a4600bd054850a9d92557ab2c33dca2eb2857b9617018ab08f25493b265b10ce74889d8cafec53f7b6805bfd637a6b6ade8a65d7f885c3af645cf08bae250753eac8e2b734a75976ac9eb8d2633a980285ec33b154c1551162c81f0254d2eb55a7db13f5d766330f65ceacb55fe058ad06686e50bc544b48f1358532603720079b7d0609e5b36b8b7e097d40ccaccf496f3f00fb957162445025ed62592fb61d41a28b16a1f3a3cc83b1b173e9599e5c49a41b93169dbc4fd006a93bb233ef73df88116e091b17a06125f651f52d501dc86a856a96a43601c46f32b1fd6900a6513f7d298851b443242c62b34236c7495881cc3fa592ebd4397d5422f3c40ca62980188cb4aa3499d5d2799f23c7e86057a14476ab4c7668f1c3caeb0a980d13de0f3129e151c0813b259d53efa07681048888dbc082adc4dd324a028d48fe728701398ce20425bcc9b410687363ad771218285617a39f3c7bfbb2a6c006125d6fa6df88898f7b236f7581a8a077038a06394782ce7862185f4ce98ac06c25b611da7701a80329228391da903607793bc8a2189a123c177af9d987ae9d1c6d2d01bc5910f56514532d582ca092939119444b3b736abc0fb5140e14c723b1c6abc2034929a7edd48ce3d469b16b09cbba5008728baabd54d15f427d2eb5e890a5a13224038328fcb227baf6a7ea3b82aac5844d809ad86b6adca537c2c0b4e0d659606f835129905a6760cfd68b5697b9a8ec00159450205cbcfc0f8c9fb8898f135298ee99a154977fae7bae16ab9325231178a764c1b10b5c427598490cd9539b69b1848980d09768c435233f52376371b7971d861c8612ecd160655e83ba1e60a553b4905d35efa1bbf58318d78353da822241a354b439b2449a2825d43212be80483c167e6c5b50883412571cd2ac3c1b5aa1ec9c232e6b9b5a2091e189b3ab0b323ff13654bc60ed42857755902d063619ab98fd8790d05d85bef1ab23a09a9c241a3cdea620b6c338eb582dbdca9a6ac40fef7615091445a93b8fc2001e09816ffd54f7870b5ce6a4fbd46c3f42b8e63619b7675716bb65eab17299b57c45c834226dcc6c1f98593782c9733a078db34a137c5422cc1dd87a614c1604972559937102ae60337d997caa06b0f33c43b093af04595e5ab48a7a0966ff318a735024f004d6f1893b48b74b42135c43425c1ca48a93691603ab62d2b80fa5a92eff7a218239b4814352a230cdc1249b09833be95c5f46bc5905b73a82206bd6658464659293691eb58551973121a42385ae81ac9ea2eb6419a915441f41946e504a6b9d5716e909bdc49337909282c554f3be4d7fae86455763b97ec8fdbe9640219b35fc36033966a3525d485f1 -sk = 31cb44a14c3ff840758055bf2afabad14a723c048d4d20c5908bb781844d574a96a0807c59d5192548a0089396a78b953aa52677b9a111cb012954b674571c5d0c7c5e6488d498290f7665f4f32dba7228ade2a724413798ec32619901215663b2c26360612558070bd06261bbab86b4f96056a498bf37b1b84238c5099ec8f1af4251c0862b861f334eee85af8d364a54f6bad0e44a23a0577933ca8482889a955086ea3a2c94b057c1c20d540cd6d2976126854ac123cd386a855caa385927318825494861079ac84606ac0f1810eb78a8398740be69cfa1777c61a5cc1d758ae28c072d6087c379a567648558ac8a1883734c64361db33cdd156fd371a2abe534b162c6e336143b944dc2309aac106525d6586793a2b3420358185fc787c2cee3875e3425be5627c1d49313413ee498b17e8c295908b718b3c4a6e03024d77f1ec37eaeb7462e09c683cb9b272431ef0abbd0422ae2569fc37902ab90bd2c236f4da66d78301a61765a77e43ace81102c7355749c1463b55f10e26727086d73a1800924c6b0eab6ec905d5b01adc538c9eec7a25989b85f24b1f68b9a22637613e9acf609a67cb20b38bab1a8d81cbd22a5ea8c7587a13bf8eb8a37e5949084c26b4433741a31c502a4c412535fc6a1c5000057c65103027f78f81ddfc4a8843c59f8563bebda15da543be2146a3eb7b521700958bb2a5064923236193d981bd1e2920d00b1cfc504e32495dbb116c5bb7aa21b6cec5c9fc0b1ab73330544e7af5bb1ceb7c159e3509938d0332cf51add245606617dcec688f117bfedc27dc5b8b4884446861b592b720b53fb23cf08513f66c3b51833e51b9a63e297054a8c03f8baa257c64c2c8a265a8a92052c41146bdb3a32ce0b7196aa33564806dac33ac05a20178c2a0cb04000d484f0325c9d16956da0af88f68bb72b7bc6b122a486cc1eb01bd3027aa316c6d7c1ae7d8b9a747443c5d7237989a93ed939d905832e76afae4172d5f70589e54f7b5cbabb536e5f316b3d38911513b400ad83f7b2a3c72a6c09ea3b4f68129ed285fb99442fe61237d61756a2ad78b7790ee69748b79e42ebbbd6b9b0d803a3eb77477609ab2cea5920128356c369878855126c22f1ab66a3a4c202892c8863b609f7926175cf1e3967ea93b7ade7a8e6779672023dd5d81bd4d9345af36a38db17e96b8d85b7c0beb586aefc9fd9ebc585f071c1b9c34fa2283a60884a0cc5ea210887aa677d24192db582f05117fa189c868a3cffe8b2fb584686eb3d009733e1d86c07d6a9893c7e9410b4ca99a4a880b48053878a45340d0056031068a63113be4b51a630016875541e099935ea92b2668ae84c5a183cbbfed619691038973cc07b72adb803cbe26986c827ac75428cf183cd5fe7c9c719378438058f470b62fa977dd658f219983f97b517bb1aed01a478a18dbb89ac1b916419a3b25f388c276c190b866356ec84c33b29022286c08a34d26948c59341a789cfa168adc0c7a73db36a72ec6c2c688c06aa3eb1fbb25b7b828cc3719c7b2473719f4e2b5c4ab8a4fc172a132439e0e3af22a1beae17ba4cf39a155925c62a4c9ca76436496646906630b9349a335a4852c01b018f77da15a4a47efb74a64fa803b5d6927642b16e3ab78d13894104882ab803da0015b80021eb029fda191edb38370c2c4d0f1c9d76d776cf4750bbc0116263b65548cb51031748480225d85f364a0ee2f18e0c1a19203c9145bcac3f175acdf926d42b9cb6d987b9698167d775c04a877a460e47d24866bba3564727eb2a2ddb6868899262404884a138b20b1aa21a7003e35a79422c35ac37059e59164f805af26a4a8b3aa0a0931e08182f347151616c2c86b6a83699279ac00195449a1ee11490076a5fda3f044a75e844ae996b7c6022b2e09c0992fc08a16c29686c7c20fa5394d0a7378202958719633281435b055f3936ebbc1bfcbc5f4105b32ea37e4a222368919eb5f07e0c07b6e7d229e4b51b3bb9586bda9e90383f958b0c9777a2d8331c7e777021ab9da0a45a14b8b88ac78425f19bb6048209223786d19f5463724f009c71caa35dbc67f661ae04e5b3fc9b1d59119bc5506fecd01d6c574880fa8920c54a3204c61c717e47676692dace4b48236009a85cc212f7d9447aaa52acc65d25879df1312d41f14b53ea0fcb973ead32cdf833463ef73eed9a0ce2d09faff9ce3a06030b3021cf4360f3e4cf93528bdbe69d0655171ba7b6d93cc220a10d37e828e54629c6239ee13c0a73e58f0ab6632e764a840753393b206c180b3c333275db3f05516fde08803f7bcc10589f8f54793f732cbfe82658033694e6aa74823b92cb616433072d405e3b38a42ba35252a99cb0a568d51b4562cb3af733af7a179fc66cb56292bb1d796bebb5c400f30098591447191a7ce6a3b2cc3fc7ab7b5c6ca02c6808be45671012867812c2bfdacb9db982c2893d150b6c70347091fabc0297356f033bdd6734736907dd3a9e60e4637e2ab768e9558339921d8c1a8218926815cacca840224052d574164a4661afd903d4516e43e3984b31554e5b666a9cbd332a9e6c63036d34189616cdb3d100331bba659649ef0abb86502fa994b941f9a354231110b8080db75c69ec6ffcba48642b0ef54479dd7995f7f9ba92f8b473cc7e31d04948648af330aa09996e868c75bc3949bc3bc8e5923df68b5dd78bafd3318ae4fa6224b8a7dc9814f7b35839b05cb709cb1cf2c1e80aa879c58b29677cda375a5e4229bc8431d48bb08af0bc27f982a6723e60b00df6e607665b7a4b4cb35e5162ba3698b7140ae7a25a3ea76db07626afc773854038b3d13654b7cf0a1a8e75959e5ea0797ef4a64538c19f0028dcb5cdb5803815467e57aca68fe00c3352602897aa88021203a4b970ebcca77846e5c01adb22859e41cdbfa8a7be9b932aa2c6d391379a035455d84282d5ab90d5b6de056f211cc6af61c1d5b643f8d299c249c055964c56906f88778a4600bd054850a9d92557ab2c33dca2eb2857b9617018ab08f25493b265b10ce74889d8cafec53f7b6805bfd637a6b6ade8a65d7f885c3af645cf08bae250753eac8e2b734a75976ac9eb8d2633a980285ec33b154c1551162c81f0254d2eb55a7db13f5d766330f65ceacb55fe058ad06686e50bc544b48f1358532603720079b7d0609e5b36b8b7e097d40ccaccf496f3f00fb957162445025ed62592fb61d41a28b16a1f3a3cc83b1b173e9599e5c49a41b93169dbc4fd006a93bb233ef73df88116e091b17a06125f651f52d501dc86a856a96a43601c46f32b1fd6900a6513f7d298851b443242c62b34236c7495881cc3fa592ebd4397d5422f3c40ca62980188cb4aa3499d5d2799f23c7e86057a14476ab4c7668f1c3caeb0a980d13de0f3129e151c0813b259d53efa07681048888dbc082adc4dd324a028d48fe728701398ce20425bcc9b410687363ad771218285617a39f3c7bfbb2a6c006125d6fa6df88898f7b236f7581a8a077038a06394782ce7862185f4ce98ac06c25b611da7701a80329228391da903607793bc8a2189a123c177af9d987ae9d1c6d2d01bc5910f56514532d582ca092939119444b3b736abc0fb5140e14c723b1c6abc2034929a7edd48ce3d469b16b09cbba5008728baabd54d15f427d2eb5e890a5a13224038328fcb227baf6a7ea3b82aac5844d809ad86b6adca537c2c0b4e0d659606f835129905a6760cfd68b5697b9a8ec00159450205cbcfc0f8c9fb8898f135298ee99a154977fae7bae16ab9325231178a764c1b10b5c427598490cd9539b69b1848980d09768c435233f52376371b7971d861c8612ecd160655e83ba1e60a553b4905d35efa1bbf58318d78353da822241a354b439b2449a2825d43212be80483c167e6c5b50883412571cd2ac3c1b5aa1ec9c232e6b9b5a2091e189b3ab0b323ff13654bc60ed42857755902d063619ab98fd8790d05d85bef1ab23a09a9c241a3cdea620b6c338eb582dbdca9a6ac40fef7615091445a93b8fc2001e09816ffd54f7870b5ce6a4fbd46c3f42b8e63619b7675716bb65eab17299b57c45c834226dcc6c1f98593782c9733a078db34a137c5422cc1dd87a614c1604972559937102ae60337d997caa06b0f33c43b093af04595e5ab48a7a0966ff318a735024f004d6f1893b48b74b42135c43425c1ca48a93691603ab62d2b80fa5a92eff7a218239b4814352a230cdc1249b09833be95c5f46bc5905b73a82206bd6658464659293691eb58551973121a42385ae81ac9ea2eb6419a915441f41946e504a6b9d5716e909bdc49337909282c554f3be4d7fae86455763b97ec8fdbe9640219b35fc36033966a3525d485f1655d6f749b0a013bec99e017f5e13bff76680a2f9386f2ac6938d7950d5fa1f9f03a8abb0a5010f400ae5722a75bdf5a2f6d5b546b34d73857cb1bfc7e587aa7 -m = 46fe60a18124125ab93e0c578f1c02f1bd1301595013001c7f3c2fa56cde294e -ct = b791bbbb895216646c90fb9ae704e195a6a78b07bba3312aa0c9c61089f82e00b794ef44bc11a84ac159f332a138a7fe6789f080196f87d76719c94da046cb2dd6fbd74845f691904352e175bb5cefbc93138be6d112f0345f9a21534a22c1108701b9141fa85d08d57fa681153f504e026022f0c76ec525147be312b33dc9137edcc99b35c04d5658c0d8f2d936e4111d649334698dcb00c920633c8f98c804542999daa799fab164bb9cd2f7db752adeb6f32cee6e4f4aea73f0ea5d49f2211efef3c5fffc6f97d227ebb5bac00be38da05bfa9f405a462aca2e1531d99f0b91a994ff2ed50a2d792b3fc7199b29b2d9037b0b69574cba6c7de4f8954a147a81d25e0adcd2a24c69ca7acc87b862b12a1855f3c3cf50225fb1959f9a1c1a574ccd5d25236840b420aa3af14049eb0115acff8ff946967b6d3ba37892b6c2032d38b63ca31275630711932e84869ac27db5f4ad870d5548d89941dfa93c91208469eaa1d9fcfe9d914a9b981a64eae1bbce79ff23af0df2fafb7717629a84a425567220e065e904cc653e2fc5948b60b47baa6e6153717ce4a1f2242cae1f261dc8cb815ac38078faf2f5b530bf97c13dda0a1af7d6735098775e4bd1141d694938da80e11878a581e694c33f9099f52885d24e4e76f93cdc3cd928f0d8635c49e83c06f7a03d358e1d28262ceb3467202e16ada74d3ee706d3e0144f3061d895a124fa73418d0156f16cc53407eb147e0f8a2dae9edb8c5488414f8d9cbf08e8dc9cced6e88fbd39484104af7c5989ba214883f61047e7232682ab7f9b345897fdb6cdcd53aa9314a310822970ae03e3b68503b84e6e13f2c94c7307894c8787d1d6271d94ec28cefb5f593d26cf8d66800656a087e8586f218ce5b689dc484604440442c8b5fd73698f99fabaed5b5e761151f03efd7b3c7bb27893d57ba25f2566d14adb8e424b838cb7d8b991dbc6c2291c754455606cd9d8d864229255607c7946c6b80051c9fa5aadce74d05599eaa6e3119045330a0867caea3ac3eddc1354968a8c2d9641b5fa0c772038a44ec1ec8fd4ea4d8dc82624eb2310e3dde98bce6edce0b555e7c1076e50e40e3afcac6ad54927fd67f9cdc55e9b70f5435e923b8ae87c9401c65cec3c47f3f2592a09bb475138c3ec6218dca90079f16df53c1b57cf190ae33d2cff73eb5ec470cab30095c56a6b0a4387f1161f4e77db33082db8768aebdc764198913197b525b001d134814b7decf2dca046eda7b13e107b3ac0b53fbd1a23306d50a874a9e9d5efc895e0e185bac05bef95a64aa35c96635a5b4ef4e0ba999fb3b9cc12de2f54e9ad21a0c373f75e977a7cb9164f6b4b27c20f0be5bded902e6b52cab9e9832c9c28305c785c85e12c5479883ed66dab63bd8a856bb11920ac866989247928f6a1b98ac5ad203a1307181bf3ba675296a6f667be8542fe219454c0d94d193c2f5298c98556af5e5b63cae38f1a4e2eb7f806172906de72da5b2a5b0e8daaeb3b40b7e82f7f92b41e9dd5b2aa5268a4763513cd4302fb3dafe12b11e7a4ddba9290fdf6107d87d279d36716eaed00a38821084848ba65839230914f2d86b2ce286c28c03b2f00589539112bb9bbb588b01bd59c26a20fa9fbb2f3a00460e0783d720c4dca7868e6645409499bbaf45d85781699734c55b6b7f30ec8b2765a13e1eca2ecb43b63548cbcfce5737b83412179fb6ee6c5496e11875c20f8824e382c20f900a84ee10c90f6f1ae73e27291a1542d2522ee29b5f977cd503be79da4a55ab947d8b9cba4a65c9decaa40ab1c5ab88c8a3366d639a9a525296e2c437fe6401b49000535c04baf8add8190b5021e4351937b23ec0ea99015437e00d13790811d1d60774638e9e543e248243f69dbfae8e9819bf3b204503d77545c06d6d5c930d38a97645a17db9905b2822944ddd10227ae4265e117811adc8700e4362ffb22a6853b34106d7b7558bead26006ec38b65a11cc86a833131871dc11a58d041c39c34e6fdd1f1b462bc9c5ff4d78050c335784cc7455ab69d3e6115b8f579d8abe8e3bcc1a9bf8dfe6f549307210979929b2ed0c2a8cd74a057432df25e585d8e752d769de271d12edee7e96ceda78fad0c77d18979f87e534bdac1d47d0df251373d5a88f3d209a2fa031f5aa33d794ed25086b272033bc589cbd4dae680c3f732edc801853b36d168fe808e3b -ss = 90ea2a8181e75f6e5d3314b381bd802cca5654de0ad12ee59cf0c3c2204c587d +sk = 31cb44a14c3ff840758055bf2afabad14a723c048d4d20c5908bb781844d574a96a0807c59d5192548a0089396a78b953aa52677b9a111cb012954b674571c5d0c7c5e6488d498290f7665f4f32dba7228ade2a724413798ec32619901215663b2c26360612558070bd06261bbab86b4f96056a498bf37b1b84238c5099ec8f1af4251c0862b861f334eee85af8d364a54f6bad0e44a23a0577933ca8482889a955086ea3a2c94b057c1c20d540cd6d2976126854ac123cd386a855caa385927318825494861079ac84606ac0f1810eb78a8398740be69cfa1777c61a5cc1d758ae28c072d6087c379a567648558ac8a1883734c64361db33cdd156fd371a2abe534b162c6e336143b944dc2309aac106525d6586793a2b3420358185fc787c2cee3875e3425be5627c1d49313413ee498b17e8c295908b718b3c4a6e03024d77f1ec37eaeb7462e09c683cb9b272431ef0abbd0422ae2569fc37902ab90bd2c236f4da66d78301a61765a77e43ace81102c7355749c1463b55f10e26727086d73a1800924c6b0eab6ec905d5b01adc538c9eec7a25989b85f24b1f68b9a22637613e9acf609a67cb20b38bab1a8d81cbd22a5ea8c7587a13bf8eb8a37e5949084c26b4433741a31c502a4c412535fc6a1c5000057c65103027f78f81ddfc4a8843c59f8563bebda15da543be2146a3eb7b521700958bb2a5064923236193d981bd1e2920d00b1cfc504e32495dbb116c5bb7aa21b6cec5c9fc0b1ab73330544e7af5bb1ceb7c159e3509938d0332cf51add245606617dcec688f117bfedc27dc5b8b4884446861b592b720b53fb23cf08513f66c3b51833e51b9a63e297054a8c03f8baa257c64c2c8a265a8a92052c41146bdb3a32ce0b7196aa33564806dac33ac05a20178c2a0cb04000d484f0325c9d16956da0af88f68bb72b7bc6b122a486cc1eb01bd3027aa316c6d7c1ae7d8b9a747443c5d7237989a93ed939d905832e76afae4172d5f70589e54f7b5cbabb536e5f316b3d38911513b400ad83f7b2a3c72a6c09ea3b4f68129ed285fb99442fe61237d61756a2ad78b7790ee69748b79e42ebbbd6b9b0d803a3eb77477609ab2cea5920128356c369878855126c22f1ab66a3a4c202892c8863b609f7926175cf1e3967ea93b7ade7a8e6779672023dd5d81bd4d9345af36a38db17e96b8d85b7c0beb586aefc9fd9ebc585f071c1b9c34fa2283a60884a0cc5ea210887aa677d24192db582f05117fa189c868a3cffe8b2fb584686eb3d009733e1d86c07d6a9893c7e9410b4ca99a4a880b48053878a45340d0056031068a63113be4b51a630016875541e099935ea92b2668ae84c5a183cbbfed619691038973cc07b72adb803cbe26986c827ac75428cf183cd5fe7c9c719378438058f470b62fa977dd658f219983f97b517bb1aed01a478a18dbb89ac1b916419a3b25f388c276c190b866356ec84c33b29022286c08a34d26948c59341a789cfa168adc0c7a73db36a72ec6c2c688c06aa3eb1fbb25b7b828cc3719c7b2473719f4e2b5c4ab8a4fc172a132439e0e3af22a1beae17ba4cf39a155925c62a4c9ca76436496646906630b9349a335a4852c01b018f77da15a4a47efb74a64fa803b5d6927642b16e3ab78d13894104882ab803da0015b80021eb029fda191edb38370c2c4d0f1c9d76d776cf4750bbc0116263b65548cb51031748480225d85f364a0ee2f18e0c1a19203c9145bcac3f175acdf926d42b9cb6d987b9698167d775c04a877a460e47d24866bba3564727eb2a2ddb6868899262404884a138b20b1aa21a7003e35a79422c35ac37059e59164f805af26a4a8b3aa0a0931e08182f347151616c2c86b6a83699279ac00195449a1ee11490076a5fda3f044a75e844ae996b7c6022b2e09c0992fc08a16c29686c7c20fa5394d0a7378202958719633281435b055f3936ebbc1bfcbc5f4105b32ea37e4a222368919eb5f07e0c07b6e7d229e4b51b3bb9586bda9e90383f958b0c9777a2d8331c7e777021ab9da0a45a14b8b88ac78425f19bb6048209223786d19f5463724f009c71caa35dbc67f661ae04e5b3fc9b1d59119bc5506fecd01d6c574880fa8920c54a3204c61c717e47676692dace4b48236009a85cc212f7d9447aaa52acc65d25879df1312d41f14b53ea0fcb973ead32cdf833463ef73eed9a0ce2d09faff9ce3a06030b3021cf4360f3e4cf93528bdbe69d0655171ba7b6d93cc220a10d37e828e54629c6239ee13c0a73e58f0ab6632e764a840753393b206c180b3c333275db3f05516fde08803f7bcc10589f8f54793f732cbfe82658033694e6aa74823b92cb616433072d405e3b38a42ba35252a99cb0a568d51b4562cb3af733af7a179fc66cb56292bb1d796bebb5c400f30098591447191a7ce6a3b2cc3fc7ab7b5c6ca02c6808be45671012867812c2bfdacb9db982c2893d150b6c70347091fabc0297356f033bdd6734736907dd3a9e60e4637e2ab768e9558339921d8c1a8218926815cacca840224052d574164a4661afd903d4516e43e3984b31554e5b666a9cbd332a9e6c63036d34189616cdb3d100331bba659649ef0abb86502fa994b941f9a354231110b8080db75c69ec6ffcba48642b0ef54479dd7995f7f9ba92f8b473cc7e31d04948648af330aa09996e868c75bc3949bc3bc8e5923df68b5dd78bafd3318ae4fa6224b8a7dc9814f7b35839b05cb709cb1cf2c1e80aa879c58b29677cda375a5e4229bc8431d48bb08af0bc27f982a6723e60b00df6e607665b7a4b4cb35e5162ba3698b7140ae7a25a3ea76db07626afc773854038b3d13654b7cf0a1a8e75959e5ea0797ef4a64538c19f0028dcb5cdb5803815467e57aca68fe00c3352602897aa88021203a4b970ebcca77846e5c01adb22859e41cdbfa8a7be9b932aa2c6d391379a035455d84282d5ab90d5b6de056f211cc6af61c1d5b643f8d299c249c055964c56906f88778a4600bd054850a9d92557ab2c33dca2eb2857b9617018ab08f25493b265b10ce74889d8cafec53f7b6805bfd637a6b6ade8a65d7f885c3af645cf08bae250753eac8e2b734a75976ac9eb8d2633a980285ec33b154c1551162c81f0254d2eb55a7db13f5d766330f65ceacb55fe058ad06686e50bc544b48f1358532603720079b7d0609e5b36b8b7e097d40ccaccf496f3f00fb957162445025ed62592fb61d41a28b16a1f3a3cc83b1b173e9599e5c49a41b93169dbc4fd006a93bb233ef73df88116e091b17a06125f651f52d501dc86a856a96a43601c46f32b1fd6900a6513f7d298851b443242c62b34236c7495881cc3fa592ebd4397d5422f3c40ca62980188cb4aa3499d5d2799f23c7e86057a14476ab4c7668f1c3caeb0a980d13de0f3129e151c0813b259d53efa07681048888dbc082adc4dd324a028d48fe728701398ce20425bcc9b410687363ad771218285617a39f3c7bfbb2a6c006125d6fa6df88898f7b236f7581a8a077038a06394782ce7862185f4ce98ac06c25b611da7701a80329228391da903607793bc8a2189a123c177af9d987ae9d1c6d2d01bc5910f56514532d582ca092939119444b3b736abc0fb5140e14c723b1c6abc2034929a7edd48ce3d469b16b09cbba5008728baabd54d15f427d2eb5e890a5a13224038328fcb227baf6a7ea3b82aac5844d809ad86b6adca537c2c0b4e0d659606f835129905a6760cfd68b5697b9a8ec00159450205cbcfc0f8c9fb8898f135298ee99a154977fae7bae16ab9325231178a764c1b10b5c427598490cd9539b69b1848980d09768c435233f52376371b7971d861c8612ecd160655e83ba1e60a553b4905d35efa1bbf58318d78353da822241a354b439b2449a2825d43212be80483c167e6c5b50883412571cd2ac3c1b5aa1ec9c232e6b9b5a2091e189b3ab0b323ff13654bc60ed42857755902d063619ab98fd8790d05d85bef1ab23a09a9c241a3cdea620b6c338eb582dbdca9a6ac40fef7615091445a93b8fc2001e09816ffd54f7870b5ce6a4fbd46c3f42b8e63619b7675716bb65eab17299b57c45c834226dcc6c1f98593782c9733a078db34a137c5422cc1dd87a614c1604972559937102ae60337d997caa06b0f33c43b093af04595e5ab48a7a0966ff318a735024f004d6f1893b48b74b42135c43425c1ca48a93691603ab62d2b80fa5a92eff7a218239b4814352a230cdc1249b09833be95c5f46bc5905b73a82206bd6658464659293691eb58551973121a42385ae81ac9ea2eb6419a915441f41946e504a6b9d5716e909bdc49337909282c554f3be4d7fae86455763b97ec8fdbe9640219b35fc36033966a3525d485f1655d6f749b0a013bec99e017f5e13bff76680a2f9386f2ac6938d7950d5fa1f9cd2dd7a1be89575be8c14529bde4d832cc005dea955065c08b3185b215da3a2d +m = 794b565fe52db74e9c19e9364ee545d7cda5a67f3850d318c3812691356e5520 +ct = c9cf688c98b47b72f6ebe4de5a54d7020431d4eb212cc976bc3bb5713ddc8e992fad49f231cc7a37b4dc98451aa774501f0ac0e5c267b0f8d621248d25916a18e60856046c5482c39ce5697ddaceacff054316c1884e92202ee8a32aefa8d3050e4dc7b64da43c4765947bedac90565e140c019212015b0ca7ffd8dc9efbe5c19629d68eae2755169e47003791d028653975d3fd11c0ef44ac6418d6fce15565d6cd57ff63e74966676c4a0cf45f35e0c171bfe7dc97503bc218f468ba3ef1fd02a6dea931fa95c981ef1f0dfcc8268e3e1b7a3c18f07ac08ad468ec70540c9348d048d68a796be7e8b17b934c12d837c8e2470b033e912854cbdf3851922048abc4bba7eb555ade969bdcb09c5cede131817f432c412c45ecfcfdaee2220a5a5d265eca163123df098996970f6c59a3a8400a341b83590fefdf28f028512f1cd0d69cdefc6b7e18d86d0af80e6980145a1a5f738840445f1ed4b03e7d0c44ca76bdaa402c8aad0f942eb036064541a7894164fa5c0affa9255cc7e8db76f493872ce110dbdbf91fe0bd498cf5dedfd89a35aed0f6f081e8ac876ffd5a02be67eb0989a24ba4d24b9dec6acb0e70151fc458992b35c0fd65873ed19cc261b024167961d5690969f522bcac36a5d916007453ee760cf4a65c0fed8571cf5093ae827deb9a1c3503c19e7e95adbeed6b41be91481a10ac293ca8af4c50d849f46ebaae2bec6de26b0d0c757cfd2827b5248954890628fda600402532e45839acd518e69c2e6be587700ad6f58537e935d50633f441dc365e460e01daaf1d19bc3dd5dcbb4c1304568f8f494ff45784c221a458be3fa8dc8e94e66d8c5552469993d055c7e90d8193122fe2c842dd82651954bd2693753236a9f4d766c5be7cc81a5799cc2607dc3d5441abb43c74fb75108c853e9434cd3a3e0798113338ff28749fdd13a6ce453284dda991a1c3aaa3ca52b011a19de60af215f3e65e0d7dc728eac87b0ff8fedc96b159117341d5b887eb79b3d527edb98a3796d01bbda381f34ca66b0870884f3393c1cdb0f6788b1e6c6c3d9ef755cca5e73d678c6be48cfccca62242819f0d0cb50fed71ced07e09d42ecad7bcfe467aaeac54703c59c1bc80590f638523d18f5738ab2fca8bbe47a742992d5125f102ae7edd68a79586ad593e5488a1ef771903ff2e9b026e6f418975037d5c653f205052d334de32828c0631a91a82332f3d63bebfda1c96557b4a1c287501b27716d1e3d720eaccc2295415e4453acd940d3dcfcad58f3203561e320cdf6c18311425583a08c7267573feb5db88612f1e616e7ba7330ac6b1a58933331704f41c4ff8daecccbd107311e006eb3c857995f421b77b6c29b99d7494d5c3ba6bcab46b73eb484dbb98aeb29b7822e259c3463d25705e030e994f4514926a77d580aca52b768b5867ab604d435c8823ac0ef5c32f3de9d7803c7e11c0db889f4fa535fac9039e512338a798c89ae0a2feb4702e54df4d077bd05821483f7db799f48e632d795e5f7d160db82087642830e42a8fca2786798740e01085884e135220c5792dfaef876dd775614567e1b03c729174d42659593a3b17c989dd118e40c1d4841e009b8b2efc333bf2411b0bf03257b1a9e254236bc897a134cf3e5fd1e132bca98c4c31d3475653ec514495daed1733d42667bf0e9fcc6aba8f53316948d1db404471bb7ceb736c6dc037470e71dc08958059519ce99656b1443d8ce3467c2b83840343f842fb900511f935b88a6579cf8535a33bde7e8319ad91b6903885d74c724e6305f8de2b91e97966821ef0bb50a7e4b3d9e0a484acad0e872f83aefd5d620cf1dbc7bf7ff36ea2105dfd449a418a810e4ee6df456aa77a4b73b61fd6bc6daed5e6d2b6b0770585c64089b8c11764d8c2a28a5f4b4a2a727374d7b8c40efa617192f74b44e7b761f502a897f2100a4f88b5a29ef4b688c7d0ab3b1fd32e5eecde30b3442508bd4d98eb0308f9af5e53ab755d03139e6e3bc4e15b318bb769c9c09bdddf85ca76d5754082c7c8ecc8030949d4a0d90a9f67d63d8b2cd95d4ad75c78fca7515be342711d53a271b59cb3152f6279b11f954b40ac7332aa0668ff976d029da55633fcfd42625b26c1d9509bb90ff76ecb3dd2068d32120fb666fbd3db89fe852eeeb181b6f7b5c4b671a44613926fa40560b491fdc1f0ed03817a1bee76b4da +ss = a378f354da0d03ff5d42c5a822f53a6ae955d6853bed1a9102a3a19b06c05d36 d = 241191401a63afa750f05662e354dddbc683c776ce3222beb83e3cf913d7ed7c -z = a59b3bd23b49a95bc1fad20070fec930b6060bd827d742b077092e422268e15d +z = 9508257a83ccffbd0677795070695cd40d7b7f39a891d25e7e208bb9d65af538 pk = 32a8b2861c097612cdb6f437e844b131e016f3299c31185123951b2901c5fb8296762292d6b37f5bdb67000d91974c77adda0e8601a03432c648848e38e45d8b9a45d8263e64d603e0f50d3f438acc29ccbe54bf6cdb0500b50344a96837828bc568cebaf055f070737f4771c8b4cb87230afbe824d6312ed22ca5e2d4c5dc354d44935ca64aabc5a64186e51697b9444a50569861404bd7a9b76898a3626edbfac8a806751d328bc393b83525514c56b7727110f802cc41bb9c43666b25e26987cc813fb7193954a0258c61b4e13f2da32ce3f1c030bc0081060a7e091929cbb729584a888a06610489f3312bd576666fa09013f4a191b498b9637df5ac5610103de4734c7e82c99062c34063b01fe2210d0bba1a15406836275aa119042b5072e77523a655f41316b3dc31f39840446886af337d2ea0c532999635786d9a6948164c361877891ad903a0c725289c4c02f81ed3452858d93489a07ea071847c38780c86c6de1c22f1db704a2249c6a96695ab22b9868d639ca4a8346ae0845aa8ba151e14941bf447b2701cb715456cb91b927c63f829c562628e01f88499a60aa69a0f3ef410ebb2698889711891b008c0b11a98c47e291b763039e5a214d35485ce4884317c5ed2449ee97566fe948f8f397864538ce789b2a1b3a654d0b13d23b8ac2869b4062ba3a27af9f4468a216789b92bdcc8ac7ff2b86b134606a693a1915c55421e8260a872f57a73047f496442d7b1cf44830a8cc01b27b54f495cb984e732c4a40f99a17c5f469f311b6bff9c582f888910da60e6211c788c2ff2ac489f1163826b672e6abfefd917184b3f66d72deaf652e6a596ebf5248a2809c3187c4a3834f220c28f55b589e161479882aac21407e56d4c541282b1b330a7681db50bf30463168733faa52cecb1a8c2d51724b7afe1976e42ab7fefb1c234da45aafb803e80c972559694548ee98ba2c818010ca940f41429a8222b8739c872b1afca093faab792c3e965e7b0bd8850be2498286ed9b8c9a6987577b98ec4a7835cae03b28ae9130ac40c5af971738e423f7f905a223a6c27752bfaf4c495874d0a984187631f50b8aa87ea806e78a1c18c78040548443587486171a11288d4d2a7d19b809ec8c5116575f3c47a1b419529112417a15cda9a0fab5b7968a0937b4c443dfa3d0cc893d4bab60bda28da5a7a7fe6394f6b1dbb207b5abb9b0157a029063ededa1d0f162bc536cda44b598396772e4a3173ab4a22cb91e4b165a3587f687bba350698d6f87958279e8176a9f52c7d99c55035164706139ee7923c64baaefcb99bf37195ea6b657d442097289db24568d970ce526c11f507cd7bdc3facc879893c33d35b734fb9928f82867c5266dc1199ee679ac2c337c35c435f90c8ebd0aa29e22a169bc36d605d5a2cb1eb914534f5b3d89a769d806dd87b0d32c63d0225cac6aa1b8c3b7d9258ca68cb8086b673322716389876d85c71d2f5bd3d081d812ab37d026a34324135e5988fea7833973d3b25ad2b8777f3f8691b5671d05b266b61c272076ed0d23604ec7a670c634a7074e889c030026a1b29c4b025c59d43029be2c2a2665dc2f1423c063e1b78b79b550db2281c3bc88dced5345882b30ddc400a62bd35c52bfb063213947b89a91df0fc0f34f53555853a8724a9d15a00b285abfdb39e97b5aaafb429042aaec4d21303f1217a3c0ac7d249a3174fa8e67de44583bb3549aa585404dc77a81756d05a42d650bebc225fcbc132936c9741b496d1c95d8318b6b9b9a71c071f7af5547f895fc4e313e3a262d31695b9471dd8f50f6e227c7774260d60ad56ac7608430f1c370cb917adc3b7717b484b52158740740366a42d9f010c333611e0d29523b04618895cd91a21629146bf1870ed2584ee8c0a728b7535284ad30a3ed13339db15b77a8cb2599954efe44d0cc57ba0b0687d39094e034399973e2d09116b225f2d41a86b61936743806e41a242b63aa19532f19c5fcf0204329537e996a08bf52acf80c39ce1938fb581543cc77146cd34a5223af8bffe735fb327c888208b5dd648d41ca209f976f6f226f853545a525f3dfb258c8074ef9a442c639a38459fd906a8982a69e29608da98b4c4a59eb6ec04382cc584e663f5751f6aa0486ba48ce69988cc535190195d95fb6ec060b5257ac37481faa2eccaef99c0da37285d53baeb0e25bdb9 -sk = de9a3f4dc6a54e98c850e3af0f7abc5cb5b363bc668f2c10c6e197927c89e57088c4960c46b767e27129fe78c7cae38717e6a2a7fc16dbc1582ac697e8915c90281a0a784c4b75345a13161bc6a586166d4385b507748d3b9516b10550f05782125c10f3761aea2c631afa83870c003950b891d96ae721317b192f21a50f2b2caf49f81177790c29c02216759b005692ccab4281927a46739ff7a9583e9a5eb9a62314e4967f5bb375fb627e5a45b918c801b4b1dac24d55c13aa7fc5cfc104647295650b5cadcac2c74aaac28b82233f64c1c01ab50f16213154d0312c5add25af449cfddf494045000a01c449d1084c876163c83c13321b1f6f87757dc186d4c30ce916240e538f196936ab9bb419093fd593409f3a308827ad9002e5a621fb1387ac06b442970cda9c720ac9049cff1c307806e9ff9209fd0cc52b9517c685c36c45801875dbce490163c91c707755cc8701af04deb9aa0ce460f24c72e5d811c4ecc297abcc4c9ba304c75812196409c19be10c494a8b138a6f05fb5558e7f2cbf6f1694e7d417f73781205b941eaa3ecdf91c71e998f9a8b6b72400a048a77ce4ad17eb265313303cc86150d477e42a39cb4b8c5a3723d03550f4b76d5fb7b524ec2658d374a8c955b0fb3fe878072ebc0201b2328b737f9f19bca8411f35980890d71e7bd9707c917545aa6a659c3c70877134bbb0a1e970e7035021168c4a493ce1c9950456a76cdc05fef147fdd625d2b4bc51b39f3b9bc73a35a06a7485306457544b88c168b22e81cbe9bb0174a2b526b6ba0641456a3cc941569124557d3bc652dc8259ac66552db0ae06cbaedd091c268c2c6f4bc7e948329778cf48c3b37f9a3ed714c5c8e0099036514d9a052631b256fb7e7f7c91ea0311b8db8721d5001ae90991111c5873499bba20a9d08a135abeaa544706dabf7338497c578084e1bdce9155f87417b29313dd39505cc90c45c12c324b5d5af01eb2656d58607724725485465e33a6a64da220421c038f0a625254ad127ac941eb23362649d2049f8ae8c057321aeeaa31e0e98fe3da74d53938f4f900b6a33f1305a383cc12b35894ad498293957950010cf7912174373967c294bb89a90331c828048e3fa862fadc95283025e2f66dca10104be8b9f286c198b8c9f0f24c79a454e8dc0742283cbba84b95b388d8f6912f4b74198aa52ab561ce59508ca6cc09251fa2780ec0da59d8b12b17179320d23b822a3395466dac34384a364d06882592734f72ab0d2dd7131196afd4da54fc5801d85928cf61bb257274c98479ee0c2f65fb985f6c669d948fac153158530849311f0bc51ae72bb8c23ab5fed55e793a4e8489b423044a1b017273a4be35a305e19934b99b45dd2734ad4cb4c5b368c7a32650f306b7148c199a44bcc3a297429cca6015e906204c827cff8c9dcd48bf1b638091f732dfdc570ce6618dfc839b4a4648a52bb8302e32098c26e9a51a6571c9c290005265b6359f07598b10c7674f5356b0365ceacbb55b1a1822811c92c44f0e4bbda4a13364749c5384ca7670acce69bc48b6a0b0b2bae8ac5cc40aca6ce24957167cc0f24dd0caa3a0228c13934fbbb0c205f53d713aa441f5b0feb01fbd008209296cc096645da876b961b0ef736996d95766ba0d9f89a4a9ba5d8e31af9f5274bdf093e40169c9b94b0958ab9a585645da158a6176c8bb196692bf52a8158d7c9c2cc6937516450f50baa77022c748c19e68cb9bec6c115806a30552ec242d81b036d840c3d1a9bc15ba4434d4176418686546cc38f35ceef112689850b6bc3f7a3a544eba0ba809153d4c3a21e72a2a9c09845cc07efc1282123652826efd0267f5c9481d8c5b07370015d593b1828dee3aa6f55b31525b9ea8c9772740ba325b072e9211aa104baa516e7f528202c5b0f6f8a4965332eb711ecc9a9e4b85bf9d0cbca759093916c4992a338dc385c9280dcfb50805d95525d59603e8051bf70049698629267b2f29bb93f769b3c3b553f20cdff72bb77811b39c276623c98197cb528b9f90e470dbb378ae9750f1405c11551e6962709a266e6717760ed607db4741468a81aebc72abe9080b428b5844b646855f01f989378702a6894e24969fd605b261129bc0a567389acec88b0f15acb1189718115556cbd99a32a8b2861c097612cdb6f437e844b131e016f3299c31185123951b2901c5fb8296762292d6b37f5bdb67000d91974c77adda0e8601a03432c648848e38e45d8b9a45d8263e64d603e0f50d3f438acc29ccbe54bf6cdb0500b50344a96837828bc568cebaf055f070737f4771c8b4cb87230afbe824d6312ed22ca5e2d4c5dc354d44935ca64aabc5a64186e51697b9444a50569861404bd7a9b76898a3626edbfac8a806751d328bc393b83525514c56b7727110f802cc41bb9c43666b25e26987cc813fb7193954a0258c61b4e13f2da32ce3f1c030bc0081060a7e091929cbb729584a888a06610489f3312bd576666fa09013f4a191b498b9637df5ac5610103de4734c7e82c99062c34063b01fe2210d0bba1a15406836275aa119042b5072e77523a655f41316b3dc31f39840446886af337d2ea0c532999635786d9a6948164c361877891ad903a0c725289c4c02f81ed3452858d93489a07ea071847c38780c86c6de1c22f1db704a2249c6a96695ab22b9868d639ca4a8346ae0845aa8ba151e14941bf447b2701cb715456cb91b927c63f829c562628e01f88499a60aa69a0f3ef410ebb2698889711891b008c0b11a98c47e291b763039e5a214d35485ce4884317c5ed2449ee97566fe948f8f397864538ce789b2a1b3a654d0b13d23b8ac2869b4062ba3a27af9f4468a216789b92bdcc8ac7ff2b86b134606a693a1915c55421e8260a872f57a73047f496442d7b1cf44830a8cc01b27b54f495cb984e732c4a40f99a17c5f469f311b6bff9c582f888910da60e6211c788c2ff2ac489f1163826b672e6abfefd917184b3f66d72deaf652e6a596ebf5248a2809c3187c4a3834f220c28f55b589e161479882aac21407e56d4c541282b1b330a7681db50bf30463168733faa52cecb1a8c2d51724b7afe1976e42ab7fefb1c234da45aafb803e80c972559694548ee98ba2c818010ca940f41429a8222b8739c872b1afca093faab792c3e965e7b0bd8850be2498286ed9b8c9a6987577b98ec4a7835cae03b28ae9130ac40c5af971738e423f7f905a223a6c27752bfaf4c495874d0a984187631f50b8aa87ea806e78a1c18c78040548443587486171a11288d4d2a7d19b809ec8c5116575f3c47a1b419529112417a15cda9a0fab5b7968a0937b4c443dfa3d0cc893d4bab60bda28da5a7a7fe6394f6b1dbb207b5abb9b0157a029063ededa1d0f162bc536cda44b598396772e4a3173ab4a22cb91e4b165a3587f687bba350698d6f87958279e8176a9f52c7d99c55035164706139ee7923c64baaefcb99bf37195ea6b657d442097289db24568d970ce526c11f507cd7bdc3facc879893c33d35b734fb9928f82867c5266dc1199ee679ac2c337c35c435f90c8ebd0aa29e22a169bc36d605d5a2cb1eb914534f5b3d89a769d806dd87b0d32c63d0225cac6aa1b8c3b7d9258ca68cb8086b673322716389876d85c71d2f5bd3d081d812ab37d026a34324135e5988fea7833973d3b25ad2b8777f3f8691b5671d05b266b61c272076ed0d23604ec7a670c634a7074e889c030026a1b29c4b025c59d43029be2c2a2665dc2f1423c063e1b78b79b550db2281c3bc88dced5345882b30ddc400a62bd35c52bfb063213947b89a91df0fc0f34f53555853a8724a9d15a00b285abfdb39e97b5aaafb429042aaec4d21303f1217a3c0ac7d249a3174fa8e67de44583bb3549aa585404dc77a81756d05a42d650bebc225fcbc132936c9741b496d1c95d8318b6b9b9a71c071f7af5547f895fc4e313e3a262d31695b9471dd8f50f6e227c7774260d60ad56ac7608430f1c370cb917adc3b7717b484b52158740740366a42d9f010c333611e0d29523b04618895cd91a21629146bf1870ed2584ee8c0a728b7535284ad30a3ed13339db15b77a8cb2599954efe44d0cc57ba0b0687d39094e034399973e2d09116b225f2d41a86b61936743806e41a242b63aa19532f19c5fcf0204329537e996a08bf52acf80c39ce1938fb581543cc77146cd34a5223af8bffe735fb327c888208b5dd648d41ca209f976f6f226f853545a525f3dfb258c8074ef9a442c639a38459fd906a8982a69e29608da98b4c4a59eb6ec04382cc584e663f5751f6aa0486ba48ce69988cc535190195d95fb6ec060b5257ac37481faa2eccaef99c0da37285d53baeb0e25bdb91c3c2aed0ff6944819c93f9a9fe77d14a16a385f644de118099fd4f7f57db9a0a59b3bd23b49a95bc1fad20070fec930b6060bd827d742b077092e422268e15d -m = 52fb7cb6a633fd2e83f2892bd9441b48fe59ecee6d026f5246fa7f2a5e55ee3b -ct = 0b307548cc5ead7211f81e9a240571843df69f5904cf210f0046db5ebf4d1f843f5946393d7828f4bd197a5ed99db571085be78d8bf2f105dcdf6e84625bbfe0786564798cd86eee79fd01044d35b2e730a0a582201f3025e3d4b8aa120a489e7fd78648520b7006501a69e8d1ef9dcdc542b6a5be8057a64c623a9353156e5a5520911b7997d5cc92dbe5b4df0c6745ab0ce8777194b6c9088a69d14719935eec56c19c0984b5b5275880a64482b3c2f5420c6566752d3f97748f0113810ee864652f2edcd68a496f369b52ad6e2e8ffeed581e8c080fccd9f9ffe4ed32b03a63423bca82530c6c37edc23186a294ba534080666bf79a852715ad8c3e1eff65ed2aa7ade409a3d178559d26faa2b26398176102429f19a45acd6e89e12f1e186d4f7a9d344c09fe0419dce25ab3e7ec0d2b8aceae071fdd2096dc8b0a20ad2d20b2ca0517bcf058e0554e353f3568d72bd9a5c50aed9f2569a91cf3e968ce66ae3f7b39cb986eb115a9aaf2bb0b5e07da33f80d1c8bac5f9bb09c7d0538bf8a21b4471d1138722acb71092c3a4418857a0a3e11053d0b09eafc0bb59f9716a511c4373cd263884159077a5459b64bc58cf396ea21ee318841b221e7cbf3f41230c405243b859b40097eeb9686cf4264766a780f8b94684700ee1a6a03052f623cfc6ece09e53e884e4f3b1fbff932f1761f31d4d5a632ccbfde5665231104821de9bc04f6f649dc5411899035bbc8d8a59005c6f3363116ec380ff1eda57a9763e386b29b659f3273886fcf1caa8a0d200123e4ca2406e5baf801586047f380802407526ef826ab829de3a212e802a722fe07b0bf2090c18d78e863f66facbdd876f3cf701f193032141afcda9f5227271fac60b5052032a5604404c5f34e6dfb443d24a65f8ebf42ab438d3c54b206c90b5f0ad509c6bd035c2f9e9c9e7c9eaf8fb2f0edb665da38dee2b07276a1adfc279553870e1f065f14e8bbbe603dfa7f6fd94dcb4711aa6d974fceeca5e7b8a38cb683cea63985555d1e71940db3aabe955454ac7d9659166ea5886ea6bfd219ebe85d715bf844c91a1c4f3d0d0a581092621259dd4e2632f254418d84f700ede0f6edc5f17711fbdbd4e6304679172fff9c20229b9b7840e0561dcaa5a1d6a57075bf92aba901a7dba9d0aa3dadf1dc66d08a057a1503f095e38450381f01e0b051b766d8cb6a4f4fec822f6c801924c78d79d1afd1198fb3f299a0b8c581609a71940e831be4696567ebb259073a94dc05530274526945fcf96466f286150dfc99a23dc5d640584b6ee7d431e6feb4464ed365a03b04685110c047b3d695d0cbff36a16179a2a69d17a498e1f88fe46465f7ee5b758d02c21f1ae26d7623ba9b12865fa0262ea007273afa013d401aa28e762ad5c968ac169efdae6eeedbe6c1ff1541461a9d3a533ac5e79c1f7071fda85b8ea3b8c96d7172437ddec38071a975efe26e7c9b15cb3d5a1df121d0c8218b2900d98fc4dea5e39f88f098d3fccafb1c2287662579e1b6318ebc46b6abe580e0c9be76030a7e5a876225676ad6de9d5be167f2ce950ea027cc59c4c619e52af2ee0bcef86fa225c6f27663fd23daf470e47c9d4130cda83cf663d1c639405e3ac9d06075578f0c235b5a7534b97ad21ac093eb6a8b2f2f4c9aa671c628c9a8ee0f579b32d45fb9ff2faa89e12830701f901475e46dbe0160c0bd65fd519f2adbbeb4ef9b1c24e16e219dc8b0d4e0c1f23ef41065b961a93f9bb26c9428b1b614eed57f120412c4b3f9e9d38a26882e4b433a97f0efac40627808e6f326dbebe03a51b0b3ab440a567e2b6ceee7ffcaf26c2a37f67088976c5dfaf294ade3a2c38a5f94b78be4f946dd8f9f40cb16fbe5049f60123c2a857419b5ca1f6bd73f187fee8b8b1d9002f6cbaf697e73057c71f316ec98f9137cd684b91b7cc34c35e2a8c8f513de26a69101900bcd24ccee6e4c47d8a61399eb64f48e9ac37ce82663ceba7522047cdd6b7a69bfab135ba4d462d7f13c5c17d33353c538468d4bc9b130efcf30f73d357aaf037f21d734eaacccc61fde79c0fffc7da2d0c16e53ff73447f48725a79c087e9b1a81035248ee8cc79a042a1616b1378e2fd6a5364cc16fcc4f32a68fac76891875bb24c0b2cbf17a7339f41d020eb954ccf1ee49a511b7c7c128d84146d2660a49ab3d5a8889bdeb1bb317081a93dd49de12e -ss = d66f413dc141daedd5349a5489c7be71b1cc912408736a95c4b87a7007865451 +sk = de9a3f4dc6a54e98c850e3af0f7abc5cb5b363bc668f2c10c6e197927c89e57088c4960c46b767e27129fe78c7cae38717e6a2a7fc16dbc1582ac697e8915c90281a0a784c4b75345a13161bc6a586166d4385b507748d3b9516b10550f05782125c10f3761aea2c631afa83870c003950b891d96ae721317b192f21a50f2b2caf49f81177790c29c02216759b005692ccab4281927a46739ff7a9583e9a5eb9a62314e4967f5bb375fb627e5a45b918c801b4b1dac24d55c13aa7fc5cfc104647295650b5cadcac2c74aaac28b82233f64c1c01ab50f16213154d0312c5add25af449cfddf494045000a01c449d1084c876163c83c13321b1f6f87757dc186d4c30ce916240e538f196936ab9bb419093fd593409f3a308827ad9002e5a621fb1387ac06b442970cda9c720ac9049cff1c307806e9ff9209fd0cc52b9517c685c36c45801875dbce490163c91c707755cc8701af04deb9aa0ce460f24c72e5d811c4ecc297abcc4c9ba304c75812196409c19be10c494a8b138a6f05fb5558e7f2cbf6f1694e7d417f73781205b941eaa3ecdf91c71e998f9a8b6b72400a048a77ce4ad17eb265313303cc86150d477e42a39cb4b8c5a3723d03550f4b76d5fb7b524ec2658d374a8c955b0fb3fe878072ebc0201b2328b737f9f19bca8411f35980890d71e7bd9707c917545aa6a659c3c70877134bbb0a1e970e7035021168c4a493ce1c9950456a76cdc05fef147fdd625d2b4bc51b39f3b9bc73a35a06a7485306457544b88c168b22e81cbe9bb0174a2b526b6ba0641456a3cc941569124557d3bc652dc8259ac66552db0ae06cbaedd091c268c2c6f4bc7e948329778cf48c3b37f9a3ed714c5c8e0099036514d9a052631b256fb7e7f7c91ea0311b8db8721d5001ae90991111c5873499bba20a9d08a135abeaa544706dabf7338497c578084e1bdce9155f87417b29313dd39505cc90c45c12c324b5d5af01eb2656d58607724725485465e33a6a64da220421c038f0a625254ad127ac941eb23362649d2049f8ae8c057321aeeaa31e0e98fe3da74d53938f4f900b6a33f1305a383cc12b35894ad498293957950010cf7912174373967c294bb89a90331c828048e3fa862fadc95283025e2f66dca10104be8b9f286c198b8c9f0f24c79a454e8dc0742283cbba84b95b388d8f6912f4b74198aa52ab561ce59508ca6cc09251fa2780ec0da59d8b12b17179320d23b822a3395466dac34384a364d06882592734f72ab0d2dd7131196afd4da54fc5801d85928cf61bb257274c98479ee0c2f65fb985f6c669d948fac153158530849311f0bc51ae72bb8c23ab5fed55e793a4e8489b423044a1b017273a4be35a305e19934b99b45dd2734ad4cb4c5b368c7a32650f306b7148c199a44bcc3a297429cca6015e906204c827cff8c9dcd48bf1b638091f732dfdc570ce6618dfc839b4a4648a52bb8302e32098c26e9a51a6571c9c290005265b6359f07598b10c7674f5356b0365ceacbb55b1a1822811c92c44f0e4bbda4a13364749c5384ca7670acce69bc48b6a0b0b2bae8ac5cc40aca6ce24957167cc0f24dd0caa3a0228c13934fbbb0c205f53d713aa441f5b0feb01fbd008209296cc096645da876b961b0ef736996d95766ba0d9f89a4a9ba5d8e31af9f5274bdf093e40169c9b94b0958ab9a585645da158a6176c8bb196692bf52a8158d7c9c2cc6937516450f50baa77022c748c19e68cb9bec6c115806a30552ec242d81b036d840c3d1a9bc15ba4434d4176418686546cc38f35ceef112689850b6bc3f7a3a544eba0ba809153d4c3a21e72a2a9c09845cc07efc1282123652826efd0267f5c9481d8c5b07370015d593b1828dee3aa6f55b31525b9ea8c9772740ba325b072e9211aa104baa516e7f528202c5b0f6f8a4965332eb711ecc9a9e4b85bf9d0cbca759093916c4992a338dc385c9280dcfb50805d95525d59603e8051bf70049698629267b2f29bb93f769b3c3b553f20cdff72bb77811b39c276623c98197cb528b9f90e470dbb378ae9750f1405c11551e6962709a266e6717760ed607db4741468a81aebc72abe9080b428b5844b646855f01f989378702a6894e24969fd605b261129bc0a567389acec88b0f15acb1189718115556cbd99a32a8b2861c097612cdb6f437e844b131e016f3299c31185123951b2901c5fb8296762292d6b37f5bdb67000d91974c77adda0e8601a03432c648848e38e45d8b9a45d8263e64d603e0f50d3f438acc29ccbe54bf6cdb0500b50344a96837828bc568cebaf055f070737f4771c8b4cb87230afbe824d6312ed22ca5e2d4c5dc354d44935ca64aabc5a64186e51697b9444a50569861404bd7a9b76898a3626edbfac8a806751d328bc393b83525514c56b7727110f802cc41bb9c43666b25e26987cc813fb7193954a0258c61b4e13f2da32ce3f1c030bc0081060a7e091929cbb729584a888a06610489f3312bd576666fa09013f4a191b498b9637df5ac5610103de4734c7e82c99062c34063b01fe2210d0bba1a15406836275aa119042b5072e77523a655f41316b3dc31f39840446886af337d2ea0c532999635786d9a6948164c361877891ad903a0c725289c4c02f81ed3452858d93489a07ea071847c38780c86c6de1c22f1db704a2249c6a96695ab22b9868d639ca4a8346ae0845aa8ba151e14941bf447b2701cb715456cb91b927c63f829c562628e01f88499a60aa69a0f3ef410ebb2698889711891b008c0b11a98c47e291b763039e5a214d35485ce4884317c5ed2449ee97566fe948f8f397864538ce789b2a1b3a654d0b13d23b8ac2869b4062ba3a27af9f4468a216789b92bdcc8ac7ff2b86b134606a693a1915c55421e8260a872f57a73047f496442d7b1cf44830a8cc01b27b54f495cb984e732c4a40f99a17c5f469f311b6bff9c582f888910da60e6211c788c2ff2ac489f1163826b672e6abfefd917184b3f66d72deaf652e6a596ebf5248a2809c3187c4a3834f220c28f55b589e161479882aac21407e56d4c541282b1b330a7681db50bf30463168733faa52cecb1a8c2d51724b7afe1976e42ab7fefb1c234da45aafb803e80c972559694548ee98ba2c818010ca940f41429a8222b8739c872b1afca093faab792c3e965e7b0bd8850be2498286ed9b8c9a6987577b98ec4a7835cae03b28ae9130ac40c5af971738e423f7f905a223a6c27752bfaf4c495874d0a984187631f50b8aa87ea806e78a1c18c78040548443587486171a11288d4d2a7d19b809ec8c5116575f3c47a1b419529112417a15cda9a0fab5b7968a0937b4c443dfa3d0cc893d4bab60bda28da5a7a7fe6394f6b1dbb207b5abb9b0157a029063ededa1d0f162bc536cda44b598396772e4a3173ab4a22cb91e4b165a3587f687bba350698d6f87958279e8176a9f52c7d99c55035164706139ee7923c64baaefcb99bf37195ea6b657d442097289db24568d970ce526c11f507cd7bdc3facc879893c33d35b734fb9928f82867c5266dc1199ee679ac2c337c35c435f90c8ebd0aa29e22a169bc36d605d5a2cb1eb914534f5b3d89a769d806dd87b0d32c63d0225cac6aa1b8c3b7d9258ca68cb8086b673322716389876d85c71d2f5bd3d081d812ab37d026a34324135e5988fea7833973d3b25ad2b8777f3f8691b5671d05b266b61c272076ed0d23604ec7a670c634a7074e889c030026a1b29c4b025c59d43029be2c2a2665dc2f1423c063e1b78b79b550db2281c3bc88dced5345882b30ddc400a62bd35c52bfb063213947b89a91df0fc0f34f53555853a8724a9d15a00b285abfdb39e97b5aaafb429042aaec4d21303f1217a3c0ac7d249a3174fa8e67de44583bb3549aa585404dc77a81756d05a42d650bebc225fcbc132936c9741b496d1c95d8318b6b9b9a71c071f7af5547f895fc4e313e3a262d31695b9471dd8f50f6e227c7774260d60ad56ac7608430f1c370cb917adc3b7717b484b52158740740366a42d9f010c333611e0d29523b04618895cd91a21629146bf1870ed2584ee8c0a728b7535284ad30a3ed13339db15b77a8cb2599954efe44d0cc57ba0b0687d39094e034399973e2d09116b225f2d41a86b61936743806e41a242b63aa19532f19c5fcf0204329537e996a08bf52acf80c39ce1938fb581543cc77146cd34a5223af8bffe735fb327c888208b5dd648d41ca209f976f6f226f853545a525f3dfb258c8074ef9a442c639a38459fd906a8982a69e29608da98b4c4a59eb6ec04382cc584e663f5751f6aa0486ba48ce69988cc535190195d95fb6ec060b5257ac37481faa2eccaef99c0da37285d53baeb0e25bdb91c3c2aed0ff6944819c93f9a9fe77d14a16a385f644de118099fd4f7f57db9a09508257a83ccffbd0677795070695cd40d7b7f39a891d25e7e208bb9d65af538 +m = 848db3a6d5cc33f17d978a283b8267e45510cf6c6354edd5e2476821e12be3e5 +ct = 8f2a0ed3b1e7f81ad4c00d6f72768cd3e1fcb91bf5c44cab1167352d4a1346c45e180552b8d1347e5fabf8e4f3227c92d320520dbc8de28e42274899019c9a582e42e87f427bb6c8f530bd012f562d3e3f3e468adcf30e7fd60cce4fd4824f6534b09c9fb66578693d0f0a7116744ad09940fc0a9d06d583daf40ed57d75aa059345c62ac509ef203ca12b4b93e4e75e700256b60f1396bd763c1e5872dfcc89eb73452cad1fac26d26486655d997786b22be4b9e0d9239ececdda267348ae3b67d1aac2c7c48a3337b85add4e450d6adba06b3b070682c458e4e7fc167fcf5f0970c706817bbd690ff528f9d0bb4956c5b73357ced473d04f2dd2b69ea73e50fa899fe60e768ebe7dc0104d7ab6ad9d2b70af7d3bca6694ecd6bcb1fc0170e9c53dbdefdcab5894ce951e2a6eeb1906c8d75784882ac4b0742f30ae47690e1b64aad6c499d2043fa8e5ab08a9f939e450f6b128b06fcb49cb0c6a53bc5b63ec67316cf9d468214d051a11b7879c5cb615935f5c200bbd2a04c0d6bf3362639cefabd150f35de76123bea4e08eae488144b44f4b05d60a386135d18b112aae25c2dbd48b9d230a15625902fd3c1edccf5afdcf5eb119ef01ed4b81f41a3ba7d680fe53c92eff27a42dac48ff4e174e8f02636143303b4efce7f543534ace3ccdb2ceda248ea6f01e89e347d664dbef5bcfb24b6882c7950a6ee0a7d0dcd876883d88a12a9df6d5575b1ded4b82fb1c742328d7622aff2c0fc14907529e9502d7f50772d76afb22d44f6c427fad387cb426b9c33c46f2ddb827b67182f91b66da1ba29ba5f570701b1c7404fb8a2235ee5630a5723c875ebc2d5c8d51b8c6db276315a3ae1e5e8175895bd4d44ebb395ed1b8d4c3aef2ceaed28ad8b7768961a5f403117c02f56984d3ff32b5e6315344d04fc0326b0ff525a94f556e362e0217f629e0b0a7265d315b45c25158b4913aec03e5ee2cbfb6c1baaac89a8a4502f564b8068216a265acbacdd2bb9e4e4e32e874b33af8992eb23bf8222d387a9b99fb30c2e5a9e47735de7fe7617419b9217cd16a47944b1a090029971de04a0ae5a5328ecb331e3f52584f3b3f1b849e9e51be1e7785504b7b2aa30e74460d745a034d1281af5de1aff4c6652c9e676461c009101767c7bace83776a90848c501dba68e73568532309c950298c8c26955fc7b558e881cce96d401dd033382d1e987cc7865d0ec7cc682bb8ee2fa6b3a28b807ede1fab7aeb8c154e0d58246346ad357f4333fe365cce1071464cb1ad8c198de2e1e0df3fcde2002cba74d0fcf4d9126a43b36f60022d51c53db43651c26bd09b1cf86f7e429c5f5fec74b1846d46940992ff7a5d2e2c55697635441087c88a5256d58afcc35fa5f47580d3cc17d1898b888263f72d18feebb525352f1f14e39f7ed27b54402701e394d7645707e307b3f53a366da9e0eaa616069922fc5bd202e1f18c922f5044afe487d89631d967224b637ee567702f0e60803dbbd4c92e12cafa869d1532b45b13fa47409b72c624d3578a528b263d3ca228ade26d417c830b7ad0856e75af8ce2a740b8aa89c780ace07ee922c7d2b1563295e5867677e9a3a7f3708204155a84b22023bceff5f7aa6c805c15eefd2f7bf6f0eeec7dbbf0ddc0e44c520b605dc8731dd0b1e1985e2570c067524275804c68fd491069d15cf211c505ae7ebed40cfc501c769dcb980328be406a0d29dde6d35d7c312d291714c4962c9f6efe3220140005f15924a129fc4de4736d95f5f8c09a9c15eaeeec8fd5f53b09530a30d69a6f6d0e731b56df7e1e5de7e96cd1dae179013d2ef5e8a2f7ce8d0092a3a7f129dc05394180a11dafe9b178d38635b037845e7a067c9cf3ae181f8d21d404678200660d0d1e7174d676450f7bb731e9f7fafe3e4652d5f19ee75fe6fe202290d546c8ad63be71b196b4d3c294edd4600097f36a3e3d498ad0b65b7d7c8f828d0f67efef275a2e94e0c21ddb53957dc812f03a9fdca54261e02bc808910bcf47e59e9f0d97eb962e7cf044aef3607ed5d1667766698b10cdc5ce2f14a2ef76187c39f5e6c4cca9e9411d6629a709650d77d73470fd2ff69359d167dd9ed8556633e37a2cf5a8869e80d285d116ddb649df8c515f472b13c9102fc0251cb4d1c020d18ec108b30f021503e63f1175ce658d6676d4af5be26bbab9ced95ff695fcdc5f61e31f +ss = 7591ac558f6f449d2f0d788d8ef2c62c4707e6db8cb3301cc830010db9b643fc d = b9a6b0c05677e957d41a34ba03bd06f2a9092e31f63389397d7e70fde6409d18 -z = e99c0e7b82be89bc3c1eaee6680aa4efd394e40c2b3f30523c8117f7c26a8969 +z = 24d67704139cb68edb8f14c5ecffce83828208edf58c0f494fe3ca22cfdf58ae pk = e0f7b1cab23a3379caf84ab285e12ebdb602f431a82e0b098ea1a1f18b18411989cb1b035d0726865712f5cc1e6b51674887b0e00c2eb067731dc8419e64b816955b407a1a813666d73b53d7955639a877a961b4915483af565b006da5423c5644ab3f243c7aa64c5233d4b9a391bc55b30dccf33dc1a93b9b784c7c3429ce8684e1910800739839bcb926374932a7241267835caa9131818ef9aa4ef5c1a3e2f03bfc83076d8a827c082f0d0c2ff89a8fc2e62a96396dd411259d26c7b9c84bd38c557fa45103f3b793097ef6b775f050033109ac7c606e2cb05497c9c596639a63171f5e70775de9c545b919b9e199f4d76508549ee1eaa404f5534ec862e6037b5f484afadca26599a203825297864ef536cf578c277b6541083168d14b3e782a3ded29bbf8a8b1a0f831658582b68b8744c66ef3f385b7a018e3e5cc8c581198e2b4b372002eb756bc7a65a4d67c86ab022f549bb97904e035173ae9c1073a9d23a315d054cf0e3ba27d401bb04569065256be9447a06caedd97871b52624f43916d475c7539bbbbfab35c0864c8c77b12242797323bb12935bf5a08c2ea4d446305a7345de980a03067513f6402e14b29e7287e30194dd76856ed80c55bd65849c1135d398994007b1f14a452e36bbe7283ca7b3ed1b67d0fc3667387c9b3c3cd8314515cd2c4e51b96a8d43a1c755c65740ba9830f65356290953b9dbb03600b18f4681f6f039379f26d40f2c8cab57378b66aa245197cea225eb9b712c95c4bba470b07bc6c458aad71bce067b0991036f5f54636248c516c88eae013232c0191257cd0a6322704c9a6d005fc80c6c6ba0636e701bc5847c091045bab969ab85f5644a5f8f43858c94b276201a7e77aa5c413c57b40726302559762ec40178199526ae63279fb510c8917ab40c1b1bb15dddb6d1c2b22520780f222c15ab2a16bfa28753a61a949aaea6abc3e3083a467110334a959fa582261561d3c8fa671ad34b8b7ff2b682020651935cab1b227d75261e3c98930961457a955275734d9f41c61069e1a5569d38a1a1ca1876e481d94851e62918fbd550e45fbb79a7130643bc1fea1c722675398498c6874ab1a7997008a166c9146882c37e4eb64c3e306d2b2b4c1409a81da2122a5360430774fa56c5a3520a7e870aafb55773124d93b17451c01c7e21be33a9de7a500fef26c7117c13599024ebab75ba9710c5465a089375b2a751f5c3eba8151bda4182ff3280826c3190b9b11b89bf9d151c4a939510007378895f916bbb8e107031459e27c9ee698a269425ebf5a484812271ee667e8c6b9f5ab3624dbb09c5b83d5fca7bd54af3b33980ee435cd5a4e3e6bbfd82c10c997ace9e09f77cb9fc4f8c13b25a8a12c52c7729f22a3290140c7ad0480c00a175db293cea64d422baf4bd306c5d446d48b062f751f47891a8fa82b9786148c364e4dd85507c07a9b4448e57c2795554b3cf53d5d14ad3179669862123840a7aeb57240d69ecadbb48521c196dca4705671b1e566fe59b08cb963f417abd01a1915a33367508cfa9c89413b7709eb48e9bc2e809a56b027b6dd3a513a2428466c29b6ac802f9a83536ba1adfb96270c57a0743c12733525311e8fd04e12c52f15468e84c6af54d8bae8214c152c56082465b79a6cead444aa767571cb1351e4cc05a8a75057c5745abb125a5382cb8a3ea2170c104ca21cb5da000002b7231a8a0a23e50d173485c7d1cda9e8c1da913161e34fe0a986ed5c1183d383067b7dc6c75ecfe4c044c7ada3fc8010aa4e8f28bfa72c4d21f170569165ce1762248370b8cb76ef5797253567fc98a2856870b9cb312e4a3d93b506a8554738e522e11bb3b7976f9ab17ce8a190b0cc810258972a10283c21b9fa36384ae0be5556aa252a59c1aa7617b480729c0272576dfb0c6108db290a0cafb8588f6db8b933970ebca0933c9382acab4dc0c75c4e9a469ad60c86d7474440b870e7958b600b6a3b48cb13c938652198c183347358cccb4d45ab3a4fd7c7730470c2218726157f89facc31b6449fd6b4666081572ca291ba6e3657165b053c6a239876ca5eaa0bc659b0b1635942a90b39aeb6b22f2c521baa4aa98579fe79b541e3acc5d006ca6586818664ea6108bf0080966ba83c77aed8fb2066c94458e70a90327b7c13c809696c0e4711ce152577517be0a2fb3d597fa5804e0c106a4c10 -sk = c65b5692b9737bd5bcef94376a685fe08cb59c2b94884b47bb6a4b292c4ef8dbcfd1d9392ba3c464442cbe0879fac60cb733496ffa7116011cada07377eac759172db45c9035532a5a48c18f3343e7fb3a0a7a1da9c75f647648a822bb8fcc59a2e0476fe958cdf968433b46ea296056a8460edc0b7d4430252b227cc38c8dfa639a72759de9325d3bbbdb1a5305e546580127b11332bb666236924ff1f13105176b81a777ebc946bd4b962e8050c0f80be026a513f7c9c74308f8336a9bc73bcabc8353aa10afb69aa502b3b6e9a53ac67f8cd8784be4519ab3c6e8e47212bb59ec3958be442bf2162dda987c602030770555c0bc62b1422367b95a91399642155cd0b17dbb848b642c765fda2400358040d4cd154a68db36265bb525fc90988fd0c04bf0b66ce052bb216d6183b444cc385bb8ae17388d5e8024aa41563653b5f72899cc16b37d642f6ff7385f557c941571a1c73bd9425fef3c343ed9b88bd02a9be5652736ae69949e43b5c9719c4b8e42c9071c10e3d454b3c90d315c93579cb106a3b16bab7163983f5c514b818516bba802b7fb1166679ee03c4c41ebcffc6322db61a7988927dd83b48c24bfe82a4fb1901f70e2c39c411fa65c43d56c02c79849e7745bee15b70e405939b055c2a76fe1021e094b4671a290f5d708ebf0b1155b94fee9b34cd9858d3a8dd4bc27f5fc0627f2a80d6681c11324ecb74639540b72a23083c3758cb29ad40c979b42679e1436fc56b3a7d1115137015e2a2af9a8bef038b6905c8847c16558ba2bc6ea92ad90b026228695d664720c15e6708b0934064760a745ea4a5587ba211312c7203005f838a2d5b7bb09b8dc7aa39d4956d494472f71a268991ca907aacf8048fc98c095798d0ea043c42c437f6762ed3678b6d701560016f405cad66117c786b56b3a88fb5968c26869f73a2227b129553b220f67cae75b5433b29259553ab4375a0aa6766b2aa0ad480b6969201ed21ccda0a39f8b8f565112565065d8d26dbc1a57425a29fe0a606ba826ffe45a69493b08b11712e88a2b4b0371db5c0ec0125e2659ed08275d18277b9c0ca51797d46cafe91951737868483a418427733ee2637b4aa9496c30fecab67b0b7278a76da2da201874711e6928b7a40e7859378c867b9ba81529656200584ea9a5881b657b68980ef8cb201338ac1b856c4ec5b0c48a80bcd6676c0ca624f05296e59155d5587c2c20bfa1bef1005bbe9840db205d9658935a67614595bb3fe48e52877fc5ba639d023f54d534c58cb90a0a98bd1c2e9e940fdc61193d4753d17463d7eb8c9c6575e0f6845b5c0a5bc69c5f90128d3078960671394b75c5c72eaffc1e8ef4afdb395ffd40a2f6bc75fb9b79e1d8756705b710b0bac1dbb4ac312fff30745590739c08bb25cc9ec62caf1226176c161ece62aedec392a3591ec2ac80e92571c1417be7d82b2f9a1990d50dab78c1dee631304ab5ac57274846a8fdc6547b224c72e0781b233ff8a6c876eca3a3e060a00b560f661042e85340c4a8257660c0592a429c7b81b5137d410b5492864e156dad292dabf59035fb0e02247e6c6847cfd86b6958c74209a8f389041e5389ebf5b9b633b7fcc08cfe14ba466a36777830d840b5fa9b7234403074861984e0593c72c3d5405bc375255e239258b47d782056f106a4f9a493b584909006061cd98ea65a8c131b6ad696b993a66ecf2c32ae1a12e24c83c7b696edfa64b69b71ea7a02a85097d25bbb21fb1475d250d64a9c87598ae12c0dbb7bcabefcb48266b483aa5310e2a734a8519449bcff963c4c10340ff42e2dc883d9c15d744a9bc2d1752383b6c9409e29b331e87c27a11189c41cb8ab182f82a920bd7c9ebf785b09b5be32813e8c128139356f4d60b2cf5c80bfa609b9026a18360dbdfa75d49755dbfa421e9407df6218333331e8917955a551a7f962b8e7be6cd43a8a35318406471161205b5a71e238b911ea2b536c861b0208b654a1fcdc0b77e5429379295354ccf6e93d41c2233852451c8b44b151286020b4093988fc23c533fb83c510720a278e75eb047a86ad2654225cd0445d7b9585873672522e3b18c9bc74ac2f536b5e6bbe6c1a250e50183c16bd79a970bba86693cc508094091e207600009d3893b6ad96433720bac145b6e0f7b1cab23a3379caf84ab285e12ebdb602f431a82e0b098ea1a1f18b18411989cb1b035d0726865712f5cc1e6b51674887b0e00c2eb067731dc8419e64b816955b407a1a813666d73b53d7955639a877a961b4915483af565b006da5423c5644ab3f243c7aa64c5233d4b9a391bc55b30dccf33dc1a93b9b784c7c3429ce8684e1910800739839bcb926374932a7241267835caa9131818ef9aa4ef5c1a3e2f03bfc83076d8a827c082f0d0c2ff89a8fc2e62a96396dd411259d26c7b9c84bd38c557fa45103f3b793097ef6b775f050033109ac7c606e2cb05497c9c596639a63171f5e70775de9c545b919b9e199f4d76508549ee1eaa404f5534ec862e6037b5f484afadca26599a203825297864ef536cf578c277b6541083168d14b3e782a3ded29bbf8a8b1a0f831658582b68b8744c66ef3f385b7a018e3e5cc8c581198e2b4b372002eb756bc7a65a4d67c86ab022f549bb97904e035173ae9c1073a9d23a315d054cf0e3ba27d401bb04569065256be9447a06caedd97871b52624f43916d475c7539bbbbfab35c0864c8c77b12242797323bb12935bf5a08c2ea4d446305a7345de980a03067513f6402e14b29e7287e30194dd76856ed80c55bd65849c1135d398994007b1f14a452e36bbe7283ca7b3ed1b67d0fc3667387c9b3c3cd8314515cd2c4e51b96a8d43a1c755c65740ba9830f65356290953b9dbb03600b18f4681f6f039379f26d40f2c8cab57378b66aa245197cea225eb9b712c95c4bba470b07bc6c458aad71bce067b0991036f5f54636248c516c88eae013232c0191257cd0a6322704c9a6d005fc80c6c6ba0636e701bc5847c091045bab969ab85f5644a5f8f43858c94b276201a7e77aa5c413c57b40726302559762ec40178199526ae63279fb510c8917ab40c1b1bb15dddb6d1c2b22520780f222c15ab2a16bfa28753a61a949aaea6abc3e3083a467110334a959fa582261561d3c8fa671ad34b8b7ff2b682020651935cab1b227d75261e3c98930961457a955275734d9f41c61069e1a5569d38a1a1ca1876e481d94851e62918fbd550e45fbb79a7130643bc1fea1c722675398498c6874ab1a7997008a166c9146882c37e4eb64c3e306d2b2b4c1409a81da2122a5360430774fa56c5a3520a7e870aafb55773124d93b17451c01c7e21be33a9de7a500fef26c7117c13599024ebab75ba9710c5465a089375b2a751f5c3eba8151bda4182ff3280826c3190b9b11b89bf9d151c4a939510007378895f916bbb8e107031459e27c9ee698a269425ebf5a484812271ee667e8c6b9f5ab3624dbb09c5b83d5fca7bd54af3b33980ee435cd5a4e3e6bbfd82c10c997ace9e09f77cb9fc4f8c13b25a8a12c52c7729f22a3290140c7ad0480c00a175db293cea64d422baf4bd306c5d446d48b062f751f47891a8fa82b9786148c364e4dd85507c07a9b4448e57c2795554b3cf53d5d14ad3179669862123840a7aeb57240d69ecadbb48521c196dca4705671b1e566fe59b08cb963f417abd01a1915a33367508cfa9c89413b7709eb48e9bc2e809a56b027b6dd3a513a2428466c29b6ac802f9a83536ba1adfb96270c57a0743c12733525311e8fd04e12c52f15468e84c6af54d8bae8214c152c56082465b79a6cead444aa767571cb1351e4cc05a8a75057c5745abb125a5382cb8a3ea2170c104ca21cb5da000002b7231a8a0a23e50d173485c7d1cda9e8c1da913161e34fe0a986ed5c1183d383067b7dc6c75ecfe4c044c7ada3fc8010aa4e8f28bfa72c4d21f170569165ce1762248370b8cb76ef5797253567fc98a2856870b9cb312e4a3d93b506a8554738e522e11bb3b7976f9ab17ce8a190b0cc810258972a10283c21b9fa36384ae0be5556aa252a59c1aa7617b480729c0272576dfb0c6108db290a0cafb8588f6db8b933970ebca0933c9382acab4dc0c75c4e9a469ad60c86d7474440b870e7958b600b6a3b48cb13c938652198c183347358cccb4d45ab3a4fd7c7730470c2218726157f89facc31b6449fd6b4666081572ca291ba6e3657165b053c6a239876ca5eaa0bc659b0b1635942a90b39aeb6b22f2c521baa4aa98579fe79b541e3acc5d006ca6586818664ea6108bf0080966ba83c77aed8fb2066c94458e70a90327b7c13c809696c0e4711ce152577517be0a2fb3d597fa5804e0c106a4c10357d61586f671648188f070899d2eb3408158adf5e8056ef37ab6d8817cd8275e99c0e7b82be89bc3c1eaee6680aa4efd394e40c2b3f30523c8117f7c26a8969 -m = 0f81a5f97082121244403da3feeb734f6084b314b8d94beb11627aa6ad1914e9 -ct = e44e7ae8b9cc87b4ccd59011d1590166c626bfb41064fafb3878b6458140acb7336d6dfde89a289c2be1f226ccd6473d06e29b314dd653adc41d01c128fe9a160e48f0bd847cc276585de37b2622dd1a8357990ceb82be2d43d58fc8007de3501a35992bff8aa0ba01bcb5065361a65c7eb700165ac9cd37aa4f37f0f611873eab358e0bd80992456f1ea30b769fa43f8ff6fb6dd69ca31e1e4faa0b33f614f208ee7f92418e8e8c9e65302eb0bfa85ffdcb72fc190e29272e85adaab7d314d23fdd5bdd9eaa127abe84e38a1a29021392d3ddd2073814763042197f55f27dd7e97c3ee0e1cf9ace7e0c14d433d8eef83adf2c9fbfebf144f5a957af2de2f0f0fbe9e8fe2e995c36fc6889b57513a2ee5ab48544f06d14c41f802d0f30e50023e7b2d616cc243b360ca237ec0b90513ba4ed738266db1ea24e33e7f15b6e0466d8363db9e4cadcf6bfb40d8a6eb2292703f006c6dcf084422c0843a4ba2aed415e0c089a575316e2cba481321f80d9f1b4224ba22fe95b06d1e8fa4291986dc97f84e600ec6d3f2d7fc0285c60f204037292080dfa0e467a5948993e83b72fc20f856e943dfc6e91f5b389e453e9e1c31b4c3806152eca692d2acba45cc0e05d1da1661906c000443143592c7f3e19edfbfed495d4920803684d689a5edecec654beff1cb6af01ff979c53de3eb451e7716d82a540756f0d6b83725cf31db796fe57530795201eeb46312bc1868905b3371b619bf2a3566c8486493af3c4632ca25fca62e8ead30b29caafd4a47161ef58d899f747ef862b288fbb7bb5cb2c94aab4d225c3db2ad0c165c075aa75da8c0317797d7c3e64b7336882e10039e73fcf47e5e48a3289428c618cd17f960ee3814f31f5e64baf819244799e5f29bdca0b941cd97c9b72702684c840316512909b1dc5435cdff9d23fdcd492c63eec2250f7d09f2d248774c39c357d0aff1d392cca4c6e2a09deb2aec095cf2f7fe51dc88df76bc06ed8ddaefc1fe931c2229476314c42bb2673f773c87c43198dcbfb0b91983d16775a38d4a37fad5b603255fddf19f1f537f10f5aa3073912410fd5d07bc3861695bf1ec6766de2901646963defc59cd827878484ab90a3a332f292603dde99d6e1a773f94fb3323fee3db1fa10d77c15d610a934171bd8b5db5ab5956a678251c4d1d260e313401821ddbdc8369d8e4a62ba0b6f5b699747479f4495759d3dd19a6a886bc919414553a3a71ef3dda4161b6e581b60baecf5a3745704ba3384ff2f1566c66717e1c6bdabc5df9884342512be5ba7d6fe2ab84dfa229d43d933cdd32cef612f5dceb34b70ce23dc570e26ed4b01d24b074715e57b52ace47a81b5f876514e5f6c86a2832d2c4be24e9ab362a9f2742979bca199f56afcc57cada0638299ee47eb925e9e71847e2ad7d82491af4880bad99d4a4266fec70146d9b07a960b2712aaf604ddb10055ed06e53036edf69cb380249206fb9add92911d300b2eff36e6df15d24b567bca287e2e769ea4042ca6422056d18ddc891afad09063d6558d8db93fe802f70d53aa578467ba15e23bfad15ac628871703c1bba735e5f4c4d638f220a79d3edeacc62c87824c01361ab3c2b40a884407aef142bed9d9ad1043801256d5aeb38771a14baf66d34f37bb3617df08f5e17fa599070326fe3c19343758ee66e3a7a3f3eae3b82e8a6459fe683885e420edc9e8d8bf0265a5f138db162d27cd49a971f0d39586db289b67f0e86a484cbae1cbeee2ca79d485afd3e584eac9ca6bc8277fa98ce65972605ae7cb3422b87b048520759d0ae1b35da4681c3259a4286f1639480c280d90a7898523600708d73b6267d0fad431f66b4a3d739818b0a7b83907e3955ed59414aab3f20b88f02805d29d66eebf26dcd2cbdcde2c00ee9cd8ce482a01303cceadab26e4c9bdc7e5c60bbfe2bf21093a5732a16590500779f54c81516bd5f3e57a2f5a1c0861a5f0b62d9d8333821f00587d98f8d63a3e6ed9d5fb61fa906729ce09bb7d44266d1c1f5ff15ad3151e6626bb0ec7e2e467b24fd4983ad13b4a9055a83acb344f9e0a733b19906e4eb2f1cf6e60128bb31d0ef351f78431394cd55c0d2517ec1704fd9db374885964eae65def92fb5065355eef1570687de5cba4c29eb12a50fd1c8e6a1d5e516614de8fcf4332abcbcfd04d20c5a2cd9f3775e348efc32c1164391e373f -ss = 5efe1d64250ac29ddc3cd9ee87cc12e16592cb848090ae527aed99cdc7bf97a2 +sk = c65b5692b9737bd5bcef94376a685fe08cb59c2b94884b47bb6a4b292c4ef8dbcfd1d9392ba3c464442cbe0879fac60cb733496ffa7116011cada07377eac759172db45c9035532a5a48c18f3343e7fb3a0a7a1da9c75f647648a822bb8fcc59a2e0476fe958cdf968433b46ea296056a8460edc0b7d4430252b227cc38c8dfa639a72759de9325d3bbbdb1a5305e546580127b11332bb666236924ff1f13105176b81a777ebc946bd4b962e8050c0f80be026a513f7c9c74308f8336a9bc73bcabc8353aa10afb69aa502b3b6e9a53ac67f8cd8784be4519ab3c6e8e47212bb59ec3958be442bf2162dda987c602030770555c0bc62b1422367b95a91399642155cd0b17dbb848b642c765fda2400358040d4cd154a68db36265bb525fc90988fd0c04bf0b66ce052bb216d6183b444cc385bb8ae17388d5e8024aa41563653b5f72899cc16b37d642f6ff7385f557c941571a1c73bd9425fef3c343ed9b88bd02a9be5652736ae69949e43b5c9719c4b8e42c9071c10e3d454b3c90d315c93579cb106a3b16bab7163983f5c514b818516bba802b7fb1166679ee03c4c41ebcffc6322db61a7988927dd83b48c24bfe82a4fb1901f70e2c39c411fa65c43d56c02c79849e7745bee15b70e405939b055c2a76fe1021e094b4671a290f5d708ebf0b1155b94fee9b34cd9858d3a8dd4bc27f5fc0627f2a80d6681c11324ecb74639540b72a23083c3758cb29ad40c979b42679e1436fc56b3a7d1115137015e2a2af9a8bef038b6905c8847c16558ba2bc6ea92ad90b026228695d664720c15e6708b0934064760a745ea4a5587ba211312c7203005f838a2d5b7bb09b8dc7aa39d4956d494472f71a268991ca907aacf8048fc98c095798d0ea043c42c437f6762ed3678b6d701560016f405cad66117c786b56b3a88fb5968c26869f73a2227b129553b220f67cae75b5433b29259553ab4375a0aa6766b2aa0ad480b6969201ed21ccda0a39f8b8f565112565065d8d26dbc1a57425a29fe0a606ba826ffe45a69493b08b11712e88a2b4b0371db5c0ec0125e2659ed08275d18277b9c0ca51797d46cafe91951737868483a418427733ee2637b4aa9496c30fecab67b0b7278a76da2da201874711e6928b7a40e7859378c867b9ba81529656200584ea9a5881b657b68980ef8cb201338ac1b856c4ec5b0c48a80bcd6676c0ca624f05296e59155d5587c2c20bfa1bef1005bbe9840db205d9658935a67614595bb3fe48e52877fc5ba639d023f54d534c58cb90a0a98bd1c2e9e940fdc61193d4753d17463d7eb8c9c6575e0f6845b5c0a5bc69c5f90128d3078960671394b75c5c72eaffc1e8ef4afdb395ffd40a2f6bc75fb9b79e1d8756705b710b0bac1dbb4ac312fff30745590739c08bb25cc9ec62caf1226176c161ece62aedec392a3591ec2ac80e92571c1417be7d82b2f9a1990d50dab78c1dee631304ab5ac57274846a8fdc6547b224c72e0781b233ff8a6c876eca3a3e060a00b560f661042e85340c4a8257660c0592a429c7b81b5137d410b5492864e156dad292dabf59035fb0e02247e6c6847cfd86b6958c74209a8f389041e5389ebf5b9b633b7fcc08cfe14ba466a36777830d840b5fa9b7234403074861984e0593c72c3d5405bc375255e239258b47d782056f106a4f9a493b584909006061cd98ea65a8c131b6ad696b993a66ecf2c32ae1a12e24c83c7b696edfa64b69b71ea7a02a85097d25bbb21fb1475d250d64a9c87598ae12c0dbb7bcabefcb48266b483aa5310e2a734a8519449bcff963c4c10340ff42e2dc883d9c15d744a9bc2d1752383b6c9409e29b331e87c27a11189c41cb8ab182f82a920bd7c9ebf785b09b5be32813e8c128139356f4d60b2cf5c80bfa609b9026a18360dbdfa75d49755dbfa421e9407df6218333331e8917955a551a7f962b8e7be6cd43a8a35318406471161205b5a71e238b911ea2b536c861b0208b654a1fcdc0b77e5429379295354ccf6e93d41c2233852451c8b44b151286020b4093988fc23c533fb83c510720a278e75eb047a86ad2654225cd0445d7b9585873672522e3b18c9bc74ac2f536b5e6bbe6c1a250e50183c16bd79a970bba86693cc508094091e207600009d3893b6ad96433720bac145b6e0f7b1cab23a3379caf84ab285e12ebdb602f431a82e0b098ea1a1f18b18411989cb1b035d0726865712f5cc1e6b51674887b0e00c2eb067731dc8419e64b816955b407a1a813666d73b53d7955639a877a961b4915483af565b006da5423c5644ab3f243c7aa64c5233d4b9a391bc55b30dccf33dc1a93b9b784c7c3429ce8684e1910800739839bcb926374932a7241267835caa9131818ef9aa4ef5c1a3e2f03bfc83076d8a827c082f0d0c2ff89a8fc2e62a96396dd411259d26c7b9c84bd38c557fa45103f3b793097ef6b775f050033109ac7c606e2cb05497c9c596639a63171f5e70775de9c545b919b9e199f4d76508549ee1eaa404f5534ec862e6037b5f484afadca26599a203825297864ef536cf578c277b6541083168d14b3e782a3ded29bbf8a8b1a0f831658582b68b8744c66ef3f385b7a018e3e5cc8c581198e2b4b372002eb756bc7a65a4d67c86ab022f549bb97904e035173ae9c1073a9d23a315d054cf0e3ba27d401bb04569065256be9447a06caedd97871b52624f43916d475c7539bbbbfab35c0864c8c77b12242797323bb12935bf5a08c2ea4d446305a7345de980a03067513f6402e14b29e7287e30194dd76856ed80c55bd65849c1135d398994007b1f14a452e36bbe7283ca7b3ed1b67d0fc3667387c9b3c3cd8314515cd2c4e51b96a8d43a1c755c65740ba9830f65356290953b9dbb03600b18f4681f6f039379f26d40f2c8cab57378b66aa245197cea225eb9b712c95c4bba470b07bc6c458aad71bce067b0991036f5f54636248c516c88eae013232c0191257cd0a6322704c9a6d005fc80c6c6ba0636e701bc5847c091045bab969ab85f5644a5f8f43858c94b276201a7e77aa5c413c57b40726302559762ec40178199526ae63279fb510c8917ab40c1b1bb15dddb6d1c2b22520780f222c15ab2a16bfa28753a61a949aaea6abc3e3083a467110334a959fa582261561d3c8fa671ad34b8b7ff2b682020651935cab1b227d75261e3c98930961457a955275734d9f41c61069e1a5569d38a1a1ca1876e481d94851e62918fbd550e45fbb79a7130643bc1fea1c722675398498c6874ab1a7997008a166c9146882c37e4eb64c3e306d2b2b4c1409a81da2122a5360430774fa56c5a3520a7e870aafb55773124d93b17451c01c7e21be33a9de7a500fef26c7117c13599024ebab75ba9710c5465a089375b2a751f5c3eba8151bda4182ff3280826c3190b9b11b89bf9d151c4a939510007378895f916bbb8e107031459e27c9ee698a269425ebf5a484812271ee667e8c6b9f5ab3624dbb09c5b83d5fca7bd54af3b33980ee435cd5a4e3e6bbfd82c10c997ace9e09f77cb9fc4f8c13b25a8a12c52c7729f22a3290140c7ad0480c00a175db293cea64d422baf4bd306c5d446d48b062f751f47891a8fa82b9786148c364e4dd85507c07a9b4448e57c2795554b3cf53d5d14ad3179669862123840a7aeb57240d69ecadbb48521c196dca4705671b1e566fe59b08cb963f417abd01a1915a33367508cfa9c89413b7709eb48e9bc2e809a56b027b6dd3a513a2428466c29b6ac802f9a83536ba1adfb96270c57a0743c12733525311e8fd04e12c52f15468e84c6af54d8bae8214c152c56082465b79a6cead444aa767571cb1351e4cc05a8a75057c5745abb125a5382cb8a3ea2170c104ca21cb5da000002b7231a8a0a23e50d173485c7d1cda9e8c1da913161e34fe0a986ed5c1183d383067b7dc6c75ecfe4c044c7ada3fc8010aa4e8f28bfa72c4d21f170569165ce1762248370b8cb76ef5797253567fc98a2856870b9cb312e4a3d93b506a8554738e522e11bb3b7976f9ab17ce8a190b0cc810258972a10283c21b9fa36384ae0be5556aa252a59c1aa7617b480729c0272576dfb0c6108db290a0cafb8588f6db8b933970ebca0933c9382acab4dc0c75c4e9a469ad60c86d7474440b870e7958b600b6a3b48cb13c938652198c183347358cccb4d45ab3a4fd7c7730470c2218726157f89facc31b6449fd6b4666081572ca291ba6e3657165b053c6a239876ca5eaa0bc659b0b1635942a90b39aeb6b22f2c521baa4aa98579fe79b541e3acc5d006ca6586818664ea6108bf0080966ba83c77aed8fb2066c94458e70a90327b7c13c809696c0e4711ce152577517be0a2fb3d597fa5804e0c106a4c10357d61586f671648188f070899d2eb3408158adf5e8056ef37ab6d8817cd827524d67704139cb68edb8f14c5ecffce83828208edf58c0f494fe3ca22cfdf58ae +m = c1c78caec83245fcbe98a15314940686fa06e675e68c24e069509cf1974aee78 +ct = d42de7ecbdc673229cd0b4d077a9f2423cd1d1451c7572fdd92dac0eb0240a907adaf57bc6c318989577adb79f0d7a5568342a3b2484ace373332d99792940a39731fa70036848b3410a6b7b6373fc57e9cae3e78ebae3138a023ccda91b7578e29ccae259af93276bbfcd4989ba4ce06c8dc6d33f6d3b91157a9998cf5544162b2903282451a54191fa3395053c9386fdbb4b98cd27de718d06f95ebb17cb791d2f29bf9eba1a784069fe3f7ea329bc3b370cafb03cb7f613fc560f30352e14cc0215490a331283d39d7b0add8c54511a682d4eedb127b60a9fa13a94f57ce05bc6d7b57227a79c8194f89f512e532a043ba3a372434a7d9ecda9b10c2451cd2a1c8c38ac54cc8f263f76a3e0a2e7dde6476988b5d87e578921f971ff4abd6e20c7bac237b080fb090adf91c5108ec468ae6b7eda54e0bc16eff2aa0d9881f19e71cc6cbbe59cc2218a9ef55c56e06da4cd25e204a2e85f2cd348d126391173d0cd3227f819406a80c9b018769f784d574bb3ae327f57d3649fc017da95271fa3fe8283f43b5ad25611840377093f4bbf4e4959656049160e78149d5da3551cd96a2ea732406f8f5885d8785392ea9e0a34e0ccdbdd95297364fdb13c6024b55223bd78de1ee9cce074d5dc2d6ec267290a77871c647f3cf427008cac2b21408b5a3565833cc811eb3404a8f37b9839e9c738dfc0272b084a7f4e459c5fedc48a748baa16d447207a656ad15c9507391d4c4226f4ca03f64421b90e0f0c09e4476d53a1138d835d0b449e0ac5dc892907e1a236b8cefa66d1b0952e6ffe58e556c77478119d42839106eb08c322d585b14ece322b9645224080c5c17a6fb8407a81a733c6d70e6b5d6b824ee3c1fcb2e73f46d1514c2e05b04b17cbe0cd76b23ee8319b7f36a53937217cc1289d967fe0f85625834b252ff6e6b9442db6b26f03b09f8ca48b9dad2d0770c31e7d5ed4407d67422742713176db85879a5d484c43bc248c87dd235985a985c091086e7fe7efdb2b3fc0af56054fb426bab364dbe48f72fc1561cb675634cccbf5fd8ee412c7043360cd3cfd6d1da8ede344a8bad9393e23355e3909df58fa6cab602647ebe4e2e00bedd636382cd8f02ebdb1d5b05efbe0db29dbe5e4dd61a0bea74596affe824f739029ed6c79eda82fad7e066208edeb73cef56f28800e4e008e3abd74ef16b7cc538b36b0f2022984c48a0328d4be89400066b44eb08b3aa4f04b204aec8d5676286fb232466210cf738accfb701f8e37e96ebff980e495494723862013808e2dcb46c4aff167915190e4bec01384d8cfeaf9b60d958f9d4fcde2881d4da0696415c793d15c301c5df49f185f1cf7209070b041ca4430bcb313ff9c14f7010a9b0a7d2f10618d414c3957512f5532b839f484260ecee502f1f1537864e88fc683c01675f6480b45a1c5f5c35d0cbedaa82bd742dafb8dd9c800cb3d29dada1529d92f5c1f00439fc2bc420895fab6ba169a551e31e0cb1735679a57084538471f60ca9ccb48bdd52f5f64955782205a4a670ad11d220061127e389f1c9d9fadf1853d43f5a59772fbbc3f0e2410ab20e1d80691b51e732d5eff5a8de12ff272c22f1272f6e5b063695757cc99b0db59d796c0acbc82a348727397860e578069e8b3c1cbbe4a40c368374d0c6e3cea606a209fa3f56f3cb4d1f6c5b059192b419c18c8127c9cdcef110f967c9fda203cfdddb9d9c1134c80c1ca3b9a3b21d6e08fcfa6e9b74831b4b2b1f5edf526d882ea74345a3275dead3b9d3506763248884e1689d2cd8cd0ab19e735baf8e18dfad066d797b8cd67721beab73414619dcb5e4af17decb2146a32495315097c125e1ef0e92c982eecf1628d799cf6f6c9404a78bc29f02b4df2447fde94596493ef562613fbf44e4d5933dfa0d3118b18c4fb480b9bb78f7d31634e49cac3ccb792f757bb79728a9d521a42234eae3e647e879284af63a9bd034f8213749c0532d6c6af8ef94ec09f91f4dcd86e4599bf73a2bb6954f2cf0d24b69753aeed4971098a301d750e728174ce90826cd8db752219ecc38c67d2d8206c88ff6d2bf17a3d01719f8ea0bcdce505bf71a6029e6741123edbe611d2135f5f5dc5964064e6bfabdc29f61239dd2e56b018b9653a4618cf0f7ae9971e6ebd9df1a1305482950c684865f0a629a7ad63d22530a8f254c622a994d874833636196daba8 +ss = 06021b392b2a709f9e0855f12af3febad4943d55e1f925c4a0684b2e04254ac5 d = 28a96c71577ba00c94f99fe965bc595a26db2b3ca6ab5cf8e443cdd8462b1792 -z = 9c35d165453e5fcdc6f9df64526d9de698f2bd3e6bac6c7fdd86601b9ba5f4a5 +z = ce71ac90659ff2dd31b35c165d3929cfa5e94407a5a798c568e6098f631923ef pk = 2c12be5e04521dc3892ad41cbbd769aa8b79cc9801866c87f7194d89fa56329100f63788904c7511533ecc5b8e7fe45659bbceaba74402605a84f195925a71e3153827a5b417e0b994ac6355071ad98b1328f919d6f8c30ec7ad3366683aa3472132c801e59176711e2b20c251281311a6041ae71f96b9ab225a35e6273b5878ba6e362bb1ac896a557078495d1ed08264984357498d119706b7f4bb42a8700eac4e80164e19c2263a425f4fd18f39c2b3e6d70904e7481a14030b40bebc26be4930a05b4236436698ec5a5591b88985159cfe5c55d7d84afe7a9bc6999b1261355bf296be8726b04a066138c714b229028b2dc5e5233cec7abe672a0f67572ee2a0b84b6f231a37bdab5006a9ca184cbb82948c46b6882df10a6bc12a8e637d3d437023b99197c207acc2157c43396be138ea06adc0bab4aa2aca95d5989cb6b9f1987a58d52b0b460956452f6c00d08a188030bcaff3e9ce91ab88dea04547baaff1d64bfe3c2f5050a398cccef166a6fd82151738b227c04288e8bbde4c45aa285af2767d17b4a66529a06291757cb52ea67865afa5390a02d0e93226eb200a03fc0e83203e08390af0875f2331b8076259d9378dc77877652747774b85064b878b816cb30c6341c4529fd112b1857d2c2c104a57c52e6c7ed5274873e43303238d19f21447cb45ce568e3ca4863be289e5917e38b4ae2ca117ae7a45b29c345e8a463cda4264877964033025b5a77e8824b928bd2305421b810732a1a2a96225cef965e46369cdf15e0b6129b5aa061cb88688fc0e0da00d71612a56085be7d24f88b4c2e6b7125a58c253c8272b04a0df60485147b85bc566fd34ce78a95a235916729778e4b521ba59b4187a34f1e5bc47c6ac83fb82428c30796b5629e712b8e3ceeba7b32ec4a4b9e115576a6f74495a7210c68af925c7ca5f0818390ec408757170c8090c4ec78fc312a1d9a4cbb4533a00c5acf67c845e9b7831b5824b44a0d7b52e32bc1799b649497b4542970a50ec5a412594d50234cac594efd1b415b777ca759ec6c51197177dd183307313a3ea9b7976879b85703bb81aba1ae3727e962c0ac0ba7f60cf0cd6c8e863a0c6f395b41935ffe6b56d7026a0655d2176be3cd9537c227cf79243e09a5d04783ed170af46ecc670b16a47803ffac59744ac514d84aa544350510706aa408b91e1bbf4387d13e05feea35263446bc7d32648c8131d1b53d8da5ae774634b85bc77742128bb984ce4341d1b05cff711ee33aff31b849c66791fd5259721bccfc8a1836cc95c39540652a305c410e61a980ea5b720c472683811c7c596b635072fe7589c1700d72bc2a84106a296636107454a7a47c66a1234a3a3abd91cc7b049738b6ab7d70f450c64daaacf2cf9148c1806e2308f9c883875ab36fa20593559cef890006eaac701db9d80a762c448ad14c4b8dcd22c2a4b26ff23912e30c1c4f0467762b39689bb9ecca9ae56bc20c1347c6b4657d780d0a6c0abe904c9fb8b7769c550a11dbf54be2f2b4fe895b74002ce859228eedb676fdc15fc52c5a0679399205cb0b964e8e3576dab64f21741009082b04a9a4881c91be1ce9a68291087619b8922524222b1385454f59d355231f75071cde1cc1f96b45425932406380fa54653f521c5a178eae6aadab4bddba968fa037a94688643961fbceb633cf95c253668187784b09a7270993f6f12c96ef91cec254ccda64bb71582f20227dac5bdfcd535de1324520731747cb81cb96f13633da59318119150a002a2417ab8963b51f4fcb4c3b34ca9964fd5d94e57b23acbbacfc1267641da2083e55f5ca34695c7a45a283b15365ab9dab4118cb230ea06eb4a2fbf952f1342710ed07a2cf16e3145490a2a3a9ff308e0555e0015029e65aae08024b2637da6b0bee9797536004f9c54a782fab6ee67a8847143529c8564c37845f2c281664366205f51e8b577b19daa25162f291e21cc498a5599a48c439457a2c98cafe7e600718b282c45c58f04306aeb59e5d6ad6f3a3140903c6b8636eb2800c554c4753a3c981914d4c6c6914b56fdc26132fb281e944f27b4abb3eb937cc49707e89eeda1694dec921b6a6d9c238681dc2f844096af3bb25d61bb81d557478904b87511b5c2acc402a9164807909376b800b8ac970648ddd5d61bcb3f79106fb3f881087b21e528bdc627a8a1fdbb3b1ff5d83954f7 -sk = 52d431d74363ba07b7ec47c2a5b98157f616b8c7b7d3e68ce3f2a31365bf4e21747203c5edd758000a8c09d38a83457fb7b015bdb187e842b46cb9bfab29a917435431184219339df7cb81018a81b283814ff8b15e3a526ac35185bb45c7a865c45ab0ca1c7c5cac9e35f753d378556a62c8aac92f0ff59651c1abb789970a32c69d153b14a687fc2a56b9e0c382ba4f907a0bef79bddff781776abd042044a1c84c4c80ab9ce9a76bfa6374e9cee06081e3661a09cc3272331936cc85d6b2319cc7873227303191c36842b61013c0a41082b82034a2e1bfc8c47916859eda53033d5427741510e842265ae36d530a19e5d7365127bcab5b506321abe2b69de823b660b4699f8859de76899098159c211cffe51c7198cf1025bf9ee69236c913b16aad84aa4c381a577b6c7a3403627b323f11ebc1f304747f47407db9a8c9e4b866082597f28b6ec272ad2140a43a52188b061650bffae19761ba99ca724b71191b6dc5b16450cac50b247415370d5b207701aaec3a13cb477983f180388050175658ccb4714acb603b6b3aec340dc6c164fcb81331ec194c382fed024e0d962b056627a5b05a00b5511d78badaa489f8bb3f3c5b484f9c1450708b89828ef24b815eb43a6b8b127bfa49acacafc46434987bcaf5f91a926140bd56504fb4525ee1921b63733db2986dc133078caa44518871ba12894a553bd024fb731a0ac44ab80199394a2385bc440515877cb69b73b0c847e40adf238847608908c20bf7e1b86fa84781371d4cb52fcf2cc30306c8d98c679d4cb41eaa0ea8b395c08cac6df2348474a9504592ecd34a93b3262c9751e42193719b617355c59a25679d909a5e756c8db03e3b174e1a063edc733b9350b4f738618648baeaec5b76376d05329be6e706e632bd61292755f361096cc4565573562053b4402c42c85b5299b1cca0b9cfec4605d63665f24561d8c1dcfa896d1c6d8918a3e6f2a8d4224ff97503d1ebcc8d5395f0a64d1454623890bb7ac6b87b29333096535118cd243c52e49cbc0945385e38781b9bcb6b220a66d96d426b9a1f4c4c4d0349ce2bc790732247ec5d98e43bcd37cd94b652bfca7b988b063bb102ea0772df0aaec74c228261b4fa7a49f3b329f2c7c6d04c859c9816d5ba2aabb85e52dcae066b9af4d9951766041cc783dc672dde42558f50473bb43bc1f93bc6ea7d33f46ac4999cd33698eea603c7da265ad713e48691c8b048b21134c9998da19060cfb6ae31cb5a3b7387f2257fe94bb3ea4c963d01849fb021741395f1862085f031b6b05a7834551a6c8f0ef91397a29e12db6d776b05c7f12c8b260cf128c02e48a9f403a487ac3a6c0888c5299414aab1d7283252f62f465867a851be9a82c9a79a25cfa727c632727c765d4c496d466942147a8a7b65aec4ba84e4e2745671bcb207654b087a26f93ac77c82cf34a7c2f86fe8f48ff9a0b663d79bba6b2b8908b32fc145e4f65c6a8a379a99c9e68a10c278130a1969e0cb708d0ca6ff1669d8756d1d530ade051aba3a07903b5d801456315057187758351588bed222785c9fe83a0fb4c59245cc2a72b309767348eedb7c2097b457bbac8aa96a67d785803744e149b3f131a8b1271ed42222f95622d63157b80a5e83d887c54c8f0303749d48a91e2c2f693abdbb23246667b8108b921349a8a945a27172807d72992cd744626662b1c4aec2567972b8452ceb75632bb81dd156eec21aeb92124b417f828a7339b90774520db6e890df621c559bc58b7c66398676806b502313ced89800d9a26e1579b565a66e3132199be13e6fe8001e36630143c96e53736e7672a7b2c0ee6aaf122ba1d49416c299795dfc47f7c5841134b429ecc73a974248642454760da77b8a9d13a297c4399d2479f3e6b0e56462e113300af202e745487ed781c98a8cf26c23abea748eb851ab09beb51097ee06b124225070f83d80d5af5f75695cc89fd42566946948abdaa068032a7c31c35a1b29423b8ad4b7537af1bb187c111d55576f9c382e391a56850231e36ac8f337086b81b0256a5d32880391732285a9092310bbe67701780cd77aa7e2d54ca2e03711988ac2fa27a9890b3720c783000bfd06224980199ad092dd515456f2cdb8c23ba190594e4c9a0de60e2ecb483011c0bcb3612c12be5e04521dc3892ad41cbbd769aa8b79cc9801866c87f7194d89fa56329100f63788904c7511533ecc5b8e7fe45659bbceaba74402605a84f195925a71e3153827a5b417e0b994ac6355071ad98b1328f919d6f8c30ec7ad3366683aa3472132c801e59176711e2b20c251281311a6041ae71f96b9ab225a35e6273b5878ba6e362bb1ac896a557078495d1ed08264984357498d119706b7f4bb42a8700eac4e80164e19c2263a425f4fd18f39c2b3e6d70904e7481a14030b40bebc26be4930a05b4236436698ec5a5591b88985159cfe5c55d7d84afe7a9bc6999b1261355bf296be8726b04a066138c714b229028b2dc5e5233cec7abe672a0f67572ee2a0b84b6f231a37bdab5006a9ca184cbb82948c46b6882df10a6bc12a8e637d3d437023b99197c207acc2157c43396be138ea06adc0bab4aa2aca95d5989cb6b9f1987a58d52b0b460956452f6c00d08a188030bcaff3e9ce91ab88dea04547baaff1d64bfe3c2f5050a398cccef166a6fd82151738b227c04288e8bbde4c45aa285af2767d17b4a66529a06291757cb52ea67865afa5390a02d0e93226eb200a03fc0e83203e08390af0875f2331b8076259d9378dc77877652747774b85064b878b816cb30c6341c4529fd112b1857d2c2c104a57c52e6c7ed5274873e43303238d19f21447cb45ce568e3ca4863be289e5917e38b4ae2ca117ae7a45b29c345e8a463cda4264877964033025b5a77e8824b928bd2305421b810732a1a2a96225cef965e46369cdf15e0b6129b5aa061cb88688fc0e0da00d71612a56085be7d24f88b4c2e6b7125a58c253c8272b04a0df60485147b85bc566fd34ce78a95a235916729778e4b521ba59b4187a34f1e5bc47c6ac83fb82428c30796b5629e712b8e3ceeba7b32ec4a4b9e115576a6f74495a7210c68af925c7ca5f0818390ec408757170c8090c4ec78fc312a1d9a4cbb4533a00c5acf67c845e9b7831b5824b44a0d7b52e32bc1799b649497b4542970a50ec5a412594d50234cac594efd1b415b777ca759ec6c51197177dd183307313a3ea9b7976879b85703bb81aba1ae3727e962c0ac0ba7f60cf0cd6c8e863a0c6f395b41935ffe6b56d7026a0655d2176be3cd9537c227cf79243e09a5d04783ed170af46ecc670b16a47803ffac59744ac514d84aa544350510706aa408b91e1bbf4387d13e05feea35263446bc7d32648c8131d1b53d8da5ae774634b85bc77742128bb984ce4341d1b05cff711ee33aff31b849c66791fd5259721bccfc8a1836cc95c39540652a305c410e61a980ea5b720c472683811c7c596b635072fe7589c1700d72bc2a84106a296636107454a7a47c66a1234a3a3abd91cc7b049738b6ab7d70f450c64daaacf2cf9148c1806e2308f9c883875ab36fa20593559cef890006eaac701db9d80a762c448ad14c4b8dcd22c2a4b26ff23912e30c1c4f0467762b39689bb9ecca9ae56bc20c1347c6b4657d780d0a6c0abe904c9fb8b7769c550a11dbf54be2f2b4fe895b74002ce859228eedb676fdc15fc52c5a0679399205cb0b964e8e3576dab64f21741009082b04a9a4881c91be1ce9a68291087619b8922524222b1385454f59d355231f75071cde1cc1f96b45425932406380fa54653f521c5a178eae6aadab4bddba968fa037a94688643961fbceb633cf95c253668187784b09a7270993f6f12c96ef91cec254ccda64bb71582f20227dac5bdfcd535de1324520731747cb81cb96f13633da59318119150a002a2417ab8963b51f4fcb4c3b34ca9964fd5d94e57b23acbbacfc1267641da2083e55f5ca34695c7a45a283b15365ab9dab4118cb230ea06eb4a2fbf952f1342710ed07a2cf16e3145490a2a3a9ff308e0555e0015029e65aae08024b2637da6b0bee9797536004f9c54a782fab6ee67a8847143529c8564c37845f2c281664366205f51e8b577b19daa25162f291e21cc498a5599a48c439457a2c98cafe7e600718b282c45c58f04306aeb59e5d6ad6f3a3140903c6b8636eb2800c554c4753a3c981914d4c6c6914b56fdc26132fb281e944f27b4abb3eb937cc49707e89eeda1694dec921b6a6d9c238681dc2f844096af3bb25d61bb81d557478904b87511b5c2acc402a9164807909376b800b8ac970648ddd5d61bcb3f79106fb3f881087b21e528bdc627a8a1fdbb3b1ff5d83954f7ef07b1f4886b895a3246241ddc084379eeb0f0ed84bdcd318fe72c9b546413be9c35d165453e5fcdc6f9df64526d9de698f2bd3e6bac6c7fdd86601b9ba5f4a5 -m = 31af9345365549ea0360169ed57daf98cc5444799d4c75d9f1f5d615e9df8a91 -ct = 18f1a72ddcdc4b0f1ad18a3209ec84eefe066483a7c5d6205320caa50dc8501f889b72fba3803766afc56da62880821f0c4a1daa2f1e2eca33d858f82b3e2d9d58111a21ad635dc1a59d6ddd2f01f0da23c527c04ba3e731e96012d39f82800ef174b13bbf689b68b831484e2e9b07f1c0a8caba130576c2f171d97439f013446942bc56d1b98987926a7eae542b9ba107877383ed43357fe996dd1c8f41c3d0af621409400970f6548bd657267e6109694b53f366fe85aadab547dcc0fa4cb176a9bbae485dd0ccdfcbcc4fac24bab19bf0233fcb24c2d8812f4aa3ae1714ec6a74cba2e06971ab46675d8a0f8aad6a1eaa21e4ec0e74f6a7a94d1c100e64fbbf59901ab336d3a9008ac32623b9b7cb97f9fcf89ca24e44f874cd14642064bc2386b2df340c6765e5a9e4cc30f34aa4f0d6a64bf07196b9730b34f7534eb76b662f3302f63c5a9ef12bb9c0cb51d282a9be4440856bce390daee367077e9d309b657b341998eecd1e5744f6bab3e48e1c8d1d97ecd53e4c4e59b8e45f59e1375a551117845ccea296ca4098dc9d3e3a476b149d249b67c690b5801618d6698edbc0ff91105033c2573d0f3b936584ae26601cff6a6d19a2c67fa1e4bfe5ee106cc5924d64c534cf6fa5f53516e21b61bb434fd178cee4e4fd958804b2cf86a2fc673ed4f9ede7f90d0e99502974d306f00f0cda7e352597b550f789a19715be1fa1f91cbf028d2bf9252427866625c10e1ffbae9aa189be18dd6f8135e4a16c8728a257922dd6b0040601eef475a7a10a0e8b6cea0dc3a5f6adde697f3e18d22789aeb3f33a283b3d30528494aafea171fa0e9eabbfa531d88f39dd959e2aa84c89e768389d78b04100307c35875629ed952325ed3cb85e1fbe14a995d848835f478c08be01aa2fa6a8a57904528d650d1b0171dca6de4a9758156fabd19605db32871f0c5500f7536c96e1c9bf2e88211defa79f32b9440174f64c66f891a0ac4b0f5c45e53d6a52c7a097ae26931f1f0fe417ba5ceebd466621def0a1ddfdd272570e42aa61b7877bc391be836732d578128f4090e448644857771e1094e0cd298420269053e501aecd9045e0d7e96f58109e8bc59cd30cbf33a18825902e462387cfc621569ff60ea2d23a857c77908f070641b1d4b3a9d22ac859606a95c754c1a2c814c5583f45622119118313acea8d88a8b7b0fe5847c18191fbb29f6a44c21ed5c18cb3affde2c22ea462be2acb0a747edd39b9edf619f332ea43f5c26a17667abb57ec6a2dedfc60dc29eac03ca7ef9663d041711b6ba06c02db00a16cf8188e9929b302cadbdea64f19590cac29680fd3b96bdbf456346cc97b08bd760508223c6ac89272a48f1fcb1c48d40073301bf24a6233ad2f64c9839a18339568355e606540f3d1d7b347ea7ed464efd404ac86f8fb27fbf0a81e44015557a60f6a212098101f09439aa56006289f0619150a8b6277d3752c29d06102918acfc6e834e10211c26c943589307283f9073f0028ddf53bfea1053ab7e67f5f6f86c4c3d796bab1af709dd75399e85c33a32ec3be3036d7f20fbe8023273d12bc2595a821a3931cba3fd95ad36b3c3f261dc10fc3f100c8e100a2a0581e4b37f0fce70c7b945d8cca7d2c1af3152299dcfccdc9ae16a2587e81be7b6e0d0cbb24c3b8adf1a71fadfe6ef01ab3f83ba27f5081744f96764cce19d6d723f6de987c07ea29abcb94dfa1925a349a3dcbe8b17031810f710d8617cb1f03e572cb1d7ca1d073bd663f8296e5766dc55bf4b009a5521770e7c91627293a13d00131662fbdc86032d04dec638e0820b8b89d3e350cb879de9009e67c8628a1839eccfbe37260ceb83c6c6885a80e348ca2bfee15bc879253f183eacc8dd0c1f0b8d216663fc1c6a1f92ebb601dfb31e707756df899f8a1eefe2df3457fe8df0acb7a108ae195d1e3c3beadfa386f29b208d7db83a8e8a359a0065789f55009e48f414b1745418b9cb19e5ebcaa95352de5c01d1f80b9430175ca2b5ea46b55b986c410c3fbb5a78dad0d7b2dc770f4ac566a3f50b617f25d48c5dad5a9eb17509a0ea394ea830b0477a3bd40d7d18bbab6da2222a169a85e1309b749c194d88b9374d752b7c7b972de411b0a64a95f2ead3c50ee37a5480d5703e05a4eada0eb222b7da283129a94114f8105e64fa61fd611990fa4ed369e53644dab581f664986b2d3 -ss = 4ab06661f996ad3d290606c820304bfc95fa22adbd96819b1b73ee3b53182204 +sk = 52d431d74363ba07b7ec47c2a5b98157f616b8c7b7d3e68ce3f2a31365bf4e21747203c5edd758000a8c09d38a83457fb7b015bdb187e842b46cb9bfab29a917435431184219339df7cb81018a81b283814ff8b15e3a526ac35185bb45c7a865c45ab0ca1c7c5cac9e35f753d378556a62c8aac92f0ff59651c1abb789970a32c69d153b14a687fc2a56b9e0c382ba4f907a0bef79bddff781776abd042044a1c84c4c80ab9ce9a76bfa6374e9cee06081e3661a09cc3272331936cc85d6b2319cc7873227303191c36842b61013c0a41082b82034a2e1bfc8c47916859eda53033d5427741510e842265ae36d530a19e5d7365127bcab5b506321abe2b69de823b660b4699f8859de76899098159c211cffe51c7198cf1025bf9ee69236c913b16aad84aa4c381a577b6c7a3403627b323f11ebc1f304747f47407db9a8c9e4b866082597f28b6ec272ad2140a43a52188b061650bffae19761ba99ca724b71191b6dc5b16450cac50b247415370d5b207701aaec3a13cb477983f180388050175658ccb4714acb603b6b3aec340dc6c164fcb81331ec194c382fed024e0d962b056627a5b05a00b5511d78badaa489f8bb3f3c5b484f9c1450708b89828ef24b815eb43a6b8b127bfa49acacafc46434987bcaf5f91a926140bd56504fb4525ee1921b63733db2986dc133078caa44518871ba12894a553bd024fb731a0ac44ab80199394a2385bc440515877cb69b73b0c847e40adf238847608908c20bf7e1b86fa84781371d4cb52fcf2cc30306c8d98c679d4cb41eaa0ea8b395c08cac6df2348474a9504592ecd34a93b3262c9751e42193719b617355c59a25679d909a5e756c8db03e3b174e1a063edc733b9350b4f738618648baeaec5b76376d05329be6e706e632bd61292755f361096cc4565573562053b4402c42c85b5299b1cca0b9cfec4605d63665f24561d8c1dcfa896d1c6d8918a3e6f2a8d4224ff97503d1ebcc8d5395f0a64d1454623890bb7ac6b87b29333096535118cd243c52e49cbc0945385e38781b9bcb6b220a66d96d426b9a1f4c4c4d0349ce2bc790732247ec5d98e43bcd37cd94b652bfca7b988b063bb102ea0772df0aaec74c228261b4fa7a49f3b329f2c7c6d04c859c9816d5ba2aabb85e52dcae066b9af4d9951766041cc783dc672dde42558f50473bb43bc1f93bc6ea7d33f46ac4999cd33698eea603c7da265ad713e48691c8b048b21134c9998da19060cfb6ae31cb5a3b7387f2257fe94bb3ea4c963d01849fb021741395f1862085f031b6b05a7834551a6c8f0ef91397a29e12db6d776b05c7f12c8b260cf128c02e48a9f403a487ac3a6c0888c5299414aab1d7283252f62f465867a851be9a82c9a79a25cfa727c632727c765d4c496d466942147a8a7b65aec4ba84e4e2745671bcb207654b087a26f93ac77c82cf34a7c2f86fe8f48ff9a0b663d79bba6b2b8908b32fc145e4f65c6a8a379a99c9e68a10c278130a1969e0cb708d0ca6ff1669d8756d1d530ade051aba3a07903b5d801456315057187758351588bed222785c9fe83a0fb4c59245cc2a72b309767348eedb7c2097b457bbac8aa96a67d785803744e149b3f131a8b1271ed42222f95622d63157b80a5e83d887c54c8f0303749d48a91e2c2f693abdbb23246667b8108b921349a8a945a27172807d72992cd744626662b1c4aec2567972b8452ceb75632bb81dd156eec21aeb92124b417f828a7339b90774520db6e890df621c559bc58b7c66398676806b502313ced89800d9a26e1579b565a66e3132199be13e6fe8001e36630143c96e53736e7672a7b2c0ee6aaf122ba1d49416c299795dfc47f7c5841134b429ecc73a974248642454760da77b8a9d13a297c4399d2479f3e6b0e56462e113300af202e745487ed781c98a8cf26c23abea748eb851ab09beb51097ee06b124225070f83d80d5af5f75695cc89fd42566946948abdaa068032a7c31c35a1b29423b8ad4b7537af1bb187c111d55576f9c382e391a56850231e36ac8f337086b81b0256a5d32880391732285a9092310bbe67701780cd77aa7e2d54ca2e03711988ac2fa27a9890b3720c783000bfd06224980199ad092dd515456f2cdb8c23ba190594e4c9a0de60e2ecb483011c0bcb3612c12be5e04521dc3892ad41cbbd769aa8b79cc9801866c87f7194d89fa56329100f63788904c7511533ecc5b8e7fe45659bbceaba74402605a84f195925a71e3153827a5b417e0b994ac6355071ad98b1328f919d6f8c30ec7ad3366683aa3472132c801e59176711e2b20c251281311a6041ae71f96b9ab225a35e6273b5878ba6e362bb1ac896a557078495d1ed08264984357498d119706b7f4bb42a8700eac4e80164e19c2263a425f4fd18f39c2b3e6d70904e7481a14030b40bebc26be4930a05b4236436698ec5a5591b88985159cfe5c55d7d84afe7a9bc6999b1261355bf296be8726b04a066138c714b229028b2dc5e5233cec7abe672a0f67572ee2a0b84b6f231a37bdab5006a9ca184cbb82948c46b6882df10a6bc12a8e637d3d437023b99197c207acc2157c43396be138ea06adc0bab4aa2aca95d5989cb6b9f1987a58d52b0b460956452f6c00d08a188030bcaff3e9ce91ab88dea04547baaff1d64bfe3c2f5050a398cccef166a6fd82151738b227c04288e8bbde4c45aa285af2767d17b4a66529a06291757cb52ea67865afa5390a02d0e93226eb200a03fc0e83203e08390af0875f2331b8076259d9378dc77877652747774b85064b878b816cb30c6341c4529fd112b1857d2c2c104a57c52e6c7ed5274873e43303238d19f21447cb45ce568e3ca4863be289e5917e38b4ae2ca117ae7a45b29c345e8a463cda4264877964033025b5a77e8824b928bd2305421b810732a1a2a96225cef965e46369cdf15e0b6129b5aa061cb88688fc0e0da00d71612a56085be7d24f88b4c2e6b7125a58c253c8272b04a0df60485147b85bc566fd34ce78a95a235916729778e4b521ba59b4187a34f1e5bc47c6ac83fb82428c30796b5629e712b8e3ceeba7b32ec4a4b9e115576a6f74495a7210c68af925c7ca5f0818390ec408757170c8090c4ec78fc312a1d9a4cbb4533a00c5acf67c845e9b7831b5824b44a0d7b52e32bc1799b649497b4542970a50ec5a412594d50234cac594efd1b415b777ca759ec6c51197177dd183307313a3ea9b7976879b85703bb81aba1ae3727e962c0ac0ba7f60cf0cd6c8e863a0c6f395b41935ffe6b56d7026a0655d2176be3cd9537c227cf79243e09a5d04783ed170af46ecc670b16a47803ffac59744ac514d84aa544350510706aa408b91e1bbf4387d13e05feea35263446bc7d32648c8131d1b53d8da5ae774634b85bc77742128bb984ce4341d1b05cff711ee33aff31b849c66791fd5259721bccfc8a1836cc95c39540652a305c410e61a980ea5b720c472683811c7c596b635072fe7589c1700d72bc2a84106a296636107454a7a47c66a1234a3a3abd91cc7b049738b6ab7d70f450c64daaacf2cf9148c1806e2308f9c883875ab36fa20593559cef890006eaac701db9d80a762c448ad14c4b8dcd22c2a4b26ff23912e30c1c4f0467762b39689bb9ecca9ae56bc20c1347c6b4657d780d0a6c0abe904c9fb8b7769c550a11dbf54be2f2b4fe895b74002ce859228eedb676fdc15fc52c5a0679399205cb0b964e8e3576dab64f21741009082b04a9a4881c91be1ce9a68291087619b8922524222b1385454f59d355231f75071cde1cc1f96b45425932406380fa54653f521c5a178eae6aadab4bddba968fa037a94688643961fbceb633cf95c253668187784b09a7270993f6f12c96ef91cec254ccda64bb71582f20227dac5bdfcd535de1324520731747cb81cb96f13633da59318119150a002a2417ab8963b51f4fcb4c3b34ca9964fd5d94e57b23acbbacfc1267641da2083e55f5ca34695c7a45a283b15365ab9dab4118cb230ea06eb4a2fbf952f1342710ed07a2cf16e3145490a2a3a9ff308e0555e0015029e65aae08024b2637da6b0bee9797536004f9c54a782fab6ee67a8847143529c8564c37845f2c281664366205f51e8b577b19daa25162f291e21cc498a5599a48c439457a2c98cafe7e600718b282c45c58f04306aeb59e5d6ad6f3a3140903c6b8636eb2800c554c4753a3c981914d4c6c6914b56fdc26132fb281e944f27b4abb3eb937cc49707e89eeda1694dec921b6a6d9c238681dc2f844096af3bb25d61bb81d557478904b87511b5c2acc402a9164807909376b800b8ac970648ddd5d61bcb3f79106fb3f881087b21e528bdc627a8a1fdbb3b1ff5d83954f7ef07b1f4886b895a3246241ddc084379eeb0f0ed84bdcd318fe72c9b546413bece71ac90659ff2dd31b35c165d3929cfa5e94407a5a798c568e6098f631923ef +m = 59bd98530c55222a8294517068b7fd7e3210fcc2bdf400f4e584bc209afa44d8 +ct = f283f53a5a01bfbf28c49a825e3f059b03e292c806c8f8155c2f95d18b20d8262851d0b9a9c1fb6e02c534c5c87af471fd44c45b59128abeaf703163f08e066701642989f86f1d6ff6891dd28c7d995064bc3ba64f0f213f3a00b3ecaa84a3df5d6e76228af55938500989a290e71965f24f6a051e78016f81b65b78d3e91d09d19bbb4a6a65f60639094ad5793fe2ef8417c60f1e4e3f12a80f97b870a2bf2f8a09b37f8c07ffc32655633f3d16ff8e6809ea7872b910313a5815a58317a0d3cfa42366981b0551096e76ffb21b9f2fccf4c550c523792e66544a72e14594f4f567bd337d588ba6f5320fe36f8544abc400f634572cfddc108cca6429cd7479dd601e345e40fcdb9361bd4a80f263e5e10599b9c096b5bc212c4244e0eb07af05bf66175172dd7e69d19eb7fb680139dff17680a7f668c28ede0b7d91b64a64be7056d7f9194778d78690ea4cc47dae78a701a683d995e1ce6232ad6a66875c2a367aa590cb7b56ffe7a1abfb14dbf413ac169e169bc519e13d8e0df12dd6a2dccd35aa10116b8e89fe22001bb9ff242cc8d34341ae32e5006281b4f82295a5f41adb12d1b0a08ff1d4692cba1dd5408b8a66bc1e8165a041408f803e2f9e06d6547f150d26a0ed1de932ef09a000610cb10a062eaf58dbd3198615d22e4f3a882b30f9e17e7009dd53ab7d5fc1ba2b3801659bb84b5b2e95fe7a6c3ef842c45be9c84491d9d83477ccb8a5c375619a1f3efbaca902c613ba2a287a320710a9537694f1ce6b7da1ff36df375f1c9f64a439582915f8ed156f231ccfa3c68115e58d861407d4a6ace676637e2337ac9ca3e512a96ea612635ab06dda303b85e6eb0f538b34640373db12e9347d0cc8a1e2487802262db66082cb54aaa934467b255180d6b2cf12d10fd5f015e20822138f1f20d58bda320b2e420d8bce24aa095875580f26a9d1d4fc4c625eb2939b13d6612a0bc27a48b063d323c042fc38defb3b7709f36ed684f479971859e3b4be25979dc756d303f0a5914df62484edefda8194b124f085579df512396490bd25c72b830ead31da809956689c0e550e78c00f25b8ad7d7aeac222d7dfff1aa312d78b468ce29764d901970f7034a79472916fef2b5ad858cb65d7bcab50961ec84eb62d64b4800cbd1678d43dba103c022c26459ca5d27c12b8ab859006b016decb0051e665d08b06e1d94de935822d4abf681d7c85fcaabc5816ad7f2f9f41ba87ef209e2c60caeea0299656c1a4c4a84c40c5ad70e7fb214083e65434bebe4c4e823cd509e26c38a66ac0fdf45944668d03ee64af4a7ad7d9096415af3c1cfbdae5d91e6668330cd82bfad4b7ee6675e2cb52dd9843f99ee000062990e5452f4c343bb85b346f85e238beacd3705d959c832f1dd90a6681dfd35e14da4317ce6c347579156afd6075a28e0cc311b76032f4a74e9848c6ba0f3e6bad462dd952a11942575d6044fbbbea7406d1712fbf58050e578ca83e9ab8ed9e21d2b14d8ca0ae5489ef632264d9ae8f70a887b15b839eba1b906798626d75323e4ec9f0c9a589c24af99be114684a70136cde28420635b9edd51b0891ab64297153d98c8515aadabdf0b75eae331ae8f03c87182d6a80e70ef7d11c0902f5a511994be78eff57576990d7424575296131a105b2a89593916107592f71a6684a032be61fd43e485e41c21090ca3e98cdd0125c6519f0238196bba4cd0081572d277722c49a274e989317cc3d0cf717f17c63c70f9ef51acd0b0f518db16dc37216a62c6ce504607d3d967484b61357086938741260e6bd6fe97c215a8ad2ebf3a9441333d5095844abb199cd3c30ce3fcaa058c398e3189ef07eed44ef9202e3a328a0f4f0f1e50003ed28ca1c6761d34d7e298e5dda2ae307296e8fae072bbd59d35ecc33c4ed1f2f3ae2d4929c4514e09899ba511c74263f68a1b704186389df61e27759b2eb04b3bae35fde4faafaf143ec920e9a97821e104defbc0171328b0aefae32885365b21ae4b3e2b9111b0b474ee6ea31c9763bf181bb000575c469f0938a3e585c0982b4d67e175a49618c4750116a017f85aa0987b27315d6b69980501ccf3d0567a8ba34281245bcb0205a5c71db4b8695e319525cb1a6e52bb7095430f611e7729720df87170594a2899d76209475e9256453dc2d6aa5938ce6b23f8a66c5defb73ae9e59dce236908d818db871 +ss = cf5b4c0396f19307e31690591f9b1ddc21be6e4cc6251b281b93663866a11a5d d = c08ba2ef8c3a0a043afad931652d7a19e6e8cb670f840de5f1fa03309b2ca9ec -z = 5fe6141a25f7ab9f875f79e0a82d6ea5cde5a017ab637d5fdb7c42646a1d71df +z = 4248ff45452bce5777b08108e059234029d3309cbc2bcaad8ebb37dcf27832f2 pk = 88b1b22e1b2cb01b18957737b65a63dbacc6828418150978215b85703586c1060740d56b50b40f806a7d2b83890d2996cdda967654506e096a9e59b69378152f4b8b2c1050a9e2bc9e20b513813db6f6b42701ba8ba3a03e80362c7904f240a49625435c00d040648262b44d881882de55cb3bc1968f5b3fe78bbec040a50972237800c378eb9ca8735f5502ac220988675b99ba17414a077d8b9c79e468a7e3a7c9f65b36d41b9c88509dc25276fac066199689fd29c58a5b702b1b9f7e2c30492a9bebf99a300c57d3863365236af8d514be837e0de28079e22b3f6c9991504c73bc2603161f8836a8814095ac527e0969c00dea613de63b05033b303c5937815b02ebc3466b5bf287265852665afa4d3dc7622650a0ca7438d896404e5b2a09220315bbbd5be37ae3a61953473e2be9b39cd71c072a97db3aa7546a9ebfc651500633a30919fe41a435cb5dd9b247192b233b676d2432132bd4cce04c30af99344e20aeb8e9b6545b4e9c9bb211e5add2071911dcbfdec072cfb76fd6366a74aa66c1831e1b6ac6def02d703bc9a9011480032e0b1a8e668cc3bbb46510b993958a455b25c025f19677f1c03828335b85868dc99c81d3b75d0042c3735cfc063b68630c00680dcbf561fe07ba4202b1045a2eaca9033ddbc2f3e620cff6158c904666927d61d4702c84aab51c60a748acb573704a5b422057ac3933233dcc6c6609cef96993ca951f89e10b68217d4a59839f261fac87375a38314f4b7ccaf5321a305ff7137e4207a9db03ac08370dd903a634b8951fd6c93bec205434ae6fc066eb18a4a1102297abb8cba62980340b2d643be20c067db031aa886282b03dff2870ffc455cf78a1657aa19e958df64b21cd9467a1306ad40195db3a9398c86c5e4111cc40816a860909ea742f8b14cb2309860b5d300253fe6149b236aa8ff44dc8d79b852888a9b2988644af45c030f5a69e93a44bdb454d79c36f2a1b13db7b395cd7b7da192dac99b4d5560fcbd96312483511bc8d9e738bbd4cb5e708cc0a02056a292180d06d0b0983a2748dbabaa88ad144aa1028edda8dea7704908440dd9a272feb8138146e44e574be538183a391225bcaf9475350939f5b14ac75336df086453b69be85b350f829abda504aefb2389322af5df12cfd399cd19b52cd8850510c37e6c087ac060e468c97fa97857e78712c17696ffbcda6f13248733cc03c4f08b92000590d79d74f1ad2336b9368572230ee472cc3d28a03a7547b5c7c1e63809c9aaaf783569109522075b9c979c444929376021b7fa06f5acc940f2984b118164ab204ef2ba59de476e0ba22169888e64717e8635e7a30be99441814b5141a658bbe25641d3557f07b33d3027ad1a3c51fa497dcb6bede058c18b6adf41374ca1984a0f43a6d25ba1b162ae5fb9693607bc2fb279ba5b3bd19408ac8ca13e8c80f2139bf410e3065a0be22800c0305966832899753d342694ce56483a45f0d56848484cd1b9c949c192658e14e7c6abbaa51cb45441af9e46bac064376509d533718678a614c1b9e99796c0d4c8ac6ab134c4aa79a1c22692183c9f2af94836a52930680c974355104a05c0cd3a5c34d6a7b524b1dffe1459754066ab41a0b7315f302955ba23fd2b4588bb58048e981b0cb1df247874699021368277127912848cd65229c59617a7783542b289456337dd572c8e703ab1f22af68c962c9387e92d754027619b7f9accf233a10ac294ee15c3928934ee0b342f39f3ac5299ca681f5c569a2d87429bc7b4c492a9a09a48e17534e7a74023c0601e92bb13ab2f6918a44066e58433c2cd811ec5a144867c666b390841712d0659528fc76fc2ca17d3656b4b0673f682bd37980897b02d3608ecbb27b76ac848d55658f2606fb761154b0c516d0787909a59b35bb73e43988ca7459c22da04cb91c784f47e39152293679b41d13ea4908836735c3a28768509b2c6dc3d220c3db729437bea79727ae8156e2798ab7e9abef81437de27e752188dd22913e477230549f564a353fe17d513a72adf132eb0b0f3905cace01b05a073498c56221a4b9941a0223d4abadc87f83b6aa153920ae58cedb7aa5d4ebb6f4b34570079d6d1354afd1c30efb1aea9c25eeb07cb56417c134cd45441ed49182651aa5df5b6c82ea6a76cb62d3ad7357cc617d597a3dbbdf515f6852d71220768859d599bbaa -sk = 28ba2f24db8e2a5b21092964f1871e97e10f2727c8b27916a5068edd27670d26b91a93332157ac686205e23616eb0271b081b51923c5996743cc114f3ad310cd6791aeb05f77960991513ec655533921a8d14cb2589399ebf18f7ba89bb7d6cd2d7336ece1b7b63b98f26a49d356578ce7275ee67677d1482e1bb3d85b88325bae0a00cfd1288c34078d73965442b7b140705f0fb76ee3d0921112c400c7a4d1337d6a3a8cdff9af05c64c079c64dd143f1fd56c28096313e82d51836a2dc1b0f37a2e00545f802b417a9406e55420b4d71fbc2210d05a771cdc164ad50932ea40a876051828236153b4e1715edb1453045721e89a60acd0066227704b8ab991e8a06812226bc59943c0814c847a1865c19df4b7fa13ba3ef95543e724ef854ccb28bc1db49b75c1aca3649f848bc6f32c139aa79197543c628238adb755f4da6bd67130772b4790b28c9f1544a4e9860e875e68c1cdd9cc0cf17451434c7c53f3a9be39849720b1b80a836ba4c531d49bad16077e90203c9120c23239cea972454b08a5f10812443ca75b913df98dbe29c3312157e156311f67354d414aa041833f8454aca5b3898b3572e819fb2c4cada43c9c5191d6f7aed8f310cf77ccaf0c478686952e71a8a8173d0c223b04462b96c04ea7b218a13519b90cbe3be8c32b276f90d349acbb6362706dcd54aad0497a058ab0138a8e57d514d5d431043184bd1a07b77c3299ba6c7205938eca8403f31a1c605a942b73775a1ac11c40d81988e69c15079719aa769b5f618052d5290d84714ca57418366c15b74da4e98df96abdd19884ec1703f7978c4dd72b48528789d7148f16c23ef8bcd1f353cc4a76e7c238aeb1035424300f529acd46926874190556133021a6a9283ddfe02edadb7de23a4d141b0787539b68110b4882a51f95403865becea06e2d7a1c1f534fa3366bc1ab387eb867477b92f00c0d09615bfcc1138137cede4098ad57894ff74982d71ba2eca6a0f502cdc9c89bc6a44bd84fd8b62bb5d84332faa830e2a732259945028d2830a8aa866f92c24e46d164c4f4658791c11f0703d906a82546c75f81285c24597bba4b1be3972f069d6b383d61cc32b9b66604b7cdc4bb39058c74ce770f04f758e6124543e13d2365a915802f75e90997b10b15e650aee33a291c87030517b6c29cf10670d2dc5c8889aab7518b4dc86d86e25c52acc4db175a5957118f983c3a4443b33803a3161ab24004b7a789778c8414a8aa8c819468ebc28b68afe5333f7e666d44b5a961533280b0021bd3b24e2aa51ba58f2f45767a5722e918b1204656a2b44ce628a3a84125f918999a6311cb3569431c7b0d6b58adab6a30f9473b3747e33c7a2a9baf87b709353a77743949277147928273f112b5e618167a5715157b49ced69a2492203a08730ed07b7aa14bad136cfa969dfa68c28af40b9763872ed1b05d4161489bce1f473d4cc067a86258f6b664d2436d4856166cc60467887f9b97439f607d336114e46b2a2964c228a18eb532cc4c6813dfb841e60c3baa59978234a06fc95aaaeabec0123230ac33bdc48a4452403842bd6158c668f28f20bb5501984c5d3992594a9238e03798d178702b86973350dc21617aab9b4466903d4914d37a2ec3d936c162933505b7f45c3a26fcb3b32bc3da91aad5d7a8af045252202312d98a7877935cd6b8c9499ce722c6566bc21fd427f1902e6bd190c8889824b35b79268e4b2c4afda48b0c98856a097bff3c4523bc02739349aac7b8cd286798cb919bb550575b44ba40226cb323f83886e1e164efb1ab648a1a738747e799327f58630134beb48a187fa5694279bf644997448b57f909292807c441b8061f8a4c1d1bbf8c55836eab38fa483b66a652c556191e9c959c45a4175244b851b294e38134284f771b81cc72bee2bc188d58053c7589394b49b5b33cbe12993549c2ac05be0dda9b63d97e45e738eb2738c59224db502a0fe3aa37d113cd3393419c850b77b4b1393884dc9ef3d189ef3499372c8851f290f928a9c05a0a210926cc1b5728115771e55fa14c23ac4b1e9f507b02164f2234050f06896ba969347b3048d42892600e7dba3b8da0cff0d1707c0185f9b16fca3921c2b648e130bffae62f0fea48ae91588a15c064a9cfb0bc862dc9ca88b1b22e1b2cb01b18957737b65a63dbacc6828418150978215b85703586c1060740d56b50b40f806a7d2b83890d2996cdda967654506e096a9e59b69378152f4b8b2c1050a9e2bc9e20b513813db6f6b42701ba8ba3a03e80362c7904f240a49625435c00d040648262b44d881882de55cb3bc1968f5b3fe78bbec040a50972237800c378eb9ca8735f5502ac220988675b99ba17414a077d8b9c79e468a7e3a7c9f65b36d41b9c88509dc25276fac066199689fd29c58a5b702b1b9f7e2c30492a9bebf99a300c57d3863365236af8d514be837e0de28079e22b3f6c9991504c73bc2603161f8836a8814095ac527e0969c00dea613de63b05033b303c5937815b02ebc3466b5bf287265852665afa4d3dc7622650a0ca7438d896404e5b2a09220315bbbd5be37ae3a61953473e2be9b39cd71c072a97db3aa7546a9ebfc651500633a30919fe41a435cb5dd9b247192b233b676d2432132bd4cce04c30af99344e20aeb8e9b6545b4e9c9bb211e5add2071911dcbfdec072cfb76fd6366a74aa66c1831e1b6ac6def02d703bc9a9011480032e0b1a8e668cc3bbb46510b993958a455b25c025f19677f1c03828335b85868dc99c81d3b75d0042c3735cfc063b68630c00680dcbf561fe07ba4202b1045a2eaca9033ddbc2f3e620cff6158c904666927d61d4702c84aab51c60a748acb573704a5b422057ac3933233dcc6c6609cef96993ca951f89e10b68217d4a59839f261fac87375a38314f4b7ccaf5321a305ff7137e4207a9db03ac08370dd903a634b8951fd6c93bec205434ae6fc066eb18a4a1102297abb8cba62980340b2d643be20c067db031aa886282b03dff2870ffc455cf78a1657aa19e958df64b21cd9467a1306ad40195db3a9398c86c5e4111cc40816a860909ea742f8b14cb2309860b5d300253fe6149b236aa8ff44dc8d79b852888a9b2988644af45c030f5a69e93a44bdb454d79c36f2a1b13db7b395cd7b7da192dac99b4d5560fcbd96312483511bc8d9e738bbd4cb5e708cc0a02056a292180d06d0b0983a2748dbabaa88ad144aa1028edda8dea7704908440dd9a272feb8138146e44e574be538183a391225bcaf9475350939f5b14ac75336df086453b69be85b350f829abda504aefb2389322af5df12cfd399cd19b52cd8850510c37e6c087ac060e468c97fa97857e78712c17696ffbcda6f13248733cc03c4f08b92000590d79d74f1ad2336b9368572230ee472cc3d28a03a7547b5c7c1e63809c9aaaf783569109522075b9c979c444929376021b7fa06f5acc940f2984b118164ab204ef2ba59de476e0ba22169888e64717e8635e7a30be99441814b5141a658bbe25641d3557f07b33d3027ad1a3c51fa497dcb6bede058c18b6adf41374ca1984a0f43a6d25ba1b162ae5fb9693607bc2fb279ba5b3bd19408ac8ca13e8c80f2139bf410e3065a0be22800c0305966832899753d342694ce56483a45f0d56848484cd1b9c949c192658e14e7c6abbaa51cb45441af9e46bac064376509d533718678a614c1b9e99796c0d4c8ac6ab134c4aa79a1c22692183c9f2af94836a52930680c974355104a05c0cd3a5c34d6a7b524b1dffe1459754066ab41a0b7315f302955ba23fd2b4588bb58048e981b0cb1df247874699021368277127912848cd65229c59617a7783542b289456337dd572c8e703ab1f22af68c962c9387e92d754027619b7f9accf233a10ac294ee15c3928934ee0b342f39f3ac5299ca681f5c569a2d87429bc7b4c492a9a09a48e17534e7a74023c0601e92bb13ab2f6918a44066e58433c2cd811ec5a144867c666b390841712d0659528fc76fc2ca17d3656b4b0673f682bd37980897b02d3608ecbb27b76ac848d55658f2606fb761154b0c516d0787909a59b35bb73e43988ca7459c22da04cb91c784f47e39152293679b41d13ea4908836735c3a28768509b2c6dc3d220c3db729437bea79727ae8156e2798ab7e9abef81437de27e752188dd22913e477230549f564a353fe17d513a72adf132eb0b0f3905cace01b05a073498c56221a4b9941a0223d4abadc87f83b6aa153920ae58cedb7aa5d4ebb6f4b34570079d6d1354afd1c30efb1aea9c25eeb07cb56417c134cd45441ed49182651aa5df5b6c82ea6a76cb62d3ad7357cc617d597a3dbbdf515f6852d71220768859d599bbaa1a2d9ea0d2280249d9d756975c6979a8770bf4b5f6addbd76d045a816bc1be385fe6141a25f7ab9f875f79e0a82d6ea5cde5a017ab637d5fdb7c42646a1d71df -m = 774ae54093d694ef40b63b62c73e6c98295f606feb8699807eda1d030ffb996d -ct = 8dc3f8dfd07429252f3c3493517542375ecf7b888468c2db1161deeac17270e26ffbfc7c0cf7bd4f9dc527145199ce66d34003bc5aed28abe33aac2ec32fe9039caf79a1f64797baf82cd0135c152b6b1c3c1f5c5d503aea819b73ecfd549968192819f4c8b94cf05fc3c901ee1f6f772f3fd5ba655480c4fc5e5e82e9da82fdabc1b62ba74bec8d6be507b0c26de5c2a9712696b9c8358f96a2d8ce787a195e3e90bf31b890e350842b76c27955d304e12f88100fdeba145ff3f1dcfd06769e44cbee43db2a4d682e4fedef84c87cc37f952ad5c14af7fbc55981e1f90321d9605a737c5de4f671e58d80704bd92b5aa814a4695c52e920c533101273d4a10be5f4ce62ee7b55ee5af9bd13c300467226b74a4957c9e9ef05cd153363857748ecec0389aebfd3857c823194b8062215d6b5617147f2eceb1796d001a0ccfbcb9ee67cff5ba4707e417fb44eb7ed07c797ed4234e61ab78c7488b580c27957014e258d90c94c7f586e5632a7d012b6be2c3fe353bb214186f2ad04189633fa742d41ce27dd6b0623969e6b394ad0591c51d8abf7cd5d2a991dc14462982cde11cbda4e250471af7687385f23cb4239e5ae2493760a1b7e51994dabaf407aa2e6465d0ce83cc8bf55a5ab65ae21a27d836aea266dc4033f7f60490fb259e221d0bc5613c4d63040b58c7259378eb86cb5825ce717f846fa7daae3258da9cf8b14871b494bd40c9e79029c7e9e6fabff103f7ed1d311fbb71c7ec823a1dee7f871e8b35b205b962f741e354851b0176586b8c955755757e22fc5a7105513246f292dbac789d6264a38dba2da381c4dbf86120890927de139450cd09cd56b3e001dc5065ff08ccd87d1f214699c2a958fe1dab7a65e55d1725dbc66c4e679772d34e93d7ccbf02586cf79c4d50252959a5e00150a39c47d11e81403bf9dad177a761440e07d3877bbde14e2cc071b74c7fa4646b9a3727aeee499fc6242ae1e9454c7e09e24d2bbba6cb4b54977d0091fae748f7385643befabd0aa2e56aef212dbe2e43d82de6adfb3380e3af44a90545f39e4100b23dff119519f085b779243800fa4f66401941abf555601ebe54d34b9ecf26bbf9da79cafae6bd51f74220dc524f8df48ff8aeb6b17e718c334faa1be58d60c1e6bf17ea94988a8fcc8af00b7d4ff50789f3665a832d496407138765124841539904a98791f9cf58c5e77fb365a99f018ba19f7330a86569395b51d62a0218db359df8fbdefec15557409f9e25318a809df66e992dd973299f3d387c0caf2a0dfdb5238e261f0fb83940f417618110225bad1f05827a1795b72ee07d143db8ed40320ac92632f127777cf71a772ccea5feb87c5bdea2f8b9ce220fc6ef9be56c262784b539e5a44ad950cacf80941d60edb00d8e2da866d6bece283ecb172434c20ca0442b5ac87e7a889e78499d75489e0c38185c7855364342ee4cf8b2b0412ebc59889bae81f6ec718b93f6bb4a0f8c74f7faa5ca3058de4f20332f9ffa2695683dada7f746b833ebd789e63c52ba580be9334c28f35fb9188efc4b0078dff8c2bd8663501df4ed422bd7b8a817c7ffe666378f85f9dc9aa8b48c92ceb96933f825252d5ebf19a5abcef7b7e8e16298a6d0d014de107faa4fa84d1e4ba9487e430f5e6dd351a2fd50123cf73d7a29f7a30aa5cc90fc30cdab7173c82f66da887604d81ed04cbcc302850f2166e0034e9fc153802316b08db05801ba993077302d0cd12035c6b9f70f2b35447c0c85356af6f10cfc54b501d3e4d5a58e53175c24b39d903a66975bc792dc9af24ee5d114857040b95649950254971c8711ff1d1a74b695d22c588cc45f3ad14157537f937cfc55879441de9d23525740c7955ae1f5e5988f296c0b0815366be108d483a6e8ee42b887a82171bf667bfd4d1cae97674bff23621b3c7f61c48051a902a93ee8101994b80bbdba586fba22e9fd8c635dd2a396689df9ab187d9b6093096f926ec316d6dcede4e8cce86b28afb35da11cc5c927df243131ffe56c2571c766aa31a03d3f26136866b63f71f1de4cfe8d604436cec7b13a35bca6f45014ec0649820906f53f14529ef2732e38cba14f9ceef51a3bf2d79c3cef1392d95ccc0d404c31d64c3a174720ca48ab0ed50e5efde09e966ff2fdb6bfe129058ba136a0e62fe8a0c011b78ee34fb14e0c6dac008c72b0126f8ffd8933456a3 -ss = ff09355cf1bea871cc8f1417a0027ee49df46fe80482462c3290813b7a383dec +sk = 28ba2f24db8e2a5b21092964f1871e97e10f2727c8b27916a5068edd27670d26b91a93332157ac686205e23616eb0271b081b51923c5996743cc114f3ad310cd6791aeb05f77960991513ec655533921a8d14cb2589399ebf18f7ba89bb7d6cd2d7336ece1b7b63b98f26a49d356578ce7275ee67677d1482e1bb3d85b88325bae0a00cfd1288c34078d73965442b7b140705f0fb76ee3d0921112c400c7a4d1337d6a3a8cdff9af05c64c079c64dd143f1fd56c28096313e82d51836a2dc1b0f37a2e00545f802b417a9406e55420b4d71fbc2210d05a771cdc164ad50932ea40a876051828236153b4e1715edb1453045721e89a60acd0066227704b8ab991e8a06812226bc59943c0814c847a1865c19df4b7fa13ba3ef95543e724ef854ccb28bc1db49b75c1aca3649f848bc6f32c139aa79197543c628238adb755f4da6bd67130772b4790b28c9f1544a4e9860e875e68c1cdd9cc0cf17451434c7c53f3a9be39849720b1b80a836ba4c531d49bad16077e90203c9120c23239cea972454b08a5f10812443ca75b913df98dbe29c3312157e156311f67354d414aa041833f8454aca5b3898b3572e819fb2c4cada43c9c5191d6f7aed8f310cf77ccaf0c478686952e71a8a8173d0c223b04462b96c04ea7b218a13519b90cbe3be8c32b276f90d349acbb6362706dcd54aad0497a058ab0138a8e57d514d5d431043184bd1a07b77c3299ba6c7205938eca8403f31a1c605a942b73775a1ac11c40d81988e69c15079719aa769b5f618052d5290d84714ca57418366c15b74da4e98df96abdd19884ec1703f7978c4dd72b48528789d7148f16c23ef8bcd1f353cc4a76e7c238aeb1035424300f529acd46926874190556133021a6a9283ddfe02edadb7de23a4d141b0787539b68110b4882a51f95403865becea06e2d7a1c1f534fa3366bc1ab387eb867477b92f00c0d09615bfcc1138137cede4098ad57894ff74982d71ba2eca6a0f502cdc9c89bc6a44bd84fd8b62bb5d84332faa830e2a732259945028d2830a8aa866f92c24e46d164c4f4658791c11f0703d906a82546c75f81285c24597bba4b1be3972f069d6b383d61cc32b9b66604b7cdc4bb39058c74ce770f04f758e6124543e13d2365a915802f75e90997b10b15e650aee33a291c87030517b6c29cf10670d2dc5c8889aab7518b4dc86d86e25c52acc4db175a5957118f983c3a4443b33803a3161ab24004b7a789778c8414a8aa8c819468ebc28b68afe5333f7e666d44b5a961533280b0021bd3b24e2aa51ba58f2f45767a5722e918b1204656a2b44ce628a3a84125f918999a6311cb3569431c7b0d6b58adab6a30f9473b3747e33c7a2a9baf87b709353a77743949277147928273f112b5e618167a5715157b49ced69a2492203a08730ed07b7aa14bad136cfa969dfa68c28af40b9763872ed1b05d4161489bce1f473d4cc067a86258f6b664d2436d4856166cc60467887f9b97439f607d336114e46b2a2964c228a18eb532cc4c6813dfb841e60c3baa59978234a06fc95aaaeabec0123230ac33bdc48a4452403842bd6158c668f28f20bb5501984c5d3992594a9238e03798d178702b86973350dc21617aab9b4466903d4914d37a2ec3d936c162933505b7f45c3a26fcb3b32bc3da91aad5d7a8af045252202312d98a7877935cd6b8c9499ce722c6566bc21fd427f1902e6bd190c8889824b35b79268e4b2c4afda48b0c98856a097bff3c4523bc02739349aac7b8cd286798cb919bb550575b44ba40226cb323f83886e1e164efb1ab648a1a738747e799327f58630134beb48a187fa5694279bf644997448b57f909292807c441b8061f8a4c1d1bbf8c55836eab38fa483b66a652c556191e9c959c45a4175244b851b294e38134284f771b81cc72bee2bc188d58053c7589394b49b5b33cbe12993549c2ac05be0dda9b63d97e45e738eb2738c59224db502a0fe3aa37d113cd3393419c850b77b4b1393884dc9ef3d189ef3499372c8851f290f928a9c05a0a210926cc1b5728115771e55fa14c23ac4b1e9f507b02164f2234050f06896ba969347b3048d42892600e7dba3b8da0cff0d1707c0185f9b16fca3921c2b648e130bffae62f0fea48ae91588a15c064a9cfb0bc862dc9ca88b1b22e1b2cb01b18957737b65a63dbacc6828418150978215b85703586c1060740d56b50b40f806a7d2b83890d2996cdda967654506e096a9e59b69378152f4b8b2c1050a9e2bc9e20b513813db6f6b42701ba8ba3a03e80362c7904f240a49625435c00d040648262b44d881882de55cb3bc1968f5b3fe78bbec040a50972237800c378eb9ca8735f5502ac220988675b99ba17414a077d8b9c79e468a7e3a7c9f65b36d41b9c88509dc25276fac066199689fd29c58a5b702b1b9f7e2c30492a9bebf99a300c57d3863365236af8d514be837e0de28079e22b3f6c9991504c73bc2603161f8836a8814095ac527e0969c00dea613de63b05033b303c5937815b02ebc3466b5bf287265852665afa4d3dc7622650a0ca7438d896404e5b2a09220315bbbd5be37ae3a61953473e2be9b39cd71c072a97db3aa7546a9ebfc651500633a30919fe41a435cb5dd9b247192b233b676d2432132bd4cce04c30af99344e20aeb8e9b6545b4e9c9bb211e5add2071911dcbfdec072cfb76fd6366a74aa66c1831e1b6ac6def02d703bc9a9011480032e0b1a8e668cc3bbb46510b993958a455b25c025f19677f1c03828335b85868dc99c81d3b75d0042c3735cfc063b68630c00680dcbf561fe07ba4202b1045a2eaca9033ddbc2f3e620cff6158c904666927d61d4702c84aab51c60a748acb573704a5b422057ac3933233dcc6c6609cef96993ca951f89e10b68217d4a59839f261fac87375a38314f4b7ccaf5321a305ff7137e4207a9db03ac08370dd903a634b8951fd6c93bec205434ae6fc066eb18a4a1102297abb8cba62980340b2d643be20c067db031aa886282b03dff2870ffc455cf78a1657aa19e958df64b21cd9467a1306ad40195db3a9398c86c5e4111cc40816a860909ea742f8b14cb2309860b5d300253fe6149b236aa8ff44dc8d79b852888a9b2988644af45c030f5a69e93a44bdb454d79c36f2a1b13db7b395cd7b7da192dac99b4d5560fcbd96312483511bc8d9e738bbd4cb5e708cc0a02056a292180d06d0b0983a2748dbabaa88ad144aa1028edda8dea7704908440dd9a272feb8138146e44e574be538183a391225bcaf9475350939f5b14ac75336df086453b69be85b350f829abda504aefb2389322af5df12cfd399cd19b52cd8850510c37e6c087ac060e468c97fa97857e78712c17696ffbcda6f13248733cc03c4f08b92000590d79d74f1ad2336b9368572230ee472cc3d28a03a7547b5c7c1e63809c9aaaf783569109522075b9c979c444929376021b7fa06f5acc940f2984b118164ab204ef2ba59de476e0ba22169888e64717e8635e7a30be99441814b5141a658bbe25641d3557f07b33d3027ad1a3c51fa497dcb6bede058c18b6adf41374ca1984a0f43a6d25ba1b162ae5fb9693607bc2fb279ba5b3bd19408ac8ca13e8c80f2139bf410e3065a0be22800c0305966832899753d342694ce56483a45f0d56848484cd1b9c949c192658e14e7c6abbaa51cb45441af9e46bac064376509d533718678a614c1b9e99796c0d4c8ac6ab134c4aa79a1c22692183c9f2af94836a52930680c974355104a05c0cd3a5c34d6a7b524b1dffe1459754066ab41a0b7315f302955ba23fd2b4588bb58048e981b0cb1df247874699021368277127912848cd65229c59617a7783542b289456337dd572c8e703ab1f22af68c962c9387e92d754027619b7f9accf233a10ac294ee15c3928934ee0b342f39f3ac5299ca681f5c569a2d87429bc7b4c492a9a09a48e17534e7a74023c0601e92bb13ab2f6918a44066e58433c2cd811ec5a144867c666b390841712d0659528fc76fc2ca17d3656b4b0673f682bd37980897b02d3608ecbb27b76ac848d55658f2606fb761154b0c516d0787909a59b35bb73e43988ca7459c22da04cb91c784f47e39152293679b41d13ea4908836735c3a28768509b2c6dc3d220c3db729437bea79727ae8156e2798ab7e9abef81437de27e752188dd22913e477230549f564a353fe17d513a72adf132eb0b0f3905cace01b05a073498c56221a4b9941a0223d4abadc87f83b6aa153920ae58cedb7aa5d4ebb6f4b34570079d6d1354afd1c30efb1aea9c25eeb07cb56417c134cd45441ed49182651aa5df5b6c82ea6a76cb62d3ad7357cc617d597a3dbbdf515f6852d71220768859d599bbaa1a2d9ea0d2280249d9d756975c6979a8770bf4b5f6addbd76d045a816bc1be384248ff45452bce5777b08108e059234029d3309cbc2bcaad8ebb37dcf27832f2 +m = c11e2fcd6cc56977006f5dfa825271c6fd49069a747eb36c1765f5d5a22b38b3 +ct = fe3172f16cc8839b30c9b78782cb27e618c2194b4447c9a24a0fb79ebfa14e18397e615d47dd21af3cdf1d87c8c0a8d66e8e3c9444ba537aeb246aa32f014ffbfac2370a6d5e90e97140c2930e062e40684fbdbde90e5a54c288de92e269e75252873122c9088e8c48f251edf73977149c3fcc9acc8aa1d590a3b1a00d52da896debca22897e908083f530be310f747d42e4a164fb0092c7c85394d87ff7ed1ed6c4a1d90f842d0bf8a638b113ae728964d27e5ef1faf35b6b3da2c0ab7980994b590cc3a93e3702b27ce4039b8e9bf0315f88e591f0144f38fc158261a1d46528a7edeb144c3423f4de4fd09c14bf5fa80a0bab552a5823c326f6810fe6ece6e8aea6c4b28b31c0bf4fbee7a0d048754e4d71e38f2fec636b8f7a305215e614656169812e9f5363c2c9ac44105e7437f598d75cc54968116f511bf97422c45a7196823595a5a41cccd2433722b1ea77594f38a24d1dd28dbcf97dc0ff0694c83b173379ec87a13711768ff4a65118df61c6754a89c7fa62249db7dca45a2941ae9019b9273ba9a92ad544649742ae9de6c06886eb4538695f9ee93124c43323ec7f82ceaa48ce3d4cb8b58eedbe67fb765bd99e8fa8858c4431ebd475f320e8434b87edb2681dcee36042b5336ae6974d68eba5fd81d67360b04e1a8194a5a7298607f3a421be05e8716e28ea1333d609546f94c9985a8a20c0fda57b2a5aea64e280eb9d715c536a61498b3a978b63de0c01c74ba39a45cd7d0b8eb6739cca632cf54600b858025ad2b9e7c54ed0c48f1ce95fd2b1f6332ec45b58cd918f54c0cb9f3ee4372825e1fd101d49ea33357f94efd866bcc3dcd40ff174d74c699fe123670802e4629034a605dcb9edd978df7147ee6e7f7c154f0c6dd932d362df5fda00a5083cf5bc5449da7b9dc2ba41012405dba9fef6aeb9be9c003cbc43a19cd9bdfb1767078d998e7895eea549936621abc96347ab26e11ee7dab90289642b757c64ede91dc4ea0355a4b4a64bf7dc520c81424dd4876dc9c429a6220a1124cf928a0e627c00612e9d06b2221cd02e19bea788c29e089caccd7d86d5fe5c2aa7da09c8885d3ef642135c587ae2af6c224f16fe0a65a6c80c542b8ab52a229f29e6e9f80dc3696467903065b7997535e51b183e24b2bc78cb0ab3f41ab8e04f57ec96a80a5d755a1e64dacf0f0bf47083e7dc1a94414687cdcf8fba1137eac83b19405887c988a8064ca65cf0c774bcffd39ed486b29d9fbc3aad90466ebc5fc0420f0790579817a082ea4b0f5f52b59df040bd2d5ca807d0a93f9229026d9ab6c3615b19c4bcf16a3988d2af73addb963bb7b25a3daf0fd821468d3eedc5222d8e4e693b342ea570bbef9446a47aa4ef6c47a82b86d39d13d46b499dea67fc88e62b7d6fdf06bb63d526d679411632c18b6ffce260ff5ca7c9461cd3df606dddd493008a99f21769c1dada616fdf0fea78219b50f2587fb641b92bc495a638c32f5041d5db52b638fb3feb861f7c3e714d1622b39f64a534fe70398c05d7b8149fdc22d3410cac8660c6a09b59bb4638f501465c72c90876404c5afbc34ccf2c466ea83f9d8e6a088a5f0256072242050366dcfd08504928c58db2bea6d3a4d393fc63e96cf5a3c57fd6467f9252ff9dc8f3f852851a1545a96870b3e22446c505e2fed47c93aab54500a9d9d93d0c27575c8f4ace60870b9c633eaeabd23ebcd1406f99e212faf04b1d210e1d5e9833b7ea68cf612f022d7bd722a9e7928e3335704224b730e0ec838b9f2e3960be3cc897bd64a6a43cedf80d28fdb0e20dddba00e4b58c95cda844f9cf52f85e67f73826ca27499780130bd25a45924f2da883b61611d872408a4bc1306caf8fec2da4d67b960828703ac6d19dcb65ac56c160ee57a83f26079f0270d30b479e4bc26efdaef883e0a9c8db5c23c445f33b93c6b22f16f8b434e129536e39e0092594fdabc05e58eab33f0e447b0a3fa7ad13f1d081ba5ed61f1617479b6581d1f9465d41d02a70248b09f39912a3e5a9fc5c63afaae226f55c1962baad75077c6a286ab67c1aa7ae069bf9864af1190268396d159aa3ddf89eab07c73f97a391f7ebf8eb2da3a0ad40d92e933edbf994878ba0fd1367c4943acdcde0e04f8002eaad3029026247cb5a34a456b7a95a5ae98838d852c78fec718d4b318f8d80a1fed2439bea715da4273c872473bebcb3 +ss = a8343d2e54358038f124102641d24f583d74a960a3bc2ce8563a4270fbcea133 d = 0e3b30e102d707538c2671060f603bb0b8a014103f132d63b09ece07e4a4c75b -z = 11eafeca9e810796c34e8cfce9d59342884456007b01ddd12edce6d10ed87e4c +z = 7b129a56b51be635054cab9e84f2def59a3f8168e301ea2be388c45b8cb022ec pk = b3f044ae2026d8b17f397aa66707c6846531cd5b3db17cbd072bc4e2747efbd5749a52c8bfa2327db1a0258829bf7bbe4f59b1a6d8b8d3954db41bb4a20b0d660c21d6202759601630854ee75cc29454ab1a3469bffa989076301132aadec892978b3e15082bf84897238ac6432abbfc59a21c43c0befb55e1b582d26344a6a7b507f31bc1495ce2d5943466996a0691d80405cc21b060568f55a18fec917106d7277793089e147d759988569820e0254ee7896e9797612c655e71371178a14b37b3a2c2b18bdb952a5295bdd4385c190b3d61136f128ba74c2c57612708f900c144093ae460c86c7a2f0b1903fd9a889dd7874f6543a2e112219869819c35c055813a394333ac6c9c860ad7505f8aa241046a984403b798e3211469cd1d8a57455702b2816f0b2b3ec60b273b102559099528d306ff23be250b50226b497b60b7540813f5b0c4a11732a6b9583a21b3dd2028e79a82ea0144ef34c32e4392a11241748351046b9454a50e9f90739d12a96a928e75806f24004b4a926f0e8769f90a921c4323d7fb7cc74c2e33248c30b774b795cea60c47ec52a01ae84247e53243542ebd8abc24a183e2d72247628269e108a5e93f11a45ca9561e8fabbf85aa61c6bacc2493aa93a38bb72421e8913fcc635ea0f2ae17ba41e43c5af3c83382f0667b6113591b6af80950d5074a3f8c4fc2e550ca9743dfbc4c1f797543fa784ad8687da8a643476fcae931c1c7477f063cc7c224dfe3bef7e0afdebb5f91b2532bb867ab3c08cfdb6a64ba1876285bf6463b9a241512919c9b72669ed252faa0aeefbb963076592f9884b5e60e42c2008efc08bcd1cc2bf31025c386cdf99b49283d6d7b0a24693618d2a2fac3b7acc60ec970b6d357b199fb6af3039eb6601bd57506cf8292d3181eff61cd380c525086962b58bfe53c3c0844431347a2f2112776818fa3ec2937b4b3b21c52be816637c38a68aa5373858e16c18134093311292814101cc2940b7f61953cf5971fb5ccae59ada4373dbf9c149869a0833bcb97d9bc68d6581cfb803264599a9cb1cab10a15178f6cb23ddce70d060b0ecc7a0feefa35b6db9800567417775e1df95ebd32a4e67616381b48595933f301408e2cc1951a095994428ea01883b4a8a8d780cf960d69a18425258eaf63ab2f2752aa411856b78dfd60c2da74c35f517718c3b117a98e968a72c3150105ca44fb02b14c439abb81adf5a94e2e5b7a8971848c4a9156e1445f41cbbe2c7c18785baaaac24bb87936ebcc8ef6ca4a951d1de8c2e6c5658034c1fde4b75dd1a176824298a669b0c4355aac3e201380c42cca5060192d06606e8430e135c50997579cd756da40336541a781e6702c0041c696270b65a92d531e964a1e953555628929f7fb59a7c2a5cfbb90b4f04b129cc011f7aba0942247908b22267df9333e8c762143c4b68909694de674ca14c7538604a7741fbd9004d861a04f63b74106729c6759718125cbdc40ffcc60c4aa30c7da001e30c889276d48b1329ac033d5365d76c85893da0e15590bcc064f0803cad5e80355fa56974ac577db713862545aa43747f9456b822e74e56e3a825e0f6259a3551565215dcaf4c9ce568c25d9c9c7471806210969146bb64c7af9a03ec276ab4ab10e8dc227ab491473f09718c4a046e84889d7c40f0bd0878675deea6c8e071b0e819f77147631939c035a8f9a4644b3dc35c3dc328c1c0cc6cc537af884d7c6000dba9e1e3062c2d43a30eba1873409422a5f664174d2f536e8420634558f4d427d3b8b48b96845b0f1847208c374f31d419988e9434a9f626da5258c00654b6789122de71788d6b259a29eabf83a42621b1bcc1924a79d3fb59ae6475ae6714296ba1528f30a66c2597ed308a3973a501cae96e1779813195805b12b0b008090acafeb591af94ea6394a2ac955fa1b5d8dc388498c6c8b1829428a838ab73eab19c6ce4a409fc782fc399fcadb90c9a7a86f9799a3db0273551877522faef812d452b6444c4ecf3b9a9670810354b5bd57ba43aa5c4f271a03b2800f5290650a08ae83061f331489265b2f2a3ab1f4b3159103773b7806157e26ec1892e2c3d121a601777834b52939a658531646e713222943a0decb5b82baa4bac41f1cb2aeb3076a1a20a382698ce3919ed717408e0934fde42a5e1cbf04c80f37d7dfc7eb53a785194c4a1232e61c37a5 -sk = 2f766ad78a0112b8cd4bf28dd0f589873553bf114f19c2719f61a32cbc85c71975b911237bc6aa6acb32b613cac9dc80c85493faf63c3e337c274542ab4729d02abc5dc07309032c7112540522575d663c89714aa7a456410144d7c2bc1041c03d5a56e08cc7e5663c01f52e5077288bb8cbfba21b4a8a19c055691e05c22f94c62c3cc2b6a9c155e2a4eb2bb9d95b8c9d5a6394d05af87b038c210d9faa266cf07088b3cc7ab56ff3366fbd595b3c790b5497b34b94a72d8153fa13b40be96b51315ca4d22be3828c3556843545c47b0254266a802a44bee6e5a19a446472322c6aaa4cf47218ee3c99247564c552c93ed589ea8bb2c637bcf7277d5b5058dd80342815b2e8864b4c330920a82ec76b4a7bb893e0d18278f47f84743223a67f2983ac8c4a1845a61259670b02d6053ca181ba4c1bcca05b7af2a27c59c1e4e38da723b787aa2f36c71e3be05039183bffea6ab3bc779de2273326b327d42517b6c6ed8c7f96c6330d4c39e3d2a7b81a538693329abbbb5947b068c3cf7b45c173c1ba9964c86ed91d0bf64e209c1910c218434311a50a2128d52754148159891e00475654ab30b9693ad507b2e19acb7fe6b14f27c09c6b2570b861926683a285014631c2d7cb8c0c10a25d073d3c067ab819b9dc27971825ae21cc2e50d377e3396f0266a5ba598bbe9a868b0b6cad2ca3a8cb503778967bb930d90795719b237238c1f831007c690186949c600c6f587ac0d81c8334c57fe0c59db3e2815d63c26c620fdd75836261644d99327a334ea5a40571f0cda39ca716d2bb894a50bc4cc84d6621b60509dac77ecaa39b9779a3696749ce83933eb70c1e85bb2dc3421ae9a0ef40ac2d83a1fac16c6dccb0aa16aff9a94bb6d125665c3001b845e7f20e7c90a3db636950b0836ba008da33500fe47fd4a81df0e268c62974bad02a6d3b2267f917e2046df3c1883187683f030a28a129902083ce26730438b0dc0042998c9472f5a7fdba371d74481dbcb9bc4cb281e7cc1dc4455823ae1ab8b233e83324544913dc261b6274464b656bcb645f87b0cf4512af443959e67c47d679020c2905d45e21da586ee8291085a8a432ac6afaac594081ec298dc13175779b8635fc8eae58982258759999a57b704a5b040245d282a9b6c9cbca838399523f26695f60389ad42f6512783ae65a0c25b7258674398839af28866671329109a58e579c026549f0b7041dbb6623665fbc9a2ede41c0436635325912366ab1364b5a3162c4b8c2a14480aa6bf165588b8d26ea968291cabf66a4e26722f87977dab7807a2c65a26a9cbd339bac0b24e6b46e0a8082be95bb7a41b1b8b670ed3105eaf994a06a6414e9abe2a1b608c29c94b846012a0fcbd6959ed411d8d0c70a32559c68c74d94b2a9707b9d9755e3c69ac40782e97a1f904a32da824c7459b59b174a9fbb6b41947f47b3361d5558d831b2b444818ffa4c17f4bfcf8b9c7ce451f4ca99884c13f85c24d3cc4740d2567a54ab0583a175759fd7e197f3000a39717bfd9c768248518d50791cd84dba795e85388dca21507bc669ff0b906bf515f38c04dc838d0d1357377b1601887ae1b0a0c4490d38a871910c695c50008e5a5a0f4cbaf8497a56f6707f970b77962e13a5c09d8a6eea50840413ba51e22af3666098f23c12a9a6ff6785975ba75c6823e5980b78cb3e5d20b7efb9307468bf3b06cbdab62f0c4ca7157bb22e9595a4288e16416aac3748099229d397a1f716aef05676c2a035629c6878865940f17fa0d2ae5315c4340c7191b415046994b9188d4e22c50239901408b64c1132f854a13de43884b8cbb430b277341e74318669d2411d49ae3d660f84e35538c7668bb8c7edf39a3fb33bf7e45336fc68ab37477c037f7d4a460f3c211847468bc10e0ab67576605216f058153c4f5e041900265ba367afbb21bb13600c4aa74fc55222be11c88298b35789532f357157f48931c2a58cd6a75e82bf411a0311fbc2b84a67d7353cd13ab939a05d55157a19d226dea6191d30b28aa916624872bd067b2d7597d73419fc5cbe3a46c36d0047c231bb4c12609425c1f672b69f57aad8f091222c109fa66512046822b4c7c57ac9f2c9c701d7167697bed93c789a626af045a8d5a2c2d51383e41211bb38b76c9684b3f044ae2026d8b17f397aa66707c6846531cd5b3db17cbd072bc4e2747efbd5749a52c8bfa2327db1a0258829bf7bbe4f59b1a6d8b8d3954db41bb4a20b0d660c21d6202759601630854ee75cc29454ab1a3469bffa989076301132aadec892978b3e15082bf84897238ac6432abbfc59a21c43c0befb55e1b582d26344a6a7b507f31bc1495ce2d5943466996a0691d80405cc21b060568f55a18fec917106d7277793089e147d759988569820e0254ee7896e9797612c655e71371178a14b37b3a2c2b18bdb952a5295bdd4385c190b3d61136f128ba74c2c57612708f900c144093ae460c86c7a2f0b1903fd9a889dd7874f6543a2e112219869819c35c055813a394333ac6c9c860ad7505f8aa241046a984403b798e3211469cd1d8a57455702b2816f0b2b3ec60b273b102559099528d306ff23be250b50226b497b60b7540813f5b0c4a11732a6b9583a21b3dd2028e79a82ea0144ef34c32e4392a11241748351046b9454a50e9f90739d12a96a928e75806f24004b4a926f0e8769f90a921c4323d7fb7cc74c2e33248c30b774b795cea60c47ec52a01ae84247e53243542ebd8abc24a183e2d72247628269e108a5e93f11a45ca9561e8fabbf85aa61c6bacc2493aa93a38bb72421e8913fcc635ea0f2ae17ba41e43c5af3c83382f0667b6113591b6af80950d5074a3f8c4fc2e550ca9743dfbc4c1f797543fa784ad8687da8a643476fcae931c1c7477f063cc7c224dfe3bef7e0afdebb5f91b2532bb867ab3c08cfdb6a64ba1876285bf6463b9a241512919c9b72669ed252faa0aeefbb963076592f9884b5e60e42c2008efc08bcd1cc2bf31025c386cdf99b49283d6d7b0a24693618d2a2fac3b7acc60ec970b6d357b199fb6af3039eb6601bd57506cf8292d3181eff61cd380c525086962b58bfe53c3c0844431347a2f2112776818fa3ec2937b4b3b21c52be816637c38a68aa5373858e16c18134093311292814101cc2940b7f61953cf5971fb5ccae59ada4373dbf9c149869a0833bcb97d9bc68d6581cfb803264599a9cb1cab10a15178f6cb23ddce70d060b0ecc7a0feefa35b6db9800567417775e1df95ebd32a4e67616381b48595933f301408e2cc1951a095994428ea01883b4a8a8d780cf960d69a18425258eaf63ab2f2752aa411856b78dfd60c2da74c35f517718c3b117a98e968a72c3150105ca44fb02b14c439abb81adf5a94e2e5b7a8971848c4a9156e1445f41cbbe2c7c18785baaaac24bb87936ebcc8ef6ca4a951d1de8c2e6c5658034c1fde4b75dd1a176824298a669b0c4355aac3e201380c42cca5060192d06606e8430e135c50997579cd756da40336541a781e6702c0041c696270b65a92d531e964a1e953555628929f7fb59a7c2a5cfbb90b4f04b129cc011f7aba0942247908b22267df9333e8c762143c4b68909694de674ca14c7538604a7741fbd9004d861a04f63b74106729c6759718125cbdc40ffcc60c4aa30c7da001e30c889276d48b1329ac033d5365d76c85893da0e15590bcc064f0803cad5e80355fa56974ac577db713862545aa43747f9456b822e74e56e3a825e0f6259a3551565215dcaf4c9ce568c25d9c9c7471806210969146bb64c7af9a03ec276ab4ab10e8dc227ab491473f09718c4a046e84889d7c40f0bd0878675deea6c8e071b0e819f77147631939c035a8f9a4644b3dc35c3dc328c1c0cc6cc537af884d7c6000dba9e1e3062c2d43a30eba1873409422a5f664174d2f536e8420634558f4d427d3b8b48b96845b0f1847208c374f31d419988e9434a9f626da5258c00654b6789122de71788d6b259a29eabf83a42621b1bcc1924a79d3fb59ae6475ae6714296ba1528f30a66c2597ed308a3973a501cae96e1779813195805b12b0b008090acafeb591af94ea6394a2ac955fa1b5d8dc388498c6c8b1829428a838ab73eab19c6ce4a409fc782fc399fcadb90c9a7a86f9799a3db0273551877522faef812d452b6444c4ecf3b9a9670810354b5bd57ba43aa5c4f271a03b2800f5290650a08ae83061f331489265b2f2a3ab1f4b3159103773b7806157e26ec1892e2c3d121a601777834b52939a658531646e713222943a0decb5b82baa4bac41f1cb2aeb3076a1a20a382698ce3919ed717408e0934fde42a5e1cbf04c80f37d7dfc7eb53a785194c4a1232e61c37a5a57b333a2f41fda2ea72ea11d8bd642d911f6afe90e60492ebeefdc17a93219211eafeca9e810796c34e8cfce9d59342884456007b01ddd12edce6d10ed87e4c -m = 9f27a47604ab5146caaf0aafe6d149424f8d66e39ba3baf5e6c73b19221b7e21 -ct = 09e9c5fea95d1076af8a2973c008719b98376cfa1578dc45a5665c8ad1de178dbfa9c1e7772a7816a62d8dc1dd3abb0b53ddc62354a6adeaea6c51cac8a0544778cf83daa2cd9d87b16547fcd4c93c4e57ac4a9503e1065e20e31a616460f77308ef04b167b6e6986ff97fa8259746a9bbaae1486b39317de072e3fcf199a01c1fc31745259f5014a6bf76e713a16f945b7ae95e3bda08356f7d0e4d07264f78e219913c829fcfe626336bded0ae39116d64cc14d7ec11066703b1d14dacfd87cc7b5fc45afab52ac875dce2b932ff5092ac9316545a453d286c4751fc4a42bf1f143fdc91a629187b7ae7f2a4acbd733e292979f928696ecd245f7dc18a32f89722efa0f1eaeeef2817e06ce840460254b65bad7a2493920edb1407b2fa3ea6d4247b727bf14d964de653eec79d01216ac90374690296ac0a722a832902cc1390dfbce6b908de52538e510052ac1ff00c6bdb8643916381a004eb67e805f25edc58ebad7933dbea713b96a7fa4826e05826b83dc45d3ed7e1071a67d6c7c824f4bce23400034a7672d5f647b1d74fb8ef85b6200c7ac05145a81b202a8c184480f0b22305816ebfc15a35688b1f048c3e2be984bdca8f277678ce96cec9a69030daed05abd24683b27693b4629dc5ba8c82e04b3f8315c48e2bdd7e9af749def8259fc2e5a20cafbd746b36d49af825b54add43e03999eb844fbbd7bff2b4c67bf855b1899f429eb7bd461f817b7381c6d70890197e261655705cd8515df14401b9cd55ed90898c2646f493a49353fdf3dcaeab5d32bbdf29d37b842ad9ee35bc0f7340e5fc58d597f68669db33062432ea14ddc62cfd2741cd5728c8a5bc574d078ed8663d2ad8b2b1bba311d6c4bf11faebc90388e6d9f191603acd097768ab273109af8d9b1a8d5ef5a537bb995990fdf192b7700d3dd98cc3c990f626c56b2381a5fffb5260e909ffcf320f224f157c4641bc74413d3b42826e988131f72469a7c51f0d98aaf62cebf6b72495dd770e097ab978f2f1be56485f39ea3370a28643885264e7c3c9ebcfe77efd69ec61190799931ada271977d0ab4d958b27f03b4620a5e42206705857076c40357945cbd657208d2edb0a5ade138e1e0792c3494b999f177761dbd19dae7eaefcc520d6554ec3e260c0f33b85d2c15fcb144f2e2aa9c1acea609a577d5ee5788e29c0e51f3ad00bc19111e53180d50f7d9d62e722ac602bf311f2b27c8c3bd94fef28e31d1e4fffb7aa66225456b6b95c1261f80994ddbee9aa6be908d2fd0dee27a8245ad7c1d08b19dd7589f3981ade36bb5960133fbe17da06d0bafa779031667cbc0ce89ee261146eb2b7a7ea08a427378a2a0db025544dd36aa7c62e4715aed2fa5e6e80ce5ff807be42e61849f830e7cf25d1ac5fbd011f6a83ae88c2247f07ff20bc8149a933ded6079a138583711891f4930b1633a8031db39defbf429d06fe71912c2515058ff5a2169be2b1432b509d50a7e75e252f72edb057766857c7088b892ea0e147f5d628f13378feb12aa05281879734baf86ae36ffa66fa51104a66f6e4abb7b7ce61979d7686517f42efd987fba29c8cee0c7b2c19cee992dba8155e5bcb2c4eac863541f881c465baeb6c2f4fe7ba4ac073623aaf54758511eee4835e2cdda586812d3c086f355281c078e0a1b80d9a0679eed3db1b38766de9512d8a3be9e59ea778df1db93b3d69617d1a5b25832b2ed712792874786aff8e088db3e6d421ae3726ec316b858dd38a90be4b9ea8be8793ff44799119c4fadc796d2547186f4acf07740e0ce9e27e22f0a8bf6a2a5638d70d10410bcdfb3dfde09280b014f31bbb240d90e7a6ed34e41eac9edbbea02da0fc963973f77fed6bed6ebef60ca57687848e54d67e6050327d109687836b9b68f4e45fee4c154892d501d37b535a1cbf84bb3ce06ae722c9feba1c08d33fbc99677f497f3c6749e89ec98ea729fa794fdda4eb176524a6c2e018bab3cbedf9158ac20f7a1653bd69c82e10e579de6ffb99bb0a5100eaf28c93314b21b8e47d65d9eacd6f49411c0ed2bb97de99094f436aad182ddf8218834548b6b626bd77db10d3b12cfdd9214f84bdd66027dd480bf31c98628cb1218dfb915a45df9ad528d640ee382933b518549d5e06b04ea991946037ac15887277ac6450d85165cd95f73c0527913f89f27606d7a842894a21565f36e4daa1 -ss = 27a33edd638dc744cc6a5c8e3d53b2b1a3d90de2b95a649d47d1dfc2f5090bb7 +sk = 2f766ad78a0112b8cd4bf28dd0f589873553bf114f19c2719f61a32cbc85c71975b911237bc6aa6acb32b613cac9dc80c85493faf63c3e337c274542ab4729d02abc5dc07309032c7112540522575d663c89714aa7a456410144d7c2bc1041c03d5a56e08cc7e5663c01f52e5077288bb8cbfba21b4a8a19c055691e05c22f94c62c3cc2b6a9c155e2a4eb2bb9d95b8c9d5a6394d05af87b038c210d9faa266cf07088b3cc7ab56ff3366fbd595b3c790b5497b34b94a72d8153fa13b40be96b51315ca4d22be3828c3556843545c47b0254266a802a44bee6e5a19a446472322c6aaa4cf47218ee3c99247564c552c93ed589ea8bb2c637bcf7277d5b5058dd80342815b2e8864b4c330920a82ec76b4a7bb893e0d18278f47f84743223a67f2983ac8c4a1845a61259670b02d6053ca181ba4c1bcca05b7af2a27c59c1e4e38da723b787aa2f36c71e3be05039183bffea6ab3bc779de2273326b327d42517b6c6ed8c7f96c6330d4c39e3d2a7b81a538693329abbbb5947b068c3cf7b45c173c1ba9964c86ed91d0bf64e209c1910c218434311a50a2128d52754148159891e00475654ab30b9693ad507b2e19acb7fe6b14f27c09c6b2570b861926683a285014631c2d7cb8c0c10a25d073d3c067ab819b9dc27971825ae21cc2e50d377e3396f0266a5ba598bbe9a868b0b6cad2ca3a8cb503778967bb930d90795719b237238c1f831007c690186949c600c6f587ac0d81c8334c57fe0c59db3e2815d63c26c620fdd75836261644d99327a334ea5a40571f0cda39ca716d2bb894a50bc4cc84d6621b60509dac77ecaa39b9779a3696749ce83933eb70c1e85bb2dc3421ae9a0ef40ac2d83a1fac16c6dccb0aa16aff9a94bb6d125665c3001b845e7f20e7c90a3db636950b0836ba008da33500fe47fd4a81df0e268c62974bad02a6d3b2267f917e2046df3c1883187683f030a28a129902083ce26730438b0dc0042998c9472f5a7fdba371d74481dbcb9bc4cb281e7cc1dc4455823ae1ab8b233e83324544913dc261b6274464b656bcb645f87b0cf4512af443959e67c47d679020c2905d45e21da586ee8291085a8a432ac6afaac594081ec298dc13175779b8635fc8eae58982258759999a57b704a5b040245d282a9b6c9cbca838399523f26695f60389ad42f6512783ae65a0c25b7258674398839af28866671329109a58e579c026549f0b7041dbb6623665fbc9a2ede41c0436635325912366ab1364b5a3162c4b8c2a14480aa6bf165588b8d26ea968291cabf66a4e26722f87977dab7807a2c65a26a9cbd339bac0b24e6b46e0a8082be95bb7a41b1b8b670ed3105eaf994a06a6414e9abe2a1b608c29c94b846012a0fcbd6959ed411d8d0c70a32559c68c74d94b2a9707b9d9755e3c69ac40782e97a1f904a32da824c7459b59b174a9fbb6b41947f47b3361d5558d831b2b444818ffa4c17f4bfcf8b9c7ce451f4ca99884c13f85c24d3cc4740d2567a54ab0583a175759fd7e197f3000a39717bfd9c768248518d50791cd84dba795e85388dca21507bc669ff0b906bf515f38c04dc838d0d1357377b1601887ae1b0a0c4490d38a871910c695c50008e5a5a0f4cbaf8497a56f6707f970b77962e13a5c09d8a6eea50840413ba51e22af3666098f23c12a9a6ff6785975ba75c6823e5980b78cb3e5d20b7efb9307468bf3b06cbdab62f0c4ca7157bb22e9595a4288e16416aac3748099229d397a1f716aef05676c2a035629c6878865940f17fa0d2ae5315c4340c7191b415046994b9188d4e22c50239901408b64c1132f854a13de43884b8cbb430b277341e74318669d2411d49ae3d660f84e35538c7668bb8c7edf39a3fb33bf7e45336fc68ab37477c037f7d4a460f3c211847468bc10e0ab67576605216f058153c4f5e041900265ba367afbb21bb13600c4aa74fc55222be11c88298b35789532f357157f48931c2a58cd6a75e82bf411a0311fbc2b84a67d7353cd13ab939a05d55157a19d226dea6191d30b28aa916624872bd067b2d7597d73419fc5cbe3a46c36d0047c231bb4c12609425c1f672b69f57aad8f091222c109fa66512046822b4c7c57ac9f2c9c701d7167697bed93c789a626af045a8d5a2c2d51383e41211bb38b76c9684b3f044ae2026d8b17f397aa66707c6846531cd5b3db17cbd072bc4e2747efbd5749a52c8bfa2327db1a0258829bf7bbe4f59b1a6d8b8d3954db41bb4a20b0d660c21d6202759601630854ee75cc29454ab1a3469bffa989076301132aadec892978b3e15082bf84897238ac6432abbfc59a21c43c0befb55e1b582d26344a6a7b507f31bc1495ce2d5943466996a0691d80405cc21b060568f55a18fec917106d7277793089e147d759988569820e0254ee7896e9797612c655e71371178a14b37b3a2c2b18bdb952a5295bdd4385c190b3d61136f128ba74c2c57612708f900c144093ae460c86c7a2f0b1903fd9a889dd7874f6543a2e112219869819c35c055813a394333ac6c9c860ad7505f8aa241046a984403b798e3211469cd1d8a57455702b2816f0b2b3ec60b273b102559099528d306ff23be250b50226b497b60b7540813f5b0c4a11732a6b9583a21b3dd2028e79a82ea0144ef34c32e4392a11241748351046b9454a50e9f90739d12a96a928e75806f24004b4a926f0e8769f90a921c4323d7fb7cc74c2e33248c30b774b795cea60c47ec52a01ae84247e53243542ebd8abc24a183e2d72247628269e108a5e93f11a45ca9561e8fabbf85aa61c6bacc2493aa93a38bb72421e8913fcc635ea0f2ae17ba41e43c5af3c83382f0667b6113591b6af80950d5074a3f8c4fc2e550ca9743dfbc4c1f797543fa784ad8687da8a643476fcae931c1c7477f063cc7c224dfe3bef7e0afdebb5f91b2532bb867ab3c08cfdb6a64ba1876285bf6463b9a241512919c9b72669ed252faa0aeefbb963076592f9884b5e60e42c2008efc08bcd1cc2bf31025c386cdf99b49283d6d7b0a24693618d2a2fac3b7acc60ec970b6d357b199fb6af3039eb6601bd57506cf8292d3181eff61cd380c525086962b58bfe53c3c0844431347a2f2112776818fa3ec2937b4b3b21c52be816637c38a68aa5373858e16c18134093311292814101cc2940b7f61953cf5971fb5ccae59ada4373dbf9c149869a0833bcb97d9bc68d6581cfb803264599a9cb1cab10a15178f6cb23ddce70d060b0ecc7a0feefa35b6db9800567417775e1df95ebd32a4e67616381b48595933f301408e2cc1951a095994428ea01883b4a8a8d780cf960d69a18425258eaf63ab2f2752aa411856b78dfd60c2da74c35f517718c3b117a98e968a72c3150105ca44fb02b14c439abb81adf5a94e2e5b7a8971848c4a9156e1445f41cbbe2c7c18785baaaac24bb87936ebcc8ef6ca4a951d1de8c2e6c5658034c1fde4b75dd1a176824298a669b0c4355aac3e201380c42cca5060192d06606e8430e135c50997579cd756da40336541a781e6702c0041c696270b65a92d531e964a1e953555628929f7fb59a7c2a5cfbb90b4f04b129cc011f7aba0942247908b22267df9333e8c762143c4b68909694de674ca14c7538604a7741fbd9004d861a04f63b74106729c6759718125cbdc40ffcc60c4aa30c7da001e30c889276d48b1329ac033d5365d76c85893da0e15590bcc064f0803cad5e80355fa56974ac577db713862545aa43747f9456b822e74e56e3a825e0f6259a3551565215dcaf4c9ce568c25d9c9c7471806210969146bb64c7af9a03ec276ab4ab10e8dc227ab491473f09718c4a046e84889d7c40f0bd0878675deea6c8e071b0e819f77147631939c035a8f9a4644b3dc35c3dc328c1c0cc6cc537af884d7c6000dba9e1e3062c2d43a30eba1873409422a5f664174d2f536e8420634558f4d427d3b8b48b96845b0f1847208c374f31d419988e9434a9f626da5258c00654b6789122de71788d6b259a29eabf83a42621b1bcc1924a79d3fb59ae6475ae6714296ba1528f30a66c2597ed308a3973a501cae96e1779813195805b12b0b008090acafeb591af94ea6394a2ac955fa1b5d8dc388498c6c8b1829428a838ab73eab19c6ce4a409fc782fc399fcadb90c9a7a86f9799a3db0273551877522faef812d452b6444c4ecf3b9a9670810354b5bd57ba43aa5c4f271a03b2800f5290650a08ae83061f331489265b2f2a3ab1f4b3159103773b7806157e26ec1892e2c3d121a601777834b52939a658531646e713222943a0decb5b82baa4bac41f1cb2aeb3076a1a20a382698ce3919ed717408e0934fde42a5e1cbf04c80f37d7dfc7eb53a785194c4a1232e61c37a5a57b333a2f41fda2ea72ea11d8bd642d911f6afe90e60492ebeefdc17a9321927b129a56b51be635054cab9e84f2def59a3f8168e301ea2be388c45b8cb022ec +m = 5d5b9bc8e9d09b6d5f96d13a5b7a8d8f491c15e7ab912a17ce8141299fb6ca44 +ct = 2639d412c91bff206fb8c6cb4ae9c856190572e9882ad4643fa4c86348acbfe3b1b45926ec301be7fce1929fceb8a3dd90d3ace7f1e3c450daa03f791ed27c9feed720d3bdafc249aaeda8b998756d13548ff2f537b9b31c43aa05e5a3e3b4b2858328e1eee7a3a0565b83996aaa55595da1525b5933cb8db4f3cdf679fa49e5e83e749f5388745330b9383d0e95c4aacaf0459a1afd9c7830592d1d3bd11d9e5de17d96327c8173df7a11d7cc8d7cef3d058604935c988992378568e63bade6fc014b4a81ce501ed3354aa96c2ab9fbf910decc8736656249cc71ffcc59ed78f7e588a2f4c7f0375b6553261b57280d99340d3b31b6e1d10322468ea282b1f0f86ceb4b02dff9eba1e58d8b877029680e912e8722959b6d35aa5f67b347f0abd6c8314bde83b4ac72e3325e1997ee04b32a38a25b3cc442c00bdc554501eedf5ec656f4604efd7d07864e1c1d91265fbc55e4d1b1ed1deac7a1741c4b193cbd0d44634c76ea55b373c25e6589c61a094a887b9cbd249869d884520a22774d143082e40bdcba22dfbbb0c2c0539cb0adb8910e2dc0c2d31ac42adc5724739d1d61986b8bedce815fbc5a1eec10cb353feb1a85bd53937a7cf21d67b60b31afab250cd78aa545f4bd87cf74042207fee4783ca2f06e3e732727b7c5370ea85e8c6c0a1674371b3aec106cd62a055475ac1f7417e5c163a64ca13ecb8213596a56194c32a34447c254e1e2ddb4ee5cdb7ae91920c351e343dfef240d2f813c2d82c263c6a2d2b2a3a247293b94f00a156760043739868e92f15548ce8d27eb2c882a58b5385ef26a78e493af496dc0b2429efd0695a5123c2639251157303ae487397d77733ee8c5beec97892a7e08605a27bc1e6cd8fdd55ff57fd01b76c01034d75b8f82dae3d4c6c0e6fb774c634bcf04ed73a6ef369f3569e6d82881cd9e9da9e2234119cfcb3b77c7b7e09a0eb2cae870663bfcc5611567d1aad98919aba772f4e48883d9309b4fe1e76aa15d8ca4de26e9a42909420470972ac1c3914ed3986865f9cd7970e6ff976aeb7076244eaf065560affc6a62ff4459caabcf3f6de510bc3618cb9d694a141be1c72da5f72ae9dc92dc33885cd1a784db13b257c2a0c9bdaf5d136f08f2298939cfa03f6dfbe5c385ae6fd1ee8f42c55cdfaf3fb5a493f04cfe34a6995da90dcf71e29db5327d151ab5c6d64297134f9920ffcf63c9c317ca0dacd04e52dfce58c593fd0fd4647c88159f73611043401fea17966e1ea01ed64bedcb415199c871bca8cc509602a10f35567cf4e46a4c0df4a797f09ddef923354503d4e2159d0b08e4607a21d9c620e6ee1f40bddfb7881a8036b8e3996c3d6e8b28fd87b32118bb30794dc094f3e831aa16c510e7d3261f49a51f6e1bed4eece9d73ddbcbca81c296f78b7fbb90b9bab73e9441c0f54bfc979927264815a90cd4524e2ac949f0615cd509c20bc206dc3b79edba7b447ea20a6cc3e71aa598967a4ed683860c6e7c42decfd1c23edf5a68353fc7d2304c72902e4f8bea97495220fdf90f4de357bd4836bb709d0e090cdb13d00be952f72c146c57f3f5d3724d644736c3f1616caf0317be2042138b9d12bf3d0a98a25153a2c57141eba80030e6fc8d554b6b5a323604f816939c8f63bd2bfa5b3ffdba081b31b7b82aa97364182be0e2ed77b03eebcec2229cd633be7c8af0a41ce1e6c095c89b58f04aec5f736deba48c90287a4bd1e651d498b98d77ea3d2bef0918f061070153a39bd0a511b6bbc5f5bb79220ce4bc74192105a4366cf1902c5c2508a363df46c1983f7e415aff5e5b43292159d9cc55ba42bba1f82bc370c290e49f6475a1bc3285419ddf3f9b19b2317ab8bfd56929f000f1a8e42244bceec3881aad6707e997027dd71453a599b557e249e8b52883ef3d2fdedc738b85c719c3ebdfe92e4e45a6d3374bb34a4cfe91bf98ef4c8cca55cbff2e013872ae78fc5ed54f0bbe60f3eeaf62669469774cc3e8522210c439125892dbf5be4e59895883408411efc3843f811375c50c0fa403dc36cbf5c71946f039b1a233fec5463472d24f13c1b59713d6a2b7b6eb63d851453ec92d18698a46682a86fef9c36df2b56b0f281f945d2bedead520a96278f716cb444429cafb879987699316e47a058c58647d6043ba71fd743d25c805140293852ae6fab7f2bddf2b29242ccc0ed42ac567beae +ss = ad83606f3b990ef1a68caaa2cfaabe6a9d821adb568b2e40c5b0ec318efb77ea d = 2478f7d3de6041e7e5cd11c5e2ef483d1aa6218eb126444091535f6ae532fa73 -z = 11136e2681df2ef881b51a092a9badbe72c9772c169808521c47149578621e28 +z = f0c083ae8cff7a4bd779d4385e111ed4583fe00d30e651f171d7e8a90eec0db5 pk = c3c489ddc6bd144a0458168e5b5686e92625325a8418565eb6fa0fb7619773356e92da33dc0b479b1a8c62c63fed955f18aa4cb7bb2578e2a42f9b41c60c45728c75064a68d4869db54845e8ca8dd38a5840b39b00fa9c4801107d0326eb24c7fd4612bd91275eca20f057c27e10b92e0b27c07a4d621751ef66307ce584708a5a58661838b56e2b2670ead04a9df7cf09bb8c83842dcfe4cfab4a83e75773e57b908feb46bf44013744bfb1d3cf98d34237b29207961d5d5cb43d6a49b17601743c86640ab9cd4a1786448c89e12adf884147e2cf091b66da57883cf36363611e04005be8376fe99c28fbc50092a034fb39abdcc97c6ae0565df82d4b59a947434d32938e8ee6687babba86236fced497c57554df73cdde43b7df119e86b92c407cccf98581bc62ba89228432a4922ee5c47be661dfb543ef26306f5301169a31b054cda1449cc2faaebd04c2b5823f58997defc48f6db37300b0c1c475a866b035639a5bdc4669cde9297d5ba8c1348792c8c2fdf3cd2125cdd51c7c3fd6ab6b31b8c529b84cb42dd8e2a48fb240c6b703c787590ecaa1f74044b5e295122c0a81c3a71322a2f4c9a33ea67d341a4426d60169acbdf19827759c144a271078582a33541bfa9367b757baef6890cff95d32d68f6c90338a20298b000e9144112dc22f4bb3117a6abf83b86b2b3b9cc244330b97392dfa3202ec7746d081f0a036360abad9d7028ab5bbde47403ca1a7c68a2c1679212ba707663ca412692049d45017f4993beaad79a990bfbb416d3072af8749f7f251dd51ba3c8b80cf34cc21ec923ee2a52ec3c981602c94d668bdc108154429508296805c156f05ae7908310fc176ba241cd35275b4c89e52786665e5798ca71a5eea5a721b51de6a78060a58f1a24da91666fdec925231c8c9f53d2fd270920092f29515dce0a8a2c6ca1e68bda6ea24b29424e22523a7d41773252e044356650aa5aa467b3cdb72be7700d268572d620279ca0668ab514243599de939a85990bc7cb640019bf8271efb7b1d32487b2e912e4f0267fbf197f1e3c4de63ad7455bbb2204db4c5995641892330c5b5140dcf0a8009d135a92352e97584c1f294e9548af9ec348e7408b448b85d234f6ed614834706a0c978ad9a08cc814953b8bbf2bcbd87071b597343629b3745d212111b7230ac9275c037d5e747afe60cbb9b439b06beaf537d6cc80bc1d1ca3db49f53c4a935a0226f37a85b058f32e307cbca9b7c62ba581b351ff5cafb198494d5abc4406e30932355754ab2a38232561319b0081b266b1fc714567305e0b27d3d6cb8457baf9242c598ac29520432fba3c3968c8e81078989380085178489eacb2c10c452079b1c33634df13d82b81da91ac85e43815f262c133075cffab454f50ad6c35410b295a5357e95fbb8a1d80964a40184a19618d2c0b7e13ab5828b60d461e10b41e3274363687cfc5849fe6badfa11821a31c2f724735ca1c4cb365b16ac43cbb24ec865a6dee75b7a6815500072065aaaf7b9af31214ad30ab984c57515a94a67b7391a37044cc22c9976851b19cd975a2c3be0539b213b9032928722029ac59231c90945a9bad4d39ebe623c08da1421d90fcd990bf8f8807b18c99a3799de3068a09912bcda3f5cab1089caa3eccc831f64bef79c538127b152f97946a264f4085c50299601043860d95832d15ed6f06051d12386559acfc5934cf4110827476b32af4498819e3ca252f28b48a96195f0a7c8e01a81d00c9063acc0954337d360b514906504ccce6a54bab7a3624130630a5f93c97af1c1a981b50eab54937251b9e1388842847ec6f4296870b51866c04458152fe3844cd879f335a7a1fc0b04094d2692cbb2f84f4a02b500d38fce69145dac4d0e4339d7978ef6e651c6110154046050b52bf29751c0778bd5e0409a1a2145bc87b1554b5ee209ed03ce01c251f4f39a67e09f2629a8024896c6c59f2e9a2e26523273e337b2b80760db1025f5b21931a82673be930ab5358381241acf46879650c208ce840b48041997500c8e6a89da2b59fc5bb6830c5c6cec510b13c74724a93ff7978c3a2b61f85f0b10ba790512d6422900db29d542ad96d8b6c0d954205a0d2c74810ec4469bf2b902811e5f5778a4190961853c777514319cab0cc90cc91e7efd93a5d7db1850127df85b8f086dfc57f1f62a86d6ee7e45aff3f27bc1 -sk = 6c33b8ab2b4febac9ff7dc3e4a689f468a4f08d5c87ef8a142b4766e24073df336efa5a0d6fc17b6bb2c615658eb04aa9035560ff7979e27c65a85ca6b1b9bfaaab23d89c6a825cdf7e312f81066d516be72680e5a665830f74e371bc411ba86f00704dcd3c40c8c1295d6b52aca51ad41732032535af95bef907127eab1eeb54899a36961793ec47b91d9725643664082c4375f4843b0031b815c8dffcb7f25d4414191746d5aad14093bf2c005df655f69917baa956721b4cb8b8b51531a4a6c0ca50f8ab21dfc7cd9f81d730157a59b971e4b4a0fba8ef49754a7c2be0325c8bc623fd2a94a6cc4226677260ffcb64d75167d63334e395df5ba4505495cbc8c3a3e40ab68796d6c646775339c29683a21f921a7c6a79d39a95c876f782a27a6365908381d793b537d1a681cab5599817e050cccf7803bf9a90ccc4084743c96069183b08702979c9dca2b9d9bc26e1de849976aa1465b29eb260ffc64478c39945a9b402520172cd7861c5a0cc089a028c8200208b3e4d7b3a91cc8c209c5e1d201278b01cab34126c701bfc2913df501f6d73d9424cf1176b8616c04c10940ef9832957585ec350e9761505162aecb28884f659ea23125c382cf24f383f9b09feee8aacb981df21a6bcec26e2a67493b919fea06170c18b79e5a01e6e89516707bcc7ca353727825514aa0d52504606013e53ba916bd133814c36b98fff15f847b7383854f692450aad28231f2bb4fd839d2b532066114da65be8cc5073f9992e03836ca3a623c301999a56fb00332d1ba8a26d599d0f5a97975814be81fc9dbc536d1c165a131ca3c55d04a05d7a53fff1299d3860cafd8bc6e3b97e72a595d294303a12994510f74887fd1d7bb18da70bfc5bdd58c1f6c1cb56f5994b7f2225ce0ab29e8cf3dc851f1aa5bf2ba255f7215cc71c5da95115d6a98a2317224bc6de1b2c79353bc5c3c046a7a0933a73419f7b117b88f3a53777143546cd29014e15e37c33770a8a9a11bc2f38777e400132a812a984908b3d2b87fc465b564045e79453c0666e3682a894c269551afe25286fcdb681cb50b260b4327b46c2d0699beca103965b0a218902eb4680c1b8c3ecb2011a396b0dca97d56aad231168fd9a7cf177b85b7729de4a4bf035482aa7758aca9e1f36bc9033ea34c6dff91091e8b36fd2a2c6b1094a8338ad540c8f53cab80d73e7dec3977452915b616d0f0bf9e842663cc477cdb5dc94579d6222d1b647ef4d358c5435d3d0799242b66818a683e8c5651b0b26ce4909f8656ff35cd7ffa1c5988074ffa32df093bcda32aee2003825593b545b44190787c4c8656d85cac293f615811ccb35eb0413f44b1722e0a182f09481712ac68e3c9d31085ea77946a54baa91c8ab8e814c5b94206070c0a6037bc02a292082018933a5ac32141180a6dc760c2c9aceb3b1a1505464150a732664aa51b02a721b63759379a638bbfd07ff9a7a84e071fda70200c61894a8891dacc375c120a35e0a4f296a02845477bc0484fb5bc539c3b8bea3ed2511d480b1dbe76c640622b67a1a8e000b954057322cc005f88284d6290a5d720e32b5f6cb6b992bc182d66a73b5019572867640343f267133b060545d4b2668b05e9d1ab7b1aa5c3287d9b08a79c9a5c9b6c93c5165c0e6b8c40d527ddfc01b3b88354c73f2544b5506c1e043100b4c399d2b6b8de81cc6271495b3c00893b744584ae83e300baa0531d191bf77015f28b2d95911cbb2a1c16265db900761c5333ae8074f387a97258cc0ecc391500083ef0922e00c692c9ab09abaa30c54984e918cfb332f96172ee1a0440d3b92175b386309475c92c25199d6fe75b1da41d0b86a68131a57fa839a1884f526948bfeccfac320509868235f05ca7b57952b3c5e65204f11c81c3077cb14c0b33633f9006b5d3c67f130c3d78038d7fb4934e4cbe8e3429a0c737ee48bc96849f360c83f2707bcc23432264728df21d4ac896e51a06a3b776ca7386d6072046abbb52c655df001b3007af2586b07cd7c81f38333784c2cf671cf7f3830a6144d4107fa40480852b3bb4f22bd2a33585e88e47c2b539dc099c298ee492cbd7d7a3bc5707c3c782d8a96a14701c352c1ff276a15762ab624c6d307a5b4dcb323faa9ddcd52289d60531d6a93be9c28cfc9ec3c489ddc6bd144a0458168e5b5686e92625325a8418565eb6fa0fb7619773356e92da33dc0b479b1a8c62c63fed955f18aa4cb7bb2578e2a42f9b41c60c45728c75064a68d4869db54845e8ca8dd38a5840b39b00fa9c4801107d0326eb24c7fd4612bd91275eca20f057c27e10b92e0b27c07a4d621751ef66307ce584708a5a58661838b56e2b2670ead04a9df7cf09bb8c83842dcfe4cfab4a83e75773e57b908feb46bf44013744bfb1d3cf98d34237b29207961d5d5cb43d6a49b17601743c86640ab9cd4a1786448c89e12adf884147e2cf091b66da57883cf36363611e04005be8376fe99c28fbc50092a034fb39abdcc97c6ae0565df82d4b59a947434d32938e8ee6687babba86236fced497c57554df73cdde43b7df119e86b92c407cccf98581bc62ba89228432a4922ee5c47be661dfb543ef26306f5301169a31b054cda1449cc2faaebd04c2b5823f58997defc48f6db37300b0c1c475a866b035639a5bdc4669cde9297d5ba8c1348792c8c2fdf3cd2125cdd51c7c3fd6ab6b31b8c529b84cb42dd8e2a48fb240c6b703c787590ecaa1f74044b5e295122c0a81c3a71322a2f4c9a33ea67d341a4426d60169acbdf19827759c144a271078582a33541bfa9367b757baef6890cff95d32d68f6c90338a20298b000e9144112dc22f4bb3117a6abf83b86b2b3b9cc244330b97392dfa3202ec7746d081f0a036360abad9d7028ab5bbde47403ca1a7c68a2c1679212ba707663ca412692049d45017f4993beaad79a990bfbb416d3072af8749f7f251dd51ba3c8b80cf34cc21ec923ee2a52ec3c981602c94d668bdc108154429508296805c156f05ae7908310fc176ba241cd35275b4c89e52786665e5798ca71a5eea5a721b51de6a78060a58f1a24da91666fdec925231c8c9f53d2fd270920092f29515dce0a8a2c6ca1e68bda6ea24b29424e22523a7d41773252e044356650aa5aa467b3cdb72be7700d268572d620279ca0668ab514243599de939a85990bc7cb640019bf8271efb7b1d32487b2e912e4f0267fbf197f1e3c4de63ad7455bbb2204db4c5995641892330c5b5140dcf0a8009d135a92352e97584c1f294e9548af9ec348e7408b448b85d234f6ed614834706a0c978ad9a08cc814953b8bbf2bcbd87071b597343629b3745d212111b7230ac9275c037d5e747afe60cbb9b439b06beaf537d6cc80bc1d1ca3db49f53c4a935a0226f37a85b058f32e307cbca9b7c62ba581b351ff5cafb198494d5abc4406e30932355754ab2a38232561319b0081b266b1fc714567305e0b27d3d6cb8457baf9242c598ac29520432fba3c3968c8e81078989380085178489eacb2c10c452079b1c33634df13d82b81da91ac85e43815f262c133075cffab454f50ad6c35410b295a5357e95fbb8a1d80964a40184a19618d2c0b7e13ab5828b60d461e10b41e3274363687cfc5849fe6badfa11821a31c2f724735ca1c4cb365b16ac43cbb24ec865a6dee75b7a6815500072065aaaf7b9af31214ad30ab984c57515a94a67b7391a37044cc22c9976851b19cd975a2c3be0539b213b9032928722029ac59231c90945a9bad4d39ebe623c08da1421d90fcd990bf8f8807b18c99a3799de3068a09912bcda3f5cab1089caa3eccc831f64bef79c538127b152f97946a264f4085c50299601043860d95832d15ed6f06051d12386559acfc5934cf4110827476b32af4498819e3ca252f28b48a96195f0a7c8e01a81d00c9063acc0954337d360b514906504ccce6a54bab7a3624130630a5f93c97af1c1a981b50eab54937251b9e1388842847ec6f4296870b51866c04458152fe3844cd879f335a7a1fc0b04094d2692cbb2f84f4a02b500d38fce69145dac4d0e4339d7978ef6e651c6110154046050b52bf29751c0778bd5e0409a1a2145bc87b1554b5ee209ed03ce01c251f4f39a67e09f2629a8024896c6c59f2e9a2e26523273e337b2b80760db1025f5b21931a82673be930ab5358381241acf46879650c208ce840b48041997500c8e6a89da2b59fc5bb6830c5c6cec510b13c74724a93ff7978c3a2b61f85f0b10ba790512d6422900db29d542ad96d8b6c0d954205a0d2c74810ec4469bf2b902811e5f5778a4190961853c777514319cab0cc90cc91e7efd93a5d7db1850127df85b8f086dfc57f1f62a86d6ee7e45aff3f27bc1d3cd2febe168b1ddf776b954e96085a7d475e3c8cbde68f7c80ffc9fa46b0d4311136e2681df2ef881b51a092a9badbe72c9772c169808521c47149578621e28 -m = 90044031b7597b5e60a4f946b713e8996d0426d2cb013243d9b7d8f8ef159a0f -ct = 4ac4a137f93d74afba7252f4ed7d6cbb08a482666ab4e0519c967efc9f4963863c986b48098ee3f7bb1c7f5a54453d7df14f5b4f63cb986df8901435ee71ca10de7342a0f1c04d810f28024fcf43f24323ccca04582d2e2fad0b70d885ecef6f69bda9cdf9972a6403cba10bba6e55387d3abf13441920f8e0509693832f0d9bc52ca4e8e23e5fbad34d8c516a378c9e3b8970d7ee88af8717820068249bc1d4cc6d97da720135d5ca0025a0ed6ab8d4bea645d1c981673a89687453bfbdf5baa6b2ea81bb9f6501d141fb634fbd913d30c6555f1da431a566d0382cd91f1701c659ade9a733093668244702438c4593fc1c9edba4656a593a464f5c412b69901d4a58316e0fa48e32fe1f65c13ac6164991c778a61e66016d5173b7e751128c2edf239872c7a28ab0077471524eec7b73df25019ad00ba60586c00b234fa88ecdcd1ae1505b4e43d86f02a2015aec0e5585a82ba3967a25f92bdfd9666570b8f8bb3821d407fa611666e436c2a50b0df8350e57ef45c86a50703cdb490fe37614b4c035abcaed20dfce927f506b2ee143cb8ab9993eacdb2e8ffd71130eb1fbd1e640872bc767550b02158d27ad0297f715d3729f265b4bc00bd0bc0b0bcb6f32406dd13dcda1e5088b9c65c5aed77d90ac2c49803d824ee65a626824b3b1fe6d57dd96a5f0ccf8a6e6480825231a2a7b51775576afcbe02dd920f32c1a6a6ac5a90124c6004467dc99dd2cbdcbc451464acc85f536d9d3c2d107e94c051ccf6263b9cf5150bd333bd5e0cde174e6262c056a6e9baa61d5f0a3b15dd0b5dfc5fcaa546a19c0f3d3bdc0413470921c98c4ebbbbdbb5ec2a9c247fd0152e4ed8d44a6edd764be485c593e4e52b37787d7a319badc3e9494242d031f6bbd37188eabf27cdc0c0b42ddead8b1f1ebc5a78a6efab275bed5b4333527d80f776407ebe3078fe78ce3ab141f41f8df38a905d3ccee2e27fbd5b3d177b1833d34510663bb5ea1fdf50315f8c685c5c6e3cf6f2c6b160d384e08b7490ae0a9bdfccf37a4a78f14df3b20a83e7100f25846742b5d91d42c325543514bdfa6fa333bfbca8ab73bbba8e21783479f91615b75fef33993d08ac21aaeb72af9df45535ef0ea7adcc66aabbf87bafc47ed74ac0e59acdd624b7e03a79fe4d2c4a5045c937c9ff24af0666c0a19349dc7b0cbc620d7859adbdf3148db081dfeca67a77de2bc873d0759b858767d09a49b8f93194291837edaef1682abb80ceba7dee8607462a574df9a3775a054cfa5a230c06e5a519ebeca9b4a77625b74eaee033457102635d59badeecec90ab39bcbc4b001f93627c052027b248e894db8dc8a5d50209a9f6fa17e43c41ba20177e7e9eb2f1c6f83c62a495348a140431f4f0a2ba84001546751be03df0b15f36cd25a794e58be9fd5f8436c694783b05187eed07e42ce5dc940455b43ace6418b7e1b7cd919319449ff03b8615ea04f7ca6d84965ff7b38d3ac81e6ff8042ecfac9c029805a9e9c460498bebc6aefdaf3c15f408b47cdc570820b9c28958d455819d49904b207e2a5f4665e5429d07a6fb844f656a20ec325390a804d421c12919cceec0f416ffb5e1e143011257de7b9d4b512ac61004aecbae027827c75a5b5169ecd169140aeb4a61643564b1fa09011aff7654ac65e9c97846d8b498a5d85441e4c27f86f6a20a203716cdaad745322170417dcaafeb20ff690877758ed3c95de28b48b5ac1034470ab4a4693ca4d4d55279d53a18d59fd1f242aa508604b31292a24ae8ceecdd1f19c6a506b24154318dfeb94e3d7393a8350e7b94d2bb42dcdcf8e56cf176c2b7dcc49fc1fb2391cd59c88b1bf018ded68c89ba506bd82cc7af9487b1ba798d36373bcc870484b5aa578b9dc94ccdd443e63be9e090984f14654d4ba739b13a51fa003386e9fc7cd99f2a3a895b4ae80a45e1db589ee189d75c259e2e55571e1021974e815001135242301ecdab022d6c70f5cfc8da359572b46e4a0cceca798d043483039d840ac266da1efbc38a7838338e18efcc6bfc23665236e29240430be426023e4f9ee54feaef7164018327f17d06e2296309a77053327bb7e5e448035f1a78a379f823bba7bcdda40f6831a066118f24ba9e8301f57973017817b6f66500e914fe0779a31743db8ba3f405a567fee7df9285c9998cd99e00800a163e9dcc9384c85e4eb1a6feb902da150 -ss = 1ec0fc29652419d0f7d3df73ed40a21af5ba0ca0ec4cb6f8c736205169646225 +sk = 6c33b8ab2b4febac9ff7dc3e4a689f468a4f08d5c87ef8a142b4766e24073df336efa5a0d6fc17b6bb2c615658eb04aa9035560ff7979e27c65a85ca6b1b9bfaaab23d89c6a825cdf7e312f81066d516be72680e5a665830f74e371bc411ba86f00704dcd3c40c8c1295d6b52aca51ad41732032535af95bef907127eab1eeb54899a36961793ec47b91d9725643664082c4375f4843b0031b815c8dffcb7f25d4414191746d5aad14093bf2c005df655f69917baa956721b4cb8b8b51531a4a6c0ca50f8ab21dfc7cd9f81d730157a59b971e4b4a0fba8ef49754a7c2be0325c8bc623fd2a94a6cc4226677260ffcb64d75167d63334e395df5ba4505495cbc8c3a3e40ab68796d6c646775339c29683a21f921a7c6a79d39a95c876f782a27a6365908381d793b537d1a681cab5599817e050cccf7803bf9a90ccc4084743c96069183b08702979c9dca2b9d9bc26e1de849976aa1465b29eb260ffc64478c39945a9b402520172cd7861c5a0cc089a028c8200208b3e4d7b3a91cc8c209c5e1d201278b01cab34126c701bfc2913df501f6d73d9424cf1176b8616c04c10940ef9832957585ec350e9761505162aecb28884f659ea23125c382cf24f383f9b09feee8aacb981df21a6bcec26e2a67493b919fea06170c18b79e5a01e6e89516707bcc7ca353727825514aa0d52504606013e53ba916bd133814c36b98fff15f847b7383854f692450aad28231f2bb4fd839d2b532066114da65be8cc5073f9992e03836ca3a623c301999a56fb00332d1ba8a26d599d0f5a97975814be81fc9dbc536d1c165a131ca3c55d04a05d7a53fff1299d3860cafd8bc6e3b97e72a595d294303a12994510f74887fd1d7bb18da70bfc5bdd58c1f6c1cb56f5994b7f2225ce0ab29e8cf3dc851f1aa5bf2ba255f7215cc71c5da95115d6a98a2317224bc6de1b2c79353bc5c3c046a7a0933a73419f7b117b88f3a53777143546cd29014e15e37c33770a8a9a11bc2f38777e400132a812a984908b3d2b87fc465b564045e79453c0666e3682a894c269551afe25286fcdb681cb50b260b4327b46c2d0699beca103965b0a218902eb4680c1b8c3ecb2011a396b0dca97d56aad231168fd9a7cf177b85b7729de4a4bf035482aa7758aca9e1f36bc9033ea34c6dff91091e8b36fd2a2c6b1094a8338ad540c8f53cab80d73e7dec3977452915b616d0f0bf9e842663cc477cdb5dc94579d6222d1b647ef4d358c5435d3d0799242b66818a683e8c5651b0b26ce4909f8656ff35cd7ffa1c5988074ffa32df093bcda32aee2003825593b545b44190787c4c8656d85cac293f615811ccb35eb0413f44b1722e0a182f09481712ac68e3c9d31085ea77946a54baa91c8ab8e814c5b94206070c0a6037bc02a292082018933a5ac32141180a6dc760c2c9aceb3b1a1505464150a732664aa51b02a721b63759379a638bbfd07ff9a7a84e071fda70200c61894a8891dacc375c120a35e0a4f296a02845477bc0484fb5bc539c3b8bea3ed2511d480b1dbe76c640622b67a1a8e000b954057322cc005f88284d6290a5d720e32b5f6cb6b992bc182d66a73b5019572867640343f267133b060545d4b2668b05e9d1ab7b1aa5c3287d9b08a79c9a5c9b6c93c5165c0e6b8c40d527ddfc01b3b88354c73f2544b5506c1e043100b4c399d2b6b8de81cc6271495b3c00893b744584ae83e300baa0531d191bf77015f28b2d95911cbb2a1c16265db900761c5333ae8074f387a97258cc0ecc391500083ef0922e00c692c9ab09abaa30c54984e918cfb332f96172ee1a0440d3b92175b386309475c92c25199d6fe75b1da41d0b86a68131a57fa839a1884f526948bfeccfac320509868235f05ca7b57952b3c5e65204f11c81c3077cb14c0b33633f9006b5d3c67f130c3d78038d7fb4934e4cbe8e3429a0c737ee48bc96849f360c83f2707bcc23432264728df21d4ac896e51a06a3b776ca7386d6072046abbb52c655df001b3007af2586b07cd7c81f38333784c2cf671cf7f3830a6144d4107fa40480852b3bb4f22bd2a33585e88e47c2b539dc099c298ee492cbd7d7a3bc5707c3c782d8a96a14701c352c1ff276a15762ab624c6d307a5b4dcb323faa9ddcd52289d60531d6a93be9c28cfc9ec3c489ddc6bd144a0458168e5b5686e92625325a8418565eb6fa0fb7619773356e92da33dc0b479b1a8c62c63fed955f18aa4cb7bb2578e2a42f9b41c60c45728c75064a68d4869db54845e8ca8dd38a5840b39b00fa9c4801107d0326eb24c7fd4612bd91275eca20f057c27e10b92e0b27c07a4d621751ef66307ce584708a5a58661838b56e2b2670ead04a9df7cf09bb8c83842dcfe4cfab4a83e75773e57b908feb46bf44013744bfb1d3cf98d34237b29207961d5d5cb43d6a49b17601743c86640ab9cd4a1786448c89e12adf884147e2cf091b66da57883cf36363611e04005be8376fe99c28fbc50092a034fb39abdcc97c6ae0565df82d4b59a947434d32938e8ee6687babba86236fced497c57554df73cdde43b7df119e86b92c407cccf98581bc62ba89228432a4922ee5c47be661dfb543ef26306f5301169a31b054cda1449cc2faaebd04c2b5823f58997defc48f6db37300b0c1c475a866b035639a5bdc4669cde9297d5ba8c1348792c8c2fdf3cd2125cdd51c7c3fd6ab6b31b8c529b84cb42dd8e2a48fb240c6b703c787590ecaa1f74044b5e295122c0a81c3a71322a2f4c9a33ea67d341a4426d60169acbdf19827759c144a271078582a33541bfa9367b757baef6890cff95d32d68f6c90338a20298b000e9144112dc22f4bb3117a6abf83b86b2b3b9cc244330b97392dfa3202ec7746d081f0a036360abad9d7028ab5bbde47403ca1a7c68a2c1679212ba707663ca412692049d45017f4993beaad79a990bfbb416d3072af8749f7f251dd51ba3c8b80cf34cc21ec923ee2a52ec3c981602c94d668bdc108154429508296805c156f05ae7908310fc176ba241cd35275b4c89e52786665e5798ca71a5eea5a721b51de6a78060a58f1a24da91666fdec925231c8c9f53d2fd270920092f29515dce0a8a2c6ca1e68bda6ea24b29424e22523a7d41773252e044356650aa5aa467b3cdb72be7700d268572d620279ca0668ab514243599de939a85990bc7cb640019bf8271efb7b1d32487b2e912e4f0267fbf197f1e3c4de63ad7455bbb2204db4c5995641892330c5b5140dcf0a8009d135a92352e97584c1f294e9548af9ec348e7408b448b85d234f6ed614834706a0c978ad9a08cc814953b8bbf2bcbd87071b597343629b3745d212111b7230ac9275c037d5e747afe60cbb9b439b06beaf537d6cc80bc1d1ca3db49f53c4a935a0226f37a85b058f32e307cbca9b7c62ba581b351ff5cafb198494d5abc4406e30932355754ab2a38232561319b0081b266b1fc714567305e0b27d3d6cb8457baf9242c598ac29520432fba3c3968c8e81078989380085178489eacb2c10c452079b1c33634df13d82b81da91ac85e43815f262c133075cffab454f50ad6c35410b295a5357e95fbb8a1d80964a40184a19618d2c0b7e13ab5828b60d461e10b41e3274363687cfc5849fe6badfa11821a31c2f724735ca1c4cb365b16ac43cbb24ec865a6dee75b7a6815500072065aaaf7b9af31214ad30ab984c57515a94a67b7391a37044cc22c9976851b19cd975a2c3be0539b213b9032928722029ac59231c90945a9bad4d39ebe623c08da1421d90fcd990bf8f8807b18c99a3799de3068a09912bcda3f5cab1089caa3eccc831f64bef79c538127b152f97946a264f4085c50299601043860d95832d15ed6f06051d12386559acfc5934cf4110827476b32af4498819e3ca252f28b48a96195f0a7c8e01a81d00c9063acc0954337d360b514906504ccce6a54bab7a3624130630a5f93c97af1c1a981b50eab54937251b9e1388842847ec6f4296870b51866c04458152fe3844cd879f335a7a1fc0b04094d2692cbb2f84f4a02b500d38fce69145dac4d0e4339d7978ef6e651c6110154046050b52bf29751c0778bd5e0409a1a2145bc87b1554b5ee209ed03ce01c251f4f39a67e09f2629a8024896c6c59f2e9a2e26523273e337b2b80760db1025f5b21931a82673be930ab5358381241acf46879650c208ce840b48041997500c8e6a89da2b59fc5bb6830c5c6cec510b13c74724a93ff7978c3a2b61f85f0b10ba790512d6422900db29d542ad96d8b6c0d954205a0d2c74810ec4469bf2b902811e5f5778a4190961853c777514319cab0cc90cc91e7efd93a5d7db1850127df85b8f086dfc57f1f62a86d6ee7e45aff3f27bc1d3cd2febe168b1ddf776b954e96085a7d475e3c8cbde68f7c80ffc9fa46b0d43f0c083ae8cff7a4bd779d4385e111ed4583fe00d30e651f171d7e8a90eec0db5 +m = 075246aeb644ca0c05b7d6e50083363d4f89291711d8412f0131cb1bdd2c70f2 +ct = 74e0aceabf3f4807d30488369683ec66d980f8bf8883b87a3700c7f0eebb79fc683354a271971727d6e541f3958c48af3e38aa73bd6f595582508b9833de14b4a472df3b93ba60e64347160f78034e79c4e71c57929b515b65fc59364c57f2ee10d14f00fc65053479b5f9224d227fc7f10776ed41722e7fcebd907c2c7cce5cebc04d22cdb66092f52e13f10bf57366dd37bd4b899ce36453b7ed4ca5d037b4362547970b85bb56be5b5677beea40dccc3677801e0b4c4dad30e71ada2911e40d6ae64ff553e480a72139ed75787d96db938d6686c5caa055b35a8a05a386d735529fd70e4fef0fe76d500241af2cf5c2a83f9b7da1246cd24fbb725ce92f850ac25125692c6a2229d149f5cd3a329e103ffd1748b2295549b4ed2642456ea1b72171a5a72cf8c8a9b04b5906c2ce927a279b35658f098f525f5d92f8d5f5da70e2e5c79f57ddaf5d434d9be820c7e0ec26057ea55c855f85ac52e87dfd97cc691743142ad70026d717363a6890932d7eab758ae108c9483e459a83ab6f95b3d00c86a39135e8f6d6d7a4e8e88bd21ec0307e2dba6f0d90cd54a5a8bf3533db8c04cf5c95f35445bf8fffadb27190d25cab0ff032d5b46ad2a832b55e22aa82ddade57f38d55888ec5ab46d72006e5032f8c40becdfe08c9b41aeeef6406aa543a0241e867da5063f68d5ebecf572cb2c32620685cf36d56889c002dc0ec9801a0e11b803f7aa595a53d08399425ad04158b41ea50fc4efe09b0d6cde5739f5e389b376c242eae9dc22aa1389913b7356ad25ed2ffbb2e3feac76545347e12711efcfbc88fa4bbacd25d8e4b3680364a790ea6e93fe52b012fb997642acdd9865d1c634d2a75f42051d65fd08336bb6dc66a7587b53e12ef5e95057522123e36697891f060240ae008cd9a7f165c09aec77b38bb9bd0aff8912def4742293d46d1e829e6ed46d71b549e8552c653e121decfd27d322b66cd194c0f99c52d3df60b97e5bb155e749adfb549df1ba6383adb3755031d1d0c4962b9cc1da14874693580a3edcaa7a78ed19bc5251f0eba70e070ba6c401666879567067a628479b4b40744f10b63ae87608699efcc0ddf867e2f2e53f1c6802737341ce478c5971a22d8f11cfb19cd615030330b71ed41f815a8686a5b20efb3f41b277f437dda1939d4ed6d06292f615b74d410af7da3e56da7574663fc5fca37f837cfdfc2b5096e406766344615649af337afe20df456cd1521be7f44169a4744f633a57d4a03b9bd3d8d8dccbf3394f86aadc5688ecd63f289bfa594b4ea49523a216e328880ced53ce399dc57fc3a234970aaa2dbe1642054b8e1180d65726962ff8d252c02216e77350fd06f90cdaa6fce25793c5550fc9b71f6e7447c793395ff6201e95aeb206eb4dc6b5c68278e504e7316b9daefbc8b6c67e11044deaddee7b96c983b3b3b4d0b6365a8b4b94bddbdd47e7bfe0ec9e93a716f8891f085c92272b7b6ed3a2ad939e908628b62db303af55f58b8b667c413b2a3ccfc3e5a29cfcc95e3ad8077fd632597160ecb060e41676ac99a323bb0d12800c00c3545f5ab1b6c033a427aabec36affe77941f0b86a39798834208a36f2fbc6f1e54d431be9c591d1621bb4710dba80a90a4821d359fc5b3d83d2b5488bdb0bf7f4a1a65b7bde4d76bfc3458ecab841b1897fe5e959af70b486b3dbc91f60fc0df054d7062acb4f4073505222af4ad31482d96cca05360578ee64c2f54c0b995681d6a7ec603b846a46ff08043ffa04fb346a6f2f11b836be35184bc0b5a21a71984df5d18ec529188be655d286165dfcc326bd99ed02da7826a8bdb474878f4d8c75664c870efea712314992b47f2c72c687a039a59d0b91af8a6f1610527ab3c561cca5b8afac946201ebeb21fcdc5b0c950e56c6c8e2ae5b9bab83222a5f4784afec71b65a3be40e0235fad136361b246f68a897efc2469f9ac97ccd19c376836c6247acb3971da62b9e9eaad1cb726812cf9fc57d3ce20f7420580cd625ffebc289edb250f59a3bf8f79270e8b2f24283b3a6f7365caffd3e55de5cf76740234d69717ce08b82d248093581fea1ad931685ee54f9ea69ec88524d6d7a3079f844bfc912efe63159dfa525654192c91ccb1869620ba09cf48c01eecd3d97c8b6d6077b6d5fa2376f82f5d3a8b5cdfed0ec395ac13d8491d1e59a756069b5fe7c2f0a276f5939f0 +ss = c44b00c1c88d088ca76d16d2b3f2a5c398347a36145cf974472c16712c5736cd d = 9d405d3ebdaf35fa8722de431b669722acaaea2fd10b814310b17f78b66147d1 -z = 6ceb14f7662be0c42779459f69a145c0e2ce9f0bd9a0cd1bf32ed5694cc9ae32 +z = b46f84f01fefc519e118affc4a7a1560f1f8add6de72615229b997b2cad6393c pk = d3bcbe7ec12d1af108849a2cea79be2da250f029382498919d670022f38be928a341b9783e164567aa87a9055fca176ab4870a2c4a68473c737b9a778467855c1c4186438a65333795f5a5b25641f86b9f5d4c682b1a878ea7463d51504bd6b62a44b0c0251afac229ea8359da303066531ee34451fcf796544125f933cd52f9b2a5e72e1a42a45ac9a80730376076cd57a289d5d97e4e1c5826757943471fa4ac0b7dcb737bf95f92f2b94f844b2b26297b2a44dd9013767b8b2cc7c1c8c83583e78f12e60050ea0e45e3453ea86166b70c21b0310059c58e684ade01b18f93440b0292dcacb6c9e3488e235f219c91914302d1495134e9c2b2a3acb6f4357c740aebb4534448bc482a07ace3b2211bc6cbfaa95ba4171f955ff915a1d5b13cf07184bbb230ce99c8a13264d3b98c0ab0986d62ca8e22286ec90029623d0f033bd4c13a26f08120f76aba45a904d01266520206e6a76697254b7120296820d0a0a29f662fb623c34eb282852832c044565860200222524b42cd2c8676cce763e28555b8e86a2c710b47d40a788513d140a41a65bea5cb054b73ca98c3061a39c6276a96269cca4597897c37b25f672c0f3766be5065a05b19b4cccb1a6771421b5cfdb7094c89c48c20cafe814d98d41bb5733aca166e044810704b1f9d632ed279275c802640d2bf754a99367b4a5fc959c8f309aa028ce21057fdd943de716e3f66b76660011ae354ec9475b4452932859d2dac38a853cb1edb09e04a367e02a92e89794a0c4ad866c65f3b4657492d0b575215e7926bf455686393ae7c507b9c8b9062c89b2310725baddeeb8a3079a7301b5be5f463f826ccbc8719e017550734812f1b18da724b99641e5406244a28aad89920731b387b934d02667e86b2051d35ad6820909924551430177f934650b61eae840d952b9f1f8b7e22ac6d6b005013439a01698644b2caf2b205044846d84075b715835a18c5df409f686a78dc675aee4944ecc806339b5cc8d8bc64d24bebf75a74207e60a37787c59c5e6875f61238fb43745e58bf3d2168c844b7c24c4ea2822f3abca76163a40a219d2798a2e1a8c606520c5a622653348a63980e61f52654b385575697d56c86abc5536ad67264a7c3813c1a1eb21442b1c0ff129f93810685a359fb13167e59b2df26c6068b641738b6ab82357c95c0cac43a21f867e005c96e1a4dd240975264606cf8ce8ff7bf0984770a282c969253189cb70cd3440a92c56319c9387733af98cfc8892f0e6736c6b44a0b952934071737a24a3400257e3c1690ec9f76726a327521afea4259d87eb6978d4c77afafb1b9be81cc4ce1197592bc26908c469863aacb89b13b231fcc9669b8accb2a4a61f641ca173dbd2a1494519b77acb0dedc284f068e5ff73bfa9109c1fcbf34b15f3c78c19a6b6eb693b64155b5e4e77d67547d35b56a0ecb7eef98798af94f4319997fe1bdceb9513c2ab34691292bb961ddd202398b99c8f1aeeed7302262359be5b1e53689103246a473549b8274a1753721c621a0f468a6a9080a007287731bb8d99360689fe616c707a9c0c04c919b05a5add406a7d1aaf9d675922439e4224300b18e5d2966a6104cbc5a43786584ec877198dc8317753c6f0109a11c3808a50693a55ca75b5f75e74d475690af046e535aa79c7b4a1606a6d4f05e20c2cf9102593ce45770da720531cbc50552f1b097a5a96bf291895ad9c0fcbc6a462068eb2ca7f65217f0678d0e25c447161cbd9029ec24845c5c1b2b7832ae41172efb8fabe6543ae3bbde44a0b9f926b1538cdb6685eb244caba69798298b8fc38fdeab5043a567c6c8117091523209ca8dd342e3bbc0e8cca579c603daea4e11b06bcdd5be898b825452a28d15261bf9abe00a7eca0474ac4c92b0938aa2a00854f3a665ea56169b3c572187ec88945d6c9637b4a8f91249b8614e9647760eb68d2c08c21f390e36370cf30ca0bf0b5c48f7287c822026e30850754b51682a0ec016f4fa0773b642d4c5481502bc9f023ddffb199fd241f3c977a9522de7f61eef4b0ad3166515697ec9ec5ea87796dc6a24da4939e8b5af7fb191f861abd3850e4ecb1f8b819ddfe605ed6a113ae4075ba67414b4690f59b2a6121928eb21c4d5cbbb4551d2c00fde22b537522663745b46bb71890031ffecaf8fc027d2dfa2a4ad271dd702f055836f40ca137e5d0ef9 -sk = 2220bfa6a447db5013ed5811b45742b6e95c723a35851518e04b1b619c5607944c341a1aca4c0eb297bfe3990d514aba3de30867d646cd76a1ec1176f1e84ee60704b0e04366e27ed0f321bbf42322f5289f5167435b880851b48de717e40a1b56387d4705815701bc2b80c55f33b3c20244e0e27ffcf43c457a3674000a4404b4157cbefa05c54f50021684059939a3aa088dbba13be56047df450afe33c8742abb0cf48e0b1c24e8719eece41ec4a3254836b4e45b4eebbb43d398a813bccc0c42cc4e437050740c892b657765b252943896325e3f4c45887452847aa315ba8c811b39254a5c3ee64f65823fcf2a92e3198d2981289e021530aa4cbd210fabf51094392e25e755d778a02ca145fff47165711ab9397a0f9b3def26bd0e5143c23a815c8582976521d63bc74d8b42b95280cdc77de3528628862f44d475f49ac204c87d2647414a4a136a094b7fb923bfd3496b187592e81b8168bdffd9522f60bc37052fc579cb3f7a398dd677ba14a3fca1248057a59a58531b7a1f1773735a27612520b03121390cf624d46927cec7c7d00ab13dc2ba6445236bc68642ec9659d7bba40aa692c40794bc4bf5f13fbb617e711a54bd825329ac6a9af2a88a54a600c0cd6754b4a3accadb397cabf2af41463c00512d6d206d011baf6d833e4abb8dfbf736df8036278a8125389c3b99940881760ac150967464483242dd52358a075271fb82d949af57f345e5dc46845a94a37893613a76b6e7b4d0db0edda213302677fb73c493a349704333278b201b6baa8315731a348ded27283dbaa05e057c26c35d68a5252f1715337a1543895dfa4c395f9909b7b1283b450b71730292c32dcffca05221b14849aa5f94888e2a3fd33cab3b380f8093742247ac27012e8d7a6b8702983dfba43601677679568a8051925133fbf6550dc318e387c3e3176ec9c3cad6a739c6ba5b72fa587f000ca8f06eea003cd05970652b0f3f92b8bd4aa1570b02cab21d2bd0a9937a499943ce285b32706589c11cb662461444629f5c755b4a09805dd5659127bdcf5466270a5cb6328fdd0583e701aa98d34095506284b63a6f7b39d0b31fedc43e20e4bcb39b99d82515e041627fc5402290be758a062822c26b750463141d9de8793b385f556a3a3f74bd8ab61f69304ac4082e08f2cd05e5beade17d2c87b9535a084a6b0547389d08f548030b1dda0137d170039e082c5583bc83695aff0898f7e19e54204582989556b924df35a00c518ab95cbb466b5ba0d8aef007a8294294870902e74152832365fdb79508b69e45484139b4342df8c391864b80e807b9dc8ddcd4463fd1a986986b81a62d79aa9565308ac1471f09d09a23f24e4ee5522b00265770674c61348fdb3bfdd539994b20ff22b210162961b56dba538252610fa607372db1317497b85307b61d890a62b90e4dd37246763dc6093af5f4cd0dc20081ba4ce2d6bbdc969580607022c590a1687004b0730af71c60590d1a6b2a5e51c742d2cbbaa826600055f4811287a062da1696a22808507aac327a9194c5c6d49c823557100c158e60b845af953539a855d217c5a77599b1783f7488aa85f222df73b837e4b8d1006a8fd6b5b06083a3884f67e9cb7e962cd3b8a8cf22951f74aecbea2d599c533de42a0ccb5e94439144551f5d839215d9021fecbd03d8b856d66d37331997a77f46f067a83727bb0ca6b3746f7ca6a233ea575d908775c5a7ea497917b17b51ec8d58350aacc1cccad921ca06061e82067fc9215c5a3e75b861491771196836ba56c99b25cc5ac10008730518311fcb7a2ed14972b72533c7c890d83a5e34f75e0065021830386b1456da6a6cca5a474c3790850a71c0e84bc7125fe21a9fab396b37287a106baee569a7adf0845b49b096f689ba245707647e7fd70efa020a342c45335ca9e0809982ecbc38f55d4f9a9c36578198929eb8290e55848d04ab7c952513ead8484d44cf46f6959717b0c009938917ad916909dbc764746c3cc612b5b72b4f16049140b5c261e29b326716e401470e7b6598ac37c7c57dd3d47d548377a4939a0a7886eb7780c667b4339873be5ac23765a05deca7b264978b14952920ac0880a274d3a5ffc825b9a891df5560938b9fba313e05e782691bb9c0488a7838a4b4cc6cd3bcbe7ec12d1af108849a2cea79be2da250f029382498919d670022f38be928a341b9783e164567aa87a9055fca176ab4870a2c4a68473c737b9a778467855c1c4186438a65333795f5a5b25641f86b9f5d4c682b1a878ea7463d51504bd6b62a44b0c0251afac229ea8359da303066531ee34451fcf796544125f933cd52f9b2a5e72e1a42a45ac9a80730376076cd57a289d5d97e4e1c5826757943471fa4ac0b7dcb737bf95f92f2b94f844b2b26297b2a44dd9013767b8b2cc7c1c8c83583e78f12e60050ea0e45e3453ea86166b70c21b0310059c58e684ade01b18f93440b0292dcacb6c9e3488e235f219c91914302d1495134e9c2b2a3acb6f4357c740aebb4534448bc482a07ace3b2211bc6cbfaa95ba4171f955ff915a1d5b13cf07184bbb230ce99c8a13264d3b98c0ab0986d62ca8e22286ec90029623d0f033bd4c13a26f08120f76aba45a904d01266520206e6a76697254b7120296820d0a0a29f662fb623c34eb282852832c044565860200222524b42cd2c8676cce763e28555b8e86a2c710b47d40a788513d140a41a65bea5cb054b73ca98c3061a39c6276a96269cca4597897c37b25f672c0f3766be5065a05b19b4cccb1a6771421b5cfdb7094c89c48c20cafe814d98d41bb5733aca166e044810704b1f9d632ed279275c802640d2bf754a99367b4a5fc959c8f309aa028ce21057fdd943de716e3f66b76660011ae354ec9475b4452932859d2dac38a853cb1edb09e04a367e02a92e89794a0c4ad866c65f3b4657492d0b575215e7926bf455686393ae7c507b9c8b9062c89b2310725baddeeb8a3079a7301b5be5f463f826ccbc8719e017550734812f1b18da724b99641e5406244a28aad89920731b387b934d02667e86b2051d35ad6820909924551430177f934650b61eae840d952b9f1f8b7e22ac6d6b005013439a01698644b2caf2b205044846d84075b715835a18c5df409f686a78dc675aee4944ecc806339b5cc8d8bc64d24bebf75a74207e60a37787c59c5e6875f61238fb43745e58bf3d2168c844b7c24c4ea2822f3abca76163a40a219d2798a2e1a8c606520c5a622653348a63980e61f52654b385575697d56c86abc5536ad67264a7c3813c1a1eb21442b1c0ff129f93810685a359fb13167e59b2df26c6068b641738b6ab82357c95c0cac43a21f867e005c96e1a4dd240975264606cf8ce8ff7bf0984770a282c969253189cb70cd3440a92c56319c9387733af98cfc8892f0e6736c6b44a0b952934071737a24a3400257e3c1690ec9f76726a327521afea4259d87eb6978d4c77afafb1b9be81cc4ce1197592bc26908c469863aacb89b13b231fcc9669b8accb2a4a61f641ca173dbd2a1494519b77acb0dedc284f068e5ff73bfa9109c1fcbf34b15f3c78c19a6b6eb693b64155b5e4e77d67547d35b56a0ecb7eef98798af94f4319997fe1bdceb9513c2ab34691292bb961ddd202398b99c8f1aeeed7302262359be5b1e53689103246a473549b8274a1753721c621a0f468a6a9080a007287731bb8d99360689fe616c707a9c0c04c919b05a5add406a7d1aaf9d675922439e4224300b18e5d2966a6104cbc5a43786584ec877198dc8317753c6f0109a11c3808a50693a55ca75b5f75e74d475690af046e535aa79c7b4a1606a6d4f05e20c2cf9102593ce45770da720531cbc50552f1b097a5a96bf291895ad9c0fcbc6a462068eb2ca7f65217f0678d0e25c447161cbd9029ec24845c5c1b2b7832ae41172efb8fabe6543ae3bbde44a0b9f926b1538cdb6685eb244caba69798298b8fc38fdeab5043a567c6c8117091523209ca8dd342e3bbc0e8cca579c603daea4e11b06bcdd5be898b825452a28d15261bf9abe00a7eca0474ac4c92b0938aa2a00854f3a665ea56169b3c572187ec88945d6c9637b4a8f91249b8614e9647760eb68d2c08c21f390e36370cf30ca0bf0b5c48f7287c822026e30850754b51682a0ec016f4fa0773b642d4c5481502bc9f023ddffb199fd241f3c977a9522de7f61eef4b0ad3166515697ec9ec5ea87796dc6a24da4939e8b5af7fb191f861abd3850e4ecb1f8b819ddfe605ed6a113ae4075ba67414b4690f59b2a6121928eb21c4d5cbbb4551d2c00fde22b537522663745b46bb71890031ffecaf8fc027d2dfa2a4ad271dd702f055836f40ca137e5d0ef99499c1b006a0ec2c299c41c3f728c3bb7848957fb2bbbcd05b65233b89a2b1b16ceb14f7662be0c42779459f69a145c0e2ce9f0bd9a0cd1bf32ed5694cc9ae32 -m = a7a31e140891ea37d2b6424b59b1f84f89220f32dcb73e037eb912b389d34a48 -ct = 54b984209a76adeb29c6eb1e208343bbf13bc8caeee027086ce759704c0b57c096101e222c02092cf3b99bebbcade8b1524f1f3d3f1864985489ff33363b0bab02378637f5493e41683e673c49ff728acbebc69d797545f4e4f1bac3287cbf24e7b540a0ec80b1fbe346e31e74bdd515e566a8dc7628720360f8bf7fe4732aa4188f6274e440251620d128995a5da8253a8bee91b429a45fa73cbaf9c3117151950d615564e5f3e1225f336f55ac1bb40e5d2a7da6dcb4f74b50eb0be5f76936ca7b31f9671ffe74bc682ac9e6cc2b594ae27b646b66329d0a34495c1b01f7dc44c5e2f7d0f222e4fcda294aa294436c88cce27c62912176e4f5f8b117d350693156ccffac2d6dec4eff09ec2f71e8c4b612a0ca520d77a8ce8e66e1e8b9f976e3d5d13e4fcf26a96eb4c2a31158ecd962fbd473c6965847d470ef0afecabe0a6a2062b1164934764e2d1aeadb180179ee042b039a629aa3154548d56365173d2c0c6d6d0bb265637ee93391095589e1c6ee03c91c7730974156f1e261b909b489364fc0dace55d317641d4d506dc500bf62111d00a6ac5c34dd48fa225df980b75e154dc8507d980af1ed854e8807bc2b7b4f6cbef89621f83af5f3de6b8cc183f167db00734aeabf7e3c7dedf14c3f73075af9fcb8f399fb2ddc890a1fea5d208c352f4aa204e9051f45d8390937c1957637a73fcdf727c5b0812d2d18a2f65f3935ef6209371f7202b82cf6e72e0269421287c97b53afc128b10b8f083cd8549a6aae2fc84cba349a931182bd9f68ff181e543746ac921d4bd75973446f1a4ac13da86398ca9b53b95c631b2ed91a0f779ba08a25c1db185d074a6d24e9913452aa0c758475f6ff361208e35c29f85eff470468cbb228d6c5ffb7f4720be68d7208ca30b287fc1d69b3322ec5f2fabe32078da7712d8c2712d4e32fbf2b3dbb634f64627e2b664a8a89ec3c03856bf18a0ad370821af2e8e69b007e20c6ac95924fa3b7da30619d60697ed70c437c7cc3a7053eea1367f7b42b97ca96ba939e67dbac0dfd2a6f9ac0dd723e89f2b857cf8675ccc67514794c995b9e72ef42962b646d634f45dfee395b124c690d88ca3babc27b2472dbe51353e449788529de028b37bba67cb225281603096fc76f90a2c84d0bde8debb3c271bf27b84ca76ddc568977e202725c535265bc37034e974153b567bdb7635c4465feb4c37f4ee44946fff58f76b3e4d90b3d9c5a1baa154cf6fd1b56896b6f91666a08549f91821b8a3cb6a7561eea4d6904c9edcaad1399e5382033ae88d26054c90dc490788481dd7de5f3f5906bb9f66b786008c9427964afdab6a49e312d4e520569f5e2dea168dcac4ad1ddaa7f7fb619d63b6bbfa46a9ab2b5a27e7e9e9ab6553b99b04b40f959aa3d15495b22c30cf155ff5f90739c4bbeaad8b3be8f16fe6ae6823f8a81f5c1ccae1290bf219ac8f41a8da733b90ef9531c56d28451d6144b1dbd17409641a3e35aab454e536fa9e51f92720ba21626f399152d8b6f2636bb72d9e0f9866b7231eba354f34c32a9384dc4dc4bc5429ce753f7a1d55dbfca22d65b9fc13ef6ede2a6566313c7fa6193788ba7c7b1b8ebe04a8732225fc3497840ff04d8b934abd7defddf725ae2fae967c180ab4eca1c8580978c4114d6672c0a9436a1d1a6561894de34a493da041af03ecc0fcead18620c0b3470a904e0b90e0c8df29aae503752c4642c869ac7c5828a1ae551d2fe6f16ebfcf65f8128aaaee85eb6d0982f8fca51e9ef2f836bab883861adf9a373400e19c1acb9fa19edda5465c718628a445ea952e03192cb5e26868fcc35c4c87549af7369f41b666d5a8cdb1f236873b194ed954d1926eb0d9b8a36b564fdfc760dd31827bbff8ac5f2f68f685037b5e52e12a33a154840fc5d3ec4897282063aa40f97f427acc4e59d3cbe95082e6b43057cb3753b7cef6896669850da34a332797511e1dfa36227c4cefb3f3220a6ee5047249f55185087cae0dae2323f0292af73b854f9f9e0bec3855ed07e9e7557590290ff4e1d8274f4af89c71c17535dd8ef4f74c1f3f7a8069402add9582eecbe42868a40e09de4e24a7e72cbea1d3a20f08216eb1f944e09cfe56942325018da0b1a6210c5a8773587e984861e50be50a5f50f38f733c81bdef3b70786aabe4e4930797691269c238579d05fadcb0dbc8222b5d7a7f987c143a7 -ss = f18bc196547734f8b08eb44867fa7f6e5d7887286a7f7e30b5b95d74b60593b9 +sk = 2220bfa6a447db5013ed5811b45742b6e95c723a35851518e04b1b619c5607944c341a1aca4c0eb297bfe3990d514aba3de30867d646cd76a1ec1176f1e84ee60704b0e04366e27ed0f321bbf42322f5289f5167435b880851b48de717e40a1b56387d4705815701bc2b80c55f33b3c20244e0e27ffcf43c457a3674000a4404b4157cbefa05c54f50021684059939a3aa088dbba13be56047df450afe33c8742abb0cf48e0b1c24e8719eece41ec4a3254836b4e45b4eebbb43d398a813bccc0c42cc4e437050740c892b657765b252943896325e3f4c45887452847aa315ba8c811b39254a5c3ee64f65823fcf2a92e3198d2981289e021530aa4cbd210fabf51094392e25e755d778a02ca145fff47165711ab9397a0f9b3def26bd0e5143c23a815c8582976521d63bc74d8b42b95280cdc77de3528628862f44d475f49ac204c87d2647414a4a136a094b7fb923bfd3496b187592e81b8168bdffd9522f60bc37052fc579cb3f7a398dd677ba14a3fca1248057a59a58531b7a1f1773735a27612520b03121390cf624d46927cec7c7d00ab13dc2ba6445236bc68642ec9659d7bba40aa692c40794bc4bf5f13fbb617e711a54bd825329ac6a9af2a88a54a600c0cd6754b4a3accadb397cabf2af41463c00512d6d206d011baf6d833e4abb8dfbf736df8036278a8125389c3b99940881760ac150967464483242dd52358a075271fb82d949af57f345e5dc46845a94a37893613a76b6e7b4d0db0edda213302677fb73c493a349704333278b201b6baa8315731a348ded27283dbaa05e057c26c35d68a5252f1715337a1543895dfa4c395f9909b7b1283b450b71730292c32dcffca05221b14849aa5f94888e2a3fd33cab3b380f8093742247ac27012e8d7a6b8702983dfba43601677679568a8051925133fbf6550dc318e387c3e3176ec9c3cad6a739c6ba5b72fa587f000ca8f06eea003cd05970652b0f3f92b8bd4aa1570b02cab21d2bd0a9937a499943ce285b32706589c11cb662461444629f5c755b4a09805dd5659127bdcf5466270a5cb6328fdd0583e701aa98d34095506284b63a6f7b39d0b31fedc43e20e4bcb39b99d82515e041627fc5402290be758a062822c26b750463141d9de8793b385f556a3a3f74bd8ab61f69304ac4082e08f2cd05e5beade17d2c87b9535a084a6b0547389d08f548030b1dda0137d170039e082c5583bc83695aff0898f7e19e54204582989556b924df35a00c518ab95cbb466b5ba0d8aef007a8294294870902e74152832365fdb79508b69e45484139b4342df8c391864b80e807b9dc8ddcd4463fd1a986986b81a62d79aa9565308ac1471f09d09a23f24e4ee5522b00265770674c61348fdb3bfdd539994b20ff22b210162961b56dba538252610fa607372db1317497b85307b61d890a62b90e4dd37246763dc6093af5f4cd0dc20081ba4ce2d6bbdc969580607022c590a1687004b0730af71c60590d1a6b2a5e51c742d2cbbaa826600055f4811287a062da1696a22808507aac327a9194c5c6d49c823557100c158e60b845af953539a855d217c5a77599b1783f7488aa85f222df73b837e4b8d1006a8fd6b5b06083a3884f67e9cb7e962cd3b8a8cf22951f74aecbea2d599c533de42a0ccb5e94439144551f5d839215d9021fecbd03d8b856d66d37331997a77f46f067a83727bb0ca6b3746f7ca6a233ea575d908775c5a7ea497917b17b51ec8d58350aacc1cccad921ca06061e82067fc9215c5a3e75b861491771196836ba56c99b25cc5ac10008730518311fcb7a2ed14972b72533c7c890d83a5e34f75e0065021830386b1456da6a6cca5a474c3790850a71c0e84bc7125fe21a9fab396b37287a106baee569a7adf0845b49b096f689ba245707647e7fd70efa020a342c45335ca9e0809982ecbc38f55d4f9a9c36578198929eb8290e55848d04ab7c952513ead8484d44cf46f6959717b0c009938917ad916909dbc764746c3cc612b5b72b4f16049140b5c261e29b326716e401470e7b6598ac37c7c57dd3d47d548377a4939a0a7886eb7780c667b4339873be5ac23765a05deca7b264978b14952920ac0880a274d3a5ffc825b9a891df5560938b9fba313e05e782691bb9c0488a7838a4b4cc6cd3bcbe7ec12d1af108849a2cea79be2da250f029382498919d670022f38be928a341b9783e164567aa87a9055fca176ab4870a2c4a68473c737b9a778467855c1c4186438a65333795f5a5b25641f86b9f5d4c682b1a878ea7463d51504bd6b62a44b0c0251afac229ea8359da303066531ee34451fcf796544125f933cd52f9b2a5e72e1a42a45ac9a80730376076cd57a289d5d97e4e1c5826757943471fa4ac0b7dcb737bf95f92f2b94f844b2b26297b2a44dd9013767b8b2cc7c1c8c83583e78f12e60050ea0e45e3453ea86166b70c21b0310059c58e684ade01b18f93440b0292dcacb6c9e3488e235f219c91914302d1495134e9c2b2a3acb6f4357c740aebb4534448bc482a07ace3b2211bc6cbfaa95ba4171f955ff915a1d5b13cf07184bbb230ce99c8a13264d3b98c0ab0986d62ca8e22286ec90029623d0f033bd4c13a26f08120f76aba45a904d01266520206e6a76697254b7120296820d0a0a29f662fb623c34eb282852832c044565860200222524b42cd2c8676cce763e28555b8e86a2c710b47d40a788513d140a41a65bea5cb054b73ca98c3061a39c6276a96269cca4597897c37b25f672c0f3766be5065a05b19b4cccb1a6771421b5cfdb7094c89c48c20cafe814d98d41bb5733aca166e044810704b1f9d632ed279275c802640d2bf754a99367b4a5fc959c8f309aa028ce21057fdd943de716e3f66b76660011ae354ec9475b4452932859d2dac38a853cb1edb09e04a367e02a92e89794a0c4ad866c65f3b4657492d0b575215e7926bf455686393ae7c507b9c8b9062c89b2310725baddeeb8a3079a7301b5be5f463f826ccbc8719e017550734812f1b18da724b99641e5406244a28aad89920731b387b934d02667e86b2051d35ad6820909924551430177f934650b61eae840d952b9f1f8b7e22ac6d6b005013439a01698644b2caf2b205044846d84075b715835a18c5df409f686a78dc675aee4944ecc806339b5cc8d8bc64d24bebf75a74207e60a37787c59c5e6875f61238fb43745e58bf3d2168c844b7c24c4ea2822f3abca76163a40a219d2798a2e1a8c606520c5a622653348a63980e61f52654b385575697d56c86abc5536ad67264a7c3813c1a1eb21442b1c0ff129f93810685a359fb13167e59b2df26c6068b641738b6ab82357c95c0cac43a21f867e005c96e1a4dd240975264606cf8ce8ff7bf0984770a282c969253189cb70cd3440a92c56319c9387733af98cfc8892f0e6736c6b44a0b952934071737a24a3400257e3c1690ec9f76726a327521afea4259d87eb6978d4c77afafb1b9be81cc4ce1197592bc26908c469863aacb89b13b231fcc9669b8accb2a4a61f641ca173dbd2a1494519b77acb0dedc284f068e5ff73bfa9109c1fcbf34b15f3c78c19a6b6eb693b64155b5e4e77d67547d35b56a0ecb7eef98798af94f4319997fe1bdceb9513c2ab34691292bb961ddd202398b99c8f1aeeed7302262359be5b1e53689103246a473549b8274a1753721c621a0f468a6a9080a007287731bb8d99360689fe616c707a9c0c04c919b05a5add406a7d1aaf9d675922439e4224300b18e5d2966a6104cbc5a43786584ec877198dc8317753c6f0109a11c3808a50693a55ca75b5f75e74d475690af046e535aa79c7b4a1606a6d4f05e20c2cf9102593ce45770da720531cbc50552f1b097a5a96bf291895ad9c0fcbc6a462068eb2ca7f65217f0678d0e25c447161cbd9029ec24845c5c1b2b7832ae41172efb8fabe6543ae3bbde44a0b9f926b1538cdb6685eb244caba69798298b8fc38fdeab5043a567c6c8117091523209ca8dd342e3bbc0e8cca579c603daea4e11b06bcdd5be898b825452a28d15261bf9abe00a7eca0474ac4c92b0938aa2a00854f3a665ea56169b3c572187ec88945d6c9637b4a8f91249b8614e9647760eb68d2c08c21f390e36370cf30ca0bf0b5c48f7287c822026e30850754b51682a0ec016f4fa0773b642d4c5481502bc9f023ddffb199fd241f3c977a9522de7f61eef4b0ad3166515697ec9ec5ea87796dc6a24da4939e8b5af7fb191f861abd3850e4ecb1f8b819ddfe605ed6a113ae4075ba67414b4690f59b2a6121928eb21c4d5cbbb4551d2c00fde22b537522663745b46bb71890031ffecaf8fc027d2dfa2a4ad271dd702f055836f40ca137e5d0ef99499c1b006a0ec2c299c41c3f728c3bb7848957fb2bbbcd05b65233b89a2b1b1b46f84f01fefc519e118affc4a7a1560f1f8add6de72615229b997b2cad6393c +m = de5840c7a3b6585c81cef65c8256be98fde71f70f5f5f17ef8008e64849cb02b +ct = 6c012862cea22473c569f40c25824dcbcf839287af1a8a1995012e54531f6831ad96ac60cc3571275cf5b4a5a338ab44c2f1adace78335add692ee353362535e85ce2a68a1a35860bbd324c7faff3a9d703c1ce872966497931d50e37cd4b99fcbc640e7458d863a48eee89730365b962d6f15d9c8f3cb57fea3325f44138b429436cad5b5313500278db9f213178c6a4a6c5c8c690af90829fcb03c0395365b4132df85d4d6355de746495932dc5af1fe3775579d2b24424586960ba6331f1d9b68016d097824222d68f8197243c7d54be7b653c0907004afbc72f3bc21ce80b45f90700c58d17cf794b309af9e24849acc1e51a2fd915b81743e5c163f0ca6f99f5914e25bc8fec2451587e4527085fb88ba8665e39f6b31bd84442e04cbc2a7fe6fb263efe29e764897a2e09f1229f91d2d7154f376f8cf1c7bd283aeccc2dbccdf790f8491bdb0085cb91747d22d31e5f04124b70cc44125c96ac6245282996be45939cf76bb5bd0c93576462c4d98039b8bed0abe0dd3aaf1fb1b7eba57397c670100bbb95a04a541773ba04ea65a4741213af2c6fbaee19a0ac77614db00d06bd08040dd92715a4dea3d4ce4c7e730466ce9710172d6df80e26f5ba428ead0027176bf51c908a7d0a9905dc70041c6bbd4f2636905951fc875847cfae1ff328eda4fd2527b64984987c24b8624fe868e04bad7479c26da50b5e0108d8f4e9d550d85255a2efc33970e2201f03800df7cec4ee5c4ebdc2ac9e1d7bb3696b7d43fa43301ac88d5b52609c14f98bf4e0bbcb72cd0e7e33de80667d5dcae4db5c567a2478ab0b8d19c7a8e4581e3b95fa5a7eee2ebbc3f2384bec40dc9b8d083ceeded4eb48ad214aee698519e8a8a5aff862b6faf1544d84177d19949829ff9b02510a63323b91ebdc4dcc274e0dfc0b361ba82d3fc74420f43af60e5dee0bd1e5f0e5683c4f758249cbaf8eb831e867735b88172e33589f1c4703acdca0938b57a0857d7a1987a0fc359f11d1a516b175de9b4422b78a1f2425c2dc71a646bb0a8fb7dc06ceea854c9dfb4e5adc9ad46fed85e5317ae9f143a704c171960bee106a7b77a1330e6565dde9e0f087422da85c33807a29eb2174c1082c6e633fb5480878406cea19d71fb49eff41336f6a41480e26f3b18a66a0faedf0b242125098c3eda06209568ff9f2578dede47e0ad16568bb5f18b7260ba73df1dc286c09382c7e240634c13c16ca18a48414f5a9816e778da786f08df7db718019164a085c289fc463d506de20666a76b0bc8dbe38984774dbf1b1224f097f3c42d05705726e3454f59cdb4404abc3e387911119515e9760abe072c1154152e852927eff78bfcb81228c907514f951c6471234848d0e7c86d2633f1f95c71b91c535408ee055149e9b7b48e6969d5e3f3ecc0f6aee90c8a4c8755b95a3ea1010a5a269db960fb9ba9cb6f6dad3554dfd18c70d7ba8c80a0f9410a418588a2d14c5409d37dbe148399826e4c1cbc035defb7dddb1406a95f00d5e6f5bde93c3efca48feeab1464dfa4532f5f976eb70d3641974e850084be9dd593da45aff90e9f4009404e78317c70b5141aa67109cc41490545a951411f14ad4797a48fe344334ea3f92ca163829987a64fac97183b44a14c9af927fbb0f53b7dc5cbe42f0c760d5572cb93fdb415e3283a01a7d4776b51afe99e310b5fba7fcc5201ba649e78f8c26807546e3a9bf47ca9a0852379d3212ccb47caa6efc3b9ef77984bf2f713c2a01cd1cabb4b5c1c7e01ea60bba182f059361b247b56d33a70c9efcef72ff3ac836f601255b6ef63e1df388e421e5e02b24209eea71518b84c62ecebebf501016714780858858ed6f6f0de4da4a55ddc7b68feca4d6c0162f606561362da92d661806f12b9bfc4925de41cff733ba599462378b924d40bc76b594c63c5b5ae2b40f9020374ad929cc5f60e847a4f50d856d57a7e09856625417a9cb89a50e2ca815871b95702af12ef6ff57f0eaed015758cb00f9446f0d9fdcf13e034a765d8875d2fda76e7f2839df58177ce732478389dd456e917f65979ddfd43fd4bbbdc5c50f75575fd3b98247538a50bf54a106f84d22ae352910b2c9cf280793ac10cd3b136ef983e8a24bf5fcc383caf9f976519ee59b2e26681b696680cb72ae8f1a6f715e2329f4b07d7af0fa239d0d370887570eb69b410555c4cf38bd680196983 +ss = 996f151dff7d95d32b8b2d7ed135ec65319d47dda1fd4a642961f933cdd5a09b d = 9a86490f0615f3edf789cb0654066e9ee339cc59f968281f3b89213f83c692ed -z = faeb2ef44d2f608621e831187ce79b2d2f4a20f1568bbe76b0d3d5af36111714 +z = 1056461570b29e27126962068b2d07eb33db448a2938785e6fb3e02675a6ec67 pk = 60c80e77b5c6ccfab6f463a63c069276c9321d8c961802a956f0b8f41307a73b5b4ea33828d1bab555c02616115f890ae7b1c5e6061a484825a448452bb26fb9b13d9bc002e6798d54238125477bc01babe0ec7753fc8c8c959916f16206a7ca31c7b121724e05bb5d71c648fea759a5d2b58a257e728230c2ea779ec4c55f2319cbf9cffeeb1f285a9fb0d4a391386ce69bbb6e37a548246d1061494e8766fd96ccfde9ba6636cc3b4858097c7cd6b83e53a2766642992881a2f1c8b7454586cb3822c125af4d70b15ccc546843100b1443e365cf31680656879f00e640692b94361286104c79af9c1cb2b98f01e3b9480c5b0af0988dc7bebb33bb3ad87cdbe09828a25f17fb323bd17a11ab961c236eeab89cd7c3030f4b437c09aec5f461afe64e1939c93081b44c8440f7b070fe982c16ccbc99fb0a8332739b641b326cc689c51c7ee33003a277c41c2a05676620eb9806ea6f53c2060f13a75ff67b7d1b4229443ecc4023c84293f3cc58c60a1bc00a3d1ad31aa88aa6d2923643585d39e16e5c8bc5e650a578d60584bc24c2fa2aad7b2cd9c99ffee6033353b60f506b95927dad7ab997868119b5976f561007b51aca6b36b08b03ae40a9dcdc19ffb776304bbe7d3aca167753634969cc57c48704a19a22416d2cb658e75ac2d428aaf9a13e6693e4d94df1f2a6559a4fdd16354c77129d32bdc3fa136e180d66842fd2a9540c63ae7412acb67b788936066af5b7fc44409a77a27017c9b883b705caa371b831c7195abc01530a97728708661d343cbca7ab7268b36294b2efd96f87a298092684b02569ab5911f4825826362414fa2f2b955f6a318bfeb18b12d058e4926ca973248d162164acb5b7a8a7641c9557a8a0fab208ac2744810397cc049ef46756e4d14a884745e73454e1d675c3743a5dc2546c424735813ab05353cf65b604ea3e44d8828c7a3ac9851848090b0639934d9b19ca7630844003a944238876966a62a87218714a4b3f89638a064846fc4163d03341840091d75b25dc9a7fcbbca04664b218f4b525f45a4723417e3597f9b99ae58012f2c3938c40cfe1281aa439486d5791e745892eb36905cb142a5c718f456b74ab213f4ac50cc000cfac943c60c3de626080b525c52051ea231f18dc126eb1c6fb76232d5722cee0c9e458c09a38c35ad64959bc64ff252358a5cb1b07384288b457ab15651935a99072f12336e14882a2d0b6f918933ca0574b49b214ba4018ca4b1373cc0f007b683a9a44f842610106de16cf202bcf0896c9506855bb4849beb06289b72041c75512e152183242a5162678d10d870aa888e218ae969c13b024729c7acd818971e598e495902ce92d29c73d355bc44eb544ac760c0cd58ad8157ff242963ae3cab5bc37b9c78ede033c210c59e20245fdcb51f7ca9588359e2264118ce4057dd7c6ade4bffbcbcba5f9433314cbea9309a0d86a15bb6f753abdc47149f6bb0eb339734aa1638fcc633244559a08af3c4b15e6bc8cdc63398165acb51925c7141cea32773fe5b0a64075d66c653e750cf42866255a9bf7d4b66c488f774193ce9b35ce52a164bbcc41f7b6779a9b35127ba7087a4b673096bba4048410778b18270674af334bb92475ce2787bf9a08b587a6d48845e44c6e04a254425ccb59b5972fb3a57cdb02f5100d45b43b76140c6047bc5ee59fb6e012660138d7c107285a2d461b20f1d49e1c206ffb28be65e26154a64df73358dbb49b77258fc45a15b9a80144099be67b76fd60b7e01518074b766211132e157efd507b5970c862d5cb870751da46ae460416eed595a74724152ba84229905880cb682cbe477995437125fcc23677c25fde14533c6aac694206aec917162b4efb61a1bd7c7dd7dca9bd07341438c7893ca4fc8ca4c337a5d7eb9a030b7d7872a694881916016c1af8abe353cd1ae2263cf417c013cf46212b3d5720af335d40b646a794ae602b5345300e30f4812e295f3cf07c2117cef1c591cb9a350ffcb718c64b0d76165e9a719ffb75f46b861f968eead3373c3cbcd6a983c9270fee433b2970b6f0947b8ce46fcad6518d5042d109ba53d324b9f657182bb110961e96a8b34c5a4b808840de8b71d0d87a510944a9973df9a900d9a6c272a61bee2200b4c80aa1dc7681b837eb865a17ecb56e0aea501bef8e12d3025185ba4cf8edd1b0f297471d58c26516 -sk = 7934a9fabc835bf9a77bb807332251daa00876e5500d2c59f07485ed01bc934911a336acde5527dd166476ca1d1aa558cd88cd7bd17ce1791958e851991867c0525c9472a953c8b04a730e2e132c6c26811cb86f3234229f4caa2aeacd2e3c840e97b8f1805b94d7317b08354bcab64887a4e6a98ffd90a7544562ceabbcce6489c6e8534119c9589c405d7a96de3230094a459549b6f37078f2c01fc9080f049464b0a969eb742419147c8b39b8065a769d400a17bb25de51a699b69d54ba460d33ac6a6965916829b7a578d0b24bff786cef9963bf961adcc20f9a0cb1c159865a344a0e36879c67852df50aca08a46e72a4a70c027ce283de5bcb219808f2635bd7540915c5485ab70358cb017882b12acb4426b22b02605873f2bd0da59a658075136cbe15418cca0a11386aad43a52e3c5ac97f36bc7f648808c260643c325cf456e6166eeec74ee8476ad62c73d7d334ac279d84b66b6c8aac217a813dbb3dc6007317a165e6a1657d0277c1e683beccc956d973c7624e959724ff9275c1aa2bb5aca75159721b8c6d7b299c7acb4704c654335982e83ab3724ccab3709d20601c2a943d5bfbb3d384a7e83a7793905301b1704cf49992077b19f0204f3394717c9ab9a173113004fd325edb797a30155d0d2a1e4984644f245f5b495b56a98fdc487b29b4a5c6dc4e3047a8da2c9325f1705613705628458bd525fb333087cb4b967a61a994cbefc504d18c1b8a62898af32bc454a57e264722897d5dc71e32c2495ca857e1a234ae61c77083ba9b780342d7cfdff8b7ec1257b79cad017113a3238510c5683c3a8c396986ed392b0122c16e34a7249691ea7a931c44087fa1731746c1f3855bc72414fe3484d85b5e2586b6231b4bcf27831ea7b57070a815795f43e90b2112b235f5959ea253db76192bcb11d4e16399d40c5dc0a15d98c3b3b0289f07839f7738aba3281d45aa0a9ca1d349a64e79246c2c7770227f1e1cc74db8ab7ea7b0e60a9dc0e45443b30ca656cd6a8897ab105bda51b02179936f04374554a52992710f2a70972479462a2859736c2fe4359a474939ac3531b2905f90bc38860b5615abfb1a1327814c01048bb93c9725c7c3b0547921975766a97e29d529e4d8a090c36820db0fec33277cc679cd4a51f7ca05f204bff20acf63ec403ac7ccab951a8ec166c545abfce8734833274f724e77e68137967da75515e3c270ce79838839721bf3a14c952085071d6b3a555ce62d96e7736a583f44f726aeb921caa340d4bb788d63645deb2621629dff8a2c51d23bfee95caa7756f1884a0cd263039c37f7415e83d4908507c1b17a7308cb329d829c86953422b8b2f1786a4b86b980751255339258572a02ab22ad845632f859eac223e1245ac3533d359246316a3cc1ac58b4e6386592859547171ce05dd7a76bf8e93901eb7f40114175ac45e0b35109ac57be844c52d31a7ba60a24f30ef0e45581242c02e020ec86af106836b3dba8071bb8e8574fdf208100982e55f4b0dca72521440a2aea68c57b2039d14b21a56274972eccac7eed41c4b26cbe2c973507f1cdf4e618077406ccd3c8c5118545178351522485730b1a1ca7971b01766b914e83520bcc82131c5e5a632f88ea070ef636d02752ca06b94df20de6f757021c1fe4e4883f123d097993f1959ed8076c0491191b0a05774c5a2d6ab94eab91b1cbbab07b8027fb57730820f19609136131833bad67d888aa29bd69169d8957a5cb8c3a14b54d3f78154108904ef15d1f73ca9a635fe1231ea9e18cf3a473fe7492a3636d85b70ea43a7aa68c4f3f24c2a2e88f2bf5568d790e51122a27aa41246422ea78bebfeb6038db3ff65881bce84496e65d82f5c318c0217b5b5e299b570b038f740238a264b00da749cea6ae22bba8bc314552132894d79d23e73c492857d22a6f64aa160c774f8b24a8b14ca805619231347463a22f06ac2a96660edadc1bd767524600ba35789c0896897f2bb1f0c88c0b875952c9a352ac4d78b69c55687015544066463da8e0b1a3a8481d6bc89ff3b9590b94e03aacf4c0c12e404cd51aaf3d696c54158101015a550a455a28042c73627c7a414938636481647c30c90b6073b1582e31c275cb12755a287f967a7c6c377aacfabb57422510ca4505128b60c80e77b5c6ccfab6f463a63c069276c9321d8c961802a956f0b8f41307a73b5b4ea33828d1bab555c02616115f890ae7b1c5e6061a484825a448452bb26fb9b13d9bc002e6798d54238125477bc01babe0ec7753fc8c8c959916f16206a7ca31c7b121724e05bb5d71c648fea759a5d2b58a257e728230c2ea779ec4c55f2319cbf9cffeeb1f285a9fb0d4a391386ce69bbb6e37a548246d1061494e8766fd96ccfde9ba6636cc3b4858097c7cd6b83e53a2766642992881a2f1c8b7454586cb3822c125af4d70b15ccc546843100b1443e365cf31680656879f00e640692b94361286104c79af9c1cb2b98f01e3b9480c5b0af0988dc7bebb33bb3ad87cdbe09828a25f17fb323bd17a11ab961c236eeab89cd7c3030f4b437c09aec5f461afe64e1939c93081b44c8440f7b070fe982c16ccbc99fb0a8332739b641b326cc689c51c7ee33003a277c41c2a05676620eb9806ea6f53c2060f13a75ff67b7d1b4229443ecc4023c84293f3cc58c60a1bc00a3d1ad31aa88aa6d2923643585d39e16e5c8bc5e650a578d60584bc24c2fa2aad7b2cd9c99ffee6033353b60f506b95927dad7ab997868119b5976f561007b51aca6b36b08b03ae40a9dcdc19ffb776304bbe7d3aca167753634969cc57c48704a19a22416d2cb658e75ac2d428aaf9a13e6693e4d94df1f2a6559a4fdd16354c77129d32bdc3fa136e180d66842fd2a9540c63ae7412acb67b788936066af5b7fc44409a77a27017c9b883b705caa371b831c7195abc01530a97728708661d343cbca7ab7268b36294b2efd96f87a298092684b02569ab5911f4825826362414fa2f2b955f6a318bfeb18b12d058e4926ca973248d162164acb5b7a8a7641c9557a8a0fab208ac2744810397cc049ef46756e4d14a884745e73454e1d675c3743a5dc2546c424735813ab05353cf65b604ea3e44d8828c7a3ac9851848090b0639934d9b19ca7630844003a944238876966a62a87218714a4b3f89638a064846fc4163d03341840091d75b25dc9a7fcbbca04664b218f4b525f45a4723417e3597f9b99ae58012f2c3938c40cfe1281aa439486d5791e745892eb36905cb142a5c718f456b74ab213f4ac50cc000cfac943c60c3de626080b525c52051ea231f18dc126eb1c6fb76232d5722cee0c9e458c09a38c35ad64959bc64ff252358a5cb1b07384288b457ab15651935a99072f12336e14882a2d0b6f918933ca0574b49b214ba4018ca4b1373cc0f007b683a9a44f842610106de16cf202bcf0896c9506855bb4849beb06289b72041c75512e152183242a5162678d10d870aa888e218ae969c13b024729c7acd818971e598e495902ce92d29c73d355bc44eb544ac760c0cd58ad8157ff242963ae3cab5bc37b9c78ede033c210c59e20245fdcb51f7ca9588359e2264118ce4057dd7c6ade4bffbcbcba5f9433314cbea9309a0d86a15bb6f753abdc47149f6bb0eb339734aa1638fcc633244559a08af3c4b15e6bc8cdc63398165acb51925c7141cea32773fe5b0a64075d66c653e750cf42866255a9bf7d4b66c488f774193ce9b35ce52a164bbcc41f7b6779a9b35127ba7087a4b673096bba4048410778b18270674af334bb92475ce2787bf9a08b587a6d48845e44c6e04a254425ccb59b5972fb3a57cdb02f5100d45b43b76140c6047bc5ee59fb6e012660138d7c107285a2d461b20f1d49e1c206ffb28be65e26154a64df73358dbb49b77258fc45a15b9a80144099be67b76fd60b7e01518074b766211132e157efd507b5970c862d5cb870751da46ae460416eed595a74724152ba84229905880cb682cbe477995437125fcc23677c25fde14533c6aac694206aec917162b4efb61a1bd7c7dd7dca9bd07341438c7893ca4fc8ca4c337a5d7eb9a030b7d7872a694881916016c1af8abe353cd1ae2263cf417c013cf46212b3d5720af335d40b646a794ae602b5345300e30f4812e295f3cf07c2117cef1c591cb9a350ffcb718c64b0d76165e9a719ffb75f46b861f968eead3373c3cbcd6a983c9270fee433b2970b6f0947b8ce46fcad6518d5042d109ba53d324b9f657182bb110961e96a8b34c5a4b808840de8b71d0d87a510944a9973df9a900d9a6c272a61bee2200b4c80aa1dc7681b837eb865a17ecb56e0aea501bef8e12d3025185ba4cf8edd1b0f297471d58c26516aa14ea531df0a7f93225de1c75ace0d2692bc750b1b538cfd0d860ae9c5a8c13faeb2ef44d2f608621e831187ce79b2d2f4a20f1568bbe76b0d3d5af36111714 -m = 70eb3f791faa91f1f982fa477dbcddeb2c55691c07f93b04cd31b37544c94b42 -ct = c3d5ba0e80d2eb77ae551a987d8cc2a0835d7e89cbede637034b7f1365681b9f3cccdb16571c092d1994ab8754e8880a938c962873c4fa92c1ded82bb20def38a535461f92d40859e1952ba872efb4d7f713d74e479f4df7aa89faa4f2607955185525dd032b74d09295cfe716a769f9179b6566c8488b3f1892a54ae1cb5840f9e98f081e34f42d4c89ecf6ef2fafce5500dc6c0a25b53619cdb20ec72257ea6c6c000fb99a8873476409a45e795bf381ebb9b6f873d59e7d178ef9b95c370ce8c1aeec7f873f6fa8cd2f25c6a952e01226bc775b2c6dd5b2c9c77cfde1d242419761337cb8982d9dfc27ca36ec51bab1b4f6a6d3b670b3e4cfab621536f8426289005cadca3aac8f7e54c0615fced8a8e344a79ffd12497cb63f58c0639408c777d136b3ef680ca9a137ee7da5be332592a3a41468463335d25dc8052bab1ad9aa1fdab550f7b91a3b6c44d4cb2d2b085bf6b363c4a62f9dd72df8a5eb1b17660e485b658eb0423f3a5efd1c488080b7b86155f00a4fed7ed20ddd1acd6cb78fb5492daa4a5424075a9818c0b7c547902592c787a7c0fa5fc6c9ef53671c2fb32a9b1ca196ef98d7bb5465c5e4ae1fc80c864ea920b3b4cdd3246237de6c8c22d7f8c92905950ecd8a2a8c6466a9ef166128a017cdb71d74a0a792525d2beb6bc7ca7c944cd74a772c45796e720c1c6c6141e483d76ffc2bb4e14bc149138d90879b97ed8d7ac519760134c90d7043f93600bdcdaaa75e7512d5922349eb53a9b9660394e8dd642284e89260088374721332670535f294c7003fbcc479e66eb59f9d3f574d4463c3eb4e86d5287e0e84b5844fb5fe6a90c569f922f5d224d0c68f7074c8e40d8bd84292d41dfa4bb95a17673ff563471332fcc2578b16f606dd240e7fe197b85f75bbfe66912082f8d8d5085f227d5ab82160754e99bc69d6c033208158a3af75ea6b073ffe3b5a8652a5ee4328ab0896c0287a811f2f16fd060a0a29c46f3cd1ed3cf1c6057aba9def48d899ab37d25799fb9f1b285d2c57284a3fd1b43ac86672b9562c4e8c9de40523a10f14f0466d495fc63bcec7599aca98c55b351f410d59a88e91736e5359a1f8ec82e03beee0ab5ca35b87bcc06e395767d690c6a8916349d5879553a8bc43df8833685dbc2d7b1d29d6695ae25e8660386e9ad817663c6fc95c45a15c6b3de58334f898b29e88e6e09b32d240ca07f954bab47d11d4416cbf2662d0446a5eeceefa5cc8e34d0ef750c620ff057e8593f86f18cb1244642275a351d32b26a9966e3ee8daf6f81a9edabd713c4fd8b5cf5f034f3d9f2cda48ed1ac3f60df23cee7005a98c46f1783581319ba5900deaf487338141af8f7254dabe2ddcbc06a711f6324095b2da1c7aa16423048ffa2e2e9a534939ecef2d61b0c2119fbe577fd2d8aaada968e783f7c0dcdf7ba6fc0996f01b3f699b9e1aef30fb082bb56e6261be625ba2c12667ad44e2c99a7492f7858ef5c2d952ad547851d99c00cb10600ed2601acf211df1c4fec5099889de25cee2ca2f8a3f655cca06463042183e36fc26e48caa8a175da29594189078fc04421c81dec45e77e6468405b3a5649ddddbb32540bdae5bdde475b7f0f58412c9aa42c23ba04c5a87621c3ae6ee0359757dd65ab47169caa32569d94fdd2abb8e16021d31df6c984779c342b53c1b32bb3ca6908afbf11fc73963e3f03e394ca16c4c5a5fa7307b30393f367990207e7e975f76e2db671dbe05f6d131ad866ff938634bc360efc8b0ecc8e867e05a134419ae2b9d81c5a0ca5ee2f755a570e1a8996845e930622aea50108da9547b59624bac7037e9e361f3500cd7ae77addec88d2beffb7412b25ba3482ede4118cd81eee3967af106fd6e0f3e78d24daaedd032c5cb07041fa7148eb6bc5d1a0ac89177d9d7f2a889b344eb03bd25504e43ca5ae67c732db2900654a6869bec3f2e89ff4f555eaeb3a028df41c134f7ce9c8115cd755bbd9749dcb9ee8a371c11477fa45b88a2b67872fdf3f18a80f822a3c7311b01ed8e6011ee0e4ec145b10589de9b6e4ccdf935a5640915b09eca1ec3f3337b589c891dbe31491371166630e29c358280e7f074017f0f0dfaae0a41863693df92f85c395b35ed80594fd79adfab5a93722f2c5db8990f33173573be1cf67b04b24bb137fddaca2adbb480116e147e59881dd24cb92137c94a3bfbea7f -ss = 736e053b8a5f4dbed37b5560fe586b198686500f118247c8a2640cacbf0b0035 +sk = 7934a9fabc835bf9a77bb807332251daa00876e5500d2c59f07485ed01bc934911a336acde5527dd166476ca1d1aa558cd88cd7bd17ce1791958e851991867c0525c9472a953c8b04a730e2e132c6c26811cb86f3234229f4caa2aeacd2e3c840e97b8f1805b94d7317b08354bcab64887a4e6a98ffd90a7544562ceabbcce6489c6e8534119c9589c405d7a96de3230094a459549b6f37078f2c01fc9080f049464b0a969eb742419147c8b39b8065a769d400a17bb25de51a699b69d54ba460d33ac6a6965916829b7a578d0b24bff786cef9963bf961adcc20f9a0cb1c159865a344a0e36879c67852df50aca08a46e72a4a70c027ce283de5bcb219808f2635bd7540915c5485ab70358cb017882b12acb4426b22b02605873f2bd0da59a658075136cbe15418cca0a11386aad43a52e3c5ac97f36bc7f648808c260643c325cf456e6166eeec74ee8476ad62c73d7d334ac279d84b66b6c8aac217a813dbb3dc6007317a165e6a1657d0277c1e683beccc956d973c7624e959724ff9275c1aa2bb5aca75159721b8c6d7b299c7acb4704c654335982e83ab3724ccab3709d20601c2a943d5bfbb3d384a7e83a7793905301b1704cf49992077b19f0204f3394717c9ab9a173113004fd325edb797a30155d0d2a1e4984644f245f5b495b56a98fdc487b29b4a5c6dc4e3047a8da2c9325f1705613705628458bd525fb333087cb4b967a61a994cbefc504d18c1b8a62898af32bc454a57e264722897d5dc71e32c2495ca857e1a234ae61c77083ba9b780342d7cfdff8b7ec1257b79cad017113a3238510c5683c3a8c396986ed392b0122c16e34a7249691ea7a931c44087fa1731746c1f3855bc72414fe3484d85b5e2586b6231b4bcf27831ea7b57070a815795f43e90b2112b235f5959ea253db76192bcb11d4e16399d40c5dc0a15d98c3b3b0289f07839f7738aba3281d45aa0a9ca1d349a64e79246c2c7770227f1e1cc74db8ab7ea7b0e60a9dc0e45443b30ca656cd6a8897ab105bda51b02179936f04374554a52992710f2a70972479462a2859736c2fe4359a474939ac3531b2905f90bc38860b5615abfb1a1327814c01048bb93c9725c7c3b0547921975766a97e29d529e4d8a090c36820db0fec33277cc679cd4a51f7ca05f204bff20acf63ec403ac7ccab951a8ec166c545abfce8734833274f724e77e68137967da75515e3c270ce79838839721bf3a14c952085071d6b3a555ce62d96e7736a583f44f726aeb921caa340d4bb788d63645deb2621629dff8a2c51d23bfee95caa7756f1884a0cd263039c37f7415e83d4908507c1b17a7308cb329d829c86953422b8b2f1786a4b86b980751255339258572a02ab22ad845632f859eac223e1245ac3533d359246316a3cc1ac58b4e6386592859547171ce05dd7a76bf8e93901eb7f40114175ac45e0b35109ac57be844c52d31a7ba60a24f30ef0e45581242c02e020ec86af106836b3dba8071bb8e8574fdf208100982e55f4b0dca72521440a2aea68c57b2039d14b21a56274972eccac7eed41c4b26cbe2c973507f1cdf4e618077406ccd3c8c5118545178351522485730b1a1ca7971b01766b914e83520bcc82131c5e5a632f88ea070ef636d02752ca06b94df20de6f757021c1fe4e4883f123d097993f1959ed8076c0491191b0a05774c5a2d6ab94eab91b1cbbab07b8027fb57730820f19609136131833bad67d888aa29bd69169d8957a5cb8c3a14b54d3f78154108904ef15d1f73ca9a635fe1231ea9e18cf3a473fe7492a3636d85b70ea43a7aa68c4f3f24c2a2e88f2bf5568d790e51122a27aa41246422ea78bebfeb6038db3ff65881bce84496e65d82f5c318c0217b5b5e299b570b038f740238a264b00da749cea6ae22bba8bc314552132894d79d23e73c492857d22a6f64aa160c774f8b24a8b14ca805619231347463a22f06ac2a96660edadc1bd767524600ba35789c0896897f2bb1f0c88c0b875952c9a352ac4d78b69c55687015544066463da8e0b1a3a8481d6bc89ff3b9590b94e03aacf4c0c12e404cd51aaf3d696c54158101015a550a455a28042c73627c7a414938636481647c30c90b6073b1582e31c275cb12755a287f967a7c6c377aacfabb57422510ca4505128b60c80e77b5c6ccfab6f463a63c069276c9321d8c961802a956f0b8f41307a73b5b4ea33828d1bab555c02616115f890ae7b1c5e6061a484825a448452bb26fb9b13d9bc002e6798d54238125477bc01babe0ec7753fc8c8c959916f16206a7ca31c7b121724e05bb5d71c648fea759a5d2b58a257e728230c2ea779ec4c55f2319cbf9cffeeb1f285a9fb0d4a391386ce69bbb6e37a548246d1061494e8766fd96ccfde9ba6636cc3b4858097c7cd6b83e53a2766642992881a2f1c8b7454586cb3822c125af4d70b15ccc546843100b1443e365cf31680656879f00e640692b94361286104c79af9c1cb2b98f01e3b9480c5b0af0988dc7bebb33bb3ad87cdbe09828a25f17fb323bd17a11ab961c236eeab89cd7c3030f4b437c09aec5f461afe64e1939c93081b44c8440f7b070fe982c16ccbc99fb0a8332739b641b326cc689c51c7ee33003a277c41c2a05676620eb9806ea6f53c2060f13a75ff67b7d1b4229443ecc4023c84293f3cc58c60a1bc00a3d1ad31aa88aa6d2923643585d39e16e5c8bc5e650a578d60584bc24c2fa2aad7b2cd9c99ffee6033353b60f506b95927dad7ab997868119b5976f561007b51aca6b36b08b03ae40a9dcdc19ffb776304bbe7d3aca167753634969cc57c48704a19a22416d2cb658e75ac2d428aaf9a13e6693e4d94df1f2a6559a4fdd16354c77129d32bdc3fa136e180d66842fd2a9540c63ae7412acb67b788936066af5b7fc44409a77a27017c9b883b705caa371b831c7195abc01530a97728708661d343cbca7ab7268b36294b2efd96f87a298092684b02569ab5911f4825826362414fa2f2b955f6a318bfeb18b12d058e4926ca973248d162164acb5b7a8a7641c9557a8a0fab208ac2744810397cc049ef46756e4d14a884745e73454e1d675c3743a5dc2546c424735813ab05353cf65b604ea3e44d8828c7a3ac9851848090b0639934d9b19ca7630844003a944238876966a62a87218714a4b3f89638a064846fc4163d03341840091d75b25dc9a7fcbbca04664b218f4b525f45a4723417e3597f9b99ae58012f2c3938c40cfe1281aa439486d5791e745892eb36905cb142a5c718f456b74ab213f4ac50cc000cfac943c60c3de626080b525c52051ea231f18dc126eb1c6fb76232d5722cee0c9e458c09a38c35ad64959bc64ff252358a5cb1b07384288b457ab15651935a99072f12336e14882a2d0b6f918933ca0574b49b214ba4018ca4b1373cc0f007b683a9a44f842610106de16cf202bcf0896c9506855bb4849beb06289b72041c75512e152183242a5162678d10d870aa888e218ae969c13b024729c7acd818971e598e495902ce92d29c73d355bc44eb544ac760c0cd58ad8157ff242963ae3cab5bc37b9c78ede033c210c59e20245fdcb51f7ca9588359e2264118ce4057dd7c6ade4bffbcbcba5f9433314cbea9309a0d86a15bb6f753abdc47149f6bb0eb339734aa1638fcc633244559a08af3c4b15e6bc8cdc63398165acb51925c7141cea32773fe5b0a64075d66c653e750cf42866255a9bf7d4b66c488f774193ce9b35ce52a164bbcc41f7b6779a9b35127ba7087a4b673096bba4048410778b18270674af334bb92475ce2787bf9a08b587a6d48845e44c6e04a254425ccb59b5972fb3a57cdb02f5100d45b43b76140c6047bc5ee59fb6e012660138d7c107285a2d461b20f1d49e1c206ffb28be65e26154a64df73358dbb49b77258fc45a15b9a80144099be67b76fd60b7e01518074b766211132e157efd507b5970c862d5cb870751da46ae460416eed595a74724152ba84229905880cb682cbe477995437125fcc23677c25fde14533c6aac694206aec917162b4efb61a1bd7c7dd7dca9bd07341438c7893ca4fc8ca4c337a5d7eb9a030b7d7872a694881916016c1af8abe353cd1ae2263cf417c013cf46212b3d5720af335d40b646a794ae602b5345300e30f4812e295f3cf07c2117cef1c591cb9a350ffcb718c64b0d76165e9a719ffb75f46b861f968eead3373c3cbcd6a983c9270fee433b2970b6f0947b8ce46fcad6518d5042d109ba53d324b9f657182bb110961e96a8b34c5a4b808840de8b71d0d87a510944a9973df9a900d9a6c272a61bee2200b4c80aa1dc7681b837eb865a17ecb56e0aea501bef8e12d3025185ba4cf8edd1b0f297471d58c26516aa14ea531df0a7f93225de1c75ace0d2692bc750b1b538cfd0d860ae9c5a8c131056461570b29e27126962068b2d07eb33db448a2938785e6fb3e02675a6ec67 +m = d45fb8527103ed4a9a88e77edd89261b4e0d74b9b3a3f81016f534edb12f3d36 +ct = ac38482227486612343522cff2504761a9168535cb841ca0f57104afa49e66f6d3444ea2e62356b60ca5dde48e060e3cbcf8149e6760bbc2f84182cba9b738b450c2dfc6372fff1e0709ae67ec3c969016710661f913b866d3a2af22feb2da598d9d53596d47e90b434415585c7a8e5d043d3a4b6bf1fbae8d18b45289dd3061418d4cdddaffb4fd52ca6a7ad6b0dad2ea1aa3a801fc08ba7380c5e4affe55122541c8316ee9ee8ca19ebeb225124800bb40d044dd138dd6088bfa931940d5e4f4f86784860f2395a256703563782b2f2000b231fcf40026ca22910a83b8bb583cea67dcd6d5a0bbe709047796efed60af62846ec67bb7574149458401ace7ad48697d130bb7c946b967fd6d5c9587d7c737bcaa9aafc848c7625eaf28ba996d9edf713dd41f4b9ef24b0bcdc15e56f1cb522593206d5def2203e7fae3d5d06ed73f7aa5404ce2bfbd9a30211f8cadc7fd4bd9e12907e58fe050b96ec5d357fbac9cd8b21b57f0e6dc0dc65737ed174433a2b158b345117bcf920d608a3b259fb757c13d151b93aa89dd644be677b32bad77241d8990c56e9af3eb2b06a6edf0441603e4e62f8cee0cd0c44f01a09925609a2913999fe2455f21307ee10571899d57f7e7e16fc95d4570f14a6c69d717d85dfa83b01fa17b5b25a47e854408c0a3fba36dc532f45e4188dfcc22a28304ff726d6c5629077706c41a97dd2f26563c316f8a4a8db641ec3dbde3ed3a3d1ab376900d16f4a55c2bceea3470029b612a80068f20286f8a35ac0386c3144988cd394f221522c2aa240826bb847d7a011d3fb3fcc6ff6ab170364013a213152927d21258c32efe85399ea79e9a32e4dfa639b5c82f1ec3da5296d29ac70806d97b7cb8de51a4a143c25c1262fce61c80405ad409f7108835280ffad4885126150934602c3f28fa28b1354c34cddcc3e88cff6e13f13262f0009505121978cab3c4d16e6c1e4bffe19992938c72988fdc22d5ba1d1d69864f186914bf559130eedfb2e8f21f265c67d3dabc7f511c097896c9e0e5e4cd5527ca1c3adace8b3f5613fe688be11b4f2dea056fa7f71a878f1f4f670abc96ab9a4a532ad0fd93bbf5abd30c67935d7ed8d95fb6fcad7a36de9b6f6b7d0dacee3a5ab5678983054d2b8cc8ac9048a5e55a27a3eacca80d65cd55519fa1127a1284b2c2161c42aeb8a9b871b9d7da597893c184df04a873791e8acf8173939b6d0db098e2998cb91dcf8e2fd685ea2aa8f7a0554c8df21a86fb18c03d32a5a6a657f81685a1a38e0e70372e531e3fddb953213c68e7f337823021e8f55afe5af43647fe811434f5ab54a35bfd535e55245b08feffdabe880c3db5fdf983b17cd24b115910594a3c9ec9f16c0f1ae7038867fbceca81aea1ca674d2f5b7368e0a0e854ee0a056d5b1556d4be6a75684452ffbee502928cb59746b2ecb1c7776e5797b52bd79b608055b1b8041ebaf501ee4e60886b7cff4d533972faf84af05caca66fe8c366549b7b116df91519d9c2c1447c89af9d8b24dc38af2dd06d33f727c9d196708c3685caa6931253b2fd5608f202651963c976280fea62e92862bd6db035c1cc63f972aba6d8e61082070c5f6bf9c2560e9333c748ab06cb5c7e2d6db8dc3d22283910ddd0203928c3a0e455b3785899fb718ee007ce27f3f64a752825b4d48066858130103d4d4784e274711d6308ec4509774f497fd523541c4011d14edd324b5eb313791c57c4aaf08f1b1f9895d5b1be938eb8be42f1ae52737509afc22135d2d333f5391fc31e46fe8536963b3111db497ba23a35ab2bfe8b7c8d78cbc5a1f5b4931c249a53cf437e41aa58c02d0c5b753df6b9cec6839f63fc2103b1a9c18114ed2f3c5f0bef869dd7c7152207c59bb99263ac1fe54e08843ad574c8e131b68d31e1a5ff2b9f0c995f4b5176005184755ed4351764521c58af90f71b849803b41025d18b9d8aa86f7e901d63ca226392584b374b958788a62540aa1e46afc202869eb6a7baf734507a414f04007668b1ec8c8eaa56508b0a0f12fc17304dd636eb928d8b95e91194ec62d250694676b6cf5ee3b3d4c0664debafb40b5db3df7bb792a2176e0550b3d0b3edcf9742e99d5151061bf84c47462f04fbe48ae5bfd42ae4c9d9d5fca43b41a06ce70f24e149f17bd8ba93080edebbbda6c74401e3e8b746dfa3607dbd0765d8e19a2e7035842c7a +ss = f0d44d22d04d1ae9eed8b567437437ffdb0fb5f7c3db49cdb5d914769adfd665 d = 6dfd9b575872560c7bdc2732c4a28dac4db04e535eb8e402c3dffd145c09ce47 -z = a2985c1c4d203778597947d710dec806e36b0cd949fe460ef141213bfc525e5b +z = 2dc85fef74a61da258edff86f377ff16f321689e7ba5052364d2448a333c7961 pk = 9d9171d1fc6308f0c7b2015fbe1aa7c3084afd14382ccb962cc7b9ce97a4ff140f77a87e44960e6fc73cf170991bc57fde0c406e432253a2aee4b0beb4d26e0194601fa576cd89a5bca45e690833592b874d3b3cf303475f1140a0fab6129296c51b4a5b30650b8c26b5e67100837d011c2aa7881bfed806f308bf2f99118565cc85323410abc6e34520b818b49b6369dca3a1ac2776f75142b84c76a43223fe2b7f78544191ab4f0b9316c3b4495514118c63c1f9691ed6ec30670945da0a92052a7d2d11c4e0f8be14b867d4708f6fb4569b6081ba685c78e2c835e0bc29bb416db14cfdf3c98e8a4aa7161859e2cf74277a4c4731224c0649a01abcf92ea723784ffc290775282c256d433a64b705899398aca7e084ab6958c801b27fe8b39ff4bfbb1aac410421c50aa911706790d3c350b6126cf9242e33a359e21e4b72561f1368c3d2265b710bf0d6acee3a5286f51dbf16c471327612ebafcbcc5e22a5b5196a06336968976a9308c075816727997b7d52e34b648b8bdbf229aa4925b3e5167dd1caf619bf0d620540f29f6e77091c4b430e708d01ec9e2e0ca44e766c7643084af17722488f4786a720ec6dc4765e0f558a7a9c449f04333476262d65c4ba175a0e2bb29b524f8465a73436bdf6494578020a425149f3cc0c9b474d5eea98ab529aa1c97a84b54c064c8902153703618e5b99122d4402681a9c72258137b94091382888b4636ca983c79a944a4ba0169a730f7401d58196dc193742fc4d20eca71ad359987086aba19ffb05c0e09a0a8581844774b12beb3692e055df16b67706902d625590037997a3beb105931afa84b5fa389fe2b2bb2b5f521169f18b012d17a5ad203e2508958954b8fda5956bda2126503f34c571457056b333c9dd265bd9d4a9ea601620454bf020120d5a0e99f837cce92e20865dd7870a1ae12f1da8b369c814fcf63a9fd830c4827f6b151449879c4ba9691e68a02aeb89f362a9bd57909c3ac1e064780fa1c74ba21daa4b6684bb64eb108987b18be7683924e3202d45a5c4f3b2aed5666a8ca54b48c32bc55b60064d27b53e51222c4df502c8415089255e8a095efaa822b892b2a0a17a146216282991833338553c8bb4947d892923010711084a19435b5c3f6a6af7f89457ac8a5ea4679fa2921692c8af459ad8cb22ec187dffc3425d88b6396cb7fb627f5fc718752658a5fc92539668c7327b90b26572fa8bfcf705f11422382079e2333af6b51e65310751343764bcaf5a981a260109986b5c29d2691f4a981d391175a21e16a13dd2501f5a256bb86169c63ba737296a5bacc65781b8ce07b4b8f28b173b42f802baf5f235bc06c9d752351980a72b52250269ad66a098fc9b68ad57c698a014b9d1c278f3559b361e3b8ba2d690c5380765de0b2d0e3c63792c7f9c8122b297bb8cb8381d6780505c253399c61d4445e244b4669a3cf1cb7dc227ce9655a9ea275aa5529fd8cb5215893bec6a64201629031b16a8957623b0619b33c6b90c78f4e21f8ffb94d1a6648d330d91096bc87093417b1ba6e14eef17ccf3923a84328b5b60adca0c4348d9198262b27fe56eff73566bb5123d7ca987a26fe9a00d41a2405fe31af48baa3a5249e4c6a638985669d576dc7c9ba575380e959ef93c2dc5dc15ca87cf3f98675eaa87eb5a51cc3450b946b810d05d94a815376868c5d9594fd02891637ff517a6597a1272b7c9933c544793ad167b1537b478ee3a20c8b874f5fc95aa46851fb1610453583b23c280838573770609344f14c4cc1da33720b3257a53a8e58c1c0ee500a3e4781a2cafea727ff3b86ccbeb9fb63b0f215ab297ecb1485589766ca828332942eb9c4037bd76aa1fd24160febb8dc499c486a6125c137b77597317f06323c901ecb7b17b75180c71c6b1646751f2522f1a7d13cb7dbe0ab46385aa94b84acb565f32470fe75b7f9c876287f2ad5b0b52e4b5aac9a43eb17b207943ace482b46123652f7460cc64427710603a8307ef748c37f5784e0379773ca7576589c7ca30ebe78f5905b350c4bc37591bc1a926d57c0ddb5b52024ac3861785b6134ad8c067c5e9a47ea96f57b40426697e12846bfde94af1b27ae4305edb932b79ab745abcc265b8c7a37063ddbcc972c26864269ee557785690ae6401b7b384ec61a83f9056f3665e523a0c28d48e778b0314c1ec2a83ee9805d0 -sk = 46f47850e2b9aa4a6d209125be58806002c278a6295da7a4ffe85551529f17d83b358b243f2a622f353eb6138cc6380f8ad3340d7575e865a6cfd34bf473a3da8b9fc961cd921452d09b3209d041d6612576c573b08422715160b891a3370268468078f5464d7e5b84b3a3793f0c7cb2a0a13df37b9763cfbf054c768b1e65a00e8366b406251f812c5d428853d0e00f7bd58a8e348275461c1336c2ac6a39783a35d849aa9a847f37f50be0b95f617bc7adb28c0506c16ea3ce89aaa28a9252f0e228d0fca732289d05d9395133a82d8cb76db2023924273b39cb52b5a846f338b96c5b6f3acb41c7265a0c5b13094231f05943d58875ba7c2a6889f16107d325ad1b810a0b3c9e8928169d440194bbb90f771796856f9878158a432eff742fbfd5acaf59521e361f448c0bebd805a1b4435d0761d0448d83e1201a506a0b0a4980172d05e88d7d87b42054680cda74a386027aa4c3c5193fb1a893bec2722d55ab9b840d99cc81408153b383345192649eb99825bb4b1957326c4791a2722951c0ab67472f4841c20c23926c3c331f24c360e81977c2791ff3171c2c489b68c923b65d8ee6bd2d510e6ae97fb771bab401bc1a42935f38a0fd43ae2f8a24d8fc3f6e15c2c6bc800b73ccd8e91c592452484b44e6b2a624881064526182950349c78c7d58180b1676b5191eb6065c50596232b9566e4b8f0635a7d71927f8eb8572e62d57996ddf66cfed2147dc3451e95c034d6b9145bc0d30c915d66b1cce367406212f8bb40755091c9cb0306a490ef5336e21f82c1b7b6ccc8980da28a348815112f00c57362eb163a36e016d60f020bd12b6796c9a88a8af4e833fc4585652e76f2ff77deed799757c7f64e07ee6e6a300dd1cbbc840af561746d279beaa71dea5318aa3cb3c4c63c4a91e0fb60d6dd6abf1fb24d1b078de9413f1b0bfd8916577c4cc9e0b0c332625a5fb705e94babbe0659e022234586529a194012a6e9e7650c504c380436e1df83e5c5c9e22f79f394bc0f22a0acf114b90829b43112fdd617089c8b9d872b70d7027d74402b65058347b56074ba33fb91998e5a559d46622f5423808c8236317767a32e4772ae66ca472ec7828d682d045835ebc5e0089b0ff955dcfb9605214a3e5087f7ee57d5369abcff1be00c7bbc5b5b25a0c1d853424123c98fb330318432d324bbc7330342224baff909849d65e1d08a77e07d07cf16ce6f64fc71374eefb66bf9c742e518f2e30c480f82652b81c4ce7bf42593b990980d94062f96a7178258f31e2b90e86241c04b7b44057bf4700a040b6c0b08e4e8a6bf1cb1eef738f51ca9beb9c19b94b1cc623704a6c2455009f48b4cdd0f4a5d7f06320457670db92c7a4371743593600022da4600c56296d336a52e98888818ca10282d4767010a7abdf81bb6752048b5b163da385d7c5cb134108ecb03398500c1612a1bd563b21a0bc7b94c9719a75bf3b3e02143bf04a7e3d9b0070c4b449cb9594a1a8bbf871e595178bbcb611b466a8677905443abfa1601a9664c5f54f36dcc1ddf35381f586b4aa4566c02be610186df8493a30479f4c72aaf049a6666e806b13fd77c3b738721f81218b48984ef374babc0156f94ed581133c180c9cd067dce401739190ca80cc8d441b78a986834033abe3432f863cba79cbbacc2e5463bc3bd1b0f1307140d56a0e0768691747143721c76847dce7b86337a584a146da0c664d904441441bce3276c7d8906bd336ee07452626853098444339824dc5a82d0b515164882c99851c189de092cc955c9fc53c041471c4e4f7cc8d16aa74d83396d88264314912632e87f68f36ac0abbe568f1a5bea9e807c21a57e7103b4ffbccd02a5fe3774e54b40e6063af2cd48c73e82d1d2cc893c35434472e2a892a05d566b890369f996dbbd9c1d8d542d29021d2f4619d89826dc45f4212bd2e607e92f80b75bc9cd8a803ae3a749f539165cb2bacaa005a2787daca403c83baa258b7e8061ae4d11b5d255b12d6cfc4650af458a4b0a37c69cc8774bc4f51979a120292ec6c8d7193c5b52021b452807aa78c2c26cf4e4c2fe6236d2f3ccf5273bd3dfa2653498b5b681e18996098cb3f593947fed05a927223b27619eb484bac5561bc7ca8a112136501a461538b23d07b47b3ae35420d9d9171d1fc6308f0c7b2015fbe1aa7c3084afd14382ccb962cc7b9ce97a4ff140f77a87e44960e6fc73cf170991bc57fde0c406e432253a2aee4b0beb4d26e0194601fa576cd89a5bca45e690833592b874d3b3cf303475f1140a0fab6129296c51b4a5b30650b8c26b5e67100837d011c2aa7881bfed806f308bf2f99118565cc85323410abc6e34520b818b49b6369dca3a1ac2776f75142b84c76a43223fe2b7f78544191ab4f0b9316c3b4495514118c63c1f9691ed6ec30670945da0a92052a7d2d11c4e0f8be14b867d4708f6fb4569b6081ba685c78e2c835e0bc29bb416db14cfdf3c98e8a4aa7161859e2cf74277a4c4731224c0649a01abcf92ea723784ffc290775282c256d433a64b705899398aca7e084ab6958c801b27fe8b39ff4bfbb1aac410421c50aa911706790d3c350b6126cf9242e33a359e21e4b72561f1368c3d2265b710bf0d6acee3a5286f51dbf16c471327612ebafcbcc5e22a5b5196a06336968976a9308c075816727997b7d52e34b648b8bdbf229aa4925b3e5167dd1caf619bf0d620540f29f6e77091c4b430e708d01ec9e2e0ca44e766c7643084af17722488f4786a720ec6dc4765e0f558a7a9c449f04333476262d65c4ba175a0e2bb29b524f8465a73436bdf6494578020a425149f3cc0c9b474d5eea98ab529aa1c97a84b54c064c8902153703618e5b99122d4402681a9c72258137b94091382888b4636ca983c79a944a4ba0169a730f7401d58196dc193742fc4d20eca71ad359987086aba19ffb05c0e09a0a8581844774b12beb3692e055df16b67706902d625590037997a3beb105931afa84b5fa389fe2b2bb2b5f521169f18b012d17a5ad203e2508958954b8fda5956bda2126503f34c571457056b333c9dd265bd9d4a9ea601620454bf020120d5a0e99f837cce92e20865dd7870a1ae12f1da8b369c814fcf63a9fd830c4827f6b151449879c4ba9691e68a02aeb89f362a9bd57909c3ac1e064780fa1c74ba21daa4b6684bb64eb108987b18be7683924e3202d45a5c4f3b2aed5666a8ca54b48c32bc55b60064d27b53e51222c4df502c8415089255e8a095efaa822b892b2a0a17a146216282991833338553c8bb4947d892923010711084a19435b5c3f6a6af7f89457ac8a5ea4679fa2921692c8af459ad8cb22ec187dffc3425d88b6396cb7fb627f5fc718752658a5fc92539668c7327b90b26572fa8bfcf705f11422382079e2333af6b51e65310751343764bcaf5a981a260109986b5c29d2691f4a981d391175a21e16a13dd2501f5a256bb86169c63ba737296a5bacc65781b8ce07b4b8f28b173b42f802baf5f235bc06c9d752351980a72b52250269ad66a098fc9b68ad57c698a014b9d1c278f3559b361e3b8ba2d690c5380765de0b2d0e3c63792c7f9c8122b297bb8cb8381d6780505c253399c61d4445e244b4669a3cf1cb7dc227ce9655a9ea275aa5529fd8cb5215893bec6a64201629031b16a8957623b0619b33c6b90c78f4e21f8ffb94d1a6648d330d91096bc87093417b1ba6e14eef17ccf3923a84328b5b60adca0c4348d9198262b27fe56eff73566bb5123d7ca987a26fe9a00d41a2405fe31af48baa3a5249e4c6a638985669d576dc7c9ba575380e959ef93c2dc5dc15ca87cf3f98675eaa87eb5a51cc3450b946b810d05d94a815376868c5d9594fd02891637ff517a6597a1272b7c9933c544793ad167b1537b478ee3a20c8b874f5fc95aa46851fb1610453583b23c280838573770609344f14c4cc1da33720b3257a53a8e58c1c0ee500a3e4781a2cafea727ff3b86ccbeb9fb63b0f215ab297ecb1485589766ca828332942eb9c4037bd76aa1fd24160febb8dc499c486a6125c137b77597317f06323c901ecb7b17b75180c71c6b1646751f2522f1a7d13cb7dbe0ab46385aa94b84acb565f32470fe75b7f9c876287f2ad5b0b52e4b5aac9a43eb17b207943ace482b46123652f7460cc64427710603a8307ef748c37f5784e0379773ca7576589c7ca30ebe78f5905b350c4bc37591bc1a926d57c0ddb5b52024ac3861785b6134ad8c067c5e9a47ea96f57b40426697e12846bfde94af1b27ae4305edb932b79ab745abcc265b8c7a37063ddbcc972c26864269ee557785690ae6401b7b384ec61a83f9056f3665e523a0c28d48e778b0314c1ec2a83ee9805d0e0013ff7eb7b8266ee94659f3372f5981ce1d87584cb1f0e80da2c0c95c16b4ea2985c1c4d203778597947d710dec806e36b0cd949fe460ef141213bfc525e5b -m = 30f4095015ba88b6d969672ca3f438c395dacf7d476ea7a9e805ce932d270a13 -ct = 962aebdf1f3c252e76103b4b5feed7b187973e712f1d9f50d34478f09f6382a13b86dc22fa7f6e5423344e810580504625c0a316961af308cd756c01d32748e69c397d52dd1b77097adc04d171bdc72677a4a8e0c23c99beb521c423a0e182932c17cdcef62e67aa93bba095c4ed0325484a33013cd1e314f6ab9c258d0de6f7d569824064677cc5ae4506da9817a0cec3b77bb24073c2bd692026062a11b933a841850286663766cd2e07e2ea0b78dff97e79809115c7388d9d4b0d118847bad3b4b2084b25f3825e7b94f159ecfd6018379b3abbdddd2b9c52c5baf11ef5a43bd2750bb15bf38b868ee82e8dd0418fecae2fdef36554200521720424cb1c310a175bd86ccba889448773e6cd460bb1d1105f43ef8714f03c1182f307a885de1b5f7cf69a317b9a0779511cd5cd0d9fc69d220206fca419c0c65792074491d68329b1656102be9ddcd4a84128f725f70b25bd116af4ff85e5f10a980f45cd4f9b2ef21593c963387375aa3e7ec7b430acdc886b32b4e14c3589fa03583618fd5db8e81d3e4efb4f440e5315fe9e1105340f0c7bce552024f79c85fc7c6daf857ea914b86fd4174183eb3e822bbd7272255afa825ed030ee13ae13f70b69dcae4d3eeba560f57740a4abfd28cd95ae5318b3612b830d23f4996d79cb803ee8ec9c95f05d0029910f737be7e3e477fb03b9ebfed600a2a08d965da08d248e9e242e2cecfea4939a64f9df06a736c77dd4f78750e9d2f0094bbf96fc55818da56f9c4bad4ac47b8aff75040c37bc0ca34159ab4966fe40c8f8264b9572712008af3a6f1d0f9bbcff3fe44d175ca76db580f780e6cca595073ad7b62d2efc4eb8defe06f97f1ec616e905c593525f18c883fe34ddd3f8187387b25e4d7114905d558ec655683b451204ecba691234a062d20e01fd8ef492c9e222eda4f97eebf2ef33a27927af04b425f4ef0117681a29ff55fd94477335179db377538db64eb5dfc7a29d4cb4a6ba0a05f5ba1feae190117d84493884c1139e4356bc573bb8bd01aaf6b23317eb01dbea3e9ad86ce2949c76f0622144b544532f9fb888438deb83101f9b8d810f0912da07f1832eaff20c54fd31d24da593f81acf915590461579f5ed6661d05cb0693ebd91956074f1b7ba4d16fafb35a9c7f62ddd5bf9143b4d1e9fa2e79deb4ddb7c335fca02f23376ac8ca184173b4001d4dc96052b89ccb71c06a090050eeebab8f785dc52968ebd06cdc1c6ef75a4e07fb9a3ccb677fc56d109960c5436b6fa15977c12867e92958cab7abfd0a49e024673daf7632b71fd6ce8260edb3205d1052160727ff9443770e54ca04f999594889559e6520f7a80eb0a14065cea6bf6c99719c5751971a41bf64d583999f6bcec0631f4649da2868d48d7701a58a90d1839882f3a237010415995b8bd2bc447f3707ec039ec8b9599bc5e6b59fa959709a8d92f149b81c96b02176fcce74c54d839623f51e1594be511dd9053fd06f939995ab97325a2b063d59eab05e9431f82232ad5ae98c6d8656c699399bf0b8bab175fcb3720f703f9477603095109a69dcc4036869a59edb524ce5be206d350aaa2e61e1b54725e6e8d634907221546111a581d5d4d3a39f99e575ccfbbc34dfe8e9db569baa2f7a5256925a7c011c9a9b4997291881012321d17c323de0765c666815e37342ef454f53480f889f6a92bf6d83c73e3073231ca7b7ae92c772cfb199f774ad68f67a1e6744a84558f046b8ed21a449cb65a3cf75733dfae552b0e3e4222062552f6237911b6f9a902527e1ac4b5dcd97c133b3b3aa53920eedc20cd56cfaf3706a7de155aae61b87776a43b28b955339baa6903dda3096f534f1ae24e5f9ec68114f72c30b995edda60dda050c39cd00dfd56d9b08c3d22f8e6277bea6a8a119d9f59a69c3534ed42d7bc335f29bea5ab97a185040c4ffbf01a53029fb12d901d1f0e1afe777a3af6a86056e654eadf268cd1c94e382816b0126230077e7b915df108e4399b487be26b8d2a8d806feb27d739bf00a1516f48356ef9f1ab7ed2847e3967f3d584fa6bc7a0078ae56131c99716b32a3b29774320d18a81c0a5b1f2b53d4e561663068aeb6d2a8626b8e7674f7d874751d6f5e1c9825331c1b497f3aababa414e7e14baf1505cf99aa3a42318bcb47a249b2974755489f135ebf1d286ac5827d8511de987079f4319d1360aa3 -ss = 6bc564ce6b2a8b0247a3732edb9002415184bff0893c899fa9f91b7477916b99 +sk = 46f47850e2b9aa4a6d209125be58806002c278a6295da7a4ffe85551529f17d83b358b243f2a622f353eb6138cc6380f8ad3340d7575e865a6cfd34bf473a3da8b9fc961cd921452d09b3209d041d6612576c573b08422715160b891a3370268468078f5464d7e5b84b3a3793f0c7cb2a0a13df37b9763cfbf054c768b1e65a00e8366b406251f812c5d428853d0e00f7bd58a8e348275461c1336c2ac6a39783a35d849aa9a847f37f50be0b95f617bc7adb28c0506c16ea3ce89aaa28a9252f0e228d0fca732289d05d9395133a82d8cb76db2023924273b39cb52b5a846f338b96c5b6f3acb41c7265a0c5b13094231f05943d58875ba7c2a6889f16107d325ad1b810a0b3c9e8928169d440194bbb90f771796856f9878158a432eff742fbfd5acaf59521e361f448c0bebd805a1b4435d0761d0448d83e1201a506a0b0a4980172d05e88d7d87b42054680cda74a386027aa4c3c5193fb1a893bec2722d55ab9b840d99cc81408153b383345192649eb99825bb4b1957326c4791a2722951c0ab67472f4841c20c23926c3c331f24c360e81977c2791ff3171c2c489b68c923b65d8ee6bd2d510e6ae97fb771bab401bc1a42935f38a0fd43ae2f8a24d8fc3f6e15c2c6bc800b73ccd8e91c592452484b44e6b2a624881064526182950349c78c7d58180b1676b5191eb6065c50596232b9566e4b8f0635a7d71927f8eb8572e62d57996ddf66cfed2147dc3451e95c034d6b9145bc0d30c915d66b1cce367406212f8bb40755091c9cb0306a490ef5336e21f82c1b7b6ccc8980da28a348815112f00c57362eb163a36e016d60f020bd12b6796c9a88a8af4e833fc4585652e76f2ff77deed799757c7f64e07ee6e6a300dd1cbbc840af561746d279beaa71dea5318aa3cb3c4c63c4a91e0fb60d6dd6abf1fb24d1b078de9413f1b0bfd8916577c4cc9e0b0c332625a5fb705e94babbe0659e022234586529a194012a6e9e7650c504c380436e1df83e5c5c9e22f79f394bc0f22a0acf114b90829b43112fdd617089c8b9d872b70d7027d74402b65058347b56074ba33fb91998e5a559d46622f5423808c8236317767a32e4772ae66ca472ec7828d682d045835ebc5e0089b0ff955dcfb9605214a3e5087f7ee57d5369abcff1be00c7bbc5b5b25a0c1d853424123c98fb330318432d324bbc7330342224baff909849d65e1d08a77e07d07cf16ce6f64fc71374eefb66bf9c742e518f2e30c480f82652b81c4ce7bf42593b990980d94062f96a7178258f31e2b90e86241c04b7b44057bf4700a040b6c0b08e4e8a6bf1cb1eef738f51ca9beb9c19b94b1cc623704a6c2455009f48b4cdd0f4a5d7f06320457670db92c7a4371743593600022da4600c56296d336a52e98888818ca10282d4767010a7abdf81bb6752048b5b163da385d7c5cb134108ecb03398500c1612a1bd563b21a0bc7b94c9719a75bf3b3e02143bf04a7e3d9b0070c4b449cb9594a1a8bbf871e595178bbcb611b466a8677905443abfa1601a9664c5f54f36dcc1ddf35381f586b4aa4566c02be610186df8493a30479f4c72aaf049a6666e806b13fd77c3b738721f81218b48984ef374babc0156f94ed581133c180c9cd067dce401739190ca80cc8d441b78a986834033abe3432f863cba79cbbacc2e5463bc3bd1b0f1307140d56a0e0768691747143721c76847dce7b86337a584a146da0c664d904441441bce3276c7d8906bd336ee07452626853098444339824dc5a82d0b515164882c99851c189de092cc955c9fc53c041471c4e4f7cc8d16aa74d83396d88264314912632e87f68f36ac0abbe568f1a5bea9e807c21a57e7103b4ffbccd02a5fe3774e54b40e6063af2cd48c73e82d1d2cc893c35434472e2a892a05d566b890369f996dbbd9c1d8d542d29021d2f4619d89826dc45f4212bd2e607e92f80b75bc9cd8a803ae3a749f539165cb2bacaa005a2787daca403c83baa258b7e8061ae4d11b5d255b12d6cfc4650af458a4b0a37c69cc8774bc4f51979a120292ec6c8d7193c5b52021b452807aa78c2c26cf4e4c2fe6236d2f3ccf5273bd3dfa2653498b5b681e18996098cb3f593947fed05a927223b27619eb484bac5561bc7ca8a112136501a461538b23d07b47b3ae35420d9d9171d1fc6308f0c7b2015fbe1aa7c3084afd14382ccb962cc7b9ce97a4ff140f77a87e44960e6fc73cf170991bc57fde0c406e432253a2aee4b0beb4d26e0194601fa576cd89a5bca45e690833592b874d3b3cf303475f1140a0fab6129296c51b4a5b30650b8c26b5e67100837d011c2aa7881bfed806f308bf2f99118565cc85323410abc6e34520b818b49b6369dca3a1ac2776f75142b84c76a43223fe2b7f78544191ab4f0b9316c3b4495514118c63c1f9691ed6ec30670945da0a92052a7d2d11c4e0f8be14b867d4708f6fb4569b6081ba685c78e2c835e0bc29bb416db14cfdf3c98e8a4aa7161859e2cf74277a4c4731224c0649a01abcf92ea723784ffc290775282c256d433a64b705899398aca7e084ab6958c801b27fe8b39ff4bfbb1aac410421c50aa911706790d3c350b6126cf9242e33a359e21e4b72561f1368c3d2265b710bf0d6acee3a5286f51dbf16c471327612ebafcbcc5e22a5b5196a06336968976a9308c075816727997b7d52e34b648b8bdbf229aa4925b3e5167dd1caf619bf0d620540f29f6e77091c4b430e708d01ec9e2e0ca44e766c7643084af17722488f4786a720ec6dc4765e0f558a7a9c449f04333476262d65c4ba175a0e2bb29b524f8465a73436bdf6494578020a425149f3cc0c9b474d5eea98ab529aa1c97a84b54c064c8902153703618e5b99122d4402681a9c72258137b94091382888b4636ca983c79a944a4ba0169a730f7401d58196dc193742fc4d20eca71ad359987086aba19ffb05c0e09a0a8581844774b12beb3692e055df16b67706902d625590037997a3beb105931afa84b5fa389fe2b2bb2b5f521169f18b012d17a5ad203e2508958954b8fda5956bda2126503f34c571457056b333c9dd265bd9d4a9ea601620454bf020120d5a0e99f837cce92e20865dd7870a1ae12f1da8b369c814fcf63a9fd830c4827f6b151449879c4ba9691e68a02aeb89f362a9bd57909c3ac1e064780fa1c74ba21daa4b6684bb64eb108987b18be7683924e3202d45a5c4f3b2aed5666a8ca54b48c32bc55b60064d27b53e51222c4df502c8415089255e8a095efaa822b892b2a0a17a146216282991833338553c8bb4947d892923010711084a19435b5c3f6a6af7f89457ac8a5ea4679fa2921692c8af459ad8cb22ec187dffc3425d88b6396cb7fb627f5fc718752658a5fc92539668c7327b90b26572fa8bfcf705f11422382079e2333af6b51e65310751343764bcaf5a981a260109986b5c29d2691f4a981d391175a21e16a13dd2501f5a256bb86169c63ba737296a5bacc65781b8ce07b4b8f28b173b42f802baf5f235bc06c9d752351980a72b52250269ad66a098fc9b68ad57c698a014b9d1c278f3559b361e3b8ba2d690c5380765de0b2d0e3c63792c7f9c8122b297bb8cb8381d6780505c253399c61d4445e244b4669a3cf1cb7dc227ce9655a9ea275aa5529fd8cb5215893bec6a64201629031b16a8957623b0619b33c6b90c78f4e21f8ffb94d1a6648d330d91096bc87093417b1ba6e14eef17ccf3923a84328b5b60adca0c4348d9198262b27fe56eff73566bb5123d7ca987a26fe9a00d41a2405fe31af48baa3a5249e4c6a638985669d576dc7c9ba575380e959ef93c2dc5dc15ca87cf3f98675eaa87eb5a51cc3450b946b810d05d94a815376868c5d9594fd02891637ff517a6597a1272b7c9933c544793ad167b1537b478ee3a20c8b874f5fc95aa46851fb1610453583b23c280838573770609344f14c4cc1da33720b3257a53a8e58c1c0ee500a3e4781a2cafea727ff3b86ccbeb9fb63b0f215ab297ecb1485589766ca828332942eb9c4037bd76aa1fd24160febb8dc499c486a6125c137b77597317f06323c901ecb7b17b75180c71c6b1646751f2522f1a7d13cb7dbe0ab46385aa94b84acb565f32470fe75b7f9c876287f2ad5b0b52e4b5aac9a43eb17b207943ace482b46123652f7460cc64427710603a8307ef748c37f5784e0379773ca7576589c7ca30ebe78f5905b350c4bc37591bc1a926d57c0ddb5b52024ac3861785b6134ad8c067c5e9a47ea96f57b40426697e12846bfde94af1b27ae4305edb932b79ab745abcc265b8c7a37063ddbcc972c26864269ee557785690ae6401b7b384ec61a83f9056f3665e523a0c28d48e778b0314c1ec2a83ee9805d0e0013ff7eb7b8266ee94659f3372f5981ce1d87584cb1f0e80da2c0c95c16b4e2dc85fef74a61da258edff86f377ff16f321689e7ba5052364d2448a333c7961 +m = 147c065d7cf409a115a8df448134e1081e296f120729ca37b4185b73e2685931 +ct = f19d2e434e400cf9247cbdb0f80dea6f915e0ba2f35f34e12def57a78c4d2ba4e2a21b91010c6dcf9c4b5fc01efe0a0d5ce009ff0a99a4fa6936ec0b05af2719bf504eae1882e72eb2ea004c7f7851af09a53648b73bf04d5180abfcf637bc0023be8094d087920a3725c6bf8336ee3291f4e0aba39eddb375b584e9c97ccb5df4a1493b33ab3ec9805e2ce4baa4db900ead14d2ad98277ef8be3846c94dcf14d580cde90e79901ca979dc21900eeec6db34e64ec545729b64fa44d0554ff5069a7719bf492f49e013a2476dae80403190aa533a284b5477417b583a52d394d4dea4ff189faa8565199d245eaef076f2e7545d567f5f132096f1e59abbec88742f18b86b929ba65a3eaab1a6ea863bfdd74ff3906c986993fdfd31391f579023365cf7617b023a941ba8113f9bdb25b5e38342b5a5b4a19bfd7eebea0d55f4af28159f005e00ba5b6b6d747937d6f8a241c5148c5b7c9fe71fce6ef49eedf0bbb4bc3dd9d216888cbf74d70476c9deb3fc80a4f159f61bc630918f0c2daffdb53394874fa5e5a721cd2c543dc251025987ad0d1d6cce864eef703aac68cdfb250546c63e03e460c0171b4ca76d1e5b08f46698de04dfc41644cb16cb01837fd9906ef09a8eea23b0d8b08d95a920c60257240410644664558bfb730adda7ad8097e77c65dd0cc4194994a4416c82ad89c3f3a0ececba52f60268814e729ebe79f1f6241b203774c2764ac90fbdf0a4c02b1c9ed213dadb0ecbc9cf615cd7edf5116430a298d29ecf739949579915deff4b999d6d656a270a433614658872356dece7c17931ec8cb8174345cc43050fda0dc4730f85dff7563665721f47e82c990d9995843a7d80575e1ef9d990cb083be93fa5e2898391d3cc1f84fb15902111c2fb3b069992a7585b33cac7f0a2fd7c431b4963172dbd76f27b7f36f7f0186b649b1d57f06831fea705943771cc52422c0efc41093d9dd1bbf4b77aff1661386c4c5450abe50aa88653fb3eaea41dbd0d2a34634a28c6252dee68358f471f615396f1b5952e78916170ead8ce4c9b53ef2e7e2be1e7e8459289ca75b0a4d2fe33ef1554e8369a469b50e88843fd9ad8c1a9d7de7bc9f751ad4b9b40d8433b862434be1acdeec898e4bb889fd0996b0499032ed11bacd1fc1df87ca00f49eb2752a058c795178a9025259b0246b84f7c67b82fda17c89578a59fac7bb8aa45005c0b4ccd258c656385092e98919a70a30b75862d02d11972546a813c855b2cc49a8e352bbd43b2b79ed5924928e91c61bc62f0e1f21676abf1729113cae97841b862408ae84c3dd849f6e64e2b764dd4c7785820886254410839aadf0121f00f42e10a7954164f168a2a5430f386506865e82ed34a0d38b95737d0d1840d1e56d2db437570d875ab3e64162654ef6573fcdd15381fdb2f110882553664d6ccdc18969fcd2734c491f72b25eb8618731e97d8e38ea43e3c08b2e1dbb0ec63bd76f331d47fc9a28faa749f9773c719e0a9464819369e7fbca6131fee31126630f86a9e9b237c0e0b9c6c3682b4aed3800ee6f8a5bf7dc672f2114597badb34fbb918e50a41131a7186160cf017f96903eb5f14501fd8a82ace2713e43c247b093834fdf27c15977f496730f9ec11b3e2cb274d1e5e48ae7e164c5879be2f3f91fd7ff5d1af15a71338871a927733d76007bad9c099b0d2585eb253202d12bd75d7a830edef0740fe8f25393bec7ba86ccc035e306cf28f736cf54b33f937ecf962921a2803d0702223bdd9737974dddd8cfc795867d29c6702aea4ad39f4ea83511678c5335c8ff2740cd192152013d19caa4d352850695e00b35ec13610b5245c2f33aaac44a3f9b3bd388601a2ac09d9c83fc44739649faf6377ce8b3ae50253c98d6342052687c0f6bbe97698a131f2ec98eb30c4995d4ca2f97ac5bb4f188d58546c1e81d40c2c3d2ac9af1a5599adb68a261a5f1b9c3c8016899325ebc4438121fc373d989c5a0e35b79d4495b7506ddbcbffdfe0c969d4a6aa140a70c5482e8d6591cfbfd9fe7afe52752008a2c1635316cc4bd92a8b2f653ab2e7d4cb8501b70b3289c3d97acb2b771b9260b5812011662d42dd5e0a0de55dc19b7889f802ced54f00f0db36a2ec8f7fde988f6df623f18cdd5b39102157b065c54b675120dccf2b5ee6dee0e4003f79eee997ec33570154355e1ccb23796217eb67fabe +ss = a8360f2661d7a9e5a95dd771b2d9783c39708c49f792a5d2cb354990d14bfc36 d = 6fca9f4e384d8418075cc064c70730801bdb8249899d456a77130d5beeb3662c -z = ce7683f8a03d3cf04e46970ff7d6a12494ae12558346dfc8fd9370bf944a0102 +z = f4626afbae65ea913cdb263c9615a5f66061ccc74b1ac83b5fbab8fa1eb6799b pk = b2197fb4a3ab3d470a0ac937d1b37a3aa5b4f6a69bff4c57a8306ab886243ee6b34e8922f9b416faaca70a850d9aa008b382383470c0bb971027cb329cc91a9d89bd46b64e26b30dd01069bb8c99ec91895769bb93661b429a0a2c6ba5ebea62cc6b6923b27d9b99b8fe2a01db93a6fe6362d530093d4167ef35626438a949ac2f77772b1ffa65f0c771a2c18cebb2b9a3366f42782353b07961d485b7b70020a36c5375152f558f3e028fbba53405f58918541afd0b89e4092b0ec372ce48c4222a6b33a192d380a1a133272a6b2a66816f33e410ee02362f6bbbe44976dfaa4bdb99bfe9897894c254e5a51728858ed386980c52064ea3a1a837b5ba02ba34fa6de770b001b9a9fcc90fda64359f37b85f203c0ff5cf1e7c4681e990a11183d158269267722441048911b41be8b63dc139859973eb4578c929b730b1cc93a4cbb6caaad874391687732eb99170abc2812865c3fbcef19b732ed91e02930c790bbbd6f411bcba06769b779e125ae3788d5b3844a3a7b4ddf8bf3e53274c29ae25f4573a459fc2093caecc197e050075262c7fe590b9a90dbfec86a2546e800ba726d344c0c667445b35872059365626c4b9af412b701e00392171b1f8922129123f05f3696f47c405739e0460590a52ae7c875f0a088b0e4924ef3711b66b3fbdc7cf9c183183f8cb122570cb2c5f18f66faa2cccfb42645f3809dcb623dd48936c0440daf036f12ba9f3573623360ff00ab58604106fd820bba7a9e9b09b7c022262330627302e0852b70c020432235b11d750bb5a700b123dce093e25c993035cc1c3237743bcaaa3620a33b16dadbc93555c13ab0781463a82df942b58930cdde7aa1f256cb7860d0704a7d82182cd494bd803684c4cb4bc278655f31eb439c9aacc78ce21967ea07e1a6b99e7f8253229754c7a97fc6411549641018cbddbe2cd0fbb12f35c0791031735d4ab51c62e2336025f0b327bc82d92dc91dfe544db159319215c40666b86917bd2a889de8647ad658c16b9a3e1d21532011fd40b5c548534f9151f39dba83cc3170db022d488662a0223c750a1d4e048cf9157bdcb0c75185e774ac10be2b0fecaa021613cac50461a380f419a9fdf075787fba921a6a9f3ba49d78892771994fff11a57fb27dfa895d4c2a58820798a7b0bcc096b2f591a4c53bff56b054f059e21330c308a2ab9e403e5b6b7ec7574640812464710b508043ffc3b5d2092ac45b39d0c743ef1873286a6779c15669b854549a156b77d42da9cb39b868c70a037d9737746b6f1b91733c41c610977a5f66b98a167d9a15e4f8750ebf00876783bf23b9e023793b6c54ad3a3c2d33ab3eb0a2a7ccb9cf3f187bd8b358564bd9948810f91b9dc426588c51432c83a4d704677f2918f6670e611a410014838e9be4c12415cd64ca1ab5dc5f81ee8610adc6c29f5da8224093d350aa4b7988303411b1a55a240ab4ad7900a4f3718a58901371623dfcb7515db485d1736068a1549714402649b1cc322ed093eec5022113384b8e40ebd9ab8654393c013c99380be30e16d565170d2f20d12859e795c2eb28c8900910e3b294302d420193b540f826b48663f726304cc936fddfa8fec5304d2100c45d3a0b9308fd032b535780dd6fb7649410867e610dafc425202316718ab0104552393084ce56e2a36a5eac1b0cd9899e3fc2816f94b59cb76c22742f736afd60b9615130caae76f905cbc1414c8274b11b713cd049803796a8ba121a95e946be67418a205759a3a285aa69ff254bc2b39ae75021227c6c48a377f9e2267b3725666e6480920949c413a1e805a52f159fd216938d0ac4743ba060b7fd8ac2071c7022c66680d80af15736c5a3500826c1448e601058ba38c278df84a6e65357adf6735f114bc17011eb9bc48698893acb932bf6aa9d9f845de9c4e4d4a1c93a1c9bce1023181746b7559ba6370fef77671769cbb53b2d6f123cb800f26ca8b6dabc7c24560d29561d8c0581391329e73209551ba29a579cf40c6bf792b0801b1d24204c20139cac32beac739e2269440c02990568ef2a9cdd3756923a100d97c42d45b71b0432176238c8c69af81755b194a2aedd65c1c4118a320c4ac672e78ba69fd80828b7094227bcbade5536f95b440fc9b953b4e0729bd185ca617560546ea3591818f0dde74e33983c010419218b08822da9c3c62eae1f2284801b3e4 -sk = 8747252c693a0d6c06ab66071b13517e1c45abb370d26aba3fb31641a170b365c5f6235d1fd688d81c72716a3921420d228a7bd5a1c48ff445c47489b8116b7ca14d3ea78b20a7b5e579c5681187a2aa8fc900557501003fb9bead185ba9e7939f247bf1757ea66a4392095ea90239a3c67a8ca70186047d9a6b06b8887fae01ba8e556319a003934c88ddeb05f9f3b4964a6545e8443f57383a2bcdafd96c794b399296615bcb9c59f8703595709724b6a4bcad06e116f4542c4322072e3c6713015b1339512419b4daa8c87f5a8bff481964a8ab8a101943230f9527a10a604df6275e1ef18fe54a57d7544402134ab77802333897d4769ac23093f9b951d735b5623452c90270a0896ed3a81bf1191e451a4a67a4542556af78f1690982360ff1bfcff66386827df93bcd894ac8c996be6e0a29de70ccd459b9de46acc9e8043bb82d01c40e5785845ff4b0ddb8184afc5e52a72e899093669a9eb110a100a1159241bdd40612a9b1955b1752810764e7b68d89704a61442adf68108aa229e406cd10b6527a39a6b46068685b5e802cc25614492dbb6e06ba2160e930733956e7b29ab9981d4b477cd4eab880e56eb711b278f540ac204a996b32fd06b8bfcb7729660cf5125fe1626199f6285da628faf491dce2ca3bf285902350d52c0649339f31ea3ab764b90701bd647194fb27383681c13470b8d5ccb61dd74c5f666ffea7b0714c469c4803107235599c998349b5be7ab9e9dc6f01e928593939270411ee2490f16c54ba672ee03b710978760b962319bab3c2fc67cd9c2e9d4c153a8717826bc4c3d6c7444c051a61a06a2c87a1207a20754e9d7725b91077766871509ccc93f5a1fc1c20680263082801f6b81e8f319b92110f2da22f0d8c251ee4531b127c44b378da6a0d26f55de3285190ba1357012e42521cd1855252147d1abcb1582422f55091b5eaade93194cfa0be536343a282c4a948c355984cd20a7ca454ba034ac7355b02730107a71b3986fa01faa38d17e07494fb510e5526f690bfb27294fbb963a0606e140a182a9a247029abdff6bd8e876ec92207312432cc2700ec4c6a4a7037c5b612eeb2099d54872a5884e28981d794c7855590f1f1464017c8724bc92e0b644de92b5b80a573f641e4e65bd6f0396184086d6a5a50662f9cc6241fb7241d194b6d23ae6fa3c59fe60c81309ff7e39f93f72bcb0696edc771a80cc5ffc74138ac9d01b95defe7258bc555e3e28cab6a73372337efa0b4aa0c7d13b312a7313f8b63426c6677407903822aa1acf4acf4a130c4c68dd4dc47dd061ed0a4969e5ab630baa11fa0aa51133c6509c83e603425a385730aa0e07a2bac0754358c812f483f5ca6bef3105cce4cc33532116c6493f19880f693581e08999be24db44b84970c8fa4f6784d50614cdc9e626a31966acf81309ea6a730eb42011663cf10a90a9ec12f3fe133a7d02cfb95cecc6b52cc08571bd03e8315532b7c76c2040b60e9021a24734854b6a3d77cbfd087015410b7322ad5d9b04f651f895ab5bfc25f8cc9703bc67dc5eb5aede41682a17feb1b4339335efaa44a64e8b4eb0bbe17fb00875a06318c1e68c42e6ce0946a59c61700a7277976e2e8bfda906daa229d20732b60965dc5d794dc5306e68226aa18081486c28b28093b12280fa2965cbb012ab67a05664950a069d13332ba5c19c8d8c7583c1f74e4aa60006c3e2c9b8da1bb8e1935730c31d3eb066697b4fa93ac65e21651535ac1d3983c915b72eb260980c37033ae51c833e4e3c1cdebc03a7b17e85c224ca078dd91024805c444d766bba603f225073846bef949937c6bc2a6bb4519a5b00036a5d688b354e64775431ab18c37b0167495b31328454368ba49ee2a542447466269c6c122b78ac44d60c983650237b2957fce240d39817180a1898fe589c0044819037f1f679aff2c11fc4c0d2e510fe35272d1f823c2781198ac1859e2ce252709d4bb8c0dcb64c4f2baa33985312a1193095379d9cfdb508ce634a0e305ad9d554053950bd8b902ec462d0a1910303b4bede153b11c915dbb1feb52b312c42f754c0131c1218f4ca4402c4d74430b9415c586419210196eab4c6ba4587ffaaa71583c97c329731cecaed1414ab3aba4d830a834d6b8013495c89c4b413414b2197fb4a3ab3d470a0ac937d1b37a3aa5b4f6a69bff4c57a8306ab886243ee6b34e8922f9b416faaca70a850d9aa008b382383470c0bb971027cb329cc91a9d89bd46b64e26b30dd01069bb8c99ec91895769bb93661b429a0a2c6ba5ebea62cc6b6923b27d9b99b8fe2a01db93a6fe6362d530093d4167ef35626438a949ac2f77772b1ffa65f0c771a2c18cebb2b9a3366f42782353b07961d485b7b70020a36c5375152f558f3e028fbba53405f58918541afd0b89e4092b0ec372ce48c4222a6b33a192d380a1a133272a6b2a66816f33e410ee02362f6bbbe44976dfaa4bdb99bfe9897894c254e5a51728858ed386980c52064ea3a1a837b5ba02ba34fa6de770b001b9a9fcc90fda64359f37b85f203c0ff5cf1e7c4681e990a11183d158269267722441048911b41be8b63dc139859973eb4578c929b730b1cc93a4cbb6caaad874391687732eb99170abc2812865c3fbcef19b732ed91e02930c790bbbd6f411bcba06769b779e125ae3788d5b3844a3a7b4ddf8bf3e53274c29ae25f4573a459fc2093caecc197e050075262c7fe590b9a90dbfec86a2546e800ba726d344c0c667445b35872059365626c4b9af412b701e00392171b1f8922129123f05f3696f47c405739e0460590a52ae7c875f0a088b0e4924ef3711b66b3fbdc7cf9c183183f8cb122570cb2c5f18f66faa2cccfb42645f3809dcb623dd48936c0440daf036f12ba9f3573623360ff00ab58604106fd820bba7a9e9b09b7c022262330627302e0852b70c020432235b11d750bb5a700b123dce093e25c993035cc1c3237743bcaaa3620a33b16dadbc93555c13ab0781463a82df942b58930cdde7aa1f256cb7860d0704a7d82182cd494bd803684c4cb4bc278655f31eb439c9aacc78ce21967ea07e1a6b99e7f8253229754c7a97fc6411549641018cbddbe2cd0fbb12f35c0791031735d4ab51c62e2336025f0b327bc82d92dc91dfe544db159319215c40666b86917bd2a889de8647ad658c16b9a3e1d21532011fd40b5c548534f9151f39dba83cc3170db022d488662a0223c750a1d4e048cf9157bdcb0c75185e774ac10be2b0fecaa021613cac50461a380f419a9fdf075787fba921a6a9f3ba49d78892771994fff11a57fb27dfa895d4c2a58820798a7b0bcc096b2f591a4c53bff56b054f059e21330c308a2ab9e403e5b6b7ec7574640812464710b508043ffc3b5d2092ac45b39d0c743ef1873286a6779c15669b854549a156b77d42da9cb39b868c70a037d9737746b6f1b91733c41c610977a5f66b98a167d9a15e4f8750ebf00876783bf23b9e023793b6c54ad3a3c2d33ab3eb0a2a7ccb9cf3f187bd8b358564bd9948810f91b9dc426588c51432c83a4d704677f2918f6670e611a410014838e9be4c12415cd64ca1ab5dc5f81ee8610adc6c29f5da8224093d350aa4b7988303411b1a55a240ab4ad7900a4f3718a58901371623dfcb7515db485d1736068a1549714402649b1cc322ed093eec5022113384b8e40ebd9ab8654393c013c99380be30e16d565170d2f20d12859e795c2eb28c8900910e3b294302d420193b540f826b48663f726304cc936fddfa8fec5304d2100c45d3a0b9308fd032b535780dd6fb7649410867e610dafc425202316718ab0104552393084ce56e2a36a5eac1b0cd9899e3fc2816f94b59cb76c22742f736afd60b9615130caae76f905cbc1414c8274b11b713cd049803796a8ba121a95e946be67418a205759a3a285aa69ff254bc2b39ae75021227c6c48a377f9e2267b3725666e6480920949c413a1e805a52f159fd216938d0ac4743ba060b7fd8ac2071c7022c66680d80af15736c5a3500826c1448e601058ba38c278df84a6e65357adf6735f114bc17011eb9bc48698893acb932bf6aa9d9f845de9c4e4d4a1c93a1c9bce1023181746b7559ba6370fef77671769cbb53b2d6f123cb800f26ca8b6dabc7c24560d29561d8c0581391329e73209551ba29a579cf40c6bf792b0801b1d24204c20139cac32beac739e2269440c02990568ef2a9cdd3756923a100d97c42d45b71b0432176238c8c69af81755b194a2aedd65c1c4118a320c4ac672e78ba69fd80828b7094227bcbade5536f95b440fc9b953b4e0729bd185ca617560546ea3591818f0dde74e33983c010419218b08822da9c3c62eae1f2284801b3e4b503f8ec36d39fc7b4b8ada1cbb933b9db9ee118bf081ed75dd5dba7590f6c8cce7683f8a03d3cf04e46970ff7d6a12494ae12558346dfc8fd9370bf944a0102 -m = cf31220f44de862e1719570e1b26e897790159366a385452334fe24cdcae28ba -ct = 8afe417c3ae6e41e4edcb48efb4f5645569adef647269f9caf53b9cf1b4082392f6385dddf6c43a6458640faf6b36fc1febfb8965288ef19505651707f2e0c7b8ea8bcbd0354612001a08df142d3342ecb18a09fe0d7eaf3e819e2dba025847bd5973f206543faef17537efb6347fda905a3d1ce39bf6269fa8d520037905cb12f07290425003850ee949076fbf1a96bac5de126e6541081ec53f955526fa25116d7c9ac91fe034c42fe3f50be47f7904ede45eeeb66edd45a7b94febfc8544f53b0944e2b27cf56c33554073e3d4db86bfaa484cdef9dba944608a9ca9c1c562977634ab84f17222a55bf6e86e7129a8abd1b68776d5b19967a0194b15d4178b90cb896b2a71835e770334a804a6b3586eaf3b45e8fef33f19ec2f4c97582f0b51d596f533a75026ef985236db7529b430d4e64b7f4cdf632f99e751e9b192b78b7d64972f594ad5c86a60410563ddc6c298e89d2b65dabb19bfc36308134e60bf1b3984036f9fa61b371afa779af3cdf36a4f111cf127c0cb6951a5bb974cbe06b67a17c9128b37b57e66d654a30294055d2ea44448c018d043f64927b8c6482448ac6e8659a9475048dcac824c512bd417b8bfc061be3b951051db6f8b6e9c29913a5f7a0fd19f3064af724da39c519722e4389293158d32d249dd660fb7d0eacd837fca63503a5a7b58aab88930721e6889def5f7267d7c8c0ac75765237c32f58bb5c4c57d57e83bc4eb0fea38e3d3951b2e442f40a2e6b70404a198d96a68ff737a91fd9a0413920e0a41c70961c0194e5a7a34a6121b7ac4c42a7ae0ad1c582b59de2b0f7620e605c12e176c20d6b04f276566daf93909b78afaf0ced923164089bdf221c11ac47d99a65bdfc44fa650a66b3d60caa951b97f1efb4c96312b31fec5cb61ae47bfcd6dfbbdbd03b8942f33a8c8d8ce5eeafaf7a73b2851a7342f550a9688853e5421da9ed3fa48695a423bf3fea59f5a825027a4f88103a8809ad83cf27bd18f0e92265af6fcc951e27e6e36d42f3710c7d15806c0ad9a312e9b5ba0f552ec9f9ff204bfcc7b29f79b290a3246feddfa5a30b64b10844ff070fba7c064030d03af7d4f300db28918a1633936c53e2edd0fb3d30448bce40e3b9c61e5d0a2b654f34fdccf9b653cdd3bff6eccc59bbfc888ae75ec108e7da609576a7191ff051fad171991151a4271473fc09b2bf00d8afc6398e4816d8569e3c24965b595311ee8e3692405315bf8e7fca65be91cecc3ad4242cd5d31ac4fc257fdd01aac93f434264e2b39e74a58f37d913d23e5f1cd8b084cc92d67fb41a20da6d19619b1c1ad67434c5ae4ea6742bdfefd7ccfd32e1ffc30246ff94614913145c5d5ad25453cfa9e1d66a2c2c647825b2fac558842b9d39e0b452e448514a1917aa50def526eaad247961e906f7745676ee996ccad6a008a9463332608915822b7acc6027d90f711c895627165abb417f337e87073d01b2a58d5ac6826f0d10926ffe197ef6c3d48c426ce3bfbb0c51d0b634a94d4035c1e233c099b734b90868524cdd418f71bc2cfa8bca7a0c36b3df3c561a213f0d6ea4a16a6178efeb22f56d224ba0fc78f2624e00a5c2fce5c6d4b7ca9d5739dbaf4190cd25bd4ab5e8f5c39877fd56b8c2924652e1a52fdf5de9d42e8bd2bd71e7e2f02604ab3895765a5c7bcb10d716bbebc160505a66d065a1c7f4bc6b016ee6873d4bc4128e490a8acf0fc699abf89b11dedce3e327c77a132996d80a6bc15ea8ab27af1bef5a098fc87fe8d9ed64c7fbd43fa1724323da1471564e2958c38ed4e107e21544178fb7a65cbaccb5e71ca45d5f1b81a430a7ba2eb546e5b79fc0aa845e2a2815290adc9aad51552ce9fde71d4fe51863cd855f5e44c42e5fb767fa663e17388c49f14d7d8c3d7fd4861dc1581fcfa48884ea575eb36907a4bcd442a40a70f46795eada54c3b1a32b86a2f0f6c406e3766cfbef5f472acacd97728c170a453f1078f77738bd040a3ab1f61ceeafd7333f9485c557d4570da02245bdc93acb1ea93e6ef897d12e02d0483826790a0b736444525fca5c88399505322621bc12a895021dfe068300a1f75bc740dd584d8544566baf4a3a555561395a7766c31cdb2817847f776038d87bfd3d904e0b59847e7dc437a2f3f3eaad53b1e6065830fcb8a3f7fd2c1b98bdaf7cfe9e522b1fbef7f621dcdd255b04979e0dac497494 -ss = 633677961351d862d0f685050ce89f79fed7397d7f598e84243e0e23372e0025 +sk = 8747252c693a0d6c06ab66071b13517e1c45abb370d26aba3fb31641a170b365c5f6235d1fd688d81c72716a3921420d228a7bd5a1c48ff445c47489b8116b7ca14d3ea78b20a7b5e579c5681187a2aa8fc900557501003fb9bead185ba9e7939f247bf1757ea66a4392095ea90239a3c67a8ca70186047d9a6b06b8887fae01ba8e556319a003934c88ddeb05f9f3b4964a6545e8443f57383a2bcdafd96c794b399296615bcb9c59f8703595709724b6a4bcad06e116f4542c4322072e3c6713015b1339512419b4daa8c87f5a8bff481964a8ab8a101943230f9527a10a604df6275e1ef18fe54a57d7544402134ab77802333897d4769ac23093f9b951d735b5623452c90270a0896ed3a81bf1191e451a4a67a4542556af78f1690982360ff1bfcff66386827df93bcd894ac8c996be6e0a29de70ccd459b9de46acc9e8043bb82d01c40e5785845ff4b0ddb8184afc5e52a72e899093669a9eb110a100a1159241bdd40612a9b1955b1752810764e7b68d89704a61442adf68108aa229e406cd10b6527a39a6b46068685b5e802cc25614492dbb6e06ba2160e930733956e7b29ab9981d4b477cd4eab880e56eb711b278f540ac204a996b32fd06b8bfcb7729660cf5125fe1626199f6285da628faf491dce2ca3bf285902350d52c0649339f31ea3ab764b90701bd647194fb27383681c13470b8d5ccb61dd74c5f666ffea7b0714c469c4803107235599c998349b5be7ab9e9dc6f01e928593939270411ee2490f16c54ba672ee03b710978760b962319bab3c2fc67cd9c2e9d4c153a8717826bc4c3d6c7444c051a61a06a2c87a1207a20754e9d7725b91077766871509ccc93f5a1fc1c20680263082801f6b81e8f319b92110f2da22f0d8c251ee4531b127c44b378da6a0d26f55de3285190ba1357012e42521cd1855252147d1abcb1582422f55091b5eaade93194cfa0be536343a282c4a948c355984cd20a7ca454ba034ac7355b02730107a71b3986fa01faa38d17e07494fb510e5526f690bfb27294fbb963a0606e140a182a9a247029abdff6bd8e876ec92207312432cc2700ec4c6a4a7037c5b612eeb2099d54872a5884e28981d794c7855590f1f1464017c8724bc92e0b644de92b5b80a573f641e4e65bd6f0396184086d6a5a50662f9cc6241fb7241d194b6d23ae6fa3c59fe60c81309ff7e39f93f72bcb0696edc771a80cc5ffc74138ac9d01b95defe7258bc555e3e28cab6a73372337efa0b4aa0c7d13b312a7313f8b63426c6677407903822aa1acf4acf4a130c4c68dd4dc47dd061ed0a4969e5ab630baa11fa0aa51133c6509c83e603425a385730aa0e07a2bac0754358c812f483f5ca6bef3105cce4cc33532116c6493f19880f693581e08999be24db44b84970c8fa4f6784d50614cdc9e626a31966acf81309ea6a730eb42011663cf10a90a9ec12f3fe133a7d02cfb95cecc6b52cc08571bd03e8315532b7c76c2040b60e9021a24734854b6a3d77cbfd087015410b7322ad5d9b04f651f895ab5bfc25f8cc9703bc67dc5eb5aede41682a17feb1b4339335efaa44a64e8b4eb0bbe17fb00875a06318c1e68c42e6ce0946a59c61700a7277976e2e8bfda906daa229d20732b60965dc5d794dc5306e68226aa18081486c28b28093b12280fa2965cbb012ab67a05664950a069d13332ba5c19c8d8c7583c1f74e4aa60006c3e2c9b8da1bb8e1935730c31d3eb066697b4fa93ac65e21651535ac1d3983c915b72eb260980c37033ae51c833e4e3c1cdebc03a7b17e85c224ca078dd91024805c444d766bba603f225073846bef949937c6bc2a6bb4519a5b00036a5d688b354e64775431ab18c37b0167495b31328454368ba49ee2a542447466269c6c122b78ac44d60c983650237b2957fce240d39817180a1898fe589c0044819037f1f679aff2c11fc4c0d2e510fe35272d1f823c2781198ac1859e2ce252709d4bb8c0dcb64c4f2baa33985312a1193095379d9cfdb508ce634a0e305ad9d554053950bd8b902ec462d0a1910303b4bede153b11c915dbb1feb52b312c42f754c0131c1218f4ca4402c4d74430b9415c586419210196eab4c6ba4587ffaaa71583c97c329731cecaed1414ab3aba4d830a834d6b8013495c89c4b413414b2197fb4a3ab3d470a0ac937d1b37a3aa5b4f6a69bff4c57a8306ab886243ee6b34e8922f9b416faaca70a850d9aa008b382383470c0bb971027cb329cc91a9d89bd46b64e26b30dd01069bb8c99ec91895769bb93661b429a0a2c6ba5ebea62cc6b6923b27d9b99b8fe2a01db93a6fe6362d530093d4167ef35626438a949ac2f77772b1ffa65f0c771a2c18cebb2b9a3366f42782353b07961d485b7b70020a36c5375152f558f3e028fbba53405f58918541afd0b89e4092b0ec372ce48c4222a6b33a192d380a1a133272a6b2a66816f33e410ee02362f6bbbe44976dfaa4bdb99bfe9897894c254e5a51728858ed386980c52064ea3a1a837b5ba02ba34fa6de770b001b9a9fcc90fda64359f37b85f203c0ff5cf1e7c4681e990a11183d158269267722441048911b41be8b63dc139859973eb4578c929b730b1cc93a4cbb6caaad874391687732eb99170abc2812865c3fbcef19b732ed91e02930c790bbbd6f411bcba06769b779e125ae3788d5b3844a3a7b4ddf8bf3e53274c29ae25f4573a459fc2093caecc197e050075262c7fe590b9a90dbfec86a2546e800ba726d344c0c667445b35872059365626c4b9af412b701e00392171b1f8922129123f05f3696f47c405739e0460590a52ae7c875f0a088b0e4924ef3711b66b3fbdc7cf9c183183f8cb122570cb2c5f18f66faa2cccfb42645f3809dcb623dd48936c0440daf036f12ba9f3573623360ff00ab58604106fd820bba7a9e9b09b7c022262330627302e0852b70c020432235b11d750bb5a700b123dce093e25c993035cc1c3237743bcaaa3620a33b16dadbc93555c13ab0781463a82df942b58930cdde7aa1f256cb7860d0704a7d82182cd494bd803684c4cb4bc278655f31eb439c9aacc78ce21967ea07e1a6b99e7f8253229754c7a97fc6411549641018cbddbe2cd0fbb12f35c0791031735d4ab51c62e2336025f0b327bc82d92dc91dfe544db159319215c40666b86917bd2a889de8647ad658c16b9a3e1d21532011fd40b5c548534f9151f39dba83cc3170db022d488662a0223c750a1d4e048cf9157bdcb0c75185e774ac10be2b0fecaa021613cac50461a380f419a9fdf075787fba921a6a9f3ba49d78892771994fff11a57fb27dfa895d4c2a58820798a7b0bcc096b2f591a4c53bff56b054f059e21330c308a2ab9e403e5b6b7ec7574640812464710b508043ffc3b5d2092ac45b39d0c743ef1873286a6779c15669b854549a156b77d42da9cb39b868c70a037d9737746b6f1b91733c41c610977a5f66b98a167d9a15e4f8750ebf00876783bf23b9e023793b6c54ad3a3c2d33ab3eb0a2a7ccb9cf3f187bd8b358564bd9948810f91b9dc426588c51432c83a4d704677f2918f6670e611a410014838e9be4c12415cd64ca1ab5dc5f81ee8610adc6c29f5da8224093d350aa4b7988303411b1a55a240ab4ad7900a4f3718a58901371623dfcb7515db485d1736068a1549714402649b1cc322ed093eec5022113384b8e40ebd9ab8654393c013c99380be30e16d565170d2f20d12859e795c2eb28c8900910e3b294302d420193b540f826b48663f726304cc936fddfa8fec5304d2100c45d3a0b9308fd032b535780dd6fb7649410867e610dafc425202316718ab0104552393084ce56e2a36a5eac1b0cd9899e3fc2816f94b59cb76c22742f736afd60b9615130caae76f905cbc1414c8274b11b713cd049803796a8ba121a95e946be67418a205759a3a285aa69ff254bc2b39ae75021227c6c48a377f9e2267b3725666e6480920949c413a1e805a52f159fd216938d0ac4743ba060b7fd8ac2071c7022c66680d80af15736c5a3500826c1448e601058ba38c278df84a6e65357adf6735f114bc17011eb9bc48698893acb932bf6aa9d9f845de9c4e4d4a1c93a1c9bce1023181746b7559ba6370fef77671769cbb53b2d6f123cb800f26ca8b6dabc7c24560d29561d8c0581391329e73209551ba29a579cf40c6bf792b0801b1d24204c20139cac32beac739e2269440c02990568ef2a9cdd3756923a100d97c42d45b71b0432176238c8c69af81755b194a2aedd65c1c4118a320c4ac672e78ba69fd80828b7094227bcbade5536f95b440fc9b953b4e0729bd185ca617560546ea3591818f0dde74e33983c010419218b08822da9c3c62eae1f2284801b3e4b503f8ec36d39fc7b4b8ada1cbb933b9db9ee118bf081ed75dd5dba7590f6c8cf4626afbae65ea913cdb263c9615a5f66061ccc74b1ac83b5fbab8fa1eb6799b +m = 90ce0644a11e7225da1f86e1d34d506fce42b809d968d23ff0c6ae57ac5ef075 +ct = eaeb6bac1cbfaa0fec3baffd32d76b5ec1198bd58b41c1a8c3ad242abb0ebd8885327667e70014dfc9ca211e205b9c9fb41449cf4be000f0550e80b84de0dcc4a4adedcaba2dff49f19565271b81208c0c98cfa4ea5fbfa7d13980ddfe5f27b37ef7589bdc0184809189f4a793f6efbecd0ce9b5aeb642592247af0c3e7b0261dac950b751870a5053099d5882f2106477fedcab48f933e2f31d03eed5f6284ea44c6b55248c3999bcc2b16d53b3b6989f7d49d08726fc58a032d51e2ea7caf4bd2471a68e09c0b36fd6550062565c64bb6ec5e3a35cd020ad283c3788c66649cf7fa73698c59f33cbda8d9abeb09c03fb51130d00506d08b2bd85fa7450fbd4ff37de8b210c60b74f3acdd79481126b137a941d2adbb75107d6d36bff43175e32c00e2e2a956de35dc0ac2c781acd762cdd8ae2ca7380aa7fd51493436d708a25449fd10aca4599f9372fa85dcd2a2fd4250b942214fef6c488b25b855aa439e31bac35ad38dee989a8458db741d28be5f81979119c62c74ed57a11045574527e7471a12e62c27e2015e70e63ae57ab0954b7d1e864ea2f65deed7d5f400a36f8c90928a90cf8203939b8fc8c99ce4956b7821fbe17e38915f16f567a4eed992665d126181b2c2b9ee0a3f33ada790d37313abcaa937ffab4c9c6d23d4b164249d4740fa3dcdde625046676342b1c7729e9c38c7ac183f588d419b0dd48c3bb6a77ceb7aa33b28bc3d91c07fa44ba4816f3607f44dfe0c7d4ef142c626e335657b155d8084cc48ba5f02c8e7be8d78cf49a5a10d8e3df0e3872574ab24ab22068f4e1263f2d0230bc8715abb66789b46114abac8d7d3e3e83a89f1da7b6ebe9d92807f22435d8d37d0b8c000d4678e4b88a4eb54beae7f129b746d54519ca0196798dac3f2dc9a12c806ea4a05ccc16734f9791f59be5f3436c97db8872aead08fe37f77bd0779012af564aba74d444ead8a25394366fef7f14327137d44cb58271fc225b51232572776fdb04fb651d85e285efab17bba4c70f44f85a4a23159a423217c44cfbce5ba3792d479aabed9f6001eb3a53bd978afef402ac641a52c4019646d1cf0604b646d9126a4c4dcb80cb237e126d8c8bb0b4b5cb67c4b80347a7c76711d8838a20860e56822be799c828e82f3ff7953672f7ea592a8e899778fdd023eb7b509dc4696f6b0cfd07be493789b5c71fda525ac7ca002f393cbd36b5a3710039cef1689924eefe6af541710ff74ff87c9d5e81807392b01c0fc099386b46ad3e43c384d95e3e758819e531bb86e0eb94daa64b944122903c1908f404298107bb0a4684e080667113722ab7d9e989763f01f39e7f415b40ec812d8a7f80ab40ce5debc2c3b01349305bf23d5d3545626d86036c4140cd642e9cdb5c335c6b3c6515c2e22e760165aad5232f75c20c5dba8720b2b3ff999c0c149d6c6433948539a95baf3a2a68b6bf836e4f670ef95abed4428290ba5a82c15920e9d659b7759358ce1e45b3c2134c8345d0bf87b54ee0f55e6f51f129c44b8b96828abace181126f6dabab74b1d012e81fe1e464dc93ee734a558c542e5588cdb241fd2d29318077dff889391baead69bfdfe91e972306a94b5c6f81f3824b48cb6189ffa91f416386c64e2eed0062044b106b382a06ddb2a141a10c2c12c393cdffeec0cf90e0b96939c5da45db23a75226c731c40455e037e599537e9f38da8a341956bb8a8f21e6fdae64d6b533e2efd03a497d94df029fbdc4b22b15a543151b2937fa782fcc318d4e4f20ae42deacb89cefcce4fa56da6733f705ad33afeea6492bc53a1a8fe2c665a2aa1038dc557f580f06c90eb61ad9e7a8135336070f776faf49c3d6eb479476acb3a222172a6119e115e1b80c53b558588cf0f037bc4ea4a989bbb87af91dfe9d20aaa66809ceb864518d5c9e6b608e039fd9fb1ff48a7eecbde1dce8b8b7fc815abf5f1ada075c8df82622bd50b80d3f75c17f79f38e177322eb7174910ca4ba33b5680a9ca1d15edb70d7f6a6c78f44a7d03b9aeae1a274d52d0316e30575c9d9d8926d149854d1aaf017eacc3107fb3a7bfa5822236ab78fa6e844790747c1efdfc666b703dda6e61cb9fef7a6708f0314a75f5f3108df9cf357dcbc58ba2eaaeb5c415ee265fadc8481b2c4136250ed83d7f0f20ec7c892aa52426b9a54f944fcf21eb6fd881f6985b2fa7d8a14a1d482c8bbf +ss = 020e73ba7230fdb0f9c084665fac5080ab4382046e84c536a4fc6bf2ac6c53f7 d = e58f71bf175c0550a67e00e0f7b3b7fc36bc2707bf0c93044a492626de36301a -z = 7f7054814869cf7625e45647bc1547aff288dbb90699b2ad84893f3b755d9722 +z = d79909f31e8168ac129feed8efeb21f07c02f282cb90f63ef10eb2f4a9acb886 pk = dd9521e55c85d1ab71750942bae014469040333767dbe4ac80e4b3d6751f27fbb0eb0418406111c9e77c39977315526bbe1c8e06150a0384ca618001b08554c472464ae8b4b9eb679a790bf0e311ffc20b9a28a2edd52c4cb51bb739712419a116b1c0de65217ac429b091bbf94cc9e24886ffb623889028490976074888ca731ae4f9a9e0e4099f149372390bd2b78516044067201da469c7950bc9c681423b9a45b579160430add2b34d3dec2ce84270fbc019847c017d098bc4224bc9c99ecef95947e358f0f85def6837c5361fce2145faeca7ade0a612138c8cb26bfb534c2087c8dba4ce1f841e704652a093af188c55ab221123540a1007190453163a573d166617f452b9b2c7b9638b0201292dcfca46f4b9c95c1c8a47f44c19380a061b51942636c3bc8950f01186878004db1eb6a3b2ad5410c3484aea11a8d38881de278124c4c2b592b61bd87aef623de1b5b8b2d016a2d985976062758849362b2631a8a08404651305484a3b2dabda9982566822002ba1e83ba8b04c7be77d4086207e5b8310fc28812584129a4c03e938e950cfd43c3023a8774b42c9338ba497e853ba684c24aa03ed33b36ef8c50be44ca349bdaf986f38a93676a7b4cc659656715d0ffb8287b86cc0964d3e1b77e7d83afa733789709714eacd47b8bede99aaba2480002c0fb9136e397790bce939086ba75467340780cc31491e82172803a57129b3cfa3957bb70b114cfa99568428c540b187b98da9eaa20f3a7771d80146ac21b8908260c2cf79383031fb99ced3be7c86168549b8e2d2474e96bfe28158d91a16d5230b2f7b27d645c3b2096659a60c78a602457b0ef8553bff9508175b5e10e08326139aef678703d39693215d5d821811bb0868e483c646a4dbf0958978352b919c1354071c42bd39e9b9394aa54ca577d9b963f4f35606fa892166ac71a3bfa3572bda92c2f9872bd19276cf66c31ac6cfed109bb36b77378c5d9a747637f1950cf36c5b22130eb018b607b74a270e0b733f12e426a2eb02fd3713f72c682d87cb6752a6a3037816b9a1278151c662529b54c52655b76c534e09cba4ccdb85289528b8f0201081cb05066515a3cfcca9031f386d6f4a411df397e526b754a0cfbdcc7968a03ffc7349f32036aa4b15123a6ce8d47f87516c717651d56cc7e2147cff3261ec76c045a32beb047760295e79f8c501c46b099bb7b508cbba9b099f612e595b41d32a946e0bcf26a0c5664b70971853b7965725d52bb371a03f456be855aa495a2e3d9925f6a7c3b98695b5e179e64c17410bacf2035e4fd3b938c98db2526804c79322230ba8455dbefa40caaba9757380944193063335b6721225f40702ebc418022fc2590d00f918765ac41cc6b40d39b45291af80f721069c7f73096b7b0a202749c70ce672f246209c637375e75a1ec03102940e8c17566b7c2ad43167f48a56c55c6b38d289d5675b9b224b7155905c814e175052a7e67685392448003d8e2815ba9810d8930051b615558cacd704202ad50f52890500e8be5cdc91ddfcb61948788a9cc2167a0021566a863b875361153b1a57e0c62f8cb11d3b3840f570b922e4a88151aec22baaf7559f724549b892575430383473b9183214104006dbfa356e2c31ba283f778776b43530a857c8126780e29c0316c64ddb1a947d747a8ed831135a8146936090fb59192b32b50327218125814b2863f2473b708338390ac2e507715136c8786fdcd1c10e2b0d63d2ceb6a4b0d8db6f8af354bdd1bfc6c71afb627686761d97b761fc0aca584539117ca416078c784972f67caadfe67f38eb1996e749e2f11a3c47c389d5c3f1f52d33f14a094cce5557154001ae2d17a2896ab4d0744e9dd4bbdedabf34d38c1c81812a3cbe4a065a0d6ca0cf3a9f5ff0268162a5b3d872b6782cab9149c52c2726079396b01866e00a20bc82208009f625323df535f1658a1ea29b933368992a89efa0ba586381d845099c35a299a467cce67af2d5b066d9891462114569a2261acf20cb64cf3819d0e0a4c20a153cfb5efc9c45501aa26adc5b26553b520a04c4388d665b098fe52b5aec48154a2ab5053279256ba4e6975f4764c77a5fac85275fec08d62534353b17764177037bae5f010266767164b307d4d375c85549edd3261c6e600b1787bbbc13a01210c0764a4a2578d4bf90a24704178f06a4e4b110f5 -sk = a32b081d2579d7737a984126b05465963ac3d0fc3d471b94e30b242699ae3ee7a305d187d9371af3568d7bbabdc30ca69be166aaa07c67799dce7345b2024ee41c5a6f35733cd12efa19256ddb74440829c6b52aaa25b258bac8d950ccdea410535bb3a44a46ebc44f5772cdad96596980c32a14916cf5c4a2fa8538491f7eea270543abc467344ff098edb4762f658b6b26431b9863cfa7546c1489a25bc9061b8ca0165528241b4bc173bf17b4e7873a5081016a1c55e4bb1e7f71b849274d03e05e866656c126485979ce9660afdf3622e3051f76d02243e660a5a78c663880a7f9765df45410926a86acc7962878b4037cf2960b06f072367b476eb24b8c57924a9c699815bbeb0bb10b2a88b0c63f0171c759d59cea91c5c043a41a8155e462325893685f18c5458a0ac3e5bf2c696c8f07727c090e1d3502d075a706551c54a00a710027c52cbd83fb9dbd7567aca2b6eb809c00838e56b209e0c5aad2e6235e2c157d3659d906452f4a8c60b26f838a51f6789e42c00580e4595a5c0a12b796cb44240a4724c298abff1332bb0970a3ec475a434ec4dc2a4aa92c42e22035a4499c66827c882b542a8fb22b6b6054984fdcbd6a637583145010d89a4654bf0bc0a0c3b86788459b659a539833629c1b585a13134d766c9e8003282683aac1486a934edd3a7511319a7952b5eb7c5947b69ab5c904b2481a7709c95bca352df45e8bb87775a9cb566581c3777e7b975c629c89063c8f0e982a24d344ee8a22221a02c6538154217c453ac0ecd4bb1f820baab94d920765c4ac15972aa79ba974f3b5055efa7fe5bcb454f7ae70e1c017322a20c73ebf278054060687c6301e13b52952459c56bc8d8795044302fc9123921143ec2c73278939826682126b65c7d9bac044ae6cc7ca40f92c8ff28470e41d51895adb53ae30216b1aba552fcc14ab277a872029f3dc8d56794d842ba06770808f1c097787973b0a14280c5fbcc45c102c23821a07eea6c3abb4b52ae116f4b38e4a50cfb849177766495463197bca3197b53ab72b172c163003c9ab89721eff925f56b59373f5abd1430b0731419a12ba80641628d78d712bbb74579c0a18a4cb2aa6edd76fd7605fbf8214a00aa44e486810f3ac6e36345431c23f247f251112cb8a6c76444b1a5277b7c68afd2c49d4a81fc5069b9a004cdf0587a4a193d243bc5f16357e1b1f280706b4c16f9d8b3b6a5815a1597c49076589d5303a5c89ad320cf6042f2f819cdff04b850870e807b4f2b6bf99aa8f3fd16e95b3bedf247cdbdab048586116db7a4530c360bb240fb2964fd41a5128cee9fa6ad434b536345a49bc758d849260b78cd9f3b3e8461cbe906e93b209742c0abec1c1bba9baa05a8fd05637d26548f48512f5477b93d0bd54f6674158b2f6ea0488191eb023a641b175cc689a2f326214793228138d6da03bfe4466dc962fd2a7c57102cf3f96cf3a6619d2f613ca063a35f4515c0473140b8ec3c53b1d9974021616bca2459bc31502daafc861990c1b97ea1ab5ae018ead781a67a075cc4924f9ea364bec33ed167637f0a643c3a810914a49366af69b3cc25938e77422832b7078c6be562513ee3648758515e3c04f27eb5cf0c73efce032cf027c7d6916072b6984452cdcdcc5b6293cb98111e13040548c5c4ecb4ea83c01580887eba79f0d700ce25274f4612cdb8427fe9377b7aaa517f12d2766834314263e27086fb8969a38157d9a02da83772691184df5117aabb901899e0e78a42c335b7eabaa462852423748916b9261e834320cb8e8576988321aba321348e68a424183e010bef6f0844b8c7164fc967feb02c76000b372a1547c88c7402347326cb43712be145e1854649b07aed70b798e845f7c4c5b0457ba58a370a9758940053476750c5168494bd733ef0c6c3a06117aa53db762440969a1939539f85c1145307526db7f43ea595833a7a49abe0d3446f2345fb429c4adc43b2bb17bac8c6259f2551b3c28ae1b57fa49889aa6a2503a9017f832666610fc24a4a8657475d3a329d31a793a6a4024330f0b6d7fc2250e6575d8a8947fc30d431cc24417a6ed4bc131b253af142f2ca88fd0c9a44f811103b064759cce44e02cbb062458502b71b9083d097f926a0da50b6914fc70e0858644253fdd9521e55c85d1ab71750942bae014469040333767dbe4ac80e4b3d6751f27fbb0eb0418406111c9e77c39977315526bbe1c8e06150a0384ca618001b08554c472464ae8b4b9eb679a790bf0e311ffc20b9a28a2edd52c4cb51bb739712419a116b1c0de65217ac429b091bbf94cc9e24886ffb623889028490976074888ca731ae4f9a9e0e4099f149372390bd2b78516044067201da469c7950bc9c681423b9a45b579160430add2b34d3dec2ce84270fbc019847c017d098bc4224bc9c99ecef95947e358f0f85def6837c5361fce2145faeca7ade0a612138c8cb26bfb534c2087c8dba4ce1f841e704652a093af188c55ab221123540a1007190453163a573d166617f452b9b2c7b9638b0201292dcfca46f4b9c95c1c8a47f44c19380a061b51942636c3bc8950f01186878004db1eb6a3b2ad5410c3484aea11a8d38881de278124c4c2b592b61bd87aef623de1b5b8b2d016a2d985976062758849362b2631a8a08404651305484a3b2dabda9982566822002ba1e83ba8b04c7be77d4086207e5b8310fc28812584129a4c03e938e950cfd43c3023a8774b42c9338ba497e853ba684c24aa03ed33b36ef8c50be44ca349bdaf986f38a93676a7b4cc659656715d0ffb8287b86cc0964d3e1b77e7d83afa733789709714eacd47b8bede99aaba2480002c0fb9136e397790bce939086ba75467340780cc31491e82172803a57129b3cfa3957bb70b114cfa99568428c540b187b98da9eaa20f3a7771d80146ac21b8908260c2cf79383031fb99ced3be7c86168549b8e2d2474e96bfe28158d91a16d5230b2f7b27d645c3b2096659a60c78a602457b0ef8553bff9508175b5e10e08326139aef678703d39693215d5d821811bb0868e483c646a4dbf0958978352b919c1354071c42bd39e9b9394aa54ca577d9b963f4f35606fa892166ac71a3bfa3572bda92c2f9872bd19276cf66c31ac6cfed109bb36b77378c5d9a747637f1950cf36c5b22130eb018b607b74a270e0b733f12e426a2eb02fd3713f72c682d87cb6752a6a3037816b9a1278151c662529b54c52655b76c534e09cba4ccdb85289528b8f0201081cb05066515a3cfcca9031f386d6f4a411df397e526b754a0cfbdcc7968a03ffc7349f32036aa4b15123a6ce8d47f87516c717651d56cc7e2147cff3261ec76c045a32beb047760295e79f8c501c46b099bb7b508cbba9b099f612e595b41d32a946e0bcf26a0c5664b70971853b7965725d52bb371a03f456be855aa495a2e3d9925f6a7c3b98695b5e179e64c17410bacf2035e4fd3b938c98db2526804c79322230ba8455dbefa40caaba9757380944193063335b6721225f40702ebc418022fc2590d00f918765ac41cc6b40d39b45291af80f721069c7f73096b7b0a202749c70ce672f246209c637375e75a1ec03102940e8c17566b7c2ad43167f48a56c55c6b38d289d5675b9b224b7155905c814e175052a7e67685392448003d8e2815ba9810d8930051b615558cacd704202ad50f52890500e8be5cdc91ddfcb61948788a9cc2167a0021566a863b875361153b1a57e0c62f8cb11d3b3840f570b922e4a88151aec22baaf7559f724549b892575430383473b9183214104006dbfa356e2c31ba283f778776b43530a857c8126780e29c0316c64ddb1a947d747a8ed831135a8146936090fb59192b32b50327218125814b2863f2473b708338390ac2e507715136c8786fdcd1c10e2b0d63d2ceb6a4b0d8db6f8af354bdd1bfc6c71afb627686761d97b761fc0aca584539117ca416078c784972f67caadfe67f38eb1996e749e2f11a3c47c389d5c3f1f52d33f14a094cce5557154001ae2d17a2896ab4d0744e9dd4bbdedabf34d38c1c81812a3cbe4a065a0d6ca0cf3a9f5ff0268162a5b3d872b6782cab9149c52c2726079396b01866e00a20bc82208009f625323df535f1658a1ea29b933368992a89efa0ba586381d845099c35a299a467cce67af2d5b066d9891462114569a2261acf20cb64cf3819d0e0a4c20a153cfb5efc9c45501aa26adc5b26553b520a04c4388d665b098fe52b5aec48154a2ab5053279256ba4e6975f4764c77a5fac85275fec08d62534353b17764177037bae5f010266767164b307d4d375c85549edd3261c6e600b1787bbbc13a01210c0764a4a2578d4bf90a24704178f06a4e4b110f503341657b159925cedc8967872a45a3c1f0122979af87a878a2019b3f17c8ba67f7054814869cf7625e45647bc1547aff288dbb90699b2ad84893f3b755d9722 -m = bb5e65669a44e5d5c709bafa98c16ccba6ac2c4ae923334f69a11543eda64f5d -ct = a0ca2487a39bb55e4afd1a06f5082a0688b3413469867cf1d2c43c0772f35869916ab47ad2ea1c5e3be884473d02e9c5749c60e18db6498fbf7d604bc6a0cbba02628a10e3d48da99c4d8a4f4ae15b15070ee597a69cf0170a61d314579293f552a94d8458f6df1cd4a1b5edbc2e59907f319cc7efdfb0dfc379662f7dbb0819c6f386b906ee2aa4326d01f2ad64c0dac8bdf2468bed705280ee727b56372a2244882ade8aed841fc220734a15fa95dd1777eb63f03d5e1f77befc17b7fe8d11b4f6020c4ad1bbb26e86137a9e01ed61abadab1cd4b3c2b186f6f163e013a7b34b79b33e7edfa807c77120ad9d25f620eb493921275a21ab036d9be96896169af549cf7c8ef40a3ac38ec5921d2638f8e05eff6c2662fa274ba78f0508e84bb2eb18b5b769f37b1ce8577a8baaef16a7b7570d8e8b1c17824aa7555faebbf5601dea2cdf25fcaf93e26455eb8e675ff3611d1cd400a0b2de55ea77f19b8d0db6e6e9c8b296470980099045034f7dbf25a4f9c0e9718ca4b994fa76bec4b614b48c3938f26ad74235502136dd3b1d9915861d2166d386dc3fa3bb4d8b9d0d0a1b35928a5a9b4dec306abaaf4610d573b96a74790cd50048ef98520e4bca04f799a73fbd5d796a15f97cb62a2c6f916887c8025341f69ec5d9328f2fcdd878e2ad2b0512bcf04be1dc28ce5fd31223129ced4c82714e62d7b74611cc6e66ca9330d47ed42c9df6d1981ae3f9ef6ef95ab6ae8e9e1f781dd97d60a4891a141701b35beb0e0a2bab7325126ccc49f3dcacbe158c449c71427d6f44c197c7b7ee2603ae33e2b41d801d999285be6f88395bda1132d841cb422fb3160b2bc1dcb085de03f9064a6452bd13d484744ee15409622f814e293fd929d2a2b960c6778db5445d137583c8c29203a8b67b679ca21c0d66a7de26b4f90d0cc13a6f5a03ec276bc88b2e27f8183893b9aa842eebd1e548a5cbd6ae8ad35cba512c0a9af265d59325c56044368e57ebb22eda71814edb496c8bef42167d45ad81b8c0594b2f40e1059edd39798d866b29399a4a318311357007506a6769d94d427af57ac4ffc8ac32c85b1f7b3b31284cd74b21cdc6990828a332515e5462d78144d797f03af24cae98133fc1141293d1989b024d0da510fc48f3004cd8b570d99497534d2ff17dcfc35b3663cf6436270ed9385b2a493149888befebf8dbf02b21512df4bddc9c68c52571e7843d7dd1349136e19489ce17f3fe9203814e19600a707a51e2459e665e440e19392efd61c65a9471606fd3055f72f1cf3ea06cc392d09dac8101b19d9a172650e1efebc25e31f69092dc4c5190057ecbf8c4c81d3d97df7fad6c20183cd9da34b37fc21814059ff56268cf676f1aed0160a395834b392b7f5c16ac2eb917bdb0534a5db8dcd8efd714ceb3284a6fd76e04ad861e6735ad2aa65f545863c0e9e7e04a63862cae8fc6a6e72b697fded74da67401b08e42e02796ce1baf6e58f21dfbabb97e6b5fe6f5395ffcad712780d4d744b6a1f4790df661338328a0c0500fa6660a9bac96e927643b98099d9f88ebce01d4f56fb39f157fa6616a8cdd4c8acbdd396a307238223d4297fcd2523930fc15f10bd499b4a7180a0445321b7e2542018f169273cad980f75e269feee6c9ae83d4dff0a1b713e38e99f93a0f2569e74b7227e787a4df675e207c8fca8ad848c4f9ad2b56f3103e0220d22f2cdf82579458aa99343414439e30209eb5243ff504da5c24b799285f867ef0ad5e8e2a3a5c6d51574c46b95da3b6e14533ae25fbe1e0ce2efdb5dc9c49fc7d17da67df680f316fb17bb2e5a6f6cb60685235b7ba06bc1f638e69e6c90b2ec87a0f8836d46287e98875ae68b83fe3a35526e852565e448f3f770396379008f8c483eccd8b0c842ece6bb05fdfb4ba856cea4654a21aa4b138f38c148f5c2dcf409fa4e64b74d15d49a44d717bd3aec185523bb288f92f3c7b2258236ad08c7b42a7dc6318a10b55583a4a28369f58594641ba2fdcc3081127556bed5b383d2e3fec7a0c136a7e4b02eafdc69cd6b9566612d865d075a16e67c5a9006b38c3f3b2095c9420da0809b606adf25c750b6e5f012bcbfe00776bc84e9e6e48c6e25edb314a690e912debc9f6eb7db981e6a9049e8bc6dcbe66335d371bd2b8b11baa28f8b121cc9d5e4d6c7a904bc48c33636c1776a32b712d69b89b9042351fa1 -ss = 003fde9f0ecebec91441b3783fbb693e73abd497d99ff9e2497bc1cdc280acb1 +sk = a32b081d2579d7737a984126b05465963ac3d0fc3d471b94e30b242699ae3ee7a305d187d9371af3568d7bbabdc30ca69be166aaa07c67799dce7345b2024ee41c5a6f35733cd12efa19256ddb74440829c6b52aaa25b258bac8d950ccdea410535bb3a44a46ebc44f5772cdad96596980c32a14916cf5c4a2fa8538491f7eea270543abc467344ff098edb4762f658b6b26431b9863cfa7546c1489a25bc9061b8ca0165528241b4bc173bf17b4e7873a5081016a1c55e4bb1e7f71b849274d03e05e866656c126485979ce9660afdf3622e3051f76d02243e660a5a78c663880a7f9765df45410926a86acc7962878b4037cf2960b06f072367b476eb24b8c57924a9c699815bbeb0bb10b2a88b0c63f0171c759d59cea91c5c043a41a8155e462325893685f18c5458a0ac3e5bf2c696c8f07727c090e1d3502d075a706551c54a00a710027c52cbd83fb9dbd7567aca2b6eb809c00838e56b209e0c5aad2e6235e2c157d3659d906452f4a8c60b26f838a51f6789e42c00580e4595a5c0a12b796cb44240a4724c298abff1332bb0970a3ec475a434ec4dc2a4aa92c42e22035a4499c66827c882b542a8fb22b6b6054984fdcbd6a637583145010d89a4654bf0bc0a0c3b86788459b659a539833629c1b585a13134d766c9e8003282683aac1486a934edd3a7511319a7952b5eb7c5947b69ab5c904b2481a7709c95bca352df45e8bb87775a9cb566581c3777e7b975c629c89063c8f0e982a24d344ee8a22221a02c6538154217c453ac0ecd4bb1f820baab94d920765c4ac15972aa79ba974f3b5055efa7fe5bcb454f7ae70e1c017322a20c73ebf278054060687c6301e13b52952459c56bc8d8795044302fc9123921143ec2c73278939826682126b65c7d9bac044ae6cc7ca40f92c8ff28470e41d51895adb53ae30216b1aba552fcc14ab277a872029f3dc8d56794d842ba06770808f1c097787973b0a14280c5fbcc45c102c23821a07eea6c3abb4b52ae116f4b38e4a50cfb849177766495463197bca3197b53ab72b172c163003c9ab89721eff925f56b59373f5abd1430b0731419a12ba80641628d78d712bbb74579c0a18a4cb2aa6edd76fd7605fbf8214a00aa44e486810f3ac6e36345431c23f247f251112cb8a6c76444b1a5277b7c68afd2c49d4a81fc5069b9a004cdf0587a4a193d243bc5f16357e1b1f280706b4c16f9d8b3b6a5815a1597c49076589d5303a5c89ad320cf6042f2f819cdff04b850870e807b4f2b6bf99aa8f3fd16e95b3bedf247cdbdab048586116db7a4530c360bb240fb2964fd41a5128cee9fa6ad434b536345a49bc758d849260b78cd9f3b3e8461cbe906e93b209742c0abec1c1bba9baa05a8fd05637d26548f48512f5477b93d0bd54f6674158b2f6ea0488191eb023a641b175cc689a2f326214793228138d6da03bfe4466dc962fd2a7c57102cf3f96cf3a6619d2f613ca063a35f4515c0473140b8ec3c53b1d9974021616bca2459bc31502daafc861990c1b97ea1ab5ae018ead781a67a075cc4924f9ea364bec33ed167637f0a643c3a810914a49366af69b3cc25938e77422832b7078c6be562513ee3648758515e3c04f27eb5cf0c73efce032cf027c7d6916072b6984452cdcdcc5b6293cb98111e13040548c5c4ecb4ea83c01580887eba79f0d700ce25274f4612cdb8427fe9377b7aaa517f12d2766834314263e27086fb8969a38157d9a02da83772691184df5117aabb901899e0e78a42c335b7eabaa462852423748916b9261e834320cb8e8576988321aba321348e68a424183e010bef6f0844b8c7164fc967feb02c76000b372a1547c88c7402347326cb43712be145e1854649b07aed70b798e845f7c4c5b0457ba58a370a9758940053476750c5168494bd733ef0c6c3a06117aa53db762440969a1939539f85c1145307526db7f43ea595833a7a49abe0d3446f2345fb429c4adc43b2bb17bac8c6259f2551b3c28ae1b57fa49889aa6a2503a9017f832666610fc24a4a8657475d3a329d31a793a6a4024330f0b6d7fc2250e6575d8a8947fc30d431cc24417a6ed4bc131b253af142f2ca88fd0c9a44f811103b064759cce44e02cbb062458502b71b9083d097f926a0da50b6914fc70e0858644253fdd9521e55c85d1ab71750942bae014469040333767dbe4ac80e4b3d6751f27fbb0eb0418406111c9e77c39977315526bbe1c8e06150a0384ca618001b08554c472464ae8b4b9eb679a790bf0e311ffc20b9a28a2edd52c4cb51bb739712419a116b1c0de65217ac429b091bbf94cc9e24886ffb623889028490976074888ca731ae4f9a9e0e4099f149372390bd2b78516044067201da469c7950bc9c681423b9a45b579160430add2b34d3dec2ce84270fbc019847c017d098bc4224bc9c99ecef95947e358f0f85def6837c5361fce2145faeca7ade0a612138c8cb26bfb534c2087c8dba4ce1f841e704652a093af188c55ab221123540a1007190453163a573d166617f452b9b2c7b9638b0201292dcfca46f4b9c95c1c8a47f44c19380a061b51942636c3bc8950f01186878004db1eb6a3b2ad5410c3484aea11a8d38881de278124c4c2b592b61bd87aef623de1b5b8b2d016a2d985976062758849362b2631a8a08404651305484a3b2dabda9982566822002ba1e83ba8b04c7be77d4086207e5b8310fc28812584129a4c03e938e950cfd43c3023a8774b42c9338ba497e853ba684c24aa03ed33b36ef8c50be44ca349bdaf986f38a93676a7b4cc659656715d0ffb8287b86cc0964d3e1b77e7d83afa733789709714eacd47b8bede99aaba2480002c0fb9136e397790bce939086ba75467340780cc31491e82172803a57129b3cfa3957bb70b114cfa99568428c540b187b98da9eaa20f3a7771d80146ac21b8908260c2cf79383031fb99ced3be7c86168549b8e2d2474e96bfe28158d91a16d5230b2f7b27d645c3b2096659a60c78a602457b0ef8553bff9508175b5e10e08326139aef678703d39693215d5d821811bb0868e483c646a4dbf0958978352b919c1354071c42bd39e9b9394aa54ca577d9b963f4f35606fa892166ac71a3bfa3572bda92c2f9872bd19276cf66c31ac6cfed109bb36b77378c5d9a747637f1950cf36c5b22130eb018b607b74a270e0b733f12e426a2eb02fd3713f72c682d87cb6752a6a3037816b9a1278151c662529b54c52655b76c534e09cba4ccdb85289528b8f0201081cb05066515a3cfcca9031f386d6f4a411df397e526b754a0cfbdcc7968a03ffc7349f32036aa4b15123a6ce8d47f87516c717651d56cc7e2147cff3261ec76c045a32beb047760295e79f8c501c46b099bb7b508cbba9b099f612e595b41d32a946e0bcf26a0c5664b70971853b7965725d52bb371a03f456be855aa495a2e3d9925f6a7c3b98695b5e179e64c17410bacf2035e4fd3b938c98db2526804c79322230ba8455dbefa40caaba9757380944193063335b6721225f40702ebc418022fc2590d00f918765ac41cc6b40d39b45291af80f721069c7f73096b7b0a202749c70ce672f246209c637375e75a1ec03102940e8c17566b7c2ad43167f48a56c55c6b38d289d5675b9b224b7155905c814e175052a7e67685392448003d8e2815ba9810d8930051b615558cacd704202ad50f52890500e8be5cdc91ddfcb61948788a9cc2167a0021566a863b875361153b1a57e0c62f8cb11d3b3840f570b922e4a88151aec22baaf7559f724549b892575430383473b9183214104006dbfa356e2c31ba283f778776b43530a857c8126780e29c0316c64ddb1a947d747a8ed831135a8146936090fb59192b32b50327218125814b2863f2473b708338390ac2e507715136c8786fdcd1c10e2b0d63d2ceb6a4b0d8db6f8af354bdd1bfc6c71afb627686761d97b761fc0aca584539117ca416078c784972f67caadfe67f38eb1996e749e2f11a3c47c389d5c3f1f52d33f14a094cce5557154001ae2d17a2896ab4d0744e9dd4bbdedabf34d38c1c81812a3cbe4a065a0d6ca0cf3a9f5ff0268162a5b3d872b6782cab9149c52c2726079396b01866e00a20bc82208009f625323df535f1658a1ea29b933368992a89efa0ba586381d845099c35a299a467cce67af2d5b066d9891462114569a2261acf20cb64cf3819d0e0a4c20a153cfb5efc9c45501aa26adc5b26553b520a04c4388d665b098fe52b5aec48154a2ab5053279256ba4e6975f4764c77a5fac85275fec08d62534353b17764177037bae5f010266767164b307d4d375c85549edd3261c6e600b1787bbbc13a01210c0764a4a2578d4bf90a24704178f06a4e4b110f503341657b159925cedc8967872a45a3c1f0122979af87a878a2019b3f17c8ba6d79909f31e8168ac129feed8efeb21f07c02f282cb90f63ef10eb2f4a9acb886 +m = 8bc7f573082482206adac45f410a9a3ebeb4a8538999b681072c26731023fcff +ct = 1076eba8bae46e6593bc8489ce76ca034d1558ef147f6c09753a642924cb97a81a4c583682733d1f285dc97725fc79514388e996720c57a1af855359e1e43faf0a719e31e29c5fb6d2466175cb2fe82d8a0bb1b1dc57f3ec109e242dd31290481e63d94d6589410850bd2334c3992551d9f69695b0d73cff6f3f363434eb37b03b3cda3fd3cb28eae9d6d3620b5541d5f659d88d6f04442f4327755e16ebad5d15383991c40b274b33a1d381872500ddbbd50c531e4616868075e98a82eec466167c214a1fcfe5291c71a36cea2c19e7dfb76f7b236ded708d4829713afb806b3f41caacbdc98a54723bd090bda5dbce6e6d626b9a75eea856dc326365e99b70bb060da7b98d791c323d5d17dd6a35999b6100808173b82f254d655763bd4529e84d5915f3c5f0e44afd556ee6bbc4235a78b1118d29d834333df7629bf7bde9b2428661a5b2b8c758537764efb98f1d114ed124a857bb88e30918d021a515d710426558e95f469890a2a894201e31eeb17123527f69c9c4a1e3e3c9f33b91fe4971717256e830e00f3d08795a3360636e14cd9cdd266e1370768038119f8bdd64c8fca1de2b02e2ced0cd6e67c9cfee70df28476ab89e1dede78dae37054a282ec5e29b178a7c340c27b8f442f73975bdd173671b3f7db5dcae20753099ca38c7f34417467cf822036a90350724a2ef58c60ddad71c1697709ca314455c4b11b0ac2f9e5937ba353baabd8a48740fb89cc28c5298fe02a9e0ebd17804d2aff184d1bdf6d140d87db87640dbcb98df0844d8e8b4cbaab34a1f9c0a5a7a02653f4749055955d5f5736b040dc06aa9be03ffdce10d7cd104667b8575dd77ad4b97a7ba2f799e2c0f29306e01e0c3e32315a495a8c2da36bc46da224c19d8fbc4c9bec126dc8fc7183afb586952246d0060554d547f195fac1fb9543558ceb9e3cd09f6b3444060bb8bc1af59d5342171f34e02367a72315933ac089c53517198fe4d9cd8a4d468e5f992fb60b67a881b1218e298db595b4be912bb21f7686cd6731a96ecbacf138a33c3b7dc27551cea710a4cdf93c4c190f90c7759ed036ce9bc99bc095d55177b05a4be98978b4685da3ad595f7c040bc7ee013ed34293ab2b2c2ab17aaa1c4cc9a243fa495cd64a25c21f1942479eef479d86119d9d24a72d5850f7262fd5e30e2d2cd08b89289ea3eba54281c12ac2bcc802cc93c74cb5597a7ca360303dabb288edadc9c37a33858e46f0a14c26b11ac1d33d50d23add3c9a148a9adcc16490451a2ef364ac22216e26bc5940d86c6935b7e6167f8f96e4955ce5f2417245a977c462ec367053ff0fcd1530fe8a52d6e068d785bd7c6f3269e07ebd21b755ffdb9a5bf730c611c66372caf3f379f414116a98b8db6de01edef226ff6f685be5c5eb2d4d0c1202830947c6a084a5b61ce97c9d13dba13a6bcddbded6dcb147da21831dce88e0774eabcac67db743e8e02122faab0b7cb6c7bb5026f5a7e731bae576295b5822e2c533b513cca79deceb81290c93b0cf74087c453cf86c838c7d602510ec87cbe0b2098309ffbcc785a7f07a5b866b011063f86f3698b031b8ae3c1d52fb4269ccf7497c2ef9f122a0fa6fcb535704e2684167966997dbf7a632ed6c0e22b40635d971e75ed3ffa29671cd7b63e98f3edf623d0855ad460bbd04b50cc150cf276e2ac1d306d8fa306c11e6eba1de2e9a81323e2975c5675c7c7f19922a36bc0cd117a056f8b573c50788be30994aa0241b9eb606b94cb0e2f40047d41678d29b2a468c7faa8a862f36edac2aff1581e249855b707fbe89635fe9de349083e139262c2520b3462d65fb2d9f0d4ffd8a52215781ccc016f1a7e1be34e4607e7235ea5bb2f1175f47fb219d388dda286b97bc92e9612970c1aa733e911d8d8da085d40bf7c3cbafc7229da3962c86a1d39e3e75c2f52c32eecf0377bdbf8dd0ca702769b3d33362fc5582974dd972bb46cb1e7740e34077a47ee7e28608c852af392e5d5a9f38b63f2f5d4ac5009eb652d104c4ec261567a52c3182d020017b6408bf0015a769af38195bf6aa894a717212e369f38e27371d7357f39f524afb31776e0dfd1976eac91e1f03c815f1e56b8becf4268cc9e7b8d4b770762849eace7b3d78d2ba81234dc8da2a99326b2bd1d38ceac9a31fba896fe4f3794d00be1ed595159892408c66ebbce737a406cd5c45e4fd0 +ss = e2d07a6e3feae164adab32ca4fc72881fe77d68720eb4bebf3ed9d890906fe7e d = e3fc575ed51513e62aba655d24cd9c8f1c6c848aaffa946c49a53ac3ea59e474 -z = d82c2f1bf2e6aebde5660fa73356982e12999d8fdafbb3cb186341d0386dead0 +z = 648e3fae1aea06e15778f3442223574e9c7823f36cd16c72618846331f95e91c pk = 0ba19153d3a984e76dee73b825996798bbc7c24c5e45d45f26c39a879c676d2532d3c11f376b1f1cd8776b6280cfb52559b6b3bf4716e9b49997911bf8da16c4147a2cc9bb379ac5195a320783213f62156c127257a469a428834d384b1ed48a8a576b240c1c55b84d61e248df45a52199143fb141b39c29631216a32b8dfb876df873456c14178c4360b8215c71e219c08c915a9ac02304c958c1bf7e65b3742bac539059eec85fb6cb608975b401c83b490094a6d1714876727ea34cd27b7385d7575ff49931820fd5dc33f3881554c25dc41a65834115e1c899ef8a080fc6c53b81b3804508fe4c1fe6904960d96f8c1576614474c9191c99fa3a201a4143b09ae0f3432bd13a3442ce80ec3ca3c94bf2b45fc398165318bd8d2683148315d1969b70840af5b42d5779c844c48cfc0488ec65b414837a965c65902c21a2c48a590ccf9fb9c6f9e45913aa0577d2acbbb29b5357cbb6b16fe6ba9abae44645ca68573b5fe325670f2c4b5378c040171ec3a25229b1c3df175dc1d4af59035c7ac449d07c72abb6a153ba50c3e80fedd62beeec1abd53a45a7c33ed4117f415b77a43a0d7ba4ae2031e3c57c945b9abc3b5b3b7915784eace07e7caacf256cd27b28c2924b01302c9432e5f3a2a75009d03e36fcf7089fce58ce57492443323ab494c07146db2ab8e3263955eb373031c22da591ec5cc3ce0155f69fc43c8484a9e332e2dd433a888190b05747e0971005b8026409ab874cd65f533a51a40a668900ec109de60749250890ce91290a43078e3ac85502b4f34518886578c26353a6577fc51510ddcbf4ffb6b501662dfd1001d6354b47b0528dbbc0d6a18b58c605a91957c27ba354232751810202a891aa83efae7957ac2883605375778369589597a8b4f23f325acd8683c4b1dc3103002e1c588039e08a7c3c92137510391b3f75b99810f5c932a80a7b5d8164d999c131828a59a939d90a8caed47c205681973a38074243a787866588399a199c8bd74c8b6546168e255ca13b23d0775eeb727e3cac8b4305893185517274c4a4abbed709f2b986bc02592d1dc38cde048e5f63f15086f11031348a7a68e044cbe1075f1eac3c330477fa5124c832c2c880e29da691007a82b79611ee04b64280e51d201aea5b00a633e59dc0c20d72742a925d4cb19661ca864bb79a029c7100911dcda5fa1b36392d3432c187ddc51190c563d4c180dc87976a142962023301acc29ab63853813185b6390fd84b7d395514bea0b35b22d9dc19277ab7d0d602725a9ca3af87df9f96db8bc6a3f27891f9283bd6a4c4966cd26d3c96c2b4d808a2cd435abe4173ead728a200a43f8e21907020d6c19293eb02785571a399a81b8205485c54ac19bb298c8941dc06ed7796a39ea2c84d755a0e90b53f86ebff130c6008f2dd69af0017bee0c6e13a0bb2bd73b02431bd211a5fffab76f96c080482055837a6295209cb2a62505b846005ca5a482709411b5b94bc3781a557b2efd85b575621cab87aaad6844034c4a1ddb43d70687d968bfce441e7054a9c9905c114b9791e65bb23aa0cf22ad7e005bcb38b24deb2e7741853ee7085a93250ef7624be270bedca3d322842b477a507c3ddfe3325d893cfc432f07c15a1422128b5703d92812b87915e86a8f8de97f163caf5f695ef9994ac4d7932fb9629de72a988194ba13c996c2252968708e6468687b1a91063de718331027a54aea679861b1b6b6930f8947af72a1b30895f225a7bbf7cd7e8a857b6216115c8e98689b89c7686d282c44407c44eb64d3795d51665bd538c33a7915b5f7773ff20b6d289d2425a2ea4a14e8e2a349a78c76f8760082a1f8315b4dc41109a05c6053484a1b381cd8412df92ebed7c489ea3db9915a23e07c37f7c805e448a5f08a89a860b96c4bc7a10d4c30522cc900291a8504e72f4ca5229135827626c138173f73f123fe013f3612a27df9965dd78c6f1a2c3577c7cf866e70190c8a249a6ac6c1eb45ab61f9a021470135292d6ba6c26455cf0876c9633b4afc24779c908b5619ce1df7464e096aefe51b5f43be40b556e2c5c41503857f8a6b4adb2a5d8a67cb668930889d68295736027b5b1a4b3cf44a05101f1bd4b365b8c54117c6027460e14ba516724361d34887a693067791fb183c9c25fd45802d5699f33205a71d6404704483bd2c82e92ba9457926a45bfa0985 -sk = d1f46e67cc5aea63ca9ec413938661c2f8156cc79e10a64174774545b597e91a8cadb58deb15b27f343073b071873870bf858b5fa3ac3689698deb68c570406972210c2b9909571a12753448e00e6a0c165a101469828e8f60a16b55478c8899d9a38c1751bf220a60a999b0d2a429b375137db8bc9b85ad5fcc073355ae630100f8fc68ebb8534135590ce22d0a0672ab54936c8665aaf476b50293a32135283777c375767b04547501a53b72a14d3c4de4e001d16b2b2b598a22d784a3711c39db183ac82cf895b242954b41c713bf464464917d6b608d21b67b3519a6df161ad237359e262b95c6be3a8522b9248346785fd0db03cd083a21092f4d91af156b12f4c9c77c11cc0b68adbdb813beb21289743758f8136661704d0c5ca9302a064040334017d47815b7c35363f5c730298670536c69c122cc91cdfd18783efc4c39c8c29cb1023f1488a7469f1cfc1d7ebb3d1ceaadba3b07310000bd89c043290abed896e655cb1f43a1c7335aee30044d9652e6d3b8e394218f63072c7050a2984032c45735a3aaa4108aed8b9a19c13b9bac28ccb123d9987c45b91e89b7a949b5b4ad56abe4237f21dbbc53ab651bd4b703069f82133c54acc1aa415df9961a4785337535869fb758cd04b798907e36197ea428c66aa516f602404e87341e154a0e09c881725cbf00761fd9645b658d97d21f33059e4a898deb0c826d9057ac302663897d71567117fc4416c860775b026e51a52663711868777d542f1224b277ec005f2bbcfc0c84146591cb36caba82692b010de229797cac57aeb64af446a896527bed9b3e55539c0f6a0e9eca5953890b95b0b282c3a4c46a44a8705a54a8806ccc0d3c736a20d34aab118813651d85f12906958933d69679d0457a4817dc83b525ccc63e94c1bcb1c869cb3a0bc46d47084481c2563754aa8f44682b870ed04996cb8886f43b91ac8767ae12856ce5b85f55c8802830ba1babf5797d0da723eec24616a195ac809371d93f89b19c874c840ee9c39e7370ca561b6e91552cea47f1d09c9cf633e7cabc9ef85f89d01a29d9cfca8143bb05c3015b3c6035afdc45ac7b08b5406566bf864657bb3a82322793906462c03c20969f76c2c8c8ea2622a373c3e40164a77055ebae05787965b60a861c09658c32d4194dccd7ab1df87826590890b1785f0385b965b5ab3b870a0088696a783b5c7a69962b86f789bd43588705315258c117c4313198af42e2b7fe39894a86189ffc4e8c6bac5e7a0f03d86d18089a6999972f309a6debb365781f64197165d259bda98c7a920a9e790bddc587e7c08040d649b8b08fbbf36d1904970354410bd77b87889668566cdf4a94e1c65b04d33c269c5152b049850857308ba1310283a976a31db34722e97c97da85d14372e14a8a95bb45c63670bd7712686200d451cafe599ab0d3a183d2b0df7b8fbf0995042ba0ce682eba8b71dc6c0744262c75b7638b51b9c4931d4f7c842328486a799d06027cd5cc75e4b1b6816c2ad66b86ed047ef978184bd344c00aa1200432c5d142246b883b5b85ad5cc8f8fa994f4a790f3b6c201353f77aa9b7e9bb195375060282b7da42ecd36295fa55f8b5ce94b812bc421b47054469d39e3483a63583ac5a97cd63312e776902b73c34d5d81a35153589fb6d7590c0f9b4996f83cd4631a7fb6c09f60a0faf7c5d24f9983d9cb9b19566f1eb6800024fdf032c4032c778d74846f4c7b63a3effaa5ab619ad3c62680f5290adb5063f0137f0ca7b694978c622a9a34bae292719a7f9cb67033c0de773359aac3577ba38446a5610acb9d48509413b1cb024cd25a4a5a882ac31cacec34c25fa073bd38a8356934423a838415355680bc7155d433b4357ecc6221ba804602317c7703aecc7fdb30781a715849186f126619fe78f610420d2bb3adeb085753a710aa07ba2139c0897a172dc09e7235bbd0638d8c695dba8baa8b04f7a058edac52622b4a9638155d56448a3977786941ae23c6dbd05c4fe466412f29c74eba96921612edc0bd5d12e72e944e5105843034d9070416b649491c7b4245c14cc152107bc68b6078b76cc61a6b371e95202292584a1734f3c4214c2371b8168c6eb9c7e7efa76432316d140aa9055577d874a7ad70d16a3783f7904f3445e7d81260ba19153d3a984e76dee73b825996798bbc7c24c5e45d45f26c39a879c676d2532d3c11f376b1f1cd8776b6280cfb52559b6b3bf4716e9b49997911bf8da16c4147a2cc9bb379ac5195a320783213f62156c127257a469a428834d384b1ed48a8a576b240c1c55b84d61e248df45a52199143fb141b39c29631216a32b8dfb876df873456c14178c4360b8215c71e219c08c915a9ac02304c958c1bf7e65b3742bac539059eec85fb6cb608975b401c83b490094a6d1714876727ea34cd27b7385d7575ff49931820fd5dc33f3881554c25dc41a65834115e1c899ef8a080fc6c53b81b3804508fe4c1fe6904960d96f8c1576614474c9191c99fa3a201a4143b09ae0f3432bd13a3442ce80ec3ca3c94bf2b45fc398165318bd8d2683148315d1969b70840af5b42d5779c844c48cfc0488ec65b414837a965c65902c21a2c48a590ccf9fb9c6f9e45913aa0577d2acbbb29b5357cbb6b16fe6ba9abae44645ca68573b5fe325670f2c4b5378c040171ec3a25229b1c3df175dc1d4af59035c7ac449d07c72abb6a153ba50c3e80fedd62beeec1abd53a45a7c33ed4117f415b77a43a0d7ba4ae2031e3c57c945b9abc3b5b3b7915784eace07e7caacf256cd27b28c2924b01302c9432e5f3a2a75009d03e36fcf7089fce58ce57492443323ab494c07146db2ab8e3263955eb373031c22da591ec5cc3ce0155f69fc43c8484a9e332e2dd433a888190b05747e0971005b8026409ab874cd65f533a51a40a668900ec109de60749250890ce91290a43078e3ac85502b4f34518886578c26353a6577fc51510ddcbf4ffb6b501662dfd1001d6354b47b0528dbbc0d6a18b58c605a91957c27ba354232751810202a891aa83efae7957ac2883605375778369589597a8b4f23f325acd8683c4b1dc3103002e1c588039e08a7c3c92137510391b3f75b99810f5c932a80a7b5d8164d999c131828a59a939d90a8caed47c205681973a38074243a787866588399a199c8bd74c8b6546168e255ca13b23d0775eeb727e3cac8b4305893185517274c4a4abbed709f2b986bc02592d1dc38cde048e5f63f15086f11031348a7a68e044cbe1075f1eac3c330477fa5124c832c2c880e29da691007a82b79611ee04b64280e51d201aea5b00a633e59dc0c20d72742a925d4cb19661ca864bb79a029c7100911dcda5fa1b36392d3432c187ddc51190c563d4c180dc87976a142962023301acc29ab63853813185b6390fd84b7d395514bea0b35b22d9dc19277ab7d0d602725a9ca3af87df9f96db8bc6a3f27891f9283bd6a4c4966cd26d3c96c2b4d808a2cd435abe4173ead728a200a43f8e21907020d6c19293eb02785571a399a81b8205485c54ac19bb298c8941dc06ed7796a39ea2c84d755a0e90b53f86ebff130c6008f2dd69af0017bee0c6e13a0bb2bd73b02431bd211a5fffab76f96c080482055837a6295209cb2a62505b846005ca5a482709411b5b94bc3781a557b2efd85b575621cab87aaad6844034c4a1ddb43d70687d968bfce441e7054a9c9905c114b9791e65bb23aa0cf22ad7e005bcb38b24deb2e7741853ee7085a93250ef7624be270bedca3d322842b477a507c3ddfe3325d893cfc432f07c15a1422128b5703d92812b87915e86a8f8de97f163caf5f695ef9994ac4d7932fb9629de72a988194ba13c996c2252968708e6468687b1a91063de718331027a54aea679861b1b6b6930f8947af72a1b30895f225a7bbf7cd7e8a857b6216115c8e98689b89c7686d282c44407c44eb64d3795d51665bd538c33a7915b5f7773ff20b6d289d2425a2ea4a14e8e2a349a78c76f8760082a1f8315b4dc41109a05c6053484a1b381cd8412df92ebed7c489ea3db9915a23e07c37f7c805e448a5f08a89a860b96c4bc7a10d4c30522cc900291a8504e72f4ca5229135827626c138173f73f123fe013f3612a27df9965dd78c6f1a2c3577c7cf866e70190c8a249a6ac6c1eb45ab61f9a021470135292d6ba6c26455cf0876c9633b4afc24779c908b5619ce1df7464e096aefe51b5f43be40b556e2c5c41503857f8a6b4adb2a5d8a67cb668930889d68295736027b5b1a4b3cf44a05101f1bd4b365b8c54117c6027460e14ba516724361d34887a693067791fb183c9c25fd45802d5699f33205a71d6404704483bd2c82e92ba9457926a45bfa098560c001172c4734a620c248654c58f1c10135657083de776116a6acf8a55f3610d82c2f1bf2e6aebde5660fa73356982e12999d8fdafbb3cb186341d0386dead0 -m = 9ddb3aa9c7905d1a438c93bcf78e3e321813580371ab4e1289e2dbf3701972c2 -ct = c186240e5e428956f3c5a7f86081942ab64a079f18b9682a6e8efc01378f67382d9b3c07764ce9843e96c2bfaaf4f29293a8f9d129ad29ded3bfb5ba5253ed68c9c66e83c3a04a94073d92139ccd2b9414c8210171aaa535696ddd2966279275ef726022c19a447ee57e8843ad8f1b391962d6a147955fa9477d0495b7d1353b117dc6dd8a6ac833f73bbff56225587628ab6fc73bc8fcdbfc0472a9011275084e0baa43852121e4e55f3e98e5dda62a3504ac6193f870a64235f32722588c65f6d67717b4c2cd74949687b8e65766a03ac6e0f1501f446373995f7c6fb9f4acbbe62c90e2e4a2ff543f82c64e000767abadc2fb9a319eedcc673cc98eb77fa7497542489f47037b5d840c8b7b41613bca0730a8d92f3f724727d6d2b066d4fe990740451dd602bfe5c8f020e67be38febd03cdad935a4d050b613baf6e2d239b83db983bc320765d3a17736e6b6ad89f788875be8e3cc33eb78bb621fc2d125a94f4e6ad98bee042c590757c7ca8c8f2f36b4dd2ab2c844d66a3f6e8419425451ea05b94c5843a43b548c322c85eeb5b9144299b90d01176ad40441464361f0c2c222b16c696ad10f12c18107359331fcf0c94ac71a7fd3b524f39c527e112037f8f2aa9928a08ec79c8e655d0defc72401f658741654c9b0833ebeee922c5c1b15838a638b4d00bc4eed5ca3eba11670c036db2529c06de5a19a032df9bffe2feba6fb38e45ebbd1fe538c98e3d13d3453b1909686f00758ec7a56d1b8dd0386e1450f438e3d0ab24ed41c7be920c99d73e4bff994e31bba56cce7d6ff683f0ba9a50803519d765419967bc70a77debf815ce2c101e1c4522a67ab4d34c620141ed354c6d91671b792842ddab5e8225bd7b9a21c29130afd7bc86ad00b2f648ef0aa4af0a780093790c3d3891a1759eeaa89d3ef91b3612f18023cc110b9e85165f18a48eea0d4aeff253c76bfd8a68a089472e02ae3735e951088407f9fb409292f316497a36393fa0defc0dc95d8b11aff98f3faafe2963a5c80fabbe078c7acd74f7f6c89a87b1d42f4df1245da83e0bdde3847203194545b43cc99d9d89bb43314024129511c6a59beee5292d5d8038ebdd28ff1527258b743710c2d17ec51392eff067d6ece7a9b76f0fcdddc2a7fdeb9b334263f4807d21d78c7856f427869efe18fb4d9b6f8663e8c98f1172e682313fb942ce8e180606a5751e3c967dfc227d96230636cbc3cd17206c5c79666f1d8e6d6aa671347064136581da97415424ba137cf350214fc99c6758bce63c74966c6eff0340a80b248dae6fc2d8f5345b4f13b66690ea4693f3905553af2df916e2a8b11add73c0cb1fd6638f768b4aa178386de30602640ed329fdc1b00004c93d92646bbd181dbc724d1da2a23c68880d55d006990c36651336c8d09e60f953a58227f8da2ba0a63a02bf5553a51c148041be786f3d4d29a22ccbe1486daec9cdb4a4c6db990287c9a67bd81b477411899957ca8c186d4bc2532f11b9c5223da576151a6a846a4dfd4fedb611d304f7c3dd0ca7de3523ca5beaf3b9cdc5a3444d6461d7239523d2e26eea01f30d0ce1b5c34a5d892b466fd634e0fca5fd224b66fd583c1c1fc991bff89768a510e7e8b924ec974e5cd04c7e0a20ad4635ab3128a97744e487626b1e02ccfebba5daaa6cc27cb1a8f89c272b120f437880177622a984a6679d60da894712da146ee7f5ac057845a469533e1b28804196533b2c12d5de7f043d3e8e8a33375398bc42c455848f553ccd72fcf782cdf141021dfad400e35bb9a2d3121f847554bf3baac0ec83f4d5b3bbe6512a071dce997b8b2137fccd5a85f0fa06e9847c2f1e329baf1476ac43c67c2df261dd0a9d94c5e01f0394580f186ee78d7ee16f5cc4c8a2d4bf163f6c48c35db2d3e732809d48ed331e5848e44301f0aeadaf65ac92fc0f536a0fdc0057ce8f3bcb6adacf770d9bcd6a52ff03b2ea21885300f87164847e15bd120a8102464cbfa0e46bf339a536cc38169cdf1ed30f882a77ff1a2862508ee28570869216c370862d758ed45f9bf8687fc1be7be16e15baee3abdca59fca054aa7acf91a141bfe8ab29a9fb48f894a3d1887a6aa15649a97ad95b12788542912d13c6e978954dda16f9238f3b3bfb87605fc761ecceb090529ea1edb5fa998de76c8b81d9c817399c4b6dea4a482638993bc6cb72146780f99e06c -ss = ec6895b41d5f0c5a70708799952c8ce8b33389210c348993b8e8056254b04462 +sk = d1f46e67cc5aea63ca9ec413938661c2f8156cc79e10a64174774545b597e91a8cadb58deb15b27f343073b071873870bf858b5fa3ac3689698deb68c570406972210c2b9909571a12753448e00e6a0c165a101469828e8f60a16b55478c8899d9a38c1751bf220a60a999b0d2a429b375137db8bc9b85ad5fcc073355ae630100f8fc68ebb8534135590ce22d0a0672ab54936c8665aaf476b50293a32135283777c375767b04547501a53b72a14d3c4de4e001d16b2b2b598a22d784a3711c39db183ac82cf895b242954b41c713bf464464917d6b608d21b67b3519a6df161ad237359e262b95c6be3a8522b9248346785fd0db03cd083a21092f4d91af156b12f4c9c77c11cc0b68adbdb813beb21289743758f8136661704d0c5ca9302a064040334017d47815b7c35363f5c730298670536c69c122cc91cdfd18783efc4c39c8c29cb1023f1488a7469f1cfc1d7ebb3d1ceaadba3b07310000bd89c043290abed896e655cb1f43a1c7335aee30044d9652e6d3b8e394218f63072c7050a2984032c45735a3aaa4108aed8b9a19c13b9bac28ccb123d9987c45b91e89b7a949b5b4ad56abe4237f21dbbc53ab651bd4b703069f82133c54acc1aa415df9961a4785337535869fb758cd04b798907e36197ea428c66aa516f602404e87341e154a0e09c881725cbf00761fd9645b658d97d21f33059e4a898deb0c826d9057ac302663897d71567117fc4416c860775b026e51a52663711868777d542f1224b277ec005f2bbcfc0c84146591cb36caba82692b010de229797cac57aeb64af446a896527bed9b3e55539c0f6a0e9eca5953890b95b0b282c3a4c46a44a8705a54a8806ccc0d3c736a20d34aab118813651d85f12906958933d69679d0457a4817dc83b525ccc63e94c1bcb1c869cb3a0bc46d47084481c2563754aa8f44682b870ed04996cb8886f43b91ac8767ae12856ce5b85f55c8802830ba1babf5797d0da723eec24616a195ac809371d93f89b19c874c840ee9c39e7370ca561b6e91552cea47f1d09c9cf633e7cabc9ef85f89d01a29d9cfca8143bb05c3015b3c6035afdc45ac7b08b5406566bf864657bb3a82322793906462c03c20969f76c2c8c8ea2622a373c3e40164a77055ebae05787965b60a861c09658c32d4194dccd7ab1df87826590890b1785f0385b965b5ab3b870a0088696a783b5c7a69962b86f789bd43588705315258c117c4313198af42e2b7fe39894a86189ffc4e8c6bac5e7a0f03d86d18089a6999972f309a6debb365781f64197165d259bda98c7a920a9e790bddc587e7c08040d649b8b08fbbf36d1904970354410bd77b87889668566cdf4a94e1c65b04d33c269c5152b049850857308ba1310283a976a31db34722e97c97da85d14372e14a8a95bb45c63670bd7712686200d451cafe599ab0d3a183d2b0df7b8fbf0995042ba0ce682eba8b71dc6c0744262c75b7638b51b9c4931d4f7c842328486a799d06027cd5cc75e4b1b6816c2ad66b86ed047ef978184bd344c00aa1200432c5d142246b883b5b85ad5cc8f8fa994f4a790f3b6c201353f77aa9b7e9bb195375060282b7da42ecd36295fa55f8b5ce94b812bc421b47054469d39e3483a63583ac5a97cd63312e776902b73c34d5d81a35153589fb6d7590c0f9b4996f83cd4631a7fb6c09f60a0faf7c5d24f9983d9cb9b19566f1eb6800024fdf032c4032c778d74846f4c7b63a3effaa5ab619ad3c62680f5290adb5063f0137f0ca7b694978c622a9a34bae292719a7f9cb67033c0de773359aac3577ba38446a5610acb9d48509413b1cb024cd25a4a5a882ac31cacec34c25fa073bd38a8356934423a838415355680bc7155d433b4357ecc6221ba804602317c7703aecc7fdb30781a715849186f126619fe78f610420d2bb3adeb085753a710aa07ba2139c0897a172dc09e7235bbd0638d8c695dba8baa8b04f7a058edac52622b4a9638155d56448a3977786941ae23c6dbd05c4fe466412f29c74eba96921612edc0bd5d12e72e944e5105843034d9070416b649491c7b4245c14cc152107bc68b6078b76cc61a6b371e95202292584a1734f3c4214c2371b8168c6eb9c7e7efa76432316d140aa9055577d874a7ad70d16a3783f7904f3445e7d81260ba19153d3a984e76dee73b825996798bbc7c24c5e45d45f26c39a879c676d2532d3c11f376b1f1cd8776b6280cfb52559b6b3bf4716e9b49997911bf8da16c4147a2cc9bb379ac5195a320783213f62156c127257a469a428834d384b1ed48a8a576b240c1c55b84d61e248df45a52199143fb141b39c29631216a32b8dfb876df873456c14178c4360b8215c71e219c08c915a9ac02304c958c1bf7e65b3742bac539059eec85fb6cb608975b401c83b490094a6d1714876727ea34cd27b7385d7575ff49931820fd5dc33f3881554c25dc41a65834115e1c899ef8a080fc6c53b81b3804508fe4c1fe6904960d96f8c1576614474c9191c99fa3a201a4143b09ae0f3432bd13a3442ce80ec3ca3c94bf2b45fc398165318bd8d2683148315d1969b70840af5b42d5779c844c48cfc0488ec65b414837a965c65902c21a2c48a590ccf9fb9c6f9e45913aa0577d2acbbb29b5357cbb6b16fe6ba9abae44645ca68573b5fe325670f2c4b5378c040171ec3a25229b1c3df175dc1d4af59035c7ac449d07c72abb6a153ba50c3e80fedd62beeec1abd53a45a7c33ed4117f415b77a43a0d7ba4ae2031e3c57c945b9abc3b5b3b7915784eace07e7caacf256cd27b28c2924b01302c9432e5f3a2a75009d03e36fcf7089fce58ce57492443323ab494c07146db2ab8e3263955eb373031c22da591ec5cc3ce0155f69fc43c8484a9e332e2dd433a888190b05747e0971005b8026409ab874cd65f533a51a40a668900ec109de60749250890ce91290a43078e3ac85502b4f34518886578c26353a6577fc51510ddcbf4ffb6b501662dfd1001d6354b47b0528dbbc0d6a18b58c605a91957c27ba354232751810202a891aa83efae7957ac2883605375778369589597a8b4f23f325acd8683c4b1dc3103002e1c588039e08a7c3c92137510391b3f75b99810f5c932a80a7b5d8164d999c131828a59a939d90a8caed47c205681973a38074243a787866588399a199c8bd74c8b6546168e255ca13b23d0775eeb727e3cac8b4305893185517274c4a4abbed709f2b986bc02592d1dc38cde048e5f63f15086f11031348a7a68e044cbe1075f1eac3c330477fa5124c832c2c880e29da691007a82b79611ee04b64280e51d201aea5b00a633e59dc0c20d72742a925d4cb19661ca864bb79a029c7100911dcda5fa1b36392d3432c187ddc51190c563d4c180dc87976a142962023301acc29ab63853813185b6390fd84b7d395514bea0b35b22d9dc19277ab7d0d602725a9ca3af87df9f96db8bc6a3f27891f9283bd6a4c4966cd26d3c96c2b4d808a2cd435abe4173ead728a200a43f8e21907020d6c19293eb02785571a399a81b8205485c54ac19bb298c8941dc06ed7796a39ea2c84d755a0e90b53f86ebff130c6008f2dd69af0017bee0c6e13a0bb2bd73b02431bd211a5fffab76f96c080482055837a6295209cb2a62505b846005ca5a482709411b5b94bc3781a557b2efd85b575621cab87aaad6844034c4a1ddb43d70687d968bfce441e7054a9c9905c114b9791e65bb23aa0cf22ad7e005bcb38b24deb2e7741853ee7085a93250ef7624be270bedca3d322842b477a507c3ddfe3325d893cfc432f07c15a1422128b5703d92812b87915e86a8f8de97f163caf5f695ef9994ac4d7932fb9629de72a988194ba13c996c2252968708e6468687b1a91063de718331027a54aea679861b1b6b6930f8947af72a1b30895f225a7bbf7cd7e8a857b6216115c8e98689b89c7686d282c44407c44eb64d3795d51665bd538c33a7915b5f7773ff20b6d289d2425a2ea4a14e8e2a349a78c76f8760082a1f8315b4dc41109a05c6053484a1b381cd8412df92ebed7c489ea3db9915a23e07c37f7c805e448a5f08a89a860b96c4bc7a10d4c30522cc900291a8504e72f4ca5229135827626c138173f73f123fe013f3612a27df9965dd78c6f1a2c3577c7cf866e70190c8a249a6ac6c1eb45ab61f9a021470135292d6ba6c26455cf0876c9633b4afc24779c908b5619ce1df7464e096aefe51b5f43be40b556e2c5c41503857f8a6b4adb2a5d8a67cb668930889d68295736027b5b1a4b3cf44a05101f1bd4b365b8c54117c6027460e14ba516724361d34887a693067791fb183c9c25fd45802d5699f33205a71d6404704483bd2c82e92ba9457926a45bfa098560c001172c4734a620c248654c58f1c10135657083de776116a6acf8a55f3610648e3fae1aea06e15778f3442223574e9c7823f36cd16c72618846331f95e91c +m = 6e357dd587894d497886bb4c678cf1ed347d1d85bc1540d31563106341718e16 +ct = d7612c060b1efe062684c8837212ffcd6b4435d18e42f20bed488b5777db4166c6a03b045ac1444fcf8e302b25a73490e5d408db8499847a6344dc374c101e03f0100d8ae8ec7a01a91360bb8ffbc459387853985e2b7ebad14eaa9efd4deb648d5d81f5bc0e50219d493dc94d9bd46718e6829731ed7f1a4ad758c835a4f7b80eba41641816593f75a29293ca27b1af48692c19cadba3f4b39313eb0e45a3dfc250b25283add18e6462591e9bb3183617e75b3f5617d3da2eb68ece676fe1829c6b588eb2a31c8f5d8cbe15af5706f22c4e941ea6663a927e66a3dda786a286d37b2b3bd017562b1a5e4940037f7835382dc9bd3ea82ade4354d082cc7e8be7c825ab0e446e35768012832ab65a2617b4a37dfebc7bab69919deaceb28d9dacb74b053840bfd2de27651915afa7eb0d2e323a30142176022c580d5a7c831d49d692d12290a8ffadbb6afa9d3f8c6f9fef7ad0211007fa2ff2a23ff4842679da8fd002888e7ddde3b852a5c7848a18489d8d33630bc12d6aa7fb8b7001f5d3c83cc1801cbc343c4613a64cf8960531eabab88093ebae866f09e1c8633090b2c69e11349dad30f73eb4335b1f7ee84248972fe06af4a615e17412ffb7879b6147143f7ff23bc1bf8ec984b54f3dac85fcc94ff4a52c9175bc40d112536796966633657fac1ddc5e86c785dde06891e203b21389bd4cfb4aa95f79f94d44d77536b31c0b6694cd8a370e96b88b6ea4922cf3c39d02c2d25f2536422d248f6ef011658251d93eec6b5f2382b34a006bc8e680f0c46a37b5fc78e3646208d38ea29daefe9085afb8a86d149018e3b8c5f5f5d4fc4c5bdd2ecb978a01b96cde95067ae330969556428421447d508df15907f9c0d12be4a5d092b5655ee135435975674576daf59eb6456ce773852342defd25332f031cac67f2ad7f9e5408070ad16422c47b0da7e9b7fa19bd6a731c3f1038e3c09f3428b05105f2f0198f47a661bbcc6b28cb0ed3f8684a871be7bfba52273ec0cd103807823ac5b5c43721c9e6f864fbd3dc0b3c60eca5e5adb3d757dcf65cb099b5d9fe595c72e8dca95e3d742b871cbd8affc0f47ff6a88f6f397e99eaf992b33ad7b3e71763363c97075a9606cca141839cb6e29b15cfea90c4d9c56d1a2521532d078c4511ae55b55a50c323139679b2bb5ef00c418486505caaa929b7f2180507e25fa848833c2fd1ab16b4e2c3375b10fe6c180bd4ef49bbf477cca8d41e82ce09de9a4d505fab30b3bf2b839a32c36dd678c2f06a51299718f7307f824b172c007257f2e3f3fdb6afdb52e9f06efdaae3ca1af22f4443e9b8a638a3404b8d93cf5930a93c2e41e1ffc4fd3e3b2c9d2fb94756fb057ec85f3c32a41dab56e9710b893b9ae1adcb2cfe7a109a7a73f634bebee532c85d702d0c39d32c806022de0b4d54c6250414ed43ec329e7eeabf5267a50910b4ca65e9c028ba9e9e8efd1fddfd847be7aea41408a835418659a344805e0e08ccebef915eacc17ec2748381c408e369809babcedcee3e9e66f8fb830effc55b7fc7febbeca2e9443154f993c2a3783ff07d5b271965f189f79c69e9876adecac33e7ecb4c82e3918a5219cd331b75a042d3b34ca9093ed281e972749d05afe3b36335117fd7b1e85147a9328908f72fe0e1f4f83330f2b11e468595ab1c3753b14ffe48be979c68a0908726f64d0bf1c18e0da921f1a6b3092681d7c365f474ea0a05f4696527963a92ce8b5292331eb9c8d6f6fcec6949af4800da978fc41fd12e3d448bdc236ed2c15143607735847ad6faa5cbb66346ec764e60d5b6507e3cada3db4cebe22bfc4cf4c830bfffd1cae62cc4bb5af88bd56753557c3df0a9e8222ebd26afe145737b5a498906efb9b12de698818b051fc7019c8c3a7548a4e30f54f376b56132c306c38865a4d33d5f17dfdb72c060fd46cc5d1309cdcf9338d7eaf4c87a52e1c30df142c039ca12086c43e72ab04ac2e6e54a37f57c12e61ee428a970bb07555ba3e2d9c8a3583d8974993aab69164c8bdd41594d815a08322362f371e05f2776b434b4de25b5d4956b1a2e44d9c6e5d8fdb49d7fc8b1bef4eff1e0e610e91368a673a94d50346e809f43e31f5d6fd904d22bcd97fca5e51a682b6109ed69865f80c4ee7f2cd3e6b1549cc8bdca599b38b4dd43c2b31e9d30f24f3c96b05ce8ed039d3cc19af98fd509f19bab0337 +ss = 9c6e38ba9ea8e833a9129015a29171f6663f7a09d86f4a293e8d50aa3de0c616 d = 470b4943f0fe7fd0d8ec5185aba0d1db09d112934e4fb4787e2bbc6b88466e7b -z = 8b2809fd40008be70a6b184981101724bc3d5ec5e1956b510b82fd5ad0668a5a +z = bb02d701fd1350aab462cb65dac4b2f75928d378dfd7a0360dff9185175538fe pk = 29d5526cbb30aa578643b133a0254d6e22c33ee80564e7424f0842b113636010c566eb59f9923a021b2a19c08bfae521e44324eb5bc9873846141ca7da45be4f8619b334a7cf52093b2177f4a71ae211081a096071f958277555709b2f459685ff22849a86375e157258d24563b8028a728c5eb0bef79495c1c53979880930539227c188c2027681236439085b41763d6378a4ea0254a7416473e67d49fc5dbceab81e56a30e2ba61efbc97367c06496812bf79d449492f96682c2716053bb54dbf1bc22f32e6d88c2a1947bb599a878b84f29021ead84a763eba7b9f3422466836bb6ad029543041115d638552cc2017a84ad4cf687daaba75b0c0a73a95f39ecc758264d48063924e9a0e793b5275c7090f9655c2325a3ac19f9a5b0327b80f220b9122583f5d908cc21c97083227b568c47e58a2a7843d2141411b08f9cf61deb4a9edf41617fe26bf9c519d0cc80cd292585dc4ce5a90339216a6f876206732af6dac9b2720025b31e17ec47dff321b06107993a414f1509839886bc526f8051c4380c3faf4b64d7e3c9f9a76e9d440a67499322b37c4af9b26b2814a2b8b699ac0adcb25835d038b495978e2446a1c33d98269a9d28c1cfc89c3be645ae53b44dd4709587c53df10c578562a91b55ca04ae8530c6aba9c16cbb0684385704c15d302c1ad4857d0d1657dd85c536cc76f228641899188b9222f2b208d34222276a3c91628772c6245433a0ffd16b0812299283ac8d5a36b868b9fab4189aa64a0b90b606e695fa542b8c7c3ff0f0a46d5b00da78236d518d34756a2f32075480a4c15b7c27cc8e4a93180e6b5859120a24db2daec61a479cb039d4b9e6041e816c96862c2b1d616748444b4febcf7a129e6e7817950c77a3fac386fa787eba4157b720fc26629842a145759cc8fb652811a8a3cacc29571463aaa7e1033cf0b4b2275b7d2034a48f49576975363085b304c0426ec26fdb17ca8fa5496d794778c49b4f74a58240bdd39c2fd6628011837451cc4389a43f3bb20959928b77394651e4c2cdc44cb9499def6b366d15550b41ac89707e57b271aad6113ef7a9b1575c69e35e4d75bcb0333e89c091603b7ea5973a277672a1c504cc2c45022906106b97d4fc01e98a876be91d88f4c908b892b5cab99fa878dd1b3b1688976c148bd0450216656028d9c2fcc3bddab2ce6541810cb84f4af414eeb863b7c7452bb79a96e790cca35bdf05b4c3b059801b2bee373da6a0c3df79c986e71a6788712fc50aea51044c2b82b3d201ac7a1245c96767f0cece2b4af175329a4973696c5deea91075a6b8ee2c347d15c89448cb48d22126d82732c1293288ac60bb3bc3ca1e208ba71054399fa4a5d1db7389379600c128b0ec1803b88de90369903799cf5ca0c5ea0b012b691b0a50b9011aa412509d1abf24e252e9d2cbb315361977770ed77310c1705e46b06a5c1c35fb5e5c9a8066d2750b388855e982bceab6b5e8018181b66717142cbc3729b13e2b34205fb06724ec13c3c2977e346e50a79498f94756069693989b77432f8b5ac8d2b06f2e227c4728288e91bcd6cac439b068e2017ce1c808c74098ec2c099d81b9dc6ab7e780c0c1669806e3cf34a1c1d5d002aa1c9301670fc4e45b64c59481d1cf6446468806683f57b3bc25b032aa40d2c188c5a2a7d47b41b4753d5f7a3b22bb70643942d6c35317f05e6acbb4f6794b1b0c3bd47893a7f9cbbb61c608068054b385a9578303111972e8888c6427afe099a1a07fb3879b821b25fd1699ad001f51b27acc5b2926ab2caeaa9341e1a627493f44f561eea57745a0764a840963024ff6c070ad95b285a74527fc3da894c06f7bb5de61a012547f87c1517b9aa5575a1ac9a30d858c912ba096cff4a24085c750aab463f8b956fb837ee300470452c6431d128b27472b5cbab268924acedeab3e7b02b2b201a44e99654910cdc8d5206496637e88929a1ba4436272f6b5ce41533450663f7a1a9144b5400d727fe6342c6cac6e2c3312015b571585303967422ed8c5d4b75e4f203bf2f86cf0370aa9324c47246a27d9076559c906ecbbecbb20e020cd9b6328857832ad8400666b943f8418f57408251b91ce341a2f63601dc751c0b301729caad8425f717250d5a249b1175f9ae8a9dcc8cd149b9bca489f02fa05307d7163b35ba6a4c5024b70ba27db0de8d64bb8b55c83bfdd24 -sk = 09d0009aa9878c697e2eac9cec9675a9570660346547d7aa8d4548e3aa917e238cbbc10c389445d15714b237566cb44132d6983c9610e779570b74482d5ba2742a1bb51c68142c1680b800f1938795367b6d8a56c32a0d77922c78116643530aac01cfb2692f4bd6bbde615a3335b397487db8a1175a043719ea58d0dba627d7c8511468b34442879cc227e6b39e084dbb68be71cb988766114a80b1979118eca08217540f032966688c99feaba06d0a0a1e701deaacbcff9c2f2948a209ac8ee505c85fe0444b5c70d067100b63cbd6d98f9aab73cb06c97ff31d7aa0ce188707ddc5c07d495b27957b369055650abd5d9b9f75761770920dd0b574a5841c3bbc9f6f1ab0179c118c7a83b2934e950b3dc732c84264c66fcb0df78975fcab5feaba4e6af97131696a0cda1cc9e2c40a266fbe6667c1abb361f063103311a792b95cc525ff872bf3f394ffb48b30b334ca02bb32a901e3478f811505da066de6a5caba425df83c27565ca48b16bb2855a797a72dfd57615d5117b24374c2d306473a349521a8107790d268ac6b5813c593cb9e8621f8c68fd2e8082c491c95c5ac74c86dd37b0a4ea0cb66aa576af50fbdb0a31235bdc9e8107f1859acd2674fc72c6669a3465556f90269cc30b0a8f53563378ee016a7abcb5460d5371b01754bd7373c2314e2a42d98636112f3cbe0638e513b38d4850afd6a1d3d485308181febd88b75f532e4541965e0bc592885fd1c1b3108c33f74725850617b526ad4f2c8cecc19b0a0ade15057c90ab086c26cb014bff92988903bafefa3c4c96ccbcef178f988a40d339db324257de69a119125c52a4147360b1274808299446ee768680170457acef18814559996fa96b418275e031199e0d578e86c946381c369ab839b1a75e9d6845c98aeca24253b3b0f00ec7e92cc6f6a40a4d8b04900ca3e78cc7a5c51886e0901a908bf0a08947e3b524f1c606b055451ab6eda2bbcf832510b3075e2cb0ecd493b71102f4ec69565f96651a3a2c3b738c2d55805798253e055dc8508b98822e6803785130d22e494b50025b0ccbc69667013c4ce4a140c2e9ba928d41d7fb5237da8c5ac0310ef5007b2b0c6737bc17a747c5a2c1f3c1166bc2b0ad7aaab1d870e54694c1ca293665286c4eaa35d34bd6ea7aacea04871c257cf63641264aaa0db4f65337274356f71d02310a57e44d23ec6b4185bc5cb45a65d3b592af3138216332060264a6e53702d766d0f4a0f14f70b75b780688591cc414283a59ad2f84d665354d71c2aaa1c278ab6c8ba902283b286f82761906c9b2796595bf5ac01455ed2b43607207a30c949afb1ba5c50659143c98237279003ca820b4b5963b0882a088ce09c99f4a6368971a7d6885237bce28580e2ec483fa305fffc0aca173a89cc41727a55d4e29a8c410b3fe851b3d58b58c31920759ada529da162cce47618b2f715f3658d71f5455365c67b04748b371a5a96b75f342cc4c031c713c04d2b6cdec0cc92b7596bf4a2a0c91537a0c8174b3456489d2db70d3af2995c4830245120e9411e92ecb2293700973386983a0c6591cd5eaa34d5cc00fd672d20a604e78696d5542646c120e02c8dc5162630e71465accbb47cc0ede06feca295830091000bb220cb2a41777647d6084c853cb69ab9ab97204b14b31bf4b1ac577a76110f5cd17dede14d095662b5d12c931b1404d3b0ade5b216e69fd480a9335abd312065e187a03891a4e9a91fd01a57a8e8a1ffa075d8e68152ca058a876e2bd80e46c22af8360e3734145ee882cfa06c22167f03e103aba731e7526033ba815d9c3775d311f5d92a31d552d89bb291663ace4b5916436e1086b46879950de89d453a666f0b514ac31efe398acc52370e27c0f681a97b0966a3a14b7e45bfbe688b5a1b40d9f515b688218ef95a9ab211ca429cdcd6a4913b2ed87c9f65d64681b9bed10c09c94b9c0d95c75b69721b119b95583eacc884a56ac09bd3bd6f197a0efb6659e89ba3a019ee12b8ef056a44f174f0219f89616330d2bee1580669396009895cf9991a49e7bb89719f6d340bf33c427fabb2a5c96d81c42e18a96470360d96279bad640bdb41a40aca9142275cae4b95da8acf98bca3456c574acc43d3d72a2c6542d1a25c554a8439d9565af29d8617a129d5526cbb30aa578643b133a0254d6e22c33ee80564e7424f0842b113636010c566eb59f9923a021b2a19c08bfae521e44324eb5bc9873846141ca7da45be4f8619b334a7cf52093b2177f4a71ae211081a096071f958277555709b2f459685ff22849a86375e157258d24563b8028a728c5eb0bef79495c1c53979880930539227c188c2027681236439085b41763d6378a4ea0254a7416473e67d49fc5dbceab81e56a30e2ba61efbc97367c06496812bf79d449492f96682c2716053bb54dbf1bc22f32e6d88c2a1947bb599a878b84f29021ead84a763eba7b9f3422466836bb6ad029543041115d638552cc2017a84ad4cf687daaba75b0c0a73a95f39ecc758264d48063924e9a0e793b5275c7090f9655c2325a3ac19f9a5b0327b80f220b9122583f5d908cc21c97083227b568c47e58a2a7843d2141411b08f9cf61deb4a9edf41617fe26bf9c519d0cc80cd292585dc4ce5a90339216a6f876206732af6dac9b2720025b31e17ec47dff321b06107993a414f1509839886bc526f8051c4380c3faf4b64d7e3c9f9a76e9d440a67499322b37c4af9b26b2814a2b8b699ac0adcb25835d038b495978e2446a1c33d98269a9d28c1cfc89c3be645ae53b44dd4709587c53df10c578562a91b55ca04ae8530c6aba9c16cbb0684385704c15d302c1ad4857d0d1657dd85c536cc76f228641899188b9222f2b208d34222276a3c91628772c6245433a0ffd16b0812299283ac8d5a36b868b9fab4189aa64a0b90b606e695fa542b8c7c3ff0f0a46d5b00da78236d518d34756a2f32075480a4c15b7c27cc8e4a93180e6b5859120a24db2daec61a479cb039d4b9e6041e816c96862c2b1d616748444b4febcf7a129e6e7817950c77a3fac386fa787eba4157b720fc26629842a145759cc8fb652811a8a3cacc29571463aaa7e1033cf0b4b2275b7d2034a48f49576975363085b304c0426ec26fdb17ca8fa5496d794778c49b4f74a58240bdd39c2fd6628011837451cc4389a43f3bb20959928b77394651e4c2cdc44cb9499def6b366d15550b41ac89707e57b271aad6113ef7a9b1575c69e35e4d75bcb0333e89c091603b7ea5973a277672a1c504cc2c45022906106b97d4fc01e98a876be91d88f4c908b892b5cab99fa878dd1b3b1688976c148bd0450216656028d9c2fcc3bddab2ce6541810cb84f4af414eeb863b7c7452bb79a96e790cca35bdf05b4c3b059801b2bee373da6a0c3df79c986e71a6788712fc50aea51044c2b82b3d201ac7a1245c96767f0cece2b4af175329a4973696c5deea91075a6b8ee2c347d15c89448cb48d22126d82732c1293288ac60bb3bc3ca1e208ba71054399fa4a5d1db7389379600c128b0ec1803b88de90369903799cf5ca0c5ea0b012b691b0a50b9011aa412509d1abf24e252e9d2cbb315361977770ed77310c1705e46b06a5c1c35fb5e5c9a8066d2750b388855e982bceab6b5e8018181b66717142cbc3729b13e2b34205fb06724ec13c3c2977e346e50a79498f94756069693989b77432f8b5ac8d2b06f2e227c4728288e91bcd6cac439b068e2017ce1c808c74098ec2c099d81b9dc6ab7e780c0c1669806e3cf34a1c1d5d002aa1c9301670fc4e45b64c59481d1cf6446468806683f57b3bc25b032aa40d2c188c5a2a7d47b41b4753d5f7a3b22bb70643942d6c35317f05e6acbb4f6794b1b0c3bd47893a7f9cbbb61c608068054b385a9578303111972e8888c6427afe099a1a07fb3879b821b25fd1699ad001f51b27acc5b2926ab2caeaa9341e1a627493f44f561eea57745a0764a840963024ff6c070ad95b285a74527fc3da894c06f7bb5de61a012547f87c1517b9aa5575a1ac9a30d858c912ba096cff4a24085c750aab463f8b956fb837ee300470452c6431d128b27472b5cbab268924acedeab3e7b02b2b201a44e99654910cdc8d5206496637e88929a1ba4436272f6b5ce41533450663f7a1a9144b5400d727fe6342c6cac6e2c3312015b571585303967422ed8c5d4b75e4f203bf2f86cf0370aa9324c47246a27d9076559c906ecbbecbb20e020cd9b6328857832ad8400666b943f8418f57408251b91ce341a2f63601dc751c0b301729caad8425f717250d5a249b1175f9ae8a9dcc8cd149b9bca489f02fa05307d7163b35ba6a4c5024b70ba27db0de8d64bb8b55c83bfdd24647a136f20b22c63afd2b88d14fe7677cf5c2b78223a587068377021f6edfe9b8b2809fd40008be70a6b184981101724bc3d5ec5e1956b510b82fd5ad0668a5a -m = 26d90b190a6c3d0d9a86cf66005154e7086749e966e7187c249ccb9329fd3b8b -ct = 7b52b6f0811851919d49b4be74a0e89f47035dd8fd4751f14a99808a4e48eed303421ce26909b0b921cfba5b674f416077ab15e11fbd2501707e8e31ad82c16cdd1e241cda1e391a15f1b054fe9b32badda14a179acffb3e32cc3d9d055f6b8c295e6c42d1a6030a468453ef4e62262eeae4721026aaf03b80861e98be401984d6bb2cc3a91bea76fd9905559dc10d6e065a8df28dc0dcd62804d2cf8bab10be5c68800e45d67913e624ba747ec47cc8a0c1eb191c3e07f60eeafba3c3a8042be7fdb60edb21b8bdc91d1f24bdec65d2f5f5dce8ff23c598bcd7f62e533e460826cb6505c569e0b93083500f6fc4f3a08dfcf1face12471fd050c04b6c5365c34c9278e866c5afc8d4eba601182229b96f4f4ebcd5ce748e756949205e405bc35a77111bc159e5c1e656e2d3ec04f349e5a1d454029119fe86a55e12e80b4cb01dca0401bacd62eb232afd8320c04e14acdb5607596028bb48e279f88b98c7f30d3a8dcb0e70d0681229101cd2a7f6ed71c3ff72e4e161195c52f9e2cce621c77674dffafc0838d9e817e8e6182e9fa15ee1611f2c358b3d6a93298415621e17ce5ba4bec2e73d57c477c9e9a4a44a1fb3793fbcd3bbc2d665be314c5be23e2544cacf9771e337ea6649975e635d4416621601c22d75c82c041dadd8a5bcfbf1141a99397b3f598e1fc601fae5bbd99aa313f8a56d436cb1f7a5663ad59d4d82da913340b8760a447b26ca5258ff95bb9bea73d838789d2a435d738d3c21b29ee98fba491a609a6814d044781d59d3690378d8339a55a7920aa025279127cba61e2c3da7af2b9de85ab5e8a5841f6aeb4e3dbee6843afa4466e5267aedb83d53f1c89b0666430b7a709e3064f128a7061af04f3e7534a47e28007679eef127ef00689616bca84d87196486d7b9bfb6ec6c3bf5b42d1c541aec4916388a0f8bba9db3fef5d99a294bd37e217ec8f721f71c931a88ec4a60f92e25edd0444c0c670301721a92c1803002cd0d67d238db475e34b17dfac7d3544264d1561898b178c71a81d61396150485544c4ec97fda9e585c08c12c39805bd3d1c80380f63b05051334e9abffa4c6f2377b1a4d74570b6e0838ccba049563ad1b029e0e718528f07690c498df8345b74209d33cc6017c90060df8ea63e035ea510892364f82d5c4571299219baa7a376d31686746a53c174ac7c449dc35a0cedfd4b0a8860959ee5c8ff607131d5e935477f2a0336a9913b7e0fdf4a5a4cac00e06df7e22dd579b2de31a7290788dedf2ee0fc88398682aaafff4ba8e3e67705d5d249051e6448d60f5fc269df7dbdb5fe4111355c352b1902f8b46886c3a3a2312b8779716ebf45a6819cf3fc13aceb8b89d3e8f83978776e78549704accba5f7d224b6022d41ff02e9acf14813bdb98ca7198862b43c1bca86d9a60f5e16d7c19e46ed4511220c9c7bad14d0562f10c8610559413f991bb7462e309411902531cd05493c5036c20d758156811ca686327f2bd3b9c425cd6614bbacfcf597c8f111861e66eac626951da810c1754b81963c34f65784ad6c3e6ad6ecca0d7786fecfd2a61da1c8fe5819927e91f573fbb0a4af0a3264646a84b0449587859ddc9f18cf803695958f04014ac4c3757151f0daf7bc0b88585c81fca1592f08764db9840d56062e8b9fe230a1f00499fb0034908db21419f32459e8d9e8a4c31e512ef57fbf0409a5cd09f413e17bb80e9a2b9bdfc3e571f0181dbf5a557d6d0e680453b5a03ef336c5515444268648f074b968ee8a60ec4ea11d6025480e41d024f5a33c5ffc71edac9fa8e7a1756399f142e39eb8921eb2422ba887fa5d079ae8bcf3653986bd4a91fb3e06c075b872989e083dce51a2a5ffe1ff0f25e44fccb3bc456f94cb2fc7afbbae9bf49725a0c0c085365d1a28c8ed7cac80e86b232585b27695d5fa15956e9da05560194154481f2c1c1f76df0fbdf4fa3304a280d4852b2383ab43b7020e22286bcd83a8ce508478369d62e11c47ec3fad1b58fc341d419602f7ceab8fc20c13dc5318d0b0450e2ce343bae306be6abbb41f27f6372f25aaba51aa6e3fb41cc74cb725de778afa9ddd8ed32d71a571988058c17a00fe7b0bad0b7a120ec2ce6006c1f4c9ea5ea7c5953ec4b38a38df221cd82ed86aa8ac2e284109c5a7c58b8d82db1c9562e71c6f23d56c65f8ceed82f0744d9e07aff5c71ddf8d354 -ss = be6e32a8b24fcb029b152385bd4011746a4895566e86c1784a6a631b8c1e9dd9 +sk = 09d0009aa9878c697e2eac9cec9675a9570660346547d7aa8d4548e3aa917e238cbbc10c389445d15714b237566cb44132d6983c9610e779570b74482d5ba2742a1bb51c68142c1680b800f1938795367b6d8a56c32a0d77922c78116643530aac01cfb2692f4bd6bbde615a3335b397487db8a1175a043719ea58d0dba627d7c8511468b34442879cc227e6b39e084dbb68be71cb988766114a80b1979118eca08217540f032966688c99feaba06d0a0a1e701deaacbcff9c2f2948a209ac8ee505c85fe0444b5c70d067100b63cbd6d98f9aab73cb06c97ff31d7aa0ce188707ddc5c07d495b27957b369055650abd5d9b9f75761770920dd0b574a5841c3bbc9f6f1ab0179c118c7a83b2934e950b3dc732c84264c66fcb0df78975fcab5feaba4e6af97131696a0cda1cc9e2c40a266fbe6667c1abb361f063103311a792b95cc525ff872bf3f394ffb48b30b334ca02bb32a901e3478f811505da066de6a5caba425df83c27565ca48b16bb2855a797a72dfd57615d5117b24374c2d306473a349521a8107790d268ac6b5813c593cb9e8621f8c68fd2e8082c491c95c5ac74c86dd37b0a4ea0cb66aa576af50fbdb0a31235bdc9e8107f1859acd2674fc72c6669a3465556f90269cc30b0a8f53563378ee016a7abcb5460d5371b01754bd7373c2314e2a42d98636112f3cbe0638e513b38d4850afd6a1d3d485308181febd88b75f532e4541965e0bc592885fd1c1b3108c33f74725850617b526ad4f2c8cecc19b0a0ade15057c90ab086c26cb014bff92988903bafefa3c4c96ccbcef178f988a40d339db324257de69a119125c52a4147360b1274808299446ee768680170457acef18814559996fa96b418275e031199e0d578e86c946381c369ab839b1a75e9d6845c98aeca24253b3b0f00ec7e92cc6f6a40a4d8b04900ca3e78cc7a5c51886e0901a908bf0a08947e3b524f1c606b055451ab6eda2bbcf832510b3075e2cb0ecd493b71102f4ec69565f96651a3a2c3b738c2d55805798253e055dc8508b98822e6803785130d22e494b50025b0ccbc69667013c4ce4a140c2e9ba928d41d7fb5237da8c5ac0310ef5007b2b0c6737bc17a747c5a2c1f3c1166bc2b0ad7aaab1d870e54694c1ca293665286c4eaa35d34bd6ea7aacea04871c257cf63641264aaa0db4f65337274356f71d02310a57e44d23ec6b4185bc5cb45a65d3b592af3138216332060264a6e53702d766d0f4a0f14f70b75b780688591cc414283a59ad2f84d665354d71c2aaa1c278ab6c8ba902283b286f82761906c9b2796595bf5ac01455ed2b43607207a30c949afb1ba5c50659143c98237279003ca820b4b5963b0882a088ce09c99f4a6368971a7d6885237bce28580e2ec483fa305fffc0aca173a89cc41727a55d4e29a8c410b3fe851b3d58b58c31920759ada529da162cce47618b2f715f3658d71f5455365c67b04748b371a5a96b75f342cc4c031c713c04d2b6cdec0cc92b7596bf4a2a0c91537a0c8174b3456489d2db70d3af2995c4830245120e9411e92ecb2293700973386983a0c6591cd5eaa34d5cc00fd672d20a604e78696d5542646c120e02c8dc5162630e71465accbb47cc0ede06feca295830091000bb220cb2a41777647d6084c853cb69ab9ab97204b14b31bf4b1ac577a76110f5cd17dede14d095662b5d12c931b1404d3b0ade5b216e69fd480a9335abd312065e187a03891a4e9a91fd01a57a8e8a1ffa075d8e68152ca058a876e2bd80e46c22af8360e3734145ee882cfa06c22167f03e103aba731e7526033ba815d9c3775d311f5d92a31d552d89bb291663ace4b5916436e1086b46879950de89d453a666f0b514ac31efe398acc52370e27c0f681a97b0966a3a14b7e45bfbe688b5a1b40d9f515b688218ef95a9ab211ca429cdcd6a4913b2ed87c9f65d64681b9bed10c09c94b9c0d95c75b69721b119b95583eacc884a56ac09bd3bd6f197a0efb6659e89ba3a019ee12b8ef056a44f174f0219f89616330d2bee1580669396009895cf9991a49e7bb89719f6d340bf33c427fabb2a5c96d81c42e18a96470360d96279bad640bdb41a40aca9142275cae4b95da8acf98bca3456c574acc43d3d72a2c6542d1a25c554a8439d9565af29d8617a129d5526cbb30aa578643b133a0254d6e22c33ee80564e7424f0842b113636010c566eb59f9923a021b2a19c08bfae521e44324eb5bc9873846141ca7da45be4f8619b334a7cf52093b2177f4a71ae211081a096071f958277555709b2f459685ff22849a86375e157258d24563b8028a728c5eb0bef79495c1c53979880930539227c188c2027681236439085b41763d6378a4ea0254a7416473e67d49fc5dbceab81e56a30e2ba61efbc97367c06496812bf79d449492f96682c2716053bb54dbf1bc22f32e6d88c2a1947bb599a878b84f29021ead84a763eba7b9f3422466836bb6ad029543041115d638552cc2017a84ad4cf687daaba75b0c0a73a95f39ecc758264d48063924e9a0e793b5275c7090f9655c2325a3ac19f9a5b0327b80f220b9122583f5d908cc21c97083227b568c47e58a2a7843d2141411b08f9cf61deb4a9edf41617fe26bf9c519d0cc80cd292585dc4ce5a90339216a6f876206732af6dac9b2720025b31e17ec47dff321b06107993a414f1509839886bc526f8051c4380c3faf4b64d7e3c9f9a76e9d440a67499322b37c4af9b26b2814a2b8b699ac0adcb25835d038b495978e2446a1c33d98269a9d28c1cfc89c3be645ae53b44dd4709587c53df10c578562a91b55ca04ae8530c6aba9c16cbb0684385704c15d302c1ad4857d0d1657dd85c536cc76f228641899188b9222f2b208d34222276a3c91628772c6245433a0ffd16b0812299283ac8d5a36b868b9fab4189aa64a0b90b606e695fa542b8c7c3ff0f0a46d5b00da78236d518d34756a2f32075480a4c15b7c27cc8e4a93180e6b5859120a24db2daec61a479cb039d4b9e6041e816c96862c2b1d616748444b4febcf7a129e6e7817950c77a3fac386fa787eba4157b720fc26629842a145759cc8fb652811a8a3cacc29571463aaa7e1033cf0b4b2275b7d2034a48f49576975363085b304c0426ec26fdb17ca8fa5496d794778c49b4f74a58240bdd39c2fd6628011837451cc4389a43f3bb20959928b77394651e4c2cdc44cb9499def6b366d15550b41ac89707e57b271aad6113ef7a9b1575c69e35e4d75bcb0333e89c091603b7ea5973a277672a1c504cc2c45022906106b97d4fc01e98a876be91d88f4c908b892b5cab99fa878dd1b3b1688976c148bd0450216656028d9c2fcc3bddab2ce6541810cb84f4af414eeb863b7c7452bb79a96e790cca35bdf05b4c3b059801b2bee373da6a0c3df79c986e71a6788712fc50aea51044c2b82b3d201ac7a1245c96767f0cece2b4af175329a4973696c5deea91075a6b8ee2c347d15c89448cb48d22126d82732c1293288ac60bb3bc3ca1e208ba71054399fa4a5d1db7389379600c128b0ec1803b88de90369903799cf5ca0c5ea0b012b691b0a50b9011aa412509d1abf24e252e9d2cbb315361977770ed77310c1705e46b06a5c1c35fb5e5c9a8066d2750b388855e982bceab6b5e8018181b66717142cbc3729b13e2b34205fb06724ec13c3c2977e346e50a79498f94756069693989b77432f8b5ac8d2b06f2e227c4728288e91bcd6cac439b068e2017ce1c808c74098ec2c099d81b9dc6ab7e780c0c1669806e3cf34a1c1d5d002aa1c9301670fc4e45b64c59481d1cf6446468806683f57b3bc25b032aa40d2c188c5a2a7d47b41b4753d5f7a3b22bb70643942d6c35317f05e6acbb4f6794b1b0c3bd47893a7f9cbbb61c608068054b385a9578303111972e8888c6427afe099a1a07fb3879b821b25fd1699ad001f51b27acc5b2926ab2caeaa9341e1a627493f44f561eea57745a0764a840963024ff6c070ad95b285a74527fc3da894c06f7bb5de61a012547f87c1517b9aa5575a1ac9a30d858c912ba096cff4a24085c750aab463f8b956fb837ee300470452c6431d128b27472b5cbab268924acedeab3e7b02b2b201a44e99654910cdc8d5206496637e88929a1ba4436272f6b5ce41533450663f7a1a9144b5400d727fe6342c6cac6e2c3312015b571585303967422ed8c5d4b75e4f203bf2f86cf0370aa9324c47246a27d9076559c906ecbbecbb20e020cd9b6328857832ad8400666b943f8418f57408251b91ce341a2f63601dc751c0b301729caad8425f717250d5a249b1175f9ae8a9dcc8cd149b9bca489f02fa05307d7163b35ba6a4c5024b70ba27db0de8d64bb8b55c83bfdd24647a136f20b22c63afd2b88d14fe7677cf5c2b78223a587068377021f6edfe9bbb02d701fd1350aab462cb65dac4b2f75928d378dfd7a0360dff9185175538fe +m = 0c7068e5864fae7d1abda0d0a5c1e62fe5e1cfc2c96d82ed6ef180815dfacc66 +ct = 0d4e87bd1ff400520874a110cfb7e83d4a47c96679c12508b919c9f8885190b930c6575c1e9c933f53e6f75ed49eafa91fe8f3a477ef062c2f46de2b7343a60334ffc43d26ed51043293c1666f7ddcdae2d5f622f61dfef55da30d57dc7114ab7b2f00fafb4434c4ae9dca623f1783830eb8b5b740f3b71471fcb85961f9abf1782282fcb5c25c67bac4de9fadd071ed271dec95201cf5844ff9507ea894b57488e50e7c1a639394d71fc68a0b3a0b1141e5ec440735da57abbb5e2b96838b6b1ead0af4e55311c5b9fa76e963faa0e7686fef27e090ecdde7cb05be7200f0ec01e466ec6d4306a23d79db5a2e833bf4c9c7e8d9778c03fcf9e5e57943789ff0eb3b67c5d3546055f63a3c502d3b436a0426daf9fb36a8f9a800133f666528be94ab36a2c063307d503ce290938f122c7490718d0396b4fc880198c31c50503d05be30535475e29e5f897cae68fde6e9b2f4451c02ffc693fecfc0002f8710b026fc111a3675fad0a9a7c819ccbcc33e2cea35e03f7c800d110a545b4c36fcb84841c83cd82deabab837ff50caec276f7a7620eaba1f91d2586d6cd52aa05f919cca6fedca62dcb9ec8d63b7787c761dc48a199da93324aba53188621067486fc6abad408cf42de5655d010ff38852f0fc5370db37669fa9562eef662d65bac3e81acb09239e875932012d106861eaeae607c10e1379704803789a39ee988ae86c1d7267f1c8647623e95ca72d57ad4d0c55c59dc31255d53efe9a3c007008225b20022bedd32b86443cb746d9bef2085ed6b7a0efb36868208d3a872142d7f96debb4ab2827ed1e9e9d6ce6335ffc7a02d62c20219708176bcda9580a0d23e8d102da13d2baaddb58b1fa1ea5d0ad62b006ae8d298eee25f31621eb4603103b970738f27d986df44bdcb90b1390b40b0acda3f06d51050fe435b2e1ece9eb5c813d2d997217457573c18ea9535731a194f02b00405c309125e54f19ba1f63ec10988839118d1f93e0eaeb3a1a0d0b44ef45c06f7adfb56752448494345d678bc9fae309a52eacc8aa7073b85d5ae554739206fee96161095ba1f1d564a6776113ced5b41f7a0c4a46d5c821667e8e36a3a968b4904a76706db3ae95f21d9f9cd5a7add3e193c8e290cd32af6e54dda3eed918b073b6f1ab31933a4abf1d1ccf334295cba72aa6e0fccee4f5d60ba9260c90e528bff7f8c7789e473451e02c32b4032cd81ec5b814add21cc0711be340f748e6c52a376806693f07ef8d99e9cb2eb675ddfcfb4eef417e1deb2be4ba1fa895588fbc36acd7f5c90f56bbbbf7bdf8e60cb41663dd2042712fcdd63b9cae3e89d8fbbbdb3e55c39ae92b2fda72be9dbd5fdd7473fa4032548311372a451337bb5e5c7ed34d5c3e50d559e134f8e18362264e2b2c2a2090e79af4d0586b7956b8f1d55dcccbf59d825319861e1abb4a532d249ed448863a90a2b9d8da1c2df836ea42695b2eead6a4bfdc26ac282acefdcdebb5c0898d02981f2539b6014f6766d9105a0841470d424ae840f06d488523019e270cf33409333b5ffa95d0870d3e8cf1ca573fef690c6a12d23e49247b9d129463b8ebcc162e796fcbd1d81ef07c7c909f940f1f1196f78502a1c52a36f45596938f8c001dd4e6b30f93232ea876e41ddb50314112b35814036c968b67535e2923aff0915074708e902192460c3607d13937b21be1607bfd93a4ab897a70952cee289af78659573f81ac9a4ae65c628c7bd3bf7ce4849dda920f7c947e97e8d0640e995feb4bdba097936b246f20f326576759cbf63cd41672e24de7fcc95c4a458f47564cd279c8fd474e571a6dffb29cd507dc63d895755520d9c165eb82d9638dc3755cb1f78aedb0e3db84c2e7e4ab9aa1bcdad79b978ade97979e9e20f362df722dbf887f4c26fe2fff433036af5439388664b0220436abab2e5831d06d9fba25abd60d36ed0e2930e6d534214f3658d70f7be87c9c96e18a0a00c081d8788ffd791d75bbc685dbfc7a18511e0c53ac7cc8a3a2bf95fda9c4281990d5c81f3dd16299c9a60df6f6830fa931b0f8b8898b96b666e3a7c29496be4cb1bd341a647f8caa78ae74478d856989f7cf111fc13a33edebe665cb09f65d2f74d208f535d53bf66ba6298bb9c7a53551d373d215443ffc61b6393ee37d0a8ea4829f13ed39645c9da07f11ddf6dec31a98413c9158205679bf96542baf0b +ss = 884c49b93a32affcc1253eb937b96ca8b5e11ae30d7c4076c85f4c2250f3b2f2 d = 6df4385db978d27b27d2aa5e452e4152b36f097503d9581ac3390105c5727e7d -z = c95fa08ed106ce84660e8a4c90bd2b22634e40769aa0090a101c5dddad45edc5 +z = 165fd0a50a39142f7c6faa2bfd417adfa4224858281696965772f448c7ae22d4 pk = 5fc836b5e569623b3a02227b1c21a206e83a9c5b3ce1594eb9099174fb34e5b5c333e510ac2668a704548f02b47af007c237353a468f6dd38ee8878f35fb7d7e63a3b1867b2b47bce58a4e95930a65c2344510a450b9c59c24326c16cdb447231a026304bbcc9823c3a218989ef2352d445ca22b6b03186407d7973b4117c2914555acb33b4764515c4a37108306447f9eb200f8572c8467a089b824769b7df39967289a93b7f55e1a8447f862c1528c3dc4684daa9632417622c950b617e1a074b3b7ffbc23576a63857c1f386a0ff2a151652961137237ea346e691c4dabb45562653e26a806c6031368c17421747ffdd4725c02b40fc59737a75ba713311230cfea4c1be8a7c3aba9b589b6180dd701c4e704d69a0684a33adf1802eec804f44c2923aa8a577c34a4a678dd2446b7546af0021df00a431241509f6117cd32177da708a2d8472f8270e96a4bd21091f5d28b13fca8f7e2abfb57a9e4a522d95896b5811686e5b23d4577ace10eefdb9e1fd84cc51918d592857526c83f51c60d4210d92a425d7340a50423eea17b8be67325a33539ba09bb734eca0a4c365170448a126721484cf947933cc984cc7662da79d65601c3729881e9b4390a99b0ea62fea97eab9619d71b7bc282622ff0cdd0e72a3c8acb7449153df92e672c5c61b40e04854b0b523398a2634b727dae3657ed985b550849d51a04f3318892f7a4a2b73c8c301e2cb5aa60e5438d8962d8a36857f08c075948095c86de6bc34e35c8caa04772bab591e0137c4aca7c34598c65102e80ac0d677511b854a8829c08ea7766eb04c6047612aa83c17ac38a545a2863161ba3bf6a8005e9fb560597162ef1299d621b62c8a7b8c08e3a693faf0607081c6da8523805999e8b97056b5385834726bd7995bf6217c5e70863036b81c297eca1995ac48b6b7ab0ea85c3667370fabbca8d4c2d758a80bbf07839cb85d9428af1eac0d7c083567a85d13515ff399be3f5931d992c953a664eb8974a434270b47d3e635618eacd0989a15eb065348c34a19442db928d1e8b2b28a0858ed7ae8a5bc38087cc85515a344b4cbf529d7560590b3bb56de5331945c0c0b21d5bc8751d9120182c7348305edc765787ac9b784ac4bcea454e6a4c89132e6cd0a477f3bf43da356b66a8bd0980146b5d5137262b0062541960c0b19123a549ddf31d1c188171238259fb661e17363e12c57bd873c643222d014a2ae15cf6112c7fab407fc12b32c12ac65a65cfa8674715617bbc6e0f96a5406c8a765bc35c699619d01b19919263102f5ef2a0c110752d3b34fd489b7a328638210307c6cdacfc6ada87190a98b0d008644b91aef65618507a7f59b89e7eb36998d26befc4b723741e0c35cf73e8041cf51af9832ba43b8e95e368974c1dd61ab65e24a87820cfae295d0ceb8bd6109b85174c80869716a6016ac8190df173ab61c4d3c4c37ae11593ac9a09c210b663bfefab5eebc30deb27cd25a8511bb2ae87851643b50d1b4ca5bbc66d49aa409aab9e7f3402ffda93abb53acd45bcc9978200e94cd4d617235b52d9297d4cd374b998698d82948dac3dd780c9336532c499c479756d50e9048432ce0156cbbd9c85f5ca06ab57b62981494622a74807cd881a58ea10a6e5c885fad611727441dfd52834d58b6408c7d06209bbb224a5d01eef9b491d13226684baa5a1a771971dd112ac668108963bb1864aa8ab7913917c980f3ac1c435457684ab758569247c98286b2cbc78263f1cb88478a931130b496b12f7428087162b6d525a8216061a3859a7a470cb9b88bb0c8b1e21ce4977a73fa5798cc814ccd1aa84370fa408a83e73be1e12511a59486c49c6afc1367b85231f47cb34c1a8f9a963cdeac7fa6076eb8a657e647466fc82663884d7c70eacc760db1b0be0b30779c98396aa3f2004976c8493ab90ae60996056668c8c2cb9065b6a2580a986d9853c071a02343b8903c0184991e2a71298269a17f64bbe1b6b51d0b299703a04a22e17c33b29634dd1766be40357f33a000a52597a3b5e4852473d886e06db52b7605df5fa4e0d5a0f291b5421e2c1232553ae2472682a7352775c6ca4b189f948012c417c8c764b8c818db252cec8cb627455d9f792d7047cbe98b74eb26c6971be56b7219df092e4cbae163d5181caad6a478ac9ae82ee27f7256f4d4cacddd43f45cfa4de4dd067cdca -sk = 96d9c668915384c2847b7991e5f557949c99a3d46a2fc9ae7448a229a89ef7f405c2911777fb1e2f44721be8cc326a80e524486a16a083527e22d51e4ef624b02625fd6a857bea2c0590a3a4e39f0e041b7284bcc501201842345ed5ceb097a5a5f730ee53176f8acbf9e03c6dc4a069718dd64c47e1d17323d29acc630db2da9922804802cc768070245380cec6672f6a5a9d14e4012bb13caf8c320a320ed63b0591087a0c5a76ea29b57d5c997fdb372e9a57e3f4827a2441cc485718a421d3c45bd0426a87589362e52953822cf785802b2c6aa441adaef93dc6451ac68a9867c9b9703abedcaa540146ba6dd8acf7dc317a82a4c1396267032fccb53be9306e20e4713b82842e03b7fa984e5827c441e293352b2e2a51566eaca8d9c4206000655f761729020f7ff9b230d6c4b986bc94551175a8acc7e2a2c174c500666d3cf021a9b40f1a465447291f920865ad16240309b5c838a2ddc5beb8aa11bf987aa9d7c082e8c55c63ab01d0664e545e505b4aae50606136b6b01499a5ba10174852224ac6bd242d5d21758c4342f9a02a3d46a9a845112adccbb73488cfe3055cac398b0245c467b94eb342e1845969d70511bc7100f886308cbf21c13840bc17626ac93dfcc4eb22ba18f62b15b521539901166598f25555c32587637a341017885af1a6d1841aa1c747d918253e1c873c2ccf292bad45805d8946b00dd23cbda03878f66357d175d67a1b743c1e5428ce90661067011874b062e9ac8a0f726b55b76627c53338549c3f2605840a11d5606acd104bfadcb51253af718835826628235878d6160f15033844d76ae946ae6c240053c2ad6c3a3d72e721d9565a6c79b56840cc5a878c6a4033bb9c88dc43b130348082e41c269cc0d3b05ffe356b5695bb01c95f8aa9c30e50cf31f11419e13acffc7192b75948e06a68458db80a8f71573b6edc1513aa5b060cb77b12c62761bc188159a49c95180249b3e35c3100635012637cb9cf17ca9936787aac954bcfc655aec8b4215861a7709f2846a1c14889d0384591753e3f19cad2236dfcb7b225abc430a7b61e6018ab30146d60a6563b2f980acf66186fee70a458750cc62c433e651f447ccef8a773bb2731a866832ae535f0d82e605371f6b35fd6fc1188a52080c609bdd8748c321ca37190321b286c849d35224bb5107d83e2827ef0c63859133852630b237247aa8c100678e43618289239ef19c99aa6b9156704643285bec89f0b0c21f3a091e2063e5d3029f52c33af97529e701298d3961f492e6b731d4e2064d034533f4611fefb64f1899ef563ad71a52e20b199f0d80c557cc8cedba3cd1746d3a6ac2e697637f08a43d681ece3769c8980c76a26adcc585eb1194d28ab163aba5563a5c7985720248662bbc21470022ef4110b33b6b8b744a80ab36d0a9b0a7988a0c98c6a597f8cdc76791c467b0cb53a020928f7a55981b520017bc06b36d10a21433797c15124e0892a81230bd6bb4774d46f73b874602588d3f8966469194041bdee87ac54059458b19724949e7998ae8018755d491bffda76a70a64eff902a4281734a7484037c739b7bf71b658b779cf6370420d2073fb820bea1b1df29c3b12c54e6967a9faeb87bd8c0d3ffc2c1b821b42584b97a935fa04b81252ca53333bd2aa2b7f6220742b366f2877e793cd948b7c3135457e46ae107c6e74104159a82914a7059f25a2737c1ddc299add2b43a2f6c25381058476b01a14468ddb6767d18c1049c676e335eee0a23b2b14ddc7421999310396497c642e5f30003d18bc76dbacdd06bc73f12415bc3250dac8bdbb4426c92430e00bdd0234c1e3680dc94d4c30c484d610463a48cd6864eda31ba63c7880371a854551abaabdc14c225fe59265726ad0746b30f85127d12158f8181439a68cc177dfa817678b08b5a5c1b9f75bfdf0c7ba019a92a512b2ca5e91f2a6e1e24238491d3afabfe279a9bdac45971b80f187730f518194ccbd327048c9fac4b75a38cd9432d1074f4152398ec4b2b0607c9a9bace0d87a36827bdcab03e55a9b9667afaca3395ec412872427cc230c4b04bd17c2017ad39834a94b98e7b75e47be158627aa6270ddcab77bc166d2b969eb4c34ba0000a13861c4db47db85839828c6eb2074425816f026096463595fc836b5e569623b3a02227b1c21a206e83a9c5b3ce1594eb9099174fb34e5b5c333e510ac2668a704548f02b47af007c237353a468f6dd38ee8878f35fb7d7e63a3b1867b2b47bce58a4e95930a65c2344510a450b9c59c24326c16cdb447231a026304bbcc9823c3a218989ef2352d445ca22b6b03186407d7973b4117c2914555acb33b4764515c4a37108306447f9eb200f8572c8467a089b824769b7df39967289a93b7f55e1a8447f862c1528c3dc4684daa9632417622c950b617e1a074b3b7ffbc23576a63857c1f386a0ff2a151652961137237ea346e691c4dabb45562653e26a806c6031368c17421747ffdd4725c02b40fc59737a75ba713311230cfea4c1be8a7c3aba9b589b6180dd701c4e704d69a0684a33adf1802eec804f44c2923aa8a577c34a4a678dd2446b7546af0021df00a431241509f6117cd32177da708a2d8472f8270e96a4bd21091f5d28b13fca8f7e2abfb57a9e4a522d95896b5811686e5b23d4577ace10eefdb9e1fd84cc51918d592857526c83f51c60d4210d92a425d7340a50423eea17b8be67325a33539ba09bb734eca0a4c365170448a126721484cf947933cc984cc7662da79d65601c3729881e9b4390a99b0ea62fea97eab9619d71b7bc282622ff0cdd0e72a3c8acb7449153df92e672c5c61b40e04854b0b523398a2634b727dae3657ed985b550849d51a04f3318892f7a4a2b73c8c301e2cb5aa60e5438d8962d8a36857f08c075948095c86de6bc34e35c8caa04772bab591e0137c4aca7c34598c65102e80ac0d677511b854a8829c08ea7766eb04c6047612aa83c17ac38a545a2863161ba3bf6a8005e9fb560597162ef1299d621b62c8a7b8c08e3a693faf0607081c6da8523805999e8b97056b5385834726bd7995bf6217c5e70863036b81c297eca1995ac48b6b7ab0ea85c3667370fabbca8d4c2d758a80bbf07839cb85d9428af1eac0d7c083567a85d13515ff399be3f5931d992c953a664eb8974a434270b47d3e635618eacd0989a15eb065348c34a19442db928d1e8b2b28a0858ed7ae8a5bc38087cc85515a344b4cbf529d7560590b3bb56de5331945c0c0b21d5bc8751d9120182c7348305edc765787ac9b784ac4bcea454e6a4c89132e6cd0a477f3bf43da356b66a8bd0980146b5d5137262b0062541960c0b19123a549ddf31d1c188171238259fb661e17363e12c57bd873c643222d014a2ae15cf6112c7fab407fc12b32c12ac65a65cfa8674715617bbc6e0f96a5406c8a765bc35c699619d01b19919263102f5ef2a0c110752d3b34fd489b7a328638210307c6cdacfc6ada87190a98b0d008644b91aef65618507a7f59b89e7eb36998d26befc4b723741e0c35cf73e8041cf51af9832ba43b8e95e368974c1dd61ab65e24a87820cfae295d0ceb8bd6109b85174c80869716a6016ac8190df173ab61c4d3c4c37ae11593ac9a09c210b663bfefab5eebc30deb27cd25a8511bb2ae87851643b50d1b4ca5bbc66d49aa409aab9e7f3402ffda93abb53acd45bcc9978200e94cd4d617235b52d9297d4cd374b998698d82948dac3dd780c9336532c499c479756d50e9048432ce0156cbbd9c85f5ca06ab57b62981494622a74807cd881a58ea10a6e5c885fad611727441dfd52834d58b6408c7d06209bbb224a5d01eef9b491d13226684baa5a1a771971dd112ac668108963bb1864aa8ab7913917c980f3ac1c435457684ab758569247c98286b2cbc78263f1cb88478a931130b496b12f7428087162b6d525a8216061a3859a7a470cb9b88bb0c8b1e21ce4977a73fa5798cc814ccd1aa84370fa408a83e73be1e12511a59486c49c6afc1367b85231f47cb34c1a8f9a963cdeac7fa6076eb8a657e647466fc82663884d7c70eacc760db1b0be0b30779c98396aa3f2004976c8493ab90ae60996056668c8c2cb9065b6a2580a986d9853c071a02343b8903c0184991e2a71298269a17f64bbe1b6b51d0b299703a04a22e17c33b29634dd1766be40357f33a000a52597a3b5e4852473d886e06db52b7605df5fa4e0d5a0f291b5421e2c1232553ae2472682a7352775c6ca4b189f948012c417c8c764b8c818db252cec8cb627455d9f792d7047cbe98b74eb26c6971be56b7219df092e4cbae163d5181caad6a478ac9ae82ee27f7256f4d4cacddd43f45cfa4de4dd067cdca1cde599b2dfc69d59036434cc0423337513fb9506452bd8f42bb82661ad0065ac95fa08ed106ce84660e8a4c90bd2b22634e40769aa0090a101c5dddad45edc5 -m = 7db6d1a129d6123f1f805b79ad3b413012ea86aed42a05e98e7b1f32f9fbbdec -ct = 49c9a8294b05bb4e8d29c1ab72c0ce4effce3769d360ac9e6f318bc6049f640766b07674960116836153230fa1aeea42cef3923c59f6bad62c4879ca34c406cbe115833910f94553caacf41982801c170511146089fce888cbd23b03be1b25aaa53b278dbde0c024a859bfa319988c15bed10035b7f97f1a358b6608724eb424c07ecd77c415ff6605c9a7cf94e8daa2f6c0241f8ea8505a3a2ecca3521b51c0862676465ca6ee9b4d11f6683830c0fbdf57cb1aa7a98a958108a8893b5616e2814953496ac11f13a2019837b249fa9f2c9be6fb343ce5fec378ef40f4261012cbf1788e2bc90b407e3f92a7d7bc3e2284732ec7cc667b0ee4ecc843a004e447caab4e6a1c90c19d0c1704824a693d2b620570c382e0d906bdef9466137317b9c778978a5e97d07808e20f064d4cb9c67d9905c3ad933084f10f7f9c22ae212c7fd6f0f07794ea7005ce42fa44118de6c10e9855d7d8a4dbcc9e6a5613994036c490d537b27fb2c609ee11b90c2e6b98dddeaf50be8f7608999b8799fa49abc13495ec4a51ba18879d96a8bd1ccf75e8f5f418f1f4b5b5484c95449e38381456ca24a42533063de7da90ee8e5e67b0f66c61a82d0a068a4ebc744425e67b7cbe34fccf415a47aff6bc6909fbfed5e5e6cfcca674ea5b6eba8710bf3d19ad9f8fb964cc7889ec472f19522030095d5d9b3bde7fc27cc0858b22adf2e7ecf741a88cd0b9348e90c35d14eec2b1934857f73ef6e0b36678eccf450476d833769964f603e52f88cffa4d02de3c790229000cd3a3154935a052b470fc74622ba6eaac4fc0e8c91ee68bab39d349f2b4aa6f804cea6a9100f0f37f194a0c51d15fb72e0ee4a61cbedf0d1677b3a207d26321260b91a79d23c917b63ad7f2cc2182271b6c532bbeecb77bc2ec9df1bd7af0cfe41ec9e0dec4d63004134c5a8c1971405e717d6d870c68e16755cfd88d43193160f7e13f5bd6ce778cd04c854ffb56484a9debe6bbdf6163cda6708e2095a1e06734ac0bbd3d041927f0dabf45b470bbe851e46831e8f212963050c969e73c1d5428a9978af21d975fc393a9a727b6644af237c6dc99ca193fce2326dd3919d7f03ec7366c62a32fed3f220267c2200a766df045672e527d10bcaa11a356ab906c7555fc187de74f77152e4421b981d08d54a8160051a1bc362fb471c35287bec281710dd1a89f8f8015c95a5878f9f44e00d74a91c2780521219a81d18004d3eac7dc389ead3d6e291ea8c27aa40ee791e9a4fa596eec715e8ac8b9cef656ce1aa7ae07dbb8dfcc75adbd5e49f1c44cec06832726461365cee67800b84e2b5f65b60d6b6be3b759eddba436a48157d0a30933494f7b153d81605d670545e778e89e32e94a853e4cff4141e5ea8029df8741a97b439e5c42ceaf64cf6ed4467c44b22167d0b7a600ba318d4a171ca7390b5b70581e862430151fd580269aaa49eb45d32ed9088a351c362187ceeea0afe1559218546ff681c1d36cef2c5d85feee66859603cbb7b5f2a5131fe1f396ffb269abbb268003bb58dd0b590ae210e32326a1476dd44e5aa8f3335e05fd0ab98944e86e2fc971750eaddfabe24e4ffbb99398ae6de15b863d1669074c5fb524ed4cef67fa8c26f1595b768ef6226b7a74ed435f43f8adc5dac449b5e7a100ec00e4007e522d4ccab3b85ac5b13c092c725a9da5d2ddf025d9faedb362076a77666ee28cd0ea330d304adaebabc536a2d5db1cba03d30344f93910aa5f7c1ccd710ad66864c47be629d7f1b5faa282f947425aa408d46a422bad85af4e8e473b9e69a21723a3d4de57deaf0fd26b49f97cd624a138826a7b02514cabe8f2f35a7d1fbc17fb98d237f1cd1c506a134d53e7e8ecf958a54f1de9e407c7abfe876664792c0841f9c386c45989b13a8ece5aee2d01ab6328dd6238c865c15f2b42a0694cc76175f4042e0b745e5476a2253190485dbbebbb6f0aa6849efcf784a0457c6877faf448a452eefd4dd74db936ea99d14112a01419e62cf39c4614825fa81695292e719bf49ea508fda5adb80cad89d238a44b78885f00ab7af3316f32cc6cc19dd00d540131359673d774aedc099c98624804c8e6325734e1149983e7970c07bc7903a9b2780c0bbd6679cb7d0086378a90e1e6c01426ec4167800fd0012d0bf5ec8cb70da65957188e5c22e501bfe44992a48299da5b7290ebbe5de20682 -ss = 3a98887b355a4ee269b50a208bc1cdc9492c40cf3dce5b21c4a73863da114fc4 +sk = 96d9c668915384c2847b7991e5f557949c99a3d46a2fc9ae7448a229a89ef7f405c2911777fb1e2f44721be8cc326a80e524486a16a083527e22d51e4ef624b02625fd6a857bea2c0590a3a4e39f0e041b7284bcc501201842345ed5ceb097a5a5f730ee53176f8acbf9e03c6dc4a069718dd64c47e1d17323d29acc630db2da9922804802cc768070245380cec6672f6a5a9d14e4012bb13caf8c320a320ed63b0591087a0c5a76ea29b57d5c997fdb372e9a57e3f4827a2441cc485718a421d3c45bd0426a87589362e52953822cf785802b2c6aa441adaef93dc6451ac68a9867c9b9703abedcaa540146ba6dd8acf7dc317a82a4c1396267032fccb53be9306e20e4713b82842e03b7fa984e5827c441e293352b2e2a51566eaca8d9c4206000655f761729020f7ff9b230d6c4b986bc94551175a8acc7e2a2c174c500666d3cf021a9b40f1a465447291f920865ad16240309b5c838a2ddc5beb8aa11bf987aa9d7c082e8c55c63ab01d0664e545e505b4aae50606136b6b01499a5ba10174852224ac6bd242d5d21758c4342f9a02a3d46a9a845112adccbb73488cfe3055cac398b0245c467b94eb342e1845969d70511bc7100f886308cbf21c13840bc17626ac93dfcc4eb22ba18f62b15b521539901166598f25555c32587637a341017885af1a6d1841aa1c747d918253e1c873c2ccf292bad45805d8946b00dd23cbda03878f66357d175d67a1b743c1e5428ce90661067011874b062e9ac8a0f726b55b76627c53338549c3f2605840a11d5606acd104bfadcb51253af718835826628235878d6160f15033844d76ae946ae6c240053c2ad6c3a3d72e721d9565a6c79b56840cc5a878c6a4033bb9c88dc43b130348082e41c269cc0d3b05ffe356b5695bb01c95f8aa9c30e50cf31f11419e13acffc7192b75948e06a68458db80a8f71573b6edc1513aa5b060cb77b12c62761bc188159a49c95180249b3e35c3100635012637cb9cf17ca9936787aac954bcfc655aec8b4215861a7709f2846a1c14889d0384591753e3f19cad2236dfcb7b225abc430a7b61e6018ab30146d60a6563b2f980acf66186fee70a458750cc62c433e651f447ccef8a773bb2731a866832ae535f0d82e605371f6b35fd6fc1188a52080c609bdd8748c321ca37190321b286c849d35224bb5107d83e2827ef0c63859133852630b237247aa8c100678e43618289239ef19c99aa6b9156704643285bec89f0b0c21f3a091e2063e5d3029f52c33af97529e701298d3961f492e6b731d4e2064d034533f4611fefb64f1899ef563ad71a52e20b199f0d80c557cc8cedba3cd1746d3a6ac2e697637f08a43d681ece3769c8980c76a26adcc585eb1194d28ab163aba5563a5c7985720248662bbc21470022ef4110b33b6b8b744a80ab36d0a9b0a7988a0c98c6a597f8cdc76791c467b0cb53a020928f7a55981b520017bc06b36d10a21433797c15124e0892a81230bd6bb4774d46f73b874602588d3f8966469194041bdee87ac54059458b19724949e7998ae8018755d491bffda76a70a64eff902a4281734a7484037c739b7bf71b658b779cf6370420d2073fb820bea1b1df29c3b12c54e6967a9faeb87bd8c0d3ffc2c1b821b42584b97a935fa04b81252ca53333bd2aa2b7f6220742b366f2877e793cd948b7c3135457e46ae107c6e74104159a82914a7059f25a2737c1ddc299add2b43a2f6c25381058476b01a14468ddb6767d18c1049c676e335eee0a23b2b14ddc7421999310396497c642e5f30003d18bc76dbacdd06bc73f12415bc3250dac8bdbb4426c92430e00bdd0234c1e3680dc94d4c30c484d610463a48cd6864eda31ba63c7880371a854551abaabdc14c225fe59265726ad0746b30f85127d12158f8181439a68cc177dfa817678b08b5a5c1b9f75bfdf0c7ba019a92a512b2ca5e91f2a6e1e24238491d3afabfe279a9bdac45971b80f187730f518194ccbd327048c9fac4b75a38cd9432d1074f4152398ec4b2b0607c9a9bace0d87a36827bdcab03e55a9b9667afaca3395ec412872427cc230c4b04bd17c2017ad39834a94b98e7b75e47be158627aa6270ddcab77bc166d2b969eb4c34ba0000a13861c4db47db85839828c6eb2074425816f026096463595fc836b5e569623b3a02227b1c21a206e83a9c5b3ce1594eb9099174fb34e5b5c333e510ac2668a704548f02b47af007c237353a468f6dd38ee8878f35fb7d7e63a3b1867b2b47bce58a4e95930a65c2344510a450b9c59c24326c16cdb447231a026304bbcc9823c3a218989ef2352d445ca22b6b03186407d7973b4117c2914555acb33b4764515c4a37108306447f9eb200f8572c8467a089b824769b7df39967289a93b7f55e1a8447f862c1528c3dc4684daa9632417622c950b617e1a074b3b7ffbc23576a63857c1f386a0ff2a151652961137237ea346e691c4dabb45562653e26a806c6031368c17421747ffdd4725c02b40fc59737a75ba713311230cfea4c1be8a7c3aba9b589b6180dd701c4e704d69a0684a33adf1802eec804f44c2923aa8a577c34a4a678dd2446b7546af0021df00a431241509f6117cd32177da708a2d8472f8270e96a4bd21091f5d28b13fca8f7e2abfb57a9e4a522d95896b5811686e5b23d4577ace10eefdb9e1fd84cc51918d592857526c83f51c60d4210d92a425d7340a50423eea17b8be67325a33539ba09bb734eca0a4c365170448a126721484cf947933cc984cc7662da79d65601c3729881e9b4390a99b0ea62fea97eab9619d71b7bc282622ff0cdd0e72a3c8acb7449153df92e672c5c61b40e04854b0b523398a2634b727dae3657ed985b550849d51a04f3318892f7a4a2b73c8c301e2cb5aa60e5438d8962d8a36857f08c075948095c86de6bc34e35c8caa04772bab591e0137c4aca7c34598c65102e80ac0d677511b854a8829c08ea7766eb04c6047612aa83c17ac38a545a2863161ba3bf6a8005e9fb560597162ef1299d621b62c8a7b8c08e3a693faf0607081c6da8523805999e8b97056b5385834726bd7995bf6217c5e70863036b81c297eca1995ac48b6b7ab0ea85c3667370fabbca8d4c2d758a80bbf07839cb85d9428af1eac0d7c083567a85d13515ff399be3f5931d992c953a664eb8974a434270b47d3e635618eacd0989a15eb065348c34a19442db928d1e8b2b28a0858ed7ae8a5bc38087cc85515a344b4cbf529d7560590b3bb56de5331945c0c0b21d5bc8751d9120182c7348305edc765787ac9b784ac4bcea454e6a4c89132e6cd0a477f3bf43da356b66a8bd0980146b5d5137262b0062541960c0b19123a549ddf31d1c188171238259fb661e17363e12c57bd873c643222d014a2ae15cf6112c7fab407fc12b32c12ac65a65cfa8674715617bbc6e0f96a5406c8a765bc35c699619d01b19919263102f5ef2a0c110752d3b34fd489b7a328638210307c6cdacfc6ada87190a98b0d008644b91aef65618507a7f59b89e7eb36998d26befc4b723741e0c35cf73e8041cf51af9832ba43b8e95e368974c1dd61ab65e24a87820cfae295d0ceb8bd6109b85174c80869716a6016ac8190df173ab61c4d3c4c37ae11593ac9a09c210b663bfefab5eebc30deb27cd25a8511bb2ae87851643b50d1b4ca5bbc66d49aa409aab9e7f3402ffda93abb53acd45bcc9978200e94cd4d617235b52d9297d4cd374b998698d82948dac3dd780c9336532c499c479756d50e9048432ce0156cbbd9c85f5ca06ab57b62981494622a74807cd881a58ea10a6e5c885fad611727441dfd52834d58b6408c7d06209bbb224a5d01eef9b491d13226684baa5a1a771971dd112ac668108963bb1864aa8ab7913917c980f3ac1c435457684ab758569247c98286b2cbc78263f1cb88478a931130b496b12f7428087162b6d525a8216061a3859a7a470cb9b88bb0c8b1e21ce4977a73fa5798cc814ccd1aa84370fa408a83e73be1e12511a59486c49c6afc1367b85231f47cb34c1a8f9a963cdeac7fa6076eb8a657e647466fc82663884d7c70eacc760db1b0be0b30779c98396aa3f2004976c8493ab90ae60996056668c8c2cb9065b6a2580a986d9853c071a02343b8903c0184991e2a71298269a17f64bbe1b6b51d0b299703a04a22e17c33b29634dd1766be40357f33a000a52597a3b5e4852473d886e06db52b7605df5fa4e0d5a0f291b5421e2c1232553ae2472682a7352775c6ca4b189f948012c417c8c764b8c818db252cec8cb627455d9f792d7047cbe98b74eb26c6971be56b7219df092e4cbae163d5181caad6a478ac9ae82ee27f7256f4d4cacddd43f45cfa4de4dd067cdca1cde599b2dfc69d59036434cc0423337513fb9506452bd8f42bb82661ad0065a165fd0a50a39142f7c6faa2bfd417adfa4224858281696965772f448c7ae22d4 +m = 5486a0032681ff89526326cc4bc085b8023614dd1621850619c6082483d84c0d +ct = fca6601383c108d4b4c94bcc408c9d9a8a1a59fe24a34f70a755b5eee3c20bad12ab1f0102f71ebe937b20de8c6f5530111ce303f3fe1f9cf783580e9e0602b9bb06d7783890c618feed44fa5280ae950d21636228244b01b631f04e2880bf6cfc9c1b2246aa8fc2cece236377b95f5d5ef14ffd780b44038a5b33ccd6c808cebfa521b73bb4ef9f203748d1cc8ef0c9913f60cb45dc6921197c4b9e45025ca17e7db86a7bbdac870cf5e9cad77f669f53a6fa52a5677a9ac741071539fd390ab0a8cf47b5f5a7e56a6f7cb142ea3ee94185d86a18bfcce7547ec6b65a8193be5b3d4024c632c5e8367b0a3679a09f1c3d081c392878a61c91096cf45f50e6d5b2a758c16e6e57f30fa90056d9f8030535d7ae05721f9399c0b5ee2d5da4a6893261501803f7d976946e8d7c3e684cddaf0c582bf76a66f7ab98f9e4bf9e44e250b7a4c8707557ee7ac07b2769b7a8f529ac0a23f8e37d47d32ede40feec04aa9fb14186a19f3fbe38b7fcc4f3a6022cf433c3cfd016a10ff78a24cbf165de4e578b9d66cc989ce42a78eb1dc07bb845831dc9aa78343545c517bbe7e1bd21f860fc2374f5c86e81475eabff5639c019a02005d58b65ec5b9411e25723696bd2cbf55ecad9f52633bcdde3bffa673c929a2620352541e8e9465b2baa9ad397431fbfccc80bf8f63be460577ad1885f9a5f391de5a05e9df5d4dc8a53940404e313009bb932b142e6bff9addc1be08a1d14d8919887c7f21cd4c5872f39c68000259749f6c9ac92708e7cfe25a4550942516accba25a284d94bc1516ba574a14e2c564d373b438fc694ab6d41e60ae3335d134e919932e029bb681bd0923c3f7416686fca86ed3a53b9679630c62e4cb8d20616924cffe795817bb9854e914e19f9cfa50f1856cb054aea72adedf6573af110e3dd67eea1c6c0499664599953cb509a80b97aa36032c600b144e93c7caf8f6583af0673551754df5d25fad1a7e3f4b5ed50cef10302a7555796a0b362d6d9258b2373b62592d1ab039cd29b06550123630b1dbc15c96e947391155ff98afcf4870dae1f049d4b30889b474053ed686476bc49c4dd592a976fe53f3397c3a1a03a98541b12d79547aa9fa1dbf26d7bfe8745ed4de104c0f351a2d7eea3caf460bd30ce9391a023f66760efd259b6847e2d2fb682a84395e3fa7c88964d00257feb76e7663fdef13365e0605741fd0af0c042d6881085eaf0d4e55432d98d6a8e8923dcb73399683502250970eeef60883b0df3e88b26075225470d98c1373314bb0ac6e84eefc6c0d1aea0114539f2aa99cb1354f63627d83aa57c5c080b896525154e6dffaf072228b8d0b7d6fe63b6a57f7dcf8d23863eca6128b8e05333ab7ea6fe8ac5ed60416b48bb198f91c3988c45459250d02e8377bbbe7a82ce271a36a03096715c6d3c43b20decfb44d79683bf8ab35ffd77e0dc08996524c17d8e7fbf08acd9f335902786ded5d2e46c56b2d94be5a30a5100e6ea6f232876054e13e8812a528e88aaee0f61d60abd4321b77da82f5da5fdc82e4ad1ddd74dc0c9a19a788d0c22d4441a2a272f1bc0d3dc3055ffcf007b027dec8dfea53aaa1b1b13faf9b4d22f8bb6e04a0cb740dc2007182c022039b7fb2a056c0a9413894056ef320a2dbe4ade72dc68cf9880f8578091f7c2d2c857a6c8f43621add1df402e42f639dee17a9ea81aa444513f4d0d8a28132114f8ca3fa50d01135856059e9279c938398291004920f14f0dcbcbb449b89326dc848d67f0882c3765cce18b6b21b0b9031a78ee210475d710d4fbcd6f7fa8ccde02ba92a10161baaa97937eefc3150d7d20c3ced58207753ed59796ba9dd86c630676ca975f3de7c20ec515d039d35b9945b26478d500a6a74896c1ed978f469cc91e8f18625059f51d763065fbe79cb9bf7ddd26a4fb885efa47f35a562b4608fb6b8a566667e85e038ff9c01e3ddfd4cc6193d80fc75122058c9cb2cab0502ca522b27b481444fb195de3f1a73d5cbfa3089cf07fbd5066e2beffb1082aa4bcc07670231d7047275f5efe12cd0cbbea84d6d9cd17281b23ad11c4bfb297ded5a47e0d4407ce74c509cf32526fd9177be1e9202795af79249b164c964cae50295898296d1653774a9226eca593375dfe5ad3fd2d48f17a5f07c397b3f16e2de4aa1da7d6d004d6e0cf4cabc1911417a2835ef6e24319260c5eaa +ss = e46dc5099392012f964ec6b239e324f35c3b547a0ee8ed4640720a60fde2445c d = dbacba825728444921b227cdba54446b3f6881b47be9cd02832f78b023b1bee0 -z = e15274a8e2bc08fe818b117ba28c5dfae74d54fcdf6f20052f79be333edc8dde +z = 171ebb1a64c173b3d4d997c12f734d2d57fa2127052887dcc6461fcc23b66fec pk = 3d8a9e39ba19ea979ab2c504335c03da056801f4c782d95dc2e163a043cf2db760edb7772c50cf5a62bda4742d2ea296b121094ab5cbf017755c74b6465137a1d32f4ceabdbf34a7471b45b166ad05ec69238b030c31485695a9cd615db68c83e457222d85960ffa8ba6c8cb5721acbca1a7b09b155a555f406a660c325c6166233c0500a0475931b27481a015ae521c7050ac2f605f032899ec655f0b662d7b65a3b21680d1b53ff554987a99258dda8cc711a18ad8917f838cf0a16d4f663bffb33ae9e3afe97b1bc5f9b1a53052f8907145440664bcb5570a368044151b0045515b94b7b8073615b2889a280e59940131ba50b016e0b8c6df2b34c29023e0773a06431397a68580c47610b50e025b0fbf374c40c1ba82a11b69fa9b6e522d4bac7fbe737a18085056bb7f7caa2c4c3bc5b6401f06b102a3b5673c7c8f1cb269438618f9717640c76a4f058ab864348f068691f95996072354532f3a3b6ad0e1448880cac03b6e2a84717158339c063147db0c586032b7d10a69e17c1b62c1ae5344483676bfe8928d637aacc4b613f24d7e2a46de3449f17b0062fb209cd9631160ce38a95361889b167cae272cb23f85bf34e14c789472974a176c567756c1c0ebd9905cea70cb88a55c68b476f877c605390ee1274c07cb95939c9babc97ec51df82a9b7d0908ddc3434208911142ca9b8620694bb3aa9accd1bc236a9a89547a26e44816ce3846f980c893b29e6e6c99580c2d0a905643f556f592ab03228cd1585a19f4b82fe9c1d3e4acb41b66f01779ae136d77d40182bb2524a87e1cb511e9d591f06b91a71594dce26ca8b20450b899e22c679aa7abf5b178b1637f998502f7c7b4a03974a840c9dd041c43017d8f7927f94989f2a16a1f7cc9b09908da388a68b13f39fba43a391d75c76148444954063d9163b6ab1509b03863dfd62d94b59e849cb545dc7ba58502f6c5cd89db38b2cbbdef23bd191a57b4433872eaaad5d69b2c40797fc29955960dbe618cc5d21eb9ea720d77c3f8b3c680974fd8c474f9d588285609abd4166a45cbab974ae884c7061c6f129a1de7b33d819c795c5a4dd37838cf499a09387ead56466cb54cbbc865cdeaceb3f263bf774623a37bcdda056ce232b2b2b4f2e22f6eba975c933191812c9ae55d6b7c6c76c10983b02462e220bb90c946573e3e2bb87540034f870fc69b538780090c3b89c18645569b124c03680dfc10cd3050b33c16740c54916c5ed1604ec092793d097b94b4ca3474b6d90382d5cb21e8bc8488451af2492310b7239d9a46f8c868890c7b531834b2bbaaca7ac34651b941d32477193cde0a3347323b77ca97b997c429a2544a1590aa8252d6e0832e128262284908ab785543bce3e6aa43d4005b469eda56cb28b45c44329cf7f79cdebabc3a9c6558997e04f980c562c852a103fb40ae24e26a8bc8bf014690b9085f6e7bb947f2ce93550327a61900aa954cfcaaee412aee44cad3958555d18b59a0835c015cebc77242052f13a780bedacfcb9998df665a1ea24887b570f36198836c6c57a95de6349d031b2b33a3b6d52292ee853bd3e77b44836b28aabaec37872708cba8234827ea922ff698bd4bc9824491c6890c094b625a5b747b2280fd300455739af8d97fdc39cf741128c03283f0ba09fbe19a24598e143b5a856a5b41334839a6188e769f78aa24673b3f69c51ae2c5ae98bab4b0254ce8c85204e6ae38b80a2f24c162427a66b09debdc8235e96d25e96132617dff682cd03896290832e3d7b5959331c7025868803a0c292ae4068f1ae8152221a4607bb9e4f94a5b98701e027a8ad0913b0bbd0ba551b00b0eebe302e5450681878992a616aef08a6c16175a5c22317ccc48200bc7452414080adf9216989669a560caa70320938c812ad12278588965525538921e5920580516156fd563fc732e37e5591e000b4ed9b93211579d21cde3a951395a21289576aa5c0b0c87bf36acc28c0ab51fc86da8cb00d23c40459088a1506d8a2168f94a365fa56ebd751a51c84342931a5d569793569f8fa21168ac2df9820ca3134704c533a399219ee79f4571b1152c95333c135e442d5c5984e55516f958ca38927773a2aa526b89b79522348c1244220dfa84c6778466d2a287a774141b9b5ce0443b5f846a2dbc4a0dbb11c51840059ec11bf6cefa3ab473e1cb0f0bd17ee0bc3c59 -sk = b1c127d24808fb2b9922332832131c4fd67fe8a1a070ac8d17100bf9f6291efa0bc8114d98f65c8f4abac3ab17b4241deccc37688b881bcb68503b54379838bbc100b5bab306327e7965b694644c470a5148666c7fa89872d39aff60bc533c83f280abfbc26f073331ef40b694ab25feea5b2f55196798b70681caa21537dfb5746c66129775852e5850f57c2db2e8a0e90530a57b387b1c429101d04096c3e0bb6e9af19f83b1b0b74c47bac678b0f2269798573fbca5d8e687965b13e495827adba63da8a17564a3e68037b3a4991993401c1c6b149895ffbc03760c13595035a713140eb7a42ff6adfe6bb371c9af5a686ef858a8fb7a63fa137492b53305685205b08d44a3ac8f8948f2b7bed9cace27ab6265722d8f2950e0c9ade053a4c4ca8e3f80a907a39e33db78e6065fe9dc050a5a730595ae5ea32e38c512edb79dcf345f1d9c238a1732c552ab8db2ccccd11822972896b323cc43aa03633617f82e89d63d4a1003cf9c5ce3379b1d53a63eac57adbc91510316acdc30fd74a1a2e6c23584ad1cb28444f9231661079b0913e20b3278d8a2e8b18556f336cb750694066b6c82c5d267a903b624cd440d8e187d9e438d178c8394706f016b835e1522ab6904f80cc24358b7dd3bb271039acc174164021e8a522fac473054d5b4cb3bc64bb107c6b637cd6360e312a85a3b1e3d2b64436a87e81016acb763a23ca9b7463023148b0c4888bfb18d9441841f723b9436b77b09c79fc714385a3ae97b5bde0a2a0c541dcd2b668c696281389ec270bc6d088fc42506cec85bcb4b611342af0a61b1b9d75e0df43be293cee6eb0413363716ebbc48ec6c361a48b9d871bd5742fef2ab286094a92b508cb794f2f69a8ee15c2d748d8fca8cd2284719815e75b3b0df76298e48280bf530e09a34d166cd5379777d472f0994ba8e5629ea7691fb973f45869635b61b277c375606b911aa1228271c85b047942a52187bb231412b50f5be423476720240e62b9d3cfc5b7af5ce9fb38e03349063741ade945e994a2d6492a92b1250880318b9b9ce845ba29bd3733228ae960663050888bb98a0fdc21d6fb34cfb5c1af6d9b98ed6ae454c09b89b6067401fb30a17dd331a845c713715b5bd4a087bbc14cbbc9d2ea83d0f9b0d56d939d01b7d590b3082d2405a20724e2c44b5123bc1407b11da3de5889ac52b7b7821c4af1303d3959eef3888b8847f3e0695b5b844e8e3c221718a25057e707a50e0159af4462bb1d103b9057ff7fbc1740bae1afa44138aa2b7e3270cf80a6ac745cf701040c97253133ea195648e929e6c6394940b6eceb18844f1c862da6597a46f64e0cb5d2803eaba4a08110a011a32452185a6425d9d44b43463893369514957592f519c22d2b06bdc762c519d5cb84e9a68456ac60aeae85ac6453de2bcc103e32dd509309fdc08e3b3698a193d83d62df74719703bb5f8cc5db7b88b80110d74d6949d00469b840ff7fabdd4c0cec1a097a6117c28046b06b82c8ee8204296428ab703840acf7f3333d742726b114d3292b3154b2c4095b6d465657ec0780c488a0c60443717109363c45777271955135e60b46104bc18bac09a18690b37c8078a226455320ca539f57a0706239e62716fca94ad8fc2c1e5834396072b134636aeac2d6a1b91b403b070d97c53c2c91784438708bb2761cbd4b99083096610c53ed9354f459c2e91f47bc8220f75b367ca8a8670f45cd118bbc72baf225274d2344343a51abfac2aab439fe5d2207bb1bfe2e54e58688aca733846b7c68d12a87b905243a0324698aacc579260e94fcabb28da1c8b6887ce10c99c2357bb92091ce1395c6ed345081c8b74d5a9bc961c9d79afe27a2894117ffdd9b3974526d33c2d5ff5757598853ad14520cca34b817d097a7cbdb7888b48b67f3a8d0ceb89aeb6374c97b130a658b10c1f78d38241120a3dd7a66cf76fce43a6fe9c6bc6324a64646ae09a2f948320db54177d2a35eee87918aa0874a2ce286528ecc29668d7b53591942c70206c63c6d8db92aab03053f81e166b5f40d17d09b3760c944cd24c5eecb7c780b39608c318ab3031f89559ddf76ced962c035b9d7b7cbed0985a2f0b43ad8849dc5a190c62a131e5bfac2c7c11eca951b2a19674315b811e09847c49339c3d8a9e39ba19ea979ab2c504335c03da056801f4c782d95dc2e163a043cf2db760edb7772c50cf5a62bda4742d2ea296b121094ab5cbf017755c74b6465137a1d32f4ceabdbf34a7471b45b166ad05ec69238b030c31485695a9cd615db68c83e457222d85960ffa8ba6c8cb5721acbca1a7b09b155a555f406a660c325c6166233c0500a0475931b27481a015ae521c7050ac2f605f032899ec655f0b662d7b65a3b21680d1b53ff554987a99258dda8cc711a18ad8917f838cf0a16d4f663bffb33ae9e3afe97b1bc5f9b1a53052f8907145440664bcb5570a368044151b0045515b94b7b8073615b2889a280e59940131ba50b016e0b8c6df2b34c29023e0773a06431397a68580c47610b50e025b0fbf374c40c1ba82a11b69fa9b6e522d4bac7fbe737a18085056bb7f7caa2c4c3bc5b6401f06b102a3b5673c7c8f1cb269438618f9717640c76a4f058ab864348f068691f95996072354532f3a3b6ad0e1448880cac03b6e2a84717158339c063147db0c586032b7d10a69e17c1b62c1ae5344483676bfe8928d637aacc4b613f24d7e2a46de3449f17b0062fb209cd9631160ce38a95361889b167cae272cb23f85bf34e14c789472974a176c567756c1c0ebd9905cea70cb88a55c68b476f877c605390ee1274c07cb95939c9babc97ec51df82a9b7d0908ddc3434208911142ca9b8620694bb3aa9accd1bc236a9a89547a26e44816ce3846f980c893b29e6e6c99580c2d0a905643f556f592ab03228cd1585a19f4b82fe9c1d3e4acb41b66f01779ae136d77d40182bb2524a87e1cb511e9d591f06b91a71594dce26ca8b20450b899e22c679aa7abf5b178b1637f998502f7c7b4a03974a840c9dd041c43017d8f7927f94989f2a16a1f7cc9b09908da388a68b13f39fba43a391d75c76148444954063d9163b6ab1509b03863dfd62d94b59e849cb545dc7ba58502f6c5cd89db38b2cbbdef23bd191a57b4433872eaaad5d69b2c40797fc29955960dbe618cc5d21eb9ea720d77c3f8b3c680974fd8c474f9d588285609abd4166a45cbab974ae884c7061c6f129a1de7b33d819c795c5a4dd37838cf499a09387ead56466cb54cbbc865cdeaceb3f263bf774623a37bcdda056ce232b2b2b4f2e22f6eba975c933191812c9ae55d6b7c6c76c10983b02462e220bb90c946573e3e2bb87540034f870fc69b538780090c3b89c18645569b124c03680dfc10cd3050b33c16740c54916c5ed1604ec092793d097b94b4ca3474b6d90382d5cb21e8bc8488451af2492310b7239d9a46f8c868890c7b531834b2bbaaca7ac34651b941d32477193cde0a3347323b77ca97b997c429a2544a1590aa8252d6e0832e128262284908ab785543bce3e6aa43d4005b469eda56cb28b45c44329cf7f79cdebabc3a9c6558997e04f980c562c852a103fb40ae24e26a8bc8bf014690b9085f6e7bb947f2ce93550327a61900aa954cfcaaee412aee44cad3958555d18b59a0835c015cebc77242052f13a780bedacfcb9998df665a1ea24887b570f36198836c6c57a95de6349d031b2b33a3b6d52292ee853bd3e77b44836b28aabaec37872708cba8234827ea922ff698bd4bc9824491c6890c094b625a5b747b2280fd300455739af8d97fdc39cf741128c03283f0ba09fbe19a24598e143b5a856a5b41334839a6188e769f78aa24673b3f69c51ae2c5ae98bab4b0254ce8c85204e6ae38b80a2f24c162427a66b09debdc8235e96d25e96132617dff682cd03896290832e3d7b5959331c7025868803a0c292ae4068f1ae8152221a4607bb9e4f94a5b98701e027a8ad0913b0bbd0ba551b00b0eebe302e5450681878992a616aef08a6c16175a5c22317ccc48200bc7452414080adf9216989669a560caa70320938c812ad12278588965525538921e5920580516156fd563fc732e37e5591e000b4ed9b93211579d21cde3a951395a21289576aa5c0b0c87bf36acc28c0ab51fc86da8cb00d23c40459088a1506d8a2168f94a365fa56ebd751a51c84342931a5d569793569f8fa21168ac2df9820ca3134704c533a399219ee79f4571b1152c95333c135e442d5c5984e55516f958ca38927773a2aa526b89b79522348c1244220dfa84c6778466d2a287a774141b9b5ce0443b5f846a2dbc4a0dbb11c51840059ec11bf6cefa3ab473e1cb0f0bd17ee0bc3c592a50c7a070b3dc7e107eb1e8b96d62305c13327d729bf9d97c69f1fe6eed2b52e15274a8e2bc08fe818b117ba28c5dfae74d54fcdf6f20052f79be333edc8dde -m = 1d129b27be7384c359d04311fe5c44917d1fde4bfb57314f483ac617edd5ac49 -ct = b280cded654a590d333fc7f42bdad4250ec70e63c8e1f477826c5617c0be8097c85ecc28e595ffac88ab3c0530ca35f2d061eed182c67c9ca0160346ac5a1280a84614ef23551b6b3f85c2e721f2f93c24251fb2c272c4a1712551e0419660a76754873f0ab27df15d5cf8657a451fc0fc5dc5b862ae2ba037c777e574be9d97b3af3da6de794f8cb03e55539f93edcd3e96ae5d837da869a2c993c4fea33508c2198aa01058a46e26abb5383894d2cddabf127aac98e5032b26fb00657db8db979756d813d5b8c4e3240360ef875b7a35208e472e19679b467182c2803c90f21408d78b7e17355d527dd57c9b5ee891084687c87bae1d4fe949427685d52951ab12dc0f135740fe2d14ac45d5c117f71853f5ed5cd6e85454430fe6b344c278fd66415b6f9e5f587c36e0c419b0b910364dbdac20c395556f9dfba4537b433074318b8a900439503beedde23bc06381f3e1fafbb9b12f7fbc945680f1ab17bece2c6ebb1815752d7dfac622cd6ac5d878785416b67855392e372ddf9b3696fdf476467b79b8f75c3dbc188e9392d9eada5b213e6d146fcbc3d31cb998314ef5ead83f5c9a5e7c8edcb0b0e05a136b0a3cf5cd4528e1cc2497e8cd59066981a3f0bf7c6b18e275bc4972caa4a0d15991db0bd6a0a0b9de3d2ca6a7ae5ac0e3c91556f930efc06726a22b00873fc7a9a8a2770bb33da0902762f09da26ac9d141893d54590f2a126a5dccc885219094e4504b454313fa9f56b93547771629c69cba62d2d159141fb01d5d1f835dc07d0934c87cdaf9c7e725f37101f03a92da15cabe5697773195b73f3a6be3084f5a1cf36c7dc1428b8418b80f4188d825e9d4988f9f224267c192b3eda0f8652e21b49d0a294c7fd1a1a8aedb60881fe3630f154569245eb6d026b608e0bf20661f6c008cd8d2a7a9e01fe329043820506ef2b9d1ac55138108d06119c22a74310538c5da97c792be86aa0b81c051a69f2b2aa154d6fcbc36ba72351434aef4a7a73797313cafdeef931c144033efe6832dbded7c082796975a7e010f8ff80e05d0ba69190af700a39b8eeb6aad58fed993cfbe6d29399b289dd3f514848009c7d8e7db48a4b836d2c7c69c3143efdc9d0ce42024eb950d28c4401145b9db8ccf47303285a98a2710b9f6f7cfb098ea25f414a6d8567b270a029fb6eaf0c6a1b154bbc6dd66823a8d7cadfd3e219841ad6e430b9e1d6d94a0a47fa831f317e5d723c4afbc387e30c7599a13c227073839286fb7151ef89c4c98e9cfa03b6ac33aee7dca2b1721572230fc0f7db11b6d158063a3be29a0ab21e6a17c7cdaefe05008b9bc068e2b17cb4812957847dcfdb3e450c9fc0e646501f3d482c4a20d2af72545e71eb520ce4fe4157718047b8b86606dfd22cd7e40ebd3fd3e94455e14aa49d935658719c0227070cba0a9ee2cd78e47782b77cb4f6cec99d4e3d5bdfca791deb27ff8e53bde0fbfe65ea5fb0211e8cb0f3ffef4cafa03c31b3e9398e1d25c77ed89e83e95d6635fbaa21bf2615a365547345516c6ac8058fec0ee0cb5ce609370643e69366f517e152176bbb82cfaa8448000759755b59006a66776ef18070e1a31cb4262edcec581ebd8bd5503e083dbba2274f5649c3a3acb21e534ef1f07a3794e58399f333bd428680ac11d43e5cd4c8294f418ea24c5314f5817e91f1e973af79db91b6c2dfd62e722a589e565e954f88a0dda9a2c5e672c8083241507fa4e36aabeb1ecf68fb97236965ac5f6b2906bbcceaf3f8901082934c62eda30b1f071dd82919e6c8b47d396e5397b898babf35b3262c428052da73d3adcb08a10bc321aa4d4018ae5204721e2695dde727535717ee7337368dbe61acdd9352dcd3cee779ab9f9e891ec9333d052735867a4f7908ba6c38346ed4b9ce8f09643b3a88144b932e769fa3e6740dbf9dad82b6a90b96e4dbcb6080422d92dec11706a20ebf22e84efbc0ba3786fa8ebae89e4034392c43b973dd2369f390f86f950189b5bed91abba822b020e7b61e68d4eede0d572a358383727d41a6324e383a4f8165d37bdf2125e140fc0e83e9c23c6a03501d4d0752440c02dd4eb7674c4ae48b79ad18d9af47bcf2b6600d440e613f380fc289938ca364d50a3d9ae10dc7c40a2a0adb59bb4adb1f37b021331dd91c592adb134390716cc3cb27e7e828f34851229540789839aa9626d61f4145330 -ss = dfa6f29a270a006ea674d811b262d7160bb90bbdf2afba74f0f41fd9376c409d +sk = b1c127d24808fb2b9922332832131c4fd67fe8a1a070ac8d17100bf9f6291efa0bc8114d98f65c8f4abac3ab17b4241deccc37688b881bcb68503b54379838bbc100b5bab306327e7965b694644c470a5148666c7fa89872d39aff60bc533c83f280abfbc26f073331ef40b694ab25feea5b2f55196798b70681caa21537dfb5746c66129775852e5850f57c2db2e8a0e90530a57b387b1c429101d04096c3e0bb6e9af19f83b1b0b74c47bac678b0f2269798573fbca5d8e687965b13e495827adba63da8a17564a3e68037b3a4991993401c1c6b149895ffbc03760c13595035a713140eb7a42ff6adfe6bb371c9af5a686ef858a8fb7a63fa137492b53305685205b08d44a3ac8f8948f2b7bed9cace27ab6265722d8f2950e0c9ade053a4c4ca8e3f80a907a39e33db78e6065fe9dc050a5a730595ae5ea32e38c512edb79dcf345f1d9c238a1732c552ab8db2ccccd11822972896b323cc43aa03633617f82e89d63d4a1003cf9c5ce3379b1d53a63eac57adbc91510316acdc30fd74a1a2e6c23584ad1cb28444f9231661079b0913e20b3278d8a2e8b18556f336cb750694066b6c82c5d267a903b624cd440d8e187d9e438d178c8394706f016b835e1522ab6904f80cc24358b7dd3bb271039acc174164021e8a522fac473054d5b4cb3bc64bb107c6b637cd6360e312a85a3b1e3d2b64436a87e81016acb763a23ca9b7463023148b0c4888bfb18d9441841f723b9436b77b09c79fc714385a3ae97b5bde0a2a0c541dcd2b668c696281389ec270bc6d088fc42506cec85bcb4b611342af0a61b1b9d75e0df43be293cee6eb0413363716ebbc48ec6c361a48b9d871bd5742fef2ab286094a92b508cb794f2f69a8ee15c2d748d8fca8cd2284719815e75b3b0df76298e48280bf530e09a34d166cd5379777d472f0994ba8e5629ea7691fb973f45869635b61b277c375606b911aa1228271c85b047942a52187bb231412b50f5be423476720240e62b9d3cfc5b7af5ce9fb38e03349063741ade945e994a2d6492a92b1250880318b9b9ce845ba29bd3733228ae960663050888bb98a0fdc21d6fb34cfb5c1af6d9b98ed6ae454c09b89b6067401fb30a17dd331a845c713715b5bd4a087bbc14cbbc9d2ea83d0f9b0d56d939d01b7d590b3082d2405a20724e2c44b5123bc1407b11da3de5889ac52b7b7821c4af1303d3959eef3888b8847f3e0695b5b844e8e3c221718a25057e707a50e0159af4462bb1d103b9057ff7fbc1740bae1afa44138aa2b7e3270cf80a6ac745cf701040c97253133ea195648e929e6c6394940b6eceb18844f1c862da6597a46f64e0cb5d2803eaba4a08110a011a32452185a6425d9d44b43463893369514957592f519c22d2b06bdc762c519d5cb84e9a68456ac60aeae85ac6453de2bcc103e32dd509309fdc08e3b3698a193d83d62df74719703bb5f8cc5db7b88b80110d74d6949d00469b840ff7fabdd4c0cec1a097a6117c28046b06b82c8ee8204296428ab703840acf7f3333d742726b114d3292b3154b2c4095b6d465657ec0780c488a0c60443717109363c45777271955135e60b46104bc18bac09a18690b37c8078a226455320ca539f57a0706239e62716fca94ad8fc2c1e5834396072b134636aeac2d6a1b91b403b070d97c53c2c91784438708bb2761cbd4b99083096610c53ed9354f459c2e91f47bc8220f75b367ca8a8670f45cd118bbc72baf225274d2344343a51abfac2aab439fe5d2207bb1bfe2e54e58688aca733846b7c68d12a87b905243a0324698aacc579260e94fcabb28da1c8b6887ce10c99c2357bb92091ce1395c6ed345081c8b74d5a9bc961c9d79afe27a2894117ffdd9b3974526d33c2d5ff5757598853ad14520cca34b817d097a7cbdb7888b48b67f3a8d0ceb89aeb6374c97b130a658b10c1f78d38241120a3dd7a66cf76fce43a6fe9c6bc6324a64646ae09a2f948320db54177d2a35eee87918aa0874a2ce286528ecc29668d7b53591942c70206c63c6d8db92aab03053f81e166b5f40d17d09b3760c944cd24c5eecb7c780b39608c318ab3031f89559ddf76ced962c035b9d7b7cbed0985a2f0b43ad8849dc5a190c62a131e5bfac2c7c11eca951b2a19674315b811e09847c49339c3d8a9e39ba19ea979ab2c504335c03da056801f4c782d95dc2e163a043cf2db760edb7772c50cf5a62bda4742d2ea296b121094ab5cbf017755c74b6465137a1d32f4ceabdbf34a7471b45b166ad05ec69238b030c31485695a9cd615db68c83e457222d85960ffa8ba6c8cb5721acbca1a7b09b155a555f406a660c325c6166233c0500a0475931b27481a015ae521c7050ac2f605f032899ec655f0b662d7b65a3b21680d1b53ff554987a99258dda8cc711a18ad8917f838cf0a16d4f663bffb33ae9e3afe97b1bc5f9b1a53052f8907145440664bcb5570a368044151b0045515b94b7b8073615b2889a280e59940131ba50b016e0b8c6df2b34c29023e0773a06431397a68580c47610b50e025b0fbf374c40c1ba82a11b69fa9b6e522d4bac7fbe737a18085056bb7f7caa2c4c3bc5b6401f06b102a3b5673c7c8f1cb269438618f9717640c76a4f058ab864348f068691f95996072354532f3a3b6ad0e1448880cac03b6e2a84717158339c063147db0c586032b7d10a69e17c1b62c1ae5344483676bfe8928d637aacc4b613f24d7e2a46de3449f17b0062fb209cd9631160ce38a95361889b167cae272cb23f85bf34e14c789472974a176c567756c1c0ebd9905cea70cb88a55c68b476f877c605390ee1274c07cb95939c9babc97ec51df82a9b7d0908ddc3434208911142ca9b8620694bb3aa9accd1bc236a9a89547a26e44816ce3846f980c893b29e6e6c99580c2d0a905643f556f592ab03228cd1585a19f4b82fe9c1d3e4acb41b66f01779ae136d77d40182bb2524a87e1cb511e9d591f06b91a71594dce26ca8b20450b899e22c679aa7abf5b178b1637f998502f7c7b4a03974a840c9dd041c43017d8f7927f94989f2a16a1f7cc9b09908da388a68b13f39fba43a391d75c76148444954063d9163b6ab1509b03863dfd62d94b59e849cb545dc7ba58502f6c5cd89db38b2cbbdef23bd191a57b4433872eaaad5d69b2c40797fc29955960dbe618cc5d21eb9ea720d77c3f8b3c680974fd8c474f9d588285609abd4166a45cbab974ae884c7061c6f129a1de7b33d819c795c5a4dd37838cf499a09387ead56466cb54cbbc865cdeaceb3f263bf774623a37bcdda056ce232b2b2b4f2e22f6eba975c933191812c9ae55d6b7c6c76c10983b02462e220bb90c946573e3e2bb87540034f870fc69b538780090c3b89c18645569b124c03680dfc10cd3050b33c16740c54916c5ed1604ec092793d097b94b4ca3474b6d90382d5cb21e8bc8488451af2492310b7239d9a46f8c868890c7b531834b2bbaaca7ac34651b941d32477193cde0a3347323b77ca97b997c429a2544a1590aa8252d6e0832e128262284908ab785543bce3e6aa43d4005b469eda56cb28b45c44329cf7f79cdebabc3a9c6558997e04f980c562c852a103fb40ae24e26a8bc8bf014690b9085f6e7bb947f2ce93550327a61900aa954cfcaaee412aee44cad3958555d18b59a0835c015cebc77242052f13a780bedacfcb9998df665a1ea24887b570f36198836c6c57a95de6349d031b2b33a3b6d52292ee853bd3e77b44836b28aabaec37872708cba8234827ea922ff698bd4bc9824491c6890c094b625a5b747b2280fd300455739af8d97fdc39cf741128c03283f0ba09fbe19a24598e143b5a856a5b41334839a6188e769f78aa24673b3f69c51ae2c5ae98bab4b0254ce8c85204e6ae38b80a2f24c162427a66b09debdc8235e96d25e96132617dff682cd03896290832e3d7b5959331c7025868803a0c292ae4068f1ae8152221a4607bb9e4f94a5b98701e027a8ad0913b0bbd0ba551b00b0eebe302e5450681878992a616aef08a6c16175a5c22317ccc48200bc7452414080adf9216989669a560caa70320938c812ad12278588965525538921e5920580516156fd563fc732e37e5591e000b4ed9b93211579d21cde3a951395a21289576aa5c0b0c87bf36acc28c0ab51fc86da8cb00d23c40459088a1506d8a2168f94a365fa56ebd751a51c84342931a5d569793569f8fa21168ac2df9820ca3134704c533a399219ee79f4571b1152c95333c135e442d5c5984e55516f958ca38927773a2aa526b89b79522348c1244220dfa84c6778466d2a287a774141b9b5ce0443b5f846a2dbc4a0dbb11c51840059ec11bf6cefa3ab473e1cb0f0bd17ee0bc3c592a50c7a070b3dc7e107eb1e8b96d62305c13327d729bf9d97c69f1fe6eed2b52171ebb1a64c173b3d4d997c12f734d2d57fa2127052887dcc6461fcc23b66fec +m = 87d356bedd39170c21194287fd3095c451b1e877de2fc9e51b58294672311a75 +ct = 3863783f7804ef00f3fa68464de78b3a251d5b3e20bbc902dc3dee906634da3ff72ab3bae821c573fb2a270cfda53f35e72b8d7f6746a8adfb23c7929eec75b12a296d0c0f5ec6badf940601589925f06e3fd5565f965383bdc8e884ef4d8e19f07eb4df97f58394ff2146ef8433b2cff84627ff9a57b98d64fbc6966947e69d8b5bf36a5b5af6a9de6f61021ffb8294be377a313cc0d023712d876778c03cb7461668cc614f3a90eba73e675375bb5b5bcd4230df70efd788392a3b1647a6cb470e8bb09ed44c12d1d385710b8c3e638c26ed676dd76c7f1b89f4ab0987b039a33008397ce60f084260eff7bca4807ec77906ec5c13df729ee70565af29f3d497bc4b869d3471e89393ed6b6a5fd9896ccf510eeda1851e1711852bc5f73890322493ef64b0e911502fc1eb0706b82aec19dced70784e31877082c3aee100832bd3a94b4c574ef68f46611996d51b758c7ade5e683ea7e40934876ab1448f35fe6bdd8114624ede1c6de2183e3631de187d87461644ec6814fd15dfe8bb78860b8356ed8ee7309011d88c22c0628f9d5db984be1dcae19f90c0b9320dd8ab13ad844564f790f4ef97a027e8f26a8a0a2e87fc1747c7703cf175157f6d5e3d47d7d75b8270b81914c22528278fbe5658b8dc275e5c82e3a88e56fd55b14de2c245479dfb716d5e4934a8adf88aa3d4ecb8fd88b14ef14bee88a393f88f2f070eb64f3415698ae81bbd4688c5c12eeb8bc31c541c96b845598170e6972f0e8b3f00c999b21bb04ea01bbb430fb5e90f90c039b37975db5ac858703cad4eabbbec01dd45195a62cdce86ecd6361cd9848dca7ef87b449bf672930bb23e812d06632551e676b169587bcc22b8cb8e52607dae51e4fa603587b7991c8eff24e59ab035366509aac8e4197071154b7136eaf36b323ceecdb94f75601155dbff47f4bf73e07978b174a3f9f2ae6dc68e8301b5f7eebbd1954dc132758b989b84c3e6fe324b641e42230058d12502e69f8e26996672d445bdc6d1b5231396479fee5cf111d3322323da1eeaf36bf3d2a32eeb5492f76ae07c093e5cef0d178cec7bdb7b2ad0be4452792198cd5bdcb98ad69914054271db6586f90d1ff4734ef22e9a3ceecd3a167d2f247b2166034672cff92a9311217ec75064b0a56bb52c58717712f26a662dd934796bcb628292939c37a8b98a8c0c7f94656ea9c5f19fd901dab16d56f245c92a929de1b071c08056a76d32158fcdd083b3d71bbb114180503f16e6b6f54eac0afab07781ed15f9ed1a272f0286a43aa0dd0f6e9a44546498198f49621f98d182c14270c98a0d3cc01e0af584d31a537de1579184d71a97d3a90000310649b08a2ee1fec7ea7b9b3166508682df44358523f8d9f10ca8fe4d1e303d9e3be387681bfbe11867b8388d0ed03ba29418bde7c9c39b51ca92513ce2674f8f1eaa5b665224a239cb05a25ad408db92c9aa938e3dbfc2a2a98f7761af5e4ff000dd89a53a91f09b2692c73071f8f877e5eab8a9c7b00f43080e8205358d26710e47847b4064228dc68e80628809df5c290d3c94f9a4c6504ea2ad1ddfbcf6ee99a6bde3550783557541d43b658bb7d014f85163f012df9a2755acfb533b27432fadd63815cc7fbce942a207a10193ac1fa853fbc33f94d0920441ebe575f956f736c27988d29efcb826c7d57180f2ed818408b41e1daf8cd58d785ce64b73cad62e70c7f74b54f3269dbf422c9a114e4fc2a74a81b3d1ee3082232681232f295c7547227f9cdbd5770b207badff0e8e903073fc0cb4ce730caddc59f6d5edf329a8996accffcd7d0ddb98abae80d8adf1c6435a8a997dbcb1cfcdba0f45261c20a837ce163ed176904f2d5a9a5ccae6f1b974b2c1afce4a6d9cec345d8b8ba6a6dcc0536db98e1bc4d18409a31e50495a759c7d160606781b3300686a41383dfe8b03d3df8943f82ee64dcd907fad81997b893a85ad0d25742d7e8ba5a694b4d84fb50f480ef86fc8e25f0ccb0cc3216212a46b28341f2b8014dfe8922d3c391ae61cd116bd3443bbfba7eee279f15182bd7cf829e2a309e4a97fc63bcb943f9cb5050947f7cde175a01ee19d619135667a522776cd5520f5b2377473eeb01942a0da9f87a0cbb3b9d7dd4a8c1b73cfee9e30a068e274db9078c37d82f05e30b1d49ae1984b18302b183572875750f04a9cf8eec15aaf622b7448fa3310 +ss = 31d2c38f6fe1612a1292626016d478d90924e1bfb527602af4c18e0694ecd7b0 d = 690eb71fd7052b906eaec09937a8ed374e0b02afa27c2f14399932be5839fad2 -z = 81c38c2cb5cfafac81b96a810ab749b61806b6d54c9f8cf4bf1be0192423288f +z = 0b472c6da19b790e6c9591ee625b42ca0fc04fd9f69d72ce4efdb3b9ed8d9c29 pk = 355a23b704c6448bae0a62c2473c1dac43425852245faa8514b54c2ed51305047e5b44618f166cc329172668306984151c31cf04a9864267a1ebe30faa133fdfc040adc3cfa49a3c0f4ca85d7a52a72b71f217278fa787a2e3047922bd339176cbd5049d498708d65f2beb4ff3e544f973a4b9e19e6704b019399683758010e5b759095f17989d4a25a2d9199c3fe73d7096442f539f29ea9e6b06bd39e1630db0b5fd819dc4002297a205898108050c9365014351f38c017564d6798a16382b6f34907a4850a0183b27243ec4123ce3b00cc682c1cb8a9d97845f5d24b5fc35c7e088cbed62910c4050ea6b76c88c87f9577941f6a5b3f2b614c94224c26a36a841c3b40469d2c0cfc366ddac23c8c2bfc401ad78c758a6cc1684d1ad400bad5d88417503ccf169481fa437e4a8cf78b907890cbbc1ab9f46178ee2dc6dbcc1604d2b766707b88c1a343bc5a074fc481533caba15cd3787962697b11df700044a79a809112516a88c2c662965a2da9b996ff92d951337b4b9c11e7947b14212a6f3cf19d2c5d86cab5267a1c8065ec045517dc9be0783194bd846dffc50eb723eadf08ad7b86881cc33e4d9a9b407c7d464c156e94253a8b2a0128d52a34e27610d9a902d4151105409be06a11fd3f73c88b79c9ee630a98105556b777a5bc680a803f5a7b603f16643ab0a9ef7161861b3ecb5636a9529a24a59f17a389b61aff5e633b863065f37789a538f8353b80ad75b4ee876a6ca363b6679680115f4b9857bc88b845510027a0e9014621dda9a31e12222522557f8c86d29a499f0547e35a99d81b1a02147dfa3c45beb8a3026a23fd20297d20e33503cd49002a9fc7ff8200ae433b921bc93cf10209a05242788908f71bae849518ba305eef84597f654754a7808d81f2cb62bbb282911a0c5636cad75b53b454a5a923a5fc8e956c9cc527bc04b846b596c9b222a953db76485c6486907f898f6835a6f315ae20b57d3e56953170ea586658b9178c638c9c22c941097838af0123a601d0d4108b2ebb53b46233408ccbad9597633440ec1aff61743f0371ce62ca1977aaea8d98900f0016e5a9248661fbe5c1a4d261c5426a12715af037a5ffdb38b8dfbc11ee3b4edf289c3ab3995959078091e888ac0107467bfda6f3d35516ba7404a4733c8ca4adb010f7399ac5f14c2cf992fa812cf72f2c79750cf52e648dbb8c3b14698bb517166bc1f663594eb9a6c476c58bc103ea7f03f37205c5c355a2633b9ccaa829e3366fea63932550617aa96d267cdf4b98cfe3334aa0a5c7600ce6ab6aaafe7cfcce4bbbe2756b7cb10d6d6cc8c71b32a04cc652c01e2b62a73497dbd9a46eaccc382c5903fb405d950462ee6c87d2631ff97adb38939c4f284489bb9d1072821c108886842f5c1b402aa2e49d37aaae13b7c14b5a748c2dbc45bbe5bc2abbb929b613767a720ba572ca63c2080c4547c9024d2f451f25973f064941e814e3ec74b4c1770542b0782c67580b7a695c2ab29c95da2c18e4563a24101b11084586cf9a42ed62a2bd1570fc175f4d5bf50f8c4a196aea1953199143efb5183b3a905510623efa47c4a52522787723af5b5d05b86d15126ec6ba2201120b5a527324a9895f62959e24aa6f8c95d9001e7757fa5b3a80085bc48bb0d34388c0f6cb647b0a7cb992519922a730865a4032b51708fb6602b08d144336b7c7b65730d8677399436ff5711eee7b935d67054982472b96ccfe7279f1a673bd61757f7b951a5bc9c4b7e52c11a09f350737120e0923f8c1a2989f19a6faa06105391b39b266d9c768c658d56fb59f57020e0d17feaec496f729a810821fce59cebdc24e8b7cd3b869144225ca4b5a5c72432738ba5b939c64cf338021181765891469aa7af34a628950165a1328cc4c2b6874498a8205c675214137e47080624e250521ca34e394e829206df285e7f84a8b117c24b1450f883ac88d47142a64552aace5dd85332ac168abca2597ba39320653e8338303552b419c84ecc014ca3006b50a6f74b8ac57378f8a06006841f972b703a2b0daae868698b778bf6984dbc7bab537b29ec5462463295ca1581e2a60f5c169b494d0b7793af3313fee3742d84c1d20b6b47877320e25aac270e3739b34063b62fc171ec6a6ba7b62faa650496a63110d057c2e5851e08e31fd88af2f84b0cf79a88de834c1f17c7a5fa17d329caa0 -sk = eeeb8866b17cda12a45fcc6f9d05afd103835147647a7301ee071366398473c8103ab3b064e340f4f9866190acede02473fb49635bc38debcff0f34c5175ae0ec025aaf19cccd46d658c2a6ba62b50d1452b09c21b430ee9a3ce05d36a8e1aab2bf0185f35664b4999cc8c0df049c01056af6aacb025708c184534f1172b28fcc94aac2fb7012e20443f11f43478e7b1dd8a5c7d9b5a8818c0d2259c7f710f51003777b060f8db5fe06c3520d35e97f6b5792b0ac3304349387b637686cac1a6e45149173041fd7c3cfff5a398ba832dba04dd7179d0768122a701f4e0bfa48149ff140e2978a723fb985b939458b081e1068ee5102e5f540365e6accbb8c28db84125b21e8d04622412c2f075cb57019eb828616caa245a8b099a01bd86268cf491823e440e984335af59924fac1d43263af725895c717e827532d35c7da9ac1420b46aef13c9f33a427bb5a1bc646f7b54a21760527d303bacb2a21aa39c5577bcd5f416f126741fba9c2cf9401ec20a14e9a7bb927cc8135bbb0c3180696093289f4b19539c58655b8698a5d1339c9490be7c04ad3311fd422045a5027b203407cb5755462c21ac51f523389e803f30e12fa9c0aa7b4a1fdd85c66989af558cba916c9a037ac7de1a3f7f1b5bd3208fb6f28661696ad0db88d10a3b224a5bb5c99ccc96820e153e478ac579c65bec5a3d4b85aff1c4af5bb222e7aaaf9e9149afd11ea5e86990913d2b543913942d148639d9815d4a8908362a84bfb6ad20b8acf9596df4187009e7b773070450010744712f9e7a9b8e9624e3e2b1d6140a9e4789775abcbd2657aa487740314ea1e446db5c09746accaee29783b23ebfb255ba5c9706f1254703c676ea09801762e9fa45d858732ae7218b37107b3708eaba05d2c035fd447ceba46ee446aa324bc184e7b929f7513c16bfde5c5e55c05e6b5041552c17dd223af273cbbf65a44b4b6dabd51b341464a9993effd671481592c5a655d116b963975006b13503baae38332248f58656620098f42f97a813dfc7b4df880e5e783af5d833b89079474040ac05a6a7ec5e9ec1bdb282443c736514514f1cb7455958608a62503428464d89c66b209c417445416a54aa66234b1a5bf1c0c3f7064b6d0a7243e170b6acb01c033c5b1670a3ba6801024c03b24cc1786025fbc56bf04f3b241e4be701c9764938695bea4316adb6abacfb44f2041d2c29bb867379374b211e990f194b872a7b684a212dc179a4add943aabb1e6beb93f5cb100fe342d0781aa80989406571d1b79d08e31ae15b81740a22df02270f920ebfaa3c9d74392cd64e71f363df221134e9be32b6b855fb76e15b5c91cc6c3f750aeed71071a0803987ca7f35882ac31413a6001a6023c0a183961722b6ebba16f5577d95bea2c5ab446ac8e57acc96281a07599a8d335c2c12388bb0cb9f8633cd2251c8a7563b396072d0cf6e7b8e3af2192e5731341214c30708e128914c124973e759d4221f1735386b874905220c41fc731a22b9c665cef0cc5353b799399905f0acb549f13c6fa56fae2907d0353ff2054accec40310a2c4b62aac3f392b014ba88fc90eb868693eac83516336baa601f600518fc820bc8b0e76c664f3cc8e6a5cd6c34bf246a5d52f93643111f8f9557c3499664ec572dda5d73220a170095ac2764f09167e0b2277f08b23101bea40923a282132a07222ce0c2f1c5894318b591e5591ff20a5d8bb735cb3f7b161a1634267bd33721ba066713a4c25cae04a0973cca6834b717c7aa9bbaf1471aaa24d92c5242c388de17a42019506dc7cb6cd7315437595a9221c76c7862057afd76add8e852062b017cf77974062d00b9a6452ca040d839220372f7d44c36115a3fc5671eb652037421d08484a68b779e94b3f6aa5e74dc282525859a3945003c7fdef3b57cb5b43f14a290a1982ddbc9d8611aa6140ea8c36c4b5953ed45bb7dd96d50956924abbc70715b768975198627a9e64499aa778b9c4df403727486329678790bc8623414436d79beec3624bd20423d14c91e4414ea4784dc405e30f5734a4005b6791059ea8ba7cc224146a856f514753005af7abf5dbaadfd0492c95125493597520478304696fa30681134c5d3b71fe5c54ec7d06588798b31d6890eb842e0aba055017b8ebc4a355a23b704c6448bae0a62c2473c1dac43425852245faa8514b54c2ed51305047e5b44618f166cc329172668306984151c31cf04a9864267a1ebe30faa133fdfc040adc3cfa49a3c0f4ca85d7a52a72b71f217278fa787a2e3047922bd339176cbd5049d498708d65f2beb4ff3e544f973a4b9e19e6704b019399683758010e5b759095f17989d4a25a2d9199c3fe73d7096442f539f29ea9e6b06bd39e1630db0b5fd819dc4002297a205898108050c9365014351f38c017564d6798a16382b6f34907a4850a0183b27243ec4123ce3b00cc682c1cb8a9d97845f5d24b5fc35c7e088cbed62910c4050ea6b76c88c87f9577941f6a5b3f2b614c94224c26a36a841c3b40469d2c0cfc366ddac23c8c2bfc401ad78c758a6cc1684d1ad400bad5d88417503ccf169481fa437e4a8cf78b907890cbbc1ab9f46178ee2dc6dbcc1604d2b766707b88c1a343bc5a074fc481533caba15cd3787962697b11df700044a79a809112516a88c2c662965a2da9b996ff92d951337b4b9c11e7947b14212a6f3cf19d2c5d86cab5267a1c8065ec045517dc9be0783194bd846dffc50eb723eadf08ad7b86881cc33e4d9a9b407c7d464c156e94253a8b2a0128d52a34e27610d9a902d4151105409be06a11fd3f73c88b79c9ee630a98105556b777a5bc680a803f5a7b603f16643ab0a9ef7161861b3ecb5636a9529a24a59f17a389b61aff5e633b863065f37789a538f8353b80ad75b4ee876a6ca363b6679680115f4b9857bc88b845510027a0e9014621dda9a31e12222522557f8c86d29a499f0547e35a99d81b1a02147dfa3c45beb8a3026a23fd20297d20e33503cd49002a9fc7ff8200ae433b921bc93cf10209a05242788908f71bae849518ba305eef84597f654754a7808d81f2cb62bbb282911a0c5636cad75b53b454a5a923a5fc8e956c9cc527bc04b846b596c9b222a953db76485c6486907f898f6835a6f315ae20b57d3e56953170ea586658b9178c638c9c22c941097838af0123a601d0d4108b2ebb53b46233408ccbad9597633440ec1aff61743f0371ce62ca1977aaea8d98900f0016e5a9248661fbe5c1a4d261c5426a12715af037a5ffdb38b8dfbc11ee3b4edf289c3ab3995959078091e888ac0107467bfda6f3d35516ba7404a4733c8ca4adb010f7399ac5f14c2cf992fa812cf72f2c79750cf52e648dbb8c3b14698bb517166bc1f663594eb9a6c476c58bc103ea7f03f37205c5c355a2633b9ccaa829e3366fea63932550617aa96d267cdf4b98cfe3334aa0a5c7600ce6ab6aaafe7cfcce4bbbe2756b7cb10d6d6cc8c71b32a04cc652c01e2b62a73497dbd9a46eaccc382c5903fb405d950462ee6c87d2631ff97adb38939c4f284489bb9d1072821c108886842f5c1b402aa2e49d37aaae13b7c14b5a748c2dbc45bbe5bc2abbb929b613767a720ba572ca63c2080c4547c9024d2f451f25973f064941e814e3ec74b4c1770542b0782c67580b7a695c2ab29c95da2c18e4563a24101b11084586cf9a42ed62a2bd1570fc175f4d5bf50f8c4a196aea1953199143efb5183b3a905510623efa47c4a52522787723af5b5d05b86d15126ec6ba2201120b5a527324a9895f62959e24aa6f8c95d9001e7757fa5b3a80085bc48bb0d34388c0f6cb647b0a7cb992519922a730865a4032b51708fb6602b08d144336b7c7b65730d8677399436ff5711eee7b935d67054982472b96ccfe7279f1a673bd61757f7b951a5bc9c4b7e52c11a09f350737120e0923f8c1a2989f19a6faa06105391b39b266d9c768c658d56fb59f57020e0d17feaec496f729a810821fce59cebdc24e8b7cd3b869144225ca4b5a5c72432738ba5b939c64cf338021181765891469aa7af34a628950165a1328cc4c2b6874498a8205c675214137e47080624e250521ca34e394e829206df285e7f84a8b117c24b1450f883ac88d47142a64552aace5dd85332ac168abca2597ba39320653e8338303552b419c84ecc014ca3006b50a6f74b8ac57378f8a06006841f972b703a2b0daae868698b778bf6984dbc7bab537b29ec5462463295ca1581e2a60f5c169b494d0b7793af3313fee3742d84c1d20b6b47877320e25aac270e3739b34063b62fc171ec6a6ba7b62faa650496a63110d057c2e5851e08e31fd88af2f84b0cf79a88de834c1f17c7a5fa17d329caa05f166082ad3ab0c739cbf0a6bbe2707741d9b5f53a0e16199280a2376c9e5a1781c38c2cb5cfafac81b96a810ab749b61806b6d54c9f8cf4bf1be0192423288f -m = bbc773ebd2df42c36ae05952d6a64c63a5dfb82ceb3ef4f8d4df3a30ec8c0467 -ct = 3efa244ab7985601f9f1dd613fca9089d81824313726b1e3f0881e42fc96fe848622ad7b950484a8b793a3d771ad5878397c450ae1583a31cb481bfc9bf6b0d1585de4eb99bd6cd7447d6e561d13f322ade31049eb863c28246d31cc649b0c74591bde4078904aba185706157e71f6dccde87154c0f0416effb1e4f0263d1f783946193a51387563bf8d4f0f36c7c1e7af29f10f0c7f4aa278916e5b531bacaec41365b5346575d43a9ccc7617d4f50b2e2d85f38bf97e58a9610daead51d473bd10221d10607b976c51cb722ba0de63a2abdc418d396f6e68f3f430e9254232179a7321d81f0e5e3d33e5f82d6bf7f7b24445e950d00c7e7bcc4146435476a3236b7fa530fbe4385258cfd3f5668158affa61b8c016abff40f363e21072726b4fbb861e118d34e1fdc1c66736f5af1af408457677eb4400f8f37fd7be3b911add9442a0c6204ffa5135d6bbfbe3b4dcf2117aeacd3b1d8dee1d573b9dc4fcd94f727b5f99b9bfba91fcd33004dbf61b0ac4e2d58915d696c0b311729f40db99c73492d2bbbeb540832c4ca5f61e7f4cf0ec190a6d20c9ed74005be334b61639740492dad8175c57bcd815387629cc1667a546a1efbbfb134a43da27dad68d4ec80825f8e6e2a0f07baeb5f100f6c8416279774b6188ec7af2713f81a37045885cf24583f9b8283a5ce21f673b83e041fb4b21fb467f188515cfa441737e4aacc0da948bba4ca02670cf7d488a43c082f8bbc5c468f1ec406f339cc3a7349a21d25401712fbc1e5866191caab8aef634d647b932c8e71dc4ef5c8a243ce2f0c30965e2ef9fe3f4b39a7a400532f85a49fe37f1ad898e4084a8a6f9ca318179fbd3a07dfc10ef7640a501a135bfad674a14274762547ea0f92ea982e635e8d2f79fdc713a55a2e08f326b5ebb53f16e5dde19f51768cce46ff96945a43e32995f3d2abf84c5e8344035b9d19466abfa9ef6a399ff0f3ab2abe4487a0a3b9c8a9bc61b689f4584c0a2fa36648743044236580686b19f297c6bb804c02beafa4480fd382dc66c6749a9047f53420dfd9f398d5fdc84e34a50063b4a584493fc4cee5935358074debb8a900b3c60c9b029ff7361b3c707beb1131d444a27a7fd6dea0f33d8cc05ad423cfd85dfd4a83e4cc586b3e551dabeac8f067dec0aeccc46cab2987e951bc4142e678e5cccda7f6a90148bfc3e01cf753ccd03f6061de8d7f7f8b976c98292f185fb14f215056a1e67e18c46b406a9a80a6df129e9e51acb67972884e18cc0c291476a79f4a4ccd88285b518abff8766e64f7980ffab73a746e19b8cb4fffb2ed41e37684bcb5fa980a6c5e7b7f623173ef26a24f391be764b7c3d486a003c823a72709d1cd16d05bc0e22d978267fa6c4d7783854418409f6c08b899fb4754565d155c624b6ee8538ecffbffd0aac1fe47391efa49bd4b485d36b768577097975ebca6ee27ddceb11a7cf049821009e5d3e553475fa24f80e63cfd95ec93c34ca83e960de347d69dec402c8f8e1b1a4b7824bdc38472627dded5849f1eb8468e66251d8fb2dd82e2f9eada3622516c986530634862b60ca0eb055f8eb7f51f347e53f79deace4014f3cd80b1c569bfecb604cd1a11b757f176aff5e515e2e1aaddd08c51498ea8cf5383eb5b04c7b37026c1866e812d3bf9dc14f50e4872b1de0a0736bdc54ffd0f64a1188fb6076f30120a8b6eba910bfcd69484537b16802db08fdbdc4e8e31724aa3c60bfd2cb4a9a6e539f65747401dd35dbe463d4bee4356a2c19186ab32640179fb93a84e658343d54ab73c32b5ae3b03b6839ecc765781a985932139fa9c946f86edbdb0d4ecf9b30d8a48677a50af34e1317bc80b26e25877342fb323f29ad29fb774346bd58c349b608b852bb14fbde87b2afa20ecaff0e70ed080baa73403c70598b103b3b2d55a20ed2bc1d28430f99e990d91bf9dfd4786f99001c71ad1b8fe72fa43846134bdead6cd3280975b14cac503fe25c59bb8d8d43871a0ad847a23e22f0a5608b4fd77faf7e0369b05fe0a785f1d4e3c478c5f547a4a5da074789dac243d094c4e087b5c751969b024c804a16af70ca8a140104b7ca2b577106da8a75c6e10a5ecdcb774e836ae888d6ff1dedaf13f81a6a0ee8d031e57bb7a6add209c4518746665a727130dedea5889554e30e9253297d7d381d6e87978c32c5dde36d48c4e6e6f2090441592b -ss = 4b3a62eaeca3d21a68a3090a9c3ad0ad84fdeec7c27da50c00773baa12c7d9d3 +sk = eeeb8866b17cda12a45fcc6f9d05afd103835147647a7301ee071366398473c8103ab3b064e340f4f9866190acede02473fb49635bc38debcff0f34c5175ae0ec025aaf19cccd46d658c2a6ba62b50d1452b09c21b430ee9a3ce05d36a8e1aab2bf0185f35664b4999cc8c0df049c01056af6aacb025708c184534f1172b28fcc94aac2fb7012e20443f11f43478e7b1dd8a5c7d9b5a8818c0d2259c7f710f51003777b060f8db5fe06c3520d35e97f6b5792b0ac3304349387b637686cac1a6e45149173041fd7c3cfff5a398ba832dba04dd7179d0768122a701f4e0bfa48149ff140e2978a723fb985b939458b081e1068ee5102e5f540365e6accbb8c28db84125b21e8d04622412c2f075cb57019eb828616caa245a8b099a01bd86268cf491823e440e984335af59924fac1d43263af725895c717e827532d35c7da9ac1420b46aef13c9f33a427bb5a1bc646f7b54a21760527d303bacb2a21aa39c5577bcd5f416f126741fba9c2cf9401ec20a14e9a7bb927cc8135bbb0c3180696093289f4b19539c58655b8698a5d1339c9490be7c04ad3311fd422045a5027b203407cb5755462c21ac51f523389e803f30e12fa9c0aa7b4a1fdd85c66989af558cba916c9a037ac7de1a3f7f1b5bd3208fb6f28661696ad0db88d10a3b224a5bb5c99ccc96820e153e478ac579c65bec5a3d4b85aff1c4af5bb222e7aaaf9e9149afd11ea5e86990913d2b543913942d148639d9815d4a8908362a84bfb6ad20b8acf9596df4187009e7b773070450010744712f9e7a9b8e9624e3e2b1d6140a9e4789775abcbd2657aa487740314ea1e446db5c09746accaee29783b23ebfb255ba5c9706f1254703c676ea09801762e9fa45d858732ae7218b37107b3708eaba05d2c035fd447ceba46ee446aa324bc184e7b929f7513c16bfde5c5e55c05e6b5041552c17dd223af273cbbf65a44b4b6dabd51b341464a9993effd671481592c5a655d116b963975006b13503baae38332248f58656620098f42f97a813dfc7b4df880e5e783af5d833b89079474040ac05a6a7ec5e9ec1bdb282443c736514514f1cb7455958608a62503428464d89c66b209c417445416a54aa66234b1a5bf1c0c3f7064b6d0a7243e170b6acb01c033c5b1670a3ba6801024c03b24cc1786025fbc56bf04f3b241e4be701c9764938695bea4316adb6abacfb44f2041d2c29bb867379374b211e990f194b872a7b684a212dc179a4add943aabb1e6beb93f5cb100fe342d0781aa80989406571d1b79d08e31ae15b81740a22df02270f920ebfaa3c9d74392cd64e71f363df221134e9be32b6b855fb76e15b5c91cc6c3f750aeed71071a0803987ca7f35882ac31413a6001a6023c0a183961722b6ebba16f5577d95bea2c5ab446ac8e57acc96281a07599a8d335c2c12388bb0cb9f8633cd2251c8a7563b396072d0cf6e7b8e3af2192e5731341214c30708e128914c124973e759d4221f1735386b874905220c41fc731a22b9c665cef0cc5353b799399905f0acb549f13c6fa56fae2907d0353ff2054accec40310a2c4b62aac3f392b014ba88fc90eb868693eac83516336baa601f600518fc820bc8b0e76c664f3cc8e6a5cd6c34bf246a5d52f93643111f8f9557c3499664ec572dda5d73220a170095ac2764f09167e0b2277f08b23101bea40923a282132a07222ce0c2f1c5894318b591e5591ff20a5d8bb735cb3f7b161a1634267bd33721ba066713a4c25cae04a0973cca6834b717c7aa9bbaf1471aaa24d92c5242c388de17a42019506dc7cb6cd7315437595a9221c76c7862057afd76add8e852062b017cf77974062d00b9a6452ca040d839220372f7d44c36115a3fc5671eb652037421d08484a68b779e94b3f6aa5e74dc282525859a3945003c7fdef3b57cb5b43f14a290a1982ddbc9d8611aa6140ea8c36c4b5953ed45bb7dd96d50956924abbc70715b768975198627a9e64499aa778b9c4df403727486329678790bc8623414436d79beec3624bd20423d14c91e4414ea4784dc405e30f5734a4005b6791059ea8ba7cc224146a856f514753005af7abf5dbaadfd0492c95125493597520478304696fa30681134c5d3b71fe5c54ec7d06588798b31d6890eb842e0aba055017b8ebc4a355a23b704c6448bae0a62c2473c1dac43425852245faa8514b54c2ed51305047e5b44618f166cc329172668306984151c31cf04a9864267a1ebe30faa133fdfc040adc3cfa49a3c0f4ca85d7a52a72b71f217278fa787a2e3047922bd339176cbd5049d498708d65f2beb4ff3e544f973a4b9e19e6704b019399683758010e5b759095f17989d4a25a2d9199c3fe73d7096442f539f29ea9e6b06bd39e1630db0b5fd819dc4002297a205898108050c9365014351f38c017564d6798a16382b6f34907a4850a0183b27243ec4123ce3b00cc682c1cb8a9d97845f5d24b5fc35c7e088cbed62910c4050ea6b76c88c87f9577941f6a5b3f2b614c94224c26a36a841c3b40469d2c0cfc366ddac23c8c2bfc401ad78c758a6cc1684d1ad400bad5d88417503ccf169481fa437e4a8cf78b907890cbbc1ab9f46178ee2dc6dbcc1604d2b766707b88c1a343bc5a074fc481533caba15cd3787962697b11df700044a79a809112516a88c2c662965a2da9b996ff92d951337b4b9c11e7947b14212a6f3cf19d2c5d86cab5267a1c8065ec045517dc9be0783194bd846dffc50eb723eadf08ad7b86881cc33e4d9a9b407c7d464c156e94253a8b2a0128d52a34e27610d9a902d4151105409be06a11fd3f73c88b79c9ee630a98105556b777a5bc680a803f5a7b603f16643ab0a9ef7161861b3ecb5636a9529a24a59f17a389b61aff5e633b863065f37789a538f8353b80ad75b4ee876a6ca363b6679680115f4b9857bc88b845510027a0e9014621dda9a31e12222522557f8c86d29a499f0547e35a99d81b1a02147dfa3c45beb8a3026a23fd20297d20e33503cd49002a9fc7ff8200ae433b921bc93cf10209a05242788908f71bae849518ba305eef84597f654754a7808d81f2cb62bbb282911a0c5636cad75b53b454a5a923a5fc8e956c9cc527bc04b846b596c9b222a953db76485c6486907f898f6835a6f315ae20b57d3e56953170ea586658b9178c638c9c22c941097838af0123a601d0d4108b2ebb53b46233408ccbad9597633440ec1aff61743f0371ce62ca1977aaea8d98900f0016e5a9248661fbe5c1a4d261c5426a12715af037a5ffdb38b8dfbc11ee3b4edf289c3ab3995959078091e888ac0107467bfda6f3d35516ba7404a4733c8ca4adb010f7399ac5f14c2cf992fa812cf72f2c79750cf52e648dbb8c3b14698bb517166bc1f663594eb9a6c476c58bc103ea7f03f37205c5c355a2633b9ccaa829e3366fea63932550617aa96d267cdf4b98cfe3334aa0a5c7600ce6ab6aaafe7cfcce4bbbe2756b7cb10d6d6cc8c71b32a04cc652c01e2b62a73497dbd9a46eaccc382c5903fb405d950462ee6c87d2631ff97adb38939c4f284489bb9d1072821c108886842f5c1b402aa2e49d37aaae13b7c14b5a748c2dbc45bbe5bc2abbb929b613767a720ba572ca63c2080c4547c9024d2f451f25973f064941e814e3ec74b4c1770542b0782c67580b7a695c2ab29c95da2c18e4563a24101b11084586cf9a42ed62a2bd1570fc175f4d5bf50f8c4a196aea1953199143efb5183b3a905510623efa47c4a52522787723af5b5d05b86d15126ec6ba2201120b5a527324a9895f62959e24aa6f8c95d9001e7757fa5b3a80085bc48bb0d34388c0f6cb647b0a7cb992519922a730865a4032b51708fb6602b08d144336b7c7b65730d8677399436ff5711eee7b935d67054982472b96ccfe7279f1a673bd61757f7b951a5bc9c4b7e52c11a09f350737120e0923f8c1a2989f19a6faa06105391b39b266d9c768c658d56fb59f57020e0d17feaec496f729a810821fce59cebdc24e8b7cd3b869144225ca4b5a5c72432738ba5b939c64cf338021181765891469aa7af34a628950165a1328cc4c2b6874498a8205c675214137e47080624e250521ca34e394e829206df285e7f84a8b117c24b1450f883ac88d47142a64552aace5dd85332ac168abca2597ba39320653e8338303552b419c84ecc014ca3006b50a6f74b8ac57378f8a06006841f972b703a2b0daae868698b778bf6984dbc7bab537b29ec5462463295ca1581e2a60f5c169b494d0b7793af3313fee3742d84c1d20b6b47877320e25aac270e3739b34063b62fc171ec6a6ba7b62faa650496a63110d057c2e5851e08e31fd88af2f84b0cf79a88de834c1f17c7a5fa17d329caa05f166082ad3ab0c739cbf0a6bbe2707741d9b5f53a0e16199280a2376c9e5a170b472c6da19b790e6c9591ee625b42ca0fc04fd9f69d72ce4efdb3b9ed8d9c29 +m = a172a053269af9bf0c132baeba3bcab0c3222520eb90a6f7ba15f507273c828f +ct = 1b5e0ed507f770f039bf29f4c1f264edbe5de494755131fdcf392c6c18245778dc266f9b42c1df973f2858023e8c774598ccec04f0eec86822b8030c53bdf2cce64d5d8186efd3fbd87b9c73fe74123dcf24b344ddd45f2d824537ebc8c673e9444dad1b3b180415d61a500134f527b2e46f86aa1a30bf1766b5178d0e3c43cd78de03e726a8e61ca5e7a5831507445d2db64f412481598f699c17ab1a9ae6ceac0cd491435dd64a3ab426edc2414a5afb361cca39d007df65bbfc6bd9ffa114d4b7db5f1568828bed40bf9e5ac1bbec1b369d29897cde8e9c4cb17f8f068edfd49903b6790f15bcc147405ccb90b80aa44fee9e596eea23e9accfa7346f20c3b6852a610460d20033547de2cc8822917f4466d3e8e90e217d328d46d35426151f1c45406828b44c63c435989d39576c7ecbe18b1207732ce1c966c7cc980603949d1e5fedc29c0ba75616e1acab70277da24cebe16c8b9d03bf5390c6eeb0284acbf68cf83e4468dde173491412b1a6b773457954b65bb56b81101ece9d29e631253fcb26c3871abb80ed63217be54dfe7b5e47a696daaccf44d542087083dab164a3c0a06a19a022eb8a8f1e47e94b364fe04d240a464d5264f7228bbc4daf47f9e1e7175336e9465ddecf39a28daac880119e385115b3a1c0fda0e8a65e225d4c0d0e5306b01db6291029af76ddaecc25401c07598560f5b652e47cf6bcaad56a8b6928a6b5aa3caae97a7002eba9d1654830915749ea75a4f0ecde9e524a48a3807e2396f065c2ab9cd8bcb02d2decb8a7971a2ce790017f7ab94cce2514dfdb711f133214627904956286507ed7ed80a44b6fc6ef6f60c210f70645f62463c862e09d6eaa7d2f009e52965a40ac87f7d53270d8c0299d68ee3ab3152228dcd976508ed6b9b43b12d1b56c59f417a24906e1a37d8e48dee1c753b9ae4cacdd66340f555c75f3d4951b5186de466943139a38ce5aef14acfbd172dd14a681148aee2e5d5e38d009420b7edd9de4352fe347607090dc2d06525f32b28ae86fac64a9dd1b3a83d9733111af43e45260274968d999b82ec60594b828a5ea75aeedb02a4c296147d5dff44ae50bd24aaee05b2991692a02f15b054ab791950afe07bf5f8879784b1ab3e9a5139d0b79593a9154620ac2dce00a5da9a0c43a40d027b041ef81a8763ce41bd1411562742083dc544b4393f76cde34b956da38994b02447561858e15fe4a2975ea0157cf2847189e8131f5289bd4d9c4d212db254a1f26a6228dfba9e9fa4ad74de3c403a9ddc011910f42ba84ec310dcbc68bebd0e22f155065e266d5e8be6a6fc87b9e8c2a893760320673dd0f1d4d028806e008dad6f58f635006993131c91a438131bc370c0e1bce0108cb031a3cb1459a0fa48cca5897815cae2b9e278abaddafefc493deec18ea99d0cc8567e6b29d76b1b700bf273177cc8253c4ba1c05cd0ae6875c04f0185131e95349d7bb27d05cbf9209b5eb6397b5c92bd110d3acfc3b8d24bff2227d3ff6b158214f895ed44befb1f28fefbd6e0e8f8ef770c9f90b7d85b931c4b69c223e96410633f3e529fa96b8f1d9e4c2af953bd38a50406741548ad9a08b826439442620b3330e8d79e452049a139a8b7503af8450ba05d3fc34e818ade8baa23e66ccba61dffae259d132b85bb3eff18df26b96adcd8b9802950f62dac16c9d8c0d4f9560583e39a7432ea7458333a6ac3ca0f30bdccd0818f258be672b1422c5c51317063befcdab70a6f8204767a1cb823e6ce70ed944b20b87942f95a60dcaa4c7a797bb17bc61c5584d17e5a58e3672ab97652ea6f3d3d31216ef58a1846d2a64b62577795a1510336226b24c2e6075b1717449caa1459f3e003b56f6c824c3a125f2e39caa2c1c5a4d16a0c594a7139c8748d17d29e91d8d880a05c8b9e7cabcfb8580d68d4f8aa9f7f402096b482c4a67b0c574900cad334ce63aa32cb7e9164680eddbbc5a3027f28a554c4a63d44c21ce4f3b703b15dd3f80be4e8c74a9673dd24973b9fa6a4199babb993aa3a386c3ed9635b0ab59e7feef8a74fbabc3e7d9f2fc56cb94bd15d43b71843d9834619764a31473dfc7e47813fd564c76186eb7f520f39e0c580130bfeaba76b7e04e986bf943f62c0b82305e4ad575b6c0ac55fd8e31305178011297b5465fc717407055815bf8db52998217bccfe1bb20cfcaf98fb252e250d24f +ss = eeb511979b17b821ca1ce569606a76144179e8a8bcfcb3108c44773c89bea166 d = 32e0ea9089fa928482c0770da545af1bb871a03ce38604138b0d08ea2a10ca2b -z = c06c5bef7b6508409daf847a64c8d30d0974fd3ba7476dc76c46b458a036d884 +z = 56ddb63a495d1afa553a815cf751d711478a39e8d1aaca992796b619c84565cd pk = a3637b6eda83bb2281b6320527e3b22bc08b5aa644402cb674059135d9c928bc4598019722b8af0b647dd3f02d553bc457bc763883288dbc461e775909745317f67017d3ab5ac283d0462167dca55e7452438529dd715f8af6438edb470b816546d078db0ab2588bb56b2c0e06741cfa28c997a128370c1d72221147f0218784633b45207a3b43fbbbb0d0cac41fe70213475e61058cf21797564b0db1a2095cf367b9561ac2681ab8b6ce7d240b5d277169c31eb99a4b68b92b3ed1ce6333b404e8807b32a0b03080664cb9f0987d2ef56308707b46b14f5667b2ace438701cadd7b4026cc5886bb7c0160a9684d5220d422497a9162d84c2500c0bc4d8bf20a904dedabdc56a92f153770aa95244220bbcbbba66aa89823289a2335898f01789e8a845d3b5a22c34c70a6cc7ecc9eb4b65ae0551748734a1244a30a837ace642f020779f6b6cca633e33fac08c51330ee0bf70e8a6ae4a7df0f2be54b10c6e418426c69c212a33b6b897b31630c6928cc4865606ca1f7ce192411c8d4812645c0655e23553b13c6c7c073e0ac92f35465a1b8a505de879998bae71608af9e943b4caa34f248f6dc679d93033b51c53315aae72d843884c83a0a711d009414c215badc32a5f74cfb3179d6ef26818d7c79393b8bc8b8d212092f2250101560cef4abd4132cb31996b85432bf437037d73516927300528763472c0d5cab08294154001c3c7e785f3e887f1baca5fa9498947b691e7a2ed1c9f66f9bd60fa1823e32935515f90234b7613ad5ea3734a6c0a9422a97dc7042a0434a684083e8bbb40d2c4ebc08496a7261eaa269175c2a8a0aef21474dd4837b6b1c7bc112d67a1c175b2634737b43e5475d5ec9a75827f02091dfdaa20fd43cf59922479a671363737ab1cc307225bb4118d1a714ddbc08b770283061762bc098415e1923ecb3e3c92216d30694fb869b514a314db3fe8da5fd4930ed0979011d8b1fc723ab617b6de420482e8b9fe2a3874b788f0416dcd20704c20285247784477385a1cb219313b700284097acbb90976b94a5fd8984bb6b7121bb020e589804281bedcd78c1cf0aa7ab136c7e7afc206983887beb2372784a2c388a18b1dfc5e077703c8eb7f8a966def46225c8b3fd0f85d6e3a328c8c1bcb0b55d0341cdc866e1b040e09c960337a9fcc5c587c393d29e5b4921a9e2377775905aa0ceb54599bcf04421056915cc0d79830eb972c01bd3756270975bd63e224d0f58307ec2986699d5f536ee6c21f5de6844da70b797c8ef5b9a473624c50647d171682f30a2f3fd7c670595243d59487cab8d0a7727d40350f9bb7d984ba82d8cf39e817c8984c17892295e09ff674a684272cc710bffb263bebf1be44665c85530d13f891026790c2c1590ab6159cc22b5ec76057371bba107ffbf402631297c2c59bd05634ba628a7bea14f3985d2b5260fbc64664bc9ee308694f8bb3c4ba1f4ee43dc4eb4beac095b74820a2787aeef612c0c48afd0b20ebec9417b12c7aa50f4fc86558d36fc764c5b69bb4bfab3526d533de0c2e2bc1cdd4b897c9f990e8987bbaf147a0c4428ab68ca077a2a2d3af76261a1f371fdd503f6d9517a8bb0d53499d65208baae23c77580becd252d006bf27bc11b87c19789384f063538448b98188b0dca07328265f4c4b68de438d8420874625bcd12912078056c7db367a1598bf200f39d2a90e12c8dbe7ae4b780c8f5662c78916af1a270db365ca9097a37525ae347961b13b9b72c68dfb7ad7517dfb318d5385b7343a63f5026bee90177ff212bd6b639bb15d7949680ea38336891653d2c5aec083a8873362ea5e6fb4b0b1e19e48c1b90235796ba570aa0a3b1ea6c483d3079c71cd153b246993b86b506e477625b3b939fd9616451b90da9348b87c0201e087a5592a208ac9ab7ca6712758ecf4cf1af163ca3a369e82b46d941b15a42d31f8775e6332387036cc1bb31c5505d52b1a0753098d40b4999a74e4743a73e539d9e7a9514aa5671042a68ba6ef785234622f7440241a55a71f018a09ebab25f7913691bf787b781ef818c8238cfe5cbff3f8895a19c24085337fe10ec7b326da82283f03240a02aaf2658e04f7626da155a9fa8117eb3cf3f36d1e48baa2f68d158a0123691872aa74c64670437534b6dba775f80e14bec0494baeae3c7ae947bd69827e1fb86388052c3bf3f8b4cd25a568 -sk = b27ca8d40a1cf8aac1a62553ff541ef56b4b4e352e38c0ae8c2cb2240c2d2525adc52b1953a1c239e3add71b5f7693196875babf8b31edc528f3b320e6569997639f1c9b5279c38d5ddb3b691b0228ac4480d45077db55bac24285c5820c49be25632c4aaaa23ed84e10a1256d9cca9b584d423a9fd37276cbfc5953c9284a4097bf71706069ac413ab857c64ebd179eb75496170778afd74180d877c9d69e1956450b1289948323f64227960a0b24b442e78c551c5b35e89b34b018b80bd094f7594365195f44c05bacbb2e0a976a86559bd6b23d220b5c900375c6b188fb353c3b064ced669bee6751d5d22659eb89900a92b7ba84eab58b7e95cb8495191ca0491ef75a3abb9469a7939796c2f8c15ca22283235852b0a96daec403c5c057b5ac91d09cb16e01bb0d078170e0ce9596b913e953c5aa67bd8a2ff20c0261ca814f334244886daa0694368293fd858e14e23d13e66ac89a58867574804786c4c48d2fc003336c002a7776217acfe7084588455a0a85b8aa51c33e99b1cdb75541855577911db00475df42168e7a21efe57402303dfe37ab5bf10200395550a1639da2aa8e358748ec38946bbd3dfc27deb08f4f017abe33a2df3b9b96cac0e8c261e487cfff31a1484ca5e04036797cb4fc87ae6cc72f9ec0835ae2b160b425acfa8b75236d92870e4d43bfa7ea5c98827f95db6dd4200068650e3d8812de827c3f660cf8049933daa52793ac10f57ad8f2a7445927ca6022d5a485f9424662a175b2a6349b248aaf4853be709d42228c3ce3b13990794b9698869842b81649cbd9482c2435886441ed9a7927384371d02005a514717abec398bd183b321134a4de85a1fc9b72f7268ccafbae289c15dcec18bc26b81ec43c6b8a3919625165617d60c33f1e6b04cd5492414a15bbca5ce84284557c9cb481a951fa5df2e444e2c20969f38284e60ff15b0ee707115880bc6d3834230c7d22c7cd69229d1eea957f58b2d47b11ca97c926070cf1c1934ef83f5a26241c7c73959c8a0501c2c1c70671987243635fea56ce6ee292b1d6aa26c4cddfaa1751520fc3218e7e20c13c6a1df4835c7d6c0ba45923ceb2ab40fa7fe3732e47ab652309cdf28091d8d86308b73f90d86995220acdd9c544c95fcd24a77e7c90f2f15e52aab595e11b1ac0799a3ca95e0644771420aedc777a9048fa89ce94780c8f2b903548bd46a2c22e453b68736f5cca6c35ebb027c0c7035678f7f69a9ca02fbb4b23746759660251f6757be3aa1767d7280aa75b60a7a0cc892f70f67cda886cfcabb451a36023c688d7ab5e0a3b5bc88514ced3597a594d0e28c7aa25859e57be9fb12691c047a8a7373fe1695ae742027a8f5630cb2776721815742c66a4ba0c7e7e8b8281144b80288cc7296bfc8625a2cb995b548d48294b2fbca97d375b91203392cc27fe835f62db97b14739f6c8b1880a53ddd388e2636f866416817a110258a098d9af4458a64c68654e97099746b9b9e23adab5653970c00719b54e4a2d2092cd7bd62ad9317357e35224184a4e24b4a58014f666b33e1530365070b73aa6da432d04f2588f34ac1cb3b3f7fb4ab200b459966fafc689cc40adad0c26108859a2943e6157c22f9861eee9ce412212bb11bc6c5414e781414711c8c61b29c0f90303dc5688da9d00b78ec8a80a4c5485b67bb83c850d2c0ca56e45a30f35250700469b957fbf90a6a097af95e4cd2060b38f8136b9f493e9c4b6b0395e04a0761834619e5b84ab33c3ceb083b1d268e468158232075f3a821ba286d84002c3757b99474b56820a414131e60636d03ba019fc37e8c63ebdda124a9370935926cbf1950ab83e56f088f36c24ea9a84e042447718220bdc53254708bf85971ed83027750301a685d2a91a652633e2e55cec7932126852d0216f3d943f5acc9ddeab99edab31e79a5bc5c5971f5b5ff6b50a57e2455f45346c3275cc1b1b0db991cf3bbb3d2a2f522a9ee5426556d84c5c0ac7d827a0e173480427ad9f637c1a71a2816858b2c152c33caae1fb5197d874d6f817996946e563c8de22aee6b5735e46ce6912b22f9187f8d75b4d47497d435f91759e1d1168341a48cb5c9fbf19137d397a2a1c75f0e71bc17a88e00837de428ba61b3a1e1c88ffe5a41570cca144a33ae851a3637b6eda83bb2281b6320527e3b22bc08b5aa644402cb674059135d9c928bc4598019722b8af0b647dd3f02d553bc457bc763883288dbc461e775909745317f67017d3ab5ac283d0462167dca55e7452438529dd715f8af6438edb470b816546d078db0ab2588bb56b2c0e06741cfa28c997a128370c1d72221147f0218784633b45207a3b43fbbbb0d0cac41fe70213475e61058cf21797564b0db1a2095cf367b9561ac2681ab8b6ce7d240b5d277169c31eb99a4b68b92b3ed1ce6333b404e8807b32a0b03080664cb9f0987d2ef56308707b46b14f5667b2ace438701cadd7b4026cc5886bb7c0160a9684d5220d422497a9162d84c2500c0bc4d8bf20a904dedabdc56a92f153770aa95244220bbcbbba66aa89823289a2335898f01789e8a845d3b5a22c34c70a6cc7ecc9eb4b65ae0551748734a1244a30a837ace642f020779f6b6cca633e33fac08c51330ee0bf70e8a6ae4a7df0f2be54b10c6e418426c69c212a33b6b897b31630c6928cc4865606ca1f7ce192411c8d4812645c0655e23553b13c6c7c073e0ac92f35465a1b8a505de879998bae71608af9e943b4caa34f248f6dc679d93033b51c53315aae72d843884c83a0a711d009414c215badc32a5f74cfb3179d6ef26818d7c79393b8bc8b8d212092f2250101560cef4abd4132cb31996b85432bf437037d73516927300528763472c0d5cab08294154001c3c7e785f3e887f1baca5fa9498947b691e7a2ed1c9f66f9bd60fa1823e32935515f90234b7613ad5ea3734a6c0a9422a97dc7042a0434a684083e8bbb40d2c4ebc08496a7261eaa269175c2a8a0aef21474dd4837b6b1c7bc112d67a1c175b2634737b43e5475d5ec9a75827f02091dfdaa20fd43cf59922479a671363737ab1cc307225bb4118d1a714ddbc08b770283061762bc098415e1923ecb3e3c92216d30694fb869b514a314db3fe8da5fd4930ed0979011d8b1fc723ab617b6de420482e8b9fe2a3874b788f0416dcd20704c20285247784477385a1cb219313b700284097acbb90976b94a5fd8984bb6b7121bb020e589804281bedcd78c1cf0aa7ab136c7e7afc206983887beb2372784a2c388a18b1dfc5e077703c8eb7f8a966def46225c8b3fd0f85d6e3a328c8c1bcb0b55d0341cdc866e1b040e09c960337a9fcc5c587c393d29e5b4921a9e2377775905aa0ceb54599bcf04421056915cc0d79830eb972c01bd3756270975bd63e224d0f58307ec2986699d5f536ee6c21f5de6844da70b797c8ef5b9a473624c50647d171682f30a2f3fd7c670595243d59487cab8d0a7727d40350f9bb7d984ba82d8cf39e817c8984c17892295e09ff674a684272cc710bffb263bebf1be44665c85530d13f891026790c2c1590ab6159cc22b5ec76057371bba107ffbf402631297c2c59bd05634ba628a7bea14f3985d2b5260fbc64664bc9ee308694f8bb3c4ba1f4ee43dc4eb4beac095b74820a2787aeef612c0c48afd0b20ebec9417b12c7aa50f4fc86558d36fc764c5b69bb4bfab3526d533de0c2e2bc1cdd4b897c9f990e8987bbaf147a0c4428ab68ca077a2a2d3af76261a1f371fdd503f6d9517a8bb0d53499d65208baae23c77580becd252d006bf27bc11b87c19789384f063538448b98188b0dca07328265f4c4b68de438d8420874625bcd12912078056c7db367a1598bf200f39d2a90e12c8dbe7ae4b780c8f5662c78916af1a270db365ca9097a37525ae347961b13b9b72c68dfb7ad7517dfb318d5385b7343a63f5026bee90177ff212bd6b639bb15d7949680ea38336891653d2c5aec083a8873362ea5e6fb4b0b1e19e48c1b90235796ba570aa0a3b1ea6c483d3079c71cd153b246993b86b506e477625b3b939fd9616451b90da9348b87c0201e087a5592a208ac9ab7ca6712758ecf4cf1af163ca3a369e82b46d941b15a42d31f8775e6332387036cc1bb31c5505d52b1a0753098d40b4999a74e4743a73e539d9e7a9514aa5671042a68ba6ef785234622f7440241a55a71f018a09ebab25f7913691bf787b781ef818c8238cfe5cbff3f8895a19c24085337fe10ec7b326da82283f03240a02aaf2658e04f7626da155a9fa8117eb3cf3f36d1e48baa2f68d158a0123691872aa74c64670437534b6dba775f80e14bec0494baeae3c7ae947bd69827e1fb86388052c3bf3f8b4cd25a56840b3a72c164432e6ca838693ef25b30013e5cf56c1e6142828107a10cabdd169c06c5bef7b6508409daf847a64c8d30d0974fd3ba7476dc76c46b458a036d884 -m = 5b17a6adad541efcbf5ae4b0c0452cd2ce32e4f0f8701801c5b63e197c1fcbf4 -ct = 67486801d7299e922374518b684ebfd033939e33840e2a3bcc7188edbf1a9011ad115615a36d3fb5c2859608e8e9798b2e7e2ee8465683ef1ea8f6a23ee4558e4433a1cdc6d8393e2abb3a5bd4d508008cfb9e57911d2bba112a04d4a23a9a79166dbffedf4cba6e76f9be892438ebc5b27818fb76af21b96b5c362261114143d5c2286564de8dd523cc0f5b6bbe837ead8ecdf8efe8d8a088c145593f05fcc78602835453d81c90c370612b722cb94292ef7d9426ccadf7bd88ce19b85d86cfd464a49af1f9ba6143285de6739efc198ca6565f3f57a7a0ef7f68be58c3139db0db94c81249b38b6b20fcb6be2d64aa0ddd4adbe734abcabe4d9220be72777bae3a1ccd949a93e18c39c027e87e806a15a26299a436f85015132ec87f5d8970fb2053335d403238d543deaaf00a092a3f6a445988c59fed424d821027b66ece75ea191c31c85b9f29d14c768c667b485d03ea3fcf3d198e912ab95e594408453e7d1c89a80e3912a7f7dc7712e5c0c448973dcb5e23962f25e655c0339c45f46380616b349db76f54824f24492854c142119fed7af68032349744c43ec3975951d0e9cef6b4a88936cb4d3d32ef264c1d554f3f23a49e1bdfa605907256a158d2083257a8db71162aea911af9fabe6290500218ffe374ada3ab93750bad838075f27b1f508b544a67d6bce99d17637f99663c580fc8114fbc28b9f61aa4d4c33898f4e02fd045b0944281ca49fa9a21e58b257255e172ee921e98883a8eed88804532a38b8a9355bb31e1fb0a1a5b9ac49cf52a6ecb0ab02d6fe7f15052e120ca39652631388a2b1bf59d60aafa6083d2778de1bbc5a1498ff8fef4f287e74661b3dba09191692c8fe8c0203e85d43d386f2260cab8233ff58c7a7399954879e14d10e9389f285e6c2cc69ca077e7f056532961c573bf25757eaa2912fbd10fcc16e03818dcdc791528341ef351689510e670fc303696be39fcb9a8d61c6d5b5fc36db1aa78f250d60e859a872fbaaef46b8a81873cdb216438a09409d1a5f627d4be7434f49072b68899bf009cf65e2b3a596490104021dded30b30d1a753e27cf52f883912459bf0b4846193712e101bc2d5c92397d51e2ad04c5bb6558b3db5f6c529a6c532cda25472fc37dd7f780b05ad07e9ceb44c52c46648a7f300363ca4b63f9cdda855ed09bf9ee9d6b05250e984b56689fb87ee58a7116270a6ffb3826339aa6dc945c22b16e21017a4091bd79259ceff82f4521a567c7a0ded227a3ad95cd6bd73de66e5221ae0af5f46ccbe20e7cbd56a2e13397b5a51d9f76463d2becad8b00ccce795b8b99eb8fad951bd51d9a8a82acfd22ac8e4b218d2cf751dac7ae8d74cb7ae1f031e692a93e4eba15985307a826f7ee569c407bda375987f4af81d3ccac06d4caacc59db2d584fc62842e9543575c2f9cafb486ee9fc5e4a0dc8bdd4ae774aea7127d36d98dcd815ef31b15e58d06ecc8526836e1a9181ef4e656b2e0d85ce9ca8ec22d96ba34d38f17b5b7d473a3d4de4f22fda4cdefd2b82a9dc08a60ec82a162a2ed8c79e681031178d9536d1a550f560bcfa783c6083f9926aed41b350e5bc6e8d289a0a7c8fba7a579f49d8fc6cee3ee8831bacf72a0f98e7873a4b558f9b8dcdb751b26fc6e486f3ff6c9b86b945f32fb4a699d9382c5e738d0fa325d14a5495aa321b8469f9402117b4fe4f8b3cb77318bfbbb817262db9eb4dda0a8329ab483560b566d55ba70231555cefde71cb0b106ac2b13cc21d116476869543e9ca35ad6adab5a580735c2ac0ed4de8df77260ca8514c4cace76b441275ab843c3efaa553e7ebd5c1b75110e9d8a3398c0d2b7abaff6c5090e6ebb3f4971b03973deb6a52fbca1775260641a8918ab295b8cb210dd9fcd85c7abbf9831994026623fb5b5c6545eac9c8aeb0e345696c0de7d403d5d07d76bcddecf5e3e2a65495e2dac1cd8cf3e5e1ab0ec88520d97951ffe94ec5e74b9f81d31761d836e7bb9c97da7c8e4948d2524b63641a868bbc9457d6d44b7bd3c92c7594f72f371408972c5544e3800d5bfc4eb0f8974b14f11923da5152f8c7c8a0067920570cb91a082892bf42c071a4d4636296c3255e332fc952a1282f70ecc4a69a64e802564579a77a0fb3014289bdab80b1ec6624d9b2f4cae30f0c0e8bb2b78750a5337ccb56fe0dd9041e6be4e0b2ea59ead6bc2602611b3241c -ss = f3c45beca2b790978e935f9c29788779f13cd4445a2540638bc14d8e3669524c +sk = b27ca8d40a1cf8aac1a62553ff541ef56b4b4e352e38c0ae8c2cb2240c2d2525adc52b1953a1c239e3add71b5f7693196875babf8b31edc528f3b320e6569997639f1c9b5279c38d5ddb3b691b0228ac4480d45077db55bac24285c5820c49be25632c4aaaa23ed84e10a1256d9cca9b584d423a9fd37276cbfc5953c9284a4097bf71706069ac413ab857c64ebd179eb75496170778afd74180d877c9d69e1956450b1289948323f64227960a0b24b442e78c551c5b35e89b34b018b80bd094f7594365195f44c05bacbb2e0a976a86559bd6b23d220b5c900375c6b188fb353c3b064ced669bee6751d5d22659eb89900a92b7ba84eab58b7e95cb8495191ca0491ef75a3abb9469a7939796c2f8c15ca22283235852b0a96daec403c5c057b5ac91d09cb16e01bb0d078170e0ce9596b913e953c5aa67bd8a2ff20c0261ca814f334244886daa0694368293fd858e14e23d13e66ac89a58867574804786c4c48d2fc003336c002a7776217acfe7084588455a0a85b8aa51c33e99b1cdb75541855577911db00475df42168e7a21efe57402303dfe37ab5bf10200395550a1639da2aa8e358748ec38946bbd3dfc27deb08f4f017abe33a2df3b9b96cac0e8c261e487cfff31a1484ca5e04036797cb4fc87ae6cc72f9ec0835ae2b160b425acfa8b75236d92870e4d43bfa7ea5c98827f95db6dd4200068650e3d8812de827c3f660cf8049933daa52793ac10f57ad8f2a7445927ca6022d5a485f9424662a175b2a6349b248aaf4853be709d42228c3ce3b13990794b9698869842b81649cbd9482c2435886441ed9a7927384371d02005a514717abec398bd183b321134a4de85a1fc9b72f7268ccafbae289c15dcec18bc26b81ec43c6b8a3919625165617d60c33f1e6b04cd5492414a15bbca5ce84284557c9cb481a951fa5df2e444e2c20969f38284e60ff15b0ee707115880bc6d3834230c7d22c7cd69229d1eea957f58b2d47b11ca97c926070cf1c1934ef83f5a26241c7c73959c8a0501c2c1c70671987243635fea56ce6ee292b1d6aa26c4cddfaa1751520fc3218e7e20c13c6a1df4835c7d6c0ba45923ceb2ab40fa7fe3732e47ab652309cdf28091d8d86308b73f90d86995220acdd9c544c95fcd24a77e7c90f2f15e52aab595e11b1ac0799a3ca95e0644771420aedc777a9048fa89ce94780c8f2b903548bd46a2c22e453b68736f5cca6c35ebb027c0c7035678f7f69a9ca02fbb4b23746759660251f6757be3aa1767d7280aa75b60a7a0cc892f70f67cda886cfcabb451a36023c688d7ab5e0a3b5bc88514ced3597a594d0e28c7aa25859e57be9fb12691c047a8a7373fe1695ae742027a8f5630cb2776721815742c66a4ba0c7e7e8b8281144b80288cc7296bfc8625a2cb995b548d48294b2fbca97d375b91203392cc27fe835f62db97b14739f6c8b1880a53ddd388e2636f866416817a110258a098d9af4458a64c68654e97099746b9b9e23adab5653970c00719b54e4a2d2092cd7bd62ad9317357e35224184a4e24b4a58014f666b33e1530365070b73aa6da432d04f2588f34ac1cb3b3f7fb4ab200b459966fafc689cc40adad0c26108859a2943e6157c22f9861eee9ce412212bb11bc6c5414e781414711c8c61b29c0f90303dc5688da9d00b78ec8a80a4c5485b67bb83c850d2c0ca56e45a30f35250700469b957fbf90a6a097af95e4cd2060b38f8136b9f493e9c4b6b0395e04a0761834619e5b84ab33c3ceb083b1d268e468158232075f3a821ba286d84002c3757b99474b56820a414131e60636d03ba019fc37e8c63ebdda124a9370935926cbf1950ab83e56f088f36c24ea9a84e042447718220bdc53254708bf85971ed83027750301a685d2a91a652633e2e55cec7932126852d0216f3d943f5acc9ddeab99edab31e79a5bc5c5971f5b5ff6b50a57e2455f45346c3275cc1b1b0db991cf3bbb3d2a2f522a9ee5426556d84c5c0ac7d827a0e173480427ad9f637c1a71a2816858b2c152c33caae1fb5197d874d6f817996946e563c8de22aee6b5735e46ce6912b22f9187f8d75b4d47497d435f91759e1d1168341a48cb5c9fbf19137d397a2a1c75f0e71bc17a88e00837de428ba61b3a1e1c88ffe5a41570cca144a33ae851a3637b6eda83bb2281b6320527e3b22bc08b5aa644402cb674059135d9c928bc4598019722b8af0b647dd3f02d553bc457bc763883288dbc461e775909745317f67017d3ab5ac283d0462167dca55e7452438529dd715f8af6438edb470b816546d078db0ab2588bb56b2c0e06741cfa28c997a128370c1d72221147f0218784633b45207a3b43fbbbb0d0cac41fe70213475e61058cf21797564b0db1a2095cf367b9561ac2681ab8b6ce7d240b5d277169c31eb99a4b68b92b3ed1ce6333b404e8807b32a0b03080664cb9f0987d2ef56308707b46b14f5667b2ace438701cadd7b4026cc5886bb7c0160a9684d5220d422497a9162d84c2500c0bc4d8bf20a904dedabdc56a92f153770aa95244220bbcbbba66aa89823289a2335898f01789e8a845d3b5a22c34c70a6cc7ecc9eb4b65ae0551748734a1244a30a837ace642f020779f6b6cca633e33fac08c51330ee0bf70e8a6ae4a7df0f2be54b10c6e418426c69c212a33b6b897b31630c6928cc4865606ca1f7ce192411c8d4812645c0655e23553b13c6c7c073e0ac92f35465a1b8a505de879998bae71608af9e943b4caa34f248f6dc679d93033b51c53315aae72d843884c83a0a711d009414c215badc32a5f74cfb3179d6ef26818d7c79393b8bc8b8d212092f2250101560cef4abd4132cb31996b85432bf437037d73516927300528763472c0d5cab08294154001c3c7e785f3e887f1baca5fa9498947b691e7a2ed1c9f66f9bd60fa1823e32935515f90234b7613ad5ea3734a6c0a9422a97dc7042a0434a684083e8bbb40d2c4ebc08496a7261eaa269175c2a8a0aef21474dd4837b6b1c7bc112d67a1c175b2634737b43e5475d5ec9a75827f02091dfdaa20fd43cf59922479a671363737ab1cc307225bb4118d1a714ddbc08b770283061762bc098415e1923ecb3e3c92216d30694fb869b514a314db3fe8da5fd4930ed0979011d8b1fc723ab617b6de420482e8b9fe2a3874b788f0416dcd20704c20285247784477385a1cb219313b700284097acbb90976b94a5fd8984bb6b7121bb020e589804281bedcd78c1cf0aa7ab136c7e7afc206983887beb2372784a2c388a18b1dfc5e077703c8eb7f8a966def46225c8b3fd0f85d6e3a328c8c1bcb0b55d0341cdc866e1b040e09c960337a9fcc5c587c393d29e5b4921a9e2377775905aa0ceb54599bcf04421056915cc0d79830eb972c01bd3756270975bd63e224d0f58307ec2986699d5f536ee6c21f5de6844da70b797c8ef5b9a473624c50647d171682f30a2f3fd7c670595243d59487cab8d0a7727d40350f9bb7d984ba82d8cf39e817c8984c17892295e09ff674a684272cc710bffb263bebf1be44665c85530d13f891026790c2c1590ab6159cc22b5ec76057371bba107ffbf402631297c2c59bd05634ba628a7bea14f3985d2b5260fbc64664bc9ee308694f8bb3c4ba1f4ee43dc4eb4beac095b74820a2787aeef612c0c48afd0b20ebec9417b12c7aa50f4fc86558d36fc764c5b69bb4bfab3526d533de0c2e2bc1cdd4b897c9f990e8987bbaf147a0c4428ab68ca077a2a2d3af76261a1f371fdd503f6d9517a8bb0d53499d65208baae23c77580becd252d006bf27bc11b87c19789384f063538448b98188b0dca07328265f4c4b68de438d8420874625bcd12912078056c7db367a1598bf200f39d2a90e12c8dbe7ae4b780c8f5662c78916af1a270db365ca9097a37525ae347961b13b9b72c68dfb7ad7517dfb318d5385b7343a63f5026bee90177ff212bd6b639bb15d7949680ea38336891653d2c5aec083a8873362ea5e6fb4b0b1e19e48c1b90235796ba570aa0a3b1ea6c483d3079c71cd153b246993b86b506e477625b3b939fd9616451b90da9348b87c0201e087a5592a208ac9ab7ca6712758ecf4cf1af163ca3a369e82b46d941b15a42d31f8775e6332387036cc1bb31c5505d52b1a0753098d40b4999a74e4743a73e539d9e7a9514aa5671042a68ba6ef785234622f7440241a55a71f018a09ebab25f7913691bf787b781ef818c8238cfe5cbff3f8895a19c24085337fe10ec7b326da82283f03240a02aaf2658e04f7626da155a9fa8117eb3cf3f36d1e48baa2f68d158a0123691872aa74c64670437534b6dba775f80e14bec0494baeae3c7ae947bd69827e1fb86388052c3bf3f8b4cd25a56840b3a72c164432e6ca838693ef25b30013e5cf56c1e6142828107a10cabdd16956ddb63a495d1afa553a815cf751d711478a39e8d1aaca992796b619c84565cd +m = ac46852132e10665c4983e3829bd9de2adf693cccf572b4ebc5c0a633230b627 +ct = dfefeb85a3e57bdedc316907b03de1c5a3888a71cfc3a8cb6cf8df1167a6edc98db17c6e510087e4986b316a5e28a29d7ea15142792ada40e285a9e92050fe4923f466a7c51ee0e43e7db3da92e4e0f208df2c28bd2d5cb3746ae1e7652547bb47675ddb55c8a4c25648c3910111f86416f97a526389f1460ddc4e39fa2054189214a90626dfe2b13e62ae96f46a6ed1d86200d0565b561f1e8e71c827ffbfad0dd7a5c083383861d5b6b1cdd2142e6e59b1840069d488a53b8f8ec9488172d61bde16d3bfd2e3958a14b546033360c808b6b8d3404676b1f28df826bcd48ee8d214885b4170b65bfb4c693cbe63592d38d54fec4a9c03519acfd258088883960d7717b5a2b8e93bf7dc1b0deef318e45c4a4bbfcc7e7effe8c6b75da1c0ab7b2e133ea3afd991e665f887333ca7ce6cc0bbda08fdfcc5828fa4c429363d93b43e149c1c8c722c770f2851a250b81c8f46a5e53abe18bd408234f40057ba73a6d862c33c6b0409e5a4dffdf1dea33e685eb366a6bb4561c64a2167814259d223ded8a192cc43a2d29993c998634b8fa0281112f9b6c097a26069c90c8a79f767c3089f4996e2e5483c945d6f74ff60fdae085c150d9e9300cc790da54b123496c1d7ae64cafc814d4cbbf6f8290d216ff40902997b9637c5e63a4152004e52134d8a6ba4f0a9d36ef4e5694eb817c33212423dc4dec8275e115cc4cfc9a0aa610b561fa05a72ee891eae2be4946b268e4cef4dce47bd4cb06f4f2a3801e2a39bf65272d0943bbdc6184f809a5c3403e994c48e7f27a5177bb8453f06bbfa35a5e44fe97fa5fb77bb9a9c131239671d95eb233d5072c8d801d216bd8113fa9c70f5771b86971d59fb4976efe7ce15161b7e739f1f236ca859dd2dfdd23ed98ce1ef971d32028e98ee93115b49248aec39e8568e49e50bf06efb986495cafc32b2065b5268b40bb31858028a37b446e7955e16fc9ecd29a6e5e8db18be2d9c45ac7f42ef7abbeabd3544f461287803ba685324cae7a7b3b08a26ee6eb5c75875cbb0336b27e6a2e049633393f710ba861f5123743459a77df02ddc11db670ff6294a1e5aa60811d6820ba25bd5c2a20a703e940ab1f7fc83fa77df47ed94c0f692bd427ad41100415b383e656c2bd490d806982412a686cce116bcf158557921bb2026c0a37b8d1c8e2ffe85f3bd6db02c0f680965fc83128fd0cf6c569eb70421ad92cfd7c8c6f892fb94fdea9e17a82853fc03e771b00908c01dd9e782ce7892e001cd94159c3056f03784b7ea28e49a6fd2e5234c9e6e40a5419eccca101d7583a2874ae11254b1aadff4963b493a8961c25b93dad6229c740c05dce2485dc99496ded365a56439ea0ad2e873cb8c66717ae577a4b4536f10c8c09be2d2245e6fc8d30d5a2d9551f1681e2b797048967cc7e4d034298d544963b477c4b665f0291fa6a1173bbe0cd03546f852396c40490b24329c65d49c0db39f54869fe5f412876e9ccf01433d421829114717f8d19d65befc0f7580e458437d8917aedd0959f9b7e55d7d6d4b5e1377f9566b1fab06020aae87144cc4cf3efcb0072bca110f85bee3e18bbce0d7647c0384c8c29c027b6fe201306646150ecb85f8d08beb21d8aa06f9753721ac680ff03c98420befac4c89aed676d3dcbc662a66afcf1ad791b81131a8047b11af36d7e0f905b297a324f659966ff145f0fe0dcd3021386dd04a6a6b39ca1bd4e28b43524bc1de44131c5b50232ac185f3a9d89307964d859f83f3a9bd93aed91a812337f0a177d5aff47a6fae5693c2bf310c9d63330d2a4515e95fe66a855a436eb881a4e901cc3a307cc280a7d593c9af46436c3374005a3e4b42a4ffc8c6574b577c218ad282c3e5bcd3cfae4fb1c30cb47b9b5f3e0d97738c4cd99f02317a929fca6ee4e2638a90feafe70a922ad24501e115c9274184b4bc3827f6b4e9175a348be30c9ed2fa185a7b556c0ad420933fea936391d72c863b027891ff1f29a322d8ccbe6e0aa009d17748ac64ae2adedfeddb5032554e0cd8a03fd0234578369cc9a29664b67d6b2a554374382d7c3ebde78b8603534f41a53e962d12ec81c9bb08364d72f56874b1a9106da4e5698e8932282d7b2b7af63e07c4e647d8b36fc0d1a5dc729e37fd40eed2c3dac04dda5f402bf4cf7f70571e49faa119c326dc86d8e57ec3d5f9ab6aebd3048c5296b3b76ae55162 +ss = 4b9399fed11d42adc2b7a407b412c73858619c75d8ff3552ee81f10effa17e12 d = 6fb2ec719f2a0dea152bf3f64b9d148f8ab8ba88f64e61f5db53e12d59f52557 -z = 4f797c007e4061f95c7d56cfc7ee5c49e849dde3fea8f25e7876df2a18515c34 +z = d3698490455837fe52948613ee5fc2284f00b130c72334b1d8e68c7b09b2de2e pk = 5fec35aec29b1ce3387af3327d49734cacb798c955b329bc90122ce43c3cd1fbb939518c68d1b044e0ce31863d2eec9607410f0a6b74d40a6f93e7a88442aa0111008d38661241afaf6a2101dca37e83aa4e8747ce884cc1c29725a19510c7688ffa569cebb45dd87fa7772bdd6b6f26e48c5ec93a1d66a2519c571c1b0979e28a82eb9faf136feb21152ed15502521176c9ce3e2ac3f3dc78fc620e151badeb9b400da2029f1b1c2fa70bc8ca232cbb69b0f98a39543b03f67c1544402f518cf5477d6c4baf11f8bf44bb1208ec96082bc260e52d2ebc17c003a7816a5d940cb0bd7329912c4239b2910d27cfd2a48c77501e0586a2b88c99c1da29d0167a88abc35adb5a79c76c89f4c814ba410d9b2da6994c5a78c701ca91f42348454261f6f7a23ec89428630c5a88c9e309d08e8b7e9b353aede6c952e36973a23e9aeb8edd83b256d913b9b64e392936d538a9ab250175544a70796202154350696c9056695d9c0ff730c27ea71f1562a04eac9c7d8b38d551c447362dbb1277e6408a09855d1292956c72b39e802a19573c620a74f996492fa15322bab6342a8f90a747c3a40af020a2afda4d37620100351f3a5086818260592735847a32ea5a4e926c82493c7bcb5b76ffa8562aac97b701a2c5909034a748b9891cb5e430836036cf686d8be47e2cd5559e500ee617ab436306614c4f026c6e57021da6f3356ea54e924799ed6827a1f311c0a340280ac21b110ea33809ce3744ac4539e4e912f4a99066c26d3f047ac87ccdc55529e710517ff042a893848d5acb44191c6057a4659427a7c2345e9005135bb3856733320ca4c031c3b86aa83cda29f40467d5306dc0142132f1a844466abc1b28d94b4d1b98ad5ff80886b38d2a15505e8cc24d9b3273039c2babaf8380568a1136610ba3ce49add830785a1780eb67b6dd628f718ca7f1bcca357a1531999d96556515cb680e153c98281de817ae5f4762c03952c74a8a973993fd778f49c38b59838f793c71bdda96fb8a4007f1069e6378e7f0b4ae2b890dc84294627a10039d7a46b3c705493c6471b3cc9ca2535fb8cb19798b7d4d562ea33869383b28ff7b9462124070a1c17cd4b2bf4a622e054a1cc29bb177048a62ba8fe66fba75cca14048da8a41c2e3a13da8ab593c14d0b295b1b587aff8778823ad2ce3644de2b236bc144aa4c5c2dc697ae3c681ac10b5f53ca1d84334a7908c48bb7f5c93388186860c781bc483b1975219d24677487161b15407e52faf51919beb32b6c3bb1fe993eb15a4af84a64aba7d794252fae6785b1054c24aa6b249840b08b3fd47a275d1a0930b2ca6e8b0d4b498628418af01aec4c049eff55a576123c1e58dafc5b00c2373adb7cd62120b9a69541084100fe44776d3078d66b143b7536888c4128a2a637c66d270c0be49c99f1241a951c413409d16cc653715b88e869216ea42ff505ed71c550848a98315c84550ce83bcc750e4cdb8084f882a29a5a0cb6048b5cea41b9b8c2fb3c949fb928770e411ded9902774b529320f768445349a310c727f2012678f44967f37b0a7cc3d4af05fb285a82ca568e88c87168b14a84b90bc6297bce393aec894d7b464852bbc55f3c85f447980c904bf067f9cf55c756a6967b95bc4a08427a8c9d3aa6ea8913bf47a823f0050de189c7aab2dbb040129f40b5a885caf20281e39c178a79729072ad360876ed670c192912095a01e19af47f11c30a44af6165ecf290f885998b9cb4ffcb1b7d71c7a4c21c0acfc8f9a942b7bb266c49a528a28732f65b4038bb7dc2670ef20cde470bd142a836bea52dc4460c0e01d1ef06e7e7775e9a888cdb8c2e6a6078ba3126572886bb091a14735158b4aeff26a852b6b400698434c61031540fea976b523627e1c11f5e14c5d5c878c607afad79e425b62d5a56530bb6bf889581045cc4839857ea16bd9775aad3609d5287aae66c60f916df54c88e8f291d8019c6a4861d2d68edec96a19e9911a49a043086247b37b8ca9a8c16b8c9147016c9cb2018305de8321f4d0c158fa2452347c78a376f399780e59a5a4e1c8bb793fa14cac662732805146d2ea5cd67196257362922a81e2177ae5289f2bca3d6b2b0168a263c642cf8e2a3ce8577151aba48b828fd70670f45399fb897e85b45aff5f477504df1b1894fee3e6bbf8218590936e0102dce8adf459d590355576e1 -sk = 2735bc066a2488726c89432e56452acb24a2a5407522988c0732ce072128c8d5147c42988f94a8516c77873858394a2bef65b87741c5b9691b6db84e3b1b2b2f851b1305832e4210e5d05710a5bb7195b8bee0cba9b5ba21ba57b962a280565aabe1c9015635cf1a7121a8581fa0a78ab26fc82838b6a405c6fa5d46469136cccc34930664240915ba5c86e67ed9e73f4b123233c92d73bc05408005dcd6cfd62635c3026c990753c55ca8dd385a29b1c79fdb97c0b4cc8f26b28ba573b5194d6bcc065f5b97df702009c43a65eccf452447af91200ef68f18cac25e5c71e62a39fd7a26c6b64b47e29d1e4084801599aba838a3808ed83454b506965507cc6d0b34bb139300d1014168a79d5707c74bbc7b980461249fc31734dc384c9dac4ea6eb4701402084719593b62aae53c8d55719945975cfd25bff31c886640fec37cab3942676c840a453c6751caf16a4743495bcde6528a942a47e7c2d6499b2a872a76e928ef4b0aabbb21604f33231235a7cb47c96d9c976a2aad533a06a24024ad0925007984d99aba3aa8168a8ac92f662348686f756bdc1a23f8537545d13ae9f657caa801788c9368864a05f40af22e33e10705741f06ef577cade6ccbf1d01065565a5b13284690bf611093e45684d6c69fc0f548af852248db6a6e86a2a907c95ce0053fd942a92b024dd18803474b03f73fc022912257454c008d137c5e8404379db2719581af17108a03f58dea58892912c5fab701d28ca845068761f6bab69bbb75584f7d289dd921ab30379248c91106a784738b17cf0044418bb9ce34bcd913bb26d04ca04896109a255a39beba1a2b58490862409e473ca623933ac14c90f64cc74af396c3186917061b5c8c28f3e8b694535fc2c73af9843031c19166d2c8a3a76a2aba45eca36321ba367bd5b176b5c7b8d7b7192c95cf2803e2c3ca5d585c4ea63009c7b850f08759c278f1027c59499526a8b2e494203197a9304022fa0c4e47a3a6fbd8bc59a7c1312a6d19d3063e8078b1a1bff964af48151e4cd3cd87f49bbbe01afa3a5bf46a7f9bc97de729285af35a6a9168683658ee37ba6d9499cbaa8cb44c93beb287ef7cc7b1eb6491154c14fc2027ab49316b70b8237a546090c9687cc70cbfb82208a7f61f63aac1a42961568407343a050b1048967c5334f3542860249ff9c2fac8639ef8c125d0b9fd537fca93c1006a77499658c0286267b910c10b12a6136152bcbc03e782c41b1fe94a000cd974a3a9ade3a3b8b4bb8ed8b403683ab4ea3b84b84c4825f61f99d72eacd894337523c6b6af765bcc99393213938d66b18b2b168d6c73c2eacc42ad22255cd3ac6d75200111c0a6076f02f906b1c96213e80310b8752b1b619e72366f9a0ba4283520333ebf8693f93a7fd6c3560058a8d16cb50b585b3d519e4263b050259a9a0a8823e3cadcd0b81c1ca53820323a9539133c68b0a6cac1fc834b808d9375431f961fe3233c49fc9e88ea1ed0a068a271b502c0a0376a1309f86013b4947bb671c1b048c0905c8ce16d8035c7c05b9cb8755c7d7b6db2907dacc5a91b61b666837f209075e8ac5b86444b49ac878f9b2e18d42e0f791ab7cb7c973ca8e0437f15888916dc5d02f10dae54c86cab52f2b07f023a639288b2491145d56b7ad962840132667c78473e339f99fb9adc722f956165c5a8a8c5ca5622b504a624af6ca26443e776856292851c7f25b983878c9c567523be99bb7568b9a7488b96925a0fbb07e7599448aa98dc112f6cc283e7f57758c1b43eb9a926b2379df6c40e49159985cc4061618425b1d0ab1533bb3f5d03be664b8df86b95ae8918837a4b35023c9926cef826be5645784b33b333b7b0eff9c98a2793d08b2a11512f3e9120bd0b299c6c5b17103b3264964d58c4d9c51cd8f995edb72406cc16452a483786a81c6a45bab840dfa1c9cc978d6d9c3e22c4afbab8265816cbc322abd4e510985520d9fb0ac69702a784734f230847170b532c3dabdc06b762b22c738af9c9308a9b8b3fa6c376464f6c691265b43901561f44d9a1dce88e2d544bda01080fc0b58fac9fb854c9d2e96ae20a9e19b22fd69b6ff88a6bc324514987b039804b71c1c745d77362801847c780922b68a85c17fa750e2ce19f3e7765a785b4603931f9ba815fec35aec29b1ce3387af3327d49734cacb798c955b329bc90122ce43c3cd1fbb939518c68d1b044e0ce31863d2eec9607410f0a6b74d40a6f93e7a88442aa0111008d38661241afaf6a2101dca37e83aa4e8747ce884cc1c29725a19510c7688ffa569cebb45dd87fa7772bdd6b6f26e48c5ec93a1d66a2519c571c1b0979e28a82eb9faf136feb21152ed15502521176c9ce3e2ac3f3dc78fc620e151badeb9b400da2029f1b1c2fa70bc8ca232cbb69b0f98a39543b03f67c1544402f518cf5477d6c4baf11f8bf44bb1208ec96082bc260e52d2ebc17c003a7816a5d940cb0bd7329912c4239b2910d27cfd2a48c77501e0586a2b88c99c1da29d0167a88abc35adb5a79c76c89f4c814ba410d9b2da6994c5a78c701ca91f42348454261f6f7a23ec89428630c5a88c9e309d08e8b7e9b353aede6c952e36973a23e9aeb8edd83b256d913b9b64e392936d538a9ab250175544a70796202154350696c9056695d9c0ff730c27ea71f1562a04eac9c7d8b38d551c447362dbb1277e6408a09855d1292956c72b39e802a19573c620a74f996492fa15322bab6342a8f90a747c3a40af020a2afda4d37620100351f3a5086818260592735847a32ea5a4e926c82493c7bcb5b76ffa8562aac97b701a2c5909034a748b9891cb5e430836036cf686d8be47e2cd5559e500ee617ab436306614c4f026c6e57021da6f3356ea54e924799ed6827a1f311c0a340280ac21b110ea33809ce3744ac4539e4e912f4a99066c26d3f047ac87ccdc55529e710517ff042a893848d5acb44191c6057a4659427a7c2345e9005135bb3856733320ca4c031c3b86aa83cda29f40467d5306dc0142132f1a844466abc1b28d94b4d1b98ad5ff80886b38d2a15505e8cc24d9b3273039c2babaf8380568a1136610ba3ce49add830785a1780eb67b6dd628f718ca7f1bcca357a1531999d96556515cb680e153c98281de817ae5f4762c03952c74a8a973993fd778f49c38b59838f793c71bdda96fb8a4007f1069e6378e7f0b4ae2b890dc84294627a10039d7a46b3c705493c6471b3cc9ca2535fb8cb19798b7d4d562ea33869383b28ff7b9462124070a1c17cd4b2bf4a622e054a1cc29bb177048a62ba8fe66fba75cca14048da8a41c2e3a13da8ab593c14d0b295b1b587aff8778823ad2ce3644de2b236bc144aa4c5c2dc697ae3c681ac10b5f53ca1d84334a7908c48bb7f5c93388186860c781bc483b1975219d24677487161b15407e52faf51919beb32b6c3bb1fe993eb15a4af84a64aba7d794252fae6785b1054c24aa6b249840b08b3fd47a275d1a0930b2ca6e8b0d4b498628418af01aec4c049eff55a576123c1e58dafc5b00c2373adb7cd62120b9a69541084100fe44776d3078d66b143b7536888c4128a2a637c66d270c0be49c99f1241a951c413409d16cc653715b88e869216ea42ff505ed71c550848a98315c84550ce83bcc750e4cdb8084f882a29a5a0cb6048b5cea41b9b8c2fb3c949fb928770e411ded9902774b529320f768445349a310c727f2012678f44967f37b0a7cc3d4af05fb285a82ca568e88c87168b14a84b90bc6297bce393aec894d7b464852bbc55f3c85f447980c904bf067f9cf55c756a6967b95bc4a08427a8c9d3aa6ea8913bf47a823f0050de189c7aab2dbb040129f40b5a885caf20281e39c178a79729072ad360876ed670c192912095a01e19af47f11c30a44af6165ecf290f885998b9cb4ffcb1b7d71c7a4c21c0acfc8f9a942b7bb266c49a528a28732f65b4038bb7dc2670ef20cde470bd142a836bea52dc4460c0e01d1ef06e7e7775e9a888cdb8c2e6a6078ba3126572886bb091a14735158b4aeff26a852b6b400698434c61031540fea976b523627e1c11f5e14c5d5c878c607afad79e425b62d5a56530bb6bf889581045cc4839857ea16bd9775aad3609d5287aae66c60f916df54c88e8f291d8019c6a4861d2d68edec96a19e9911a49a043086247b37b8ca9a8c16b8c9147016c9cb2018305de8321f4d0c158fa2452347c78a376f399780e59a5a4e1c8bb793fa14cac662732805146d2ea5cd67196257362922a81e2177ae5289f2bca3d6b2b0168a263c642cf8e2a3ce8577151aba48b828fd70670f45399fb897e85b45aff5f477504df1b1894fee3e6bbf8218590936e0102dce8adf459d590355576e1f475da2ec982c47d91b24bb5ec6c51910530eec26f38541b173b38927d23c5684f797c007e4061f95c7d56cfc7ee5c49e849dde3fea8f25e7876df2a18515c34 -m = 61ab87659525de9656af41246f20e1dbe85c24e335e7ecf9493f46168bc14e94 -ct = 1185f28d76db31fb292e215fac11d0da3a89a055060396ad4beae2fda78ff79c82806bcec85363fb44b086d483a72e042fe2791dac2ae4029e1ab4037487f0dba66ebf91d71b0e5c79135fdcabcfa6debabd6a32ba4b41f47ab3281641622a63b223ae2975b2101dcdddfc3b69354ee1653059a3768e1883be7a6536657d116865b00e579465879156a6438dee709dec6050ef4a63f05199de05fb0a361a1952e8b0da0302bbc26329b158ced8463cd5b6de8b42d4d8e73fe0ae52e1af2045d365854569df41c4a1fcad76d6b91e6bada09a0e40ff9b4add4ae24c3344b4c2f1c72c1d49f7ce8f3d34fc61e08c571d56da766f48ed996587a668fee50492f9fb41c68882c7b73d861f0ce944c19cd0be1433b2e25aeda3136e634f8ac6ebc58defd744c7800fda307c5e7c3f3214166d454bfb2f9b44667f30931663eaa1b7d94ee6d06bff8f2d2f1e6f472081f9803e5b8d488ca41991c28c9dad2607fe6618c4b6b5039ca68c9ff05219ed338175dc3fe87d11baf46d4ac6b591899af857ceb878d8a695de4efff67934f43e79c5e03e6999929ad321c3bbca4e225ecaff2bea70c5c1e02a8f43bbffb72a4e2e97257c97b0c595fb7223b824064027410c9486390c098f00da2ef8ca29050192d00aed3152664406d7b251012f1240e83604cd5fa61cd8957e5f91c3a8a33efae21d1c9ae76a67f0206888800d5a7cbfc62de2aced6ebf51b2afece8fea8960f20e734da1fe72403cf18521a5034483803f72e07afe7179aaf8906dbdbd91182476c8ea64e54045ae93db5e394b737d3876dc1dcaec40d413301012b0bb81637ae2a872deb5871a526bc161bec733eced6656e6155f2c38b2780426004680cc0027ae23dd2816ed640d5c60115dd47273747dac88fd2a8eb3c876602c61587a04baa0cfbdde7abb4fff64c5fc9917da34c8fcc04f9b646c7dc02bd9fb315d2f661276e23fe2b5146a27ff613645ae37bd17d2227694941f9166c49779f2b3373546d88ac459bee57e0dab10ce430d608455734091ffe09fbe28d1b2c156fe37ddaf2de552e7117b1a4ea15839bbf5331f52797997aa3f36c7549555e8c7aa6a90e30302a2f1afd1029d4afb050e0278510e00ed505c102ad67af0da67ea0e62e7193d3723b920a57fcd11722f57c1eb8ee18cfa464f12175b1e18bba7238bb8f80998ce9989fcb1ed243a240ea4d0e3bf9a1616b529abe919c9d9100d9c61e12fdda3dfb6659e7f1a74ed22b120086cddb5c4646b7d2c84627955023da43db76605396f2520d9fa6c6950be01f6a4bff0e442de8ca592865cc48614e6a0d7e63244b4ff82e189b71627fa313ada7866e296a65a28bc44d27d988690903c3db23c3946084e51335c24722e878a2ef6b1ae60d6aca7c9e3bba236f09c83d8c371cb7426cb0c30ac8d39255214a87edf67cc2d515795be814407f6779bdd7d238f6dda76c8ab7864d5b6d8796800fbf169dccf136c786811e7e0b1416f23e0756c91315a8f8fdcd149c352756e7234e13e41e4b09fcbe6b74af64f7166deb5c6fa14a381bdabb4929282cb8b75ffccdb74c6d4006fb8f10c1e208517b0a04a012eb99b549f7e7db4a0ed740fc213f92bc98439f76ce313e367e43a3be53ae30ef4a34c795a35a268d4136e530e91d5a34167382bb280eb8dbd4ff4637c534dd84f8d1f1c89b10be0d2d1bbd548dc74ef1da1982d9baacbb640c49582c61787da75d5c0a7400f3ae2ab1a9c2d5a824bbd317f7b572f14e7dfa6fcbbdb4d6ea44aa21c61b06dd418ed08b009adc9ec637c1d519b35fa87a2390e81f4ef73a04162d5c4ee14c1be00142cae217f36c7a142979ffff607d38be298873ec143f484bc3ab24ec532896615f9a0201b2c7beddfb8cecfdcdb80165d5be86bb4a6e343c7314dd6f9c9a35d0999db7fb48a8239b9ffc041366435f7cf714525cebd7dc71a3f3c3ecda6bebc3cb583cde6a9608014f5fb5da63bb6f9b1b3bc7b37d3415e772a66c0d18593db990486c2b84245852797551c215d7e95d3dcdf6b7d291db319ea16eb06ce6d2bc3cbfc8b5e160f98f0d31fa90eeb26d3aab8b03de0c775d1f5bfd2f29a4ea10f8eb702ce7922c20e859ebf84a343b4015dc1b42493cc3b818a668c01c104887883276fff199bfacbfb067ebf54f7a4fa3ab81eb3d900b89a7f93daddaa83f8df2a019a614c5c16516c140f572 -ss = e47de232504ea6dfde948d8d46ea93885b2868158f901bb822d9fffc4810955e +sk = 2735bc066a2488726c89432e56452acb24a2a5407522988c0732ce072128c8d5147c42988f94a8516c77873858394a2bef65b87741c5b9691b6db84e3b1b2b2f851b1305832e4210e5d05710a5bb7195b8bee0cba9b5ba21ba57b962a280565aabe1c9015635cf1a7121a8581fa0a78ab26fc82838b6a405c6fa5d46469136cccc34930664240915ba5c86e67ed9e73f4b123233c92d73bc05408005dcd6cfd62635c3026c990753c55ca8dd385a29b1c79fdb97c0b4cc8f26b28ba573b5194d6bcc065f5b97df702009c43a65eccf452447af91200ef68f18cac25e5c71e62a39fd7a26c6b64b47e29d1e4084801599aba838a3808ed83454b506965507cc6d0b34bb139300d1014168a79d5707c74bbc7b980461249fc31734dc384c9dac4ea6eb4701402084719593b62aae53c8d55719945975cfd25bff31c886640fec37cab3942676c840a453c6751caf16a4743495bcde6528a942a47e7c2d6499b2a872a76e928ef4b0aabbb21604f33231235a7cb47c96d9c976a2aad533a06a24024ad0925007984d99aba3aa8168a8ac92f662348686f756bdc1a23f8537545d13ae9f657caa801788c9368864a05f40af22e33e10705741f06ef577cade6ccbf1d01065565a5b13284690bf611093e45684d6c69fc0f548af852248db6a6e86a2a907c95ce0053fd942a92b024dd18803474b03f73fc022912257454c008d137c5e8404379db2719581af17108a03f58dea58892912c5fab701d28ca845068761f6bab69bbb75584f7d289dd921ab30379248c91106a784738b17cf0044418bb9ce34bcd913bb26d04ca04896109a255a39beba1a2b58490862409e473ca623933ac14c90f64cc74af396c3186917061b5c8c28f3e8b694535fc2c73af9843031c19166d2c8a3a76a2aba45eca36321ba367bd5b176b5c7b8d7b7192c95cf2803e2c3ca5d585c4ea63009c7b850f08759c278f1027c59499526a8b2e494203197a9304022fa0c4e47a3a6fbd8bc59a7c1312a6d19d3063e8078b1a1bff964af48151e4cd3cd87f49bbbe01afa3a5bf46a7f9bc97de729285af35a6a9168683658ee37ba6d9499cbaa8cb44c93beb287ef7cc7b1eb6491154c14fc2027ab49316b70b8237a546090c9687cc70cbfb82208a7f61f63aac1a42961568407343a050b1048967c5334f3542860249ff9c2fac8639ef8c125d0b9fd537fca93c1006a77499658c0286267b910c10b12a6136152bcbc03e782c41b1fe94a000cd974a3a9ade3a3b8b4bb8ed8b403683ab4ea3b84b84c4825f61f99d72eacd894337523c6b6af765bcc99393213938d66b18b2b168d6c73c2eacc42ad22255cd3ac6d75200111c0a6076f02f906b1c96213e80310b8752b1b619e72366f9a0ba4283520333ebf8693f93a7fd6c3560058a8d16cb50b585b3d519e4263b050259a9a0a8823e3cadcd0b81c1ca53820323a9539133c68b0a6cac1fc834b808d9375431f961fe3233c49fc9e88ea1ed0a068a271b502c0a0376a1309f86013b4947bb671c1b048c0905c8ce16d8035c7c05b9cb8755c7d7b6db2907dacc5a91b61b666837f209075e8ac5b86444b49ac878f9b2e18d42e0f791ab7cb7c973ca8e0437f15888916dc5d02f10dae54c86cab52f2b07f023a639288b2491145d56b7ad962840132667c78473e339f99fb9adc722f956165c5a8a8c5ca5622b504a624af6ca26443e776856292851c7f25b983878c9c567523be99bb7568b9a7488b96925a0fbb07e7599448aa98dc112f6cc283e7f57758c1b43eb9a926b2379df6c40e49159985cc4061618425b1d0ab1533bb3f5d03be664b8df86b95ae8918837a4b35023c9926cef826be5645784b33b333b7b0eff9c98a2793d08b2a11512f3e9120bd0b299c6c5b17103b3264964d58c4d9c51cd8f995edb72406cc16452a483786a81c6a45bab840dfa1c9cc978d6d9c3e22c4afbab8265816cbc322abd4e510985520d9fb0ac69702a784734f230847170b532c3dabdc06b762b22c738af9c9308a9b8b3fa6c376464f6c691265b43901561f44d9a1dce88e2d544bda01080fc0b58fac9fb854c9d2e96ae20a9e19b22fd69b6ff88a6bc324514987b039804b71c1c745d77362801847c780922b68a85c17fa750e2ce19f3e7765a785b4603931f9ba815fec35aec29b1ce3387af3327d49734cacb798c955b329bc90122ce43c3cd1fbb939518c68d1b044e0ce31863d2eec9607410f0a6b74d40a6f93e7a88442aa0111008d38661241afaf6a2101dca37e83aa4e8747ce884cc1c29725a19510c7688ffa569cebb45dd87fa7772bdd6b6f26e48c5ec93a1d66a2519c571c1b0979e28a82eb9faf136feb21152ed15502521176c9ce3e2ac3f3dc78fc620e151badeb9b400da2029f1b1c2fa70bc8ca232cbb69b0f98a39543b03f67c1544402f518cf5477d6c4baf11f8bf44bb1208ec96082bc260e52d2ebc17c003a7816a5d940cb0bd7329912c4239b2910d27cfd2a48c77501e0586a2b88c99c1da29d0167a88abc35adb5a79c76c89f4c814ba410d9b2da6994c5a78c701ca91f42348454261f6f7a23ec89428630c5a88c9e309d08e8b7e9b353aede6c952e36973a23e9aeb8edd83b256d913b9b64e392936d538a9ab250175544a70796202154350696c9056695d9c0ff730c27ea71f1562a04eac9c7d8b38d551c447362dbb1277e6408a09855d1292956c72b39e802a19573c620a74f996492fa15322bab6342a8f90a747c3a40af020a2afda4d37620100351f3a5086818260592735847a32ea5a4e926c82493c7bcb5b76ffa8562aac97b701a2c5909034a748b9891cb5e430836036cf686d8be47e2cd5559e500ee617ab436306614c4f026c6e57021da6f3356ea54e924799ed6827a1f311c0a340280ac21b110ea33809ce3744ac4539e4e912f4a99066c26d3f047ac87ccdc55529e710517ff042a893848d5acb44191c6057a4659427a7c2345e9005135bb3856733320ca4c031c3b86aa83cda29f40467d5306dc0142132f1a844466abc1b28d94b4d1b98ad5ff80886b38d2a15505e8cc24d9b3273039c2babaf8380568a1136610ba3ce49add830785a1780eb67b6dd628f718ca7f1bcca357a1531999d96556515cb680e153c98281de817ae5f4762c03952c74a8a973993fd778f49c38b59838f793c71bdda96fb8a4007f1069e6378e7f0b4ae2b890dc84294627a10039d7a46b3c705493c6471b3cc9ca2535fb8cb19798b7d4d562ea33869383b28ff7b9462124070a1c17cd4b2bf4a622e054a1cc29bb177048a62ba8fe66fba75cca14048da8a41c2e3a13da8ab593c14d0b295b1b587aff8778823ad2ce3644de2b236bc144aa4c5c2dc697ae3c681ac10b5f53ca1d84334a7908c48bb7f5c93388186860c781bc483b1975219d24677487161b15407e52faf51919beb32b6c3bb1fe993eb15a4af84a64aba7d794252fae6785b1054c24aa6b249840b08b3fd47a275d1a0930b2ca6e8b0d4b498628418af01aec4c049eff55a576123c1e58dafc5b00c2373adb7cd62120b9a69541084100fe44776d3078d66b143b7536888c4128a2a637c66d270c0be49c99f1241a951c413409d16cc653715b88e869216ea42ff505ed71c550848a98315c84550ce83bcc750e4cdb8084f882a29a5a0cb6048b5cea41b9b8c2fb3c949fb928770e411ded9902774b529320f768445349a310c727f2012678f44967f37b0a7cc3d4af05fb285a82ca568e88c87168b14a84b90bc6297bce393aec894d7b464852bbc55f3c85f447980c904bf067f9cf55c756a6967b95bc4a08427a8c9d3aa6ea8913bf47a823f0050de189c7aab2dbb040129f40b5a885caf20281e39c178a79729072ad360876ed670c192912095a01e19af47f11c30a44af6165ecf290f885998b9cb4ffcb1b7d71c7a4c21c0acfc8f9a942b7bb266c49a528a28732f65b4038bb7dc2670ef20cde470bd142a836bea52dc4460c0e01d1ef06e7e7775e9a888cdb8c2e6a6078ba3126572886bb091a14735158b4aeff26a852b6b400698434c61031540fea976b523627e1c11f5e14c5d5c878c607afad79e425b62d5a56530bb6bf889581045cc4839857ea16bd9775aad3609d5287aae66c60f916df54c88e8f291d8019c6a4861d2d68edec96a19e9911a49a043086247b37b8ca9a8c16b8c9147016c9cb2018305de8321f4d0c158fa2452347c78a376f399780e59a5a4e1c8bb793fa14cac662732805146d2ea5cd67196257362922a81e2177ae5289f2bca3d6b2b0168a263c642cf8e2a3ce8577151aba48b828fd70670f45399fb897e85b45aff5f477504df1b1894fee3e6bbf8218590936e0102dce8adf459d590355576e1f475da2ec982c47d91b24bb5ec6c51910530eec26f38541b173b38927d23c568d3698490455837fe52948613ee5fc2284f00b130c72334b1d8e68c7b09b2de2e +m = 1d0144ea8aa44c56c084f3d692d40ee9acca9835f74e2db60116db3669c8ef73 +ct = 5035a8db407366bd04d80bde74e490815f5096101fa7d8b9828909fff86ddaa995949fa4555da8a16fd12131df0fb2a7411d9846557a79e58885223171ac268bfe1e69f6256dc8b00950d325eefe2f6a81511854762a91f784f2e31ff8bb3a224f721e0c64b41c78d29f8d90b5e1585293d86a745bad181d37203401269f8624a8ae8a0607ff53ac8bf6f4bcb9756219f3b593b9fe9fa733bf8ddea3f03f08c1ce104b009df57d5250555a99d49e6a6f40cc64f4454b16dc459fd941f378945e19eee2806ee5ba773bbfa75cbc5ca6439dfc2c6d1db2cb131228dfc3717d8ae1bad4fa5121329775178e1331543dbae70af015d9b7beb90f36bec3ba5062fcf9c0bf9767731e6bda8e4cd54710d54168c893cfcba6af059cb43f77bb5e6629faa33bc588db4222fcfb458521c49025316c06f3ff542552edbe6e65e5821ea4d564225b974d25f27b78af60f2e165e843dd6cb5552df01c29d23381db6cae6ca03db39f528e1f24faddeb0d1f356f4a35b21e48cc503b52afaeee7993995c3ec017f0fb21b76f75b261043bd42dca2567087dee40320b657a381f6275fa054a1bc15acdf1f51f53a23dff82e86dbc0d7e623252529a3469d3c93c3f3ee0700ae8dc0d0a215b3d004b6855ae67b57201391545cc7c68da55134f475699e351cb28d44fd1eaae04d92097566d714434e253048681cefa391c0b33c0729d1f1369909bac4e76ba4e30a24945c4c53aae4b7f5821953b7e727f6f37d6a36c68d0527a865c8ab3e02ca767751935be9dd935951a089b6580df4491afaf9576cf069dfb7c5af167beb234525b4991aa532bb64345a72ddd94c54eb3331dacdd3d9dc3dae130e06eca448c4580d9779d177461459df14752d8c2f741d42ff5baf04e97c056b9a573f903548925408cafe729bcaa237b76426daaf39d70e7a1181168c15a0a94cfd238a3e2d95f46d3e57686d8b37413e021ae69a024a24225c6d87e01520fd0434e8f84185dc0d9027e789577db871a10edaf1ba6dd7a49a0b6e1fcb3769e12f90f6c72ac1e0d38f365043a070213a1b38dfb20f8c8cb7e5705f8a2096ae31449a83d4cf66a3e010db3348d7a13e119c5857290a8173ddb2425748ed2fd364d8a6b7ecdfc204b79c09af4493b7373c56c60e1dfbf2a3d0499a1c66e3df18bce2f2ef40bc71899946428236ef07f3ab3453fbf42da70c608037c1722fd8ef1053b9a9cf85455c48ffdae0679414779e5f9609922b16d0d984f77ebf4feab8700e45b5312a938f1bbfedbc2b69615a6262f28c48ea19c598dcd8e57b229a3f2badcfb3cc431481bddf87778ce668cea9a6e7a7b680ea57bee8e537fc4edd42a1fba6bd8713f6a65f47fe352a2cced78c50e49011604ec6decc9bacd47fc866b153498d0347bb272ab9c401f3744fd4c622be7d4e028429193b63ece754f73def424f3386c2333f9605a3dc330f1f5abde45b843c35575500840c1a0b00100fc0566f93ed294e2ac3ff61c170852232e38cab41939bce7a4101445b0ca7cc6042066d2ae45c1779b4b64c81529bbf338ffb34add7bba79e954723947d067101c38b6cfbadf8e5e99879991da1f9d47f571a3159149a06a07849244eaf797b733d79ba258e0790d3b79815fa087e158952710bbffd6217bb3ec31dc9c88ff8657e1c98a8f6f0481a5d54a9e24a87195b2e7b727c8ca6cc18c334156cb91a6778e0c28c991393fc315464c2650451a87e768d81577298c652cfbd669fb7a7e6380bf72f0a92b2dd5c2d925ea693514a343c83558de4399e6406b3fde3081a4d1816a03ee08acdea36d8413d798cbbe50c07f8b136a918b8133bab96ba04f82331d49dba2ed855b55c0b40c2574c59ad8a6dc13e90d0d6a08eb654334503820beab57bd54c2b9959ba83d4e22ee4aa2af1c68c5d149c78b9d1d1007521626b7c327f885805cbba57b6e6a76056526b35957d1d7f1a2fcb4d456171a6ae29b92cc9674c41c270c414a1dc4a4cc4949b31f54f90e9a949b9d5a3f305adcb03d9b6dc725cfaabd2e7c56e5b850b044d1fb30fe75bd2c2310e7dd6733a3c28bbd0bbec7a6566b2eadea2f92b2906a9558242d438ec1960b49c6bc37e2caa035a305ad04f84f349d131629a0cb23c6863d825a2a2120d8cd48f6d64c267d75c3f5ab42d084a7edaa7bd41324ae4890ff2401cc0ab8c5a7e161552c68051a75d6bbddee +ss = 0807b47ccc3b83052de50b828b05ce56989ea70cf7ebef5ad82b27057d744f59 d = 527fb88c8bd9a4d6031dad15e63878abd2b559e7e08d61f69e8e78fca964ee6a -z = e32d432b4f9f751bde0496c580a181ffed762aa35454a02d3f1f47ee0394c89c +z = 229ef54e776c02586f3f46d723e7932215fb7e09c397d1552cdfe3457241fc30 pk = bc859f23d76da58b31d2677f9de1841e50c263257b04d84419c3892d590b286088e35b9ed4a57257ab09286934a0e63326876eacb60fce3b9642019560a5646f522fbdf34dbfc8599829105222193903c97101a8dd4806788a8ecc223eac5206a8706f38aaa4dfc87181ab07e37bc3106590fe18996e5b88fda7af242aa56e42cac7113392317604cc89e1f067896755ead0cbfa201775329d2c8804f485cf61cabfe35a33cfbba7d2426ad2f59a98625315633b0424ab2f2326fa8488fa92895ee08edbf32f6e318dd22a5719d3c4782bc1787873e93773b310ca9b036680ba69acd75036952a330abbedfc5477545ae7b09b6f3467a900083d4677c6b5c0dcdb9886f26b1c9b6e180b8f5020ae1a68b9ecc3a154a084a365a9035841700966cca311c09b13fdeb4da6517c9c3a9c3cd9c336607a53f1972856b161b2878c5689e8ea7124cb768fb48efd92489a1bb3660422bcf72ccbbcbf0d7383ef47586863870620c025d6b65cd5c861234194448a021417cd28474743a5f9d34c3cb6af9af96a332a3ca21caecdd89939395997a39466b528b2fa2eafc943b861c78666a94e1091efe4ae69010f0a139cd9984be6f23a237cbc1345a53fb0489fec34ceba3874f631f4a34598a7bee966225e2b251ada212b9365bfa2613bc4b2e0962493c0c461361fe555ad61bc6dd54b844114781fd37291b7c3e7090cea1a20c86b3637011493332925f503b4ac6fb625ca41601995869443da8d82b81412012dcfe22eba66072a9cbf65f34294b4c85ffabcac3358fd6193c8dc1706c05e123b10445baa34c6616863807551bd33546ed39112f49c371ad31c82ea6db593a173884d005a0a5184417d5a16ec87225bac3728530ea21913b6b05283a4c078950ca84b73e417cd1878b1ac9388241c3e006d5c0b1148db78b319293707d92210622cce348e5c0572ecd7718bec7f6c644680bb2a6bba55d412776303b8b5cc2603356a7f685095da747a3480dae39537780188e264efb88bdb8c82cfaab5586b3629410bdf2274e8e2b76673c700c45fdef297778cb8dbc4bcec24c349170b39f96a5e3c6ee7d1c8da58357398a5f0202743339aa7eb74e0a5b8542909c29a8337e6083e3663df918c6a85246769b01403bb24c25c27dc8a4841166a86698eec30f049a80f786f6fa29cc8f7414517429f4aa76421cc8cab09874bae0f9999f0a846fa742d8d087bcd929d42e89f994ba2d421058b429e24c753436b908833c2b4365047da4825eba955e9c5de3a02c11c3c8e214416f2a8efe6b3ad033bc9acb992d77d8d340c69cb97cd59c7a5b127c6b46a51267b2471031166815c105914590c2aebaee9a9286d7c7d10b42c80077ddab4ba9baac51fd2512b481d1b1713ad4136b1a4a375959710a156fdeccce7a2c7dbf2ce57a9520b7c9509075bee4c5f4e3a2b45a748bfe210c88ba484556299511c10f762c162bd0114433dd1913f628540571c04f79490c30ade20434341b59e2bc66f489058d0aa2f14575942299783caf2e7b40d2a7bc10a150a6b0b1fa2a8ffb9631909bfc41c911a269859e458b7c36704e3b552ec8276e855c95b25066a85d1896123db2297a75fdaa015a60942ec7266f8d00511a1603fcb2e6d533e3fc7c126d2753b9704ed2c5608a226cff698a8fa53f9746eeab1c51796be3c013c44f0ad8ec2037e75369877c4d63a1fba7ac534f4b6852068ab973e1d9b96be70cc21659971c90aa7793e51a517f3108a2ff24fd3541cbb89b75786a546b346ddc92ab5eb93227057f0fb76e1554c0cf19bf0d08e33fb1abcfb71c1a0779a91a42af586cb27a9304a75e9604211640be36739fde51f2d9107fec20fbce665a45a1aeb76403958b94f23abe59c315ce9699203681167c379ac3f0f956070d73caba5bdf50c153e941158f2202de5857b834e3e553f7945398bcc70ee00cce8ec15296b2364393085f2821d36ce6f04b0b336bba762c387c69280bb4fff179eef54b925d99176167f4f916e2bfcb945a1bab4e5398a03c17c79992848bdefac5fae4667d37c75bae231d424381c39722fba787765b3005699b7b08d2785805d476679e29372b619e3568eb263c2aad8c891ca561271cb5868b5971445e1cc2e2f1a11e44c0a798c37250ca802eb4502d86db3cd5d09045252960a068412f1bd67b83a217049d0685ec3d63d691559a327b2 -sk = a680635121c694ac4672c809bb3b913e8ca2f659c756db1d7bb2369f41ab4ac9b3f5141216f3c997b00dcde37352d46463f371fec14b26aab239498d44975f787504815552e727329dd78428f5568b912c76b572ad9b3d335a9f5bc0283c76aef8d81369a0ceb4523bdc4bb0607c29d9998962f76b217774d74a3453a61ff1f40f89a51365212f39a07e913824bf36b6dbf6c8934014dd8716e998a982b124aed8b082c3a2998708bc1c4733773b73e0be315203e8e264a032797280ca0ab023a9d81fbf0565f491837cf031e219084b640ee8710589e05e1701870bdb7bf0b0bb539a0b3ab0028447110288c1d7d83f89578413a46b0b04406657b4e7e5a6d04bbb91055becc8ab907ca9647c4b8b144045b6cabcb974a47a35308a23e9c9281c61c556ec148c9a663ad9518cea36aaec71b6995110fc01cb66b75e128478280fcd31a3416a12e28c15ba617574730437da8bdfb86b58d88c789c4f9e23adcee53b170c6a0b80033ad52cfe1a155ea1a568f5b2ef77ab74878e0ce42a1f7c3c845713d17105ab2c91b83836e11b9858a66997b22e8a67682588ca78e6b6d736298ee34b100bce61e0ad921a9f020a7032351daed655d35b3659a96b32db9e68d882fc986da904408a98c469a84cd29cc999b2b071f84c921c585b9b3233c5bedf82637bb1253a4b29b36b42b54751dc629a215656aa1890c0c56e0cb62a3c02252b771d72375a60374bf8d84552080e0d456579930b3f2a2a3b7913c031112fabacaef75bb2da5202d7671359282cb4707b52740d9ca06ab7034b48a292404d26b6cfd08c8b0da61550044069f4cf27488c028001f2c29292840b60b321de5cbdef1ca216838091c3172ed26d141c957dd93bb6a59d9e883640d87a2a85605a9730dd5333843805374b58747c7262d5a65ef442d6843deb731c943269b4a9bf00f39b4a3847840c1bf4b9907fd7b9a66c5da724cec467102f080d4d0bc519d0b2504a05f7207edce7398d009348f64267e01b0ec207780791942565aeb061bf03719d706f87953c4757a75a126ead15c6c9447c02938c3b75a58ab25ce65a5caa21898fa8050319880223899f5546e0d253df7950691b86f8e3115438c3b80cc2e7a6178a96a0f38a0cc47394be36c9b0721580d646a89b9327210d40728f4bc4adbd8b130eecccf528a5a09595f32c0f64e602f6898b8a4c82d79a8ed31c4172a7812c295c93841929b782b334490eeaa38c17cb4e77664306bc7b01726ec656e24311c51b0524c72f0745665d43073604c59ec88df6fc9ee2f2a0476079bcfb735e562f57e2b0e1987a0220c98f0b4cdebc70f93ca709c5c2fac7098a7b866662accdf09c85974d7c88ce9afb01f48276ee320d70c7c0e15950fc0775e13173b60555a470302d0a0047260e5cf85ea2f3c326968d3c308c15eb400b13bcaaa65ebf941ef59a069ba0bd3d00841b6124574303ba8c2bc9f90f107865882c18eba462f6b09eaee05796e43a8647c59c64b7a8db9c0941299280af728b872c303755b682a3ec10c5876f040543bba028e870c02a4312aee9cf2bd1302df80bd0facbd0765a778a7fa2d3a4c9675965d6799fc7bd4e28a4e2a53948790234f62be0f0af0cb460f782a85d7488c0b9706de1c667f41bd67b9d43fc33647bcfd1e5bb6e2aa92e653764640a6d59a8271bb278160c9a153c98247b376069cdf349ef76c20a8867892258c21923621a4828a39fc6b72443a467a4590bcb0295af866f04791b005d0659143c54a4295cc883db27ca9c5190388b84f8e41aa85924e73025a7b7932d834074a39aeb92ba5079cb6ba77a94fa2f7d305e6421cdd093582868b1e7b90348e04875b837466a174923acf40972abe89a77fbcc32810a0e400a5d0c1e57e62ad581204db84b63d522cfb6423429647cd32544339101db3ce037c15ff6c26fc012d2dc05b76a35c5fca7ad284ad04b4696807c95e0c9abd0228487493244a86d713a4b4b13978c538ee77414b354b30548fea56395220fa60467249b13c59a50c20888ae5998afd287a8c1179dfa5610f5987f6021043b7cf6d749e3ac2fd6d58b3e9c78f5ea88d0c691bd2544aa591407484cd638864bfa49ae75bbe2143216c1aa76278cc3ba3f95b413ede648d883b825039d2aaa1539173dbc859f23d76da58b31d2677f9de1841e50c263257b04d84419c3892d590b286088e35b9ed4a57257ab09286934a0e63326876eacb60fce3b9642019560a5646f522fbdf34dbfc8599829105222193903c97101a8dd4806788a8ecc223eac5206a8706f38aaa4dfc87181ab07e37bc3106590fe18996e5b88fda7af242aa56e42cac7113392317604cc89e1f067896755ead0cbfa201775329d2c8804f485cf61cabfe35a33cfbba7d2426ad2f59a98625315633b0424ab2f2326fa8488fa92895ee08edbf32f6e318dd22a5719d3c4782bc1787873e93773b310ca9b036680ba69acd75036952a330abbedfc5477545ae7b09b6f3467a900083d4677c6b5c0dcdb9886f26b1c9b6e180b8f5020ae1a68b9ecc3a154a084a365a9035841700966cca311c09b13fdeb4da6517c9c3a9c3cd9c336607a53f1972856b161b2878c5689e8ea7124cb768fb48efd92489a1bb3660422bcf72ccbbcbf0d7383ef47586863870620c025d6b65cd5c861234194448a021417cd28474743a5f9d34c3cb6af9af96a332a3ca21caecdd89939395997a39466b528b2fa2eafc943b861c78666a94e1091efe4ae69010f0a139cd9984be6f23a237cbc1345a53fb0489fec34ceba3874f631f4a34598a7bee966225e2b251ada212b9365bfa2613bc4b2e0962493c0c461361fe555ad61bc6dd54b844114781fd37291b7c3e7090cea1a20c86b3637011493332925f503b4ac6fb625ca41601995869443da8d82b81412012dcfe22eba66072a9cbf65f34294b4c85ffabcac3358fd6193c8dc1706c05e123b10445baa34c6616863807551bd33546ed39112f49c371ad31c82ea6db593a173884d005a0a5184417d5a16ec87225bac3728530ea21913b6b05283a4c078950ca84b73e417cd1878b1ac9388241c3e006d5c0b1148db78b319293707d92210622cce348e5c0572ecd7718bec7f6c644680bb2a6bba55d412776303b8b5cc2603356a7f685095da747a3480dae39537780188e264efb88bdb8c82cfaab5586b3629410bdf2274e8e2b76673c700c45fdef297778cb8dbc4bcec24c349170b39f96a5e3c6ee7d1c8da58357398a5f0202743339aa7eb74e0a5b8542909c29a8337e6083e3663df918c6a85246769b01403bb24c25c27dc8a4841166a86698eec30f049a80f786f6fa29cc8f7414517429f4aa76421cc8cab09874bae0f9999f0a846fa742d8d087bcd929d42e89f994ba2d421058b429e24c753436b908833c2b4365047da4825eba955e9c5de3a02c11c3c8e214416f2a8efe6b3ad033bc9acb992d77d8d340c69cb97cd59c7a5b127c6b46a51267b2471031166815c105914590c2aebaee9a9286d7c7d10b42c80077ddab4ba9baac51fd2512b481d1b1713ad4136b1a4a375959710a156fdeccce7a2c7dbf2ce57a9520b7c9509075bee4c5f4e3a2b45a748bfe210c88ba484556299511c10f762c162bd0114433dd1913f628540571c04f79490c30ade20434341b59e2bc66f489058d0aa2f14575942299783caf2e7b40d2a7bc10a150a6b0b1fa2a8ffb9631909bfc41c911a269859e458b7c36704e3b552ec8276e855c95b25066a85d1896123db2297a75fdaa015a60942ec7266f8d00511a1603fcb2e6d533e3fc7c126d2753b9704ed2c5608a226cff698a8fa53f9746eeab1c51796be3c013c44f0ad8ec2037e75369877c4d63a1fba7ac534f4b6852068ab973e1d9b96be70cc21659971c90aa7793e51a517f3108a2ff24fd3541cbb89b75786a546b346ddc92ab5eb93227057f0fb76e1554c0cf19bf0d08e33fb1abcfb71c1a0779a91a42af586cb27a9304a75e9604211640be36739fde51f2d9107fec20fbce665a45a1aeb76403958b94f23abe59c315ce9699203681167c379ac3f0f956070d73caba5bdf50c153e941158f2202de5857b834e3e553f7945398bcc70ee00cce8ec15296b2364393085f2821d36ce6f04b0b336bba762c387c69280bb4fff179eef54b925d99176167f4f916e2bfcb945a1bab4e5398a03c17c79992848bdefac5fae4667d37c75bae231d424381c39722fba787765b3005699b7b08d2785805d476679e29372b619e3568eb263c2aad8c891ca561271cb5868b5971445e1cc2e2f1a11e44c0a798c37250ca802eb4502d86db3cd5d09045252960a068412f1bd67b83a217049d0685ec3d63d691559a327b22b22f73a770cbdb80da84f97f27a14c5df5b3372d52503d3a20c3cb2bea8b404e32d432b4f9f751bde0496c580a181ffed762aa35454a02d3f1f47ee0394c89c -m = eca2adc3da1fb15f34033405ec08ef2f46163df4bfcccf8842c600ce0bc2026c -ct = 30cc4afdee231bf3c7525b0286ab77394ee25c1a699df2e07ab289feae4141ea73b42b98374b549a4472c127d6041e3ac9f2f0925e5f0f8bf2251027eb3d51759a1fce736d2b79f464a5994a04f6652f531470556f164dbacb8edac552adabe215675de18af62257161290ba9fd5df72fded7fef4243fe9ab60de5123f28d135b23f3b15c5c56b61facbf542b3f418d80b6598866eee6d9ff30e09ff03ddcb6aa7e6b4419e6f1494751b538b98aa88e1a03ba79fe85ebbfe34452fc313171185d61fa13dc5664b370ab45bba9e046f26204acce79e7c708b00cc48884e9b3de9795469a040514c8db527dcfeff4f390d340e9cd423731cbfeda1b5b36f82c1570917b850c3f6aec02f4f7e6598cb48dd642d28e82de51ab74afdeac1e4f969c167ba41be8a4eac34bb11de018177d9de450b91f96030b71f5b68cdcf511e6646edc63ef3887ca2e4bdc74677b6509920c796b6f0decce7237ee9db45f647901331b72243b48928f10940be5a297db7da7dd04b3f41715d7fc9455a87cf1ff1657330b0393ad514d8abd57b991f33795b21837b942663c8748929fa6370102383ae07ec87cf9d8c26118904535ae591389e3b3143f94ac3d893a6d9e9e34990638ec34cee33b2e10de23cfbc71d5e64a882ff245dc428cad2f669716d40e494298f1b4f87853a52c21d247814c7e7f3ef002bf688b3228c2582f64eec563e1f31aa3d1de002e5dc14566543ce4a4fae1546ddec65ca864e3196220e89ae017b61b8ca66c5cf03cf11f41ae791c382090488c01ba54f7de4755b315bbcb1431c0331d9a76a85392aa324e8f870b6d6784411b7aefdf41364c470ea205ce67119382c7d6fba7677ad6ed6775f5f16a0cf14595a6bab0aa4e1b6632b777435e3d2923cef150c668a93932599fc10c36f45a6d62416ac6d1b2b8e6caf0851f8e2f9b9b65d8c8d28ff300b8cd7bcc8f9bbfcccc5831009fc8388f045b85731a8056d75603afada389d765f1f5fbb62f7e4d975d2eeb87d4ef06d3f377232e1e394b336a2af31a5d0342881c52942d115bd1d728f5216da6c75d7f9dd5b2d3840f98817a39b73e5acc9ae06d56766c2e5b231085891a714ca125c8e26ce030a377d1d25147acb1636f3b8ff9612fdaec8ba23a860a9c86765355451f3eecfaacb613dc80cd3064504eaa51240f37d200e628cf001cfafdd4b9661974b514266fb34ce8858ef2e0ce8cfacc7229cd98dac54a7937b94123cdf790cb0cfc3877c02378647130334b2771d4accf712d051be8b4239ae71b5bea1617ceea812a96741d410311410508e8fc0570bfbea1a4984e0a14b0fd2b4891bb72210e6516e59c486a14d779e222c5ddf478c23d53a335715f4962439295ba00f741e3c2db5503a993cb9cb0b2103814c37c4df541e6bfe24bf73a8b22bddf6724c9011baf63306d72ab4ae9cc10343d48e9c7b9b9fa3af241873efd7a409f18d08aa54028b22e23b0542c3ae92429653d1008af1daaa92c885104cbab3991a3e46a6bb88ef78b5f196408e354d1b3ce74de20f47f202d192be0589c91ee09dfe4fa26d8ddaf11e79a3e7fc4d30db750965f65efc28c45db92c5ae974511943d9d2809afd442ba0e3315ad147fda9f8b6cbd83f1489f89d7d44f4a3aa5a663b4bfd221fa2c270d2bd10c596c6baf8594d41e184ba0ec60a3764774020b57a0dd3dd3a1246f8d27ffd7ae30ef2b6d97915313245e02458c8dc07ce4c31bc889619123604debf84e32ea6fc24554382f008f2fd45ba0641ff0f8c37d61f6093e252808ad8d6c8d1a8ca7fea95276dd47ee11d72f1e50342f9e8bb8027b844270146d9ad40ccd71d89390067289894f1aed973b3566faa63e5bb436f7f88ca26880f29f2e673c52089e74b3a364a97efdcfaa015cc861ed8022727b294e9a0119c6ff355ec57ded9c7f5f829ad8d36884c19de8a3f07429c59f6c34adc27741384578c696c71503a4e86fd28dc2de69d51429c092fdada73818bb98ccffd980c200711386639d30507fb6e12b296ec923f370a7ef2380e961eb125fb0e9922012f166fd1bc7b8499ec2091cbca9e7a641e0e9151bdf82d80b563d27d2ae29d1552571ac8f474383f6cca42d3e6e32ba2a62be63acdb0cc80f9b591d2f5515a9fe3607fbec56e68bd75338699822d70c845997b0e0618c94bb45da030faaf7c79a145f73db522e28c07ab68be -ss = 270ffecb37cbbb1b6fc3bdfff6c2fe3a9236ec243dec61e051fe42ab9e43e757 +sk = a680635121c694ac4672c809bb3b913e8ca2f659c756db1d7bb2369f41ab4ac9b3f5141216f3c997b00dcde37352d46463f371fec14b26aab239498d44975f787504815552e727329dd78428f5568b912c76b572ad9b3d335a9f5bc0283c76aef8d81369a0ceb4523bdc4bb0607c29d9998962f76b217774d74a3453a61ff1f40f89a51365212f39a07e913824bf36b6dbf6c8934014dd8716e998a982b124aed8b082c3a2998708bc1c4733773b73e0be315203e8e264a032797280ca0ab023a9d81fbf0565f491837cf031e219084b640ee8710589e05e1701870bdb7bf0b0bb539a0b3ab0028447110288c1d7d83f89578413a46b0b04406657b4e7e5a6d04bbb91055becc8ab907ca9647c4b8b144045b6cabcb974a47a35308a23e9c9281c61c556ec148c9a663ad9518cea36aaec71b6995110fc01cb66b75e128478280fcd31a3416a12e28c15ba617574730437da8bdfb86b58d88c789c4f9e23adcee53b170c6a0b80033ad52cfe1a155ea1a568f5b2ef77ab74878e0ce42a1f7c3c845713d17105ab2c91b83836e11b9858a66997b22e8a67682588ca78e6b6d736298ee34b100bce61e0ad921a9f020a7032351daed655d35b3659a96b32db9e68d882fc986da904408a98c469a84cd29cc999b2b071f84c921c585b9b3233c5bedf82637bb1253a4b29b36b42b54751dc629a215656aa1890c0c56e0cb62a3c02252b771d72375a60374bf8d84552080e0d456579930b3f2a2a3b7913c031112fabacaef75bb2da5202d7671359282cb4707b52740d9ca06ab7034b48a292404d26b6cfd08c8b0da61550044069f4cf27488c028001f2c29292840b60b321de5cbdef1ca216838091c3172ed26d141c957dd93bb6a59d9e883640d87a2a85605a9730dd5333843805374b58747c7262d5a65ef442d6843deb731c943269b4a9bf00f39b4a3847840c1bf4b9907fd7b9a66c5da724cec467102f080d4d0bc519d0b2504a05f7207edce7398d009348f64267e01b0ec207780791942565aeb061bf03719d706f87953c4757a75a126ead15c6c9447c02938c3b75a58ab25ce65a5caa21898fa8050319880223899f5546e0d253df7950691b86f8e3115438c3b80cc2e7a6178a96a0f38a0cc47394be36c9b0721580d646a89b9327210d40728f4bc4adbd8b130eecccf528a5a09595f32c0f64e602f6898b8a4c82d79a8ed31c4172a7812c295c93841929b782b334490eeaa38c17cb4e77664306bc7b01726ec656e24311c51b0524c72f0745665d43073604c59ec88df6fc9ee2f2a0476079bcfb735e562f57e2b0e1987a0220c98f0b4cdebc70f93ca709c5c2fac7098a7b866662accdf09c85974d7c88ce9afb01f48276ee320d70c7c0e15950fc0775e13173b60555a470302d0a0047260e5cf85ea2f3c326968d3c308c15eb400b13bcaaa65ebf941ef59a069ba0bd3d00841b6124574303ba8c2bc9f90f107865882c18eba462f6b09eaee05796e43a8647c59c64b7a8db9c0941299280af728b872c303755b682a3ec10c5876f040543bba028e870c02a4312aee9cf2bd1302df80bd0facbd0765a778a7fa2d3a4c9675965d6799fc7bd4e28a4e2a53948790234f62be0f0af0cb460f782a85d7488c0b9706de1c667f41bd67b9d43fc33647bcfd1e5bb6e2aa92e653764640a6d59a8271bb278160c9a153c98247b376069cdf349ef76c20a8867892258c21923621a4828a39fc6b72443a467a4590bcb0295af866f04791b005d0659143c54a4295cc883db27ca9c5190388b84f8e41aa85924e73025a7b7932d834074a39aeb92ba5079cb6ba77a94fa2f7d305e6421cdd093582868b1e7b90348e04875b837466a174923acf40972abe89a77fbcc32810a0e400a5d0c1e57e62ad581204db84b63d522cfb6423429647cd32544339101db3ce037c15ff6c26fc012d2dc05b76a35c5fca7ad284ad04b4696807c95e0c9abd0228487493244a86d713a4b4b13978c538ee77414b354b30548fea56395220fa60467249b13c59a50c20888ae5998afd287a8c1179dfa5610f5987f6021043b7cf6d749e3ac2fd6d58b3e9c78f5ea88d0c691bd2544aa591407484cd638864bfa49ae75bbe2143216c1aa76278cc3ba3f95b413ede648d883b825039d2aaa1539173dbc859f23d76da58b31d2677f9de1841e50c263257b04d84419c3892d590b286088e35b9ed4a57257ab09286934a0e63326876eacb60fce3b9642019560a5646f522fbdf34dbfc8599829105222193903c97101a8dd4806788a8ecc223eac5206a8706f38aaa4dfc87181ab07e37bc3106590fe18996e5b88fda7af242aa56e42cac7113392317604cc89e1f067896755ead0cbfa201775329d2c8804f485cf61cabfe35a33cfbba7d2426ad2f59a98625315633b0424ab2f2326fa8488fa92895ee08edbf32f6e318dd22a5719d3c4782bc1787873e93773b310ca9b036680ba69acd75036952a330abbedfc5477545ae7b09b6f3467a900083d4677c6b5c0dcdb9886f26b1c9b6e180b8f5020ae1a68b9ecc3a154a084a365a9035841700966cca311c09b13fdeb4da6517c9c3a9c3cd9c336607a53f1972856b161b2878c5689e8ea7124cb768fb48efd92489a1bb3660422bcf72ccbbcbf0d7383ef47586863870620c025d6b65cd5c861234194448a021417cd28474743a5f9d34c3cb6af9af96a332a3ca21caecdd89939395997a39466b528b2fa2eafc943b861c78666a94e1091efe4ae69010f0a139cd9984be6f23a237cbc1345a53fb0489fec34ceba3874f631f4a34598a7bee966225e2b251ada212b9365bfa2613bc4b2e0962493c0c461361fe555ad61bc6dd54b844114781fd37291b7c3e7090cea1a20c86b3637011493332925f503b4ac6fb625ca41601995869443da8d82b81412012dcfe22eba66072a9cbf65f34294b4c85ffabcac3358fd6193c8dc1706c05e123b10445baa34c6616863807551bd33546ed39112f49c371ad31c82ea6db593a173884d005a0a5184417d5a16ec87225bac3728530ea21913b6b05283a4c078950ca84b73e417cd1878b1ac9388241c3e006d5c0b1148db78b319293707d92210622cce348e5c0572ecd7718bec7f6c644680bb2a6bba55d412776303b8b5cc2603356a7f685095da747a3480dae39537780188e264efb88bdb8c82cfaab5586b3629410bdf2274e8e2b76673c700c45fdef297778cb8dbc4bcec24c349170b39f96a5e3c6ee7d1c8da58357398a5f0202743339aa7eb74e0a5b8542909c29a8337e6083e3663df918c6a85246769b01403bb24c25c27dc8a4841166a86698eec30f049a80f786f6fa29cc8f7414517429f4aa76421cc8cab09874bae0f9999f0a846fa742d8d087bcd929d42e89f994ba2d421058b429e24c753436b908833c2b4365047da4825eba955e9c5de3a02c11c3c8e214416f2a8efe6b3ad033bc9acb992d77d8d340c69cb97cd59c7a5b127c6b46a51267b2471031166815c105914590c2aebaee9a9286d7c7d10b42c80077ddab4ba9baac51fd2512b481d1b1713ad4136b1a4a375959710a156fdeccce7a2c7dbf2ce57a9520b7c9509075bee4c5f4e3a2b45a748bfe210c88ba484556299511c10f762c162bd0114433dd1913f628540571c04f79490c30ade20434341b59e2bc66f489058d0aa2f14575942299783caf2e7b40d2a7bc10a150a6b0b1fa2a8ffb9631909bfc41c911a269859e458b7c36704e3b552ec8276e855c95b25066a85d1896123db2297a75fdaa015a60942ec7266f8d00511a1603fcb2e6d533e3fc7c126d2753b9704ed2c5608a226cff698a8fa53f9746eeab1c51796be3c013c44f0ad8ec2037e75369877c4d63a1fba7ac534f4b6852068ab973e1d9b96be70cc21659971c90aa7793e51a517f3108a2ff24fd3541cbb89b75786a546b346ddc92ab5eb93227057f0fb76e1554c0cf19bf0d08e33fb1abcfb71c1a0779a91a42af586cb27a9304a75e9604211640be36739fde51f2d9107fec20fbce665a45a1aeb76403958b94f23abe59c315ce9699203681167c379ac3f0f956070d73caba5bdf50c153e941158f2202de5857b834e3e553f7945398bcc70ee00cce8ec15296b2364393085f2821d36ce6f04b0b336bba762c387c69280bb4fff179eef54b925d99176167f4f916e2bfcb945a1bab4e5398a03c17c79992848bdefac5fae4667d37c75bae231d424381c39722fba787765b3005699b7b08d2785805d476679e29372b619e3568eb263c2aad8c891ca561271cb5868b5971445e1cc2e2f1a11e44c0a798c37250ca802eb4502d86db3cd5d09045252960a068412f1bd67b83a217049d0685ec3d63d691559a327b22b22f73a770cbdb80da84f97f27a14c5df5b3372d52503d3a20c3cb2bea8b404229ef54e776c02586f3f46d723e7932215fb7e09c397d1552cdfe3457241fc30 +m = 1407c5b3005f98c64400fe2201f1a2b77b378fbc8141f175ab2d1c2a58846693 +ct = af4a1549ea7648c3b1d2ccd87943af70b875d553a4b2c4f9853b408fa4beae90b33f330253943df81a8921e795ac6b24015d2e8a2b8fbb5293a8c96dd446aa707b19373bc26a632190fd96eb60768a14b60cb0313ba0aa960f621946c81c8a7e2bda3c1155cc76048028137b2ddf3c3c79b930682994c409b4d91cf26e955bca8aee4e460b674479c68529e91b5e04e6e5c1ddce504c116b571f1bbd9012c8447f6646326dc94e49981fe3452119146b33fd7f64ff52d252e3116d28aecd9798cc1e716c5d3e3d37d2cd15d334a4b121d0858e80b703053a2a17d3c170f67123dbbcbb2a2ddc8a1b6b90f4e66c2828f675a4cb2bd0cc8c22b22ea8900bb862c8479ec1336fe62307e9c661064cfbc77f70055f07deae7baf9bfb7547ddceba13c63180150168d6c0f7b16ca53a208c1d5974e82ac948a118b5e972ef8629e2afb0d0a829fc9cdc3fbe7ed71a22ad2c96756c3e71ba5242b7a178e4bbbc88e5bf50b6dec71476792479fdf5dda9d120d6e520c1bd9703b41d972f8f1fe7a40b49a910dc6eb568adaaa04c221e8e24540552cf13356b03c72232b765e131781bd9f307277c8148ac82dfbe0e32fbefa1a41bf74832c0e1b22ef419bb1efd2db7a23e4bf7c42d11c88f7984f39e3bb34ab7bfb2a2dec313d4b4203814f4a070b505f17fc5ead07ee110653eed7d3ed96a75a2989b793df72db078f34e318baae59e5263c131ab42915e5ef535c564a47a9617cd7278ce10d4580c5426b9c10c76107a262b17144fb12238201f31583a36e1d2845472f4ab522560f5a1a732be8fc03e007de7f168745ffded1f00e9caa55dfd2d969f5e439ad98f08d0bf6a897602ea5b57618ec0566166a1c314904392a490f9454ea13b7ba5534fa2582fc9e1d20c96ce248bf0067f9e02fee30b5f2e26e425453f1a76401a3da79a37f70a7b4c5fd3166f798f192d54928871705ad97d6ae8dc490cf33069d266e64b8e173c6253d3a82484b338f3176ec74383f0b56dfc421f4e53eb7e5f11e04004ef53745eddedfbb42074a63ed9735937db428c0ac666d6bab6600b8aea8aed3065e0fb0e9c201f2805abe2fa62984d5bfbd584d97e0bfcb0917d46f0c412e7c2400ec33f9bcdfadcf5b51979ea765f1b33f5aef5bb29fb07dae7db1305a7e7d4740a096238a14f3d0ddaf3c8b8ee17a52aa659cd00a59002d332e6dcca05284b3d1e5d4b1b46fb03c4acde60286568cda0c32a08cbcd69b59360b518f3d67f09d121b9b3a26b068d5a74dd59902d059220ce96af6a1532acca58d46c500adf07efa033acdda23c2624646ae52f202d2a42cb4680b7ab310889e208040dc296c1d3893728c25a28037c2e41f15b652b99fbf25fb141ec0fd2a6df590c8441ea09d6ad5d32a2da1049025180bcc9012d025178010934679acf7f0ad1d02994560653a1452f52ed4f7acd5029156ee48a6a52bceed24c120d10816f825766476af10285fd94bb316cd84863e3a03db02bd0b333bc888fa761d3de8c3857bdfef186ed61ef37324262ccd8aad18e3b4066c0df323812598143106ced04e4984f6afc1325645e9d3fa42fbd454d97f9ca72c8e8a4bf312f5446e37d82f5c0b1a822e06e111a0bd475a339a086e28f594481ea2c77e01b94ce24878b7bd73c99b5e0defd5e033a5fcc75b6d3667c8a57e34127e504762e56356abc2fa914da8a4ab94af0ae8877e92582e9d33a4b4ecf6a0ebd6ecce3d26d6238644a084089db94ed6f77bfb60d25860bab15c039076436e0c7a0cf570a7188703d73e21a9ef34a90e4b70f66c825e275f69bf1f683bda47292c003fd26939933abdb1eb09707b4d98e16723b80f5fc445460c58a7a93a60b3ce1b56be9346a9ca4d1b1c0fae9cec0827dbd637ebe7228e3737762e684be96c77848fd0ec8a291418dc7af5f83077f97c2b0d5d7b64328b29a86f763adae02cec063708953a27dc4f036de6066c2d28978c05369ab40038562b7844378d7e95d72ffc47252ffaa2cb893ad3002c7b08c70b70aa4596ddfbb467e68b3470ce1682f216c9f45c0f82b246d8e5b0f75813b3407a4d3c931b1366170aaef72480de13a0c27c06aae284bb15950003172dc9f65ab29485f87b7c1bd15722b21452e79bcda849b3fce8a7479b7d4fc5c20d92f73abeff903dd577f5c598eafd7828b077a84d1da1a67bed336ea25e443f4439f90fd13b6 +ss = 82973c6f4b8bb56120b94d7eee66321bbfcb4ef0eb2a589da72b0cd58a5859d4 d = ac6fcfaeeef795b6ef9e062f02bf42975fa01e7d91ba832f74e05269a72684d0 -z = 5aeda108ea4d6c6bc0fb958286850422bc357ca67b83c986048e0d0087fa11ec +z = 66bbd48deea2a0a14bcaa97e18d848e609339dc39bcecce7077f2d7432da536e pk = de90503d536a810bc927784aac5b15feda774ed1b0550b7a7e656817866881a2a4ef682462e75391298f75f2061c70141aa682d50787162a6dcd853971665c9609bbd90ab833367a44a0286d860c04057c8ed7797712affa2557e2db46b546390f3163f05316aa8a12a7d49c4fe03337cb9a7218739ddb184c1304530667b9b54441015b9f8501f902bc2f3000a4855e68d7350e83728765057959662504331d5026c8d52088593d0acc1f39e74a7fa59b959967073bb14de163d73308c276ac0e6bc26e1c165b873e46972b72fc214544317c31556a76c09588c45e4762a1b43c7ea2a9dd238ac6e39e9cebaa1945544fd8702d7066d329c89656499e6c8264ca1be481ac792c5a52188e8a954c06a96e13604e2ec0242c78bdc7763359a47c2c5c4f7762819504740c043b2a5bc8db00cc4aa9a8c6354df515ba7d7039f0268637430067b81284f866bdda366a8c25c3808af025561f24bbf8671305ba3aed330898f18b854c501549aa9a1c68dcf1071af689f3c4a46b19709cf02bbcb07f65b44e9f9385c94c4385d88f8b502ca9e19a246498646bcfa1308f8a6c45638a0df58668f55a3d30440453c36875b0aa1b5967e617a296d284c4e2828b64b83fb176156ba7fe864007414c3eb247c4063acdd61b4e5c42b9147044b6916fa9be1d25ba71a035d766bf4c1c336b836b512a23549bbc53e1a8fada8246b41cf93604bc9b792868734fa755b06a7821e688ce17c9a00c7f9fd724dd494b070b9d4fb0a2963ccf41777f86ba3b318a1ea543913d5a653f073b34c64980e02cbe17cdba5a286443677a152b0da21ee54991f34b758b87a3cb690858f29a003031e8a99964f3a904023404ca51d730957f34a0beb402169a6bf7163963d87d9c6159b8e342cd8738c945b832b698655071286338b67b372a067305e5299043c884b4ac6f624d06f1167003cd5659b68f36bccde8b37c817db27870dd196135b21849843835ec1efed74af31a3bfc6cc33a988322622e2841799635084aaba1eca13b61ba765466b05c742279067c5a1a1355737c84199932660b15e1c124f5718e86a8953a0ea5182299a8a4c4a82f91aa901f40a64c2c1457864f0beb17f5b6733fdb8fa9a04d9ed1480dbb2ebe1b8a37917ed30257ceb062d4b3caac11cc1283542b6a711a737c64981afa7cc0dff00c7019ae2169bad10a6f60f094020b7b422b006135b65110076da0ac1e9b8f354a46200b3d58113953197e7a942671e3ca61c17f4256737dc71b12291eae2626ec136b6898047427525290a62380b2b246ad86ab59b12499c77936f816cdf15c5873147e37a71a2993aa11042cc83ca7b7656ff35429795a9ba01075d670a464b33e368b70ce7b484e864efa8b890892b8648461a61b75bd7455979325755292576878d0f94728fc2433c1c04ad8b52e55c93f36c564630c7cda98c29631b9939e64d86a8be9ceae4bafe668399b287226b59807f51fce23361e2abdb21a0803f4af1dfc8b55a594e746b241ab0bba37b285666de8431bd3e28c7d6b64e7e1377364c75c1a1b6b8147d91074cd862ded548788d825bde070ede391b0a794fef56231f36b7c451d25db6419e761e700b080db345c613226d38895d55889b10754b9706c33144805325c3295359ca2ab758dd321154ce457b9734ebe32c02546a7556b599733c036060631d5b4ff6c57a1b6c5065b80a691cbf3c604dcf49d914853c87b6758a58d56e406c04230548954242aa799e0532acbbdb9d9a50dc2bab0c91b0268bd2f0427717bc5b9456895c1660cab6c312549a8f15df9c7957b1a9f3c00a7487a812d429bb8f232b559a5daf57c27a96a99327a39f5b1ec95b4161316f1a27ab2470a162231a93761ccc64689d430d4872acf18a4ef71c0b6ebb3d552b2bf4abb43d70576c9a67c3647d5919be77a0af046bc6580bf05b109a66256a21ba44c45c516212aeadb7594fc6ca17bc436102ef3d99722fb3bbb0bb39c9a1c14085ccff8b57140488270c165a8abe44333999a383c83bf1bdc6cf63258908abe715bb383c385fc26635283af0853b3e533cc6cc95591c08fcff360fc6b506b861444b3b328045270b001a481662bc847fd15924f5744e359c18514a909ca163fecc8a1521c1b2955ab7917e343c452fc489fe06b5fc03dc21f6d925b9f6d92fff175c9dd625bfaf502b4e2870961858852 -sk = cf8293b02a9a6f579f51066bd6e51abd270104634cfd482823102f2b63b18a8bb4f45a5af4d8202523cc1779b44fd283860bd004307c399ca5d8eacade156af824a988f5ac6bb50eafa6177a95b9752c922bd6a7c4265a6a88b11d0403e47127b1e80787742669e763929483393cad6ef91f18143e9d2b7cd3e028c6f56b91768113259bcab926a082a2a6185a1bf18656448a628258e21a3c6cca23449b4f9483ae9d01bdd4bc674e06566300ad2a215809e547e2626f8d9437baa727f3f05c31e85e4d34643148981bb6a82c3c75099a33a0e7528d45303d98223e1a4ef6536170f53a0c61004beb75fa34b8aed5156e4a538269775808283cb0ba5282607d50661d2a626fac2737c98cf33050353bb83e1c1136f1c26fe48d81973eb974ab1ba4b97c95c0dee065523430cc06620debba3db92888497658bc5c64b98be65ab2a0738f0750022b95a66c583354a63865b5237fe7098d279c53f731f3fcae8689754194a7b888199b89761fd09ff75677b2c500d7359905e76357163834712659f26d0d8c9b47192404975cfb89969a77615d1a3fb404baaa54511ff1b3b08c1577eb274f5b3b0b825434e87f60d18fa73141f912701a99a7c11305000789229a144a0899685596aa646f13573eba0b54dd3205de2c60c3ca1614066474b89f2377994bd14ee0a77e1d4c0af77748c1e623cb8947a98636694c4efaf0ce2bf779c66a317989a335a0071505831471c8d845a5fa4b3e42d195074244f70578124c4c7894ab84584daec8c13a6598524c023ca99f4c0499a68aca3e6827798b10ef9a4639605e2fe8656606438274ac8ed8c87ae0a16ba3b8e5857a7f25831d8b85bc7105828575320c6baba75489455154b31e50074a313ba9ad10b747f39405544f44949dde165070c8271f1ba80e57bb5bd1320c8a1f8fb47354079532bba51282ae3197026e18c46ae6b2ab9940eaba9f1ee421592770c9a9604263a4917c825c084c3534381f22c057592dd97940adb1a439d5128cf795cdd25640fa9229220a1ce4a6624cc9956105465246334c77ffcb9907159461cb1416637d8df34ab4b401413c27b6d5a1d23331f88273222653adf9685a614bec9840355b1a23a0c4ce60b0b678affed200bcb383bec2580c89127b2870745c15570ba1cec89f5dccc47be517bb020c57959e433c11df10810d5b37aa8ab3392b3358793246f11ece238646724beb859c861463c42b5030d9a1fdba3e1d391f9ca5a99df58a7948c66fa2b50864b73a40b52dc7cff031b3a3b21009268cd5cb00a89b44c156333b802ad03b2f07f70f7c11057ce78705ab6ee43681aff0874030807412a7743399cae832f6f3b65df56ab1b30d6967379e10b4ef53b9efb5632a23b942f832a7fa22cde494b0c7393d51ac807a38af119d526a5a3b91068e107812269ec85410aa739c288c20446b68880343f2e12157094dd424a349d1523e76c0acb9c29c22b6346386b522b0466bc8a85b97430a1df80850510c4825ec4f2aab987c4a07f11693e7bbb4662a4890a3c54ebc0cbbd75ca468428e38276e81c43d81a8d0e3bdbebac9aeb89fc9d7870bb88c5c16a137c41fee75640774c4b536bb1d7bbce797847cf84043d49019e92fe9e9808f25990f79b52a4445ca842057b02418964fa53478ed974e781901825a3b33e0333c64c765857c97120bddab43a6154336c0a1bca4ae0aaacb3eabb4ca06928f351b21c99d40f533f3059a87a8ac7ffc5f37bc2b3722118a9aa945c935955809f1095eedbb252fa1264d37666596c771a663eab836fe703150236b769c07e23a9bdf43886a265101c20c8715057d281a7b0699df7c7a1b4055e29945952027a06454e9295b89ca0a8c873f7eb86a39e83176e0cfca61b333e32ea658120e417d65fa9f23e3b634e8a3430220ed775155e0084b9713bf2920aadc2de53905a030ac5cfc4405960772f5354bc20ec760301eb77c1efacd29878306699954ac96bcdbbcbb1642811cb18e7b96d16540a8394574a85d0ad6c4f53025b790685dcca38cb95f95fcbbf5240ae18a3913365a4f96a8a77839e1a269f7b94b3dc58f6ad94bc4f15409f775685016340c03521218df1c68fd554d0902b05f935ea20c6ba835112e408d2a756581d8bbb8ecc463761c722794de90503d536a810bc927784aac5b15feda774ed1b0550b7a7e656817866881a2a4ef682462e75391298f75f2061c70141aa682d50787162a6dcd853971665c9609bbd90ab833367a44a0286d860c04057c8ed7797712affa2557e2db46b546390f3163f05316aa8a12a7d49c4fe03337cb9a7218739ddb184c1304530667b9b54441015b9f8501f902bc2f3000a4855e68d7350e83728765057959662504331d5026c8d52088593d0acc1f39e74a7fa59b959967073bb14de163d73308c276ac0e6bc26e1c165b873e46972b72fc214544317c31556a76c09588c45e4762a1b43c7ea2a9dd238ac6e39e9cebaa1945544fd8702d7066d329c89656499e6c8264ca1be481ac792c5a52188e8a954c06a96e13604e2ec0242c78bdc7763359a47c2c5c4f7762819504740c043b2a5bc8db00cc4aa9a8c6354df515ba7d7039f0268637430067b81284f866bdda366a8c25c3808af025561f24bbf8671305ba3aed330898f18b854c501549aa9a1c68dcf1071af689f3c4a46b19709cf02bbcb07f65b44e9f9385c94c4385d88f8b502ca9e19a246498646bcfa1308f8a6c45638a0df58668f55a3d30440453c36875b0aa1b5967e617a296d284c4e2828b64b83fb176156ba7fe864007414c3eb247c4063acdd61b4e5c42b9147044b6916fa9be1d25ba71a035d766bf4c1c336b836b512a23549bbc53e1a8fada8246b41cf93604bc9b792868734fa755b06a7821e688ce17c9a00c7f9fd724dd494b070b9d4fb0a2963ccf41777f86ba3b318a1ea543913d5a653f073b34c64980e02cbe17cdba5a286443677a152b0da21ee54991f34b758b87a3cb690858f29a003031e8a99964f3a904023404ca51d730957f34a0beb402169a6bf7163963d87d9c6159b8e342cd8738c945b832b698655071286338b67b372a067305e5299043c884b4ac6f624d06f1167003cd5659b68f36bccde8b37c817db27870dd196135b21849843835ec1efed74af31a3bfc6cc33a988322622e2841799635084aaba1eca13b61ba765466b05c742279067c5a1a1355737c84199932660b15e1c124f5718e86a8953a0ea5182299a8a4c4a82f91aa901f40a64c2c1457864f0beb17f5b6733fdb8fa9a04d9ed1480dbb2ebe1b8a37917ed30257ceb062d4b3caac11cc1283542b6a711a737c64981afa7cc0dff00c7019ae2169bad10a6f60f094020b7b422b006135b65110076da0ac1e9b8f354a46200b3d58113953197e7a942671e3ca61c17f4256737dc71b12291eae2626ec136b6898047427525290a62380b2b246ad86ab59b12499c77936f816cdf15c5873147e37a71a2993aa11042cc83ca7b7656ff35429795a9ba01075d670a464b33e368b70ce7b484e864efa8b890892b8648461a61b75bd7455979325755292576878d0f94728fc2433c1c04ad8b52e55c93f36c564630c7cda98c29631b9939e64d86a8be9ceae4bafe668399b287226b59807f51fce23361e2abdb21a0803f4af1dfc8b55a594e746b241ab0bba37b285666de8431bd3e28c7d6b64e7e1377364c75c1a1b6b8147d91074cd862ded548788d825bde070ede391b0a794fef56231f36b7c451d25db6419e761e700b080db345c613226d38895d55889b10754b9706c33144805325c3295359ca2ab758dd321154ce457b9734ebe32c02546a7556b599733c036060631d5b4ff6c57a1b6c5065b80a691cbf3c604dcf49d914853c87b6758a58d56e406c04230548954242aa799e0532acbbdb9d9a50dc2bab0c91b0268bd2f0427717bc5b9456895c1660cab6c312549a8f15df9c7957b1a9f3c00a7487a812d429bb8f232b559a5daf57c27a96a99327a39f5b1ec95b4161316f1a27ab2470a162231a93761ccc64689d430d4872acf18a4ef71c0b6ebb3d552b2bf4abb43d70576c9a67c3647d5919be77a0af046bc6580bf05b109a66256a21ba44c45c516212aeadb7594fc6ca17bc436102ef3d99722fb3bbb0bb39c9a1c14085ccff8b57140488270c165a8abe44333999a383c83bf1bdc6cf63258908abe715bb383c385fc26635283af0853b3e533cc6cc95591c08fcff360fc6b506b861444b3b328045270b001a481662bc847fd15924f5744e359c18514a909ca163fecc8a1521c1b2955ab7917e343c452fc489fe06b5fc03dc21f6d925b9f6d92fff175c9dd625bfaf502b4e28709618588523d8fe8354d81146fd65af657da08926bd3a6ecbc2f81cb58d1aaacfe5b6e686f5aeda108ea4d6c6bc0fb958286850422bc357ca67b83c986048e0d0087fa11ec -m = c4f15bec2d7701339d0ade4835193bea3632edcf89e74992620d9eb623a0d0d4 -ct = 4bbffec63410c5432b0ff42f69e7f71f5bbd1acb8d478966d1d646d8b844cf0a71a79c423eaf432f96bfab52132ba9e47b8655b3acebeaea77550963910506a16f5775dbf343330d4e9ef3e325e96384136d09a24ab6147de9ada47517b3f2dc05d674a59965364ce7543b64538b2269d175f066be9c6c3f2344ee5494a1bbdd7c3595f8218eb0a16d65bdcf82f7ae0a878f09462ed560d7f5e025657dd6a585abea6459ff4f3fd77042378f834528e793562c119e4085bf2f36e148a556583d9814c88905815ca947be81a739a14066de06febddfbd81042f1ec59755435a44788afe46ac0db8aa994e0463814b16cfd1cfb8aa22c4a3e6e33e3028ca7c1ca4844c1ee3805d7703fb55d38f5d2235d72e854c7a893deb2b644f1502d3415c88c08406ff0496575563e74a84e452565babcc2a3f8f77f5fd5fbf6b06ad90ea1006ae4a3bf8ac2d0b451ef8e22e0f3ac517ed29498bcdbcc2f296f07fd0eb164882639255636ae5ae66a2570b91a89cb5f48594402f67a67fbfd23eea60ba195d5832590cec2508ba1e3695d2748eb41b376688cca2f313fac09e866ce10c49ba7977aeea3bc71ba7f8ec79efeb805df531293599995d71a94d86fc6a54f35e23e7708a53d690caa882c9ca2dac535b72db0909b12206da60af65bacde0f7cdf934bcffb453ffe6a54342d856f38b4b34801d6b9cd051e1a05e4d8f80eed75621488d4c638889afa34ecb166791a44f4c9128e2eb372781a28e2b9fa049fc6a0f9aec60e2f8a79cd01aa329282b6c7e91b2f61ab9ee8ebe2396ab80a3eaeac639fd88359e07757088d652d937059bc1a9507f1db93edb25c2814b68a332cd9aae384892d16b04bbc6c230e579b1d8fdfbf041c315f123e76b2fa923093dde4fe64eee2472436bfe6c65f407f41cbdb6742e22af6d53e9e1998592f20098e01bf9782a2bad2f9d0ff75adb4b75e3eb5dce687624f33c689319fee69b70890db38a069fa7e657e70524b95d0e03fe5e7edc5cafdbfe0d0354509c6d898dac58d8be7758876bbeea0a62c32117dafc1607217ad5572ba91fe6e0f14709776f2e9cb99c382b7e7725aef5548438b049bb197aff6ed2656896b30655681c8b43ed2911d2c29cfd32a99da168b27d2e9ac891b8a56c1c573935a2707fe3eca8d8348cd0928ccaf77a06fad29ead8faca88e491b8b19337bdb774caea7916d1205ff75e00ebbf991fb6486630f5c29e320df6ed6da5241e1f066f717b307685d565cdabc1ad5d2e9402a9e6c029edc52500a7b61424039e5ed69b13de178df8f763e627d3c6ac45d1fb8a96af8bf358d3ad467bd0aa4674691502064c7c149ba70646eb7c5117b87d27bfb2a52afed3f397cb06fbbdc1fda66d4b50469d57c2f9b98d958f7b6b8a7a751088f2d9f83e3d8a00ca5b98efd60320352fa8f6c15c9f334953cb986fabaca6c82345e948b31fed0fd25b44f7f6874b1a64fbc6b58d126a96559f92c7a8717ec00c40bca6de508f398279a1fdc15edc6d8adebbe0385e9bf474456289493386027cac6b9df8a66ae7da7c24247756555fa2af0fdf9617e2df9304c7ccf8f0acef89168da42caa7eac32a26e0f8977cebe723916cf51fe2fc9dd2c05ec961f1a17eb6dc51067d02be124944d389e7e0a012cb78d8e2b416c1ce189bbb511bd1816f5d68bc5d366c64ef77759edc5186210e896baa627360e3a8b86c256066bfd50a00ee5da27f79ddb72c75ab7800af752e249d5130092f7570f6b5c27cf23de90ed0d2a48845a5252221214e78ac9f055252eac3b59dd3bb24515aae0b23e679011059a3e6bc6867a4ed43bd4c2d7136396207f2e27799e10832e9018d6a6de070a80248b1db836cb8957bea54edd7482a6a36e5901d832dd383c210e8f368fb505a910ac270264e36508780aa8ce0653cdd337b2ea0456181dca5763380cb375499c1031b1ff30ec1ca3a559ee02678dc7da3609dd87c0f3e56b49998b2da3ec0474cc1c20a81b4120c178fe95ede15c600d3dbc7a404aaff1ad8a7d62b6625d7ce19f8ec2ce7191c6e290bbe18d129b64ba53c49b1caec1f93f1af3160bc3e79726fe4a5aef4238e7451871a99a8ac323cdbfc291a3be2ccbc251bc8cc47b24f2acd78c9a8610c70fc5528249795c289e4212b7b3d016e99abad50b3387c1d85521793da4b45b4298f89615e8b743a0a3b82d9dc935ab604c2 -ss = 398c68a21c6e05a360b83a29ded91b729551e99b829ecd5e523116973aec7c68 +sk = cf8293b02a9a6f579f51066bd6e51abd270104634cfd482823102f2b63b18a8bb4f45a5af4d8202523cc1779b44fd283860bd004307c399ca5d8eacade156af824a988f5ac6bb50eafa6177a95b9752c922bd6a7c4265a6a88b11d0403e47127b1e80787742669e763929483393cad6ef91f18143e9d2b7cd3e028c6f56b91768113259bcab926a082a2a6185a1bf18656448a628258e21a3c6cca23449b4f9483ae9d01bdd4bc674e06566300ad2a215809e547e2626f8d9437baa727f3f05c31e85e4d34643148981bb6a82c3c75099a33a0e7528d45303d98223e1a4ef6536170f53a0c61004beb75fa34b8aed5156e4a538269775808283cb0ba5282607d50661d2a626fac2737c98cf33050353bb83e1c1136f1c26fe48d81973eb974ab1ba4b97c95c0dee065523430cc06620debba3db92888497658bc5c64b98be65ab2a0738f0750022b95a66c583354a63865b5237fe7098d279c53f731f3fcae8689754194a7b888199b89761fd09ff75677b2c500d7359905e76357163834712659f26d0d8c9b47192404975cfb89969a77615d1a3fb404baaa54511ff1b3b08c1577eb274f5b3b0b825434e87f60d18fa73141f912701a99a7c11305000789229a144a0899685596aa646f13573eba0b54dd3205de2c60c3ca1614066474b89f2377994bd14ee0a77e1d4c0af77748c1e623cb8947a98636694c4efaf0ce2bf779c66a317989a335a0071505831471c8d845a5fa4b3e42d195074244f70578124c4c7894ab84584daec8c13a6598524c023ca99f4c0499a68aca3e6827798b10ef9a4639605e2fe8656606438274ac8ed8c87ae0a16ba3b8e5857a7f25831d8b85bc7105828575320c6baba75489455154b31e50074a313ba9ad10b747f39405544f44949dde165070c8271f1ba80e57bb5bd1320c8a1f8fb47354079532bba51282ae3197026e18c46ae6b2ab9940eaba9f1ee421592770c9a9604263a4917c825c084c3534381f22c057592dd97940adb1a439d5128cf795cdd25640fa9229220a1ce4a6624cc9956105465246334c77ffcb9907159461cb1416637d8df34ab4b401413c27b6d5a1d23331f88273222653adf9685a614bec9840355b1a23a0c4ce60b0b678affed200bcb383bec2580c89127b2870745c15570ba1cec89f5dccc47be517bb020c57959e433c11df10810d5b37aa8ab3392b3358793246f11ece238646724beb859c861463c42b5030d9a1fdba3e1d391f9ca5a99df58a7948c66fa2b50864b73a40b52dc7cff031b3a3b21009268cd5cb00a89b44c156333b802ad03b2f07f70f7c11057ce78705ab6ee43681aff0874030807412a7743399cae832f6f3b65df56ab1b30d6967379e10b4ef53b9efb5632a23b942f832a7fa22cde494b0c7393d51ac807a38af119d526a5a3b91068e107812269ec85410aa739c288c20446b68880343f2e12157094dd424a349d1523e76c0acb9c29c22b6346386b522b0466bc8a85b97430a1df80850510c4825ec4f2aab987c4a07f11693e7bbb4662a4890a3c54ebc0cbbd75ca468428e38276e81c43d81a8d0e3bdbebac9aeb89fc9d7870bb88c5c16a137c41fee75640774c4b536bb1d7bbce797847cf84043d49019e92fe9e9808f25990f79b52a4445ca842057b02418964fa53478ed974e781901825a3b33e0333c64c765857c97120bddab43a6154336c0a1bca4ae0aaacb3eabb4ca06928f351b21c99d40f533f3059a87a8ac7ffc5f37bc2b3722118a9aa945c935955809f1095eedbb252fa1264d37666596c771a663eab836fe703150236b769c07e23a9bdf43886a265101c20c8715057d281a7b0699df7c7a1b4055e29945952027a06454e9295b89ca0a8c873f7eb86a39e83176e0cfca61b333e32ea658120e417d65fa9f23e3b634e8a3430220ed775155e0084b9713bf2920aadc2de53905a030ac5cfc4405960772f5354bc20ec760301eb77c1efacd29878306699954ac96bcdbbcbb1642811cb18e7b96d16540a8394574a85d0ad6c4f53025b790685dcca38cb95f95fcbbf5240ae18a3913365a4f96a8a77839e1a269f7b94b3dc58f6ad94bc4f15409f775685016340c03521218df1c68fd554d0902b05f935ea20c6ba835112e408d2a756581d8bbb8ecc463761c722794de90503d536a810bc927784aac5b15feda774ed1b0550b7a7e656817866881a2a4ef682462e75391298f75f2061c70141aa682d50787162a6dcd853971665c9609bbd90ab833367a44a0286d860c04057c8ed7797712affa2557e2db46b546390f3163f05316aa8a12a7d49c4fe03337cb9a7218739ddb184c1304530667b9b54441015b9f8501f902bc2f3000a4855e68d7350e83728765057959662504331d5026c8d52088593d0acc1f39e74a7fa59b959967073bb14de163d73308c276ac0e6bc26e1c165b873e46972b72fc214544317c31556a76c09588c45e4762a1b43c7ea2a9dd238ac6e39e9cebaa1945544fd8702d7066d329c89656499e6c8264ca1be481ac792c5a52188e8a954c06a96e13604e2ec0242c78bdc7763359a47c2c5c4f7762819504740c043b2a5bc8db00cc4aa9a8c6354df515ba7d7039f0268637430067b81284f866bdda366a8c25c3808af025561f24bbf8671305ba3aed330898f18b854c501549aa9a1c68dcf1071af689f3c4a46b19709cf02bbcb07f65b44e9f9385c94c4385d88f8b502ca9e19a246498646bcfa1308f8a6c45638a0df58668f55a3d30440453c36875b0aa1b5967e617a296d284c4e2828b64b83fb176156ba7fe864007414c3eb247c4063acdd61b4e5c42b9147044b6916fa9be1d25ba71a035d766bf4c1c336b836b512a23549bbc53e1a8fada8246b41cf93604bc9b792868734fa755b06a7821e688ce17c9a00c7f9fd724dd494b070b9d4fb0a2963ccf41777f86ba3b318a1ea543913d5a653f073b34c64980e02cbe17cdba5a286443677a152b0da21ee54991f34b758b87a3cb690858f29a003031e8a99964f3a904023404ca51d730957f34a0beb402169a6bf7163963d87d9c6159b8e342cd8738c945b832b698655071286338b67b372a067305e5299043c884b4ac6f624d06f1167003cd5659b68f36bccde8b37c817db27870dd196135b21849843835ec1efed74af31a3bfc6cc33a988322622e2841799635084aaba1eca13b61ba765466b05c742279067c5a1a1355737c84199932660b15e1c124f5718e86a8953a0ea5182299a8a4c4a82f91aa901f40a64c2c1457864f0beb17f5b6733fdb8fa9a04d9ed1480dbb2ebe1b8a37917ed30257ceb062d4b3caac11cc1283542b6a711a737c64981afa7cc0dff00c7019ae2169bad10a6f60f094020b7b422b006135b65110076da0ac1e9b8f354a46200b3d58113953197e7a942671e3ca61c17f4256737dc71b12291eae2626ec136b6898047427525290a62380b2b246ad86ab59b12499c77936f816cdf15c5873147e37a71a2993aa11042cc83ca7b7656ff35429795a9ba01075d670a464b33e368b70ce7b484e864efa8b890892b8648461a61b75bd7455979325755292576878d0f94728fc2433c1c04ad8b52e55c93f36c564630c7cda98c29631b9939e64d86a8be9ceae4bafe668399b287226b59807f51fce23361e2abdb21a0803f4af1dfc8b55a594e746b241ab0bba37b285666de8431bd3e28c7d6b64e7e1377364c75c1a1b6b8147d91074cd862ded548788d825bde070ede391b0a794fef56231f36b7c451d25db6419e761e700b080db345c613226d38895d55889b10754b9706c33144805325c3295359ca2ab758dd321154ce457b9734ebe32c02546a7556b599733c036060631d5b4ff6c57a1b6c5065b80a691cbf3c604dcf49d914853c87b6758a58d56e406c04230548954242aa799e0532acbbdb9d9a50dc2bab0c91b0268bd2f0427717bc5b9456895c1660cab6c312549a8f15df9c7957b1a9f3c00a7487a812d429bb8f232b559a5daf57c27a96a99327a39f5b1ec95b4161316f1a27ab2470a162231a93761ccc64689d430d4872acf18a4ef71c0b6ebb3d552b2bf4abb43d70576c9a67c3647d5919be77a0af046bc6580bf05b109a66256a21ba44c45c516212aeadb7594fc6ca17bc436102ef3d99722fb3bbb0bb39c9a1c14085ccff8b57140488270c165a8abe44333999a383c83bf1bdc6cf63258908abe715bb383c385fc26635283af0853b3e533cc6cc95591c08fcff360fc6b506b861444b3b328045270b001a481662bc847fd15924f5744e359c18514a909ca163fecc8a1521c1b2955ab7917e343c452fc489fe06b5fc03dc21f6d925b9f6d92fff175c9dd625bfaf502b4e28709618588523d8fe8354d81146fd65af657da08926bd3a6ecbc2f81cb58d1aaacfe5b6e686f66bbd48deea2a0a14bcaa97e18d848e609339dc39bcecce7077f2d7432da536e +m = 19428b5875abce53a0c9baaea7707855e56d971083793b2960986d38e2880449 +ct = 29b83e41a8f490bee572dfa7506648ed1c9be44ad7dcdaf314a307010478836a3a52c21cc9a6872950df78ede4b7c1debe87c6b180df26c7ee8f07af7e8f33a0abd6ab5a7d1858fb8f66a0ad8ee4481c81b26d0ca02714b33f0357dd062b4c5fb2f67597af82fd31a322413f6dc8c75878fbfe75daa3e7a405fe424b33baeab1de29c00dad6d1dcc5ec6f09df66e97651a01f935e7ddf761b7f4ff66235b0447e885239122452fa899d6d78dfad5534bd3bb87fa9f351c49873c10019ae9d2eedec5fafe663d24873565f8f071bf2e989d30a6de140598b3dd0435f1dc5752a592f00eac3f41076f18d5a1764769b051d8a82c8e6bd9ec0aad121d4686ab7f94df322df2f003fb0fa78a26e0c489256b0b465a152adb4142b70a9876adc7be9a4c750ed3f21ba55b75dc31c853c92f5b8859ca99aff3892c84c23a20affe2bd233833a08543578c10dd5356de1f3311a9f08b1583a97cfae921c714fc0d9ec97ac55bc6b7fc576018b91b72e0f3d699d879027bfc735459d72f324e40544d1880be9fda961364fce713c30f674e66ec0b939bda2ccd75436674e1f6f429b6aac510c6b1cfd08b55dda0b9105f3f36921493e96cda06bd17adb455dc8791c4e59dc294f888f8f9554242969a0e3c9c4d152311cf97265b68dc79adb612020c96f3904649144514474e91cf0f37ca8097da5a1d6e29f8bde48c311d30137cbefe349db75c760ea91db72e373560270e4fa215a71077f819f71121c2b0471bf81f75161381814d3fdd05c0dcdf41e03d973551cfd3f032c4b4acc6c6fde88eb9de9c859caf6d8a694b1e400d81e8ad456b3cdd9c97eb5b3a9cb5acc4603b4312e710e09242ea8b6b559acf99d12926dd46380c9267b0d0361d282de3a641762b1f22e55a940efb0971c60fb85f1097f84fdc0e697daf4abc027103741e481b83974038f67cfbaec03d2e30530fce91c062d35d1cd67ac2977a9896806de3d3f7e55ade9c3010b37c2b24d2dcc41515976d1bd2ad94db836ee953d02aacc715bcfd4066e5426ebdc22e7bb81cfc3df158f02444e7013d93793cb4310547dfefc4b1178512b9487a158c6da24e8c1df67d3c8c49d0e1e538236bde8e3723cc720c1087abbff3eed5b60ee35c6305b6ed52a3fb486cff2076f34427eb291d79544a13ca4990f4d355c73cef68d273320b7bdf63c0f86975d76e14a0a1aabc9f04742792a288b05fb7cc601ff091e956cce53b0f4e2dde3e3de180c3339c70cf282018e02da6b2697bd8de11a699647a14e20239668683aaea05f0ddbb5880e14892c9b34edcc340b65678c767a6ee4ed80f344a3e1df5f37e48e333608b2d687e19c16d17f7b58c0480cc451cdabed055839a32f8535d5f9340923ad5227574780be6c4a3a08db27bd0c6e8065337ee4173df18be24905b5c6cfc9b6ae15a930fb08a593c4427d2e9d9cf0e6494c059891f8a873ec0e86bd11d18a04899280cc57a42aa716eeadce962288181773960ca516088437fd84ae64d5215ed7727251212d1f7db59c5ad8ffdd0a0491a504855a2f14680a5631ccfd03bdd2f0dc8bfa11dd6cd6da9a399fa3419637f242e0de33738ee00f415cc5d548e468914dea6d88627d6c87f76a353913092f486c6169b8b788a99be3093fda5941fa6fd33d9a240accd4432cd5aa1df88499525bf73140fac1bfc0ef67d28d7df9f69c60ad477d4e04ec4be55b0e64a47d24a84f90d34c5b346c140b81b0b9335ee3746c803d2eef5d2b8e9f600d5212d7314a4505a991af80fae2f1672ac56f6d6e03f00a740ffdc2100e3c389fc6a8805d9d97b5c696bf6416811b7f7ea84b84240d9d3bfdd01a9a0e6ca888741a7ba3aad2c06128f1fcae105c06069c299c185509c0e5ac49bf8a327b545751ac54267ab47776431d07e60d31205209340330f2bb0c6132ff332cd30e6104ad93eb58c0256559a51413fb947ec2944ce7a4524c221c434c7d718de375bb9dff253c20b7cf5df72b23e543380e31616d4e90be704feaecbaa7715cca370400ed5abbef86ac7f8db877afa2a6794f60ea9918ee905420360b9434ed93db3c40022bbca2647feb04e5fb7a5428a6d631b2efd69368f04ece3a00ff1fd316a8cfb7758a3407a6209b5714b78a874142a70cc6857b46880dda61f6c87dae97d2eb77d6254a7b6ddaf977bb54492201adb8c916e2e97c18e131da141974 +ss = a18c9e9d7cf15245defe5d67cae930945e5e8eb3d54c1f4f825fb48b59dd7c21 d = ba2fb9318d4dbe7488057c33e95e6f054583a2800c41bb83083c330a914a12cf -z = e63f8ffda3565c2424c89b20974b748a65a5aba75133fcb3156dfb6626a83bab +z = 3e3a1bcd39c74c1b899ffa21a6fe100804a551199d32db4a75e6314bfb58f70e pk = a0eb8fea64c6c0da5d9a16254d897856a1486c8b2f773c18bab3cd4f80c83dac6dc9796100886d14b4085bb2265bd9c2f021034ef1083d58afd447ca55526d2691781d409649e88f43ca4e9b4aaf9bd9588ae52d126692b181817abb5291f660adf3a0044a0c527b233327c0f9db047c9415c806414bb0758dfab9a7d3c28484578b6084b65ab0060ca20895c6bcb5353d295db2eb32170b5a214669d4c4971a1993c1b98557cb5f76e5b8e306aca954b04bfc6f0b0ca903a66db333168c32033375a0321a287e133a9aca8eab024a85761ad4776b03a95130d0178f93684a2c0a519501ee5b85c4c3278e8b4e7b2b461cd4602a7918767b315cbcb885410ceb025f1342c2388637eb69ab0fc21568b1178ef3669a1b9e4fc30eadf5be70143ecdf543f1cc88e05a109920a5f3b4aabc0b8197783e8a16b1e06bc5e7089cc447186830a1d5bcc8bb31a6e91b691a65721791b0334495cd014c134617a3318a7906069e0574d83c8a44326db67ccf94a0a735942de923b5a6d55b087b4390e975e6b3aae4606abd3500fd54837ff875c54bcb7b5739ddc0adab741e57946ac0948ccef5ca791a46c669c552b97ec35633a141b92de18b0dba46ddc64431920938a927c255ab78fcbfc9653e1c0b8a0f42489674c0f79c30cf8a5073a06fbfaa888e914d53a3b6a86418f5ec6dd5a6b56973bdd9744d0ef326ab49291ba1b1a9f1a68da542fd944b3b88c6c364752fa6233d27a792e6a040f1824120ae9afa707d7206966a4ea361681627cb346572619c9a7d539db7469e60177e98674398ea296fc3005800c5da17a80ea06ad23a265ab7293401cdfe3460921596a7c228c883b0e1e48365fb02eb50950de3af481439dfb98447f3406c81161e643f7095ca8c7a40b6d47f13d338be25335438cc457b3e99c820e1f258825988d4827b5b1506a0129648101bd18823b2f2c2a142387f1a067a295175f5922eeb1de320711f0b729971bc7647889ee86cb5f44363a992369120dc837dd474baffd381253680f00675fb380bf96a89e282ae67c32b94ab48e35029145748eaa76037a98788c45dde75085d9c5523a7309804745f626f89362f7ba94738c5b9ba0b11bf560e855356e8cac1195cbb2921bfdad80db6b3bd9916a7c6cca281914f4fa5ad26d00e6f6acae0db49ae970755d16b2069b1a7ec0d7b879af301a9bf5519683bb3a59b066b62c8d150a316508b8c2c62a7f20fae59b3ccb0cc5e21055c7a638e11242c39855545b0a880484fb555f0fa4bb059ab05457bed820eee0767470628f81a321f113a8158a1ad1367f11802f71b90a8b4a1cc3c16552c11064ac01402b8b4b695d19ba74991673a963537b2ab14333633e04b0859472ecac568c87700a5076c8c265a3b0662c4250ae5cb53771cddcc2473f7bcc52ca97ba018beb6be5ba5420f7b2882f3acffbca13193c71eb60d167c1d9b256f4706a19204a017204ad28b6a0f607d61a97cb578cfc9633ba9d6ab84367cad900e5ce147ac935af727724af3ac8f0c86ec70034ea7c7f5330889b402f6b7be7bb6c7751411120a5b6577c131cc75667990c0585caaccb1ae144140d47239b7adb311b338dc8a8e5b10c08b3ae26c945d680f4ad35dc07639c581301ca981be25075363b8d3a6b2165c99c0b61c298a502123c40e1cc223b21efabc1c34576e206456cc082cd4048fbb576e720bb967f5b58763342c98ae883cb24ca32e06398c56eb6a7b697df092926a8c76dc160f0c577ab476303647bad3b6951949acc2a69e793807a77c7ef163a25c842723d85665b121dc8622772caca988c5e8281d2e7055657100d31688b09104d0470d8953b82ea4c6afe50bb96b68f5524ac3a5a92cd26f26b142e37920ad36111226c763e3ce29c9c1235c8ea40995eb867ea8e844ed819c10f62172c52558667f4121bcac1815ee2806d863c22f10a20e74425f6c22b1900b520a5041b0a7f5842ad0fc0e19c893d7e42b1ecac89d9a989d8c45dedc5621565e2e788147c42ec4dc6a8ca22d4a1904787ac8b75232bb13aca7e30825e865bde0ce8ef1c7e2172d759873db265638fbacf7763b80fb4161417559a32c2d6cce4834be3316181ea4c5cd29687a498953998783057df991300f224324b207b723607961622f20377715b3dba61b94849dea30e28720bbcb90c7af7feb0af619a0cf57d173405c82 -sk = a428a1343429ce9c3dadbb6213410e264426d1cb5c69c68e7f377bcbc454aaf867771258faa622b6367fc5cc46e960682a3984a13230b3d7c25a69ce4ab9af0234a109878e0cc42a9b858dc559ad3fe82c4060539c08828c51b337b7c0ea768ba646a2f04900a235a4042b88e8934d3b62821a13b67a912f162aa80953cb71c396d91b91521b6665062551e0a6ce453c233460789138cb16ac6e598f670c70d6325804cc494466710d984e3ea551f5ec60c5031e94421919f62c301181831b7fb4fc61da443fe12784cf84b5ecf240daecc87d711aad10808b96233d345ba80b0469797dc03583214355e8e9a356e367a593a6898355ad129a8546a0d03b2279021889c118db3583da691a9ad544086540bb2178b2125f00c94ae753038486b6cdf1cf7e5a2202290b4e5ac807eb04bea95678b52ff76c4757c68d2eb9283b8766f1a39e06c999015b1f1d5c3164338aeb432d54b338c361b9a7258981555fc2563e585a6ff60886c32343e0045746e50fe78a0a9bcbb6281abe3474ba50e1267b3276a1327a8f128e2b5ab077618c59902c35488553f745d2a0c942b81c0aab7afd0c869b9b9c66c1847257cb22b018b81b25c468a9bc35a180b090f4bb90c4ec035c0078b799046833cd90f7bc2678cab9b75b95a6b457dca8fcb84937c01479a0b7b6da9643da507a2b8b1ae25373825189729bda8b35fcea315b3b359705cd5b486582379093e64f431309f0389ff899beb4c3ca9689b412a210eb654f183362ab8398b1e3696df7432be662cbe62666471f2c056504a5c1c91017a6326acc7306524058fd0937ddeab972b00734f60d065a1ba8655dba3093d161b99e698fc778b2fe782fa8ec7c62d422e17b24fd107b87a8338ae7af6994c70d959cbfc3720b3174b9658f5d43713cd47325eb926320073f384f04e6831435524b686f2cd377c18363f8e554dbe6af09f93c2ff2a1f4a87159472e7d7a4db9243a1c6a636ad50735b870f1297b6d6b5303e2552a54aa5991340aa40301ca2d6bd9a765b72fbde1c3c44a7649ea350e00cde59628e06acad29888c9b73cf0aa65d44b60f086c21c6abcbd544295317b55ea9ab1117989ab7b7304304e5612119396727943678c31cf2b1779c946b82420a557a8d6426263d33c7f71591c7857e90a7fa05158e315ae19d1046249b3011b22291cae30501d1423674824b852c34c97258ab972af6c5195ffa20b6cf05ba0498a529756f173349bec8c180869293c5967454d01cb3c8edc7a3a776dba54c37513727a69caacfbaad8ec4a529a1872ca25cb4a99c38b225e379ace27485d8b91fef9ceb97c04322b59f533745d23720ae457fa11b3a0b831de777d07f88ed1771fa1d89db9acbc7bac471bd423acac482bfb29de13881aeaaae2f340c1e747a73b9071cc551ea59b03646b65bc2e6e04875754a77025985a026adcd321574ab45cda47134b560219338fc93b0a398d7f85169b4b32c2ec3a06529f8e3a57fd353327b03f87d5cb60c67074146fb460476c92619d9c23ba7a371fd9425cfc6486992959109cfa1c1a75ab9eba4235af63c6f8648ae7855a4eab5c9d3923386996181980b16b02a53060e5a64a8cf3ced087bb64f93693ccc0e77aa355d741f1f562692477ae0082a4e73e21f05fc386a8b32b09a4b79c41612eab0c29ffe610dea9713da3680be504f528b5eaab6d5caaa20c7221aa39345ad0b6aeba27a563ab6e1b65fd70a81d4cb97f6ba16e35773aeb8c1917aafc9b8f5254380395a41b474b27463f42e7c7b008a52d4395131c13cdebb7effa846dfa429af7393f8a688203bb6a814467d1bcdf931ad12811f22c0a0aa3c1949b2eb266c59aaa542605319b233769544070171801417816f730391a4d5d09127af868d8ebbd58b767b1aa7015dabef5b32b773b9329898cec8c94d80630b8447cb1c17c3c400134217c0acaaaf73b4b03132d779523e0c9cc52d28693da3dbd5507151c348b11898ad548ea305ca0484c67f1c70435c84096117702297f0094113b1c6ae66b25090f9b22a15cea69c95a2b8801a6df8611dbbc4cb92ccc21424f2a2537ad50206cb4bb90935381e62c571874f283cdab005254220d538115a75298e440924e9a3823d69a5eaba0ac73633179040f95a14026455f9403a0eb8fea64c6c0da5d9a16254d897856a1486c8b2f773c18bab3cd4f80c83dac6dc9796100886d14b4085bb2265bd9c2f021034ef1083d58afd447ca55526d2691781d409649e88f43ca4e9b4aaf9bd9588ae52d126692b181817abb5291f660adf3a0044a0c527b233327c0f9db047c9415c806414bb0758dfab9a7d3c28484578b6084b65ab0060ca20895c6bcb5353d295db2eb32170b5a214669d4c4971a1993c1b98557cb5f76e5b8e306aca954b04bfc6f0b0ca903a66db333168c32033375a0321a287e133a9aca8eab024a85761ad4776b03a95130d0178f93684a2c0a519501ee5b85c4c3278e8b4e7b2b461cd4602a7918767b315cbcb885410ceb025f1342c2388637eb69ab0fc21568b1178ef3669a1b9e4fc30eadf5be70143ecdf543f1cc88e05a109920a5f3b4aabc0b8197783e8a16b1e06bc5e7089cc447186830a1d5bcc8bb31a6e91b691a65721791b0334495cd014c134617a3318a7906069e0574d83c8a44326db67ccf94a0a735942de923b5a6d55b087b4390e975e6b3aae4606abd3500fd54837ff875c54bcb7b5739ddc0adab741e57946ac0948ccef5ca791a46c669c552b97ec35633a141b92de18b0dba46ddc64431920938a927c255ab78fcbfc9653e1c0b8a0f42489674c0f79c30cf8a5073a06fbfaa888e914d53a3b6a86418f5ec6dd5a6b56973bdd9744d0ef326ab49291ba1b1a9f1a68da542fd944b3b88c6c364752fa6233d27a792e6a040f1824120ae9afa707d7206966a4ea361681627cb346572619c9a7d539db7469e60177e98674398ea296fc3005800c5da17a80ea06ad23a265ab7293401cdfe3460921596a7c228c883b0e1e48365fb02eb50950de3af481439dfb98447f3406c81161e643f7095ca8c7a40b6d47f13d338be25335438cc457b3e99c820e1f258825988d4827b5b1506a0129648101bd18823b2f2c2a142387f1a067a295175f5922eeb1de320711f0b729971bc7647889ee86cb5f44363a992369120dc837dd474baffd381253680f00675fb380bf96a89e282ae67c32b94ab48e35029145748eaa76037a98788c45dde75085d9c5523a7309804745f626f89362f7ba94738c5b9ba0b11bf560e855356e8cac1195cbb2921bfdad80db6b3bd9916a7c6cca281914f4fa5ad26d00e6f6acae0db49ae970755d16b2069b1a7ec0d7b879af301a9bf5519683bb3a59b066b62c8d150a316508b8c2c62a7f20fae59b3ccb0cc5e21055c7a638e11242c39855545b0a880484fb555f0fa4bb059ab05457bed820eee0767470628f81a321f113a8158a1ad1367f11802f71b90a8b4a1cc3c16552c11064ac01402b8b4b695d19ba74991673a963537b2ab14333633e04b0859472ecac568c87700a5076c8c265a3b0662c4250ae5cb53771cddcc2473f7bcc52ca97ba018beb6be5ba5420f7b2882f3acffbca13193c71eb60d167c1d9b256f4706a19204a017204ad28b6a0f607d61a97cb578cfc9633ba9d6ab84367cad900e5ce147ac935af727724af3ac8f0c86ec70034ea7c7f5330889b402f6b7be7bb6c7751411120a5b6577c131cc75667990c0585caaccb1ae144140d47239b7adb311b338dc8a8e5b10c08b3ae26c945d680f4ad35dc07639c581301ca981be25075363b8d3a6b2165c99c0b61c298a502123c40e1cc223b21efabc1c34576e206456cc082cd4048fbb576e720bb967f5b58763342c98ae883cb24ca32e06398c56eb6a7b697df092926a8c76dc160f0c577ab476303647bad3b6951949acc2a69e793807a77c7ef163a25c842723d85665b121dc8622772caca988c5e8281d2e7055657100d31688b09104d0470d8953b82ea4c6afe50bb96b68f5524ac3a5a92cd26f26b142e37920ad36111226c763e3ce29c9c1235c8ea40995eb867ea8e844ed819c10f62172c52558667f4121bcac1815ee2806d863c22f10a20e74425f6c22b1900b520a5041b0a7f5842ad0fc0e19c893d7e42b1ecac89d9a989d8c45dedc5621565e2e788147c42ec4dc6a8ca22d4a1904787ac8b75232bb13aca7e30825e865bde0ce8ef1c7e2172d759873db265638fbacf7763b80fb4161417559a32c2d6cce4834be3316181ea4c5cd29687a498953998783057df991300f224324b207b723607961622f20377715b3dba61b94849dea30e28720bbcb90c7af7feb0af619a0cf57d173405c8236fc15e2340175a2a64ca1cf31a4b38ed5f797aaa8acb0c3d2ed9c19c7099f27e63f8ffda3565c2424c89b20974b748a65a5aba75133fcb3156dfb6626a83bab -m = 28878249e2ac2b6263422993923a0c8bd05ce56e385ed13c943b03d226856947 -ct = e9b41d82a3cc62668818767c5a94577263aa1b8d9c0bb3d412558c24c17a3539751a72b9d418f5b57eda3f448dfcd209ad3789df7837811abc029c217c489b5effad849f5ca07588b36cd6a5f5f92097ed6ce7a15432a6f24899533bcd72c8e1f2adb1c7ba139db44cc463158ea2b4de2a5545277baaa62291e32382ae2b2a3ecb4397392e3d470df5875d180a12a7d5c39cd13b07cfb7fbaf17dab8184b9f9f1f3c36a55cfdbf7c5bafe3e66b1a8fc51868aa058a71816e0399cb2e1781f314f46ff697aa272ea60f4dd62fb4a0cbe0661b2c91eaeee6f5590ae4f2db5d3621d20c368311be2719ae4ccd2cdeb8c3cfba1a18efdea2b6f6b9c696b01412904e390d50a96be2a9869c776ab7bf449a75ff2da6dbeaf3765faf5100f29b43a82f9a77a78068f28724aa6f71a901f049d6bcb0f31e1eee1f8aa21b948a20e66bb2826427a77609412ddce8b66624908028932189ad5414555902ae523506d8b1ec27d8bd167f6bd0fb00076e8c951944e9950873bbd3bfbf260a87d331689584bc9fc4975b20ede972ca130237501a4797a85bd9d2efb340f1cdfbcd7fa61e7d75ac917c1d95041cafaa0b4af237933e489d0076a724f3403221840e371a06360bdf493704795453d8a639191a19a3b401a76c34fff3a8fc60c9f9e62329d1f6467e0a47a1d1811e1e73eebf95465a7211d52da249dc55327b178f23a52fbf7cdc54183de885e2ebe51bde70b4c0c92e6ece93fe215e1d014714ec2967e44b85528cae72c0b87c64e104643e75f3ee4bbe8d68f6f1c200d9b174a740ce8ea32a942c7b2740828a2f09a94f9fff0dc9af0e84b0863b655b9a43e1a55ec10d76d0c3f5851d91691dabf9adcd37a8dbb90e34a6417c5d64432ae27d8bcd9c1072c98018140850360cdd5a73f428276c56684f822b0384324205801e8017ebb1a096fc0756f4bddd55f664a24baa004dc6999e6ee85ee6e2ae026b647dfd85301386832c6ecb8af1c77551f5b36c0adc69b4d1f4d4f99918dec7188cd2ac175719080659e87f0a73b2a5fffe15ae807ef5790bdf559489ab05e363303771439485d38438cb6a3d0295bd109bbfbde64e30b203f64574e1536989b79a4fcf18666d79f546d934f64fc7fa9aa5d82b3b5e8a574fa7bce21786e1c5ccc03b15213c0d28091a6ea810a3256c34cf75736d31dbaca8eab1e875366cff01b91ba0eee1041e40dcd8ff672d02c49bd4dfb38f0d0f608a2bab4d7dbe0e7317bf0ccf6b2502ed6572e8ad1d1f84b6bfb0e0609cd02018b7f1cba64098d4c2811c14123db054f90fb412d97f0d90fdd6dba5556af29b6becbd2518a1111b92140080a5f036687ec4cc78b5afe659532abb2ddfa54c0735b274731456845c41a5a81071e638a309e5983ee444d22f71fcc7a567bcd16fd2da209baf76d962b08a926f579a87e6c67862757d836221c05bf6666b8fe72229fb9073d5a70f116f31c8600bab0ccaa595ea23863b437d824f00d97a9d866ce2597294034bd75c0ea86b0ce6925ff1c58eeaa662ea266b82c3a2405f3458b7a1066b78744148c134fd3f43c7f7b1719dccae4f4c0b291dd2ad7bbfe2b20ce56cd39d499e524cfced2c5e3d52ab367e78983e2917f241de0c1d9883349bec3bcc8715606732ff75e513c36a8c07adedf3f12f2df30cadebd9f2b2b1e96a86bf9c1b18cf7a63dc83a33843f2b0c0ea5f4d4d93d0fb98b3c1501292acb7e0166b595a2425c16e8d2aa15140594d353cbbbc46da168109d7cf9138a1baabc2ccf153a7aed7de3d672936cf07022d43f1986aed45871ec65378d33c27106d4b1154caefee62613e108563b92c731f0a9b9b33751ab6d84f2ab528022cfe76b336a05608a32c0f2a121570895b1c01f26decf4d6427b95dfcffa7fd1a9126c884cae84638ea3b211fe7e73687973fe51a585ffb6d21daf5268388c410a6f01d8bee18538b6bac8d38cbb1c625696dbb52e02a876559bedd77e6efbda5743b9b6830739a4580ef7075bee299bbbdaba68a9a8c1fb1b5d4c5667feaf8d1a3ad252462c7447b5b2f7780d3555c87a36f5bb376e3b6f28b21ecc4a4a5da4da9c81c17779df199c31c8a2d1a725756e7840fc49e3cc718d32b74343a635499c18157339f690653bf8dcc00448a24bd27a095ff34b228946df00fcd103d37d99fe08d6ed33ade0dad72bf4cfa8f369d85cbca5ae8b73b8 -ss = 15bdb7f1c08496639c18283bd3f2dc9d1470d0d800a52435145e1c6351e6c1be +sk = a428a1343429ce9c3dadbb6213410e264426d1cb5c69c68e7f377bcbc454aaf867771258faa622b6367fc5cc46e960682a3984a13230b3d7c25a69ce4ab9af0234a109878e0cc42a9b858dc559ad3fe82c4060539c08828c51b337b7c0ea768ba646a2f04900a235a4042b88e8934d3b62821a13b67a912f162aa80953cb71c396d91b91521b6665062551e0a6ce453c233460789138cb16ac6e598f670c70d6325804cc494466710d984e3ea551f5ec60c5031e94421919f62c301181831b7fb4fc61da443fe12784cf84b5ecf240daecc87d711aad10808b96233d345ba80b0469797dc03583214355e8e9a356e367a593a6898355ad129a8546a0d03b2279021889c118db3583da691a9ad544086540bb2178b2125f00c94ae753038486b6cdf1cf7e5a2202290b4e5ac807eb04bea95678b52ff76c4757c68d2eb9283b8766f1a39e06c999015b1f1d5c3164338aeb432d54b338c361b9a7258981555fc2563e585a6ff60886c32343e0045746e50fe78a0a9bcbb6281abe3474ba50e1267b3276a1327a8f128e2b5ab077618c59902c35488553f745d2a0c942b81c0aab7afd0c869b9b9c66c1847257cb22b018b81b25c468a9bc35a180b090f4bb90c4ec035c0078b799046833cd90f7bc2678cab9b75b95a6b457dca8fcb84937c01479a0b7b6da9643da507a2b8b1ae25373825189729bda8b35fcea315b3b359705cd5b486582379093e64f431309f0389ff899beb4c3ca9689b412a210eb654f183362ab8398b1e3696df7432be662cbe62666471f2c056504a5c1c91017a6326acc7306524058fd0937ddeab972b00734f60d065a1ba8655dba3093d161b99e698fc778b2fe782fa8ec7c62d422e17b24fd107b87a8338ae7af6994c70d959cbfc3720b3174b9658f5d43713cd47325eb926320073f384f04e6831435524b686f2cd377c18363f8e554dbe6af09f93c2ff2a1f4a87159472e7d7a4db9243a1c6a636ad50735b870f1297b6d6b5303e2552a54aa5991340aa40301ca2d6bd9a765b72fbde1c3c44a7649ea350e00cde59628e06acad29888c9b73cf0aa65d44b60f086c21c6abcbd544295317b55ea9ab1117989ab7b7304304e5612119396727943678c31cf2b1779c946b82420a557a8d6426263d33c7f71591c7857e90a7fa05158e315ae19d1046249b3011b22291cae30501d1423674824b852c34c97258ab972af6c5195ffa20b6cf05ba0498a529756f173349bec8c180869293c5967454d01cb3c8edc7a3a776dba54c37513727a69caacfbaad8ec4a529a1872ca25cb4a99c38b225e379ace27485d8b91fef9ceb97c04322b59f533745d23720ae457fa11b3a0b831de777d07f88ed1771fa1d89db9acbc7bac471bd423acac482bfb29de13881aeaaae2f340c1e747a73b9071cc551ea59b03646b65bc2e6e04875754a77025985a026adcd321574ab45cda47134b560219338fc93b0a398d7f85169b4b32c2ec3a06529f8e3a57fd353327b03f87d5cb60c67074146fb460476c92619d9c23ba7a371fd9425cfc6486992959109cfa1c1a75ab9eba4235af63c6f8648ae7855a4eab5c9d3923386996181980b16b02a53060e5a64a8cf3ced087bb64f93693ccc0e77aa355d741f1f562692477ae0082a4e73e21f05fc386a8b32b09a4b79c41612eab0c29ffe610dea9713da3680be504f528b5eaab6d5caaa20c7221aa39345ad0b6aeba27a563ab6e1b65fd70a81d4cb97f6ba16e35773aeb8c1917aafc9b8f5254380395a41b474b27463f42e7c7b008a52d4395131c13cdebb7effa846dfa429af7393f8a688203bb6a814467d1bcdf931ad12811f22c0a0aa3c1949b2eb266c59aaa542605319b233769544070171801417816f730391a4d5d09127af868d8ebbd58b767b1aa7015dabef5b32b773b9329898cec8c94d80630b8447cb1c17c3c400134217c0acaaaf73b4b03132d779523e0c9cc52d28693da3dbd5507151c348b11898ad548ea305ca0484c67f1c70435c84096117702297f0094113b1c6ae66b25090f9b22a15cea69c95a2b8801a6df8611dbbc4cb92ccc21424f2a2537ad50206cb4bb90935381e62c571874f283cdab005254220d538115a75298e440924e9a3823d69a5eaba0ac73633179040f95a14026455f9403a0eb8fea64c6c0da5d9a16254d897856a1486c8b2f773c18bab3cd4f80c83dac6dc9796100886d14b4085bb2265bd9c2f021034ef1083d58afd447ca55526d2691781d409649e88f43ca4e9b4aaf9bd9588ae52d126692b181817abb5291f660adf3a0044a0c527b233327c0f9db047c9415c806414bb0758dfab9a7d3c28484578b6084b65ab0060ca20895c6bcb5353d295db2eb32170b5a214669d4c4971a1993c1b98557cb5f76e5b8e306aca954b04bfc6f0b0ca903a66db333168c32033375a0321a287e133a9aca8eab024a85761ad4776b03a95130d0178f93684a2c0a519501ee5b85c4c3278e8b4e7b2b461cd4602a7918767b315cbcb885410ceb025f1342c2388637eb69ab0fc21568b1178ef3669a1b9e4fc30eadf5be70143ecdf543f1cc88e05a109920a5f3b4aabc0b8197783e8a16b1e06bc5e7089cc447186830a1d5bcc8bb31a6e91b691a65721791b0334495cd014c134617a3318a7906069e0574d83c8a44326db67ccf94a0a735942de923b5a6d55b087b4390e975e6b3aae4606abd3500fd54837ff875c54bcb7b5739ddc0adab741e57946ac0948ccef5ca791a46c669c552b97ec35633a141b92de18b0dba46ddc64431920938a927c255ab78fcbfc9653e1c0b8a0f42489674c0f79c30cf8a5073a06fbfaa888e914d53a3b6a86418f5ec6dd5a6b56973bdd9744d0ef326ab49291ba1b1a9f1a68da542fd944b3b88c6c364752fa6233d27a792e6a040f1824120ae9afa707d7206966a4ea361681627cb346572619c9a7d539db7469e60177e98674398ea296fc3005800c5da17a80ea06ad23a265ab7293401cdfe3460921596a7c228c883b0e1e48365fb02eb50950de3af481439dfb98447f3406c81161e643f7095ca8c7a40b6d47f13d338be25335438cc457b3e99c820e1f258825988d4827b5b1506a0129648101bd18823b2f2c2a142387f1a067a295175f5922eeb1de320711f0b729971bc7647889ee86cb5f44363a992369120dc837dd474baffd381253680f00675fb380bf96a89e282ae67c32b94ab48e35029145748eaa76037a98788c45dde75085d9c5523a7309804745f626f89362f7ba94738c5b9ba0b11bf560e855356e8cac1195cbb2921bfdad80db6b3bd9916a7c6cca281914f4fa5ad26d00e6f6acae0db49ae970755d16b2069b1a7ec0d7b879af301a9bf5519683bb3a59b066b62c8d150a316508b8c2c62a7f20fae59b3ccb0cc5e21055c7a638e11242c39855545b0a880484fb555f0fa4bb059ab05457bed820eee0767470628f81a321f113a8158a1ad1367f11802f71b90a8b4a1cc3c16552c11064ac01402b8b4b695d19ba74991673a963537b2ab14333633e04b0859472ecac568c87700a5076c8c265a3b0662c4250ae5cb53771cddcc2473f7bcc52ca97ba018beb6be5ba5420f7b2882f3acffbca13193c71eb60d167c1d9b256f4706a19204a017204ad28b6a0f607d61a97cb578cfc9633ba9d6ab84367cad900e5ce147ac935af727724af3ac8f0c86ec70034ea7c7f5330889b402f6b7be7bb6c7751411120a5b6577c131cc75667990c0585caaccb1ae144140d47239b7adb311b338dc8a8e5b10c08b3ae26c945d680f4ad35dc07639c581301ca981be25075363b8d3a6b2165c99c0b61c298a502123c40e1cc223b21efabc1c34576e206456cc082cd4048fbb576e720bb967f5b58763342c98ae883cb24ca32e06398c56eb6a7b697df092926a8c76dc160f0c577ab476303647bad3b6951949acc2a69e793807a77c7ef163a25c842723d85665b121dc8622772caca988c5e8281d2e7055657100d31688b09104d0470d8953b82ea4c6afe50bb96b68f5524ac3a5a92cd26f26b142e37920ad36111226c763e3ce29c9c1235c8ea40995eb867ea8e844ed819c10f62172c52558667f4121bcac1815ee2806d863c22f10a20e74425f6c22b1900b520a5041b0a7f5842ad0fc0e19c893d7e42b1ecac89d9a989d8c45dedc5621565e2e788147c42ec4dc6a8ca22d4a1904787ac8b75232bb13aca7e30825e865bde0ce8ef1c7e2172d759873db265638fbacf7763b80fb4161417559a32c2d6cce4834be3316181ea4c5cd29687a498953998783057df991300f224324b207b723607961622f20377715b3dba61b94849dea30e28720bbcb90c7af7feb0af619a0cf57d173405c8236fc15e2340175a2a64ca1cf31a4b38ed5f797aaa8acb0c3d2ed9c19c7099f273e3a1bcd39c74c1b899ffa21a6fe100804a551199d32db4a75e6314bfb58f70e +m = eec1e23e58387ea5247e118b6204176e01c8fde4ebf069f4b1a460713b5d5fc8 +ct = d34496a1a3bfb8c7f4e94e2feb654c384cf002363201281589b44369602033d98f09ebe72dd9f32d661f6c8b218a1bb6a689da7696e5c8a07a47609c6cc25f7d5286290d67f0ba1869a83d90011ae95e9f92728074b8efd4e7192937238ca207fb5b08dbf2faa5d010598b88fdeac248e4487709e5bf78725abf8e0176944aaea9f5722d0431a232ea7ac79fe860fe6b6443b53fb7ae2a7d81930d07682dd77b2a8d45a726c629db4ecdae05d7a34e880e2fb1e861afbc72f2a28e3ef87728750710744496e241505afa5ff3ec06e0ef32e7a282d57f5ec0681ab6e72726047e15bf264de20d3804ff92a410c6e9f97e8fbbd6da25865ddcc4f63ba7fb18061cb7e7f0711ad33c1d550a50dbc69736192f18caf2a0e225b963bb5ea4018891166dfa8a0466a54c31e2bdf8a479018b2a86ddf3d19a72fa100382a02f46810daf00a45cecbc7e18d72e7714b181d93d78fb477f32a51eefa8e237dd0e3f5dfff188db179b9a117117394e67bab2b9f012316586f81e51b760ff80d5bd5c152d3b480055920b12ae45008a8606410d62c17c216c4d65e862233c161abb6189bad5bcd3f667094ae94418df6f874321bfb865a4d179e05bcf2c710f07a3333d84077a9bc3ae9d6fc6baf7ea1bb61cb5d3d6430159404de73d24bfa8b3fb8956125c8dfca7c4a6c07eecdd178841b3476d11e92e90c35fb6498e31a9b4aca04a60a6a04c1620bc71c82d2b2e83a84340f0242269b47db3ec7ffccfd510c340847e4f2db12d498baa9ecdd44327da3ee654c456dd3f08ea6d4b7ea55f4c61a3aeac21694e270b6a5009cb0d4191f8759008d03718a9d879d833d936ef9fce616727571099a40af7e2aa7452c8369fc4199d27eed1062c473a13a81606c60359bf84ad8a943ccf67baac390289e6fab31d84fc900f31dd8df8dbf5322afa7bb304c55dfc86ee8699f7f803df98c1b79e8dfcbbb91b80933ead38ae97b9093e1c407ff5232b6b24b599052b4eb782084c421fdf71e5971487f25365664e36cd7aa1fa86589f0b298ee1456b41f85b3abdcaca689db9df858bfe176d147d25420a26f8a16b873704cd688f84863ac1066c17a955c94ea57b086dfccc628cb18236b73c8da167796f4ffd8d428ce430c8f71341919dc64eb4593bd2e4fffe2dc8e73c43587a5c9608cf16748af1c2ed09f5a72de495e18daee9edba34146f3c3e83514361585f9065b9d4ae79d758004fc212e3edf53244548199a49d3ec5fab46672aca4d323a48f7ace013af97755cd99ad4ac46b632f4f9b7feaf332eb9118bd2eb1ad3527e82ddde26fb93e806f27032dd7526f552c04423d5b61c4557975caab2db708b4ea45163c06aee6e697ded181b4e659d707c51e57daeaf94ff3634a8fc7e788e603f63c24bfc3cf601349c24e411ab1950813852ae1db69be5c48c634eff213df948d0f001b147251e2a564423b4873aee95941828c68592a9096e0682053253351e60b2a0dee87a51efd55b918f56f99f76c5d77c3355180ddaf76fc37f433ad8900bf5b352f0de274924591ff8f6920ce10a4d35e0f12c91eaeafb77f15639f95f944e704d9aa09ba9dc8732954a9c23bb610a853262a4e48ef3e6e730a5e0ae5eda467307ede6ea52f286d0cc2b0fcfd70896e99d71fad28a461e197b9f3b4b4246c20acf036a7b95c3685c7ca9e9aa7c3cfa27f30ee133387332ebf7deba3a80d189b8cc3f7939900416144ed1d51901c75e4ca2b999ef93bff2d122b1e68faa6584930ce69a512d552d545935a03b131ba86fcf5e9f44865c0f5cc74fe7f521e0e9c359471aecb2d6e750df09c4aa11e434f2fe3be043bbe8e3363adc5ee34cc83a40e9a927745e6c1cf4332e54e17274f3b00776dc49e3f9ec77863f43399d2a2956861cb3d9ce92d9e08328a8d13b9deed29af9d6dd391939701ce3c5a8a61a0150a442eacda3d9fec48b838e325587806e65224485f1fe1a541fbbcf5b035130795892d680d9f7a77556bc9254f870f3b9cd3683f6f2092de5e554d54c3550992443b63a2382f87adab97673edad6791125540857ed17350dfb9022c59db08f9bac7c163481071925d53074cd8f834c736a035ed719ed0d8ff821f0eec49e965126f0a8c20d56537134b60de4d7a4c3cecef8068825e59572c30c6d780fb3f28a5a2dc3c0532c559b9365fda675ec055f1506b0eb2ca2652b2e1b +ss = 7f6f60aaca664dfb83caaa9b8e426fa4b34a8d6e77ddd9eb1775c2719d8c2611 d = aa6dd1e5799cdf7af9c4fc632b3eb9d51d66e85c8e0a21ec98664fc51ab63c7d -z = fda268813efab5204efa60f78bf81d320d01ac09ac06244f7afbd2d80fd356d9 +z = aff7ecfe33efe4042a44f2f801170616925be8cca1bd1812a7335dcd80f9cf14 pk = 935770f4970a8e4b7b83c12a1e44c3eb360b42e77bd4435fb6f65cc14b894c387d0445af3f28cc2434138a07a667e5ac6bbba72dc3b7eaf788d8621dde4034a430c2de165b313733e2daacead1a014fb09d5b834411b8325728eb325b12310992012a7c4e05dba5017a59ba9777a9b3d5a681f79252e1c15ff8593bef7cd3c059153435bee16cd2b8433ef80bb21cbad40c6b945d7b6ddac39d0d0b558c7a42d9bcc701aadea5707f77498d5527e4f0b0bee834946302191d06f46116a77b884479a75a585a0c2105343584aeef31bd8a7aabbf669a2b2518f3805be390159b974ce43c83ef68b72024a42a942d8a03ffc5a5429265214b68dfd4aa094ec4e1bdb6d8295c36cb50fffc35c6a8b95172a0416130af7560ef1020ccf09c400101705ec1305ac95ca03143d22c93d72bd07e83afca94ec379142bea095c754533d802183a9b3cf2796ee2988184076d6c2235f39d250b080750762a0a31ffd26130700f6799867cab43841ab906377ee5bb48dcaaa3bf79584af9360c937fc371c1de16bf2ba57359d060328a8cc01b948ed14197286ad0e8acef142dac64b4fe260cf066886c8ca9292ba2b3315a2d719c53b7acbb5125bbeb8d3df4caafb08ac54b8aa2816d3b44630623101f3b69e15c32c8e6912d61cdb2602734b206863c9b488431d72000e59c36e031471bd693e238314bc282dd8b4702d334e5985a8e89045f40652300a9dfeacf0c922e5b631f00c434085c5dac53bb4637c624c80dcd59a2205c8c5717554c114999e79b7ef020b7961f007541d009350bcc427aaccec0b0c9e3656214255689b24ae3cc874ff7c0574b09f0d8223e4c19cfb381a8c72f7324ad9e600669204b2590bd9ff6a589d26e0f2bbe575c39cb304ed5c8b692a17b65a7a27623144e7248eeebc4ac80239de04e8b3928e750a0bd44c30315647b5a6bf3e5955971c9f62b44ee01221ef93fa76843be32408563c111447541d98263212cab014e7897afbca8618a27b56bb9725aa1b711315e30aa445537bf02a201e5362e6b6b82f52506cf8c1e82f7912612b6e9126b7e725b30451d2001b76cb575ebc847db9b2a048277202b1434f9c936da846a6773dfe4193d019c7a7601fca114737559df7aac095849692831156a13a9060510e05bb9f48a01506a08f63ca5cb4b032962b6d484e8cb742b0709023b9926562bc83c72c047833e27760d6a8a8c559a096600254909db3668b0e2c8bbab67413827a2c808bf6c2662553b4d9166a152931f30031fb15822c12462b714276c743b2691e69321946cad96f9bd71982f47970fce751b013630f5aa90334c657d286f94d325333b64c6bc9955e859f8c51c1961400388bb9de91fbf4bafe8853b1ce98e9f1076af1406458b00ccf021da408575e126d850a3a1d51f31069194d65c4df88b94d8b43a4b6ee651654d6bc72b8c283c49093eb3b1dadc9bd329b11862542da3b770657318f13fe4b07b1d22482c0410652a3b52c2216f3028fa47c3e5934c3540b644a282729196ca366e1064bf5e57ae739229e3f092c3cc91e8e833c4e314b6cb91e6873f35cc4ad2b60281c862b9d0ca89aa0966713ca0e973a766cf303aa1082266923cba1ce7a91964440d43878fd359583c6de0f5c6c86424a1096d5bdbb843990f0b8285681bba7ae82008a56f992267133b7bd1a55f0fb37f84d6b2609cbc49c968925069aab3498ff7c986f522b0f2a1512a8cb5a6bebbe62f28901f2c5073896381255912fc482e9ef57132ea5f5f61b36a5a17366cc924d8859338cbff9782d168618ad6a7e53446bc7ba73c86b8aad129ccd6c796b2883ff989650c04af16b339ec34912226f586286a553db3362c5e1056a369b22c1467cdd4a633b03585f82116510127aaa1459b2dfe049e6f191dd7cb4d0a8ac5df064e64b9021440357c4562302bb0ed0a6aa94ba1dd55a50829a574007608bc61508a0f17d41dc3bbcb8e91c4dee25d2ea4700d905348026046450ad0c2768ad72eb0b770d45a7416c041160170b8511da2958f44c9b06060183bb37967282062e0a93eb5bb4b2b15a4152c6f19b730b724f94aab64b60b7ef5080b251ae0290746c249b1a76c96825653a89914b1ce70982d3cd437837854c6d28f871999073b1c2024088f9b8c1ea5c3f4e86dc76ae2b345932a0e7025f8ce6101884469e31aeacaf4d77e3f1201bc75 -sk = fa198bb15b4278509dc232002c75a8bbf1853c474c8248b5062821e4d77fd5880979922016d17377f76a89ab9477a1024c9780fb728f6df3295666828143c52fe817b9688c70eba292d2716ab4970840abc4603f597b5fcdeb0144813602242625a067ea48b426738dad0ab986369aa5326dd199c72212c59ab20c8f63429683721a2c682c5aa853b86542698732ab86fe39c340db2d452286fdd599336b9923599b66c144c0c7848c20a6979133fb7b5efa3726a4f44389cb93d6a9c1b7e300cb852698c236ac00b2855861c88bad062a25423362c7774c1626834ee59880762508fb518f926a3f475d01aa8e5c8c4140537091d494af66b0e9426359032a2264af67e63541c2408b1853f87c68c28c8c13417f94d77f6ac3315f23405c233e14f7762c152609ac34842553de175a6fe1c08b44baa9d15cf09a6049b05b69f71df322171701ae91d050778a6754e374878169181a2e1336677889318cb54218ac055491b918bc2553023167151c98b30e1340403e0c59b3252f4d0c85ebac1877798c41aa43c5c7b738b7ce116428c049370ba6665be646b3125aeb947b1f3b2ec5357c7566c13eab148c453d6b2274a9295a06c822df9222cb2026f19603b5602d08d46d4c71384e776af2a441894826e4559f5975c586e47bc0236b4897622ae4396160334cc97aca101805814ae44786d1e445147a4728275c32554b9bd148ae9605e10c5a6b556704f1c17297a32eb311f1e92ee5f160e8522e06554b93b5c796e44086e75d236ca88ecc533c3b348091891e35639bd6cbdb3a408720b6e3a328c4268454169267a5c5348703c412c58846c192e0a162014600dbb351424fa8d0599775bd2d851db4b07438f655aad6402628563db3a435f75d440636cd64041de162d178c923490839f190f106be0020ab63e7b3eb718a4fb59e01057c416c330cc26e485a6d9c72b707da0b297c0a25247d26d40f044844c2db883a5bbfc2b06f1bfbccc6d10b65c9bdbfb806d7a04cd71774dd60bc423c1dfa897a0512365cd54a90ba6ac509298bf6455363583843925281aa405c291f11695cda995a9ac5f742351560b38f8720d66327b4dcc47626744241679247cbe42695b8d81c37c718cad53d1b318f9f900757267c43b982f26639901028f8f636c35091f1ca90a1e329d5cb069a918f45a078f33ab4dfd248390627926aaddff47ecef1718b2b048304cd40e72fb0872b6207856a61bd764034e82bb426747405e1ae5b93c63cb12c7bf09e47e27117d26acbc102b043616e60b714316dfc17306a77800ee87e03e4b74759794ee6943dc274aec1a08197a841e68f258202b1124803064f6e3295dd51ad18949a5a383a81363bb00118a8569a38d138bf8835362c723e999402d3cf728b0e11f647ce2b9390615b9e50487e23cee6f9cefc4a1ce5e83d28d642e3c16934b43931158ccef3832a457a5e833f317918858807ab084f687a394c257abcd8435cd717d1e6b79e78a37bb71a236729839b89a9905b5d935afdc2c1e6c71c597898c6a69765ba05e9784b7849c685ab5b6de3358c6299d8a4b075045d6ee15b639601aa95603a67378157b54889c3021453e373208cd06c0deb7747e411c2150b7d93118870818d5502490121a43898dca59417088eb0d9ce88497b12294687619053d9beab9a13c663b24058b620826fc7b03442bc998f568ca7f570dc638c0f781114fa6642e2cb4eaac2f638c85251c1f99422b13a1d58bc541de67069a228098bb61ad060a39cc5fa5b9495b79c92993f97284c9a657be1e528ae333061759c38a5a662aac58d214b7f837311c92e5d042142190446aa3d646495554cc7f37656ed89749f5028b1ea008163b5bb13244dc41a394a18e589a85a2bc4e71b596e15b6fcd64c59ec031678ac9e0a439b6a31233c0f1b6b5164320f74860817cb3a82f79828191300c8b9543a5b1e2c59b9c6867eaab23c542787262233578c1ff30a3a1a06991343962119ef718cb35080c6c785f91709f8b713ec7b1f47bb9d2f1c9d394cc6fe24ce45840322912f2288335ac78402c2cac4614b93a97104719a68963696a82477dc43a959a9aeb004ad3016ab18a33bcb3f61f731f91ab66d61867a94b2729c01c3d50737720249406333acb1dae84c9eeb89935770f4970a8e4b7b83c12a1e44c3eb360b42e77bd4435fb6f65cc14b894c387d0445af3f28cc2434138a07a667e5ac6bbba72dc3b7eaf788d8621dde4034a430c2de165b313733e2daacead1a014fb09d5b834411b8325728eb325b12310992012a7c4e05dba5017a59ba9777a9b3d5a681f79252e1c15ff8593bef7cd3c059153435bee16cd2b8433ef80bb21cbad40c6b945d7b6ddac39d0d0b558c7a42d9bcc701aadea5707f77498d5527e4f0b0bee834946302191d06f46116a77b884479a75a585a0c2105343584aeef31bd8a7aabbf669a2b2518f3805be390159b974ce43c83ef68b72024a42a942d8a03ffc5a5429265214b68dfd4aa094ec4e1bdb6d8295c36cb50fffc35c6a8b95172a0416130af7560ef1020ccf09c400101705ec1305ac95ca03143d22c93d72bd07e83afca94ec379142bea095c754533d802183a9b3cf2796ee2988184076d6c2235f39d250b080750762a0a31ffd26130700f6799867cab43841ab906377ee5bb48dcaaa3bf79584af9360c937fc371c1de16bf2ba57359d060328a8cc01b948ed14197286ad0e8acef142dac64b4fe260cf066886c8ca9292ba2b3315a2d719c53b7acbb5125bbeb8d3df4caafb08ac54b8aa2816d3b44630623101f3b69e15c32c8e6912d61cdb2602734b206863c9b488431d72000e59c36e031471bd693e238314bc282dd8b4702d334e5985a8e89045f40652300a9dfeacf0c922e5b631f00c434085c5dac53bb4637c624c80dcd59a2205c8c5717554c114999e79b7ef020b7961f007541d009350bcc427aaccec0b0c9e3656214255689b24ae3cc874ff7c0574b09f0d8223e4c19cfb381a8c72f7324ad9e600669204b2590bd9ff6a589d26e0f2bbe575c39cb304ed5c8b692a17b65a7a27623144e7248eeebc4ac80239de04e8b3928e750a0bd44c30315647b5a6bf3e5955971c9f62b44ee01221ef93fa76843be32408563c111447541d98263212cab014e7897afbca8618a27b56bb9725aa1b711315e30aa445537bf02a201e5362e6b6b82f52506cf8c1e82f7912612b6e9126b7e725b30451d2001b76cb575ebc847db9b2a048277202b1434f9c936da846a6773dfe4193d019c7a7601fca114737559df7aac095849692831156a13a9060510e05bb9f48a01506a08f63ca5cb4b032962b6d484e8cb742b0709023b9926562bc83c72c047833e27760d6a8a8c559a096600254909db3668b0e2c8bbab67413827a2c808bf6c2662553b4d9166a152931f30031fb15822c12462b714276c743b2691e69321946cad96f9bd71982f47970fce751b013630f5aa90334c657d286f94d325333b64c6bc9955e859f8c51c1961400388bb9de91fbf4bafe8853b1ce98e9f1076af1406458b00ccf021da408575e126d850a3a1d51f31069194d65c4df88b94d8b43a4b6ee651654d6bc72b8c283c49093eb3b1dadc9bd329b11862542da3b770657318f13fe4b07b1d22482c0410652a3b52c2216f3028fa47c3e5934c3540b644a282729196ca366e1064bf5e57ae739229e3f092c3cc91e8e833c4e314b6cb91e6873f35cc4ad2b60281c862b9d0ca89aa0966713ca0e973a766cf303aa1082266923cba1ce7a91964440d43878fd359583c6de0f5c6c86424a1096d5bdbb843990f0b8285681bba7ae82008a56f992267133b7bd1a55f0fb37f84d6b2609cbc49c968925069aab3498ff7c986f522b0f2a1512a8cb5a6bebbe62f28901f2c5073896381255912fc482e9ef57132ea5f5f61b36a5a17366cc924d8859338cbff9782d168618ad6a7e53446bc7ba73c86b8aad129ccd6c796b2883ff989650c04af16b339ec34912226f586286a553db3362c5e1056a369b22c1467cdd4a633b03585f82116510127aaa1459b2dfe049e6f191dd7cb4d0a8ac5df064e64b9021440357c4562302bb0ed0a6aa94ba1dd55a50829a574007608bc61508a0f17d41dc3bbcb8e91c4dee25d2ea4700d905348026046450ad0c2768ad72eb0b770d45a7416c041160170b8511da2958f44c9b06060183bb37967282062e0a93eb5bb4b2b15a4152c6f19b730b724f94aab64b60b7ef5080b251ae0290746c249b1a76c96825653a89914b1ce70982d3cd437837854c6d28f871999073b1c2024088f9b8c1ea5c3f4e86dc76ae2b345932a0e7025f8ce6101884469e31aeacaf4d77e3f1201bc7526a1b77ae8a807e9de16a9ede5da5aec3ca5f23f5ea00e455d4a091467e6ac6dfda268813efab5204efa60f78bf81d320d01ac09ac06244f7afbd2d80fd356d9 -m = 17fc65f7fbd7c75ceec421dee84dff5a8cb22764a182db17e0ebe857f54d60eb -ct = c22314300e0eb3fbf899246b974f37b2725130a3d3b7997ef78d78994e6525c1c3a2da936ed4dc106595f2a2bbaba42f8c7f2c42f6d584e3b03e7db67d921abe8f471f917ceccdc7b2a7fd6dbe09bfb949dec88883de781015357f82ce2dd3bba0aaa9648a1977da75a62c49cde4a53c55e06d4f691eaf2db90988a4e789ae8c25ea622ba444efb5b20864c17020eb0278cec73f1c864e6acda82613914a467db7bf544b65a64fc8b29a385dfe7198b9287a00402731bf98c69126d8e34a8d8bf218a072a298967a9ff88dcdf7b743494698d28b048d80ad641ef11457d79b1c3e5d8e3af96a26c0e9e9c0a15d16f332b88ca7c1c4e5591b040199bb475a5f1f8f9e68f598c3bfd964e2883c83a9661d06176b1e3bbcf8134346bd0bb63f0f9fa57cca663b7c727723c3585a3ee0ec6180d1c9a89f347f8c5477471ddee157d420dd2bf4d0c1971ddcf5431c99087b1a8a92d236953f8faebcf1651f98c7bb9e0814bc73847cd0e0bc4b61b8eb8e383863556cd1e032e4ed1b606c40a72ce82d80f2597f6219f9f80c03d16d4461b4537ef7aee002d415184322cd6240c3e3152f0b3bfde63ed6b6dbf7958a8798fbb77539709eb052be21d59beeb41f9fd72e824a689ea29f847620bbf9d9faa390b2b7520262ba0afcda04cbb6a1eacdbe5b116dcfabf990124fa9916a9f3e0d913fafbc9cfeb204512b7d0c34f8663a63d186dd330980c25beaa692a92c4abbf8295fa3d16e4e1fd24a89ecf410ad5b22b8216ece443b0ed6056b487aa7d72a2abb35033a559af46844d35321623eb90f16824a040d1d223fbc75bf2be16b4287535cfc0634ee13a9a3d4b698389a3db6d79c15a1a0523e1dac3caf0e6d6067d99030fa5b8c2377de2f5ea12ec83b0bb905929befff1eaeeb9a2910a5f5462300fab719c29aec41266e57353dabd8291d6a3c5a7b1c063becedc9e36bcf56eb68f87315f26069bb5d393b71c741d63f20f643a99f1451fa83fe41e938772a08c587a86eef0c689bea4166696425ece2ee98b052ac74258db82f65052cdfe2ca7dbc63eea473de7fcb8de3c393bf854953ef06a6ce05a55366c1f3c521eead18ba9a0ac1f369a25bb742e105923d41203a78e18ef1c1753f77c6690bb83f801a48f764c4f79f6b99b25c33d465fc649766c49481aaa23f9f905525bf7590f7299def2bb42ee444a58e1165259db11cd1382e0c495049780a939079bb2ad3177e4aa7c2b13cff6fb45cb02691368f5dd7ad2dbfaec9eec02341b7b0e55079c39c1a5c0bc193c863ccbfe3cfff01635ff11cb19b998054ef73edaebaee1e3f05fe86d1e96a5c8f7312360e2fe5580a7c2f1bea743fb8729f703bd11d9de7b665d80fff0d60bf5233668b19d38ea74b8d1d70526026a7b6a1e32dfbe50719dbcaf545c2ab8b2ef662eb1fc0cd0c9e5f8d31a68632e6dca870d76a82585e779114dfef16e8f02bc799ca8a05700e499b5ee291ba82e858c44949c40d4deae06c90098a2327bcba41be2b1efee112238cb013c0e587ef91dcbcd3ce067cf2f2f3f5305c8984a6d3fbbfe1dcb87bfcff571f13e14108b9707c870357adf6e592a8846c99eb449fb2f6e57ecbc934255e177362ed6b60f64efd47a958df387cf1fb76691fc30dd216c57148c0cb66fb3336ad1c60fbe930ebaefad8f2dd43705b1a2b47071654d815b4da74262e0265928b3e679276c0186bf4641c908fbbedcdebbc34a93852302b67cfbea67c6e3d65a0a54053e2cef917200cf5d6ce7c7f7d908a5a897c1b6450f97ec8df28b9459f4d849d704d2d09bca0ef134c52237cae19a586ae480216d8d538ee7078f0acff222c08b588a2d82d99b5a3d0aa4984e5d41894f52048c2c9949656b154647adac2ce068d06cfe965c80f802d6620d40d6c9cdfcee3825d10ca98691750550f75bc37d857a4bf51764ddb798da5b639cf1cbb1d5fceeadc4cb6e7155ad1aba4b704f51f7d7ae3c91de2065a482755a039af378b83645d7a5b133955b093d18bd4941d2dfc44a1363cb8e1ce5c882ba7aedf2d9c0d07478b5b0062ab6e5943f8d89954e0f25e5a68e3c7bf067574af921d5e0b90126a31c81bf6b37c52c3d7a3453988bfd8dc939086a4bb5b2cc2ed55905e49129311a352af3f85413665337fe184f77c14e3f3cdba37c9c2e2c6881d2f5dc4855335ed8e57a1cf555e1c4782b9f7f04ca823 -ss = 54390804b9263d9de67f3ff064f6d3c8318a8fb06305abe835c23c778368d680 +sk = fa198bb15b4278509dc232002c75a8bbf1853c474c8248b5062821e4d77fd5880979922016d17377f76a89ab9477a1024c9780fb728f6df3295666828143c52fe817b9688c70eba292d2716ab4970840abc4603f597b5fcdeb0144813602242625a067ea48b426738dad0ab986369aa5326dd199c72212c59ab20c8f63429683721a2c682c5aa853b86542698732ab86fe39c340db2d452286fdd599336b9923599b66c144c0c7848c20a6979133fb7b5efa3726a4f44389cb93d6a9c1b7e300cb852698c236ac00b2855861c88bad062a25423362c7774c1626834ee59880762508fb518f926a3f475d01aa8e5c8c4140537091d494af66b0e9426359032a2264af67e63541c2408b1853f87c68c28c8c13417f94d77f6ac3315f23405c233e14f7762c152609ac34842553de175a6fe1c08b44baa9d15cf09a6049b05b69f71df322171701ae91d050778a6754e374878169181a2e1336677889318cb54218ac055491b918bc2553023167151c98b30e1340403e0c59b3252f4d0c85ebac1877798c41aa43c5c7b738b7ce116428c049370ba6665be646b3125aeb947b1f3b2ec5357c7566c13eab148c453d6b2274a9295a06c822df9222cb2026f19603b5602d08d46d4c71384e776af2a441894826e4559f5975c586e47bc0236b4897622ae4396160334cc97aca101805814ae44786d1e445147a4728275c32554b9bd148ae9605e10c5a6b556704f1c17297a32eb311f1e92ee5f160e8522e06554b93b5c796e44086e75d236ca88ecc533c3b348091891e35639bd6cbdb3a408720b6e3a328c4268454169267a5c5348703c412c58846c192e0a162014600dbb351424fa8d0599775bd2d851db4b07438f655aad6402628563db3a435f75d440636cd64041de162d178c923490839f190f106be0020ab63e7b3eb718a4fb59e01057c416c330cc26e485a6d9c72b707da0b297c0a25247d26d40f044844c2db883a5bbfc2b06f1bfbccc6d10b65c9bdbfb806d7a04cd71774dd60bc423c1dfa897a0512365cd54a90ba6ac509298bf6455363583843925281aa405c291f11695cda995a9ac5f742351560b38f8720d66327b4dcc47626744241679247cbe42695b8d81c37c718cad53d1b318f9f900757267c43b982f26639901028f8f636c35091f1ca90a1e329d5cb069a918f45a078f33ab4dfd248390627926aaddff47ecef1718b2b048304cd40e72fb0872b6207856a61bd764034e82bb426747405e1ae5b93c63cb12c7bf09e47e27117d26acbc102b043616e60b714316dfc17306a77800ee87e03e4b74759794ee6943dc274aec1a08197a841e68f258202b1124803064f6e3295dd51ad18949a5a383a81363bb00118a8569a38d138bf8835362c723e999402d3cf728b0e11f647ce2b9390615b9e50487e23cee6f9cefc4a1ce5e83d28d642e3c16934b43931158ccef3832a457a5e833f317918858807ab084f687a394c257abcd8435cd717d1e6b79e78a37bb71a236729839b89a9905b5d935afdc2c1e6c71c597898c6a69765ba05e9784b7849c685ab5b6de3358c6299d8a4b075045d6ee15b639601aa95603a67378157b54889c3021453e373208cd06c0deb7747e411c2150b7d93118870818d5502490121a43898dca59417088eb0d9ce88497b12294687619053d9beab9a13c663b24058b620826fc7b03442bc998f568ca7f570dc638c0f781114fa6642e2cb4eaac2f638c85251c1f99422b13a1d58bc541de67069a228098bb61ad060a39cc5fa5b9495b79c92993f97284c9a657be1e528ae333061759c38a5a662aac58d214b7f837311c92e5d042142190446aa3d646495554cc7f37656ed89749f5028b1ea008163b5bb13244dc41a394a18e589a85a2bc4e71b596e15b6fcd64c59ec031678ac9e0a439b6a31233c0f1b6b5164320f74860817cb3a82f79828191300c8b9543a5b1e2c59b9c6867eaab23c542787262233578c1ff30a3a1a06991343962119ef718cb35080c6c785f91709f8b713ec7b1f47bb9d2f1c9d394cc6fe24ce45840322912f2288335ac78402c2cac4614b93a97104719a68963696a82477dc43a959a9aeb004ad3016ab18a33bcb3f61f731f91ab66d61867a94b2729c01c3d50737720249406333acb1dae84c9eeb89935770f4970a8e4b7b83c12a1e44c3eb360b42e77bd4435fb6f65cc14b894c387d0445af3f28cc2434138a07a667e5ac6bbba72dc3b7eaf788d8621dde4034a430c2de165b313733e2daacead1a014fb09d5b834411b8325728eb325b12310992012a7c4e05dba5017a59ba9777a9b3d5a681f79252e1c15ff8593bef7cd3c059153435bee16cd2b8433ef80bb21cbad40c6b945d7b6ddac39d0d0b558c7a42d9bcc701aadea5707f77498d5527e4f0b0bee834946302191d06f46116a77b884479a75a585a0c2105343584aeef31bd8a7aabbf669a2b2518f3805be390159b974ce43c83ef68b72024a42a942d8a03ffc5a5429265214b68dfd4aa094ec4e1bdb6d8295c36cb50fffc35c6a8b95172a0416130af7560ef1020ccf09c400101705ec1305ac95ca03143d22c93d72bd07e83afca94ec379142bea095c754533d802183a9b3cf2796ee2988184076d6c2235f39d250b080750762a0a31ffd26130700f6799867cab43841ab906377ee5bb48dcaaa3bf79584af9360c937fc371c1de16bf2ba57359d060328a8cc01b948ed14197286ad0e8acef142dac64b4fe260cf066886c8ca9292ba2b3315a2d719c53b7acbb5125bbeb8d3df4caafb08ac54b8aa2816d3b44630623101f3b69e15c32c8e6912d61cdb2602734b206863c9b488431d72000e59c36e031471bd693e238314bc282dd8b4702d334e5985a8e89045f40652300a9dfeacf0c922e5b631f00c434085c5dac53bb4637c624c80dcd59a2205c8c5717554c114999e79b7ef020b7961f007541d009350bcc427aaccec0b0c9e3656214255689b24ae3cc874ff7c0574b09f0d8223e4c19cfb381a8c72f7324ad9e600669204b2590bd9ff6a589d26e0f2bbe575c39cb304ed5c8b692a17b65a7a27623144e7248eeebc4ac80239de04e8b3928e750a0bd44c30315647b5a6bf3e5955971c9f62b44ee01221ef93fa76843be32408563c111447541d98263212cab014e7897afbca8618a27b56bb9725aa1b711315e30aa445537bf02a201e5362e6b6b82f52506cf8c1e82f7912612b6e9126b7e725b30451d2001b76cb575ebc847db9b2a048277202b1434f9c936da846a6773dfe4193d019c7a7601fca114737559df7aac095849692831156a13a9060510e05bb9f48a01506a08f63ca5cb4b032962b6d484e8cb742b0709023b9926562bc83c72c047833e27760d6a8a8c559a096600254909db3668b0e2c8bbab67413827a2c808bf6c2662553b4d9166a152931f30031fb15822c12462b714276c743b2691e69321946cad96f9bd71982f47970fce751b013630f5aa90334c657d286f94d325333b64c6bc9955e859f8c51c1961400388bb9de91fbf4bafe8853b1ce98e9f1076af1406458b00ccf021da408575e126d850a3a1d51f31069194d65c4df88b94d8b43a4b6ee651654d6bc72b8c283c49093eb3b1dadc9bd329b11862542da3b770657318f13fe4b07b1d22482c0410652a3b52c2216f3028fa47c3e5934c3540b644a282729196ca366e1064bf5e57ae739229e3f092c3cc91e8e833c4e314b6cb91e6873f35cc4ad2b60281c862b9d0ca89aa0966713ca0e973a766cf303aa1082266923cba1ce7a91964440d43878fd359583c6de0f5c6c86424a1096d5bdbb843990f0b8285681bba7ae82008a56f992267133b7bd1a55f0fb37f84d6b2609cbc49c968925069aab3498ff7c986f522b0f2a1512a8cb5a6bebbe62f28901f2c5073896381255912fc482e9ef57132ea5f5f61b36a5a17366cc924d8859338cbff9782d168618ad6a7e53446bc7ba73c86b8aad129ccd6c796b2883ff989650c04af16b339ec34912226f586286a553db3362c5e1056a369b22c1467cdd4a633b03585f82116510127aaa1459b2dfe049e6f191dd7cb4d0a8ac5df064e64b9021440357c4562302bb0ed0a6aa94ba1dd55a50829a574007608bc61508a0f17d41dc3bbcb8e91c4dee25d2ea4700d905348026046450ad0c2768ad72eb0b770d45a7416c041160170b8511da2958f44c9b06060183bb37967282062e0a93eb5bb4b2b15a4152c6f19b730b724f94aab64b60b7ef5080b251ae0290746c249b1a76c96825653a89914b1ce70982d3cd437837854c6d28f871999073b1c2024088f9b8c1ea5c3f4e86dc76ae2b345932a0e7025f8ce6101884469e31aeacaf4d77e3f1201bc7526a1b77ae8a807e9de16a9ede5da5aec3ca5f23f5ea00e455d4a091467e6ac6daff7ecfe33efe4042a44f2f801170616925be8cca1bd1812a7335dcd80f9cf14 +m = da9c015b918108c1596309fe0042218de4c31900b8dfa6c1cec28ad10988bbc7 +ct = 707e5b831a86d3622a2fb3d61b9600bff5cebfbb43958f4b2b13baf71915acca275dbc994a52f5f346488b44a0e3203edc35352023aa01c1c1a302ce81b16bbfc5ab6b3e343d2dc132c6dcdcc1241f71270af67818c329f8862d2789b2fd27cc33868371362832b2aee9a2e16b19e3bb3b7a8aa70b34f3bb5aa28b5236c41a7db6135b1d39d0fc2a6308f31b7f49fe2d8cf4d0fd97f98fef25c6b85a2534182ca4609cd490734d6bc1cb3c48889bf92cec0db3dc80d4489ab88866a025c1734add26030c8cedd7114c534f30f9977bb36da2fb53c0d379b6f05e7ffbbad6087677e96661ac5c1f88830a86fdb9997ff12b961c0363bcc89369d6f86f8995fa79a4e342a2774f0bb1f368eaae47dd3f9a9af674311a8acf19a3387336114c7f90861a1ddf2cf3cffa30540bf0302e4be0c0df89e833fd4c328443e9525ab5fbf8ddd4b9d91652ae171ed15977e9db96c80c23c4a4cc754dc141d6a1b69e8dc20f593530f36ddc95fdccb347e73e36c512cbcc95fe350840fa393b545519110a729d9c4e5495d6b833d96196ad2016a9418bb3fab8ac8d457357eee05c89824c9031c63bae4de3fc52ad3d43d98a8d53be1587e3af4f9738755f18e23346b7f176a0685c49af4c6063b2ca4fd37eb8ec9da7425a89c841ad1c51a23f525fceef8f3ec1fed63c914a3f5424a933c1dc3aea1237e8ac6d39fce95466d91c59cdb4c12320fcd2f4522d07340cbf38f599d9b1b061f768f31df98e64fb2f1181cc2f47ed79d43000f84083c605d20a895631163ae961bb55ed72ac93c5f52bf007ce19b9f2f5a1bc6b99efde60191bfb01fdff662f13ac64b8d91066725721666aacc7abcbca07fa685faf8a33ae4bfeb9035e87a7e0a4e8831e0030f8291b7a5f0586594e876e7331ec7fef6b9322d4583fb1b38262a7e5ccfec658eeb0b698de9ce3367b65adee5fc3b9efbe3c2db5674f3d6416745049f758b7e347ea9afb47c80a4731efb7f6ec51308dce0116ce313e77767e60bd60dc3e56583450d8cae3f008b40f0e8319e91af882450552412f43f5af966eff87dd7b88568ab701dbadd400afce440eadbc7c22b6f15265b90f2092617c2410dc21bd18f0e0353a5b8826e9a67a23744fc51345e8fbff19ff308e9066fe97aae69bbfc382d77fe8b32fa78294cc8e55512f3254204da47135482fba3d9124b569be55df1a7fa397237877bd3c9c48af38dd881a11672503c21f644e1fc2b9971dd996545e8743ea36f4901d39b26f27f46ca421f2455a4e8265880935e128e9177dc684f769c6f0e95259a9f49e93834dd56f71f476e9c107ae149959f6e4471287bb8d6a8b4a90b6b2ac24e9eb6dd7b62a8c46badb15ed6c793db462a7acc6839214666d3011adb0058299f5569b09d279a9a49774cc20df910a47516a611a6ecc8b29844ed8b51ae904c2522cfc0f400a0e1bee691f8acea7a832e4fb934e2e59b3bd5dbc5e187f2e33acf8146ba621b71fd19f3ed93866490cd872b0799e4bd53e24309e381bef0dbd39dae0e95bb7e4091051952e0321dd15b6394e439aed49a00688f4b59421fc55bda840ab1c2095ece155f2635ced4f243ec2fc4c6e1b063d77b98728a5efe5aad536b74e44f1820e891e51f96b4857fd5299a21967e3194a72a20a626d6c2d46a11d77a33a503b3e7c8fd137f0e5b3287b1ef79a9b2896f980c3309ab89af20ee0b085969eb5b218e6120af373da794f745b765aae8dcf5ac4a620377e07e7e1690019fa31117f7709a971b55b0043618b14017160af387497b7cdb74db24b2403da2de7798250e0ca19760fb9a6e9ba8ceaebf9cd8f0d17d666fb8f4d397aa274aa65d494edfe30ad54e72c2ec558a53be7cedb75992969c076d3000fb952b6c3c9d2b578b5785bef6c3199a6cac4e6f833ddad92d7a9d69e3583acd488b66aa36dbded12ecc56703e5d698ae8c02ab472e10853211c99743d9f8c7a2cda8da2151e7beb73b810ad846e49e27d07b903e512c318e86f4cbd04dea2a74d227ae9b5c22e0c430294f4a80b63681e2524629723bdb4cc32deaab749813545aba72e556b341dfb14bcb42cee2c5d1e84e1f5004b33abf7743794a63e8df50e6c56cea94d894de8b0bddd8e4b5c3f43e97c189a7f3f92f0571679050ac6910d1bbce26777339e5109fbb46611d6fe89a92f5ba2a1ed937d2c068e7250c7c875e2d9301 +ss = 68e8d5d0106ac7c233e2f785c44981c21303c409785688d8be540966263e55e8 d = 195d6c86a3df4c21e3007d7f2768b43c74cb3060e0eca77f0a5d3271542b9a84 -z = ae77e0f9f21eabd8c0c6eea7767f4e10fde5c2d79b8400bf96b19014b457ec21 +z = d375bc4fb24e98f1eaa01e50a588e96a2b26daf9421437313fc7e4b520387050 pk = 5064909f424a15515fbf534b4f660b09e9146c40ac273822eb116ac60782dc519805c41f39a306d7e21d0fc2264b8bb6637b113144b0d459ba833965d3a39c51355416f672b25811f5f2ce8cec777ba322ce506823d6005d1147600808ca3c4d344a5f9d47336254766003341047ae044691650c907d937e5dab543f767fadd988e0bbb7efc25874d5190b893039493204f67e11560e49412b484781c571324f76218976a1633bc4ca3c0a6d8211c6c0171e0993baf46406f8b85fa0c7f0551b74ab81d642c634ea74b269837e2588228a8645764a2b9a7bc2a802682b22c24c2a55439d14d12e620363271a4468fcacfa8ba686f1bdbfc70ca9c0961f9a488b7962b8c718b9e7a33d8b5306e6a05616c2a1484aa044200038624f65b8a92ba4739c714ac71fb8f12af92c5cc06c2bb59367c5c471bbe6099d1b19c9bb1aa168c071dbc6e01c5c72fa33171c52b78c1deb32134dd8af5d147bdea32dd6c52450c112bc5a0d9e03b06d807173304972a9866ae4bf6b053d98680858671ce1f252293972c42c4bf6ec2ba9f11be4325c34f89e7d500dd749ae3c845f7d56815f11a2fb07b9e3f88cacb51e2ed258cf5bb981b089cba18f902c14e04503302ca929319645154cfa878cfc777f2093a00916a617b6086d973208883ace08270eb16be4ec404eb2951bb1ac825840bee09eba19a90b5316ab79c3ac062c07f45782f4ccbdeab590196f8436a8ebdc90ea944c50e842342a5a558ac8e833908c0577f28a15e49863a2139dec116d99374236c8a7169053fa716756299ed16125d699c39357133fa49fe0db960a8cbc0adb979239b64a7b3a702878fc1610868790abf3968873ae5dc19020b28f1405cca1b0800ef236e020aed6157892161b54bb3d14a4c64fa1ab949648020ca86064b17fe8b3f7d915c72a68e2b46f16267b7598bc112537b7681ea2bba503d8a62d55cd76e6579bda3e032399ba2ca6cf0b74ccc51f9a5357fd4b92ce4906183c0031727c7a966bf0c485a9312f7a76554a35c065278860396c2ed4b0b44b85c3d7c16c65c33fc2033c04294a91323f1602a6da351f0a6e478264e0e4a6adda77dd6a2535a748daa074af31af028509f2c27f15f00e60e72f7a7032dfb99d50c88814167a838758c2685243839d8ac19e76133b40dac70e49b33ff83299862c3496999dfa90470b7bb17bcd14019b093b5787abada26700a83377ae57173fe528d6dc35efe846d95933d68144ea3aca554ca0e873baa6bb926d70a09306621b3705942b4e0d60cbf200c10c3c4d5f7c8c75899aeaea40cec8928ae25baa2c7f139392221cc7042c05baf58371010492bc2125d27a9bb01a28a3855c98b894d4165689af39c0a26a6b920874728d475daa731940457b24199d11841d5bc369962c1cf3920b6af974b3150189919959c3b4e556c56fb22e5597b64506575f6799dd86cb0669651a1c017c8a74e5f63cc60b9047b21dee777df6010bd6a614f9a63c72074b7909137cb7155fea72bedb7428e0b197246af69121e97923f861af31f10249e11795a180c0c6c056d58d848a62370278308c4cc2b466a8d7231456c06e4b9f1faa65a8f0113f99238c52ae3c3a24600c4e943947c8c653c946bbf6b4cee89646aa23afc7b22f0d45464337a90a7c22cbdb4449b24d5bf3c070778773b92055206ca895105e264c9757918f6bb76bfc93de826c61c77b6a51b135915235271faad3cf608c0033b2581fc522965257eef576ebf7379a173b1b269e27648189696b30346d5202b560784777f88aca2c9f900344eef8aa0cb4a86ed6335be29b91248780674bbadb5b11f967a663c2f9129b73ec584c50aaae9771d258272198261f362d93830880e4b60e4b142b3822816501c89b5011681a5ec2ba2b03cf9eb1886c33c1c72cb6061b10638931e5f1461f413e5766a7becc59a052a0e221c6419752258955dce743131890bab88b8dcc5738eb6f409c1c0d888de1d0c5a7bb03e80171c2b41dfd411f74b5165804b82ef473bdf5ca37983cc1047fb5a4a34598c8a98a5b0ea78fbe27b9929753b89a6c9f2c7d0677aca4e296f0d975f2f5731d822627c1964ec1bb1ac7452bf0c5c0735d6f75304efa4410e4cd20557b574cad1674395436203db728a58b8e0b95183c10653b5487a4ce6401ec27a1605f879e2d9c53bf27e165246401cad7840a077934b8 -sk = 55873ec8c5bac259501e025faed327b9b659b0810e7d43b8bf7a25a8c1a51062cfbc9bbeab182747196797913398db1c1ca41c1cc3a883400a29797ab4cbb553076c204167aad2208355279f504dd9a476985362898b4e423821cc2642c335c3c953c866451cece03098d5a2ae366ddae1a06e05547e1c0c0667cc98494bfa778eebc5cbaccc3038f93b82e57f814799cb7a921fb14042aac83a1b4897bc6a15c87fc94144828966c49b6cb8f842a3157b60d6b3271c3661529d8a93c7daf7b4de1396308c0cbbfc9f984617cbb5b1825c88bdbc4c74c58ef3d54d089613a6a431e3a59acf4201fbb6828db0061f1bc514dcbfe72023cf8102e9834d5d6bba8a354fe04c6008b37f9b07857cda1238f5a562f288f3217ffd1a1bf8b2a0fcf3af0310c84bd6cd805c246c4a227c9bcf963093a9755cba968e7c06cc4f987b516171461b69e013076cb652c2a0b10f1b0fc9d6b583a929fa3905ba4b6b41f19d862c82b5f170277530a278773fa740eca749c00a61735aa1a27719cfb75eb0768956718239f43239e25a316339db665eb9784ab581137d020b992782956522b824b3ea4cb540a4b12ad7c512046711b0463f779e1279bcd2b7238580c72df6120850376db48978dc717cd1424d0b5e7331b76d0ac0b024c6283c8418e5b1a7a297aa483e5d2a65f2181ede32c69cc4b9a8c4c0b90bb17ec06336d2100766aed931876ce45435b5662dd8a5b9f545292c870a16925546ae0cecacfb737647504ea1a29d13e0bc2d060bf7480345051e9379cfb0f901b9a426641802e5522ff8b199439026b123cf9b5827ffa147567912c46c88cef0b41d9526d227a72262c0e3b3157dc4898e07caebc8038142b5172a799b8a6db0f7703730c98e1957fef13d5d7b2a52945eff5c4337b6cc5004bacbb419ba73568aa357f61c70383447c6015a5896b9c0c0a2f2c7a76d940278d736d6b685f4fb3cc392caac1830b439468b6bc73585b4205751e55103099986308702a477588611a990580d88657024fa6d371550141405a8240109824788675d2546afad54628e93281abccae4eac11d200aa5c40a9e440d9f2a40deb31c2688a3266c9e16b60461087da271a1973374c99693c8111f9d458f92ac3208268078b177c818038305ab421b6d8297063061bb36f1318bb2108163a723a4bfc3c2a25f958f28b2b806a15e4310b8852103843c8ac26c7773084f1f82151c52083e69772a049123027916f039fd08713b98039f3b84cc83a8f88b2c19f48a958a443339a5a2158dfd7a08d11983601a1892a8c1152c602edb1592c3ae555b2ee54c5dc6020c0b95626fc06d85d78120ac135fd369de6b6aa902bb015a7bc3ba13a7391960c533d2f1a6278494e78b6a3c5b91a2b1aa2a0752e5c0a30e33cc86dcba2e3232c98b9aaf1bbdf9e825b15a6dc3a741d43a53eb10ad18e93541e224ec5a952d673984990af0d81577d1bc83b09856794d11707faac63a1e49a799224b51464916bc07f0a69f06f26696f5806e92ca4ada050cda48a9c90635a9c68acc753a711115c35488758a68256a32f4964c431d50c0a8c5053d1a41126a952270a309f69931c32194fd201bc3809db548a0005585081c6b11db7a19e14f9a4777c5c12b35289100d979e5b5b306c6692136a839ca4dda2a1e9d3bb3c418a732ec4997d124b7d6cb4bb090c0f35ac2d206f2b1b19dda1929ac935b2cb24e320ea87acbcccac6d4454b8a183e89e8738dc645f50239232ba5ea03baa3590cd29c05ff4c33d8107aade2104bc879ebaa431294b201e2b589647c29c66f7f3677ec30bb1bbba093b60abb147cdc07748b098ec1f83855464b1aebb41bf30f4ceb59c41c24701a39dc74b44fd8505980c1786275cf16272a29c285406c70eac1de5969d459ce1f211c8a47be727a57a772566984452e2b2ea96abaeb3a0990b9a7fbe5147f6a438e27a3624355b97c7140406d52870c421754886acaccab09b2351ad28716c476b61d7c9082f8cd81d31554f334af75030c4075d2965a9df37af81a4588ac0241183247c5047bb81dfb6bbd7252993d69cf5660abcf2aa5c9787f10c02793e9bb1ccbc3761b25759a38cf2c28ed1ca65700112e540eb4b0587e036b9502223fb95e2815a5e6f9c384369c24b1a962c4b05064909f424a15515fbf534b4f660b09e9146c40ac273822eb116ac60782dc519805c41f39a306d7e21d0fc2264b8bb6637b113144b0d459ba833965d3a39c51355416f672b25811f5f2ce8cec777ba322ce506823d6005d1147600808ca3c4d344a5f9d47336254766003341047ae044691650c907d937e5dab543f767fadd988e0bbb7efc25874d5190b893039493204f67e11560e49412b484781c571324f76218976a1633bc4ca3c0a6d8211c6c0171e0993baf46406f8b85fa0c7f0551b74ab81d642c634ea74b269837e2588228a8645764a2b9a7bc2a802682b22c24c2a55439d14d12e620363271a4468fcacfa8ba686f1bdbfc70ca9c0961f9a488b7962b8c718b9e7a33d8b5306e6a05616c2a1484aa044200038624f65b8a92ba4739c714ac71fb8f12af92c5cc06c2bb59367c5c471bbe6099d1b19c9bb1aa168c071dbc6e01c5c72fa33171c52b78c1deb32134dd8af5d147bdea32dd6c52450c112bc5a0d9e03b06d807173304972a9866ae4bf6b053d98680858671ce1f252293972c42c4bf6ec2ba9f11be4325c34f89e7d500dd749ae3c845f7d56815f11a2fb07b9e3f88cacb51e2ed258cf5bb981b089cba18f902c14e04503302ca929319645154cfa878cfc777f2093a00916a617b6086d973208883ace08270eb16be4ec404eb2951bb1ac825840bee09eba19a90b5316ab79c3ac062c07f45782f4ccbdeab590196f8436a8ebdc90ea944c50e842342a5a558ac8e833908c0577f28a15e49863a2139dec116d99374236c8a7169053fa716756299ed16125d699c39357133fa49fe0db960a8cbc0adb979239b64a7b3a702878fc1610868790abf3968873ae5dc19020b28f1405cca1b0800ef236e020aed6157892161b54bb3d14a4c64fa1ab949648020ca86064b17fe8b3f7d915c72a68e2b46f16267b7598bc112537b7681ea2bba503d8a62d55cd76e6579bda3e032399ba2ca6cf0b74ccc51f9a5357fd4b92ce4906183c0031727c7a966bf0c485a9312f7a76554a35c065278860396c2ed4b0b44b85c3d7c16c65c33fc2033c04294a91323f1602a6da351f0a6e478264e0e4a6adda77dd6a2535a748daa074af31af028509f2c27f15f00e60e72f7a7032dfb99d50c88814167a838758c2685243839d8ac19e76133b40dac70e49b33ff83299862c3496999dfa90470b7bb17bcd14019b093b5787abada26700a83377ae57173fe528d6dc35efe846d95933d68144ea3aca554ca0e873baa6bb926d70a09306621b3705942b4e0d60cbf200c10c3c4d5f7c8c75899aeaea40cec8928ae25baa2c7f139392221cc7042c05baf58371010492bc2125d27a9bb01a28a3855c98b894d4165689af39c0a26a6b920874728d475daa731940457b24199d11841d5bc369962c1cf3920b6af974b3150189919959c3b4e556c56fb22e5597b64506575f6799dd86cb0669651a1c017c8a74e5f63cc60b9047b21dee777df6010bd6a614f9a63c72074b7909137cb7155fea72bedb7428e0b197246af69121e97923f861af31f10249e11795a180c0c6c056d58d848a62370278308c4cc2b466a8d7231456c06e4b9f1faa65a8f0113f99238c52ae3c3a24600c4e943947c8c653c946bbf6b4cee89646aa23afc7b22f0d45464337a90a7c22cbdb4449b24d5bf3c070778773b92055206ca895105e264c9757918f6bb76bfc93de826c61c77b6a51b135915235271faad3cf608c0033b2581fc522965257eef576ebf7379a173b1b269e27648189696b30346d5202b560784777f88aca2c9f900344eef8aa0cb4a86ed6335be29b91248780674bbadb5b11f967a663c2f9129b73ec584c50aaae9771d258272198261f362d93830880e4b60e4b142b3822816501c89b5011681a5ec2ba2b03cf9eb1886c33c1c72cb6061b10638931e5f1461f413e5766a7becc59a052a0e221c6419752258955dce743131890bab88b8dcc5738eb6f409c1c0d888de1d0c5a7bb03e80171c2b41dfd411f74b5165804b82ef473bdf5ca37983cc1047fb5a4a34598c8a98a5b0ea78fbe27b9929753b89a6c9f2c7d0677aca4e296f0d975f2f5731d822627c1964ec1bb1ac7452bf0c5c0735d6f75304efa4410e4cd20557b574cad1674395436203db728a58b8e0b95183c10653b5487a4ce6401ec27a1605f879e2d9c53bf27e165246401cad7840a077934b82460170e6cf1da1e7b92037f51b4e7674d9abf74f5c225c5c6ce16a971691284ae77e0f9f21eabd8c0c6eea7767f4e10fde5c2d79b8400bf96b19014b457ec21 -m = fa0489f3730100609488e951e6aaa15c0f193bc1dbcfcd013bc418d6c507b176 -ct = 46de29644f359a188b8631ac51575ac1656857f486f933377165c7a52bcb6bbfe1ce34a3f44f11cef9894d6e6df14d962c23424a007ee9e813e2eab2a62e8ffce34d28f339fc0a0c47f2346a20af7ffae846167ae11e441e63d34bbf66a87ee59b778813d79a999371d5ca4ecbd347986521934027de0baba46106e03e730ce215c2381e4983da09a4a3902a9acd41f712471b21a4816a94ba453470ca0b4eacb05d07dd01cf39125d860dba0d920f982a189d0cdb51fff61123d0949044b68865b9fa2af3d72c1dcae71e0fa93553bf4513d55bc232306e33e420b4d4ce9593daac87790f7ffa42f30f79dd6c6b06099ef5e590f045682196b34d0ab643f6b0ee4331ecc1e1347ec8827d201ff040b0a7236e1af72d831b84e76a89f73b4d91570b49e52858b528b7c0871a7052a6ed75baf6d00dbb055992c1b9e0acb7e279d806ab238cb0d7fca987e6ecb167638eb1a17e8afb885aa2c1294c3f776b635b6f5b5b51bd6007cd01ee567c1ff96e0525ea8e791c4ba594fc7bc5356877e2919700ac2670669dd1bcc0c939f05d1b6d462343c8f24e8741f15d0e74d114c81a1492e46d0916242ce41f161bf0b74a551eb703f5f1715b81b66ce5cba6d710d51d3d29a433e2922006c16c7171c84b3cc423aef676acbe677eb2cf91d92a31571f8b8a4c6325dfe58598c2ce8d2afbaf498a1c8b163187f893e72ec879450486e51b9c0c63680e3da4f5938be104813e170302f3bf6ffe4f236ea3253cb8e040ac10eea044fc580492724ece9651735cc5d1789f0ef935a768bea164068ed1a7f23939ca2673bdb980fcc1b779f25a000f9eea892701ea8e8786c0c7ddba2bd83569fbde99dbbbda7a1a980c6734c50c556ad5e459480d234e63478a9060a487624ca1cf45b42ffa61a593d0c1dcc453d6fb0a08f89d95eb7a0ba933b59c24956ba7da66b863578299a53f189623671b6f2d804e539c742325de8a367a6b529b9636214019d232964cc85357505923368ed52ff4da274f8f5ae3e2ab39c67ea1e6c247e46434a3c23808ed8733e7b0ae353cc38ce039c66d3d5d1c14cae8d68830293628a184c0539509125e6036d44a1c516aa687adcab3869f6c28fb711e5ae932ed8d3ccad7aa9afe72674ebb1df3aa5b67cde6c86f79c58043efd18544c7cdfbbf72bf9f31c14deb828bf2207d2bba81802e74910d5e76361d68fedbac0c790f68dd3685905e7c177508906c47f21df850640ddee2c02cb357e1935a00abb60cbaafb1900b7d16be43e1cc9db2db7cfca99143a25c0c549bbae09e46d8904582f5137d4165f124d02c99ec2e833d2dee4f222c55bb796de06f9848322b6d0503005cdbf09913c72cc9ab7921b995b4427d4e2d9e0d988c45a61c4285a0b5b0c3299c564439b1b1518839587496a5d95427188ef42ca2be1ad56282ea99631cdea8e8ede0a995bfbf6e7e434ceb7e906d0809be41f7a8296bac019920580d73a6a98179cc1f7c8f2b1549762828ed75de117b930ef7fb4e506b31c55cf83c06fc9683734184b530144e7da1388ad3d3b151d33414bad73ae8b976c56f663fb1cdb6015b57fc30292789e20bee073866f7c86d2e279314fdd20b54e434effc57cffaf93510919186bd8d93629f7bc5e6772a10f895b4a8d4f2a9e7427a95953e111a9084a742423f65af2f70d74228aea44f19e3a9372e8c5682c124b3e1783454b6451adb0c836da79f51932bffb81e71bb51a7d30327bb9dcbe7e6b8cb2ae568f6a38893c5f951821e4d876b846da7744a6c1a1c701548bd678e7f920974f2d02694c14a222635ca7f912a0ada4c381086fdddcfe99739e33d5d3b595da65e136e88bde57c407c0b72684aba65ddc298b566f3f4e673b17c03aeb72c1814dd49b4e1a369632be71c708a0d17d40fc28036c411ae737b017879cc598e17dc9a0bacd2a2767cee2d06630a2efe66fc71e4b183d5b48076bb588b1e364cad0d0760338a9d6afef4a7db96180f4534462a29088ca48eb4d629323aad491cece3bca0f2616742c6193a7c525e59da78d9bf36f2113c28259537445baac4122915b708bfc95e8b5bf06f02a41c582088eb19113c1dd53b775473f2ffbc2902f53f0b2b7f58650fb5ad30808385e6423c08dca29534831544617b1ac4053210055584d6a262fb63620a97694c00b1056bf43cfa780afdac356c593388d2b802c78d -ss = d24fb4e358a5176ae303c88b9bafec3eee2d20723d42a4e487a1b75f8abc1d43 +sk = 55873ec8c5bac259501e025faed327b9b659b0810e7d43b8bf7a25a8c1a51062cfbc9bbeab182747196797913398db1c1ca41c1cc3a883400a29797ab4cbb553076c204167aad2208355279f504dd9a476985362898b4e423821cc2642c335c3c953c866451cece03098d5a2ae366ddae1a06e05547e1c0c0667cc98494bfa778eebc5cbaccc3038f93b82e57f814799cb7a921fb14042aac83a1b4897bc6a15c87fc94144828966c49b6cb8f842a3157b60d6b3271c3661529d8a93c7daf7b4de1396308c0cbbfc9f984617cbb5b1825c88bdbc4c74c58ef3d54d089613a6a431e3a59acf4201fbb6828db0061f1bc514dcbfe72023cf8102e9834d5d6bba8a354fe04c6008b37f9b07857cda1238f5a562f288f3217ffd1a1bf8b2a0fcf3af0310c84bd6cd805c246c4a227c9bcf963093a9755cba968e7c06cc4f987b516171461b69e013076cb652c2a0b10f1b0fc9d6b583a929fa3905ba4b6b41f19d862c82b5f170277530a278773fa740eca749c00a61735aa1a27719cfb75eb0768956718239f43239e25a316339db665eb9784ab581137d020b992782956522b824b3ea4cb540a4b12ad7c512046711b0463f779e1279bcd2b7238580c72df6120850376db48978dc717cd1424d0b5e7331b76d0ac0b024c6283c8418e5b1a7a297aa483e5d2a65f2181ede32c69cc4b9a8c4c0b90bb17ec06336d2100766aed931876ce45435b5662dd8a5b9f545292c870a16925546ae0cecacfb737647504ea1a29d13e0bc2d060bf7480345051e9379cfb0f901b9a426641802e5522ff8b199439026b123cf9b5827ffa147567912c46c88cef0b41d9526d227a72262c0e3b3157dc4898e07caebc8038142b5172a799b8a6db0f7703730c98e1957fef13d5d7b2a52945eff5c4337b6cc5004bacbb419ba73568aa357f61c70383447c6015a5896b9c0c0a2f2c7a76d940278d736d6b685f4fb3cc392caac1830b439468b6bc73585b4205751e55103099986308702a477588611a990580d88657024fa6d371550141405a8240109824788675d2546afad54628e93281abccae4eac11d200aa5c40a9e440d9f2a40deb31c2688a3266c9e16b60461087da271a1973374c99693c8111f9d458f92ac3208268078b177c818038305ab421b6d8297063061bb36f1318bb2108163a723a4bfc3c2a25f958f28b2b806a15e4310b8852103843c8ac26c7773084f1f82151c52083e69772a049123027916f039fd08713b98039f3b84cc83a8f88b2c19f48a958a443339a5a2158dfd7a08d11983601a1892a8c1152c602edb1592c3ae555b2ee54c5dc6020c0b95626fc06d85d78120ac135fd369de6b6aa902bb015a7bc3ba13a7391960c533d2f1a6278494e78b6a3c5b91a2b1aa2a0752e5c0a30e33cc86dcba2e3232c98b9aaf1bbdf9e825b15a6dc3a741d43a53eb10ad18e93541e224ec5a952d673984990af0d81577d1bc83b09856794d11707faac63a1e49a799224b51464916bc07f0a69f06f26696f5806e92ca4ada050cda48a9c90635a9c68acc753a711115c35488758a68256a32f4964c431d50c0a8c5053d1a41126a952270a309f69931c32194fd201bc3809db548a0005585081c6b11db7a19e14f9a4777c5c12b35289100d979e5b5b306c6692136a839ca4dda2a1e9d3bb3c418a732ec4997d124b7d6cb4bb090c0f35ac2d206f2b1b19dda1929ac935b2cb24e320ea87acbcccac6d4454b8a183e89e8738dc645f50239232ba5ea03baa3590cd29c05ff4c33d8107aade2104bc879ebaa431294b201e2b589647c29c66f7f3677ec30bb1bbba093b60abb147cdc07748b098ec1f83855464b1aebb41bf30f4ceb59c41c24701a39dc74b44fd8505980c1786275cf16272a29c285406c70eac1de5969d459ce1f211c8a47be727a57a772566984452e2b2ea96abaeb3a0990b9a7fbe5147f6a438e27a3624355b97c7140406d52870c421754886acaccab09b2351ad28716c476b61d7c9082f8cd81d31554f334af75030c4075d2965a9df37af81a4588ac0241183247c5047bb81dfb6bbd7252993d69cf5660abcf2aa5c9787f10c02793e9bb1ccbc3761b25759a38cf2c28ed1ca65700112e540eb4b0587e036b9502223fb95e2815a5e6f9c384369c24b1a962c4b05064909f424a15515fbf534b4f660b09e9146c40ac273822eb116ac60782dc519805c41f39a306d7e21d0fc2264b8bb6637b113144b0d459ba833965d3a39c51355416f672b25811f5f2ce8cec777ba322ce506823d6005d1147600808ca3c4d344a5f9d47336254766003341047ae044691650c907d937e5dab543f767fadd988e0bbb7efc25874d5190b893039493204f67e11560e49412b484781c571324f76218976a1633bc4ca3c0a6d8211c6c0171e0993baf46406f8b85fa0c7f0551b74ab81d642c634ea74b269837e2588228a8645764a2b9a7bc2a802682b22c24c2a55439d14d12e620363271a4468fcacfa8ba686f1bdbfc70ca9c0961f9a488b7962b8c718b9e7a33d8b5306e6a05616c2a1484aa044200038624f65b8a92ba4739c714ac71fb8f12af92c5cc06c2bb59367c5c471bbe6099d1b19c9bb1aa168c071dbc6e01c5c72fa33171c52b78c1deb32134dd8af5d147bdea32dd6c52450c112bc5a0d9e03b06d807173304972a9866ae4bf6b053d98680858671ce1f252293972c42c4bf6ec2ba9f11be4325c34f89e7d500dd749ae3c845f7d56815f11a2fb07b9e3f88cacb51e2ed258cf5bb981b089cba18f902c14e04503302ca929319645154cfa878cfc777f2093a00916a617b6086d973208883ace08270eb16be4ec404eb2951bb1ac825840bee09eba19a90b5316ab79c3ac062c07f45782f4ccbdeab590196f8436a8ebdc90ea944c50e842342a5a558ac8e833908c0577f28a15e49863a2139dec116d99374236c8a7169053fa716756299ed16125d699c39357133fa49fe0db960a8cbc0adb979239b64a7b3a702878fc1610868790abf3968873ae5dc19020b28f1405cca1b0800ef236e020aed6157892161b54bb3d14a4c64fa1ab949648020ca86064b17fe8b3f7d915c72a68e2b46f16267b7598bc112537b7681ea2bba503d8a62d55cd76e6579bda3e032399ba2ca6cf0b74ccc51f9a5357fd4b92ce4906183c0031727c7a966bf0c485a9312f7a76554a35c065278860396c2ed4b0b44b85c3d7c16c65c33fc2033c04294a91323f1602a6da351f0a6e478264e0e4a6adda77dd6a2535a748daa074af31af028509f2c27f15f00e60e72f7a7032dfb99d50c88814167a838758c2685243839d8ac19e76133b40dac70e49b33ff83299862c3496999dfa90470b7bb17bcd14019b093b5787abada26700a83377ae57173fe528d6dc35efe846d95933d68144ea3aca554ca0e873baa6bb926d70a09306621b3705942b4e0d60cbf200c10c3c4d5f7c8c75899aeaea40cec8928ae25baa2c7f139392221cc7042c05baf58371010492bc2125d27a9bb01a28a3855c98b894d4165689af39c0a26a6b920874728d475daa731940457b24199d11841d5bc369962c1cf3920b6af974b3150189919959c3b4e556c56fb22e5597b64506575f6799dd86cb0669651a1c017c8a74e5f63cc60b9047b21dee777df6010bd6a614f9a63c72074b7909137cb7155fea72bedb7428e0b197246af69121e97923f861af31f10249e11795a180c0c6c056d58d848a62370278308c4cc2b466a8d7231456c06e4b9f1faa65a8f0113f99238c52ae3c3a24600c4e943947c8c653c946bbf6b4cee89646aa23afc7b22f0d45464337a90a7c22cbdb4449b24d5bf3c070778773b92055206ca895105e264c9757918f6bb76bfc93de826c61c77b6a51b135915235271faad3cf608c0033b2581fc522965257eef576ebf7379a173b1b269e27648189696b30346d5202b560784777f88aca2c9f900344eef8aa0cb4a86ed6335be29b91248780674bbadb5b11f967a663c2f9129b73ec584c50aaae9771d258272198261f362d93830880e4b60e4b142b3822816501c89b5011681a5ec2ba2b03cf9eb1886c33c1c72cb6061b10638931e5f1461f413e5766a7becc59a052a0e221c6419752258955dce743131890bab88b8dcc5738eb6f409c1c0d888de1d0c5a7bb03e80171c2b41dfd411f74b5165804b82ef473bdf5ca37983cc1047fb5a4a34598c8a98a5b0ea78fbe27b9929753b89a6c9f2c7d0677aca4e296f0d975f2f5731d822627c1964ec1bb1ac7452bf0c5c0735d6f75304efa4410e4cd20557b574cad1674395436203db728a58b8e0b95183c10653b5487a4ce6401ec27a1605f879e2d9c53bf27e165246401cad7840a077934b82460170e6cf1da1e7b92037f51b4e7674d9abf74f5c225c5c6ce16a971691284d375bc4fb24e98f1eaa01e50a588e96a2b26daf9421437313fc7e4b520387050 +m = 05874f9d5a2e9133d385f3326fa925129dff03359d78b0d07ed78fd5c1307800 +ct = 1676438e2f1d8686caeadbf5fa4a3c83d252607b015ec7d7138c75dba8a804bc3f0e284bd4fb1262481df6565c4ea5b95b45916d6159d06d6bdd05bca2840490f823c2323e54b583643ee311c97fd37f78b0e6f9775bbcc6f11974bf338a864c5ed8f36111bd6d69221cbe27029f31c12d40d117b5bae93dd0e724c23f98cf69d7c990420e57e9ded2dfb2784e81f5a6fd92bcc95194333835fdbf4a08cd969ac1010aca6fcf174f3402ad7c1f9e9400cc595bc73c7b9ccdfb33f59c5ffa700717e250c209fb29c63f9290297d40865338ab9dc942214b10a768ae82944980290c56b62bc1121c9d8a651a61aa9ce1c5578f0107dd952e325718ff08b62525b611454a7478a3548c43ead4e14f749c94a4b06f49f8c663aef035140245127275739091e381114f5f04e1b8901daa131ebaab0c8578721f934633cf47943cad178ef9eae9ff526825801e455266c296853991e457ccf7e68c5e36a666b59272deb94630e4754f93c57edecfb58d07740d8042578256b490849933fd6954277c0c8eb920e0adea2815d85838d81ed6a2f74ccef832f9ba27e2d540dbfd4d45fd0bab681c8552ab4d36d3823d7bc73f708eaf51a04a1552472bb4835e93b4e81fa0448730f8e4f10764242c0bb28206ab726f0e999e13b56553fccbfc0a47cce27a66c421ab52bc96b679bcc60f91281ea7a739a3880c37b1b3de7c8b08bd5d699059f57020d3b1fd0e3d86c856a938658585bc9fd296cb633417fa30dddda2e164af5dab1a1f736c307e0e9ebf6901c92d9ebeb6ac37f59ba91f840552d12caad721f7f9a240202edde4e4cfcba422366debe68a48d140b095f520082162af9993194161157c1c7a2acbab57a9885eb08bed2e023759c381f2bb1100343bf09304940637baec307c4af146f4a2f842e17077c1df2e1821b9687af3e965ca40b80ea089f54531d48309c5b7f11a6b256a544bd446fea578bd1185fd3eda9f42841bc64b792a01edf36e6982e780012e36b4831ccf857b7c54a63443b747058ea132da2143b323003c158271c1946d64992c2b7c3d3e113b4e6cd005592ccb3fc49ac0ad055c7627d2261eed10bb4a9fb13b09c01288684cf2b32028e9fc9a7dae2d6810040589bddd71513e28275e86dbfd118ba4787bd8c078edc4b90e8696e085003950a7b64e171eb5b3de01a99c382c299325a81fb4e1598f97c4302600f46eed602430c8a92eeadf8a88c449787b53071b1f5f3cdecbd10653f73fbb976de0165755f5db4218349ab24d16a15ead983d0f11ebc8e93402c02b53ee650de56a8628731241150f4d02695f26383d6558033b86475e5c1e2320f8b8a00ca1d7918797054f82dc009872e72aaf615b8c1162290049aa2196d080200f1281b0a0682b0a877b6250f45d142137a6e6e7bf49c1a7bfc4ccea66adb4e7a8ad713d9473abdfda0746f914ffcabe71508fdbd2d067e367148c06d7800df5f82b87378f3b2d59d4893644820fb333d67e2cf18745688401ab72b11da59de5dc449b207c33f13c9bf68b9678aaa44f360c09c15c9efb902735b429c6ed5b9e76bcd9c45187ade4c18b0a7ddf33e984e3ba0e9bb503fc680d2ea6f837b0f2a7d097536e4517facfa85d002089684c71a8b626f6ed1bf99c9dd5eb56395048807f3092061551b84d2edbf5dfc8905f6fac3008c3b1041d9bbc98e2051422afed0e2d52d7c48bc80ea57accbd45dbca5de698d38f0c6114379ef0e9a7de5df5e04281cbdf62c5321ce2a2493ef0d3fe5b18b2cb3695763cf96e16beaf394f0f548d085e34ec4ff728b66e06b44931a197f9159874a23765f9971644e4c5f374ca749b2f5f796257bcd03755e1c1c80fda26e6907f7291de61a28a7d55c710a47bb1cc57f1200a30411f5106cf1300678d39be9c4e7f195da7ea8b93bc02a0b27d366a51657c61ef689c7dffe2db27aa58ecf960920b31283d2db337bdada0cdd95d0d51db029ff562226b9da7393685598cbe461614b701c6c7e1610c49634c92536dbdfdc12dc6d90852dc18459dbc7c19291ed87bcf8b34d50eef28fe6e88429f2b4fd875d703f0977e29e2e452f70d08eee25d5cf9414cd0cd704499d2b68fc5f166d6280659ab4f87f277e7032ebc407896227823201d886ec980427acca498cb94d9c5511afb66d309c9184989690e4f3239716fb90601aa01f47fbcc32828470326a5d7 +ss = bc3d5bfdc91dc7cba649cfea9e44a56a96e69f1821d6a4a8232a7789349bef01 diff --git a/kats/kyber512.kat b/kats/kyber512.kat index 447dd7f..ebb6890 100644 --- a/kats/kyber512.kat +++ b/kats/kyber512.kat @@ -1,800 +1,800 @@ d = 7c9935a0b07694aa0c6d10e4db6b1add2fd81a25ccb148032dcd739936737f2d -z = 8626ed79d451140800e03b59b956f8210e556067407d13dc90fa9e8b872bfb8f +z = b505d7cfad1b497499323c8686325e4792f267aafa3f87ca60d01cb54f29202a pk = 115ace0e64677cbb7dcfc93c16d3a305f67615a488d711aa56698c5663ab7ac9ce66d547c0595f98a43f4650bbe08c364d976789117d34f6ae51ac063cb55c6ca32558227dfef807d19c30de414424097f6aa236a1053b4a07a76be372a5c6b6002791ebe0afdaf54e1ca237ff545ba68343e745c04ad1639dbc590346b6b9569b56dbbfe53151913066e5c85527dc9468110a136a411497c227dcb8c9b25570b7a0e42aada6709f23208f5d496ebab7843f6483bf0c0c73a40296ec2c6440001394c99ca173d5c775b7f415d02a5a26a07407918587c41169f2b7178755acc27fc8b19c4c4b3fcd41053f2c74c8a10a8321241b2802432875ae808b9ef1365c7b8a52902f1317ba2fb0269f47930672107b4726fef64547394d3320c8f120b3c2f4725b0305fab88cc7981fcb09a76a1cbf7f179f43bb0a4c8b0590857f1e69708466c7f8607391e7bc5268bfd3d7a1dffcb4eca2a1c9b597593013d5fc4202ec2b74e57ab76bbcf3632bbaf97cdc418a6f16392838ca9bf45ddf023777b7561833c105190f94f302c59b531900bbc816361faa5b3380ca3a893104ca7388b185671b3e5fe3790e9a626ec46d9b0b33c7a419af7b32b6859894f575d82ac5456b5490a7af8fe61046360589ecba7244236f4123116b6174aa179249a49195b356c72fc6641f0251812eaa98570b046699070e0819dc2713f469137dfc6a3d7b92b298995ee780369153ac366b06d7249cd09e1b3378fb04399cecb8650581d637c79ae67d6f2caf6abacf598159a7792cb3c971d1499d2373ad20f63f03bb59ed137384ac61a7155143b8ca4932612ec915e4ca346a9bce5dd60417c6b2a89b1cc435643f875bdc5a7e5b3481cf919ea09172febc46d4fc3fb0cb9591704ee2dbb61844b2f3314a06bb6c6d34005e485ce667bdc7d098586928d2d91340f00419ea401351a240a0b041058befb0c2fd32645b7a2df8f5cbfd873327c978d7b351a28088438837024c52b9c295cd713646fb5d6c0ccfb470734ac2b2bc8123c2c13df6938e92455a862639feb8a64b85163e32707e037b38d8ac3922b45187bb65eafd465fc64a0c5f8f3f9003489415899d59a543d8208c54a3166529b53922 -sk = 6c892b0297a9c7641493f87daf3533eed61f07f4652066337ed74046dcc71ba03f30960103161f7deb53a71b11617263fe2a809769ce6d70a85fe600ece29d7f36a16d331b8b2a9e1db8c090742df0739ff060ceb4ecc5ab1c5e55ac97bb66a7f895105d57782b229538e3421544a3421408dbf44910934cc423774f1676ff1c306f97555f57b4aed7a6bab950a8163c8d318dea62751bd6abc5069c06c88f330026a19806a03b97a7696b56da21827bb4e8dc031152b41b892a9e99adf6e1963e96578828154f467033846920fbb4b80544e7e8a81ae963cf368c9ba037a8c2ad62e32b6e61c91d75ce005ab30f8099a1f29d7b6305b4dc06e25680bb00992f717fe6c115a8084231cc79dd700ea6912ac7fa0d937bb6a756662230470c189b5aa1653deb937d5a9c25a21d93b19074fc239d8153539797c7d4ab62649d76aa553736a949022c22c52baeec605b32ce9e5b9384903558ca9d6a3aba90423eeda01c94198b192a8ba9063497a0c5013307ddd863526471a4d99523eb417f291aac0c3a581b6da00732e5e81b1f7c879b1693c13b6f9f7931622429e542af4069222f045544e0cc4fb24d4448cf2c6596f5cb08624b1185013b6b020892f96bdfd4ada9179de727b8d9426e0996b5d34948ce02d0c369b37cbb54d3479ed8b582e9e728929b4c71c9be11d45b20c4bdc3c74313223f58274e8ba5244447c495950b84cb0c3c273640108a3397944573279328996cdc0c913c958ad620ba8b5e5ecbbb7e13cb9c70bd5ab30eb7488c97001c20498f1d7cc06da76bf520c658ccadfa2956424557abea8ab89239c17833dc3a49b36a9ae9a486940540eb444f97152357e02035939d75a3c025f41a40082382a0733c39b0622b740e407592c62ecaeb1432c445b3703a86f6981a278157ea95a6e92d55e4b972f936c2f0a658280ea2b07a48992df8937e0a2ac1dcc974fe00aae1f561fa258e2d259c3e861dce236039127606fc1ce009003a7bac942101dcb822b1f3c12bf73238f546e01c36b5a6936192995cc69c63237409cb53c2e35d74890d18885376fa5503b107a2a392115ace0e64677cbb7dcfc93c16d3a305f67615a488d711aa56698c5663ab7ac9ce66d547c0595f98a43f4650bbe08c364d976789117d34f6ae51ac063cb55c6ca32558227dfef807d19c30de414424097f6aa236a1053b4a07a76be372a5c6b6002791ebe0afdaf54e1ca237ff545ba68343e745c04ad1639dbc590346b6b9569b56dbbfe53151913066e5c85527dc9468110a136a411497c227dcb8c9b25570b7a0e42aada6709f23208f5d496ebab7843f6483bf0c0c73a40296ec2c6440001394c99ca173d5c775b7f415d02a5a26a07407918587c41169f2b7178755acc27fc8b19c4c4b3fcd41053f2c74c8a10a8321241b2802432875ae808b9ef1365c7b8a52902f1317ba2fb0269f47930672107b4726fef64547394d3320c8f120b3c2f4725b0305fab88cc7981fcb09a76a1cbf7f179f43bb0a4c8b0590857f1e69708466c7f8607391e7bc5268bfd3d7a1dffcb4eca2a1c9b597593013d5fc4202ec2b74e57ab76bbcf3632bbaf97cdc418a6f16392838ca9bf45ddf023777b7561833c105190f94f302c59b531900bbc816361faa5b3380ca3a893104ca7388b185671b3e5fe3790e9a626ec46d9b0b33c7a419af7b32b6859894f575d82ac5456b5490a7af8fe61046360589ecba7244236f4123116b6174aa179249a49195b356c72fc6641f0251812eaa98570b046699070e0819dc2713f469137dfc6a3d7b92b298995ee780369153ac366b06d7249cd09e1b3378fb04399cecb8650581d637c79ae67d6f2caf6abacf598159a7792cb3c971d1499d2373ad20f63f03bb59ed137384ac61a7155143b8ca4932612ec915e4ca346a9bce5dd60417c6b2a89b1cc435643f875bdc5a7e5b3481cf919ea09172febc46d4fc3fb0cb9591704ee2dbb61844b2f3314a06bb6c6d34005e485ce667bdc7d098586928d2d91340f00419ea401351a240a0b041058befb0c2fd32645b7a2df8f5cbfd873327c978d7b351a28088438837024c52b9c295cd713646fb5d6c0ccfb470734ac2b2bc8123c2c13df6938e92455a862639feb8a64b85163e32707e037b38d8ac3922b45187bb65eafd465fc64a0c5f8f3f9003489415899d59a543d8208c54a3166529b539227ffad1bc8af73b7e874956b81c2a2ef0bfabe8dc93d77b2fbc9e0c64efa01e848626ed79d451140800e03b59b956f8210e556067407d13dc90fa9e8b872bfb8f -m = 147c03f7a5bebba406c8fae1874d7f13c80efe79a3a9a874cc09fe76f6997615 -ct = edf24145e43b4f6dc6bf8332f54e02cab02dbf3b5605ddc90a15c886ad3ed489462699e4abed44350bc3757e2696fbfb2534412e8dd201f1e4540a3970b055fe3b0bec3a71f9e115b3f9f39102065b1cca8314dcc795e3c0e8fa98ee83ca6628457028a4d09e839e554862cf0b7bf56c5c0a829e8657947945fe9c22564fbaebc1b3af350d7955508a26d8a8eb547b8b1a2cf03cca1aabce6c3497783b6465ba0b6e7acba821195124aef09e628382a1f914043be7096e952cbc4fb4afed13609046117c011fd741ee286c83771690f0aeb50da0d71285a179b215c6036deb780f4d16769f72de16fdadac73befa5bef8943197f44c59589dc9f4973de1450ba1d0c3290d6b1d683f294e759c954abe8a7da5b1054fd6d21329b8e73d3756afda0dcb1fc8b1582d1f90cf275a102abc6ac699df0c5870e50a1f989e4e6241b60aaa2ecf9e8e33e0ffcf40fe831e8fdc2e83b52ca7ab6d93f146d29dca53c7da1db4ac4f2db39ea120d90fa60f4d437c6d00ef483bc94a3175cda163fc1c2828be4dbd6430507b584bb5177e171b8dda9a4293c3200295c803a865d6d2166f66ba5401fb7a0e853168600a2948437e036e3bf19e12fd3f2a2b8b343f784248e8d685eb0afde6315338730e7a1001c27d8d2a76fa69d157ba1ac7ad56da5a8c70fe4b5b8d786dc6fc0566ba8e1b8816334d32a3fb1ce7d4d5e4c332af7b003d091741a3d5c965292255dff8ed2bbf1f9116be50c17b8e548748ad4b2e957bbd1953482a2e1718cec66cd2c81f572d552b7187885e6b8943d6431413c59ebb7e036048490be5289e95b20a89e8b159f61a9a9886e147568f4c9021f362f02688a1c8c3bb0d24086880e55b6edb43f3745d2c166dc1cb743c76fe6be523a893cc764d16435c37851252a81e2ffba0f18971a3dee37d4877cb928e36e5235037a6b2057897d518a5f0e348e3ab6d5b52dfc60757f3b41a4fec7828f1deeaf4587ccc8eadf647f4d203b2faa05a649b582340cb4cace57a30711be752facf0227d0a80c4128442ddc544be805b9cfe8fe9b1237c80f96787cd9281ccf270c1afc0670d -ss = 0a6925676f24b22c286f4c81a4224cec506c9b257d480e02e3b49f44caa3237f +sk = 6c892b0297a9c7641493f87daf3533eed61f07f4652066337ed74046dcc71ba03f30960103161f7deb53a71b11617263fe2a809769ce6d70a85fe600ece29d7f36a16d331b8b2a9e1db8c090742df0739ff060ceb4ecc5ab1c5e55ac97bb66a7f895105d57782b229538e3421544a3421408dbf44910934cc423774f1676ff1c306f97555f57b4aed7a6bab950a8163c8d318dea62751bd6abc5069c06c88f330026a19806a03b97a7696b56da21827bb4e8dc031152b41b892a9e99adf6e1963e96578828154f467033846920fbb4b80544e7e8a81ae963cf368c9ba037a8c2ad62e32b6e61c91d75ce005ab30f8099a1f29d7b6305b4dc06e25680bb00992f717fe6c115a8084231cc79dd700ea6912ac7fa0d937bb6a756662230470c189b5aa1653deb937d5a9c25a21d93b19074fc239d8153539797c7d4ab62649d76aa553736a949022c22c52baeec605b32ce9e5b9384903558ca9d6a3aba90423eeda01c94198b192a8ba9063497a0c5013307ddd863526471a4d99523eb417f291aac0c3a581b6da00732e5e81b1f7c879b1693c13b6f9f7931622429e542af4069222f045544e0cc4fb24d4448cf2c6596f5cb08624b1185013b6b020892f96bdfd4ada9179de727b8d9426e0996b5d34948ce02d0c369b37cbb54d3479ed8b582e9e728929b4c71c9be11d45b20c4bdc3c74313223f58274e8ba5244447c495950b84cb0c3c273640108a3397944573279328996cdc0c913c958ad620ba8b5e5ecbbb7e13cb9c70bd5ab30eb7488c97001c20498f1d7cc06da76bf520c658ccadfa2956424557abea8ab89239c17833dc3a49b36a9ae9a486940540eb444f97152357e02035939d75a3c025f41a40082382a0733c39b0622b740e407592c62ecaeb1432c445b3703a86f6981a278157ea95a6e92d55e4b972f936c2f0a658280ea2b07a48992df8937e0a2ac1dcc974fe00aae1f561fa258e2d259c3e861dce236039127606fc1ce009003a7bac942101dcb822b1f3c12bf73238f546e01c36b5a6936192995cc69c63237409cb53c2e35d74890d18885376fa5503b107a2a392115ace0e64677cbb7dcfc93c16d3a305f67615a488d711aa56698c5663ab7ac9ce66d547c0595f98a43f4650bbe08c364d976789117d34f6ae51ac063cb55c6ca32558227dfef807d19c30de414424097f6aa236a1053b4a07a76be372a5c6b6002791ebe0afdaf54e1ca237ff545ba68343e745c04ad1639dbc590346b6b9569b56dbbfe53151913066e5c85527dc9468110a136a411497c227dcb8c9b25570b7a0e42aada6709f23208f5d496ebab7843f6483bf0c0c73a40296ec2c6440001394c99ca173d5c775b7f415d02a5a26a07407918587c41169f2b7178755acc27fc8b19c4c4b3fcd41053f2c74c8a10a8321241b2802432875ae808b9ef1365c7b8a52902f1317ba2fb0269f47930672107b4726fef64547394d3320c8f120b3c2f4725b0305fab88cc7981fcb09a76a1cbf7f179f43bb0a4c8b0590857f1e69708466c7f8607391e7bc5268bfd3d7a1dffcb4eca2a1c9b597593013d5fc4202ec2b74e57ab76bbcf3632bbaf97cdc418a6f16392838ca9bf45ddf023777b7561833c105190f94f302c59b531900bbc816361faa5b3380ca3a893104ca7388b185671b3e5fe3790e9a626ec46d9b0b33c7a419af7b32b6859894f575d82ac5456b5490a7af8fe61046360589ecba7244236f4123116b6174aa179249a49195b356c72fc6641f0251812eaa98570b046699070e0819dc2713f469137dfc6a3d7b92b298995ee780369153ac366b06d7249cd09e1b3378fb04399cecb8650581d637c79ae67d6f2caf6abacf598159a7792cb3c971d1499d2373ad20f63f03bb59ed137384ac61a7155143b8ca4932612ec915e4ca346a9bce5dd60417c6b2a89b1cc435643f875bdc5a7e5b3481cf919ea09172febc46d4fc3fb0cb9591704ee2dbb61844b2f3314a06bb6c6d34005e485ce667bdc7d098586928d2d91340f00419ea401351a240a0b041058befb0c2fd32645b7a2df8f5cbfd873327c978d7b351a28088438837024c52b9c295cd713646fb5d6c0ccfb470734ac2b2bc8123c2c13df6938e92455a862639feb8a64b85163e32707e037b38d8ac3922b45187bb65eafd465fc64a0c5f8f3f9003489415899d59a543d8208c54a3166529b539227ffad1bc8af73b7e874956b81c2a2ef0bfabe8dc93d77b2fbc9e0c64efa01e84b505d7cfad1b497499323c8686325e4792f267aafa3f87ca60d01cb54f29202a +m = eb4a7c66ef4eba2ddb38c88d8bc706b1d639002198172a7b1942eca8f6c001ba +ct = 56f425e5f9e5760159049b17e5adf854e0129250848edcb49be2104f80d96137a706f44c4bf306cc52c89cd74f98975f5a2ccb43c26cb445c6693f8cf8fb0a2099b196b57faf8c8631887b67a9022c8b7cbe821e1aba1b8e5c1931f6954066ac89b26a6d2132cffbe2f7f63600aedb3ab610493cb403151f0ee0e6beb3f137fc3aa4e86026ebbc9e742084866eb964803b768b0190ab9b564ce4bc3470eef83e1d3706a50207c81391a9b75848b2e9d7bddc392978bbaad0197a9b26eb7f1cb4f2d3010f697e2c568870f01c219447a23740b013577de1ccf5d8ae607019d112e8b56c7b56e323f6a2ffdc982f6d1aacf1b23f7660ff8063d098c9ae2198bc5457b809b53296fc0887029f907e12f7c72923975f2e6fe2fa3481dfd84d9850006f94f8390c80c8e6a4d3c71f56d0129ca716a8f16c84fdbd64837deeed2ffe083b7af098d657dc62106aeabe45c48a5733ed4d9a821ba64d83416470d2329cd40a265a6a02977365295b68aaf02596c856185aec836b864f0d73d364dfc7af0ddc7975849e7e78e612822215a1f9fcea9a3be3b4e7f2bb60e05da14503179cc566b448f44dfa70eea5b86a11a2fc51b3d6337bdc2f0f16dbacaf2c3a31eb9ae8c02973e2207027dc925760c0dd1831eab0ae502411891593df3c15f6946262bcfd7931267830f2f75888486bbd6680d42b60a8f0f20ad7ffa169ff8c6068d4a20efb8bc8884958738e7becc251f797221c4e45e270195faf4b966977ba79772b0cd9aeaeb8ee3785b4d1d5abe608c3a0969bbcb58e4c1527ef4d3897c0e935a63d06cf956b2147a127e7b01e5653cd1c84de0183027f9373cba12204f952fc44d8c5441a6e79cec54f89e06fc4337453f81dcb9f4ce9f753e8d552fae1f589549014830a6820045a16b692b9780613a40daf305058634bab7c54bf24bb1122d27e961ba4e0e49cd5242d047efb66ddbd1ef9b45bca73051679d610dae4bb4129ec12e1cce5b7aad081dcf91155880d83ef68880447aaa8f9980ac253bbd430a9a63ae8a673ae9ad6375c18c438afdc81b7f9249f870078ab672d58f0f32620c7 +ss = 500c4424107df96b01749b95f47a14eea871c3742606e15d2b6c91d207d85965 d = d60b93492a1d8c1c7ba6fc0b733137f3406cee8110a93f170e7a78658af326d9 -z = 003271531cf27285b8721ed5cb46853043b346a66cba6cf765f1b0eaa40bf672 +z = 588522d326e7f105f11c4e8d97e119e193af42dc28409f4f7572ada538b52c1f pk = 2c421ad4a7848cdc4b73987cf2f85e660c65e468346672ab09ea8b106b2ed51246271bc9d21672f6aa0b3a9b24c8f64722842f2e24cb2a47aac689a5c57318663bc98756c199160f3a39c2148c574c23836dd060d1ac8a06794edd5aa068ac19e42ccaab951051756350c31d584a517fc9bb303276215580fda99551e82449d8675f29c45ab6354107cc94509ee55aa5db3a813adb8b04005200aba8f91b58a2d3b2b7d82c6461363353038099b7a0e981a85c75e0e422c572c506071df54bb7b715b9f4a42da1e89694a06475545d97a09ea36374f2c8ba40a5cc17eb1ad308ae862a26e38b2ffc11b7abe3b58509b21649b86aab9e0d1abb601604c4152257a6691a964657ba0d1f561402545b782960e547a4dab7b71aa95c67e64caf568c3b3144fb29022cb0bf01b895e3327d019b591ca282d22105da99b58be42bae7185e0b56cbd0c56ead56b5dd34e9bc1859b927ed78c4ee1340960256a0b63cf4e1cc9e84a53a48b2f70c3c89e83a0005d65019a8419b5166469999a453418cb94295462d9256ccddb3fcf8365cf0235f1d547498714a8b09553182fba093f447a220146182a3acf062a118b22ca49756505978f21db629799cad72ac5d17b2bfa52a6ea15672537899a313a4f0b7df3f8639906bd0163735dec5923a038fb7b5856570e279275c3093998338cb595c9a6b712c06c526166a725b9098ea02ea10c5d7cbb86b935703f122dedb05233202968b59825f41f2c17ba76ac661fa69a7998c5fc6c2fb68a7820576b1fda2c73daa29cc21dcdca47adaa1b3b5258c1575fc9270712f3b8842978be50a18da45159b99272162891cb8a63cacfbc30bae0a4364c8a6537e1b40e825c4a311488b133956690e494443ab44793d3717582701fac5486da4ffaf02c058ba688fb88deb3c94e7445cfa89a79ca5f4b991abce25cd6b74afbe9c63dfa0f40180b242ab52c1a455c0664f7357c048b27e05ca46b8605e6843c66fbc2a6a29be135c39565a916acadbbf2aa2656125b603bc88c9d710399a84850840169be61bd4ef3687777075f0c7870b61903a26e6391a88b114e96f13f56be785d942d7eab011805cf3504fce325b6a5ef1aaadbbb11c662b9d2 -sk = e1785b13943f2661c372ca63a0c6aeded27f46c81b837293b9867b9f7cce0611c61b318adfd67c09969c27a095e53c124b048cd99027c9103e85c5c4d72730a34c8adc406eceb4afe02444671319df175465ea9a0d91291c18cfc9367a333475727b64e6f73e50233b81ac0978364d18f72db39a4041d4b25a095df99bcbed090496dab62aa250945a97bd297a539a1af51648c8378c1b21a2fc311b57860c368a819f2b8c15477243256970313b2ae082c2f8bdacb658a89c6bdc788325d48292dc2395f51df765a4a2e927769c84f5fc306568b4b5e7487b8b9f79dcce33c80b988c955544cca478aac902c2a6f2a4bc9a9478a9b318f78586c696942b6f4c2931e85042db27314cb546bebc2236c2136d581ee22978d2b79ea3b662a8bc7cc17ccbdb59aef8b0cd77a4a680672e9ab4adc2d011bf471865f92f4a4769a8157b87769ac3b86448851e80f8babf394907d4c8a51c7ba4ca62cd7ab7bbc4219778ce4dc22955772dbd1330c10055dbe106d11863d7b14b6301a622ec35f3ab9b3494c12e3929bc321950fa1036d98a3b257c20d378a9798bd3b57e50ec88617b49b75022e10130e35432f3abc7165952e2b7652c0bb1fa92a16d7b3273d2709077164bc60cbbe747205b6dbbe5912947ca3914c1a106b66708212d443898616273e006ed507e30d7a7b6e389739b637609834561ad4e227da0289ed9180bfaa48a58ea75cc1744f75007a99611eae775a1f5411f1376a7f25e758c8b69ba731d28bf016970a9a3579ed7150c526b098c4ad277c6d7294462ca65b6f3b7062956551428477b9c57301ecadb9c7adaca67c0423f42704b008a90861b45c19d24e521080c69fd20a5dca45aca18abb356375a983081567e22798f530aa1e0aabc2d7b3a208446e9081ba2420b8afcb8edd37db536689695749b632d99316653e97056260979974e44d135589a283dd1486856bd1af59e24394743c7a036a68161e31010cac462a6a7ac0058e1640aaa686311d939537171b8128965c70fe8eb0f10dc1a2bc50aba436e2af19ffbb3c6451a9fe7784678a519473010f9e69f9601502c421ad4a7848cdc4b73987cf2f85e660c65e468346672ab09ea8b106b2ed51246271bc9d21672f6aa0b3a9b24c8f64722842f2e24cb2a47aac689a5c57318663bc98756c199160f3a39c2148c574c23836dd060d1ac8a06794edd5aa068ac19e42ccaab951051756350c31d584a517fc9bb303276215580fda99551e82449d8675f29c45ab6354107cc94509ee55aa5db3a813adb8b04005200aba8f91b58a2d3b2b7d82c6461363353038099b7a0e981a85c75e0e422c572c506071df54bb7b715b9f4a42da1e89694a06475545d97a09ea36374f2c8ba40a5cc17eb1ad308ae862a26e38b2ffc11b7abe3b58509b21649b86aab9e0d1abb601604c4152257a6691a964657ba0d1f561402545b782960e547a4dab7b71aa95c67e64caf568c3b3144fb29022cb0bf01b895e3327d019b591ca282d22105da99b58be42bae7185e0b56cbd0c56ead56b5dd34e9bc1859b927ed78c4ee1340960256a0b63cf4e1cc9e84a53a48b2f70c3c89e83a0005d65019a8419b5166469999a453418cb94295462d9256ccddb3fcf8365cf0235f1d547498714a8b09553182fba093f447a220146182a3acf062a118b22ca49756505978f21db629799cad72ac5d17b2bfa52a6ea15672537899a313a4f0b7df3f8639906bd0163735dec5923a038fb7b5856570e279275c3093998338cb595c9a6b712c06c526166a725b9098ea02ea10c5d7cbb86b935703f122dedb05233202968b59825f41f2c17ba76ac661fa69a7998c5fc6c2fb68a7820576b1fda2c73daa29cc21dcdca47adaa1b3b5258c1575fc9270712f3b8842978be50a18da45159b99272162891cb8a63cacfbc30bae0a4364c8a6537e1b40e825c4a311488b133956690e494443ab44793d3717582701fac5486da4ffaf02c058ba688fb88deb3c94e7445cfa89a79ca5f4b991abce25cd6b74afbe9c63dfa0f40180b242ab52c1a455c0664f7357c048b27e05ca46b8605e6843c66fbc2a6a29be135c39565a916acadbbf2aa2656125b603bc88c9d710399a84850840169be61bd4ef3687777075f0c7870b61903a26e6391a88b114e96f13f56be785d942d7eab011805cf3504fce325b6a5ef1aaadbbb11c662b9d213f0970c03d32967b06cca4cf58e87559128d14cb3f876a1ed10eadfe03fc1a9003271531cf27285b8721ed5cb46853043b346a66cba6cf765f1b0eaa40bf672 -m = cde797df8ce67231f6c5d15811843e01eb2ab84c7490931240822adbddd72046 -ct = 148869316ff02e3434078481b0efd5c01697b0b6a95448e34d38f1bf326ab9b7215cdbb7a43fa2af48760e4d595278538d482e067549f46d725114dcf6efe5dc1fe7f8e6023f225fb3cfa8b17b1dc06b1d639a786dbd337793699bfed98c533203e8a053f210de15887ccc5174cfaa7e6d99ad11e61a8d3decbb5d2c9de33f96df78855b55d9cf62ff8597c5d61de8e24bcf6c792cb57ac0b249fdd2d83a493716fa06faa5e3ad4bee1be8ea00b789e5197e02902cb64a7a7b02416427a58e1eede1e23805908756acd919da013f8b53584f77a55bf5e8f28b9fb062279f0aeaf93b2c7b76d2fc70e94f680fb7884d4ff9cbdd28a948360b8d48db38d617b98f5dca38965a1f42fa9fdf154ef5883eb1a89d08cb5b861f783b8fa1fe99f1253c782d2035e667e7afa6fc8d5eecc3137633a8f9429c1a50afbf3302d30826c8eb57be8c11c3a9dc70cf1d8449ace55eda070e3fe0ff71789a32a309242a8d740413576b659120a23ed0f1c35ad2cfb40cdda23e3dfc5e7d18e8b22c74081b604725eccf0541eb4f007919b7eca52fc23ae229d9754337633425e4238e6f3eb0a265c90edad0c6a5885b3b1b58b549c6c4cea5154e60aef72a72c7d991198f5c855957896007ec0bec440450e6f64092da3f8e12b29a26aff0a5ea08a36c01ee46074b5b3e9f00abe821187d3df337e4e18cf4bbf9a0d7d2daadf0574af638b71178743f907cf8168b73277342193b8ba4f0b55767456a778e071b73517a3bf9a1151d51b86f26ce7f1a0d6e0d2bc8fe60fe6abf6f01439c5b0e09a93ac4a7b03e92b80b0c669f4561e8fd3df47b4d61c79c000ceeec451b607aa1f3dab186a6aba51f155c56a1357566aeac90b8c198e45db251fb3a1bb020f068f7027bf86e0b83327cc88dc1b963cd9ba5e8c7b68f22a27ccf87b55481d46a804121d819c9bdfa4e0c1ff5e4907dba06dd4e2f95fea50a22b60d0ad383e7630494407bf6728ab7af746f4b115f1969c50222dd8006bf0da01756fee5af6a400b884f9076310000f3ba694aae5cff0b4c7fd837f58286a25e10ca4735efdb7ec0d7aacfa83d2c -ss = ced6ec70083226b02057b7f47e40943320b3d10dd4ad07efe0f007ec8c06b3af +sk = e1785b13943f2661c372ca63a0c6aeded27f46c81b837293b9867b9f7cce0611c61b318adfd67c09969c27a095e53c124b048cd99027c9103e85c5c4d72730a34c8adc406eceb4afe02444671319df175465ea9a0d91291c18cfc9367a333475727b64e6f73e50233b81ac0978364d18f72db39a4041d4b25a095df99bcbed090496dab62aa250945a97bd297a539a1af51648c8378c1b21a2fc311b57860c368a819f2b8c15477243256970313b2ae082c2f8bdacb658a89c6bdc788325d48292dc2395f51df765a4a2e927769c84f5fc306568b4b5e7487b8b9f79dcce33c80b988c955544cca478aac902c2a6f2a4bc9a9478a9b318f78586c696942b6f4c2931e85042db27314cb546bebc2236c2136d581ee22978d2b79ea3b662a8bc7cc17ccbdb59aef8b0cd77a4a680672e9ab4adc2d011bf471865f92f4a4769a8157b87769ac3b86448851e80f8babf394907d4c8a51c7ba4ca62cd7ab7bbc4219778ce4dc22955772dbd1330c10055dbe106d11863d7b14b6301a622ec35f3ab9b3494c12e3929bc321950fa1036d98a3b257c20d378a9798bd3b57e50ec88617b49b75022e10130e35432f3abc7165952e2b7652c0bb1fa92a16d7b3273d2709077164bc60cbbe747205b6dbbe5912947ca3914c1a106b66708212d443898616273e006ed507e30d7a7b6e389739b637609834561ad4e227da0289ed9180bfaa48a58ea75cc1744f75007a99611eae775a1f5411f1376a7f25e758c8b69ba731d28bf016970a9a3579ed7150c526b098c4ad277c6d7294462ca65b6f3b7062956551428477b9c57301ecadb9c7adaca67c0423f42704b008a90861b45c19d24e521080c69fd20a5dca45aca18abb356375a983081567e22798f530aa1e0aabc2d7b3a208446e9081ba2420b8afcb8edd37db536689695749b632d99316653e97056260979974e44d135589a283dd1486856bd1af59e24394743c7a036a68161e31010cac462a6a7ac0058e1640aaa686311d939537171b8128965c70fe8eb0f10dc1a2bc50aba436e2af19ffbb3c6451a9fe7784678a519473010f9e69f9601502c421ad4a7848cdc4b73987cf2f85e660c65e468346672ab09ea8b106b2ed51246271bc9d21672f6aa0b3a9b24c8f64722842f2e24cb2a47aac689a5c57318663bc98756c199160f3a39c2148c574c23836dd060d1ac8a06794edd5aa068ac19e42ccaab951051756350c31d584a517fc9bb303276215580fda99551e82449d8675f29c45ab6354107cc94509ee55aa5db3a813adb8b04005200aba8f91b58a2d3b2b7d82c6461363353038099b7a0e981a85c75e0e422c572c506071df54bb7b715b9f4a42da1e89694a06475545d97a09ea36374f2c8ba40a5cc17eb1ad308ae862a26e38b2ffc11b7abe3b58509b21649b86aab9e0d1abb601604c4152257a6691a964657ba0d1f561402545b782960e547a4dab7b71aa95c67e64caf568c3b3144fb29022cb0bf01b895e3327d019b591ca282d22105da99b58be42bae7185e0b56cbd0c56ead56b5dd34e9bc1859b927ed78c4ee1340960256a0b63cf4e1cc9e84a53a48b2f70c3c89e83a0005d65019a8419b5166469999a453418cb94295462d9256ccddb3fcf8365cf0235f1d547498714a8b09553182fba093f447a220146182a3acf062a118b22ca49756505978f21db629799cad72ac5d17b2bfa52a6ea15672537899a313a4f0b7df3f8639906bd0163735dec5923a038fb7b5856570e279275c3093998338cb595c9a6b712c06c526166a725b9098ea02ea10c5d7cbb86b935703f122dedb05233202968b59825f41f2c17ba76ac661fa69a7998c5fc6c2fb68a7820576b1fda2c73daa29cc21dcdca47adaa1b3b5258c1575fc9270712f3b8842978be50a18da45159b99272162891cb8a63cacfbc30bae0a4364c8a6537e1b40e825c4a311488b133956690e494443ab44793d3717582701fac5486da4ffaf02c058ba688fb88deb3c94e7445cfa89a79ca5f4b991abce25cd6b74afbe9c63dfa0f40180b242ab52c1a455c0664f7357c048b27e05ca46b8605e6843c66fbc2a6a29be135c39565a916acadbbf2aa2656125b603bc88c9d710399a84850840169be61bd4ef3687777075f0c7870b61903a26e6391a88b114e96f13f56be785d942d7eab011805cf3504fce325b6a5ef1aaadbbb11c662b9d213f0970c03d32967b06cca4cf58e87559128d14cb3f876a1ed10eadfe03fc1a9588522d326e7f105f11c4e8d97e119e193af42dc28409f4f7572ada538b52c1f +m = 46401015603c5e2174cb94ac742e836b516e2d570f15de0b9d0204d79ac64ba3 +ct = 49e57994384de63cfdacdd89e3cc14fc54926327e4d9924523d7e0dc8f73c7b6a3ccd39156db79d30944c92c863566d79968bb84611271d325dcaa9aadfbc869ef4912c15877bfa6ed0c3b333cbfd491979422396f7aae2c8b1d1ccf4335fafd872479c7781003634e996c4b2ee67948eb3edfaf73e49104f329a97bc6945b531a44c145baa5dd813c98517dd5824791a7f67312fad81b174a7b351e4334478e75d518cb7a30d4b9eee9c4d6f1e423c7e84a3fd0031a790725a8d36c1f6a2e443b8f7ddfba038fa2a192b4b750e9546ea79d05adb3e043ff1bc7267b9c56d7b4771b05df34dd715ce1d549a08d4b4d08269659d5298faab6af725ad952529a4260f36387a809ff7c1797b6e1dfb8d77325ff823c568412b46d5246f89c81cabc6d4dbb2e9dddcbc082a709b79b9c0db1f2e0df2c895abd44ed1087a78209e2727cfdb621a5bfb84cfc9902f5c7d2475f8bffe68b41399429dddbe603a54c3f3f95acaaa065cedab71fe418d7b6b4a1409401d87f5daa0ba7690d7152aac117c564fa2d2c51c6d8f1ff1507f96bbb7994fc22b9bf5c366de5ee560da2c6340b5825b9a7d61c0fed198809918e5252672febee0a8f6d94495c9058bc0d826496659f3c9346886501059eb13524806f15977df99126fe881397ce9f0f1383d63622b4484ae4c28e388bb83891b8b2987c3780ea091321de80534b7f58c958f9971b5e6cd75a886751947e4bfdfea2a9e753faa74732057c1b8df0dcf947184a4283a9c0138ea4068ed81abcbbbc31a87c255fa321b312c596dec58f895b9a45c8d1bf6c2a5193d2a0c60f1036af71455afd38c38c84369462f430ea29aa98e28f34a9accf33e605d33cb798eb23d268968c52f9adf269c7364410da07d7803d880f970e48185899e3fe9edcc8990a97fcb9723e93fce7fc4b15080f49c869b2a1a831c2ac5f035178cabaeecbf57281cc119107e625a9a2f937e6cd6e67c40dfedea90cdc176aef83d2c901b39dbfb09c37cc224385f70545d4d815d26f0637fec78d46cbb423ffa054cea5784dc1f03b3448a93f9128263f32c4dd7cbaaa517b7f +ss = 18471ac55b75b5ca5705ad3ae683a48c30102a5a10f2df93a943c14faab796e8 d = 4b622de1350119c45a9f2e2ef3dc5df50a759d138cdfbd64c81cc7cc2f513345 -z = e82fcc97ca60ccb27bf6938c975658aeb8b4d37cffbde25d97e561f36c219ade +z = d5a45a4ced06403c5557e87113cb30ea3dc2f39481734de9e18bcbfbecc6719f pk = 59720c3d802726470d1c567b5908698650360db82700e7b9dd26013b6a8184316df3c59194fc96a0821a95c666ec5b130262006442cef64428794672b43bc1eeba20de01bc70c15835952164e5a32705bfa7c64693b9bed53462f5aa6de2569195147c70a789de2153b3f64411534cfad0adbf8bc0aa51bdaf396e5746517c5547b3112fe08188da54932b9b458458c55f146feaa9620e7bb6ce21648af047e0027c3553813aa81574f26483e93a5ab3642aa1332bc34f86328e5f80b272aa8971d175ee6a3d762acd8279331e849179b9638c17b525ac600a598e4dcb7ffd68c31a9b27d3b17f63fa0e0da16a3e54bc85da61a0119a95201fa51906d6e2257b2cbd7235abe8b80e80947cecb5ce87f9af68442e8b6336c68ab0b170a67cc14f5e5377c4cb5930705775e522ca466dfebb1aa800b452262a01966ff624ce79561b3a40258be53512d01b749c25ec903923ea58e6677e02b0430e996000c637d002ba09dac9e717ac64b634688b558d598e4017cbd46a160c621dbb2b961638b08a488fe8d814aca37165a43ddd4b3908d84246794678823e794c9191332f344077ffaa50dbd2a6e0692addd353588b3e87e31f3ae4030b2371eeb1cad20699bd6a459dba53e6e3aa8a56be4939b3e4b58c172cbbc4ab1f87235e1f114cb93c3150e25277459c43a6aabe39af63eac248d19f21b17ab5a2ac14169b01563dc818552ceab71eec2c2422c3e5f703b84bcfb457707a0b3edc80c0efa324d407d077cab9b416b3a97713b89c6d65c2584ca652e6c4416bb44d3e7478eb21ce1a555456b94271689828560eaf4394bed93a86d48ec082a7be576b75d00ec418228bf93c7037a49339352828af07f3729bfa739b00d04b5502b9d6054ba525d724a0df8506d9ea56d750072868cfcf07716af003a02c45d4991f4503bf5ac86024857acae4ce24850def0632a6dca9756c5c8a459341c69e93e154858b7c917592bb91c23ab622d3f84b9c81445e5a1e59262bfbf025286bbbb5d03eaa794445f7839f3ab51bf5ac48c978f0310128817d27e658d9f468f77c4c69da09dd8526539c2598f4a4ac60e8cb68627382a145f91be9d78fd51ba5e3fcbc3155b62bc07751dd -sk = 50d47ac334a631e3c9bf8aa02bcc7e35272025cc37f8c844641704226029a3ac14bda6458c33790c806430bc478470b94f164a1b074c5fd034466922f41ca7c70a61c0e9727263579de085eb468cf44a3dc112525b878645a7483c0916a28b0ab8ccae79352e45bb186806a29c381caba12e0b505831200f8b874964686e754b66a66b2bde90826fd34938a46711a01599bab22a148c80fb0ba8455ef42c0b5279122be3cedef27907040f9641b681500c50679de3f534c5ac8754f925f446c6a114a989cb7b4269a95e3630c582c9af505ab7d3ab6533288c9316fec5512c21ce2866ac26391c340467baf3ab3be8c007587b77d7c7cc10c036c06d8d1590f417bc2c8909bb85acc8d29fadaa766e89788c406d35da78990a0aa2a1c0d0f92f73c152cb797f976b5173010a35fc649744c69529c354b616a8ba471496970365b1ee822c65201364405838d398ba047e5342ad71d831f2762798e282d8381730184eb5536b85ec8d0f59cb5b7a10d2334f876394f1f154bd6272bbf13ffc243ea0c53b3ad3adf9382f135766d5589769b7672b5126ccd6c8928709cd638c28a38c0ac9cceb239f147ba6ced8bdfb39688e1ab90ce31b44b76c32dbaedec4b84503160db41e19f82b401b7a97d44161dba79d991468635f04545982f7b818585f28a320b744533113515ca95b9cb37512e339e716c92569c8ed8122c131ad265b7859bbb069c136818a24250339e1eccad295cf95f6290be90e2a94b21ee4ab84ea5755332afdb1545cb97effb091221b9b3690b06d66795de7898669609fb26a5d37814ed9b7f55592b02a6c1205c8f0c23f0b691b6f64194d1270f8042a7eb6563cb2b178f808aac06fcea7432b025499499f2d5b8b476ba469e7bc43e4a091e88bcea08454e83d2606ade78a4984d6b6a5586c04090051462ae79680a676735267607b256d5db4c6a7b2846a73093885b277043b7e98ceed99bf743904438c8888064ee2834109a70141f791e5e26bb5281301064935850e40641183b4c1f3776de042a78e0966540aa25cd484182b30fd3cbf0581b7b4a31250c103b6620059720c3d802726470d1c567b5908698650360db82700e7b9dd26013b6a8184316df3c59194fc96a0821a95c666ec5b130262006442cef64428794672b43bc1eeba20de01bc70c15835952164e5a32705bfa7c64693b9bed53462f5aa6de2569195147c70a789de2153b3f64411534cfad0adbf8bc0aa51bdaf396e5746517c5547b3112fe08188da54932b9b458458c55f146feaa9620e7bb6ce21648af047e0027c3553813aa81574f26483e93a5ab3642aa1332bc34f86328e5f80b272aa8971d175ee6a3d762acd8279331e849179b9638c17b525ac600a598e4dcb7ffd68c31a9b27d3b17f63fa0e0da16a3e54bc85da61a0119a95201fa51906d6e2257b2cbd7235abe8b80e80947cecb5ce87f9af68442e8b6336c68ab0b170a67cc14f5e5377c4cb5930705775e522ca466dfebb1aa800b452262a01966ff624ce79561b3a40258be53512d01b749c25ec903923ea58e6677e02b0430e996000c637d002ba09dac9e717ac64b634688b558d598e4017cbd46a160c621dbb2b961638b08a488fe8d814aca37165a43ddd4b3908d84246794678823e794c9191332f344077ffaa50dbd2a6e0692addd353588b3e87e31f3ae4030b2371eeb1cad20699bd6a459dba53e6e3aa8a56be4939b3e4b58c172cbbc4ab1f87235e1f114cb93c3150e25277459c43a6aabe39af63eac248d19f21b17ab5a2ac14169b01563dc818552ceab71eec2c2422c3e5f703b84bcfb457707a0b3edc80c0efa324d407d077cab9b416b3a97713b89c6d65c2584ca652e6c4416bb44d3e7478eb21ce1a555456b94271689828560eaf4394bed93a86d48ec082a7be576b75d00ec418228bf93c7037a49339352828af07f3729bfa739b00d04b5502b9d6054ba525d724a0df8506d9ea56d750072868cfcf07716af003a02c45d4991f4503bf5ac86024857acae4ce24850def0632a6dca9756c5c8a459341c69e93e154858b7c917592bb91c23ab622d3f84b9c81445e5a1e59262bfbf025286bbbb5d03eaa794445f7839f3ab51bf5ac48c978f0310128817d27e658d9f468f77c4c69da09dd8526539c2598f4a4ac60e8cb68627382a145f91be9d78fd51ba5e3fcbc3155b62bc07751dd083553153f7d65cd5cbe201e681245eda61e1ec2c7ee6b91a9ccdeb6b76943b7e82fcc97ca60ccb27bf6938c975658aeb8b4d37cffbde25d97e561f36c219ade -m = f43f68fbd694f0a6d307297110ecd4739876489fdf07eb9b03364e2ed0ff96e9 -ct = 9f38d01740bc9ad1d46fe0eb0ae538866b2846073af151f9d55fa354233d0acf62a7a3744814ccd33b4eebf525565ac096212f5405624b3301b14630473760a30836e64ee14f3bad9d97ce0abd37753d4a104184bce3de9d9f0f486fd4a1cddc786b887ab225c8d10ab156feed875ec37904626ecc5cae50f06349404c63c3d2f80a8ff43c2399abd9b098eaa0a124d488a1db5ebec9a460f027a836840003ac23ecbf9a5612fe438b960029d4ddb3e66beb79d8a8892d2fdbc1d4e70565dbdc756f9bbf85089fc6b448ff6f03f406693a8810b5b5d7b14d61b93157b7a6379f959964fa8540a830747e7689dc7164a1a1b4155798e74a8b17c2e89d7194f8e974b704403c9675e1dc4e1c196aacb0d5137a500023b683ac632edd3acf949d4a1e95e38ef6f6fdbccb5ea800bb53255a69b4e33d513b27d022d0b414c8c1a7c335804643a76a0b617d5f2d6ca6a866c7234f981b63949cb413c7c257d495319bef42e5817798400f9904c01223b77369139152e02a843011a3da07e399470c225da68951d1d52c36f12d73448cc81a6dc341f8ad79b107e3426218adedeeff0fd8165fff78c2282ed24c83490f3558bd1dbe0b9113a39f95a4aa6fdf64602377a41a8a2adc01f3bd242200b97ff7e72cbaf937bff6793519d91adce6327d1de876ba662579450e48f7451a5dcbd9a0b866682922bd39cdb893e9465dcb2f6e12864ed2d35059b636fc7cf9b995fde29d7f464446454fdd9adcbcec705f8a1102698d10671ae7fc3418209bb2627bcd5693dc23ea0322b2859338d0edecd71867b571fddbc7137969b48f51cb6ea8c731bb1189bc75738070254dcc8f7fd3ff295d6ddd36481a66c2aed8e43beee1513244ce52e936f4c8ce71349e756ac52f23c89e41db4707e6b2bf92076fa5762562c8d941a2e3b56e011ea0215dd5d0aea99e705ee4dd39517d4071b75d1df6b38809a5a542bdb0941813916a726ed586d3a4196032ddf183a5f6dcb4f624cd69bec9cbf6e8554cf26df23e59a4e265b1c976b358b768398763c340d168cbdc8bf00f62cd01e19fd8db87429291c688bd80 -ss = 6f21df33b8398bfa65c9c243214e22d0beb5f0d801e4f9e71d476f8b7e3a9688 +sk = 50d47ac334a631e3c9bf8aa02bcc7e35272025cc37f8c844641704226029a3ac14bda6458c33790c806430bc478470b94f164a1b074c5fd034466922f41ca7c70a61c0e9727263579de085eb468cf44a3dc112525b878645a7483c0916a28b0ab8ccae79352e45bb186806a29c381caba12e0b505831200f8b874964686e754b66a66b2bde90826fd34938a46711a01599bab22a148c80fb0ba8455ef42c0b5279122be3cedef27907040f9641b681500c50679de3f534c5ac8754f925f446c6a114a989cb7b4269a95e3630c582c9af505ab7d3ab6533288c9316fec5512c21ce2866ac26391c340467baf3ab3be8c007587b77d7c7cc10c036c06d8d1590f417bc2c8909bb85acc8d29fadaa766e89788c406d35da78990a0aa2a1c0d0f92f73c152cb797f976b5173010a35fc649744c69529c354b616a8ba471496970365b1ee822c65201364405838d398ba047e5342ad71d831f2762798e282d8381730184eb5536b85ec8d0f59cb5b7a10d2334f876394f1f154bd6272bbf13ffc243ea0c53b3ad3adf9382f135766d5589769b7672b5126ccd6c8928709cd638c28a38c0ac9cceb239f147ba6ced8bdfb39688e1ab90ce31b44b76c32dbaedec4b84503160db41e19f82b401b7a97d44161dba79d991468635f04545982f7b818585f28a320b744533113515ca95b9cb37512e339e716c92569c8ed8122c131ad265b7859bbb069c136818a24250339e1eccad295cf95f6290be90e2a94b21ee4ab84ea5755332afdb1545cb97effb091221b9b3690b06d66795de7898669609fb26a5d37814ed9b7f55592b02a6c1205c8f0c23f0b691b6f64194d1270f8042a7eb6563cb2b178f808aac06fcea7432b025499499f2d5b8b476ba469e7bc43e4a091e88bcea08454e83d2606ade78a4984d6b6a5586c04090051462ae79680a676735267607b256d5db4c6a7b2846a73093885b277043b7e98ceed99bf743904438c8888064ee2834109a70141f791e5e26bb5281301064935850e40641183b4c1f3776de042a78e0966540aa25cd484182b30fd3cbf0581b7b4a31250c103b6620059720c3d802726470d1c567b5908698650360db82700e7b9dd26013b6a8184316df3c59194fc96a0821a95c666ec5b130262006442cef64428794672b43bc1eeba20de01bc70c15835952164e5a32705bfa7c64693b9bed53462f5aa6de2569195147c70a789de2153b3f64411534cfad0adbf8bc0aa51bdaf396e5746517c5547b3112fe08188da54932b9b458458c55f146feaa9620e7bb6ce21648af047e0027c3553813aa81574f26483e93a5ab3642aa1332bc34f86328e5f80b272aa8971d175ee6a3d762acd8279331e849179b9638c17b525ac600a598e4dcb7ffd68c31a9b27d3b17f63fa0e0da16a3e54bc85da61a0119a95201fa51906d6e2257b2cbd7235abe8b80e80947cecb5ce87f9af68442e8b6336c68ab0b170a67cc14f5e5377c4cb5930705775e522ca466dfebb1aa800b452262a01966ff624ce79561b3a40258be53512d01b749c25ec903923ea58e6677e02b0430e996000c637d002ba09dac9e717ac64b634688b558d598e4017cbd46a160c621dbb2b961638b08a488fe8d814aca37165a43ddd4b3908d84246794678823e794c9191332f344077ffaa50dbd2a6e0692addd353588b3e87e31f3ae4030b2371eeb1cad20699bd6a459dba53e6e3aa8a56be4939b3e4b58c172cbbc4ab1f87235e1f114cb93c3150e25277459c43a6aabe39af63eac248d19f21b17ab5a2ac14169b01563dc818552ceab71eec2c2422c3e5f703b84bcfb457707a0b3edc80c0efa324d407d077cab9b416b3a97713b89c6d65c2584ca652e6c4416bb44d3e7478eb21ce1a555456b94271689828560eaf4394bed93a86d48ec082a7be576b75d00ec418228bf93c7037a49339352828af07f3729bfa739b00d04b5502b9d6054ba525d724a0df8506d9ea56d750072868cfcf07716af003a02c45d4991f4503bf5ac86024857acae4ce24850def0632a6dca9756c5c8a459341c69e93e154858b7c917592bb91c23ab622d3f84b9c81445e5a1e59262bfbf025286bbbb5d03eaa794445f7839f3ab51bf5ac48c978f0310128817d27e658d9f468f77c4c69da09dd8526539c2598f4a4ac60e8cb68627382a145f91be9d78fd51ba5e3fcbc3155b62bc07751dd083553153f7d65cd5cbe201e681245eda61e1ec2c7ee6b91a9ccdeb6b76943b7d5a45a4ced06403c5557e87113cb30ea3dc2f39481734de9e18bcbfbecc6719f +m = 8ddcc956a19e14e33dd2f1fcc4e6aa816f299f76cbf95b962a0535a7e2949405 +ct = 57f5245f7cf4994e8d65fb0661027accd9574990b980564b22b1fa2d6680696a50e463940d814ab53b9bae077c0c4f947d43ddf6da2157690625a908fdc77a8f2ea8006ebaac38c1dd30cb94b97454a773e5c59e7f609ffbaf2c11ed3eb0d52924f932603a809a2a2c3d2926f32faa786b9c388c6a85a1c0a7bf48d7f2ce3ddeccb2cf16122e9c8156cb49f80c831d3a114cb18865507f14eb49671dcbe73aef7ccfd408d82e0459e3c0fab577818b7c3cfe3e11e3ac5ded4f8db01544310575f5dbc150fb906ab41b363bc20d67072af9895c02da4df1e84ed1a0786212a70067055fd4b8223812d89234efd385dce1767cd9f6921b0175961db999922466622754efed26c7782ace26a5474f14b16f8d96096f3d9fe98d4b10893bf10cbd6cc7d11189a91bcbf856fa954aadd4dd8b8705ee6f3f5a8c9866633a1862acb8caf8c5936c0dd0b7dc4cde607ad33f02a82d1eb4adeaf2f8976f2ddc7845c9e4063f40ed58d774769f1321a6a2e0249c11924d66b7a2850ae1c8c9d316c578f14668c029f161fd2aff202f0795c9ea237fae1375f5d67ca22c4b61321c5dc06299cf42ea0ac6e553bc153c642a25b985082515423aae4d5856b9f4aed26c51216d18ec1e389bcfec07c6c9609079f1395e4d339f5471393d75f51a4b9be1ac7dbad9ce1fd3866e385d7b52ea33071b41a0795ff2c7996b652dce78787a52eb48422d57ed3e5b6b0310aa6bdd99faa9ae6c2fb651887ee121c12780c403181b9e1efcc0fbde423f8b0b9922bfb8d1ca3f993fe387dffcb6d7d46cfd85f286adf91c12eb03f8ea2882bf54fa05ab5ca0b3e6bbd38cc9e92a9ee0161ca3f4e710835322294b29c13af0c74a814364a4ec4058b2a8b129e7dd58af8dcc491468c0729a68443d66746875928010c7d1760ab5813cefd20b9d4ce22fee089f5293f9ccab4746c3b34c0cb8cbe3241dfe4226dfdb6af77a20d5a9d92c46b86990089202e07e6c144fc8fe26a46a5de896e644f89c37515997a47b8b06345db9bbd9691a3724c8e7f4a43a5d049043efe3d67b6857f089f3cf879bfad47f150b59b522af45 +ss = 0a3b1120219fcba59788965bc43bfee99864af94e1e32e02082e5dac2c63c1ca d = 050d58f9f757edc1e8180e3808b806f5bbb3586db3470b069826d1bb9a4efc2c -z = de950541fd53a8a47aaa8cdfe80d928262a5ef7f8129ec3ef92f78d7cc32ef60 +z = 3e0351bdc8a2daf0258645c383021df33fe59b553a8270c1b7a4d0af155999b8 pk = e5dc61cc732b09e221ad8840d101040c4428a798704db118c037476701a79ae30f9b7265038abcd0933d1100492a6b2fbaa7c0d6c22704571520f35e322a4bef080fcb4c83bc62c432f75f6ef22b2b1722351343cbe4460b25b4bc806bac542576ca42f30c7ddef6082199a4edc2237e5271eeb024e154cbd2d57d4d5a59840561c0c76004a8bde4f48f4e0168ccba259bc99b9f4c54cc2a8c1489415c422f70249235235f81404c3601079a3c8095214ae03c86bb4a1487a00710dca3dbac8a89d045de4768e56329ec6709a9208df6d3af6f8c7ddd6284f144120e1449bfccc6cea22bc3917c90f6591062525804054553a46a226093383f12b8529d306ca2fa03f3371de8641463a353513a593d601f91937c3197cd535768f78aa4ec11c4f59267b5fa47b0b2312ae97b77aa1c3631b7033cb17b5a592c89091d0a2062f8c7299a2bd7f77832899b1a84ae67a3c11e87b17a0050523b9a9bb87db0152cbee582b9d821937a2770d07d6e2113832c1456662ab38475a1527fd23287e45822c5d0c19875cc4c60c9ede44722552013b6ad7ee4b860ec2ff8337789832002026d7b54676b44667961654902912e3116402824a64cc67655018803ab2c06540123166d78b87be63997692efc099e4bd72d734b1e9dd6344df12070773b06c5c1ff3b32417546ea5416c204917f104a3e603bf1f09fefc3184fa43f06200423c3026b3a2374186df33344cde1ccde212ebf626410907fda57a9538b165b3911e016438c4b3f0e485b3ca3001ef03466a8749d1488e24685fc1cc89e012758473601b572acab4db6a93edaa6aadbca7924c23115769db3a4185aebcd09a9b045b3437dab3336b47a6bc23370a53a5e327b6654091f9a435451cc26b41ecbc129ae109475793c3977b532c6a8cb3317d3270bbc6bbfbcfa1c2ab2c41908520184000e3b62dbc3005839200b486d6b89b1719505f6fc4a3b7a41ce4a4677b64688284ec18915f17133f81c4f73c13e14632873652554685debb7b987c66d01b9049f6b2e44960022e7916b61a55c12c4f5e099ca059e3f98704ad5ca1d2676496c21782d978970256c691434f939b02c14f42b1874087ea68917c2f3e31315e22581 -sk = 456c6c1d6630bd63c8b0243d5b1a6ecc09a28b09bcbf96cfaf056e936a0184d6774d9524f4a6000e974fa7879574629504f09a12838da39c7a90f4637c1bcbb16677b491b87f653aa41ab5f6e279f917c65403a78d07b136ac8486eacf42252428c3b09ecb91f7a953cf98484b036f48622a6dea3a46e7b33c500b0e39620b640f6c14be17fc6d04cb815d4691687737f413491a8b9e30f28c7e2bcbdeb92b21a1752b6261863c84fc5918efec496311cbc7557223cb65f2169eb6e1ba98b42a56b71ccc6133a7b50ee4442ececabacdc960856b590f5792d973a3ab82b3ff6b36b64757d04787e0c4728c0649cfe16d2febac26a2bfabf985cc8b1b5511ca85760fe559b28072286e9b4c732b156db2a9d08238e54336a87837dc93b4742cac0f05c2d75ccdf06787b21548f19280c05298be80c79296bf9609a8d88347413b426a38001d59cb5787513fb53a51a0cd39c903e12a512891c43d39372ec2c0f3398dc091729ca80061da2484a01c58b8530956268eb6a5e764443190ca2ca896f142c16d83bd93014ef7852acfbc48c8702f1b39513ef20f50d92eafe74cc057adb1c363f59a9b962697c37892759859080a287d5b7ef62a4aec718020519bd5b59da69c60a249b55c68c2d523a507245d39c8374c67ba02d172cc98893761149bcb6fcf93cf779431de95132a029591c92273078a403895c40467be735b6d2346dfa33568f654a25b7586e63b5a820998374a0a01123cb915512c1557b4bd1366be2c259c511492d4b200f9e618608997b2b80fdd873a42859d9b98a279121de3a5a06652be7e948c01045ee41a08c068519d9125a7bcb79c5c713f2c4ca4db7c30f9a7a7052ab68280a4b59d22844551e4028f8740253447a479b5fdb0371ffb4c39104b51c13a3ec7364857a775f3a8837978f560c31052b01f648dacf8440eb3500c447ef81641130cac60748cb1e108facc918af165224b91fd52c7ea1a7fb5f83217284d5e20c951fa0fe47352f3a22d80d0b95875bd80640d95142db2639a830ba302f49a8caabf009104f8b136bb75a38d168274307db8d136ee08cee5dc61cc732b09e221ad8840d101040c4428a798704db118c037476701a79ae30f9b7265038abcd0933d1100492a6b2fbaa7c0d6c22704571520f35e322a4bef080fcb4c83bc62c432f75f6ef22b2b1722351343cbe4460b25b4bc806bac542576ca42f30c7ddef6082199a4edc2237e5271eeb024e154cbd2d57d4d5a59840561c0c76004a8bde4f48f4e0168ccba259bc99b9f4c54cc2a8c1489415c422f70249235235f81404c3601079a3c8095214ae03c86bb4a1487a00710dca3dbac8a89d045de4768e56329ec6709a9208df6d3af6f8c7ddd6284f144120e1449bfccc6cea22bc3917c90f6591062525804054553a46a226093383f12b8529d306ca2fa03f3371de8641463a353513a593d601f91937c3197cd535768f78aa4ec11c4f59267b5fa47b0b2312ae97b77aa1c3631b7033cb17b5a592c89091d0a2062f8c7299a2bd7f77832899b1a84ae67a3c11e87b17a0050523b9a9bb87db0152cbee582b9d821937a2770d07d6e2113832c1456662ab38475a1527fd23287e45822c5d0c19875cc4c60c9ede44722552013b6ad7ee4b860ec2ff8337789832002026d7b54676b44667961654902912e3116402824a64cc67655018803ab2c06540123166d78b87be63997692efc099e4bd72d734b1e9dd6344df12070773b06c5c1ff3b32417546ea5416c204917f104a3e603bf1f09fefc3184fa43f06200423c3026b3a2374186df33344cde1ccde212ebf626410907fda57a9538b165b3911e016438c4b3f0e485b3ca3001ef03466a8749d1488e24685fc1cc89e012758473601b572acab4db6a93edaa6aadbca7924c23115769db3a4185aebcd09a9b045b3437dab3336b47a6bc23370a53a5e327b6654091f9a435451cc26b41ecbc129ae109475793c3977b532c6a8cb3317d3270bbc6bbfbcfa1c2ab2c41908520184000e3b62dbc3005839200b486d6b89b1719505f6fc4a3b7a41ce4a4677b64688284ec18915f17133f81c4f73c13e14632873652554685debb7b987c66d01b9049f6b2e44960022e7916b61a55c12c4f5e099ca059e3f98704ad5ca1d2676496c21782d978970256c691434f939b02c14f42b1874087ea68917c2f3e31315e225819df5746a44b10c1886f62b068d18152a85792781160e1a1a19a25b5ca00555f4de950541fd53a8a47aaa8cdfe80d928262a5ef7f8129ec3ef92f78d7cc32ef60 -m = ea74fbc3c546500ed684bed6fe3c496d3b86d2d6dfaf223969b942e9a8c95e85 -ct = 7128af3984e3daa4f96e695466982004aa8070c26261a735b0c32f2fc1b8d933f1908132066543c66d31ae1ae9ed8cfcbd3e58a8f799e038f951c41e80f80c798f937ad5067bdf31f7d475eeced983619ceebd96beb20c51342e5800b20b59ca8893106740347420e8b4125a3fc75bc6d25ced6f4915c803bdb905ebab9fe59810440608f1de38560c40ed159a4911de6e71e52540b955707853ce95f26d7eb4c8a6d826247ed177e81fec7eb9427505dd9512135aadf07f3e5c3261b7cdef98e15d237c15f27bef3122b6077972cbd5ccadc934e521a5bbbc4b41cffe24f0a508babfa9ee4a394c92d1ff032acdcaf0ff41f3cbaadff84ebd6d2d4722e1c4eab8378545d1cd6298c2bbfd96a4dd53e9bfcb6b7bb5a2d6f2598fb33f9c9d73581f6ef5cabe9978acd44ee4eb0bda63f0351bae1fbd0da82b28a0b01ed423e5603cd80bd6b6d7bebe8029fd6e21f3ffa547b4ace5038888c88f3bf72aad591ad08d7ddc980b948e651c95cb23181049aaadf5c3c24d3c84b4a25e16feb4a65726068e110ab6c9803fd84012e0f5fe5fd1826d46c2d647ff555777282798b5a029ba70b58afa260a1c9907cee7fa9e5a131d55709c0226abb1ffaa7699dddfee4af9bf07f05ab3c1125fc4284be197d080bce513d48f5c09f886c7b2b39fc343024581281eea9c986f053aa66a88cfe08e7ac1b7ad46d289d8162855c1e68d6e11e82806447a5d312cd046058af1f963e65812eb8465781872f6fbb8efc1fe2a23f109dfda2ac41fdca6446d7d1394bdae575e1636a739321f2e62f0b97537cf9e65df9e1af5fa115e64a296fd4ce8af8af152e125633ceaaef6f91f94ee38ab015eb1a899418c48e0a2f977b48d3a2c0518a33ec637e7fa97b0d1af0134158bdbeb3d171381f9caf13cae1efbb69c5b95ce76b0bc1815e2783cd29966fc57515014f0bd978ecc071c0e9736c096e2cb8ea554981b9ca4ef793859e66d7e948e42283d6ec17600da36b2ca68c305fa50bb9c73bf221647afc377beddf9424bfac99511f2ed97b6aa7123d76a77a925729c916731c32f9cfb01e8b6ce0bf06e3483 -ss = 960b57f0feb34aa25d29a42a94565f697a8133aa1b7407bce017c8bb4a6ecca8 +sk = 456c6c1d6630bd63c8b0243d5b1a6ecc09a28b09bcbf96cfaf056e936a0184d6774d9524f4a6000e974fa7879574629504f09a12838da39c7a90f4637c1bcbb16677b491b87f653aa41ab5f6e279f917c65403a78d07b136ac8486eacf42252428c3b09ecb91f7a953cf98484b036f48622a6dea3a46e7b33c500b0e39620b640f6c14be17fc6d04cb815d4691687737f413491a8b9e30f28c7e2bcbdeb92b21a1752b6261863c84fc5918efec496311cbc7557223cb65f2169eb6e1ba98b42a56b71ccc6133a7b50ee4442ececabacdc960856b590f5792d973a3ab82b3ff6b36b64757d04787e0c4728c0649cfe16d2febac26a2bfabf985cc8b1b5511ca85760fe559b28072286e9b4c732b156db2a9d08238e54336a87837dc93b4742cac0f05c2d75ccdf06787b21548f19280c05298be80c79296bf9609a8d88347413b426a38001d59cb5787513fb53a51a0cd39c903e12a512891c43d39372ec2c0f3398dc091729ca80061da2484a01c58b8530956268eb6a5e764443190ca2ca896f142c16d83bd93014ef7852acfbc48c8702f1b39513ef20f50d92eafe74cc057adb1c363f59a9b962697c37892759859080a287d5b7ef62a4aec718020519bd5b59da69c60a249b55c68c2d523a507245d39c8374c67ba02d172cc98893761149bcb6fcf93cf779431de95132a029591c92273078a403895c40467be735b6d2346dfa33568f654a25b7586e63b5a820998374a0a01123cb915512c1557b4bd1366be2c259c511492d4b200f9e618608997b2b80fdd873a42859d9b98a279121de3a5a06652be7e948c01045ee41a08c068519d9125a7bcb79c5c713f2c4ca4db7c30f9a7a7052ab68280a4b59d22844551e4028f8740253447a479b5fdb0371ffb4c39104b51c13a3ec7364857a775f3a8837978f560c31052b01f648dacf8440eb3500c447ef81641130cac60748cb1e108facc918af165224b91fd52c7ea1a7fb5f83217284d5e20c951fa0fe47352f3a22d80d0b95875bd80640d95142db2639a830ba302f49a8caabf009104f8b136bb75a38d168274307db8d136ee08cee5dc61cc732b09e221ad8840d101040c4428a798704db118c037476701a79ae30f9b7265038abcd0933d1100492a6b2fbaa7c0d6c22704571520f35e322a4bef080fcb4c83bc62c432f75f6ef22b2b1722351343cbe4460b25b4bc806bac542576ca42f30c7ddef6082199a4edc2237e5271eeb024e154cbd2d57d4d5a59840561c0c76004a8bde4f48f4e0168ccba259bc99b9f4c54cc2a8c1489415c422f70249235235f81404c3601079a3c8095214ae03c86bb4a1487a00710dca3dbac8a89d045de4768e56329ec6709a9208df6d3af6f8c7ddd6284f144120e1449bfccc6cea22bc3917c90f6591062525804054553a46a226093383f12b8529d306ca2fa03f3371de8641463a353513a593d601f91937c3197cd535768f78aa4ec11c4f59267b5fa47b0b2312ae97b77aa1c3631b7033cb17b5a592c89091d0a2062f8c7299a2bd7f77832899b1a84ae67a3c11e87b17a0050523b9a9bb87db0152cbee582b9d821937a2770d07d6e2113832c1456662ab38475a1527fd23287e45822c5d0c19875cc4c60c9ede44722552013b6ad7ee4b860ec2ff8337789832002026d7b54676b44667961654902912e3116402824a64cc67655018803ab2c06540123166d78b87be63997692efc099e4bd72d734b1e9dd6344df12070773b06c5c1ff3b32417546ea5416c204917f104a3e603bf1f09fefc3184fa43f06200423c3026b3a2374186df33344cde1ccde212ebf626410907fda57a9538b165b3911e016438c4b3f0e485b3ca3001ef03466a8749d1488e24685fc1cc89e012758473601b572acab4db6a93edaa6aadbca7924c23115769db3a4185aebcd09a9b045b3437dab3336b47a6bc23370a53a5e327b6654091f9a435451cc26b41ecbc129ae109475793c3977b532c6a8cb3317d3270bbc6bbfbcfa1c2ab2c41908520184000e3b62dbc3005839200b486d6b89b1719505f6fc4a3b7a41ce4a4677b64688284ec18915f17133f81c4f73c13e14632873652554685debb7b987c66d01b9049f6b2e44960022e7916b61a55c12c4f5e099ca059e3f98704ad5ca1d2676496c21782d978970256c691434f939b02c14f42b1874087ea68917c2f3e31315e225819df5746a44b10c1886f62b068d18152a85792781160e1a1a19a25b5ca00555f43e0351bdc8a2daf0258645c383021df33fe59b553a8270c1b7a4d0af155999b8 +m = ded872c12331243854d57fb85475e4a45d85378aa15cc73dbaa11d6c3ea9a080 +ct = 1efc538d7f74329b2859e737a792e98c03a76fac8346b0683668f33ed73f111c5865eeaf3f4cea64ff4d8fa0671c1b35e69b2ea5056211cece7ed05d1061a90b94ef33a80460271d4d1518f25d5a019ad8764e2f63068e935321fab24eac2695fda422a9dc0583d1ee39d4d2d12fc8db5fe8d3c182e8f0eff176d55b22a04718d0d9140a57f3e6aa3bda628cfd9a8650cb3795ff2d941447e370e35968ea04f172151e4f38d4bd2c7143b828bb6afdb6079859e53aa9e04e22ba178d0fd51da9c396ed10008862fa4689e972366dc03916a1c2f3675187c787c8d7618c3053179cb7d29f77210367a29c0e9749a5785bfda86df8a0bc33f4931d5e66639e8eb8e7d56a84275006a9fd11cec3d8f2e6991984b017e514a7309d92130f3b623445f29eb6167c683c155b80e87575420fe4d07b94c43480cb5b397c2b5c9eb61ecf9adaf51786ade6ac539074e6dbf8accf24a016843b5bb91151ff1ea28c10799c2d31199a61ab8fc323e7104aa03a6f3b7e7a92ff127277f90a8a4d2cc4ce4e6c1e4948c4b12fa483d81f6fb6da3f6f546105677d53179a96577bf4296104486bf57bb0743aec16453b0e4ebb58404615e7957a3614b56ae7563bb2ff2db4fec1d9a26638d8d302af54b8a5983a0b1f887f9e814f6bf44666352a19a7812bc3d7367701870896ccb8cfd1bab755859efdcdc9f6893723e7de87472682f7b01f3177e4a76196b57d951caed76b581814f817838683c907943aa407916b3fd5ebeca5420eec9694ed107caf74467d084623e90711328590a27f73c5ca1ea9c81e3d3d6772818b4396ee8fd035e79bb1381221d51175b209a2d76732821da931a54c75c11119fa9b225ba3bff83c1fe8cbfa0c9700c602a1248260e83f51898cfab25c58f2963f45b7e9eca260d1133cab3a30b93d6a654fdbfb5847559800bbd76ab6c527d3e3b653f0827b09501cb7ef319d390c1d7afd3ae20316b5d7034b335ac507aaad3e6f1c2ed455eb3e6edccb11e104b573b1e9ae457c279d211798c5a818b94601bdac4b124c50ec636ef8e04a2494dabad0fb481d97626ac4cdc04af8 +ss = fc94c3fbf2a749d40f27fc3fe22c9a9072f7dbc8680eaab909ebe976c6f9722a d = 66b79b844e0c2adad694e0478661ac46fe6b6001f6a71ff8e2f034b1fd8833d3 -z = be2d3c64d38269a1ee8660b9a2beaeb9f5ac022e8f0a357feebfd13b06813854 +z = b68c0ef1663e52e24c33090ea8f4f564d85daca610fd7c2d5756d7d882408ded pk = 6f70c439f9cda8e34b944822c2396459384ad21392a627522037607b29c8d619b4729a68e2164964339819d88b393269fd3478d1836f80a9cf51b03fe697846c44abe549aa16a25819e38c9ca1262ac103f4417cde8138f84050c0bba5ffb5090c81bcff1bbdcd67739bb60d236215b8ecb5c9002dbf41b36ed335dc4778153761472421d2043f06a8a83422ae6fd0680b860cfb589a3f5b85ebdb94b3f21d24f374949563e8a35eef8c70507c47dccb241dfb53be08b129a283367b48894c090b523e6ae0637fb4894707812ea9b528f54395d0bea3bb3a6772881061c28b8c24ade167633c30935a6c4f29a68fa298bd0c0bc1729c330953fdc5bd6c92595d576e4d6cb45a4a213aa299512c304fa2a3f6b1cd8d545150965bca39703efc502608bcd1e42da21cb129400dba7a9a053a6cc17066d9d98899d7c4aa3cab66b1c13d58251eb196959a6a250ba45023b9e6a6a8d192c0eb548e69d20c68f0bac8ec682b366926d62e878123e198add1d31abe91a02a5cb6fdf6a40255bc3355809fc8ab529a00b0d451dce9a657e961b4787829132a7192139532195bbcbb0fdcada2c515e3a83cf2485fb5a28f648981ddec7a80470540c71d53c29aab8009d9067c703643c1062165e3745d3ccc4e5249efc87b9f73afa08b1915065dac1c4c68422f89589526188ceaa19f64f0cad4781327e85665b5c59e8c3797f72642897db4515da47b994b2c6d3e41949363262dd721573021aa3373aa22758fcc22dbac46806c9005001c92aa9b05d0c789dcced4d427ae762f4a1953c1a643ad2cb2220c8800d376b9f76c1d94a0a4e194aff46422fb57fe4b2b2de18a060627c3f19b984aa7b738bff9336f80171f8236a3e95372975650d6b28398865f206a1bc81c346ee76999b8b889c83551f42495000eb9f5aa3ac16b9247091469815cf4533eab9be2ca283b962ab0031892999b55822eec5503d7201f446b21ec3319813a4f7b70b68a438c6147c182c48ded8c5fca18b2c7322fc3e4341eb46bb130464a7868c5d3ce5b1bb479e69bbdf20dfc59380099ccfb06789fa1183c35857717bda2467f6d44de229c527f6e4e7071cb826cfe76fea483d9163eaa84f6afac495a -sk = 8ba88eb6987ac9337d47b0a4a56748e272cfba9bcd68ec072528aa26b45cc407754cf07202930b42371f012c9e4c2b23b69252f8d82061dacb58c72ee32b0a5aeb7feae54333411e3fa56d7aa46fc4392803925ff2b41273e23428f3a636cc99fa855003d6ca4f71253e66b87d2815f1092898b942c7173bf64832dbb05c4398c9366350d7d9ab146c6208498ce4340e75e7b9bf729dc207c37f1bb554437a6336535a42546bb4b4d8220e8660c785e96e974030d7315c94e394f8b8056fe31634909a0537cb215581ac29cc9e545311eba671c7986722cff1567851e71fc7046b92473227f1127249a7acabc8be252f4136c9b9ab6b5fd92ccc8aad370329d0418cb96a6f02621c01e7b00af17197cc7143653794826fcfc05ee91186daa50ba6336aec812db7218c0e291ffea70782a46d43e84de1b700c3e3a54c1839fa933945c4bf58692924110e72c3a7f9f19f6ec743d4585163e803973b7992fa8f3b087ea14a3d5b8110f2001e72ab8a79a34347a24d74a68b9e0406f2bca624454d1a6c77dc0a1f9fc3801e701db5247b10b0215c474086163653ebcf0b0b66260046599a9668254bfc8871e947c6f8a5212c7245647c25329289616217eebb1577020d4506ba3446a9914c512bf62a2ff26d1bf4cf582a5552332b239776b00c7730bb02be799df92377d16c957b726d89b57b29b13bf290a6c45944d272ce117b6c5d596bba18097429b6bc5b2042919fa83630bd55934ad7400804865b01ccfe84bcd17303ea205b3694cc057ab2dd42cb6826264928a05f2baad530a62ff497e3e09a6439ba8799b3a20865ec340d05e7c4c3a596b59cc62245a1f2b52f0d45b939e177c595a78ba16cba965043b210bfdab8e43241c26973654a737f6a3b8c70c3f2c472109c89fab0ab41fabeb2268095165b8e1ca5a63a53a478b398bc5e84e2b41b8ca6d2d6659101a9c1a97a11ac34fc2a83757390dc00957b124bc1d1be92a4ad3201bdc4924ad3f24216b2894286640546c865536d02508dabd619a3c258756b436b1286aff17f750511d13c0960f5080d1c0a011989bab77db0253b6f70c439f9cda8e34b944822c2396459384ad21392a627522037607b29c8d619b4729a68e2164964339819d88b393269fd3478d1836f80a9cf51b03fe697846c44abe549aa16a25819e38c9ca1262ac103f4417cde8138f84050c0bba5ffb5090c81bcff1bbdcd67739bb60d236215b8ecb5c9002dbf41b36ed335dc4778153761472421d2043f06a8a83422ae6fd0680b860cfb589a3f5b85ebdb94b3f21d24f374949563e8a35eef8c70507c47dccb241dfb53be08b129a283367b48894c090b523e6ae0637fb4894707812ea9b528f54395d0bea3bb3a6772881061c28b8c24ade167633c30935a6c4f29a68fa298bd0c0bc1729c330953fdc5bd6c92595d576e4d6cb45a4a213aa299512c304fa2a3f6b1cd8d545150965bca39703efc502608bcd1e42da21cb129400dba7a9a053a6cc17066d9d98899d7c4aa3cab66b1c13d58251eb196959a6a250ba45023b9e6a6a8d192c0eb548e69d20c68f0bac8ec682b366926d62e878123e198add1d31abe91a02a5cb6fdf6a40255bc3355809fc8ab529a00b0d451dce9a657e961b4787829132a7192139532195bbcbb0fdcada2c515e3a83cf2485fb5a28f648981ddec7a80470540c71d53c29aab8009d9067c703643c1062165e3745d3ccc4e5249efc87b9f73afa08b1915065dac1c4c68422f89589526188ceaa19f64f0cad4781327e85665b5c59e8c3797f72642897db4515da47b994b2c6d3e41949363262dd721573021aa3373aa22758fcc22dbac46806c9005001c92aa9b05d0c789dcced4d427ae762f4a1953c1a643ad2cb2220c8800d376b9f76c1d94a0a4e194aff46422fb57fe4b2b2de18a060627c3f19b984aa7b738bff9336f80171f8236a3e95372975650d6b28398865f206a1bc81c346ee76999b8b889c83551f42495000eb9f5aa3ac16b9247091469815cf4533eab9be2ca283b962ab0031892999b55822eec5503d7201f446b21ec3319813a4f7b70b68a438c6147c182c48ded8c5fca18b2c7322fc3e4341eb46bb130464a7868c5d3ce5b1bb479e69bbdf20dfc59380099ccfb06789fa1183c35857717bda2467f6d44de229c527f6e4e7071cb826cfe76fea483d9163eaa84f6afac495a9415ce164fadececacd75fdad3284af20c52fa576699029d6e0ce77bf347d520be2d3c64d38269a1ee8660b9a2beaeb9f5ac022e8f0a357feebfd13b06813854 -m = 64efa87a12cb96f98b9b81a7e5128a959c74e5332aaab0444fca7b4a5e5e0216 -ct = 876fdd66462486d16fd2d9f8eb48141f438989265e5568c5489a6e37ac0eb93f0bb1af8b3c31e482be6affa9912b73546eabf54c1d6c4e54cd56551142fec463e0e54a07b616772bbc0e1e15fab7ce928ca17ab42c471a6f890bd747de66dc78bdde3bf6e9cc7c03d33528bfdec49e2ab3ad4c8ecce7ae427133b9025489d480fadc15dc0b6bdd1a02d4f4bf1678376a5f8557cd342a12a029c54d7e4bc30cec720670012aa775cda9e6053132c19785a105e1405066568f5713aaeaab599a63b78009052eda0eb01116a28423e7e67156bf391803fbd42a5485fb0efe37eb552e58da11c7a4578665855e529da4064cd753024d600af5c867c8c04db5f3e5b1ab553a9a833878bdddc03abc7cb2eaa895911d0dbe2b6b7dd5acb88c2fc382ca32ca3646c855dba8f153705eb6d32d734c69fe1a12828f5ea033a27b7a324d8175ed44d6cd457dafc0ed196b7db657c98dc921ce4d95478a418c007998a44e7bc9b0f2516d9b0d61f6d3846c0b515ef4fcfa4a64dd11715f3e9a6ffde8203d42225e57d74ee09fa26aa171803a53cc7debe89f416656467237ce24f35c15590801ee03cd47de000218ff246872b005c16e65a25abd0a9b617ed97c4219bb19417d56fad220e703b0a007f7e990b18ea1ed0dc2c838160616ed9f4cf9c544994c5e4adb22c7840ef57217e29babf321eb31252e7001ae61d3e34ba4e34ef31a00ae2518752f23008b1dcb6258c558a8bdb106e3cf3c4fa06b1b446e4973f19ef8a9588913a6a6cfaa8b64912d3c941459c776cf932df726f4c13cfcf23fded7c55619d66d09989f826a4121abf262b54c98dcdd0e53ce79b6feb143e8c32dc343d8c9c0c00c8d03e9efe3a1ca4661c004978edad452415e3c6a83514213f22dda8e71ffa78c392ffe82d51a80fd3f89a2000baf1be764f080f8deffb3c12115f86395aad3015d7b52b1e57f9959e2deb0ed16e723190d73f2d8c81a6959f23c076d6a3bba599e3f6c0dab15f0c70c6297107f6f0c2b5091c8aeca10b285afd63b0f5d83d45d1ac811bfe2c57d45533873ae83d1b10c8334416aed3bf7b19bc248 -ss = dcd0210cc9f2b15b448b7591c54f94deb65ac30c9f2de59109bef5cd4ce34d96 +sk = 8ba88eb6987ac9337d47b0a4a56748e272cfba9bcd68ec072528aa26b45cc407754cf07202930b42371f012c9e4c2b23b69252f8d82061dacb58c72ee32b0a5aeb7feae54333411e3fa56d7aa46fc4392803925ff2b41273e23428f3a636cc99fa855003d6ca4f71253e66b87d2815f1092898b942c7173bf64832dbb05c4398c9366350d7d9ab146c6208498ce4340e75e7b9bf729dc207c37f1bb554437a6336535a42546bb4b4d8220e8660c785e96e974030d7315c94e394f8b8056fe31634909a0537cb215581ac29cc9e545311eba671c7986722cff1567851e71fc7046b92473227f1127249a7acabc8be252f4136c9b9ab6b5fd92ccc8aad370329d0418cb96a6f02621c01e7b00af17197cc7143653794826fcfc05ee91186daa50ba6336aec812db7218c0e291ffea70782a46d43e84de1b700c3e3a54c1839fa933945c4bf58692924110e72c3a7f9f19f6ec743d4585163e803973b7992fa8f3b087ea14a3d5b8110f2001e72ab8a79a34347a24d74a68b9e0406f2bca624454d1a6c77dc0a1f9fc3801e701db5247b10b0215c474086163653ebcf0b0b66260046599a9668254bfc8871e947c6f8a5212c7245647c25329289616217eebb1577020d4506ba3446a9914c512bf62a2ff26d1bf4cf582a5552332b239776b00c7730bb02be799df92377d16c957b726d89b57b29b13bf290a6c45944d272ce117b6c5d596bba18097429b6bc5b2042919fa83630bd55934ad7400804865b01ccfe84bcd17303ea205b3694cc057ab2dd42cb6826264928a05f2baad530a62ff497e3e09a6439ba8799b3a20865ec340d05e7c4c3a596b59cc62245a1f2b52f0d45b939e177c595a78ba16cba965043b210bfdab8e43241c26973654a737f6a3b8c70c3f2c472109c89fab0ab41fabeb2268095165b8e1ca5a63a53a478b398bc5e84e2b41b8ca6d2d6659101a9c1a97a11ac34fc2a83757390dc00957b124bc1d1be92a4ad3201bdc4924ad3f24216b2894286640546c865536d02508dabd619a3c258756b436b1286aff17f750511d13c0960f5080d1c0a011989bab77db0253b6f70c439f9cda8e34b944822c2396459384ad21392a627522037607b29c8d619b4729a68e2164964339819d88b393269fd3478d1836f80a9cf51b03fe697846c44abe549aa16a25819e38c9ca1262ac103f4417cde8138f84050c0bba5ffb5090c81bcff1bbdcd67739bb60d236215b8ecb5c9002dbf41b36ed335dc4778153761472421d2043f06a8a83422ae6fd0680b860cfb589a3f5b85ebdb94b3f21d24f374949563e8a35eef8c70507c47dccb241dfb53be08b129a283367b48894c090b523e6ae0637fb4894707812ea9b528f54395d0bea3bb3a6772881061c28b8c24ade167633c30935a6c4f29a68fa298bd0c0bc1729c330953fdc5bd6c92595d576e4d6cb45a4a213aa299512c304fa2a3f6b1cd8d545150965bca39703efc502608bcd1e42da21cb129400dba7a9a053a6cc17066d9d98899d7c4aa3cab66b1c13d58251eb196959a6a250ba45023b9e6a6a8d192c0eb548e69d20c68f0bac8ec682b366926d62e878123e198add1d31abe91a02a5cb6fdf6a40255bc3355809fc8ab529a00b0d451dce9a657e961b4787829132a7192139532195bbcbb0fdcada2c515e3a83cf2485fb5a28f648981ddec7a80470540c71d53c29aab8009d9067c703643c1062165e3745d3ccc4e5249efc87b9f73afa08b1915065dac1c4c68422f89589526188ceaa19f64f0cad4781327e85665b5c59e8c3797f72642897db4515da47b994b2c6d3e41949363262dd721573021aa3373aa22758fcc22dbac46806c9005001c92aa9b05d0c789dcced4d427ae762f4a1953c1a643ad2cb2220c8800d376b9f76c1d94a0a4e194aff46422fb57fe4b2b2de18a060627c3f19b984aa7b738bff9336f80171f8236a3e95372975650d6b28398865f206a1bc81c346ee76999b8b889c83551f42495000eb9f5aa3ac16b9247091469815cf4533eab9be2ca283b962ab0031892999b55822eec5503d7201f446b21ec3319813a4f7b70b68a438c6147c182c48ded8c5fca18b2c7322fc3e4341eb46bb130464a7868c5d3ce5b1bb479e69bbdf20dfc59380099ccfb06789fa1183c35857717bda2467f6d44de229c527f6e4e7071cb826cfe76fea483d9163eaa84f6afac495a9415ce164fadececacd75fdad3284af20c52fa576699029d6e0ce77bf347d520b68c0ef1663e52e24c33090ea8f4f564d85daca610fd7c2d5756d7d882408ded +m = be4b5e900bf3274d5c6556ce983f3c13eb314e8b3ac969be600a8c769a6e7c76 +ct = 6ad325c4f0e86c8c63c198f5ff0da7c10e0b348a627111333d2c485f47a7e8483171ee99638fba87caba6431e8dc1f11930ca1e3382a754140c68deb7a4cd9ceb68365978992259f6a0cbace97c7a795a4250a11a9113cc82cbef599118c1189891e159be35434d0151aa081b4c1fa292ab44450c3d948147a6f117c5fa7834767576a8731e3362b223437f655c565476ada5cee003fa81adad16fc7fa3769dae31c66b00ce60f5d69efae82e561af1162694b20302ac8a60219f2ffd6ec8c9551a3ee54fa867bd4ebbc3f2b53a17385fdc832f1b3a1c7f22b2ddca8f19d68dab77642d2e1ea0b43be6e2c22b9f5f7f996dd32a8702e5822010cb38eb808a412209500795e0772196db9acda3e648540443cf2a0df661bc7156dcc969573f439dbf530a158ad6e040f052247353383e8231fe22efd625e56344fb0615e2cab2b8c282dc437aa3c05bd017e0c5da344376b4ba1b69b477e5849a7c948747e7298fe126d6901e9599ac106802eaac672018d2ba0c9209dedd1a4c36b53df3bbf058c75edb7bc06a5fc04dd27bbd4d8f257dac75e43e98e3474f1a811e50437702d56d3ce2bbbe01049677d6366bdaa5727f3dbe314bc92b99448f6712260529a3e705bdcacfb645a3264c3a22cfa80e7810ffa3b9f542a2b3cbac72060dea60297c2adb1606d327a31b2d38b328e9f23d67b5b6e198999c3dec06c1b8b395cf661d9500bdf3ef6b231d5b50bd3ca3f2082b4d41a93e8f9c5a773d70f023ff562e8e95983240bc88b282985d275c118b8459921c599005865148f2f5547f5a09522bafe7960df8c85f53afafac196f497459e19ad7b808ad635b8f0f8ef9b053ec60a44e75502e72a1ae095eab660da6d416c4561960f3def4b4689189ae30928ec6637f9b41429a7b2231019fcf428d5d66ab7f7fc122293e3e445f071e300f3b934380eea9bdd613d0cabc91be82ae35fc49a3a7e66f06d4e462363778fcc9bc538934ab96d3b818f422bb1df54ba7283b48a92c63a7bf6af75cd90b8432ab240cdac757b4dbca1493ae70394e86e2b3fc6dc48520e05f6996ce2a6f319afc163 +ss = f1bf5c04ada8b8199c5d18209623745406d1df3a38c74b32801a7d91f1934a74 d = 7ec408f52c9aa723d0c41d9987682a5f4ce6c9da7cd0215af60bbaf5484ab353 -z = a08ccf451b049fd51d7a9ad77ae14a81569df8c9bd3a8f1ebea86fdcfb823082 +z = 0da1d147e7686e428aa1775bc2eb045d1ecbb17563ac966f708cf3882c47b5ad pk = 4870419a0b91a8b97bea251b03c51630381aa802b51353721697c4bd2891f37698ac51942d44c931f205ac15bf35708806a118dc32b51655070cb196246b6a63db0c57d727d9aa812c676880e3532a435e191935a6db1e1b110cd8a89a751378b5866f0f263871f7b46455c9cf34711a957d23c937e797cb78090ca1043ea8ebcaa3b73c768892832c357b0cc48e875f849149ffe63a21a169798b00cfac58eb666c9ab68729dcb60cac6dee1497a64533989c0a68b151f8865db5f421eae77292155f12944322e579d8f61c20ea53b34cc7553b6a97db6c3df847b8aab6b993c4af02c44d2c0ff555ba6c68132cc6b9c4766acd030c33374bc2d556d0d45926e33d68667780b34c4b56b1eeb350bf0c5e10561965e45551398a9632169d6a53da1314a9b4533f4c223fcc46ab0730a8b463c537c2d5ab8c9956c542d6119f76b82afa13ffe637e09297b2e6565277079081c574b05d50ac2bc8e9538d0105f828b539d47f3a9a293b4b9b834b2cab741674b8c61f28a778b736b699bb989705890951c30747896508421068dccc0f990611ebd800c942be5c886a59b008e6fcc86956aba6863bd9558417a37579b7139efb5bc47b1ad598464f287a3d8c56d748c6ae794f31842fc3aca9c5c05fb5f76c5f740d2d7908e01a173b75a35b8a70cd645e66e8a6d290919f227ef5e5bea2816b31829cd291b136520fb1a2825ee01dcbba7ae9a10c60a297d39c7b40f53d02d602627879fe6b4c00ed426a0b065429acab34be641c356be26a7c5012b9643fef007577f79dc99459152c13e64618b9f9b3be0b551dd33df8cb7d890c48ea83b68c42a327ba25fafb5ed65c31f4e6b639230aa989b1ae7a2c5ff3224b33883955890e5c7aa691463e58977c31445fba5c408047d227aeee6bc90697545ce0885c3abea2ec9668359e59282c22a0920ec76a282c545a80896f5a4705c02adedbb0f8dcba46f36c112b578e7b4c236899d81259706c3d99b0adc3ec44e58171a5e21c052767b7692800854132624ff438b03cca42473622a6db189be32c7e906a23238a6cf57559c63721c86e73378347c12dc8ee619e1a0c8915822d574a243f67e14104d4f021cf95bf33271c9bc9 -sk = 7c15568ee11684858038fb1bf63793968151c90a6ff875a0b125696ad14347a3130f5665340954928447243254ea8b089fb665a3c18564f65bff5ab648a58c2fa7c7c9c101d055202e1742ef98c68930ccada716e03877ea7c8cacf13739b22059eb0430cc97feb3a41df06d2e35930ef904ac669caca41c9a24cf96075e92d36cd8958d96584dc9c85bb6851735fbafa07164a2a13c253949b44769179a2dc2b655e1f0cb66ea2c39364b5862b070b805a58b4541f8b32e5c2bc6b2c2de13107462cd2b4c5f783184bf61746043277952816ba4c6c259108f91bcc15a951c012310d78d14c96add4c043e3a341e072aa3b1ce83214813005a759519700362fab0226a58a932f71bdcb03ba0a99f3e0656dc1a28ca3328b4fa531b3127ed790398a45cd0bcb95be6c91ad3b2f94092f7c4b99abc864842466290c5f077544b4954ce06a57671213e9a7dc1405b2c1228ca2824b4b433eb65901a2903abb2c4182a144efba1fde9063bc40d5f7940b5044055d106b064b099183ab5aa34ba4480ab6266364c7d9f5689d7abc47822c456122ab2b0679f2c096d4c0c6f29774620c09378a8fce888243bc738a6a3e3607ae261396855989c445f228cad87182951586d21033f32c250c13881a2831f9c738018953ac3f53660b962517a64cbb2b1e26867c77529fc21ad452c7bd562b30b5720eb120d9b517c7f8cbe1123a090359df30c3115e57fb61bb47f4ca5ddb2a443b9a2ca56a6f58010d7d0cc05698e1ea539c32920a8424420b675205b905fd117fe0c7bb1f888c7da6da060a24b450813a613d9c8bde20c38665c918a133ba7da7c4392467cb32f21ca3f7c37206175b242070236a12f5ae73a37000e386130a0a15e06f0a4d97004d8018223726b454623ce9a31ba150cf6182ea4752714b2870a612b9c1484e0c199ada27293648035954da75ba723a82f4afb2c7085111709a63ac5b9f6e201bd11cb30f48732c84f4ee3622dc83ce6995ab81b20a8e16e1b1684062569f4ebc4f2637038f489755cc7126535d65bc6ccc0a00ac27e1700657df77a59f57339323041a2160401bc4870419a0b91a8b97bea251b03c51630381aa802b51353721697c4bd2891f37698ac51942d44c931f205ac15bf35708806a118dc32b51655070cb196246b6a63db0c57d727d9aa812c676880e3532a435e191935a6db1e1b110cd8a89a751378b5866f0f263871f7b46455c9cf34711a957d23c937e797cb78090ca1043ea8ebcaa3b73c768892832c357b0cc48e875f849149ffe63a21a169798b00cfac58eb666c9ab68729dcb60cac6dee1497a64533989c0a68b151f8865db5f421eae77292155f12944322e579d8f61c20ea53b34cc7553b6a97db6c3df847b8aab6b993c4af02c44d2c0ff555ba6c68132cc6b9c4766acd030c33374bc2d556d0d45926e33d68667780b34c4b56b1eeb350bf0c5e10561965e45551398a9632169d6a53da1314a9b4533f4c223fcc46ab0730a8b463c537c2d5ab8c9956c542d6119f76b82afa13ffe637e09297b2e6565277079081c574b05d50ac2bc8e9538d0105f828b539d47f3a9a293b4b9b834b2cab741674b8c61f28a778b736b699bb989705890951c30747896508421068dccc0f990611ebd800c942be5c886a59b008e6fcc86956aba6863bd9558417a37579b7139efb5bc47b1ad598464f287a3d8c56d748c6ae794f31842fc3aca9c5c05fb5f76c5f740d2d7908e01a173b75a35b8a70cd645e66e8a6d290919f227ef5e5bea2816b31829cd291b136520fb1a2825ee01dcbba7ae9a10c60a297d39c7b40f53d02d602627879fe6b4c00ed426a0b065429acab34be641c356be26a7c5012b9643fef007577f79dc99459152c13e64618b9f9b3be0b551dd33df8cb7d890c48ea83b68c42a327ba25fafb5ed65c31f4e6b639230aa989b1ae7a2c5ff3224b33883955890e5c7aa691463e58977c31445fba5c408047d227aeee6bc90697545ce0885c3abea2ec9668359e59282c22a0920ec76a282c545a80896f5a4705c02adedbb0f8dcba46f36c112b578e7b4c236899d81259706c3d99b0adc3ec44e58171a5e21c052767b7692800854132624ff438b03cca42473622a6db189be32c7e906a23238a6cf57559c63721c86e73378347c12dc8ee619e1a0c8915822d574a243f67e14104d4f021cf95bf33271c9bc9ca2232297ba8b986dacd401896cb6239f557720d91a2cfb7a73274bac7a0f6dea08ccf451b049fd51d7a9ad77ae14a81569df8c9bd3a8f1ebea86fdcfb823082 -m = 8a95d71228acaa5f9ae6f9d9ca8ae55fde296463b41083a39e833e37c4c90f88 -ct = 49fa659550f609b17f4910ba0ee1ed57e336c87a23bc31f7295ad1cbe5b7538d99260b19dddda44b70e6c21bde6d7a8c17d6a02e12d3edfebaa28daa9dff00df122371e72fb6a22156f5a820ab06edd9aa8814ff2e0211fc40dabc8e2c283acacf361215e95ccd67721ab7bfb9fa007d9c1d34e47df1dadab355ba0cd99d541863b26d982afa24320c5e251776219bfd4b6eb200bc1015141961aaba722086553ad08caa443e538e04b2dd51a725034f4b671a8a5e79356c56230370228bcdcc890aaf5316c3557654b5138b3aef3135fcf7849ced1515fbd55d2040a85d0cf249db458743e6f254ca2d8579f151320750ee8a6d13d37bb3ca5b26202753b50685db372add69930d6dc7d7e44173c9e549c7973cd1d1e2dd97d0e9c45202619f4d8c574b52de4a8525feae8d8f9f59c0d3a76fc1175e03d0d7ecc3a2fe9dfc4940d05a5a204ca37bfaed464528f5c13ce0289613c9fd380a05a5c72ae7ea92ab1f7410b5ac7be841c7f5c63a28d416f717349db664ab80047034247b01cf58468fe6e2879f7f2e1a59ff91d1b90662dc4b87c565b5878baf63ee92081ee7c52cec190aeb4bb421b24e807d3336cfd5cd9685bb1f0fec3f8e2cccaaa6003b1a6b08d3b6ea7a7d5aef0da454d933211ba02920b57ed3dba450f8b7a46e172b3d416442f68a5139f803e782d7d782ec8d150792d28135d07968a8c5196e384b94bb222603fb5aca84fbf910b258b64660c63b0ece1da802a837c94f0aa402ef84681782a56ef466c7b05950f4b0758b4bb730cadc2f938ef3078741f5190079aed397c788f975ed7dc6f6e9bf921155401a47969ae7d86aaf15b144059db06e1625e18e4cf28bc60ce2f03786f58edb889bf1c4071bd8b423426ef0749221c0b6486fd90939517f993d78b8c3b1ad87c3aa5e796cd3c22cfdb1818806dcec80e2b8d30cbfbf61b4ad518d335e41b62cd479e897d0bbfc390e2a32756d981aa05d017a0c8ff3c9dc693e635023a1cb595816cbe86f4ae3e5e1ec26a4b3649d4dd47ca35dcff186c3c5a8a78764a9b494d872591c6b73ee0f2a05a8bd27b24554a44f -ss = eb0a5a154a1e9a97633929cd64b3c7e61b58ff6eae29c994dcbed1bf2708e99e +sk = 7c15568ee11684858038fb1bf63793968151c90a6ff875a0b125696ad14347a3130f5665340954928447243254ea8b089fb665a3c18564f65bff5ab648a58c2fa7c7c9c101d055202e1742ef98c68930ccada716e03877ea7c8cacf13739b22059eb0430cc97feb3a41df06d2e35930ef904ac669caca41c9a24cf96075e92d36cd8958d96584dc9c85bb6851735fbafa07164a2a13c253949b44769179a2dc2b655e1f0cb66ea2c39364b5862b070b805a58b4541f8b32e5c2bc6b2c2de13107462cd2b4c5f783184bf61746043277952816ba4c6c259108f91bcc15a951c012310d78d14c96add4c043e3a341e072aa3b1ce83214813005a759519700362fab0226a58a932f71bdcb03ba0a99f3e0656dc1a28ca3328b4fa531b3127ed790398a45cd0bcb95be6c91ad3b2f94092f7c4b99abc864842466290c5f077544b4954ce06a57671213e9a7dc1405b2c1228ca2824b4b433eb65901a2903abb2c4182a144efba1fde9063bc40d5f7940b5044055d106b064b099183ab5aa34ba4480ab6266364c7d9f5689d7abc47822c456122ab2b0679f2c096d4c0c6f29774620c09378a8fce888243bc738a6a3e3607ae261396855989c445f228cad87182951586d21033f32c250c13881a2831f9c738018953ac3f53660b962517a64cbb2b1e26867c77529fc21ad452c7bd562b30b5720eb120d9b517c7f8cbe1123a090359df30c3115e57fb61bb47f4ca5ddb2a443b9a2ca56a6f58010d7d0cc05698e1ea539c32920a8424420b675205b905fd117fe0c7bb1f888c7da6da060a24b450813a613d9c8bde20c38665c918a133ba7da7c4392467cb32f21ca3f7c37206175b242070236a12f5ae73a37000e386130a0a15e06f0a4d97004d8018223726b454623ce9a31ba150cf6182ea4752714b2870a612b9c1484e0c199ada27293648035954da75ba723a82f4afb2c7085111709a63ac5b9f6e201bd11cb30f48732c84f4ee3622dc83ce6995ab81b20a8e16e1b1684062569f4ebc4f2637038f489755cc7126535d65bc6ccc0a00ac27e1700657df77a59f57339323041a2160401bc4870419a0b91a8b97bea251b03c51630381aa802b51353721697c4bd2891f37698ac51942d44c931f205ac15bf35708806a118dc32b51655070cb196246b6a63db0c57d727d9aa812c676880e3532a435e191935a6db1e1b110cd8a89a751378b5866f0f263871f7b46455c9cf34711a957d23c937e797cb78090ca1043ea8ebcaa3b73c768892832c357b0cc48e875f849149ffe63a21a169798b00cfac58eb666c9ab68729dcb60cac6dee1497a64533989c0a68b151f8865db5f421eae77292155f12944322e579d8f61c20ea53b34cc7553b6a97db6c3df847b8aab6b993c4af02c44d2c0ff555ba6c68132cc6b9c4766acd030c33374bc2d556d0d45926e33d68667780b34c4b56b1eeb350bf0c5e10561965e45551398a9632169d6a53da1314a9b4533f4c223fcc46ab0730a8b463c537c2d5ab8c9956c542d6119f76b82afa13ffe637e09297b2e6565277079081c574b05d50ac2bc8e9538d0105f828b539d47f3a9a293b4b9b834b2cab741674b8c61f28a778b736b699bb989705890951c30747896508421068dccc0f990611ebd800c942be5c886a59b008e6fcc86956aba6863bd9558417a37579b7139efb5bc47b1ad598464f287a3d8c56d748c6ae794f31842fc3aca9c5c05fb5f76c5f740d2d7908e01a173b75a35b8a70cd645e66e8a6d290919f227ef5e5bea2816b31829cd291b136520fb1a2825ee01dcbba7ae9a10c60a297d39c7b40f53d02d602627879fe6b4c00ed426a0b065429acab34be641c356be26a7c5012b9643fef007577f79dc99459152c13e64618b9f9b3be0b551dd33df8cb7d890c48ea83b68c42a327ba25fafb5ed65c31f4e6b639230aa989b1ae7a2c5ff3224b33883955890e5c7aa691463e58977c31445fba5c408047d227aeee6bc90697545ce0885c3abea2ec9668359e59282c22a0920ec76a282c545a80896f5a4705c02adedbb0f8dcba46f36c112b578e7b4c236899d81259706c3d99b0adc3ec44e58171a5e21c052767b7692800854132624ff438b03cca42473622a6db189be32c7e906a23238a6cf57559c63721c86e73378347c12dc8ee619e1a0c8915822d574a243f67e14104d4f021cf95bf33271c9bc9ca2232297ba8b986dacd401896cb6239f557720d91a2cfb7a73274bac7a0f6de0da1d147e7686e428aa1775bc2eb045d1ecbb17563ac966f708cf3882c47b5ad +m = b0c99f495ad0cfa090c5453402fb93b6bf35d02077c5f6388810cee3edf51a99 +ct = f9ce20c3467b8b35a760d2e2ff348cd5c650863edc3f5ac9d68452712a16acf11f216594bc81ae871d7021422dcecca527708315ff489763239134935ffbc51e901d4d72ed96d77e829fb969e9bca1e54e5b243b4f799500d9ceb52398dcab9e18eb6fac9b831d926269fc7fac03c99d0522a9d70a74f6e227c61ab1b29a5fec1a773e4ccc9de658f1c78cf03fc6bf26985b4e2f5988524d2cebc1297a5f2993d0a1c96372f91da2cb0ab45c4d59e5c2407b85c989055b9c43d9bdc35ea34c4ea9a56f421338b09ab3062417b2f6e3a857f5c523f552c4bbc4c26ba3574e14ce15cfaca361c9bf08516526f5e99fd7f8bdf9e7653504be8215303b0fd4e98d578ebd0a082eae7047780d682e387f9faf34053e74235288b0c98408e819721519ff2fed15d82398de75720770b3516518841294bd8bc26d37abcba06a9a24d5ee490cc853238b163ed67ee94c5ce17a9a33b763968c96d14aaa3c75c0ad6323d4030d28f349dc5ddf6b7c36ac9f9b2f1c1210b28a53e815c49f9b7d538e41d5370fb1c868d216d98919b6a2622d9ab48a832a3714987dfe3a4bd8cb1ae8cb9d497b816e5b8a18ed1cb12fb8892162134df6017bdadf34fd81e447704bcc49f55d113a2c6f6a3f87abee04be0691381fc32ebb1e2caf4e48777f7d038c336460b4f30eaa8247bdd8467fd51e8a0d73f8c3629678acad738a7239469a4dbedf9c29ab33ce844ab78e298abd7c16ed69137e9c559cbd1f466c2270acbd0f28a26137dde9ad196c631f1e049abf1a65b05aafc68b0efadb807eae69cc80f4a7e880c65f41acea5c459f6715e02a288d891f0a7f4115685096515cc38305d7430d7fb3a1070b855336b29e94c421525a77a5d9f1f8bb557e5c613239d4e85ad16bbefd47aaa3675123b0aa3fe6d2dc1c2ae4750640c7bf58e9f4ead48dadeb404d463f0706660e60f6be08508722442f57a2f903920515ca737f808306a1531a0ff4c42863656515974c88cf55c924ce8de68e823b6709396e1114d4c90d0c2907fb022e4151749f2be8e60397c89a6c6b386ee6051945c9d74074b2370bb17de475b5 +ss = 249d166a618809ec9d2cd48a6f4c5abd39f60d9b1207fb129b44a972028f243f d = c121915bfef6abdfc177dae2f5a24218f9abda2559afc6741b08e0e61ab433eb -z = 84ef52db5eaa6df8ec3a0bc5ffa730db0dde8c5f38f266d5c680a78d264a7b96 +z = 729b5a50627688a4cb3e37cc0fef22162ddbd848e5aa641731f8e60b4b79c93f pk = e29100ec15605818b877d7399d4c70c4e3b362a3268fbb7e41d494048740ea222bc38b5ebd3cc8d049a2551a731ef31684247f30fca3f03c0a7d7245d0e81c25359f245b9523040fd2d24ac3941a213b561b974ce45156d268a0d6c5b555e251e18b31b7753c2826bf6654453b81a11478836d08c6a803ae48e0892e927960118d456232025c3f516a99e4818627760c88f3b8813b57e9ebcb37fa391fa1c7c8bbbc358b40db908b526a85ac86a03848820879314ca86a2c326f5eb69e7ff6c5a0c3779c20214581bb5f4973fbf54353fc448b0b2f00fd746f303473717ff829218b22bb23eaa132e31cce576efa0a53015c3788c82ee55a69051a62b6293aaa9a4398d61d25dc679964c33c6028448b92acb7ac1115c50dd3b064818cb0224209193797ea3df48b6ffdd8228d148514ab0c11b1840b3843a7472876231b3bd91822e8469a5095acf5b2bb5b138425b2d60c1e018951951917630b8da2372aa239bc88d5a086b0b6aed50618ab25000abadc6684266939d4468ef5c651ff69b11b928355170fba871a59eca1f7073689516d17ac6298d2520e8328f3cbaf8de33969ab089d6a046bb979c3365b2dd2704c359c04797384c5c7f28c342227b045e40e88d4bb5c792381e639c86a12885596144b1a6cea01ef9794122466e3bb779e2b0ccf9048f50557d536621d280b02547234700e442b6278d2b0cef240946c542292c904ba31a6a38cb9328874f824fca0504238bc090bbb78e60b2eec76c900bb6010240b839d433c4968833715121a884b362fd8c8eaf90a241b66d7522b6908c43890cea4ec80ca232be3ac573bac2428192087b43cd15891585339a6123475209af6c132be24a387bc9657c7b80c4aadbc9bc6cb94c3e8465eae9934ca662742950f431c93a391618c2a410834c2231a92c3d91c471803f22543ce530a17bc924fc326aee4537a5b43fb655e00e46185e809996b87e27c6361fa7b53da5ab393cb56b1b9676155f2e57092566590642bb090571c6a92f60c55b339618389415c259705fc858ab71aa50021c1191359576c8390a70e703f32ec26419602cfb4a4aa443f32d16b72616a0db4d3849fc41a7a6ba87f4af757a0ab1956518f -sk = d99596f420a269879b1e577a0a909430147c8a03b654d4b4d42c348c041017965b1202819e666242365779f52ed935a0a7253a38c25e55855667042e4eac0504659d64e83b9a0b2a15428a9052ce450000b215762fe0240e3743ba526226c20a6388b9d0935b208bab0f028ce7d1c2141a2d0dba1161b44dd3269754da10c9538a22eb914fa22d0a364c6433736d7bbe8335a182e14e269488a79c6322304ea2c438bd9b9a6ff700b8babc0f7303398300945a6db091229a44464ffc8d3dcc615d7a7922e62b134770bad9a9f718398202aac3aa23fd927b002d2bb38c990b8c4e5f1789f6d51520647b5a94badf1b148a38a4990836936c0e9c294e95218445e3131ac9c57c88b7da491c15b91e906c4e898114672a9c58eb04c9f0bf79b02a983027d5b5cd52371a11dabf91d79329eac48997a85aa64bea5217c43c257ec2784113a18fe28402636139075b5d76aca968742d62c89fb528ef3ac9f30c5f23a94d8cd19a07e88a25d25167082fab269a0e010979860fb7bbccf580030dd58e34993178097b79034aa5709f7366ced6a4978b5c01c7facadd7c69d856be8eb836dbb9319a575059f9541a12a0bc86976561cab8660ffd4c828ae534bc5a8b9f1368928a2ae6b397347cb7ccb104c6d3654ac497758480ff202c32944d003a7c0bb944753c4472462538f1a34e2a1774e9295abb54a1aa59eeb317e9336a3b868346806a4dcc3055750da202bb87e3c1ac87224e32154627989e252558655b08cb6b878ca8ac403be561211551ae7af8a3c9e748f23c292b81931662515ba3814d7a86ed7668a4f151ad8a1b4ddc2166aa007807c9be492ccba666ecc02c887aaf9f47649fea6d34a40ca39806af384b06b548ee55477b5a2c0d62375bf6c00a9b49f541719452a2a5e01981a8ca034aceeda83932a938a7476c21d6ced1a6874bb073b1646662f0b3c3f6654fe032a510856c67264f32ba16bb4df0d3209a025413692b424b0b01db1b5baa4621eac639c6076f1251b106217c88751aa93d28873ad4e45593164076f0ce79925e714752520c2728b96d2f53cadb79a51c96b6e29100ec15605818b877d7399d4c70c4e3b362a3268fbb7e41d494048740ea222bc38b5ebd3cc8d049a2551a731ef31684247f30fca3f03c0a7d7245d0e81c25359f245b9523040fd2d24ac3941a213b561b974ce45156d268a0d6c5b555e251e18b31b7753c2826bf6654453b81a11478836d08c6a803ae48e0892e927960118d456232025c3f516a99e4818627760c88f3b8813b57e9ebcb37fa391fa1c7c8bbbc358b40db908b526a85ac86a03848820879314ca86a2c326f5eb69e7ff6c5a0c3779c20214581bb5f4973fbf54353fc448b0b2f00fd746f303473717ff829218b22bb23eaa132e31cce576efa0a53015c3788c82ee55a69051a62b6293aaa9a4398d61d25dc679964c33c6028448b92acb7ac1115c50dd3b064818cb0224209193797ea3df48b6ffdd8228d148514ab0c11b1840b3843a7472876231b3bd91822e8469a5095acf5b2bb5b138425b2d60c1e018951951917630b8da2372aa239bc88d5a086b0b6aed50618ab25000abadc6684266939d4468ef5c651ff69b11b928355170fba871a59eca1f7073689516d17ac6298d2520e8328f3cbaf8de33969ab089d6a046bb979c3365b2dd2704c359c04797384c5c7f28c342227b045e40e88d4bb5c792381e639c86a12885596144b1a6cea01ef9794122466e3bb779e2b0ccf9048f50557d536621d280b02547234700e442b6278d2b0cef240946c542292c904ba31a6a38cb9328874f824fca0504238bc090bbb78e60b2eec76c900bb6010240b839d433c4968833715121a884b362fd8c8eaf90a241b66d7522b6908c43890cea4ec80ca232be3ac573bac2428192087b43cd15891585339a6123475209af6c132be24a387bc9657c7b80c4aadbc9bc6cb94c3e8465eae9934ca662742950f431c93a391618c2a410834c2231a92c3d91c471803f22543ce530a17bc924fc326aee4537a5b43fb655e00e46185e809996b87e27c6361fa7b53da5ab393cb56b1b9676155f2e57092566590642bb090571c6a92f60c55b339618389415c259705fc858ab71aa50021c1191359576c8390a70e703f32ec26419602cfb4a4aa443f32d16b72616a0db4d3849fc41a7a6ba87f4af757a0ab1956518f34486689b387ba25dd0e9aedbc53034924ea4ef9497b5772f10ca4d091e9e84684ef52db5eaa6df8ec3a0bc5ffa730db0dde8c5f38f266d5c680a78d264a7b96 -m = 90d79d75d0bbb8921cf70d46bab497022a8e750efdc99e5f1bae653275441c7b -ct = 61a6b12af356eeee284ce659f04e09c46b620b93b0b48cf7ae1c78027ddf61550698d932b3b88257ecf0631b999b910d794e9180c2b3b62f5bbc9d2e9dd011f571502f4ff2f488223f0c3197d0e83d9fc8cd06988b768b952a63e0aacff6f61ae24235f21a2a9df654698fb10ac1b413af28611dc219dc1b6e453ccd3b8354e685136d2b68c0912e2ee463ab2b188f7d5e9c6d6ca26034ed7d5f7faeb0b6d26383cb362d6f25bb9031627cb032f4b426410822cfbcaf25d9898306b531dd83cb0db904e6275700f6cce8ace9d26edf9ded5409bcd5555badf554f01b40393735f99de4c8c4547f830d998b73358b509aa6c03e188fd132e66e1ab06e2bad2e502bd510bacadcfb08150e47c1416009a0c7d71cd3b70c0d73eba0b52a4843cc38dfae96dd8a53a09007c5abef4ce2189417eb44b887ca20055848d898a0f1a58db4a57cd38c45a9dfcb05f494a46fb09077c39389fa35113ad39f160a89d1f360484cbee658bffb2aba535669c708c81e8bfab1b36482386c49285e211c6f02e5f9bbc8826d8803e3c309f23c4c9540178dd93e7179c0532f980415e741f69a1598beca2a8bb86856b123f9557ead3b85d6625fbbfd43fe028e01c78ce4fb7d9055bb23505a460a04f816f92bddc48cc19e57cfcfc148963d983f3fb0ad7a47de0cf8c1bbc65da583ef75f5f357cbba775d35d6f2be25f11af398c634277ab023ac859a20b2390761ebe825931cf4bed27d860e7d8c12aed8117226060dc268646ec4c73c74487df97380775d522ad93b74cd65408d40682d28069f0fd66c2211cdedcabe8d051f7ef2f6affda0c2d36a65c4d1b3c8ebe5720ed3a60e5022d5cb8c4bcbf32dcfcf48da5be2d91d384a49c9d702814a0c6ed6d425cfa16c1fb1b042d48b48dd384565219ed400987107fce11af13c0fed29b8564525427197ad956a5d1109e3669168d39b60f240c561c5e70317f98675074760620e65a739485a44a6b87c7e186c21cc21980a65bf90526d1b55d9ab5a6ff5225cb01c64786b081896e5eaac84f28f81017f69d2f0aae68a3239bc9dd5cb1ba47b055f1393e5fc -ss = ae285bb95fc5f0ee80e7fc232c952062e5bfb8af0889ea344ab3717ec1a2c6ec +sk = d99596f420a269879b1e577a0a909430147c8a03b654d4b4d42c348c041017965b1202819e666242365779f52ed935a0a7253a38c25e55855667042e4eac0504659d64e83b9a0b2a15428a9052ce450000b215762fe0240e3743ba526226c20a6388b9d0935b208bab0f028ce7d1c2141a2d0dba1161b44dd3269754da10c9538a22eb914fa22d0a364c6433736d7bbe8335a182e14e269488a79c6322304ea2c438bd9b9a6ff700b8babc0f7303398300945a6db091229a44464ffc8d3dcc615d7a7922e62b134770bad9a9f718398202aac3aa23fd927b002d2bb38c990b8c4e5f1789f6d51520647b5a94badf1b148a38a4990836936c0e9c294e95218445e3131ac9c57c88b7da491c15b91e906c4e898114672a9c58eb04c9f0bf79b02a983027d5b5cd52371a11dabf91d79329eac48997a85aa64bea5217c43c257ec2784113a18fe28402636139075b5d76aca968742d62c89fb528ef3ac9f30c5f23a94d8cd19a07e88a25d25167082fab269a0e010979860fb7bbccf580030dd58e34993178097b79034aa5709f7366ced6a4978b5c01c7facadd7c69d856be8eb836dbb9319a575059f9541a12a0bc86976561cab8660ffd4c828ae534bc5a8b9f1368928a2ae6b397347cb7ccb104c6d3654ac497758480ff202c32944d003a7c0bb944753c4472462538f1a34e2a1774e9295abb54a1aa59eeb317e9336a3b868346806a4dcc3055750da202bb87e3c1ac87224e32154627989e252558655b08cb6b878ca8ac403be561211551ae7af8a3c9e748f23c292b81931662515ba3814d7a86ed7668a4f151ad8a1b4ddc2166aa007807c9be492ccba666ecc02c887aaf9f47649fea6d34a40ca39806af384b06b548ee55477b5a2c0d62375bf6c00a9b49f541719452a2a5e01981a8ca034aceeda83932a938a7476c21d6ced1a6874bb073b1646662f0b3c3f6654fe032a510856c67264f32ba16bb4df0d3209a025413692b424b0b01db1b5baa4621eac639c6076f1251b106217c88751aa93d28873ad4e45593164076f0ce79925e714752520c2728b96d2f53cadb79a51c96b6e29100ec15605818b877d7399d4c70c4e3b362a3268fbb7e41d494048740ea222bc38b5ebd3cc8d049a2551a731ef31684247f30fca3f03c0a7d7245d0e81c25359f245b9523040fd2d24ac3941a213b561b974ce45156d268a0d6c5b555e251e18b31b7753c2826bf6654453b81a11478836d08c6a803ae48e0892e927960118d456232025c3f516a99e4818627760c88f3b8813b57e9ebcb37fa391fa1c7c8bbbc358b40db908b526a85ac86a03848820879314ca86a2c326f5eb69e7ff6c5a0c3779c20214581bb5f4973fbf54353fc448b0b2f00fd746f303473717ff829218b22bb23eaa132e31cce576efa0a53015c3788c82ee55a69051a62b6293aaa9a4398d61d25dc679964c33c6028448b92acb7ac1115c50dd3b064818cb0224209193797ea3df48b6ffdd8228d148514ab0c11b1840b3843a7472876231b3bd91822e8469a5095acf5b2bb5b138425b2d60c1e018951951917630b8da2372aa239bc88d5a086b0b6aed50618ab25000abadc6684266939d4468ef5c651ff69b11b928355170fba871a59eca1f7073689516d17ac6298d2520e8328f3cbaf8de33969ab089d6a046bb979c3365b2dd2704c359c04797384c5c7f28c342227b045e40e88d4bb5c792381e639c86a12885596144b1a6cea01ef9794122466e3bb779e2b0ccf9048f50557d536621d280b02547234700e442b6278d2b0cef240946c542292c904ba31a6a38cb9328874f824fca0504238bc090bbb78e60b2eec76c900bb6010240b839d433c4968833715121a884b362fd8c8eaf90a241b66d7522b6908c43890cea4ec80ca232be3ac573bac2428192087b43cd15891585339a6123475209af6c132be24a387bc9657c7b80c4aadbc9bc6cb94c3e8465eae9934ca662742950f431c93a391618c2a410834c2231a92c3d91c471803f22543ce530a17bc924fc326aee4537a5b43fb655e00e46185e809996b87e27c6361fa7b53da5ab393cb56b1b9676155f2e57092566590642bb090571c6a92f60c55b339618389415c259705fc858ab71aa50021c1191359576c8390a70e703f32ec26419602cfb4a4aa443f32d16b72616a0db4d3849fc41a7a6ba87f4af757a0ab1956518f34486689b387ba25dd0e9aedbc53034924ea4ef9497b5772f10ca4d091e9e846729b5a50627688a4cb3e37cc0fef22162ddbd848e5aa641731f8e60b4b79c93f +m = 187361c0147168efc571fc7c181bb39144a8f7ea3e878d28024d19ba42135bd8 +ct = a31bc903c30979bced03347ddc50890a9978b6e041858a3cac93a56c9ea8ef3ca7181a48a0f22d792e6ec6b9fe231230086d7b54c52e406b669d377024509603030a50b0c438bbcdf30521aa3aca9209514ed1ab2a04980bec6ca349db7ca354cd66dfaa2f9cfa15641ea89c48fe76ebf0340b57efd2ff262253af34871b88d69106d9f5f4af7545c238962c00e2b5c79cafc0291762575d360dd59bad4c0f30afbaa74b3ac7614333c85e22439cb10ebab7839c2e0af87594ad07b4cb909aa2275348147d387801f20d6b6c1bb6fb7b2e3863d2d06764e961d798cad88b97329cc21d002c4d7dfb0afc8a9a69f1628a427adeab89d59e6abe5c0edc48e6a53aad38c3d43dfc514fe378602eebc78728e0876ae3049160678b0aef870b775632eaea20ae70553a9b67723e90ce860e62f344bbf5ddaea3c5ee3cf27871cfec4e1898a2b699c995a4ae72ea4918c77ddde3ae370f43ac0a3d3c18fc6b5f362441196a2ea28386d4abeff8d0f562b82f53264bf97821ec77ee2745fe9697b422546e1d75cba5070b840a1b3ee47db54d46ec5c9b4cffada1fdb0fa951b6b2edc460a2efbe703e6864860a93ab6f6d30f07194bd399602019f15acd8f4eba2260f41cf54c01e0d44c044f267f27ca05ce43daa297534043dc6eeb6151fd0cd7ab2c6bc41774bae30fc9cfd0c40f6a391b7fe82fb0400139d195e4475e2396f35f452090f84ece0db329dd3f6e5b3d3dc9eb3955772316d7f07265eb36607410173899ebd5cfd8447a34feb03a8be614e587c07435ae6fb5f0ceae76137f8b77799b961d2d5dba5dd84db136f5a992745eced46a5771452586909007b5b71a07372a9c1134e57a733220cc1a526d82af9f9d715be1a3ebcdd92b36a89ecb1e8dab069840401bfd01e8151fce06e7e815c2b6bd3ab063137975434bd9038d54a08462e6060f514f36ac85aae29e8dc9948745c219175db775aa65415a28c91476b452c934e7a73cc92f9539ef6037b146600c3cf19722965cfe4efadffe9cabca5095c85aba871a8501c3940514e1b361f67c30f9f556a4834e0f46feeb2f377368ae +ss = 4957951acb9e5c5c67db54f9bd02d46974e27433fa8342ba4a9ede6e5dc021b3 d = d86634ecf96cc2603761e284c0e36734cedec64e7ff486469e38539c71141c5a -z = 99daf37400cfe59841afc412ec97f2929dc84a6f3c36f378ee84ce3e46cd1209 +z = 0472c3d61e4cae91b22d2f5a316794c723fbcf7546db47a42a15f1450ca3282d pk = c51bc84c04b516a56479711aae6b9efdc04afb251a0c121b249a03cfd27d8c435892c88c0db5291de3999db794ef43a14ef966c97c02764bbcc6786500cda603062e54b0444e52835c67b5bb524f52e670553c24cb89c8367c5ad95639e96c707ec3af467a8521c5a557347830c931e32207c8a255dd72a3de5ab401e540359575689233e1693f477b8c8e027629b1b2815b27b9b557f8123950b307a9d91e1dc2278a44b3095989399a4629e7b84a0a666c3696d1076b207aa958ea956b964c654c599c862a74730f16a223bb97af8d82331b7421172723473ca0f3e24ba744b2bd561900c45df2f3bd53ca25df405a93ca4ad222989a58136c9403ab5428b908ca82ba0436ea046f548f9c00aefbb27f497a15ab108f39f2829cd38d9db01c05e717df09d0a96b1b24c8a6e5e5354787429e559d61c853c1354f60dc4ae522141beb5f3ad27388363a392275ea8b7d08b68ac583713b714b9cc79bd9cb265d91666242429ac62fa6991c2501638772552ea54652b4496bf790efb876288bbd6cd4500a344f0ff17264f73d0a1a10e4d63b06884f8a5c3562bc8617ba4f33ca14e3b40fd8117bf547b5910107f5863e7ab3c3ebd98522f81923dbb55eb43af41a1af1047b68b940bbba364ff69dc57c60c6cb88d4dc43d84c00b0437dfbd913ed15a3bb84c542137acf1205f4826fe82bbbb701bc00a23115ba718ba5c80ca301aa970d303a0a9e5b64adc04aa8c8c12b39513989a8a27a578309661dc31a5de69bfbb11308fa2ac4d701be266cfe14a03e961fcb6132e7678d5fd06fd1a74262837b8b7228bd297a9685a98f217976b527b1dc0662d6238c8c4f05aa29b3cc182b78a7f29172bb2a8b50fb861624cee1c19f4f0739cbb157d8f60090fc847765209aa4b9b782127f400ef49cc962c96ceb7ac05df85e1e8a601dfb9117c9cec48c2ee05996e0535dbab9309d365687a4b61d8a746696182df7126b5b8c5fb27cba016975d4648b006f2b9c2345ab61fa68c7ce7901cc09538fb6349a391403802a26316bf15ccaa90686142ccf5e709cd4b6380088a18c42826330a454c8a32ad3702602e6d28fdacdbd2a03546764c4fc1c62c0efb3462c7c88ab8d94e20b -sk = 5e200d8f0801013081bc4a25b4480561b991d9741778034f86e10caad22023228a6d7b498182bd3c8b7706b3044bc8be88461bf6e96e851bb4149aa60981b061a45541985446a0a3fbe47fbdf9a7680bcee9d9a004968b63e53553911f262500d13cb97e66554d184c2fa005d5c56a096558ca81a20f6066fa0aa22895883f23889ec024c8401460802a6a36c42050adc1475c58f08d4b7135c000a76f26218d946289c3c4ffe80b6b903b4e8999c67b59b067c23390bf134a9acad0cfb150b09249ae101b45a8bb089962b327173801f156984656c63398cec94ddb6454405464cec03d69b0c81b629fa6bb5e15e8a86b2623f9eb7d44a4573ec58de91a2f4672042a49019187870d3b3d810658ac6529dcc145e8f4703238458313cbeeac8f393b4911a40e7f90cf8efcbd0987289a899d09d21e1dc2a810c61dc0312f2ef95934b7a86408c75923616c15594cc3cfed41888500695bf1506707561f0129b60a13e1d7a8dc1cb9cbb96f91122ea3a68668488c3be91965263619d28b22ac557b8b39e7050478e25cc4081f6c255f2c938c224a2d8a11aaa608acbd6a3f9b1a097e36661f979ce7db8a7054006483ad74564fa65b7c52c620ff28b6cb941a70570571523e419b900a16be7bbacbb437ae3f1376d21461672599b38688875cbdf489a0e080714a731c6f147812e688db77a1ac091ee1b1ae24db55aa57282fb3b96da70e4f3594352918ba207b0d870ec9e13491e4b2d51c201c62cb22c896c7f342c1d98d05b87fba883c93a17e44d27a569289ef888dbe63242a029ad207cf54d8a8df513fba39c828049b604a5ced06bc0762c4e2074771364be66263440a6c828359bf1b129eab51d3ac18ec6465ad6215442808b3036714f541abecb6679b37ee76600225c190a2ccd6674b6e95a9564c156df47436491e380c78be7861249647f0474466e781caeab7989838d9d82cb355b0e3c51963129e57153f2e58a7fc843968c331b1cc57eea37ee11424ba6673a8ebac23405e86c77d0dc316f708444649a9d5907318044ebe4857f69a5b8ddaa9ed9b0beb656f41149d4edc45c51bc84c04b516a56479711aae6b9efdc04afb251a0c121b249a03cfd27d8c435892c88c0db5291de3999db794ef43a14ef966c97c02764bbcc6786500cda603062e54b0444e52835c67b5bb524f52e670553c24cb89c8367c5ad95639e96c707ec3af467a8521c5a557347830c931e32207c8a255dd72a3de5ab401e540359575689233e1693f477b8c8e027629b1b2815b27b9b557f8123950b307a9d91e1dc2278a44b3095989399a4629e7b84a0a666c3696d1076b207aa958ea956b964c654c599c862a74730f16a223bb97af8d82331b7421172723473ca0f3e24ba744b2bd561900c45df2f3bd53ca25df405a93ca4ad222989a58136c9403ab5428b908ca82ba0436ea046f548f9c00aefbb27f497a15ab108f39f2829cd38d9db01c05e717df09d0a96b1b24c8a6e5e5354787429e559d61c853c1354f60dc4ae522141beb5f3ad27388363a392275ea8b7d08b68ac583713b714b9cc79bd9cb265d91666242429ac62fa6991c2501638772552ea54652b4496bf790efb876288bbd6cd4500a344f0ff17264f73d0a1a10e4d63b06884f8a5c3562bc8617ba4f33ca14e3b40fd8117bf547b5910107f5863e7ab3c3ebd98522f81923dbb55eb43af41a1af1047b68b940bbba364ff69dc57c60c6cb88d4dc43d84c00b0437dfbd913ed15a3bb84c542137acf1205f4826fe82bbbb701bc00a23115ba718ba5c80ca301aa970d303a0a9e5b64adc04aa8c8c12b39513989a8a27a578309661dc31a5de69bfbb11308fa2ac4d701be266cfe14a03e961fcb6132e7678d5fd06fd1a74262837b8b7228bd297a9685a98f217976b527b1dc0662d6238c8c4f05aa29b3cc182b78a7f29172bb2a8b50fb861624cee1c19f4f0739cbb157d8f60090fc847765209aa4b9b782127f400ef49cc962c96ceb7ac05df85e1e8a601dfb9117c9cec48c2ee05996e0535dbab9309d365687a4b61d8a746696182df7126b5b8c5fb27cba016975d4648b006f2b9c2345ab61fa68c7ce7901cc09538fb6349a391403802a26316bf15ccaa90686142ccf5e709cd4b6380088a18c42826330a454c8a32ad3702602e6d28fdacdbd2a03546764c4fc1c62c0efb3462c7c88ab8d94e20b39d1850f7acb36ed2a35e9af6f94a06c31afadaae3545a069f892ecd8929f76699daf37400cfe59841afc412ec97f2929dc84a6f3c36f378ee84ce3e46cd1209 -m = be8a32f97b9a8d596382c02fa2a0eeebc15c083e970ddaa4f2622b91d6718663 -ct = bbb99016433826348694f96a34aac89c0e7bfc2f9915d34a904b91147b560b8e453158b41a00f7b461871d5ea4068555661bb40aa7c99950fe26f0fe8e02b182c558f3c7ce378f1617ddab1b37d9209678dffaaab60e7607e0d033eeae7b4595407e62ed2a00b86b65f6a1689be52a0c4d4d48872f54733bb9e25922a306cb00b2feb95ab748630abbc701952dab4beeba9a5b588d8637ade051df9ed830f6ff324046bb3f4473a64e98d1ba0c4fb0275158b4829dee034c6acdd8bc2e8ab2dddb3b66c6df8c08193b0b059873e566386f4d182cab2466bd7a72f6e8898fa3aab1ce34776183097e7d9d64066be882963604ac056bc03aedfae85bf44c43e6c712881e28ad021eb4c679506be8b4bbfd7402bc8d493cae15b9b2c802c7142ff3001e5a1229449ad611eb3f12c3acbd8c5e330eb72b012370d4d12b0060aeb8b453158518da6f74fd9a2dd3dc2db2595561b1acfc8916dbb2d69407467bf60eff1dbefc5437f5abb81b862ec03c1fe76a5a47f73207201e2aaf9733768c09c5dd6e859bfe1462f6b9289fe19644e4648c86a5a38709781caac8870c76549f35b960097c2d410f7fc76b4822812553375da47d2776b35851c3dfab2a8d8a70884ce66bad0071864036d07473045d6f00a0421247d454ab14a97f747beb47b4c77daf56d6bce577d42e5d80ed05d2eb1f3e5cb5f4dc6b66c64a097d14ca604c948d6bfdf778f2786c109d4092e343a040157af04d8059953de32f697a671d79035ef4f2a899c20e29dffedebf92d735bb43baa6a4bb9f7471215b9eda2a3b2338b0b5e1e58eb684e214af78ac8761986529d73e9845bcd05bcb7aef148814b50f4e07d6d9387702d3828ec98b041df90f9e4341dc99f40ca92d300a2bc47f98179d5fb09098b5899bc13ece1acf3c8159037dca2039cdd9037c5d9613a995e6caf8ae15ac6c589e5b54c469f1fb918d011786a4a4847149f3853d693cfa318c37a8d60d0d1011a4980279140273ee046a19ee47d61ab07d3d95f5b2f9f2700a4ba3f022121c7f8a0b44a1a1cfb0e679bae294eeac7719f55154ff54b98b77c6de39 -ss = 74c903fb47ce2b1e24b37136bd96cb5fa2d39681fdedc4b8b0c6e9c7d1d6402c +sk = 5e200d8f0801013081bc4a25b4480561b991d9741778034f86e10caad22023228a6d7b498182bd3c8b7706b3044bc8be88461bf6e96e851bb4149aa60981b061a45541985446a0a3fbe47fbdf9a7680bcee9d9a004968b63e53553911f262500d13cb97e66554d184c2fa005d5c56a096558ca81a20f6066fa0aa22895883f23889ec024c8401460802a6a36c42050adc1475c58f08d4b7135c000a76f26218d946289c3c4ffe80b6b903b4e8999c67b59b067c23390bf134a9acad0cfb150b09249ae101b45a8bb089962b327173801f156984656c63398cec94ddb6454405464cec03d69b0c81b629fa6bb5e15e8a86b2623f9eb7d44a4573ec58de91a2f4672042a49019187870d3b3d810658ac6529dcc145e8f4703238458313cbeeac8f393b4911a40e7f90cf8efcbd0987289a899d09d21e1dc2a810c61dc0312f2ef95934b7a86408c75923616c15594cc3cfed41888500695bf1506707561f0129b60a13e1d7a8dc1cb9cbb96f91122ea3a68668488c3be91965263619d28b22ac557b8b39e7050478e25cc4081f6c255f2c938c224a2d8a11aaa608acbd6a3f9b1a097e36661f979ce7db8a7054006483ad74564fa65b7c52c620ff28b6cb941a70570571523e419b900a16be7bbacbb437ae3f1376d21461672599b38688875cbdf489a0e080714a731c6f147812e688db77a1ac091ee1b1ae24db55aa57282fb3b96da70e4f3594352918ba207b0d870ec9e13491e4b2d51c201c62cb22c896c7f342c1d98d05b87fba883c93a17e44d27a569289ef888dbe63242a029ad207cf54d8a8df513fba39c828049b604a5ced06bc0762c4e2074771364be66263440a6c828359bf1b129eab51d3ac18ec6465ad6215442808b3036714f541abecb6679b37ee76600225c190a2ccd6674b6e95a9564c156df47436491e380c78be7861249647f0474466e781caeab7989838d9d82cb355b0e3c51963129e57153f2e58a7fc843968c331b1cc57eea37ee11424ba6673a8ebac23405e86c77d0dc316f708444649a9d5907318044ebe4857f69a5b8ddaa9ed9b0beb656f41149d4edc45c51bc84c04b516a56479711aae6b9efdc04afb251a0c121b249a03cfd27d8c435892c88c0db5291de3999db794ef43a14ef966c97c02764bbcc6786500cda603062e54b0444e52835c67b5bb524f52e670553c24cb89c8367c5ad95639e96c707ec3af467a8521c5a557347830c931e32207c8a255dd72a3de5ab401e540359575689233e1693f477b8c8e027629b1b2815b27b9b557f8123950b307a9d91e1dc2278a44b3095989399a4629e7b84a0a666c3696d1076b207aa958ea956b964c654c599c862a74730f16a223bb97af8d82331b7421172723473ca0f3e24ba744b2bd561900c45df2f3bd53ca25df405a93ca4ad222989a58136c9403ab5428b908ca82ba0436ea046f548f9c00aefbb27f497a15ab108f39f2829cd38d9db01c05e717df09d0a96b1b24c8a6e5e5354787429e559d61c853c1354f60dc4ae522141beb5f3ad27388363a392275ea8b7d08b68ac583713b714b9cc79bd9cb265d91666242429ac62fa6991c2501638772552ea54652b4496bf790efb876288bbd6cd4500a344f0ff17264f73d0a1a10e4d63b06884f8a5c3562bc8617ba4f33ca14e3b40fd8117bf547b5910107f5863e7ab3c3ebd98522f81923dbb55eb43af41a1af1047b68b940bbba364ff69dc57c60c6cb88d4dc43d84c00b0437dfbd913ed15a3bb84c542137acf1205f4826fe82bbbb701bc00a23115ba718ba5c80ca301aa970d303a0a9e5b64adc04aa8c8c12b39513989a8a27a578309661dc31a5de69bfbb11308fa2ac4d701be266cfe14a03e961fcb6132e7678d5fd06fd1a74262837b8b7228bd297a9685a98f217976b527b1dc0662d6238c8c4f05aa29b3cc182b78a7f29172bb2a8b50fb861624cee1c19f4f0739cbb157d8f60090fc847765209aa4b9b782127f400ef49cc962c96ceb7ac05df85e1e8a601dfb9117c9cec48c2ee05996e0535dbab9309d365687a4b61d8a746696182df7126b5b8c5fb27cba016975d4648b006f2b9c2345ab61fa68c7ce7901cc09538fb6349a391403802a26316bf15ccaa90686142ccf5e709cd4b6380088a18c42826330a454c8a32ad3702602e6d28fdacdbd2a03546764c4fc1c62c0efb3462c7c88ab8d94e20b39d1850f7acb36ed2a35e9af6f94a06c31afadaae3545a069f892ecd8929f7660472c3d61e4cae91b22d2f5a316794c723fbcf7546db47a42a15f1450ca3282d +m = 295f219917d44b474de067472cc832406bcd18447df12f87bd117662cb0f2e77 +ct = 81f583c6d7d5e96c66f9ecbd01e57875a6c9d70f0745f3b1a1705718dac047077d7e1db22ff7d0c63eb8cb77482ff7e13db211e1d319411c3e02a47a457e60d827e3bc7cc13efc2b96ca5a116c66c1ccb38a0121fc62f554c11b83eebd23eaf0a26ef3a2456169aca3a7fd607aee91b3b8b88254911514c753028d2be41d3d55adde27fcd8b50f07dae1da734f09980b54c2a5f0b158d0e23d77734cdbe0aca93537a480091f256313b7be01384b1dfe6c9c0cd7ec3d153c71c879dd2a46b76eb2f911b1b37d88e3f99583ae78845048179d666c60d270ba937d6fae28c7b2076c9f806087a6d891cbd6a2563b62fd4cf0c23b5137cad22c8dc9304509f10ebfaa7ff262d36a563df67e2785ff6371e7a2df3b9269ab03e31c76a570a40503ba03a115aa5f30904f5381e1b4e18552d7cb48ceadf60c243428874d2db7660a25541ecd5b49307ba53742cf57f0358ca14d7deceac419be68def566d18c8bd4f37a72b62d6f9d79a9d9848e58936bfc622d3c04c7955a36e5c41d222a6af6006eb11a2b4c4d2c1e449eae8953c6189375d850487143d622d0fc0425e1990748c824be75eef4cd5a720535dedd5e5e72a1754b93798de6b8c55e8920d7635c1e68bdc62931c34e426317b4d64a117e08131e92108460787b4e58abb80e0b18e08fe26579d3fd8cccd69ec81e81d027d9e4042e7a7de41e2cc85ef72f52461466685cc2b4cc1201ee13c60f3a73b33b1b86f90d3f0fde3e3d040af665910c2d24145228ce74b6ea58aaf0d1c19dbf50dff1ab5016bc0b5a0d8229840ef3e10390132effc48ca936548dc3f9256c979fcb254625e6a81d6f04c0d81d149a974ee880af75587829ce08483d97dd7ce7ea86cc900b22e97ba33e57e18bd2f9e4be4144753793e3fb84d9d71c8e685186020ab1f1640fc289d80c9673d9f9e1fa85fe5aef950faa5ac0301f71625a2165f6f4099b8db7eb56f9ea75f382250637a75e1bc7454012bb5ee9ab71ac57e01df09c90272218b7ed6a86a0159a38f3496958a4982590c57856661f1bbd57bd90eef7f233e76fc430494758dc66e36fda6cc28b +ss = 6e2ca0fba3024587ed8bab0c710530be657cbcda53c1b44a811c95456fd18fb8 d = 0610678ff4dc3128e1619f915dc192c220f8fad94da1943b90aaec401683a492 -z = da1804ddb5aa9b1c6a47a98f8505a49bae2affde5fe75e69e828e546a6771004 +z = 81b292427d57feeb160f9347348632e1cd340960f6e6ea2422d194a0109af1df pk = 2fd9251f7b8fb16c6878bb20829260c588bc80195ff8db59ea449209c2476da061db33a9065930b52b9cd64b8dd3586afe3ca4b2796faa6c02b3e531ac550a25db8783c995e2716b143c8a1309572fe47049a65742c632755a7d26e5a3344309e0c14ee313b0a8d214811b64d7351258e80ed9720863368dcc1851a358668dab3f0cc77f074aae24d71e0b71cab858b29e6a06190177f9dc39051b460d338363a9b7f6c691ab17865c4735bf42a72a655155b5106c165085b1c504d6b75187a44ed198c98aa26aa15327c5b35f6b3852a58fa7613337094129367e0660a62fc28e613c762d857f99f057b4e208e39181c63a8a91723352b8c4a4e04c0c02b78ac82e13c3542634484cfc8ce738b31a3062d2579f8394cd0947157443bc9774089689094a77b437e55a3704cbe01c9ec4793e0fd7625a2ba81a25ba819b0aceb923918112e22b5591ba032b2a0d4f8301f2567b266473f3f1101a7c9ab95c94dce238db18166cb0c8f558167df937377a2096eb99408a32e3759a88a4cf04cb57923a1b9ae7140281a3cfd6763bd92e0fb91a24e87f1c56471eb334526053db394d39f956a8e45c6ff39cd57303c0ac920af3a480329dc19c43df67c05d889fb778a0208298938ac423534b025a04b141b1eb7017c9d053b7463ee870bb17899abb19c99193b670a23672b0ce15f97f71092cc121a0fc75a4ad292ff4a4c9c78bc24c764d7d4b9e1230bb46e02ee7a66357f25716c386b91193fc5a85cf63a748072478f23b0fd432944a5cc25a7dac2297b1234744a918e7565636c674e4aa4d2c957c7aa55da692324935a4c3749a08956028675ef5b9ba3ee5111dd73f1dac282523cb4a89bfb7973a50d30085e70818ea596c7c4ae332adffc300a5d691836690228b2fc6600c5a3a363e357c66a53a0fec851cd94b29b066305365b6a78fcbe57dbb40c8d02ccb5f541d11d24ce8eba582104bb4da4b9e099e822933b6b74080f8b743b59d94f094cde7c45422317e358adc6877613b7ec0a6ce8b702a1a32b285f475af3769d8a1148b5324c6429ceacc5980b902ef043f00d42484a10ad08bf3aef948095de1afe74bbc3bdbb45fd8f92eddbf0c682c81a98f930f6165 -sk = 08e63b9dc03310e0b5e8157e478234286cafadd3bbefcb59a7fa6e8b0ccee499bda8c4035179c67ea35f280886f4cb4276a4a63d2823151a4c0670735165ce3b9432bed2a35b72b59f9604e4d6a00d441f6381666ed773e62b9aa159c80dd40b2612b968092a0792bec7241f1f3ac589db824b388c964903524987d4367a22d252dd837fc5552c68215252e8c26248c5118963eae4b81a7c0a8c33054a941c67da34110c45fe28736ba90c2a07c8d6f8123c5a098434025cc82e5c05185a80a53ec50b30c1a0a027cf711baaad56a844c7b1936cb73de5447d0764595c8e0c4908412131fd517fbcd84e14b87cd6c651aa0c975e02654d40cfeee7397a93893cd3a2e81568c53414a11443b0a74532c61ece525b3e98853152bc5738a27bb11ea6d0710af2866e7136f99bb27c146c00d1aeef099d7a398126584815109daa65108e1b942aa6339ef0be33a9a3969938b421b3f4f96dd8316123b3cc16532a20fa0f078c338b8c96ad9b83dd5618f20715cd4cc914f32e9999cd04b34bdbc92173f5472fa68ca0625722374c9bb7bd0656c0a8aa4d16640c8828ca4d4029ed49a8ca4ca6563550f43662e4500b00a2661d680d46435fb2c2a99c8571bf1b8b26783f1ae95ed2b4b009a3b6e74c2ab685667fe9cadbd3143c33641f2a6ae7266d8322a1ea567230f876dd2753f93a6846c2bd3b02520f03147379b4cd3485619c6d4b42ae6f838bfd67bd49f43f3781a88d75b180b9378a924bfcc61853e206ac42cd39ebaaead2700032a3d8d7b9a29c0c6f02970441061869bfd243a676ac27a7e47521569a539712121c3829e40e8f0755d5e6a8230736ee7bc3327a5df26a221cb79c2e2063f3617c54664059fb8053bca2e50a7eb4a25106781adb386c5a8a732d406f0114c246013dc4d79e8f701c053b41135a7edeb4644131ceabbacf3ec546f8d92d556387bd15971ab408feb5004247c06c4187f1324db5780ec8cacecc6772176a2bbde1ae54d38152849bc862c48b73a0ca6c459962b342670357239d0d37095953908db86fbdf66d52ec4f24a420d1f59412974d9ca888c1a6c02fd9251f7b8fb16c6878bb20829260c588bc80195ff8db59ea449209c2476da061db33a9065930b52b9cd64b8dd3586afe3ca4b2796faa6c02b3e531ac550a25db8783c995e2716b143c8a1309572fe47049a65742c632755a7d26e5a3344309e0c14ee313b0a8d214811b64d7351258e80ed9720863368dcc1851a358668dab3f0cc77f074aae24d71e0b71cab858b29e6a06190177f9dc39051b460d338363a9b7f6c691ab17865c4735bf42a72a655155b5106c165085b1c504d6b75187a44ed198c98aa26aa15327c5b35f6b3852a58fa7613337094129367e0660a62fc28e613c762d857f99f057b4e208e39181c63a8a91723352b8c4a4e04c0c02b78ac82e13c3542634484cfc8ce738b31a3062d2579f8394cd0947157443bc9774089689094a77b437e55a3704cbe01c9ec4793e0fd7625a2ba81a25ba819b0aceb923918112e22b5591ba032b2a0d4f8301f2567b266473f3f1101a7c9ab95c94dce238db18166cb0c8f558167df937377a2096eb99408a32e3759a88a4cf04cb57923a1b9ae7140281a3cfd6763bd92e0fb91a24e87f1c56471eb334526053db394d39f956a8e45c6ff39cd57303c0ac920af3a480329dc19c43df67c05d889fb778a0208298938ac423534b025a04b141b1eb7017c9d053b7463ee870bb17899abb19c99193b670a23672b0ce15f97f71092cc121a0fc75a4ad292ff4a4c9c78bc24c764d7d4b9e1230bb46e02ee7a66357f25716c386b91193fc5a85cf63a748072478f23b0fd432944a5cc25a7dac2297b1234744a918e7565636c674e4aa4d2c957c7aa55da692324935a4c3749a08956028675ef5b9ba3ee5111dd73f1dac282523cb4a89bfb7973a50d30085e70818ea596c7c4ae332adffc300a5d691836690228b2fc6600c5a3a363e357c66a53a0fec851cd94b29b066305365b6a78fcbe57dbb40c8d02ccb5f541d11d24ce8eba582104bb4da4b9e099e822933b6b74080f8b743b59d94f094cde7c45422317e358adc6877613b7ec0a6ce8b702a1a32b285f475af3769d8a1148b5324c6429ceacc5980b902ef043f00d42484a10ad08bf3aef948095de1afe74bbc3bdbb45fd8f92eddbf0c682c81a98f930f6165edc8db1ca35744a75ca14516abe07472d0d1b723f70ca8cf0e5c9341fd2e8c26da1804ddb5aa9b1c6a47a98f8505a49bae2affde5fe75e69e828e546a6771004 -m = da2cfaf69e25b2a89ff2557bbb6f69e01d8e2e7bb27a7a1ce7e40fead16f33b2 -ct = f3cbbbd4da1b3e1b0851d939e24d773201c87d4243ce8d5d9f2233405bd232a8946168e81d25468bb1157735cb55d26ed675ff1d9a06c1d83cf96e45d68cb06d7f761c2bd9542ed37863500656fc9b61ca2ea862f84db54f04e8968ecb3de0df0c3db5da89d49163fed7a6af999ee2af4e8e71a455759f57c0f39ad9ecbc7873386a3f3cd5b64482e1eccdff1ee865ffcfeb98368057a186985e882b0ba2efd13d49380aeb3096ee6ed275e93f41eb3a86d2f2db5172514d731e3ff9fd16c6bbbff128a43a1ca2cf67cc742f7995659fcab084a5fd69d5e26068bc3682b8001d4e76394c99075f750dd9d847f1613b56f64ba50178ac55361e91abb172a272b47a6724ccbd20bc333c0bc82fc54203e579fa76edec7eafff83ea3b30e8d389b15d25ac487433ec7dc634e8259d2159636827fbb4007a26fb1cf78c7fa18b871bd67b31723b103e5f0971439a11ca582f54f7f44c37aa86ced57aeda4e6a16c1911e4349c59afbb31dc1f96a1f4d762c8218a2cc5762a5b0c3f6b0c2f2088cc65f9e9b6f36381a8a4bd9d975624e2723c9f26dc3ada192d0a6677a858c84b3a05406e166758323151e75a0f5c252b9dde8b2fe9b81ced714e6d59bde97586bfa54fa9379a46f9ef5bf39b8516107bcb6280a33e9d2c0093d6b73f35d26b422e8f4c42326506aa01ff2d9103157e9584bed50b6abd9abfad97f7e49d74eebb6c4f20438a196984e1a646f50a8d08f7273a10bc9bef2ce8efa3d99273da9ed6a20088a401ccdbeceb8a5ce30e7bdf98ff973ec6a6999e9080627d226e0bf0c286dd02dff5b21e641db3b4298baef4a1497278d5094b56f98e88897590236aab4f0f9781f2f06c884b60b3861a91e7d7dd88cf4e1bfd70254ad31c0ce3259b9073916c2d1de36e68b95099b199d31263cfa3fe292f131296512fa6a942cd58eb5005ef264ee560f110eee5ece397d08cae913cbf88ed81524fc967d319a2a73a303fd1a6fbdc4c0f7b5fe2c91a6e5c2ec337d85a105afe9aef7424ce73f6112a564eda07d30bea6417ff7f618b20d32db54255d48dc183557c4255a43a85af569145 -ss = df09f5512a04278a474d26b15ebc89f7258a3902895f7282f1aa5141bd45efa4 +sk = 08e63b9dc03310e0b5e8157e478234286cafadd3bbefcb59a7fa6e8b0ccee499bda8c4035179c67ea35f280886f4cb4276a4a63d2823151a4c0670735165ce3b9432bed2a35b72b59f9604e4d6a00d441f6381666ed773e62b9aa159c80dd40b2612b968092a0792bec7241f1f3ac589db824b388c964903524987d4367a22d252dd837fc5552c68215252e8c26248c5118963eae4b81a7c0a8c33054a941c67da34110c45fe28736ba90c2a07c8d6f8123c5a098434025cc82e5c05185a80a53ec50b30c1a0a027cf711baaad56a844c7b1936cb73de5447d0764595c8e0c4908412131fd517fbcd84e14b87cd6c651aa0c975e02654d40cfeee7397a93893cd3a2e81568c53414a11443b0a74532c61ece525b3e98853152bc5738a27bb11ea6d0710af2866e7136f99bb27c146c00d1aeef099d7a398126584815109daa65108e1b942aa6339ef0be33a9a3969938b421b3f4f96dd8316123b3cc16532a20fa0f078c338b8c96ad9b83dd5618f20715cd4cc914f32e9999cd04b34bdbc92173f5472fa68ca0625722374c9bb7bd0656c0a8aa4d16640c8828ca4d4029ed49a8ca4ca6563550f43662e4500b00a2661d680d46435fb2c2a99c8571bf1b8b26783f1ae95ed2b4b009a3b6e74c2ab685667fe9cadbd3143c33641f2a6ae7266d8322a1ea567230f876dd2753f93a6846c2bd3b02520f03147379b4cd3485619c6d4b42ae6f838bfd67bd49f43f3781a88d75b180b9378a924bfcc61853e206ac42cd39ebaaead2700032a3d8d7b9a29c0c6f02970441061869bfd243a676ac27a7e47521569a539712121c3829e40e8f0755d5e6a8230736ee7bc3327a5df26a221cb79c2e2063f3617c54664059fb8053bca2e50a7eb4a25106781adb386c5a8a732d406f0114c246013dc4d79e8f701c053b41135a7edeb4644131ceabbacf3ec546f8d92d556387bd15971ab408feb5004247c06c4187f1324db5780ec8cacecc6772176a2bbde1ae54d38152849bc862c48b73a0ca6c459962b342670357239d0d37095953908db86fbdf66d52ec4f24a420d1f59412974d9ca888c1a6c02fd9251f7b8fb16c6878bb20829260c588bc80195ff8db59ea449209c2476da061db33a9065930b52b9cd64b8dd3586afe3ca4b2796faa6c02b3e531ac550a25db8783c995e2716b143c8a1309572fe47049a65742c632755a7d26e5a3344309e0c14ee313b0a8d214811b64d7351258e80ed9720863368dcc1851a358668dab3f0cc77f074aae24d71e0b71cab858b29e6a06190177f9dc39051b460d338363a9b7f6c691ab17865c4735bf42a72a655155b5106c165085b1c504d6b75187a44ed198c98aa26aa15327c5b35f6b3852a58fa7613337094129367e0660a62fc28e613c762d857f99f057b4e208e39181c63a8a91723352b8c4a4e04c0c02b78ac82e13c3542634484cfc8ce738b31a3062d2579f8394cd0947157443bc9774089689094a77b437e55a3704cbe01c9ec4793e0fd7625a2ba81a25ba819b0aceb923918112e22b5591ba032b2a0d4f8301f2567b266473f3f1101a7c9ab95c94dce238db18166cb0c8f558167df937377a2096eb99408a32e3759a88a4cf04cb57923a1b9ae7140281a3cfd6763bd92e0fb91a24e87f1c56471eb334526053db394d39f956a8e45c6ff39cd57303c0ac920af3a480329dc19c43df67c05d889fb778a0208298938ac423534b025a04b141b1eb7017c9d053b7463ee870bb17899abb19c99193b670a23672b0ce15f97f71092cc121a0fc75a4ad292ff4a4c9c78bc24c764d7d4b9e1230bb46e02ee7a66357f25716c386b91193fc5a85cf63a748072478f23b0fd432944a5cc25a7dac2297b1234744a918e7565636c674e4aa4d2c957c7aa55da692324935a4c3749a08956028675ef5b9ba3ee5111dd73f1dac282523cb4a89bfb7973a50d30085e70818ea596c7c4ae332adffc300a5d691836690228b2fc6600c5a3a363e357c66a53a0fec851cd94b29b066305365b6a78fcbe57dbb40c8d02ccb5f541d11d24ce8eba582104bb4da4b9e099e822933b6b74080f8b743b59d94f094cde7c45422317e358adc6877613b7ec0a6ce8b702a1a32b285f475af3769d8a1148b5324c6429ceacc5980b902ef043f00d42484a10ad08bf3aef948095de1afe74bbc3bdbb45fd8f92eddbf0c682c81a98f930f6165edc8db1ca35744a75ca14516abe07472d0d1b723f70ca8cf0e5c9341fd2e8c2681b292427d57feeb160f9347348632e1cd340960f6e6ea2422d194a0109af1df +m = 281481109453c6238eb72d8995d5a09baeb0b830e40fb09ed20e37bde4826ddb +ct = e39011d7b3b8f8fe007ad461fad47859a5157dce508373aa106b40d3bfa4f32bccdf8207d5495460da1f355ce44a46f95a34027001e45f13a88e4e133fb0b8f2977c8af50a1cdec047a0a20610c984383463c60ed07481066053942d1c63fc85db60daba5172d90aa3a02feede6de613b982720ffd87297db2d487594fc4920d090fbe6d3909d2003efa89f4fe68762ff97e70b0273babb8f2952ab221b7bda1f4affe438dce1b4ddbf810d4155d3ae8f46ccb71a5c57d94a5542150b0ec6ca0699641fd0fb3316e8dcf75bae31a08352bbaa81dfed1994f569015264412455ee6c939880acefb7f47dcb8e1a68266b124666271244275bf46f130ead54f1a81aac6085939eb5414e7d62857d89f3cae9b33ab71d22fe5c94ceb2bef061b43708b5f42c52fcedd8a46d59b88981664e4a7e02f121dc32fc91f51fd4033121b4a6cbf346fdc748ac5207a10c6f261648e14c34020ca04c24ff49e7cb6980448d1574ed6e8084d79fbfdb19e9657c3f639baa4abffd7aa2bce1de14bf2b6c5b65fe3faf3656b3a074f4e4749cd80b8dd5c4c5edbd6fbc1aab79aec41f41b57b327e4870ec3090da720b4316b7f5612f45155319d436e7cdc714f641627c7931eab349d5612384851de8d12ae7793674ae6183a75e88c5c68108733e3b53137ab5bd6bbb1af35fc98aa2098504995fad77d5dd30fa8f30d738aef5e3757fdefeb8d1ab69e1e523056dd926369ff3637cffdb82bac62b1caf1811b83c1e791b4c3e54f06762e0820dd12fa8e4864a83f3df9297073603f8dc81e4b6a5fab7bce2dfbac69c8e0a25fee7f69c8887d992c3d74bb68932d2b6ab3241698e63ca8fb9d13c1fc6633331167ab4f868f61565810a438705a89584f277b575e4f0c3837be8155874995ca5156fb98e482f6f6d94228fd205eac0a6c48089e4331957b473896c403eaa652ca221d91cef0b5d9bf96716413eda798a76058fe1c784ab6e22bfbe2a5cfafbd60dc055fd40d585440c082baa76096f15364aedaf92f997e3fda237ce59fa5f70b346157844a16f00423574492815189731f17c66219963f3aefc4 +ss = 934cdd8081320b92e6b4d31ffbde463d763a2a73511563e17df5e80d2dd4c105 d = d322d56d8ef067ba1f24c92492b9c56df3a6ef54a304adc1b69913766a1ce697 -z = 56047447b810cc094d400ab204cf9ae71e3afa68b88586ecb6498c68ac0e51b9 +z = 05224fca29659d6c7a880a5f20d5fe02dc4491f2f095dcf2ddecbf105014c5a8 pk = 4e2008000d3e22d76ae0046db986b85ad166052648993355c2262dc8e3477e83bc9a843476da24444b3936db182c608bd044a76ff88cb3c2b4b4f44f35932d0bb3cd8b834ad6e23eb9d9825d4378cc40a94d007fc5d97392eacb9dc770bc2569ee1b92cbf0aa2abcbe1e8a1e10ab1244e14dee474ef3e4531e330eadf71db2a36b32e152a88b5d90b8212b45b69c483cf261ad54564a76fb0b2b0c2589037a294772ef8c0b00666c2cd18cf54bb3b9b910094a69fab10df29620a890bb07e16cd8b55cbb40c074e0aa256253f7159c07aab0a26a9104b73b2942143e9622e07c055f687a5e1c2bc274ab629bc5f6b5c691c6802c8a4c1657a1553bcc2ab43db19c2fb151ae1d4082103046032603d8716726539dce01c940a78423b37661128f88e74ce04411ae307048c82de6a2af26996b28f91e32c21722554e2c51c422bb2ff5e3a35a0468b3aa02dca384b0ca793d1b524b7c24acaa889175a171b2522a07969249596ada9e76d17395c49648740fc0127beeec0bcad5c98852c3314111d149a0221168af2ccc65c6961ce3690d64ce1554a137b373319c56dcb5152a19059e0128ca872ca6f100d4509f196c7ad4fc65ee6accac6b80a9e8315c7619870b3623d38d2778c788c62d291a32b1ea078bc5a4e5e2bcd34c97e5a6301574c7854a8fefd62ab6657e4eb9371e09b8df2b1a45370ed45214cee3b86a1417c234081047b5c84009bb10351932c3a3078b7cea137ad22b665cac0bc0c6a032778ac437f139970c377b4d651b0e284d48040402685dc3ab6d5d206aab39c361789818ca7b3e4c8cfe2c4719e054a85b383eab160139c377896fe0217d46b98f3d0ac2a44cbddd003344974f30f3b9733579c506659272c1755c9346cb31153cbe133328283637ba5b4d3a906a3ad75d519786c54143101b77b7053977cbca1175a0ac076dfa3c0595b0473495738da76ba0d4a2333452d88c82750c94e745852a1118bf7a03b6f1b448298e8a2b246b166e18760dd5c468a4187b80fab8ccd078837b8223769b2489420f456140e2b911290eb4e780dde03e1a699b38b95edbb1cd661e2c9a7e548ca42e385cc6a0678f9e9d268ffce02c4b465a46773432109a75 -sk = 0fbb5b81752024eaa896950a462bb5a422377d60c59a8baf5295252ddc8a01115c9902d05821b7468773e8b844802a284ac25bf7140ee460373ef5024e40991b9764a7c9212c57bd3d71bd65674078091dcd36a157bb00775aa8676768eb880ae1947106202e848096ebd458cefc4850b15b0c2972b8461a59f8937e5b786635298896a392c11f61a678fe25253f5798e1bc7058b79397b5c190c0a0b178558e55c05c988e497578ab556702ca7ccf04b9e4736f32c002e21993b3fbca77f1ca560a1437b52f43085a551a2cb6abcb7dd07c3310853f374f25561563b68006617e55e2bfaed4b0fe04ac96955101f1933e9684e1183c8ee6cc866a6b9946126f8a257221c18722621bb151d5d0afd98cceace1050d2bb3e1f38796ea02f1f06642692e8982b2196aae69790b6d895fa3eb2245d09e16238618e84a01a55dd3e535cb113117d0b72fe10dc29a344b1a621900883b3bcd8d407b9dc24b8f468665b10ee86c5fb3ca9c6b0217a04c129da05056f6997785a59a4bae30a26f0159a6d98bc3aa4494a3e1bcb84432c2abaf22d43e22d45fc147cadd3a2cf14437ac35709c5636eb932abfc88f12322b50f8553de2c2d69a5622a88ba7d08b1c3cb7ee546c54426d70e400d8080d129104297c2e7a06a41ba345b1a73028817fb5a498ad81cc4a545b32cb70cf8264819334ddd9ad37e14a9a187828645ee0d567dcc6853c48c5af4a836f355d369149a5d32663c5b7d074774bc1720854c66225174028a565e42bb395cc1c8c3e80a23fc664281c8a9b144a39d7eb23b2211a3ce01b175265c6396108671845f4af8e37bffd5a97cad4c11db10048e467eb314275303f1fea05dd895ec5480f41dacf725965d4c3ca0c104acd228c0f10a634a18a0d166c8b69b4ffe604c7940d3aa06234e500c8962e39935976c1081726bec208be7f6b9ca51caaaa7465f03cb8de547d46c762797b7d58b056b78cbf13286a4479c5e5c70286ca6d05b892665435da13ab997b30d5e0223aa14cd2f50a0f80b64cb072cdab19118681376b968df5b9c2a20169759572c6cb36c88036e8c90878cd4e2008000d3e22d76ae0046db986b85ad166052648993355c2262dc8e3477e83bc9a843476da24444b3936db182c608bd044a76ff88cb3c2b4b4f44f35932d0bb3cd8b834ad6e23eb9d9825d4378cc40a94d007fc5d97392eacb9dc770bc2569ee1b92cbf0aa2abcbe1e8a1e10ab1244e14dee474ef3e4531e330eadf71db2a36b32e152a88b5d90b8212b45b69c483cf261ad54564a76fb0b2b0c2589037a294772ef8c0b00666c2cd18cf54bb3b9b910094a69fab10df29620a890bb07e16cd8b55cbb40c074e0aa256253f7159c07aab0a26a9104b73b2942143e9622e07c055f687a5e1c2bc274ab629bc5f6b5c691c6802c8a4c1657a1553bcc2ab43db19c2fb151ae1d4082103046032603d8716726539dce01c940a78423b37661128f88e74ce04411ae307048c82de6a2af26996b28f91e32c21722554e2c51c422bb2ff5e3a35a0468b3aa02dca384b0ca793d1b524b7c24acaa889175a171b2522a07969249596ada9e76d17395c49648740fc0127beeec0bcad5c98852c3314111d149a0221168af2ccc65c6961ce3690d64ce1554a137b373319c56dcb5152a19059e0128ca872ca6f100d4509f196c7ad4fc65ee6accac6b80a9e8315c7619870b3623d38d2778c788c62d291a32b1ea078bc5a4e5e2bcd34c97e5a6301574c7854a8fefd62ab6657e4eb9371e09b8df2b1a45370ed45214cee3b86a1417c234081047b5c84009bb10351932c3a3078b7cea137ad22b665cac0bc0c6a032778ac437f139970c377b4d651b0e284d48040402685dc3ab6d5d206aab39c361789818ca7b3e4c8cfe2c4719e054a85b383eab160139c377896fe0217d46b98f3d0ac2a44cbddd003344974f30f3b9733579c506659272c1755c9346cb31153cbe133328283637ba5b4d3a906a3ad75d519786c54143101b77b7053977cbca1175a0ac076dfa3c0595b0473495738da76ba0d4a2333452d88c82750c94e745852a1118bf7a03b6f1b448298e8a2b246b166e18760dd5c468a4187b80fab8ccd078837b8223769b2489420f456140e2b911290eb4e780dde03e1a699b38b95edbb1cd661e2c9a7e548ca42e385cc6a0678f9e9d268ffce02c4b465a46773432109a75b1eef6e8c88ff8da9cc4a9b01d4c08b6b585beb5bb9e084c6c47a717b51feea356047447b810cc094d400ab204cf9ae71e3afa68b88586ecb6498c68ac0e51b9 -m = 511c2ab40782322c06111e144e505328c4e5bfc890a5980a2bbc44aeda4c738b -ct = d18661618a49af4abc1a1b2f61edcf23198b97d8a49c0875f86903d9b10a7b20153f7204c80f2044be9d8c82e7b8ef0105050f4ddbe6c3547d3dca3a7e7404efb3f9d92a1f2e0627d514730537d9f63a7c2e69fcf0f7848772992ec9381f4ee505a922bde0b3ec1e086b0447eb8eca6baabb6259bb1f65715122d671e11ddc34404fbcca14674c1553cd5cf1f64a563e087e720f803ff8217f2add6eb5c5ea432e340962377d24a8c2261b8e556fe97820ca7232cbb44b91577e5328d1b9f49fe9a9d33c1e18821b9cf14231bc3a97327bbdb7a2b12df0d2ba7f44a6b2b2b4898caaeaddd3fef8560fd0c22d26a8de6577e945eac6a3925f1e4307fb610df30430d46aa9ed4c48fb7fec3e9b0dcb7bff0121b0c138dac7d3bf1ebf6be01ae478f1506761af1488a594d38891702cdf36b0ad62ffec739e421d2cc5f0d0aa934eb8ac4960f1bafd55be60876d8c3a6536bb22da7ccf9c12a11064a547756de834b47bf57b67f375e4307660a53b358ba026e2897c0c840aa8736d923b002a2ebce9c8293adbe2199c58e1dfb6307e13773e8f695937bf0ee6c389067081dc895a07786d554fd71a195934bd9ee6bea54c5e92d3cea80c8ed8c1f4567614a03a36739f597aba6858dd53012d969488c02562320e99797daa33490011900daa1c9adeb058ef5bc9fe5ceb0d05a6387cdcddf71f0a99d544ed322a10e710b811712e56f8a462592dd26420169be684eba4b5259810eff1a114c726fa34b39170a659069670f39cf8b63e4ebb9d2ceedc7dcb5d61fd2738cbaa4512db1ca38b8c778b2f5f8f7beef27e68d6fe63a65ef3cdb0f930f0e5fc5b9598ef03099e534503599628ed9a6c4d32e33b49ad9a4652986638e8a7490818e193be5d74aaafeb2101080a76480f334335540827c8e823ef0dbdfcc52dabc2def58cd8ee8bc448bc898ed10888792a0c9feae844f71df836c92cc5575c42b74070bbbcf9600e1e593c1eebff74cb06d19676a6df8b7890618066fc69b20194cd305fcff6e8b005ebbb18f2ee543b5c5172ea4d4bd8f536b4bce92fb06b34abdfd05fcdb38029ff74ef -ss = 07d4fe5265fe82cbaaba139893ac89a4535b4f97f94da29282478f16266f483e +sk = 0fbb5b81752024eaa896950a462bb5a422377d60c59a8baf5295252ddc8a01115c9902d05821b7468773e8b844802a284ac25bf7140ee460373ef5024e40991b9764a7c9212c57bd3d71bd65674078091dcd36a157bb00775aa8676768eb880ae1947106202e848096ebd458cefc4850b15b0c2972b8461a59f8937e5b786635298896a392c11f61a678fe25253f5798e1bc7058b79397b5c190c0a0b178558e55c05c988e497578ab556702ca7ccf04b9e4736f32c002e21993b3fbca77f1ca560a1437b52f43085a551a2cb6abcb7dd07c3310853f374f25561563b68006617e55e2bfaed4b0fe04ac96955101f1933e9684e1183c8ee6cc866a6b9946126f8a257221c18722621bb151d5d0afd98cceace1050d2bb3e1f38796ea02f1f06642692e8982b2196aae69790b6d895fa3eb2245d09e16238618e84a01a55dd3e535cb113117d0b72fe10dc29a344b1a621900883b3bcd8d407b9dc24b8f468665b10ee86c5fb3ca9c6b0217a04c129da05056f6997785a59a4bae30a26f0159a6d98bc3aa4494a3e1bcb84432c2abaf22d43e22d45fc147cadd3a2cf14437ac35709c5636eb932abfc88f12322b50f8553de2c2d69a5622a88ba7d08b1c3cb7ee546c54426d70e400d8080d129104297c2e7a06a41ba345b1a73028817fb5a498ad81cc4a545b32cb70cf8264819334ddd9ad37e14a9a187828645ee0d567dcc6853c48c5af4a836f355d369149a5d32663c5b7d074774bc1720854c66225174028a565e42bb395cc1c8c3e80a23fc664281c8a9b144a39d7eb23b2211a3ce01b175265c6396108671845f4af8e37bffd5a97cad4c11db10048e467eb314275303f1fea05dd895ec5480f41dacf725965d4c3ca0c104acd228c0f10a634a18a0d166c8b69b4ffe604c7940d3aa06234e500c8962e39935976c1081726bec208be7f6b9ca51caaaa7465f03cb8de547d46c762797b7d58b056b78cbf13286a4479c5e5c70286ca6d05b892665435da13ab997b30d5e0223aa14cd2f50a0f80b64cb072cdab19118681376b968df5b9c2a20169759572c6cb36c88036e8c90878cd4e2008000d3e22d76ae0046db986b85ad166052648993355c2262dc8e3477e83bc9a843476da24444b3936db182c608bd044a76ff88cb3c2b4b4f44f35932d0bb3cd8b834ad6e23eb9d9825d4378cc40a94d007fc5d97392eacb9dc770bc2569ee1b92cbf0aa2abcbe1e8a1e10ab1244e14dee474ef3e4531e330eadf71db2a36b32e152a88b5d90b8212b45b69c483cf261ad54564a76fb0b2b0c2589037a294772ef8c0b00666c2cd18cf54bb3b9b910094a69fab10df29620a890bb07e16cd8b55cbb40c074e0aa256253f7159c07aab0a26a9104b73b2942143e9622e07c055f687a5e1c2bc274ab629bc5f6b5c691c6802c8a4c1657a1553bcc2ab43db19c2fb151ae1d4082103046032603d8716726539dce01c940a78423b37661128f88e74ce04411ae307048c82de6a2af26996b28f91e32c21722554e2c51c422bb2ff5e3a35a0468b3aa02dca384b0ca793d1b524b7c24acaa889175a171b2522a07969249596ada9e76d17395c49648740fc0127beeec0bcad5c98852c3314111d149a0221168af2ccc65c6961ce3690d64ce1554a137b373319c56dcb5152a19059e0128ca872ca6f100d4509f196c7ad4fc65ee6accac6b80a9e8315c7619870b3623d38d2778c788c62d291a32b1ea078bc5a4e5e2bcd34c97e5a6301574c7854a8fefd62ab6657e4eb9371e09b8df2b1a45370ed45214cee3b86a1417c234081047b5c84009bb10351932c3a3078b7cea137ad22b665cac0bc0c6a032778ac437f139970c377b4d651b0e284d48040402685dc3ab6d5d206aab39c361789818ca7b3e4c8cfe2c4719e054a85b383eab160139c377896fe0217d46b98f3d0ac2a44cbddd003344974f30f3b9733579c506659272c1755c9346cb31153cbe133328283637ba5b4d3a906a3ad75d519786c54143101b77b7053977cbca1175a0ac076dfa3c0595b0473495738da76ba0d4a2333452d88c82750c94e745852a1118bf7a03b6f1b448298e8a2b246b166e18760dd5c468a4187b80fab8ccd078837b8223769b2489420f456140e2b911290eb4e780dde03e1a699b38b95edbb1cd661e2c9a7e548ca42e385cc6a0678f9e9d268ffce02c4b465a46773432109a75b1eef6e8c88ff8da9cc4a9b01d4c08b6b585beb5bb9e084c6c47a717b51feea305224fca29659d6c7a880a5f20d5fe02dc4491f2f095dcf2ddecbf105014c5a8 +m = 1e712b1ef59c5594b414d7c1156b8e4ff3c3d24c92ac92c734f4ad03449a7e28 +ct = 683e5ad8ca4deeb62a9183db7f407c3e9a65ab17a1a571fbc2647c5d61af0579a7848c59234087285cae0ad41c8de444e20a08b2e8b35e0ed8ccc81061aa62cb589f24031a9565cbff2d12215153c8cc8af6a3749ce36f24c4bd2974de2c8b42e090531caedeb26a2c42b84e37a4362ad5819c1421f7370b077790097e30d73ce5868cebd9841921e802aeed3afcb84132defc8f9a122c025a825ff24bc0ecd038669e4ffa667c0650f52d5c31ab2b906f10aa9bf4d762f6b0d0debc2ecbf39cb4a84bce0690eebd051d432665fd0449b4f2b1f0247dd411c309c5a62ee4d573f7c30496ccbafa385ec7a89a2e566803c7af5ddf9875fe964320c4f6425548c38ce6bddf67612b681bbe2589c7b2d7b312198d2db055fb7e212fe299718d25ea3952649cbccc47c25bd229d445ef857049e092636c045c9af7f487ab8ff061b88741a75719e073a240ac934e1a60d4e65bfec602d8afdd8161c7a256de53b58cf0bcaeea407ae7c4abecba9bbb68c4b0578e8114cb25cf76948c635eaa3eab86ea15d2e4f09bc9e5714fe7b91ef716a7a4fba5ac4cceb2fd1081e2a154523726d8c7c31ed6d7ef7858f9f2fc0e71e61c40c3e04b090093f85837b42fff1119f2051f20c7f193e4e74188bb8beed3b5470c4219d2439c79a0b784b5b4d8cffe5fea7250c1b9cf12968ee944979ab12851c7e09f27f43373fdb1dc63faa3211e5bb169f514bed765454ed93205285b56938db71306bf13d28e2ff7e3909d98df8be616cf76d571ae1fa5bdd762285dc229f12f0ffcddd30a372210241c2c3d9884c3bae8fab7dae0138f929fb8982bf8e8ef4cec44bf4a8b460e76820d889ad6eed794f2abab9541aa3438735dc111708ca5d0b1f349af3ba3330a1a39b0b8f2e4e773095464cc7e7498ee810e1fb490224f7982ed0c536c83b1236f1ec28313f87dc87056dfa385b6b106f1b66332cc977e5cd26239fd11a35d399100cc6e7cc07992c4943bee3e392e4eea8591d86639c712bfefa9ea813da0b52384f08d72051b1326cf1424326cf9a31e66b6d76a1da9731df41f4fa78eeec9c5ada2dac74e +ss = 8be8d76dc72c7165d7d3e9a8a09b8daf470ec5aec10e678d08d77ada3d4a67f5 d = 2f1d8a3bebb34540324b9485fdf3d5be3b858f544abc3fc641b5728cafab03ba -z = 8d6c42e7270ee2b77b6045385f3d175984a0e260363166c73b0c70c971644363 +z = 6931e7324d5527dcd0ea7e2e6c2a82d4a80c3edfb38752b36581f3035ed9a23e pk = 478771e2f15c94962e6200501bb90320cb6a0eabc78fa97f2d69c5a7a00b81db6b2a77a2b99cb1b0598af4bc5da77623fb5a2d3d1709afe65521c5324df95e40d6c20189a4cf80162737801c48c1d4b253a7741dae446162d6a2457574969105e93c52f08757f80aa7cb28a2960a7208ec6429e7abe3267b9c615b63311756d79efa6957766a5de25b89af140a096ca145988e6582bdf1b590c8689a366b9b4e2877c2b5c5a33320d3d532e3958465c9586f604f4f800952eb5f96d73b6287bcead21f7b8863088728ff160d1ab7b3ca594ecee60a8b741903e4892f6154d6356bc308bacb17067772580af8a1cf5157ccdb86aa642b7da9a6a583508d18773b307b2b0ca3a1cc89ff531e0df13948c288fa4aa6d3001c592879649c72450202e39c5f837051db1314be4a25a13a6a00537c20ab5acdc6be15562b1027056bbcb63d6c8227683480b6bdb83c5a74f31b0d1ab84d129d4a883e2cf48ac96ac9aee856a331a5b8a0504a461daef078d3d916f962a9f9a82fe69b3c91955ce5d34f4b3731d195a92c84ae39f38c7a895e0468a2a3701982fcccc93353b0387df0671abd2140dc9555b8d98251924fb77570aad8737b12533ea4bee7326761e86986273bbbd447e47119b3eca4b7f565de6c0ef8494048a08967cc17ca4231c433864cc961f6193774494aac460f23d978f4267aad92b66678b560dc50c5e797bfd407b5b89b83aa1023a3046d098d939b3974c6626fdb5d4df84b7a3a6d63727ae028560fd79995e6c310cc8b6f33a3f441aba1ba3f44714975b3c3c299aeea9a714058ac74f1334e8c011a748485289af49542df7c2ab7830a3f519c41612f3066b24d594322913e769386aea37064f3b65746afeaa361b8f444c717c10d04cbcc9924dfbb3b052622a15bcf0dc7911d148028c8a8cb574334010e222abf06fba5ce5022da143e5985c7cf277e5db727f6b07f2d8034e033a25b0b1aa9d180f4d403b7072f87c694a5962be49938783613fce30e8bfc204800bcb45c5faba48968c95199297626eac6f4c1099c903a24ab54251c353016418ca774c52294a001c2000c47537e0d5ae249eb884b67dadb110119f1d0a5ea38cdf9f2e0e27c75a43a -sk = f4d14a47f661de38531169cb1b05ca73a3527e599197570adecc4d6d6bb1f9ca0284480a21d57269517f222c9208aa0d021a0f8df20b39682cacb0472d776ce98442feb4a0b5148e62f26bcbc018e0556912f2a847fa8fd3bac8eeab94fa5619e9c1274423aa34056676658af6505445d0347b8554dfb1b61fe59cb3c696367a1cfaa87d47639d311476ac4b859bf2ae8fa86eb042ac5bb97c6e2a5c9c8b0854f73b33cb6f3f029dad0877e79909c4c5a4d4b77b2b0c8bb20540b72494815521d2737e709162d01b7bf324068453b16fe187631aac701551f2a1cc88d1b31efc00ca79ce7a8703fd098570fa2977399b49a59d97c8ccdab74e98e1995aa1c31feca0a46a7b6d855e53e419a814cd0a9682e14c74b80b995907b4735858ea897ee09c9f1f868cc4d9c96e331480e323b627252764039cd354c59679f6d8a56acc5179e9529e481c87603216a74f31e9ace3616ed4567662d7be4b18c0e82b949109793cfc1e722ba85b521d4e68a01816ba5b44bfb4e853cb5b70adb2748270139fe53968303720f72f7d2217e805ab0bfa5f9116a01af1448718155f277f2143a112babdbc211e0cd47ec7d169707c2c4156097a8b02c48a6029dc619ef98a669b555e1741ee6c659fd57856e9214187b51b0361f6bcc1c0f99ede6b5d0c394b1b23641d5c611b588e39103ed9c50843b0630035b868052493800053eba364d95900eba7b0a7088f2629b859c58b7534fd6483911caafdec3126bc0d10a526bd5abe2737c29636383622a2739c8450ac75b029847b23c85ad1624608576772b98f356b34a08012d36c8482c11db931b22a914ddacb9f02877ee00f57f022f6d9543dc3045a304e9305b8499baa9346b42f3889554056698a784d42575c01634175a659e26fb085b83c167fdc30ba62011db428beaf78710f7a659cb5320f25b1fa58618a991b049b7090065367370f3124aa7de80d666b9c6b399013965c2c9b60a89197cc8706e6320c220cc148b60878746392f6b64c6a69092074606617e797a9bcd5588d602ca9f23c5d017aa460add3a95f11e89c8ea3408527c9ce22c3478771e2f15c94962e6200501bb90320cb6a0eabc78fa97f2d69c5a7a00b81db6b2a77a2b99cb1b0598af4bc5da77623fb5a2d3d1709afe65521c5324df95e40d6c20189a4cf80162737801c48c1d4b253a7741dae446162d6a2457574969105e93c52f08757f80aa7cb28a2960a7208ec6429e7abe3267b9c615b63311756d79efa6957766a5de25b89af140a096ca145988e6582bdf1b590c8689a366b9b4e2877c2b5c5a33320d3d532e3958465c9586f604f4f800952eb5f96d73b6287bcead21f7b8863088728ff160d1ab7b3ca594ecee60a8b741903e4892f6154d6356bc308bacb17067772580af8a1cf5157ccdb86aa642b7da9a6a583508d18773b307b2b0ca3a1cc89ff531e0df13948c288fa4aa6d3001c592879649c72450202e39c5f837051db1314be4a25a13a6a00537c20ab5acdc6be15562b1027056bbcb63d6c8227683480b6bdb83c5a74f31b0d1ab84d129d4a883e2cf48ac96ac9aee856a331a5b8a0504a461daef078d3d916f962a9f9a82fe69b3c91955ce5d34f4b3731d195a92c84ae39f38c7a895e0468a2a3701982fcccc93353b0387df0671abd2140dc9555b8d98251924fb77570aad8737b12533ea4bee7326761e86986273bbbd447e47119b3eca4b7f565de6c0ef8494048a08967cc17ca4231c433864cc961f6193774494aac460f23d978f4267aad92b66678b560dc50c5e797bfd407b5b89b83aa1023a3046d098d939b3974c6626fdb5d4df84b7a3a6d63727ae028560fd79995e6c310cc8b6f33a3f441aba1ba3f44714975b3c3c299aeea9a714058ac74f1334e8c011a748485289af49542df7c2ab7830a3f519c41612f3066b24d594322913e769386aea37064f3b65746afeaa361b8f444c717c10d04cbcc9924dfbb3b052622a15bcf0dc7911d148028c8a8cb574334010e222abf06fba5ce5022da143e5985c7cf277e5db727f6b07f2d8034e033a25b0b1aa9d180f4d403b7072f87c694a5962be49938783613fce30e8bfc204800bcb45c5faba48968c95199297626eac6f4c1099c903a24ab54251c353016418ca774c52294a001c2000c47537e0d5ae249eb884b67dadb110119f1d0a5ea38cdf9f2e0e27c75a43af581c2fec9055830b38cb68fb506aa927443b1afd1b2b6faa6f92a325985c6ce8d6c42e7270ee2b77b6045385f3d175984a0e260363166c73b0c70c971644363 -m = dca92dbec9b260dd97e8886f876862d6effc3b91fcf3fbc986cf56ab93ae79a2 -ct = 80eaff0da8b892d8292f7fc7d98a14f33fc8f3d2de7aa5de81c956c9dfd8d0536a2689b5be02fc7d12f0a1c71260b4155e75fac558d76c381aff21d961e2f074ad785ee8ed83ed5995fbb83b5a908a0509a2d263c6682d4973cc727e9da4f945616c4141d7f148595077b832a5001e5d94a8e98a014f37183c9526c32cd92befffefde2b2f5bd8032597d2677e06032cbd9eed16ad82486ffc68032e03281f119097ca1aa623e53530a998164e6858e6ec2d42a5b86a390345e68ed2a841e82c06f66406fd8dd1a93095a59fd43a3f6b64574fa6fdab7c16f80eb598b7c22b6e6973d6d248ef3fcb41774eab52d299f7c9df2b59afa71b114f5df43229438b5fda5d1d03636193d4d2b7e911049ffd81f0b6869a0743ac2f92ed47e13736cfe63431a336723fd0a9e94e16595b50c7ca48f60c4b638f4cc3d8238a80641377460db085c420fa0ccf7ef77e2a5ee3043d9952524538b1aa6155328fc52f8d9546fdbf9c5a81f2a8073c3bad1fadcc5d60177c3d4d931fab0a08056b313ee34e694f80bc22de33335a089a0d780440f02bc22bb7502557b9df2d6dc463b15acc2012c94adf19582444f2b5e63f17c65cd3f5216440bf918e06a01c9cea653eb4a05eb8b63af5d657213947da93c4b34260b8b11fb8c4087a79c4528cc0cffbe8bc70fd5b85e974ab261ee674da4a1190371ba8a6ae3fed1758152be3947cf0d3ee265fad70702fc48bc9827ddad3d6ff8f9d66f0201e8f8c8266d5d52733979d685b7e254a2badf58deb9045e5085cb5ddda1aa4c2b88b4b466aeb960d42fdaee3c28c3e809398bb308e440be5655e762ca143c86d5faab7c829b822a7389d937497a494adfa4b7b8bfdb7dc9457cb93d723765b04d2d76321f96b58a886f54acb2c5a518bda88488571b512e344c6c86f24b726b274d4b86e19749cac7d0a384e3b6824e71b59fc0d24be840ca03925d42ff23f366c471ed224013eea0b73391613e05a6d8a390b446aab2cb5dfdbb1d3b6ef875ff5fd3f0326c43525a80821c61b950ff6ca881bc25ac60b899dc47ba92eeafe5c2693e47ccc35ce326b581a6a -ss = fd481cd0902efd9a163377000994ad86e154bcb2b6458ae72cc7cafc125db981 +sk = f4d14a47f661de38531169cb1b05ca73a3527e599197570adecc4d6d6bb1f9ca0284480a21d57269517f222c9208aa0d021a0f8df20b39682cacb0472d776ce98442feb4a0b5148e62f26bcbc018e0556912f2a847fa8fd3bac8eeab94fa5619e9c1274423aa34056676658af6505445d0347b8554dfb1b61fe59cb3c696367a1cfaa87d47639d311476ac4b859bf2ae8fa86eb042ac5bb97c6e2a5c9c8b0854f73b33cb6f3f029dad0877e79909c4c5a4d4b77b2b0c8bb20540b72494815521d2737e709162d01b7bf324068453b16fe187631aac701551f2a1cc88d1b31efc00ca79ce7a8703fd098570fa2977399b49a59d97c8ccdab74e98e1995aa1c31feca0a46a7b6d855e53e419a814cd0a9682e14c74b80b995907b4735858ea897ee09c9f1f868cc4d9c96e331480e323b627252764039cd354c59679f6d8a56acc5179e9529e481c87603216a74f31e9ace3616ed4567662d7be4b18c0e82b949109793cfc1e722ba85b521d4e68a01816ba5b44bfb4e853cb5b70adb2748270139fe53968303720f72f7d2217e805ab0bfa5f9116a01af1448718155f277f2143a112babdbc211e0cd47ec7d169707c2c4156097a8b02c48a6029dc619ef98a669b555e1741ee6c659fd57856e9214187b51b0361f6bcc1c0f99ede6b5d0c394b1b23641d5c611b588e39103ed9c50843b0630035b868052493800053eba364d95900eba7b0a7088f2629b859c58b7534fd6483911caafdec3126bc0d10a526bd5abe2737c29636383622a2739c8450ac75b029847b23c85ad1624608576772b98f356b34a08012d36c8482c11db931b22a914ddacb9f02877ee00f57f022f6d9543dc3045a304e9305b8499baa9346b42f3889554056698a784d42575c01634175a659e26fb085b83c167fdc30ba62011db428beaf78710f7a659cb5320f25b1fa58618a991b049b7090065367370f3124aa7de80d666b9c6b399013965c2c9b60a89197cc8706e6320c220cc148b60878746392f6b64c6a69092074606617e797a9bcd5588d602ca9f23c5d017aa460add3a95f11e89c8ea3408527c9ce22c3478771e2f15c94962e6200501bb90320cb6a0eabc78fa97f2d69c5a7a00b81db6b2a77a2b99cb1b0598af4bc5da77623fb5a2d3d1709afe65521c5324df95e40d6c20189a4cf80162737801c48c1d4b253a7741dae446162d6a2457574969105e93c52f08757f80aa7cb28a2960a7208ec6429e7abe3267b9c615b63311756d79efa6957766a5de25b89af140a096ca145988e6582bdf1b590c8689a366b9b4e2877c2b5c5a33320d3d532e3958465c9586f604f4f800952eb5f96d73b6287bcead21f7b8863088728ff160d1ab7b3ca594ecee60a8b741903e4892f6154d6356bc308bacb17067772580af8a1cf5157ccdb86aa642b7da9a6a583508d18773b307b2b0ca3a1cc89ff531e0df13948c288fa4aa6d3001c592879649c72450202e39c5f837051db1314be4a25a13a6a00537c20ab5acdc6be15562b1027056bbcb63d6c8227683480b6bdb83c5a74f31b0d1ab84d129d4a883e2cf48ac96ac9aee856a331a5b8a0504a461daef078d3d916f962a9f9a82fe69b3c91955ce5d34f4b3731d195a92c84ae39f38c7a895e0468a2a3701982fcccc93353b0387df0671abd2140dc9555b8d98251924fb77570aad8737b12533ea4bee7326761e86986273bbbd447e47119b3eca4b7f565de6c0ef8494048a08967cc17ca4231c433864cc961f6193774494aac460f23d978f4267aad92b66678b560dc50c5e797bfd407b5b89b83aa1023a3046d098d939b3974c6626fdb5d4df84b7a3a6d63727ae028560fd79995e6c310cc8b6f33a3f441aba1ba3f44714975b3c3c299aeea9a714058ac74f1334e8c011a748485289af49542df7c2ab7830a3f519c41612f3066b24d594322913e769386aea37064f3b65746afeaa361b8f444c717c10d04cbcc9924dfbb3b052622a15bcf0dc7911d148028c8a8cb574334010e222abf06fba5ce5022da143e5985c7cf277e5db727f6b07f2d8034e033a25b0b1aa9d180f4d403b7072f87c694a5962be49938783613fce30e8bfc204800bcb45c5faba48968c95199297626eac6f4c1099c903a24ab54251c353016418ca774c52294a001c2000c47537e0d5ae249eb884b67dadb110119f1d0a5ea38cdf9f2e0e27c75a43af581c2fec9055830b38cb68fb506aa927443b1afd1b2b6faa6f92a325985c6ce6931e7324d5527dcd0ea7e2e6c2a82d4a80c3edfb38752b36581f3035ed9a23e +m = bcd1828f520df6a11b417bc8ec4367b6f7ccc47a4f69aadc445dc83f15482abe +ct = 1d2a2ee0f7169027d96511095571b471e6ef33e382c4dcb8389ed45096f93d7e01af5b5a40980b61188be2e7fe22159fb7be4e0e2e2ecc4a615c552513673726fb6d9b1cb4bad80857fc0c5ece3d9c2ae1e6c96cc938bea405d64c52fb34fd8a73874347b504ca37920ecd7ea010a997bfc028eb780fda908a0ed726fe7aaca249c448406f4f15d5cceb858c33a91db9ebbca5c32b2eb30aa32e7f32e2300574ee435bc9524b956a313de8d9b0106a7ce0132f0df8c60fd40a4eb0d5013865f9bcee03cb0d374e52af2d4dd3dbaa9dde02b8c250fd71b8c5d8d98d2169ed349e98793a76a77524215307678b568e1f62d44efd3d212799b6455891b2c39f15cf9eea70062d40c7dd5c4143dfd3b879ebc73eddde90f19685bc0e0004e0f55bf9e1527d2a82a39e4a7cb7d32797d92e57e1a1afdd568368793bde8a7599e8d8ad8427fa8dc53714960116e505be928b3c9a2db8c287ca6a9d1e5fa4b0f5b50a488a0c91d6a9d293f851b94293c27a94e4e5cc09269d33b061464381688cbfd6794fabeb2a04ce2d6c7a9be506fc801a1ca4e200a60515cab5e37c403b8904932a19362c90cd21a6b859d9357591fc78da8adb7724163794838602889c11e8631db3b3c1dfe83270b63286542165f578d030e7759c613819a3162457573ba4d2799ff44d2a5408f2192908609ca74e33c1dea12e9ec4b3bd8504c90f4da11f545afa264bebfb1f7dcdd98e49ced5481383e4a06441131d623e898fecc72faf6b4df2bc0f595203d27448850573a83a22de4f8033bd5546db1f5dcdfe8950dc323eba5527f522eb84874a420d48a32d767c367519cfca17dfbf8fcf47a157b70b082c51101f56ea9a824342529e2b3b9f0755109abeaa411fbb84a2089c60524e92402f5a6056ccb5735dc15d8d229221e3c0e8fba647c23c192c7210100bac876ae666f7f81a04707c9edc268ee0d4530d914f603dc5d63b172755694aacb3b2639704f9bc6d8d3791d1d502ce427c71651f32b6bf1e40dc7b2f7ac4affdf7aa99b1af28c6deb0c48cde724be4762f7d75e0b2a922e8da8bb9f34e63bfbab4b442 +ss = fcc22f0c3324eb63d7361dc16c568f32e28a80d38e4dbe1bd89f87c3e4398c90 d = 31beda3462627f601cbc56f3ddf4424e1529c04737ef0ef2af6d7401f653b8a1 -z = 812083bfa3b670e3eaf9b443702fb6db16ac1197656bbd61a8e25ed523b8d1e5 +z = 3390c2faa8e2bbdac1edf5a5b6803bfd3c58dcb1ace60333d03cde2c71737f55 pk = 707a4731f46a6d2c59e27c013d7834f126719c302c7af3609bd0457173850bac49581557700cc0dcf034aff6b36c2a53a5e8580db101e0f718898cc8cf216fbbe1bc78c8984130c2ea921d872224572ac3dfd0ad0ca32a1075c9c2a97c41635ac9dc7aa2d014dc460115c93fc427c155726830b9cadcd8523c8722c3e4639d83c5898054fc68ca8588c55d89640e5cba32fc3f5cb283f2f9032f2c8dcf3847ee1b67ca698292a99348d194df068db0d46d992aa59a83c08b24017ca1048f77532f22039f92bea7139f1dbba914b10dd27abcd6912a8fdab2ac5c68646ab880554b5512459efac549950270e825e39670f06288a97a5e36a31e61a5257a0534e06c1418593b7e844f6381bf1ff5916be88c697c6a6c1c0b42ca1daba6300106784f125e7fc80a37f08a6889771461ad90938894a54914e2cf759c60b3dca1b86abecad16efed660e4422cae131f827b14b2bc4a7552073ab069365bcec3d3a41b22323fa827ad50793b3186c6a0a7e3b007c892868f18bd62105e220517c0db3057f77a3be29f8e2276a49416737c9990216c2eea6fffa7b4bdc6603aa400cb5675aa5a78458a498056511ad42b8550aecdc4940ab1c1739c33fd07bafbb287ae595fcaca6ea4bc3fa708ad3ff8abb4126d6aa9a4d9572b74cc5567b55412e901ca0c4d5eeb4c9683131522917f0a7eaf56b20d1177b448878b657700ad885cc0134a249970e1ce1ca779196215d104117c3c884c9196f33627d6712a3fc234fe171db342a24577a55c5c68e3a2350e41c14c701b1b01a39d2850b69274b2ca3a20ea2cb444294ea73042939a5a1a9a905856876b0b0e3492b6a328b40a949f1865f54558aa6263789093dea2ae2e8631e2ca5cd2662583b676ed6b4f04a33dc3eb956a963bba0670053c815f3c7ebd153680e98a89d51669947f1ab44f9aba94bb239264a0c6ccaa64c0e2b3fe6212924ca77a8a6b8316a20e6a5df6fa8b3e7a9fbcc54c6d599c4471a36aecaf3868b4b8f034a756020864ce4ba9a4c36cb02f0b4ddc94cc71b9c393ca6237a845b3cc9d80f31bd314cfc85416b2b2a1973714ea163b617347acaf453ae235166cdd8afbffdaaab9919f0cffdc75d8796fcc28 -sk = 7b174b53307018768556cb04e6621bcd7558aa9c7c9ef9022b561c321a4d1be7b459826a86513bb12873fcbb616323cb1cc83ba8b6bd6de7432fbcc73d7c12b4a76ac59c00bdc431c071993cd32d63c66636337fa8f88697b63acf4a92c6eab4aec503cb352b0e40c2f0920dc94909bdc7b4b26a3826cc8bd03a49481c684fd65348a291379982a0f73e78b59ffc86a1e2b3a79f4a038205ab0c5b705e523b01e022f8a54e2db0b353241b5eaa4e8299ca1b372b3ec10bb128363bf291cf99bc12008bdfec24db711d71f56bd2cc55fdbc223042931fcc51d6d7270d6943d3fc29e44433afb0963bc56bdbd9be6d2a2f28380f2cd420ab844ef32c1e94c00e3cf8c88995ad8d234ad13b2cf45901369835e31b35595c9ea9b8338b125bc2179523328d3be672ec0625280bbfa10814a5ac707f811df3c79ab6966e5bbb8a93b6abaf389bd9a859564c1c223334da1c9cd264cae9b43990209af29c5d5a943de84461c1eb34ddf54339770c38c1b21b5abf691c3540884845d736a5728eb3226a312520d9a51a026a7952457e0f325bdba82a7faabb1d977906b8cb8e91b0034ab07b656944d416a5e9a779c0563f082e604cc673e1478fd5c0ed528373bc5d59394082160414c16fdaf8742a91ac935c322d0668490ba1099976bf908214674b6d7083da2433abb63a53403e35009d8c79ccb88c6704d5a3085bb2fd8c57093c083aa55636410ffc1b6b635b2a8b65a3ad83550fa83a7b1297ca7b1940758515eb115d7cc96e34415996a875d9bdbb0117df107d8f4375e14a835ffb89aed34da8d33dc1a08e7f103c520c48ec3b651ad79198c354330701c04c5878365abad936f8163c7f094a63c43fb793ad98750f0ea9ac18d0bc503b9ff198086e070c76c202882716920c31deab30dbb1c439a03931a6b855ba96cef757460776e8e42b4f86848b019e83667fdb97692b1578662a8d27b8944350864c016275a01062e6924b5b2a4d4454c38b6ebe471cc55981b6085e7f65b3bc6bacb52caa69f3b8e47b6ab0f413d8d138e5c73c89400a9ef7bfa5878155dc6e83b57ad8741f525750707a4731f46a6d2c59e27c013d7834f126719c302c7af3609bd0457173850bac49581557700cc0dcf034aff6b36c2a53a5e8580db101e0f718898cc8cf216fbbe1bc78c8984130c2ea921d872224572ac3dfd0ad0ca32a1075c9c2a97c41635ac9dc7aa2d014dc460115c93fc427c155726830b9cadcd8523c8722c3e4639d83c5898054fc68ca8588c55d89640e5cba32fc3f5cb283f2f9032f2c8dcf3847ee1b67ca698292a99348d194df068db0d46d992aa59a83c08b24017ca1048f77532f22039f92bea7139f1dbba914b10dd27abcd6912a8fdab2ac5c68646ab880554b5512459efac549950270e825e39670f06288a97a5e36a31e61a5257a0534e06c1418593b7e844f6381bf1ff5916be88c697c6a6c1c0b42ca1daba6300106784f125e7fc80a37f08a6889771461ad90938894a54914e2cf759c60b3dca1b86abecad16efed660e4422cae131f827b14b2bc4a7552073ab069365bcec3d3a41b22323fa827ad50793b3186c6a0a7e3b007c892868f18bd62105e220517c0db3057f77a3be29f8e2276a49416737c9990216c2eea6fffa7b4bdc6603aa400cb5675aa5a78458a498056511ad42b8550aecdc4940ab1c1739c33fd07bafbb287ae595fcaca6ea4bc3fa708ad3ff8abb4126d6aa9a4d9572b74cc5567b55412e901ca0c4d5eeb4c9683131522917f0a7eaf56b20d1177b448878b657700ad885cc0134a249970e1ce1ca779196215d104117c3c884c9196f33627d6712a3fc234fe171db342a24577a55c5c68e3a2350e41c14c701b1b01a39d2850b69274b2ca3a20ea2cb444294ea73042939a5a1a9a905856876b0b0e3492b6a328b40a949f1865f54558aa6263789093dea2ae2e8631e2ca5cd2662583b676ed6b4f04a33dc3eb956a963bba0670053c815f3c7ebd153680e98a89d51669947f1ab44f9aba94bb239264a0c6ccaa64c0e2b3fe6212924ca77a8a6b8316a20e6a5df6fa8b3e7a9fbcc54c6d599c4471a36aecaf3868b4b8f034a756020864ce4ba9a4c36cb02f0b4ddc94cc71b9c393ca6237a845b3cc9d80f31bd314cfc85416b2b2a1973714ea163b617347acaf453ae235166cdd8afbffdaaab9919f0cffdc75d8796fcc28f12f3ecad62bd327f1c44ae86c0be6e7f15112b7f6f6d5ec7b13f4dfab718965812083bfa3b670e3eaf9b443702fb6db16ac1197656bbd61a8e25ed523b8d1e5 -m = 57c170e691d7a914a901b9a11c62b8b569b3806427557a9dbac9faa720ec3641 -ct = 4b279a18929d2ba3de0715458cb6052d9e083796096c7b3a7398fb09ce4e3f5f0b9ba4ae07e9a923c86aeeab7f44f8fec4f377dbac4009dbb34d594b19b0a2f71e1ff35131d5a993a0c8d200f1a7f25a318af13f9cd922e71d35cf92816cdcace01cf5aae90e2ecadf4a13b8abff06469501d8e85cc7dec2f001ccac680d25dc458535b44e67a2b5d134307e70a7fd5e28156fbf9fe33ef9c25b5772de6b83a5204e8c9be43762f9f07cef4ed3bd5ecdc67773d96270f2052d00250f28451794e71f2cbd216c85bb78d8e43180dd01b883158c47a5c572149e404b9d2cc2e11522940d22e8d334bb41f12cd43ddb52e424811871548981a5047cf25fab5f9b987e010c5591cf58a20989c0c4ebbd22f6e2c7e9018cf60692ddc68a8ad0a33d76d1582d46a06c2e60f4b062506c763f69fd8c158b6a1f59d98f46d8a6887ac1422075524e7034a7b2b5410d41a1bef19090db5f47cdc2defc93a5c884eb5ed7ea681f15f000091f3c207afab28cd535e1d3a292c00781096386d97347b3540b67691a09bf3997d364c57b3faa77c81da544f8b558f8777f9df39c6a25b87ffda3f518d4a98a3594cfa7321016807e85e098eea3c5632791b21df1244265f5d4a51db008664fe7dbc2ce34f095158fc07ca5600da56e4123107858dd9825387c3db0775058ea50f9743503b7c5cf7b72e633f96e42fc8d967d21a81dfe295738270c0b6f1e8582c0a807e1ac3bc22fa715003a3cb1ba980bf58a075cf50ba455620b0a07d45f50cab7bca3ce12d0e8057028320637e9a2d81dd584bc2cfe6c63d8e5723b0ef99e14239754aab21f8c280294344c3b7dd30ce0d4c9a75011a3793d751d40c2df3a190292688c8740a242f2735191e73f1b78d510e4a67c5622d305d6631b0785c277056022b4e0312ce1717bbc6c417328940ea922084beb0f66f84d467dd9c0eb1be414e468f62d5b9e372927399cbdaab41f0c5d85d09a95eb9da40c285786377253c640cdf00c4a0564feadd1ae57a336d6ec7e461fb4ca493cd933f6791f491a41b6430757dd86d22017b073d5de00b865e4b6b2c13613c139 -ss = bb711ea4b517003b1b1c893b5a84e52c7e5b85c02703e7e909621a8e3dcfcb6a +sk = 7b174b53307018768556cb04e6621bcd7558aa9c7c9ef9022b561c321a4d1be7b459826a86513bb12873fcbb616323cb1cc83ba8b6bd6de7432fbcc73d7c12b4a76ac59c00bdc431c071993cd32d63c66636337fa8f88697b63acf4a92c6eab4aec503cb352b0e40c2f0920dc94909bdc7b4b26a3826cc8bd03a49481c684fd65348a291379982a0f73e78b59ffc86a1e2b3a79f4a038205ab0c5b705e523b01e022f8a54e2db0b353241b5eaa4e8299ca1b372b3ec10bb128363bf291cf99bc12008bdfec24db711d71f56bd2cc55fdbc223042931fcc51d6d7270d6943d3fc29e44433afb0963bc56bdbd9be6d2a2f28380f2cd420ab844ef32c1e94c00e3cf8c88995ad8d234ad13b2cf45901369835e31b35595c9ea9b8338b125bc2179523328d3be672ec0625280bbfa10814a5ac707f811df3c79ab6966e5bbb8a93b6abaf389bd9a859564c1c223334da1c9cd264cae9b43990209af29c5d5a943de84461c1eb34ddf54339770c38c1b21b5abf691c3540884845d736a5728eb3226a312520d9a51a026a7952457e0f325bdba82a7faabb1d977906b8cb8e91b0034ab07b656944d416a5e9a779c0563f082e604cc673e1478fd5c0ed528373bc5d59394082160414c16fdaf8742a91ac935c322d0668490ba1099976bf908214674b6d7083da2433abb63a53403e35009d8c79ccb88c6704d5a3085bb2fd8c57093c083aa55636410ffc1b6b635b2a8b65a3ad83550fa83a7b1297ca7b1940758515eb115d7cc96e34415996a875d9bdbb0117df107d8f4375e14a835ffb89aed34da8d33dc1a08e7f103c520c48ec3b651ad79198c354330701c04c5878365abad936f8163c7f094a63c43fb793ad98750f0ea9ac18d0bc503b9ff198086e070c76c202882716920c31deab30dbb1c439a03931a6b855ba96cef757460776e8e42b4f86848b019e83667fdb97692b1578662a8d27b8944350864c016275a01062e6924b5b2a4d4454c38b6ebe471cc55981b6085e7f65b3bc6bacb52caa69f3b8e47b6ab0f413d8d138e5c73c89400a9ef7bfa5878155dc6e83b57ad8741f525750707a4731f46a6d2c59e27c013d7834f126719c302c7af3609bd0457173850bac49581557700cc0dcf034aff6b36c2a53a5e8580db101e0f718898cc8cf216fbbe1bc78c8984130c2ea921d872224572ac3dfd0ad0ca32a1075c9c2a97c41635ac9dc7aa2d014dc460115c93fc427c155726830b9cadcd8523c8722c3e4639d83c5898054fc68ca8588c55d89640e5cba32fc3f5cb283f2f9032f2c8dcf3847ee1b67ca698292a99348d194df068db0d46d992aa59a83c08b24017ca1048f77532f22039f92bea7139f1dbba914b10dd27abcd6912a8fdab2ac5c68646ab880554b5512459efac549950270e825e39670f06288a97a5e36a31e61a5257a0534e06c1418593b7e844f6381bf1ff5916be88c697c6a6c1c0b42ca1daba6300106784f125e7fc80a37f08a6889771461ad90938894a54914e2cf759c60b3dca1b86abecad16efed660e4422cae131f827b14b2bc4a7552073ab069365bcec3d3a41b22323fa827ad50793b3186c6a0a7e3b007c892868f18bd62105e220517c0db3057f77a3be29f8e2276a49416737c9990216c2eea6fffa7b4bdc6603aa400cb5675aa5a78458a498056511ad42b8550aecdc4940ab1c1739c33fd07bafbb287ae595fcaca6ea4bc3fa708ad3ff8abb4126d6aa9a4d9572b74cc5567b55412e901ca0c4d5eeb4c9683131522917f0a7eaf56b20d1177b448878b657700ad885cc0134a249970e1ce1ca779196215d104117c3c884c9196f33627d6712a3fc234fe171db342a24577a55c5c68e3a2350e41c14c701b1b01a39d2850b69274b2ca3a20ea2cb444294ea73042939a5a1a9a905856876b0b0e3492b6a328b40a949f1865f54558aa6263789093dea2ae2e8631e2ca5cd2662583b676ed6b4f04a33dc3eb956a963bba0670053c815f3c7ebd153680e98a89d51669947f1ab44f9aba94bb239264a0c6ccaa64c0e2b3fe6212924ca77a8a6b8316a20e6a5df6fa8b3e7a9fbcc54c6d599c4471a36aecaf3868b4b8f034a756020864ce4ba9a4c36cb02f0b4ddc94cc71b9c393ca6237a845b3cc9d80f31bd314cfc85416b2b2a1973714ea163b617347acaf453ae235166cdd8afbffdaaab9919f0cffdc75d8796fcc28f12f3ecad62bd327f1c44ae86c0be6e7f15112b7f6f6d5ec7b13f4dfab7189653390c2faa8e2bbdac1edf5a5b6803bfd3c58dcb1ace60333d03cde2c71737f55 +m = c5d2e4c39ef9b75e3691b929f1618699306802adc2d04bb0219418f7bb0d2b19 +ct = 110d5e463abbd1922ee76c20a0fbbbf0844091ae3a32c45857a1f8470b093cfcea375673245a56301c646ebcc47c39d8257500f898fb69b96788d7fcdb6a4b8e25627235cdaac837ef78bdbb1e9330d352880af50b00f79b9f5112f1dc1ea93e22903ec04af016c4e0b12ed4abda2aceb4a55f908e0e119418f352ee431dc19a0fc761a1a9bffa431d7a9c53d282a586a5784856e5377de59aa7d3fd8cd98e61ab41c9fcb7d9266bc4c38e194feba9df05e9aed9feb573446f2305e7b91a34909c63c69b98c215919aca95795c110eee80383066b9d5cca6d5566f1e67818d685be63330e620d4b5e79fe07a423fe0206c929d5c1cb1f85d3bc8e297765b2dd2245dd08f6ff5bb64943f3b8783c5d151fa0cd57c900eeee3f27c0ae7ab9d4497b5815caaf6cb10d6cb841dacda28a3c4f7a7eb1e43b125f917d163682ff3408061744518894f0387bffb9e47f8847b3ecdd07eaeb7505754b01e266d5f56d4310ae5b5952486c4afb3e890f597395563985fe8bd50f1b0a465040330414f1d2551cbad9e9f4c6f689f6b8e350f34e52fe8219c88909fd7f4a0efa0f54ac11f65052c21347d643d9500283abf89173ebc16273e349fa8aed3cba25c938b262758b9611eb28c1f29154be4778c9409225ed4a6ca13622f1d406f1e263453a7585cd339dea9dd37dee8ca129e137fd09a73f25261b3c5578c4b341e6231bb6106f4306a102b481cfee75318ead99efe9f420f28e8c96d2336a840312537088aeff36b89f9829578d535e1a38fcf11bb91143d6751d34c9796cee9fd62f1f7838253eff9fda03a9efcc096967d385233251668c3a06b18d32d698743ea0e5ca3f1689e3fa2cd6220a05b645f80e72fd7b3b6ba83b91f953860b202b3ffbb6e7b82f7d89c99bbe40192c40f89344b00e3bf9f1c487cfd0c4e100d1ac26d4952efdd8a95f0dbefb429277b08d4a6d660df36025e221190dfbddac77f20eb5f5505a1b48ca9a6a801a7636a7f677da18b8fb7d828023653459f2c94d6cf5ac21673edbc67927c82250241eed40f10db8d9c9efb8cbbffa009f08b102833d14b745ca336 +ss = 3a40a33bad3c29323d7f25906d9be69329acec9b38f55f7d9fcc2c62b69b9e38 d = cbdff028766d558af4466ef14043a1a9cf765f7748c63cc09dceb59ab39a4e4d -z = 8e9a30597e4b52ffa87a54b83c91d12a5e9c2cd90fcac2c11b3a348240411a4c +z = 605f30457945f8b1560010c71b40717fee3264a27ebae2ac8abc16267fb0f3ae pk = 8f31aa78a9043268c7e25b0c43469ed0a535bb9a8d4ecc65c3cbb32bf2361838a8358b2edc1a1ea2fb66cae5070a30080a84a9ff81b3b020ab1df4548e510f03b13cecd4aa32f380172ca85cc8962acb7a51619632b53bf828a7ccec1b65c72fa0f814cd2c101690b769e452e34993b0a33978c19da61b0061f24661f20ea6a566b1d7aeacda859e52cbf32aacbd1b7e1e66b138d2cc613a26996b6ec8d89c63a34a44abcb70772083140fd6519eef107f91983f2e4557a7e21c62179674031b9e7c2edd845188c12b4745b7a68308e1e19a86968a4ca001268132e493a79595989e7b55a9f2ba83ac40c89cc752a97d6d6b6982e1033298445384c5fd04ccc06692cee0007a8481316bc02a724491e469ed7a2f1b809715da8cd130a2cf4c200b168ff33181430cbb5af152c0510e46b9aa8d83060648c2ecfb74840c5110004c25d9164e1a3dd9e181216901b1169a9ae3a760d1ab96c7bfe405c657a2cc1e62c65d99aef490892e96bd6ac08d9421975af70b16d3a12f898528130f30ba4b9b513bf42b2f5be08264a985b2ca61998a2a30030e3bd51200ccb3d0f66d08a677f6236bb951150e29531ec278f3d013bfd0afa81c009d0c78537c62557b7c5c930614e14d9600a9e8ac38f44761460666d4701782390552693b83736e3e340d5671ce0c5128cc991a984630f1f3349fd80e7756abed753226b456c2968efde96de0a924b926ab75bccec5e69b24a42aa34c110d75ab27495c5d4cab88b1afd49a2fe5c02acf3578fa4664934a1049fa7d89f666e2dc77165498ef61c575b4156ff7c2d7aba435870999d62ae36a6cebc66d04ac54bf4cae14c0ae89aabe90f3c397ebcfe69aae0618475e5512d5534f85f711a20a9699c620181acd1162b06e990096f7799f836771a05e56c99d3402599e713fd0b44be0db130ac3079c583bc0ca266a548da0895c1a3c3d1c28385537465df75b055106a215309309820813b3b8f7895d53611061bf796b47ce1019e3aa09a013764ea8ae0573ca62818acd346fe3012319db7d351c073d17b3f377906e484fa7198dbd639e3f98b7f8db37a0c2e966ac7c67b03ef5106f0a751017b67cc52a3d0e1586c74513d2b5f13260 -sk = 96a50005840f5a5a0e8b1083a57c8402a2cfe227ceea80b5d9e175ae3131eb8bafd291a63e01047fb889d2043a0e814dd55594f4274bfd73bf1828bdef5a97c057091e480f3d6a3723467b989b635a7a70617647eb2060e6158a9dac8b40263062d3975bf88b24a1902ad9c72bfc7d6b69adf340cd2691119bdc67d8f5b28fa8894418ab9a0a97d9e9bd40c5741ae0be90735c1c2c140c8461ff507eac55bb16e65e93132105c46575006130c67b500030fe11be78e4a4bee364bd21041a68a676b398c1237a6864b494c383adb4a1bf369e606894be6917cf614934e145f961b3388ac3de939a309373e47a7134b57cdd5915ae98c842b936a1660187427fe771606be8421ed11412f020e722a3f51b6847391c6d77a100fd484241209efc778496236acbb8a00910820154c77916b8b0978ae3193b1aab565a2bd9790cbeb3293e4910d2631672036e60c6806aa676b8866d3284c4b3b411e7d2b4a6a75d50675529e1b4edfb5365b999711763800bba82f66e8f6712ca652cfe0190b46c377d7bb26fcb7f32160cd031c862cc9a0233578b2bb372cb231e0536d3c88f46aba8bed1a4cb6338efd847d2f5c9605359fc2a830476a027d477324a8b15586c2fc2a942b4ce340088e7e8808c9c97e2b91d9e25417404755cc71caec7c5d82c35b3202008c4221cabc0c83084f4b98b0941019be55b4a874b61e20a75ba25ab9baf806b52c52116d9d17d586289cbd40d7bc42dcb672e76382c420336d88b9c3ed690458793c6126a8c20822a7b1591a27a0de3c0ceba443ee754829a471304cc985013eeb453d7b522b365c32d33baa2d362306819e6abac03a0074b632953155a2250131af6bf6fe910d6a75fae56bc75485d247c5278fc50d5465aa67500584bc6fce25eb3b401eee5365d7c6d6bcc500c99c343476bc99cc433c173d6e74ea054adbedc8daa57a6b8a77ce5e105e759057f20a7a02cb894ec8d72424b16d8925f118375dbbb847393712a4d9c64c5f997636aec817fe593b1754bc8f2ac7afa5a6dfa2580513536541e6ccca60bd7a397b49dd34a8f352882612cc39683cf8f31aa78a9043268c7e25b0c43469ed0a535bb9a8d4ecc65c3cbb32bf2361838a8358b2edc1a1ea2fb66cae5070a30080a84a9ff81b3b020ab1df4548e510f03b13cecd4aa32f380172ca85cc8962acb7a51619632b53bf828a7ccec1b65c72fa0f814cd2c101690b769e452e34993b0a33978c19da61b0061f24661f20ea6a566b1d7aeacda859e52cbf32aacbd1b7e1e66b138d2cc613a26996b6ec8d89c63a34a44abcb70772083140fd6519eef107f91983f2e4557a7e21c62179674031b9e7c2edd845188c12b4745b7a68308e1e19a86968a4ca001268132e493a79595989e7b55a9f2ba83ac40c89cc752a97d6d6b6982e1033298445384c5fd04ccc06692cee0007a8481316bc02a724491e469ed7a2f1b809715da8cd130a2cf4c200b168ff33181430cbb5af152c0510e46b9aa8d83060648c2ecfb74840c5110004c25d9164e1a3dd9e181216901b1169a9ae3a760d1ab96c7bfe405c657a2cc1e62c65d99aef490892e96bd6ac08d9421975af70b16d3a12f898528130f30ba4b9b513bf42b2f5be08264a985b2ca61998a2a30030e3bd51200ccb3d0f66d08a677f6236bb951150e29531ec278f3d013bfd0afa81c009d0c78537c62557b7c5c930614e14d9600a9e8ac38f44761460666d4701782390552693b83736e3e340d5671ce0c5128cc991a984630f1f3349fd80e7756abed753226b456c2968efde96de0a924b926ab75bccec5e69b24a42aa34c110d75ab27495c5d4cab88b1afd49a2fe5c02acf3578fa4664934a1049fa7d89f666e2dc77165498ef61c575b4156ff7c2d7aba435870999d62ae36a6cebc66d04ac54bf4cae14c0ae89aabe90f3c397ebcfe69aae0618475e5512d5534f85f711a20a9699c620181acd1162b06e990096f7799f836771a05e56c99d3402599e713fd0b44be0db130ac3079c583bc0ca266a548da0895c1a3c3d1c28385537465df75b055106a215309309820813b3b8f7895d53611061bf796b47ce1019e3aa09a013764ea8ae0573ca62818acd346fe3012319db7d351c073d17b3f377906e484fa7198dbd639e3f98b7f8db37a0c2e966ac7c67b03ef5106f0a751017b67cc52a3d0e1586c74513d2b5f132604cae8b58e0434fb1475312355a8b40145043bed4b269aaddd654d2e562324bc78e9a30597e4b52ffa87a54b83c91d12a5e9c2cd90fcac2c11b3a348240411a4c -m = 6b5a14e1473abf5a33d44975ca2088bd8fa6fddcb3f80e8fd5c45b9d90c24a5c -ct = 91b91bd36c068cf050f86c99341de60555efe68a861a8a1cdede1f03078aa4944192940d2b112c41fd099096b21453560c552e9ab8bd02e0c7a191adfd940431ef1d5cef5b7aa6f700261560387a0396211fab44a85e53f16f9648663ebc404fe1276099e744e0b639b2d2e02098d04cf406fb1527671fc7c5201f069dc75b754b1d58f73e6c6f1789cb7fd0be848c0cbe53f2412ea1cc2136aa4986c048e52a638b8decaf8ea2c3cb94717fc35afdf67ddf0319ec44cf5b7a909e564c6f7caa82d4cc7b7fad69433615f5a11673f04c45cc27cfb8806e22de9fcab3ab76599a0574c658ff6b46e81fe36c3ede03b0eac5e75c6cf51a08e12d97d9d274443d4688017c6d25c9a802411a1e03a0138a7af0d773252bc60f71d8bfa37b5597ed49a2172e57816f440f1d212d9b60d5c3254f087c9c6f4eef5375de7ad36d9264a585187c7f33c6b813ac11e3f1b183e85f39317fcd517a41f6fd5b7d519ea5da42483ae611e4673a724502f6ac76223b20b75408412344313ed23824eb30a13a7054f26855925860019868cc19283081fb6e51302910ac0adb19de0658116f5738bc87782ef23de0e1aa7aa792de45510c0a2ebd001d98742e7f3a850758ef87f03a4660045dc8c3c8dd94b36377e02cf76d50374c30ae2b5ae27a25446a2a6acc1d6eea8f05b3251bcc01949763bbb62f46aa91edcb92647964295d8c6092c89901e0e1d9afa3f6990193960cb2b0cfb2498d7c5edbf61464a56bacd950b615218834c0a925a0250ea05c1c84f658b16c4afbb2ad5b5099edb48edb1585362556faff656c0853a721c9b07ff135bd83e93fafe10ed9ab316241b2f1530168b0a924dc2d5125898373d80bdd94663b430250697eea3a3734a56563ea4374c8c7ebea45c98fa30bc5ec90887bcf79a3e83ded8e9ce6d481c2f3fa6b00d601785d5ed28dff6377c27c2fe7b626c6c53f09459eef59ae5c62eb7575382dad4d63c39cfe705e3bc27cb8a159a9649ba4ad0e4465289e394dc4faf1c36aacee381be92b05569c8c70d13a30e3eafce667f9c8c0e0cae4ec7d3edc513af512dac91d6bcb -ss = 3cf9e85c71f1e4965a26d588d3f2ca74d4ddbf2d83dc15033b1566b7672f0bf7 +sk = 96a50005840f5a5a0e8b1083a57c8402a2cfe227ceea80b5d9e175ae3131eb8bafd291a63e01047fb889d2043a0e814dd55594f4274bfd73bf1828bdef5a97c057091e480f3d6a3723467b989b635a7a70617647eb2060e6158a9dac8b40263062d3975bf88b24a1902ad9c72bfc7d6b69adf340cd2691119bdc67d8f5b28fa8894418ab9a0a97d9e9bd40c5741ae0be90735c1c2c140c8461ff507eac55bb16e65e93132105c46575006130c67b500030fe11be78e4a4bee364bd21041a68a676b398c1237a6864b494c383adb4a1bf369e606894be6917cf614934e145f961b3388ac3de939a309373e47a7134b57cdd5915ae98c842b936a1660187427fe771606be8421ed11412f020e722a3f51b6847391c6d77a100fd484241209efc778496236acbb8a00910820154c77916b8b0978ae3193b1aab565a2bd9790cbeb3293e4910d2631672036e60c6806aa676b8866d3284c4b3b411e7d2b4a6a75d50675529e1b4edfb5365b999711763800bba82f66e8f6712ca652cfe0190b46c377d7bb26fcb7f32160cd031c862cc9a0233578b2bb372cb231e0536d3c88f46aba8bed1a4cb6338efd847d2f5c9605359fc2a830476a027d477324a8b15586c2fc2a942b4ce340088e7e8808c9c97e2b91d9e25417404755cc71caec7c5d82c35b3202008c4221cabc0c83084f4b98b0941019be55b4a874b61e20a75ba25ab9baf806b52c52116d9d17d586289cbd40d7bc42dcb672e76382c420336d88b9c3ed690458793c6126a8c20822a7b1591a27a0de3c0ceba443ee754829a471304cc985013eeb453d7b522b365c32d33baa2d362306819e6abac03a0074b632953155a2250131af6bf6fe910d6a75fae56bc75485d247c5278fc50d5465aa67500584bc6fce25eb3b401eee5365d7c6d6bcc500c99c343476bc99cc433c173d6e74ea054adbedc8daa57a6b8a77ce5e105e759057f20a7a02cb894ec8d72424b16d8925f118375dbbb847393712a4d9c64c5f997636aec817fe593b1754bc8f2ac7afa5a6dfa2580513536541e6ccca60bd7a397b49dd34a8f352882612cc39683cf8f31aa78a9043268c7e25b0c43469ed0a535bb9a8d4ecc65c3cbb32bf2361838a8358b2edc1a1ea2fb66cae5070a30080a84a9ff81b3b020ab1df4548e510f03b13cecd4aa32f380172ca85cc8962acb7a51619632b53bf828a7ccec1b65c72fa0f814cd2c101690b769e452e34993b0a33978c19da61b0061f24661f20ea6a566b1d7aeacda859e52cbf32aacbd1b7e1e66b138d2cc613a26996b6ec8d89c63a34a44abcb70772083140fd6519eef107f91983f2e4557a7e21c62179674031b9e7c2edd845188c12b4745b7a68308e1e19a86968a4ca001268132e493a79595989e7b55a9f2ba83ac40c89cc752a97d6d6b6982e1033298445384c5fd04ccc06692cee0007a8481316bc02a724491e469ed7a2f1b809715da8cd130a2cf4c200b168ff33181430cbb5af152c0510e46b9aa8d83060648c2ecfb74840c5110004c25d9164e1a3dd9e181216901b1169a9ae3a760d1ab96c7bfe405c657a2cc1e62c65d99aef490892e96bd6ac08d9421975af70b16d3a12f898528130f30ba4b9b513bf42b2f5be08264a985b2ca61998a2a30030e3bd51200ccb3d0f66d08a677f6236bb951150e29531ec278f3d013bfd0afa81c009d0c78537c62557b7c5c930614e14d9600a9e8ac38f44761460666d4701782390552693b83736e3e340d5671ce0c5128cc991a984630f1f3349fd80e7756abed753226b456c2968efde96de0a924b926ab75bccec5e69b24a42aa34c110d75ab27495c5d4cab88b1afd49a2fe5c02acf3578fa4664934a1049fa7d89f666e2dc77165498ef61c575b4156ff7c2d7aba435870999d62ae36a6cebc66d04ac54bf4cae14c0ae89aabe90f3c397ebcfe69aae0618475e5512d5534f85f711a20a9699c620181acd1162b06e990096f7799f836771a05e56c99d3402599e713fd0b44be0db130ac3079c583bc0ca266a548da0895c1a3c3d1c28385537465df75b055106a215309309820813b3b8f7895d53611061bf796b47ce1019e3aa09a013764ea8ae0573ca62818acd346fe3012319db7d351c073d17b3f377906e484fa7198dbd639e3f98b7f8db37a0c2e966ac7c67b03ef5106f0a751017b67cc52a3d0e1586c74513d2b5f132604cae8b58e0434fb1475312355a8b40145043bed4b269aaddd654d2e562324bc7605f30457945f8b1560010c71b40717fee3264a27ebae2ac8abc16267fb0f3ae +m = aa9d93a4f2747551ddb0453f9717e1789b64ac9c19ba3da020261936ffaa9ca1 +ct = cb2eee1ba77dc1459d126786822c7baa9ada82978db8ff773b736bc4d1c439f46fe04f0aa78d72f618bc07f9956e5e0e1a74481a01e64cc4d1f5864846261ea0463ed2031e3bc92f584a4b9be719c21ebfb4ed8517289389d3f881ea51265c8a3c0d41870e15eacb48dfdf4250f9dfb97ff3315a6a67ce351fbcd89286f8e1da4ce53b99475a9173556842ad506d5cb66327e4b89652342b5e0e8f77f65b908d5aa6f1d9991bcd0deb3f6a5035669625fe9ab45adac94f2d6d1e977b9fb2f0e8d96643af7f6060be85437664223d744c6741e9e8b107c6a52c50e4a6e3cd2912c4c3c99108f0c79d4a43d84bab799b08bfc2c76a2507c55ead2a77232ba84d914aff82eecd19da700a77b6f60de46e3e64c4797070ef1880d42d9373f54df265dead787a38f9a6a04fb9ee8760753cea3defbe8989c4eadacf1c6fd2375fbb6ba147abb9b0bf6e6e220efa40a18a0968c5ac2124728b502f61deb58310f2f7540c3ce615dfcc2f9185556277d683d6456fcb7bcc529e97ec38a95457a7c726ca58e10ac1661a06c89c7437bffaa1fea124392eadd7736a5efc086c8514c59b2feda9bb32f60b9f0ed21027c93479560fd18e0b50aba1689502239f4831223a8229c1eec6039b2ff6e7f26cd8e9fd5c4190c2a188600786082ca1fc895aaf17fc51b2d96dd94d94937e488bded650fecf80109e3fd6ffabc79e2c064a363b0a8b5750b036391d95bb50e3f8eab9d4392754d9f79e1191d6341c4790ccf1e0ec13c6698c249d95ac8cc8c5161316205c745ff777e1d75bf9f6be99915ff163ca3acde13a1e80b90edbf3d0aabb6d44736fdbffdda9811470ee36e8b3bd3f82dbc716d2832e1eba12524d455ca3df38ca1751cf0b90c340dc7d4ca6b26e95ce0acd2cf7c62c5987ed791e3d26ce094eb4310e04204a634018ab5ba0739a35960df793734de559dd3c32cf14195b49e10f29398b96a2d7241307310a13d2e5bbb24ca48fefb7c215ad9416a8be804f9e62c16536d7b63632b79365835631b0f10049fb77795d72f49a693506e24abf7233f994e77e96a7d339be8c0f5d8e389fe218 +ss = 21df4c9a90dbe7a6e0a639ca758983a24cdd6be6a86d89192c61f57757d9c000 d = 4c04310bea66305c6ca8ba6b8f61ca96257a67663afc11761f13fb5c7b324b6b -z = 8aec87a9a79204cee2986867a2906eb851b734b8b22b91d6749b1a5f07c44e3b +z = 0a8155459118346a84683de346659727da4b64a1050c5271e968ba9cfdf6029d pk = 6693535cba8a70d2410f72cf1b69ca2951579da03b23e997146bb3519c521ff325f9f1a1c1d506cf42079f694f0340abda4806719b8df468a53a92b5bb2629ad0b54799103c0c17936565e30d9272f44a657f190cb92887d4612a517a35e87b24fd314dbe32d99c7758e5458038140f1ca660eb8c1e813822f52865f6671cad74ff478514f87afbc4187c0c12a4f388a63613d592c1dce237d13a01ee6db54013590dd91078b23bada249fa57a91c0467daee45af38440f008c446b6503b94772427a5b9d044a3950377c2ce8a010c9f59ab7e27aadc49baf10521d7b11d3ed707ca2b377912c131484c5e94cacaf88595c711599c081808681c6609227648033011fed686c9a2121e724346426108a5c514306717224f5928063549b268d87ddd91a79ccbc42f884f39d097e6246266173a79c68896235619928faa907d93226db05157319456dd06564f364e8ab68aa1fca43bc419425160a6960ffef152ffb85f24358d2bf3c375888fe8f7245225a27bd710efba2ff73901c1f080f6064c44ec982716b0fc7a88aa41532a99420c8b52328b76baf58d1fd6a652d7ca5d4abe930915d7751fc7b1094d4757fb0baf1aba40d0d443f60cae0d5b19bc4c705567a602402d18c546ad9b8cac337ccf4a0c1a23467e75ca55090ab4435446b9737902a73c69cc86d050a8c11fa928257c5774d3f74547016995633f7c564dd4c962f9865fe78347d8d0a5eb449f6a046bfd6028fb1185ffc86e722239cd3bb19fcc117c34658f00b10914989cc24545e615fa824742a1814d7642ddd21e2a89194d13270835799e23ce97f25ca7bb82bf096358916d73c73259853c37d814425b37e9c67f5630b408785290934a70448132c653afec782a478920a085c46823b960ad795674b937053543b80b98c52fa29961380a8360034674852d151a8c1393fd0c97a0b94695b8adc652ad1d3c69764387e75b1038921fd53171fd43657fba4c919411161004b4db2e079541af110e166ccdf2b77a8709028b18a96e015f13fa6142c63e71f73236d227e36b7b6b6a8e8a56cfec8c46746a50b00a95705bb65e8095765ef7a13bd38f9fed3bf36477916cb802690a213c83f6624a067a5e2c -sk = f8d65394e770f5185b92393b4f673a030a0740d3ab2ebb263f7561f1ec5b91160832bbc444834f67ac57af33abbce75f31a8bea234af52665997137caad53ea16721e26172d05930896c9b6034680bfb74af68969c8c51dd983a778040fc7c8a14ea792db54d380cba826cb772a654a496ccd3e983642997ea9253c15c958ac162a6ab5a80956ce4e3be95fc9c06a98cabf235c35475fb58ac9e3641c208a0bb481f6c722c0d5b983d8b1f792b71cda7a69db9c0c00ab4c0f0375da298078417a618065f808419180961aa5144d66082b2aaeef26b8b55b14bc395a821c2e87805afc07bdf91874eabaccee0448cdb208f139a0f4c4b2471beae5597789c1f89a988263b8aae549bc13218eb64a5b0ea62a39b0927667f302a277c769cc0e28823817e32793350a83f9b8b2a3ac8153ce6843d65a7fcc75493d414f7c98ce4c583cb66cbf701cceee96771d2c5f94323ae2365be9ab783365b2d5c97a318cd7a4788abd4bafd31a3f19363d4e5bbfc996c2dc7b82fb98ba18070d4b014ee1854c12250b3d18157112838a58e005b3c9ac59fc8a65bd1f281fe7053d3664585b69015f74b16187a5d19cd26c503d0b2bc3ae32799d97440bb3b60c40f0f7c4506c56ff95513ef8b2b7df33a4d3a1388cc5feb44aa208aad6cc972859b15e10541ae29c2234a904f6c6a8cd449c5b86897ec5978b4cd84f189d63a072c7ba846a0884db14826743921e13ea5e105736c2f84c50dde9738a4e9588d22b296fb13d57c4347868c7e4394b5f76af2c18a90dc7491d6a5d510a75a198848737b7ef45970387a29b51c45b5623e9b4eb2a3414a1c285bc866729a98fcc08e3dd31567d63e7c57437f5a90f9ec35fcd74050858825781cc6d5a2ad5608a2d063c8cc369e6a7c0f7c7eb27ac433883a5946acdba84fc32872cf689fcfb50ba6e894185c973c196ddcba52252948c7e159114a23a242b2f5d0996edb7f2cb93408b9cbe68298f8455af632275202c6b2e1370c5c9d1f6403c1a7832343ac2e524709268f06eacd753250486025b691b9235bb2cbe833e0b6086c9959f716b9a8d30cb840b06693535cba8a70d2410f72cf1b69ca2951579da03b23e997146bb3519c521ff325f9f1a1c1d506cf42079f694f0340abda4806719b8df468a53a92b5bb2629ad0b54799103c0c17936565e30d9272f44a657f190cb92887d4612a517a35e87b24fd314dbe32d99c7758e5458038140f1ca660eb8c1e813822f52865f6671cad74ff478514f87afbc4187c0c12a4f388a63613d592c1dce237d13a01ee6db54013590dd91078b23bada249fa57a91c0467daee45af38440f008c446b6503b94772427a5b9d044a3950377c2ce8a010c9f59ab7e27aadc49baf10521d7b11d3ed707ca2b377912c131484c5e94cacaf88595c711599c081808681c6609227648033011fed686c9a2121e724346426108a5c514306717224f5928063549b268d87ddd91a79ccbc42f884f39d097e6246266173a79c68896235619928faa907d93226db05157319456dd06564f364e8ab68aa1fca43bc419425160a6960ffef152ffb85f24358d2bf3c375888fe8f7245225a27bd710efba2ff73901c1f080f6064c44ec982716b0fc7a88aa41532a99420c8b52328b76baf58d1fd6a652d7ca5d4abe930915d7751fc7b1094d4757fb0baf1aba40d0d443f60cae0d5b19bc4c705567a602402d18c546ad9b8cac337ccf4a0c1a23467e75ca55090ab4435446b9737902a73c69cc86d050a8c11fa928257c5774d3f74547016995633f7c564dd4c962f9865fe78347d8d0a5eb449f6a046bfd6028fb1185ffc86e722239cd3bb19fcc117c34658f00b10914989cc24545e615fa824742a1814d7642ddd21e2a89194d13270835799e23ce97f25ca7bb82bf096358916d73c73259853c37d814425b37e9c67f5630b408785290934a70448132c653afec782a478920a085c46823b960ad795674b937053543b80b98c52fa29961380a8360034674852d151a8c1393fd0c97a0b94695b8adc652ad1d3c69764387e75b1038921fd53171fd43657fba4c919411161004b4db2e079541af110e166ccdf2b77a8709028b18a96e015f13fa6142c63e71f73236d227e36b7b6b6a8e8a56cfec8c46746a50b00a95705bb65e8095765ef7a13bd38f9fed3bf36477916cb802690a213c83f6624a067a5e2cb899475c1802b1dd76a9783d93b4225dc558eea558ddc598cdc45a898b7bbfb38aec87a9a79204cee2986867a2906eb851b734b8b22b91d6749b1a5f07c44e3b -m = 40e593754e6eddb7f9cf176ba2d5fd1087c90ad377556d0b0f686537b1a3165e -ct = 2518bad0de4dfa29228047f263ce666d43472a43cccea01b7c61ee120dedff531a864e7f63f16b461c0ff18ae7e551a8784b6a44e2d3befe2b3b994ece1a94cba8f846fd756eb94d088c999e73c96c3d16a74aea53eaed6581773cc8bcc08cfd3dc2ea05fd0118495aaa20f387933258e2ad208b36037d49565c0b3dc8704580f6bbfde68bd784dd1091a99c5c56a555ba1d94f3c9c508de1f47fee09539a28bc73f3c6b4bca2a2ad51470cddd36499cd0ebfcc1551fbcd36e0053715ee7e135882dc1c3dd5429bb77d93dc48fdf2d9b48cd9ea73618ed6a7c6a390440677d9c1c9b1e32160f02ac939714c68756738d9a73ed48b2cd1adf4d87971c0b4a5ff2dd7b4d6f61416063675f61cab95b7bf8fed6dc45154e90096f69ee41c787f910cd54d7d8d25028b95a1303c59feaf8eaf5d45a27b5679240d4c22b38b3c89dfecde17304c9ca3e3df083a86cbe297a695f9d00cfe75a91fe2033acd4797d041482121e32e1bccf630552afa9eb6f4f8ced9ede3ad2a1ac728796624cff48b0f0bb4dfa0deca016e4c0a415e74b9ae978e984c2fb6db446e4c1e0e7511b6ae7ea208b7e55a8bd38b0e85cbb7722574f66afdec0ccf36ac72d7579ef88f7b06d5054f46f5403c7ea67a45a7ae720cbfe927fed4d065152196da88c033e082cfd679f72076a63ec9cfbe4f3716d9cbf0c3b6f393a0747cc5c10ffec4ae4c30285da51048d5fe41b5569caf3de165205677aedda9a55d3b179453facdb3fd64f353bf31762c960a4e6f2859bd4d0e6f47422cea3939bc7804b8d257684565e535b362a878b0b84b35804896be08e60a264ecda516bc73df212db86e980e83d76d027a103eebd4042076474090a3f741cc7de6e340059f60471885b5c03cdfaf77e0bb6598ad46cad432135ee3f687c65a198e0a5c40b54cfea967cc922e762768103ae867ac25dce0950fb6a599bb9bf41ea0e276948bef7fbe9781d96c6ef0bf9d2f4337c546451c9531ed8809d178a01979208f3001bc8b93df98938cf21a36a85930cb3dabec1774e6962bd214695ffa4becb573920891e8bcf2c412131da8d81 -ss = 82b4f6cf697d27168ad2a66041f86c6586494c39db2ee32181970ecd82a1cdaf +sk = f8d65394e770f5185b92393b4f673a030a0740d3ab2ebb263f7561f1ec5b91160832bbc444834f67ac57af33abbce75f31a8bea234af52665997137caad53ea16721e26172d05930896c9b6034680bfb74af68969c8c51dd983a778040fc7c8a14ea792db54d380cba826cb772a654a496ccd3e983642997ea9253c15c958ac162a6ab5a80956ce4e3be95fc9c06a98cabf235c35475fb58ac9e3641c208a0bb481f6c722c0d5b983d8b1f792b71cda7a69db9c0c00ab4c0f0375da298078417a618065f808419180961aa5144d66082b2aaeef26b8b55b14bc395a821c2e87805afc07bdf91874eabaccee0448cdb208f139a0f4c4b2471beae5597789c1f89a988263b8aae549bc13218eb64a5b0ea62a39b0927667f302a277c769cc0e28823817e32793350a83f9b8b2a3ac8153ce6843d65a7fcc75493d414f7c98ce4c583cb66cbf701cceee96771d2c5f94323ae2365be9ab783365b2d5c97a318cd7a4788abd4bafd31a3f19363d4e5bbfc996c2dc7b82fb98ba18070d4b014ee1854c12250b3d18157112838a58e005b3c9ac59fc8a65bd1f281fe7053d3664585b69015f74b16187a5d19cd26c503d0b2bc3ae32799d97440bb3b60c40f0f7c4506c56ff95513ef8b2b7df33a4d3a1388cc5feb44aa208aad6cc972859b15e10541ae29c2234a904f6c6a8cd449c5b86897ec5978b4cd84f189d63a072c7ba846a0884db14826743921e13ea5e105736c2f84c50dde9738a4e9588d22b296fb13d57c4347868c7e4394b5f76af2c18a90dc7491d6a5d510a75a198848737b7ef45970387a29b51c45b5623e9b4eb2a3414a1c285bc866729a98fcc08e3dd31567d63e7c57437f5a90f9ec35fcd74050858825781cc6d5a2ad5608a2d063c8cc369e6a7c0f7c7eb27ac433883a5946acdba84fc32872cf689fcfb50ba6e894185c973c196ddcba52252948c7e159114a23a242b2f5d0996edb7f2cb93408b9cbe68298f8455af632275202c6b2e1370c5c9d1f6403c1a7832343ac2e524709268f06eacd753250486025b691b9235bb2cbe833e0b6086c9959f716b9a8d30cb840b06693535cba8a70d2410f72cf1b69ca2951579da03b23e997146bb3519c521ff325f9f1a1c1d506cf42079f694f0340abda4806719b8df468a53a92b5bb2629ad0b54799103c0c17936565e30d9272f44a657f190cb92887d4612a517a35e87b24fd314dbe32d99c7758e5458038140f1ca660eb8c1e813822f52865f6671cad74ff478514f87afbc4187c0c12a4f388a63613d592c1dce237d13a01ee6db54013590dd91078b23bada249fa57a91c0467daee45af38440f008c446b6503b94772427a5b9d044a3950377c2ce8a010c9f59ab7e27aadc49baf10521d7b11d3ed707ca2b377912c131484c5e94cacaf88595c711599c081808681c6609227648033011fed686c9a2121e724346426108a5c514306717224f5928063549b268d87ddd91a79ccbc42f884f39d097e6246266173a79c68896235619928faa907d93226db05157319456dd06564f364e8ab68aa1fca43bc419425160a6960ffef152ffb85f24358d2bf3c375888fe8f7245225a27bd710efba2ff73901c1f080f6064c44ec982716b0fc7a88aa41532a99420c8b52328b76baf58d1fd6a652d7ca5d4abe930915d7751fc7b1094d4757fb0baf1aba40d0d443f60cae0d5b19bc4c705567a602402d18c546ad9b8cac337ccf4a0c1a23467e75ca55090ab4435446b9737902a73c69cc86d050a8c11fa928257c5774d3f74547016995633f7c564dd4c962f9865fe78347d8d0a5eb449f6a046bfd6028fb1185ffc86e722239cd3bb19fcc117c34658f00b10914989cc24545e615fa824742a1814d7642ddd21e2a89194d13270835799e23ce97f25ca7bb82bf096358916d73c73259853c37d814425b37e9c67f5630b408785290934a70448132c653afec782a478920a085c46823b960ad795674b937053543b80b98c52fa29961380a8360034674852d151a8c1393fd0c97a0b94695b8adc652ad1d3c69764387e75b1038921fd53171fd43657fba4c919411161004b4db2e079541af110e166ccdf2b77a8709028b18a96e015f13fa6142c63e71f73236d227e36b7b6b6a8e8a56cfec8c46746a50b00a95705bb65e8095765ef7a13bd38f9fed3bf36477916cb802690a213c83f6624a067a5e2cb899475c1802b1dd76a9783d93b4225dc558eea558ddc598cdc45a898b7bbfb30a8155459118346a84683de346659727da4b64a1050c5271e968ba9cfdf6029d +m = 8af3dbb32af8dec4843aa90bbf43a5f13686d9738911a805c62636c111b2e140 +ct = 9c0cf3916ab48915940d65e4ba9d39ad1bd7ccdbff23e10f523b7da3579aeee0821f788d83ff95f061798a5ee7308cde4299321824b1fb40fbd3283a3d5632729f9fb3b67f1ec08a1fccb62f6275b43de92a515ca7f8c3729ed3ce7fd327a75b22cb74a8a9e54b1157a7c4435686f035566d7fa1404f95d2f05b6b05e21363d30efc2fd99ec365eccbd52e69266eee64d607edbd9302fdb47caf6ded0360eb82eb9e4ba2573083bca54a9774a368040200bf0e4c9bad7d31c245c27e6947ba7ccc5772ad14070d920c613a1709f9d83f0488181ea6c5b94efc34e565fdf8e82fdbf9777da2354c7fb7cc716c78a4e8982c447517da133b7c3772c65dca679ab5d85561df8b55390ef74a2813118b19f107fd8ac6e8affa40ee7940a5cf65438f26cb44c72ff633cf1f127f78b42c7c70d28a294f8a95427062c3444f79c471dfbd4ae2e03bc571d914636a0434f881c30fbff19d316cea3a943900326dde46c231ac5d12adf0d5d0e3153550b581daf3e61a5db58878f6172e74fa42f896ac36561f5c351df7b023d2f980c8cf0ec2ffa0d12b42535e0266c0995d6086a6f76d79c7fd42ae44254458f19f98b418e97448a37ac28df4a2a3efa5ee78a6239dd726ef219bf86beb393814248abf1efa3609b84315eb434d95f6c190c55397a932bbc2857a4c0d9bd109af6fa7585e6626989f5180479952febf3f7451d4210278d06d327fb945d5afcbca0151443469deb07ae61d1c560aa73ebbd241f4cbfea7f78a62f46319631152b86dc5f9f0c6cefe1ed6e8a6845d5ca5c1c84122a52a1a74cc11b56ce157878413647d730853f2f5653b5617523254c0c1643778895b62c0de99cbf131753043a4a5ee54cb9b156322e5cb8ff24f9030790030e6d094d0fc7363381e967f1c4074b075e747ae4d630d6215c5df1354ee082888c9fa275acd09cd758e1a6965958255fe05eb0e621189bb35e9c4362073e2e465d9a0baee72a5955ee7e55f42daaa940e9622db73a6ea5cf81f3ee1bfdb6dd5db5585b19e87f6f8d1176520c3af1ae7ab7293e225a7d8b80d0f8c58db4413c536d7e6618e +ss = 6df1bc992d460a439e5b87f1997d98a3839ac6d7b30b4e458ebdb4537fcb3def d = 38a0d5f41d7dc1896efd1b45b0485634cef149828751b96087a0a6dd81b4d58a -z = a2acf359556df4a2abaeb9dcee945829beb71185b4d6bd18b76e5668f253383a +z = 08ad5bf30d584ae9c8425ab3c8f1fb9960752721cb2c8310cd7bac84808bb979 pk = 3883135665ac3d6b0e710204689c2616487bf51295c5010347b4663b914bef02791a147c20574f1dbc7065e7b2a930236a99304b6529e95b9eadea48fa5490fcb8c59e6b5fbfe5522bc057e3f9aab8e7aca680cd620310a26bb4309a2f2c4c56226114f8ab63de71b74971197d6a52308910188b603ac8523493a751a1cdfd441259b03f5d140f862cad7a794307aa31cfc4624f2a740552266b22240e631638c2c17492adede14997d95e4890002110ce40fa83f416a2ed06806cfcc49bc9a1599512db09362aa01650f7cf56290d2e85424812cbc009afd5520da63b30dd814e25bb1f974b7f3f77c38c638e1943beeba234736a029342a13aac8d21da0747f41b217159869bbda51885ea9b0a99abac1b740ebf40cadc78a6fbe93076e214031264275c3d56486efdc00e9f1ab1d3bc98963c908ad13268d9b068cc2ad5c36f68a11281da7b2c325509383e71d098c22a1de3c3065f1082087338b3ab021b0a3fb2b5cbd1b29f7b3b7d897c8c874b9d71d34dd60bb686b99c82750527704a53c737b157a6c98a148ad0727d13cf770b038e9a275e568b19cc2bad360c958c54900c59b4bb69b8341362ac7fb589ca96f563de54a46d3c02c475788351c5ffccbda1998a87d7a27301095ac8577cb84c0a4a244cd8c544f4bc7b68cf02a99d9af90bbb42a1ce63740ea784e665882c6aa1ae151501e560ebe9116fa9cdfd749153b7310e1583feebc2856384923200a811b2c0f71c23076de6590a89b6b6114316eaf80c90480c1ec1c131990637765fb17c2b0cb1ca1c03a3461bc2c8534b35493b3dd3c8d7b6816d8127d192a6f7d79e805283e3e882e8120aad321bb6a197fc60cf443ace984510bc59c8ba832699c8b145bacbc090965ed08785f72d24f4b9ba70c41ea79c91591b2295cc5903b29e04bcf3566c9b7c001ada05744605f1845f3e13bf9f22744659b2913b2489b073b6f01765c756aa494a41e44b599719ef5968853c0896425085d75cbaf73abe304025ca6006858ee7c1c9cf0067b576c168651e3fdc9b9d978cb1c62354094faca0a4adb426c157166f08034cd4025a63a8610db945708cb5425ce0c3c651532a43d32473f236519d54fdfe0a815d -sk = 5b013906459962532f06782c95fb2823a230d9610966b0a13d245562e73716a0216f566c8615848b7a481b405314c79cb5b8727408310a447e58d12a9ba69831c5a32828621fda3424b9cab229aa50716cb4b0499c5a4041eb090205131baace04c31f0467b80a663f74ac1e51607fd5d4c8d3b02d8706afbf83b4db3c8f6a72a8a61c9056279ec64c3de62378d01c2b7352357675bfa3b659f03314598611e9437e73bc0d7a7b15e9076213c77d08478d00e10fc15c1a2cb37e3b89930c9342605515b3c88b8a06062a372f8a6448a984aaf45168d891c5f0f4ce5330152459a82fa92c4127a5313b421ac4693b0bbc1d5bbf49d16a69e9482a37c42b07432fe405c218a08a5a22f00a443f258fe738cd8e54626324c6026993052439a0c47e3bc4849216c3340a7621826a778623866849b250bf25a6a28ec6a7f69962f3352bdb216d306423406c946f9b2bb211052706bc6a649dfea411e2061c9f21441ddc8628b69c4529764ae16bea89470f8407faa00bae8715314366bcb797887bcfc57c2cded27cd8089ab564576be95e014330c804673507899e7c6c98441bed4258f439c264c87becf0418fbc9fe87338e909bf3a1897c8c151b0305e1729000e93b92b40a658b871e0da0827a93d39a5a0f6950049f315fcc09843673d3efc140f9551057b5a9fc55c9fb7839084852d677c8dc35e01f7a3f45a3a61c28a38a685b330b8e0675abe736214661dc59409e31b711a6c6392ac1d50ea9da3c845ad678f38b1ca8e313d4819c75c08231ff38ba0e4c33d69286880413d5c77f95b52d54045b44b5c0c453c5c6007a8a561810289b8d192cb5846ac273e4e7420e96c6a8ef78b89842fae3a365b426c99c49acbe24a86bb7cc89759abc94e727b1ba55a5a539c2ec4879e3c040d3d5808ac05b794a46e20f67a5622235e11773b991f9ec55ac598bcfc365b1201008bf0caa360b1ce7121c9304f4629bc65041a6902390f8a5c76d6ce4fb6b357020340327b861b3148743a4eb455b66762e499694f558f19765d6db32b7b075ff6a6c3f49622ec482688964804a6158fa08be2873c3883135665ac3d6b0e710204689c2616487bf51295c5010347b4663b914bef02791a147c20574f1dbc7065e7b2a930236a99304b6529e95b9eadea48fa5490fcb8c59e6b5fbfe5522bc057e3f9aab8e7aca680cd620310a26bb4309a2f2c4c56226114f8ab63de71b74971197d6a52308910188b603ac8523493a751a1cdfd441259b03f5d140f862cad7a794307aa31cfc4624f2a740552266b22240e631638c2c17492adede14997d95e4890002110ce40fa83f416a2ed06806cfcc49bc9a1599512db09362aa01650f7cf56290d2e85424812cbc009afd5520da63b30dd814e25bb1f974b7f3f77c38c638e1943beeba234736a029342a13aac8d21da0747f41b217159869bbda51885ea9b0a99abac1b740ebf40cadc78a6fbe93076e214031264275c3d56486efdc00e9f1ab1d3bc98963c908ad13268d9b068cc2ad5c36f68a11281da7b2c325509383e71d098c22a1de3c3065f1082087338b3ab021b0a3fb2b5cbd1b29f7b3b7d897c8c874b9d71d34dd60bb686b99c82750527704a53c737b157a6c98a148ad0727d13cf770b038e9a275e568b19cc2bad360c958c54900c59b4bb69b8341362ac7fb589ca96f563de54a46d3c02c475788351c5ffccbda1998a87d7a27301095ac8577cb84c0a4a244cd8c544f4bc7b68cf02a99d9af90bbb42a1ce63740ea784e665882c6aa1ae151501e560ebe9116fa9cdfd749153b7310e1583feebc2856384923200a811b2c0f71c23076de6590a89b6b6114316eaf80c90480c1ec1c131990637765fb17c2b0cb1ca1c03a3461bc2c8534b35493b3dd3c8d7b6816d8127d192a6f7d79e805283e3e882e8120aad321bb6a197fc60cf443ace984510bc59c8ba832699c8b145bacbc090965ed08785f72d24f4b9ba70c41ea79c91591b2295cc5903b29e04bcf3566c9b7c001ada05744605f1845f3e13bf9f22744659b2913b2489b073b6f01765c756aa494a41e44b599719ef5968853c0896425085d75cbaf73abe304025ca6006858ee7c1c9cf0067b576c168651e3fdc9b9d978cb1c62354094faca0a4adb426c157166f08034cd4025a63a8610db945708cb5425ce0c3c651532a43d32473f236519d54fdfe0a815d1a7e0760c345cb5875303e20e4c72076c794e56ab75231750a190b45f374d979a2acf359556df4a2abaeb9dcee945829beb71185b4d6bd18b76e5668f253383a -m = c152523abd8248bed40c3827bcf0f8e8127037a55c780695e2c28ea3e041a44c -ct = 47ff90ce4ea0c3d9c0e803ca5683511b1e57563b54116ad575bf2ea91bbdff54dcc9aca902461f0456666f5814b6d56865e51b963a314e85a26ee7b99e1197f8e34f407510ba1e10b22807d5c1b9fd8643810e9adb3c4d0479cdab6b7ca6103c695906dde1cfefa290c86b0736ee21c588f032990311881d146d089976fbde8f188104a9a2e1bc9515569d6f8b2dd548eadb1567f63f23b51c5f7cedfe42250e6631d34c526d9146bea9124590b2e58c6eeddbbbc21e7f6beff7148bf277b2876a66441fb1c1315f7de065c651480babed546141c970f022051b058e22157c8f7bd9a790333259f6033b983f26e73d498d5ec6a4e52f0881329fca2d5b68215f7af3b7e4b2039dc219339bf07f6bf8673127d3faab668697c20c714f33eeb6f50bb0ceac55c3768ac227977972166dcac4a341d2fe071d7167b7d10649e6b2c3daab93c3cda58415ef01c9213c9e60979f610fbf5719ec56f132b76d3d064b7254598b65a36ef93087aa495414158d974b86d98f11973c6b63994c4116f93b8972258371c625da1ba335d42f509a07bf5058ec7900b4de14c707ee3e5b96043b6f859993b6fa5057dc151a03ecc1e6b775e4e0b442317395b1304237e319f10806de1834510f903cd7aefc2f31adfecc084c3c2b71c43eaac45a5fc6535742ea08d1f4568751022369944b9cab7e72d107501184e729ad6100f0eb9d905bce8a6566e32babdad552eb30bd5d3bc77e4bf9a71a9f16c84d2053080b57812284fb76d5dabcad0705011874d87efc945af323d17b5d3b462ade882a9d108a2e0cb6bf75347090b554196ec9869c9248440116870e736c5aca48fad18a58ac80283acb018fb4f04fa0837235945f77572cc909a7c0c06e187760f4d52a39502d796ed45557dcdc7d3ca9703352a9933abe1f3a6dfda645a2e28d287ec943fd873f9b28e05ee7402f51941bca3682447552122ec6bd5c0a3761539d40742f1a2662c58416bc94693c04ff77894ce15fc9e5ca34393455df25b1ae9bbddbc253b272132523d8a69e102eb116c2e382ed81cfa7c0780a5902f682fe33840a6e2d90769d -ss = 0146eef9ba45c59a7915db7431f20308f6b230a5a459540261a5be425c84cb56 +sk = 5b013906459962532f06782c95fb2823a230d9610966b0a13d245562e73716a0216f566c8615848b7a481b405314c79cb5b8727408310a447e58d12a9ba69831c5a32828621fda3424b9cab229aa50716cb4b0499c5a4041eb090205131baace04c31f0467b80a663f74ac1e51607fd5d4c8d3b02d8706afbf83b4db3c8f6a72a8a61c9056279ec64c3de62378d01c2b7352357675bfa3b659f03314598611e9437e73bc0d7a7b15e9076213c77d08478d00e10fc15c1a2cb37e3b89930c9342605515b3c88b8a06062a372f8a6448a984aaf45168d891c5f0f4ce5330152459a82fa92c4127a5313b421ac4693b0bbc1d5bbf49d16a69e9482a37c42b07432fe405c218a08a5a22f00a443f258fe738cd8e54626324c6026993052439a0c47e3bc4849216c3340a7621826a778623866849b250bf25a6a28ec6a7f69962f3352bdb216d306423406c946f9b2bb211052706bc6a649dfea411e2061c9f21441ddc8628b69c4529764ae16bea89470f8407faa00bae8715314366bcb797887bcfc57c2cded27cd8089ab564576be95e014330c804673507899e7c6c98441bed4258f439c264c87becf0418fbc9fe87338e909bf3a1897c8c151b0305e1729000e93b92b40a658b871e0da0827a93d39a5a0f6950049f315fcc09843673d3efc140f9551057b5a9fc55c9fb7839084852d677c8dc35e01f7a3f45a3a61c28a38a685b330b8e0675abe736214661dc59409e31b711a6c6392ac1d50ea9da3c845ad678f38b1ca8e313d4819c75c08231ff38ba0e4c33d69286880413d5c77f95b52d54045b44b5c0c453c5c6007a8a561810289b8d192cb5846ac273e4e7420e96c6a8ef78b89842fae3a365b426c99c49acbe24a86bb7cc89759abc94e727b1ba55a5a539c2ec4879e3c040d3d5808ac05b794a46e20f67a5622235e11773b991f9ec55ac598bcfc365b1201008bf0caa360b1ce7121c9304f4629bc65041a6902390f8a5c76d6ce4fb6b357020340327b861b3148743a4eb455b66762e499694f558f19765d6db32b7b075ff6a6c3f49622ec482688964804a6158fa08be2873c3883135665ac3d6b0e710204689c2616487bf51295c5010347b4663b914bef02791a147c20574f1dbc7065e7b2a930236a99304b6529e95b9eadea48fa5490fcb8c59e6b5fbfe5522bc057e3f9aab8e7aca680cd620310a26bb4309a2f2c4c56226114f8ab63de71b74971197d6a52308910188b603ac8523493a751a1cdfd441259b03f5d140f862cad7a794307aa31cfc4624f2a740552266b22240e631638c2c17492adede14997d95e4890002110ce40fa83f416a2ed06806cfcc49bc9a1599512db09362aa01650f7cf56290d2e85424812cbc009afd5520da63b30dd814e25bb1f974b7f3f77c38c638e1943beeba234736a029342a13aac8d21da0747f41b217159869bbda51885ea9b0a99abac1b740ebf40cadc78a6fbe93076e214031264275c3d56486efdc00e9f1ab1d3bc98963c908ad13268d9b068cc2ad5c36f68a11281da7b2c325509383e71d098c22a1de3c3065f1082087338b3ab021b0a3fb2b5cbd1b29f7b3b7d897c8c874b9d71d34dd60bb686b99c82750527704a53c737b157a6c98a148ad0727d13cf770b038e9a275e568b19cc2bad360c958c54900c59b4bb69b8341362ac7fb589ca96f563de54a46d3c02c475788351c5ffccbda1998a87d7a27301095ac8577cb84c0a4a244cd8c544f4bc7b68cf02a99d9af90bbb42a1ce63740ea784e665882c6aa1ae151501e560ebe9116fa9cdfd749153b7310e1583feebc2856384923200a811b2c0f71c23076de6590a89b6b6114316eaf80c90480c1ec1c131990637765fb17c2b0cb1ca1c03a3461bc2c8534b35493b3dd3c8d7b6816d8127d192a6f7d79e805283e3e882e8120aad321bb6a197fc60cf443ace984510bc59c8ba832699c8b145bacbc090965ed08785f72d24f4b9ba70c41ea79c91591b2295cc5903b29e04bcf3566c9b7c001ada05744605f1845f3e13bf9f22744659b2913b2489b073b6f01765c756aa494a41e44b599719ef5968853c0896425085d75cbaf73abe304025ca6006858ee7c1c9cf0067b576c168651e3fdc9b9d978cb1c62354094faca0a4adb426c157166f08034cd4025a63a8610db945708cb5425ce0c3c651532a43d32473f236519d54fdfe0a815d1a7e0760c345cb5875303e20e4c72076c794e56ab75231750a190b45f374d97908ad5bf30d584ae9c8425ab3c8f1fb9960752721cb2c8310cd7bac84808bb979 +m = ad44643a608b78bece50b8309f573aac3da68125ce877e8bcbdcd51762aa0a9e +ct = cea8f972f17519cabe7b38d1f20d8933565a46fcdf592082805b63562c4612335fdaf4ea7a64329e614b3555002207db6a6336eaa9e15db759fc38c2c38d0922479e71467e65f4ee1ad7b8d011573197ff74a7189cc466d4db722be2db0cb7fc2028a45397dfcc614626a80016f49f7b36a3642114e767cd8795b922a7f3f59f10cca0c81bb97520c0b4bcb63f86d68d260c0cb8dacad9ca68ea3d9ac9c3bb36184e4883e3afc07daa3ef2517b6a3ba33f276ec5d37cd9acb6ec8323aa59c6a06b7cae24e47e7041909f7fc96a789d36870b6ee157b1315a36be55b3f233772b513fab5a3cc4fa7fc4507a087200654ec577e50ba9ef96fa5a6e359a4fc0af22dd1035134b0267d3121d1d2efe0c77ffe1f5c8c6cf207148f7a62a4ecb68e49274e51e86ff0708b77169059b48a031d45d764adccc840a5b92a4d083fa901810cf2374056228216844b483c717cdbd19d06b63b0f81e3912110b79acc7d467030d7883d593f2aa0799f1cc184af84adfb86255a5df5e2c6f257371897792f853981e950c9aab3d5375b7d7d7eabbf1d46cb60ad1f163218b138acad981b619e4ae6c78bd37c47d68951c92573e46277106a0be89b0eb0eab98acca7d24a806fc55153200da77732dd8e881cbb09293b028d6c8c3392bf3c2b8555b2f46dafede467b09eb122555d2796a450aa36d8303f465d28d9a207b36866a7c2bbc546358670083af90a98c7d8101042d12f031cb8fb186f7dc69c385fc5bc2d6bd932d1082511d870055ca830b9efc584a705433f97afe4b78263af8d5e558dd5f61c0c7dadbe689661da4d9a1cdef7f27931b597820a625e8ff67530b139ff2fd69ea69897be48401bb3865f69ced71737aa43f338c9d43b55d2a71e4ea43664253ea1a88f85b03f5507dfc54ef96c6cff6cc227f22f93410859c18c34bafeb24ac65e54cd06c7c3fc01138acd5cb28601c5fd68a67d5a3dd97a6f79612826e280130486dcf77a7210ae620c782a776f059c439469815bfbbdefbcacad42182e7e0c12c7cd668a4ca7c49e5b0e98a258bc7e81a37488be16d106e46f44db00a2549f309 +ss = 6f23a2868b6d7be9268fb42c937cd59a4ac22c9dbeb8ada8a3e5544856fee6dd d = 97b5665676e59e3538ebadaa8cd50df1f9fda1502d9894c616a946078e56b621 -z = df05318b5f655efe36f1b678cf4b875108a18db2fa312261caf839f84bd956c5 +z = 48b1985fd7938595dac8ab776701ca1e9fef47350dfc45355ff1e83a08bfc3a9 pk = e7752afb068a323b8c78b5ba865bbd2cd6651d9659647a99817631ade890c1945afba81681b834d55864f8e240a69067ba1384f9279576110a0809b34c81aa350cae66c535d5f24315fcb30b3469e59c45f44915d9a010e834071a60b4e29001674326e8b556943246365c87d9133a7e68a6f57b63f5b72a94d2545dd682143ca0ec892ca3376ddb188a83b3ca5d31899c5b8a0ce014ddc1bec2988171d7bbec2742feb77e286306d53b687f9c04c45a4eedd1c4dc593067086f1728724c282dc8b94978a67bacda824e6a259e12c44340159510526b6630df44bd4eca50c62b77fba073de86c167e9974316962c6805dffca9f5d4a413cc04da0b4a9bbc3db7eb825d7b1f3f942870c559f900bd0082c13dbb59d68b8b7b84906b4c5e86ac94da520b54a5bea0f51fdd12cf53e90ab317117e320afb377cca024d91685a2371612724208fd02a2240b32349893544535ec21655d398914bc53589b5a6a920dba6b76b125c32611c9db77827132a00651f6bc3394eba975bc40e87c34a696a8ebca0cd356517b4b16f53c99feb517337a8231286a0ece32a9208bf90daac845cabb86c8d61d498543c4ad2325cc82a75a11a9751c6a0d1a7015f74ae1e32485b26372366cc97f42ea0840e20bb54800028e537cbe867aee64a1ed4453d27768a55815557e71a3857012e33172b3a6abc6729b207559899043185919883c9e6f74d1c5414e5728d18785ccaaccb753b61a6518ef57b4546c5261ed80d6262ace4d72f423b15f60312a9352e19e0887e7a131e590cf24b499dfa53ac3c5123240469350e097524263cad98a50e46739bd342bcf5d454df2a82004ac7ca8c23a7b406fd396239f74ab0686141d3ce9aa85efafabe79c1bbe2883efc6b18a3879a95ea3c67c7c23b25b4aa95cee8847a8ef4bbce67637e0259e485203077a2658a73871b70e28358c94143e78802596a4124b75a2376718b548d8eea706a4a256b297271a2a0afda68030504e5c35f7f4cab2a667897774fdde85e5ae01fec059111a1b1647571f2dcc0f8fb5871f8a2b154c4d1b7392a96789ea5875d15c817505418bb0ac3f8119a88d1fbce1d3419bef67b6694d9fa1bb309cc61c819176964dc -sk = 72a882d4848542a06f83c28df39c2384c2c86bf97fe18255aafabaea22a366da3e6de5b1518465ec60a5d0754fc4c19bea36b63ee04a25617b3a0358b603998db88c05593a637c232fa0b4e417573ea5afa5036f752a0bd8f123b3287ddec26a98b24a464a64502c92d284a2e22c2a50263872649367d39bf1e315e2fc5668590a534b6ad9d6298edc57e9d008203a9206c3288634ca87ca5b7cb0aadee53ce9d58e8b2b6cf340afcfc73d9791c8c2079f352b5e6f0bc67942b58d1a2661b336c37c3be7418f93bc4205f693ad795bd2b2827bb96dcd66ae82346550228ae5c91c2bb9aef4f81924772855f695929b975f7273d4340020f33aedec90ba0691d9924b84f1ac30e4c34ef0949064892c0abc0b7c54c7b0998be1c48bf09b6df143085400ac96637ce7b6cd32b8fe778d9fb6241ee58704737989c9345e88bd46f96c3f43c6482c9ccc99200ff02a9e4c0a3f81468ff5624a050272591c04d5a44fe79ca2a575c9ca4d629001230482fafc9f3030180cf036a875afa17a979c1b8c835931a86b090de5236365acc6e1282593aca8f74172b03d72a9c58cca346d488127046660bc7936a0a78c209ffdc2cb24a4c9686a988b8437cde043ae34c528698643b916ef7b8d66c77d70c5075b1b2ab0975fba08a6ca8403a753a63dd32f7da15b2de025b015cafa85c0409a5b1113371a11243c4626f74a76f3f62911e8851b265a302a5a48a2a22861864e5c8ab094036338c1b5cc7dafcb5f66e585f6447864e505efc363a939bab445c2007973186143d7f38aea5a00b77213a5e053f6f74e9aa92574051a5b281990531182549371b9610f69a3ef3519d06a764d53102bc68c220145f4072d3ce5c7a8840bbd1c21a3034fe5584fa6191f44128652c73b09868fdc947cd90cb7ff9225be48363437c5c45314a69460c3f55882b352937ca65b344c493263ba7a0d1513796916243700b4faacc36f85872f049b399cad9df55f29e93aa6656c3139773536275de5b52699299a6548d626c0c39141d64889f20013f706966d10b60b9b311c83b69ce9888beb2cc77192a1c73f1f34bce7752afb068a323b8c78b5ba865bbd2cd6651d9659647a99817631ade890c1945afba81681b834d55864f8e240a69067ba1384f9279576110a0809b34c81aa350cae66c535d5f24315fcb30b3469e59c45f44915d9a010e834071a60b4e29001674326e8b556943246365c87d9133a7e68a6f57b63f5b72a94d2545dd682143ca0ec892ca3376ddb188a83b3ca5d31899c5b8a0ce014ddc1bec2988171d7bbec2742feb77e286306d53b687f9c04c45a4eedd1c4dc593067086f1728724c282dc8b94978a67bacda824e6a259e12c44340159510526b6630df44bd4eca50c62b77fba073de86c167e9974316962c6805dffca9f5d4a413cc04da0b4a9bbc3db7eb825d7b1f3f942870c559f900bd0082c13dbb59d68b8b7b84906b4c5e86ac94da520b54a5bea0f51fdd12cf53e90ab317117e320afb377cca024d91685a2371612724208fd02a2240b32349893544535ec21655d398914bc53589b5a6a920dba6b76b125c32611c9db77827132a00651f6bc3394eba975bc40e87c34a696a8ebca0cd356517b4b16f53c99feb517337a8231286a0ece32a9208bf90daac845cabb86c8d61d498543c4ad2325cc82a75a11a9751c6a0d1a7015f74ae1e32485b26372366cc97f42ea0840e20bb54800028e537cbe867aee64a1ed4453d27768a55815557e71a3857012e33172b3a6abc6729b207559899043185919883c9e6f74d1c5414e5728d18785ccaaccb753b61a6518ef57b4546c5261ed80d6262ace4d72f423b15f60312a9352e19e0887e7a131e590cf24b499dfa53ac3c5123240469350e097524263cad98a50e46739bd342bcf5d454df2a82004ac7ca8c23a7b406fd396239f74ab0686141d3ce9aa85efafabe79c1bbe2883efc6b18a3879a95ea3c67c7c23b25b4aa95cee8847a8ef4bbce67637e0259e485203077a2658a73871b70e28358c94143e78802596a4124b75a2376718b548d8eea706a4a256b297271a2a0afda68030504e5c35f7f4cab2a667897774fdde85e5ae01fec059111a1b1647571f2dcc0f8fb5871f8a2b154c4d1b7392a96789ea5875d15c817505418bb0ac3f8119a88d1fbce1d3419bef67b6694d9fa1bb309cc61c819176964dc0f96fb9e146a1c22cc5d23e9108af0dc5e13b7810b8f5598bbd5f8d4b54c8af7df05318b5f655efe36f1b678cf4b875108a18db2fa312261caf839f84bd956c5 -m = ad6466dd59f26b762fb02b19eedf5f79964da68bce0459b91c3a6ee5a7e01183 -ct = 5cfa57cb23c409af22cc03845a4f620e6b615c9c9e00852f8379bfa52bd3abab39b304bba0e641fa080b97b239180535f1d2692d755c579bee0db61e2d159dbae317464e9b81091980761d6aae6df265ee602463660426728feb29bd4a61230df7a487a678376e9e9a8465027f310db1641ff9ee24a450fe89e4f247564d0fd52b607d90fb6405d8cfdd103125528c05cd80f0672eddb30764b3ea9870f04e645d1379fb2e5375db93fc87179226ccd8eac1e95abc9b3f0c07ace24d16da348e6e01155119db3f10725b34df0bb46cae3d2ff3e1c53b72a65e68f17ad792c84ccde5b454453a2c6845246483f0d9815c1eb4b9a43299e576abbb48b22fe5136d9d68430c21e07baa215049a5207aee2f2e88a78408e959f8f5d6d582213c88eebffe4a90d152ab1f83eb367703507fed17a2824eb1ae118d75bae1b72fbb05a061e743c2607b298ed7bacb1070b68c5f03de59e1da8e9ce9e74d0509760a4fdd667505854106936c201ed505d0a251cbad4a684e5b0927d08a74689793aedae5fe1fcb8d027bafb6202c66770a0e5a2e4d78def6723d41940f255b0fe908254ec398313170920d5fd5f70034e383fbbc396b455f0843eb99b716b287b13c60957182f1c1d6e0680c154320db3c2fc3b9e66b9b1d43c8468c99a120d40b4b9dd20c2f7c35ad2423619a2b5428980db15768488df2962b4f9dff6acf2bd23139b867a42534afdc4d8c7e2fa984b21c2e40357e75ebe3da1f646685a932a12bf6a77def9435f955431207f652e42704548fca5cbe5a8285e7b9025fa9e85c0515a35260077e67739c94af31d21a4fb5cae7b7ad61b17a1700f02766eb7052e152677ae2d74ad2d0aea178a1dc1d297f2f94653fa0f97422fe7bf52d2abcc5fd2453571a3b016834266966e5376663828b54d43c8f0949687256e2043e2ed700c968894ef024e601e509122665eaeeed4e9917ac35f2f42c489edec0990770cfeb37efde843f281153cd4edb863265049bf276d0b72119b85144d2595ea1bd33c300f2c2f466b56a4dc4c7f2b6709381bf982d0fcf5cf7f16e19c993554e8559b772 -ss = d1446f073de8866970b868a0282c2865682765ced8e3e2adb6d09821f69ec64f +sk = 72a882d4848542a06f83c28df39c2384c2c86bf97fe18255aafabaea22a366da3e6de5b1518465ec60a5d0754fc4c19bea36b63ee04a25617b3a0358b603998db88c05593a637c232fa0b4e417573ea5afa5036f752a0bd8f123b3287ddec26a98b24a464a64502c92d284a2e22c2a50263872649367d39bf1e315e2fc5668590a534b6ad9d6298edc57e9d008203a9206c3288634ca87ca5b7cb0aadee53ce9d58e8b2b6cf340afcfc73d9791c8c2079f352b5e6f0bc67942b58d1a2661b336c37c3be7418f93bc4205f693ad795bd2b2827bb96dcd66ae82346550228ae5c91c2bb9aef4f81924772855f695929b975f7273d4340020f33aedec90ba0691d9924b84f1ac30e4c34ef0949064892c0abc0b7c54c7b0998be1c48bf09b6df143085400ac96637ce7b6cd32b8fe778d9fb6241ee58704737989c9345e88bd46f96c3f43c6482c9ccc99200ff02a9e4c0a3f81468ff5624a050272591c04d5a44fe79ca2a575c9ca4d629001230482fafc9f3030180cf036a875afa17a979c1b8c835931a86b090de5236365acc6e1282593aca8f74172b03d72a9c58cca346d488127046660bc7936a0a78c209ffdc2cb24a4c9686a988b8437cde043ae34c528698643b916ef7b8d66c77d70c5075b1b2ab0975fba08a6ca8403a753a63dd32f7da15b2de025b015cafa85c0409a5b1113371a11243c4626f74a76f3f62911e8851b265a302a5a48a2a22861864e5c8ab094036338c1b5cc7dafcb5f66e585f6447864e505efc363a939bab445c2007973186143d7f38aea5a00b77213a5e053f6f74e9aa92574051a5b281990531182549371b9610f69a3ef3519d06a764d53102bc68c220145f4072d3ce5c7a8840bbd1c21a3034fe5584fa6191f44128652c73b09868fdc947cd90cb7ff9225be48363437c5c45314a69460c3f55882b352937ca65b344c493263ba7a0d1513796916243700b4faacc36f85872f049b399cad9df55f29e93aa6656c3139773536275de5b52699299a6548d626c0c39141d64889f20013f706966d10b60b9b311c83b69ce9888beb2cc77192a1c73f1f34bce7752afb068a323b8c78b5ba865bbd2cd6651d9659647a99817631ade890c1945afba81681b834d55864f8e240a69067ba1384f9279576110a0809b34c81aa350cae66c535d5f24315fcb30b3469e59c45f44915d9a010e834071a60b4e29001674326e8b556943246365c87d9133a7e68a6f57b63f5b72a94d2545dd682143ca0ec892ca3376ddb188a83b3ca5d31899c5b8a0ce014ddc1bec2988171d7bbec2742feb77e286306d53b687f9c04c45a4eedd1c4dc593067086f1728724c282dc8b94978a67bacda824e6a259e12c44340159510526b6630df44bd4eca50c62b77fba073de86c167e9974316962c6805dffca9f5d4a413cc04da0b4a9bbc3db7eb825d7b1f3f942870c559f900bd0082c13dbb59d68b8b7b84906b4c5e86ac94da520b54a5bea0f51fdd12cf53e90ab317117e320afb377cca024d91685a2371612724208fd02a2240b32349893544535ec21655d398914bc53589b5a6a920dba6b76b125c32611c9db77827132a00651f6bc3394eba975bc40e87c34a696a8ebca0cd356517b4b16f53c99feb517337a8231286a0ece32a9208bf90daac845cabb86c8d61d498543c4ad2325cc82a75a11a9751c6a0d1a7015f74ae1e32485b26372366cc97f42ea0840e20bb54800028e537cbe867aee64a1ed4453d27768a55815557e71a3857012e33172b3a6abc6729b207559899043185919883c9e6f74d1c5414e5728d18785ccaaccb753b61a6518ef57b4546c5261ed80d6262ace4d72f423b15f60312a9352e19e0887e7a131e590cf24b499dfa53ac3c5123240469350e097524263cad98a50e46739bd342bcf5d454df2a82004ac7ca8c23a7b406fd396239f74ab0686141d3ce9aa85efafabe79c1bbe2883efc6b18a3879a95ea3c67c7c23b25b4aa95cee8847a8ef4bbce67637e0259e485203077a2658a73871b70e28358c94143e78802596a4124b75a2376718b548d8eea706a4a256b297271a2a0afda68030504e5c35f7f4cab2a667897774fdde85e5ae01fec059111a1b1647571f2dcc0f8fb5871f8a2b154c4d1b7392a96789ea5875d15c817505418bb0ac3f8119a88d1fbce1d3419bef67b6694d9fa1bb309cc61c819176964dc0f96fb9e146a1c22cc5d23e9108af0dc5e13b7810b8f5598bbd5f8d4b54c8af748b1985fd7938595dac8ab776701ca1e9fef47350dfc45355ff1e83a08bfc3a9 +m = 4ff3f8a7536a4c7d4bdef0400ed1b450cac329089b1443bf148fea0a01398912 +ct = d821e0aa4f78942c4388499d261872dd92d115bd02990f244e2b741b774845bb7d05252c33eb536f3ba130f287d3a8b17d1443fb68240a97292cceac87850ff4b569252abcc5f1a62c9ebbebdfdf0790adfaa57202014c66daa63e5f86e73f75e2ecf071f03da5b833316e007a1d83ad93fa2c38d223fca5225946b5d182a559bd9bb78c0912c6280eae1201171b4519246dd979b69b87ef459ea8a42a6a878feb7657df415674c2da1a1b47b6dc32c82f05dbbfe22068515a2b3217cf23c6307f5b3b672b9e7abe66a9f123df715da4edd353bf44ea666a3f2a872f951c17d0e68e94595b0295f19811d51405bd418f4400263a1d3baea18d74e28fd1580ceb4c72816f4abcb22fb00748ed9755b95e4aad38f41bd797f4277925b6d9c7eb210393f56edea6b31f4ae57adf7468020268b124d75905c2a94089a500da7c457981ef0e6248ee753ad462a40bf03754737c54cb6800a47f957fa8b7940b74b67f7083cfb05a726a6357b858950684ed7440e1307607460536b9c3fd81f79ba2560114a0982c04a752550cd1e9ef4e027cca41179fa470a17f6983315eff47361e161b6aad8fdf45395a0951199c202047c564ff22298d940b13827308e65241ba58cfc44f375d4735b36928b14e244b9c3975dd0c5cdf6c01cca1ea0022c633bfb82f80e6df1598b4dda65b080799e0cfa5f7990181603835815b6f34e2a4065ca83fbb193bb9fd2849c6bfc9f5919300d7bcb680bc1ea9464cee743788816482a8f13f77cd77991f8e7617d0336639da7303d9626dfae33e185d464a8ae74f0421aeac1c303fcc4d199a343062de74832f47156eee0b25c85730e4f5a0d67af5be8d46b4c5e456cde0fb37af291c355d5e692d567236a5ee063eab1931fcc4f33b9335c86496db10855f0a12780dde673c8dff42589c1ec2a7181faca3959b6cbafb9279e3e89e4db8a1456f9b10bb7fd13a2678af327eb25c6440053f178bc61f423b435df268f49297dfcaa61a2a4cfbe938a361b0b3a97cf1ed9c797a0d18f0d8bcac913424891d96a7458cb1ce91f4fb52457d18bd630278df641a4aab97 +ss = 34e7cdf4119e920b6eee0adfd8e56165748a9f4823b2faf5fb8fbd865f218d3f d = ef99224a03a85a46ef115474ec5b5d620da6795d6efcca4c9135d19958a9de62 -z = df7d92dda83e6b2ef4cce08c9134563063068a196d7b1a1a13623e48ae12528e +z = 85c3a8b3732db34f4cd985b65e078afe6a735b53f4bc36d4762a3e45d1dbcb74 pk = 4a20774e234119411edbb3515e4c00a4987d491c37b3890db4ab249d28aef2c0cee1768c52b70cee7966b31c58ec975ef8b96dd2e156544a88a9772bfc834d422599b117968b648172b2ace7633ede1624b0a4cd031779040128c0e94332b03a798579206873b5583ca9c6be34632fddcc223a76c415e262ec8831fe32225ab2b484758728182eb45c851118cfc5086974403f6b161028534bc0390dc7d7902493440134c784b30289833652e96c58d12867cccd61713b51345c21c865976c0857808422f78de8b95472627cf6b895dd4065c68156bcd16e65494da75ac2e04668e0548e9658cb55d89bc8f98333e030a4720027aba862fb6f3b006f6be711b10b6d5e30b892708f42c49006357da4f637e8b3210e49817a9026b7403d64d861dc65955d75028e596fa68c97edf133d0997d84f342caab0f52db4b1330af6ca57b8b2423275255dc605fb9111907b648834c37ad812a300a715e231dba4551066051d31b82b6c3be14928c9cb78179e16ec0088cec140d3d6842776b30df33a11154a04ea7a6ade981b8c2995a37bd16734f98e95e1f753425f15c1a9b69ac4bb27a9bbff4f1845a734baa620595a66c97b64b43eb2c54f43e506cb8a7b759fb063f7c957155db10fc194171acbbe5eb47e024730a76c04d4525baeac5bef681bc3159bf0821c5b448e3a2c6bcaa55efa55e84e5084d257a0f7a97c322c8c1848fadc7a2f3db817816758220a5c7e67dce856362e8c7161a911f0b5b01089dd324848be5807bc67f4ae94b365132ebe95dc25a9ac3a1838897c0806891cccc4abdecc0cc87cc125a344cf83a5b43bae1d81755877c83b6511e10ce4d52440bd94c246579711150a33c62f42192e90a178f676ddb34a05401a151a4c167391d199211644238e8500bfb94adda266e23c0cc5f422a5c0719cc1a870e768c5fa95eba105e904a9875fcc58ff39375b72f84f12672386b690710b6b96c4aa17816a6a3fcf68e7b724ef4982c05799cb7a502b08b9ecde916b3e47636835c500360f24843c265b1d282a34f04ba6246b6ade8abbdfa13681542e77b17d398088b6243b6955ed03c49e0beb46c4ea9ff7be444932e61d464966bffc96bec0647ab34f2 -sk = 2a0ca3aa8c5b212426e4066cbf85c540177324559cb5e065a31aa5daa69448b5469b24587d6cc2a053abfd4588aa657894592c21aa88c3fcb7fc1a7f5032a786cb121e38b68ec0096e253f3caa94cc6a841867a582a77494dbacd97b8adc66299e54444a2b420303429aa55022c961f0d953d9967cdb9397e6631956e59259164e666cce7d40b98072973755408ff1303d29add7770d6b6cc40297648a66c1e7e253cfd631430baa4a701d8803bb834483eb198bea06aeea9a4c6487199bc5badc3526712282edb173b07830dc26bd796661bc677d73d4ae72a5575ee389bd2ace05561651999fe9326c9109a1726a0ea3354bac66794af387ff097e37b316d079c6f22c8932b8b02f33050d20c03770495636cee8a557add61e45a20702e1a2e04a854338af5fc4478be47271c99c24d79f4a38a560488b624ca0ec5991b141b3e62141c73a457ff5635923c7c7e3522dbc937ae5bfe962c297c1c6fed6bb1c4a7b66d2aefa71b272e74559381e04fa6d795143ab6789c06384b6d22a37da12c2a3ce92ea09b705a0ef61379b98a1714c71fb044f3427cc20110c421207a05cb36aa4477c86732d949b64ccbc8f841089c878491c47940ac61a5920eb23ca823c8f45332e4317bff016147145c299db4e8cea71d000850f113f12e0429f596df9cb4aba2329cae2734b3c4c0b2643f7612f473bc0069199e1f08cb03c2eb8e96d92e6305909be11acb29c399d4bf8b48f5cc47e8973b51454e67aa5578359ff19325efb7493382a41665ba1d168bb01c1577495aaea9ad377252b39402c598c60e2b376010c9711c595f81d652c5c39cc8857b949e51a8939f4548a1959dfa464020bbcf599089ac9058cdc1061aa34c78b16688231d98792ec23063712924581bea2a315841a6a49a09e8d47666a8427c811bb839745c83bae65b154c6463b98448bc638cac1064b03565f295495eb9ca032f778cfba4ade47a906379a457c6231c8ceb3fc42f9175dd50c38323c46b71395c114a3bd1044b6176dd58ac0beeab68dc1ad57f7abc6049a04bca06c9b0c95456b19f0a2b8022412463d20e4054a20774e234119411edbb3515e4c00a4987d491c37b3890db4ab249d28aef2c0cee1768c52b70cee7966b31c58ec975ef8b96dd2e156544a88a9772bfc834d422599b117968b648172b2ace7633ede1624b0a4cd031779040128c0e94332b03a798579206873b5583ca9c6be34632fddcc223a76c415e262ec8831fe32225ab2b484758728182eb45c851118cfc5086974403f6b161028534bc0390dc7d7902493440134c784b30289833652e96c58d12867cccd61713b51345c21c865976c0857808422f78de8b95472627cf6b895dd4065c68156bcd16e65494da75ac2e04668e0548e9658cb55d89bc8f98333e030a4720027aba862fb6f3b006f6be711b10b6d5e30b892708f42c49006357da4f637e8b3210e49817a9026b7403d64d861dc65955d75028e596fa68c97edf133d0997d84f342caab0f52db4b1330af6ca57b8b2423275255dc605fb9111907b648834c37ad812a300a715e231dba4551066051d31b82b6c3be14928c9cb78179e16ec0088cec140d3d6842776b30df33a11154a04ea7a6ade981b8c2995a37bd16734f98e95e1f753425f15c1a9b69ac4bb27a9bbff4f1845a734baa620595a66c97b64b43eb2c54f43e506cb8a7b759fb063f7c957155db10fc194171acbbe5eb47e024730a76c04d4525baeac5bef681bc3159bf0821c5b448e3a2c6bcaa55efa55e84e5084d257a0f7a97c322c8c1848fadc7a2f3db817816758220a5c7e67dce856362e8c7161a911f0b5b01089dd324848be5807bc67f4ae94b365132ebe95dc25a9ac3a1838897c0806891cccc4abdecc0cc87cc125a344cf83a5b43bae1d81755877c83b6511e10ce4d52440bd94c246579711150a33c62f42192e90a178f676ddb34a05401a151a4c167391d199211644238e8500bfb94adda266e23c0cc5f422a5c0719cc1a870e768c5fa95eba105e904a9875fcc58ff39375b72f84f12672386b690710b6b96c4aa17816a6a3fcf68e7b724ef4982c05799cb7a502b08b9ecde916b3e47636835c500360f24843c265b1d282a34f04ba6246b6ade8abbdfa13681542e77b17d398088b6243b6955ed03c49e0beb46c4ea9ff7be444932e61d464966bffc96bec0647ab34f20bb63b48b8cdd1c7242bd4f017c519b43502656e23817bfd683150488f8b0b44df7d92dda83e6b2ef4cce08c9134563063068a196d7b1a1a13623e48ae12528e -m = 1a4d5dff5847cfb48333e33bb00ca7301b144aa89dcd412ff5a3b1081d775b7f -ct = 65cd400076b4a68763296f2e5057031a5ea130dc8b21bd45083e1226f135c502ef1d6df338a95f3fea888ff00140e39806fa59c920c6ad4075d6d3f443974d0f9a80150c97c6dc4500abd5fdd18660ed580f86baa8a00c1c3aa19810fc6a5e7bc4762caaa90c40b30163f967ffa8a33e8cfd6f374eaba177dcdf2c1e66b3683a69c93e24ed89b68ec1c991131285f2ff31e1cc4f348427db99d40a2c500e6369b88d1e2b766896efb40f218ac12d5a5bbdc1a7edcae5fbf6da7e3d7c37868e9f57e68a5bf83b29992c4f7ced8e8a2ba2a52cf203461dddb0d58a17a811203606523df56fe2b56812ebb008e767cdf376b10a4b0882094b1ce5c47381099b226a8eafc6d4996abd9c62e72eb497b83ca9d22a50b7be4a3b510af3d5e5b48776188f865c240a6b33ccb84e44b10208fa575a1b623f6ddf0cb0ac511d027a6f4d4051911c557be5349f54a3abf3dd12be416b59f636f9767851fbcce5962147fb029198de4ece44a01e21284ade006db00f700fb02baa484b5bc01aafd80bb74942317dc965fbad6805f4a40fdc728852c6898286e584ec1fd746222c9e33b60d45a06d684667bc5ecf8c72e672b71dfd0b11f0b7eda5d3e7bee302063873d64f4922f5ae97ae84b63cfce8d81526dd5de43860d4f2961a1ff88d22662d921e90fc0f04c6041a31106dc2599b91d7c43b1cdba0d596dc10373b13d140b9aa2da4bd1c03499fd5bea75a2f43882a0a92303f3287af6514311cf08cb403b6d3330600e95c77e97887080308721690350e4be344fc54389f8b919ab73bfce1a67317bf7ca0bb1aacf519effe53acbc794414e0964c58244e261adbd2d60875c7e0c4256e1a698507d1972cb38375eecca573f21ac15d4afc0c50b2a7c7570a86f249c252dab5a7ee7ad5c6004f686e70b869de6aad078943b82434374dd0b4926dd3b7dbb48e29f5da25e15975acffc0b373bf8179f7533d66e07f7a5cf5b66fd5da19a8077825456643fa1ee82d8a95f05cad707ae20cb1a8359572fe38b27bde1432925585bf6037cc5429b760892a169d058178e7a4801a7cdeb7a2fd7c607712b4 -ss = ed8f55fba251d1f3090f77823ffb0d91c7028c66cddfc340bf9945d9a56d917a +sk = 2a0ca3aa8c5b212426e4066cbf85c540177324559cb5e065a31aa5daa69448b5469b24587d6cc2a053abfd4588aa657894592c21aa88c3fcb7fc1a7f5032a786cb121e38b68ec0096e253f3caa94cc6a841867a582a77494dbacd97b8adc66299e54444a2b420303429aa55022c961f0d953d9967cdb9397e6631956e59259164e666cce7d40b98072973755408ff1303d29add7770d6b6cc40297648a66c1e7e253cfd631430baa4a701d8803bb834483eb198bea06aeea9a4c6487199bc5badc3526712282edb173b07830dc26bd796661bc677d73d4ae72a5575ee389bd2ace05561651999fe9326c9109a1726a0ea3354bac66794af387ff097e37b316d079c6f22c8932b8b02f33050d20c03770495636cee8a557add61e45a20702e1a2e04a854338af5fc4478be47271c99c24d79f4a38a560488b624ca0ec5991b141b3e62141c73a457ff5635923c7c7e3522dbc937ae5bfe962c297c1c6fed6bb1c4a7b66d2aefa71b272e74559381e04fa6d795143ab6789c06384b6d22a37da12c2a3ce92ea09b705a0ef61379b98a1714c71fb044f3427cc20110c421207a05cb36aa4477c86732d949b64ccbc8f841089c878491c47940ac61a5920eb23ca823c8f45332e4317bff016147145c299db4e8cea71d000850f113f12e0429f596df9cb4aba2329cae2734b3c4c0b2643f7612f473bc0069199e1f08cb03c2eb8e96d92e6305909be11acb29c399d4bf8b48f5cc47e8973b51454e67aa5578359ff19325efb7493382a41665ba1d168bb01c1577495aaea9ad377252b39402c598c60e2b376010c9711c595f81d652c5c39cc8857b949e51a8939f4548a1959dfa464020bbcf599089ac9058cdc1061aa34c78b16688231d98792ec23063712924581bea2a315841a6a49a09e8d47666a8427c811bb839745c83bae65b154c6463b98448bc638cac1064b03565f295495eb9ca032f778cfba4ade47a906379a457c6231c8ceb3fc42f9175dd50c38323c46b71395c114a3bd1044b6176dd58ac0beeab68dc1ad57f7abc6049a04bca06c9b0c95456b19f0a2b8022412463d20e4054a20774e234119411edbb3515e4c00a4987d491c37b3890db4ab249d28aef2c0cee1768c52b70cee7966b31c58ec975ef8b96dd2e156544a88a9772bfc834d422599b117968b648172b2ace7633ede1624b0a4cd031779040128c0e94332b03a798579206873b5583ca9c6be34632fddcc223a76c415e262ec8831fe32225ab2b484758728182eb45c851118cfc5086974403f6b161028534bc0390dc7d7902493440134c784b30289833652e96c58d12867cccd61713b51345c21c865976c0857808422f78de8b95472627cf6b895dd4065c68156bcd16e65494da75ac2e04668e0548e9658cb55d89bc8f98333e030a4720027aba862fb6f3b006f6be711b10b6d5e30b892708f42c49006357da4f637e8b3210e49817a9026b7403d64d861dc65955d75028e596fa68c97edf133d0997d84f342caab0f52db4b1330af6ca57b8b2423275255dc605fb9111907b648834c37ad812a300a715e231dba4551066051d31b82b6c3be14928c9cb78179e16ec0088cec140d3d6842776b30df33a11154a04ea7a6ade981b8c2995a37bd16734f98e95e1f753425f15c1a9b69ac4bb27a9bbff4f1845a734baa620595a66c97b64b43eb2c54f43e506cb8a7b759fb063f7c957155db10fc194171acbbe5eb47e024730a76c04d4525baeac5bef681bc3159bf0821c5b448e3a2c6bcaa55efa55e84e5084d257a0f7a97c322c8c1848fadc7a2f3db817816758220a5c7e67dce856362e8c7161a911f0b5b01089dd324848be5807bc67f4ae94b365132ebe95dc25a9ac3a1838897c0806891cccc4abdecc0cc87cc125a344cf83a5b43bae1d81755877c83b6511e10ce4d52440bd94c246579711150a33c62f42192e90a178f676ddb34a05401a151a4c167391d199211644238e8500bfb94adda266e23c0cc5f422a5c0719cc1a870e768c5fa95eba105e904a9875fcc58ff39375b72f84f12672386b690710b6b96c4aa17816a6a3fcf68e7b724ef4982c05799cb7a502b08b9ecde916b3e47636835c500360f24843c265b1d282a34f04ba6246b6ade8abbdfa13681542e77b17d398088b6243b6955ed03c49e0beb46c4ea9ff7be444932e61d464966bffc96bec0647ab34f20bb63b48b8cdd1c7242bd4f017c519b43502656e23817bfd683150488f8b0b4485c3a8b3732db34f4cd985b65e078afe6a735b53f4bc36d4762a3e45d1dbcb74 +m = ace5e23f87cdb061c1821314f8353cfa96d69cf902a2866e5075a796b24594bf +ct = 5bc8cbe2243b0353728a8d95c2907310281f00632e359e8675ebb03a40174360582130b947629504e68d274025a0afab5e9b8a71bf1da7435c5a136079cc5de3fb95909997a7134fa0cf7c6ff55b95d86ba772ffd049c2cc17b6608c122bcd2cd9cc2eabe217c60fb8246128a19e6ff5d1d1a7173c7d98cceb1bc18d0a6874131255c4e01a040baf100c76d2918896db658d85928beda49aa4c748e7bfcb9fd6605f112f4804fed9bc833cd1409ff778740c0c0c2feb987253d6d126bc18887be3796a417b336876eeea66e7176ecf7cf25375a4ec3a79c0f84ea69255a9c740359a10f009f14fc9cea7db0c3aafb5321250ff29c78f2f5ab4a56fca12335d6ca84b827a7fb6c8e9b9665ca3a8097820d782f24b2a404557ce0dedb81fb6625e733088b46afa4ae7da5189f416a221476af7fa81ed52238ce1680dd1d1d914bd5ad00083e5ada730d4ba2a70f68225bac390d052b7b4796ece28fed443ac1e0a7b76a2c9bee665c92271050a05edd035ccca9204ab7f05bacf9df0310fdb3f5456e9d8eb77e6985c31c6e6d104157cc747a822e243c842032fd9d06e7b94f5216bb878646536d2ce850f2e5284d376485867ab16ece37927221647a1eeee9893b4c095ef1a6eecf3a44dcff5cf0d78b6f7ee6a171aa4356dc210d2282a275a6ddfdbc9ba6549856dec95e57dc796dfd5d875618f5fd984660f1ad934fdf72e7cc928e2b55cb6817174caf10031766acce565db09dde14462cfacb7a4a856d633caf301b12f608732267e04102ac1920239138806b7b9985f67903e300d052adeaf29642c549434a7f5ea0e555468b3a5aa8d20739a8fb9c7af9eae63cb599999b9f16e0086ace0111f4cb64a1c2c98c7961834fc49a39280b2d387bf0e7617dd543fc030c234b0777c1f00ee54b736b74495a7f5d3113c772485ebbbe197fb149a1014daef5a8c42c03e9a86c931f48ff139e0b719e667383cc07df8e0dc4d346da2cf9f9f024342dad3411e234eaea8ae7d4084e8e429a06f899f9db11fcb5198ffb8b24c58dc06ba5e839327fa0390182bfb93ecf9ae2e4e250eab0de6cbf5 +ss = 0ae9376395af0940fe2c05fec0fc955eab9ee1495afd0bccc3235b0b9d60c942 d = b12f6fd965ea9c5b947db80fc60c83d5e232dca82e7263027c19bd62e5a6ff55 -z = 0f6aa3e88f7fa8a96067f8cdaeceeac90c2d0b5e277e56e9c405ec9420c30252 +z = 11c11c1086f0365e9fbd525b3fcb4e4f169fb488bf0cbcb455ec098d49e903c9 pk = 6c10a1acf866163b55706133db1c41474a3ef0d4c7f131637d32b4803ac902fb5246c858a7426f9145cec60047473666a5e9c37b8ca4b5c1161dc5479341876aea6c515b564d68650b9822c6a817b5938f3809a784010278751d539b75ec07ba09aa34b08178ce5cb5bf70c99df201018b55e21c8a51b9a70be2997ac10b8a783cd9c54e69cb8b8a360d0dbcb9d6210933a5b7c5853af4b22364635526ecbe5774c5a6093c2fe9418a279c0e6ccb8706c6a45181be8181ca2515d1394e7ef46ab68a1e93351a6da3684c8272c3e41547eb9e2e397a18f982e95730529c2affb88fef731978388791cb053906a57241cf99525fc87cae12e7360bb2a68b936db9d55de3a885c3b74bf94c5153336444bb6b07fc3e36979ee3b231bc28bfe1534a24e15dbeb43fdb40238443a29d3685f3180d65658aea5b96078ba150623ae2c473b6b5a8f1c646a9c8848be5c2a8dac00d4949e66558124455f19b1cd92177c4c2019789765790adb3d63c59719a292069922c5ab4b6b9ec2523ac919081764019282b16e4ac4ef7530d7a94f7eab5f0ab4afe7b5139076e74e10196ec67de372878345213754af4d2affff085c970b6fd7ca06bfa60dbe526114bb854480d519a09bf5b6831f4b2238b99428538ff27c66777a49b4108fe3ccb4ad486f54a01e514266fd96a61fc2757facd39e071a0896e93036db4b110c8d78b586aafa5f182e1d05e17446f6158cd34427624a488fb4650c8883190f1b60374b0e8418a12866aa8000a7b2ca387b4b792c3719ae883a030150a668cdeeb6e8e59ad3e420361361a5a149c85880e245888192560052b490248b91a29adc0708344280b0b153bcbc0b575593245718b0180216d9a3847a186f312c169f42853820e862b90a4429f5d927a340589e193a5bfaa46f5350145ba2e6cd2727fc2545ee5bd74d4a38e181e527a80e2288444d860e7400b3ae3827a24042596124ad345e43a03ca310d37522dd962b71e8b3b1e3b29972934bf00015b6380617c8958303494d03366b6a51e7ccf6d3abdfb242ffb8367fe3a1d44ba87bda4587a9427dac62d280a0cb93cc0a90d2a9640377808ccc2673495c4839fda0d1038b27befe3d22e2b727a -sk = 54e04cedf980fa4114c9a285df546391e523d49009356878bb2c49c77462053a2ebdf802d253c694e11169f940295279e9638c126895762a5c0b6ba3c7d44c91b4543163c27bf9650c74cf472cba69f71908004540b83c7f081fb827c2cb4186160362bc0a71d602b41ce5395101b0235662d441429c964b28f4730af20a802529e046b662a72ecb206a18ab7f002b8a224007e312449ca5b9a01ac4d54cc00c1224bf8c0f6034ae9c8862d3c0a58357282a55a8133a95862b168266a9473c7abd0813e9b53fadb619a492a93d708a8db2a84f866edbb0cfe0b18dd8a0bd7281a7ec5079e952a5607c07e5db6fba1a010e28167b28b684bab4dd2b76ff4a227652bf2e448dcf86ba498518f983b0b048c166256aa5f38405db95c8e848df37bd971108ac782343026e473c435bb5a3573b866134996910a5b5d91d35281bc2f928d9144f954c4ff31c3523f80c8a9420e064073dd8a6a6f85c3f4b6245a1900bd15ec21801fdf88c87a105800127d5f1060b6676f7f2cdc717c9b35ba6e6c16f448926679c1006ba0013b2bc35c37fdab07e5db79253e9669af80a98277c65425925a059dccba3c0580e8e5a86ddc8ace81971cc5a06be7b9b8fb2cee4a1b5b614340db5314be2af85c06589f188f4d42738590736a381ce333a866b108cb88ae68803594903faa280532c37a0a4cf082b37dfa7c438d9386d029be2c6bdc3554c6d458d37f0930ac71df99b7468858c9e1a2561bbbc858bcdab73b82768503e946d48e65f3a1253e99c423480cef6979ac96c7b10cc6311375206a90ad4346590d69a3ee848a1c5287841c7d58b5db0b0749026387c93a29b7586a150ca803c3f36997fd523af0014a905e3baa92b92d0d34788d2530fe774e8071830c869e2417b39ecb6f0485ec7770f25e3ba22eacf5c180e665bc8096248ea0a881d59042ab55f7b1c8aa0f348675c5b4eb549dfb770af8633c0089eec5cb979646ae579a99d58554c1a0530a85631f12db116c7e4d2a89e2b42cda77b957962a1ea4b089b42d5fca0034529a4134702f06e989113c284ad2d131a99f592d3f7b50069746c10a1acf866163b55706133db1c41474a3ef0d4c7f131637d32b4803ac902fb5246c858a7426f9145cec60047473666a5e9c37b8ca4b5c1161dc5479341876aea6c515b564d68650b9822c6a817b5938f3809a784010278751d539b75ec07ba09aa34b08178ce5cb5bf70c99df201018b55e21c8a51b9a70be2997ac10b8a783cd9c54e69cb8b8a360d0dbcb9d6210933a5b7c5853af4b22364635526ecbe5774c5a6093c2fe9418a279c0e6ccb8706c6a45181be8181ca2515d1394e7ef46ab68a1e93351a6da3684c8272c3e41547eb9e2e397a18f982e95730529c2affb88fef731978388791cb053906a57241cf99525fc87cae12e7360bb2a68b936db9d55de3a885c3b74bf94c5153336444bb6b07fc3e36979ee3b231bc28bfe1534a24e15dbeb43fdb40238443a29d3685f3180d65658aea5b96078ba150623ae2c473b6b5a8f1c646a9c8848be5c2a8dac00d4949e66558124455f19b1cd92177c4c2019789765790adb3d63c59719a292069922c5ab4b6b9ec2523ac919081764019282b16e4ac4ef7530d7a94f7eab5f0ab4afe7b5139076e74e10196ec67de372878345213754af4d2affff085c970b6fd7ca06bfa60dbe526114bb854480d519a09bf5b6831f4b2238b99428538ff27c66777a49b4108fe3ccb4ad486f54a01e514266fd96a61fc2757facd39e071a0896e93036db4b110c8d78b586aafa5f182e1d05e17446f6158cd34427624a488fb4650c8883190f1b60374b0e8418a12866aa8000a7b2ca387b4b792c3719ae883a030150a668cdeeb6e8e59ad3e420361361a5a149c85880e245888192560052b490248b91a29adc0708344280b0b153bcbc0b575593245718b0180216d9a3847a186f312c169f42853820e862b90a4429f5d927a340589e193a5bfaa46f5350145ba2e6cd2727fc2545ee5bd74d4a38e181e527a80e2288444d860e7400b3ae3827a24042596124ad345e43a03ca310d37522dd962b71e8b3b1e3b29972934bf00015b6380617c8958303494d03366b6a51e7ccf6d3abdfb242ffb8367fe3a1d44ba87bda4587a9427dac62d280a0cb93cc0a90d2a9640377808ccc2673495c4839fda0d1038b27befe3d22e2b727a2d19bf7937eeab0d2a7570d43cf965547542a519be85bdd4921f7d710747ec6f0f6aa3e88f7fa8a96067f8cdaeceeac90c2d0b5e277e56e9c405ec9420c30252 -m = 34f44ec2092eeaf686f2ea170591a98527cbb03a4fa9477a7aef6b41a54feeb2 -ct = 3c49b86b127c0a05b1e770a0d858e84cbf3223595313293e48137d59f520ff53e876d13fb33b040a69967e3b7ccaf68033cd318e1eef578b2321e20329e5946248dd5b019b01fa7f3fe5318a768439336a718766247c6d24f9c8d1970b81de87cfc58f7b926fe352bfbdd9bb879439cbb183fe1f2b9a29804b6c9f90853974a5ebce6810b6beff0e9e37f18b25419aade051acc2556c0822a09781333ecb012896f30f82ebbde6844aac9e47f630fa5e222535c5793c652ebf76517aca290e812f0daedd242b815b15bccfb92b1f470b23ceaababf18cf00a5bc2eb2a98785391efbdef71398d427411e0685cd41098aba44a451655b1140a788a48de4dcdab70a1849f5a2348f4dd2cb20f54f544bf790c294cd6ba1101edb406c53604d88cf532390fca678358c31f1367701cfc064da33ac20068af9d56c0be450918ffb8bd03820d4994bff3ce9e5f1251b31ec8ddd507ba0f7cf60e6ca2e85c79e44bb993e83d210e14c1b59efda25f6d09ad93eb9197a7760d4c30a13c859f5c2fb6180708c2a238499bc27530110144cd31fa1237f46518517fb6473670e30ebc1cf25c372d96e4eafe7345237330096dc65a4f7f83b6f6c095f3be5c44a5d9e8d4f8bdcc4db7eac3304d851a274cd11d6c6e544465bc270bd9df4b34cb044b2b444f08ae08dc401b949c1348b2493d6e228f9abfb1206efe0611d20acc1432ac6e97c41410b895bdb55874e663691e978f38010ac139734bc1b4051f843fe1cced989972f3797890295811594bffb9dc1b64d1c2b0ce95852216b07961ac0561d46d07eef53219a659ae63ce332d90c67caabef5b19fe654fa496214d30638df44a38495863e75ca4923ce444976ce120820cad972b260934a2c8f2375b9d22c2e481b4b986414bbc820ecdb2bbff776ebf6e69b8aaf603731aa6918949eb5d0052ca4fff439b673307c5972ed0c00b6134f6fe6da833ba4770ff537f8492dcc74dded5ddc753bad51951a4e6f05ff58060e0ddb8921134500cb7e6b34d280525958e52293e0763a61e27bdf1fce9ac1941bef33219ff1032358b65f97fe0cc4158d4 -ss = 5451fefaf1146809cc45bbb88dc3726dd4754bdc9b25b31b2f7e1e4d35785ffd +sk = 54e04cedf980fa4114c9a285df546391e523d49009356878bb2c49c77462053a2ebdf802d253c694e11169f940295279e9638c126895762a5c0b6ba3c7d44c91b4543163c27bf9650c74cf472cba69f71908004540b83c7f081fb827c2cb4186160362bc0a71d602b41ce5395101b0235662d441429c964b28f4730af20a802529e046b662a72ecb206a18ab7f002b8a224007e312449ca5b9a01ac4d54cc00c1224bf8c0f6034ae9c8862d3c0a58357282a55a8133a95862b168266a9473c7abd0813e9b53fadb619a492a93d708a8db2a84f866edbb0cfe0b18dd8a0bd7281a7ec5079e952a5607c07e5db6fba1a010e28167b28b684bab4dd2b76ff4a227652bf2e448dcf86ba498518f983b0b048c166256aa5f38405db95c8e848df37bd971108ac782343026e473c435bb5a3573b866134996910a5b5d91d35281bc2f928d9144f954c4ff31c3523f80c8a9420e064073dd8a6a6f85c3f4b6245a1900bd15ec21801fdf88c87a105800127d5f1060b6676f7f2cdc717c9b35ba6e6c16f448926679c1006ba0013b2bc35c37fdab07e5db79253e9669af80a98277c65425925a059dccba3c0580e8e5a86ddc8ace81971cc5a06be7b9b8fb2cee4a1b5b614340db5314be2af85c06589f188f4d42738590736a381ce333a866b108cb88ae68803594903faa280532c37a0a4cf082b37dfa7c438d9386d029be2c6bdc3554c6d458d37f0930ac71df99b7468858c9e1a2561bbbc858bcdab73b82768503e946d48e65f3a1253e99c423480cef6979ac96c7b10cc6311375206a90ad4346590d69a3ee848a1c5287841c7d58b5db0b0749026387c93a29b7586a150ca803c3f36997fd523af0014a905e3baa92b92d0d34788d2530fe774e8071830c869e2417b39ecb6f0485ec7770f25e3ba22eacf5c180e665bc8096248ea0a881d59042ab55f7b1c8aa0f348675c5b4eb549dfb770af8633c0089eec5cb979646ae579a99d58554c1a0530a85631f12db116c7e4d2a89e2b42cda77b957962a1ea4b089b42d5fca0034529a4134702f06e989113c284ad2d131a99f592d3f7b50069746c10a1acf866163b55706133db1c41474a3ef0d4c7f131637d32b4803ac902fb5246c858a7426f9145cec60047473666a5e9c37b8ca4b5c1161dc5479341876aea6c515b564d68650b9822c6a817b5938f3809a784010278751d539b75ec07ba09aa34b08178ce5cb5bf70c99df201018b55e21c8a51b9a70be2997ac10b8a783cd9c54e69cb8b8a360d0dbcb9d6210933a5b7c5853af4b22364635526ecbe5774c5a6093c2fe9418a279c0e6ccb8706c6a45181be8181ca2515d1394e7ef46ab68a1e93351a6da3684c8272c3e41547eb9e2e397a18f982e95730529c2affb88fef731978388791cb053906a57241cf99525fc87cae12e7360bb2a68b936db9d55de3a885c3b74bf94c5153336444bb6b07fc3e36979ee3b231bc28bfe1534a24e15dbeb43fdb40238443a29d3685f3180d65658aea5b96078ba150623ae2c473b6b5a8f1c646a9c8848be5c2a8dac00d4949e66558124455f19b1cd92177c4c2019789765790adb3d63c59719a292069922c5ab4b6b9ec2523ac919081764019282b16e4ac4ef7530d7a94f7eab5f0ab4afe7b5139076e74e10196ec67de372878345213754af4d2affff085c970b6fd7ca06bfa60dbe526114bb854480d519a09bf5b6831f4b2238b99428538ff27c66777a49b4108fe3ccb4ad486f54a01e514266fd96a61fc2757facd39e071a0896e93036db4b110c8d78b586aafa5f182e1d05e17446f6158cd34427624a488fb4650c8883190f1b60374b0e8418a12866aa8000a7b2ca387b4b792c3719ae883a030150a668cdeeb6e8e59ad3e420361361a5a149c85880e245888192560052b490248b91a29adc0708344280b0b153bcbc0b575593245718b0180216d9a3847a186f312c169f42853820e862b90a4429f5d927a340589e193a5bfaa46f5350145ba2e6cd2727fc2545ee5bd74d4a38e181e527a80e2288444d860e7400b3ae3827a24042596124ad345e43a03ca310d37522dd962b71e8b3b1e3b29972934bf00015b6380617c8958303494d03366b6a51e7ccf6d3abdfb242ffb8367fe3a1d44ba87bda4587a9427dac62d280a0cb93cc0a90d2a9640377808ccc2673495c4839fda0d1038b27befe3d22e2b727a2d19bf7937eeab0d2a7570d43cf965547542a519be85bdd4921f7d710747ec6f11c11c1086f0365e9fbd525b3fcb4e4f169fb488bf0cbcb455ec098d49e903c9 +m = 95be66caa72e47634e9748bd26c12b04e2193a69140284624d4e177f4dd66f7b +ct = 0b51095807d49a9ab71b39611f05c6e7f26769aebaa6767738c0f4e61883a20e3c122f2fbae7f0a557b4a06b236d945670941c484596988e5a7c316c27eceae89d6cdaea252256dcbf138d4aef4b834c9a93b99f64d56989cae743d9df6e438bed79a16fe2d149f160fa15e06e7b060e576616806ff0b820c25e39921c82681b183e997b411fde86d1b38a30c087bddcc2bb697c14f2f3060c0c464bab23088f9c7a9b8f043cd6779004cbc217cb847431a92791edcd1c6de2cc092b30e0128ee7ab7ba03fd95f0904f8776654a92e1020fdbc593899eed71b0578b63a9bbf8ce8e17f7890aef63a2fb7c02a9d3fff73137376f701ae1c062b636f106dc441f44137d082bceccd265f93e58ce741d4d99bb7b990e07797088f1f6f40be69a5a25a5caae25825902155e6e51af221e93473aafb1a73c00bb060096f2ded995c379efa0c7b76ec688c87aae24f8d31312d7b74007355bcd6d0f7f76dbdae44645f7438ff165e5c936afce91455dd4baec6959176ad28a49fef399981ae85e09396932feb3e9aee0b8ceb17512e21fd93feacfcb82586c941aa3ae766e234f0c6896d21e5408bf06ff9dba08af00978339bf33420a7944e1d55994804b1e9e8539a4ed82e141a28fcdaf8633e555fe069018e94b875dedd6d85061d96c99f3dcfea71852c7b42353daafb8eb2ad035b0f88749726e14053717e18e4f0fb8d22c014d131ac130620b1a9c291a5fdb2dd419b3e0ba316453b1f3ee1ced2bf0821a26274a5ea585667642aff10e933c1b7bc54963b05b7c8782c9b913d4d287a274af094fe73ced4dfd3bd5c8af5f6e3222f085388e41bba0a0ff88fdd93af95b3759c01dde4261a806486922f00c1caf4422f7f289698999d6ef9a6c1512402858c2713d4ae3bd0673616316e181bed12caeabecb4be13fdb5a90b06f7b99b1cbca524401f6dbc86d1567c79b7f46110e16e7ff1ca67ac3a89dd9023b98b27f78ba7a03dc3e70223257ad9eaa4c7128a970543582a1c7b83963afba07480e6670420bb0c7cafd8c389fdad34eb02073447a69ea2e78342b041920bbf325ec09051da1 +ss = c680c7b7437c5e37217161444e9e0b25e331caa876340215180b48669dc828f8 d = 9f52af92ca165fdc38788f2b59ba02e01c8281ff7c1e60504688043a5fe814b0 -z = 4f3029e1be4e1c0258c3a22ff5b50b2674cc094ba7018da2a61569845c17d26f +z = 284837f7edf4788f32e757949cfa69ddee079e2e00e439ecedc8512097e2d2ce pk = 608a70da01862dd25b9717bcce38ac41045d44876aade7c1ed6a2aa638994db7011fd42b3d474b08f87b4b2a3b83ea94b4a21d214bc2c974a078b22598a7cd7895942ac29d876b9723f32fc3bb696b467bea64b176c1219732af5e21ab49b49fdb0bcf9152600a1a50b863b591376be4653dfd93b360b853cbe8b8d1e84c1c85460bea5d380130aff7a0ba20a75f8a04238294a4191ebc900d255ba923056464f6621d2b96c493c2e5379a95d16f4b5a72e5c5ba3840517a28ab3d8a8c3b8c63e882ae37f4215a74bf62c54bcb65159f9ccd88e07933d4936f12c2ff174f84a1a93e1a9163d0cce3290324355c1d6b21ed458e2f5883a8806b2d65a5f85b3bc103a692c94333331671f54629e89b1be35c25746130d7a9b939cbe017170fec7d5675b3bba33e4e086d4c6625580536d0c28ab5e073e5f37cad826173cb422f60bc11208fd0023395603d8d047fa57cabacb428d2f361a13321bc20827d5566dba65bbd827a2f952a065ca19fc208f4617e0bc9bb97e82f4322413d7317c14866bc72242134c38a7774d1580485fa4e3905122ea993b03b12a1f6323ab778fce157e3450eb02357a71c3caf9571fb83718748b2adc18296f570b05c4a77502062841ad216389b3b3b71c0aaca94a7051b0b523504209566bc153b3206b822779a98f59842442cd2b5246c674105b450f8e385d1585e651c934c4312d3208f7740a6f8a47e3393221c40747e452e1b0b7918b64d6c018a130416fd32c20ff641ddf25bec731f9bc9a36da09c1f5a058440b920694b2e9437bf23c1bc80835447a33f40a8dcbca09a14cc83d44b20da529b303d74932cd2761d27f5027fd01f93e907bd0538898078f57395ee2972642097944c19ccbcb4cfbaa79289ae31a230c67218b3c7075ff32563089a1e65aab279c3e4d9c07deba0f72a796f601382385568275c8aa6b26a8caffbb09e44409d1c404b6fd957a967a17c83cdbcab30d299a623d4b0da14a1971a09bc83a59f56a05bc6727d91572bac8fe834105616b5ef3c3e0cc2998f5006efb3673f4471b6e9005957590b749c107a513e07ac15133976c1f4bef1609e71524b877f53fd3133bf71ab13912bf37c2cd7a359eab035cd -sk = cc781ef0e49bc86b3f35c4645edb42a0a37a17501f80367cca61c8e6b9715f2536a9c27edee33407a159cc1a59cba30e3d79a058c97e30e36dd4553353b057afd87e4112223e38368988256b9c6a1a2214c24b1ac0aa88391b712270607a284862b192a38c2bd62a7a64d3cd1a9bb88d03138c88880817c11105c761c7cd0fa53a2624307df5ab95b2cbe6d87a6278849bfab67c95abb0ec9c58f33be488bf4e963589fa1263d4ccb0606e7d88911c82791a91c90c674af04576e3e31405708fbfca2bf317ad03c187492a6fbf498a66389c9f5469e450c094530324db1cde5b15fea74c9cb7382aeb76405950648255aea13160e41b00bd05e4921ebaecbb23b6a87cc96d3ea8bba500903a44b8a085c97f4820fe502beb69cd71f58c6a9b7089d4bacddcce28d0b63b04b7e33b44b6cb1623e64141fac4b6d573d222a28ba8c02053515504269c501091536d598336b6391148b460a9407b2fe7ad8c439649a9a17e5554bce7a4673b7a0f048f11104bc5b5c0d1210a898502335ca8ce1c2ed6ba29c59189e6c7ca0077343ffc9e213c8f08a5241ee7a43492386409b72a6a8fd01b81836b794e82a7e4031623c977c5b3a665d05d497abb466b73ef05847cba6c7dd9554ae237f7fb92ae70cc273b44436c0070928116b065577a0acc3255956a84b7e64b9935779147819230721840515d073f2c91722d3b9c76a7ad8ecc7bef809aebdb7ab24ac9782c1caa01b8871b01878039173a9c75c27841872d5538a990b530cda7ab670742f9ea32b8289dfa832cc528260688c645f43a7b81601bd68ed2f6a4f5a61a90968329103caef59f80a9c430064bcda9c7d4710f82fc646cda3454893def63c8b3f11cb006580a8a955d5a55d0387ad9c5051cdb8e9a03520b5a7ae0cc5b63a368f6342587144165d08df4a29455b11e6293a638102c0f0836517b15f6b726b5ea8dfc354d84bcc8c3c965dc3788682a411f904d5edb6a25cb4273214ca26c2a8b787fe468463ea0120798b8c5b78d7f3561ecf59aa81ba0503a2f4e777a4dc2ad49bb29edd64cdbe5ab083905d0a19f347c789b08b2608a70da01862dd25b9717bcce38ac41045d44876aade7c1ed6a2aa638994db7011fd42b3d474b08f87b4b2a3b83ea94b4a21d214bc2c974a078b22598a7cd7895942ac29d876b9723f32fc3bb696b467bea64b176c1219732af5e21ab49b49fdb0bcf9152600a1a50b863b591376be4653dfd93b360b853cbe8b8d1e84c1c85460bea5d380130aff7a0ba20a75f8a04238294a4191ebc900d255ba923056464f6621d2b96c493c2e5379a95d16f4b5a72e5c5ba3840517a28ab3d8a8c3b8c63e882ae37f4215a74bf62c54bcb65159f9ccd88e07933d4936f12c2ff174f84a1a93e1a9163d0cce3290324355c1d6b21ed458e2f5883a8806b2d65a5f85b3bc103a692c94333331671f54629e89b1be35c25746130d7a9b939cbe017170fec7d5675b3bba33e4e086d4c6625580536d0c28ab5e073e5f37cad826173cb422f60bc11208fd0023395603d8d047fa57cabacb428d2f361a13321bc20827d5566dba65bbd827a2f952a065ca19fc208f4617e0bc9bb97e82f4322413d7317c14866bc72242134c38a7774d1580485fa4e3905122ea993b03b12a1f6323ab778fce157e3450eb02357a71c3caf9571fb83718748b2adc18296f570b05c4a77502062841ad216389b3b3b71c0aaca94a7051b0b523504209566bc153b3206b822779a98f59842442cd2b5246c674105b450f8e385d1585e651c934c4312d3208f7740a6f8a47e3393221c40747e452e1b0b7918b64d6c018a130416fd32c20ff641ddf25bec731f9bc9a36da09c1f5a058440b920694b2e9437bf23c1bc80835447a33f40a8dcbca09a14cc83d44b20da529b303d74932cd2761d27f5027fd01f93e907bd0538898078f57395ee2972642097944c19ccbcb4cfbaa79289ae31a230c67218b3c7075ff32563089a1e65aab279c3e4d9c07deba0f72a796f601382385568275c8aa6b26a8caffbb09e44409d1c404b6fd957a967a17c83cdbcab30d299a623d4b0da14a1971a09bc83a59f56a05bc6727d91572bac8fe834105616b5ef3c3e0cc2998f5006efb3673f4471b6e9005957590b749c107a513e07ac15133976c1f4bef1609e71524b877f53fd3133bf71ab13912bf37c2cd7a359eab035cd6907e1096410ab332e10f37c93d86d9b4657159eac1faffcd1688d182d1278444f3029e1be4e1c0258c3a22ff5b50b2674cc094ba7018da2a61569845c17d26f -m = 6250c81126572eec2da330271db36ee591f060fc7e53eeefe2e1c476c675fa33 -ct = f103a6920de65d0ea498eae39ae95eae62bdc25dfca0aa8b5543ae984e1ebc091afd3abbfcb9badd6487c0fe098da4726ec61c5ef50a043fc15a103aa30f6198db5970adb56b110bbf3d000cceb6b701bfad2d41d62e90dd1aba87f8121dee44742fbeb62595515338b504f4fab675f95eb2469b4faf1e6ec61f675d63ba0285728a4303e1c38e0e3857f496bbb4e20185f4054b8e8a6a9a8323ba0c2e25e4a1d29ceecf952c75a4b78799977b3c282cc56647145a6597bcbe549b849dbbda79141657672396a964f1e422af1578a217f32c793fdc118400416d70286b682c6f51e7497c1fb78e1f528a6e1e579f98dbaef4640a5f7d258159ff2b7a156f8cb69c1f438c319c68d2eb367271c1e4390d3d9bda77a0d1cf65274697526972d33179e675550b94980291ba8b353e694904cedbcfd65a291bbf01dbb15bf52e79e7161605f1c61c042a2348a3b85be0eda083b1379a8648403a58dc2dff2c3c4b750f2e5de7f47dfdc858ae3ba20c274146a18bca8b0a2a453654dc680029492d41abf2cb21f0df3d0658c3a0b603478b56e8a2fd686e1e3a83ef2929feb1c62cc81b838071b7ed48bb5e5b80571d92d20b1ef253dfc7da876953be7f632dda8fd32a9a5ce7385d0389e81e8e73d8e8433f187b83b3c4a60cdc625ab11d47a45bbe881520fbe0cf1f7d2d388f1e76e7063b349b1a96679be2511a85d6d155f9d6d08f1be57e11cf0774c30638c313130ce40347e4dcd182a4509885ba71900de4cf919d5a95ba656ffeb4b99447dc1896406ee040b85a46b6e47b6fbcb2d36d06a7598f36fc0ab44c63a0a02b18c39d84b501fc1a9458fde6bce633b36e2337b8e3012c5ffa0dcc6bf59469e77285a62da260e6d3f6662b69d1b91728b7561a849de0bcf7b1d188a0f35ba08f125d4759e8744510858e20ff460c6da1be11a05baddd9837abaa12f49595ec5f953913d639db44a094e5637279154bfca014f555ac75608a14a5655ddcb15907b01c31f12d0d3e2b89a91de48c585df22592f59b1fc0b1b81ff7711011ef9958c9be97dccf2266a5e6c70c542cb6e693fe4ba1b868 -ss = ec2df494562866bfbce748ae941330435364f6b9aca579b73f00d576fdb9f967 +sk = cc781ef0e49bc86b3f35c4645edb42a0a37a17501f80367cca61c8e6b9715f2536a9c27edee33407a159cc1a59cba30e3d79a058c97e30e36dd4553353b057afd87e4112223e38368988256b9c6a1a2214c24b1ac0aa88391b712270607a284862b192a38c2bd62a7a64d3cd1a9bb88d03138c88880817c11105c761c7cd0fa53a2624307df5ab95b2cbe6d87a6278849bfab67c95abb0ec9c58f33be488bf4e963589fa1263d4ccb0606e7d88911c82791a91c90c674af04576e3e31405708fbfca2bf317ad03c187492a6fbf498a66389c9f5469e450c094530324db1cde5b15fea74c9cb7382aeb76405950648255aea13160e41b00bd05e4921ebaecbb23b6a87cc96d3ea8bba500903a44b8a085c97f4820fe502beb69cd71f58c6a9b7089d4bacddcce28d0b63b04b7e33b44b6cb1623e64141fac4b6d573d222a28ba8c02053515504269c501091536d598336b6391148b460a9407b2fe7ad8c439649a9a17e5554bce7a4673b7a0f048f11104bc5b5c0d1210a898502335ca8ce1c2ed6ba29c59189e6c7ca0077343ffc9e213c8f08a5241ee7a43492386409b72a6a8fd01b81836b794e82a7e4031623c977c5b3a665d05d497abb466b73ef05847cba6c7dd9554ae237f7fb92ae70cc273b44436c0070928116b065577a0acc3255956a84b7e64b9935779147819230721840515d073f2c91722d3b9c76a7ad8ecc7bef809aebdb7ab24ac9782c1caa01b8871b01878039173a9c75c27841872d5538a990b530cda7ab670742f9ea32b8289dfa832cc528260688c645f43a7b81601bd68ed2f6a4f5a61a90968329103caef59f80a9c430064bcda9c7d4710f82fc646cda3454893def63c8b3f11cb006580a8a955d5a55d0387ad9c5051cdb8e9a03520b5a7ae0cc5b63a368f6342587144165d08df4a29455b11e6293a638102c0f0836517b15f6b726b5ea8dfc354d84bcc8c3c965dc3788682a411f904d5edb6a25cb4273214ca26c2a8b787fe468463ea0120798b8c5b78d7f3561ecf59aa81ba0503a2f4e777a4dc2ad49bb29edd64cdbe5ab083905d0a19f347c789b08b2608a70da01862dd25b9717bcce38ac41045d44876aade7c1ed6a2aa638994db7011fd42b3d474b08f87b4b2a3b83ea94b4a21d214bc2c974a078b22598a7cd7895942ac29d876b9723f32fc3bb696b467bea64b176c1219732af5e21ab49b49fdb0bcf9152600a1a50b863b591376be4653dfd93b360b853cbe8b8d1e84c1c85460bea5d380130aff7a0ba20a75f8a04238294a4191ebc900d255ba923056464f6621d2b96c493c2e5379a95d16f4b5a72e5c5ba3840517a28ab3d8a8c3b8c63e882ae37f4215a74bf62c54bcb65159f9ccd88e07933d4936f12c2ff174f84a1a93e1a9163d0cce3290324355c1d6b21ed458e2f5883a8806b2d65a5f85b3bc103a692c94333331671f54629e89b1be35c25746130d7a9b939cbe017170fec7d5675b3bba33e4e086d4c6625580536d0c28ab5e073e5f37cad826173cb422f60bc11208fd0023395603d8d047fa57cabacb428d2f361a13321bc20827d5566dba65bbd827a2f952a065ca19fc208f4617e0bc9bb97e82f4322413d7317c14866bc72242134c38a7774d1580485fa4e3905122ea993b03b12a1f6323ab778fce157e3450eb02357a71c3caf9571fb83718748b2adc18296f570b05c4a77502062841ad216389b3b3b71c0aaca94a7051b0b523504209566bc153b3206b822779a98f59842442cd2b5246c674105b450f8e385d1585e651c934c4312d3208f7740a6f8a47e3393221c40747e452e1b0b7918b64d6c018a130416fd32c20ff641ddf25bec731f9bc9a36da09c1f5a058440b920694b2e9437bf23c1bc80835447a33f40a8dcbca09a14cc83d44b20da529b303d74932cd2761d27f5027fd01f93e907bd0538898078f57395ee2972642097944c19ccbcb4cfbaa79289ae31a230c67218b3c7075ff32563089a1e65aab279c3e4d9c07deba0f72a796f601382385568275c8aa6b26a8caffbb09e44409d1c404b6fd957a967a17c83cdbcab30d299a623d4b0da14a1971a09bc83a59f56a05bc6727d91572bac8fe834105616b5ef3c3e0cc2998f5006efb3673f4471b6e9005957590b749c107a513e07ac15133976c1f4bef1609e71524b877f53fd3133bf71ab13912bf37c2cd7a359eab035cd6907e1096410ab332e10f37c93d86d9b4657159eac1faffcd1688d182d127844284837f7edf4788f32e757949cfa69ddee079e2e00e439ecedc8512097e2d2ce +m = 53d3fc9947de6ea6e5b4b5e89d236258ae933c485c2ab4b1d6db8282173a7c8c +ct = 9bf61c809785524284c59ae32e846f69184857c62662d469a54df2cbdbdbf5a1b6e817ec55bd5c61564df77bc156b0dbd0b89c65cfa871cf626ab60aa6b9ce9681ba87c94d8f92534056c86063f3769510865099f14cc3e898d6882a7bc9866a8cbc6bd635ebb334f6397abb94614ab32f968706788eaec4431b8613982a30b8349989a56df01b42ec9a20cdd1a67e50974be695eb767a66996db45062b77142dd7e716f33caba149462fa3cab3579925fca72153fd792754d2dee212cc89164579b744636622f5763eb41504aec69f40dfe777f21b9bdbd818902ba2a8d8c13647572c477a198b943384181ee76b7a11e4a6c85582a115183e64399b7ea987719aec7e13982819052e9299de55f1c6372312d1571a15df2c5be605b30c8ee050d052e53d744f7c6129d84e1e6bb6e3c81e6eed4c625f93df491d9528936a41a3735d0bf76fe6f1f159140ee5f180701ed6f0d9a70ee3db5b7d4758990fc03fdad812a60ff7df15592bed7c0deb3ed9abd340aeb4a05917f36f8e44141b3f73306ec1049d3987281e8d34b8b15327d947717b8a8f0cdfe8319c97716386b62d9d0374cb74f9b46ceff845799ab0de94c3148e2bce6f1bd8abf6cca62c380ce5d35f7fb56937be57bb356bffb0b1fb3425100482d7d45512a7f970c4ad332ebe6015ed242b34ec6f7941bf65290c328b5a68bd677a51131712f49265218436f72ad11c42be54e5da521bff1818fe6d85d3265dea0a4b7994d960c6f0979ac0b8b9169ac3ed9ff0205e1b938ca241d27938cb0cee5cda27793c5d3750f20e15e7d6244d4a9d3915c2c87168c813de1ac49d655ce7af907e992ce07703161cf7a734936e94c3a0369a4f638a954d4a3bffa5939ef5b12b3ecdb707266aef4dccca57c6598e527261bcee4a7258f6f41f164e82a4a656a53a1db84ccd998ee904115423114f30b176216c01461e1ddcf11ab686b05e3527e668763ac58fb88c90e6a1b6d7e8589d7625929abe7f55ec1061a47151b81617972285587cc6b1143456bb041de31e4626946770046f12cf085d430f15d8b8f02eea03d5f36efa32fd3c2 +ss = 6f371f1350be9baf9cd5008007a6b92ed10b65222957608d47779a81f2fdabb1 d = 851ea90fd3854cbf28fe39fb81f68e4b14345cf0d6eee7ec4ce772513df8410d -z = 1c0ec046899a777655233e4e1b5ca44e9afbdc67964bfd5d5e3dbb45e60d03cf +z = 11bfe66d2d15c33524f478f9a6bb3af2a83357197c834d399a8625f761529be9 pk = 055323ba95c83ac687a58a7f92701e7c388a4dcbcc611aaf6399522960a44d316b77734f025218e3c2b201b0816cbacd5b9b303297b0361b23d531a77dc965ee89694288460844259a735cf0c4c0add2457c5724fdfa1ef4546e5ef7c2363760ad478aa7806df9e35f0e46ca8dd643c36c6c9ee3b564181893b1b3ea1b7f74c675e99bbc6fcc96d3fa677b23378a3b76d1f5631102aad2b901d5a7675d541dcfe35e92239776a81e758c1c54e00d380232d5849102117d54144a20247017148584c1038a9329b9ca5c1dd337c1f758f558628c6962eaf49abab214279138db549c04f87bf243bcab3757f75b95c1f08685f20cde8c6d1a353fbdb3abc0599948ebc82e2434aca485d191287bca1678d2ca75497d73296177009bd384a9a5d0ac8b6102760261852b63d0520fe82b9307d1ae2b8c38bc1054c0295f7ae2321dfc82417849a3bba7467232830c35c08038ce2c4562b7a89171864e566121f6278a0b777e02bc50029718709af63a7014d8b9f79627f61b457a25c202a6cdd6f9a59fcc3cda84a1a43620b1394fa65841162638342a24671a6a71e092a7a19866ab7519e723d6ecb836998af8724efcd2941a5bc225f9acf8468b5c68a781b664e3614fee782c20e80cc8f27d1f455397509c86067979d7407b1bb536408c654c624adc0cc126bd3ea29c33f897e168c9c715887474cf1479450b80659f816a7e1999a8f2008cc9cc732a35c8d3b290988dfa31a80fbc1a18a58263c7bf18dc0498260e66fcc6b991b4e91ace50240e7a2a4563460d016314c404b269fa9a8d1b0c074545feb288208b790de67dc3c787a12b0041c52f80ec9f6a96733d874e986a3e06b72cc4b2ad2460b7aa2141f3b186525aa6b6d2901d46ae2f5c7a195c55a48934b4478974370a982414d9a160a8c45aba043dc597a2d2a4acec6708a3ba881c925c215a8063fb80f0114a94c63a1971249368b772a662ac38856c79c7b726884cf5a014527da479c1d7747b4d74cf33f30612b70d1e0c2faea53ea1164bf9733935d51542ba3a47b099fc82cb8ec391a1361c19484f1bd52dc2315e1ffac169c2128e0acadbafd72fca96aed457caafaf51dc8c30ceac70cb4621cd4d7b4c -sk = 9b828ac37baa3ee2be76b5408e60cab8e684e1c16df00c78cfd4700110051efca6161789887899bc71408e32587b52cae8570f9a0c017773b1de06aefa38b980caa7ca23c4534a87bc8b2bf24233df526cf57c7b9ad2b1db465d8529c4855589e9e58f8d52293aea2edf630fbc9968aaf08fbd539849e3912edb91b1184ef56827e104004ca05e75a6c90a4523b39883b66b653dac0ddea5383395498e0b96110c5d62ac3ea60512ca03670dfb89901c089d4c59fa95b6a5911ed4bc0008fbb58f1c0705f152c5846e753482a5f677dd7980ac7a3ea339b1c9112aeaa283b009c466454c8c892b7f8a4be7bb23e057c36e837f67058fc01bae81c259b605a02153ab7874259d7bc593574ace70a22492401e2aab8780ab893a820e33779b9285e0b60a018b3efa88583c76881a1c7277f585d82623c650565e55cdd4708415585abec0bbdb7c8f694b1e998382ea1932a7d9c8fad682d9c62063eccc63cc69f7a7a64505221b2194f24a79f1a10d7a26a1859179bdd45c44d9b04206119ca6ae64b97f4865561a0580941c90acc237e3d3427eeaa15578b6bdc8741ca9a46fea9ea0754208779e9a748a1a648cfc802fb2c1740444a6dfcca13b450c6fe8848eb2370261a1d0bbc39f16320ed4abb7a65ec2ec4ad0838310642f4f752808b3225f112b8e279196107db2407192ec084c5b4010481abcea227ec49f63bace46b67a123a3664fb8df7bacdc8fa44f8c99dca57957b446fb6c871fa64221b3a81c6002208553bcc7a2d89ac403008b1bcb344a2bac20dd166f46212059c429292a36221b6ca51645719002dfa047db11ce9c7a6e26aa77333ae1ee33d8490487f3718f8046a03740aa028871370b0f246cf227c7318558b9241190dca2b6e720e8fc98abd603f77c1a7597c49c3651dbc05540b59bff7912184593c78755421b58ff6c84f1cb173a27baeac109245260f35f14f9f2c2bd694af6146a95e7abec6198344d281b9603a32e45d1a4b359208beee62a60b67288d8663511071fabb6716867f388507a1aaa70d268458504614969c9022a920b45354a89700145941e7a1055323ba95c83ac687a58a7f92701e7c388a4dcbcc611aaf6399522960a44d316b77734f025218e3c2b201b0816cbacd5b9b303297b0361b23d531a77dc965ee89694288460844259a735cf0c4c0add2457c5724fdfa1ef4546e5ef7c2363760ad478aa7806df9e35f0e46ca8dd643c36c6c9ee3b564181893b1b3ea1b7f74c675e99bbc6fcc96d3fa677b23378a3b76d1f5631102aad2b901d5a7675d541dcfe35e92239776a81e758c1c54e00d380232d5849102117d54144a20247017148584c1038a9329b9ca5c1dd337c1f758f558628c6962eaf49abab214279138db549c04f87bf243bcab3757f75b95c1f08685f20cde8c6d1a353fbdb3abc0599948ebc82e2434aca485d191287bca1678d2ca75497d73296177009bd384a9a5d0ac8b6102760261852b63d0520fe82b9307d1ae2b8c38bc1054c0295f7ae2321dfc82417849a3bba7467232830c35c08038ce2c4562b7a89171864e566121f6278a0b777e02bc50029718709af63a7014d8b9f79627f61b457a25c202a6cdd6f9a59fcc3cda84a1a43620b1394fa65841162638342a24671a6a71e092a7a19866ab7519e723d6ecb836998af8724efcd2941a5bc225f9acf8468b5c68a781b664e3614fee782c20e80cc8f27d1f455397509c86067979d7407b1bb536408c654c624adc0cc126bd3ea29c33f897e168c9c715887474cf1479450b80659f816a7e1999a8f2008cc9cc732a35c8d3b290988dfa31a80fbc1a18a58263c7bf18dc0498260e66fcc6b991b4e91ace50240e7a2a4563460d016314c404b269fa9a8d1b0c074545feb288208b790de67dc3c787a12b0041c52f80ec9f6a96733d874e986a3e06b72cc4b2ad2460b7aa2141f3b186525aa6b6d2901d46ae2f5c7a195c55a48934b4478974370a982414d9a160a8c45aba043dc597a2d2a4acec6708a3ba881c925c215a8063fb80f0114a94c63a1971249368b772a662ac38856c79c7b726884cf5a014527da479c1d7747b4d74cf33f30612b70d1e0c2faea53ea1164bf9733935d51542ba3a47b099fc82cb8ec391a1361c19484f1bd52dc2315e1ffac169c2128e0acadbafd72fca96aed457caafaf51dc8c30ceac70cb4621cd4d7b4c379c9176059f3a7ddfe021041301bcebbc91e997a0d5bf2ed1d9d125a71298341c0ec046899a777655233e4e1b5ca44e9afbdc67964bfd5d5e3dbb45e60d03cf -m = 35d470bcc5880872754810dfb3f2796da2fd7f397537146f6488c27804072b34 -ct = 77a6d1950df2f7de9d7ed9f3df6c7ff6cb9e4c6315802797a1938664a54ef61a98432e11b1228ed872045afc011896e6afae1cfa4c70a769fa33656b799adfed7c5542b5e0814003cddfa30dba6690fa6b41a92df56bf5eb0fd38b47ee121c6a5f29613170291565feabc690a05a4635db0383d62e1c114723f7df6892c2e3a84af47c50b932b7e7bdba70d728cc111cb6f7c8aec06c5858fc57ae14da29af1f54eb3d8d1c2c98007dd4500dab2710ba1267fbf2bbf49373c6f637cf487384d19ab269a115d7ec86347a0aaa7556c805cc19cfe9eebd28fc3a71d3c6c0e6f4d247ad7845e004f3f40230f0eea5ee744431fcf769f4ed64ef8ec46b3140bc11baddf5c6d46c0891a72a517a5c21882c0df57ac599aa9d2f6706e1858b4c8ebe6feeaaa495c22b56d54853db69fed7fff97ed312d304d39a3f84db43ccfddddad2d8e3617660cf3c65765bf373e0ad3133a2928ece9774645e03c5d8c67daffe3385e13301b5d0bbbdcf50fa5511b64ba808103f3d56f82de5675ecda72723d22daab7f8a94b598f9810f1181ef9ce796b58ce6cad513464ab8a0c6f0b7eefcc8f33b5026fb5b50e91bf837d1365e4053b2f3182bdd39b69ff1a7d1a4d586bdbae2fc68a10e1f28987be6fb0d1dad2a9a06b050ed93b50f24521efa50c757c4ebaf964e2621c26a8fb70285d4a7c9a4546752dbf1ef21f7a28fc2f9c5fcb691864ed2bd7e85753fff98427be3c0782e63724bc1b9c52dd643da223cecd8c4a4382ed3c9b98de12fd96796657679094f9fb5ba09aaed9763e2d20a36e7191b93741ecad6ada10ef4fa170faeb17b1492f375aaff926397bc76543f1d63e5062143d2813b8b0a3b621b4bc3df0cc288810927a37a60d597845998aa1a542e49367cdb07d7a13d8980f1d0f7a0118bfe7bb088903f8947001a1e1eb3ad36a69a8a28b09fec1dd7efeb62c0e32b43e46c0c0e37dcc6756066e34ff9dc74b7085c073f0cd71ca4df6c7c3c6890c44c97a3e0f2a10a6c69afb3d34f3e80e051f486b223486af140a040a7996dff81f1bcad401219275a148f87e2ee72f2e0c2f19e03aaf -ss = 6613e6135f8bc9f03a2e1207c85cb568e4fbb7ac5cb525e2c9951b040294d360 +sk = 9b828ac37baa3ee2be76b5408e60cab8e684e1c16df00c78cfd4700110051efca6161789887899bc71408e32587b52cae8570f9a0c017773b1de06aefa38b980caa7ca23c4534a87bc8b2bf24233df526cf57c7b9ad2b1db465d8529c4855589e9e58f8d52293aea2edf630fbc9968aaf08fbd539849e3912edb91b1184ef56827e104004ca05e75a6c90a4523b39883b66b653dac0ddea5383395498e0b96110c5d62ac3ea60512ca03670dfb89901c089d4c59fa95b6a5911ed4bc0008fbb58f1c0705f152c5846e753482a5f677dd7980ac7a3ea339b1c9112aeaa283b009c466454c8c892b7f8a4be7bb23e057c36e837f67058fc01bae81c259b605a02153ab7874259d7bc593574ace70a22492401e2aab8780ab893a820e33779b9285e0b60a018b3efa88583c76881a1c7277f585d82623c650565e55cdd4708415585abec0bbdb7c8f694b1e998382ea1932a7d9c8fad682d9c62063eccc63cc69f7a7a64505221b2194f24a79f1a10d7a26a1859179bdd45c44d9b04206119ca6ae64b97f4865561a0580941c90acc237e3d3427eeaa15578b6bdc8741ca9a46fea9ea0754208779e9a748a1a648cfc802fb2c1740444a6dfcca13b450c6fe8848eb2370261a1d0bbc39f16320ed4abb7a65ec2ec4ad0838310642f4f752808b3225f112b8e279196107db2407192ec084c5b4010481abcea227ec49f63bace46b67a123a3664fb8df7bacdc8fa44f8c99dca57957b446fb6c871fa64221b3a81c6002208553bcc7a2d89ac403008b1bcb344a2bac20dd166f46212059c429292a36221b6ca51645719002dfa047db11ce9c7a6e26aa77333ae1ee33d8490487f3718f8046a03740aa028871370b0f246cf227c7318558b9241190dca2b6e720e8fc98abd603f77c1a7597c49c3651dbc05540b59bff7912184593c78755421b58ff6c84f1cb173a27baeac109245260f35f14f9f2c2bd694af6146a95e7abec6198344d281b9603a32e45d1a4b359208beee62a60b67288d8663511071fabb6716867f388507a1aaa70d268458504614969c9022a920b45354a89700145941e7a1055323ba95c83ac687a58a7f92701e7c388a4dcbcc611aaf6399522960a44d316b77734f025218e3c2b201b0816cbacd5b9b303297b0361b23d531a77dc965ee89694288460844259a735cf0c4c0add2457c5724fdfa1ef4546e5ef7c2363760ad478aa7806df9e35f0e46ca8dd643c36c6c9ee3b564181893b1b3ea1b7f74c675e99bbc6fcc96d3fa677b23378a3b76d1f5631102aad2b901d5a7675d541dcfe35e92239776a81e758c1c54e00d380232d5849102117d54144a20247017148584c1038a9329b9ca5c1dd337c1f758f558628c6962eaf49abab214279138db549c04f87bf243bcab3757f75b95c1f08685f20cde8c6d1a353fbdb3abc0599948ebc82e2434aca485d191287bca1678d2ca75497d73296177009bd384a9a5d0ac8b6102760261852b63d0520fe82b9307d1ae2b8c38bc1054c0295f7ae2321dfc82417849a3bba7467232830c35c08038ce2c4562b7a89171864e566121f6278a0b777e02bc50029718709af63a7014d8b9f79627f61b457a25c202a6cdd6f9a59fcc3cda84a1a43620b1394fa65841162638342a24671a6a71e092a7a19866ab7519e723d6ecb836998af8724efcd2941a5bc225f9acf8468b5c68a781b664e3614fee782c20e80cc8f27d1f455397509c86067979d7407b1bb536408c654c624adc0cc126bd3ea29c33f897e168c9c715887474cf1479450b80659f816a7e1999a8f2008cc9cc732a35c8d3b290988dfa31a80fbc1a18a58263c7bf18dc0498260e66fcc6b991b4e91ace50240e7a2a4563460d016314c404b269fa9a8d1b0c074545feb288208b790de67dc3c787a12b0041c52f80ec9f6a96733d874e986a3e06b72cc4b2ad2460b7aa2141f3b186525aa6b6d2901d46ae2f5c7a195c55a48934b4478974370a982414d9a160a8c45aba043dc597a2d2a4acec6708a3ba881c925c215a8063fb80f0114a94c63a1971249368b772a662ac38856c79c7b726884cf5a014527da479c1d7747b4d74cf33f30612b70d1e0c2faea53ea1164bf9733935d51542ba3a47b099fc82cb8ec391a1361c19484f1bd52dc2315e1ffac169c2128e0acadbafd72fca96aed457caafaf51dc8c30ceac70cb4621cd4d7b4c379c9176059f3a7ddfe021041301bcebbc91e997a0d5bf2ed1d9d125a712983411bfe66d2d15c33524f478f9a6bb3af2a83357197c834d399a8625f761529be9 +m = 64e3fbdf8d2349a497b5c9fa3ad3f7396fc1a9769175a336181c42e95c4889d1 +ct = c8b13903a3639c10cd402d325f6f2fdc747eb197b95cff729f3c923d7698c48b7994f29e82d62e258ffd16f7e5f68897219fff38dd44c412c3b7853a5632a3bd3f08b55c52cc1bc6a3b4dbfcb761c672ba8be4b5efb4fcac26b25c6279f67624f14afb1e07468d7bdb0c0fc7ae40b80b074356a4a8480d8bc522d73d971f84cad77cfe8de91b7395ccb57b5cd2a2c8405dbd80cc8a84a98b34da79b61bec8ec5fb2a9f4d49f1993649149472281e0b214e70954008182c271b06c6147f3863c35f4a91de691091f98680c974208d13c8ff9781e646d34a7a091ee4a3ad7372438516f58271a8625f62d6ee744f6c177737ad8b10be74ee0b52ce2e28615396482aaa24ca4fdad876dcc1da6df3f8aa4ccf0185733b555eb42d1b15dadf8d67e8808743cd1a13b3b962a95bce9e9a46267883a24c2f82ad928e31d2de44f26a22a96c79cd59bba1cef2ae72dcc48cf94100b90cc37fa03b22c944e7181545cbf6ef38ba8ddd8e1c82a657d740c1e6ef570d3bfd94c04aee371cb0fddca1f01539c23faef8ff988b3e53f6d4408cac036081d4ce0027284e1b6fd47fe93de99c3c81eedb49795b5106973c88f7726e15ea6d4857aba7cd40e155110dd920b1bd1f8aa03ec0e8b148d887affc9fa9862b956c89189d7101e888f12cc3d329d708bfea96d9e8ac8e7e4c7290a00b733e2c1735dc9480513ce1e36928f784a8fcfcf5187cab5510978957e7bb2394f639c708c4b6bcd91873a217f5c28c5e9955c370791c966fbdacadde208b7e45a63a633600de2606f98d5e2a6f78eaf96c87d7d6cec5649df17e6f79f5c35fd4aa654d65ca639c26d126723eb8951b392143dd120ff7f9c18731893cdf185fd91f5decff0db390f7147b1bdfddd4e5e243d649315f7d75a965eeba85a316c37a3a282ff521dd88a29aebe756a0a9659f7ac386d20530afb1c25be9f60ca3aab04df861e29674dc3c14119dd570901bd7bfef690d6107a6157d491623d589737ef43d64724de7463277ce5807e72ed8d6759725753f2ff0e1781650f1493c89fb9291395ceeda63fa3a19b94560848cd5d02c74dc +ss = f7b0bea7f7b7fb72fc2ded9da1539a2e867a9e29611af5633191ef11a052a5ea d = d304c9389cc973477f169788abcb9d511f843219d246a9b587822f422a70c238 -z = 6590a2e5c7ed86cf2c5c2a898662bc9a81418720bbb632ef9cf0b845ed052d73 +z = 10efe801ae61866a7109f40ed932e67b0ae9e966d1ec5f917e4a9f31a27ee13d pk = 7f010097591e75470eb931b90d0a7bb708c1b5e97fca41b6161ab4c1cc9ab3cca4ef8804c76c45c44c4bfba29d978014e36195cfcb04ce7487994261638a779fc540b6d0286849b7cf51b8b648ad792bb225b42b637693f967c21758cdaa71134cc68d8bd7198b2a971071373f772f7044b912775652d1b78a9c18c7f00a86526b134aa656801b507714ab6a37fc57051df46a4ffc2899411eb6083df07a9e59c2c55d626d0bd04425583317ca5c7ab86a6c3867786aa2a69cc8e114637404bc4e0a1f9d9416e2b2ca22cb20f8f4ce3080aded2262d885780c9c4f171685b466a5db14bface3cfbd979895586a5f1a2bbb7626e567075c004b92301bb60b0e3208882329cb7de807a38656f98abd1a326ded150401035c816b9e7e677a29849caa7227d57b7969541e11f601526a15631c75f6e9be24d54773f906f394643ae31161898530344c07693c4edc042ae805b92157b6637722146f16f49297370a074962edca884a2cb091568e70e3a57ef2aff79b17ba6226b396a5702673704b01d7959c180513e0ab03a421425274ca53774557a8ba060817b62b8abb20596eaa16810513885435486bbb5fb83c7a9969ac593881173377b1b79ef4b7f20b0b6ea325826667fba3c4e31227cd858578bb771c27abed688844b95a4906c290596ec7b14dca4a60cf8bce7d12545833803351a0266384ddc2673048aa660b9a8db520d37ca59ea19cc6f19eb9e63d6e842076b397f5027ffee9672e91ba1bb50f0ce37410c686e9952d86f4752fa650ca2c30a03cac426830cdf4b5745a40bbf53781abb1a2c3637e227c963029e7935814fa0b11c4b0e695aafbc75dc2e90d8c63740c8875601008b8959ff214b513d42056f78457b45e47285440306d15e3607a130a4d6b2bc0904c6bc35e4b99b55f443d9cab423dcc46460b973963cdc92382624c07c4f26fb449a412c37b73037131c81af9084eabc16b50956ed9daaee0f4153da0c959c40f78366867e11378d2bccae21762b543d8b2ce2d7ca79cb7ae2d06544982728a7a2ce39ab54df83521312d942c26f618ae5491bea73556eb297fbda19c123c24504ecdf72189dfa1cd24ebf011a3bb66d35f78633e1ee7b249ff -sk = f2dc1b40867ecca65895960fffc60469d809a85cbb383886b9d037785345d57936dd7ab93ae0504df32d8438662f050720262592902489f9a90233cb20a5492bfaae4b444ad1d8c84c0a37f6c928b8a89c22a326835073b978a200212c5b000334bc936fb3c8f2626c862c52025a73425a0e16f40d2d87556440659ab53d6db763b7f19a00ed6a99017a5677b62b141abd908a51672a65e31493659762a04795f80f254ca4d3683cee608df6c79a70994fde528775a991bfa1035eb1bcb6da3c63432bf958790a81620a614e3a330c1dc658e7398739b75e1437451d21368c798009178a830c19b621802d848918ab34440175c825232e70637527c2e276ba02aba363f082142c9e4cca09515c801ec78ac7ac68669c2a054cba8008603f9a3368793c0bb73462182977d202df4abeede70921110ce8e6108b784a2be9b4410876b14a097d50bd8cb933ab160860950656f006a0786f1894736c7c694e8a81a301b28b9a43be14352661a1ecd11104fc52db91c1e9f85f1bfb20ccc971f2ba8505890dddc3118ee98cb2459cb2e003de4b3d4edb74c934056f4a824b721e37d247142bbefe25acd52b3122519fee154d9c098525839d9e8593d3a5b2ddf91be4286a4ff470d45b55f5f75db92b8adc626390698bd780977ff5902e206669e092ecd5002f43801bcc14e75553ddd5a122ea24bfc1b799a727f5362ff90c99b035b3b2c545e985860bf8c1fa517d348a88bf85690e911192a643de17b25363686f6a3f7d643cac6b536c8b536ab84e3e6b1200dc7f71a989d04098ba39cc15d2776d50b391522e4ba60916625941594f76d7469589085fe45793529924d6bcea397fafe8a963311581429f194a76d627583b51675db41bf42650dd44c598c1aafc177dffbbc6bea8bdc76c143f82b032f45eeb770231e8b85c8744ba9507f7dc00b0d05772b927c09cbe92a05c80987080a69d560094b3b021c38a323622c362fa0809259df6cb8138d9774af279d4882e4334aeb7a9b1ec82648d407490d168a95c769869a8e6521156867b1db3ca7559ad74574ed6c61b5260b7eabc54b3384d7f010097591e75470eb931b90d0a7bb708c1b5e97fca41b6161ab4c1cc9ab3cca4ef8804c76c45c44c4bfba29d978014e36195cfcb04ce7487994261638a779fc540b6d0286849b7cf51b8b648ad792bb225b42b637693f967c21758cdaa71134cc68d8bd7198b2a971071373f772f7044b912775652d1b78a9c18c7f00a86526b134aa656801b507714ab6a37fc57051df46a4ffc2899411eb6083df07a9e59c2c55d626d0bd04425583317ca5c7ab86a6c3867786aa2a69cc8e114637404bc4e0a1f9d9416e2b2ca22cb20f8f4ce3080aded2262d885780c9c4f171685b466a5db14bface3cfbd979895586a5f1a2bbb7626e567075c004b92301bb60b0e3208882329cb7de807a38656f98abd1a326ded150401035c816b9e7e677a29849caa7227d57b7969541e11f601526a15631c75f6e9be24d54773f906f394643ae31161898530344c07693c4edc042ae805b92157b6637722146f16f49297370a074962edca884a2cb091568e70e3a57ef2aff79b17ba6226b396a5702673704b01d7959c180513e0ab03a421425274ca53774557a8ba060817b62b8abb20596eaa16810513885435486bbb5fb83c7a9969ac593881173377b1b79ef4b7f20b0b6ea325826667fba3c4e31227cd858578bb771c27abed688844b95a4906c290596ec7b14dca4a60cf8bce7d12545833803351a0266384ddc2673048aa660b9a8db520d37ca59ea19cc6f19eb9e63d6e842076b397f5027ffee9672e91ba1bb50f0ce37410c686e9952d86f4752fa650ca2c30a03cac426830cdf4b5745a40bbf53781abb1a2c3637e227c963029e7935814fa0b11c4b0e695aafbc75dc2e90d8c63740c8875601008b8959ff214b513d42056f78457b45e47285440306d15e3607a130a4d6b2bc0904c6bc35e4b99b55f443d9cab423dcc46460b973963cdc92382624c07c4f26fb449a412c37b73037131c81af9084eabc16b50956ed9daaee0f4153da0c959c40f78366867e11378d2bccae21762b543d8b2ce2d7ca79cb7ae2d06544982728a7a2ce39ab54df83521312d942c26f618ae5491bea73556eb297fbda19c123c24504ecdf72189dfa1cd24ebf011a3bb66d35f78633e1ee7b249fff5515b23187af5dac6d1d090bc7bc01df34ec781561e3d3b8b62164f749468026590a2e5c7ed86cf2c5c2a898662bc9a81418720bbb632ef9cf0b845ed052d73 -m = 8d667921c5db401a86fe1c35dfcf164a6bb2ab7400fd6a0b67eafd4a0ed11940 -ct = ad3d21ca26f64ea4d45601bba4fcb282bb0f185a865e74b30b3724d4cafb7101705c64415311801ec3d3df0fa7af6eeffd84a4ff21fc03abbba8b89e1893092a9bf5e5637d206c99761f580ece7cea877ed894d6fdfa32dcc2b6535ea687f53d7c5f36247719622e1d3d466f619f449e1caed985e5b6543258b8b9f18a04c9684b59420177dc03069868a6f868af9758cc877ee35d69ab491c84ac74dcfa0dd618cd37f11c3db6799ad11e50ea2a9886590a1bca6413519134bab67c2706e596f509221b7af0c9cfbd913472560f40c91e5b8d44c51347375cf639718d876d10ce0f0f7138383258921659fd4148242606562a792cf1b812051c9ddd00294978a0594ef077efe7efcd3ed35835fdc54d2aa1b3b5c339e00828c0f1b8f52777ca14c93c83aadab073f1de8e47069700701829ab595f74a1c37a292d06464bd339b84a7049bddf753b466fb9c13bfb7e0afd0b8319c6b685aafe8f4463ef83e6018fc92e95a15edc81e1f930a475791d5cf3e6ef301b6b2d0051d244c467837414412ab2961a3902a42523ca5d379828c35bdfb951e2b2376d76a0f036b102342137e804ac71fa40e748a4bf1407e30ef8aa847523633fa3c3e3917fe4891f11140a0cd6759b61d4fa6e6235631bba18788910ebe68bb174c73917723220dcc1858049b15ad5f6db1d31940cfea9e21e6fdafc427cc51cc324af0339b5d16459cdc01b8861ed0dfbcecda125a51fdd21ef8314a3e6d2ccc320e743cea8c13ee1418dde8a7fc4eea2b10a62fa15992c988ffe1b8cd3bdb97bac5e397528f13b87388e46186b6eac6a27c856422537e26f943c39f35e48a8add22a04ee044777a12f7232ab5de094f34cc9cda448e3bb9cb06697128e5638e244ee7006de63623918b8b6860575f56c6a9d5c2d3548d97c6b8b6648c034878f2930433ed0ff52f78a438f6de25c134eb86d925a8dc5b747eb741fa90a8f1132c563435409eb81731b5ec1ca0ed4e6ab28a16ff7ef26dc633a1fae306dccbcf1df8131a4083d330751e56da8427f098d0863fef4010ca54803f130df54356f7b6b141efe76ce438d4d -ss = 54cfe9697319a1d1b34e8e9a80d019ab5f574655763c9e36da4777f0a971bfc1 +sk = f2dc1b40867ecca65895960fffc60469d809a85cbb383886b9d037785345d57936dd7ab93ae0504df32d8438662f050720262592902489f9a90233cb20a5492bfaae4b444ad1d8c84c0a37f6c928b8a89c22a326835073b978a200212c5b000334bc936fb3c8f2626c862c52025a73425a0e16f40d2d87556440659ab53d6db763b7f19a00ed6a99017a5677b62b141abd908a51672a65e31493659762a04795f80f254ca4d3683cee608df6c79a70994fde528775a991bfa1035eb1bcb6da3c63432bf958790a81620a614e3a330c1dc658e7398739b75e1437451d21368c798009178a830c19b621802d848918ab34440175c825232e70637527c2e276ba02aba363f082142c9e4cca09515c801ec78ac7ac68669c2a054cba8008603f9a3368793c0bb73462182977d202df4abeede70921110ce8e6108b784a2be9b4410876b14a097d50bd8cb933ab160860950656f006a0786f1894736c7c694e8a81a301b28b9a43be14352661a1ecd11104fc52db91c1e9f85f1bfb20ccc971f2ba8505890dddc3118ee98cb2459cb2e003de4b3d4edb74c934056f4a824b721e37d247142bbefe25acd52b3122519fee154d9c098525839d9e8593d3a5b2ddf91be4286a4ff470d45b55f5f75db92b8adc626390698bd780977ff5902e206669e092ecd5002f43801bcc14e75553ddd5a122ea24bfc1b799a727f5362ff90c99b035b3b2c545e985860bf8c1fa517d348a88bf85690e911192a643de17b25363686f6a3f7d643cac6b536c8b536ab84e3e6b1200dc7f71a989d04098ba39cc15d2776d50b391522e4ba60916625941594f76d7469589085fe45793529924d6bcea397fafe8a963311581429f194a76d627583b51675db41bf42650dd44c598c1aafc177dffbbc6bea8bdc76c143f82b032f45eeb770231e8b85c8744ba9507f7dc00b0d05772b927c09cbe92a05c80987080a69d560094b3b021c38a323622c362fa0809259df6cb8138d9774af279d4882e4334aeb7a9b1ec82648d407490d168a95c769869a8e6521156867b1db3ca7559ad74574ed6c61b5260b7eabc54b3384d7f010097591e75470eb931b90d0a7bb708c1b5e97fca41b6161ab4c1cc9ab3cca4ef8804c76c45c44c4bfba29d978014e36195cfcb04ce7487994261638a779fc540b6d0286849b7cf51b8b648ad792bb225b42b637693f967c21758cdaa71134cc68d8bd7198b2a971071373f772f7044b912775652d1b78a9c18c7f00a86526b134aa656801b507714ab6a37fc57051df46a4ffc2899411eb6083df07a9e59c2c55d626d0bd04425583317ca5c7ab86a6c3867786aa2a69cc8e114637404bc4e0a1f9d9416e2b2ca22cb20f8f4ce3080aded2262d885780c9c4f171685b466a5db14bface3cfbd979895586a5f1a2bbb7626e567075c004b92301bb60b0e3208882329cb7de807a38656f98abd1a326ded150401035c816b9e7e677a29849caa7227d57b7969541e11f601526a15631c75f6e9be24d54773f906f394643ae31161898530344c07693c4edc042ae805b92157b6637722146f16f49297370a074962edca884a2cb091568e70e3a57ef2aff79b17ba6226b396a5702673704b01d7959c180513e0ab03a421425274ca53774557a8ba060817b62b8abb20596eaa16810513885435486bbb5fb83c7a9969ac593881173377b1b79ef4b7f20b0b6ea325826667fba3c4e31227cd858578bb771c27abed688844b95a4906c290596ec7b14dca4a60cf8bce7d12545833803351a0266384ddc2673048aa660b9a8db520d37ca59ea19cc6f19eb9e63d6e842076b397f5027ffee9672e91ba1bb50f0ce37410c686e9952d86f4752fa650ca2c30a03cac426830cdf4b5745a40bbf53781abb1a2c3637e227c963029e7935814fa0b11c4b0e695aafbc75dc2e90d8c63740c8875601008b8959ff214b513d42056f78457b45e47285440306d15e3607a130a4d6b2bc0904c6bc35e4b99b55f443d9cab423dcc46460b973963cdc92382624c07c4f26fb449a412c37b73037131c81af9084eabc16b50956ed9daaee0f4153da0c959c40f78366867e11378d2bccae21762b543d8b2ce2d7ca79cb7ae2d06544982728a7a2ce39ab54df83521312d942c26f618ae5491bea73556eb297fbda19c123c24504ecdf72189dfa1cd24ebf011a3bb66d35f78633e1ee7b249fff5515b23187af5dac6d1d090bc7bc01df34ec781561e3d3b8b62164f7494680210efe801ae61866a7109f40ed932e67b0ae9e966d1ec5f917e4a9f31a27ee13d +m = 7274cfcaf30a61d198328be008f814b2a87d50570b58a80c03ff151a774c589e +ct = 92ef6522e66d773a461c18bfa7949661d8da9667c947d8e7ad9ffe80761a72da1565b6ea6d48108c810037a0b78703f008097d60bd4b84923ede5f74a305c31facb819e1666de02393d770ea89aeac43201dc824ed5227c4f0a598ab503f07c6e8117b9f5e90fe18d49370d3c046cea20bed9a88e81538df47b334207b2a0be36de76619dd9e09dc12b61202159da5543f333f196a6c77da1952aff2c3390229bbfa64b92f360f1ade01ba2d8e4eff583f8cd0ba718152f8eaf040fa9c7f1d9d3bb6f9c816a3931d60cbeda702966ca5596af470917563cd6017d72984b9ea5f1465a0b5ee8bfbd647c6d1fb2aa8975526209668a0d933387f15060ebf0079bdfd59d314b28d2b9029bd3abe776a52a2466724c8e7052567ceef2bec568030a804eb8bb6b9e033144e5fe41e7c26bbdf66c194dd27060df224776577ea4e98ef129ffc6994da3125877e2f01312f815cb732c45bf41df1ee97f4b33773b27eab8fcc02fc744d0923ef515ee78c244cd82b6f2dd5cb7f599757a3bc76b92d17251d04265a9cfe427162108c94f758a38938a3c75e2c4990b74e15bd562bfcc59b22c862d5bc9d932cdfcb3252ebaecbd1461d0a74c632b4667c4d948e06dc9319de8e8c9679a7c9a20d4f0f79414c8ebe4710bfd0704990f85c8cd196b554167018d4e3e3bb910c62425a91096c6e6e5288cc2c45655028c9833251fb7a1f9218ceb476ac50897253898f7ffd71946492b2a0e514b6ae3a28c347940c5a997aa6ac232bf81ad5d2cbcd3640c0e5504bcfc91a23b68384ea8c9b95d6e04d002fa58cab50c2251ff2009bae11908c537a2f41c1c7d892b83021fc2713c4c33dc237edaadfaf4c598db7c19d8b67b8810bc2c9b801075bc2449535d7412ba793837c0b762890caa9620000c6f1d6c659b64ffa9fb02255e2f00d462a49a7024cbff579cc57624f2041b5afb143ae90daa985f977c7c108a9b1cb74d085ff1c63c91b273655ef44ff3aa1817ae95f91fcf57e8eff2e47cb44274f29f4ebb1be62e1ab8f29c19aaa3bbfee96582e138247bf4f04119c71c546e42358647603cba97b75 +ss = 789f9283f8792ba5001c4b71ab585a379c1bc9fae2ab9f8081f1141777167ac1 d = 89a6e3be304a3518fb82b18ca730f0b359cd6ba90664a493fb4f8edaf965b9c3 -z = b6591121e25d64010c25a18676033e1d7278ac5f2d0b43a31f3a4156ae710465 +z = 921bbfbfcc283e1d1db36e99b9cc6ccfffbfdb86dab7b6c7ca02cda227da8632 pk = 412ac5007438690416fad3acf0bbb1642132613200006b4a502975fee79d2b7aaa8ae2745e16c0a666c8a3a24a990cc4646c8bd9e6744d6245fad4b2acc58b0001a7a351b61debc0cdf85b5b5a188d040d0994027f8131d9706aab35763e4aa232554cebd44886a70a7a846e67c3842e96a3df7233112271ba001105e2a35b5689378c108ef44f8ff858435b7fa1b1376f4c5276a4002732b81974c79ad23143d8134fbbb2426c9baf566b777803a354c5afe8a1b840ca5819a3d612752d047207181bb6c049f70656c22589d1fb5d5b9506f432b52dc933d0e816b180681d7743aca5259f92b8b2309286b680d174b267c5bb01e38224763a26db0b36520477591b0707b09e97ac78fa71e43154afd39266217067fb6271fb4c16c71e277a0ade710562ec287b7493e4fb453c098e5d991fda9abf9e9a29e7b28e0cabb4be5c8a3f490265f5cc93a0b3a52881ad806f4b58913aa67340496c73f3656c7586d4b3a3ad06a0a3fc5e6c7053a48a5168934f0f2341bd263648291078554692815e1b69b1fa97031af13901c4a90546396af914f1dc6d09f58c4af89474ec34614535a6dac8d0301f67339baa610cd5d9c2ac832c54a55175567a5565c478cc5fde74bf2614c6815152e83a615de8ca9ed465a05507b9218ad6f7b9b2799e2ae040084287c19573ad0200c8e683d138ad4e8804eba5729aa81c1e1a9ad034a352c156e9ab635e849f65a37ecba8c0009843016266d0e4a2bdd7b23fdb638c79c73e7b51fc6c72d5b68c9b461cdeb83b637196d757999523097a00920d0677ad5c23906a3fc9054f1a3176d5759d39a03e591bc10a7cc7e05397af2c0f60e84de24318423c0470b82acbe97f3a9889c2f45418ca28fdb092ac703a6a9bafdf6b0d05182dbf9a55dd3397de5a9b0d7c4950653652c035addb2ed3abbce4e755d2519e881266d28524c2736b5426ba55665bafd66ca2875c1a96bb759ace54dc4986e6b76c7811966b7e202395d4a46d81b0b3c2d3950fca0cdd208cf462b688919b79366381a11a6e195cf234cbf10724d4c3b9bdfb0816160215bc6d5102689a21af235c2d8dbfe40dd56ce5de6756cc4b6afdf64050da2eecd9953e893c53bf7ffb -sk = 8416677d2606e578c24f59b59138c6cb1144c6311541839bf79066650180799862d0049ff1fa13d0b2c1b4227d2e673c9cf09af164b7fe7ab10b1928aa910f5e81401920cbd4c8bae6a71fa3f783bf8616a2eb7dbebca74ec94514c9a99a16b75c41a059f437e7cc3febabaac6918ac41b40f3b8bb287009e2c29a4fa586ed8400742b7c05b252210282f7959a72c2b9921ba415b5b2b78106d7c464e0a01c229046d05abf7a611bb48b07835a461264c0bb5770906812a60253570505af040338445ea2e072844445cf1050ffdc7f29f228c66a4a402b98db0c497bba0ecb68cd93b542e8bb6b40393d73e7ac51d093c5c15ef9d4a7a8d056259c06977ba75f4cbf5caa86f5568c422c1424d123721ca09792c16f948d7b84b758375e93b156466b8f0202c7bad31decb489dc0cca1c0788887c0d57f3808e16634b061d5aca96f96b9653827387651271eb05d5320230293b39747e001bb875728d2f2a4fde26981de26c68d542496a92f5871aa7438452073653d14cef0b2b6d380daa531874b26370026ea59884d47528877aafd444a7ef16c03dc780bb938f5fc94cecb5892bda259c9a625e68b89e374b6d134c3291168cb05065953c851aa1e5458e151a3b49f47894e646311575691342552a27116399b3e441d7524b9a923d616a4d9837b05301c1467991fb81492292b5a7dc2e13e44a83265aff2aa03c6465ed1c1ab1681bf0346aff84bc61e5cf3da10525c4ab56a85a053469ae73bbcc77c28decbef6007edd003cd7594b9a30ba6c18617fe15ec8d549530c3f7978ace489b4a9c0864e175680a7c8bff43e7175b393a2432126c945755979b36bf9ac10d806150ba38280a1c7299a64a085ca55b49cb723a9b0ba1009965a0ec66a7e6341b2a5c89a1a0ae6a3a2098319200bb06f52be404890f7eb66e9367ef0a5a92f526ea9e8b43f60bfd80091b4525184c223554023d7e698ec144d1acc6d1f194b73184267a03b6bc43b42a07bd9a5cac4388eb4a2323b723152e6a4f617a0649c469b839b555cb56329186e675b929c8dc4c83977b32967227bb7f971de607ad49579412ac5007438690416fad3acf0bbb1642132613200006b4a502975fee79d2b7aaa8ae2745e16c0a666c8a3a24a990cc4646c8bd9e6744d6245fad4b2acc58b0001a7a351b61debc0cdf85b5b5a188d040d0994027f8131d9706aab35763e4aa232554cebd44886a70a7a846e67c3842e96a3df7233112271ba001105e2a35b5689378c108ef44f8ff858435b7fa1b1376f4c5276a4002732b81974c79ad23143d8134fbbb2426c9baf566b777803a354c5afe8a1b840ca5819a3d612752d047207181bb6c049f70656c22589d1fb5d5b9506f432b52dc933d0e816b180681d7743aca5259f92b8b2309286b680d174b267c5bb01e38224763a26db0b36520477591b0707b09e97ac78fa71e43154afd39266217067fb6271fb4c16c71e277a0ade710562ec287b7493e4fb453c098e5d991fda9abf9e9a29e7b28e0cabb4be5c8a3f490265f5cc93a0b3a52881ad806f4b58913aa67340496c73f3656c7586d4b3a3ad06a0a3fc5e6c7053a48a5168934f0f2341bd263648291078554692815e1b69b1fa97031af13901c4a90546396af914f1dc6d09f58c4af89474ec34614535a6dac8d0301f67339baa610cd5d9c2ac832c54a55175567a5565c478cc5fde74bf2614c6815152e83a615de8ca9ed465a05507b9218ad6f7b9b2799e2ae040084287c19573ad0200c8e683d138ad4e8804eba5729aa81c1e1a9ad034a352c156e9ab635e849f65a37ecba8c0009843016266d0e4a2bdd7b23fdb638c79c73e7b51fc6c72d5b68c9b461cdeb83b637196d757999523097a00920d0677ad5c23906a3fc9054f1a3176d5759d39a03e591bc10a7cc7e05397af2c0f60e84de24318423c0470b82acbe97f3a9889c2f45418ca28fdb092ac703a6a9bafdf6b0d05182dbf9a55dd3397de5a9b0d7c4950653652c035addb2ed3abbce4e755d2519e881266d28524c2736b5426ba55665bafd66ca2875c1a96bb759ace54dc4986e6b76c7811966b7e202395d4a46d81b0b3c2d3950fca0cdd208cf462b688919b79366381a11a6e195cf234cbf10724d4c3b9bdfb0816160215bc6d5102689a21af235c2d8dbfe40dd56ce5de6756cc4b6afdf64050da2eecd9953e893c53bf7ffb9dc0d69094efe63d751e6f9c1e92d2107a7b45fabb820222d30b11595c351643b6591121e25d64010c25a18676033e1d7278ac5f2d0b43a31f3a4156ae710465 -m = ec750b3939385a3f8df868119dc76f77ca845567ef068de6ada5478a56bc78b6 -ct = 19e9b0ca9554d7cd15467b9c7bd824b41584c9a03b753d14cc45896f4d838ea79cfe976bcf5d0b251220049c2666525c1ebee04d54fc93695ea16e0eacbe3c8a2240253962e1773ffcfb5cf9dbbd31899bbd5c0c177c1a60a307bea6fc1091d8c73cf17b32c4c0f1b06ee596406f60461a9701c2faf812ef8708981059fefd655be20bb7f04d18a122960e81bb628d65811c08719c9ba3f0d7730bfea056eba07de87ae0993caf8dd2ed815f9fb3501c3adf7d5845c2d322d4ea30a45238a68bb5a061ecb0ec9cc6a473df40c90b128942a62a6ccbdbd3b812d84c1960ce2a39d7a2f67828ea3d6c2b5b6141f1484652cd350d6e7bff30c4c7065a08f68b33ea88e9c0d15dadc50cddf3097d7d987416a23f4c32a43b11a839384bd9759d6cca504ad15daaf5b31107f72b495caf18298bc336119125370598f5498fb1020691d59c2dea0b38ff675437b3f5c5778b48c0eae9b27d89b25e3cc7af4cdda2aa73f96227d941fcb1b2eee7d594f7ea9db9d8a146e5238378012ffb9a5efb857c9706cc2a57295096708c6f0f94f91bb9211208bd83c54220681c2e840527069187e35db38fa478b7235fa5a4e2fe8dac08a31054430ac163d0db5b4efc7dc38d9bbd2fcb96e104d009f58c2831096dee228be736d018fb29c2608d1ccfc4055710fab3c50a4316c5a9e656a783083367dbdb53108b22605bc9790bd1a2e3b4df8eda75ce911e8f0114b716a222ee4ed9ee526e6fb2aade937cca503cff7b84986025f2a09b6561c5fd6016328da4b065cf183f2176864ccb400d2fe5a050145930ed7ab06542f744e0b0fbece0cfee53b4a98f48c7a05c2955cbaa7ac94d3343d03136932695af47eada59ca9b6a62b7c3ce9b42fc066f380d4a29568ddc9dc9967f62e2372442da1bc4f8ff0af4dc439e63bff72e1295b551854c6bf8d3228388d3e7752ec3c7427ca616f45b441dc07d57081638dc91bcc3008b8f391f3b2dad7e87f8d381e1f2258236e588575d1c0819e25d937fad345b3b8c59f2a140ffba2d18ac36271af1460a8754367cf766a9c5b0effba17daf1688c252066ec42aa5 -ss = 2765ee1de38d074f1086469bf13fe168cfdeb6e609a47d37dc9b8415265d953e +sk = 8416677d2606e578c24f59b59138c6cb1144c6311541839bf79066650180799862d0049ff1fa13d0b2c1b4227d2e673c9cf09af164b7fe7ab10b1928aa910f5e81401920cbd4c8bae6a71fa3f783bf8616a2eb7dbebca74ec94514c9a99a16b75c41a059f437e7cc3febabaac6918ac41b40f3b8bb287009e2c29a4fa586ed8400742b7c05b252210282f7959a72c2b9921ba415b5b2b78106d7c464e0a01c229046d05abf7a611bb48b07835a461264c0bb5770906812a60253570505af040338445ea2e072844445cf1050ffdc7f29f228c66a4a402b98db0c497bba0ecb68cd93b542e8bb6b40393d73e7ac51d093c5c15ef9d4a7a8d056259c06977ba75f4cbf5caa86f5568c422c1424d123721ca09792c16f948d7b84b758375e93b156466b8f0202c7bad31decb489dc0cca1c0788887c0d57f3808e16634b061d5aca96f96b9653827387651271eb05d5320230293b39747e001bb875728d2f2a4fde26981de26c68d542496a92f5871aa7438452073653d14cef0b2b6d380daa531874b26370026ea59884d47528877aafd444a7ef16c03dc780bb938f5fc94cecb5892bda259c9a625e68b89e374b6d134c3291168cb05065953c851aa1e5458e151a3b49f47894e646311575691342552a27116399b3e441d7524b9a923d616a4d9837b05301c1467991fb81492292b5a7dc2e13e44a83265aff2aa03c6465ed1c1ab1681bf0346aff84bc61e5cf3da10525c4ab56a85a053469ae73bbcc77c28decbef6007edd003cd7594b9a30ba6c18617fe15ec8d549530c3f7978ace489b4a9c0864e175680a7c8bff43e7175b393a2432126c945755979b36bf9ac10d806150ba38280a1c7299a64a085ca55b49cb723a9b0ba1009965a0ec66a7e6341b2a5c89a1a0ae6a3a2098319200bb06f52be404890f7eb66e9367ef0a5a92f526ea9e8b43f60bfd80091b4525184c223554023d7e698ec144d1acc6d1f194b73184267a03b6bc43b42a07bd9a5cac4388eb4a2323b723152e6a4f617a0649c469b839b555cb56329186e675b929c8dc4c83977b32967227bb7f971de607ad49579412ac5007438690416fad3acf0bbb1642132613200006b4a502975fee79d2b7aaa8ae2745e16c0a666c8a3a24a990cc4646c8bd9e6744d6245fad4b2acc58b0001a7a351b61debc0cdf85b5b5a188d040d0994027f8131d9706aab35763e4aa232554cebd44886a70a7a846e67c3842e96a3df7233112271ba001105e2a35b5689378c108ef44f8ff858435b7fa1b1376f4c5276a4002732b81974c79ad23143d8134fbbb2426c9baf566b777803a354c5afe8a1b840ca5819a3d612752d047207181bb6c049f70656c22589d1fb5d5b9506f432b52dc933d0e816b180681d7743aca5259f92b8b2309286b680d174b267c5bb01e38224763a26db0b36520477591b0707b09e97ac78fa71e43154afd39266217067fb6271fb4c16c71e277a0ade710562ec287b7493e4fb453c098e5d991fda9abf9e9a29e7b28e0cabb4be5c8a3f490265f5cc93a0b3a52881ad806f4b58913aa67340496c73f3656c7586d4b3a3ad06a0a3fc5e6c7053a48a5168934f0f2341bd263648291078554692815e1b69b1fa97031af13901c4a90546396af914f1dc6d09f58c4af89474ec34614535a6dac8d0301f67339baa610cd5d9c2ac832c54a55175567a5565c478cc5fde74bf2614c6815152e83a615de8ca9ed465a05507b9218ad6f7b9b2799e2ae040084287c19573ad0200c8e683d138ad4e8804eba5729aa81c1e1a9ad034a352c156e9ab635e849f65a37ecba8c0009843016266d0e4a2bdd7b23fdb638c79c73e7b51fc6c72d5b68c9b461cdeb83b637196d757999523097a00920d0677ad5c23906a3fc9054f1a3176d5759d39a03e591bc10a7cc7e05397af2c0f60e84de24318423c0470b82acbe97f3a9889c2f45418ca28fdb092ac703a6a9bafdf6b0d05182dbf9a55dd3397de5a9b0d7c4950653652c035addb2ed3abbce4e755d2519e881266d28524c2736b5426ba55665bafd66ca2875c1a96bb759ace54dc4986e6b76c7811966b7e202395d4a46d81b0b3c2d3950fca0cdd208cf462b688919b79366381a11a6e195cf234cbf10724d4c3b9bdfb0816160215bc6d5102689a21af235c2d8dbfe40dd56ce5de6756cc4b6afdf64050da2eecd9953e893c53bf7ffb9dc0d69094efe63d751e6f9c1e92d2107a7b45fabb820222d30b11595c351643921bbfbfcc283e1d1db36e99b9cc6ccfffbfdb86dab7b6c7ca02cda227da8632 +m = a0462a5f2a6c43d1198d54097e08d20c53d87b7c05dcce5418838fa8e73a9c8a +ct = 3ce3f1de20f140197617e03f98673c1d1c5d1d6850ad9fa8ef86b8ba9f53f2c6aefec1e903850bc307e2b08503493ad713a547c96df4715c19e0681337e92303d2a1067f7f732ef9dead85bc6ebe888a99e34937c9f3b2dc3c1f66ee2639b48dbd5604098038d4a24b60777e0b9c881b06d3b7da6ec19504eee1e9bb593b0dfca8c5db7c1381cfa0f2f4464660a0e207475b0fd5cdaa4ecae008b3ef2383d1dd9f76a615992e000efc93d3ea10fa2b5c225a34ac7a675e97da28a9dc0765a81f9ef0e811d4b6c647b1a600645a1de598d51c2ea7b170d98a8f0c624239e95b5dd632fcba94438c6edfcf45abc56d56cb22da69cc7a768470085baf07d2640cb842631c910dbd4a6a2c43fb688091f8ba8c4a33c8abb20c8f5309d11ecaea1be0476eb6fb5f588237ec7e66aa263c9fcf7e52f20d4a2252551ec3a3c9160e009767d9e91da5e21153a3b4ec12ebdf0735b294f7afb66d6d19936667503b87ae06a4df1c5e00bf1d51b0b5755ad4bfe3b3754915d864674e7ff2a6294509c51b8e98e579ceae0388df90d02f9adbe5db8bfb0e646720d6ff0c30a88fb72d7f59fb73886ee5dd82150f47d1221d2d19209239de95c00d4c7f5a53cb3e318c050e27af23c8c5b5ce682e9e7e647511ee5a4e5480c4d30b9c717ef567dd0a9d5f49930c4413facc62b14e472fbabf3feca897f5959f515de342284c427a0e85f0712dea255a0c8ca4e951330e456f810139b2b009f332ac43d94ef562e81d3430d972cbed4c0bc8d17d03de9b86672208194c6353b58a45b88f6c6cda226d70f9b9439b8a4d9386ae0cdf8584a06a15b64c23a921fe7c584c9c920cc50b92d97fbbfe2b66578de7fe8673a9b2ccb2a02170c4c0c2424a588928670fabc5d2ebee8755ccc141d6bf8ae65a9e7447ebe71b93c11b43488250ffc7413ce3bf4839d19397775e96631e0498d9156cb01d1eb96c0791314c406c61b8b20bfa5341f860bfd5af8e98faa6c0bac9c4a62e1f9334bc7a7f42ccb89968c3698277daff9cebec1e8cf58b48830d7d5259b5421deb2d81a8fb2c8deadc8efe798a7fff680154ba61 +ss = c9810443b774a5bb175873af60bd85af3e5e4dd7c93c2ddf0da5612036e9f949 d = d569b935ce015c85f792f8f7fb0d83c4f53b492959361dd4f75fb764d6564501 -z = 76eae84d11c4528382828f7a689a0d5cff87b8ca0bba97feacb39b935a8788cb +z = 40b4e01e03f62e5f489c39c78d387bb33b526ceb6907734a5f788209ae3c2647 pk = 54342021507ce3543789ba78abe30d6241382c6292e084319a4aba75374c0f6617bb0a92ebb52e66d790b9106553d5c2931a9534801d37551d9e7a854b9733be2b0dc6b86390886a6330b159f96dd3339ca12a206c3278603a123ac0c1e8a982933b0b29b5671a291ae67c08c7945e71891eeef048dab9370a72865c0b47c2c5b90d134132bcc48d4bb6994b2d6e1567409467bb21868bf17eb4c23184fa9eda3bb6e2187d7e9b7d503a47ab1c2d0837ba25a108805ac4cca86d308b4979f7868788958d3c57089b5a48784b8367ba8a612402091349e0cc0d142e9e763adee2af2d998e8e686fcd76c03b069a558605f572b359fc4bc7b0346d11c1e6f9ad71d1399eb992b9e54268ea8ec5e9af804290a19732cdca883b5062fe1a878b1696eaa0340f071e2c9206d39284d6b2499bf0a7faf99f5f8a6b77499419dcbdeb6725e776a0335286234a84474c54f952b6ae075af4729a277381a94414e8e6ae2a9bcd2e01517b99b299f3aae1ac965c086e59bc6d32a02a26b911be148c7e48385777b841d917c34c8842c9c90ea431b2f8cd71a78a15f185f77cce76959ec1748c44e5aefb140e752c97c5aaab8e936e84b5c89b3080480a4b8be81fb46b12049c6bd67c74fb9095fd95c971a2c813f08b55d9c867aa61783896707a36fcfb175a64013b071447469e768a7a1ac43fb77649802522ff880e59b322f85b919b2424650914d529ac7a147586279f1206338a67c02109194eb493d4b9ce33bab709c333a91079a542bf0d717f1c875d54f11d7fe72abc346000452fbb9178b7c87fc437129797cf38467296889d3e225dca6068583921c9767050f51246900af6689227e709c91727bf41483915b93b3225454979c0ca7b3a2c63a0521a5679caf5c26d5944186f43463aa419b4a660f2414a535b9236868c2c091616fa6522bb859fa61503d4a7ff997b8a3b8920f562d384a7e6c9423daa5d1d700ac825c501c986ed28bedac0604b40a0b4f8990597681390b2656857ac712d7d4ab4ce85673fa69c404b0b5410a531f0a6258336d2bb639f9230c16c9a85e363f9c355f8f00fdf9225573a23664c9cea086428dcd19ff40a06186a41fec0723953781475f648 -sk = eaebac1f43968fdc3e0f190ffd117773187bf7bc1d0978ad917b84f3cb8232e364456ca6574b004f8831a5972d7fa38b90436a7a773a9fcc83b8dacbacfb57c2323816f26b659a666711588ad7ccb3a1cf7e5c4592684d78fc4b3053467c28943605774b039fac98bbc1f07ae1f192962bbac65226316bcc1dc518aea752963c5d272030458b7880364138850da38c71cd8cb6454b13f9ac8aa4d508155701ee1a643251411825b68312225623be92f379006109b02cc93782a3951465ff49a36918bf4aac8328268c9db387d7936ee37aa896a50ceed6be31a59d1f415e2c6053fc9b8500597dbcb7a0d00b011ad844e37b67e52c9d2684352cf837ce732b7708386b3bbbdce3b52762627baa846ce93b13b8bd655143e6cc7680a864cbc59a64797a9897914a99ca40d4702d35c9c1c22e9804871e4c245e12bc5499c8bcf28ab37a6202f99b6bd3b64ac49c0ff74538ab11ea7194b92258fb2078c1705dd643b0539728068625d21650ed102247f1605b051ead06c00f271f68dbced3014f0026904256a4aec6041b748e6146a59b06c7e2bba5782681e4416abeeab61fc60cc68c53a501412ad07a721ab1002cc2428a1dd0b48c0e53325bf6ceddd2331df849a1939097a578add64352849afb2070c68b596d4573d09060013bbe3cb4a426e3b58414a108c37f5df6091a560e997263a013455257a24becb585307f7d7b6565a8781e33551bf26dcdb9caf2b02841d97744d71bfd3a3be87162ef6570a1caa1a6920ecba83b000242912b7986f7913b418fdcd199b66a015aac03a602767f212aa367bc4f886adf34a1f694a305627113f6074b6737fd2889ff4411605b2df3a7cfaf6ac1be726a0df282ece479abfa02baec549fa98d0c6331c3e26fe9c94d83277b4a08556b9813d4c6b080818fd07244646631671252e52cc5335aa32db09f37e8628f781256d811e84b989dd9b6df174526c9c1fce39168ac20458908a09363ea961d019c9aeca9cd2cb60fcb0c3190a401bfb139583b8c3629caf80432e71a7b657bc7ad2b3725708bc5666be813674068a8079a8a4c471b0ff98354342021507ce3543789ba78abe30d6241382c6292e084319a4aba75374c0f6617bb0a92ebb52e66d790b9106553d5c2931a9534801d37551d9e7a854b9733be2b0dc6b86390886a6330b159f96dd3339ca12a206c3278603a123ac0c1e8a982933b0b29b5671a291ae67c08c7945e71891eeef048dab9370a72865c0b47c2c5b90d134132bcc48d4bb6994b2d6e1567409467bb21868bf17eb4c23184fa9eda3bb6e2187d7e9b7d503a47ab1c2d0837ba25a108805ac4cca86d308b4979f7868788958d3c57089b5a48784b8367ba8a612402091349e0cc0d142e9e763adee2af2d998e8e686fcd76c03b069a558605f572b359fc4bc7b0346d11c1e6f9ad71d1399eb992b9e54268ea8ec5e9af804290a19732cdca883b5062fe1a878b1696eaa0340f071e2c9206d39284d6b2499bf0a7faf99f5f8a6b77499419dcbdeb6725e776a0335286234a84474c54f952b6ae075af4729a277381a94414e8e6ae2a9bcd2e01517b99b299f3aae1ac965c086e59bc6d32a02a26b911be148c7e48385777b841d917c34c8842c9c90ea431b2f8cd71a78a15f185f77cce76959ec1748c44e5aefb140e752c97c5aaab8e936e84b5c89b3080480a4b8be81fb46b12049c6bd67c74fb9095fd95c971a2c813f08b55d9c867aa61783896707a36fcfb175a64013b071447469e768a7a1ac43fb77649802522ff880e59b322f85b919b2424650914d529ac7a147586279f1206338a67c02109194eb493d4b9ce33bab709c333a91079a542bf0d717f1c875d54f11d7fe72abc346000452fbb9178b7c87fc437129797cf38467296889d3e225dca6068583921c9767050f51246900af6689227e709c91727bf41483915b93b3225454979c0ca7b3a2c63a0521a5679caf5c26d5944186f43463aa419b4a660f2414a535b9236868c2c091616fa6522bb859fa61503d4a7ff997b8a3b8920f562d384a7e6c9423daa5d1d700ac825c501c986ed28bedac0604b40a0b4f8990597681390b2656857ac712d7d4ab4ce85673fa69c404b0b5410a531f0a6258336d2bb639f9230c16c9a85e363f9c355f8f00fdf9225573a23664c9cea086428dcd19ff40a06186a41fec0723953781475f64816829a8aa9f8c4e949d4e6388448c2c4ec6a977f8c5fb80bd75d93a723bc9bbe76eae84d11c4528382828f7a689a0d5cff87b8ca0bba97feacb39b935a8788cb -m = 74f1d52af09b12c36eb062ea7528550cb4c18a3ce8e4f4ea9fac43ae383bc925 -ct = ee8b3fccf1b573069ed066a8e4fc63372f7cae32ac2b630279bf9632bf4a7b53f385e832f9ee7c66d1f2437f356e4412c689e8cc8e229430c81150fb532ced9ee376b708afa8375732d0a1263b2d50b213eb503d47ec508d9354c1076a7cab6559887ae89b4bd565667234c68f0a4d4da9ffa969b9733d0402414a1e388e37ee096662d37fb37cfab2d8869a419b52f6c3d66fee3ec33b919a3af7e98c3905d63ee346cdcc52d083e44d8a4d3fe9df96ec8c64845dd9fb57223b42f1eed48faedec3a9283a6ce70ed9cce1082822b4a55b4d67dccef4bbf141c0210fd5720d19bc4b72ce73b455fd85cb0737e71f14921e70a42cb0123e891d2d0907f2d0231a49af56beb44764b133cb5f0da1bfbf68e3cf0fe3878532b0c310a9bcec77424f4f450496663d915bbf934b7957464f94fe69ca1e0bb8ff4d78fa386c49c6dfad63fe3ae65d331368b2a23efb5aaecd84428206dfc5ab6bd3aa2af858913b1b33b920bc32a396ce1944e5aae00ae2c3fb7116e0ad6841a15ae6f6a086972852b31ea9d6842e6c1ae57104e09eccb897a2a2c8bb2b84d0f58834163dcf16308e66d7d1c8a8740ccae37df33034a584863f69b3f8c3b7908333c403ed4fb33bed436c40a21fa6656b59fb8ffa968ee9dcc4d473ca5d2750d64b12fbbe1a031cf49f5243fb304cccb9e6bd7daec564697cfd2b9108ec86df1d6785a2f19d82ee31de6fbdb6fbf0c3e258884d920870d7ec5a89cb255c1ff1a901b3d9a92a1f837e50fbb3fac6d65dd0b385c744ef9e08fa07a687747f99f47d3d086edbffd9722fe5983085d4aecfcec4d5b3331a90fc0f8b7c5993d7a55ceea0e22620eba9b3b26af802d5db5cebdfdb75ad4e39faa7face6be2505117f7d6b24e770490db4ebbe7fa773498288bfbcf4b5b15976a37ea29cbfe0464c8dd916a73654c5f6194cb270b49214e2e79c12e28c5eca77b02ab3196c424ec14d055a5207afab28e834c87e8c1fe1157749cbd616b15f4de795ac1ce6bd46c486aa487f4e28f80ff801bc2c9d648bbf910b93c8157ed652a7e68a69efbae58a4acd05f70bf9ee498a0e7bb -ss = 5323406c537e4300c70220c866666848970d29759983065ec5de317b372cc265 +sk = eaebac1f43968fdc3e0f190ffd117773187bf7bc1d0978ad917b84f3cb8232e364456ca6574b004f8831a5972d7fa38b90436a7a773a9fcc83b8dacbacfb57c2323816f26b659a666711588ad7ccb3a1cf7e5c4592684d78fc4b3053467c28943605774b039fac98bbc1f07ae1f192962bbac65226316bcc1dc518aea752963c5d272030458b7880364138850da38c71cd8cb6454b13f9ac8aa4d508155701ee1a643251411825b68312225623be92f379006109b02cc93782a3951465ff49a36918bf4aac8328268c9db387d7936ee37aa896a50ceed6be31a59d1f415e2c6053fc9b8500597dbcb7a0d00b011ad844e37b67e52c9d2684352cf837ce732b7708386b3bbbdce3b52762627baa846ce93b13b8bd655143e6cc7680a864cbc59a64797a9897914a99ca40d4702d35c9c1c22e9804871e4c245e12bc5499c8bcf28ab37a6202f99b6bd3b64ac49c0ff74538ab11ea7194b92258fb2078c1705dd643b0539728068625d21650ed102247f1605b051ead06c00f271f68dbced3014f0026904256a4aec6041b748e6146a59b06c7e2bba5782681e4416abeeab61fc60cc68c53a501412ad07a721ab1002cc2428a1dd0b48c0e53325bf6ceddd2331df849a1939097a578add64352849afb2070c68b596d4573d09060013bbe3cb4a426e3b58414a108c37f5df6091a560e997263a013455257a24becb585307f7d7b6565a8781e33551bf26dcdb9caf2b02841d97744d71bfd3a3be87162ef6570a1caa1a6920ecba83b000242912b7986f7913b418fdcd199b66a015aac03a602767f212aa367bc4f886adf34a1f694a305627113f6074b6737fd2889ff4411605b2df3a7cfaf6ac1be726a0df282ece479abfa02baec549fa98d0c6331c3e26fe9c94d83277b4a08556b9813d4c6b080818fd07244646631671252e52cc5335aa32db09f37e8628f781256d811e84b989dd9b6df174526c9c1fce39168ac20458908a09363ea961d019c9aeca9cd2cb60fcb0c3190a401bfb139583b8c3629caf80432e71a7b657bc7ad2b3725708bc5666be813674068a8079a8a4c471b0ff98354342021507ce3543789ba78abe30d6241382c6292e084319a4aba75374c0f6617bb0a92ebb52e66d790b9106553d5c2931a9534801d37551d9e7a854b9733be2b0dc6b86390886a6330b159f96dd3339ca12a206c3278603a123ac0c1e8a982933b0b29b5671a291ae67c08c7945e71891eeef048dab9370a72865c0b47c2c5b90d134132bcc48d4bb6994b2d6e1567409467bb21868bf17eb4c23184fa9eda3bb6e2187d7e9b7d503a47ab1c2d0837ba25a108805ac4cca86d308b4979f7868788958d3c57089b5a48784b8367ba8a612402091349e0cc0d142e9e763adee2af2d998e8e686fcd76c03b069a558605f572b359fc4bc7b0346d11c1e6f9ad71d1399eb992b9e54268ea8ec5e9af804290a19732cdca883b5062fe1a878b1696eaa0340f071e2c9206d39284d6b2499bf0a7faf99f5f8a6b77499419dcbdeb6725e776a0335286234a84474c54f952b6ae075af4729a277381a94414e8e6ae2a9bcd2e01517b99b299f3aae1ac965c086e59bc6d32a02a26b911be148c7e48385777b841d917c34c8842c9c90ea431b2f8cd71a78a15f185f77cce76959ec1748c44e5aefb140e752c97c5aaab8e936e84b5c89b3080480a4b8be81fb46b12049c6bd67c74fb9095fd95c971a2c813f08b55d9c867aa61783896707a36fcfb175a64013b071447469e768a7a1ac43fb77649802522ff880e59b322f85b919b2424650914d529ac7a147586279f1206338a67c02109194eb493d4b9ce33bab709c333a91079a542bf0d717f1c875d54f11d7fe72abc346000452fbb9178b7c87fc437129797cf38467296889d3e225dca6068583921c9767050f51246900af6689227e709c91727bf41483915b93b3225454979c0ca7b3a2c63a0521a5679caf5c26d5944186f43463aa419b4a660f2414a535b9236868c2c091616fa6522bb859fa61503d4a7ff997b8a3b8920f562d384a7e6c9423daa5d1d700ac825c501c986ed28bedac0604b40a0b4f8990597681390b2656857ac712d7d4ab4ce85673fa69c404b0b5410a531f0a6258336d2bb639f9230c16c9a85e363f9c355f8f00fdf9225573a23664c9cea086428dcd19ff40a06186a41fec0723953781475f64816829a8aa9f8c4e949d4e6388448c2c4ec6a977f8c5fb80bd75d93a723bc9bbe40b4e01e03f62e5f489c39c78d387bb33b526ceb6907734a5f788209ae3c2647 +m = adf233a4311b157829d49a0bcb633571230f7060f3ce655551aed8be8961d1ca +ct = 7a24009a08a81e242cd5460b446b70097dbd11108a34bf75d3f1d8268f51ab055ac839f70e329f68dec8e24d51985ff54c358e53bc5258558e6002bfb23768fdf8cc1ef429c03b69d9820defdc55fb7346df99f79ed78eceee86a252ff6f37121b8c349ff82ab2f52ff1c4af3db0c64f1b95ca925eaff2955dd5a25ecb9cfb2ce055734c05869c9e688cae9a0a45dbb666afec557b6ee8092be673beda1e546e8752bc689ade3e36fb1cf8579aac346ed5015aad36de329b4d5a39e1806baffc1990c3ad1f57ac6d1f09ac7f9d98dd128d5396d2e9ce45c1df3c0b010254a85a6d6fd2d7754b020cc1d0e727f612ea6e75348bd56140b13c2d63480af0addaf7ed273bfa3d770e760eedf2aacbbb9e37e5a20de35c2c5cab9fd2f204484c625215eb9a199587ad113c176d4f8d0e570a6233dc7b52c37ac4acd1dca2237b7d2c241fcdd7c5db3d3dc9bf4d7a57533efc7a3a47382f294091ede9e25d8f0c5ded11b6e4dfb9d2109f231356f788e1d517f371fe4ac6f6e1d665dbe2b5db7331337f59e47d81ca88a0de6194bf7ad1b5ddba0f345fc23d0042c137c411dd9d99f53e6b76bfd535092c7261264c3d95691a9fe69f2fce120281aff0bef24607ca04fd8b915182b5ff43d8c2fe061afc19d6549799588988bd67c3b657659810eca01f30d6450121c79513902eef55a2172164e53bc05cc9e5dec36d8032c33d84c21510297b78802c00fea54b03cfd4279864c70df748d5dccaa0f8cd91c464edfeb0afba7df07961775ec13669b3b6876e7959359d4420647791df3bc98ed8e471775c3cb44a56c227cd154b54401afa90b526b6c141cb10454561e78f7df706a40360baaf28ead607b932c4ec57f89e3a2b718a8613a610db05de2a6a74e8812afe657000c021e22793c78c212cbbe3b21fff65b1d811f7ae3ecd8881970dcf0c76294b0948d16dac0c289c0057d5f91b0d5f2735ac2fe7b6e876b1636dc130032c9a0309821f88fbf8ce9d1663b1964f202f5bb30674fb90ba9c58850f22924c4fe706c4d202d0751f048fd64507bc507b81c2711b3ebbc3db39f14b96689e71 +ss = 4062e6600fc98e9d7d7b31c3025f8a51ae4db791ff17e118bde089ed62b5512b d = 5cbb141c2763425c274f7404fe530d9116e08c33f9f200a20b011cf563a28990 -z = fc9ebbe336dc464489861db8253606971bd0a9008a433ed17752d04023781552 +z = 870a300648d2b1f1a637374278bc62b5abb56380cde88eacfbadb3224795a125 pk = 3fec7c38a86bfa490bbb6b001c129707b1b765416401290a94dc8e2cab1503dc4cbb2a51bda96c5828397d406386353a75157b09f1776ed5347f3a32fe6b2599827f83ebacba251dedb3c3e514b7add849ac5c40e49b1297634fdb8a6c0d9748a8fc9e98778668bc4446c1444b104db4da7ae5fb5db088cd34017ea6926dd2128e9b39419cb13ef8511705844d4efcca1219453f987cd5d0b532c6b958b202938a90ce9016792035577a4b59ecbe063a8a158b92e89aad62ea507520bab2596ef18778590708dcc62bec78a74715ac69bab4521949e8c0bf914b5304a7384ad25e79c3244e581033841ee8628ad68842f320584068cdfd91467c1051d1a8ae77e4b418343743f0a64635ac313cb722f61d0a672645413e5e92853f06aab35a067eabbf6774a291945e9157255af4008a123a25778d57308328a983c0dc8b4f21c7dd34721db734967a706ffa75e0b052f67c36168ab46c485b1190a6ffb60f4eb739c232b2eef630a00469bd011bc1eacaa9ca60c613039439cfd4ecbef6d7523926ad88b8581e619b02a182b76993b26b3784799a7a314b38bb6a17529650c7a0a556c3dabb0fc44ab8eabc2af522207e90c7c7e113fb7220cac24f45dac26d1605a70c16d1f58b6f766c8d07c56f582c88f6402fcab763f996b164047daaa7cf5048eb51297c50c44d95a664583579f18639772325ca12fae19205742e72803fa4b9991517442be7cab72996ebc50018963f89a5af785c354f7a94241051c80bcd0d9c7f8b09ccad58c0ba22820e859c9a261c6d41a6c310b310a480d0c8950fe1383727b0863ab758b2c551bc99cbaa90f0365961f7727f639183fc652bc4a2782081dc69571b298affc7af09c349124601602bac8c79afeda8531423642ed20075a9b176a75d422740c0c20fa87aad22eccb98d4bfbbf52e7b590aceb660e3982ed3f3cd328cbb6103af5be626b5036ec8460ba1fb8df516b315e1267ba1bc5770402082bd1100ba019cade157c6a43aca6098798c7aba3bbc5b110abe3526520c89620ddb15151b9c67a9c57aa678e7e83b3ab4196b682f20699dec76be6a4fc08ad10190d2a178865abfa35607e1a88b47ec8ea71b102d7f1567bed46a -sk = c3aa38df508762bcae32850e90e2cef9404bb2405b1c7322114cb440c507f27544a8e65bf08a4e19988feaf3ad91546e95a2a690ca99f54a803794578edbc9b9b955784ac9b0d9207487a2a86baf45b04da2894fe2508c06e49d2c487b87d9adf3f67ee5435f164510052974add5a26fb227b8f029de714e9c39bcad318b2102a04d03c1bd1719a87279f589401db284dc8189d48c897df69da478c5e5763968929a3771c3ad7a2ad2140b5772c091439eea807a35e988b69c531c2b47a500c71948804bb09f682c27dbb39f9bf7b53f47ce81024fb3650f32573d734964a392116fa53808411c8b035203f5564576334af9929ed78e8f6cb29c9b4f171a81c6a34dfd57c59c380180b9b7f38538bd82834fa354d629544cbc659875b1d77b63579a8fa747c93049127b45387bf6c08efb9442f7565901b71c888bb2074eb4c9ce945568d99351fd0a3acc3c54e600436ba5558ba975805025ed07444a9034c30a9c13a8ad85eb4c7d0142a2cc2e06584f37f843b103be4785694d2b2c4dd0487e030f6155bbd52526b0354847b233521312f5c725ab190572554e347183d0902737b96583a87d5774298d4a7b6b9292ea8230412a06def3551b4481d314c6931c8012d43a3eaa0d0df6cb87185b7be43e6ebb844392960e8a65f5f691beea69bec55b24f374c41a1a49560c33296beca0b07a7854c658542a8917c35326a1a1c458448b77d27c3c440c727971b47677e45954fbe9011d00a2f85b3e2cb9725601c97c7b21bda481aa04083576496900a70cc135005221f69420d0f884d35216548022126604cdac4100a74614d4b1206b6fe20a8ac07c31bfe6867362b5d2a67e60061c8bac6620d93b07b87a5bf4101fd645321bab2441185281b933a090686a8cccdb6a1705b07deb9e66ba4a10617a93ab7cadd51047e50f4988c70012a39c787dfdc3ab8c9b19fef0ac4c702bd693170e71c5ff4070b47b3609c5a9f2e8663ef78bc5e27ee6092013a263f2ec172edc4350606840393c9a771999399e948b41ab273ea061744e4a08ac7550c13a265e9b82e674063179811cd7251220943fec7c38a86bfa490bbb6b001c129707b1b765416401290a94dc8e2cab1503dc4cbb2a51bda96c5828397d406386353a75157b09f1776ed5347f3a32fe6b2599827f83ebacba251dedb3c3e514b7add849ac5c40e49b1297634fdb8a6c0d9748a8fc9e98778668bc4446c1444b104db4da7ae5fb5db088cd34017ea6926dd2128e9b39419cb13ef8511705844d4efcca1219453f987cd5d0b532c6b958b202938a90ce9016792035577a4b59ecbe063a8a158b92e89aad62ea507520bab2596ef18778590708dcc62bec78a74715ac69bab4521949e8c0bf914b5304a7384ad25e79c3244e581033841ee8628ad68842f320584068cdfd91467c1051d1a8ae77e4b418343743f0a64635ac313cb722f61d0a672645413e5e92853f06aab35a067eabbf6774a291945e9157255af4008a123a25778d57308328a983c0dc8b4f21c7dd34721db734967a706ffa75e0b052f67c36168ab46c485b1190a6ffb60f4eb739c232b2eef630a00469bd011bc1eacaa9ca60c613039439cfd4ecbef6d7523926ad88b8581e619b02a182b76993b26b3784799a7a314b38bb6a17529650c7a0a556c3dabb0fc44ab8eabc2af522207e90c7c7e113fb7220cac24f45dac26d1605a70c16d1f58b6f766c8d07c56f582c88f6402fcab763f996b164047daaa7cf5048eb51297c50c44d95a664583579f18639772325ca12fae19205742e72803fa4b9991517442be7cab72996ebc50018963f89a5af785c354f7a94241051c80bcd0d9c7f8b09ccad58c0ba22820e859c9a261c6d41a6c310b310a480d0c8950fe1383727b0863ab758b2c551bc99cbaa90f0365961f7727f639183fc652bc4a2782081dc69571b298affc7af09c349124601602bac8c79afeda8531423642ed20075a9b176a75d422740c0c20fa87aad22eccb98d4bfbbf52e7b590aceb660e3982ed3f3cd328cbb6103af5be626b5036ec8460ba1fb8df516b315e1267ba1bc5770402082bd1100ba019cade157c6a43aca6098798c7aba3bbc5b110abe3526520c89620ddb15151b9c67a9c57aa678e7e83b3ab4196b682f20699dec76be6a4fc08ad10190d2a178865abfa35607e1a88b47ec8ea71b102d7f1567bed46a90fe22b38a4fafc045cdbe0c9689745fb45760cb2f0f94f7d13cf8c834c4df3cfc9ebbe336dc464489861db8253606971bd0a9008a433ed17752d04023781552 -m = 4b3a70d85f640d1a2a852fb6fe96704af56a7415a8ee4282e9207bc3a2dc116a -ct = dba6e41443d740ffd28051a50ddd9439890f5765a1041863aa376995313c1a4564371ccdc1b59501e395222349814d773ed5e858f736250a32f8447584e49dd6f86c43d13075443fce73c1a1743ef7720cee8d4f8a8938539617b82f48bdbe56c5b1692692a78fcc806fad91dccf95ca222c42682833d99c502b750a8282f737a0dab64ca0f8ccef14172d719fbfb658b506c8483cc0ff6742516548bfc11b366bcac26cf2229f82e9c70c525b1447eef349296cb2177b5f790c8e8cfb07b117eb3cd9fe0ad441c1b62b215a691ed814ca17120834e3d86c5fad4f371c43752d39934026237e04dcb4591f060fd4fd7671d23fb2cbc35a3f3e61b5ee6da6e9d5047b3f8b59d98883fd26dca336ab6b52f6cee5890bb27f1694c15bb852a2e034f4cdef27e9d3a3abae641cdea7aec0822ae7c1904f5e7f357cfbd386c9b26b53b689d8404180b5a59af2fcc9d1153a223c64ba1f3ccc7fa8a6bc5e365c7b855d1decf93d9e3b3397a3cb0558405b753fad7cd1617e3e34f33184d9c5ba0ab4437a87291e220ca95537cc1992d1bd0e135dfd99663279703073e91274bc611c63adb4440661fb107048c30ac2cb98605c2d9f07a6ea0b3b554bf28c85f1aa7b64f83eb2d91342179e770eb1574a95c133133169263b43f46225923a8e580d60d9d579507cfd14f2e51ad7e2f5e214392a4cbae07e1ae9d65a066d8ab78cbe1cbc05acbb710a4f1466a79bc121007357463f0b8248ce4243f91062a534a343e12ba0fe00a7bed4f1db18c76b09325b99fd0df9ccb9845ffcec34b4c05b76f304f4b1076349e27b06eb122e4607676ebf072510563653310125a80980ae09be7889582863fc2aec1acf4016baed6df1753603353742c4943e65e25499e42027df9277d2d3b2ea010992b47d51486283a566146f80c04923b00e9a76674d10987a00a1b59b56def861af1e4648197cffce32bdf8c91d0a6de67046b59d00fae6afe17caeb8888a73040df65834019289ff280dc250cf46d2fbcb8ed2e775898cd704f53ad10f53f96451c71549613e248fdf68be1fb10a9c84916cd7c602167348c2 -ss = 38f766601ccacb7fc75a27d16dbb585cc3a33d21f39f9a284dc389ce998e85e4 +sk = c3aa38df508762bcae32850e90e2cef9404bb2405b1c7322114cb440c507f27544a8e65bf08a4e19988feaf3ad91546e95a2a690ca99f54a803794578edbc9b9b955784ac9b0d9207487a2a86baf45b04da2894fe2508c06e49d2c487b87d9adf3f67ee5435f164510052974add5a26fb227b8f029de714e9c39bcad318b2102a04d03c1bd1719a87279f589401db284dc8189d48c897df69da478c5e5763968929a3771c3ad7a2ad2140b5772c091439eea807a35e988b69c531c2b47a500c71948804bb09f682c27dbb39f9bf7b53f47ce81024fb3650f32573d734964a392116fa53808411c8b035203f5564576334af9929ed78e8f6cb29c9b4f171a81c6a34dfd57c59c380180b9b7f38538bd82834fa354d629544cbc659875b1d77b63579a8fa747c93049127b45387bf6c08efb9442f7565901b71c888bb2074eb4c9ce945568d99351fd0a3acc3c54e600436ba5558ba975805025ed07444a9034c30a9c13a8ad85eb4c7d0142a2cc2e06584f37f843b103be4785694d2b2c4dd0487e030f6155bbd52526b0354847b233521312f5c725ab190572554e347183d0902737b96583a87d5774298d4a7b6b9292ea8230412a06def3551b4481d314c6931c8012d43a3eaa0d0df6cb87185b7be43e6ebb844392960e8a65f5f691beea69bec55b24f374c41a1a49560c33296beca0b07a7854c658542a8917c35326a1a1c458448b77d27c3c440c727971b47677e45954fbe9011d00a2f85b3e2cb9725601c97c7b21bda481aa04083576496900a70cc135005221f69420d0f884d35216548022126604cdac4100a74614d4b1206b6fe20a8ac07c31bfe6867362b5d2a67e60061c8bac6620d93b07b87a5bf4101fd645321bab2441185281b933a090686a8cccdb6a1705b07deb9e66ba4a10617a93ab7cadd51047e50f4988c70012a39c787dfdc3ab8c9b19fef0ac4c702bd693170e71c5ff4070b47b3609c5a9f2e8663ef78bc5e27ee6092013a263f2ec172edc4350606840393c9a771999399e948b41ab273ea061744e4a08ac7550c13a265e9b82e674063179811cd7251220943fec7c38a86bfa490bbb6b001c129707b1b765416401290a94dc8e2cab1503dc4cbb2a51bda96c5828397d406386353a75157b09f1776ed5347f3a32fe6b2599827f83ebacba251dedb3c3e514b7add849ac5c40e49b1297634fdb8a6c0d9748a8fc9e98778668bc4446c1444b104db4da7ae5fb5db088cd34017ea6926dd2128e9b39419cb13ef8511705844d4efcca1219453f987cd5d0b532c6b958b202938a90ce9016792035577a4b59ecbe063a8a158b92e89aad62ea507520bab2596ef18778590708dcc62bec78a74715ac69bab4521949e8c0bf914b5304a7384ad25e79c3244e581033841ee8628ad68842f320584068cdfd91467c1051d1a8ae77e4b418343743f0a64635ac313cb722f61d0a672645413e5e92853f06aab35a067eabbf6774a291945e9157255af4008a123a25778d57308328a983c0dc8b4f21c7dd34721db734967a706ffa75e0b052f67c36168ab46c485b1190a6ffb60f4eb739c232b2eef630a00469bd011bc1eacaa9ca60c613039439cfd4ecbef6d7523926ad88b8581e619b02a182b76993b26b3784799a7a314b38bb6a17529650c7a0a556c3dabb0fc44ab8eabc2af522207e90c7c7e113fb7220cac24f45dac26d1605a70c16d1f58b6f766c8d07c56f582c88f6402fcab763f996b164047daaa7cf5048eb51297c50c44d95a664583579f18639772325ca12fae19205742e72803fa4b9991517442be7cab72996ebc50018963f89a5af785c354f7a94241051c80bcd0d9c7f8b09ccad58c0ba22820e859c9a261c6d41a6c310b310a480d0c8950fe1383727b0863ab758b2c551bc99cbaa90f0365961f7727f639183fc652bc4a2782081dc69571b298affc7af09c349124601602bac8c79afeda8531423642ed20075a9b176a75d422740c0c20fa87aad22eccb98d4bfbbf52e7b590aceb660e3982ed3f3cd328cbb6103af5be626b5036ec8460ba1fb8df516b315e1267ba1bc5770402082bd1100ba019cade157c6a43aca6098798c7aba3bbc5b110abe3526520c89620ddb15151b9c67a9c57aa678e7e83b3ab4196b682f20699dec76be6a4fc08ad10190d2a178865abfa35607e1a88b47ec8ea71b102d7f1567bed46a90fe22b38a4fafc045cdbe0c9689745fb45760cb2f0f94f7d13cf8c834c4df3c870a300648d2b1f1a637374278bc62b5abb56380cde88eacfbadb3224795a125 +m = 9db1c63ef94f37d77f386dfe00d619e2d6789fe8237028e79b7b1eed9c16ff5a +ct = 19796a2a41bef95c201415e82c6f67f00634b2d1f32ae46c0a27e1575a3462f400bbcbf316fd3062f0c289413c0bd7001a888b975ea86c04fe033004a602ca612bd8e9001a0e9061224f4a76401f7d204a59d752bb9d05b8ab680a053e4ed6d88fd2dcce9194c3928d30c12e840381f38b4a1eaf13b980fc6fba2072180acdfe110ab58051e2369bc403e7cd2976c23c04a08ba71576c00b4fe23c87ff16d769cdaa17957404deeb78b79e63564ecf03cb99bfe6766feec1404b48257d4c00b6e379f97f2f74cf925a31fee046acb537ae4e8dee0afff0076da5dc86ea4306889e8f1396b754db52d60290ab9e8a6425c527b4ac4d3515822e3db27fcd3110b4a8d71993f5890ba1f5313220421d27d5674403db23da78926c4dc75500557369f67c72898cb5184acff4d306f86b870889072846357620b0bd88b938914723e8f45b1befb2494f14d7baa6e66517df7e99f3f35cba97f0e5818f510fb5204f4b88e4c2b7c6967a957489e541cee1ec1f381def20eef7d963968a811d6be770b21f5f5348f9568905adcb7c04e46b7ae13aa3d746ce861450c6c41d296f3a80fc83851b7053635ba7c8821029e9902b83ce9e248d212a7086cb6ca32159f5fea46b8925b9846349c90f4d4e1ced4009508a03ad4d09257f9175d1312beb0f1c356749828d4e7ef51d1f1f34e73807bc2b377a6a35c29c6f28816e3748e89330d901a0c194571920738e37af12f16ec5e0ea5d407a436150efca0c528f95e23c006e8783f0a7b08fd1235a7c3ffb50e51a05affd43de9c09c318744674fb5241ba00b5980b0c969b010ea2a7f990f568f09e4398cffe8f02de681cab1b8d3cb514aa599925b0fd9d874b4fd7c4cdbe2c1a2d9e4ecce4cc548ea63d62b4ee697d8e6ae616963d9ad8b126af20a45280a717e29a9bbdf596b068aee1785fcda92b17c5a15db0c3441b67822f01a2ae02a73e839bfd2b986b87d6bb586998de02214a0222e4a26caf9d46faf26afb099600a81aad9036e032765cf5a6c24fe2f5ff8ed3b77a52c845fd5626db8071c5dc5ccfdfd73977d2eb2b1c4f28f00c1d37f4be +ss = 9add2a8572fc3679835666eb60c9c00a557ae3d133056fd65fb2478a1aadd0a2 d = 293abb6d1c207927945417cf84883ef010823e11b487ed55239e466e83696d0c -z = ff8563038aad865a817cab9ce98846ba75be9363718ecf5fea538aea90b2a558 +z = 0914d81173bfd7729d81603deb601c93969b81c401e2b7b922b2873f8aa2d998 pk = 5ca83cb627b7477480002c1ac0ab41865cb5ad306b8ae830e9758dc643cc22d8b4243a90f8b8bc07e8c1bb2b50c9da4233f3cbfda5835f8189a8f1829d09a379c059f3833e7af4593f6b5736f782215c72f8a30e60262dd776116ffb50746bbeb7565fd1a585dacc7c644c15f6647a25330e6e1301844652ccfb90d4d266e3544fdd7733b89b2326f0378d214b615ca423495cea4965fb586c00dc7243d423c1819be8b97a416293467a77ebb87bf724632657348f2a7b34aa256d0826fbe905267076c92262282291ea620b262355d067c6b882a64acb8aa6892cec15b3d66086a665054c40058c7a4714165a431a8c5021102cfb8168e4b80dd8b0c8d72cc8a07c064b83b5f1800b42aad50664cbe1b671d9373ff700cec873eb8a352081bf3fd9c9aec277cbd21eb8a4a2ec126f378b3b60004426a66f167154145b28770ba7b700b538863907961cf2271daab2118f2c40ac4989ab20a056b40c99a769b25c7a38d7b76a164964fb24a27880d7abc72e324a88a25466657c352486b9b17d4c13957d4b8ad26640c3a6223ad44be71535c3c258de440fb2a69f53e22103597aa8778127e971bb074b4dd704441c1bdb38274058c2576976fbfcc28d04a3d4d9a194aa5745658cb96acbc5478475821b0fc7528d932874c47df5108f3e06106e18adde5a4e50d134c3648424630c42a20c0178bab98a67714c80922a3ddf431dc1a83a9a0c3087a45731177a22928551cca0e90bc229b95589259b9824a679a5a144c0cebd690620c12df2ab56c3a633ff6a1af01357b87108c4d56e6b694c41e153334b034d568f3880744059a214e80d3f477d67a332d44ba4cee7ab25d157b61416a81024dfc92f3650aa3e9c6f89a7629f347f91ec54b13997eda15bda0412df111529497284b312de5b4b0cc70bf0d2b643e5c2385133749243b678a026b415489c31d0b902f4dcc96981accc8abc5b08b9fadc35022b2cf5888d417b4a0a188d0a305d9ec820eaa4bb89c085f3655c0a2ab3962b069bb0a1ac6932c748cdc611b1949abe4a57b7af0c934c8c0696ba6f39c32f4e6874798bafeb70827f9447579fcb9bd38af3b64cc94782e299e1d98e68f8bcefa20d1e8db8552516 -sk = e2ac344c36b6a047ccf755bef0f455991c2623a76aef7988d0a072d53054d1d29c147881f65ab97ff40295b487677291fa183831b9a6799181ef2872a935530014187d706015aac1b122567ec54af05361bcf384551c71b2468758786bf61276a9db8a615442cd80b3253c862e5129078168f23757b7489d98ac60bcf04585e29b623a44ee737343e20e30e7ad5d20ce6af1187d738b60374a02b45e60f71a148705c65ac34076ae4e390234c118ecb057ed3aaa422072239a2545021b8ab5419fe79bb7e7b73fc38384437a5ad673cb903a55645d00ba659be07b708367a56065bd0ca8047b3258347871987985917199b4445bdbc4ca90173cf410d1d5179b19bef5b0675155afd0f0603a446269e3487a68569caa1d72c6754b441c00fc0e33d17136a95b990068df699ca6f14001f509c1b7c7bc816ca2548dc760516d9bcfd0a61670d9093a9b70beba40dfec2b5c8086acd164d57138a253328da0284da9ae3343003edc193231b6cbd7a0ae0cc19a72847ef7c01a850209e3b6d579a5eaebb566aa001b6a7ec8c0817859932c9570c290214848c25f9c5676553bfe734cd12b747c88aa0a59bfb389a55aac4fb46ab932f7b4400978ff2a59e8e4af7fd3b04e9b8d6e0a8875764862ab6839844f01014ab131003e876fc17bc4699523bc16af8294192116abc03a8b197852b31caccef20e536713b1699282598a4cb5bb89d56c6829c2df39c0f3494f51107c53cb60d8483d6fc69eef5014e9f9bd5aba580fb25c854a13aee72d86ac059cb7432e514f4d49c3bc2a583255988243c699d520d5d80aba6868ea811c487027412988cb4762cd810fa0f18d39670a5c249bae19b0caf653e7364a1b9557d7998e8562980e275a60b98911f179376c0139a3350d6b8c09ac15086c3780331456f0ad7d40159e705d1f8135d1f5613a71b1c6355ab8799bc950aa4802602214365f90c1acec7ff81c87a1e7a051e3a14249b27a2c5c3c61744d9b61e7355b26189197e44d5356aa2bc235b599a3a577967e689d66c4aa966b9d0da431c6727016942b4c0b9f1275888cc6a25eba388780145ca83cb627b7477480002c1ac0ab41865cb5ad306b8ae830e9758dc643cc22d8b4243a90f8b8bc07e8c1bb2b50c9da4233f3cbfda5835f8189a8f1829d09a379c059f3833e7af4593f6b5736f782215c72f8a30e60262dd776116ffb50746bbeb7565fd1a585dacc7c644c15f6647a25330e6e1301844652ccfb90d4d266e3544fdd7733b89b2326f0378d214b615ca423495cea4965fb586c00dc7243d423c1819be8b97a416293467a77ebb87bf724632657348f2a7b34aa256d0826fbe905267076c92262282291ea620b262355d067c6b882a64acb8aa6892cec15b3d66086a665054c40058c7a4714165a431a8c5021102cfb8168e4b80dd8b0c8d72cc8a07c064b83b5f1800b42aad50664cbe1b671d9373ff700cec873eb8a352081bf3fd9c9aec277cbd21eb8a4a2ec126f378b3b60004426a66f167154145b28770ba7b700b538863907961cf2271daab2118f2c40ac4989ab20a056b40c99a769b25c7a38d7b76a164964fb24a27880d7abc72e324a88a25466657c352486b9b17d4c13957d4b8ad26640c3a6223ad44be71535c3c258de440fb2a69f53e22103597aa8778127e971bb074b4dd704441c1bdb38274058c2576976fbfcc28d04a3d4d9a194aa5745658cb96acbc5478475821b0fc7528d932874c47df5108f3e06106e18adde5a4e50d134c3648424630c42a20c0178bab98a67714c80922a3ddf431dc1a83a9a0c3087a45731177a22928551cca0e90bc229b95589259b9824a679a5a144c0cebd690620c12df2ab56c3a633ff6a1af01357b87108c4d56e6b694c41e153334b034d568f3880744059a214e80d3f477d67a332d44ba4cee7ab25d157b61416a81024dfc92f3650aa3e9c6f89a7629f347f91ec54b13997eda15bda0412df111529497284b312de5b4b0cc70bf0d2b643e5c2385133749243b678a026b415489c31d0b902f4dcc96981accc8abc5b08b9fadc35022b2cf5888d417b4a0a188d0a305d9ec820eaa4bb89c085f3655c0a2ab3962b069bb0a1ac6932c748cdc611b1949abe4a57b7af0c934c8c0696ba6f39c32f4e6874798bafeb70827f9447579fcb9bd38af3b64cc94782e299e1d98e68f8bcefa20d1e8db8552516c277a9588d9a781ddff6aa9ea8d259e5599d0adaba2f459598ebd5bc72786023ff8563038aad865a817cab9ce98846ba75be9363718ecf5fea538aea90b2a558 -m = 26e38ac804fb5b4d59ddf747715e7e6041d875f99c7b638024b4af82d622da60 -ct = 59b6ded2fd38b9aebdec9367a140e2f42fa91f70aa73ed06afd4931b8e7b9c6fe5dd6d3e92233a4fa0f569c54dc3553169a10481f519a00745d693c75179c0e002be2b60d843562f4a3f7100dcd642b4a3054501e05cf9343b69564cc870ab7554d1788600ed5e67f0962a1e719b0012846f08b623cb0f8168df45d2b8b358315061230917464770c962b0214d6e91c70960fa7b145214a8f1f0a5f7891f018b2c3620db5583cb3f78c73ea37d60d3ae270be8cb4dec7f5ce35f1218bbf2ecce895710fde9ca201fdc9e52ad006320824d6dbbdfe53dce2b79b9c23095d66ac1d2d57b8e956fa2a975b64a79a76ee8c70829ce83beb4d1fc402b26124d605a1c730405f81b6130b15a75fe16f61e24c0feea67cfbadbea49bce506c3922693c54fe24cb510d7b96e8e55ceea16fe42f2fe5cba9fdfb9663272e19eae2a7872f777374ac2a74f5ffa52a55ca66c709e399ca785b39b75b894312f4d528d135774afba1b2dffcb75d7f892be49dc2f5a605280b88dfc48c4e5ee02e2ef96bd8bb8935b58184bebccfae81e416477823373d74412f5d65bb16f4cb576f82d91f554b366453783996ca6547e9747ac720c8d3a36f0f389d12ac4a300dda6f5916a1239af00b2204c8d15ebae51082b8f37b1793b2431cae767e2c992ea20ec798b13f19ee8fc70c5fa7c4133f6a746046a3a5cc45a66f51a8f067b03d1278e135844552298fa6c624ea0997e2a7e112e76549113cc8b1993edfd36dad5c8ee142d96d2645cd3824e6e54039de277a899720cc3c2ee497e3820a1b78355b9eaceff61689ece3342a29a0e5652806cc4a130fdb6dfa3b5f3727da19a321b5f2abdb4b02e0510b884d83daf456c899227cb700691fd13f8ec0ac704e563bfcd0f96ec4295cd57ddda1b44f813ec774eb26cf982ab65102c3ae1fed2a51c5a6ae185a134eaee5db0481bb4a8d7789e9eacfe22b12e70c1c63db4eb082a68751596b3b3b3e4475a2fbd3e8f726c1d09dc9821fa762e5f3c58a378fdad89283b5cc179a62d08a90eef031922ebc4d43f4724c5ef2c534d025595972a7619d1c29e4e78bbb2 -ss = 5b052804906cd6a9c2469f8a813c652d47013e11200f1c894dc1650222a75eeb +sk = e2ac344c36b6a047ccf755bef0f455991c2623a76aef7988d0a072d53054d1d29c147881f65ab97ff40295b487677291fa183831b9a6799181ef2872a935530014187d706015aac1b122567ec54af05361bcf384551c71b2468758786bf61276a9db8a615442cd80b3253c862e5129078168f23757b7489d98ac60bcf04585e29b623a44ee737343e20e30e7ad5d20ce6af1187d738b60374a02b45e60f71a148705c65ac34076ae4e390234c118ecb057ed3aaa422072239a2545021b8ab5419fe79bb7e7b73fc38384437a5ad673cb903a55645d00ba659be07b708367a56065bd0ca8047b3258347871987985917199b4445bdbc4ca90173cf410d1d5179b19bef5b0675155afd0f0603a446269e3487a68569caa1d72c6754b441c00fc0e33d17136a95b990068df699ca6f14001f509c1b7c7bc816ca2548dc760516d9bcfd0a61670d9093a9b70beba40dfec2b5c8086acd164d57138a253328da0284da9ae3343003edc193231b6cbd7a0ae0cc19a72847ef7c01a850209e3b6d579a5eaebb566aa001b6a7ec8c0817859932c9570c290214848c25f9c5676553bfe734cd12b747c88aa0a59bfb389a55aac4fb46ab932f7b4400978ff2a59e8e4af7fd3b04e9b8d6e0a8875764862ab6839844f01014ab131003e876fc17bc4699523bc16af8294192116abc03a8b197852b31caccef20e536713b1699282598a4cb5bb89d56c6829c2df39c0f3494f51107c53cb60d8483d6fc69eef5014e9f9bd5aba580fb25c854a13aee72d86ac059cb7432e514f4d49c3bc2a583255988243c699d520d5d80aba6868ea811c487027412988cb4762cd810fa0f18d39670a5c249bae19b0caf653e7364a1b9557d7998e8562980e275a60b98911f179376c0139a3350d6b8c09ac15086c3780331456f0ad7d40159e705d1f8135d1f5613a71b1c6355ab8799bc950aa4802602214365f90c1acec7ff81c87a1e7a051e3a14249b27a2c5c3c61744d9b61e7355b26189197e44d5356aa2bc235b599a3a577967e689d66c4aa966b9d0da431c6727016942b4c0b9f1275888cc6a25eba388780145ca83cb627b7477480002c1ac0ab41865cb5ad306b8ae830e9758dc643cc22d8b4243a90f8b8bc07e8c1bb2b50c9da4233f3cbfda5835f8189a8f1829d09a379c059f3833e7af4593f6b5736f782215c72f8a30e60262dd776116ffb50746bbeb7565fd1a585dacc7c644c15f6647a25330e6e1301844652ccfb90d4d266e3544fdd7733b89b2326f0378d214b615ca423495cea4965fb586c00dc7243d423c1819be8b97a416293467a77ebb87bf724632657348f2a7b34aa256d0826fbe905267076c92262282291ea620b262355d067c6b882a64acb8aa6892cec15b3d66086a665054c40058c7a4714165a431a8c5021102cfb8168e4b80dd8b0c8d72cc8a07c064b83b5f1800b42aad50664cbe1b671d9373ff700cec873eb8a352081bf3fd9c9aec277cbd21eb8a4a2ec126f378b3b60004426a66f167154145b28770ba7b700b538863907961cf2271daab2118f2c40ac4989ab20a056b40c99a769b25c7a38d7b76a164964fb24a27880d7abc72e324a88a25466657c352486b9b17d4c13957d4b8ad26640c3a6223ad44be71535c3c258de440fb2a69f53e22103597aa8778127e971bb074b4dd704441c1bdb38274058c2576976fbfcc28d04a3d4d9a194aa5745658cb96acbc5478475821b0fc7528d932874c47df5108f3e06106e18adde5a4e50d134c3648424630c42a20c0178bab98a67714c80922a3ddf431dc1a83a9a0c3087a45731177a22928551cca0e90bc229b95589259b9824a679a5a144c0cebd690620c12df2ab56c3a633ff6a1af01357b87108c4d56e6b694c41e153334b034d568f3880744059a214e80d3f477d67a332d44ba4cee7ab25d157b61416a81024dfc92f3650aa3e9c6f89a7629f347f91ec54b13997eda15bda0412df111529497284b312de5b4b0cc70bf0d2b643e5c2385133749243b678a026b415489c31d0b902f4dcc96981accc8abc5b08b9fadc35022b2cf5888d417b4a0a188d0a305d9ec820eaa4bb89c085f3655c0a2ab3962b069bb0a1ac6932c748cdc611b1949abe4a57b7af0c934c8c0696ba6f39c32f4e6874798bafeb70827f9447579fcb9bd38af3b64cc94782e299e1d98e68f8bcefa20d1e8db8552516c277a9588d9a781ddff6aa9ea8d259e5599d0adaba2f459598ebd5bc727860230914d81173bfd7729d81603deb601c93969b81c401e2b7b922b2873f8aa2d998 +m = ebecb3e8c3dc591eaa503c332c8fbdf07804fc915b771779c1be60f42e2f3ead +ct = 19fb23637bd5cfe270e6933e1c185bc0ac758632b84b0a2b34db79c19685980591ce6e36ca2edac60fd06fc4534a7745b96631d37a33084cffa03d6fbe24d91fd878f915b9f6edbef0f852872feffcb0b4e168314a49b34e1fc5a2749811f62d337944da3e18c7d46574d9e783ec25b5e4eaabacae1cca47dc0279b3b27ffe9f1f6d2a65259b11775167c51c9debe002f41fcf3c869302b4b548d6352a57284fc4309949a7a404b8e8da9bc6f2f356e381107b37e1ed9d179a6cacbb06e27713ac7d46296e8f9dd50c179fdd29d3de3cfa6b4c6186dffaa44dc7af65441c1599152890591a6dca67e2feea100d59896c2eb3032815f8d508c9856ef2e77b1ae0c0aa1c7d5eb0ee1e2e33803747559a7899edfb096427bcf1909f465a3330b600d152e412bb7539f1a40a4b9b43d424136dc760a62a89a3b552ca6f6d4c3aa9e1f326ef3246060b0d0bd96a4a631dba9c0183a65f2ceab27da6b74b468ceb5331e3c01da00927cbffd277abc206dffc9a71d678b890a13772555f1d85eb875728e9f9b9c3e3110d7870e6907866c7b53adff16cb4a333a52f551f5b13adcc36f21c181f7ebe70cf21c1bff66c6617239392412170bfced4e8cc08d4150a5121ad9a64e0f9300994a3fecc58fbb73e33ab64e90a3c8a11c5a9520ff543ed5c71389772d8b1c241a19909ef618aaaeee5e0c265f80ba992236f5213bb3e100434ba32694969eea59ab26c9edfc4115982f233e81672b0e2ce89d7cfc722fe18feedf636041d1c755dd60f8d9e2caecaeb75ee3ffb34749668c96f7340fac53b0becb70cf89c7e73184d3f1493bc887c5da1d4576a143bf79bb215f9e1df4eaad3bb6f7529c287856cab944b19181a1d7af356ced1b37190a28251f72ea96d33806aa818f6617485a97a551c0d76e1ba46a99db0527c56c0ce6ecfff82ab5558b123e83eb2824a44eb8d1f03e30b88ade2923c4ee1e1864067c2ff21b73bbf7979700abc2289e0ff2228157fe200c7b5fba1cd35f9188b72263985fb06125a62639bdcdc96421dff208e90e6f7fb2ad033d4fb0b30c1bebdfbc3fcb2fdb2312b86d8 +ss = ede601c527b450e3acbd5a12893bfd5bb9d5eabcaad8767758bcdbe8e8eb9b52 d = 74d87c7556f2671f2d666854a4d6e073e69f35421e6e1a428cccea49c37f972c -z = e1fb7456ac0aa1b97068f452cba64ebdc138bcf5d36b0a0fada2a3b374141eb9 +z = e82ab6cd4250546e9d3aac903d6cc326cc39ae0b04cffe6c6b3ffbd29ab63dd7 pk = 1e0315240833d0f09adee4bbb29459f947897c4b882780c339019161e80b4699924a5c945c1a97c8eba4af258700126747a2800f81092649523dbc47ced32938a783461aa1bf6500f66b6e8307aabe7c4005209826a98a2904becd2853fbcabfc8c24489380bb4f7a1dba07473388508792ae1e7ca257b5c15c3771c92b9d07bc0b83c7e3371177985cb61b7bcd0083fea2075ddd321ce490a483a897cf6955384002be3016f6b9e2ddc5b8d5cb7c4f728e7966e13c04b310b7286021a5551a8b7e8472d969703f54ee4e1b1ae18cf1f6454e360c7ae481ec2b3b72d4049a74514eddb57f71b81b4405dbde79e05a1787dc2b19cf72a0a93b249b15fcc061e700c5325a40b880527f33b78eaf7370fdbb8eeb38e6c1585a12c160cdc7a43a7c45ea0b9bf18c5b5256b2fa2a25c1c29289a72f09560d54662af2c359dd87d9c599288541e36bc7313a4893abcb4ac8269c2829330d26b46cb666c821f49808c79eabc046b110c75a67ca59db9035b7061cdec3486a9b152856c360e021e3c25b4036259044347af18cbe495369dd5ba76ba917fb37d2314cf73607fb0c845463693060ab67785c1c6ba8efc581d21ec2a856ca54170190e61c8ad2c91b2a08791c1cd3ce29b080b342183cb5355b08d4a153c8a9b32bc4469d5557ab6ccc4a41d1f9b6efa405549e30022f64f62e665ab8934a617a4cab60567cb62dde7bd81fb69ee60a603c9138eea88d6823cfb3b6c0448c7d244ca70f5991618c3ff504734c98268f5770fec449ae6b4c47b563b9795a9d58f00b11206f4a26e6460af0531e1c07c54f1a61a86624a64a77019642082cd2cd8464e029e94085a8ab0352710c9f41c23ab47a53f2236387a381648036cb12f3f231624862f36084e1ed6b58309a03c50838a970ea14b76ca064756512b12e0acc6d4a548e63213c746877b4054c41ac3eb6eba4ca759223641613533c2382d53352fea4663d5a121759e97849e7166a50f139f04b2bf9609ab5dc238af2c0dd59ab31c6214c288b21b9b33a5c04845c6283ad0bc16285684d1cef0b11e8b324ab3d2616b71020993959815207b8f92c5d5a3bc95122a6a7968dbb1334a712823d470766b3b9e7b55672d02ae -sk = ab994d6b166701339677e4b8026514ee41418f1a96b655b214c49e72d54652d82133b0661767a55b60203baa44f783ca78b14b4b9606895a937cc79095bc0f282862f86a7b595236c3f44017403b74148a00ab62a8502efc9522a736181e0205806544e4b4c180366a554019b078bbc5d0aba0252c1b447887ab6b08aa7f2beca0a783891d4a8ad8f11f6c052179534a9686027bac102f85cd06282c79970400600ac19c01edd69c1f0a9e837ccb0bba0c517574dc97551236b843e2b0c12985d544b88da34c78053888191ffe8852b9d86418cbc02a961694e3491b886c3fe4c53525152190431213c931100e108494f787c26c3a4d16e88ffe585e2b158f4e755321b09f1dd770c041518440aebe4629dac3b7fcf89ea9931def8a62f51ac136234e48722804da5570b41e3f041f74444d11e2c6be822f0d98a6fc23b77f2baafca1b8c738cd55e58e01bb33c652c25df081b8a471ba6bcb46ab9996b356088654e2886d7a9b05970958732694869c1f3e216962a21a8df9cd46b128ca64cc59277954110df74a4a51aa455e9a0f353434b611bc25124a3564359c407c11a261f48579bba788a499a35cfc40cc72c41a98bfcc7a0802610ead89236547ae21f6adc6515ed0739e3b9b240e0c19b2b05e2f408f4673a744716dc9d5bcd9a24389c6c2fec41ae4716dac67a43d52b25f02b4349929654abfb8e66c509c38bb4382c4a627b2b12bb6c6321da64344e91c5f989df559b0714b879975431c0448e5878aa3b0c15210149e7808adfac69dd8abf0123d10300e7a53806b7bcdd9743656cb3f8af63f61d7553d13086c71352410c155e89096d879acf5916e69046927a9aea15568660211e405fd0779672aab73452ae2948b44c67650636b1816c3fbdbc5848059fefcc59f796b6d6841aa6982b6664a5b659d7e9a5cb3e9be1b4c22828a76bbda57f79b0622c42ee95b1765292bd7873a0ea853fe46cdf521184fb230ee5284f07888d07a2de9d7a77c3006aa216b45ac1c4298b2d04a5c526096de329c9ea79d0de812b0f1189f3a686cc17c173265f72466aaea293af44462c1b01e0315240833d0f09adee4bbb29459f947897c4b882780c339019161e80b4699924a5c945c1a97c8eba4af258700126747a2800f81092649523dbc47ced32938a783461aa1bf6500f66b6e8307aabe7c4005209826a98a2904becd2853fbcabfc8c24489380bb4f7a1dba07473388508792ae1e7ca257b5c15c3771c92b9d07bc0b83c7e3371177985cb61b7bcd0083fea2075ddd321ce490a483a897cf6955384002be3016f6b9e2ddc5b8d5cb7c4f728e7966e13c04b310b7286021a5551a8b7e8472d969703f54ee4e1b1ae18cf1f6454e360c7ae481ec2b3b72d4049a74514eddb57f71b81b4405dbde79e05a1787dc2b19cf72a0a93b249b15fcc061e700c5325a40b880527f33b78eaf7370fdbb8eeb38e6c1585a12c160cdc7a43a7c45ea0b9bf18c5b5256b2fa2a25c1c29289a72f09560d54662af2c359dd87d9c599288541e36bc7313a4893abcb4ac8269c2829330d26b46cb666c821f49808c79eabc046b110c75a67ca59db9035b7061cdec3486a9b152856c360e021e3c25b4036259044347af18cbe495369dd5ba76ba917fb37d2314cf73607fb0c845463693060ab67785c1c6ba8efc581d21ec2a856ca54170190e61c8ad2c91b2a08791c1cd3ce29b080b342183cb5355b08d4a153c8a9b32bc4469d5557ab6ccc4a41d1f9b6efa405549e30022f64f62e665ab8934a617a4cab60567cb62dde7bd81fb69ee60a603c9138eea88d6823cfb3b6c0448c7d244ca70f5991618c3ff504734c98268f5770fec449ae6b4c47b563b9795a9d58f00b11206f4a26e6460af0531e1c07c54f1a61a86624a64a77019642082cd2cd8464e029e94085a8ab0352710c9f41c23ab47a53f2236387a381648036cb12f3f231624862f36084e1ed6b58309a03c50838a970ea14b76ca064756512b12e0acc6d4a548e63213c746877b4054c41ac3eb6eba4ca759223641613533c2382d53352fea4663d5a121759e97849e7166a50f139f04b2bf9609ab5dc238af2c0dd59ab31c6214c288b21b9b33a5c04845c6283ad0bc16285684d1cef0b11e8b324ab3d2616b71020993959815207b8f92c5d5a3bc95122a6a7968dbb1334a712823d470766b3b9e7b55672d02aed3c8cc315c4054d09deac08c6d5d364fd5d47a3c09041bee42c561f978e2d98fe1fb7456ac0aa1b97068f452cba64ebdc138bcf5d36b0a0fada2a3b374141eb9 -m = a319d2b8f114f1acd866478bcdeba6fd164dc4e37b0adfa8d8034afb3e197376 -ct = b6c506bc98c1cca09c6bd094d19547ebfba54eddf70c980be3a6b10a32dbfb7506400278b7a34067dbbe26c8b69f6859658d1f51bcf35a29b5cc0e2494c9f372e4bcc277b7e5d3c444f7224be57a36d6e39c1e7fb7f8115f74705ff63a8cbdc73a09264016ec0d4d31e0cad0cba1909b807983f06104d618d59a0edf2df0b3bf6c4daf4ff76f40e0cb38b5bbd7c2083928264e87a6c6babb68db8d0a2ffde33234884e5785ed30e2bdda59107dbdab400342cf7491f143d67311dc7ee4dac067d291fc72a460921bebfef27946cb5e369dd462ed1df0b43bfc8c4dd055bf33c875acf8f504e146f49493fc2b0c12220bc380039926084aafd0b06af5077abb98c973f801d52a785bdd8c8451a84b39fb501c66e1c7cdd8e5f0fa512559885ca680a7a5b10a0af1c26ec219952983fe77aa2dbd5a8891a07cf1cd10ea10fe65f1613b17bdd5dd74a4a05ecd6c5dcf0adfc123d02f665884fdb6e4df23976bb9780f9c95e85e5afa3694f01360fc81c1f2cbdbc95f349571260fd54c84786181027d914671449bcbc6dbc933ee93b9c3d22c54d291932b99669ca54710f117f1b24414335723ae0a284d377fbfca33991c20285f2a825550e1a901d6830307fd41b87b20ee953f84e5f881572fb4959d745063401d403e3f096bfe7977e979f4aae0c56f89ed4042d5801c8b5301bcee4551e8585ed441a7b6c337ad1d4b331b152522a8308343cd13f18d1178b1a819d79c880c1e5c08a45f7a96b7f11cf8841bcafaedbbf1a93d4b3d845a5842dc5de01ba795834660518412173aa6d333238d3b950eeb22e59c5d7e4f8fda2c163b7b73b265b6dc962d69035dd382df863ec3d6855363682a7f476445989636677df638943ccebdf212ae1a0249b7c2b86741c94d3acfb59dd6408df5a5b597c6e096ce7b067f510481f13db101c4b3bb76c7944648ab94fdd90c732a8b0e0eeaccb3f35510ca791384c3120cc2dac6fdef67c27037c306ae2fd7e835600afd5d297ebab7c3c3fcc9d0f002c279a51e4d845355ef8166469a4b5b2b30aef8622cb5b4772579f4b5a4880caabfaa28782b8f17 -ss = 7dc822f6f29c56ffa58e7adf1d98d179a48a8cf4d4c021479ae02da889225615 +sk = ab994d6b166701339677e4b8026514ee41418f1a96b655b214c49e72d54652d82133b0661767a55b60203baa44f783ca78b14b4b9606895a937cc79095bc0f282862f86a7b595236c3f44017403b74148a00ab62a8502efc9522a736181e0205806544e4b4c180366a554019b078bbc5d0aba0252c1b447887ab6b08aa7f2beca0a783891d4a8ad8f11f6c052179534a9686027bac102f85cd06282c79970400600ac19c01edd69c1f0a9e837ccb0bba0c517574dc97551236b843e2b0c12985d544b88da34c78053888191ffe8852b9d86418cbc02a961694e3491b886c3fe4c53525152190431213c931100e108494f787c26c3a4d16e88ffe585e2b158f4e755321b09f1dd770c041518440aebe4629dac3b7fcf89ea9931def8a62f51ac136234e48722804da5570b41e3f041f74444d11e2c6be822f0d98a6fc23b77f2baafca1b8c738cd55e58e01bb33c652c25df081b8a471ba6bcb46ab9996b356088654e2886d7a9b05970958732694869c1f3e216962a21a8df9cd46b128ca64cc59277954110df74a4a51aa455e9a0f353434b611bc25124a3564359c407c11a261f48579bba788a499a35cfc40cc72c41a98bfcc7a0802610ead89236547ae21f6adc6515ed0739e3b9b240e0c19b2b05e2f408f4673a744716dc9d5bcd9a24389c6c2fec41ae4716dac67a43d52b25f02b4349929654abfb8e66c509c38bb4382c4a627b2b12bb6c6321da64344e91c5f989df559b0714b879975431c0448e5878aa3b0c15210149e7808adfac69dd8abf0123d10300e7a53806b7bcdd9743656cb3f8af63f61d7553d13086c71352410c155e89096d879acf5916e69046927a9aea15568660211e405fd0779672aab73452ae2948b44c67650636b1816c3fbdbc5848059fefcc59f796b6d6841aa6982b6664a5b659d7e9a5cb3e9be1b4c22828a76bbda57f79b0622c42ee95b1765292bd7873a0ea853fe46cdf521184fb230ee5284f07888d07a2de9d7a77c3006aa216b45ac1c4298b2d04a5c526096de329c9ea79d0de812b0f1189f3a686cc17c173265f72466aaea293af44462c1b01e0315240833d0f09adee4bbb29459f947897c4b882780c339019161e80b4699924a5c945c1a97c8eba4af258700126747a2800f81092649523dbc47ced32938a783461aa1bf6500f66b6e8307aabe7c4005209826a98a2904becd2853fbcabfc8c24489380bb4f7a1dba07473388508792ae1e7ca257b5c15c3771c92b9d07bc0b83c7e3371177985cb61b7bcd0083fea2075ddd321ce490a483a897cf6955384002be3016f6b9e2ddc5b8d5cb7c4f728e7966e13c04b310b7286021a5551a8b7e8472d969703f54ee4e1b1ae18cf1f6454e360c7ae481ec2b3b72d4049a74514eddb57f71b81b4405dbde79e05a1787dc2b19cf72a0a93b249b15fcc061e700c5325a40b880527f33b78eaf7370fdbb8eeb38e6c1585a12c160cdc7a43a7c45ea0b9bf18c5b5256b2fa2a25c1c29289a72f09560d54662af2c359dd87d9c599288541e36bc7313a4893abcb4ac8269c2829330d26b46cb666c821f49808c79eabc046b110c75a67ca59db9035b7061cdec3486a9b152856c360e021e3c25b4036259044347af18cbe495369dd5ba76ba917fb37d2314cf73607fb0c845463693060ab67785c1c6ba8efc581d21ec2a856ca54170190e61c8ad2c91b2a08791c1cd3ce29b080b342183cb5355b08d4a153c8a9b32bc4469d5557ab6ccc4a41d1f9b6efa405549e30022f64f62e665ab8934a617a4cab60567cb62dde7bd81fb69ee60a603c9138eea88d6823cfb3b6c0448c7d244ca70f5991618c3ff504734c98268f5770fec449ae6b4c47b563b9795a9d58f00b11206f4a26e6460af0531e1c07c54f1a61a86624a64a77019642082cd2cd8464e029e94085a8ab0352710c9f41c23ab47a53f2236387a381648036cb12f3f231624862f36084e1ed6b58309a03c50838a970ea14b76ca064756512b12e0acc6d4a548e63213c746877b4054c41ac3eb6eba4ca759223641613533c2382d53352fea4663d5a121759e97849e7166a50f139f04b2bf9609ab5dc238af2c0dd59ab31c6214c288b21b9b33a5c04845c6283ad0bc16285684d1cef0b11e8b324ab3d2616b71020993959815207b8f92c5d5a3bc95122a6a7968dbb1334a712823d470766b3b9e7b55672d02aed3c8cc315c4054d09deac08c6d5d364fd5d47a3c09041bee42c561f978e2d98fe82ab6cd4250546e9d3aac903d6cc326cc39ae0b04cffe6c6b3ffbd29ab63dd7 +m = a9da4fae601738a23f95165da22cdaa8bd455688b6033c74b4604dabdfd46fd4 +ct = 8c640f1e2ed657a61b6828838cfe89984cebbeff7ae2a6ebbc0ca244d1142730b29246bb0f5aac5cb0e741d3b7ff56c3e77e1df7a13f51c94e48b8787b93d6a94cd683c9bc1a085f1c15957dbc6217a9f9143e3d221a4d90b0edeefd6c4e1063c012037099692ec197c27abf7e07112801922945a52831db23c8256851d97881e57d50e1831b88765028081cd079ba2c898006f0065e6847e46ff4c5376bbcac41cb224acd9087f6c4473f5a600441bfa282f9bf04827eeedf5a92e07a0a7e4d7c3422f9ffa18159e468861da52f16989a90113244a3e4dbfad8329318753066d9cdbb20a2f85e1a87163e05b90548dfab721283a715a269547f93fa2251502c0e0bc454a7f8d54ce9ad2d2f0214800d5a08e6522e14328a06bcfc19365b3aefd6e4c935c518ac65c9f9f47478b57bdf3a5c242251da5ec07956c98632136ef328665fc5c70245b63e95c30a2cefcc0018687b5e6ba690144071442a4761c6758cbd936eeb90d28191a6560c322816c76270d6dd056009517f855f5be664d06d1492db97c9442d6c2e35b986b08a4703a882f4d4a6b0443096e9e949809102094e9446587e84c80ccb22c5b748ade8a55b5f6f5671d761c0bb86d230c024394d1e934a72ea3d71c169196057e1155d182389044898cacdd219eced1fa36a01606a598f65ebf57b80b3f970cf62a9eca9e25e0128d167e22dcb82a9f024983c7a72263ed4b2bf11002af54390afb0ee86e1ee6101060eaf845ad93f6956fe82b30ad9a5b86dfde186094a1d9465f5a61119d9b88bfc8bd078241798b3e3a5fcf803c1f1908908ce5d36979007db2d706120f0dde91a31eb6c58cbb24ae4676b0e5b5e71821e853df2cf79578a5b7368d116805a4363c65ada20fac41c1a9e24e9fb6ad1e6535eb44c642aef9ab11b50a50c3d40a9301a5c2ceb52f0d78e8b8480f03396cf258d32937afeaa5b531b6c7962492a6209b7698b0db41bd822eea1538811e722aa7caff36031167801f418dcf08b9cd7e00843aa89aff806c20b4c9504a68fb388f921d37c155074ad4e2fbd73c68037586569371162e3858abe8790 +ss = 89ed7c17f2ab9ddda49a35c4826d8d5bb2c45622d872a32ce2a1bdc428d35ad0 d = 013bab0212d04ecd54b478daf72748003a25e2cb060ba6cc50bf95c292b8206b -z = 9da0c5da5f195b80fbb99c2e8b06926074f3f604b3f6195b5a5b9737876bba72 +z = f7642088944d664ca7996ba944eff7e4abd0b900d3d1728d99a9f722f928fedd pk = a2ccb58d9b00887179c1e007e9624913b9924878c5db1c9e46faaaba1a2944304ed64cbe6b96c3d61b83c404c498f1ba7eeb8000c8381de471a50957b64a94c4d42005831f4b4380899b5b848c307fc49654438ea062719b20796bc39b72c34fbd717bff95c687eb1ea034ac3baca3504a7c94789ecfbb512b499bf3f4a2caa684a796b3ece845ab477eda88bba0ba89e99a57b360b3de0055742563a1db2782072fcfa86945f83f8e028f80e08825782b05960005f37992fcc126b9c942a7b2c7a230c30824325228c971335fc3609878509d302c8f1cb7ee3b4a9e58013e2377c1104cddb2cf9f969794f715cc805157ab62b9b52d7e273c2f6b74f8e142b8473ea9aab2ba3cb0e1791831b56dc7d6ac7a41482bf347a63ba6cc072201e19949e7baead45a49922bea808b0ae8000aa1794b4a92056a51ddfa0e90ac818940b57408b9282c0835b2be2aaa417ed6be7328926ebab1bffaa0c2360e60b905834a9db8390bc48026f1136d48c42587693ddc15556e4472daa04d8ffbce175bac214b28b73c0f4ca2a521820f7206ce7daa7491050937d5c3608b024a97993ad0156c9cbdfca0997893a7e412bc5d6b8956385e00d7cb61696a3e94a98230c4295394079ac7b1818f1c4601301850735690abea3ef9aaad82b16b30ec4f7612364fda0f78557249aa1302d94fb9792acd5914693729531ca3bcbc42b9b2bddc768803d2611f01b8589809f15506ab5c21ce5bb9404306026b74b1685706d09163a74ecc51684757a02a9b5fcf21a59c17c894135dbaa37e89229a90130aac7cba14513de24611fa77063f4aceb30a92d3f75c4dabcc5ea3280edbb0297b7b2b842cff286e442834624936a8461752693c335916210c3d6c1c54f9ec4ed60076b281534cd497ec113aab73027d918d6fca080ec48b70c9b6cc57ac527276ff4ba3aea74270c230ab058a135995d39438e5f52649b17be2e5ba1890bfb484805c82a912e9046eb9c2b563ba9fb48bdc9b95bb9276f3d906cca8c89439c8659ba84d672e283890c468cb33877aaff06af640a9e87393f476ba2cf46f160359acfbcc46e935e0bd96ec59643250a0b38f9779b0142a9e546eb525e72ad204d1eb31a6 -sk = 4a9b766af1a70935b674049aca04a9c07848a40467f8db039ffa71aeb972758959837c5caa6c9a2ce421ea23b4aea23f4ef4890a8576ad48016af36c384407d016854be31c79c120ce826aae237d33439db2e62035d5c2b34c4b87d546b342b66413ba1cb1be43b34d550c48cc640c6b0c95fbe6427ed086f7064a4c50ad6ef0113ae7130f23ca8ef57730c4817ba45732a79d5ee835bcbbc059e640787aa9edf182d6162cdc0bb9b89b2f9ed2cef4eb5fe0bca19ff21d2825710dcc2de2e44fcff46edffc7b31cbb42a367dc2e6899e19519ff024f6d6416eb1939737250d4a9eb0ab0cbfb94b71a300a648367d099288ca2c703666f4c8ae5c950c5df6457af32842fc04f78334e2d813933616ffdc0e35e11af7f4455646a8a437552d5c3f5ec5852d2704fa40a4bd6ba7ab65c048d4027a682e7f4212dbf890bdfc8a3d2a00bb65ab8f616bc4f34e2aac8f46c83686e5cf7bb58a6a47ab634c361e3871a8b9344f361834c22b234071e34034d7aac431392c2c85c8a5d4b69aa711206b1592e5ccc598c702f36a03290c9728a5fd837f16690954517d07e545bab88cc89916fc6469bdfc4fa4a35b9db681f102bfb8a24d995415635b2a5e3a4db3c937d8a149ccb742c17ac55a0b62879a847fa97c609a13b5aac012d55409f12d98e440a97a33fff52455c880df1c05b784b4d2c63b813599750727a3ec390cfc658da262b791b3cb08a7e977a3a574277db97509201686385e5cfc74af851fdfb9bb0265ad678ca2e37829589320f367222d50b2e263241f6b8860935004bc365c356ea396723ad53a8e367bb7e6cefd1ba24920557fd71624a3a51717c1d17cc886467acc304031917007abb151d91ab93c06d050c32ef97bb02676d96c43152aa3a1b63b26685abe966a89f415cc9c92bbc05c76f126c9197c230679340a95e52196b4e8c3327c644cd430c52b32e2cb50eb9329d03c851465323cb6cf09679df87c15740c50cb3b4a5cc1037e5461adc57d33138de0d4854e46106e4b92eff03a5bc0b5f50001edb0a15da8ae246b33a9135a59d3a0d5d70c396b55f2950da7f788a2ccb58d9b00887179c1e007e9624913b9924878c5db1c9e46faaaba1a2944304ed64cbe6b96c3d61b83c404c498f1ba7eeb8000c8381de471a50957b64a94c4d42005831f4b4380899b5b848c307fc49654438ea062719b20796bc39b72c34fbd717bff95c687eb1ea034ac3baca3504a7c94789ecfbb512b499bf3f4a2caa684a796b3ece845ab477eda88bba0ba89e99a57b360b3de0055742563a1db2782072fcfa86945f83f8e028f80e08825782b05960005f37992fcc126b9c942a7b2c7a230c30824325228c971335fc3609878509d302c8f1cb7ee3b4a9e58013e2377c1104cddb2cf9f969794f715cc805157ab62b9b52d7e273c2f6b74f8e142b8473ea9aab2ba3cb0e1791831b56dc7d6ac7a41482bf347a63ba6cc072201e19949e7baead45a49922bea808b0ae8000aa1794b4a92056a51ddfa0e90ac818940b57408b9282c0835b2be2aaa417ed6be7328926ebab1bffaa0c2360e60b905834a9db8390bc48026f1136d48c42587693ddc15556e4472daa04d8ffbce175bac214b28b73c0f4ca2a521820f7206ce7daa7491050937d5c3608b024a97993ad0156c9cbdfca0997893a7e412bc5d6b8956385e00d7cb61696a3e94a98230c4295394079ac7b1818f1c4601301850735690abea3ef9aaad82b16b30ec4f7612364fda0f78557249aa1302d94fb9792acd5914693729531ca3bcbc42b9b2bddc768803d2611f01b8589809f15506ab5c21ce5bb9404306026b74b1685706d09163a74ecc51684757a02a9b5fcf21a59c17c894135dbaa37e89229a90130aac7cba14513de24611fa77063f4aceb30a92d3f75c4dabcc5ea3280edbb0297b7b2b842cff286e442834624936a8461752693c335916210c3d6c1c54f9ec4ed60076b281534cd497ec113aab73027d918d6fca080ec48b70c9b6cc57ac527276ff4ba3aea74270c230ab058a135995d39438e5f52649b17be2e5ba1890bfb484805c82a912e9046eb9c2b563ba9fb48bdc9b95bb9276f3d906cca8c89439c8659ba84d672e283890c468cb33877aaff06af640a9e87393f476ba2cf46f160359acfbcc46e935e0bd96ec59643250a0b38f9779b0142a9e546eb525e72ad204d1eb31a6dd1a07043fa0c6452500249601f25de742ab44213e2718cf0ddc5ff6a2a9aa6a9da0c5da5f195b80fbb99c2e8b06926074f3f604b3f6195b5a5b9737876bba72 -m = ff646071b2509e6b75790917e08e4f0b0d9f0116ec6291c0b59eaa4b583ad830 -ct = e62ba3ac306e97a10cb2a9cee57dec67dbb8f9d87b5e33cb939bb4d6a8f55fab42ea99649ee59f6a6a9e16eda3a05d7db14d068cbd256a1baa5f01ca9948364c76d7304f9b06b8752cd4a2f2fce9dca42d3bc0c3b0238f162246b8cfc8f85238bca3f8b27ae9d016144636ef63b1dec95191e19f8edacad56c353efb654f868699c81971d178f711105e99a4bbb9ac811ef790dbec51b12ebc2f74954146e57b61f55e5f6bdd68232af2f3f2ee3b638d5307b615bb338c8dac0725f0abf92cc46e2ff4985eda35314c77b55cea5582f91416ec87fc1121fce28a773f33a53fa3b4fb51904ac215d264ac1191566fbe74d0b5600ed70a9f6d47bbd3b129422e35b2d68756e7e481a7be0b7871b85752ab50333db4e5e5178e9b8c786a566ddf7acf1e6c0bddd3e222dafa64f6365a36ef808574fe9afb19cc1aeca2199a112d145389726c0afd2d683dc449a636fb8df86e6c02e2181022c7fcfff00ee67445027b68b9aa54efd0f6ed5bde7e6c44e764d9fac92414fe9ed00d649be542cd8be45735bbba1d8536b128360b005eaf9f8bc909880d4aa52b798d6ab1ef18a7113de951ee9106884eb3bb73aeac08f6ec79a7f7e66b43d82da165591ccb81435593cb79c358fd0fca273370f38089b03f2c6c69ae740b14fb5e4dec624609af226ccb2e1e37feb3d38f5c1266a3d6c3829b98d0e4416cdf17b0626efaf6e7a83a01369bfb4d7c3f79cd34dab3a1fc62730f3898d27ab1f527ad4610227a9168a17fea58dc5fa186fcb9410b52be6e0361efcbee1b78f58e921ccda33308cd5f3eebabeeb8b38cb19eb487fd2d8ddeeaa58035b50fdc6dbe16352f397a6b380cc0b23f63954594bda7ed15c7a3d0724aedc7f8a3e27fa945430680a563900b3ba2785ce530e8435d679a6e8cdd6bbe00e9addab750cc765566cf73abe02af76c5db534701fef439b5a025087b3e2e3fb1351cc48b3d27c57c465fe08f5682e923a7603e284dd4c23fccec883c8ab4630ad8b1a411afbc89cea0b3501b8220a06e6a840bd49c8f6dbb53d6be3b63a2d8dc9447d35832449affaba2aa8b7856e92a0b0 -ss = 7d97af269e4cca8bfd59d6f7602b7d9dd49935f914e64e72e8e4a755daa2bbdb +sk = 4a9b766af1a70935b674049aca04a9c07848a40467f8db039ffa71aeb972758959837c5caa6c9a2ce421ea23b4aea23f4ef4890a8576ad48016af36c384407d016854be31c79c120ce826aae237d33439db2e62035d5c2b34c4b87d546b342b66413ba1cb1be43b34d550c48cc640c6b0c95fbe6427ed086f7064a4c50ad6ef0113ae7130f23ca8ef57730c4817ba45732a79d5ee835bcbbc059e640787aa9edf182d6162cdc0bb9b89b2f9ed2cef4eb5fe0bca19ff21d2825710dcc2de2e44fcff46edffc7b31cbb42a367dc2e6899e19519ff024f6d6416eb1939737250d4a9eb0ab0cbfb94b71a300a648367d099288ca2c703666f4c8ae5c950c5df6457af32842fc04f78334e2d813933616ffdc0e35e11af7f4455646a8a437552d5c3f5ec5852d2704fa40a4bd6ba7ab65c048d4027a682e7f4212dbf890bdfc8a3d2a00bb65ab8f616bc4f34e2aac8f46c83686e5cf7bb58a6a47ab634c361e3871a8b9344f361834c22b234071e34034d7aac431392c2c85c8a5d4b69aa711206b1592e5ccc598c702f36a03290c9728a5fd837f16690954517d07e545bab88cc89916fc6469bdfc4fa4a35b9db681f102bfb8a24d995415635b2a5e3a4db3c937d8a149ccb742c17ac55a0b62879a847fa97c609a13b5aac012d55409f12d98e440a97a33fff52455c880df1c05b784b4d2c63b813599750727a3ec390cfc658da262b791b3cb08a7e977a3a574277db97509201686385e5cfc74af851fdfb9bb0265ad678ca2e37829589320f367222d50b2e263241f6b8860935004bc365c356ea396723ad53a8e367bb7e6cefd1ba24920557fd71624a3a51717c1d17cc886467acc304031917007abb151d91ab93c06d050c32ef97bb02676d96c43152aa3a1b63b26685abe966a89f415cc9c92bbc05c76f126c9197c230679340a95e52196b4e8c3327c644cd430c52b32e2cb50eb9329d03c851465323cb6cf09679df87c15740c50cb3b4a5cc1037e5461adc57d33138de0d4854e46106e4b92eff03a5bc0b5f50001edb0a15da8ae246b33a9135a59d3a0d5d70c396b55f2950da7f788a2ccb58d9b00887179c1e007e9624913b9924878c5db1c9e46faaaba1a2944304ed64cbe6b96c3d61b83c404c498f1ba7eeb8000c8381de471a50957b64a94c4d42005831f4b4380899b5b848c307fc49654438ea062719b20796bc39b72c34fbd717bff95c687eb1ea034ac3baca3504a7c94789ecfbb512b499bf3f4a2caa684a796b3ece845ab477eda88bba0ba89e99a57b360b3de0055742563a1db2782072fcfa86945f83f8e028f80e08825782b05960005f37992fcc126b9c942a7b2c7a230c30824325228c971335fc3609878509d302c8f1cb7ee3b4a9e58013e2377c1104cddb2cf9f969794f715cc805157ab62b9b52d7e273c2f6b74f8e142b8473ea9aab2ba3cb0e1791831b56dc7d6ac7a41482bf347a63ba6cc072201e19949e7baead45a49922bea808b0ae8000aa1794b4a92056a51ddfa0e90ac818940b57408b9282c0835b2be2aaa417ed6be7328926ebab1bffaa0c2360e60b905834a9db8390bc48026f1136d48c42587693ddc15556e4472daa04d8ffbce175bac214b28b73c0f4ca2a521820f7206ce7daa7491050937d5c3608b024a97993ad0156c9cbdfca0997893a7e412bc5d6b8956385e00d7cb61696a3e94a98230c4295394079ac7b1818f1c4601301850735690abea3ef9aaad82b16b30ec4f7612364fda0f78557249aa1302d94fb9792acd5914693729531ca3bcbc42b9b2bddc768803d2611f01b8589809f15506ab5c21ce5bb9404306026b74b1685706d09163a74ecc51684757a02a9b5fcf21a59c17c894135dbaa37e89229a90130aac7cba14513de24611fa77063f4aceb30a92d3f75c4dabcc5ea3280edbb0297b7b2b842cff286e442834624936a8461752693c335916210c3d6c1c54f9ec4ed60076b281534cd497ec113aab73027d918d6fca080ec48b70c9b6cc57ac527276ff4ba3aea74270c230ab058a135995d39438e5f52649b17be2e5ba1890bfb484805c82a912e9046eb9c2b563ba9fb48bdc9b95bb9276f3d906cca8c89439c8659ba84d672e283890c468cb33877aaff06af640a9e87393f476ba2cf46f160359acfbcc46e935e0bd96ec59643250a0b38f9779b0142a9e546eb525e72ad204d1eb31a6dd1a07043fa0c6452500249601f25de742ab44213e2718cf0ddc5ff6a2a9aa6af7642088944d664ca7996ba944eff7e4abd0b900d3d1728d99a9f722f928fedd +m = e821e6e3209b923765f0ded2d65dec798c9ceee04665ace3061fe506b49ac7d1 +ct = 93eaa7a30f78a3d9e3cab3f3581c8a7e020ee318051c5bb7cb8de5d2b5a6be90fd20754edcd84c186f1bb5850f89bcbbb8ea16f2010f3fdd3021009ef75b11592b0db7f93c0c6fcf70d6e909deb271bb2a55321e99c3461abe39c4b7aa92ea1c2a8625d58666194b56b8c955aa1b0eb55d20e189fc3af8c30a32781b3c35cddc00e29cfb379eab75e8b8ce57bc0ae20f76537731df3216a0031292799d4b47be46c84f9010a2de480ecd1533e9a1344f2ce8b642908ac807c58611b08244a13bf07dcb93ec5afa538c03d29e01c7f2225d32473bcf04edbb9e214735a18495e0594ca9ae50de1174b26cc3e722163f825c433f714d2ecebee16fc100e35b93cb0ebafdbd9a63ee0ecdadb20ae709268317dad2f151326313530754a7825a98556b4b7d82ce554c8c96a93fe8714b1045b681ad0a61bc09b9f777d5edf8b93530688ee341fd28feff9719cc51f60aa6e7ae120d69ef92ebae94289daec69d52090002e6c2dbefc689a424826799acdd24ae461330dc449c71df451c29dcc35eb78e4146ac7d26d295921b45bd335dd67a4bbc5f296654b2821b9ef1559fa33dc31c3ed00069e87b9566166269e6b9b47305328c74be9fffddbd680addcf82c272eaf1af22fb8f5b5ada405f8fb99dc0feebb6856b11c0a54377d105ff559ab7a1c5f7c8363d3cb62b91b33082f8e35ee2c1eca19c7d226e5686893e65cfd1a413f4b79b36c93ed9cab10db81bc827fe50c3653968f0289da616021b44365d610dcde13092f755c49955c8f2391840a992bff9d97fd549bfb0ae42c4be50cdcbf22f5559f7d1794ffdbfb2987aed9869b91c9405b8af859cfb9b686271a3415be67610193de0be18d40584a600c364542786f22bbb1497f7b66807e565c86938563b5fbbf3f9a3e83d3e0a3426d4bf73bae955991cf3acb1bfb0e7d3ae90b664b35533db3e1a7f277ad29b6935f889e530c0c08a8e063c6cb74e2da4edc72ea36ff437122db2f96151c513ac716afb5755267b52dba4762336753d75ff964878e76f8354b141d91c1dac403f53448b02819a2abfd601b75aaa04bb04ab14755e40 +ss = 47e1f23fcee7f183928c5736219e799294f90dbae6ea51abba84f3c5abf127c3 d = ccb073c4b90be0ad746e26fb093b60c70110bd1dcbcddb566a8cffb7b3caf80e -z = 71600a8982c350df524cde514431ded7aec23576530894bcbf0ec0bfef0bb64f +z = 55f35361778bc0a53ea94003fcc0252d8333c58152482af1e9c9d2bdf12f377f pk = 05192fbd776ea2338c7aa35efcc6a7d3281c50e1521186b785d020868b5052a10288321f363986f6dc5d28033d8e0553d9768241734561416fb1f8cbf623ccb3b74263492cc0d3c086b448073804e3a1aa93d5b1a22b9e02360297791c700a1ddb6880b9413840a828c06c4b5c69a4ae68a8069431f35b9174020e61758ee5eb6e337888bd563e1ff6c05cf568738c2683c50ba4713cab600c55b362f2a3a0907159a30a97054bab56655c273897d168cd41519a3db96c0128803342058e385c802aa7dcb60544921584821b491a4aff9155d2118bc9357bf6e78faee87606941a82129e6a401c15f41ab886b0c262a662c27e7deac9192cce0740ac47481744ca938b901cf83771946c6edec63cb99b1817f5ad4c4285e1ab6c0186463c3318a5a923cddac59a7991bf4279a1324671153def59af647aa7cd454d532a4ace3c01e040789d867d8230095df9c5ae64b1f470660a753cc56aaee948228e7b31e5d50217bc034f351fc1264512b58c6a206b5f844f881c0c833bc78df4c936c49247374590146763404441a4377a105431663394ca183f22789eb9bb96d73a0211b5db155a304584b3fc56ec2c7edf7235ac284021c5771d760edd4abd556800f61c65a263306ea81dac64321fd869e1a369a8594d9b219c26e754e1334269e4aac5fb0424d9c3faea7c0b384006ac250796a8d919ae8cf88d63f848b31c0269a58ffff9ce6f436ed877c33ee72efb5695f9e9c422dab87c6b92f3aaa3333688f5241cc996052f7a27387b6d8cca70fd1273b6473d0501b4155719dbbc464747702de4b45d3c4f0e3a8fb4826752f3bfbaa08f97804f021acdc37887f69060afbc3bebf3818bd064c4fc04cc35658c60be55dab57aa810c98ca49b790871f1a5bcf235192646c8e7b84a24185bc6c4b679586e6c9002e0767aa47b8b23905ce0bceee95f84a1a529185a72a80a95d30bdd74b4a664a0c0864ef0a557938c8e02b92a5de767a27c14d4b4269e22b1e70a869767b1486513809b1b6ad0acf683963da5248296cf1c71295529c9889546b7519212742e86ba40207b54e874ce0595601b57e338a864d6c447ed4e29d88c30bac7d2d0cdbac43e9f4176f0078c715acc -sk = 06f16b2689b409dbc0ceac88a1ea262a94b61951499ed4000730753f5a0103b2692f58cdc414c492439a3ae46b8c079be94958724c6d5a68535e5c0192cc3f6af8c601c8280d76507234c5c2742235265316e53365c4157a103d6f7b1df3f4910a965a1663131442c6e8b674f1f078a0738f05390698819556f424ecc665586ac387c0759eab24bf90a06afc5eadc9cce95aa1f7d19e692b211b21b33f8587ccb72a1022085c5b62a282c9d5880b15754e08971f50b769b65a03a630ac9030c06d1418338c3ac8815aa7acbbd9d7831715a05aa37fc5f7c6e4c92698213a750c842ce37110aabb40f47489a8af4f0cbba9abaef132944cf963d86099db5a5987dc7a5cda1fe5a0abf85b2b9c81c3b2784d0de87f311c298e532af380b84bd808d4a71c4e234e2ae4689a23038a83b703c1bab677863bcc4de4f6ca1d805701821e259818ce208948285e057382bbd8ac05b486e1482da7b2abe396a7c6c6136dfabbd4117fd9877f752882863725bc8b3bde332c1e242d2fe523fe2b951ac3003bc90417376f0fc27133c0ad082399afc9272394bb34387ef1b32936d3cd0ac599c74a03e6b2c20f95710d32816c043d33f13110aa7a79d885b51242ebc18add296267f7779500455019c9c3799c9cc050b85595ebac465aa01c7bab095b68c4b71468229425e60c9e708c3332c31a11e5b1b5222fc34b28a4c4331e7a1e7081927218ba30c9a26dfc7369e336e7ca5e32c83d63970817f85b0025ccc65789143961f2a029d87773b72141a3f728c18592bc447d6a0056e214b47e432c54943b10ba25a271b7689711fe145e11bb48df98208b3b1bfe059b30dcc17d63535ee7bc11d47a791a63b6c970e11bad82371e51fb0df938cfb3c957e19bcb8750ac1f5c585e4b755442957392212a2b16ee7848521549ed68c93d11bc35f0c598c44eaddc0f1018bc3de9bdfbac3d59663055315ee2223ab4e2ccdf78ad68256ad3259f0ac044e0c96128c38ae7f76c19a29390844fa69705278b7dbda8bea7d16336b1583f60c09099c3faba7df1c99cc3032537d7bcd163328ae299115b82fc6b0f05192fbd776ea2338c7aa35efcc6a7d3281c50e1521186b785d020868b5052a10288321f363986f6dc5d28033d8e0553d9768241734561416fb1f8cbf623ccb3b74263492cc0d3c086b448073804e3a1aa93d5b1a22b9e02360297791c700a1ddb6880b9413840a828c06c4b5c69a4ae68a8069431f35b9174020e61758ee5eb6e337888bd563e1ff6c05cf568738c2683c50ba4713cab600c55b362f2a3a0907159a30a97054bab56655c273897d168cd41519a3db96c0128803342058e385c802aa7dcb60544921584821b491a4aff9155d2118bc9357bf6e78faee87606941a82129e6a401c15f41ab886b0c262a662c27e7deac9192cce0740ac47481744ca938b901cf83771946c6edec63cb99b1817f5ad4c4285e1ab6c0186463c3318a5a923cddac59a7991bf4279a1324671153def59af647aa7cd454d532a4ace3c01e040789d867d8230095df9c5ae64b1f470660a753cc56aaee948228e7b31e5d50217bc034f351fc1264512b58c6a206b5f844f881c0c833bc78df4c936c49247374590146763404441a4377a105431663394ca183f22789eb9bb96d73a0211b5db155a304584b3fc56ec2c7edf7235ac284021c5771d760edd4abd556800f61c65a263306ea81dac64321fd869e1a369a8594d9b219c26e754e1334269e4aac5fb0424d9c3faea7c0b384006ac250796a8d919ae8cf88d63f848b31c0269a58ffff9ce6f436ed877c33ee72efb5695f9e9c422dab87c6b92f3aaa3333688f5241cc996052f7a27387b6d8cca70fd1273b6473d0501b4155719dbbc464747702de4b45d3c4f0e3a8fb4826752f3bfbaa08f97804f021acdc37887f69060afbc3bebf3818bd064c4fc04cc35658c60be55dab57aa810c98ca49b790871f1a5bcf235192646c8e7b84a24185bc6c4b679586e6c9002e0767aa47b8b23905ce0bceee95f84a1a529185a72a80a95d30bdd74b4a664a0c0864ef0a557938c8e02b92a5de767a27c14d4b4269e22b1e70a869767b1486513809b1b6ad0acf683963da5248296cf1c71295529c9889546b7519212742e86ba40207b54e874ce0595601b57e338a864d6c447ed4e29d88c30bac7d2d0cdbac43e9f4176f0078c715accf2a8cad42c743eb61aa338049ce917616899c803358541de1e58cbbdcf3c632871600a8982c350df524cde514431ded7aec23576530894bcbf0ec0bfef0bb64f -m = 0584270ec26f3b9818e4af074d17b2d51037cc8dfdcbe3b140fa4fed5deebc54 -ct = ac1d59c56ec4adabd14cefcf55d437299908211058b96171e6efa8213e2b54809974c0b1f787f7883b44d44f2228c73c4fe1779d4b8b10d553c4a3c1967f782f4ce690e9b361a08aebc3620dd23b0bafffbb484c8335badb2e23c12454b9e9c029379914216c2814dd8a22ae11c588296baacef92d83fba95eb48b873568690ecaf9736d0683afce8e7a1ccdcf928cc0916315048ef6a4bc687c57d45ed1acae059d253f8d086a3fdfd58a2269b7f3cdb41d97bbbd8cc174a35b7b77a20bceb194184b4201020e8d80b1c0a1499c753860d194a0ff5bdd07736843954d79c57a045f0f454907bcf7d8adf5280f971f1766c9e0fabbce8810555fdbca9b772493a59e7285df2775b4d8e904595e819110370c9c27b0bf3b1169b77e7842e197c22d4893f67c764dbfda876b03b90334d2f02f01801a92be16904057161cf0207741f3cc6345ae1b9d8c056a4ffc2b3b00a76bf2baf835e922599bde8bb21e9e3e0b19aa3c66b48353719bb33329249ee0981d6b18aa928e184d82c12f7c075cfddbc611efe4b2a5288e512ee962cde6a1579c8efb0648d5a181c90d7d38697b5fc014fe7bf4824df3c81563f70d742ee2ce44ddf85717559cbad9166635b9ce9588dfa253770272a7516b6945a5671817c6d0c8d368b52e7dc73a50b7cd618e921ed5e092b68737c7ce24436bf5071872a9deb1142c8eae8f1a12794e5c2110354d874129153833bf2244bd9c616848e5cf65190d28446d23f249eb9565d9736cceef4f4ee45ec4b985eb104640dd999f27ec2d956041fa11e0390f6562e16d2cbe01100f5a15785d712fd55f84eb18defd0b70fcd708d8f794224067decd6da7cc31fb8f2c3ad44d6c4d3264648b7b30bd106ae9d26d00f6ba4d52d16d1544499604847a8f082b693eac119537b77d6c1550dcfeb2bc837b0779856f65e8c1e547acef7a90c748ff310ab699e39b94f30282044c2fadcd0e97d0e75d91a8f0301d1b90a295f1057718d03d35091bcb364f234757b082a22dac7920b6c9adec90501466727e369fbab268b9750124a8e3bb24287c0fde750570287f5765caf1cf -ss = 310980f43e8bf63480d0dc26864a664390977ae920b2596abac62eaecde95db4 +sk = 06f16b2689b409dbc0ceac88a1ea262a94b61951499ed4000730753f5a0103b2692f58cdc414c492439a3ae46b8c079be94958724c6d5a68535e5c0192cc3f6af8c601c8280d76507234c5c2742235265316e53365c4157a103d6f7b1df3f4910a965a1663131442c6e8b674f1f078a0738f05390698819556f424ecc665586ac387c0759eab24bf90a06afc5eadc9cce95aa1f7d19e692b211b21b33f8587ccb72a1022085c5b62a282c9d5880b15754e08971f50b769b65a03a630ac9030c06d1418338c3ac8815aa7acbbd9d7831715a05aa37fc5f7c6e4c92698213a750c842ce37110aabb40f47489a8af4f0cbba9abaef132944cf963d86099db5a5987dc7a5cda1fe5a0abf85b2b9c81c3b2784d0de87f311c298e532af380b84bd808d4a71c4e234e2ae4689a23038a83b703c1bab677863bcc4de4f6ca1d805701821e259818ce208948285e057382bbd8ac05b486e1482da7b2abe396a7c6c6136dfabbd4117fd9877f752882863725bc8b3bde332c1e242d2fe523fe2b951ac3003bc90417376f0fc27133c0ad082399afc9272394bb34387ef1b32936d3cd0ac599c74a03e6b2c20f95710d32816c043d33f13110aa7a79d885b51242ebc18add296267f7779500455019c9c3799c9cc050b85595ebac465aa01c7bab095b68c4b71468229425e60c9e708c3332c31a11e5b1b5222fc34b28a4c4331e7a1e7081927218ba30c9a26dfc7369e336e7ca5e32c83d63970817f85b0025ccc65789143961f2a029d87773b72141a3f728c18592bc447d6a0056e214b47e432c54943b10ba25a271b7689711fe145e11bb48df98208b3b1bfe059b30dcc17d63535ee7bc11d47a791a63b6c970e11bad82371e51fb0df938cfb3c957e19bcb8750ac1f5c585e4b755442957392212a2b16ee7848521549ed68c93d11bc35f0c598c44eaddc0f1018bc3de9bdfbac3d59663055315ee2223ab4e2ccdf78ad68256ad3259f0ac044e0c96128c38ae7f76c19a29390844fa69705278b7dbda8bea7d16336b1583f60c09099c3faba7df1c99cc3032537d7bcd163328ae299115b82fc6b0f05192fbd776ea2338c7aa35efcc6a7d3281c50e1521186b785d020868b5052a10288321f363986f6dc5d28033d8e0553d9768241734561416fb1f8cbf623ccb3b74263492cc0d3c086b448073804e3a1aa93d5b1a22b9e02360297791c700a1ddb6880b9413840a828c06c4b5c69a4ae68a8069431f35b9174020e61758ee5eb6e337888bd563e1ff6c05cf568738c2683c50ba4713cab600c55b362f2a3a0907159a30a97054bab56655c273897d168cd41519a3db96c0128803342058e385c802aa7dcb60544921584821b491a4aff9155d2118bc9357bf6e78faee87606941a82129e6a401c15f41ab886b0c262a662c27e7deac9192cce0740ac47481744ca938b901cf83771946c6edec63cb99b1817f5ad4c4285e1ab6c0186463c3318a5a923cddac59a7991bf4279a1324671153def59af647aa7cd454d532a4ace3c01e040789d867d8230095df9c5ae64b1f470660a753cc56aaee948228e7b31e5d50217bc034f351fc1264512b58c6a206b5f844f881c0c833bc78df4c936c49247374590146763404441a4377a105431663394ca183f22789eb9bb96d73a0211b5db155a304584b3fc56ec2c7edf7235ac284021c5771d760edd4abd556800f61c65a263306ea81dac64321fd869e1a369a8594d9b219c26e754e1334269e4aac5fb0424d9c3faea7c0b384006ac250796a8d919ae8cf88d63f848b31c0269a58ffff9ce6f436ed877c33ee72efb5695f9e9c422dab87c6b92f3aaa3333688f5241cc996052f7a27387b6d8cca70fd1273b6473d0501b4155719dbbc464747702de4b45d3c4f0e3a8fb4826752f3bfbaa08f97804f021acdc37887f69060afbc3bebf3818bd064c4fc04cc35658c60be55dab57aa810c98ca49b790871f1a5bcf235192646c8e7b84a24185bc6c4b679586e6c9002e0767aa47b8b23905ce0bceee95f84a1a529185a72a80a95d30bdd74b4a664a0c0864ef0a557938c8e02b92a5de767a27c14d4b4269e22b1e70a869767b1486513809b1b6ad0acf683963da5248296cf1c71295529c9889546b7519212742e86ba40207b54e874ce0595601b57e338a864d6c447ed4e29d88c30bac7d2d0cdbac43e9f4176f0078c715accf2a8cad42c743eb61aa338049ce917616899c803358541de1e58cbbdcf3c632855f35361778bc0a53ea94003fcc0252d8333c58152482af1e9c9d2bdf12f377f +m = 1332fbc0a80d85a33c44f3a9f060ad7ac8727576105931bb0401f47b31990836 +ct = 3b085e3a2b16a093eecfe5a6e1c05d5e9d4ce9692cf8e84c7756c7c5159780ee2f9af8ed2a5ba0717241362d451c20ecbf12651c0d5bb2d576e6e0b0ff3c41d4d37f0ef919bcb8c4f71fe74b8f63d0e69117a58ec9c422c8b571e96a3da4c57ef57d560bc507cda644cce593a74e35e6f481651ebc80e43191d048098ff43c32b1a43cc0bc5a41e1e3f31c5dea020fd663c40d05167e2fc3d6abaa215f4f10a6055f6fecbee5882f456f581df2aee88fb3ed2b0f7af1aebe746b2a705646d54724eb415d65a4390eca5ad29d1ae6e999dcdddd634062dc22585585ec7ce223afcd05d39d5f530a8971b35acb38c109b61295f599e9e75cf9b140b4b489dc227f10f49a7422ce3bcf8554f0fed087325a84e05744d62a910e07f3a51a4fa9ca0a1a1fa9b0d24ea60f12692c7d23175cac1e47df83646976783bc13b9628b662cac2471ae584d05145198c937178da6128711dd37db1623c23bd6d4627e7706c8237cff857aa57bd4aa2dfe1645282ce81c9f01482529ad2d2c02efa6b1d31fed14ebca8e46b2d57a159a7f84a92f3692f6ed5f35a0e15ee8c5ffebc5bf2ccf04c9a34234c81df62c9a66400c2543c829f91d46aab65546b2207c84424131200e899c5728c0f263d9d08f7960e8c1f9dade6779a1e18e5521272b3de587fe1127459594b5a43524d6d3856b2ef6084811b4d1c421fcea794d6d6278c2d1edf505b1624633bfa9097788ab410db976e954c22ba726040f0d4d21edf825269ea33ab8070f276101f44c8869bc0bb7a5973b02a9c445e8a401a6170dab787b123ebfc2a55f70a09c9fd7e603693abe023d0cba96ae6baf0d972db2f07a62ed30638522503332ede709e0450a9867131c881aa56e7a0b8a1e026cb2e8cf0975278465c8838d1e7de9bb2bc35cff9014db705e8dafacca62b5d1ed339c30cc403efc4277a39072190775fa3afab7cdb0f8f4084818d4be1d838af997c045df2f9d6deb989e1c94267a7c1d47c4777c96ab70958c60dadd84c5301c2cf5034434f3d5b3b680ced92af32f91198e4dbccc2500a643daeefbf7f2f48ed609aad83b1cc1320 +ss = 9cc276d88beba5d73b262e86204215b7ecf1555c7cf37fed78cfd018a1551634 d = 2e889f44e28901e9ac7ca6b2fffcb124c8979401b17064d7e1d51a7e3c3adbfa -z = 0e145e44aae52cfc609e6f47fd7a6f6af877190ff52256d0ac5b05b89c3f449f +z = b2638686db9a0292adc26e549c7152ff36d9a7293bf1380bf93f1498546eb93b pk = df624bf2996f55293fe31b0704145a4a92534116109e3c0b8f904db4dc70f4ac96c1572248640d73dbb88db3861d108d368b30086cbc72ab177e1bc48431afdf3208df342ddf802787e385d5344e02c49192d105ac0c78c95253ab90cefd870fde5c5315821ddbe82cc1c267bb797492409603c8536640285d396a53c61632e227ae209622725e4cdc5768e96bf3f42e81b6afe853c7fc8381b4aa6070f2371e00619d685973dac323a1513200ac6826b6bfeb9c053508160700ef6238efc37bd5ac12ed744714b45db77ca4fb998745a6012ee042142cc29f9161c72c86f7cb7e834749e647a30a078de01311d908add39b062018bbc81c96b74aa702d4a40e7a596a9720b08496d2f3a990337a1a4396c291c390e1c4cd685dc9a635e7c69f7ca82eebe24356200268c118410706983a49134c2d96365fba38b992967de41ba6a91640857c020ed955a1228e5a44c91eac6a3a6710457baa88d4bf072c32d458b333345f9f6cba68e9a4086516f0641bb311c72d72ca446430551c5a8d33cfe2b6867176ba81ca57ae9a4e562a7f74b60886a19df5ab7d2f2a8390e44491901dc2b58d327453ae306530d3aea6d6456a3874c8f4ac3adb325037677149507bd6b98ec988f4b81709da8191e2a2201c9e6fb973f7142622fc95d9876d4cd893a8f27db619515b476a1560949db5a893a675e0259e98625f46aa41fb0a4436410591470025305a01fac275d8cae99a5e06561c94e01262c8b878081852d86ad4270bee2c81a6cc7b4f033a529bcbe3fc959da6c63676b6ccf43771738f1a995912a50c08d17254788b0264933215c74c9ca4de4262ef880571078ec2695f80277e934208c8cac7528205ab523ac08cb8d29a314242606677a8b18616f9a3ae1b4856537831cca23447718edbb056f8f9b746f14d3b466a1c4419c3c155df08960047524a7b39ec3c5778837f0ecb8f49d03204ba6a41710b07f8589667c769b26a66472ab8217c19f2b3037929f8364c09821e80bb1b5b1c2d0078692fb01a9448cd60a59db56cb96b5694fc7b7abb48a23b8a12ff327a5419342577c19d30b0fbd23920c0d2d0cb20e3a9c63bff3e047504a8965639e8fd0db690ffa1e791fd -sk = 64a73e921150eec8c44dc94084ab4ac7aaac99dc29807b922e902be8c66b103543a6644cb437b4792815f925827360743635717d05b9b39c6247a51ce78130848c1963b7b7507b12aaab27ec848f2953c4272134c29c371c8106edd904a99c84a7d3322c55c1e4467715906dc56004068402a83179cc2c578fbc04ec2a976dfabc44e3aacb429ada191ca27857376a70b535b1d5c56ba0387cb72b9b46b537c1ec436e27a5eed282b4e7b86443842cd80be1011a9ecac84126bb50da5534d48cc8f1ae0253c203520f230c8c474c10715225cd66a0bb031c7cf4bc059bb69b9b6ec3e26406396cafba07de5ac445d60229f30c10f2437bf37aef6232a66c9d989b52f83441f046871b98cca4ac756ee8a8d8ab42b6864a3674b890713ce2f85e5ad2164172b8b8da616e008148e0ca639390df9acf29c829d39cb6e7cb201d0755819b90cba2ce8d18b4c80c065e8a6f83220208c40ef1d7784f589db95103bfd22d09d93b62cc90a3a161ba198fd1d087449a2f3dd634aa7a299c02b724286555c119cc474c55c1752796b40885c99c32635791aa794479fc6a4a989babb20b9738306244080b9a22399145a54a126d31770c9096b626a61ae9394db957711d7a38ce1a17b0f57e6b395f21c3be4590a6a45923130597939765d804272a1c3fdc082810b52e5ae8131157bfee994cab860b17402d3fe2bff4162218396c7a607bf526b346f45922d6753983a8832b7a99aa7ea4674464c33d55a6172f46a6114497b1a8b1ef835df4d1203d96cef9e43da9e97c723587c608a8c2d24ad0194164c944d56166450ca20750bdf52caca265adb71bc5cc06736501c63d626784713c4a575833d5029a19a9997c45d4649e3e942946f61cc5d3215de5b9b6723d4bdb44f9b9848c41cd3dfba38e71927fb4175a7635738487c7fb5446c2c92d70810ec9a827871215fc630e4b9a2dda4df5d6c06c46a60557c20ae26a1d734171e96223f22698055700174b118241b0063c13559cd149ae7f34b6680cb4a3e8854b030bdac739ba60653301a8ff4b63357646cad03d7b2a3032441d08fa53653baddf624bf2996f55293fe31b0704145a4a92534116109e3c0b8f904db4dc70f4ac96c1572248640d73dbb88db3861d108d368b30086cbc72ab177e1bc48431afdf3208df342ddf802787e385d5344e02c49192d105ac0c78c95253ab90cefd870fde5c5315821ddbe82cc1c267bb797492409603c8536640285d396a53c61632e227ae209622725e4cdc5768e96bf3f42e81b6afe853c7fc8381b4aa6070f2371e00619d685973dac323a1513200ac6826b6bfeb9c053508160700ef6238efc37bd5ac12ed744714b45db77ca4fb998745a6012ee042142cc29f9161c72c86f7cb7e834749e647a30a078de01311d908add39b062018bbc81c96b74aa702d4a40e7a596a9720b08496d2f3a990337a1a4396c291c390e1c4cd685dc9a635e7c69f7ca82eebe24356200268c118410706983a49134c2d96365fba38b992967de41ba6a91640857c020ed955a1228e5a44c91eac6a3a6710457baa88d4bf072c32d458b333345f9f6cba68e9a4086516f0641bb311c72d72ca446430551c5a8d33cfe2b6867176ba81ca57ae9a4e562a7f74b60886a19df5ab7d2f2a8390e44491901dc2b58d327453ae306530d3aea6d6456a3874c8f4ac3adb325037677149507bd6b98ec988f4b81709da8191e2a2201c9e6fb973f7142622fc95d9876d4cd893a8f27db619515b476a1560949db5a893a675e0259e98625f46aa41fb0a4436410591470025305a01fac275d8cae99a5e06561c94e01262c8b878081852d86ad4270bee2c81a6cc7b4f033a529bcbe3fc959da6c63676b6ccf43771738f1a995912a50c08d17254788b0264933215c74c9ca4de4262ef880571078ec2695f80277e934208c8cac7528205ab523ac08cb8d29a314242606677a8b18616f9a3ae1b4856537831cca23447718edbb056f8f9b746f14d3b466a1c4419c3c155df08960047524a7b39ec3c5778837f0ecb8f49d03204ba6a41710b07f8589667c769b26a66472ab8217c19f2b3037929f8364c09821e80bb1b5b1c2d0078692fb01a9448cd60a59db56cb96b5694fc7b7abb48a23b8a12ff327a5419342577c19d30b0fbd23920c0d2d0cb20e3a9c63bff3e047504a8965639e8fd0db690ffa1e791fd3394e8401245fd6348bfa697f6990b6671577ec7b35a45b0101730a8019426430e145e44aae52cfc609e6f47fd7a6f6af877190ff52256d0ac5b05b89c3f449f -m = 51e05c7b4ca3079781e8293f4eccebeeb2f8c8b4c59468eddb62a21bcb4ab8a3 -ct = 9ad8285a1fab934ee7c2253097474e19d92846402cd299660ba603873207ade2c383cc749437c15bb3f26906064c4129c67d6fbaca637d45b3a3032cd0763523acaee3386c2f0708ea7cf24497cb28dc51c9a6c6b3921a6bb70693683e5539d9edbf62f4f2cd9ddb7aa91247b0a8da44e293104e7b846354bb5ae86f7d90246c19c4f06c2ad47616336ae7439dc9a9867cdf4a3962bf5c8c4d0a5365159823a2d8be58bb87db8364a23a30c148894fec0ee5439e31408bb1c4c3fa6b06ad1acfbcd9c159fb9da3f4e3a66a9d102274d69a7eb048bf0c05459d23c5477bcfa96d829709ff0941a80a7183917b92e4fd715c42cfb801722cf580e9843cebd51814821125e70b9d0c2514c7f9934f969a5ab0f3289d6005f313cb03b949dcdf9ae5856a568d962d030926cad84aed5ccc3573c53e7afb1b8a26afdf7c5b1a70eec02ccd4f774823e7035e9f6fd147512f11c00e645fc391858f87fcd92ffc8792bb9c5be6917626c2072d0e257f37944272692e2bf0945a05044e73b816d5216d590a3cfce38a9099ba613c5610e0c8b006c31b13d914235c4260e1a06c03298c970cb1eeb3bc6d26d01757c8e6c156d10bb9b78b3a5aa7ccc054b53e8b5df30897cfccce9c58e2a834e237fdd39ee7fb308f1d4da783932bcfe4bdf1861d3fd652f72e68eef02a68df2980ca796f5ff6c46ffea237b35c5fdac5f6d1280f0c02f8ea0e727abca0ce390fd9a788f50a6ecf5c2d1a519c4f7d673e3a77450aab9cde1573475c0a1e572602593471b8519e64c3b1d11d295b5f6838ebaa3e8aea352a4db8b77cf119dfbfa53a1cafdfb49a0ad03afdafff303183f2b167e022d862eac8b5a0e57fcd4c97f76bc25e2eeaff68ef00aeca339bb8ade1e05683f678dff2e6c71223e78a57cbd4dd5b28559081621ec9109c28364bf0b4db3793a97545b70db48b05bcb4dd36b0d25b43a27adfc938d96ca6b174ec13bba077d463ea5c9cf63be0f328f303d72d1a7d5f2d77515e096ce793b25ba515c485ad7cabd13bcb4c2390272cf9cd24d33675132701a0bae3f75fcba23c3d8bbc7624ef7d1c1f0a -ss = 3763c0093e1aa763cee3645ea950cc2e14bd17cfbe5a0c91f1a08e2ae2037ba5 +sk = 64a73e921150eec8c44dc94084ab4ac7aaac99dc29807b922e902be8c66b103543a6644cb437b4792815f925827360743635717d05b9b39c6247a51ce78130848c1963b7b7507b12aaab27ec848f2953c4272134c29c371c8106edd904a99c84a7d3322c55c1e4467715906dc56004068402a83179cc2c578fbc04ec2a976dfabc44e3aacb429ada191ca27857376a70b535b1d5c56ba0387cb72b9b46b537c1ec436e27a5eed282b4e7b86443842cd80be1011a9ecac84126bb50da5534d48cc8f1ae0253c203520f230c8c474c10715225cd66a0bb031c7cf4bc059bb69b9b6ec3e26406396cafba07de5ac445d60229f30c10f2437bf37aef6232a66c9d989b52f83441f046871b98cca4ac756ee8a8d8ab42b6864a3674b890713ce2f85e5ad2164172b8b8da616e008148e0ca639390df9acf29c829d39cb6e7cb201d0755819b90cba2ce8d18b4c80c065e8a6f83220208c40ef1d7784f589db95103bfd22d09d93b62cc90a3a161ba198fd1d087449a2f3dd634aa7a299c02b724286555c119cc474c55c1752796b40885c99c32635791aa794479fc6a4a989babb20b9738306244080b9a22399145a54a126d31770c9096b626a61ae9394db957711d7a38ce1a17b0f57e6b395f21c3be4590a6a45923130597939765d804272a1c3fdc082810b52e5ae8131157bfee994cab860b17402d3fe2bff4162218396c7a607bf526b346f45922d6753983a8832b7a99aa7ea4674464c33d55a6172f46a6114497b1a8b1ef835df4d1203d96cef9e43da9e97c723587c608a8c2d24ad0194164c944d56166450ca20750bdf52caca265adb71bc5cc06736501c63d626784713c4a575833d5029a19a9997c45d4649e3e942946f61cc5d3215de5b9b6723d4bdb44f9b9848c41cd3dfba38e71927fb4175a7635738487c7fb5446c2c92d70810ec9a827871215fc630e4b9a2dda4df5d6c06c46a60557c20ae26a1d734171e96223f22698055700174b118241b0063c13559cd149ae7f34b6680cb4a3e8854b030bdac739ba60653301a8ff4b63357646cad03d7b2a3032441d08fa53653baddf624bf2996f55293fe31b0704145a4a92534116109e3c0b8f904db4dc70f4ac96c1572248640d73dbb88db3861d108d368b30086cbc72ab177e1bc48431afdf3208df342ddf802787e385d5344e02c49192d105ac0c78c95253ab90cefd870fde5c5315821ddbe82cc1c267bb797492409603c8536640285d396a53c61632e227ae209622725e4cdc5768e96bf3f42e81b6afe853c7fc8381b4aa6070f2371e00619d685973dac323a1513200ac6826b6bfeb9c053508160700ef6238efc37bd5ac12ed744714b45db77ca4fb998745a6012ee042142cc29f9161c72c86f7cb7e834749e647a30a078de01311d908add39b062018bbc81c96b74aa702d4a40e7a596a9720b08496d2f3a990337a1a4396c291c390e1c4cd685dc9a635e7c69f7ca82eebe24356200268c118410706983a49134c2d96365fba38b992967de41ba6a91640857c020ed955a1228e5a44c91eac6a3a6710457baa88d4bf072c32d458b333345f9f6cba68e9a4086516f0641bb311c72d72ca446430551c5a8d33cfe2b6867176ba81ca57ae9a4e562a7f74b60886a19df5ab7d2f2a8390e44491901dc2b58d327453ae306530d3aea6d6456a3874c8f4ac3adb325037677149507bd6b98ec988f4b81709da8191e2a2201c9e6fb973f7142622fc95d9876d4cd893a8f27db619515b476a1560949db5a893a675e0259e98625f46aa41fb0a4436410591470025305a01fac275d8cae99a5e06561c94e01262c8b878081852d86ad4270bee2c81a6cc7b4f033a529bcbe3fc959da6c63676b6ccf43771738f1a995912a50c08d17254788b0264933215c74c9ca4de4262ef880571078ec2695f80277e934208c8cac7528205ab523ac08cb8d29a314242606677a8b18616f9a3ae1b4856537831cca23447718edbb056f8f9b746f14d3b466a1c4419c3c155df08960047524a7b39ec3c5778837f0ecb8f49d03204ba6a41710b07f8589667c769b26a66472ab8217c19f2b3037929f8364c09821e80bb1b5b1c2d0078692fb01a9448cd60a59db56cb96b5694fc7b7abb48a23b8a12ff327a5419342577c19d30b0fbd23920c0d2d0cb20e3a9c63bff3e047504a8965639e8fd0db690ffa1e791fd3394e8401245fd6348bfa697f6990b6671577ec7b35a45b0101730a801942643b2638686db9a0292adc26e549c7152ff36d9a7293bf1380bf93f1498546eb93b +m = 13a6de9e8ae97898fa9382e95d49f64ea8592ed38c3aaadf36d20c243fa0aa53 +ct = 2137ea03f19cb6a21b70e518ea3a15236ba67a31e22defbad3e2a8a5596637cb8c488fde6c98c6361507f10430fa05f25009c9f02e1a256bb938cb1a110f33c4d4eecc492133a7a2c0e368416c9663021bea94717be749b34375f65dffcaeaf0f2af116abf63f963ba9a6664177d42dd68aaa1e7f28401fd0044433c096e6c3e259388190b3adfab4a283354976515c1a6bf7eab82ba37b0f838bd833eaaab53f60f528316309b586d079e54e5f994b56a9315b1ae07530db813e826bcf8cd79a1af175e95c42068d6d40481ae4f795ee0c1aad791bf9ae667c4c787b4b5f51048fba7ea3651900b25513ba20c1132b8c65da6eee1cf03a7bb461335f00bb8d9c84f945381fba1f7eaef80bebc0f84b219afb4668ad1218736143db94159b845b28c3aff5cebe2f8b4c4dddb36363027fd74520ff2e95520516b122bb66f8c0e4227b24e774d2f0c07cd567c7698ef1d202bf71260aa3b3a6c52b8c1c5772d2c7cf1d6b2f12be70fb54741ee7180c1748095536019f5c681dd4db036b3eebc65ea031f7dc35c9542f1a9372b6dfe7020b2bfc860ccdac3aadbe31daf2ed84ee36d8b5a26905728ee297823c90d37b551c0da94b537642f6ed17fb45c74aa89d21217eb4299e7168a9484847a8bb29469b4c99e14bfc93cd54b455b90d34d98480b05766afad4571f89d480c79750df6ba591d01121f4a6b6a40951bd7c1dc8e33e99b4335aed8b3a9bade29156d1a4764b153a934b32c2da72ffacf4b3e386800be3e45c807b24e10ff420d926e3f7aabeb2958d4b618905d6d2cc4354a93980e965823bc56a60a8dc0c9537c06e22b575879fbd3fb3bba4319495fbf20df2986f7c6db0e1f53fa8a02c7b33d4e34126807a43f694000234e7db5b7dca83f69a341e8dbf12e4cef4903c522ae837caa971e2d745f173e5c69a89738cdcbd1130cf743b5ff601173887f725a915cea2d5afee06dd4d61ce6557ecf765db0856233201545cb337baa87e6fec6fcc660eb4aed18d8e185d2a1259d9cd187074d9806afb1aa4015923e85e37eb74348d79dc64db59cd204cf405f8d0952df150d250 +ss = 318b05239b48a9eaa909357994d427b0a44f3b9d0713708954944bbff244e7c8 d = 174aaa36410566dc15a5e62874218d7abdde0b2c0f30d877bb80b1abd5f5a0a4 -z = 50a7a2354f7e5cefa6f4a4e9a1c411eb9364506e9e1204a8acb3cb77fbd2c4ed +z = 3afcc6703873ba41a425ff19559ee47d056d3b5b9e567e5cf24ea17010a5c3ca pk = 65a217f49001f7a44a5cf83bee55a6268ac909ab6230233ea188543f144d6e0a1688182f35446c1e972a2f923c66d2c15bd0534d0b2f418c50e0d81bf309a002c100c55040c6e6b5433a5d47d2bdcbe84823c939c3f76a681982075c90c4c712d1399a0d82c6cf713e5fb28d0ee6368cd4a708508de1530ee89cc53e8b7df748b91ae45bf2a849748a3a54695b3453975082a39f9c89fa9c8866284258e6cae563b9ae7b9e18aa8346b680aff2a80c4c1a07647fc5e8b87b59c8bf97c235f0a56ce2a1b7608d6445b907f4b261dc55cca76a85dc8400895b4a4c03e7e65675f5479fb4cb535240fecc628c180337635af6ac6366c8a778d84980ba659f8482785b5b6fbb1a265a99012a41d5d13cfe07c7bd82cddcc98449d0a2663a468fe9591b0450707a95538bb1c22393f7813e68719a2c11ad8e311402885a54588bfc47c9fab18218bc49c87397be532c0127302089ceaa97102bb2cb219901ebabc69ad1764bb6cb5e7553810b923be76796406994587bd8a0c4216662651b2e8787bfb6b15b98e26481559cd3002c2a03bf0d53467de01bde0bac05e968ae266678bc6945c182d1d66018cc7762ecbb10012208c3cbf3d7671a98388a30b990a4674a8b7c6f958eab221d3e58579e521922abc0b0879b825c9d64791671fc6fe752bf49f87b606580d62c8a17d85a927976daa50ee54a0d186c6c48f61f6955b8afaa1fbc805a53e22ff192161d2850093816d7235d134623d3d4bf20479aef39699426642ac1c084ac43d8657559f817ebb31901f2ac308421a0ea975a4023221080b786049c89a6c451ac076a80e87192d8d8b19a6083b689b128f90afe044d16663fd2ba1ed717c17d5c06ced28446c88f30dc8d89db3d5c531f6d6b63d5d535ffe2671a625d97254223f68e89279198296db0c0917dc338b1b5b33e60210457970aa2c2caca854b07937ae6cca428b8c4dc96029c57ec309ae6e306b077aa1d8baf3df17110207b73d056550aa7ef171b4eab2e8f7990429141c7c518299733b734cfff884aaad95e55b4a65776256d5540a057baa7450574f1266a3091d5d53f74a75b0cd39d1173c3f411ad1efdd8bf4be2afea69c2327bd070cd1432c8d219 -sk = 631c3a29ac6b4acbaa574210be900d21f402a46653a931b8d4618b3d366d35a7628fdb3e25bb8ff1da8c5872b0c65153d23a724a918e1a63b2ac4c43fce7a430572e9ab5a39c4bb5249a7fb723701bdb9f8f900ee363c8c59501f9c2c46b62c4f5fa3b17198b980233ac71aefdf632a28800bc147fe4dbbed75930aeb8023a33288241c373d9ad4e6b14d4092e834a8443344744069591a247cde4ad5eaa4a03c4c9a12799e08b73d762a8b9b1b8e7dc6eef601b3825c399b047955bafeed1124512c72482511117630d5567fb8b0d29b09978938dca053e5306bd8f8950e4c162060734e0a79290878376b7c76b8b1eff5c1aa30a1fbdd6121dd65bdd4216b8727b5cb3cca576035e62b673cb2d95db9dc532955a98b4d90b62b53b22a2a65aae25c08607c17f727da47385da4bac7d6857ff697c22235950b063773a6f15734d1085a24a0a1103e19aac5399608ac8bad386eef981ff5807d25c1ee5291c17762ed0d637dfb82e186893b86637404952877a0b8c8545a52ca481358f5033a90c45076b366f026761621945a3dacaec577313c0ce420aa932d964000aa2c4052e49f90c62a62fb2d377f76355ad961bd8ea7f24a72caee21bd8d4aa037b7c9884af59e5035fc031a053ad276ccc8863cf30a00fd0065770c3995ad637149056d5dcaa2d634969352cb0daae78d3059707292744a513493d13a28383f002b4928eaafb2941765927259b43e36334f7bedcfa39f22292f734b478f96ccefbc5dd21b585770c3fda67337348731080b48762b2f213c3a85dc3d810b360745f5527867586744b46ef068102cb16b0b49c6139c9dc6bb5aaa6863652b358ea322facc238921a0b5650a8c7709d6b95081b4efdd42f476701d2c65633795bcb38055f845f3f788c8bf73dc84364bd1aa343c306c9a548808c10e31840cd889c0e981ed9b3c118e93b1bdc99212788391a532f716fde86c5bba30d8b23abd028c5b788c3d23a824c86667fab2804e7148e8a312c357963db7cbd8b92efc45aeb43404fe78f25529b5aa3b64d0b073a46c1d3884843261ae396b1901c730ae4c22ce79a65a217f49001f7a44a5cf83bee55a6268ac909ab6230233ea188543f144d6e0a1688182f35446c1e972a2f923c66d2c15bd0534d0b2f418c50e0d81bf309a002c100c55040c6e6b5433a5d47d2bdcbe84823c939c3f76a681982075c90c4c712d1399a0d82c6cf713e5fb28d0ee6368cd4a708508de1530ee89cc53e8b7df748b91ae45bf2a849748a3a54695b3453975082a39f9c89fa9c8866284258e6cae563b9ae7b9e18aa8346b680aff2a80c4c1a07647fc5e8b87b59c8bf97c235f0a56ce2a1b7608d6445b907f4b261dc55cca76a85dc8400895b4a4c03e7e65675f5479fb4cb535240fecc628c180337635af6ac6366c8a778d84980ba659f8482785b5b6fbb1a265a99012a41d5d13cfe07c7bd82cddcc98449d0a2663a468fe9591b0450707a95538bb1c22393f7813e68719a2c11ad8e311402885a54588bfc47c9fab18218bc49c87397be532c0127302089ceaa97102bb2cb219901ebabc69ad1764bb6cb5e7553810b923be76796406994587bd8a0c4216662651b2e8787bfb6b15b98e26481559cd3002c2a03bf0d53467de01bde0bac05e968ae266678bc6945c182d1d66018cc7762ecbb10012208c3cbf3d7671a98388a30b990a4674a8b7c6f958eab221d3e58579e521922abc0b0879b825c9d64791671fc6fe752bf49f87b606580d62c8a17d85a927976daa50ee54a0d186c6c48f61f6955b8afaa1fbc805a53e22ff192161d2850093816d7235d134623d3d4bf20479aef39699426642ac1c084ac43d8657559f817ebb31901f2ac308421a0ea975a4023221080b786049c89a6c451ac076a80e87192d8d8b19a6083b689b128f90afe044d16663fd2ba1ed717c17d5c06ced28446c88f30dc8d89db3d5c531f6d6b63d5d535ffe2671a625d97254223f68e89279198296db0c0917dc338b1b5b33e60210457970aa2c2caca854b07937ae6cca428b8c4dc96029c57ec309ae6e306b077aa1d8baf3df17110207b73d056550aa7ef171b4eab2e8f7990429141c7c518299733b734cfff884aaad95e55b4a65776256d5540a057baa7450574f1266a3091d5d53f74a75b0cd39d1173c3f411ad1efdd8bf4be2afea69c2327bd070cd1432c8d219ec9c0d68c84cf3804f14e8daffdd1e28c28d3d55ee782c98c498b0d9bd4ebb2350a7a2354f7e5cefa6f4a4e9a1c411eb9364506e9e1204a8acb3cb77fbd2c4ed -m = 9eca0fe36c80fc5eba171c3ae66a5b1c923faa50b4521bb055e7bf51005c93df -ct = a626a385c05ebe90e579a59d76f983ec419d28310f75bc913cf9337ec3c66ba0aff7a6f5795a50cf81d1703ec1164d893cd4865fd0db6dc0d440d6d22dc92ebb3485e823eaf5d8a86a16cf88aaa6560eab45f4c66a75507beade563beefab7171c3f5d5e0675c85737aaa83e68b6b5aabcc7fc8e7f339f308201f887a144c3855224e67c914ddfa278cf28dd76d488d8dfb68e45b1bf15793671415251f7177a58769d8d0ab3a5e5d191553cb970ccebe7e3198b91fc7a2867c61d89d9b9bef170db0fd7e9e1ccde065555a2b2838913cd19408d084f9a7045b990497331ec2cf23c460978534b33c509ff9e6d833782a6cf905a0c755c77aee52acfa0b76227850ff4da29bdfde166ae1404a6089d83a23e2a2891542d66b5ec0cfae0a36855a6a3fc650290552a7ccbc94ec8f56c1ad6ea030eabdceac1f8c9ce22f496ccb022ad11630a51453c68b3ca1d05250b59c00d8551a9cc16d7cc0ab271ecaff584ad45c7928d64801f42c2d153df814d792a619949ee2840079d16768db7a717f9899a8515206e35f8eae067e1d157f0fef29b57604aedd4c0411530d95b3f63727cdd8da2681fef0ae7e306a58280d48e8ab5227838f46cd2e7e720285bc9ec381c29c85fefaa13c57a84e7d9f69e710c6f5753160f1dd267d6747c71f8afaadff93289ec2defa2e965583a576fa1e92a40f6cb1ad55c5ae36dc8ecf38422d011413544d3472ba8f09a1b2fb8039efc758ad526d099172b052561243512ad5c550e90311ae4376f4a4fa3af0b8252f1bedc09771b6c7513b63f78bee381d352ba0eacf2e3faaf4d784b52edb635822e729d568e7746a39e2b22c4c0dbe64602afd9ab1f078631121acf052fb092fc7be5af571d9749b1d198c7a633d9ac449b5f941d4b3d31325b65b246b4546358d499947f59d83785f31a4bba67f77b607523e7dfbffe625b36f4d7c9ae701842c4e00015bff1ff2354e0d2119d4b711a1fc28a362156e9b6f7d37467e3a74d93bc968520b0ba7194f23381e1e35ed0153631f4e172c6eaebf20357e9032c1cf9256146148b3441e73a7b99339f7b9e6a4ad0 -ss = 88d2d42138ed5b56ba4c57e7edf322147206083b80fa313233ab6b9ae0bc7634 +sk = 631c3a29ac6b4acbaa574210be900d21f402a46653a931b8d4618b3d366d35a7628fdb3e25bb8ff1da8c5872b0c65153d23a724a918e1a63b2ac4c43fce7a430572e9ab5a39c4bb5249a7fb723701bdb9f8f900ee363c8c59501f9c2c46b62c4f5fa3b17198b980233ac71aefdf632a28800bc147fe4dbbed75930aeb8023a33288241c373d9ad4e6b14d4092e834a8443344744069591a247cde4ad5eaa4a03c4c9a12799e08b73d762a8b9b1b8e7dc6eef601b3825c399b047955bafeed1124512c72482511117630d5567fb8b0d29b09978938dca053e5306bd8f8950e4c162060734e0a79290878376b7c76b8b1eff5c1aa30a1fbdd6121dd65bdd4216b8727b5cb3cca576035e62b673cb2d95db9dc532955a98b4d90b62b53b22a2a65aae25c08607c17f727da47385da4bac7d6857ff697c22235950b063773a6f15734d1085a24a0a1103e19aac5399608ac8bad386eef981ff5807d25c1ee5291c17762ed0d637dfb82e186893b86637404952877a0b8c8545a52ca481358f5033a90c45076b366f026761621945a3dacaec577313c0ce420aa932d964000aa2c4052e49f90c62a62fb2d377f76355ad961bd8ea7f24a72caee21bd8d4aa037b7c9884af59e5035fc031a053ad276ccc8863cf30a00fd0065770c3995ad637149056d5dcaa2d634969352cb0daae78d3059707292744a513493d13a28383f002b4928eaafb2941765927259b43e36334f7bedcfa39f22292f734b478f96ccefbc5dd21b585770c3fda67337348731080b48762b2f213c3a85dc3d810b360745f5527867586744b46ef068102cb16b0b49c6139c9dc6bb5aaa6863652b358ea322facc238921a0b5650a8c7709d6b95081b4efdd42f476701d2c65633795bcb38055f845f3f788c8bf73dc84364bd1aa343c306c9a548808c10e31840cd889c0e981ed9b3c118e93b1bdc99212788391a532f716fde86c5bba30d8b23abd028c5b788c3d23a824c86667fab2804e7148e8a312c357963db7cbd8b92efc45aeb43404fe78f25529b5aa3b64d0b073a46c1d3884843261ae396b1901c730ae4c22ce79a65a217f49001f7a44a5cf83bee55a6268ac909ab6230233ea188543f144d6e0a1688182f35446c1e972a2f923c66d2c15bd0534d0b2f418c50e0d81bf309a002c100c55040c6e6b5433a5d47d2bdcbe84823c939c3f76a681982075c90c4c712d1399a0d82c6cf713e5fb28d0ee6368cd4a708508de1530ee89cc53e8b7df748b91ae45bf2a849748a3a54695b3453975082a39f9c89fa9c8866284258e6cae563b9ae7b9e18aa8346b680aff2a80c4c1a07647fc5e8b87b59c8bf97c235f0a56ce2a1b7608d6445b907f4b261dc55cca76a85dc8400895b4a4c03e7e65675f5479fb4cb535240fecc628c180337635af6ac6366c8a778d84980ba659f8482785b5b6fbb1a265a99012a41d5d13cfe07c7bd82cddcc98449d0a2663a468fe9591b0450707a95538bb1c22393f7813e68719a2c11ad8e311402885a54588bfc47c9fab18218bc49c87397be532c0127302089ceaa97102bb2cb219901ebabc69ad1764bb6cb5e7553810b923be76796406994587bd8a0c4216662651b2e8787bfb6b15b98e26481559cd3002c2a03bf0d53467de01bde0bac05e968ae266678bc6945c182d1d66018cc7762ecbb10012208c3cbf3d7671a98388a30b990a4674a8b7c6f958eab221d3e58579e521922abc0b0879b825c9d64791671fc6fe752bf49f87b606580d62c8a17d85a927976daa50ee54a0d186c6c48f61f6955b8afaa1fbc805a53e22ff192161d2850093816d7235d134623d3d4bf20479aef39699426642ac1c084ac43d8657559f817ebb31901f2ac308421a0ea975a4023221080b786049c89a6c451ac076a80e87192d8d8b19a6083b689b128f90afe044d16663fd2ba1ed717c17d5c06ced28446c88f30dc8d89db3d5c531f6d6b63d5d535ffe2671a625d97254223f68e89279198296db0c0917dc338b1b5b33e60210457970aa2c2caca854b07937ae6cca428b8c4dc96029c57ec309ae6e306b077aa1d8baf3df17110207b73d056550aa7ef171b4eab2e8f7990429141c7c518299733b734cfff884aaad95e55b4a65776256d5540a057baa7450574f1266a3091d5d53f74a75b0cd39d1173c3f411ad1efdd8bf4be2afea69c2327bd070cd1432c8d219ec9c0d68c84cf3804f14e8daffdd1e28c28d3d55ee782c98c498b0d9bd4ebb233afcc6703873ba41a425ff19559ee47d056d3b5b9e567e5cf24ea17010a5c3ca +m = ffb94fd16f27b1b653e0882f4e86b8ad651a38c01a33fe0a34dbb425937e242a +ct = 28d183859dcaaaa127713fb27409a69b7a0b7cfa372539322ce65dce5115cdd3afc570bf61f76c9f64d8e971ebf5c79538f0b5c4f87acfb00fbd6438e49ee5bd074152fb0603e66ce6ffde9021a4f7fbb361c885068ddde25ada63ced29c592600f76d820016d5b6197ad127e975117aac0c41f00de43536b62b817fbed47b928fa3f036db737ecf8d2858de0d9eed2b760f4edaa593bd17c59dfd99e8dad0bbc92c8a89f4bbd7a4037a41d1c12af19f9c30424390fe31d7a558df4c2db4eadf8abaea86323ab74688e54ef161f5816b980a74c671b33f0b1c51609e406af36cdf10d28ce2ffd5a0e061e44384305b1c4ba8beeb6bfd583cbd66691daa91ce486e83ca6a763d6dc8228ce2ad847549503bdc1961ce7a16d98b1af67247de7ede9afdfd12de0d6073b3d8277f546b9f758056d0186a27959c2a794fe836fa577fb3eeab7957df22e49dcebdb1f9f5e10f39947c545717125dc993585ed5afaa48548b119e2e7a2e8c18e3e98bdaa8b0e4196c25acb542141718a97a2ba76c20063e4d5d23677ccb1ba27675c7eab1f3d6ca3a37bb76f4da0071fde4dec33d2da78bb15129bc99127922e1893de6bd8eb6d07b7515c64776f58145fc924f72a96601142a7b76d4222976f5810cecee70adbb781307ca31c21b722ab6486e917d24d4e6c6d7690a453f9d5848b91bbab73b89a9128207531f435e1841be5e7edf69bbb27676396738c3a46267ba23a89d3a235e84ed3be70a56db8b21b9bd94f71f12d7fe20c3a908d12a786cd5c4d6fe49ff8dae71d6868fcc6c988b3d95c88c197ab94273dfaea8ec19b5385d5d21ee6b6707f5391545fb89b30e0215489663dbfffa03b40cfb809dfc8d58ad5e979e0c3cd88b5e336432c790f510d8e8d0a76fcb92c94cbf0c7140336aeb121f236f6f5868d1be906f119800e1c7f495bc76ebb12e65e739f45a5e16fe50282d82f16c8af3c8362465176fbbc79a927271f2be4033a96827b388f84465c097d92c7e52fd6270878bd18c9e496ac05e3d5bed0484f8037335dc27316331cabf7d47000826a4d8adca559dd0884a7f084feea1f7 +ss = b11a6cf4a1d786894c04618ac1a5db76ff2b67dfaacc427018892c9865e7055d d = 351fe4313e2da7fac83d509f3103caf7b4c64a4d458fefdf636785ac361a1390 -z = f072d9b5a99f9c7a0a011e4dc10f6b600d611f40bba75071e7bee61d23fd5eda +z = a4cb53697a77fe6e39ef13c7460d657197bc1c7ea3df65b85c8deb43a058bf1d pk = 6e1b8a3ba66274e66d3990a19fd84badcb9816036919f23c61077d12d85eb2058bb4b3369a040c5e61573d70c590669f0d394135e30570dab863488a66c1744a165c2e31144ada7b351083890a3d10077f2e556d0271134fd78d570a2fed451572d4197dd90fa5b7b19fb588d1693c3dbb4783c690400cc3c225324fe834a3c154728080f0e4b910310ce1c948007990df2108b4544354f92a1fa6685ac203c11a58eebb3523b47349fc2ccd19b33c522ddc60cb97671ad011c150a29b51249158d5a131d3583196c828912e7b15572db019904a548e0967c91a684f4965bb3b3e8c008bf8531f98286c005b27a01b7ab2c13ea2c50133c3431db1c66a0b83bb92302fd7948938b4e87c7ad2f430c6516872474185d804c3b8ca891b95f5d0893cf20b90635c84aa260a48aa7b9b3c14130d77e3994e952cf52843069a42a5c285db221d4f492e152c03a51270a35738f51aca012560f84a238da294f2a17bb36bcadac68baa40b110d78966f6bc77b8930bd708a74704549560fc59769399793c26253e67bf4acb629138c277f7826cc00bbdd61dd3b97c2f8277696387196950e1e53b3cf40164c32162416308761e72756c2dac0af7945dce06571a5bafc1968d25a6628b766bc99a5d43c219161ba16a20c5b2075a62d18710dab472550edd2229f8428717b58ddfaa67025c3e0ad97657b20d3be467db6752747961713971d5cbbe287937c12872d305a128f05a53e56b43292c7ce2c2a360381a8610f1a0cef2cba93359c06b3c74e9fb4165f187376a55fff7ab9fe872c9121008579a877099581458713a0683a9425d6072c6b813048649a9f5caa4c606c1ca2f79299feb0ac1b277cebdd82a2396a02b272b4ad196d457838a262be3918dd3db84d7d821ff3aca89450478e8c10997628f9ab23fdb0077997a8ed5b26773377f7a466a69ab4e10b2d93899c66c900fc585391805aee1677695cdbe264158816755f69515d1c3d76046d18c18e07300fff2bf6776cc7ee87000815ca4e83967bc37d366b9ccf74870a678cef2b13a7636d1d311dfd5a37aeb14a3c51c9087b00a2911caf1f339e468be45459e708bfb464d0c480a1becdbc021a06af7aac4772545eb -sk = cf32873eecc1c6215a531348d22060c1e95acc1128c0e0accc6c5f824a4f2405bcb008785a893962c65b330aadd5d2c007327ef6fab100d52e0da1260e9102d19353f29037906ca08c76367bf669f8b5a4e608a65558a47ce017605226640bc53376920ecb192187ba716842fd67045f928d5df21dd0ec1f648c58e458a86c340c0204654bf7788df525dc396ec7292059830e118ca3b2804e2c621d92bc8c7d00445ab36c38faa84e0697a2a231d550ce17aa6d903b44e9bb9222244a251a7fb2a8bf5393989b1b2f4b5897d2cb300c12b1f763704b26a6b7e1aa5a13a59987c6d6398be32c18f4721cc1c52816b17037d526218a4ffae04d1e22b95e44b9d1e2ab370507095b6062c1b98db588b745571621a5881993580b17e533b81bf1a314311d08cccd1d5a260c19b7355b68d2e5ab671cbcb5aa5538079fed022adc9a25e48b279e47316d634c7b2b1f485391d1e227b61355a38921549ba88a228f66e515e2b31d7677a13d254551646df15733c0f7420804782bf2b520d6a5760b854749a0e17434c49348f13acf502311f1c48e3fbac0dfaa67af77699dbbc34842c198d5668ff3bafbe60abffb3e80a852f8b083e1286009006a23975783f686593483c10054c5a3c9fc8a6553890a32428b0e773a5db9a0bff58257d77baabc9930459d78ab7cdc39a8ec5082a8b1a66b864523acb151220f830269537008ca87b963316a04d2783d857d21a708eca07a701a282025a26b88100772a751acaaaac9890f4449bd1971e45a9f0ae0697e43a27cf7bf4d65583720a63daac323e7ceebc6a8a8819d9752409eb429e6b85adc2a719d411da5dc24e4003772c11e58d849889638bf57bc2d62ab87a4b7837c474ec146a14c543e7a37b258c83f587ad2801dce56bfd8663db8e5a9197591b4871888c084512aa2f624c716a02023566e584155b5a784a964b46ae67c978471da9060844a3811bc67ea87a9878747202c689ee26109cc22ae93ab24c032b8b332d4bb1cbc72c166166c1dbbbbc7d70df1c49c2df2c388e7817d462afe9a3429305e19c929fc065818a2c3304723184b756e1b8a3ba66274e66d3990a19fd84badcb9816036919f23c61077d12d85eb2058bb4b3369a040c5e61573d70c590669f0d394135e30570dab863488a66c1744a165c2e31144ada7b351083890a3d10077f2e556d0271134fd78d570a2fed451572d4197dd90fa5b7b19fb588d1693c3dbb4783c690400cc3c225324fe834a3c154728080f0e4b910310ce1c948007990df2108b4544354f92a1fa6685ac203c11a58eebb3523b47349fc2ccd19b33c522ddc60cb97671ad011c150a29b51249158d5a131d3583196c828912e7b15572db019904a548e0967c91a684f4965bb3b3e8c008bf8531f98286c005b27a01b7ab2c13ea2c50133c3431db1c66a0b83bb92302fd7948938b4e87c7ad2f430c6516872474185d804c3b8ca891b95f5d0893cf20b90635c84aa260a48aa7b9b3c14130d77e3994e952cf52843069a42a5c285db221d4f492e152c03a51270a35738f51aca012560f84a238da294f2a17bb36bcadac68baa40b110d78966f6bc77b8930bd708a74704549560fc59769399793c26253e67bf4acb629138c277f7826cc00bbdd61dd3b97c2f8277696387196950e1e53b3cf40164c32162416308761e72756c2dac0af7945dce06571a5bafc1968d25a6628b766bc99a5d43c219161ba16a20c5b2075a62d18710dab472550edd2229f8428717b58ddfaa67025c3e0ad97657b20d3be467db6752747961713971d5cbbe287937c12872d305a128f05a53e56b43292c7ce2c2a360381a8610f1a0cef2cba93359c06b3c74e9fb4165f187376a55fff7ab9fe872c9121008579a877099581458713a0683a9425d6072c6b813048649a9f5caa4c606c1ca2f79299feb0ac1b277cebdd82a2396a02b272b4ad196d457838a262be3918dd3db84d7d821ff3aca89450478e8c10997628f9ab23fdb0077997a8ed5b26773377f7a466a69ab4e10b2d93899c66c900fc585391805aee1677695cdbe264158816755f69515d1c3d76046d18c18e07300fff2bf6776cc7ee87000815ca4e83967bc37d366b9ccf74870a678cef2b13a7636d1d311dfd5a37aeb14a3c51c9087b00a2911caf1f339e468be45459e708bfb464d0c480a1becdbc021a06af7aac4772545eba9d7d5a52aa2dc226832f6e4603322f60b1dc21207e3360712f9c6445d37e64df072d9b5a99f9c7a0a011e4dc10f6b600d611f40bba75071e7bee61d23fd5eda -m = 0c5719261caab51ae66b8c32e21c34e6d86ee4aa127d1b0195663c066497b2e9 -ct = 7054442c482fd38d0d02f9bba2120409f39e613cb38b81a5609fae977471c3838154c7501a82dfd68f310aa074fa7fc397dcfa4fbce36acce6755c2f2d431556e7c89436d9941723a14907252b1ff7d77b4b6cc54f9e2efb772228495125139d1bf09ce71623afa37cd8d762ca6fba528fcba9bc9993c684874115d29f4d3275baf75791928a9eee5c99b57600627fb12b10feb7ccd1fa9e884d900dc92b1ccac949588ee27a5c2c8b07f2c91bb7744b494ab2e477f7c403272fd5631d2e7bd2a521705dbf0fcfdcdfa6b0ba8e056575015d05514e469e8080925e07ea5f1e7199d3cf99e997c7ecb6e45ee2a14e4dca2c96144808a0ffc4714088869b6ed224851d95369e50c450a3c4874b7d78299bc75dd7215953de770a8968bc6c2b3d8f986ae4f2f32b6963cbcfa1773a4800e7b0e8935f5c0744cb5c76c68d1b40707064877d7715bac051d4b1d17e39d8148e3c0eb0686dd0ed409449e9b4e0686d41f86ddf82cc603bbfed2f34182ae90f47298a68f4b582ba3974e097c4ddf77f6cf610ba29615bfae4feb4dcd911e5c4588198207ac61c27825e618bd78ea7ecbf1e6c6027fa561555415aea59d67a9b8169245c36ca6770249f58dae80246fb1295e1b20ad11e99d83d56574979f288dae4d6a9c6144f785abb70708839b111db31b032ea3b6eb59340cb8eb3aa8ce61ba284fa3d624058bdacf4ad290460b8f8e583a99bec59e202e24bbfedfc799c12246498744e3f8c875995d2d52b4e925b601802829e19802d2ba132f319447c85b790861f838f897152478b7c290965bf30a682cce889e52c4d3779b173c27d83f9c53842693cef34a12339c959e8a96dfb2647e8e635d8dbc04b539697e8ad26d92faf2f6371d1d285920acead6a9535f3ed228b5d3158953b4ceca7af6688ca11350aa6e9f9fd910a2b6ccf4a223e2205521a03eafce53ba99d4c287083f6fb6b7bc481f68138bdcfd884f17a6fd5aa71ab56a14892077f116d4e96a103bcb5e8e38870cf06dc0121d84144b6e02b8577139c6475c8dff629e797e12f4fd167675a3ce8ce3b0dbbf5e1b5c06fa228c9 -ss = 13fb6a49481d54cf39c2b0303561b262a605b0310d939e6a531f62db01118d06 +sk = cf32873eecc1c6215a531348d22060c1e95acc1128c0e0accc6c5f824a4f2405bcb008785a893962c65b330aadd5d2c007327ef6fab100d52e0da1260e9102d19353f29037906ca08c76367bf669f8b5a4e608a65558a47ce017605226640bc53376920ecb192187ba716842fd67045f928d5df21dd0ec1f648c58e458a86c340c0204654bf7788df525dc396ec7292059830e118ca3b2804e2c621d92bc8c7d00445ab36c38faa84e0697a2a231d550ce17aa6d903b44e9bb9222244a251a7fb2a8bf5393989b1b2f4b5897d2cb300c12b1f763704b26a6b7e1aa5a13a59987c6d6398be32c18f4721cc1c52816b17037d526218a4ffae04d1e22b95e44b9d1e2ab370507095b6062c1b98db588b745571621a5881993580b17e533b81bf1a314311d08cccd1d5a260c19b7355b68d2e5ab671cbcb5aa5538079fed022adc9a25e48b279e47316d634c7b2b1f485391d1e227b61355a38921549ba88a228f66e515e2b31d7677a13d254551646df15733c0f7420804782bf2b520d6a5760b854749a0e17434c49348f13acf502311f1c48e3fbac0dfaa67af77699dbbc34842c198d5668ff3bafbe60abffb3e80a852f8b083e1286009006a23975783f686593483c10054c5a3c9fc8a6553890a32428b0e773a5db9a0bff58257d77baabc9930459d78ab7cdc39a8ec5082a8b1a66b864523acb151220f830269537008ca87b963316a04d2783d857d21a708eca07a701a282025a26b88100772a751acaaaac9890f4449bd1971e45a9f0ae0697e43a27cf7bf4d65583720a63daac323e7ceebc6a8a8819d9752409eb429e6b85adc2a719d411da5dc24e4003772c11e58d849889638bf57bc2d62ab87a4b7837c474ec146a14c543e7a37b258c83f587ad2801dce56bfd8663db8e5a9197591b4871888c084512aa2f624c716a02023566e584155b5a784a964b46ae67c978471da9060844a3811bc67ea87a9878747202c689ee26109cc22ae93ab24c032b8b332d4bb1cbc72c166166c1dbbbbc7d70df1c49c2df2c388e7817d462afe9a3429305e19c929fc065818a2c3304723184b756e1b8a3ba66274e66d3990a19fd84badcb9816036919f23c61077d12d85eb2058bb4b3369a040c5e61573d70c590669f0d394135e30570dab863488a66c1744a165c2e31144ada7b351083890a3d10077f2e556d0271134fd78d570a2fed451572d4197dd90fa5b7b19fb588d1693c3dbb4783c690400cc3c225324fe834a3c154728080f0e4b910310ce1c948007990df2108b4544354f92a1fa6685ac203c11a58eebb3523b47349fc2ccd19b33c522ddc60cb97671ad011c150a29b51249158d5a131d3583196c828912e7b15572db019904a548e0967c91a684f4965bb3b3e8c008bf8531f98286c005b27a01b7ab2c13ea2c50133c3431db1c66a0b83bb92302fd7948938b4e87c7ad2f430c6516872474185d804c3b8ca891b95f5d0893cf20b90635c84aa260a48aa7b9b3c14130d77e3994e952cf52843069a42a5c285db221d4f492e152c03a51270a35738f51aca012560f84a238da294f2a17bb36bcadac68baa40b110d78966f6bc77b8930bd708a74704549560fc59769399793c26253e67bf4acb629138c277f7826cc00bbdd61dd3b97c2f8277696387196950e1e53b3cf40164c32162416308761e72756c2dac0af7945dce06571a5bafc1968d25a6628b766bc99a5d43c219161ba16a20c5b2075a62d18710dab472550edd2229f8428717b58ddfaa67025c3e0ad97657b20d3be467db6752747961713971d5cbbe287937c12872d305a128f05a53e56b43292c7ce2c2a360381a8610f1a0cef2cba93359c06b3c74e9fb4165f187376a55fff7ab9fe872c9121008579a877099581458713a0683a9425d6072c6b813048649a9f5caa4c606c1ca2f79299feb0ac1b277cebdd82a2396a02b272b4ad196d457838a262be3918dd3db84d7d821ff3aca89450478e8c10997628f9ab23fdb0077997a8ed5b26773377f7a466a69ab4e10b2d93899c66c900fc585391805aee1677695cdbe264158816755f69515d1c3d76046d18c18e07300fff2bf6776cc7ee87000815ca4e83967bc37d366b9ccf74870a678cef2b13a7636d1d311dfd5a37aeb14a3c51c9087b00a2911caf1f339e468be45459e708bfb464d0c480a1becdbc021a06af7aac4772545eba9d7d5a52aa2dc226832f6e4603322f60b1dc21207e3360712f9c6445d37e64da4cb53697a77fe6e39ef13c7460d657197bc1c7ea3df65b85c8deb43a058bf1d +m = da8f1fa1262c71363592344af3af48d678dac8e93cb11d2df01a93fefe97c4c8 +ct = 1cf28eb989c3e910e47f9a713795c35e3e603ec0ad3b7f14285147859e516f03099b00f0b567a669be98805de3dfcf062ff25dc1dc6a09e8bc0d67e616e6c09e26fd2311cfe5d07fa643ce3bfc81fa2cefd99965da021e82deb86e21693b3c0d6ad192f8a02ba2764ffbf82f9bc080fc4ea592c3a3f798c2757d78ff02cec8a87b30b7513311983d47ac4fb48394610d684a55d93b332d1ed8c9394d462c93e8818019c7ea00ab7c80aebec24efec4a41783ac6d1e311482523240bd0dd8e42a5b1fd9ca168dd4d7c94d5d54d61db33fe9100335b4bf90013e4df7b3ba580c50bb65feb803653a24c3e1064298184bb937c1d2f0e647af68538f5943dd1da685884c626603022837ff65bf0c2230d8ab67df2ab315de7ae187656c181f661270219ffe0491379da57e5df69c4f050e0b341e3d7395b99e349e91b01971b66ca633a037e5e6ee8745385d9315ac9fae342a1c194e80891e82c3cf7bc59d6be508ce6258ddb42036ace0298611e0e51cdfb04f4ec7a65c3a17a1bdca81125977035ba1d79c71695a0cce8deaade8db21f98c9938a9e718a0518e8edcc5384a96ab3c6f82e5729f67d3fe127f3a1a61c246834d4c88a19ccdfe2a6461506e1ec4bfc42794383026c5884a763964d7f831e688259787e7055f47b201fe6a0e835b6058dae7396a0efcab04adc604881f6c5b5485a7214300685ef042d55fff245256a68792217d981b9b56691e8de7d3065994daba9414361ecded70f67878deb70deca5f11957d67c581045d215cd3c068ab3f2b879172ebf90e3d48e054bbb9993fe3c4163f39a02a674192d09c545ef01991506c9d63b2bb101f46dd3b9e6055fba3b928d424fd805b41f37e3e3792c24ec0d7cd1eeafe642ef4bf9215f7ea9283f52346cac300695734f0cb43efeb5dbfade565f7f9c48c40ac808002bc754cd79fe6ee959f8ed31235e30214b5370c794388b772d1ad16d70c50023864ff1e9b40e8631af3437d22e11df9e3da1b6a22699031e48f8f5c3c5b948c4beffdccecdcfc1b2ed905c9e1b2629a7fd29e434570966381d037eea231e1a3d3a0e7d4d +ss = d083ccbc8b058e55c451e9d2b0865025c65d549efbc6e1f0b08033a5055205c8 d = 9bc5315580207c6c16dcf3a30c48daf278de12e8c27df6733e62f799068ad23d -z = 5a4d0a8a41c4f666854e9b13673071ceb2fd61def9a850c211e7c50071b1ddad +z = 195927b10c3be5f19fb055a71cf9610fdc0f03e23fd09eeb8c63b7ba3c0fe642 pk = 8cc33e478b0946e4646e934c7bfaac517294c2a75357f1028b8c32e1314cd097471f15b35707a28951bfdc88590d464750a6c7b5b62c4218bf9c152e30cbcf97d8c64ac73da1c5493848397adb47ee43860949b65bc4ca1ffc00e93475ac669be33808079b2b5e230f838a8b003d77b97672844639f8b7042ae6343f681fb1f77f3c11970ce715b8033ce11c9089c9b79e9470b9b64f4feba92067988297be29413c609a3e245866dc0079ac61a61ba1c90542ce965750f2b57a02d19f59719af9191e62a1b64579bc6bc5b1b353a050d913eb8117c525b8e2a417743c9eb8e589776b885c465e4d02a51ed7072d69c8912ab6493bba5fd186836623dd635d8121ac8b97772b671d76d983c513a45e4068c6636f6f1c1b21647ed762a3fb31615e781134075dd3969366527922868605459a6202428c3b94497978429b7e1bd2384e1154bce5396f71ac49aca4c426cacd1c66c0a19918104e1e6ac72018bfb18019b9dcc75a020c14e35b3e7759487b089a45aab9773125f61455465c19a062ec90954429adca61a62d20114127312dd52903604f943ba8f3e0583341844500ccd7e06403a95328e02bd3ea6bf3b721c2049360930602611f5e9a06a795a4b1a8b8d8fa7845a12d1dd44d9d67971ad0ad0b3280b9f996d3770890582af9757360e7208c8b9766c8c673db52c22cb6e167191d11900df3b2190230f01437bdd8145ce232a1737eecab8b2ca1489d427ac74426dcd39e12a8b510a0b6eae269aa4a0f46724045792a27d7cc343459914a490a170ba0c27e1405639da5141673b8e9606cce509d353abef9b7c96c2249dad3320cd189060662c11069b36b1c75e561fc3a20631862a9b531c41683c30b7879e0c03c49b8e26c7bb59a2bf16950cb7c5eb326481a9161691859932c430e66c1d998a1be066648c569698285695c08d004586408360bb8954f195cc5198fbbe3c16a32c72ea0b577914f5590bf189833b9d38f27433d406a88876ba754d86f4d9bace1665f42092129995fdb3b790a89a2f1fcce9c2048b986c8bf16b5cfb5b4f3d21f4ae84b5057c1ad5922bf15209eb3382eda6d6338f166acd09e376826299b77b781250c2224486ef23d424bdd -sk = 9388ce90930382aba7453a3493f87804172002e6c55852c72e550ee0f018afa50499c20914e6575af217cfec0c55d627e29300419657a6575552e35f5d243535e36932aa98f2a64873ec6b72962a2710296b3a74f72827b51a40f7d0a2d8544b586695887223ee1bc71ebab898142e1c4a412464526a7362af62cab1f9bbce33444f43afbe016a0d67c6b65b7872f3c69dd60adb9443e0766005f4ced873a9a22cb99083a3b857850f51af8c3571f18949b932b77e9b00863398355bc97cd07204606cf5eb80092abf1e42ae00315c79b27979d0c8350942dcc3ae5e0086450171ef17a0c48b3387921b92dc8c60d0c364ab7110c59a3fe27b7004a7a0d10f24f66c57d15fed49285b995e4d198d9fa90e46849130167238f24aacfaa4419a627b30c6c8185a5cd751313a55729b854b61cc1ba940a0ab9dafb241b3f81a590c4903c54a43d790c3fc1e2176b26e40375c294839516d0de4615e16302c935824f6528bdc22355ba9dfd77e3a0c6d8ac36011bcc760e6c04175c088d06079709edf3570cc259b57ca85b505a5277a92a5d83f332747b497721c707b44b0471638966d5319a6928f4f10396d192ab7eb340eda4ffa66284d5a7e303175bbd0ca25b2643a5571e8a74fc1828656d737c47347ac120125f12d7efa06d73c2dfac4c38fe34d1a393907ecb44834c4988c7a59d27b26b32420e98723c09fa8b19b730bcf672cb555e3c4bfa1ac2aa2876ef792b5577674eb7ec635c1b692017346bf5a24279d018eccb9aa3e04065a73061d8115bb208277243709a37139058e30b8549b2c00a54093e9d14095f13a9f5b088f1057207096091bb32bf4b85fc3c088a7cd0db9c4301374aeb907b0a73ae15026e0900cce347f2f883223166aa8b012e91b5c67d50d421bab6a6ca88fc373a2943ec7e51651a13554c30de5424852804def43b72858185c38040d6532e2d25b6a6970220200ad352636b4ba3ea8466ad678bfa958472440d5e445c4680701abbef7f2612faa26bba87da1d8b8bb1a3568144a568c4b112263a4a5292be317dad102ea5555ca1b197341040007808d68b38cc33e478b0946e4646e934c7bfaac517294c2a75357f1028b8c32e1314cd097471f15b35707a28951bfdc88590d464750a6c7b5b62c4218bf9c152e30cbcf97d8c64ac73da1c5493848397adb47ee43860949b65bc4ca1ffc00e93475ac669be33808079b2b5e230f838a8b003d77b97672844639f8b7042ae6343f681fb1f77f3c11970ce715b8033ce11c9089c9b79e9470b9b64f4feba92067988297be29413c609a3e245866dc0079ac61a61ba1c90542ce965750f2b57a02d19f59719af9191e62a1b64579bc6bc5b1b353a050d913eb8117c525b8e2a417743c9eb8e589776b885c465e4d02a51ed7072d69c8912ab6493bba5fd186836623dd635d8121ac8b97772b671d76d983c513a45e4068c6636f6f1c1b21647ed762a3fb31615e781134075dd3969366527922868605459a6202428c3b94497978429b7e1bd2384e1154bce5396f71ac49aca4c426cacd1c66c0a19918104e1e6ac72018bfb18019b9dcc75a020c14e35b3e7759487b089a45aab9773125f61455465c19a062ec90954429adca61a62d20114127312dd52903604f943ba8f3e0583341844500ccd7e06403a95328e02bd3ea6bf3b721c2049360930602611f5e9a06a795a4b1a8b8d8fa7845a12d1dd44d9d67971ad0ad0b3280b9f996d3770890582af9757360e7208c8b9766c8c673db52c22cb6e167191d11900df3b2190230f01437bdd8145ce232a1737eecab8b2ca1489d427ac74426dcd39e12a8b510a0b6eae269aa4a0f46724045792a27d7cc343459914a490a170ba0c27e1405639da5141673b8e9606cce509d353abef9b7c96c2249dad3320cd189060662c11069b36b1c75e561fc3a20631862a9b531c41683c30b7879e0c03c49b8e26c7bb59a2bf16950cb7c5eb326481a9161691859932c430e66c1d998a1be066648c569698285695c08d004586408360bb8954f195cc5198fbbe3c16a32c72ea0b577914f5590bf189833b9d38f27433d406a88876ba754d86f4d9bace1665f42092129995fdb3b790a89a2f1fcce9c2048b986c8bf16b5cfb5b4f3d21f4ae84b5057c1ad5922bf15209eb3382eda6d6338f166acd09e376826299b77b781250c2224486ef23d424bddfa7ba132b5dfa2e3ce67b64bc72d551f3290d428cfbd45ec026f44c8dc28334d5a4d0a8a41c4f666854e9b13673071ceb2fd61def9a850c211e7c50071b1ddad -m = 0e59f6f9047c784c1f00b24454aa4f1bd32c92ae7e626549972f86fab90e7e89 -ct = 28a54a6f5b9582ec0e9331464d5d5473e162eb833602f3a41717ea2c8bda1904c11cb1c5266a7ad90beb09045076f00dfdd8a0c89ec9619da8bc871d7b3358f7541cc4557ac183213fc7540812fb37c30440173b7e29dadaa35c9207e51d78531236510eb920742a4a51c1a5c69e6dff410fa1b3560e75936336909f03609d73bd232ae32b2f3e9d698a6ccf8ae0bcb7d640e94138958ec30b1e4b7b324a99e9058446b269ea089fb9632a6c07a1e06e144e5f00ca38b2e9ac7c7ae1c1a44510d7d8f5dd7a4db8f78c3c96590088a5e12dd86fce1c14d6d0fbead35f8fafe18aa8cee5f1ab99c3929f5f602789b2b34bad0e8ace497473ed23adf7da0ec24af550410b7f643d611d58852f35e9b592d2a9896b4c30879b72558569c12b9f94ab122199c5817c1390cdadbfc3b8000420263e6008dbef5a2fad07ba29def635fb73675bf743943df1949c959208e52feeeacbcc50769c8809d64fa33ede005edd6adbbc7c600b8014863d69048816234f8a2bcae7596a27aa48471e92bb581b780490e2d00cfb95f278998286c2cdda8c5722dfa10ac06f00dfe3730b187d267bc93e760710291e4aa7443a3fbb4e21a3341c4624a458b3ecd806f4af6f7d7ba06ec80bae40f456895e6ee2d5c076008a687b057342caa46197682063603a346ab8af4512ad3fbeee4e9600f88df35cfd05740df15aa80f32b71d527e2fb655dfadaef2682399e9507838aeb0fbe5fe0adee77fefeff674910961db9c9eead74051e831d76699583078a80dbd42a6f9100d9a1dfa4fd0d0d012ad1caf035bb1277769caf066867ed8a59484f357ecf7aad535204758906ca805543d9f9e743e1018abd8f0f2955cda1b1bdbdd41080ef03c0c5240a55ea7167cfeaa155dcf50885453ca88e37ad7eacacbb8f69bf6454ee723737353fb86ea5ae8db12664854ebd01531149479fe205ad0703986e5ed72fe0e47e24c66579c29e5117796b42965bd9a14dfb47cf92456aa2bcec14f7b3bd7a1108434fc6aaf7453a27d21b8520813d42c951d1daa7caf1ebed91319b42670a928a6e7c300b0bbb6effe5f6dd2d5 -ss = 7e68f0d508a62784f2da4957e8dc092c19e523876202121379e03498b6bd6a22 +sk = 9388ce90930382aba7453a3493f87804172002e6c55852c72e550ee0f018afa50499c20914e6575af217cfec0c55d627e29300419657a6575552e35f5d243535e36932aa98f2a64873ec6b72962a2710296b3a74f72827b51a40f7d0a2d8544b586695887223ee1bc71ebab898142e1c4a412464526a7362af62cab1f9bbce33444f43afbe016a0d67c6b65b7872f3c69dd60adb9443e0766005f4ced873a9a22cb99083a3b857850f51af8c3571f18949b932b77e9b00863398355bc97cd07204606cf5eb80092abf1e42ae00315c79b27979d0c8350942dcc3ae5e0086450171ef17a0c48b3387921b92dc8c60d0c364ab7110c59a3fe27b7004a7a0d10f24f66c57d15fed49285b995e4d198d9fa90e46849130167238f24aacfaa4419a627b30c6c8185a5cd751313a55729b854b61cc1ba940a0ab9dafb241b3f81a590c4903c54a43d790c3fc1e2176b26e40375c294839516d0de4615e16302c935824f6528bdc22355ba9dfd77e3a0c6d8ac36011bcc760e6c04175c088d06079709edf3570cc259b57ca85b505a5277a92a5d83f332747b497721c707b44b0471638966d5319a6928f4f10396d192ab7eb340eda4ffa66284d5a7e303175bbd0ca25b2643a5571e8a74fc1828656d737c47347ac120125f12d7efa06d73c2dfac4c38fe34d1a393907ecb44834c4988c7a59d27b26b32420e98723c09fa8b19b730bcf672cb555e3c4bfa1ac2aa2876ef792b5577674eb7ec635c1b692017346bf5a24279d018eccb9aa3e04065a73061d8115bb208277243709a37139058e30b8549b2c00a54093e9d14095f13a9f5b088f1057207096091bb32bf4b85fc3c088a7cd0db9c4301374aeb907b0a73ae15026e0900cce347f2f883223166aa8b012e91b5c67d50d421bab6a6ca88fc373a2943ec7e51651a13554c30de5424852804def43b72858185c38040d6532e2d25b6a6970220200ad352636b4ba3ea8466ad678bfa958472440d5e445c4680701abbef7f2612faa26bba87da1d8b8bb1a3568144a568c4b112263a4a5292be317dad102ea5555ca1b197341040007808d68b38cc33e478b0946e4646e934c7bfaac517294c2a75357f1028b8c32e1314cd097471f15b35707a28951bfdc88590d464750a6c7b5b62c4218bf9c152e30cbcf97d8c64ac73da1c5493848397adb47ee43860949b65bc4ca1ffc00e93475ac669be33808079b2b5e230f838a8b003d77b97672844639f8b7042ae6343f681fb1f77f3c11970ce715b8033ce11c9089c9b79e9470b9b64f4feba92067988297be29413c609a3e245866dc0079ac61a61ba1c90542ce965750f2b57a02d19f59719af9191e62a1b64579bc6bc5b1b353a050d913eb8117c525b8e2a417743c9eb8e589776b885c465e4d02a51ed7072d69c8912ab6493bba5fd186836623dd635d8121ac8b97772b671d76d983c513a45e4068c6636f6f1c1b21647ed762a3fb31615e781134075dd3969366527922868605459a6202428c3b94497978429b7e1bd2384e1154bce5396f71ac49aca4c426cacd1c66c0a19918104e1e6ac72018bfb18019b9dcc75a020c14e35b3e7759487b089a45aab9773125f61455465c19a062ec90954429adca61a62d20114127312dd52903604f943ba8f3e0583341844500ccd7e06403a95328e02bd3ea6bf3b721c2049360930602611f5e9a06a795a4b1a8b8d8fa7845a12d1dd44d9d67971ad0ad0b3280b9f996d3770890582af9757360e7208c8b9766c8c673db52c22cb6e167191d11900df3b2190230f01437bdd8145ce232a1737eecab8b2ca1489d427ac74426dcd39e12a8b510a0b6eae269aa4a0f46724045792a27d7cc343459914a490a170ba0c27e1405639da5141673b8e9606cce509d353abef9b7c96c2249dad3320cd189060662c11069b36b1c75e561fc3a20631862a9b531c41683c30b7879e0c03c49b8e26c7bb59a2bf16950cb7c5eb326481a9161691859932c430e66c1d998a1be066648c569698285695c08d004586408360bb8954f195cc5198fbbe3c16a32c72ea0b577914f5590bf189833b9d38f27433d406a88876ba754d86f4d9bace1665f42092129995fdb3b790a89a2f1fcce9c2048b986c8bf16b5cfb5b4f3d21f4ae84b5057c1ad5922bf15209eb3382eda6d6338f166acd09e376826299b77b781250c2224486ef23d424bddfa7ba132b5dfa2e3ce67b64bc72d551f3290d428cfbd45ec026f44c8dc28334d195927b10c3be5f19fb055a71cf9610fdc0f03e23fd09eeb8c63b7ba3c0fe642 +m = c08ebd7cdcd4dfc51cf41db75f31755f2b3fadb6a059499dd431eb931e348143 +ct = 75bef9514a8dce96b4f82d424de682edfc6e4962ecab28fbc7fcabe388fb88e353041760d6c80365cecd5b52e26cc12cc5155b93a3ca47fc9a4bafafc943be2014fcc7a37c54d1b1d1f66642d4a30585b115e8bd8c68dd5153e7bd96eea9671c47666862b524858c9dc6278fde7516e0645d7ea9936bff3febe5e9e7eb99a5c406c4c5a2cf32244b2201dfdf6e3587408f69835822eb638636266aa297c8eef30308eaecdfa837e77735bb0a122ecaf33e785b34a4ed056f4ccfb6926d902a082a420992f13fdc4982754659859b10f94934ce4f7a69713babbffeaf65e92ec069e803f3f2b039309c0ecbeffe421668061001efb366cf739bdaed600d0bc1e9a8495d8b48a1e3b767482cf826deda2ec8530294fea44590f092cd04ab1b6d20fe9ec27b9421df9e83a961a59e1116d67da6a000988374262c1c2b98441360a0da183e02d411611976e9fc5a357d8802c1f891fe8763954e95b9d2f8d3beaf9ee6abedda1985f189d6ed62de170343871f70f5974d8050de635901891f3761c7d27778cc70aa933086bc78c8b11a5c3c71847a2100dd6ff411738142a71461b4342d79614d4c6bf9d91ab6933f049fcddd6423357a90b3401c4b58e7dd8bed0d8c34bd2505c180ee2e01afe155d59c0e6572d68924379bce696ce6adfa1fcebde0c2ef405be15748d8daa39c6344f4befff27285073c7aa0e39dc8fa35c1736fe0693b66cffc76396d2cb3261488093699c982ff045b154ab0cd1885bd7f0f7ebd669476013238358feea1017bbbfb6de0625ed4628f64d870cab030b61e704fac871da0c3af90cde80e685a861d3b9d93a87a277a567e867ff3b93e0c3c3bf37e45038b4557529ec633df10426ce6dcab24c003b9e8afb2d1fd73641f64bc2ca897cd595d1df42ed77ae408816299fe41873e90e1fea4e3eae7d7df40b5cdd0c3cdd985a5132bdbff3724cc8d90d6976f58524c03f935a77c5995b1e81bac4e86135781fad6d8f0d60b4b44e8c50d8484e024cd5c9e5bcb9ef906f33adb3e136bd1a7c9e3019323cb67379c434ae91e6db12a937311e2f2c966189c1c57b19f +ss = 256977df654c2738cd677f3a57e3d9c36b5748cf39aa1f0ede690dfd9d497aaf d = d8b907b34d152ff8603b73051f772daa71eb902c47b7e2f070508269d757e02e -z = 36b817736cbc5f7b1dd6eef5fe6332fb1a598f3871e5470d440fd2ea631da28a +z = 7613c090fbe4afd54869ce826b72f3a5ec823d9a1c983a3d31b2387ed6b0c613 pk = a764b9e7abb0be68520a095bca8946289731b5d068114acb1209507e9b20831bcdb2b2b6610c0031f89f6d408003ba57398b5d4bda4479134350994a8190cc1ec6b8ea0905cd38772789c9873a4cb6606e6a591410125786d7140778975c472077e42416d3223d69ac98320de4a1bb45761f04178fb63c92c71b24ff8056844455a45a37969b4231123483b341ff6652e7666ede163e9b614313012fcfdaca544b99cf922de994cf6de08799586bc5810c5c1c54882b935c52046921963865c0b82b5466e29eae6a62fb1792f4e1035308aa5ae81aaa524533ea7a000d7a128cb83bd0587138c73d66b17c585f7037be9c0089e6572f2f68c5ba09a532326419b3c19346267d8887dab82fb0176062f4c6e6707ec2ab7448215e895908d82cceaed528ba75114c7609e0b6b4e27b9b14bb8adaf0413d354f00d33409d5a185d1b95c58b7a86caf903c1de1ab16aa2054c13849edd469899780c34b8c423a27483abcf4c53b4bf2210f602aee904d2dd879054b69247b05f3b86f00a1113dfa29d47bb006a2b1fe8a540021541f412d307433ce71362f639fe39912fc0a6ae4a33ab4b07cedd1813d0009b784bdbb209a58d66ede34bbfb939c09abc80d6c71c550953494c99881a1f874791031a8ee2bc7760cbf75d82bee11668be002255b7a0309527d63bd3707a692bc3d3c927e0a406e852a7215c1850dc9aa9b17af5dc71fe9c57dd5dacb26f95478613c878b7694d74be742c282991dae15267cac6d2bd0b2d2c469bf391efd470a19d59a6db65710ac98905520c863927ec80bbee88513d70d009370d6b04af5ea49e6263d034228644307fb407c4617b8b7977c8f2c8bdab888940c2b1e157193830def0804d58b8f380316f60a3c26e27581d03351237cbf85ce4252c92c19c7a842201826cf698a074044b9b8132236ab6852718e09e033e009a1e8dbaa6ce98a81fa6371407fc2619e5aaccb94f1c8fa18236570abdbc217a0489be14aaecaba1c631b76c5a996d4bb842bbcce6798255d7365fed744865267da794cfa97ba6c7927474647a6c952a68954369297e96b6612c3a0c9709046b442990cf89513930f122152632a3c3d7c15c8018e1c23aa33cb89ad -sk = 5177b63a55465cd09a42fc7c26cb3380880f239415c318be33e486582a40f3a685c060a916ea06b5dab029c73a5756ae52ac299b16151685611bfb5acb3465a591b015bba901765d2c22222338c5de7944f17487d7bc7c444840b3c69aadaa3e87852446b63d80e68e24ca02775baf035a24aed04ed5a54193693006c326f814a7379aa4141320ffcb18e2624e08e27952e75d0aac6cb4b27c9faa6850c035799b229372832bbca68ca915009b8ec877548fb657a73bac7556aad1b6b772f24393ca11eeb53d05d6996c162d785bae9033a23e78ca224cb92a770713d5150cfb8fe570cd24b2c43c2ca60b81c3243234bea625f3a05cfd434688610a7d46bbae25b14c207225fc0c60326cf33566fc340d4ec8b1af40c4584828e7709d4042016cd5cef2b77f5c3b434053a5783a761c1357c6706a490314d8d7c6a94289bb37b999739098da95d63b6b5043036c7a554f148d511b9e190a7f10a3a5f2581002938f2f92678ee28276443387b28a0907641e4371643b9ee4d5a0c2c8b6a2a01c6f427fdaa38001086624f805a7a1b4dfaa24b481c32fa280a8d85726e08f237cb3909b20ec51acdd7424d4c74f6c67bca4b6046b44c16c54a059666ea12c5e68ab7c62705043750aa67538fcd470f09120bc93b9ffb02110a75e3db179c20b125f23967e20b32eeb9b2af1c9927b52834b89e32295bf57428c2cb67c231e80d26e122353186c13ce249b56fa668ea4c599ea62c57c65b0360088fab236b3bb76c60aff1c547948212420b3d322b4770a15ac136aa279918d9003d337ad1b78cb5523903a5cb32a10c17c820d6bab430bb3926ba34a11077ab834835fa78ebbb3b766c25955e46cba5818b6d729c474bf76eb706f93bf74f046971aab7859be78a3a8bb570cede984ec72b5e53566150003cc81250e97774f273e629188e3141c8be771a53a5ffa47126b1898b2512bcba038781304729c6807c3b450335658f3a41ba91795709ff0ba02135a5c762089b8e44deef53a280a198b8275d2a00dfaf27f14c93fc4e949d03561536b895daaccb73506f94a06d5225d94e7c98e5b26a764b9e7abb0be68520a095bca8946289731b5d068114acb1209507e9b20831bcdb2b2b6610c0031f89f6d408003ba57398b5d4bda4479134350994a8190cc1ec6b8ea0905cd38772789c9873a4cb6606e6a591410125786d7140778975c472077e42416d3223d69ac98320de4a1bb45761f04178fb63c92c71b24ff8056844455a45a37969b4231123483b341ff6652e7666ede163e9b614313012fcfdaca544b99cf922de994cf6de08799586bc5810c5c1c54882b935c52046921963865c0b82b5466e29eae6a62fb1792f4e1035308aa5ae81aaa524533ea7a000d7a128cb83bd0587138c73d66b17c585f7037be9c0089e6572f2f68c5ba09a532326419b3c19346267d8887dab82fb0176062f4c6e6707ec2ab7448215e895908d82cceaed528ba75114c7609e0b6b4e27b9b14bb8adaf0413d354f00d33409d5a185d1b95c58b7a86caf903c1de1ab16aa2054c13849edd469899780c34b8c423a27483abcf4c53b4bf2210f602aee904d2dd879054b69247b05f3b86f00a1113dfa29d47bb006a2b1fe8a540021541f412d307433ce71362f639fe39912fc0a6ae4a33ab4b07cedd1813d0009b784bdbb209a58d66ede34bbfb939c09abc80d6c71c550953494c99881a1f874791031a8ee2bc7760cbf75d82bee11668be002255b7a0309527d63bd3707a692bc3d3c927e0a406e852a7215c1850dc9aa9b17af5dc71fe9c57dd5dacb26f95478613c878b7694d74be742c282991dae15267cac6d2bd0b2d2c469bf391efd470a19d59a6db65710ac98905520c863927ec80bbee88513d70d009370d6b04af5ea49e6263d034228644307fb407c4617b8b7977c8f2c8bdab888940c2b1e157193830def0804d58b8f380316f60a3c26e27581d03351237cbf85ce4252c92c19c7a842201826cf698a074044b9b8132236ab6852718e09e033e009a1e8dbaa6ce98a81fa6371407fc2619e5aaccb94f1c8fa18236570abdbc217a0489be14aaecaba1c631b76c5a996d4bb842bbcce6798255d7365fed744865267da794cfa97ba6c7927474647a6c952a68954369297e96b6612c3a0c9709046b442990cf89513930f122152632a3c3d7c15c8018e1c23aa33cb89ad29f8a01ba71d04d6831c03d1ff294fb58ef6f4041772cc071074829c32a3ac9d36b817736cbc5f7b1dd6eef5fe6332fb1a598f3871e5470d440fd2ea631da28a -m = a3963ade17d69debbc358dda82c7bebe2c39d25b36813058e7a161542e3f8c2b -ct = 83e426c1de1e042ea955e5eec8ec37e1abf6774fd4ac3b70fb78f8f87f5f6c389fc53f5a2d38c3cfbd62ad4e6e765db96e0e8a2e7eabd77c67a20b633d899e55ceb734cda5fe921caf081c5d815f61f7dd42fbc982b1e727d0be327d53156a3953df76ce502b263ed0eaf9089693277540413895e3b27a744d8efb2983992c7fa40a88279a240a8b1fda3fa63c31cc3e9198365f18f09eb407e925155dd02e31d48f7f346c17c7a10cf854face77663d432f6c2354f5694022bdc311362bc933f5155735dc6b7e6330b705efc3d931dbe0c50eb12cc5be7be9e1be97c6f1a03564a115bb73a8f6b3a653d08c91ecb3def7201c0324faf6e995c94e5575859eb02d426de5dc64a27eb8354de552fdc9c7884acc4bbc7497149b97854e524000959c4eccb2a1a60de9edfe39e654dec1861f58cb7e233ca4d0d4595945e279f702ec7a77347443ae0f633d5973f49ced7b4912d68482bf321c0de76ea5015e74f9d1ce8404ac0915f8492e1c08362c8db6a37fe09d9b93f00eec5f1e0dee1af3026e8215a031b42f36791a14cdab3b790b1fc20d7192bfe0fd4d3d8c38df1452b8250158a624e78e05fa4e6d7d8be6a4ebc7dcb14639250234afa26b2351e6d90b89c221ec716240347d7fc7d02f970822c05e26c4dcdf63eaacb0d170f5939398877df72eb5f2f77a13b873d5027ad99fda9b2293ad7cfae136bd16c8fdb78aae2a3f98207dcf2d37ba2660fd43c001351063c3d6a20e8c68e2323269da6b69c062da91815f68c72b0adbbb8c0c1bf7a01ebce9056963a32b1e1381ed2d6f2d9ccf043ca4c472e0c282f2173754907240866b326096e8d173151a618aef3fcf8378c5b30c8b9b1ce7f2c791448c5d600bb0e998732592cd65d8ba1d072bb0d8bec183c0c2b54f49bd7e492fbc40de66325e842009b5080efe5e8cc0c9771a227377c7190004f01981d5c929476424a9eb460d4730d5c5f42a8a2eaab87156e8ebdc094f4bf39b00eaa48cc4e4e4870f78c3963b9bc4673b9c2bf20d57ba4ecca832d4e9aed19aba6850755ce2481ce0941691e8a3af117ce09c05087cf57478e6 -ss = d26602625ccd72777515c2161999b332022bb25e0f9310312e605597c3d8d4a9 +sk = 5177b63a55465cd09a42fc7c26cb3380880f239415c318be33e486582a40f3a685c060a916ea06b5dab029c73a5756ae52ac299b16151685611bfb5acb3465a591b015bba901765d2c22222338c5de7944f17487d7bc7c444840b3c69aadaa3e87852446b63d80e68e24ca02775baf035a24aed04ed5a54193693006c326f814a7379aa4141320ffcb18e2624e08e27952e75d0aac6cb4b27c9faa6850c035799b229372832bbca68ca915009b8ec877548fb657a73bac7556aad1b6b772f24393ca11eeb53d05d6996c162d785bae9033a23e78ca224cb92a770713d5150cfb8fe570cd24b2c43c2ca60b81c3243234bea625f3a05cfd434688610a7d46bbae25b14c207225fc0c60326cf33566fc340d4ec8b1af40c4584828e7709d4042016cd5cef2b77f5c3b434053a5783a761c1357c6706a490314d8d7c6a94289bb37b999739098da95d63b6b5043036c7a554f148d511b9e190a7f10a3a5f2581002938f2f92678ee28276443387b28a0907641e4371643b9ee4d5a0c2c8b6a2a01c6f427fdaa38001086624f805a7a1b4dfaa24b481c32fa280a8d85726e08f237cb3909b20ec51acdd7424d4c74f6c67bca4b6046b44c16c54a059666ea12c5e68ab7c62705043750aa67538fcd470f09120bc93b9ffb02110a75e3db179c20b125f23967e20b32eeb9b2af1c9927b52834b89e32295bf57428c2cb67c231e80d26e122353186c13ce249b56fa668ea4c599ea62c57c65b0360088fab236b3bb76c60aff1c547948212420b3d322b4770a15ac136aa279918d9003d337ad1b78cb5523903a5cb32a10c17c820d6bab430bb3926ba34a11077ab834835fa78ebbb3b766c25955e46cba5818b6d729c474bf76eb706f93bf74f046971aab7859be78a3a8bb570cede984ec72b5e53566150003cc81250e97774f273e629188e3141c8be771a53a5ffa47126b1898b2512bcba038781304729c6807c3b450335658f3a41ba91795709ff0ba02135a5c762089b8e44deef53a280a198b8275d2a00dfaf27f14c93fc4e949d03561536b895daaccb73506f94a06d5225d94e7c98e5b26a764b9e7abb0be68520a095bca8946289731b5d068114acb1209507e9b20831bcdb2b2b6610c0031f89f6d408003ba57398b5d4bda4479134350994a8190cc1ec6b8ea0905cd38772789c9873a4cb6606e6a591410125786d7140778975c472077e42416d3223d69ac98320de4a1bb45761f04178fb63c92c71b24ff8056844455a45a37969b4231123483b341ff6652e7666ede163e9b614313012fcfdaca544b99cf922de994cf6de08799586bc5810c5c1c54882b935c52046921963865c0b82b5466e29eae6a62fb1792f4e1035308aa5ae81aaa524533ea7a000d7a128cb83bd0587138c73d66b17c585f7037be9c0089e6572f2f68c5ba09a532326419b3c19346267d8887dab82fb0176062f4c6e6707ec2ab7448215e895908d82cceaed528ba75114c7609e0b6b4e27b9b14bb8adaf0413d354f00d33409d5a185d1b95c58b7a86caf903c1de1ab16aa2054c13849edd469899780c34b8c423a27483abcf4c53b4bf2210f602aee904d2dd879054b69247b05f3b86f00a1113dfa29d47bb006a2b1fe8a540021541f412d307433ce71362f639fe39912fc0a6ae4a33ab4b07cedd1813d0009b784bdbb209a58d66ede34bbfb939c09abc80d6c71c550953494c99881a1f874791031a8ee2bc7760cbf75d82bee11668be002255b7a0309527d63bd3707a692bc3d3c927e0a406e852a7215c1850dc9aa9b17af5dc71fe9c57dd5dacb26f95478613c878b7694d74be742c282991dae15267cac6d2bd0b2d2c469bf391efd470a19d59a6db65710ac98905520c863927ec80bbee88513d70d009370d6b04af5ea49e6263d034228644307fb407c4617b8b7977c8f2c8bdab888940c2b1e157193830def0804d58b8f380316f60a3c26e27581d03351237cbf85ce4252c92c19c7a842201826cf698a074044b9b8132236ab6852718e09e033e009a1e8dbaa6ce98a81fa6371407fc2619e5aaccb94f1c8fa18236570abdbc217a0489be14aaecaba1c631b76c5a996d4bb842bbcce6798255d7365fed744865267da794cfa97ba6c7927474647a6c952a68954369297e96b6612c3a0c9709046b442990cf89513930f122152632a3c3d7c15c8018e1c23aa33cb89ad29f8a01ba71d04d6831c03d1ff294fb58ef6f4041772cc071074829c32a3ac9d7613c090fbe4afd54869ce826b72f3a5ec823d9a1c983a3d31b2387ed6b0c613 +m = 0727dc8abdf2f12fcbbfccc9c84b6dfad8e1eb346249efe569f2ace9d8614a07 +ct = 0eab74d7034f8ee3e8d5df1950297e1a8cca1e8e92938af0ce634b2571c0a387ee9421dd24450f01182c9ba5117d1d3007cb5e30fc252dd48e15cc17a5a62856e192fc53fbd156e66dc8692ae0399306fd6ab0bb143a35c52237dd4f6a80a9a9e6c1dc8e9bb932e72f8f076cb2e4adf2e416c0f496ee8358de759d6e603441c1e508c839e9333887032a7e49a2a3b48d1e8baeee4c7134bd372b99887941b96844ab1f6acdd7ce3440a9a4af06f77efc197924f3505b1109216a16519613da4ffe4503c00a7aecec7da6d5f05a3be38b67db972942ae0698205d239f55f95af6dda389e0f902e0e51abc9c60622f9b0e7503d10a0fcb366fd65eb49a6d05a2169b43d66508b847ffae51bbeee05c4212c7691941e3191462cffa07a68b8e35ef30423ba259184ada98316b590a7078e5d587b87c53bad1177b3f9746bcc0a45ccd6ee7dd1ade277bd5c9ca935b36d3f8226d448692419f7cbef3b7a8d8fe4582926b00a7e2a82b9f4ac7c25d3d259940ba67924d6ba470f6c446e265c36ffa6e93cf4127f8a5f68afb47dedee8fc8d14fc40ca229bf3a44b6a74a49372f4aa46c2fa2d92837fac842419727480e874e1aa145faa9e0ef1a9bf7aba1fde091b438df12613719d97e9eeaf626a979ca540b2ccd0223e3c315baaed31fa2128c3f63caea8e0b9b9f17f33fe1659fb2c54db6a66c0549adb181af373933225799c01b8af36e47debc0c7987ec7525b45122c3c74e3f4c35d75581429e24d908ee14b5fb30d8eb41b785857802401594269555d9a326fc758c47d29ef54833bc499c8ab9d7d989d788f619a7fa2401813a801d9c71413ddf5577fcd3ffd4c55a04e8fab9e87b685edea73df9d9be49a502cb248122f2ddff79b6816ebde4034730e0dbdd42857e82894bcd5eb45979b9a01f194e7d3a0f41d2e3d1027152128c68e5e5241484eacf22cc82c7297edd68c4acb27d6b453e73c5c8e60d5a8470fb3746842b225b8104d2493a4d9dab2e1ce5a562e621121f127abc4f4151072e702c34694391dd9a725a03b57ce035aaa08c0f2c9859c5ece963ebb11d6891fa6547a4f +ss = c9e7d56080354afffd3dd453f888551e6f1fb1b3195602e309debfa10fe2fcb4 d = 684a29e4e5480a5f2533e1526b5fac8cdf5927f3d85087c71f928c59690eb565 -z = 75d12195ec32a8686d0600e45d4a7f54219b0d7a3826d193a51b9156ecf2edd6 +z = bb3eeac4320f84d09cad413a7d7c19c27668b2e0e1bbba2d159b833db6c0f50a pk = 5722c4c5abc6ba118828263017d56e8fc3871b503a8517a0e3b8bd8192746e211a1a09923b761b20695f6a3ca01eb62e7f6b5302f54b8de33fe02b8fcf9c16e7c552977735139877c95bc69bc704fe94c0333115d7ea091fb41c146c07f487961c83b1b18225e91449c961769a7bb434a93da88531a75c207044a46623acb8342d59d1455dc434e2d2bfa5c30b9807789856b76d3a4c65d642fe65827eb7040290c21f2228e40251680aa7aa106a4e150d3226b030407d293929c20bb1afba5187b1c4a300749a323168576aee45474a8b3507bace55a333e95370bcc7b8b664c281f653f9c3b439c30850b68f20d860ba262c992c99c2bc37eee195d2e945c1d6336c990a77e9af68eb8932eb3325e362db5a77980274aa3b699be212db904e49e326fd445e48354b1609c0942735dc6480c53bca3c8857fcd90965f61d4de0509891272d31a51f3528fb17acaf669efc1032a4240f097118697842d79239b16313a6f74aba689aac94936a35a21331961397029a823d443244f49a445527b039ec8547c35e83fc2d076225d72b7634fabe64a103283434de705bba284fd2241a7e161435c896e899579caa2cba03c53ef74ba3cb30adb80b94bc407159a5d3b35f85b3ba3491c85b4379cf6472310335dcb0cff3006bbb5c8c37e3a1b758518d4c740ab5358cf8ab6cd92542a79a97dc4498734c8c9c36baaab29472a9cb633ce5d30039bb53b03978c51402fea962b70506642b5f6242345746abc312b6625a96443111a2c78d674a755554266c5089e23c9b63ea4b255890f577bc5a442066a2c448771629b542d2981093e49961f8a87a93c068e25167483872d378c2445f398796970c92b4b42aaaa65771382b53d8c79a0258cedabd6ee33539b73642863b6a8a3759bb76aecb5e6aac3d61a0614f1436e3623a77d38abcbb780059521ac7148c088a89b916a0103f477a15a68489d5f63cd7c84132aab6bc63a5dd30b8f27c835a738f1f619efb31509cc9205a4716b64a3cac7725b79c8c2d304ff4a60b328013fe6cb99d94496b363d03c1a278532780fca35473a000291d8715b17cfe1b1b3bbf85039a8189076a3752784e23d8a802023fd0743eb03d989a6968 -sk = ae066432f2585c1097a9495a937589eca954fe6b27510a58bbfa35c166a0e697ccdd7a7a648a80e09a461ecc9a1e9b8d288c488c48cf86d9c892b2c4021cc4d5194ab3ea95ba7b73acc48568d9cb1c682bcbc8bb93a8ccc091b5fcf706dfc131af4911a947bb84002ea9388f47e4a0feb26ab1ac35b561bd5641512574647a4677e688610bf9a545f385f9b843a76952012379ac965a1afa8bbea16c6f198a579a6733a40db261b9aa449bd9e89fe72c85171b6f27f45e3c0c9664d7b0661a49b18b5180f760b4a99ebb0a2866d70825489ad817c4ccd00c303a583722a686316261607c1d6cab86fc126cda4e75576633b91614846dfbb35481508c9ca06625c49ba41aaf7aec38b49663870bcb0f331296422cf1b816543b0bcc3806ee113e23d4bdabfb5cdf173b22679de771071ebcc53903227a836084db363d251fec091296fb7556cbcce562ce54b24554e7c6dc6aac7af699aef7b8dea52465557e0fd07547f77d3ebc5a9981cf2cc7729e9aa228f62af4a8bb656932fae1adbb820b96f27617d041de7972ede45151805a59a58e3ec57d02d27d0bf448187413fc886c03d0782a8592446a414a760e5fb384f542cf0a99a57ad615bca14043a252505a6956ec64a8a4603b34426d67a629b278a9774e6873c8d688a3a5eb0690f459ec98003274c010331d73fb34595c1598091f64809b35aa05497b58cc5c5978c095411b2558c88ba2ec756850cc5107b06d2c6930caa0ca8a8eceb3097c759364992fa5d964a70236990024f72039adf5883224b64966c1d98c87018163b21aab404a697db5baf3a1626fbbc218a04ea1e92778bba3621618255257691691c5a3a11a4c1e12a5bafefa8ca3d4bc2ee98faf92accd6301e3fa3143dc6f223767c0112f26cb7e90095f6a116898dac9528c64faab8a8f0828d08302ebd2794ee71cbb47176f62c19d80088d40297977653a3bb7ee277ce0324b9d163d2506b872580f4b60971657cbe1f322a85ab5830599b4dcaca4b73584255f5fcba21e5b966197a5be218149f7cab9a0af6536a528873a20cb8a3830b84a67841a99074804135722c4c5abc6ba118828263017d56e8fc3871b503a8517a0e3b8bd8192746e211a1a09923b761b20695f6a3ca01eb62e7f6b5302f54b8de33fe02b8fcf9c16e7c552977735139877c95bc69bc704fe94c0333115d7ea091fb41c146c07f487961c83b1b18225e91449c961769a7bb434a93da88531a75c207044a46623acb8342d59d1455dc434e2d2bfa5c30b9807789856b76d3a4c65d642fe65827eb7040290c21f2228e40251680aa7aa106a4e150d3226b030407d293929c20bb1afba5187b1c4a300749a323168576aee45474a8b3507bace55a333e95370bcc7b8b664c281f653f9c3b439c30850b68f20d860ba262c992c99c2bc37eee195d2e945c1d6336c990a77e9af68eb8932eb3325e362db5a77980274aa3b699be212db904e49e326fd445e48354b1609c0942735dc6480c53bca3c8857fcd90965f61d4de0509891272d31a51f3528fb17acaf669efc1032a4240f097118697842d79239b16313a6f74aba689aac94936a35a21331961397029a823d443244f49a445527b039ec8547c35e83fc2d076225d72b7634fabe64a103283434de705bba284fd2241a7e161435c896e899579caa2cba03c53ef74ba3cb30adb80b94bc407159a5d3b35f85b3ba3491c85b4379cf6472310335dcb0cff3006bbb5c8c37e3a1b758518d4c740ab5358cf8ab6cd92542a79a97dc4498734c8c9c36baaab29472a9cb633ce5d30039bb53b03978c51402fea962b70506642b5f6242345746abc312b6625a96443111a2c78d674a755554266c5089e23c9b63ea4b255890f577bc5a442066a2c448771629b542d2981093e49961f8a87a93c068e25167483872d378c2445f398796970c92b4b42aaaa65771382b53d8c79a0258cedabd6ee33539b73642863b6a8a3759bb76aecb5e6aac3d61a0614f1436e3623a77d38abcbb780059521ac7148c088a89b916a0103f477a15a68489d5f63cd7c84132aab6bc63a5dd30b8f27c835a738f1f619efb31509cc9205a4716b64a3cac7725b79c8c2d304ff4a60b328013fe6cb99d94496b363d03c1a278532780fca35473a000291d8715b17cfe1b1b3bbf85039a8189076a3752784e23d8a802023fd0743eb03d989a6968357376de9843d74252466888727f9dc1ef48d028c0f52c902aa0dfc3de374c8375d12195ec32a8686d0600e45d4a7f54219b0d7a3826d193a51b9156ecf2edd6 -m = 97beafabf2c8575586487c7a80e8af5fc50f94b6051c1bc66a5ae9f66be3cea7 -ct = 1e3dea0ef2eecadee305dec2f5586c62718986d74089e218cada761197345627aa45d249e88b73fe44dbb4f51342238adfe5d70b042dbd1dce342e1f23a5b01a89ee75b431a88de9307434f62371ad76062f619f1f89f4727124c39178fcd88075bf2092b2088c332b7fa2f71d8b3d91324df0cf37bce4a041167337b8dabe7cbf64abffe6a4ba94e9fed9dc29708e2208ea119949bee330efaf27c54f186f63aa27a0006c1fa0a68487a1176978041092c0541411d36fceb1c63637742a789a998a8ec97ed20754cf75f0273eee8b86225c6b69b801075796455493dcaee98cdef7834f926cf158e361293259f300ed25c9195e958cd90142ecada2e44079c7ca7e4957be6b1d4651acd48763229e2ddc1141d46ecdb3ad1955a6201df13e5926b2ed7c6595eb0bac5a26693ebc337623863291d6294fd2e46512e12a6ddc20b7fea36987d2009eecb99c394665d08e1790d65cf8a8d41debd0519f971372965047d78f570e1e8fb5c39861b806764d68bdfa0a74c965a287a1568147b8a37ab18580b7389a65f013c81f39f2f93dd3c064045aa210c1c8b583cda631b86dbd3a7a880123ace01364e9bf7af9355c1be0ef340d06be58e50dd86a915ac6cd270c5651cec4a070bb6c613a0d26922293d91bf436cf48cfde28442198f71bb9f493b7046bd09bcadcffc413cd98b32830fe56adb5a2f346884f46388f2bf4e9385629b631f5be4ffa20ce81d8265ba98fceb67f611a87aabd256a258a08e58e0756b99fc7e14e3610d64837973e35ab8f58f356001810cae5cd0112b056e2d9fbacd5feb824e2406434271219593d0928274c42f19536adebcd6ea01ddc05ce6cc6c253e75a7907eb0a6eb251610a8319d56f3c385d73dcde372965d66e17484ada910fbcc3f907f841e3dc22db309108b5080c184e3faad467cd16f0519d19949dffd9d8cd3d905e3f8657618c12b2ed57dcf2bfa01c8f6d86eeb6b5b6f8ded070109560ef35b24ec8511362c99907aab277010c39a9e3e6b0bdb8d324750dd651db665bbf8b689052a0e85f786373685bced1c4c48842ce4d1e5e2f65f52351 -ss = 7880372c71846216f925e718ffe2b65124a09e4b40d636f7908fd26b2e5d7cbd +sk = ae066432f2585c1097a9495a937589eca954fe6b27510a58bbfa35c166a0e697ccdd7a7a648a80e09a461ecc9a1e9b8d288c488c48cf86d9c892b2c4021cc4d5194ab3ea95ba7b73acc48568d9cb1c682bcbc8bb93a8ccc091b5fcf706dfc131af4911a947bb84002ea9388f47e4a0feb26ab1ac35b561bd5641512574647a4677e688610bf9a545f385f9b843a76952012379ac965a1afa8bbea16c6f198a579a6733a40db261b9aa449bd9e89fe72c85171b6f27f45e3c0c9664d7b0661a49b18b5180f760b4a99ebb0a2866d70825489ad817c4ccd00c303a583722a686316261607c1d6cab86fc126cda4e75576633b91614846dfbb35481508c9ca06625c49ba41aaf7aec38b49663870bcb0f331296422cf1b816543b0bcc3806ee113e23d4bdabfb5cdf173b22679de771071ebcc53903227a836084db363d251fec091296fb7556cbcce562ce54b24554e7c6dc6aac7af699aef7b8dea52465557e0fd07547f77d3ebc5a9981cf2cc7729e9aa228f62af4a8bb656932fae1adbb820b96f27617d041de7972ede45151805a59a58e3ec57d02d27d0bf448187413fc886c03d0782a8592446a414a760e5fb384f542cf0a99a57ad615bca14043a252505a6956ec64a8a4603b34426d67a629b278a9774e6873c8d688a3a5eb0690f459ec98003274c010331d73fb34595c1598091f64809b35aa05497b58cc5c5978c095411b2558c88ba2ec756850cc5107b06d2c6930caa0ca8a8eceb3097c759364992fa5d964a70236990024f72039adf5883224b64966c1d98c87018163b21aab404a697db5baf3a1626fbbc218a04ea1e92778bba3621618255257691691c5a3a11a4c1e12a5bafefa8ca3d4bc2ee98faf92accd6301e3fa3143dc6f223767c0112f26cb7e90095f6a116898dac9528c64faab8a8f0828d08302ebd2794ee71cbb47176f62c19d80088d40297977653a3bb7ee277ce0324b9d163d2506b872580f4b60971657cbe1f322a85ab5830599b4dcaca4b73584255f5fcba21e5b966197a5be218149f7cab9a0af6536a528873a20cb8a3830b84a67841a99074804135722c4c5abc6ba118828263017d56e8fc3871b503a8517a0e3b8bd8192746e211a1a09923b761b20695f6a3ca01eb62e7f6b5302f54b8de33fe02b8fcf9c16e7c552977735139877c95bc69bc704fe94c0333115d7ea091fb41c146c07f487961c83b1b18225e91449c961769a7bb434a93da88531a75c207044a46623acb8342d59d1455dc434e2d2bfa5c30b9807789856b76d3a4c65d642fe65827eb7040290c21f2228e40251680aa7aa106a4e150d3226b030407d293929c20bb1afba5187b1c4a300749a323168576aee45474a8b3507bace55a333e95370bcc7b8b664c281f653f9c3b439c30850b68f20d860ba262c992c99c2bc37eee195d2e945c1d6336c990a77e9af68eb8932eb3325e362db5a77980274aa3b699be212db904e49e326fd445e48354b1609c0942735dc6480c53bca3c8857fcd90965f61d4de0509891272d31a51f3528fb17acaf669efc1032a4240f097118697842d79239b16313a6f74aba689aac94936a35a21331961397029a823d443244f49a445527b039ec8547c35e83fc2d076225d72b7634fabe64a103283434de705bba284fd2241a7e161435c896e899579caa2cba03c53ef74ba3cb30adb80b94bc407159a5d3b35f85b3ba3491c85b4379cf6472310335dcb0cff3006bbb5c8c37e3a1b758518d4c740ab5358cf8ab6cd92542a79a97dc4498734c8c9c36baaab29472a9cb633ce5d30039bb53b03978c51402fea962b70506642b5f6242345746abc312b6625a96443111a2c78d674a755554266c5089e23c9b63ea4b255890f577bc5a442066a2c448771629b542d2981093e49961f8a87a93c068e25167483872d378c2445f398796970c92b4b42aaaa65771382b53d8c79a0258cedabd6ee33539b73642863b6a8a3759bb76aecb5e6aac3d61a0614f1436e3623a77d38abcbb780059521ac7148c088a89b916a0103f477a15a68489d5f63cd7c84132aab6bc63a5dd30b8f27c835a738f1f619efb31509cc9205a4716b64a3cac7725b79c8c2d304ff4a60b328013fe6cb99d94496b363d03c1a278532780fca35473a000291d8715b17cfe1b1b3bbf85039a8189076a3752784e23d8a802023fd0743eb03d989a6968357376de9843d74252466888727f9dc1ef48d028c0f52c902aa0dfc3de374c83bb3eeac4320f84d09cad413a7d7c19c27668b2e0e1bbba2d159b833db6c0f50a +m = 492d4cea1c6e07d9535ab2fc21d773bea7ee2c7d66ec80d41191aed269a398d6 +ct = 7617881477fdeb4db11bdee56ea63f626306268accc6ee8a33e2eebc9173e7d124a140a5d7e0bdeb916108129da7af829de9dd488c235b3ec778c0fb66e1f6e8f95c952fd84880a31dc7e7647d0cb64cf02bc999d515a62747c80ff99cbe6d688ac522ca9198c349577f241e124267000951ae7c54786b9092544d433fa44c307d0f7c198f4b4eccf3ba9024425766f39e8de58ef8e385440530a3e162299cfcef0caa4b1fd3ac6b9117610ad9dbdd20755ef3db2c545804a25ed294b19f28aebcd45443d6a451a88e41aaadcc43275a4a77715704ca52b8dcb9f393eee5801ef623c8ee47995c92a3c4726697c9d6f7de7779e63505e69278cc22390c69c7127feb533589bc83d3cba889461d16f2966419ebbe33793b7b2a2916bc632feda2279e08cdfbe03ef8d23948cb078f5ce774223887f1e9fc2d4d667923d62c730edec4291ab734e777d7bf70f508ce2ee02ed196877f2391ecf66466870d5cf6d5c25aeefebc7962dd5c37cdd9fcad8cf292d78590ec73e2d8db64ab4d8e37c37e132fef6099676f15d1c9892eda465e285c5452c885fdca0a9386d8fdeb1341eec2b6c8b572454fb8da91ee5ce229cf00707813790d02a576c564cbd4de007c6726ba5a5171c346218f11c13f746dc4dffa23bbfce113ef4c1f3794dffa38e5d9b22e600c7fa3f177c7e500f286f9e6b3036616fadb57b22f395fd9f06c70a1b59e199487879d29a3072276f92a590b2ed7d4db9021827b93c2ca2abe0de56489bcda2cf8ccacf7ed5e7c918c9c158ce94f3f818b182c1aaca802aaa759543e595ea1a63546c4bbbeee492630510df4347598016e7249db1eebab1381dc437a85dbf34c61c798e2a52b9bf89e20f038a4ebc2409836441b11862ba21a105a19f4a3057a5e6071842f57b7496b013a392ff1b190ffb437c9707f0f6ea9a1a3e6ddd9be9107c77596b853ac622bc6db8fc8a6cfd32de7ebe1782079f9a498814b228bf022b17322e2df757e36f389f119f63c987f4b7d2e599f99bbba3a3517eda26b8cb4d281a95a54550b46a6fa11184b0e8d27ebb4d1945b2c3929b117cf2ad6 +ss = 0d70726738ff1b35d1983e5a701f5e7cfcc0a284b039935957c1a8944c2224ef d = d76b3573f596eb286ab5231feec7499686b13021be36cb126c7ebeb9d7030daf -z = 248c0a21ea0bb6d6f56f12300e8584d8e9a34e0e6f52227281151ae4c305fb8f +z = a8ac144dfda421de1a7addc92adb79bbfa9657f3dc4b78a7335f29db87b290d5 pk = 44d99657b40036ba1462e34b668715c8ca2a84b4c5b7e81d11e4acd7c6ae77a7a7e6193b5c8143a45b997dd291d3b08840cc4765b8b4f8c7caa7158f2b939cd273362c9302af3c59b2a08dd545ad119c0522fc60aee902f6a6b49778ba17a97a47b2018e14336cc1cbdf49b90698551059bca80506a4c8533d791bdaaaaa638571398ac85256740aaa5bf4bb35da6b3b6f514a7e364935e769137a300e9811355a9097492ce020aabbc0cfd8398792651f82b887b0d13c3e9c5632029a1670b3f8c8437b09a8cfd6b8482bad74347144661b0cf297fef2bf91ac607ec7b77ed308ac430abe56c69b668cd6201f329875f6454aeb73540e3c0f0816cd7f2b372daab8b3ec1718d362f97c5a05b35964707b4a7558ea1276fa837e4d90be1b19ae05cc7b948a32d1018f14844e1cc3b79fd631d8166d1fc072e538429ab1b09f8a0ac879143f514ed31931878191a0c203b5e69b30d40734904c1bd9ceead909136593b9c51402e5cf0917c3c9541cdfd95fa66018784ac144c610b4182a69a08cbd43cecbb8baeecca48de3ca5d21ce58a69a96ac65778cc9a5dacd663a632e63b1a4e71b012846f0c6c26b728902f64baeeb6718163cba1ac63447cad9d63eeae21855776dee780d1b6443753235f4330edc889094241930c27fac186f46428a60180d239008fcab21ad162f903a7a0984489f8a9d10840f2171734536b67a329174b48919a63993d8c4724a73c51b3aedfa30a86aa2606a5c8f2346e9cc129e4bce6a519947d17caadc8f3caa6a5b10bf98a526ee0653af3b214b652dce4b3ff3d2c1ca4b3b2f751e3af095d4128b57c46c8a89a1de5b805ffb20d0300e6ae5c57f562fdf493562e1bb5ac0bdd35b8395889f6c7037ed636e56c1aa661289052952ebf386150bb03eda1616478a1dc43f50fb1edbb63968945e05d09d1d320b335433b701caef733a47bcb0e62bcec0e68cd6da26dde55c53d5a289284a7e6b1c239a092c0841c6e7a8292041a04b842bfc8f2430a632d55568a58282018d55876bc8e90bd1686b61d7ceba6b500ce628dce8a5dcd13cf76c81ffa1afe352c6877b8b2eaa1abb3132e55d8bd5b08678bfa4243430bb4d059b58a4b0cf0fd26e -sk = 058115385970fe9640387526e37b2c5fa614ee27b6e1512e3069c5363a4b48ca44a523714c37c15c60ae17751822d14a18bba78a6b1d6b2614aab3a09c314307f06ae7c3702f37ba9891b9cd7bbea76098bb5062b1356582167c12a02529f884e05c5aa6b054aea5a58e19429bd7a8fc9c5eb0d0aa59b54526884eb7b740bc2aba74902edba3a5c1b53091f219f8ca1e79575aecb556c082700b844690c05fe0692ff2953673640d96b72889a317df4158dc4475a6993c4feaa1718863eaabbc551a11d462a8e8d5293bf666eeb3481ac80f7c4a3da10b2169ba6fd12619bb96656cba731c430b21c24d337a51fb4088ea57105027228952cc79ea03e85c3e1304b1c7ec4e98acc486c411fe1c2d539927d0b822646b8cac7c971801cec9e07625d50caa291808b4128cc1be98c73bd0b03be97645e0048117f5165d71b5ab11af63bb3d759a899c2176dc828736b50dd7f15ef480578b619f3ba8a9e5ec8c24b472d4886f07c3a07c3b677625296dfa9b64ca7d12e94cc8e18631ca6bb80b820c7a229a62b141c42c31f70075ea73ac5b4d3de973d4e364dbbc13aefc9fe43c39be762f0fec97fc0738368709c426504ea71285db774f6b56b96396b2a683939947888267cb834347dc7f3346694e06c6b024c497b950048c96c1988642f074a9b95aa5018c504cc49ea659ac9310c933af9326bf91fb06ddaa21a8a3af4b3aabc608c6cf89c554386da97ab8eb9ca9bc98c9b1ecbe550a6a53cac0d7a72bfd7bc9f710bc6d140197b465c47094f3663f9c5089175aaa8f23b3faf97a09c7afbb94c2e58baeab36b0ceb1cf194720d54bb98b03c0eb1756b7c376560a7603b306aef22a09791c96e952f077bd2f5040aa2b6e188a776aab6530890f2e34c7ef792777b4b07c4ca8a8a071da13c9fe47b451a009e0a68eec9037f89627e7a979175b7f7469215783c337dac91f55c574d223222a0b71dc4222a4716a69b3fc5533ca9842ba17adb23ba6e300565f739fac07483ec53ef192828ea113199bca45f28b558b96302900ef872f6a7972ac025eefba867f001f40736eb41737ef228a44d99657b40036ba1462e34b668715c8ca2a84b4c5b7e81d11e4acd7c6ae77a7a7e6193b5c8143a45b997dd291d3b08840cc4765b8b4f8c7caa7158f2b939cd273362c9302af3c59b2a08dd545ad119c0522fc60aee902f6a6b49778ba17a97a47b2018e14336cc1cbdf49b90698551059bca80506a4c8533d791bdaaaaa638571398ac85256740aaa5bf4bb35da6b3b6f514a7e364935e769137a300e9811355a9097492ce020aabbc0cfd8398792651f82b887b0d13c3e9c5632029a1670b3f8c8437b09a8cfd6b8482bad74347144661b0cf297fef2bf91ac607ec7b77ed308ac430abe56c69b668cd6201f329875f6454aeb73540e3c0f0816cd7f2b372daab8b3ec1718d362f97c5a05b35964707b4a7558ea1276fa837e4d90be1b19ae05cc7b948a32d1018f14844e1cc3b79fd631d8166d1fc072e538429ab1b09f8a0ac879143f514ed31931878191a0c203b5e69b30d40734904c1bd9ceead909136593b9c51402e5cf0917c3c9541cdfd95fa66018784ac144c610b4182a69a08cbd43cecbb8baeecca48de3ca5d21ce58a69a96ac65778cc9a5dacd663a632e63b1a4e71b012846f0c6c26b728902f64baeeb6718163cba1ac63447cad9d63eeae21855776dee780d1b6443753235f4330edc889094241930c27fac186f46428a60180d239008fcab21ad162f903a7a0984489f8a9d10840f2171734536b67a329174b48919a63993d8c4724a73c51b3aedfa30a86aa2606a5c8f2346e9cc129e4bce6a519947d17caadc8f3caa6a5b10bf98a526ee0653af3b214b652dce4b3ff3d2c1ca4b3b2f751e3af095d4128b57c46c8a89a1de5b805ffb20d0300e6ae5c57f562fdf493562e1bb5ac0bdd35b8395889f6c7037ed636e56c1aa661289052952ebf386150bb03eda1616478a1dc43f50fb1edbb63968945e05d09d1d320b335433b701caef733a47bcb0e62bcec0e68cd6da26dde55c53d5a289284a7e6b1c239a092c0841c6e7a8292041a04b842bfc8f2430a632d55568a58282018d55876bc8e90bd1686b61d7ceba6b500ce628dce8a5dcd13cf76c81ffa1afe352c6877b8b2eaa1abb3132e55d8bd5b08678bfa4243430bb4d059b58a4b0cf0fd26e30382cb59feee1b6b0fc129fecb8c74034da92987249bc20cc8ad4a2cfc1bfe0248c0a21ea0bb6d6f56f12300e8584d8e9a34e0e6f52227281151ae4c305fb8f -m = 75461decd34c50d6a094b4a64fb75e5e9479f8f9250d82bb7d729dedeb2d4b65 -ct = fe2c6f20707556d7debcc690e3795ff2829a1e147101e88bddb3d4e42bb93ca9e5ba541ccf17f93fdf87fa80bf8ed68bec0536982e24b4500281d16b36652b0abce550174b7029b453ce95813d5ace8e6652da8f0bb31804e36e50bef7a72d1c2a54c499786270834ab2d39580c91d83c7867ecf89c67cce525cbef770ce3b89c776de0bff8bf6cf9b4e9537cbdb4bd5343037b1e893de77149f1a0dfc705232c339331f04b197cf684004a3d7a4ab0d42e3e1b60cf64b30e526a523b7e81bfae0c43c01ba92942ae3980cbd6d8c772a0476579d2808f2ac7eb9b65650b4be806b083ef3615759a9c64e5796a147e6353afc25635412ceb8eee5c147094382eb21069ee986e3fd7aebf418def59bc2501c8b09c4ebab6f92e86c6fcdcb9b263083eb0ae150e5393fc378eda5c2d88c68f0659f8f0f2f56703b382dc6b32cbcd129751069c543f12e7f28540bab51dd3f9e2087d8eea9603aa20e9e7f4cc8e146e4a00bf94ad9437e8c7fe0ce7c427b8d2f351d6f87b41d1d481ca107653d7d7afb8533434079cf1664280a82ed44e9621bf475e82aed2c78aff42b9db65db5577117a62bd5ada6916f9cd442820d0d0e3074f22c128ed04d7fa8efda6c97e655692158c01615cbbebb61985eb6f567a821f4c13a366f1c3c98298e39758a52dfc6eb2126b017458e2dcd714510e0042a40374f971f875c188ff3d810f28092a002eca81f9718fca0af75f20b7d0d4ad057be214d7a6e3f38f29cb508ace72b9242bb3503c4657d35e045f1c31eb282a53234fed14b0345938aa12ca79f90c4b24a50ba4181b9c1d00a422a23dd93b5794c552b87fa676a1b8f94224808e8dc277d39f693a233c818deb5bd8ed151d6dda4dad078f70cb2e53deb2dbeac45ecbde809919bc6f5a000847966836ca3d5fb142bec730ce7c8e07677a571a9bd26b7e4d65db6d3bdcd16c1e900783df377d590f86e411a54775fc248beb684aa5375dd1acb3776314e03d0ec2ad35e69e6708aa73a544256ba00182f94254b10199f87aaf2fed25970b4699b7654b57087fae141fd5c05c95d11e58a8f4a479f2bbf -ss = cbb85ba073be238cbf61c5a04f0b8ecbbd1ecd19efdc1aa3d55778ef7e9ae537 +sk = 058115385970fe9640387526e37b2c5fa614ee27b6e1512e3069c5363a4b48ca44a523714c37c15c60ae17751822d14a18bba78a6b1d6b2614aab3a09c314307f06ae7c3702f37ba9891b9cd7bbea76098bb5062b1356582167c12a02529f884e05c5aa6b054aea5a58e19429bd7a8fc9c5eb0d0aa59b54526884eb7b740bc2aba74902edba3a5c1b53091f219f8ca1e79575aecb556c082700b844690c05fe0692ff2953673640d96b72889a317df4158dc4475a6993c4feaa1718863eaabbc551a11d462a8e8d5293bf666eeb3481ac80f7c4a3da10b2169ba6fd12619bb96656cba731c430b21c24d337a51fb4088ea57105027228952cc79ea03e85c3e1304b1c7ec4e98acc486c411fe1c2d539927d0b822646b8cac7c971801cec9e07625d50caa291808b4128cc1be98c73bd0b03be97645e0048117f5165d71b5ab11af63bb3d759a899c2176dc828736b50dd7f15ef480578b619f3ba8a9e5ec8c24b472d4886f07c3a07c3b677625296dfa9b64ca7d12e94cc8e18631ca6bb80b820c7a229a62b141c42c31f70075ea73ac5b4d3de973d4e364dbbc13aefc9fe43c39be762f0fec97fc0738368709c426504ea71285db774f6b56b96396b2a683939947888267cb834347dc7f3346694e06c6b024c497b950048c96c1988642f074a9b95aa5018c504cc49ea659ac9310c933af9326bf91fb06ddaa21a8a3af4b3aabc608c6cf89c554386da97ab8eb9ca9bc98c9b1ecbe550a6a53cac0d7a72bfd7bc9f710bc6d140197b465c47094f3663f9c5089175aaa8f23b3faf97a09c7afbb94c2e58baeab36b0ceb1cf194720d54bb98b03c0eb1756b7c376560a7603b306aef22a09791c96e952f077bd2f5040aa2b6e188a776aab6530890f2e34c7ef792777b4b07c4ca8a8a071da13c9fe47b451a009e0a68eec9037f89627e7a979175b7f7469215783c337dac91f55c574d223222a0b71dc4222a4716a69b3fc5533ca9842ba17adb23ba6e300565f739fac07483ec53ef192828ea113199bca45f28b558b96302900ef872f6a7972ac025eefba867f001f40736eb41737ef228a44d99657b40036ba1462e34b668715c8ca2a84b4c5b7e81d11e4acd7c6ae77a7a7e6193b5c8143a45b997dd291d3b08840cc4765b8b4f8c7caa7158f2b939cd273362c9302af3c59b2a08dd545ad119c0522fc60aee902f6a6b49778ba17a97a47b2018e14336cc1cbdf49b90698551059bca80506a4c8533d791bdaaaaa638571398ac85256740aaa5bf4bb35da6b3b6f514a7e364935e769137a300e9811355a9097492ce020aabbc0cfd8398792651f82b887b0d13c3e9c5632029a1670b3f8c8437b09a8cfd6b8482bad74347144661b0cf297fef2bf91ac607ec7b77ed308ac430abe56c69b668cd6201f329875f6454aeb73540e3c0f0816cd7f2b372daab8b3ec1718d362f97c5a05b35964707b4a7558ea1276fa837e4d90be1b19ae05cc7b948a32d1018f14844e1cc3b79fd631d8166d1fc072e538429ab1b09f8a0ac879143f514ed31931878191a0c203b5e69b30d40734904c1bd9ceead909136593b9c51402e5cf0917c3c9541cdfd95fa66018784ac144c610b4182a69a08cbd43cecbb8baeecca48de3ca5d21ce58a69a96ac65778cc9a5dacd663a632e63b1a4e71b012846f0c6c26b728902f64baeeb6718163cba1ac63447cad9d63eeae21855776dee780d1b6443753235f4330edc889094241930c27fac186f46428a60180d239008fcab21ad162f903a7a0984489f8a9d10840f2171734536b67a329174b48919a63993d8c4724a73c51b3aedfa30a86aa2606a5c8f2346e9cc129e4bce6a519947d17caadc8f3caa6a5b10bf98a526ee0653af3b214b652dce4b3ff3d2c1ca4b3b2f751e3af095d4128b57c46c8a89a1de5b805ffb20d0300e6ae5c57f562fdf493562e1bb5ac0bdd35b8395889f6c7037ed636e56c1aa661289052952ebf386150bb03eda1616478a1dc43f50fb1edbb63968945e05d09d1d320b335433b701caef733a47bcb0e62bcec0e68cd6da26dde55c53d5a289284a7e6b1c239a092c0841c6e7a8292041a04b842bfc8f2430a632d55568a58282018d55876bc8e90bd1686b61d7ceba6b500ce628dce8a5dcd13cf76c81ffa1afe352c6877b8b2eaa1abb3132e55d8bd5b08678bfa4243430bb4d059b58a4b0cf0fd26e30382cb59feee1b6b0fc129fecb8c74034da92987249bc20cc8ad4a2cfc1bfe0a8ac144dfda421de1a7addc92adb79bbfa9657f3dc4b78a7335f29db87b290d5 +m = a0caa815deb43343d4c18fbe19b107d20e36f89ac9d721ee8e82cca43f9a28b7 +ct = fcb5733dfea31232f618a276a9cf2f690549f4b4fb4282f38de693c4986a508788e7e668346cbf85d8e5a92d6929626f738656c9e747af941048a3322750a37cf04e7da4c53323e5f76fb5a7103d30f0ae3da0b9b06539d80a5d6d9c6a1fabfcbdd913789831c1f707e2da852d54ef690df78b7e659e85851bc103325e48de129b73a78e73f75fa37cbdde933e2dd3b0baaaf8830d9e83d11f80c1c2d2e70028e768dfdcdcce2d0cf3bee0a83a689dea13a459985d5e1841ecd508c85156c752b4216df9a626fddb2d2ef5e5dbc96f9be9e2f79a97222bd654aee78a7ad6958666290189ddad8f5b71b10c6d42b315c6e4feb29ca29f2b73acf0550b2f7c56cc0c4ceb0321d1223790e8a97372c41dfd992883482ea38bc2032b2de56464826e7c6264ba6ee6378c5267f0c299244a88f45667a0eeceaf6b1f82c559bc29e12383bdfce9837fed0a709428f19a602df834dda516efd181ca97a510491623e1ec7bebcd2203d696ea91a9e09e41a9b92fac0439e448614abf3a686b3813ebd1c40e345e9ab5ed757f404fd9581bdd9b097de0ec3897e23212310e1cafeb782ae5067db6e06e8ea21096e0a386bfa0a79686cbb4d43c903f2043b96696b1f68f278bca91ec840697754eae0b55ad1cf0aec0c561b3c015337997dbf6cdcfcc4e9e098a1a7a790787c1cbb3ddb5adbc2b0736fbda265a9681a09863bfb2317bb4ac381acf9d34858b6dfda547402d4a4f5442bfa16ac15d25ff2611e6db2836f85d10fa8905bf58a65caaba75e78f24b6db674bdc7152a3b14fa1829074e8819cfaa871932be9cf43202ec6bc0bfae7b925347bbdda128dca91fe7cad05f95eec1cb5e049d9001131ebdb5fc6a6cddcad70844811626b274caa98d69557ebdb5d7f10d7e21396281130479aa594287ce8f5e9db2700b90762acd47770172372576943a31228e05d20660ca587fb898c11d3c023d9b70513a95c6a7aad1ce9e74a975050734dcdb8ffe9e8e38e91fbb0f30754d960ba1785f5d23553146b7b5f8e58fc34265734aa5745cbd47ac10b68d435a249b16ae9973ff703a27d982517230c +ss = 330d7c68340391ce51db76fb44a18cb71b1b360425967c77aa17f89afce4c61b d = b87439fde81c9e39eebe7cf741c685785532c1dd23e8ef868b9ce7a541010f3d -z = 1646460817a0fce5836bdfe124a7448e7adf7b8ecc2652ac6d280e986682df71 +z = 6eda18027c6709111f1987e026a481d46003aeaf2ff23b675bc349c749f300c5 pk = 945762aa4b7684d18022bb247f593d00f4956c728f6977bd197565696c3fc61b6ac2b67cd644b312f992c1ab45c4c6a5aff378dcc3269622355b436610412cfd92458cc5703fe2b01cb3a395927be19c8067a793bca615cea3c2ea55cf10c0cbdd94577331939e6b7332d849ac501750411223d143dc953d648152005a323df711009b81614a657487abd5476bd5d71827ca1b5ba45e9c268c6f826e9263adfd716cdb842d4f31b2588a3291165fb7d7b3f21caa0d639d2e1b9981fc4dff1c9f0590b41661b3936950009c1423153c96351db064a794cb345e3c46abb00b061c4ea6f9bf2b53a679244ce8e453170b6ee9375c7da69056a5345c524ba1a1345d052ae176bf16370dfbdbbeb906996eb41fad306a9153c0e8d98128a82231d73a878a8117529f8ff85be6cca6166cc5b0503134ab298c066c62260df091a15f598311815f3503965695586ba134847b3ada551b62072d03d468360150d0b17ceaf0a1496070778c7a75593acbab2baa4c888bb99d9ebaa34f8b02c27ac7ace0a15ca73905d9582b8137a223bca48b42ebf28d4360b01cd25d644a6f7e831e155928e971627c3c52a9b015e5d8a86a790ff785c653ca920151ab662c3fcbb18af3b9ca27f6c0cae82161eb940fd45555d71fa801bdcf418c5e9879fb33b675d5a27e5b45a4e2a20916c83a1bcedaabc0ac0666b4a2b403f05daea6906e773ee9eb3ff9441c06f86634f01d1c93788a08b76b15be95b296d407a9ea500d89b191c1c68b7d85763d1c2d2633277af163596a7ec257bdaae2a510b8282976bf25936a6e380a778939ee2b44bb1054669a2c5c06c77e712bf2a5b6aa405a1408b5fd2573ef231e2169c165727ee1a19b4c6343f2038537da304909c1cf81862e9676f1e26d7f48748488cd9ab64bbe3167b442719a304500d8c72128cbea470942289fc35c1fe32ccc07361bb1591e43e5a4f9076b7d416e5d2325fe0413a0a88984b048292758fcd080b5f5378d6c508927cfea478be3f68015b12cc1b05b47791ce7ca8c1a98cffea637807931a863b2cba011c8d8c35db81bbac79c5d05171be83f32e99b4b05d558ea7918a7881bcf516457ad2c3ab72ef2e04e3a4acb85a987c2 -sk = 48340bb266c646934c7f42388385c1ba2cad8d25b57e17c1d728b767a592505a387a46722b652f941a2d420262c188380aa638c90126b9001f9a4c193dc1a7fbf5143d52a9d94ca6f50444bad7aa84432c18b31b8a40003f393f0ad3346cd740c0637f88975f32db5b6cf2a6c0923993e680e4547aaa9015c7559ccec2823279519aecbcf0314105084c63379d92244fc9839a0efb778fa28490999872933b0e2cc10309bfcd6070509b3a50c292e45c192e0146bdc1bbf664ba93953081ca46a1a5ae374955ac771e29048e830569423a2fe9a30703992bda27257f230b924cb82a3780ba3a5efb0c60eccaaf64c5aa4f037d229342daa9089ea1508ddc1c90ac72dbb68d2324ca91aa3f153a7f2902a5eb95a45ea88ad9ea4f62769574071038917ca015463e0252d3394131090a4081247c6b038cf6a095d2a7d4a22e7ae52552513434442b4e908ec65054a4e08236b4a32f054b9598a1e2f48aa88a6b53f950aae0c183a546ca44cb111974a8d1b494ccca5f176979b008725c27f233868717502275095af902f9c91efdba917a3a1a7f5ac89f660f4c34a0d648614f8cc3dd9738af76c63a4c4b64118baeaa72ce91c4ee3ace9a847d17e996f8119039198aca1b2c71bba11a2bbc05e62b33d2b4f09a8de917bfd4687a151552fc4446edca2ef386bec16400e41864c19b9e2a603d5b1b756e3cbe5b092327d39b0cb6b01c92224cacc6ccf5c4381174ec995435041caa07552d55b8a2e8ab77d720bd31443b2c7ee7395a18d378e9e594edabc504e6c310b8617b9b099af61fe8a0c726c0334f761ef85c609266c4eb56c12b8cce7257c0dd96a1390979ac076167f3441fd91ddda9145af6183ac5810eb56e2ff85fb9db4467dc11e70b99dec0cf0083aa02022bf1a079d580626eb2b653b18e49a64344cc250ef9877d858f248c26e41a28e5952f040572fe800a5c8873194bc4430ab739d56528d1332e14b78b56c47fa0b02fb719ef4003a444c7a4f26ff270a279f44e9cd1c899187cebe1a620386d53b35540b359a84656b8bb47bc712982309ccaf8be6d37267b2166a6e42b945762aa4b7684d18022bb247f593d00f4956c728f6977bd197565696c3fc61b6ac2b67cd644b312f992c1ab45c4c6a5aff378dcc3269622355b436610412cfd92458cc5703fe2b01cb3a395927be19c8067a793bca615cea3c2ea55cf10c0cbdd94577331939e6b7332d849ac501750411223d143dc953d648152005a323df711009b81614a657487abd5476bd5d71827ca1b5ba45e9c268c6f826e9263adfd716cdb842d4f31b2588a3291165fb7d7b3f21caa0d639d2e1b9981fc4dff1c9f0590b41661b3936950009c1423153c96351db064a794cb345e3c46abb00b061c4ea6f9bf2b53a679244ce8e453170b6ee9375c7da69056a5345c524ba1a1345d052ae176bf16370dfbdbbeb906996eb41fad306a9153c0e8d98128a82231d73a878a8117529f8ff85be6cca6166cc5b0503134ab298c066c62260df091a15f598311815f3503965695586ba134847b3ada551b62072d03d468360150d0b17ceaf0a1496070778c7a75593acbab2baa4c888bb99d9ebaa34f8b02c27ac7ace0a15ca73905d9582b8137a223bca48b42ebf28d4360b01cd25d644a6f7e831e155928e971627c3c52a9b015e5d8a86a790ff785c653ca920151ab662c3fcbb18af3b9ca27f6c0cae82161eb940fd45555d71fa801bdcf418c5e9879fb33b675d5a27e5b45a4e2a20916c83a1bcedaabc0ac0666b4a2b403f05daea6906e773ee9eb3ff9441c06f86634f01d1c93788a08b76b15be95b296d407a9ea500d89b191c1c68b7d85763d1c2d2633277af163596a7ec257bdaae2a510b8282976bf25936a6e380a778939ee2b44bb1054669a2c5c06c77e712bf2a5b6aa405a1408b5fd2573ef231e2169c165727ee1a19b4c6343f2038537da304909c1cf81862e9676f1e26d7f48748488cd9ab64bbe3167b442719a304500d8c72128cbea470942289fc35c1fe32ccc07361bb1591e43e5a4f9076b7d416e5d2325fe0413a0a88984b048292758fcd080b5f5378d6c508927cfea478be3f68015b12cc1b05b47791ce7ca8c1a98cffea637807931a863b2cba011c8d8c35db81bbac79c5d05171be83f32e99b4b05d558ea7918a7881bcf516457ad2c3ab72ef2e04e3a4acb85a987c2f4e474fd64a6d945e85eb4ee7509cc99fd4054de99f819fdbbb05c54ca6e36da1646460817a0fce5836bdfe124a7448e7adf7b8ecc2652ac6d280e986682df71 -m = 2607dcf4fd6ca1c614c21b5e37c24981c32b91c8c3e6955777da8a3f5d9c9335 -ct = 1f749d35760848e705d7628ebcfe4d0ff9ee2bb6943277a9f5a0de55a46022b4cc525e01d54405b85cf799f2040197a6386a92d0acef79ddd56f26a6903d9ab37270e982980f20f9f2b795a7e056138236c79c8a2184f20da2a2b0e3e606b42ae998288ef2a7d450f2601799f87c40e308e0231d5b275c6444e83d6885c2f9071c11ca482292ba84493a7ad95e9f23f1d79b8543eeb95044c13e719ddba96b6a1e6b0d67f362f6ef6667c1604841b7f982a2acc37957c9d810d2e6d99546218efbe9e7cb3b4471279b1a84e687f8ede0c7801faa8d0944c1de4d9d08304437b5541c82368ed14387c69939da99730bac380f0938fcc730cde77feb6bd6f7fa5bc6b7d131b7c71f3fce81d61b364e620a8f570cbd6f87ec6dad73f863daaad209fe962e1d581648eb4da85649927795e4d51ecfdfecb282fc790c111d9213393bf475cce10343ab1f4bb238f07840e72f4dc497aab5b18473ed353255e1e484a5ba5ab4a615baa30d26afb73c7f68cfed21ad829231abfd8c3d2a33d1e168d0770971a0d136646bb0d985101c16d39025abaa62c76ce110784cb97568ad42a2c9508d089f5c12f9efc2e6b456d33df2df5ff00d46d5dc72a216aaabbb6459316cc735eff0efc2f8a2d136263df4f51e777b2d91e9c50b04c17ef7c63263a173e4ed1306a911c7dead6965fff0250407b065199e728c0b0966a177505fec7d92ba60a1e6a32210e8728e605f7b35b929574121974fbbb5fb332943199462dbd7146e7b048b5de1788b231d09a1dd115a269a3b20a36ee126ebeca66d8107ed81606b9854ac29ee66eb625f1e8b99143d2529de6bc9de1f818b36fef5b2b29773b3d7d741c2ce150f60b7a1cf33150cb9067adf82ffd44946885744a0ffa77324011e60b5179c18401d02b4ecd5aac91a7e0b11579429f6abceb6a4fe86dbb5d6664507179577e66b0976c0e2eef161d8bea4aaef78f42378489cde3382976debd378d63beff0b3a8c52d1224007f703cd231360d9bf937dec13789f824bc6bc61c06d5cf3a6c99fae93d2d0e9c5ae6b58b115c9c0c4915706d36cf89b81f80b111 -ss = 98c0fa44e2a053c1a84a984d8e0acdfbe1c17fa07f5f8f0c9290337da969e07c +sk = 48340bb266c646934c7f42388385c1ba2cad8d25b57e17c1d728b767a592505a387a46722b652f941a2d420262c188380aa638c90126b9001f9a4c193dc1a7fbf5143d52a9d94ca6f50444bad7aa84432c18b31b8a40003f393f0ad3346cd740c0637f88975f32db5b6cf2a6c0923993e680e4547aaa9015c7559ccec2823279519aecbcf0314105084c63379d92244fc9839a0efb778fa28490999872933b0e2cc10309bfcd6070509b3a50c292e45c192e0146bdc1bbf664ba93953081ca46a1a5ae374955ac771e29048e830569423a2fe9a30703992bda27257f230b924cb82a3780ba3a5efb0c60eccaaf64c5aa4f037d229342daa9089ea1508ddc1c90ac72dbb68d2324ca91aa3f153a7f2902a5eb95a45ea88ad9ea4f62769574071038917ca015463e0252d3394131090a4081247c6b038cf6a095d2a7d4a22e7ae52552513434442b4e908ec65054a4e08236b4a32f054b9598a1e2f48aa88a6b53f950aae0c183a546ca44cb111974a8d1b494ccca5f176979b008725c27f233868717502275095af902f9c91efdba917a3a1a7f5ac89f660f4c34a0d648614f8cc3dd9738af76c63a4c4b64118baeaa72ce91c4ee3ace9a847d17e996f8119039198aca1b2c71bba11a2bbc05e62b33d2b4f09a8de917bfd4687a151552fc4446edca2ef386bec16400e41864c19b9e2a603d5b1b756e3cbe5b092327d39b0cb6b01c92224cacc6ccf5c4381174ec995435041caa07552d55b8a2e8ab77d720bd31443b2c7ee7395a18d378e9e594edabc504e6c310b8617b9b099af61fe8a0c726c0334f761ef85c609266c4eb56c12b8cce7257c0dd96a1390979ac076167f3441fd91ddda9145af6183ac5810eb56e2ff85fb9db4467dc11e70b99dec0cf0083aa02022bf1a079d580626eb2b653b18e49a64344cc250ef9877d858f248c26e41a28e5952f040572fe800a5c8873194bc4430ab739d56528d1332e14b78b56c47fa0b02fb719ef4003a444c7a4f26ff270a279f44e9cd1c899187cebe1a620386d53b35540b359a84656b8bb47bc712982309ccaf8be6d37267b2166a6e42b945762aa4b7684d18022bb247f593d00f4956c728f6977bd197565696c3fc61b6ac2b67cd644b312f992c1ab45c4c6a5aff378dcc3269622355b436610412cfd92458cc5703fe2b01cb3a395927be19c8067a793bca615cea3c2ea55cf10c0cbdd94577331939e6b7332d849ac501750411223d143dc953d648152005a323df711009b81614a657487abd5476bd5d71827ca1b5ba45e9c268c6f826e9263adfd716cdb842d4f31b2588a3291165fb7d7b3f21caa0d639d2e1b9981fc4dff1c9f0590b41661b3936950009c1423153c96351db064a794cb345e3c46abb00b061c4ea6f9bf2b53a679244ce8e453170b6ee9375c7da69056a5345c524ba1a1345d052ae176bf16370dfbdbbeb906996eb41fad306a9153c0e8d98128a82231d73a878a8117529f8ff85be6cca6166cc5b0503134ab298c066c62260df091a15f598311815f3503965695586ba134847b3ada551b62072d03d468360150d0b17ceaf0a1496070778c7a75593acbab2baa4c888bb99d9ebaa34f8b02c27ac7ace0a15ca73905d9582b8137a223bca48b42ebf28d4360b01cd25d644a6f7e831e155928e971627c3c52a9b015e5d8a86a790ff785c653ca920151ab662c3fcbb18af3b9ca27f6c0cae82161eb940fd45555d71fa801bdcf418c5e9879fb33b675d5a27e5b45a4e2a20916c83a1bcedaabc0ac0666b4a2b403f05daea6906e773ee9eb3ff9441c06f86634f01d1c93788a08b76b15be95b296d407a9ea500d89b191c1c68b7d85763d1c2d2633277af163596a7ec257bdaae2a510b8282976bf25936a6e380a778939ee2b44bb1054669a2c5c06c77e712bf2a5b6aa405a1408b5fd2573ef231e2169c165727ee1a19b4c6343f2038537da304909c1cf81862e9676f1e26d7f48748488cd9ab64bbe3167b442719a304500d8c72128cbea470942289fc35c1fe32ccc07361bb1591e43e5a4f9076b7d416e5d2325fe0413a0a88984b048292758fcd080b5f5378d6c508927cfea478be3f68015b12cc1b05b47791ce7ca8c1a98cffea637807931a863b2cba011c8d8c35db81bbac79c5d05171be83f32e99b4b05d558ea7918a7881bcf516457ad2c3ab72ef2e04e3a4acb85a987c2f4e474fd64a6d945e85eb4ee7509cc99fd4054de99f819fdbbb05c54ca6e36da6eda18027c6709111f1987e026a481d46003aeaf2ff23b675bc349c749f300c5 +m = 281023b82d26fa61f9a306cce0fa00037556c9a0b597fc734ab2fa2a146c1661 +ct = b0b5dbf5e7815896114969391b090260e216790709e89f6a35519e31be42b7beb2ab62273004ddb697c8149457ce11af010b8eda6890189969c8b8931ea4511f220ca56bc32e5b3768fd393d38689d32fd7e7d2aa26e35c3bd680b63cda2232bc7d8b9434b844caf86c4b8746fca749ab71bffcc4211540a7b8a1943679a557b10e4837a910d93f8ee92fbc888ef0de5b8081377301aee6a3d4d023cc31cbf4442d83299fe787b8a660b8851fcfbe8604a71ee58755052852b5d60b1bc4ff287d4e842a57bf01a956506e31c1bfed8d0644b3ef5cfb309914ed0e0da153fb39b85db189dc12f852c4988a922b0a87cfb562c800f857d3ab4e6e94816b95a43a5dcbe99c72e757618149dad36f38ae67a488fef25921589416f6fee15c90430707cc00772a21aaef902f8aa17a822531545c7b270f4f71d344bdf558dc01a72e3198a0e2688037946a3f1fc8adcbe7915b005c696fa6ce0f643acf79e380066b008187ec902a166113a05d2b72cb74b289a0e1565a359953d05be76c0b7d76f3fa0a1afbdf240c0af8cdb3ef1a22a6fa6fc7a5f416fd8a8faba3fc51583682382098ea6d41375a024b165d46a33d6971a4711dbb5676116aee22e906e01c9dcaec30a6f00143673f58cfba5e15bf606f1f4f51a2473ba7b4a98e6d97e9138f4f9c9b202a58070ecce26c04e09f551e6e5e9ee9d348056c85451fbe492e89f1f10e075227250dfc5adaa24a0164d1ae3069e0a002e2ab05e00e8d125e602e443b31b55fb4433fd69cff479bcaa1bf72abbdb0a2d7d3961114d27d6821c98cef3e921926b3678d23167dfdff0857a6f35b51c8cccf642ed0d2af17a0108a3d8a17c693ea46f8814a6300f5392f98f0a7b8ec4fce50c12fceefdfb55427d6ccd9016b7fa30a67704ca3d7e09b8c6b20b02335cf22c71bb9f8d035386ffa6fe738684eb15dd20aad980f83e3e7366088c7c3895928d2f6a90f837f7983aeaf3e3077634381ed878d6de15c4516997c8b5295065d00ba907ce7cddc5fe9d4e7a7f799803f7b354fabe7d7ed650af2a499aaadeda6acd4ee541a23ebe9b8cff1c1591d0 +ss = 425029ba0da3f1698a65b9e6665d5ce2d640399f7286b52f86f47521775adc30 d = 056661b38038da4fdd7426f32a81576c73ed84843b305168a374f934e27a4e1b -z = 79238a80dcfd7c992d84b2dffa67493e669243d4fa38c46b090bdf86bc548411 +z = ba2de5dd570e201786cbfd5d27020b649b011455909aaf0ad6d92c1b4bb1f8db pk = 00d6638044335765803648b2c7583d29185714c06345c8002f97a0b35641a2457c1f843d3ff637faa04dad093733811f2b143257c37b2f75bbe8a81b107443d071be7ff5c8a89548cdc1b11e20c41e1a6c5ddc57d7e72c8e17a5cd82a60b6c8136bc3b526187fc8774f9c316d9b7c2a9b41f676ab6f53b7e436194dc2cbd8ea324e8701d5dd171b4c20054c87970258fdf259f575a71145b1421667a16812933d645bccc8af72266d55184b1375bdcb15d87b5c1a9b4c0e4f34526194754358de8d655104241d2a30c6021c9d3e727d933147385b3f416b2418924e3369df7652debd6a3b0c457fc28cd88355bb1702d802c0e39773896ecb120a75c171069838888b5cb788990a349b44d5e85712ca91ac8a20e2f03a3c119ccccd37dc783175485be3dca1515723ff2aa14d77a216eac92b187bdf9366ae4dbbf593b4ed91cb79864c9f4cca6ca85824a7072511b1709a4221b7526da8602cbf11dedc601ba492fde8a5d3bc27c458bb1b994432a61a7a4e333608207fdd700ecb8781887a6fe02702df120f30bab2b30c28cec7d86447371c6a5e99a1c171b64827229527c48b8e343005a58818bc8b9b9be2125aae9ca2d640701b5b204ded33d2cda34ae77134eda9fc2db12b5b12742fb4b4b8a22d8d75cb1f83df409ccdd486303202637a99cc613035ef54257a27ade904e88c13c91e42e841107be386c7ad228459298e01a1cd4151d64064666dbc954e921a408975ab6814752045324a3a9f41f322153e2dc1c8255a5e63280fc2210c52176a4c93cdc9693bfdc73156aa319582e8cd092a0e28a1a8148c13a14fbbc745f5644439905119b44405a27ce9ca446872927e06ebeb11c8fb39ed407042bb2308b90379566a18a32b7ecdb6f832c392bf205edeab45bf0110af1aac076c417923f80ca059f34101d87234b7a288374b2ca0a88950bc722a01ee4e7be48a81fe732998f536ceee8540323ae08f49217ea880de4431bfb74cc80cab0b89f327a28eb9ba932b523907164dc82c961343088002d10f02ac2647a3a532d5cd796abe16115724d37122431a57b1e9b2071a63cb7ac6a7dd70d90506ddbb5f53a83079aba0927bd52a68e278d3f01ac19eba6bd -sk = e5929843493c5ccc19f047539427cb993481145b7899259865758538b160c1ca72877688fac53f0c306237d572d3c11b6a0b05f5f46655ac09b01509d2428e8f7385ebba74c7777c56cb571af991f33063b0239120f894cab3ca804a7e3a5896299601efe290cdc529b8127fec01abfdc930df7bc345179fb6b150a5b5796f12563df87b0dca299d8a2980b5c096b01748c2571c837ff072063c80ac323b05628333227ccbec1c9e55399bc75739f6486ea379b5e728691fe004037399ac73487a03c3f8a5be7eb09174c60f01eac9227a5784d97f0d9420a3e34808844d1772c846c3527fd36fb17490b39698197b644ef15723832df93c344d3a7c5728043a2734f73943b983a3f9c856aac75092588a24cbbf7e3916cb8b6309c287fac67837d63f8fc44dc901697f007ae429479227440f7495845b9af07192b6667db7867c6dfaca947310d956a171f15ba73994bf214c426831c3e0c220582e6d4437bbb50055abcb5a36829f93150b810ac6907ab814aba0c95439b25beeb371761803aa619bbc01137969047953a767c947e4e7115727289bb47c8016b30ee84822fb5ce5683d4f7c61696108c5413fce2a1f3b8378e65215c61b3028f589ce082386d3ae1d01806bbba89d06abc2548bbe9a80914109fa892128951d9d8a2e545aa273b8a9eb66c07af53700a95708d6610040752bb61bbca29a4a814d2485a48446079496c01b3603bdb6209f77427bf750b1c0a836f89ea5b176536b2c011441b49410c99386b15b2fbfa4a6a93226af53a047a49d738cc4af9c30ae026ca24a060895a04f456b19157edea36dfaf57fc32155f8c9a59b08508cf880c401a684440269f12f8a0c8f98b930a1190f302818b308174cd48b40dccd5fb851104b107ce48a62e86553c98570db342b024dcc5c5c9fbb48989a964771620c06859ac63b92898d218a43df21400ddb04d5e70c3abbb890292180d47fd0dcbb348131ba143e666072c8d64d3d435cb57956f5e9142b619a1da05e205bab945a79a154ce34b2b04eaa3b0ad6268c1a330d5c34dffb8116d883ccb4755ce06e2c499c30938500d6638044335765803648b2c7583d29185714c06345c8002f97a0b35641a2457c1f843d3ff637faa04dad093733811f2b143257c37b2f75bbe8a81b107443d071be7ff5c8a89548cdc1b11e20c41e1a6c5ddc57d7e72c8e17a5cd82a60b6c8136bc3b526187fc8774f9c316d9b7c2a9b41f676ab6f53b7e436194dc2cbd8ea324e8701d5dd171b4c20054c87970258fdf259f575a71145b1421667a16812933d645bccc8af72266d55184b1375bdcb15d87b5c1a9b4c0e4f34526194754358de8d655104241d2a30c6021c9d3e727d933147385b3f416b2418924e3369df7652debd6a3b0c457fc28cd88355bb1702d802c0e39773896ecb120a75c171069838888b5cb788990a349b44d5e85712ca91ac8a20e2f03a3c119ccccd37dc783175485be3dca1515723ff2aa14d77a216eac92b187bdf9366ae4dbbf593b4ed91cb79864c9f4cca6ca85824a7072511b1709a4221b7526da8602cbf11dedc601ba492fde8a5d3bc27c458bb1b994432a61a7a4e333608207fdd700ecb8781887a6fe02702df120f30bab2b30c28cec7d86447371c6a5e99a1c171b64827229527c48b8e343005a58818bc8b9b9be2125aae9ca2d640701b5b204ded33d2cda34ae77134eda9fc2db12b5b12742fb4b4b8a22d8d75cb1f83df409ccdd486303202637a99cc613035ef54257a27ade904e88c13c91e42e841107be386c7ad228459298e01a1cd4151d64064666dbc954e921a408975ab6814752045324a3a9f41f322153e2dc1c8255a5e63280fc2210c52176a4c93cdc9693bfdc73156aa319582e8cd092a0e28a1a8148c13a14fbbc745f5644439905119b44405a27ce9ca446872927e06ebeb11c8fb39ed407042bb2308b90379566a18a32b7ecdb6f832c392bf205edeab45bf0110af1aac076c417923f80ca059f34101d87234b7a288374b2ca0a88950bc722a01ee4e7be48a81fe732998f536ceee8540323ae08f49217ea880de4431bfb74cc80cab0b89f327a28eb9ba932b523907164dc82c961343088002d10f02ac2647a3a532d5cd796abe16115724d37122431a57b1e9b2071a63cb7ac6a7dd70d90506ddbb5f53a83079aba0927bd52a68e278d3f01ac19eba6bd50688de263a82386f39a7b82592247bf5499f1836a3a941413c75f6331ce403179238a80dcfd7c992d84b2dffa67493e669243d4fa38c46b090bdf86bc548411 -m = 38c89bbe7145c29e9a831c11431eb9929cb24fb4992db20737e4687d397fd732 -ct = 59905c5bc80fce9e893a786ef93d757f798eb4934fbb1874c216106ab76c400b2df0f71f08d648b10ef09c14ad06862532f93f20476d5fa363fb7ae1450db64f8062d68f22efa2c266ae23d465b139eb091495a79fc6e72d6a8f81d8062b3b0d372b26fd566027ebb753a18ab225a55238f4f7462ac4c6d7bc0bee6f6966507b202f516ca50492b63de6bb3026183ad26dbd37504fcd4fd848fcbc8194daa3e93c364ca8662e27bb6e7ec8ebecaaa5069792896badd83158b22d64a3b606c127fc5e98e22718eedbf37144dd79efbfd3f4fbfdecc9950d717b5d3f28e0c3bdf9fd680652d51526a0361cee60ac4753b0e68c552c2f61c808821e5d13b8328275395b6b6bf4cd6b7a57079b1f10f2271c401f2b76b81af6cc14d2d37149616b764c5ad450de8ffc2d15a16c17169c920d5a37a2f97c6fbddc6a5bf02a6c3ca88d30e60d2c2c237fd5197fb08eb5abaa4c16347bbd798bae761be797868b0e5874111e9b11bfabd29cdb8e147ee09d7ed7473302de235cfbd271a6bcb8b521bf3109ffeefbac9fd08f2e08f1ab1bf914f72920d301e56ca9acee22d3f43fecda982bd2f79ae9a80ef75f1ac7ebb78c2f2144a3b3939a89cfc6a87202e8fdeec5b9ed198ba5837e35f0a151dc3a7c059f9e00e919ca941dbecf854f43a71b1e9dea06d63d456f829477e9ed4a5bbe6e84d1fd6f6e0cdb055ccdc9534acbc5f19e299e1db7ecddd3700c403140ddf62eb96caf7adaf64c7a83226058880c3e5b9ff209fb3f5ecec4b485a729f70f0a0d4f4fb01d80dd7c7f6800d11c4f42c246d8909935e5636ecf0a5b9d5d1636889d3aa0993b3ad0bdaa6866ce13ebc720ea7726636887af0e38afa80d4aca16290a1343d6898dfd3e42d4a2b7b4b7686811cef6731e9ef72e543617f078e69693dd3e92696fb81c1c2aa44779af57ab59a28d9e8cda74c0cb4aac8be07450bfbaf25f983dda947722a3eb4b2c6bd5ab6fbc6359bf1b07929b145eee28ab99c7f1656e1adeb192761ec72a74a1dcab20a17fb222801d95f9a2a26211968cd88f0d33042cfc945410db96b9828e22e346971b7393 -ss = 48afe1582c88f7e89caea5d594665c0592140f0615715d158b7fa9ae1544c6f5 +sk = e5929843493c5ccc19f047539427cb993481145b7899259865758538b160c1ca72877688fac53f0c306237d572d3c11b6a0b05f5f46655ac09b01509d2428e8f7385ebba74c7777c56cb571af991f33063b0239120f894cab3ca804a7e3a5896299601efe290cdc529b8127fec01abfdc930df7bc345179fb6b150a5b5796f12563df87b0dca299d8a2980b5c096b01748c2571c837ff072063c80ac323b05628333227ccbec1c9e55399bc75739f6486ea379b5e728691fe004037399ac73487a03c3f8a5be7eb09174c60f01eac9227a5784d97f0d9420a3e34808844d1772c846c3527fd36fb17490b39698197b644ef15723832df93c344d3a7c5728043a2734f73943b983a3f9c856aac75092588a24cbbf7e3916cb8b6309c287fac67837d63f8fc44dc901697f007ae429479227440f7495845b9af07192b6667db7867c6dfaca947310d956a171f15ba73994bf214c426831c3e0c220582e6d4437bbb50055abcb5a36829f93150b810ac6907ab814aba0c95439b25beeb371761803aa619bbc01137969047953a767c947e4e7115727289bb47c8016b30ee84822fb5ce5683d4f7c61696108c5413fce2a1f3b8378e65215c61b3028f589ce082386d3ae1d01806bbba89d06abc2548bbe9a80914109fa892128951d9d8a2e545aa273b8a9eb66c07af53700a95708d6610040752bb61bbca29a4a814d2485a48446079496c01b3603bdb6209f77427bf750b1c0a836f89ea5b176536b2c011441b49410c99386b15b2fbfa4a6a93226af53a047a49d738cc4af9c30ae026ca24a060895a04f456b19157edea36dfaf57fc32155f8c9a59b08508cf880c401a684440269f12f8a0c8f98b930a1190f302818b308174cd48b40dccd5fb851104b107ce48a62e86553c98570db342b024dcc5c5c9fbb48989a964771620c06859ac63b92898d218a43df21400ddb04d5e70c3abbb890292180d47fd0dcbb348131ba143e666072c8d64d3d435cb57956f5e9142b619a1da05e205bab945a79a154ce34b2b04eaa3b0ad6268c1a330d5c34dffb8116d883ccb4755ce06e2c499c30938500d6638044335765803648b2c7583d29185714c06345c8002f97a0b35641a2457c1f843d3ff637faa04dad093733811f2b143257c37b2f75bbe8a81b107443d071be7ff5c8a89548cdc1b11e20c41e1a6c5ddc57d7e72c8e17a5cd82a60b6c8136bc3b526187fc8774f9c316d9b7c2a9b41f676ab6f53b7e436194dc2cbd8ea324e8701d5dd171b4c20054c87970258fdf259f575a71145b1421667a16812933d645bccc8af72266d55184b1375bdcb15d87b5c1a9b4c0e4f34526194754358de8d655104241d2a30c6021c9d3e727d933147385b3f416b2418924e3369df7652debd6a3b0c457fc28cd88355bb1702d802c0e39773896ecb120a75c171069838888b5cb788990a349b44d5e85712ca91ac8a20e2f03a3c119ccccd37dc783175485be3dca1515723ff2aa14d77a216eac92b187bdf9366ae4dbbf593b4ed91cb79864c9f4cca6ca85824a7072511b1709a4221b7526da8602cbf11dedc601ba492fde8a5d3bc27c458bb1b994432a61a7a4e333608207fdd700ecb8781887a6fe02702df120f30bab2b30c28cec7d86447371c6a5e99a1c171b64827229527c48b8e343005a58818bc8b9b9be2125aae9ca2d640701b5b204ded33d2cda34ae77134eda9fc2db12b5b12742fb4b4b8a22d8d75cb1f83df409ccdd486303202637a99cc613035ef54257a27ade904e88c13c91e42e841107be386c7ad228459298e01a1cd4151d64064666dbc954e921a408975ab6814752045324a3a9f41f322153e2dc1c8255a5e63280fc2210c52176a4c93cdc9693bfdc73156aa319582e8cd092a0e28a1a8148c13a14fbbc745f5644439905119b44405a27ce9ca446872927e06ebeb11c8fb39ed407042bb2308b90379566a18a32b7ecdb6f832c392bf205edeab45bf0110af1aac076c417923f80ca059f34101d87234b7a288374b2ca0a88950bc722a01ee4e7be48a81fe732998f536ceee8540323ae08f49217ea880de4431bfb74cc80cab0b89f327a28eb9ba932b523907164dc82c961343088002d10f02ac2647a3a532d5cd796abe16115724d37122431a57b1e9b2071a63cb7ac6a7dd70d90506ddbb5f53a83079aba0927bd52a68e278d3f01ac19eba6bd50688de263a82386f39a7b82592247bf5499f1836a3a941413c75f6331ce4031ba2de5dd570e201786cbfd5d27020b649b011455909aaf0ad6d92c1b4bb1f8db +m = 2f349ae0ca4e08e2a8ce5d568829cbaa2150b69d13fff8a46711b0f5dcd770cc +ct = a0fd7a342fce87fa75e33062b44175bcff827092a92aa51f8c38c968b0c955e514ed2eb76b3be75d1a28d1530ae0e03471a47c00420a974a44e47cc6f100eec85c253b32b7fcfb0c90421eb247b815fa89c41bfc8b5924727bef7be1dc3077d3dc35936c3051faae7a4baa9e67bf2d2844d3ac032d9c5b52a3674e50cacbe4bb673a351a8d2038e244ea77d3eba10c777b030a72c8d023c78173739dca91c38a1ab522739b8a8309a3a49c7508ee217c40b584496e919df73f72c4fcbd95852b7f42acd06fc3108266989d4380a13db66571c2d1fca5c32f266b7e4f7748a357b5df5ee2597ab319c1622c58814869e61590a7e4b8422d9a047a1db340388be48739341f5d023867728761d7df05d62c18fdc8d825a95d5f268b00ff89b18260f6c8da6716dd3f3ca0c894cb57cb933d436bf5601f36aca8bda9c096266bc89972c8d27a0818b1e56ae1f4d6dcca6f2e50694a4e9e6a746bbd108175da740357a9586913cfa893db67aa14a45812f5ed49d50e530601d5b5494cddd8689b656abed004ee20375453ddd7aa5cb82bea2c5608e1dd7087dfca95e6b03891c8904934c875c3f4904a1a85264d28e7a753b8d1d5c1f1b61c3eb67174bbbf644131fd03fd604f6ba07fdfbbadfdb31986ab5e50d8f35ab9609041121aa80be9141526a7c9f6bd5a209baee32cf87a6d018429f30dd5ddb2d223661f5524ecf5f62fdb3adf3bc7f015c707a48fd1a0d74b8c18bc4bb8b40e0833eabcc095c60b46a577dfec8b49740ed7667349e84e7c664b0eec254ae06c93ed0ba8d65733aa505171836b875def8ef71039ee80277fa6637a34bea61faa76227e86d1e90772d862b3ea61af32cd79c954ffe557c1df6f1cf084aa00c7e4a0212b2de5cdb6be84256e242cdda1748baae2b685c214d72cd715fbfbbd353da0f26f7494a4302ec30341528196b6e80a83d7a80dc6cb033278760df702f0081477257bf7425f30c769b86dfd238e2a2b8d3e4cce2637b236183faf3c2a5075d39f34b886e5ba0f05ed972f6d2056f51ef8c5cc8e3398d6f63a2a15f45e83374f15d260f4d6edb3e3698d +ss = cef2d23a7f3c275d503c15f11f72b798b3e92a10169ed3cd0578214b3788be4b d = a1b52d871612a1c611ae0944f9e71858f35d3bd14f20e96a931720668bdf0a6b -z = 1f135cf64b6403e103afae34da038613e2853bbfc36baafa3c6a95347193f37c +z = f25f42aaa0d647322bd837cb730af6082d2fa2d17bd63b162b36839fcc2df0c5 pk = d9f893e986491d219b6070ae339c3114e1a64d6c61353411ba2008ea358749866018c802d3dcb05b0c5329a691f57303c0d724fb2a1121d264374aab2eb209412941f7e39eaedabadba71494863f79e34eda632c1da77ebca6283311310f4918c69c6c5036a47aecb3b2433e8991b8d0bab01626034be96f31a41d98c1a2d3354f47e87b9053033b82a6a8f6b167e827cb1c11ebf4758af8c70fa98dc1f35b353c54b5552a0f37257367bc43e263e8a23284b0982ce8a6951a4ae5924d74e3481a4bc141f0a85e90c06e97ae64183c0f469dbdcb081de093ddfbaf9d4318a24615f8a38d1477132aa5c322934d5e92c89acb29aa85292c7971e61c89ab484e69976a57c2181ed5450260c05fd957163c0269e9a3aae27114a5395e398cbc198f65b46bc2108150b40493532d63a35f1882583fd16d5de1bf0a7a9c82d9717bac5e31a15baec1afcd94a352c01dcd73ad51852d618490ee5993dc617e0526556304095657274a738bd4620e80280c828c17d31892fd174a4fd8302d705cf738126c352899026d8795c9afec77f39c87f1567120e70d9211b73daa813497397c0abdbeb7124f942df311067a0ac03fd3c3e8641f202765026b7fc5511754481bc8f227e362cbbce579037c4ccac5564c015318e598cfcb538f1558a1b55e4bb61c372caf23c2a1eba52e7acc5a05f129a469bed6688788c2c68c72b75ca413b7496f3c2505eed19bb2962d82436c16c29db904b76ce5626da57bebd05bfe838725052d1103202e563de581151bba7d46e1cfafd50389a730c9a3c56d88030bd397a9d54af0e763249cad1cb0427580853b3572e705bee6f1bb1f4232f6ec2aec3059d777209dfb32710b9fbef71203f5a1eb11507ecb98e5e4cd384124531490e48a0bcd39be19e21c424c726dbc1900ebbc1bf155256a03a89b3d0537b4e00988447ca3c02a65aaa2ad5be40825d207fa683b9d915a6a5a1e8fe20b0cba4ea14378fb759e1a064ad93b6e5ad712be3551c9d4a4b0819eb7420a4a54cb912888262c7035b34b2df43dd508979c555f0f0aaef43c83a65bc8c298534feb95fa4949003197c8f9c878a367c021db7e9273fe2e03a2716683dab6caed5c770f6e7984 -sk = 8977c913909b2f2050958b52666c3f7d16094a4613e8b1909e1838a3763991805d58aa1ace8209ce5cb8849a98a1616b36778f1e138abb5b2fcaa5ad2cf5372181477f7a4a7ba4769cc0758d911b28e447f76947cb5bceb39359bda2050a91186b37469295040bb6753d043561b84dc345607ce94a8f0693c91096a4c9c69155076490901f85b321b175f808c76c9698eb9036b4645081051a6674b4fe6b90e3e0753e032e6e72b3dcb07671d300e7dc5fab7275719410c685b4bcb885adb74da7db8588e54c280b82cd41a7f85cafc877c6dd212d9a889d8da091ef4974e7e0ab1112a3ce0446d8715cd309020184660d8a7358d137c825cb78a2c202c29e2dbb10271275c5225fd8a57e34b54e7700108e83436e712944848a6a0a7098f1864a42068ce81126895087a96c4d0305ec475825f44418265c5a6769f5d86d463bcfe0f324492716a862859dfccc8781b2e1ca516866847ee3af99c94e41eb9ca9303d6c6717b53444f3f1a48cc66b43883c23848b9cf7902a4722c7c9ba72dba2a1d15b6a762a9cd2182ac927e63663243571afb78c2b00095bfcc889c0b563c249fb1481cc7a4301a6ac7ea8ca194a19c8859505b267dc982e4f339802b997e183115798bc9b104c18c04c6c7727106028b20112d7b0c35e43246f573a0af1793848ba4b412bc5800e5aacb1a197b29ac4afe55567a990176002be852360be346019c310ff8c5adea09fef258ef560accba00b15321e48d6cfd3f5ce6faa85b2d6af453668504989cbcc4fb60b36cedb2eedf36e400491044c3b89440d7c2a1e3352c0e9d616fd4c58898b57d10a459d609de4e58249f172f8549a4553aabf6671a0342888e954270a78c132556f333c07245a54500c5a5b7918d0411447b971901b17ba57415a3db56c597bb4b7e55752d0bcc6356c1566c01fd79c64afe59b8c925baca6adfca4a2616a9f505313c3e01e13700736d8541f406248739fa6868bcdb3954e226287c0c4e7285ef7e040322944c79cc95106052e9289e9a14a087069352a6a0738699a37cf2adc46f13359d7152d0d98217fb3574e787a0d9003d9f893e986491d219b6070ae339c3114e1a64d6c61353411ba2008ea358749866018c802d3dcb05b0c5329a691f57303c0d724fb2a1121d264374aab2eb209412941f7e39eaedabadba71494863f79e34eda632c1da77ebca6283311310f4918c69c6c5036a47aecb3b2433e8991b8d0bab01626034be96f31a41d98c1a2d3354f47e87b9053033b82a6a8f6b167e827cb1c11ebf4758af8c70fa98dc1f35b353c54b5552a0f37257367bc43e263e8a23284b0982ce8a6951a4ae5924d74e3481a4bc141f0a85e90c06e97ae64183c0f469dbdcb081de093ddfbaf9d4318a24615f8a38d1477132aa5c322934d5e92c89acb29aa85292c7971e61c89ab484e69976a57c2181ed5450260c05fd957163c0269e9a3aae27114a5395e398cbc198f65b46bc2108150b40493532d63a35f1882583fd16d5de1bf0a7a9c82d9717bac5e31a15baec1afcd94a352c01dcd73ad51852d618490ee5993dc617e0526556304095657274a738bd4620e80280c828c17d31892fd174a4fd8302d705cf738126c352899026d8795c9afec77f39c87f1567120e70d9211b73daa813497397c0abdbeb7124f942df311067a0ac03fd3c3e8641f202765026b7fc5511754481bc8f227e362cbbce579037c4ccac5564c015318e598cfcb538f1558a1b55e4bb61c372caf23c2a1eba52e7acc5a05f129a469bed6688788c2c68c72b75ca413b7496f3c2505eed19bb2962d82436c16c29db904b76ce5626da57bebd05bfe838725052d1103202e563de581151bba7d46e1cfafd50389a730c9a3c56d88030bd397a9d54af0e763249cad1cb0427580853b3572e705bee6f1bb1f4232f6ec2aec3059d777209dfb32710b9fbef71203f5a1eb11507ecb98e5e4cd384124531490e48a0bcd39be19e21c424c726dbc1900ebbc1bf155256a03a89b3d0537b4e00988447ca3c02a65aaa2ad5be40825d207fa683b9d915a6a5a1e8fe20b0cba4ea14378fb759e1a064ad93b6e5ad712be3551c9d4a4b0819eb7420a4a54cb912888262c7035b34b2df43dd508979c555f0f0aaef43c83a65bc8c298534feb95fa4949003197c8f9c878a367c021db7e9273fe2e03a2716683dab6caed5c770f6e79841a29c0f2dc4089a85db6865ec90faf2f4ddd25f210eb56e49741866bbca8cf811f135cf64b6403e103afae34da038613e2853bbfc36baafa3c6a95347193f37c -m = b2c35e33c72d90182791f0e12a0324f5b216efcab2c8da1bee025dfbe13f4152 -ct = f648b2208405035a7461454370b1fe623177a87eb4417f301955d7c4f77d357906097e195f31356a00b79525a7adb451a19b38b249ba61c8cdebd8f47da40c214dfc70a6e1a810a368e5c85c3606d01acfbca060aad658eaafffeb0852d155997706bb7f784f3319a68a3f13554c6dddc7d30c5f63a4e7a87515641638289c76967d2ee2f93196ef21c9ce40b2935f6359abc6d99251e4eab826601da95c70c3ce6ba170f70b7999dc49b4e677307ebba035f328b2acc2d21a228da9f4dca16b4c96041430555889fe4a73f6453953a717d1c2bc7c251a3ddb0d9509f198cbac577a9e33681865fc1b29a250c578e238c9e4668476169da20e5051ddf03bd67856ac1a513e7466bd44555533024fbde83ae3fb7275b7131391dd485571d5b140228791de1cc8b3eee88f387b8bc93085c8971e092c2b81e9062c3ed84a5166c654ed4e9403c4875086a96e436956aefcbc86c0e47117f7dfcce619f5291a9ff2f0dba7d874ef8f6f0d69811b2b4d8a99edd45e36aa7e298c9418caa7cc790ff8cd76245bf1b747833fd534875c7d74250708bcc05126732a549e19c9fa510c1c624dd0536000f1bc84e6a38cc4148588cffec293d9fecbd592adfd3f1724a394226261a985166ee25618d31893fe1ab7d75b778bd617c63a708e2db72b9b523dea595fb4ac26dd8e2c8dbbfc8d6a6deff030c0df2c5e4222d4020af75b867ba61ec4246b30b4f6e21347fa72319108c9b7b45f72abb094998fcdefbf28ced5e2d4c1469bd65e6c95657d67ddea976cd313b601bcdc2587bf3a623ff509f58ed7cb212b4a9c5e2b94358c5f53578f1cae4532f1bcf0e53352f0c027fe25c0bb9c7f0c6dee7e5797f69cc2301e1c4f0b9812550d4904c40689ef4f391021925290a5fb48665fe4556cbe96f38ebdaa00b2c3424b3f777498f821186075a6a8272f943e831a5846f7efba7652610b002f0966a21a23131e9530f4e8af693d86f8bdc79a103501c609fdd5f5c60f4505b14a14e4f5ffe0be8296eecf6c465f43706262272d1c7abda495833c58497ca2c75f9d7d342ee3a2dd7c6532f1b6e765de5b -ss = bbc34eb1e6888d28a44ea5eaf8a85490e8a1e79df5ccadc0836d86a0dc86b867 +sk = 8977c913909b2f2050958b52666c3f7d16094a4613e8b1909e1838a3763991805d58aa1ace8209ce5cb8849a98a1616b36778f1e138abb5b2fcaa5ad2cf5372181477f7a4a7ba4769cc0758d911b28e447f76947cb5bceb39359bda2050a91186b37469295040bb6753d043561b84dc345607ce94a8f0693c91096a4c9c69155076490901f85b321b175f808c76c9698eb9036b4645081051a6674b4fe6b90e3e0753e032e6e72b3dcb07671d300e7dc5fab7275719410c685b4bcb885adb74da7db8588e54c280b82cd41a7f85cafc877c6dd212d9a889d8da091ef4974e7e0ab1112a3ce0446d8715cd309020184660d8a7358d137c825cb78a2c202c29e2dbb10271275c5225fd8a57e34b54e7700108e83436e712944848a6a0a7098f1864a42068ce81126895087a96c4d0305ec475825f44418265c5a6769f5d86d463bcfe0f324492716a862859dfccc8781b2e1ca516866847ee3af99c94e41eb9ca9303d6c6717b53444f3f1a48cc66b43883c23848b9cf7902a4722c7c9ba72dba2a1d15b6a762a9cd2182ac927e63663243571afb78c2b00095bfcc889c0b563c249fb1481cc7a4301a6ac7ea8ca194a19c8859505b267dc982e4f339802b997e183115798bc9b104c18c04c6c7727106028b20112d7b0c35e43246f573a0af1793848ba4b412bc5800e5aacb1a197b29ac4afe55567a990176002be852360be346019c310ff8c5adea09fef258ef560accba00b15321e48d6cfd3f5ce6faa85b2d6af453668504989cbcc4fb60b36cedb2eedf36e400491044c3b89440d7c2a1e3352c0e9d616fd4c58898b57d10a459d609de4e58249f172f8549a4553aabf6671a0342888e954270a78c132556f333c07245a54500c5a5b7918d0411447b971901b17ba57415a3db56c597bb4b7e55752d0bcc6356c1566c01fd79c64afe59b8c925baca6adfca4a2616a9f505313c3e01e13700736d8541f406248739fa6868bcdb3954e226287c0c4e7285ef7e040322944c79cc95106052e9289e9a14a087069352a6a0738699a37cf2adc46f13359d7152d0d98217fb3574e787a0d9003d9f893e986491d219b6070ae339c3114e1a64d6c61353411ba2008ea358749866018c802d3dcb05b0c5329a691f57303c0d724fb2a1121d264374aab2eb209412941f7e39eaedabadba71494863f79e34eda632c1da77ebca6283311310f4918c69c6c5036a47aecb3b2433e8991b8d0bab01626034be96f31a41d98c1a2d3354f47e87b9053033b82a6a8f6b167e827cb1c11ebf4758af8c70fa98dc1f35b353c54b5552a0f37257367bc43e263e8a23284b0982ce8a6951a4ae5924d74e3481a4bc141f0a85e90c06e97ae64183c0f469dbdcb081de093ddfbaf9d4318a24615f8a38d1477132aa5c322934d5e92c89acb29aa85292c7971e61c89ab484e69976a57c2181ed5450260c05fd957163c0269e9a3aae27114a5395e398cbc198f65b46bc2108150b40493532d63a35f1882583fd16d5de1bf0a7a9c82d9717bac5e31a15baec1afcd94a352c01dcd73ad51852d618490ee5993dc617e0526556304095657274a738bd4620e80280c828c17d31892fd174a4fd8302d705cf738126c352899026d8795c9afec77f39c87f1567120e70d9211b73daa813497397c0abdbeb7124f942df311067a0ac03fd3c3e8641f202765026b7fc5511754481bc8f227e362cbbce579037c4ccac5564c015318e598cfcb538f1558a1b55e4bb61c372caf23c2a1eba52e7acc5a05f129a469bed6688788c2c68c72b75ca413b7496f3c2505eed19bb2962d82436c16c29db904b76ce5626da57bebd05bfe838725052d1103202e563de581151bba7d46e1cfafd50389a730c9a3c56d88030bd397a9d54af0e763249cad1cb0427580853b3572e705bee6f1bb1f4232f6ec2aec3059d777209dfb32710b9fbef71203f5a1eb11507ecb98e5e4cd384124531490e48a0bcd39be19e21c424c726dbc1900ebbc1bf155256a03a89b3d0537b4e00988447ca3c02a65aaa2ad5be40825d207fa683b9d915a6a5a1e8fe20b0cba4ea14378fb759e1a064ad93b6e5ad712be3551c9d4a4b0819eb7420a4a54cb912888262c7035b34b2df43dd508979c555f0f0aaef43c83a65bc8c298534feb95fa4949003197c8f9c878a367c021db7e9273fe2e03a2716683dab6caed5c770f6e79841a29c0f2dc4089a85db6865ec90faf2f4ddd25f210eb56e49741866bbca8cf81f25f42aaa0d647322bd837cb730af6082d2fa2d17bd63b162b36839fcc2df0c5 +m = 525f15e526198acd1d2b0ba0886071e482866312cdfdef01c20eb2935c28ec84 +ct = 5da884c9bc6b80cf6c7fed5c8b92127996d7aaa39eaeca97ba2987bb9b8ae4d5bad7be9487467434f5dda8412029df6a7195557d7b718dca97642ee056f7462b01164376a2cb71ab6e62fb948c8aad1b9cfe0355161e0817ab93f6f68bd0ce3b7a5fe50fb66f5434560c9ed0c8cd010c76361b3f14c4818d0c229640ed893112ebfe941c1ccbcaa9bb63befa01dbfb986f123c93d5441e9d84daf545f13b7a24a5a033627f8c930860979694ac2247b80c91a4dace2ace7c4e9487e1c7dbe4ef84a80387b665606e87f925017dc59ca326da7d4129d4460ccdfbc376375e7f3cea865ec9a36598d0c9941ef3dde8376287a4bde5850fff8810c911cbd2d81b58db119413fe386a90af9ff10542c87d2988338ee95e862cafdbb802324af2750bfd362093eadefedc1841579e40c6f92536f1d1d70cb3794c52567692126f8934239677d0ca06ba167afdb29e306849c699e7a631caf69a84143592f78147242e7517b3bf4b514999867d70f05007ae5c4c4a26f333837d9b8e23459fc9e2bbd9a39debb4fe64e7ad88e53c31dc7f78689b5a3424d95999cf74dcb149aabcf90d6d642b2c68d0dd756c7d61cbc765328811a587c3ede430b3ea07dc8d759b1d9c9fc6dca5b13d0ebe284e765b0c5c1490630bd767446b7406ffb6e9146ceb0bb4743591082098211a3012f9faf0fd0c16689b16f79b898d40203aba6ec6a8885d7613c8cc33bdaec633f19f4a71f67c7db860b4387f62424b13a3169a66d037efb017c33d720ca068acfa3e4cb147b555f5c2eb378f839eef6fab9d88f081a49822e87b649b2d82bc60cd531b4735bef7f3cbd929d3fb81ed2f9a5e4fb6efd7a93b9391e1fe90eced514d01265f172f6dad151e1afaa60ed963bc9312312b814489305e324990fe5ca42b26147b76a7445b49da6d8ff918524bec66b4dec038762b28b211f9a0095944cd27dd4ccc1b456c622e27e8bfdb0eaba5db4263e9f0e53afa0c5984cd55ad5c89ed04119181a783f9a4c5adb3c87521177b87c69443e84dfc0eace3e8ae4793c30b6b1f6e252fbd86f02c682078fea8b1b27934f18f7a +ss = 3aa99c438d3b326032d1ed4b322ae56863d690b7966eb2277e1cecb6b42f0b6a d = 952b49c803d6d6fba69f4375adce8594847a00bcae2179da49af2aed04232502 -z = 62d7033947ae42ca53522a65fbafe18d3bc3e0cb66164e9a094fe4b44d8977ed +z = 23da505ea48a79eb504eeaddf7d19d736f39a46c837f2a0c2bf3fb876ed8e6bf pk = 87b3281828644ffa865c43bf25ca3ee561118497bb2c1a04c50b89ecb6b8f173ac78c0380153b55d551492a95f8013b28d38710ee7b0b3f75cb0307e22f1986b65c9a890bdc7846e71b926eefc4814b255a428cb4de94313da24a17973e5d679ab44057e664217a54f6b16219be642fcd16b35952f0d2a37f37692b34c3639e9400a15c245986134aaa3e0219b98383cfa7223acc31b5a05060bc1523d32c01239c9df8338d8fb2f998634bf71187b3c458d155b01dcbc20a7558d6196b7e0b0fff5c856077853206dde97268da274fadb80ac727555e156ef640c2582c4358aa8cb78a55275393de19792ca0f6f030e2495cf1d169e3b327a2cc17fb87bac4fb92f603c93658c2135322b58a4bbdcc95e56f66104807637d4232fa3868af473355860f9850ea5b61391a8c20537ad23367097b1911efa5f74767ce9b1516936a11327623d371e8d64a753785d09f09157697a48902d4121673e2b904aa94d845a5f17e90bbb60b81fd591f46c576d14383b077a2f78ca58f87f2228b09035cf56693364878e91822857f40fe1f2c818700d26b882e58a3efde1793ac428d9fa8a94f62ba9fb16ab867a146cc1c7c0a0d45a32dd074a4ba52232644049cab06126acccd996c255a0c0a5464ab65706d78aa60363f0097380d17a6f6369a5dc55616950918b245be7a1a3656ff4075acd957e1df062218bc84887b74da635d9011bc02824603007e9cc594387771ab84f7bd065c741185fac84096aaddebca179355dc365516efa4873e70159e28c714a4e1149befb0a18ad6098d5115419dc4779400f8259c7cadabd41a7a270e5c91a616e5cd0b05976979967baf943b592917befaca4d6827a4a545fdf584b8a48b6fdacb1de775bd259b083693947a31d91bb775e17c86cf78dee79b969f487e9ec5e19a34630f991a3d235b870896a558a5fb2ccd7d13885969d2037bee23b3db1025be64b3a5feb95da076019b65685186a445bb2387aad029b9df7f1bc5081a7423c267978c295f2653c785293d65406004806db9f98a8a7d12ba7b87b8032e0cbe218413da907641593ee627831283f449f94385651c3b4c0503726cafa118167110e848fbed995526b458d362061a1 -sk = 57343b70b6260fe3406818ada3e422af7036f631c500409e82ca670f894607bb0b067ab280a99e0c7047572ca703da89429559ccb397ec7a6e779abb69cc0edd022b012a30a978b52bc28a1ed118907607d3f81e60a91167a066c061bf000bcebeac072c23738f13b84960c630b81da0d724dfc1c67c42115717bbd51bb974502c11840362c033e1d3c1b9887ed14231a7e54dd9830ece994dfa0117412270a830744358c4fe460a84e01992f92739d6a1a5a91af002371834394da3c8d83022519c292554687d02a35d7517fbc4cdd916845680995f48cd272755dbcc6128039ecbe00043e54a25f2b7a5a14cb48776d278c55ce79d8447b013f063c4b17aa5b8356601931163686c1c6764b0233fd80f0cb6919d19c5a14c41fc7ac0dfc2726cb54a4de38399041668bc88be0a721e86c5de0b3b8df862af7084c3176e0371a704a1738b8c7d0f163bd01c1cfa01181b3bc9d97ba2b8596187679986452fceaa99b2e26f0e2c6ac0cbca10db625fec82363ab746e12db473755b0bae5a71574745c1ac1648fab92675735f5b855837f0c47bdcc23a3c6fdc5550b29a75740c34ee1a42a847756d892fbc2ca334d06d6e90216e2c0884b9444b07c788c08fcda49d95a4a1a13947b3fbce992b995eeb8ab5cb65ad4a67a9335e1b3a53a7431f827b0fb86218274833ec7c00852cb6a4c88e28a99fbdc635119672e7b62d32138fb815cbbd29a7d3005685f61fa8ba60890a3dbdf58eae85310c776216d43c90ca4d68a0c7a2c0033e694bd48c78c48870b3294f6d03b6a4610633211b03a28a6f89b86743273193a6a8521034215b7cc27e72f2197d9482f26750eb6a414a9aa6b05054b111a38ed901a4c479473484fdca8c5757121733c67d953047401e9fc7ab1e06a01cf509ca284e5dba7273644a8c1b3f1f2c52b791910cecaba06b391cd807e0752d0587565d20680374bff2e48711e76155480eea54826485c3a4c12da01a9ee3f95d27a2bf6187b625e72cb02191fc9357e724c769624148a71bd8b36b169ccf23d265796120da0328b6fc4a6551bc91ab809863be6b4a1acb039887b3281828644ffa865c43bf25ca3ee561118497bb2c1a04c50b89ecb6b8f173ac78c0380153b55d551492a95f8013b28d38710ee7b0b3f75cb0307e22f1986b65c9a890bdc7846e71b926eefc4814b255a428cb4de94313da24a17973e5d679ab44057e664217a54f6b16219be642fcd16b35952f0d2a37f37692b34c3639e9400a15c245986134aaa3e0219b98383cfa7223acc31b5a05060bc1523d32c01239c9df8338d8fb2f998634bf71187b3c458d155b01dcbc20a7558d6196b7e0b0fff5c856077853206dde97268da274fadb80ac727555e156ef640c2582c4358aa8cb78a55275393de19792ca0f6f030e2495cf1d169e3b327a2cc17fb87bac4fb92f603c93658c2135322b58a4bbdcc95e56f66104807637d4232fa3868af473355860f9850ea5b61391a8c20537ad23367097b1911efa5f74767ce9b1516936a11327623d371e8d64a753785d09f09157697a48902d4121673e2b904aa94d845a5f17e90bbb60b81fd591f46c576d14383b077a2f78ca58f87f2228b09035cf56693364878e91822857f40fe1f2c818700d26b882e58a3efde1793ac428d9fa8a94f62ba9fb16ab867a146cc1c7c0a0d45a32dd074a4ba52232644049cab06126acccd996c255a0c0a5464ab65706d78aa60363f0097380d17a6f6369a5dc55616950918b245be7a1a3656ff4075acd957e1df062218bc84887b74da635d9011bc02824603007e9cc594387771ab84f7bd065c741185fac84096aaddebca179355dc365516efa4873e70159e28c714a4e1149befb0a18ad6098d5115419dc4779400f8259c7cadabd41a7a270e5c91a616e5cd0b05976979967baf943b592917befaca4d6827a4a545fdf584b8a48b6fdacb1de775bd259b083693947a31d91bb775e17c86cf78dee79b969f487e9ec5e19a34630f991a3d235b870896a558a5fb2ccd7d13885969d2037bee23b3db1025be64b3a5feb95da076019b65685186a445bb2387aad029b9df7f1bc5081a7423c267978c295f2653c785293d65406004806db9f98a8a7d12ba7b87b8032e0cbe218413da907641593ee627831283f449f94385651c3b4c0503726cafa118167110e848fbed995526b458d362061a13fffc419d3d8a887ff789eb661b2af1ee5b32a302ca267b33eac2ea7e3340b9762d7033947ae42ca53522a65fbafe18d3bc3e0cb66164e9a094fe4b44d8977ed -m = afb7d6dc2b7eb6d84acc080c1be63c98afe7b07786b5801f716444a3e8e64800 -ct = 9b98392bbef4413f814bedc0269be2a891b4dea2e8a5a2febb2733d487f7231ded412cdcab4265467ba4b3485fb4184327341012069c49df4285202419a214bf1ce8e16c15c9e883f7ccc53c2be4e32c801e7db2f9f6e1b8493afcc9280e9179c1c5fbfec3c948c6a8b5ebb1ea84f634d50be574028dd003f21e14e3d2e8635a953988314f3c66b387ed7fde62c2fd7a9346a4c883913453a476e58ac812b14ae045522b8d0924a090b21a8fe7e1108ef88f4c9f9308b11e251252acfb3324d3a8f2246d7f7fd8c231128d0618c8da09da986e2358c013105e6951dd6fa6f489d63f0874283cef7ec5705747d9ad378a3a89384acc70a6440008603da0ac4da5065792769ac7f1a127d7a564201697fd9f08d7d14bd5b5f4d99a1dc544ad7bc74e26ed1555cdaf887c0b2889f879a93bb796f153568bc4c1c925799f1a359e3ef3d86b24f3d1c6f0e81784eb4bc796f713f884a430b8462594e0a447b921e70b40720c4e375111ba61a7017c13101e9d14a2e1c86d61feed243956331134c77872b3f5402c0fa0031ac820996d6300f07a3426681b3e31ecc047d97625a9e3583d384fa006fd4341bb4e3e6ce00d38581f1b8c8f12b9c8c5cadeb210e734da5469f761853c0b235b83147bbcfa56dca23d8817a51dc5fa7ceee32d3581c2834326449d95294724a7c92d049e8a8d7226974a9d1325d835f6ff4c51b221034c63891d236b2a391a62271d4d34b4c416e245db25b31715e1e3852e407306b7a7424adfb326a18c01b7129fe63b4b3fd181dcc1dda171eb80fe6f5003ddda87488e058153dcc8c67d1061eb5ae418a8b6b00e17f13a088280940460121f56b406a0bd2ad53711cce7f4e67dfa3abd2ca05d506a320d9073f854ad55f1e1f7612ca34a01d11e74b77ddc1a7879862d956222c6a7549161ad881d5ff1a6c197197e6790eb24993f853b3f8d335bd5d817ce9d945abff477751a2d5352530885a5a9856018f4ae72a4d17363cd09d58ced0b87c4a50bca3b86d708a7f657d166ceed9626e72e47b9a967325b0533c58179269c62ea22fa80576c052ab0b58710bbc0ec -ss = abde3e45f9ce3c4e18f9e224d77f24cb1661b4aa4850f517b402bb4edc8e50e8 +sk = 57343b70b6260fe3406818ada3e422af7036f631c500409e82ca670f894607bb0b067ab280a99e0c7047572ca703da89429559ccb397ec7a6e779abb69cc0edd022b012a30a978b52bc28a1ed118907607d3f81e60a91167a066c061bf000bcebeac072c23738f13b84960c630b81da0d724dfc1c67c42115717bbd51bb974502c11840362c033e1d3c1b9887ed14231a7e54dd9830ece994dfa0117412270a830744358c4fe460a84e01992f92739d6a1a5a91af002371834394da3c8d83022519c292554687d02a35d7517fbc4cdd916845680995f48cd272755dbcc6128039ecbe00043e54a25f2b7a5a14cb48776d278c55ce79d8447b013f063c4b17aa5b8356601931163686c1c6764b0233fd80f0cb6919d19c5a14c41fc7ac0dfc2726cb54a4de38399041668bc88be0a721e86c5de0b3b8df862af7084c3176e0371a704a1738b8c7d0f163bd01c1cfa01181b3bc9d97ba2b8596187679986452fceaa99b2e26f0e2c6ac0cbca10db625fec82363ab746e12db473755b0bae5a71574745c1ac1648fab92675735f5b855837f0c47bdcc23a3c6fdc5550b29a75740c34ee1a42a847756d892fbc2ca334d06d6e90216e2c0884b9444b07c788c08fcda49d95a4a1a13947b3fbce992b995eeb8ab5cb65ad4a67a9335e1b3a53a7431f827b0fb86218274833ec7c00852cb6a4c88e28a99fbdc635119672e7b62d32138fb815cbbd29a7d3005685f61fa8ba60890a3dbdf58eae85310c776216d43c90ca4d68a0c7a2c0033e694bd48c78c48870b3294f6d03b6a4610633211b03a28a6f89b86743273193a6a8521034215b7cc27e72f2197d9482f26750eb6a414a9aa6b05054b111a38ed901a4c479473484fdca8c5757121733c67d953047401e9fc7ab1e06a01cf509ca284e5dba7273644a8c1b3f1f2c52b791910cecaba06b391cd807e0752d0587565d20680374bff2e48711e76155480eea54826485c3a4c12da01a9ee3f95d27a2bf6187b625e72cb02191fc9357e724c769624148a71bd8b36b169ccf23d265796120da0328b6fc4a6551bc91ab809863be6b4a1acb039887b3281828644ffa865c43bf25ca3ee561118497bb2c1a04c50b89ecb6b8f173ac78c0380153b55d551492a95f8013b28d38710ee7b0b3f75cb0307e22f1986b65c9a890bdc7846e71b926eefc4814b255a428cb4de94313da24a17973e5d679ab44057e664217a54f6b16219be642fcd16b35952f0d2a37f37692b34c3639e9400a15c245986134aaa3e0219b98383cfa7223acc31b5a05060bc1523d32c01239c9df8338d8fb2f998634bf71187b3c458d155b01dcbc20a7558d6196b7e0b0fff5c856077853206dde97268da274fadb80ac727555e156ef640c2582c4358aa8cb78a55275393de19792ca0f6f030e2495cf1d169e3b327a2cc17fb87bac4fb92f603c93658c2135322b58a4bbdcc95e56f66104807637d4232fa3868af473355860f9850ea5b61391a8c20537ad23367097b1911efa5f74767ce9b1516936a11327623d371e8d64a753785d09f09157697a48902d4121673e2b904aa94d845a5f17e90bbb60b81fd591f46c576d14383b077a2f78ca58f87f2228b09035cf56693364878e91822857f40fe1f2c818700d26b882e58a3efde1793ac428d9fa8a94f62ba9fb16ab867a146cc1c7c0a0d45a32dd074a4ba52232644049cab06126acccd996c255a0c0a5464ab65706d78aa60363f0097380d17a6f6369a5dc55616950918b245be7a1a3656ff4075acd957e1df062218bc84887b74da635d9011bc02824603007e9cc594387771ab84f7bd065c741185fac84096aaddebca179355dc365516efa4873e70159e28c714a4e1149befb0a18ad6098d5115419dc4779400f8259c7cadabd41a7a270e5c91a616e5cd0b05976979967baf943b592917befaca4d6827a4a545fdf584b8a48b6fdacb1de775bd259b083693947a31d91bb775e17c86cf78dee79b969f487e9ec5e19a34630f991a3d235b870896a558a5fb2ccd7d13885969d2037bee23b3db1025be64b3a5feb95da076019b65685186a445bb2387aad029b9df7f1bc5081a7423c267978c295f2653c785293d65406004806db9f98a8a7d12ba7b87b8032e0cbe218413da907641593ee627831283f449f94385651c3b4c0503726cafa118167110e848fbed995526b458d362061a13fffc419d3d8a887ff789eb661b2af1ee5b32a302ca267b33eac2ea7e3340b9723da505ea48a79eb504eeaddf7d19d736f39a46c837f2a0c2bf3fb876ed8e6bf +m = 06430dd2cfea620f387e8cf12a48dc32e25b9eacb9468c42057b01a3cd76aa80 +ct = 485dacd04e8079c56ab2ee16c4291af2b3008812a6d2c319a4a0b2f78f732e8604d5a3bf64455d8342a6dc9e60f29b9b13b63bc68621d99ce178c60b5bbfbcf4e02bf421c16b1704cc710a512f17c898c40be6f56e783d6fe8a836eca5e6b8d5d4cb6a43ca9202b0200d573426403dd2a0af312e7408bfd01737b33bacca9d5798998b0ad49eee694d1212de1060084cadbb380c99d24772f3ace05a688f1126a535b7f1128dbed478be7b60939a0f8db7f8951532e6448ab44173b904c3eab778fa2bd2da29e08cd3c4dc8007407ab55f1816abb8757d9be011792068aad22b2d583ca73e87322e951dfe05df7348acbdaef0187f97acb5de4e636c0b8b33325f506a1363d7ff2c89e1b80d55d11c47e418cec9bf93c8b6eb8eadae0ad43158bae3309b4bdf078635c2fa466efcb3666ba38c592cbe73e37754eb340b8125019c95cd8d9223a7fdd1c3f84b2f8f6dbdeefa21291c38f7281d83ebe7731369fdc70a3bbd104da28259d771f3034ed5f9109cb4aa9ea7eb0aef7ec2e13b0ab76e5bd7eef80619109000ca736c5c4ee3ac998f3d05a937c44201f6800049e5106cbb537517b8712784c2c24b75e89306ab8266f432e6fa293237e29d5f91a2420c026cf49d67ee79e45abf76503c154ca9ea7888c7618ab0f9c32be6330eb243767f2a205c0189f02b47954e86c29814745c4cc96165ce398f161248cf7f2cb2a91881b30c6aa5444ad07701d34d0240f688713086848726e1ff4a90d2d7d08fc823a3fb6daeee414b9f4ba429bead39320ca189333121b82ed8f10be94f33df4323db988a3b13802d36a112c258b3feb97d78d727878319da9684976f82b683702e9e45061f07a4bae2785f00d3d71c535f8539810278e8460eba304ab8b6a9936fdc2f1ada689dd0d669d01b3b9b824354c45a129e345b3dae60c1163bca018c1a6ece0cd86ba7df09b3778549ab6584e89950db0ed8ac5654aa7da2c363b9c0b77d64af4d5e1b1a0ca18cb5090d02bcda785a61b275adf16e0e9998f40c10f12e676bad64e9d146fa58ed6653ed009cc4f3fee9a576a9ac02db1e67948c72c6 +ss = ab18dd38c312c9d0f03f602e33297b82c3470b60ad92da8c8e736af458da7205 d = 3c815e57e9233e975fa1630208aab206b71ae0db37a7a8789ac683d9f9b2d298 -z = 01c8e376fdb140ee343106c093af7cb149b316ba79446ceb4e5e0cedb9b164f9 +z = 5532c666d12d7f321aa87f8a1f475b161bf3812efa99269925f5f29b1e030b5d pk = ddec85c013cc70746f2b268d16f48db17616367981940214020b87d2dc9d17baaa25f4c8e10bb788f839738c4a2f14309c786d3d3ac4a56c6838b54e4de4837979c5fb715428542f5e49b6d5c762ceb26c2520863bf025421a29f854bb52b3a5decb8a5bb7ad23101a254b89fdd95afce255eac087651a588e8caa2d5512cad48c9041a7c6f06dffd86341e62935a6ae0d4907cb3a6e4e223cb754c15e2c88d4e13cede42a636724568a1f4507adc8d0bdafc91178d260c262224ec8a176ea573e69c057c491d1234e4f39a2f6c4283a40c70223539697890cc5cd935ab8fea89a0ac513cb12c83bf6be1de55788f8a434001b7233cd3fe859c3eb3ab0d15067422a5fe1acc2286f59b75111672a3ea24515f9157835ba868a6219d2a10e72703ed6b066c036d118bef4598d76d08010967305199e3f46cdfc41ae1565bace1c52bcc89628a84f8b74252566917d440718a48226b4bb2f29c0e7743fc2fc5a3252b93053c0bd1285abf907601b93c83399b104b8b2c06ecb1cacf37059016683d2d08376111f4ed13a3204701271abded98bbcf5141b12b9455687e66abff877aafd507d01395e7da932a2e386947b015e3896d2a38214443d169b565fe8cda1c305fa668ad7d57987ba95a4e8a8e047a6039159f9c94b6e896679c325d2298a2896b256f528ee7b114d0101adc255c893530bec9d1ad397c6776ef185487e6140f2749af802cc1ed60069585d316959b2bca22e224adac5b54d0655c0939f3e29c864d087fafab871a29ad82c5533b40f67d672a16581c3d05aaeab3cdb0636c938c575c611095504fd200b61293ae1ab3c8895b6eaa64d26617afc82c6821a5b1ae4830c526777f1b9d6bb271c48128098925d607d507c9c7382cd2267c4ed7c6e4320372dd88bd5a9a50737663998934b70017386784867c5b9b11aac66c1ac3bb1793cc02df88e54a41a3db8603af791af157665b88b0b9a075f5a805223754a2005c81ac211967a43d7bf625069d098058df21abab95ca1e57d2d6583cff926eab06aa139a3da3b9bca10c9de93ba6c6346e76a88a8e1288deb6832603b7fd32a677f68dabfa371062d8b8ce9dfe0d90bf06044ac3a840ceb626b16e134 -sk = c4f46b76f1730b277c1065622e85451922164498242b836e0b389d25919d8c818e67d64837634cb133bf64f9931ea5b79a16ce7a8826e29c817fa83860177b31198161ba4e2ba142c1e81d0d4347496cb943a2730c3784da86370e51c8000891016c2ff6063f0551aa2ac8b2a9d374ee51b7e24c9a67f47449b0469d75275ef04997334482f8baeaa2a627904a6d8429b266a4573aa0e9435f65cac4bac46ce162262b59cf4aeb79fe17b68544cdfe1b4ffb6b205c131e73091b77cc073e7c85a7559be923208fa6b90d6a3e4e69bc7f486027b2ae3af86896f060dd622777a6768e5406e8943ff1f9254a36bc1fc4178917c46b10c5dff69ea8db2488fc4769277d8b6a4082d8504fec5b4f291532112179282cc740a4db689bca79c1beda6e6ee861f3243c5cd23b18f59b5588c027f2392b143aca675c844975aee455fb8738c1b30543775804034cc01a9e3954967e552dd0b55c6cf86d71234830e453dc357b45c830a162b990f7472c203034341ff5dbb14d61131d35356172cebc60c2acc16496d1182953316bd6140a2aaf87ea6bd8002e61f346539ab1e965ccfb607df0296e258717ce85155fd17433c712cbbca74b9533cac87d30a4764142ccfa610b612acafbcab41b968746a5719014a9d7e840e0e1536daab3b12bc72695875827963a05ba0ce61aa4c0b5da3224ebc42660f87f80e55ea3d23219c5c28779c8b7e287771613f9f30075202225d1bf98a1213687bfbed25dfe61c8e2753ad428c7eccc8e294579af021763d1be13d93f9ef8cf4b700b75526eccccb24fd727ddaaada8a750cb7211ee8aa7ca5b05f06020c14c332fd02bf1c8881c2830f73316681933d84674ecd9033fcb4465ea2dc259522c4b6b14419c78fa2f4bf6114e9c4dc4dc5a6040a01911c18705c7d317252aaa1631d17e28f2cfdc7c986ee2a8d934819ffabcbb7ccaf37a0d42b22e71e609b2873f76ab42bf841ee8f51f3c2b440234a4c344581c28bf5afc9224721ea8a8cc095680bba4a561a8cf54982e882a806e541427b333991646cda51abc3342e0956d4164a96fc4a64303675862c0ddec85c013cc70746f2b268d16f48db17616367981940214020b87d2dc9d17baaa25f4c8e10bb788f839738c4a2f14309c786d3d3ac4a56c6838b54e4de4837979c5fb715428542f5e49b6d5c762ceb26c2520863bf025421a29f854bb52b3a5decb8a5bb7ad23101a254b89fdd95afce255eac087651a588e8caa2d5512cad48c9041a7c6f06dffd86341e62935a6ae0d4907cb3a6e4e223cb754c15e2c88d4e13cede42a636724568a1f4507adc8d0bdafc91178d260c262224ec8a176ea573e69c057c491d1234e4f39a2f6c4283a40c70223539697890cc5cd935ab8fea89a0ac513cb12c83bf6be1de55788f8a434001b7233cd3fe859c3eb3ab0d15067422a5fe1acc2286f59b75111672a3ea24515f9157835ba868a6219d2a10e72703ed6b066c036d118bef4598d76d08010967305199e3f46cdfc41ae1565bace1c52bcc89628a84f8b74252566917d440718a48226b4bb2f29c0e7743fc2fc5a3252b93053c0bd1285abf907601b93c83399b104b8b2c06ecb1cacf37059016683d2d08376111f4ed13a3204701271abded98bbcf5141b12b9455687e66abff877aafd507d01395e7da932a2e386947b015e3896d2a38214443d169b565fe8cda1c305fa668ad7d57987ba95a4e8a8e047a6039159f9c94b6e896679c325d2298a2896b256f528ee7b114d0101adc255c893530bec9d1ad397c6776ef185487e6140f2749af802cc1ed60069585d316959b2bca22e224adac5b54d0655c0939f3e29c864d087fafab871a29ad82c5533b40f67d672a16581c3d05aaeab3cdb0636c938c575c611095504fd200b61293ae1ab3c8895b6eaa64d26617afc82c6821a5b1ae4830c526777f1b9d6bb271c48128098925d607d507c9c7382cd2267c4ed7c6e4320372dd88bd5a9a50737663998934b70017386784867c5b9b11aac66c1ac3bb1793cc02df88e54a41a3db8603af791af157665b88b0b9a075f5a805223754a2005c81ac211967a43d7bf625069d098058df21abab95ca1e57d2d6583cff926eab06aa139a3da3b9bca10c9de93ba6c6346e76a88a8e1288deb6832603b7fd32a677f68dabfa371062d8b8ce9dfe0d90bf06044ac3a840ceb626b16e134f1de70b1072881eb659a5e890a92c9313c7378d2e960a060b9c918260d4c245801c8e376fdb140ee343106c093af7cb149b316ba79446ceb4e5e0cedb9b164f9 -m = 28f5e9dbda122b2cf8f3754fe9e0c73a84ad4b0c093522e0b62cf815d60bbc3c -ct = 314a8b90ccc53cecf27771ff9049146d4c6c91ab11af2674b44dee6a854c432be04dfbd63a01869f58a5e21d3f80b07de3515563f7145d44386f862981f9baa0175c1ad77a57946bd5c3f08a0a7481c3f77b27e3cb295ae7f041b690f1554c2ca3a95f29cd414bdf403183f6f4bc9be3306a003bfbaacabda29c446d818fdc90d9cf7facd418fff84d9da4bcb8ea2aad9df12133308194bcb901d27a8ba2107a7d08d415229155f2f38499598819b916e6f411b37e3b02f655e2d3a0644d2b65861b557cb0da2dc28cb162fcadc4967125026e6992b77478980db24138201ba5a729955ca9230dfcad605b104ecf350a2e0b6eafb5cf72726c3a332ad1eed6ec5254940dca715e10894b242579576b7ca34690920777786687a36868e2d0160723d8d5e17e21a5d48d8062bb4a0b58d595b51a9227f34a7be8cdac54fed23bd443593446c7b8c7749557c73ef99bf446bb99d4cfd74323fe5c89c5493b9b596f6853d233e90368d9c1563af425b863627c97e2797c1787aeada984a5a090284eff806a05fdfb35d0c226ec604e1a0b9a8f9519db5fe566f7dce7cb87a9bbfea6b8fa74242523a7c2463a038dd0320d29a01c17efb512d18f8481227f353f8eef127035bbe2780eb500d8521031b9ee3c21d7259ec98bf0089a12feef21a2049c300cc96849ad0fe8e0bb6ac4c0662e9fd2485f2d65dd16d2041af83108f92011c72c8cd8dc274d4b09415b4a9cfffc2a3eec80600ae7e5284abe09a9d5bbc5a094c58366e1da560b58728bca399e819fe3c0ccac1d2b37589ef386346e41122b7b8d0ee5a4d073d864b005c324b3532509d9eedbceac1dd9116d07241cd4f054872428ab5dd5ffb1f96a6307dd39cec099508249c62e1aeacf74a8e9240201cecf6cd0c25c0217941777129a7af42d964251d2bc6f5fa46f4be880caca43226eb3274c125e8709b0253cd7dbd3ece14d11efc9d5611a1e99bd00b5c8f42161e2708fce6d703e9fc79955496f55818c8ad3cc279ddbaed7cfc9c016842abaf5883195a67d5e271b8a7cff63bab373304ccd9deb6f9c7253545da2ba03872f0029 -ss = dab67f76598e58e51bed06884ac65105a9051a2e4dd876671b0ce67fe49ddecb +sk = c4f46b76f1730b277c1065622e85451922164498242b836e0b389d25919d8c818e67d64837634cb133bf64f9931ea5b79a16ce7a8826e29c817fa83860177b31198161ba4e2ba142c1e81d0d4347496cb943a2730c3784da86370e51c8000891016c2ff6063f0551aa2ac8b2a9d374ee51b7e24c9a67f47449b0469d75275ef04997334482f8baeaa2a627904a6d8429b266a4573aa0e9435f65cac4bac46ce162262b59cf4aeb79fe17b68544cdfe1b4ffb6b205c131e73091b77cc073e7c85a7559be923208fa6b90d6a3e4e69bc7f486027b2ae3af86896f060dd622777a6768e5406e8943ff1f9254a36bc1fc4178917c46b10c5dff69ea8db2488fc4769277d8b6a4082d8504fec5b4f291532112179282cc740a4db689bca79c1beda6e6ee861f3243c5cd23b18f59b5588c027f2392b143aca675c844975aee455fb8738c1b30543775804034cc01a9e3954967e552dd0b55c6cf86d71234830e453dc357b45c830a162b990f7472c203034341ff5dbb14d61131d35356172cebc60c2acc16496d1182953316bd6140a2aaf87ea6bd8002e61f346539ab1e965ccfb607df0296e258717ce85155fd17433c712cbbca74b9533cac87d30a4764142ccfa610b612acafbcab41b968746a5719014a9d7e840e0e1536daab3b12bc72695875827963a05ba0ce61aa4c0b5da3224ebc42660f87f80e55ea3d23219c5c28779c8b7e287771613f9f30075202225d1bf98a1213687bfbed25dfe61c8e2753ad428c7eccc8e294579af021763d1be13d93f9ef8cf4b700b75526eccccb24fd727ddaaada8a750cb7211ee8aa7ca5b05f06020c14c332fd02bf1c8881c2830f73316681933d84674ecd9033fcb4465ea2dc259522c4b6b14419c78fa2f4bf6114e9c4dc4dc5a6040a01911c18705c7d317252aaa1631d17e28f2cfdc7c986ee2a8d934819ffabcbb7ccaf37a0d42b22e71e609b2873f76ab42bf841ee8f51f3c2b440234a4c344581c28bf5afc9224721ea8a8cc095680bba4a561a8cf54982e882a806e541427b333991646cda51abc3342e0956d4164a96fc4a64303675862c0ddec85c013cc70746f2b268d16f48db17616367981940214020b87d2dc9d17baaa25f4c8e10bb788f839738c4a2f14309c786d3d3ac4a56c6838b54e4de4837979c5fb715428542f5e49b6d5c762ceb26c2520863bf025421a29f854bb52b3a5decb8a5bb7ad23101a254b89fdd95afce255eac087651a588e8caa2d5512cad48c9041a7c6f06dffd86341e62935a6ae0d4907cb3a6e4e223cb754c15e2c88d4e13cede42a636724568a1f4507adc8d0bdafc91178d260c262224ec8a176ea573e69c057c491d1234e4f39a2f6c4283a40c70223539697890cc5cd935ab8fea89a0ac513cb12c83bf6be1de55788f8a434001b7233cd3fe859c3eb3ab0d15067422a5fe1acc2286f59b75111672a3ea24515f9157835ba868a6219d2a10e72703ed6b066c036d118bef4598d76d08010967305199e3f46cdfc41ae1565bace1c52bcc89628a84f8b74252566917d440718a48226b4bb2f29c0e7743fc2fc5a3252b93053c0bd1285abf907601b93c83399b104b8b2c06ecb1cacf37059016683d2d08376111f4ed13a3204701271abded98bbcf5141b12b9455687e66abff877aafd507d01395e7da932a2e386947b015e3896d2a38214443d169b565fe8cda1c305fa668ad7d57987ba95a4e8a8e047a6039159f9c94b6e896679c325d2298a2896b256f528ee7b114d0101adc255c893530bec9d1ad397c6776ef185487e6140f2749af802cc1ed60069585d316959b2bca22e224adac5b54d0655c0939f3e29c864d087fafab871a29ad82c5533b40f67d672a16581c3d05aaeab3cdb0636c938c575c611095504fd200b61293ae1ab3c8895b6eaa64d26617afc82c6821a5b1ae4830c526777f1b9d6bb271c48128098925d607d507c9c7382cd2267c4ed7c6e4320372dd88bd5a9a50737663998934b70017386784867c5b9b11aac66c1ac3bb1793cc02df88e54a41a3db8603af791af157665b88b0b9a075f5a805223754a2005c81ac211967a43d7bf625069d098058df21abab95ca1e57d2d6583cff926eab06aa139a3da3b9bca10c9de93ba6c6346e76a88a8e1288deb6832603b7fd32a677f68dabfa371062d8b8ce9dfe0d90bf06044ac3a840ceb626b16e134f1de70b1072881eb659a5e890a92c9313c7378d2e960a060b9c918260d4c24585532c666d12d7f321aa87f8a1f475b161bf3812efa99269925f5f29b1e030b5d +m = 45443194c6681faeb9e4cd954543bdb55dc9fc5478555dbabaff127cfdd85438 +ct = 9c4efd2a85c8752aa047bc02ab9cec638fa71362564d00e754efb4bf71c55d4f6ef53cc5537ffcd2c9b96386e583b78320f03125b5ae3171737c2fa516b12c833d1f7449ffd83f7448850897197b33709a0f0bf02505ed4e9ff10db2b219151f3213b8d71f68f6680640ddee249b87dc4ae2525f5cc02f282d772ad27e9a6168b80f1098efbae3b3ccc91f42974a1a53421af018cfaf8c58d13a1c7bba190d7ec9389e4c12cc31f6ee67eb519de383526a72196c425257813e23b017916b5830732b2d3dd413a33c011043b4aabf5ff0623505e485e7a2d2d8657b64c9802a01ed21abf961be0971fa86e59908687f8f5a95cf490e57b289a21d5868c4c940f283ede9c02b340de529f0051c8e18828ea7d7a03136bf028fa0b6f4c0b25a88298ed55601a5910b5ee6b6885af829df4fa543453115198a832ed40997c7b86c715498a779397f9f690f86a5981d9f247fe83d370caa9f7850b76bb6e77d254b52d5fdfad50ea5db9f9b816f6856c2960f8598c51b001a12bb2684acf396798e2ee5897661bc48124e7a0fd5bff796f2d09f0678ff1e318ba04a3b8ac5f99b2f17f748326e24d635620843705b38667a5207ef3f6292720e24438f4f2288c63e4ba8efbaff96c9c7182c4d732a15021450b1d8d9a10e23abd9c71a8490bb0203fcc04a7002e62dc1b40a842f4b5d3ef2f6f9bfec1b2fb2f74defefb63032e73a97d0c87e3d78186e44aacda92a78080a58d77fd00641b9716528a2c244c95a7be8c6be198fbf1038aeaa29c49258ce4f54ac49de0d586e49b5f7e646581165167c419042c135d7551464f8be1db52ffa9f6009d1a33591f5e47b0e08cda310e694edae9efbbd4e51828b90914e2fab22e4b2caa9d28ec322886dab89210a5919be8f0183c5475d3999c50019425f74da85a8758315b3146a8f77ff2aa911c3749e22a3b06da839806064b23e632d22e744dd7af5550adf2f579101b8fd3335894549b65113a4f1e944533ee164ff5be81fee82c899cb00262c1a48ca6de302ea69782b18beeaad9e2a7e6757e7195f686a570666492123f240bd953cd3f3b46aa7 +ss = 197de0027543f90bc1ee7eb457c9aad5a61b57ac6fecc35765d7f3ef9d01d02e d = 588760826dcfbd36d9abe6ae44a669bb3ebba6a218eab69e30f18a3bd536576e -z = 0e860576285483bb5fd36e2f944d32c4317bebc1e441470c1372046a790d79d4 +z = 173dbcd4922b8fa921dc24240b2173c2e65a839357f8e4a93f51e7daed4c8c00 pk = f839cd5b3685e864c874197e1bf074d30c41bfe01fb82085c8f5c43a26343aaa9184a095beeb6e01753dc7da7482f2199dd798d17660c5ccbad047978bf0a62d3b9ddcd92487f9103f00adc8fc9ca566a9331790bf93a1599cb3daa229f5ba8d2e33a8c7451130e17c9d4c91ba2cb187495c9a9a9916700e4f8551a4f8793a6c7e85327012bb8c2f756fcc1a4bfec39181e8ba95447282755b7c5c8ab8b51fef740b0abb7ef3bbc8dc00599f711b47a4c858798a76494ed5f01796c43688339db7c40d06cc7d205b5a6aa3278f561cfda647f8961da7966efd47b433650ca5405770f5742b919c81356d0dd2a87b21bb9dda76d0b330891952c81c5d84761476063b452a6503f7565d406fb60b56cc14a9734a297283b2601536fcea5a67c42ead903d22b672d4828a93e2a321fac920771c1d038ab40075771a9f0ee97929c69143808578d114c5366fd0b7abda8a7ed521bded7bc6e231057988c362c5befee06895f89b2637c2866bcbba39b152651d5bd912344a9b68145e2ac69adb853d06f513e108105f65622ee25750595a4bf983aaf45921454e70a06ca392a78eec70fd5685b83a0532f4aecc8a09c2468fb2037f73fba689b82f590891bc087cca35772596410969569060a5d5ea0ae34b0be06ca8df188cc458cbff21615b1a4e0259925cb3012105aa50b494b35a45d4e9312038866dd4131fc4578674273e182d7a1a1bd049076d70aeee016a6c1c520d2bc404eb4fb28918f1990024d579175082ea9795f0616e584b2c7f93ab33944401c7bf7ee64040a3336ca5906e89cf406512539c8579f078d957a2f4b625f90561be79bb59244b0537a41fa0202072aa760a0e34e94fa751a49d68602d97c807b9992dd637c652563f7317084946703171db7262f71737518c52082966f96cc386e30bb6f89d02b93f8db8b9713580c7c62c06963a18681a1fa54a20d774e40c0abb98a6da5a148377a264d0cb705710f3f708955b16e8eb22754b26522519ba833fcc3000db88030546298b610451b50a247885e6321fbec37b2572a246e181dcf97b3003727141194337a108a2280d2dbc2ddc739f6b876472eb12ce233ccd402ddef61523fd6fee69a88f34a34c -sk = 22f7af6da8bfe284931c0a69afec56c4e4378c8b563ca29e2b88741ee94875429006f26630bcbf0bb9543ac427fcea1565243d876426500bad4b171d3e31b1f538c5d4602195570ee02ccd004608216c9b864c378ac308b4e0b514e423c96c2ba1b24f68843892b825b4105faa1342abb97488bbae4abb29a7caa75a1b065e652843a52be3f571a74b7b3095c1cc155cd5821c921c193fbc7858fa23ed502bfdf971f02501d3c37c2ee137dab0c63a2909de9c8720c17429d98675748c9ba93235ec2b608451c3bca7a055c913191fdc44b1469b54162c3b037289f1e039f8e3475e259b8e3c899bd28b0a093d7bd65f405cb957912fe015721e45858bf2be4d943303d0860e4496ef85519f393e99d54a15dc69f8459abc707f5bf09073e1ccd7f7821f455da0ccbe95c377ff449b95019f15698384238df4c27f6df48c1d89a0e9c7845cd6b365b13c2a7841275986a05b8d8b6cb3ffb66bc9322141d54cf3a255e3fa3b9a2c236c4201a270bec078c7229973fba093f745bc62c98c8e2c305c75667dd5a968d04ef4655ec0c04333e8b637209d0e9919993ac11424c1629c164b0589e5296266a06d51ba055ec1670fa22359e0a3115a58be094bd0e8bb7a6336bc7b1128359c0b4221347886588c099b16833e93bf8f6010d135020a8ca9489834d88b4127b12803faa030a72c49a7623ea66cb889535880a2d0756eb59936b725347dec4ba9140c33654b05f6b711850ec8154225607b974b55cdc64c41da02e537646f2591078c563e0b0b58fabe99a9696e1424d161aaa1f72fe8e116b1242224ca210dcc248f43ca754014300aa2bb89b36b0977babc2a52d97c615727903072242aa1c3376701892e58e418ea2a3036601e37a42ddc375a2b41745dc9bad55a5443109e7fe23d75f2aeb48ca4dfd335af158f5d7345687ac021f037a8ba19170a41c447bc2e733b5cc10a23ec678ca32c172412873b0e7fc7aad9f53e41fb5aa7928aa8247f157a6e5df313b8aabcfc58c2c8978cc6539498f5aa204189aa996a3fa52274a0170163b56331489734708a8b6c59a66edae8b575d975f839cd5b3685e864c874197e1bf074d30c41bfe01fb82085c8f5c43a26343aaa9184a095beeb6e01753dc7da7482f2199dd798d17660c5ccbad047978bf0a62d3b9ddcd92487f9103f00adc8fc9ca566a9331790bf93a1599cb3daa229f5ba8d2e33a8c7451130e17c9d4c91ba2cb187495c9a9a9916700e4f8551a4f8793a6c7e85327012bb8c2f756fcc1a4bfec39181e8ba95447282755b7c5c8ab8b51fef740b0abb7ef3bbc8dc00599f711b47a4c858798a76494ed5f01796c43688339db7c40d06cc7d205b5a6aa3278f561cfda647f8961da7966efd47b433650ca5405770f5742b919c81356d0dd2a87b21bb9dda76d0b330891952c81c5d84761476063b452a6503f7565d406fb60b56cc14a9734a297283b2601536fcea5a67c42ead903d22b672d4828a93e2a321fac920771c1d038ab40075771a9f0ee97929c69143808578d114c5366fd0b7abda8a7ed521bded7bc6e231057988c362c5befee06895f89b2637c2866bcbba39b152651d5bd912344a9b68145e2ac69adb853d06f513e108105f65622ee25750595a4bf983aaf45921454e70a06ca392a78eec70fd5685b83a0532f4aecc8a09c2468fb2037f73fba689b82f590891bc087cca35772596410969569060a5d5ea0ae34b0be06ca8df188cc458cbff21615b1a4e0259925cb3012105aa50b494b35a45d4e9312038866dd4131fc4578674273e182d7a1a1bd049076d70aeee016a6c1c520d2bc404eb4fb28918f1990024d579175082ea9795f0616e584b2c7f93ab33944401c7bf7ee64040a3336ca5906e89cf406512539c8579f078d957a2f4b625f90561be79bb59244b0537a41fa0202072aa760a0e34e94fa751a49d68602d97c807b9992dd637c652563f7317084946703171db7262f71737518c52082966f96cc386e30bb6f89d02b93f8db8b9713580c7c62c06963a18681a1fa54a20d774e40c0abb98a6da5a148377a264d0cb705710f3f708955b16e8eb22754b26522519ba833fcc3000db88030546298b610451b50a247885e6321fbec37b2572a246e181dcf97b3003727141194337a108a2280d2dbc2ddc739f6b876472eb12ce233ccd402ddef61523fd6fee69a88f34a34cb0c77b5407577a9a9cd8864efb80974aae107fa2801b6ccaf341d5456a86621f0e860576285483bb5fd36e2f944d32c4317bebc1e441470c1372046a790d79d4 -m = b0d713cbef0bb1df70cbb425d1e9373e9f7790fdc7980cc96a240dfc53f1e8e2 -ct = d2f3d9ed15bb06f79d2e4cfdb71229f6dbd352f644ca292b88851e174ec372e8f70cd8b98663601d7054734d43746bf04e8029b7d9b3e9514f2548dc9a008030e5f76d1bad0ee57e2d0ce7350410911ef64af72b3fa436836722fb652f7a8ecc19d465872e1d52b6afe7eb249d70954423ccb19abd117c26ed539fe3658cc0e3f384f0ba34665dc11b9a92e53542023a97b92cb7f6f876fb0613684e10046ece963a0f79bbae9da673f00eef151a262e48973cb49988926ee2feadee3f1783ac9406396006ce29ab52a4e3572a077380bc38e6314a9b0e40db20abd27befec5ac941fd5b9c339528940e6bacd420057d0795b61e941c55b74da11ad948911070b047dfdd7e9b3d9d38cfe1ac3191486d7d2d1c9b762f7ce28154c865128805ac05f742a9ddba3dc7e404c3fb64fe57d59d8b05c5a67d4aa947ce98f296abc1cf7a72b63df5828fde5d674fb4a93eff217b0398b7a60adb981533afbcddbbb8c36c097c2789b579ef800a4120a3f2c1e04c2b23f70066e20be7db4ff05166dfddf4d918f7b90df9abca0a603169c4587fed8c8d6798cc2be5dc03f37eac7917aaed154a775db7a2feb58829e11c2686994a9c7effaf63cbab177802d23abafbc16e4f15ac2dda26edb58ad855ad4ad07a89da9fbb04b4c578efcc776a5b2b3eaa2d318158c4d4863e840c54c193684b1cb5e2b13a7534e8a69e0e465671b178ccdc8b96a39063211a97e27a534ca0f3627e1ef63bca58ee65780622e0158134b3b58d3e670b989661706b512ed6a119208af3bdc71be472c52752a1ce144bb3f8094909af526744a500ed6e6d3eb93aaacddd7f330bdedb31edb12bd8b6c1666e8c8b844af1ae5cbe3f6ffff5b6836c72b942be708739312efceba62406a96d2aff48087cd7f16df38a45bdae116f1ec9bfb242fb460b7e31fb132c622fbb3004a9f42d8a32ad5fda30b929a73183f1d5862316cbefc1f31c216a17501a48e6ddeb1857807787778500c4d96ab4fea58baf74f7e24c5e10573e97caf80473e10c06e571e8afab0b73fdb2759cda438a67efdc1858af712b670c4d00d2b3818c8d -ss = 23d0479e4b6cc2d32a1f73c2f1657be561482bb0e3f79ca988faff2ee74dd1b6 +sk = 22f7af6da8bfe284931c0a69afec56c4e4378c8b563ca29e2b88741ee94875429006f26630bcbf0bb9543ac427fcea1565243d876426500bad4b171d3e31b1f538c5d4602195570ee02ccd004608216c9b864c378ac308b4e0b514e423c96c2ba1b24f68843892b825b4105faa1342abb97488bbae4abb29a7caa75a1b065e652843a52be3f571a74b7b3095c1cc155cd5821c921c193fbc7858fa23ed502bfdf971f02501d3c37c2ee137dab0c63a2909de9c8720c17429d98675748c9ba93235ec2b608451c3bca7a055c913191fdc44b1469b54162c3b037289f1e039f8e3475e259b8e3c899bd28b0a093d7bd65f405cb957912fe015721e45858bf2be4d943303d0860e4496ef85519f393e99d54a15dc69f8459abc707f5bf09073e1ccd7f7821f455da0ccbe95c377ff449b95019f15698384238df4c27f6df48c1d89a0e9c7845cd6b365b13c2a7841275986a05b8d8b6cb3ffb66bc9322141d54cf3a255e3fa3b9a2c236c4201a270bec078c7229973fba093f745bc62c98c8e2c305c75667dd5a968d04ef4655ec0c04333e8b637209d0e9919993ac11424c1629c164b0589e5296266a06d51ba055ec1670fa22359e0a3115a58be094bd0e8bb7a6336bc7b1128359c0b4221347886588c099b16833e93bf8f6010d135020a8ca9489834d88b4127b12803faa030a72c49a7623ea66cb889535880a2d0756eb59936b725347dec4ba9140c33654b05f6b711850ec8154225607b974b55cdc64c41da02e537646f2591078c563e0b0b58fabe99a9696e1424d161aaa1f72fe8e116b1242224ca210dcc248f43ca754014300aa2bb89b36b0977babc2a52d97c615727903072242aa1c3376701892e58e418ea2a3036601e37a42ddc375a2b41745dc9bad55a5443109e7fe23d75f2aeb48ca4dfd335af158f5d7345687ac021f037a8ba19170a41c447bc2e733b5cc10a23ec678ca32c172412873b0e7fc7aad9f53e41fb5aa7928aa8247f157a6e5df313b8aabcfc58c2c8978cc6539498f5aa204189aa996a3fa52274a0170163b56331489734708a8b6c59a66edae8b575d975f839cd5b3685e864c874197e1bf074d30c41bfe01fb82085c8f5c43a26343aaa9184a095beeb6e01753dc7da7482f2199dd798d17660c5ccbad047978bf0a62d3b9ddcd92487f9103f00adc8fc9ca566a9331790bf93a1599cb3daa229f5ba8d2e33a8c7451130e17c9d4c91ba2cb187495c9a9a9916700e4f8551a4f8793a6c7e85327012bb8c2f756fcc1a4bfec39181e8ba95447282755b7c5c8ab8b51fef740b0abb7ef3bbc8dc00599f711b47a4c858798a76494ed5f01796c43688339db7c40d06cc7d205b5a6aa3278f561cfda647f8961da7966efd47b433650ca5405770f5742b919c81356d0dd2a87b21bb9dda76d0b330891952c81c5d84761476063b452a6503f7565d406fb60b56cc14a9734a297283b2601536fcea5a67c42ead903d22b672d4828a93e2a321fac920771c1d038ab40075771a9f0ee97929c69143808578d114c5366fd0b7abda8a7ed521bded7bc6e231057988c362c5befee06895f89b2637c2866bcbba39b152651d5bd912344a9b68145e2ac69adb853d06f513e108105f65622ee25750595a4bf983aaf45921454e70a06ca392a78eec70fd5685b83a0532f4aecc8a09c2468fb2037f73fba689b82f590891bc087cca35772596410969569060a5d5ea0ae34b0be06ca8df188cc458cbff21615b1a4e0259925cb3012105aa50b494b35a45d4e9312038866dd4131fc4578674273e182d7a1a1bd049076d70aeee016a6c1c520d2bc404eb4fb28918f1990024d579175082ea9795f0616e584b2c7f93ab33944401c7bf7ee64040a3336ca5906e89cf406512539c8579f078d957a2f4b625f90561be79bb59244b0537a41fa0202072aa760a0e34e94fa751a49d68602d97c807b9992dd637c652563f7317084946703171db7262f71737518c52082966f96cc386e30bb6f89d02b93f8db8b9713580c7c62c06963a18681a1fa54a20d774e40c0abb98a6da5a148377a264d0cb705710f3f708955b16e8eb22754b26522519ba833fcc3000db88030546298b610451b50a247885e6321fbec37b2572a246e181dcf97b3003727141194337a108a2280d2dbc2ddc739f6b876472eb12ce233ccd402ddef61523fd6fee69a88f34a34cb0c77b5407577a9a9cd8864efb80974aae107fa2801b6ccaf341d5456a86621f173dbcd4922b8fa921dc24240b2173c2e65a839357f8e4a93f51e7daed4c8c00 +m = 52081a3d33dd573d4554eb48c3f83e7961c3909b6053ae3765369b2bae10cb8c +ct = 3092c5e424d2e88edb27e5917ed24f66a4051972da872552db810b9aa3eed37ed1d82f9f7ddd8139cda717b392c09d7972d2814c06d6f1146b922268970354249188b5301c0263d6b125c74d0ee0fe91ccfe0cd0fea68263898ca66f9e772daee5a23db02af20c2f5a29d21b52715680f204428a79a521b4a051fef8ae54589f59e49a56fd5b7b9bc330e1a9206a6771a000a7ac78efa9d381565bef6fcb2b98d6bfe52471154b46683b90f40bd340ec91b464c88af50515e9f214bcb91dbf19ef61500d5a1d0927cd1fc713dfe724c1678e937ab9c8aa3865c3817b36d65ce1383548d83563e3d94fe1f56773a9ea20c51f6e532eea62d61e9704911d3f9302aeabebd845ac7e7a6934f1768fb93c7b20f968b4551e5c07c6ef7b880eb07c1eb12973a78a00ba302ff2d980f481cdbcc0cc5f5c365f62724856e9c057ac7fb09396552daa79f5353f66372772302d068d8e2af1ed24f3f73c21ffb5e6fa579100c49244133f95017324eca9ea853dc90ed1325c707e2ec3aa7130768cce4c47c136e0142916b4c9762daf24be080a46a52f7283927a90636e6ca216577d7c2f098613ace4891f2584a2ffc5a86e825c7df09caacb7e6f51649a469031066decb41c401807c6bdc083dc640e364056cf73f183428e8f421b50228932b055b1f884b3edcfb7dd61a416a3dee24a495ca78ae09b091354cbc1a1ad60f7b8d7bbcc9c5389ed147e258e32c381522e20f4f0b3bebe9d6ac69593e30824950f2cfab357b1672bc703e27f2f5c73e6dae19516bc92eb42447cbf9420d8b02bdafdecaf4f9029c54c537c2ffab2c0c6b5d38b266036bbcc12899c733d6420ca38358095ed7a5d84a3fed1f27790f9e2368aec50b02448cfb58cff252a7aa228df4d4cdf62f27f8b3f6f207b512a3afec4aab2c9964478e7b09d21ed40cb2ae64370af680d4d28905506f96debc6ea1248ed284e48bd05b86c31f68d297a002efb221dcf1ec4f28212fcb0389f97ca23abbbef7fb310e6ba900196aba73deec881b46bce30d4c819e57dbad90a1f0435f41c5a0652f97bc12563df2959c0fdf73fbe3f10 +ss = e5e0cb64ccdb9092cc9d065b2b34571b32f1c7b84b25de04aae3da8f8b5edf26 d = 47550e9edacb6ddce3d9ab81f6b61080dd4f2693854acb05e0ccc7a4fb6390fb -z = f89d7d99d5c3e0d10d6ef9af054d842375f695abb28e3b8eb495100f04306e92 +z = 7e30dd3b9f9d66518a0525f030574c504ab3851b77857b70858c130ca20ece35 pk = 1ea1cd19983f91737c99e4b57c67b7def879fae835156a33ed67524d856560e0688f75c96b524fd60bbfb40c18533b11d3f6b24069c5303cbe3e6558f376b71da5161c6310ae651eb0c9a8dfaa2c265b85478c59a7b3519cf95176768d048018e8a24be09bc99f6a459f9cca9600aa8625bec4a76959d157371b2abf19130a6540f2f69821aa161da542861955ddfb729a95841845635bd208ab5a7b85527c01f811a98aafade122ebe57cbc89c5ab551c6645bb40b36026b0b10b40b7e645cb571b664faa9d06270a1902549c507b33a568da51a1a7322b53b95b92158dcad6b85e07adf6042f843a06318b7fdaca35867910b0db0e09d03ae54c22b580c33594b85361788dd12764729b54f92b74dca45a973872b00412da2d83eb12d8c51627c4be48955d8eb67b54eb1879479803b30479b59c578c175448525c514b9e685b3ce751b035836b229012709c679c1bb710b947a27ccf07261d639314c2b1d52a77de2c9c2230761ff5254714af940ab4af7ba85c627a1a633a994752df4125ada5c86a60709f37970d771e96f01eae2b322780c3b2ec01fe086be76710f51cb4690a58be890854b7b03dc04c6f632eb56caebc393bcc70410375457af17b27c5817a65b7a0064d8fe5a1a7aa4e3a6b56c8b45c59145190098dce89c891939ba0e63afa240ceb7936fb90c0673877d0635777f8c2a9a5b03d8b731e9a0fda08187b44037653bf44dba3f29074995ab3be5a59e3073e52938561fa9496b3ae0031ae0bb27a7dd67424c39f250b5f9c2512e507878438cc8b086030cc588d0c2dbcb1024167715b52130ce969785b4210da26b8a6a18606597829bb40fbbec83ccdf76913685c48817111bfc216699a9966b94590e80a0d45307c36499c006d37a83a46e12bb9fb0712961db7f33d49d633a98b7a36a3b2ad5402ca190da1766071473fb21529221559526a2e5bc5944009cf2d47075d0961721989f8800307c91e04883ceb97308ce6c03a7cc39cdcbe8723822561132b6705f54345ae1480b9fa11184c999aa8a1efd17944027e1969267973cc3456c54140b57019ba4f28a8b7ddd07164969a62466b80918873a4ea56cd80a8e559fb30f6cce44f1f8fe60a -sk = 8dbb979547a684b4cac2e4824a251b808a646bc8b49a92c6e4d83bc82a30e9649c42b4b955263725e505dfe8614cd8599689025d0a189e556fb073011908609d86cea8f77d0c687555a88e8f786e2aa65c9154685b038252d06da3eb9f2dc068a14a50d5d641993cc152641881dc27f026cd49540d7ae04e06d99d5d45a056864cef0bbaa0e92e84f4593f59c636f41b7fba346c70239fe511e9c2b39fbc2bec1a452094a9f7cb78c3e9c6d72b5dadc8208a41050925baf9824316b17475e47bb2e7663ecc88a5c60e5308c34ac6aa97c6b5754b434d7b6e1d500d080cb29bb66ccd707254d824a5d84ccf883328033048919747377b9e628e99c41a9756ac4fbb4f81b47b9da81278b99b13b5711b936b42189d8b88ccafba398760738599089f905f2f2c62dd406b1decbf29815cf506971dd32fd3f28870f81393c2ab701a7426b542662c2611043705da7e8090b84645516e37cd4ec48ff2e1c51d0ab393877fdd660fd433ab8f2401a9206ddee1055571258c613ffcc8991a006a30dcc6b56816d0266a0665cc7e0c8ddd48434808289be16d236c6c9f04c3115923d6e879baea0c33c717a4946342b0c31057b848269a5329b8c5218d5b12c7ed3746aef52af89574a87bc90f4864bedb85911a1b6bb5c744a623f96b621430535662ce03b8073d21906636c5d959661dfbb32b3548acb63469b1489abc6988b8732571725cfb71833b4dd959b15783c8e0121ae95100304338d900a741597008f67312414e75c545c1d6af2eaa70eaa65fc742185ec2a0662443ccac36c06426c3dc49a14537cae1b8cd3a647db059e681acd78006df966213a757bd27a4c79b79905556906789bc00177191c0ded1b63629a5e462cccdd772589a24a04ca6f4cbb47323adb755781bc09edc7bce6e10b5aa11067df3b7d7f21cba9692a5d5cdd26ab8274a1c6b8b1fb1c3724f2b42be94758b701a19726a171cb4e8505c8281575106336c90aac7a25bd785ba3b298840f76262d561038348b15a61c6d1b6eba4922b7362f1300f53414dc0bb77cea68d49e676c3302cdf50106da230d1c2319d38351ea1cd19983f91737c99e4b57c67b7def879fae835156a33ed67524d856560e0688f75c96b524fd60bbfb40c18533b11d3f6b24069c5303cbe3e6558f376b71da5161c6310ae651eb0c9a8dfaa2c265b85478c59a7b3519cf95176768d048018e8a24be09bc99f6a459f9cca9600aa8625bec4a76959d157371b2abf19130a6540f2f69821aa161da542861955ddfb729a95841845635bd208ab5a7b85527c01f811a98aafade122ebe57cbc89c5ab551c6645bb40b36026b0b10b40b7e645cb571b664faa9d06270a1902549c507b33a568da51a1a7322b53b95b92158dcad6b85e07adf6042f843a06318b7fdaca35867910b0db0e09d03ae54c22b580c33594b85361788dd12764729b54f92b74dca45a973872b00412da2d83eb12d8c51627c4be48955d8eb67b54eb1879479803b30479b59c578c175448525c514b9e685b3ce751b035836b229012709c679c1bb710b947a27ccf07261d639314c2b1d52a77de2c9c2230761ff5254714af940ab4af7ba85c627a1a633a994752df4125ada5c86a60709f37970d771e96f01eae2b322780c3b2ec01fe086be76710f51cb4690a58be890854b7b03dc04c6f632eb56caebc393bcc70410375457af17b27c5817a65b7a0064d8fe5a1a7aa4e3a6b56c8b45c59145190098dce89c891939ba0e63afa240ceb7936fb90c0673877d0635777f8c2a9a5b03d8b731e9a0fda08187b44037653bf44dba3f29074995ab3be5a59e3073e52938561fa9496b3ae0031ae0bb27a7dd67424c39f250b5f9c2512e507878438cc8b086030cc588d0c2dbcb1024167715b52130ce969785b4210da26b8a6a18606597829bb40fbbec83ccdf76913685c48817111bfc216699a9966b94590e80a0d45307c36499c006d37a83a46e12bb9fb0712961db7f33d49d633a98b7a36a3b2ad5402ca190da1766071473fb21529221559526a2e5bc5944009cf2d47075d0961721989f8800307c91e04883ceb97308ce6c03a7cc39cdcbe8723822561132b6705f54345ae1480b9fa11184c999aa8a1efd17944027e1969267973cc3456c54140b57019ba4f28a8b7ddd07164969a62466b80918873a4ea56cd80a8e559fb30f6cce44f1f8fe60a255d2e2fe01c87cf70bc30703644fc255f83fb47cc5cc5ae2c0e49d6198cae03f89d7d99d5c3e0d10d6ef9af054d842375f695abb28e3b8eb495100f04306e92 -m = 32bdcdb7059fe27f6409901980c080308951ffd90deffa8317b4d213a5f04495 -ct = c36fc0e3f8bea75bce55d0443ee9367df9b9d370b16f7de51b132acd269dc170f9c34b8ad90be0f7ccdd6eceafc8bca9649e67056fc35b14e3fd84f2fc692e1a815854c69846a8de8e8fa6b0fc6fa7b3e4749ded82fbd31aef6c08b5f2bdccd2bc5bec8a55047842f723a745fdd1a64a5bb2ed38d5f2878c675310d264752469b0490239136fe3848be0bde019bedcc52cb9764302ea8ade78624ead610c0d516f720765ebfa670313d7a9b3b5fed0e3ef7ff9f459689bc5a9a8c645d8c673cf432d74329e3105ae87e6bbcf0e2d16578d5dfa1f30eaaf806fa60c3fcb40c740254a3cdd69172779b83cc6c70e9ab7feebfd78b88ea27951b23728c6d621850995f6c9a44d27b6559fb6518827e0790c4b6f8d69d0e65ce64855c66370a5c084136919a74fa81725ead9255097ec1e731f0daacd3fc0d218014f10c71d9c76c1a0da5a5603d7513836f85ebb13fdbb5488efee8fc4acea479caccccbfc0371816f14d730f215da1c2ae500c24a918388672f1dc13046d8046b7f5eaeb55c2aa1160d79ff21694f172ac0d31a9ebe2d3114b9e1abd54fe5a7b7a692c89e6fd26e571484873aedad2be876818bf73c55586679460988b092f42fa1d791e3d2c79cd0526f398e88cb9cc860caed27ada5fe51c85d9a3e5a88d1bf72475f44cf39ea3bf101f3877d7c78d54672a30dbe53f59ae1becf36eff66fc53968a193268465426ca86a0e55692a7c0fcf8efdb85f8ee38c040d55a3281089433b28b5bf1557041f90fdf1b1f8e3fbcb0aace9ba3ca33b10519869c11491f4c85b27dc52ab1db5ce9cfeed6444d6d62f8724fcf3beab31b4f5d8c8399a0327ed170e3361a0759c736e37ca36001d0f342b85ccd19b6e9f887af73c37fd1c24ef93e52921c57918f1b2e2484d49fd7d37d4ae90896ca45cf4b4a4a61dfdf978512e1d4178dfbe24cdbe43ca693b2fe6a907363469921e1c7ae734ed53887ce6279d355734548244770ca12b227183ef554e8ef454b73a2241ba934e4f25db23555e65e9d92abe9c96f50d70b10e7fc139792a63185e405c44cf18dcc8660fde65541f66e4ad7b -ss = 13d8358c95077d991ccece97f8c4a33ac938a847eaed64e04fa8484f3d27ed4f +sk = 8dbb979547a684b4cac2e4824a251b808a646bc8b49a92c6e4d83bc82a30e9649c42b4b955263725e505dfe8614cd8599689025d0a189e556fb073011908609d86cea8f77d0c687555a88e8f786e2aa65c9154685b038252d06da3eb9f2dc068a14a50d5d641993cc152641881dc27f026cd49540d7ae04e06d99d5d45a056864cef0bbaa0e92e84f4593f59c636f41b7fba346c70239fe511e9c2b39fbc2bec1a452094a9f7cb78c3e9c6d72b5dadc8208a41050925baf9824316b17475e47bb2e7663ecc88a5c60e5308c34ac6aa97c6b5754b434d7b6e1d500d080cb29bb66ccd707254d824a5d84ccf883328033048919747377b9e628e99c41a9756ac4fbb4f81b47b9da81278b99b13b5711b936b42189d8b88ccafba398760738599089f905f2f2c62dd406b1decbf29815cf506971dd32fd3f28870f81393c2ab701a7426b542662c2611043705da7e8090b84645516e37cd4ec48ff2e1c51d0ab393877fdd660fd433ab8f2401a9206ddee1055571258c613ffcc8991a006a30dcc6b56816d0266a0665cc7e0c8ddd48434808289be16d236c6c9f04c3115923d6e879baea0c33c717a4946342b0c31057b848269a5329b8c5218d5b12c7ed3746aef52af89574a87bc90f4864bedb85911a1b6bb5c744a623f96b621430535662ce03b8073d21906636c5d959661dfbb32b3548acb63469b1489abc6988b8732571725cfb71833b4dd959b15783c8e0121ae95100304338d900a741597008f67312414e75c545c1d6af2eaa70eaa65fc742185ec2a0662443ccac36c06426c3dc49a14537cae1b8cd3a647db059e681acd78006df966213a757bd27a4c79b79905556906789bc00177191c0ded1b63629a5e462cccdd772589a24a04ca6f4cbb47323adb755781bc09edc7bce6e10b5aa11067df3b7d7f21cba9692a5d5cdd26ab8274a1c6b8b1fb1c3724f2b42be94758b701a19726a171cb4e8505c8281575106336c90aac7a25bd785ba3b298840f76262d561038348b15a61c6d1b6eba4922b7362f1300f53414dc0bb77cea68d49e676c3302cdf50106da230d1c2319d38351ea1cd19983f91737c99e4b57c67b7def879fae835156a33ed67524d856560e0688f75c96b524fd60bbfb40c18533b11d3f6b24069c5303cbe3e6558f376b71da5161c6310ae651eb0c9a8dfaa2c265b85478c59a7b3519cf95176768d048018e8a24be09bc99f6a459f9cca9600aa8625bec4a76959d157371b2abf19130a6540f2f69821aa161da542861955ddfb729a95841845635bd208ab5a7b85527c01f811a98aafade122ebe57cbc89c5ab551c6645bb40b36026b0b10b40b7e645cb571b664faa9d06270a1902549c507b33a568da51a1a7322b53b95b92158dcad6b85e07adf6042f843a06318b7fdaca35867910b0db0e09d03ae54c22b580c33594b85361788dd12764729b54f92b74dca45a973872b00412da2d83eb12d8c51627c4be48955d8eb67b54eb1879479803b30479b59c578c175448525c514b9e685b3ce751b035836b229012709c679c1bb710b947a27ccf07261d639314c2b1d52a77de2c9c2230761ff5254714af940ab4af7ba85c627a1a633a994752df4125ada5c86a60709f37970d771e96f01eae2b322780c3b2ec01fe086be76710f51cb4690a58be890854b7b03dc04c6f632eb56caebc393bcc70410375457af17b27c5817a65b7a0064d8fe5a1a7aa4e3a6b56c8b45c59145190098dce89c891939ba0e63afa240ceb7936fb90c0673877d0635777f8c2a9a5b03d8b731e9a0fda08187b44037653bf44dba3f29074995ab3be5a59e3073e52938561fa9496b3ae0031ae0bb27a7dd67424c39f250b5f9c2512e507878438cc8b086030cc588d0c2dbcb1024167715b52130ce969785b4210da26b8a6a18606597829bb40fbbec83ccdf76913685c48817111bfc216699a9966b94590e80a0d45307c36499c006d37a83a46e12bb9fb0712961db7f33d49d633a98b7a36a3b2ad5402ca190da1766071473fb21529221559526a2e5bc5944009cf2d47075d0961721989f8800307c91e04883ceb97308ce6c03a7cc39cdcbe8723822561132b6705f54345ae1480b9fa11184c999aa8a1efd17944027e1969267973cc3456c54140b57019ba4f28a8b7ddd07164969a62466b80918873a4ea56cd80a8e559fb30f6cce44f1f8fe60a255d2e2fe01c87cf70bc30703644fc255f83fb47cc5cc5ae2c0e49d6198cae037e30dd3b9f9d66518a0525f030574c504ab3851b77857b70858c130ca20ece35 +m = 6a56ea6b25105666b70c77c9027468b84e2b069070ef3380403066430733575a +ct = 9531da3baf8cd160161c71b49e0d6089c4848510f9d96664d4bcbdcccd232e239a0d8438ec8634bb24369cf95bd5adda9310b940759716fb825bce2e01dc0f0ed7f89c5c450ebb95522c783b214bef00ae795d89953b0f2f7838679c3a15cb0f2f7d82537e2ff8067423abf7dbb079bea227a82f007d43d238a9c79fbd4c9af03a92cd7b8f2c73f46d07d8d03a8b5fa7e901a19a3cce8df8418f0d75c53dabbb1332d58bbc55a1c06fce5e090dd018a82f65ae1550abad3e6f5390a7ac26a576c82f64cfecd70146d9feaa72a131a52f55b6306e3ec7b1025daebab93b15daba180a927c0a23531c53695902cfdce38714eb7398739882cc342a88a97f8bba05f0ebc38b89247ead91d5f4153bfe48061a6247c47681efa11872d19fc96f71ef7193f36312a251243ba8b8aea9c385ecf3f36e30f4d9993f0110c099f3c6f5155fb94de62e57fee7b4d6778d09c45807e3218e73c111c84c84ff2113cc0cdbfe945d7b52cbfbb5a13d112b4213f188160e2891211de4c5a8388cf03f972bd3e2c1b3a42726f20994df9427113c87a70473ae6adb17d659ace01324bec68a3cad63b6691413cd15fab9fbb297a29b7a5390ae89eded8bcf1baab95126e000ab572a9fcaf8f3f2c39fe106c4812ccf9a7cc687837ff94d3b226465c51613201d7ff76e0c9f0e92028629f8557e54fa1a999f3637efea580208d423268be3fb17877d952b10b3e7648f31edacbe85dd6c5c293316a774968c1e6a8960391de29e6ce8156f805e38e5c2c984cc185eda8f94317dea573c6ccafb4e24a1da0aeb2050d2afc7b32d3d044927d66688101752b2677c43cf93a833f7b884a00de4dc037c2fec539e7f38fe4cb8040b2315fc57727270ee4bb00676b8443f7809e2cfa78777fddae49e3f2730a305bbd182ad6c0a3a53d536c5de52375b7a76155e33c5f9d073ba344611186d029e0cd733b2135816d174f77cd38669555ca64fdf510d83d06d07634db570ed2605b25af5d5cd70f5773379b274883435fd77b0e3909708f2bbde811751846f7ee1a1f58354fa4c60f6ec07da00d779c375b376bc0d8408 +ss = cc67c604ba9d04d16aa6edffd8a829beb55fc0c414f937ae58e9877c07cf5e7a d = 610afb64be8cc1df288cfb016ee2f44c6c07113de7f6fee071fe0c3fe31c6215 -z = cd292e4c5f9e1a55e0489bceffb204d672a6215f4f3980a646d9f880817c52dd +z = 05913ffc8d7fb91c97dc1e0bea9dc9955fa28b3cc0b7415c192f81912d70516a pk = a1f21b5f97535710a214345eabd39b1fea121ca7c866981a22d06c547017d6e16aeb14a105ba22ff5b2304e10c948c0c4a376b9e5c2425920ff94953cc831ad45b3f81056b6f321d4c063f8323b0e23813a5a0873fd71d93f9af8059900c973327a048802a2585f29f9f81714a869047b0cc0f07ae4a9b5d398469c9832a7dfbb79fec3fb99c5f9910183a5651c2077f62817ff62c80c0f3ba5b89a19c8280f62b0162a87cbb2c39d98445fe49072103a63782c09e7bc3bebbb21901b081729b7db37379017453f090e5c672a1fa195c49601735c0cdf7338e0521ec0946ad2784eb1a5e138c21c8c04244d2c8e7e0a43c7551505aad3d85c9d640885ea8004fcba8e64c9da72c0ec19197732156278c3ad64282bf9590934a2806680f4e8aa14a8b030519ccf3896abc085566bc5757a467359018c79b57c149338ac2680c249b94fbadb134be1a911deb09add46ab710f930c4c24eb4298c0a05a1af583059b7724d7abb6702bb6680ce2fd3bfc73203d2a563f6d0b8ca54b0886998a449b70e256f22f7a3837263929b22e4a6c97d4141c0c79f33954e42da92633779bf996c7c2b7324379e6944c524d43320b426749cc971c6735ac769c2072ee88407998399308a1a81a3437326cc0bb6c3be3c3b1d0ac13a28a0e5f4bae613493556c8ec8ace279b9ec325295000157857b664b548fdf9bf3924b508570b1a003cdb5158b4e61a8cc0054ecc9b42491bdb9115b8492848f0b6b236b963571ba882279ca3b6dc2532a481cd24375d8f9a199d955824a48916502beedc12c138998a14cd75190b9dcb65c5b20af7fb254b97bc412bc338a6c0b1873802884475636af09a1f222ccba2363c0b873555360325e18b2be4c33edc29e6b874eb74bb12511ab0364245f058ac90561d144ad230ba7882c893d9a73c4a03f82c5accc04031507971649fd457aa4d36a99cc856a2153f4ecc7b4f1cb13eca217b01647db07c8726418251703cfb653bc72e3a32192e489d334c53b91136d5b9794c96a8d3519467571a83e0b754b655c85a818d51014a15b03564b665a80df21264c5ab8ec8902be351a73036f4b363137340efa7764c439f68d3c8e0723683aa8254a66284f447 -sk = 51688c6a414adb473f37a6bd2a73c9a6f6c96fc25e68e45aae8670d003b353c157a8d8b07436c59f1a12b0a63416f798ec80bf84258ae127895748a22e903becdc5fed6c922eb41aaaa0bb5fc2cb22384d81bb53dfc78ed4d4652073c40da785585102add4bda7e90dbe491c06131efb583d6ceb7f09c781e62337e202028e437cce0832b6d02edf5403f04571bac4cc6961729f638821048afd80bf2bb9925c3c1964925fb3b62f615c590f4abd78679b44823117074bf76b3a0d104ae073b7ac0c564c220e727a7e5a958e37ccca5397448dd55b5024a439982a431a6df39aa62146410b477f95473ee07c73662114d14bc7bdc6697e4040354bbdfb511a72434073301cf1b2c4ade05fc291aee99771a8e9863596628da860afcc1674671fb9a6307f562babab6016809a3b88960c0622b9d21b3c632df64bbd68b92dfda06e8f1a14dbb5ac30e6815cf8af301ab4ee508e0099256e290235f683ffa6470618519310a4ff4576444011f97aa9a5bab14ea90475828b9fba6dd4134ad3d684d52660522091b6971ff7d88b74746326e5990467a4ffc78fc8e177bd2871c35195a4790e4683b3ec81a20c39b5a784c8e00508793aa4333c009a907d0707a0fec5697a52725b563984c73a306388acdc57eccc650089b12cfa34a0335fb3039cd786233b5509bdd2787f63468691c8ae72363ef1723c614fd6bb1f229a691369acf0dc84ca205da8d8b9d852cd4f05a621bb5aefd2a26534a7459c76b2212a8883c772f661be393ece185bb0e34c5a9212ead05be4a417b383a11c081b46a67685aa722ccc9fd7d124ae686d1144c5fcb38d0c0896da5944f018886b671801239b13d8b3de035884f30bb91547d26b7a3a058aaac800f2f48715a3bee7bac856b11b455a54d9c84f30b63eb6dc3bd58aba6ce0b05724149f21ac79f6545a3b705d951a5dec9710e44078688449210ef0107949cb0ae720000203870a23849f95602c30c848064959c53a33a400af949c6b0042824299abdc48bce567287a749e0c11285c8ab4669ce6e53558e33c197ac2e96a3d97e5992db7c4c48c5ec42bc2a1f21b5f97535710a214345eabd39b1fea121ca7c866981a22d06c547017d6e16aeb14a105ba22ff5b2304e10c948c0c4a376b9e5c2425920ff94953cc831ad45b3f81056b6f321d4c063f8323b0e23813a5a0873fd71d93f9af8059900c973327a048802a2585f29f9f81714a869047b0cc0f07ae4a9b5d398469c9832a7dfbb79fec3fb99c5f9910183a5651c2077f62817ff62c80c0f3ba5b89a19c8280f62b0162a87cbb2c39d98445fe49072103a63782c09e7bc3bebbb21901b081729b7db37379017453f090e5c672a1fa195c49601735c0cdf7338e0521ec0946ad2784eb1a5e138c21c8c04244d2c8e7e0a43c7551505aad3d85c9d640885ea8004fcba8e64c9da72c0ec19197732156278c3ad64282bf9590934a2806680f4e8aa14a8b030519ccf3896abc085566bc5757a467359018c79b57c149338ac2680c249b94fbadb134be1a911deb09add46ab710f930c4c24eb4298c0a05a1af583059b7724d7abb6702bb6680ce2fd3bfc73203d2a563f6d0b8ca54b0886998a449b70e256f22f7a3837263929b22e4a6c97d4141c0c79f33954e42da92633779bf996c7c2b7324379e6944c524d43320b426749cc971c6735ac769c2072ee88407998399308a1a81a3437326cc0bb6c3be3c3b1d0ac13a28a0e5f4bae613493556c8ec8ace279b9ec325295000157857b664b548fdf9bf3924b508570b1a003cdb5158b4e61a8cc0054ecc9b42491bdb9115b8492848f0b6b236b963571ba882279ca3b6dc2532a481cd24375d8f9a199d955824a48916502beedc12c138998a14cd75190b9dcb65c5b20af7fb254b97bc412bc338a6c0b1873802884475636af09a1f222ccba2363c0b873555360325e18b2be4c33edc29e6b874eb74bb12511ab0364245f058ac90561d144ad230ba7882c893d9a73c4a03f82c5accc04031507971649fd457aa4d36a99cc856a2153f4ecc7b4f1cb13eca217b01647db07c8726418251703cfb653bc72e3a32192e489d334c53b91136d5b9794c96a8d3519467571a83e0b754b655c85a818d51014a15b03564b665a80df21264c5ab8ec8902be351a73036f4b363137340efa7764c439f68d3c8e0723683aa8254a66284f44763b304a19162abdc4234e6046109f99f955695580a8b782017e107e45575bd78cd292e4c5f9e1a55e0489bceffb204d672a6215f4f3980a646d9f880817c52dd -m = 4ed7c92d83bd03b2a25b567f17ae55542e2f6a4308ec0f3fe69f8ba5ae24331b -ct = 85e97a991db6b8a6612797268d0a2a115ffc4888226860431434a6255925e532a98f11fac7bdaba00ffaaf1b4b26f14e20deacc1b68807a5ed677d707e88c22d46f2a33e4734aad42603f0b21b15abac7ea6b0fdf8994bb285cf6aa3584d02e385a3c5f52c8e295d8a80cdf68cda5c4c44c994beed8731a88d6b84c5090f351badffd5388fdc1791725d3147c03c6a5816d55cd5cbc6f26d38745642a247c740a6d765b7a0147f46f6d6ed31a085179ea9be56093fab6270865525beef47533d7629287b1ac5f0516083342981196ef4c52eac95f4bde92f7d3914c662b463648b3c712020a2a3328f777edce5d9b9c090840034d501357b803809f0987c7b8dd5b63ffd0ef751ac3a51d9b051c12af752169d935f105555e594094fc61a0e200163a2a7e9d4d3482c8d3875106c1ae1be8df05fe3012247115468142e111646516160a11082c85f7ed3152a6a974fa7246b0a81ee27734d5e011d4cb69b1ea572fa2aa8ab7a22245cedb015663ae4636b1424a2a6af3f96f7cc168bbb06ebf64457f26f30e976d13378313a8c0545e336672f3494105c92118d056e4af2dd851904efac45b33a107bba3f8c1bfd897514f1d6a75b0e3423eb700cab242616d8ee6eab20abfb60f08a41a8db276d429fe5dadc3cf3ca557890bb014fb99f9e94048ba540148545c57cce95e5985e3c474b9b92f80f4a45ce4f35837a2889b376a0a1f19db2b4beea59b8fb2ebb50bc4ee73341e55d6350d7e25aa2826ca6984ebd6f657feca2d6a78f52c264a40159cdd4d2893fcc08f7e57bcffc761aece91220124292e4ebca5cc4c46dc033c8b2470de2d6362f135874a8d1883e130012a94d51c3cb26f8d044aec4d8a79e3a72a560680b61c116aaa6ed87c27ea7dbce3fe5640894f45a9fa1043b89f06078aa94b4d66c374ebfdf7af488e9bc7d8f42e91d2a8d974d61627016ae86b3681bf5dfa64be82164525ec454b56a8ca9424f6cf9e28d4b6e344f251a8eb61d10243b223b853837fccc4e340bbc69da4053cd55941efcea5c6d96cf34912aa30c88a4deba3933e15609570fd91efdd80a9f19f3 -ss = 9f2292ef064bff3c7c2d576eb668c3adfc7ffcba3635bb871493479250373bbc +sk = 51688c6a414adb473f37a6bd2a73c9a6f6c96fc25e68e45aae8670d003b353c157a8d8b07436c59f1a12b0a63416f798ec80bf84258ae127895748a22e903becdc5fed6c922eb41aaaa0bb5fc2cb22384d81bb53dfc78ed4d4652073c40da785585102add4bda7e90dbe491c06131efb583d6ceb7f09c781e62337e202028e437cce0832b6d02edf5403f04571bac4cc6961729f638821048afd80bf2bb9925c3c1964925fb3b62f615c590f4abd78679b44823117074bf76b3a0d104ae073b7ac0c564c220e727a7e5a958e37ccca5397448dd55b5024a439982a431a6df39aa62146410b477f95473ee07c73662114d14bc7bdc6697e4040354bbdfb511a72434073301cf1b2c4ade05fc291aee99771a8e9863596628da860afcc1674671fb9a6307f562babab6016809a3b88960c0622b9d21b3c632df64bbd68b92dfda06e8f1a14dbb5ac30e6815cf8af301ab4ee508e0099256e290235f683ffa6470618519310a4ff4576444011f97aa9a5bab14ea90475828b9fba6dd4134ad3d684d52660522091b6971ff7d88b74746326e5990467a4ffc78fc8e177bd2871c35195a4790e4683b3ec81a20c39b5a784c8e00508793aa4333c009a907d0707a0fec5697a52725b563984c73a306388acdc57eccc650089b12cfa34a0335fb3039cd786233b5509bdd2787f63468691c8ae72363ef1723c614fd6bb1f229a691369acf0dc84ca205da8d8b9d852cd4f05a621bb5aefd2a26534a7459c76b2212a8883c772f661be393ece185bb0e34c5a9212ead05be4a417b383a11c081b46a67685aa722ccc9fd7d124ae686d1144c5fcb38d0c0896da5944f018886b671801239b13d8b3de035884f30bb91547d26b7a3a058aaac800f2f48715a3bee7bac856b11b455a54d9c84f30b63eb6dc3bd58aba6ce0b05724149f21ac79f6545a3b705d951a5dec9710e44078688449210ef0107949cb0ae720000203870a23849f95602c30c848064959c53a33a400af949c6b0042824299abdc48bce567287a749e0c11285c8ab4669ce6e53558e33c197ac2e96a3d97e5992db7c4c48c5ec42bc2a1f21b5f97535710a214345eabd39b1fea121ca7c866981a22d06c547017d6e16aeb14a105ba22ff5b2304e10c948c0c4a376b9e5c2425920ff94953cc831ad45b3f81056b6f321d4c063f8323b0e23813a5a0873fd71d93f9af8059900c973327a048802a2585f29f9f81714a869047b0cc0f07ae4a9b5d398469c9832a7dfbb79fec3fb99c5f9910183a5651c2077f62817ff62c80c0f3ba5b89a19c8280f62b0162a87cbb2c39d98445fe49072103a63782c09e7bc3bebbb21901b081729b7db37379017453f090e5c672a1fa195c49601735c0cdf7338e0521ec0946ad2784eb1a5e138c21c8c04244d2c8e7e0a43c7551505aad3d85c9d640885ea8004fcba8e64c9da72c0ec19197732156278c3ad64282bf9590934a2806680f4e8aa14a8b030519ccf3896abc085566bc5757a467359018c79b57c149338ac2680c249b94fbadb134be1a911deb09add46ab710f930c4c24eb4298c0a05a1af583059b7724d7abb6702bb6680ce2fd3bfc73203d2a563f6d0b8ca54b0886998a449b70e256f22f7a3837263929b22e4a6c97d4141c0c79f33954e42da92633779bf996c7c2b7324379e6944c524d43320b426749cc971c6735ac769c2072ee88407998399308a1a81a3437326cc0bb6c3be3c3b1d0ac13a28a0e5f4bae613493556c8ec8ace279b9ec325295000157857b664b548fdf9bf3924b508570b1a003cdb5158b4e61a8cc0054ecc9b42491bdb9115b8492848f0b6b236b963571ba882279ca3b6dc2532a481cd24375d8f9a199d955824a48916502beedc12c138998a14cd75190b9dcb65c5b20af7fb254b97bc412bc338a6c0b1873802884475636af09a1f222ccba2363c0b873555360325e18b2be4c33edc29e6b874eb74bb12511ab0364245f058ac90561d144ad230ba7882c893d9a73c4a03f82c5accc04031507971649fd457aa4d36a99cc856a2153f4ecc7b4f1cb13eca217b01647db07c8726418251703cfb653bc72e3a32192e489d334c53b91136d5b9794c96a8d3519467571a83e0b754b655c85a818d51014a15b03564b665a80df21264c5ab8ec8902be351a73036f4b363137340efa7764c439f68d3c8e0723683aa8254a66284f44763b304a19162abdc4234e6046109f99f955695580a8b782017e107e45575bd7805913ffc8d7fb91c97dc1e0bea9dc9955fa28b3cc0b7415c192f81912d70516a +m = e75c36e2c2f58f47597a06ff4be1caca2984c889e08a9c9d4b2831d6a6ec17e1 +ct = a767f9004dac6594885e690cb143ab18d71e6091f151e35a427fab0db8c1198b6a51800824a0238eda4e7c11f1273775ecef8b8eb34c63ac41b953644544864e0c94d680220364eb0a846f7082ba11a67cbfc340a2b1b1db32f308af61818b152608741c6e9b8d9cb8cd8267be273a9530e43dde469a03c8b1afdd02c77a8d540f1770740e6af859312e700c8c0f9fb0f4e692abe30410a531dca560075f24f73cd9859ff88b17e3323fcbaa8e59753c5b20dfd684bf57069785029469fbeeb4d3d7633b159795a25650e53878ef47e58cceb1dcd067861b006051b899d3318e7ca483d8e22ea4bdb166f4313a81059d234a4dc635316cb3ace603ec4b355f26dc82e7722e7c4b4cde8aee50cfc5377118397c32f2f933db09577ccc547dfd73311f2e96f2621006adca8b027138232ca866dbbc730900a43b6d6ba394615077d37ed509ea7efa5ddf4d515e364fd17bcc89e4b1c2449f3aabcf7f37f6b21aa0678808ebd7d487c986cb9f8fc959220f2a913c2e706806aee7b5e39bc61f9dd54c81a8ead1641169101b8822086df849aebf1ca18b2536d5fcd158dee40f654f231df498942bcc2177f122b63f958aeed490fc7eae1d67cf48e5054728d78675002a1d16fa274a7ccc4d55c5ec1995aa14feddb3f7d23c7043ebc642f58286c68a5c5a770196894a0837cf1c5d4ba4f24edb22f872769c42392b1795432bf7f12c489079259fc23e71a1b05e22ec5b6f4f3476a29cec778c8dfc7ee7d4eca92a312ecf61f5185147c70abf3b395d53a96908420b8c25d2bd2a1a29ca1fa2520762eaa7451f41b96917476605f7b35daf4721180d6293ba0d2d5e52336daab8894062dbf5f07585270cd78e942383b8fd74f6690b1b87fc914f10baf4d00a6e9ae8441e9a473725c9c5beb0e68e5faff1acfcc11426913e2638ffb45aec32817d2a08b4390e01bf6e0871993555ae4d5cb50e71ed2ed9bdd25bdfb726a10e315114687e7b2b374795967f499073ab02960099d98808b533460821d09bc0f20c7b35767d79653929b65776c1f15bbbec18d05555941c20a80544ce513e132b0a33 +ss = c6ba82ba654a732ee9d6268cdebf2a81cfe1c5817e52616d5af49ea66052aae2 d = e1953800acaa85ac02a906c72cb8e8d704e8d27820345f88f71e89c1f549afcc -z = 8c64c049c6dfc0f1476cffd520b055756162f7ec94243de6b14ac0b9e5fb366c +z = 97c65a12d87432f475509f11e0884fb51b5d970c1b6d2c87c70590cf41c16b4f pk = 7ebcc6700b95f778cec6f514b10c58e323ab7f013904345308601ecf1707f8350b9f29cb39b261580c3dd2651f96e28f89ab9c1ad86cf77cb3db7aa8a05c007d0a1a93a0a83e85be418a7f141078581a5e60c25e4564691e11b5f16171564a1214d8be06c15f6281324997a98f6572adfb62612c6623d4c9cb24bcf0d896af9a16bfe000354a41f9720c53f1574f97c6e8a49886484830d5822751c6e4c94df54aba2ba767b2b3199148bf8a0a89c620866f1ba52c46687af31abc6a7b4fea9e5d6c70a5570f3d6a6113674c92173b6af4902f614f1d508b3b456c406522d986c31aacc3653098b0985ef1879b204261bba81752425d7cd549121983ffb30b17e181d2b8b4dc049f248b55a25b561aa54507141914e580684395e332225089bd29a934ce114f60936d9ab50f568362fcac1153620791d318dc735253085c8c164719b6c0b426c136a311d704d009f226fbd340ece426a25274da929bf5a206b1520bd114c754db2dab0b8a881c03aa569091f40ec3e38422c3b8d4b2c77373853e57068a591663446b17f676bbfb941abc0e1afcb01d939b426a551417acc95988d712600383063dfc5a6be917c3e4041ea5496ab68855b6caa6c92b463692ef2390ce797969715141397b40b86d5219b0a8c3858bacc615283169a57151849aa9bbb7e50bca52183cc6d93e163144d56a191e29c66eb75f86d6baa9e2320b43463b300000083c49a88b6338c374341cd83c1c15266fdb266e1e0933086c7358d82770aa652b7842b2b9b6f9165613d4a27298c0125a2609885d29715f9cb854cf6a0c308b36697cb1f5b530c7625694487252872c70ac1ada8b4959c681f64c46c5ccc2b3972b6188909a1955d99b65b0b80aec1770f60421cda11d7822621ab46fbba61cd0dc6df4082609105839d80ba850c0a8342be5a70d999386167ca06a485368276b4f7340cdc0a9b3010c3fc3726da1ad68043c1665b1aa4413231455078cc898d938d2c5663b1c200fc87a3b2c2b5c5b0c507c1b7f12ba711680951ac8ad9c7e430345f2f6ad3eb9317b044103a82bb03949eaf288b2377b66f629268f2ae99c43bbc1fa7d8949cd772a745bd9ab018fd3f6ed02f32cd2bf845923 -sk = ed777aabf42a95e30fed857cd4c4758c2076a40ba9534b56b2749527ccaba7530a422336913283fda435751b6d2158abd1e304bdf91160e389b8a3b94d610fed22268f685350590a44305cc57cc98c97a6a2345c5c29bbe6cb49d182cb499c83f19aa5876ca90ec3bed6592a35744cdc44770ec1094f6989add64378f739aaa85f4f4b98b9750d43a05820444e5536601f71a537ab58d738b7c643c623302d26d70b5b242e0749ca31b95a33581be9770665631aeeabc6e6bb450664aff4116e6e818d72683a442c7c14e21f95937c22d696706383d9e84910c4cfe4c57e487768cfa0066ee79dde868ae6e4a7de470c251c2cfed77a154b0bdd258ec7409a694645ef8326f7195ec8c07de2fb5964478422263a5440ae351917ddc7b7620438d31426ece458a5609e2d404aefa94c1de2275bc46fb9493ee8b54b323150fc5abb4221aa602c9ce36c34ff854da0e3595f2199cc2b1b2750a0a75637239a1266f9a7d50a6c86d68f1ec7886f90c351e7001021be347aa623e964eed3cbad45a6bf92a6f5c61bdef076aaeab527f38ef7304f7e2a158ebc5a06b23e16c356f9b69fc4e37920089a6496237bc86e1e86b24bd1956eb67678aa416249417f0c87a6fb9c88e96e39b7ace53543541c425655b2a5e405cdfc433ab68ca568115c535391dc80db3a3b62f3153637a0c4db1d6434a1c995c093a0ade3b1749a758a83c0c02ef7b117f77c74d2cdee2314d3cc458dd89ebaa56a0c295b57c19a315b3ae3e3ad7c029a9fb381e07ab2f4b07a81415913f21b6df48f8c77418e9a224450aa2731984200c0a7c75d517836a7d7463e3c04a3204ab331aa42d7cc56b52e49fb92101400ff1972a8f3bfebd5a1a6a3946a4152982a10d29c1d04cbcf1baa86140a7fa9915790dba7b311b2f3acc6fde8537193b6b950829ef8438f8c90127c44b780157682486e01928083b552f86f894ca6e638af02c1215c27b33136022a129d7ffc5fbe641680a89535774c2eaa259b158f42ca50ee75a7c9f62604bb5bacdabdd2b304ad837986da0f8c9980945cbb29e64ec0c264be853e02b1af4944187ebcc6700b95f778cec6f514b10c58e323ab7f013904345308601ecf1707f8350b9f29cb39b261580c3dd2651f96e28f89ab9c1ad86cf77cb3db7aa8a05c007d0a1a93a0a83e85be418a7f141078581a5e60c25e4564691e11b5f16171564a1214d8be06c15f6281324997a98f6572adfb62612c6623d4c9cb24bcf0d896af9a16bfe000354a41f9720c53f1574f97c6e8a49886484830d5822751c6e4c94df54aba2ba767b2b3199148bf8a0a89c620866f1ba52c46687af31abc6a7b4fea9e5d6c70a5570f3d6a6113674c92173b6af4902f614f1d508b3b456c406522d986c31aacc3653098b0985ef1879b204261bba81752425d7cd549121983ffb30b17e181d2b8b4dc049f248b55a25b561aa54507141914e580684395e332225089bd29a934ce114f60936d9ab50f568362fcac1153620791d318dc735253085c8c164719b6c0b426c136a311d704d009f226fbd340ece426a25274da929bf5a206b1520bd114c754db2dab0b8a881c03aa569091f40ec3e38422c3b8d4b2c77373853e57068a591663446b17f676bbfb941abc0e1afcb01d939b426a551417acc95988d712600383063dfc5a6be917c3e4041ea5496ab68855b6caa6c92b463692ef2390ce797969715141397b40b86d5219b0a8c3858bacc615283169a57151849aa9bbb7e50bca52183cc6d93e163144d56a191e29c66eb75f86d6baa9e2320b43463b300000083c49a88b6338c374341cd83c1c15266fdb266e1e0933086c7358d82770aa652b7842b2b9b6f9165613d4a27298c0125a2609885d29715f9cb854cf6a0c308b36697cb1f5b530c7625694487252872c70ac1ada8b4959c681f64c46c5ccc2b3972b6188909a1955d99b65b0b80aec1770f60421cda11d7822621ab46fbba61cd0dc6df4082609105839d80ba850c0a8342be5a70d999386167ca06a485368276b4f7340cdc0a9b3010c3fc3726da1ad68043c1665b1aa4413231455078cc898d938d2c5663b1c200fc87a3b2c2b5c5b0c507c1b7f12ba711680951ac8ad9c7e430345f2f6ad3eb9317b044103a82bb03949eaf288b2377b66f629268f2ae99c43bbc1fa7d8949cd772a745bd9ab018fd3f6ed02f32cd2bf8459233c598a48b06d7474da19ca85aff6b2b3303b5d25b96088c52a08cc7f1e87c5fd8c64c049c6dfc0f1476cffd520b055756162f7ec94243de6b14ac0b9e5fb366c -m = 060ea5d2ed1dd88144a9885e79278590821c22917b55a48920f96b53ebe0e689 -ct = 102483694da2c793ff4032ed7a4d13e3cf2c34566c766183de318c8ac355faae9f28668413a3c0d5d94f5bbd9e65c938e515b9ecba22906d2671c9471149ef6d868ff280ad7908fa11c8ed617ac045580e6c001e1541eb3b681fe81a088e59202cd1e193d7156a44531853eb168c381c3a289c061ff81a96b588000b1dfc841e34cb198b54f3d7e888a2830b1a815cb40322f603aa0bd175b3fd0247e0383b5ace2723a2db93d07313d38057358f249e40d3c959e7397d77d3be69ee587e7fd9ec9b5f98fd65bdc852dcb86b6ab0ea799204093dd5879eeda56ebc68a0e40fe5a5380ed7c487cde87d614d334e0e66e25ffa0f60043b0962e28c796841c9cfcafd09f5a90a0097385fa4e891a8706d81065c940a024e2ebe7c06c06334fe8eac0bbb152389829b6bb47390955a4721741da9a2e4159d7e23b46d70ce49a7fddda7656f769718d355baf84fa6b0422e97fe7aef08e7d01322384a07c23f0714a5a0d5fba88fa043ce10be1b752aa249b6dcd60150edc28d1b2ffc2b0b91e4b68ac2bea215a20094fd4b99cebd06862a94c651f5752e456448772f02eeca33d3b86a8713c618d9d1cc0f81d5cb6c7a31207e8fe34ce629a95f378fc22089a27f447ad098bb6df80aeefc1e43a91a402347bde51bc3d593da9c1410ad4053e1ed71da28924e4f1561b7ddc3cd2c616129d58f0950f016a3046bc6c0f697e6e915ae4cfcc4140ccc0a64d111525375a990ebbdfe48de099c9e4ae1d4c0f819c4481d68b591008560ba1f2a451e5e30f110e1f3e9229216ad1d799fca19c449f8dcd1196cb4ed4570ff0e971198c1d4f7586668db88ec37d74695e4d663ea1dd61118813143c72461b63a13b3a9adb283de135cead7370b49d59f6535f502eeb4468c11d173279526c0f210bd53362b796e189612a85c573fbfdf820790fce3a08403bcd86c29fb85626054f67e4e493098b3688395c7dd6011ba0b872e87c7d913b18966bc6f465ba3aef36785aa0ffa3ed467e1935012fa1c84c6de563ce455e39f922c4eca29fa0e968dff756340107493012ee00879286e6a514c3e24b76ccdb3 -ss = 29631b1d85f23a69dd1de78c0d931741bd4a4d7d6b95f4baf74bee91813220c6 +sk = ed777aabf42a95e30fed857cd4c4758c2076a40ba9534b56b2749527ccaba7530a422336913283fda435751b6d2158abd1e304bdf91160e389b8a3b94d610fed22268f685350590a44305cc57cc98c97a6a2345c5c29bbe6cb49d182cb499c83f19aa5876ca90ec3bed6592a35744cdc44770ec1094f6989add64378f739aaa85f4f4b98b9750d43a05820444e5536601f71a537ab58d738b7c643c623302d26d70b5b242e0749ca31b95a33581be9770665631aeeabc6e6bb450664aff4116e6e818d72683a442c7c14e21f95937c22d696706383d9e84910c4cfe4c57e487768cfa0066ee79dde868ae6e4a7de470c251c2cfed77a154b0bdd258ec7409a694645ef8326f7195ec8c07de2fb5964478422263a5440ae351917ddc7b7620438d31426ece458a5609e2d404aefa94c1de2275bc46fb9493ee8b54b323150fc5abb4221aa602c9ce36c34ff854da0e3595f2199cc2b1b2750a0a75637239a1266f9a7d50a6c86d68f1ec7886f90c351e7001021be347aa623e964eed3cbad45a6bf92a6f5c61bdef076aaeab527f38ef7304f7e2a158ebc5a06b23e16c356f9b69fc4e37920089a6496237bc86e1e86b24bd1956eb67678aa416249417f0c87a6fb9c88e96e39b7ace53543541c425655b2a5e405cdfc433ab68ca568115c535391dc80db3a3b62f3153637a0c4db1d6434a1c995c093a0ade3b1749a758a83c0c02ef7b117f77c74d2cdee2314d3cc458dd89ebaa56a0c295b57c19a315b3ae3e3ad7c029a9fb381e07ab2f4b07a81415913f21b6df48f8c77418e9a224450aa2731984200c0a7c75d517836a7d7463e3c04a3204ab331aa42d7cc56b52e49fb92101400ff1972a8f3bfebd5a1a6a3946a4152982a10d29c1d04cbcf1baa86140a7fa9915790dba7b311b2f3acc6fde8537193b6b950829ef8438f8c90127c44b780157682486e01928083b552f86f894ca6e638af02c1215c27b33136022a129d7ffc5fbe641680a89535774c2eaa259b158f42ca50ee75a7c9f62604bb5bacdabdd2b304ad837986da0f8c9980945cbb29e64ec0c264be853e02b1af4944187ebcc6700b95f778cec6f514b10c58e323ab7f013904345308601ecf1707f8350b9f29cb39b261580c3dd2651f96e28f89ab9c1ad86cf77cb3db7aa8a05c007d0a1a93a0a83e85be418a7f141078581a5e60c25e4564691e11b5f16171564a1214d8be06c15f6281324997a98f6572adfb62612c6623d4c9cb24bcf0d896af9a16bfe000354a41f9720c53f1574f97c6e8a49886484830d5822751c6e4c94df54aba2ba767b2b3199148bf8a0a89c620866f1ba52c46687af31abc6a7b4fea9e5d6c70a5570f3d6a6113674c92173b6af4902f614f1d508b3b456c406522d986c31aacc3653098b0985ef1879b204261bba81752425d7cd549121983ffb30b17e181d2b8b4dc049f248b55a25b561aa54507141914e580684395e332225089bd29a934ce114f60936d9ab50f568362fcac1153620791d318dc735253085c8c164719b6c0b426c136a311d704d009f226fbd340ece426a25274da929bf5a206b1520bd114c754db2dab0b8a881c03aa569091f40ec3e38422c3b8d4b2c77373853e57068a591663446b17f676bbfb941abc0e1afcb01d939b426a551417acc95988d712600383063dfc5a6be917c3e4041ea5496ab68855b6caa6c92b463692ef2390ce797969715141397b40b86d5219b0a8c3858bacc615283169a57151849aa9bbb7e50bca52183cc6d93e163144d56a191e29c66eb75f86d6baa9e2320b43463b300000083c49a88b6338c374341cd83c1c15266fdb266e1e0933086c7358d82770aa652b7842b2b9b6f9165613d4a27298c0125a2609885d29715f9cb854cf6a0c308b36697cb1f5b530c7625694487252872c70ac1ada8b4959c681f64c46c5ccc2b3972b6188909a1955d99b65b0b80aec1770f60421cda11d7822621ab46fbba61cd0dc6df4082609105839d80ba850c0a8342be5a70d999386167ca06a485368276b4f7340cdc0a9b3010c3fc3726da1ad68043c1665b1aa4413231455078cc898d938d2c5663b1c200fc87a3b2c2b5c5b0c507c1b7f12ba711680951ac8ad9c7e430345f2f6ad3eb9317b044103a82bb03949eaf288b2377b66f629268f2ae99c43bbc1fa7d8949cd772a745bd9ab018fd3f6ed02f32cd2bf8459233c598a48b06d7474da19ca85aff6b2b3303b5d25b96088c52a08cc7f1e87c5fd97c65a12d87432f475509f11e0884fb51b5d970c1b6d2c87c70590cf41c16b4f +m = c068b1a68f7f29e1a8313876c4d37a23167e9bb9ec5a47013a5a840dc77d4ba6 +ct = bd57f27359ee17ce4788e52801c58748aed85555f5635e0c16a9d44661092047170a30a04c3bb2882abb7ed540192b9950b008ee6907219c7f61fac9a97fd46b8c88405c6755e051b3cc2e567446e3ff04d5609696171d4bc606104d363a54e06554f5baec9f0b5d9110a7c3ec06a16e9f456e428c2b4a328e057cc8c9b10def205337461e7b4710f2556f9e96cde1f66c95a12efe8c3d6d32d408f12709c7694f1c1f916d8bb6c67a8c0ce3e8117c85e07704f107a4fcdb7eff1edd57d2ce6569f92bb0b2f7d2d157bc7c70581786ff9a38470bdc950da83543972347aa00dd9f368d006960665058ca5841b15061411affb48eb0246c2c23005a99f65a5733658dec192800233d0252a9cd61872ca18152bf8c9ed3329b99ca65a89087e7fd3e2d517b6f63fe6594e6bbd23740b070f737f1cd6a02d40fe38bd10dd495c51991707e07a64a4067ccf22be366340a7ded9c80d95190592e3ad2727686040ac850f9b5772fdb3f4e9d1ca07b0e85fb6f951325b1a4274de3c7fd0987092147acc593d07d01502477e402e67c526b03247442a69b7163173d06c4d0175d63e6e59ab2db1bdab20c92cf4f5dddce825a11e88947df6d1227920e7c7feacf6d390679ef995d2980ac7f6f9588a96b5144e8339d53e391426a28da6eaaea9517dca1322f621862c5a3eac9f991b294a5cd034965375af75cd1a8db29cbb43971d6083180696e3986b01e93415aea157f351fbe7d8a0da5d806ecddc53ecfe31c17d50ce317572dec61b4231f461a693f8c3f9ca0bc88dce8a0334126c4a62e64ebf2cb9849dede870f682070f5ceb9dbd28976076b7afc5d3350047dd752b350d7219b26ace0e9641700041723c9a0fa671ce52bdef0c7c2f8a951ef17b0f23423781b67bab2cabd048771193db5c54339eb596ac444bdc6df58267e5cb518ea0786a57cee5b489fd4cc9ca6ca0f8e69716fa556eebc65421802c5911a21b9225d748107ab1be2df2f9807415e1d67d7bb2a05fca122d652c2a718385a3334d7b5f381e799f3120a1a8672b37db7ab2a1febff5aeb3f1fdc7e43e8e44f9afb9efb06 +ss = ff469fa2d847102518e9caf8d3efb0e354b7a0f4e4da604f0ff8fc9770cc1b61 d = c719f9b2d16399b7326ce4eca30dabefe8fdaab18e9f6df888b0a134ef355570 -z = e40771856eb77e4633504899fcb86c6a3d433d0b8d60e26f07bd61f1d4ed69bd +z = a49f3b482a66256d7f667585925cb7f58894e42660ef2573ae33655c231dfb0e pk = 1a986b25b24c36a66d747b761bb2c2a09415fed46551c6a26ab62819aa605a84c9d164b5146c6996f3a33475aa76d055ffb45617f256e22028426b71ea1404cecc96aa815f5cc804d83bba5d417caf64731906b8cdfcbfbaca0e7e0c924cd19475a88668c59f24b7b0aee4a63b936942ba263bf4533dd29e7f51760ba638702ccf6472305e5a0d404732e0a220b269affe711db0a8c2db11c2573b7c3a83b673d37ecd8a725553be79755b803cb866a90e12a4bf7d8275fc7ca07cd20ced0ac9a45c54953220d5caa8210bcb3e43289ba03c6c3a982b5b2d4b73853b1b7548f7aacbb0a4ec2bc676c55dd594aaf630ceeee7a58f076348a09fbb5b335c43535be99d552298acb1bffb30c9adf1c5fd221417874898132c00b83cb367bd79f734fa1c56cb63a8652ca5a12226961131b14018139937c20c82ae6964e0f4bf06f30cac7382bf2341829236ef27119663c1bb34819da72cf71b3faf01460b9a20440947452b52ca4bb9c4eb9cefb8c1a308b2dcb20dd88270bc71b9e95a2c96306ca17c769d301e01021775238fdc6235f89939b47774b5fb5293d2cf4875a698d33827ea2146b4c3aad66f2c918d9e638874dcc883a2399df38120b8baeb9a52b45c6d0cb2a3c766336d0ba7fbe55ca5eb203e26337d29438641bfb3a29d50500947064e65f7319854b6756b2e40c75b755ab983b52e72f9c5cb293e2aa34cf2b23ef9868278c531bf395434fb347f29c079395f70f62342fccbe37cc7fd4ba1eb49699ed30dfec751157003f8bc438381813d0c555183524ba8a248f531495210a6947ed6963da96c85af7bcb1fd8161a07c707019b67f373c4692c27279e67b677c2c4cd42b33c4662b012ba8a59b19391c25aa846814395119d65b585c39e738359a24bb0d31b266a81471ce25270d0715cac1c473c10270039489aaa70b5cf093ac930a91e9ba356d6a76fbbe8903781924487ca4cea7a67558e55011ccd4190c6ac0d8642357441545b477e0538b31230b07b17595e55340ab681fe860b21b9b893408656f920e8a5599fe94dea1b8ddc7a6eac61cc0457299c43410677c421f89bf2d90cf3dfc681c2fd81792135e1938ca482ef3c253d8976201852444e -sk = eb7abb66c3c749399680d531ce787eefeb5a80c16c6501056eb314568c776fc320e496c7b55b54b253c669126f612c3a5395268826aedda5cea1a7077f946a6cc0435c35955087acaab395328c91c753975b8716b3647ae8d21c75f613fe461216749171b000fcfa3c0ca38e1da915c15578bd102e06234d59e88c51047f68c4cc12c60d0b536b672c3e6a9a322db89431200532c7bcbfc68cf9d775d0d722fe7bb9f0fc7bf8dbc4c19547c1031d23662173c302b23a022b3c0997914347081b7d433834446ea56b43135631932133fad226010a3b6a07424d2c361efa7f27fb65033c17a1ac3ea85086b3440efabba894762808068ff4e1579b356f6a186d96431af9c2a5724625ab88a36a6b3ed4901e902630da4a101b8445be9ba9738a761c74536f911fcb1178a6a5680035ca0d607d77d07046eb8568113cfb4a02fdfa8fc207d0b9db8eab68296e9a8e33b01eb11c81a8a94def449981747cae41394ffc5ece2581e398c319f557448cb4152b301276519810193b864a09612d5b982f8326750dcc472cb356dbc1cca28a145fea0ceb8803e03c36449b16464a673d3c4b67aab5c1d11fdc06377a41846f60c4db0b3a7568060a970c64989000bcab2eea24a0520a3ffc0916ab67e6e557860164b194b59d552c199a0e2803b0fb2b1306ea6b0ee687db661357739a3c887a8ef551a9132473b2c000aca4b859624e690b6eca49b20c43656397168c00e7ea1335f48f473cc018219985d72bced63c23b4c0fe036322e060619177d1984ab885bf11c0cd20f518cdb8a447356847d8b95bd9ce3285702286949e3c61c0c435c8e312d9092b60437531d8490dca08261ba4a57753661b2f853307cfb071fd3b0f0d005d6155b117f298e2a84a3a34bffae668d91b5235192a0b55cbdd5b723e8191087c847b116ceab7292c17480065c93ba665656749c6264ca53a87b27485c0e2c024893374312a58c7c0eca0b155f5cdb19497c08baa82a71908639e45121c827c7666209cc149cd71f50598672893895521a994b9160dd01baf081aab12681a9f26220e65531f389920b110e931401a986b25b24c36a66d747b761bb2c2a09415fed46551c6a26ab62819aa605a84c9d164b5146c6996f3a33475aa76d055ffb45617f256e22028426b71ea1404cecc96aa815f5cc804d83bba5d417caf64731906b8cdfcbfbaca0e7e0c924cd19475a88668c59f24b7b0aee4a63b936942ba263bf4533dd29e7f51760ba638702ccf6472305e5a0d404732e0a220b269affe711db0a8c2db11c2573b7c3a83b673d37ecd8a725553be79755b803cb866a90e12a4bf7d8275fc7ca07cd20ced0ac9a45c54953220d5caa8210bcb3e43289ba03c6c3a982b5b2d4b73853b1b7548f7aacbb0a4ec2bc676c55dd594aaf630ceeee7a58f076348a09fbb5b335c43535be99d552298acb1bffb30c9adf1c5fd221417874898132c00b83cb367bd79f734fa1c56cb63a8652ca5a12226961131b14018139937c20c82ae6964e0f4bf06f30cac7382bf2341829236ef27119663c1bb34819da72cf71b3faf01460b9a20440947452b52ca4bb9c4eb9cefb8c1a308b2dcb20dd88270bc71b9e95a2c96306ca17c769d301e01021775238fdc6235f89939b47774b5fb5293d2cf4875a698d33827ea2146b4c3aad66f2c918d9e638874dcc883a2399df38120b8baeb9a52b45c6d0cb2a3c766336d0ba7fbe55ca5eb203e26337d29438641bfb3a29d50500947064e65f7319854b6756b2e40c75b755ab983b52e72f9c5cb293e2aa34cf2b23ef9868278c531bf395434fb347f29c079395f70f62342fccbe37cc7fd4ba1eb49699ed30dfec751157003f8bc438381813d0c555183524ba8a248f531495210a6947ed6963da96c85af7bcb1fd8161a07c707019b67f373c4692c27279e67b677c2c4cd42b33c4662b012ba8a59b19391c25aa846814395119d65b585c39e738359a24bb0d31b266a81471ce25270d0715cac1c473c10270039489aaa70b5cf093ac930a91e9ba356d6a76fbbe8903781924487ca4cea7a67558e55011ccd4190c6ac0d8642357441545b477e0538b31230b07b17595e55340ab681fe860b21b9b893408656f920e8a5599fe94dea1b8ddc7a6eac61cc0457299c43410677c421f89bf2d90cf3dfc681c2fd81792135e1938ca482ef3c253d8976201852444e9911b6283fc6dee66e16d411fe39bbc9f53c30bb54f05044b96c740ca051c61ce40771856eb77e4633504899fcb86c6a3d433d0b8d60e26f07bd61f1d4ed69bd -m = 10ef9426f8c4a13b52325c5bb4ead4596ecf2c6b5bd2d37d8350e90d4164fdd9 -ct = 018fd1311dd57287ff376552d1a07fd7bb84285defe332c28e6e479a7a4d7805dd23f6bbed16ac5e1e9837a838f5b1732f6551421f5354d3eaf9780c25911179e9f150d12a10313b3b2a2cb860a29e9fe43cd83e5a7150baa6e513c47f6a2aeccd7cfad6caae5018c40b25a30cf1fbb2f68301d835a1fcdbcb28865ad83cf5c2024d8ac9453e889163cfebf4ddcf8be41bdbe4b616fab3a4f07bcf97a61d94fb873e85b7adfb71a2b7ff53d3cce2f834ab4d0648b6a1d68b067a2fdb538c083272917008af09e5c70156b79d1281baf79a05353491abf8ad6743d47f64a3420b96d34ef8f1d04117d4902a5ded61209c8c7c4222734ffd7fafe76680ab024dfcb5d8950517d32a3ff0393f0e59bc778cb7eafea0f29a2b29dcda410ec6e9dde725a9ce2a18799cacd2ae9d750fa70a096ad2ec77b20885b4e60613e746d6509ece607769ce147433726d4fcf4895a111f19c7f38cacdece6d812bac71295cfbd70bf4b028faaf7708837e43bd283ff26ff3f63a3fd70ef27ba88f22e16ac12b721675d25f3b5be02040d7fcb988aa71907dbfea5bc22818ee0a5454e0670b64b1fce54b0ded18a4d5df86b009daea64747a03a2973bf1605db61a3d8d0e9b3b0fc8e56a33e068c562fc3c9e1a2e10fae21ca78804144e33f1c59c1d36e390a9094610cdd27ab3bcd7b7ab0abcca2374976f98867e6cbbb16532ef6974229dba9270260d37eacf986b337c5e7224883e4df5e04d84561252a5d6a29692b1073c5141f3885787cac9b97682b9b279098e674dac8cb8662835e0c78a34628563d4978af0c3350cbdeb6c8ebe8fb6990605dd0d47d572db116604e89a23d7aca763c798458af8dea02712df8577c182686357e2441d4dd6e87126d6970b16fce9b3c3f42e0d88ad13132997a5212ae4a0fc8209eea5effd4f32a96679fc1b7bc10c2fc05e2c6be66073f9b46d5fd7d5ad176814d64d85b49c1c4e5316b24cc988aad842b9e0cb1bfd782ba97bec7549e1c39ef6d1fb0c2e206e5846e75c82c7ff577a577b0727e454ec7e1322167e18d8c49ff8f6a8cccee622edede917e4a497ae7 -ss = 5e1d34e184996e029a175b7af798fcf94d39253a2596e41f37ce50369bb0bc82 +sk = eb7abb66c3c749399680d531ce787eefeb5a80c16c6501056eb314568c776fc320e496c7b55b54b253c669126f612c3a5395268826aedda5cea1a7077f946a6cc0435c35955087acaab395328c91c753975b8716b3647ae8d21c75f613fe461216749171b000fcfa3c0ca38e1da915c15578bd102e06234d59e88c51047f68c4cc12c60d0b536b672c3e6a9a322db89431200532c7bcbfc68cf9d775d0d722fe7bb9f0fc7bf8dbc4c19547c1031d23662173c302b23a022b3c0997914347081b7d433834446ea56b43135631932133fad226010a3b6a07424d2c361efa7f27fb65033c17a1ac3ea85086b3440efabba894762808068ff4e1579b356f6a186d96431af9c2a5724625ab88a36a6b3ed4901e902630da4a101b8445be9ba9738a761c74536f911fcb1178a6a5680035ca0d607d77d07046eb8568113cfb4a02fdfa8fc207d0b9db8eab68296e9a8e33b01eb11c81a8a94def449981747cae41394ffc5ece2581e398c319f557448cb4152b301276519810193b864a09612d5b982f8326750dcc472cb356dbc1cca28a145fea0ceb8803e03c36449b16464a673d3c4b67aab5c1d11fdc06377a41846f60c4db0b3a7568060a970c64989000bcab2eea24a0520a3ffc0916ab67e6e557860164b194b59d552c199a0e2803b0fb2b1306ea6b0ee687db661357739a3c887a8ef551a9132473b2c000aca4b859624e690b6eca49b20c43656397168c00e7ea1335f48f473cc018219985d72bced63c23b4c0fe036322e060619177d1984ab885bf11c0cd20f518cdb8a447356847d8b95bd9ce3285702286949e3c61c0c435c8e312d9092b60437531d8490dca08261ba4a57753661b2f853307cfb071fd3b0f0d005d6155b117f298e2a84a3a34bffae668d91b5235192a0b55cbdd5b723e8191087c847b116ceab7292c17480065c93ba665656749c6264ca53a87b27485c0e2c024893374312a58c7c0eca0b155f5cdb19497c08baa82a71908639e45121c827c7666209cc149cd71f50598672893895521a994b9160dd01baf081aab12681a9f26220e65531f389920b110e931401a986b25b24c36a66d747b761bb2c2a09415fed46551c6a26ab62819aa605a84c9d164b5146c6996f3a33475aa76d055ffb45617f256e22028426b71ea1404cecc96aa815f5cc804d83bba5d417caf64731906b8cdfcbfbaca0e7e0c924cd19475a88668c59f24b7b0aee4a63b936942ba263bf4533dd29e7f51760ba638702ccf6472305e5a0d404732e0a220b269affe711db0a8c2db11c2573b7c3a83b673d37ecd8a725553be79755b803cb866a90e12a4bf7d8275fc7ca07cd20ced0ac9a45c54953220d5caa8210bcb3e43289ba03c6c3a982b5b2d4b73853b1b7548f7aacbb0a4ec2bc676c55dd594aaf630ceeee7a58f076348a09fbb5b335c43535be99d552298acb1bffb30c9adf1c5fd221417874898132c00b83cb367bd79f734fa1c56cb63a8652ca5a12226961131b14018139937c20c82ae6964e0f4bf06f30cac7382bf2341829236ef27119663c1bb34819da72cf71b3faf01460b9a20440947452b52ca4bb9c4eb9cefb8c1a308b2dcb20dd88270bc71b9e95a2c96306ca17c769d301e01021775238fdc6235f89939b47774b5fb5293d2cf4875a698d33827ea2146b4c3aad66f2c918d9e638874dcc883a2399df38120b8baeb9a52b45c6d0cb2a3c766336d0ba7fbe55ca5eb203e26337d29438641bfb3a29d50500947064e65f7319854b6756b2e40c75b755ab983b52e72f9c5cb293e2aa34cf2b23ef9868278c531bf395434fb347f29c079395f70f62342fccbe37cc7fd4ba1eb49699ed30dfec751157003f8bc438381813d0c555183524ba8a248f531495210a6947ed6963da96c85af7bcb1fd8161a07c707019b67f373c4692c27279e67b677c2c4cd42b33c4662b012ba8a59b19391c25aa846814395119d65b585c39e738359a24bb0d31b266a81471ce25270d0715cac1c473c10270039489aaa70b5cf093ac930a91e9ba356d6a76fbbe8903781924487ca4cea7a67558e55011ccd4190c6ac0d8642357441545b477e0538b31230b07b17595e55340ab681fe860b21b9b893408656f920e8a5599fe94dea1b8ddc7a6eac61cc0457299c43410677c421f89bf2d90cf3dfc681c2fd81792135e1938ca482ef3c253d8976201852444e9911b6283fc6dee66e16d411fe39bbc9f53c30bb54f05044b96c740ca051c61ca49f3b482a66256d7f667585925cb7f58894e42660ef2573ae33655c231dfb0e +m = d5668ff18683eea789415d6fa2a5a1031b2980b1e641f521d5235d50e04eac25 +ct = d9b916c3ab6e8e86968ef422a780fe01f583a060d3bff091bee2408303b24c9e5533933a1def84e9d6b76091634eaa70f5e9ed90afe6359b541230ba9c34331c6c5ff00d06c201ab88e9a08d2371cfc4ff57ff4c80176ba5c4531a188bbf7e3d13cd4f0241ba11561410775b89f3bec4d4e5402065023f12871687b50e629b01f6a7e6fb04cf51cf12a7535102d3bfa87384b810412c52d2de0b313c982a3613b454014f89981fba2f31fe505492bc069f2e8d2c540873381911275a88ee52f2f60f5d3d638f1d899f045ffda4eecbdcc8ca704ea4893edd91f5f6c49a9cd5d41c757d2cfaafe08fc0cc20ca9c28ba133366d48ad2af798bb219d1b54c89e4a017c46657e1c9d679aee278fe77caae7f65ebbe8bb342e0d5a1b0d794bd60f5e139895be82f1b12796acc94c6d52e4d069e1b650e9bd56a3ccabc34c1324bb09bd305bce7f992f8bf340908f5f5982274769bcd990352822fd830078ba1e1faab04e0dc448eceb49e7f36363b43ec49d5aee349e14f982d7e4df429d400eec055e457e63e2cc317430e9acf0bc8a5b08889f7955ecf5637d25375b11f9d0a9cef22c55669a4154730dc3d38310c4f614fbbbce8aebe0b4bb62bfc88d320e4dcb1749a6a4a826c287c887eb75e29c5a354a3f7428e3e6073cf8a11062bc4782c7177edc62067204c296af0e48e6b493a0a927a5c44aff087f2cef5975b1f4843a06d62e050260bd230fae543da3e73b462c195217427948a00684a6c13836e2c5ab94189264ab57315b25ec9554ef0bb58585a13f5311dce552adbf5b7a75257838846505e659c087f784a76cdb64c9e189f210ebbf3e55df06b2795bb09edc4a0554ad306cde5630979392f2dcad18f515bacecb083110d0c4a71f35eac7231b079cf580e153276c560dca1a0b2d0a00654dbac044aaf60680fd2af61d23b58dc35ded3a1c54283dd8b6c574695e4f0352b60b5b305850e8e9f1b79195cd86b7cc8d0d316c1f0137af6bc0c48fc7051dcbf9582778b11bf973ca56c89e00e61cc9f6eaa072d25a2512ad3580cf207fd01e93c46c67929df7e2bc76b59b31fded2 +ss = 9f8c58d68c86d6b342de621c2695121cf8c11598cfd70de88028f58183f6b4cf d = e9acbb774be970206c3a738e243b420805a509fa59fa902044be2f0d013650d2 -z = ded5edaec5de3bf5b4d7c2f2e18e87f499c1968993eff196753db8045e2c8ba8 +z = 1d9667c03155106785069387ce7d25cb09c5516d52817201d6653f20e775b453 pk = b0141c2b68b888e674a38351470a3c831923aa3c3e40a2127a28c1a8818d42e4a48c036191681bcf982c0f13a79d643af1fa13eb32444d1577e0c1795a6a7bb2b361e449718dbb962d636be1054700337fc3fc7c1955755a8199ec36c2c128c68fa5b5854348d55a1798054ab98a5203dcbcc5121300b15026c8b4d1aa329b804b13e61faaf672f0a304db82cb875b4bbf796599c43ebc26834617467689ae524a33dcdb5916f783b958b15211950b5551f0722a9b6a7ec554567b2c975af35b6b88041c01a1f182a50853998cc395c1081e0d755d0fbcaf69f85df21567a0a24474571d2f98ba93f37a0f5941fb8204b0933cf3cb20a706a06359cbba272c0df68647318774939d18528b8818ae682743071795d512b29c794cc8a6c0e4b827c1148ebe2a0e72fc50a3f71df0b3ba9bbc4906dc30e18c7d6c8850647973e46bc58cc229d9623983564da34cb71a729abdccc3cf70bcd7d20aeb82c9d306464e132a6b9989c8561d90824f6796420e8b8c08a0bb3de745372cb24413a7046ca37ec66191c6cc9b9c6d0975566f996ba038456736973246c44f545222f3afec4567536ab3a09943181b16f747b7d04a7f6996983c494b0d527879366c3a4a6872a79c8c3aaa13f11695d36065d7843acbb04014539992ad369024f56636166990c23c661f34a584c12ba06a16aa582c887015cf96b293757a041b53ec695cb520960d959d96f57bd6da44e40024f5e04a3a135a1f112ecdd57ffe459bb22c84008d5a2ee831823b42102017f14a71b1329bddc07ef7bb02e8ba40bfc64362bc369e490675dc68a9c0b54a91b43386cc7a4800c9f60f2a562253904c71924fc7a9257b94aa9f78c6853a85d09ab7b07101b58309424420c744076c446e7e873c67d67a40cc3993d48c1a81495e54a5fb1200d497080bf21b33211e919730dad71c2a1a75ddc983853cab3cb55a3fdc0d778bccb2c42037098956307899123f7c5b7cbcf107fe1788e55c67fa65968f57bd85b53a29005c6a2c2c30ecccbf09904218390fc17f4b07aa2d350e9953705da8bec6b4048e4cb432a78334058b2ef4590893d44d76104bf396577fd719d69eb306117f3abd65385a87af12d1bb6d0433 -sk = 8ca51836784896f8268d5256f73a3619466dc1317bf82932e4a62b454657b756c17d810928f742105b41ff16531c649f95490e4f6a53b2bc0eb36cac6195ce6cbc974cb032cfd5505fb77bb3a6638a05b23c47c5b387554fc88f70b06feb8a59d039a5b727c2bfa60ba0e785ff0c66cf88078df29f40915713563b7f33bb89a014d27b54be5a37f8fc8dec209b06ac8000c8816ba97e68f6c01766788b1b732893457a38abd2798eb16920678bab9591b9e4d644ea213f3dac45dc5263cf8782b7f9a5f0e01ae409599112c9041a8823a88117953ae944cc0541851719a66a219d9cec69b554112bb861f859050f456c13c73019684edbab9fd1e127703740ce863caaa602e8c2a765f259ac91a21eb5b9db6a6105489b3cf08e1c58a10b35c7341441ede777dc81cdd6c531e4168743731803fc95ead4979e57676d05004a2526fc9369bd86145003a8b6b3bf5b4699745728a64805fb89336ef991ec97233c6718775969164634438c77b7e1b86c25b60967a9a0d25b50c8a19fbc55ab656a9e354e0f7b20233009fe907a92361a3fe60352e25c3a1c06697113b996b867f307712544274a8975a5855cd39180b1644960b0254ccc9b38c3bb140dd38b34a3b220cc5c13104305c45a1a8461340b4b30bd69497bf3ba0524526fdab58d32b8fd3b03e05b61aae5014f5684c52cac3d81ace4701a4b7199c93a813e549170c562432914bfc02f8a28a3a95a3b12150e8d7ba897e634a8835410741001b49dbe6b82bb50632f0846ce6210bc4c35266b3eaf434ccfd885478ab671c6ac1238cd02b3ae1b1b76dd9418feb30498a8683d01044587545ba5c5e3919f7996ce6d51cbfeb65fd61538f8592462ea268d07ad28325094ba467c6405253c07aa405ccdfb9dcaa5993fac5c407ab29192a3b81462b9bb6e783c3f589122e4848f3402c1c63b4e9cb13dcfb894f29c89044b9739b0c4fb19cafed1390f2936f529007c292c5d7cc22e3a3ee04b26f23cbcdbb87eab79abe9288b0534220ac3b8e935cad8a9494f58ab20573155385628508a3d87b6432314054b2623434c540b196d78c8b0141c2b68b888e674a38351470a3c831923aa3c3e40a2127a28c1a8818d42e4a48c036191681bcf982c0f13a79d643af1fa13eb32444d1577e0c1795a6a7bb2b361e449718dbb962d636be1054700337fc3fc7c1955755a8199ec36c2c128c68fa5b5854348d55a1798054ab98a5203dcbcc5121300b15026c8b4d1aa329b804b13e61faaf672f0a304db82cb875b4bbf796599c43ebc26834617467689ae524a33dcdb5916f783b958b15211950b5551f0722a9b6a7ec554567b2c975af35b6b88041c01a1f182a50853998cc395c1081e0d755d0fbcaf69f85df21567a0a24474571d2f98ba93f37a0f5941fb8204b0933cf3cb20a706a06359cbba272c0df68647318774939d18528b8818ae682743071795d512b29c794cc8a6c0e4b827c1148ebe2a0e72fc50a3f71df0b3ba9bbc4906dc30e18c7d6c8850647973e46bc58cc229d9623983564da34cb71a729abdccc3cf70bcd7d20aeb82c9d306464e132a6b9989c8561d90824f6796420e8b8c08a0bb3de745372cb24413a7046ca37ec66191c6cc9b9c6d0975566f996ba038456736973246c44f545222f3afec4567536ab3a09943181b16f747b7d04a7f6996983c494b0d527879366c3a4a6872a79c8c3aaa13f11695d36065d7843acbb04014539992ad369024f56636166990c23c661f34a584c12ba06a16aa582c887015cf96b293757a041b53ec695cb520960d959d96f57bd6da44e40024f5e04a3a135a1f112ecdd57ffe459bb22c84008d5a2ee831823b42102017f14a71b1329bddc07ef7bb02e8ba40bfc64362bc369e490675dc68a9c0b54a91b43386cc7a4800c9f60f2a562253904c71924fc7a9257b94aa9f78c6853a85d09ab7b07101b58309424420c744076c446e7e873c67d67a40cc3993d48c1a81495e54a5fb1200d497080bf21b33211e919730dad71c2a1a75ddc983853cab3cb55a3fdc0d778bccb2c42037098956307899123f7c5b7cbcf107fe1788e55c67fa65968f57bd85b53a29005c6a2c2c30ecccbf09904218390fc17f4b07aa2d350e9953705da8bec6b4048e4cb432a78334058b2ef4590893d44d76104bf396577fd719d69eb306117f3abd65385a87af12d1bb6d0433e78d350d2836d1d17e6ec375a0cbe0d6b2afe1ac036272dd41f8aa769c9d0668ded5edaec5de3bf5b4d7c2f2e18e87f499c1968993eff196753db8045e2c8ba8 -m = a4bd30a64cbf29a4e290fa1cc1dfb99e68348713041e4409a1af23c5d80c15c4 -ct = eb84ed275ddd136806236a4a925ff0e23eacba3df55d68d6b40094c399ce1ad2093a05e03f745e1848fd3b37fce6b4525c427d8612478b2afb9584b7f88f73a1c784a856c0d014a2d3d0e1898b4f322e76dbae258e0c5eae393d5ec6f5fee47181441987fcd5eeb8f788aaa5b4df8027c3b3b4190b5594cb2f74eaafe894fc2a7087dfe28b64240f3a5412d07aecc737611451114b576c168f2564aab4bec0eee4e681e6a6f09630702fd0c0b6237286b4be82cfb9e0fa3f584e634a573e5aba501436e2bf6d32fa8bfee728510c011179e0f8aace8b36c3a53c328a77abc19a79bbe703128d5b5dd4fcf91e4407947717ae1deb9984dc46b11044e55d53d43cec016462c523fcab6e171a0911799b10dc8d1b65d93fdf8a38ed331d70c9f4c6c016ea8b99c0aac1e1c04ea0dca697f3c9b074c89b37b72a3446b7bf22f55fbc53c8426d56e9a70fcb8676939578633eda2c2e9eefb94dc48067c3460990e386f51ad3300ea0adefa7078db7f07c466193b0922b990e843ed5b7f298f495560840ac35af058cc41d38adf66b9299679e7e65b3816d702bb1d866a8676507bc51114ea4720b2716acf162d78bd066d6356445c01d6a7da9c8590bf85159fa34ac221e6e9f8b8aa12fdb41326156aad4a268c322b2169f88cc6d4333a14654cd0392699fbb6e1ec853b29bdf04233d690e641003194bbd5bf24f3e6d208e8f55417dd20c7c3832b35f219133d349918da89b0a2200920f597e767a02bbbfb47ac9a3e91c558914ca8c07f5193528eebf6e0331660289fb103eb0a9b732f8ca4a719ea5fca256db1f0c932e83cde4c68956e82c963545bf0e6006f55bc66e3b3557553b28067174ef0a44113c538f9b13cbab9fe5aa83caf482b3eb3267a0983ba7a55761e5677f59d82f42306de712e63fcae0b794d99231c6d40c3eabc54d9a477cbb4be8b28365293f31bf2fc8ee1a0fac23e9ee6f7c5a59429c270e0721b689e4cea57d8fb20a5b62bb7fbf9bf41845b7a3db91440080d82a72843ec7ee0ad449cdffd96c2d63068bb49aa31e8cfbf953db11e25c095f62deca0eef4c3144e9 -ss = 80314e9c9dad51e4d2f57677e88949df9d190ad5e413e01be5e0aed4a1abe38c +sk = 8ca51836784896f8268d5256f73a3619466dc1317bf82932e4a62b454657b756c17d810928f742105b41ff16531c649f95490e4f6a53b2bc0eb36cac6195ce6cbc974cb032cfd5505fb77bb3a6638a05b23c47c5b387554fc88f70b06feb8a59d039a5b727c2bfa60ba0e785ff0c66cf88078df29f40915713563b7f33bb89a014d27b54be5a37f8fc8dec209b06ac8000c8816ba97e68f6c01766788b1b732893457a38abd2798eb16920678bab9591b9e4d644ea213f3dac45dc5263cf8782b7f9a5f0e01ae409599112c9041a8823a88117953ae944cc0541851719a66a219d9cec69b554112bb861f859050f456c13c73019684edbab9fd1e127703740ce863caaa602e8c2a765f259ac91a21eb5b9db6a6105489b3cf08e1c58a10b35c7341441ede777dc81cdd6c531e4168743731803fc95ead4979e57676d05004a2526fc9369bd86145003a8b6b3bf5b4699745728a64805fb89336ef991ec97233c6718775969164634438c77b7e1b86c25b60967a9a0d25b50c8a19fbc55ab656a9e354e0f7b20233009fe907a92361a3fe60352e25c3a1c06697113b996b867f307712544274a8975a5855cd39180b1644960b0254ccc9b38c3bb140dd38b34a3b220cc5c13104305c45a1a8461340b4b30bd69497bf3ba0524526fdab58d32b8fd3b03e05b61aae5014f5684c52cac3d81ace4701a4b7199c93a813e549170c562432914bfc02f8a28a3a95a3b12150e8d7ba897e634a8835410741001b49dbe6b82bb50632f0846ce6210bc4c35266b3eaf434ccfd885478ab671c6ac1238cd02b3ae1b1b76dd9418feb30498a8683d01044587545ba5c5e3919f7996ce6d51cbfeb65fd61538f8592462ea268d07ad28325094ba467c6405253c07aa405ccdfb9dcaa5993fac5c407ab29192a3b81462b9bb6e783c3f589122e4848f3402c1c63b4e9cb13dcfb894f29c89044b9739b0c4fb19cafed1390f2936f529007c292c5d7cc22e3a3ee04b26f23cbcdbb87eab79abe9288b0534220ac3b8e935cad8a9494f58ab20573155385628508a3d87b6432314054b2623434c540b196d78c8b0141c2b68b888e674a38351470a3c831923aa3c3e40a2127a28c1a8818d42e4a48c036191681bcf982c0f13a79d643af1fa13eb32444d1577e0c1795a6a7bb2b361e449718dbb962d636be1054700337fc3fc7c1955755a8199ec36c2c128c68fa5b5854348d55a1798054ab98a5203dcbcc5121300b15026c8b4d1aa329b804b13e61faaf672f0a304db82cb875b4bbf796599c43ebc26834617467689ae524a33dcdb5916f783b958b15211950b5551f0722a9b6a7ec554567b2c975af35b6b88041c01a1f182a50853998cc395c1081e0d755d0fbcaf69f85df21567a0a24474571d2f98ba93f37a0f5941fb8204b0933cf3cb20a706a06359cbba272c0df68647318774939d18528b8818ae682743071795d512b29c794cc8a6c0e4b827c1148ebe2a0e72fc50a3f71df0b3ba9bbc4906dc30e18c7d6c8850647973e46bc58cc229d9623983564da34cb71a729abdccc3cf70bcd7d20aeb82c9d306464e132a6b9989c8561d90824f6796420e8b8c08a0bb3de745372cb24413a7046ca37ec66191c6cc9b9c6d0975566f996ba038456736973246c44f545222f3afec4567536ab3a09943181b16f747b7d04a7f6996983c494b0d527879366c3a4a6872a79c8c3aaa13f11695d36065d7843acbb04014539992ad369024f56636166990c23c661f34a584c12ba06a16aa582c887015cf96b293757a041b53ec695cb520960d959d96f57bd6da44e40024f5e04a3a135a1f112ecdd57ffe459bb22c84008d5a2ee831823b42102017f14a71b1329bddc07ef7bb02e8ba40bfc64362bc369e490675dc68a9c0b54a91b43386cc7a4800c9f60f2a562253904c71924fc7a9257b94aa9f78c6853a85d09ab7b07101b58309424420c744076c446e7e873c67d67a40cc3993d48c1a81495e54a5fb1200d497080bf21b33211e919730dad71c2a1a75ddc983853cab3cb55a3fdc0d778bccb2c42037098956307899123f7c5b7cbcf107fe1788e55c67fa65968f57bd85b53a29005c6a2c2c30ecccbf09904218390fc17f4b07aa2d350e9953705da8bec6b4048e4cb432a78334058b2ef4590893d44d76104bf396577fd719d69eb306117f3abd65385a87af12d1bb6d0433e78d350d2836d1d17e6ec375a0cbe0d6b2afe1ac036272dd41f8aa769c9d06681d9667c03155106785069387ce7d25cb09c5516d52817201d6653f20e775b453 +m = 07b6b69b60dc15a90690b3fc53e8a4655275e0a1a502551d8bf2eb337b1cd2fb +ct = 60b341595c8cd77ecb70d7626aa589c9e8215a4329eeba875b96abe7e017092f472f99eaa09d8a9485cf937f2d859fea8743d62fed496869880ded362915fd600bb96285bba80ddc62e5fda962a14946dc50de9bec22dab2817edbbd133dec3b09a5d7545cf0e3ac114fe43e4871ada241240b90e969aeb61fbc3c793412d8a19115323908cb599ac2a5234bb0d73dfeee21ad0f6c97a95cbe2cb777eb381982a94d079b40a2f8c7976d53907b9853699e973cbd3de9fabb0882db3407600b317e5c57590f072ada0ea554f028149578ec57b889c6b05020c8d3dc1dd3465241704f8a2d77947371fcb218df34cfaf5487824f581fb48dcbd62dda7f3bd4dfad3cc6db281e67147145c56c7470880ada638ec31bbbc9300516e6557dc9240bbae957b58a4476e19a9277e6d5cd4d5baa7887150c1848b7fa664f2c7bfc6bffbc951057637f2c9ed4550d0c9e8854585e1b0796eb74e4da94bc2567b1fa95dcd2294f2a60fac2fca4e4edc52d515c85386819a243cc24e29e2dc3a6b25192efaeea20bb9fd91207c15a6ae2ff010dd1f9dd244c82e8e46d353fd63e0c2df65afd28e29bb6349f83b92dd83d5a83024ed9ca69401b16554ac3305e66c5c9e496284b5c5598a14e0979a294a5820ff9c040fbe711e6e7cf5b201b0f3652e384954795d3e58798eba43d857a098819bb92df9a7ea40374c58a4c304c835a73497a388ceb7771df29801d310573537f4e478d00476d665929b305d4966be8220681125a2f292004a8f3aa339017f84431e38f8ee5ed0af9a74524b06926673039fb8ade8a5043403b19bd6402f960222c73a2056ba3ffaa6b3ea689d42e71f4377eedad6e0524cc71b5f12d188d90d431b589372c610a6de95bb8010563712533764c82469d876c4c4d80bdad00a872c8cd982ca96e2d0819b8ab6e549f2163af302156d174b65e66355cb2c326985fe58fedffc0c97eb27bff220d6e964b1a927a0cda7a279214749c3e4961357383d555ce63a86a8aed945c3d06a71ec30ee6558b65ac5da5510679f8d20b3949e2a456ee460e0c65368fcdf7a8cba2840a716029 +ss = 4387776b0a3c8165ccc6588d1b597b5c7550480db7d4e57260a6b2dda2eca189 d = c1b3cbffad4b306f9af0cdd3028876486dbe858875c9b6497fe20172a986c82b -z = 1c96249919cedc2369d8d739ab125e0d2ccb82dfebcd90240a545cdfe07511f2 +z = b5b9e60227058afd73501b1c4e45adbbd41c7be8d14bcb8e98af77698fdf6b69 pk = 2fa2cee53ab17754381f14708ccbbd3a19ca2017a1637b08f2e9344ef76d5fd0ad937b027ae58787045b9da90acd172d29c02f2ea83b378690d6e694eebc39dfbbb12e13331503bccfa62b6058792c2642b365a9fc687661464768221a80d529dfd9abcb15813a4a6aa012010ec6a008419a6c8238f068671dd1b3bb3b10ba023aea01a90513518d5c6582329ae43c07a6929c3ce1740aabc291e440f909362c7c8651a64e0eb84d82448e9439351650318293010d718e8762c71dbb6cd0385c5be0c37709924bac6b6783c82431527996523ecc9bb462a1eeb0cb6276c344eac257bb4c4ab0124d6b1b7cf7473c050e9cb9762e856786ab1b5a9bcf69fc90318b3352e0481aab1b97279c088b397b419cc4cba756451e67628f535642b2d0cf71644e6a3b6f9b5409fbeb284356812d613ed338cc28babcdd4b6753f4bce7a7c54b077a5f162e96665a3299b938ca48ac0ccc7710bea5384fc4948dc1b56a1c7272bc4a3fdf53706dec2385db3767c4261e98c49164683cfb420c33cf7ed68cffea4f43e41da5ac727e87a981877e4ff12329e91ecd524790c1ab38784d89258562bcb5841ba8f0f17ab17236634a7019a520f48695ede951fe9042eba78e048791896844025a37575b2be610635ad358d0ac7ea3bb93ca4c8dbf6b566d00654f1541919650c4a88c9a19b4444a5cc7fb4ff087552fe1a288a15bb0941f71f4568ad3bd01c1991110bd2f755a9c7806ffa005803733e2e639e2da05b3fc71dd7a42e834190e4872841215454b294bf32a48c096d4476609e792a4e5465d5750aaea38d9eaba07fbb05d10950ce23256727850d97e16397e9376674c37be4fe3187c2842c797ace9475b1b42c10910270d917ab6cc42a573c51339c04c56a6b0150868a9a330620d886a5e2103248043b44e005a7344742ffab697f086526691b073aa70914b391c3cc31a83ff81a11e0b5ff71462915b742d438c6abc8587089d99a8c6f24a6f6d236eb07323c74a7892e5b3ed631370a65cfd4b1a4212348e54506648ccf0732a36c9b9cab979ac6c4c16b9ad0138860a392bf49490068807fae1ad459ad417635c409c28f9ef936ae28d221563e30f83162cef01b482889e -sk = 3f609cd3a1a40789a492321ce6309782d8a57b34207ea50472820eb39827d715c49809aeef03166b4169624b7aedca838ef52544c8422e4632162212161117187b0501d08c1c20417044a44627449086847b7867e1c7c4522972508856000db4eb0673d0a07ed0d62ed7f46b0c69cdbe2889b295b5efbaac4989629cd74311097a78fca8188460de2087d467b8f382b030e51b2ce940a032675ed9751f6a7411ec0050fabf4b3a39b678719c692a5886a4175261c1a989fee70255666a0071303e5bcc9f3598cfc840dc7224ab0cbf4f547dcc4b1d7bba4655205c5431445e69a221ab1680985df6d28ffa7c01f7e99228c77926ea4ff6477298f86545289603162c418bb33a824a0ffb8c62d9ab5939cd22d56e5fc8b087c96018e46aab76b194a3aba45280f3401300edcefaccc5c66050b6c194124a221be240e1cb736ecb523d74291ef08312b666b6d5287c56a70fa677065149fb030bbac88fafba8174c349b2a760b36296a66cb7ebe9978de623d064b5fbe8c2dceb34ae2882d673a5eca0bd3b256d81667f11d951f26a8416331ddd0c76bab6854694c43ea50fea5b55518989813482b05484532410bae28bb890c15246c4114746e424a8da008f3886c6d1d99d7898425ff68d850bc0a6b82f7f04bfc0216e71280dc6b44930e7a7d5b870eea9c258d7029aa936decb5c574bb1d4d5244d5a1f1f2371e498b70ca1a035d403d6609fb0867e4eec9e4c46650d1368ea70a8193989c4b8b9b782193d15214fa9c37ec64c85741b6e746eed8698cc8bac3bf0a4f8d332d8b6ab888733b0c1158750bbb9e73682879db3091c96244a9bb0c68f1b2985833009978134bb2d64c24f8f60a40df182b8b3abc2a407f765cb54f2af96277e02075271e901cb360d8b7160da057daf95cfc7bb5cb59563a0359800eb78def9bdabb2c655bb4af0e71e98c38569eb74da86c2ba30020276028b0b59d94a21c5348ef34341fe292a1f419fd9d03030dc7b6f525428781fdba04c25d86fdbb3650c2c8ef5153398d322d338cd7c892cd81b80a17b9c4ec77f64d4476698029c9645dc649b23db0e2fa2cee53ab17754381f14708ccbbd3a19ca2017a1637b08f2e9344ef76d5fd0ad937b027ae58787045b9da90acd172d29c02f2ea83b378690d6e694eebc39dfbbb12e13331503bccfa62b6058792c2642b365a9fc687661464768221a80d529dfd9abcb15813a4a6aa012010ec6a008419a6c8238f068671dd1b3bb3b10ba023aea01a90513518d5c6582329ae43c07a6929c3ce1740aabc291e440f909362c7c8651a64e0eb84d82448e9439351650318293010d718e8762c71dbb6cd0385c5be0c37709924bac6b6783c82431527996523ecc9bb462a1eeb0cb6276c344eac257bb4c4ab0124d6b1b7cf7473c050e9cb9762e856786ab1b5a9bcf69fc90318b3352e0481aab1b97279c088b397b419cc4cba756451e67628f535642b2d0cf71644e6a3b6f9b5409fbeb284356812d613ed338cc28babcdd4b6753f4bce7a7c54b077a5f162e96665a3299b938ca48ac0ccc7710bea5384fc4948dc1b56a1c7272bc4a3fdf53706dec2385db3767c4261e98c49164683cfb420c33cf7ed68cffea4f43e41da5ac727e87a981877e4ff12329e91ecd524790c1ab38784d89258562bcb5841ba8f0f17ab17236634a7019a520f48695ede951fe9042eba78e048791896844025a37575b2be610635ad358d0ac7ea3bb93ca4c8dbf6b566d00654f1541919650c4a88c9a19b4444a5cc7fb4ff087552fe1a288a15bb0941f71f4568ad3bd01c1991110bd2f755a9c7806ffa005803733e2e639e2da05b3fc71dd7a42e834190e4872841215454b294bf32a48c096d4476609e792a4e5465d5750aaea38d9eaba07fbb05d10950ce23256727850d97e16397e9376674c37be4fe3187c2842c797ace9475b1b42c10910270d917ab6cc42a573c51339c04c56a6b0150868a9a330620d886a5e2103248043b44e005a7344742ffab697f086526691b073aa70914b391c3cc31a83ff81a11e0b5ff71462915b742d438c6abc8587089d99a8c6f24a6f6d236eb07323c74a7892e5b3ed631370a65cfd4b1a4212348e54506648ccf0732a36c9b9cab979ac6c4c16b9ad0138860a392bf49490068807fae1ad459ad417635c409c28f9ef936ae28d221563e30f83162cef01b482889e5820c7564d087683c0a4864844335bcbd62afa1ee542c3c1dcd8b72c80824b501c96249919cedc2369d8d739ab125e0d2ccb82dfebcd90240a545cdfe07511f2 -m = f4b66a7d3b65b896dfe100b2cad24b175a1168cfd2ae11fd704b835f6bcd311a -ct = 3c159d0702480d26c38202c888d185889d1667a1cb5c5765074ad8ab055087bb4fa33bfcf0d130b89b2e83ce5d2747b0fc4f8e15b71cd612ade3df314f218e4ad7953615aa05b232a1021f5ce151584eac45e26d015b5053064790a8c10c260757cc23d497e70748f9ae50fdba92de47159653713dc9a5f74b585c254345cb4fa1e97307d94fd70e64f4c5121e4ab4048c991d5ad3707418e666d29abfeec77c71661d623fe6042de4849bbcba4790e6b7b971753124d970740144a9b84c11de4ce65cdc8173fed5ad2dcf16278dc99a0915b75bd58faabb4584347cd077c615ccce04857d0acd08a2cc83a6fdd1819874da9a6c4d3599e0d586efede8868552251decb2fba9cfefa8132ced96f252fb380c2cff3acb36391c93b72d056847a61843ecc52a0cc45c894dc0471b8d4dd2a114f7a2302fdb8a3fe1b8571b0ac8f4fdd622802950377709e5dafcee6aad923454dca718953db1e0fffcb7363204e87e06ce4130bc307e69d2608db707b501794e2096a1c64a77f48c2e696468bbb0412c860c75a6af4a952e61349451476957d9caf448ef151200ea02b60c667eac1a0129a6790a3b015729a5ce81940f8f961cfca5a4f24caf56d053cbca39de413f601a1354f5f969223f61a0d1faa8a538d8cee9d6992055d83e0aaa333b6ad0f47db1000ffc40e547eb913b3d77eb6d268881edc3843f77094ac83cd236f7f524c3d28ba598ef06ab49882e79f81322460850c7cca3c59acf57143366547bae996e8bc7445bbdcb9c5a1b4ac094d1affb03012311361098354246a368669e44ad8c20c08a3288de848c1a9859a2c70c2e8eefcc321beec2d4c748f7ed10053981a28c9ee56e847f4463474fb225b29e2912b052f50cd9d9f07720f2f4419df79467156f8c68b51da93db8f0dd36bfe8aabb88db18cea497919cc6adb712bfaba1d1763b6f2dc7c638a41977e2b9ce97e1d2ec179e112a40b28b1aa04a114b595ba2139a92de33feb67de9d83e9e4314db29432b13db08ccfa03fa993a1b4c32d6cdb1c44084ababcf6eb60387a1ff00ea62e793c04021ec93e494e560c14587 -ss = d10f6702018ea779ef0455f748100f6f60266fd6678c691cdbb79b6ef2f37d2c +sk = 3f609cd3a1a40789a492321ce6309782d8a57b34207ea50472820eb39827d715c49809aeef03166b4169624b7aedca838ef52544c8422e4632162212161117187b0501d08c1c20417044a44627449086847b7867e1c7c4522972508856000db4eb0673d0a07ed0d62ed7f46b0c69cdbe2889b295b5efbaac4989629cd74311097a78fca8188460de2087d467b8f382b030e51b2ce940a032675ed9751f6a7411ec0050fabf4b3a39b678719c692a5886a4175261c1a989fee70255666a0071303e5bcc9f3598cfc840dc7224ab0cbf4f547dcc4b1d7bba4655205c5431445e69a221ab1680985df6d28ffa7c01f7e99228c77926ea4ff6477298f86545289603162c418bb33a824a0ffb8c62d9ab5939cd22d56e5fc8b087c96018e46aab76b194a3aba45280f3401300edcefaccc5c66050b6c194124a221be240e1cb736ecb523d74291ef08312b666b6d5287c56a70fa677065149fb030bbac88fafba8174c349b2a760b36296a66cb7ebe9978de623d064b5fbe8c2dceb34ae2882d673a5eca0bd3b256d81667f11d951f26a8416331ddd0c76bab6854694c43ea50fea5b55518989813482b05484532410bae28bb890c15246c4114746e424a8da008f3886c6d1d99d7898425ff68d850bc0a6b82f7f04bfc0216e71280dc6b44930e7a7d5b870eea9c258d7029aa936decb5c574bb1d4d5244d5a1f1f2371e498b70ca1a035d403d6609fb0867e4eec9e4c46650d1368ea70a8193989c4b8b9b782193d15214fa9c37ec64c85741b6e746eed8698cc8bac3bf0a4f8d332d8b6ab888733b0c1158750bbb9e73682879db3091c96244a9bb0c68f1b2985833009978134bb2d64c24f8f60a40df182b8b3abc2a407f765cb54f2af96277e02075271e901cb360d8b7160da057daf95cfc7bb5cb59563a0359800eb78def9bdabb2c655bb4af0e71e98c38569eb74da86c2ba30020276028b0b59d94a21c5348ef34341fe292a1f419fd9d03030dc7b6f525428781fdba04c25d86fdbb3650c2c8ef5153398d322d338cd7c892cd81b80a17b9c4ec77f64d4476698029c9645dc649b23db0e2fa2cee53ab17754381f14708ccbbd3a19ca2017a1637b08f2e9344ef76d5fd0ad937b027ae58787045b9da90acd172d29c02f2ea83b378690d6e694eebc39dfbbb12e13331503bccfa62b6058792c2642b365a9fc687661464768221a80d529dfd9abcb15813a4a6aa012010ec6a008419a6c8238f068671dd1b3bb3b10ba023aea01a90513518d5c6582329ae43c07a6929c3ce1740aabc291e440f909362c7c8651a64e0eb84d82448e9439351650318293010d718e8762c71dbb6cd0385c5be0c37709924bac6b6783c82431527996523ecc9bb462a1eeb0cb6276c344eac257bb4c4ab0124d6b1b7cf7473c050e9cb9762e856786ab1b5a9bcf69fc90318b3352e0481aab1b97279c088b397b419cc4cba756451e67628f535642b2d0cf71644e6a3b6f9b5409fbeb284356812d613ed338cc28babcdd4b6753f4bce7a7c54b077a5f162e96665a3299b938ca48ac0ccc7710bea5384fc4948dc1b56a1c7272bc4a3fdf53706dec2385db3767c4261e98c49164683cfb420c33cf7ed68cffea4f43e41da5ac727e87a981877e4ff12329e91ecd524790c1ab38784d89258562bcb5841ba8f0f17ab17236634a7019a520f48695ede951fe9042eba78e048791896844025a37575b2be610635ad358d0ac7ea3bb93ca4c8dbf6b566d00654f1541919650c4a88c9a19b4444a5cc7fb4ff087552fe1a288a15bb0941f71f4568ad3bd01c1991110bd2f755a9c7806ffa005803733e2e639e2da05b3fc71dd7a42e834190e4872841215454b294bf32a48c096d4476609e792a4e5465d5750aaea38d9eaba07fbb05d10950ce23256727850d97e16397e9376674c37be4fe3187c2842c797ace9475b1b42c10910270d917ab6cc42a573c51339c04c56a6b0150868a9a330620d886a5e2103248043b44e005a7344742ffab697f086526691b073aa70914b391c3cc31a83ff81a11e0b5ff71462915b742d438c6abc8587089d99a8c6f24a6f6d236eb07323c74a7892e5b3ed631370a65cfd4b1a4212348e54506648ccf0732a36c9b9cab979ac6c4c16b9ad0138860a392bf49490068807fae1ad459ad417635c409c28f9ef936ae28d221563e30f83162cef01b482889e5820c7564d087683c0a4864844335bcbd62afa1ee542c3c1dcd8b72c80824b50b5b9e60227058afd73501b1c4e45adbbd41c7be8d14bcb8e98af77698fdf6b69 +m = d70b79de7c2f7cb8d18eaf1ca040f6d8588ba85512ad000b59806ba485538377 +ct = 493ca21a9b360107b4c968e6996729f94024831629b99b394826689157ef805a19e5cabb6b57d4d7c6cbb7b0783ebb77fcf394d9ad9ce5c0ec9c544a35643a6fbd772ba07e587a39d594c4b0d5b23738de8258f284068c0720cde22bfad86deb055a1303ecc65465546a35bf720a17eb4282ddd01512ce1f4f0849268801f9fc1019f16850164dd813a4c09b970530ddc7c18186cbd58079e69a967d065954b1fa02a2c2192d77ab820757a672ef8bf40ec6028642981620447b18b94db5fca7ef69ee54dcd797d3f7c4bacb4e1eb10dfeaf8895f15ef38d6fca77f494103c137ed7a977ca478faa1c972157a58a582a718e0f5aa24eb3ec19b7c0b508594c92dcfa4b40f65a376ee0c7d7c8ec692f4fbc776f10dc2cdbbb841d81d61dee566152789232847bfa4b579dc5bafc6ef3712b9c2581ba825d9912a38e98e1d5ec8d30b137efe5331e2150338570a1f7fca55ebb955593f994ad32ac15605b48282f7a0a3cd1e8f1839cd421b68ec844054ecc2b57a054f724f728659851f4f77a47560abe048ad6ab43c23969e624b3b25ffeb1d8ddda697a5e6cba562cf099d31f4ee49602bfd3689b2a9c1e35dfd8a972a1a3ffec1d99a2d210459191686232d3aa1fe312f4dea3758703ac80c700a23eb23868f8e13d63715ccf72f7ef653b9bee68e949666bedd75c66d8c942e5390c49b87c908b9a311ee3c62f28449893b33936ea6c2f6c3b384633255757465290513a1409182e5e57a859f0035862a0887324170925f76e1e9f50bd0a91a9ae72e9d4feaef4247fea84d0646b34494b094bba183fef0497a6184bb387e5d7956ad7be273f8be74366c758230da7d725a087e726687d333130f9f50aca92ef738d8f965b18b36d56effec8b686b165e1a8556f7d7d1a2f65ae32734623df8f16748105567557c384e490b028b3543c877ecdf44405f3e176084163afc3cf0353a183456c285b8aab7381cd9b03b6c54b183e4803f1ebadf71c40433b2b797f169c2ccffb228a55856bc50180d488646e1ef9c5504ded27c78068e6e60aae5af3d785abaa7ea83959ba89b5c333d8eb60c4 +ss = 45fae0c0ca5966c5c8bde18a22f84f7c72f830f3a64ce133abbd3c9446e96a4b d = ff7495b8575b5a98e4fd21fb4c3e58cbb60f14bef21aa74cf8802e3153f14807 -z = bdc370460375a778d1a31d01c42b66367ed8d9e8f84551002f552f0e52102b5d +z = 11c033d4a4bb231985ca7e851fc73ea4b2c29e131b7f442db8a66a9e5b31934b pk = 8529117dcb33b7d246d122ab27cb961b63bbc579c27f644213e6825aa1a0d4b44918784e1954b469f106d6464da8db4de1eb8cab31317885c16338969e5c546cfc30319cb37a7874369c6a0407b75f5a1443629def269cf7b98235569c1b396fa9164e2e0336cc8babadb160b082ba8edb209a426b25c435c35c0bc9b15af0d541d0ea5514ea354b828eb3772ba1ab1c81768a1e286ce2a01d1b900dd1ea9fc6d685f1095efc105b71571ae967bd9f9a02028729bbcb53c6a74b37950ef023b334241d2555845e882de3636cdfd45a76e1265f6937130016f8e1710b748959a8add626cb79b65de177c06ba2cd8dd759d86baf1d9b85f4da3b2ea9049ef9545b72cc0a6a736d5581c57a1d7d966f88c578dae60438292cb3ac26909baac0ec8d74471d511bc7e928b67913c17e4cc26818b2f301299da3910458be4bab41d3137cae0189225890ae91a364dbb683288b8d59b6619bb786dcc98a51910fac5c65e05b3c75a4185b99e00acf009535adc07c269aabec98adb1195ab0b5a623d448fa454e90c2a6be925ac912b086b31616337661d0a6ea7154e937a39d1a60a4b7923f4b2e88438386ec879196cc47d9179d382546168a36865246f07b86e48f3629c5b1bb99c62098d800cf2654acc6fb8057d25cd2d48c2cb71ef0e917bf106f99b35df1830d62226a1f7220be6c1afb229982067439934bd27b56171ac3cde09e2c1b3dcbda08c386355f328dc9d01827ea271a43651bba49a5a66f01966cca037fcf02aa074a7059d69de85961c9120e6d89349ada3af4d41175a6267aacc9637b8cf4d513a8f6b3ebcc9319c25064b337c0e90a88193e79a9810d2ba9b0eb089e437f473b9f5dc4b8eb95b24e1b85c5d0267da39bdf35831c1263fe923a2dc7bd54a5210e38203422a6dde30ff9c59325d36e99973e3e991b4284c06f673751bbc8c99b04c4990610dc2906b27369b72187aa2a13791cdcd47bfb37a19e149a32f8cadd638ac0e071771c9dfc58253a864c0e15cca60514f545cbe161030af806872ca2d0c67f54e04b4ca55f41a54b1de405a22ba275a1b919778fb4d69f19171d8f1a3a633448fe9c83bd28097bb29a168db5af1d1b354b6881a2ce509b -sk = af54bfc65182aac49a785108f30c5048428b97fa3843c48a4032397b479ebd8cacfc079444e54c4f764574f11418f73c8bc7bef0a18f5ca7a2cbb6312d4c63405a1cb76823c7a53cd301aeafec586e32118d3c7b966a96b4323e86f7846fc634e3e97659455d4cbc3dee95a519452bc8c50089d87440c7b2c0851a6309a07bd99e5e31520eb458b405763c8b0c4a2261b0f4679d70cd254a5484e02aa747c5ea320d6cd5584d517f7a664e2636a891762594d20557177f66d25c2b551f67cab766599d7aca5e6e8475239bb649437de88079c8ec645f423a9b51b8be13bce19579269b6c36eb16e404c2dbbc7ee06c6daecbad02cb8de945c1c8bb2edc298955f825c870bc29e582a810b27cb22c11497aede1b50c477840488f8b5a3fc730044070a30e573275299e6bc2526171255900743bf46c21ea708925a6ae27a8bbf5a3f30c1a5c99b0a84a7e66910a1f85842a5318c24a6038383aaf5940b1c8ac577359778b0f16350e8e582e19db11e13346dfaa90e132186ea660f9cb21776b4033c5c46d987fbdd5370bb7302047336f1066fae34c074a133ae89ad33c7464db9b4de654608bc71de12c64d7cc24801913543c10d6c77e24be428b2f4dd088e5988c5a76a208f517951b14fa95711d9c6fa6b84101139627e645504c00ad5209bf0bbfa7da39688429308c166b264f4b66a851e24828c23c93dac66980c84ca071c2b4a0db729cf2d73fc98855a9e66ff10693bb36756c4bc724f23f30b075927830f3e55c52607347fa7a09459635166c7f05834f2bb84126cac89421627a8217b9aa488161ed272b98973e63906d14f3b03b7b5fed63484eb545dec0ba674119d4c4bec2a844154797f4866af210bab216c1c9441d4694c0c7a969dd103307525d7b4722552b5489e83de29893fbf76498969534f8cd7aa04931758be6d2ac36983d1ebb2de14130de6bb7966b30a996cf2f0c4f83e78756129587dc5e50a40c69402f840852f2543a90e063d22755fbdc909f60b19ceb33aa749674b6bf03a3224e1891bfa641234ca963bc28968c3a598ab042ea5ece8c0b47763fd918998529117dcb33b7d246d122ab27cb961b63bbc579c27f644213e6825aa1a0d4b44918784e1954b469f106d6464da8db4de1eb8cab31317885c16338969e5c546cfc30319cb37a7874369c6a0407b75f5a1443629def269cf7b98235569c1b396fa9164e2e0336cc8babadb160b082ba8edb209a426b25c435c35c0bc9b15af0d541d0ea5514ea354b828eb3772ba1ab1c81768a1e286ce2a01d1b900dd1ea9fc6d685f1095efc105b71571ae967bd9f9a02028729bbcb53c6a74b37950ef023b334241d2555845e882de3636cdfd45a76e1265f6937130016f8e1710b748959a8add626cb79b65de177c06ba2cd8dd759d86baf1d9b85f4da3b2ea9049ef9545b72cc0a6a736d5581c57a1d7d966f88c578dae60438292cb3ac26909baac0ec8d74471d511bc7e928b67913c17e4cc26818b2f301299da3910458be4bab41d3137cae0189225890ae91a364dbb683288b8d59b6619bb786dcc98a51910fac5c65e05b3c75a4185b99e00acf009535adc07c269aabec98adb1195ab0b5a623d448fa454e90c2a6be925ac912b086b31616337661d0a6ea7154e937a39d1a60a4b7923f4b2e88438386ec879196cc47d9179d382546168a36865246f07b86e48f3629c5b1bb99c62098d800cf2654acc6fb8057d25cd2d48c2cb71ef0e917bf106f99b35df1830d62226a1f7220be6c1afb229982067439934bd27b56171ac3cde09e2c1b3dcbda08c386355f328dc9d01827ea271a43651bba49a5a66f01966cca037fcf02aa074a7059d69de85961c9120e6d89349ada3af4d41175a6267aacc9637b8cf4d513a8f6b3ebcc9319c25064b337c0e90a88193e79a9810d2ba9b0eb089e437f473b9f5dc4b8eb95b24e1b85c5d0267da39bdf35831c1263fe923a2dc7bd54a5210e38203422a6dde30ff9c59325d36e99973e3e991b4284c06f673751bbc8c99b04c4990610dc2906b27369b72187aa2a13791cdcd47bfb37a19e149a32f8cadd638ac0e071771c9dfc58253a864c0e15cca60514f545cbe161030af806872ca2d0c67f54e04b4ca55f41a54b1de405a22ba275a1b919778fb4d69f19171d8f1a3a633448fe9c83bd28097bb29a168db5af1d1b354b6881a2ce509bc56eb5880e9d9d0fe7901747f75eca1996c722ac47b76f34a4dbaaee0ef8a611bdc370460375a778d1a31d01c42b66367ed8d9e8f84551002f552f0e52102b5d -m = 1d7b03d3c5eefb8ae5799dc569aa668f1bcb8c86607b089d3530cf61d6380147 -ct = 44bfa86fbc200e3b4243364ffed07fc0f44312ee5965c0baf1770364941f7fce21e52674f90161fe46d2dceccfd7001a66fa85a18c2db94c1ed523b06ff8eb9ecb57fbd1c59a2312adf3d45282cf75976ac36e81f8fa70f007c75dd801a7f225f3b09c4ac6837ccd8cb3ad7f1f69a49206123ee3dd55203c98c6958fb34e89c5f0d3c5beffc30ecb7e2d3df0afe09c109507becc317d8cb522a002d46dfc2d82226e8ffa98950e6907da2861007be146940addd612b7c40ec6f57c2a867dde8d3c983203bdf8eb7fa102342d0c5d9d81e4984378bdc2537a0c4b3ddadfd9eb6b9fcaef80c3817211387379738c4b48d7cd996af062fd309c67579386f982bcdf72da1ec11ab51aa864b0d8e66d986e828635c1c51a59607ba6f6e9cd93eb10de04e1e3f24c7afda6ceb5c67461a15813809156b25e7cd65774affea331f7575c40805ef6a6e759d1460ef39db9179e4e51a7cd95750ae7cb2a2e3283434567742fd94c08d0ac6c7e5dc51c366256256227ba9dec92fe3bbf97187c352ed28641a1a635f17674f555bb8cb7adebe163132f01758019c329ec2944733979f9210e3a717f269060f2c9d934ac6d2bd5353ac330b614c5eea6fc9049a044303cc734c7d2d14f18156cd4d515d783c38aff4598dbc648724082e7e96186a2b25f3ebb2461e28df011b2ee7fdc6fec148cdddb5e31ba382fc1ed6715c0b763786f0c944b8ce9de73306634c1f9b52b8b762cd036e8a79136adbd7b99bc9c91d284ae05e2820fff1dc5814957c70dfbd7ee202fcaece8ab40b77018a1b2ec86aae520ac468bb219eb4e9b9110cc3cf00d67b79f0263d505eea84f40970954aaca2935874b7a728f88bb3cd0f155cd0b1c646f46a2c38b0ce253bf36469715b9eeef3519f4675660d3a6fdc331536ab75ed0e6d1ef8e3affd54b07eea9c2ce7096610325db886fd34460d2ca210a82410d7b3c3e33b396a7344e092fb0b9c958e367a06ec59f2c6799618b2269a9bd95d23cfa7eb2d5e526db2fd0f5107e10b844855c2441f7e0112dba8de3881833f130b9b39eef68b30e52ccd5562f268e7c40f1f5f6 -ss = 37b36cf73590028aa9323b401df00067c8fe925968ca3c30c2b0e5d5c75ee296 +sk = af54bfc65182aac49a785108f30c5048428b97fa3843c48a4032397b479ebd8cacfc079444e54c4f764574f11418f73c8bc7bef0a18f5ca7a2cbb6312d4c63405a1cb76823c7a53cd301aeafec586e32118d3c7b966a96b4323e86f7846fc634e3e97659455d4cbc3dee95a519452bc8c50089d87440c7b2c0851a6309a07bd99e5e31520eb458b405763c8b0c4a2261b0f4679d70cd254a5484e02aa747c5ea320d6cd5584d517f7a664e2636a891762594d20557177f66d25c2b551f67cab766599d7aca5e6e8475239bb649437de88079c8ec645f423a9b51b8be13bce19579269b6c36eb16e404c2dbbc7ee06c6daecbad02cb8de945c1c8bb2edc298955f825c870bc29e582a810b27cb22c11497aede1b50c477840488f8b5a3fc730044070a30e573275299e6bc2526171255900743bf46c21ea708925a6ae27a8bbf5a3f30c1a5c99b0a84a7e66910a1f85842a5318c24a6038383aaf5940b1c8ac577359778b0f16350e8e582e19db11e13346dfaa90e132186ea660f9cb21776b4033c5c46d987fbdd5370bb7302047336f1066fae34c074a133ae89ad33c7464db9b4de654608bc71de12c64d7cc24801913543c10d6c77e24be428b2f4dd088e5988c5a76a208f517951b14fa95711d9c6fa6b84101139627e645504c00ad5209bf0bbfa7da39688429308c166b264f4b66a851e24828c23c93dac66980c84ca071c2b4a0db729cf2d73fc98855a9e66ff10693bb36756c4bc724f23f30b075927830f3e55c52607347fa7a09459635166c7f05834f2bb84126cac89421627a8217b9aa488161ed272b98973e63906d14f3b03b7b5fed63484eb545dec0ba674119d4c4bec2a844154797f4866af210bab216c1c9441d4694c0c7a969dd103307525d7b4722552b5489e83de29893fbf76498969534f8cd7aa04931758be6d2ac36983d1ebb2de14130de6bb7966b30a996cf2f0c4f83e78756129587dc5e50a40c69402f840852f2543a90e063d22755fbdc909f60b19ceb33aa749674b6bf03a3224e1891bfa641234ca963bc28968c3a598ab042ea5ece8c0b47763fd918998529117dcb33b7d246d122ab27cb961b63bbc579c27f644213e6825aa1a0d4b44918784e1954b469f106d6464da8db4de1eb8cab31317885c16338969e5c546cfc30319cb37a7874369c6a0407b75f5a1443629def269cf7b98235569c1b396fa9164e2e0336cc8babadb160b082ba8edb209a426b25c435c35c0bc9b15af0d541d0ea5514ea354b828eb3772ba1ab1c81768a1e286ce2a01d1b900dd1ea9fc6d685f1095efc105b71571ae967bd9f9a02028729bbcb53c6a74b37950ef023b334241d2555845e882de3636cdfd45a76e1265f6937130016f8e1710b748959a8add626cb79b65de177c06ba2cd8dd759d86baf1d9b85f4da3b2ea9049ef9545b72cc0a6a736d5581c57a1d7d966f88c578dae60438292cb3ac26909baac0ec8d74471d511bc7e928b67913c17e4cc26818b2f301299da3910458be4bab41d3137cae0189225890ae91a364dbb683288b8d59b6619bb786dcc98a51910fac5c65e05b3c75a4185b99e00acf009535adc07c269aabec98adb1195ab0b5a623d448fa454e90c2a6be925ac912b086b31616337661d0a6ea7154e937a39d1a60a4b7923f4b2e88438386ec879196cc47d9179d382546168a36865246f07b86e48f3629c5b1bb99c62098d800cf2654acc6fb8057d25cd2d48c2cb71ef0e917bf106f99b35df1830d62226a1f7220be6c1afb229982067439934bd27b56171ac3cde09e2c1b3dcbda08c386355f328dc9d01827ea271a43651bba49a5a66f01966cca037fcf02aa074a7059d69de85961c9120e6d89349ada3af4d41175a6267aacc9637b8cf4d513a8f6b3ebcc9319c25064b337c0e90a88193e79a9810d2ba9b0eb089e437f473b9f5dc4b8eb95b24e1b85c5d0267da39bdf35831c1263fe923a2dc7bd54a5210e38203422a6dde30ff9c59325d36e99973e3e991b4284c06f673751bbc8c99b04c4990610dc2906b27369b72187aa2a13791cdcd47bfb37a19e149a32f8cadd638ac0e071771c9dfc58253a864c0e15cca60514f545cbe161030af806872ca2d0c67f54e04b4ca55f41a54b1de405a22ba275a1b919778fb4d69f19171d8f1a3a633448fe9c83bd28097bb29a168db5af1d1b354b6881a2ce509bc56eb5880e9d9d0fe7901747f75eca1996c722ac47b76f34a4dbaaee0ef8a61111c033d4a4bb231985ca7e851fc73ea4b2c29e131b7f442db8a66a9e5b31934b +m = 8449bffafb415183ec7e27d7fa2e30ae045b7d860a4f59ad0c551a8488e1db6e +ct = 4cc0d59daa66e243dba829889e082f8afaa8c5b8cf65f5b796783cb9d1973628dc5b5dcd4c8719240aa742d5d202ba1895a4d82fededb63155c6750b1dfcef7c3c066049c70a61fe273d1b0dd2ad763192ee60ad3e9a07dc734ed3528a9b8405ebfdd359306cd6b31531ab596e77ba6a9a9017e935112c11dfaf8cbbbd6546d4494fc77e8c646b427069fe1649d891aabce0edcf21602ccd21a9be2cfc7249fd5a85e4582a840b9f50ec330355f008717502fd39508d9459bf0a7dd4274d7a9038cfe81f6ae09ee0bcef26e5b05f672936e162782013de87a2d907ac48e800fd7c2485b65121997868934a9df188a7144e07a0632749064c013c2154630861e9ad8403579c35240707cac10398db4daae7a3fffb2e40a2367b22adacb07acc13da42ba652b19f71de2d09809a1e716a02b91aa02a28f82fe012daa945e0ef1eb9ae12780ed421c53327cf6d12894b2d27dbd43a820b247323fe787ae0d6250e33a4f2c3eac58aabfe8f0584079164ac15e0880796bc02358ca9c721fb0dd42acb74d6c0b5ee5edf9d34aed9239edb5eb7c1ebf6f05d2f9304a0b3f867692a7b9fde8f3abdf4550fecd54ce6bfebfce560b54c1529ae8ea28fbb19ad64a0b1e9ab959a6101e897c23df2eb0887260330cf78d7ddda8a32c2aa7d41ea8bdcca1d14fb515cbccef1e427f51037c531a810e0da9d03ef97278add9573d86080cfec4c86f494070b983f71b4b4fbd37aabb8340fb7dd45f9dc9a895369da8a7dae9bc1ff316c636687b4c79f88843ac54875a778998a3c530d4d5ec9f8f62524da09941fb5c6d6e1662df26ad5a7112d389746b6dd47206669cc7f35e0ca4c3ab3686286b9557c6c26713e95b67ee8d887f876110b60cfddafe1d448ffb938e36f983f5aa734f5eb085f33d44cdec9d0bce6b44048839aa7189c96663d9719b6e075dd366b40f15eeba6809187cf772f820e89754e3bb6bbaaba5b8bbb30461897a88762fa760a77c88c4001aae94d50b68c66c5c68a797d9e67a93ada918dbd867e28354d064d7d080f4d4f810d1df2f70337d55922a1964e117e7181353775bc456 +ss = 57d241a8259fbb1c2fc276753be7dedd4a3765c038840db33c5b4f05ba895e56 d = bdc3fba1c32751139fc45bacffb3ea97f26573d804a5f27a459293d95190ed8e -z = fd5a08f656a6eb8cd20679930a31caa6a6331c4b133a6838c223ef9f769f6246 +z = 75fd654bb12da3469881ed591a82f58b4bfbac587d045fdf3aa0348029deb1a7 pk = 27dc0b5977446a8a2769da6dfa5aa672b16fb8b63a7961433811b6f0a973935587f60c8bb78326448a89bb291a32f1406282c3f8772a4e2b43ec8209fe907d1ddc8d47584a822b6684da85a4c54906320a9169118b1c6eaa058dd3233f13922e249932f65ac9f3932253c4c1e5ac9595d5a10ca6cff03403b641ce79252ea2b999365c2c8ae62b4f369c45eace0d35255dd4703d06ae06f22c25b50d312726e6165a968587a206a7ff789c40f1a195076dd3340f0dd8c6b3049be76b2168ba6aced5cb794516432585bc5a5deaf09bc5eb3306f7633c82bdac28bc27cc1924312462e48e6fb087d3a6b61a4a21e1a8917fe4b2c0c13570d26e8830a0e1923e649a756a5216844a368efa096d65a2c4c3102f80841a4211960070e1ccbe6538be5c7cc09469c76a37089a163aeefba6d340cc18ca86599a7eae767ffea39403792853834423920f2e026e2bcb6a40167e1fe504df7908d1bb7fc8c36a68dbbd30e611742bb9ac65334ed34dab7a8258141e0dbc403ff3bdabb96a17e5516cb86d10c55e9f4a759e27075c73339d38b4441c7a4ec79e1e6a60c88729a26b8a94739c3b807141713650920d6be7c628551cb3169b3de62afbb746323400411b4039c16bdd4c7ebeb039db0cb8e3d1af20470e5a5b154a7040fa650f69dccbfd44119e4371d527822770557158573943683b32a80ea50241eabc322862cdd9924a00443813b6ef4a7b94fac2ba88542b4454ee27b54edb090bb688e7eb1a3fab22a11a065bbb52a66069aed1cdc3e78d36848a1f8b6bd15108a3846bfe14a51d89382d8332bb311f0b6909eed19d43182ea5044db4d43ef3a9173dcc669fe5a8a36abd300378d6342863cb2e9b4651aa8689991557e9636c92c87cef06848d500f2a3cb85c665f83e64eb54abadd777e10a23fbbb1818eac65d928b1f610851fb7433e255efe666daedc1e52e32a9f1a1d9aa4398253a644806073734c39441d511240798ba315599dac72cda9925e5a8a0183867cd442bee54b7a431253e9ba21f2098bb5350f6e048f19a51d90e7cfc408bb040859bbf59d80f8cb2702798f074bd375f6a1289b8cdbfed9f6518d7031c57fd3455d4544735cf52680424c90f14f -sk = 3a77378a267782691cf4b96b2079605ec20b738890d0c73074cc16250bb722d4a07d2c4addab34ed49489873b8b0a1310b96aff2b77e3bac6113f3446aa414d191c8598c8207e8aa35b684e718cfac011ee32093de65346dc1056fe20bd90b0275444605da00573b335670572489ab488243170bc1cfa87e0ea183d691759071b358b94ca4830458737a9ed085d0249a2af3293691bf248016bd966f23077d83a6adad2235c7d1892290a67e485c18dc556a098a546cce24b520f42b6cffa320d91231b2f105fa0a6ef93044cff90a990a12bad553a4b0c1e29761e4b71a5af81e2a8b834a4b2b39b354c7b0719b204f85d259b7a32a08c254c2ec740e27922089cb4e5b5955a34fe9d58cd4c5bcf8bb52453b848c82ae39f0144de978c974b5bbbc7d47b52b62b398b4352e455ccf20f03d38598a435b65dd86bda4fcb5d3a514e5285069b18444823fdcf820e5a093f8b91b7a51313327cd644c19c170ce6fc8126f97664b68a01a887791456e8935022d935fb3fbbd98c45ef57a36edc73dd1468a0e0023fb9b2435b925b1d88e37177789856ae6d15d2b753243386b85bbb879cb48e90a0380a07a7cea4278130f9fb90142e67a9a69bb031b7a7a32aaa9811886977d28922060527175305538d9b1a0b2aaf014c41ff38afba9c2f1e8abdc6bc754ba5c51f2473e378c84db250da85acac43654ac5ad4060cc5fb09c0eb62676601af9c1fee6c8e04537f66a561b93b39da17acc6616abee22692ab867c091f250c5a451b2d181b17fb889d2e91a941d9ccdf639340417641688eb6305bde148e0241cd4818c8f12c5524577a6a4757eeaa2f6fe24084102170b43539f205e7a800c5205e2b036de2302cc7533faff17f72d8a212477187f14ca8a1398a72c77b858becba4d4f75ba02d4b8a640abe0464bac158e531a7b7bd858e20a0159b989b8737698741147062c37b0a030c30bcb2793ce51b28eaa378d2085e99007de2b527396accce8bd1b285b8c2c06f23ca77eb02ce31a1e4a6b53abf43e13a945d38c95f3096a1555cbc5e852fd248cba66991af865a916169e383a3ebab427dc0b5977446a8a2769da6dfa5aa672b16fb8b63a7961433811b6f0a973935587f60c8bb78326448a89bb291a32f1406282c3f8772a4e2b43ec8209fe907d1ddc8d47584a822b6684da85a4c54906320a9169118b1c6eaa058dd3233f13922e249932f65ac9f3932253c4c1e5ac9595d5a10ca6cff03403b641ce79252ea2b999365c2c8ae62b4f369c45eace0d35255dd4703d06ae06f22c25b50d312726e6165a968587a206a7ff789c40f1a195076dd3340f0dd8c6b3049be76b2168ba6aced5cb794516432585bc5a5deaf09bc5eb3306f7633c82bdac28bc27cc1924312462e48e6fb087d3a6b61a4a21e1a8917fe4b2c0c13570d26e8830a0e1923e649a756a5216844a368efa096d65a2c4c3102f80841a4211960070e1ccbe6538be5c7cc09469c76a37089a163aeefba6d340cc18ca86599a7eae767ffea39403792853834423920f2e026e2bcb6a40167e1fe504df7908d1bb7fc8c36a68dbbd30e611742bb9ac65334ed34dab7a8258141e0dbc403ff3bdabb96a17e5516cb86d10c55e9f4a759e27075c73339d38b4441c7a4ec79e1e6a60c88729a26b8a94739c3b807141713650920d6be7c628551cb3169b3de62afbb746323400411b4039c16bdd4c7ebeb039db0cb8e3d1af20470e5a5b154a7040fa650f69dccbfd44119e4371d527822770557158573943683b32a80ea50241eabc322862cdd9924a00443813b6ef4a7b94fac2ba88542b4454ee27b54edb090bb688e7eb1a3fab22a11a065bbb52a66069aed1cdc3e78d36848a1f8b6bd15108a3846bfe14a51d89382d8332bb311f0b6909eed19d43182ea5044db4d43ef3a9173dcc669fe5a8a36abd300378d6342863cb2e9b4651aa8689991557e9636c92c87cef06848d500f2a3cb85c665f83e64eb54abadd777e10a23fbbb1818eac65d928b1f610851fb7433e255efe666daedc1e52e32a9f1a1d9aa4398253a644806073734c39441d511240798ba315599dac72cda9925e5a8a0183867cd442bee54b7a431253e9ba21f2098bb5350f6e048f19a51d90e7cfc408bb040859bbf59d80f8cb2702798f074bd375f6a1289b8cdbfed9f6518d7031c57fd3455d4544735cf52680424c90f14f717823f0b58cdfacafc795aea529561d11374f02964cf635c27848671043766cfd5a08f656a6eb8cd20679930a31caa6a6331c4b133a6838c223ef9f769f6246 -m = 554f3385b382f4a46314de37ee3885addfc5332bd4038785094e0a832e9e8c2c -ct = 6a7cfd7988d650889309022770754f832a80fbd066c0eaaf36f51bf2f2b22fb14cbf94d51c2e93aa3071a4b82a466f03692941c066599ea6e586e5d41913dc6fe1ab9e71bddb77b10c0563f9eab15a224d8566372de7864eeb3ff4a5d88af53536062343d97a6cf188a91fd3ff1449032e666b47cbe09a19a55019562c1555ace1a723f0118da13e1743b284e8f95ce04efb756cc353c526d1308bba2cd595da22ee01f3f1a220ccbcd6fe773a2752d4dc1487efb00b73db606d02005d6dcb1c470731a3cec98c13dd3c3640dbd8717975b3b736d02ced4087f0d6d8b025c2f14b0c8cbd882d45c400d99c48fa1a633725739cd70382dc2972e97a6addac1ba51e2268ee08cedad30a2fd36320a1e36fd4680b1cf3be8b7ccdc8471dd722fa33374809679c46e044584bbca3b2ba71a56bbf4fdfca68e949968aceab8a772d84424b10ef54c6e8f2443ed93fbeccb8cf2f4b90e4c3ec5cc809d9227d3944331adf971847dd2d18aa332099d52cb51f47cc30637ebdc5ae43c41e424a1e763a34f7b2b77b4abd12942aae5e11dbccb37c2f07cb9143fdb5a63c68c1203983f1ff0de17024bbacd6ee9c00e808dca42e0811e27c2dc1a60a5b5f46bed193a7a09b7e6b6dcbaf217255b4c2a6f443d775ae30b05117154090dec8b70a59c63181c355abfc1c59e33d894fb38d16fb636ce6388b9a02811bfa911631392fdf727d31871a09edaee2c419cc68f876782630461d531a0731d8645a6ccbb1214afc7837c0ba27095def2d5ea06a9dc34a3591ddc526d97598dddcae9d59bcac07020968e5fe384bd0e3f56e9f7f8ae1a0e94b7723e8a785677c5203e202982120c98dfef9c6f6f8a75634483f8977c9bf40cba0446568dfeba898f426fb695a34e751095b91fd6c5c67f3f94372c17f8fef012246dca3cb3411198397f82663075d64e41d5bdccf5a9872de8f276c054992b271c077e610ca46b5aa6a8cbdda0b75cd76aa268a97d38839ef213ec5a05966ccb565b0ed65a17cf7b27cec8f2c7cfde74390b5a65e710e6911478efa285b12472f187fe0b993387089d7671236df26bd52 -ss = 4f5be9127b3fbe127c44c6d599a034dba15372208240f5e2a0ac8c630db550a2 +sk = 3a77378a267782691cf4b96b2079605ec20b738890d0c73074cc16250bb722d4a07d2c4addab34ed49489873b8b0a1310b96aff2b77e3bac6113f3446aa414d191c8598c8207e8aa35b684e718cfac011ee32093de65346dc1056fe20bd90b0275444605da00573b335670572489ab488243170bc1cfa87e0ea183d691759071b358b94ca4830458737a9ed085d0249a2af3293691bf248016bd966f23077d83a6adad2235c7d1892290a67e485c18dc556a098a546cce24b520f42b6cffa320d91231b2f105fa0a6ef93044cff90a990a12bad553a4b0c1e29761e4b71a5af81e2a8b834a4b2b39b354c7b0719b204f85d259b7a32a08c254c2ec740e27922089cb4e5b5955a34fe9d58cd4c5bcf8bb52453b848c82ae39f0144de978c974b5bbbc7d47b52b62b398b4352e455ccf20f03d38598a435b65dd86bda4fcb5d3a514e5285069b18444823fdcf820e5a093f8b91b7a51313327cd644c19c170ce6fc8126f97664b68a01a887791456e8935022d935fb3fbbd98c45ef57a36edc73dd1468a0e0023fb9b2435b925b1d88e37177789856ae6d15d2b753243386b85bbb879cb48e90a0380a07a7cea4278130f9fb90142e67a9a69bb031b7a7a32aaa9811886977d28922060527175305538d9b1a0b2aaf014c41ff38afba9c2f1e8abdc6bc754ba5c51f2473e378c84db250da85acac43654ac5ad4060cc5fb09c0eb62676601af9c1fee6c8e04537f66a561b93b39da17acc6616abee22692ab867c091f250c5a451b2d181b17fb889d2e91a941d9ccdf639340417641688eb6305bde148e0241cd4818c8f12c5524577a6a4757eeaa2f6fe24084102170b43539f205e7a800c5205e2b036de2302cc7533faff17f72d8a212477187f14ca8a1398a72c77b858becba4d4f75ba02d4b8a640abe0464bac158e531a7b7bd858e20a0159b989b8737698741147062c37b0a030c30bcb2793ce51b28eaa378d2085e99007de2b527396accce8bd1b285b8c2c06f23ca77eb02ce31a1e4a6b53abf43e13a945d38c95f3096a1555cbc5e852fd248cba66991af865a916169e383a3ebab427dc0b5977446a8a2769da6dfa5aa672b16fb8b63a7961433811b6f0a973935587f60c8bb78326448a89bb291a32f1406282c3f8772a4e2b43ec8209fe907d1ddc8d47584a822b6684da85a4c54906320a9169118b1c6eaa058dd3233f13922e249932f65ac9f3932253c4c1e5ac9595d5a10ca6cff03403b641ce79252ea2b999365c2c8ae62b4f369c45eace0d35255dd4703d06ae06f22c25b50d312726e6165a968587a206a7ff789c40f1a195076dd3340f0dd8c6b3049be76b2168ba6aced5cb794516432585bc5a5deaf09bc5eb3306f7633c82bdac28bc27cc1924312462e48e6fb087d3a6b61a4a21e1a8917fe4b2c0c13570d26e8830a0e1923e649a756a5216844a368efa096d65a2c4c3102f80841a4211960070e1ccbe6538be5c7cc09469c76a37089a163aeefba6d340cc18ca86599a7eae767ffea39403792853834423920f2e026e2bcb6a40167e1fe504df7908d1bb7fc8c36a68dbbd30e611742bb9ac65334ed34dab7a8258141e0dbc403ff3bdabb96a17e5516cb86d10c55e9f4a759e27075c73339d38b4441c7a4ec79e1e6a60c88729a26b8a94739c3b807141713650920d6be7c628551cb3169b3de62afbb746323400411b4039c16bdd4c7ebeb039db0cb8e3d1af20470e5a5b154a7040fa650f69dccbfd44119e4371d527822770557158573943683b32a80ea50241eabc322862cdd9924a00443813b6ef4a7b94fac2ba88542b4454ee27b54edb090bb688e7eb1a3fab22a11a065bbb52a66069aed1cdc3e78d36848a1f8b6bd15108a3846bfe14a51d89382d8332bb311f0b6909eed19d43182ea5044db4d43ef3a9173dcc669fe5a8a36abd300378d6342863cb2e9b4651aa8689991557e9636c92c87cef06848d500f2a3cb85c665f83e64eb54abadd777e10a23fbbb1818eac65d928b1f610851fb7433e255efe666daedc1e52e32a9f1a1d9aa4398253a644806073734c39441d511240798ba315599dac72cda9925e5a8a0183867cd442bee54b7a431253e9ba21f2098bb5350f6e048f19a51d90e7cfc408bb040859bbf59d80f8cb2702798f074bd375f6a1289b8cdbfed9f6518d7031c57fd3455d4544735cf52680424c90f14f717823f0b58cdfacafc795aea529561d11374f02964cf635c27848671043766c75fd654bb12da3469881ed591a82f58b4bfbac587d045fdf3aa0348029deb1a7 +m = fa2c8b8c0f711a6d31c496199ad1993c31db62debbc11ba3b3a86fe4278c365a +ct = 13c828ace3e40505aea63f4545817fc71efda81d2f0cf4bb2dea41d247979fea98932f0cee1c09763b0fde781749ec50ccd349375c41eee112c35b5511f5dc8606ba0b6b4d737369fa178c762e3504088d34ffe5d07f5a1c26a658c25c63e74396d13e82aff7806457ab1ab2961a28b13ad2f92990ce90010883c9d2c0ed4526b850391e44f8568cba3e40a0e8d3c09a7176040cde1e1ef0a55fc21b9d013cc3e4235e711b26d8cf9aa029dd891df40c453dddea1fcc94f1f3a039d48575e9c4666b25a0d34069c21ad2dabf0943e57c798fb48523ec7c914b4510bdcbbc0f2ae92904693e7711ad46faf7e5b0fef56a1485b5434477d85b1ece72f70f0db044a950e3ffdd34057850f9ccfd3317cb257d1cd4e637d410a6d9cdcd947a2bcb7d81e34b4bcea69ee32a7ff5ffcb15cc58b2594c380b7dea8d9d20f232412d108c743d1122b583609cbbe2dabad9d43c38a522c82d7d0158bdc1072200a6e8b0c087efc69a8306599ff99d1e7e940dd80437cc7feb3ea13f5f1caf2f95aa17dc2b5b18e9b5b7cf978ac0b41553804d57567bc18936fcb35d782d06468c2d7233e117cb7c7b650012a4bd52fec7b8d7295dfaa188fc20a1a5a7710182a4355440af6d0a4ba35e6ecd95241498177b630e37a625eaad077499a7e1b8d22dc90f3e81455252e463547e22ed98a8f77cf0c12e7660b8b34ae72f87d5766f558182e606586361ad180aa03bdd800a224bddd73fb183819b2d1c5eca63dea7ad000980873dc2ac1ebc4adc4dbd0d4bcfb3931f71d1a48c9f2ed51c8079a26883c76c460f273533a2fecd9906ce9bbc9d4b12f47b8e17903011a40ed0e3eae960da8e99be9ff1276cc4ae95470fb4b0158f74de97aff5a3792e24b73e77aa7092fcbb1851c31a4490b18bbedf1ff6147d0a5b9d50287532dcfa18ca307f9609dee2be6cb01dd34bc64dee9abd73418cee32870153fd469a2fadafd8b1d4b197b07f76fec3110c3c881df26235207698b32dfea2e192a893ce24caa4ecdc899ef38b176bd6eeb2a3d2de6330c8fd8308dfeac0aa28722a87fff76ea452a5081f8fbe14c65d +ss = 3eb9b8337af19d3199996eac976736b6dd221c0d0754a97bba1c823814e1c459 d = 447f6076a627bbc5ad7773fbfeb14b4ba9ac43a0f8b99fb6dcd5e452aa3c47ec -z = 20a7237801f470fcc2bd9fd7bea8322859b850f7882d362947432913dd068c01 +z = 4c7e3a5fa1ec46b73f87af48578132eb080aaa37d31f0c2a041c5948e59f44f9 pk = bd413efb6cc0b49a447a9a5f2cc99d7d5cbfeb4c934ec948064aa816eb0dbb4a0f5232b0c4b4ce98098441227f25ab91ec97319ff68a916910fd0ca1d5209c3420508b64acec450140165620d9bf8b8170ad328286e49fb049386658179986512fc07d47d49a1aa5bef5a4beb499a007065a79e164a1713804b108a95072ec9c6a1be395baeb09fd9a8e0a749049e405137a5c05c80715f9b30022183ddb127cbb1ba7556302d2b1063b798cf164f0f0bd40a202c13785009bad8769c3155b643f7a19f9509987bc2bccf41a3b9c1b9a844fcc537d8a8a28cce0641b16a0fd49969df2051a6b36b5b58741a0cfd49868bd136cbb4763a97660694539a2025649a7884a64761a1059cda78e07c5abeb297c9e61407ae00606cca7d26c0da8436c4343aa216c6b71375e4c9a0ecfda7697e149b72c025696aba086251826435c79c742058b644b7466b857cb5792c539709a59ab15aa296acc5bf5d30bce8b0b11b56d578837f922a7523927b8f0323bf79ce8c372c8655082901ff1630e0d27baf8acadaf284742e73ff5650a3ca80c47586a1d1664128a4518e83a0e4b13352b4ce5838cde93826f0ba92cd6027d0869bb5342ac1c11dad0938c5ab3a836a646e37cc2d42d3a9324ff0282a4d38fd9055bcaa715e8da77d08434f535465c9b880506831b33174b974d41e680000b5ba3835b457768b3936d3810557e72407d9a953111990c741104fa243a922da7b03d65d2b41438449bb0975aa8b1d1c3751444c91359bc3b149affa8ce3413692339ba39277797352d24eb2625645995a12c2e69a62f421b510225ff21b817878aa0031d0f70a68433b422a7360f69abce2bac840b57afda2144aa62949093f643a5cd209486b6cecea226d205ab14e76c17cc86345b0d119aa3f9cb94f5f93164f863feb4b513083c53fab20da3605f83b46b5420ebc19de137c2b4e55b749399c5386af0870250e853438321ee767012483d8b460239350c82f8700e3568dbf453fa275d5f612ec8fc6b6e37854e8131870862f8046881185c3903440008c4b3464cf43b6f5a80a47c473a6870137924c09133e8d8c063cd3044da1719855fbbd9796314b11df8459ebd2d92b7fdc94c4c -sk = b25157949acc7dab5dfe796ce8902e9ba933ad2c91c1c218c85230c65a8084756151317ea17c0d313375dae0afb6e63971333408c86cc3131c9496ad1f745f96379391c48554a939c73a01379479938a7019f55fe294291eb6793eb4829cc0af6a37759cb7a2cad703838039cd3b9e95da69906b2f4a5661ab57a165db6c6d49554ce7bb2b91a17139bb444764d1e7b92ac88083503876081a36e675d76635808a611b4b2823350d1d01ac8be1c75a3b8a59609b6b2cb553f1c9a016cdea341b7c1ab79d0c5a64bcaf47e0b6c1921e8c701b177807b69715fcbb9954794b68f9435332155b8abd33d128f3e9a4707793d7524290da5fc96b5996fcb62e80c5e6e22183293b2871293a0a13354a6f3de7894a920432ebade7a878c06836e7eb3fd108129536ba88046407a72869824370243f9ad048b144badd49af5eca04e5a74f77bc188c665fabf14b0480b0355c8f8252c3a0c33c77b29f43ca629637af1b724fcb7a27ec876cc099c098e4c469300aebc99497da620a3a0037f79ac75cbd7ae35094e98609e1460ba55ddc32660ad239a6614e0413891e2c94ab73114f1020b9976a3193c62467856ab2a2854859ffd3074aa46de6123d7f64b4bbe83ec9483bec29c0fc472671027e1e4905a2219c67f37f54716f13e0a4ffb57c6b0c1671f874bd7399f94a9d72cc86fde021e5a85919087339560ed10110b430570b7c0a7e8ca0becacc37c732773074a2f1bd73bc8d9e1822015944a140ba72e1293b5a392d00bef7bc9fe6777875f32bbe830edd45818ab8a201113a4e8a441426251cf5c84ef678463702e2c01375a80e7f2b4618430683e88b034b64b4ec7b54030e19a0713b459e0a35b2678c2fe8484fc8717765f774ebab72b05687da090412b669f6747041c01bc9a5c1074077b878732b4b922e58b6b96b45a6072ad8f0b7b88ca7bab621151c5aa666b5a3f550fcb136a3b283562c347063bcd9e7226ff5ac4004b23542057da43f998956a77b684d6c1d450195b2d4216de34512048a166761462b27e3b4c47e475551d33cd9b70d9e7a119d1980270b126e84bb1faa49bd413efb6cc0b49a447a9a5f2cc99d7d5cbfeb4c934ec948064aa816eb0dbb4a0f5232b0c4b4ce98098441227f25ab91ec97319ff68a916910fd0ca1d5209c3420508b64acec450140165620d9bf8b8170ad328286e49fb049386658179986512fc07d47d49a1aa5bef5a4beb499a007065a79e164a1713804b108a95072ec9c6a1be395baeb09fd9a8e0a749049e405137a5c05c80715f9b30022183ddb127cbb1ba7556302d2b1063b798cf164f0f0bd40a202c13785009bad8769c3155b643f7a19f9509987bc2bccf41a3b9c1b9a844fcc537d8a8a28cce0641b16a0fd49969df2051a6b36b5b58741a0cfd49868bd136cbb4763a97660694539a2025649a7884a64761a1059cda78e07c5abeb297c9e61407ae00606cca7d26c0da8436c4343aa216c6b71375e4c9a0ecfda7697e149b72c025696aba086251826435c79c742058b644b7466b857cb5792c539709a59ab15aa296acc5bf5d30bce8b0b11b56d578837f922a7523927b8f0323bf79ce8c372c8655082901ff1630e0d27baf8acadaf284742e73ff5650a3ca80c47586a1d1664128a4518e83a0e4b13352b4ce5838cde93826f0ba92cd6027d0869bb5342ac1c11dad0938c5ab3a836a646e37cc2d42d3a9324ff0282a4d38fd9055bcaa715e8da77d08434f535465c9b880506831b33174b974d41e680000b5ba3835b457768b3936d3810557e72407d9a953111990c741104fa243a922da7b03d65d2b41438449bb0975aa8b1d1c3751444c91359bc3b149affa8ce3413692339ba39277797352d24eb2625645995a12c2e69a62f421b510225ff21b817878aa0031d0f70a68433b422a7360f69abce2bac840b57afda2144aa62949093f643a5cd209486b6cecea226d205ab14e76c17cc86345b0d119aa3f9cb94f5f93164f863feb4b513083c53fab20da3605f83b46b5420ebc19de137c2b4e55b749399c5386af0870250e853438321ee767012483d8b460239350c82f8700e3568dbf453fa275d5f612ec8fc6b6e37854e8131870862f8046881185c3903440008c4b3464cf43b6f5a80a47c473a6870137924c09133e8d8c063cd3044da1719855fbbd9796314b11df8459ebd2d92b7fdc94c4c7a13afefbba39ad59c088825380398f43f1251b83b0ca9debba0102f902d719020a7237801f470fcc2bd9fd7bea8322859b850f7882d362947432913dd068c01 -m = 38bf0033b779edf5367d9ebc01c988af90904c560970815837380650e4749eea -ct = 7e27a9a3c3165587b6b5b99e7c82b53e7031e53b098ccc626e89830f7b88e443c15d4f9e0f6d017566e4eabd278fa8b4faee15ceed11402ab1d83bf4f8bc58951a61be1e2c279528ce7bba72086585ff68bf17c3cdf62c0dbc020a924a4c780eb25956c80b935408ca64659bbfd48158c7eefc90f089a5ee33bdac36e0e927f16b08c9fc8648c07661cd7358dcc3280b9f8aeeacee30948cfc327636ce4128df2f89291408ab4ec2aa0b72a3da98fff5ddc11f33827cde241fd2759b1afc8492aad184f92531d9915e9465941ba9ff8a63e3e79b47ee97dea71c5aa76e739b3c0efd0da9b2edbb8b790019a5b6b8eb2f1bd8744c27e911bfe301341754857ae10636e08b388783e3b9625f8905dfe5ccb7b7bdb4993528227310b0ca7fc3632abe05504966097ab60245c5a6dc18f752d296732ced51efa9472104aee1981dfa1261030b19601a3f535276fc55224d3df75aa017fd04a0bc9bb04a6ee60b5fe8f2d2ec363c295aea1673cf8190cc22293d16ab3d720b0083fac7fcdd6980c9a1f31be0f4ec791f23a1dfc9dc192efc1b9ecf0e15ea3f8b583c151aaa9d54fb77351a63409566a958d346c5f505566278fe6ee32cf78367264a27bef7e1848fcfc803ab3354d2e78b92aaac14b3a67b7104f07f311304424083452ccff1b6abb98efa1f192b7c4a3c89484e4baf0d84ad2da52b214ca2a7aa58df21d38fd8b8ea6ecdb2a59a81a46f1d84ee37022aa2f89d7d84af7d9274b43d2c2ab1f41f1ba4f1dfcdcc16d87192a6da7cf0713d8200ad8931d4f8dbc3c903032f2d8d3127f90514b4ef07bfa9beb995ccaf81237254fbeb17d3b3dc5bdef0bc9a870777f7d2b66dbb4b356c90cf6a298623eb28be6e2e21d55137cae8cfaa6fd5ac28da995db9ce6e0292c20f101536512b2715c391425918860b19263288700538141d44615760c47121c502a8738f037f743cee510821801212aac824e9abe26d2f37a5186a00bf0762418b91d81912de5737170c2d3658ce2e4ecf4669924d8e216dad6c8e538446815a8f46c96990d8295b842de500948e73aab51eadf6a050bb1c56f4 -ss = aff62b941fb62cfa04821eab4ba287013221f8656e6a9aee849a65bbefa13baf +sk = b25157949acc7dab5dfe796ce8902e9ba933ad2c91c1c218c85230c65a8084756151317ea17c0d313375dae0afb6e63971333408c86cc3131c9496ad1f745f96379391c48554a939c73a01379479938a7019f55fe294291eb6793eb4829cc0af6a37759cb7a2cad703838039cd3b9e95da69906b2f4a5661ab57a165db6c6d49554ce7bb2b91a17139bb444764d1e7b92ac88083503876081a36e675d76635808a611b4b2823350d1d01ac8be1c75a3b8a59609b6b2cb553f1c9a016cdea341b7c1ab79d0c5a64bcaf47e0b6c1921e8c701b177807b69715fcbb9954794b68f9435332155b8abd33d128f3e9a4707793d7524290da5fc96b5996fcb62e80c5e6e22183293b2871293a0a13354a6f3de7894a920432ebade7a878c06836e7eb3fd108129536ba88046407a72869824370243f9ad048b144badd49af5eca04e5a74f77bc188c665fabf14b0480b0355c8f8252c3a0c33c77b29f43ca629637af1b724fcb7a27ec876cc099c098e4c469300aebc99497da620a3a0037f79ac75cbd7ae35094e98609e1460ba55ddc32660ad239a6614e0413891e2c94ab73114f1020b9976a3193c62467856ab2a2854859ffd3074aa46de6123d7f64b4bbe83ec9483bec29c0fc472671027e1e4905a2219c67f37f54716f13e0a4ffb57c6b0c1671f874bd7399f94a9d72cc86fde021e5a85919087339560ed10110b430570b7c0a7e8ca0becacc37c732773074a2f1bd73bc8d9e1822015944a140ba72e1293b5a392d00bef7bc9fe6777875f32bbe830edd45818ab8a201113a4e8a441426251cf5c84ef678463702e2c01375a80e7f2b4618430683e88b034b64b4ec7b54030e19a0713b459e0a35b2678c2fe8484fc8717765f774ebab72b05687da090412b669f6747041c01bc9a5c1074077b878732b4b922e58b6b96b45a6072ad8f0b7b88ca7bab621151c5aa666b5a3f550fcb136a3b283562c347063bcd9e7226ff5ac4004b23542057da43f998956a77b684d6c1d450195b2d4216de34512048a166761462b27e3b4c47e475551d33cd9b70d9e7a119d1980270b126e84bb1faa49bd413efb6cc0b49a447a9a5f2cc99d7d5cbfeb4c934ec948064aa816eb0dbb4a0f5232b0c4b4ce98098441227f25ab91ec97319ff68a916910fd0ca1d5209c3420508b64acec450140165620d9bf8b8170ad328286e49fb049386658179986512fc07d47d49a1aa5bef5a4beb499a007065a79e164a1713804b108a95072ec9c6a1be395baeb09fd9a8e0a749049e405137a5c05c80715f9b30022183ddb127cbb1ba7556302d2b1063b798cf164f0f0bd40a202c13785009bad8769c3155b643f7a19f9509987bc2bccf41a3b9c1b9a844fcc537d8a8a28cce0641b16a0fd49969df2051a6b36b5b58741a0cfd49868bd136cbb4763a97660694539a2025649a7884a64761a1059cda78e07c5abeb297c9e61407ae00606cca7d26c0da8436c4343aa216c6b71375e4c9a0ecfda7697e149b72c025696aba086251826435c79c742058b644b7466b857cb5792c539709a59ab15aa296acc5bf5d30bce8b0b11b56d578837f922a7523927b8f0323bf79ce8c372c8655082901ff1630e0d27baf8acadaf284742e73ff5650a3ca80c47586a1d1664128a4518e83a0e4b13352b4ce5838cde93826f0ba92cd6027d0869bb5342ac1c11dad0938c5ab3a836a646e37cc2d42d3a9324ff0282a4d38fd9055bcaa715e8da77d08434f535465c9b880506831b33174b974d41e680000b5ba3835b457768b3936d3810557e72407d9a953111990c741104fa243a922da7b03d65d2b41438449bb0975aa8b1d1c3751444c91359bc3b149affa8ce3413692339ba39277797352d24eb2625645995a12c2e69a62f421b510225ff21b817878aa0031d0f70a68433b422a7360f69abce2bac840b57afda2144aa62949093f643a5cd209486b6cecea226d205ab14e76c17cc86345b0d119aa3f9cb94f5f93164f863feb4b513083c53fab20da3605f83b46b5420ebc19de137c2b4e55b749399c5386af0870250e853438321ee767012483d8b460239350c82f8700e3568dbf453fa275d5f612ec8fc6b6e37854e8131870862f8046881185c3903440008c4b3464cf43b6f5a80a47c473a6870137924c09133e8d8c063cd3044da1719855fbbd9796314b11df8459ebd2d92b7fdc94c4c7a13afefbba39ad59c088825380398f43f1251b83b0ca9debba0102f902d71904c7e3a5fa1ec46b73f87af48578132eb080aaa37d31f0c2a041c5948e59f44f9 +m = 0359cbd196b3f4e9a0f8506a14a90ae501b00496958c512744ec20e95b065497 +ct = 4bbcd19f498bc12278f836b12a5473fc75cb32b7b08fff1ee0a6c11060f492b5bdaf825bf7c218b06ead05c6fa2c4ec9eb675757465c3f8f220fb47f3acae548f592464547e35a7c5ee976246cdf9fd9fd6511b5ab403a435e438a1897a552f2a8cede22c0344bfa4390fe38fee999d872ecf2486250bb0778a1be3405fcb4c258757386ca27e18766d3f3aacb76ef1eb62e5a81aa763c0636c1fc2126f4e063b6beb4b3633238bab661d61c88fa0783544f3ee8b1d488d850ed9023ca1e78cd384008c75bdb1108a4c00b88a68386d20dcc815da1639ce3c9982c9706e08e4dc5d89901d9998ae5019c285e14adaf1a7b647b67bd75e832524145edce24c2e0045694941e77a78bc0580eefcecdcf6bb78254443375ff5d0a0982cb66869b9156c59af3bb05af100dc430472aa734ec5d54566e45d9edc40c08718caedc179500662d480f579da887ef7ac7d60cf65d9e62a68ea267b4b2f845797b851ac2c1f404851f45c7d75dd83bec01056205fe39651eb1184ecacabe5e131bbb8124b1bb2b30aec585c444c7587c56d83f541e27d16a890c28fcfdddffde5f489b1bf66dab3a04e8970e98e1bc3c4b270ec6dacf6711ec16a3b7a7d5042e8baaf6c8a37826ea688dd57039df126879eccac0f3a0e61b43f09e787f1e5ac0d18df5cc79cd7cae007583ac3c0cfd5ee64b01324de4da4f9ee7db8c743fabf26ee17c8c35e08514f1b1e78e938c306707ca03373428e6d125839f97bc818d480dc919cb15c24ba25c48a30aaf4b29f64969743506509c3a224ffc9083c4e3cc63686d43c558683ede6e6302da035f6e44a5490629f8e928e5d20f6c081f5e8a6b3898443324e05ad894f79457a8c975cde463408965fe915b76e4a4adaa774726dc88b439023a7ea13d901a041a73d6f3b2845e15c3792de9b5ac849120d3690e9b432409ead9d5e177adfa821fe5e3ea33e0428a1dac8e7c2b9fd55106e0cfe4754fef25307f1f507b36bf4be4b952c6dd401ae8e561cd26720a2072a5d90d1e2cdd8e8db10e3b8b7c454ccdd6c9d5264b0641ee09b5db467c296b6a7746cff265af7ae5 +ss = 80666924f6cf5acc180f3a8eefc3cade42160ed530aa57955912f347c2828f87 d = 2d5df64d62cb07fe630310bb801c658dbf3d97993e68626745de39d37fbfc2b2 -z = 7b534537addaba4ecf14f02ab317d36cb9f0f50222ced7cf029dff8a0d3d2fd9 +z = 6cf04ca090e5805fe0ffedd6be0f254397155a7639c5afbb30a7a75cfebff026 pk = c7c3b4465b0efdac63724548ff25b73b9a0ba6b5004b82a614918e63400146f36aab60c8cdb51600fa1218e9c3d619168d1ca7d1b29a20b995dc254080108bde2836a53c05aae73f95d4997dd002c21c9e16711ddf2603a845a5ad8518a3d3cadfb57a5a994cfa262d51f06d3d1c857de85cdc934bdff1ab1b1891a5a37b2e6aca37493d7f6cb86948673a57ab438ab8ba1a7cb98b556ff8bc4c3158a99482b7511ccd188b5ad42627a49240257b5bf500e382a577dc57fd84af49731b6a49224815a43d2c6bccf03ed1f09379918c882cbc5fe33303cc37621c21d9e5360b3c4029bc2c9f580c2519591f6ca703283f93e759dfeacfc63101f6a9bcdb30839b1288334562b608b32d211111a79c8c2c4b19a822d18646190051c65c0a42ea51c0009ac976a06c4b3c24ec1b47c117865287b836738473af07f2908935b5c0dbca76c44e48f5478f78aeac138885721e40b8ab84c2bf8c69c3d4ecad4df0ca07e89a6a245bdc46105dd21a9858a819310cfb239fa735186407a88105b3bf156f95f87d9b3b9db0da6bd67075c70384553b28ca89ac9131561b9c8d37a5aef7a4152f6aa0a7f54af2f3819d6ccf8a07d0f4c5310907403020a01e4bb94d4c7bd257ca0944a6aff6cfe00c9182d508ff329505c3cf85290427a2c06366907b2b292aeb2b13b954f211117504a18f37025860cead9717869c60fdea3e31e9845d439989839bbd7ab2222b13fa921133906868e6671659b18a1c0f62d8bbb7b69b0eb62967b85b21375742757ddb960cbfe450b9a415fd083aed8ac0cb05a3732b39453180c97ba6ce5c426392545e2b6d15683300ed697faabf21a2423409ba37a899c602b72a5a4ca1e3a7c4423c5cdc3765d0972f22cb9386bb347617720c6cf9e32964faadd4a625a1586985571d40cb8895136b47f95ca8688d9e4776d5eb3638f9548ebc7d40acac9f0c6041b82479b23f18d51a77f1086098c3a9d2646fea3b822994ef730b97569d05aba38f880909fbc441815850e0beea12403d0024d95c6c1691584c6b548e0068ca7c7333ea8d07f12b615433da2a041572a46888984d4da3b73dc1c5c4a047b0a5ea85edac7bec66f4d87fd2fe422e7dbcd02d1455 -sk = 19d08d4d81b080e533b6a900fb54351f55832d411e4334454a1236ab2ac28e6836b28105ce7b4ac3422dd2367d86bcc33b539b7d855838f665d5d684e932870c567838038588508252f43cd214cef3e259d5e4c79f078c3e3a8098834698c1cdb503780463bc8022b0ed36a14fc606d9141984c41a6611723b74c16e4679945a2f8f47493b2072fdbbc93a143185638869515cf62a0fc842388cdb4be5c90d2f4c13a08a330e9cbb5424be008d13ca09c9a9442763dc09ac61c891aa324fc30cedd2a92d488de28b4ed28458e5b18067f11ccb49cc6e9b25d8f444c574a487a95ae047aa9d6070e100611c5c711ad844aa1a79400a4977ba45a1e686b7ba864f8a75188273f3692fd76766135611c3fc37444c34594005bf251571060e59ac3b9be01a7e50cf4809220bd74437268a119c074be236ff5938bea04ff93815b975181a4c996ee486c857608a9119002060bf41a17fe05093dc8cec793e12c3970650197f4b4a9abb63fb0a1c875b54c9884a4d875fbdda9ebdb68fe4c8a7c5d0580401932bf30c5cbc76ba96722cfb3f838b4101b01bfd41aaf542822f09cf33c40d54f32b894577eb3b4f0706a4a2a67f97568e0ef9a9e10331f84994a2909848d5cffbbccc6efa1ba49725b5c92e0e1918a0d1a8bc4746289906f5992fd6b1922e6104b1264b7f96c7156b2d927c166cc47f2b2c4a58c2550c826b3a9c1ccd6c6fb0cc980c752a90e915f8b0063790a7f09008e91b416e18c7eec2a4f30b2e1294461cb9124b45913339132003b0735c7997e44eb318abded91c753527bca55953e71455247ac0b53c05931d5c8715d674933d889a09e05b590315bc710ad73a772ea4943d810869c98767490b96c6ac83b48b21ea171148bbacdc66220b6ec5e98124e7548ea6bc0ff59c883c96ba8aab5969c6e765c2c9e70deaa17d8035164c240eb03a34e033ac4fb78b99b84c7c5a276e325df1ab83b3801294ba6f56988dbf08c57b59202c928a3fc720a842547016580f66c51e614dc9db8166dbb92e5a576f719e1e986ef39578312c6cc59a9671112a96a40ef27084b72bb8b742adc7c3b4465b0efdac63724548ff25b73b9a0ba6b5004b82a614918e63400146f36aab60c8cdb51600fa1218e9c3d619168d1ca7d1b29a20b995dc254080108bde2836a53c05aae73f95d4997dd002c21c9e16711ddf2603a845a5ad8518a3d3cadfb57a5a994cfa262d51f06d3d1c857de85cdc934bdff1ab1b1891a5a37b2e6aca37493d7f6cb86948673a57ab438ab8ba1a7cb98b556ff8bc4c3158a99482b7511ccd188b5ad42627a49240257b5bf500e382a577dc57fd84af49731b6a49224815a43d2c6bccf03ed1f09379918c882cbc5fe33303cc37621c21d9e5360b3c4029bc2c9f580c2519591f6ca703283f93e759dfeacfc63101f6a9bcdb30839b1288334562b608b32d211111a79c8c2c4b19a822d18646190051c65c0a42ea51c0009ac976a06c4b3c24ec1b47c117865287b836738473af07f2908935b5c0dbca76c44e48f5478f78aeac138885721e40b8ab84c2bf8c69c3d4ecad4df0ca07e89a6a245bdc46105dd21a9858a819310cfb239fa735186407a88105b3bf156f95f87d9b3b9db0da6bd67075c70384553b28ca89ac9131561b9c8d37a5aef7a4152f6aa0a7f54af2f3819d6ccf8a07d0f4c5310907403020a01e4bb94d4c7bd257ca0944a6aff6cfe00c9182d508ff329505c3cf85290427a2c06366907b2b292aeb2b13b954f211117504a18f37025860cead9717869c60fdea3e31e9845d439989839bbd7ab2222b13fa921133906868e6671659b18a1c0f62d8bbb7b69b0eb62967b85b21375742757ddb960cbfe450b9a415fd083aed8ac0cb05a3732b39453180c97ba6ce5c426392545e2b6d15683300ed697faabf21a2423409ba37a899c602b72a5a4ca1e3a7c4423c5cdc3765d0972f22cb9386bb347617720c6cf9e32964faadd4a625a1586985571d40cb8895136b47f95ca8688d9e4776d5eb3638f9548ebc7d40acac9f0c6041b82479b23f18d51a77f1086098c3a9d2646fea3b822994ef730b97569d05aba38f880909fbc441815850e0beea12403d0024d95c6c1691584c6b548e0068ca7c7333ea8d07f12b615433da2a041572a46888984d4da3b73dc1c5c4a047b0a5ea85edac7bec66f4d87fd2fe422e7dbcd02d1455dd4cfbc29de3568663a3a044c3f897714363b0fdd3b6ee55f796292d34c7c79b7b534537addaba4ecf14f02ab317d36cb9f0f50222ced7cf029dff8a0d3d2fd9 -m = 048ea516d0ebbd9f709b47eaac66f344c571cf50f0d01c9466aa061a50b66a24 -ct = 9899df8decadbc01580a87a7a791b3fed05aa4dd2f56a2a918d1ebc99558232dcfd73189f2665a72e06fca0faf91355eec7206c5bf2d75bd13063ab8bc9832ce01c92c1c9f66bff734af68bf1dc27ce8c0076c716497ad247722167af955f275f704e1fac27f1f742e67d36de96fb0997e6e83b3e2f95cb1d2031cb73274c4a6acddb8c059d23793b2ef72963af30963627d1b3f16226c6139ec71493d787527833b8b010ea29f5a57076ce265c4ac79c720568df920fe3914c5175f05ff7166b024e5b059ef05964b4a6483e1a0c5fbadfc6d1ae97124cee5665b29968c5d8ae4e4ab3074f64057af767e49c3b712154000d4851d1a6136610a50ab2a179bcf44c7da7edd754e980b250bffa118ebbb4b17e40ba329af5d89b1e23626f9d5f2498f27abf1c62133b17f8da3d04d452cbf0eaa3766a40ea133e8ae290eea14840431dca8acaa6b8107b1d6a578a1a177d39fce3359a6a7019f7ca0a8fb8e3c59d10bff9a8536fef59362feee05fdb5e149dc03e48a863b40287da0a106b7082fbde67e156d49372b11e1aed0912920d9e8e0e465dd7e1e9063d890361393f0233b287b2b0911bf3194e0849d1661e4ab238285b25355d95296cc362b127913384f50a757a344c9382edecb0e810c463c451436ff8ee91628ef2f44059127f0685da4c40e0e8704ded6d6c682da74246e1e3a3d886230acd3d8aa8e16decee9aa418f449058310bc884f371844e769cb82fe76333275de80e3aca4e7c87873db19487be772c11301ffc45de500eecc8884ef39a3790d5372f1dd8b69aaa30887fedfab37b244674aba1e58417336fbc64afdf0a5ff82a82ab3eec3f24d47265aa14a3b7e38f9d56992fe238c03f6f22cdab8dfb1f0b227f7081a5fb5a38cbbc3355664a2675e90d57fe0698d4d229ec9f470bc4bb54319f6ee89d5d05b2c66ad320d60726cc8df580203b067799dd8f67d2a42068ad7610f384ade3ba8c4b20c40feec9a2ea5c971d5e2451185c4cb687fd3e7345be8c64e407d8fbdf164efaa9895f937d43aa49d26b410b988f88af3a72d775c29c9787fefb0b8776c6beb380 -ss = 920b95d4ae5698ac7280b6e95814bbf9669ecc36543f2c581d4e2474fa9bbff3 +sk = 19d08d4d81b080e533b6a900fb54351f55832d411e4334454a1236ab2ac28e6836b28105ce7b4ac3422dd2367d86bcc33b539b7d855838f665d5d684e932870c567838038588508252f43cd214cef3e259d5e4c79f078c3e3a8098834698c1cdb503780463bc8022b0ed36a14fc606d9141984c41a6611723b74c16e4679945a2f8f47493b2072fdbbc93a143185638869515cf62a0fc842388cdb4be5c90d2f4c13a08a330e9cbb5424be008d13ca09c9a9442763dc09ac61c891aa324fc30cedd2a92d488de28b4ed28458e5b18067f11ccb49cc6e9b25d8f444c574a487a95ae047aa9d6070e100611c5c711ad844aa1a79400a4977ba45a1e686b7ba864f8a75188273f3692fd76766135611c3fc37444c34594005bf251571060e59ac3b9be01a7e50cf4809220bd74437268a119c074be236ff5938bea04ff93815b975181a4c996ee486c857608a9119002060bf41a17fe05093dc8cec793e12c3970650197f4b4a9abb63fb0a1c875b54c9884a4d875fbdda9ebdb68fe4c8a7c5d0580401932bf30c5cbc76ba96722cfb3f838b4101b01bfd41aaf542822f09cf33c40d54f32b894577eb3b4f0706a4a2a67f97568e0ef9a9e10331f84994a2909848d5cffbbccc6efa1ba49725b5c92e0e1918a0d1a8bc4746289906f5992fd6b1922e6104b1264b7f96c7156b2d927c166cc47f2b2c4a58c2550c826b3a9c1ccd6c6fb0cc980c752a90e915f8b0063790a7f09008e91b416e18c7eec2a4f30b2e1294461cb9124b45913339132003b0735c7997e44eb318abded91c753527bca55953e71455247ac0b53c05931d5c8715d674933d889a09e05b590315bc710ad73a772ea4943d810869c98767490b96c6ac83b48b21ea171148bbacdc66220b6ec5e98124e7548ea6bc0ff59c883c96ba8aab5969c6e765c2c9e70deaa17d8035164c240eb03a34e033ac4fb78b99b84c7c5a276e325df1ab83b3801294ba6f56988dbf08c57b59202c928a3fc720a842547016580f66c51e614dc9db8166dbb92e5a576f719e1e986ef39578312c6cc59a9671112a96a40ef27084b72bb8b742adc7c3b4465b0efdac63724548ff25b73b9a0ba6b5004b82a614918e63400146f36aab60c8cdb51600fa1218e9c3d619168d1ca7d1b29a20b995dc254080108bde2836a53c05aae73f95d4997dd002c21c9e16711ddf2603a845a5ad8518a3d3cadfb57a5a994cfa262d51f06d3d1c857de85cdc934bdff1ab1b1891a5a37b2e6aca37493d7f6cb86948673a57ab438ab8ba1a7cb98b556ff8bc4c3158a99482b7511ccd188b5ad42627a49240257b5bf500e382a577dc57fd84af49731b6a49224815a43d2c6bccf03ed1f09379918c882cbc5fe33303cc37621c21d9e5360b3c4029bc2c9f580c2519591f6ca703283f93e759dfeacfc63101f6a9bcdb30839b1288334562b608b32d211111a79c8c2c4b19a822d18646190051c65c0a42ea51c0009ac976a06c4b3c24ec1b47c117865287b836738473af07f2908935b5c0dbca76c44e48f5478f78aeac138885721e40b8ab84c2bf8c69c3d4ecad4df0ca07e89a6a245bdc46105dd21a9858a819310cfb239fa735186407a88105b3bf156f95f87d9b3b9db0da6bd67075c70384553b28ca89ac9131561b9c8d37a5aef7a4152f6aa0a7f54af2f3819d6ccf8a07d0f4c5310907403020a01e4bb94d4c7bd257ca0944a6aff6cfe00c9182d508ff329505c3cf85290427a2c06366907b2b292aeb2b13b954f211117504a18f37025860cead9717869c60fdea3e31e9845d439989839bbd7ab2222b13fa921133906868e6671659b18a1c0f62d8bbb7b69b0eb62967b85b21375742757ddb960cbfe450b9a415fd083aed8ac0cb05a3732b39453180c97ba6ce5c426392545e2b6d15683300ed697faabf21a2423409ba37a899c602b72a5a4ca1e3a7c4423c5cdc3765d0972f22cb9386bb347617720c6cf9e32964faadd4a625a1586985571d40cb8895136b47f95ca8688d9e4776d5eb3638f9548ebc7d40acac9f0c6041b82479b23f18d51a77f1086098c3a9d2646fea3b822994ef730b97569d05aba38f880909fbc441815850e0beea12403d0024d95c6c1691584c6b548e0068ca7c7333ea8d07f12b615433da2a041572a46888984d4da3b73dc1c5c4a047b0a5ea85edac7bec66f4d87fd2fe422e7dbcd02d1455dd4cfbc29de3568663a3a044c3f897714363b0fdd3b6ee55f796292d34c7c79b6cf04ca090e5805fe0ffedd6be0f254397155a7639c5afbb30a7a75cfebff026 +m = 894f98d7435d1c0c3667c22a218a449d07f117d46fcbfa4baa09f62403827464 +ct = fad380e050b7217631f7aa67fd4823ed5645452fbeaad03be3c7bbe5cdf674ce3a64faa0c86186dad5d6c1fa7f6cfe2383ff4f4c48eac707b6cf0adc5bfcca7bc22af6b5e0343e64113a481bdcde9bcab94401c50cc32375f6d3a9704c622e6230af64fb09e81ce8015cd6b2a4852151dae3c95cb66562f2f726a6948221bf94661d39a046fcf0bb9403f1124ac481e286a90736520e1a360ad79dc8301e223ea885f0ee86cbe0e773acd55ef528803b682218338ce72056157d7edfc57b08ce516879977f8c24bdc93529c804d0c93d48b735745429dca702d9556df461374e7a07e880f807a19f7c0a947a7c57b29dc4591b0ed7cfbcd26746b6a82a7de92cf3af0aa213da4abbc3e2c902378b8ae2bff5a2d56b70233a9254f93cfb6f3256098540f38945b8b7a3d3bfe770e8453de7f8e217f32c16832e31f70d0e021563672660c1a1d0498709af31e624ee41ca4a8cb4f6dddbe389c2f71f5db6051b64a9ff05196c8c9435826f7ad2c3fbb90bdba7b033e80ea359bc5ce09b72dcff77e8edf147b6a61658f6441784889d8b23900a54926ae368531c7459eae10fc3c9693f0affab7f4b3fbbfe87d7a90160d4926a67306dc85f0576f1745a76ebf388038e1211b726554e2e822dbe468b3ee3c2e0144670d6cd7f0e593684614e7946e811c67b31b97259e0c99f4e7c82b47eab710714393337c4c2118afc01f63430f996425fefd62f693fbbc1c76fcb05aefc4cb2f9d6c207da4123c762f61270a5de44ec2fe3de607dab71a25c1b7e387c364618cb919212e9f10b0a69f66eaa23da48cec326da295b86671aaa4d384a3b09913f9f86ee6d0154717d2455476d47cff4549b9bf7458b3289509989f0e11707986fab256de32634f931d399f024219609fc647bb00f3722c9a9629bc6ecbd7f91c0029146ac1ddf20648d4aea4314fe49e5474faae1c54fa4b603899777dfb33474a5d374dd8402552e5d6d4bd321bbc74983e44b1fc64cb2b1cb82fe041161306bd0234920cdb05e0091dfcbebfa4d71c69ba27e88b5de25c227403e2c6379c3dd224718c6c066691badba9d9750 +ss = 6ba28bde033069f62603ea109c728382f884f4b8b034b28afaeca916b3cf35b2 d = 25056d1b8113bb362dd979d98643d7a7ac9c4f95994c0ba060609b6d07002ff3 -z = f48a9254dd40b117941fa35a66bb50296327b725525deef70e128ca8045ec451 +z = 0d5ec1be89d37beb810db438778bac52cdc1fe8f5c27ad825639e12ed908fa31 pk = 83fc2701341ac042ba3987b25411406b32a000a12e00f726799b88f2219ab42bc6d08b3396bb77e51a38808b5a00823d45fa46dc142077ac63dd25b5209b0b35c0a3bcc30537248f568018f1324141404c3a603f8bfb30f675710b33b1f986b78475a2d4b1a6c44b6277b881c8f69c7198657db21fb0a9887afc4c3af212d1751a1d58aac3c8a95494a82d737c124347a06b93721c50b3d5a62773b756a79ea7796588754a6da906e98630ba611eba0b5d622670b33152c3d91311cab5fc052c0050097d0c9bf0a4729a58b216b92537f21948c865e471276918b712037569a079600b1eb611c8d0424f8903404b9338d4ca368c0a42df6a9b6be6692ba24232c68a82b22076b72c5a71b5cd603f52493beda57f12c660f241a6b772bcf007819acc094e4cc63147359b43a81b6a5425487275da3146bbba33d7a08b242eff33c5263685afe47dfda38a8250cc54160e4c22bbcf9765fcdc1b34a94faa088d4927a6d8121ce556576ae682e5fb2761035981b442245c1d114285ca20b3af733c2d3a8121998bbf87734479505644b568301244e31bbdbac05b8c5d93121668ec64080287ea074f02323a91425c7362428c9637e61bae86d03238c96336081a86198e0f31c17a945e50e15634e23100c6499bf1b58a48813bfbc7ceb3322274329366267132a972553c6da19e13898b89277a33836371084a5297bae0298288fa68a27605a60b274620111d376227d157d066181714ccfd42a3d33882335565f9a0babd7154c5f12e67215567676193ea837ea188def143e98c7721dc539914c678e1876d334fb99627b848616190a9f5371251593381bc933bc47c1e5ba50429b1bf71ae7c11ab43273cde9538fe8b21b310c8da5a68d7828c60761f2178405ab96cc3d179e75837f7c69c0990c75dbc2718003862448eb3b03e6abb535ad733f5701699d543ff893003b3674ce997e0c6ab8b7b2bb834c4a437068c9271f55c2fa3abb4608cc88128b13eb17a2f45a7ea9b85fd3ca8cb70bd8c0578f7963ac76c3d39a44f2b87b1fdc24f15d32f2b38831d55722aea8642a7ccddf2011f83a740531990744a987152dca2388ba27e3769c8bf287e54e41cbc0ecca95ce621f2 -sk = 3c401449fa6ba9280ea8570c68ca244bf821bb5367251b1572008b2d86367a8a1148f6391440cfe1f9bd1bd02d87c984286561691145ff82954341bb34406abb2343cb88a74692bf39cb000884ca13cb8186f1a788e313cb739d48e8365659c324bb6b032a85ef37a25d538ccbb2ad678616f52c86093ba9352822b7f9b0a2307a3ff5a17d8033603220424b7485171fe2a14d1f758cae896cad6842a90ca5a7b69789d356ff574607ea1286c1af8b127449abb495b485c7c6078ceb9e70421667968176025913535879e5cdaa4859b6f02d20f67a0886ba71851a21f55d7b7b503785ca9722c76ab06531b83cf1bab17cc0a5b3c263f8593293068d7790270f1723d7713fecf34b93a096e89c31fc52a2dbcb8129133379866f938b71a2f3265f939d741abea2886ba849c991ac0505fb5c4bb4a78630039b0a0cec5064f7ec2a56126665e02afb71c0732625b76b0015b7cdc3bc16e6e6ad06914e28364fbdbca2c1a653b9a8899f236bebf770e477abd1dcb937b7510d7ca3a00aa093cc9b62bb6407e00cb36199d077856c4682ad78b241cb9c2537cd9591bc4b49798389b3ee21964815a4b6c0ab98e7b318600a0c663e54522cdab923cb809937f2b902fc0fc90bbbe5d48a2f489a857377509b8b74ccb6ac875e07c3429c728943087ae9f5af33155ab0eacecc1445836404b98284acc63a385a2a55a82c758287cd313fbc91bab8baa4c7d3b3ea5412a496ae64a59c58132dadb408552c29fd34bf4e73927b16c81d47188954c0ef9039add7697a9b6ecc7915131b6c6cfa335c3b016d53b3547669d758943d316ad65979473692bde8725247b333eb412b09389e55c97f655d20f9850b1198b1c358a3a87cb93cc47a91ad29b7c9ac7110c886a79a39bcaa68310ff5c9dea81b0c1c37004021ef7cb24029987cb2617f842f2f51417eb51f39ca7aa50c4fbbbaa51a1c97c4f00e582060e95ac1ebab6e267c8367b7365cf43986fb0103a192a0028ca2205a07160e2d0b4d2d82602b288d89f0588e6935054ccbb773aa6955964c637efeb889495145c629794692a20a13b9b9732083fc2701341ac042ba3987b25411406b32a000a12e00f726799b88f2219ab42bc6d08b3396bb77e51a38808b5a00823d45fa46dc142077ac63dd25b5209b0b35c0a3bcc30537248f568018f1324141404c3a603f8bfb30f675710b33b1f986b78475a2d4b1a6c44b6277b881c8f69c7198657db21fb0a9887afc4c3af212d1751a1d58aac3c8a95494a82d737c124347a06b93721c50b3d5a62773b756a79ea7796588754a6da906e98630ba611eba0b5d622670b33152c3d91311cab5fc052c0050097d0c9bf0a4729a58b216b92537f21948c865e471276918b712037569a079600b1eb611c8d0424f8903404b9338d4ca368c0a42df6a9b6be6692ba24232c68a82b22076b72c5a71b5cd603f52493beda57f12c660f241a6b772bcf007819acc094e4cc63147359b43a81b6a5425487275da3146bbba33d7a08b242eff33c5263685afe47dfda38a8250cc54160e4c22bbcf9765fcdc1b34a94faa088d4927a6d8121ce556576ae682e5fb2761035981b442245c1d114285ca20b3af733c2d3a8121998bbf87734479505644b568301244e31bbdbac05b8c5d93121668ec64080287ea074f02323a91425c7362428c9637e61bae86d03238c96336081a86198e0f31c17a945e50e15634e23100c6499bf1b58a48813bfbc7ceb3322274329366267132a972553c6da19e13898b89277a33836371084a5297bae0298288fa68a27605a60b274620111d376227d157d066181714ccfd42a3d33882335565f9a0babd7154c5f12e67215567676193ea837ea188def143e98c7721dc539914c678e1876d334fb99627b848616190a9f5371251593381bc933bc47c1e5ba50429b1bf71ae7c11ab43273cde9538fe8b21b310c8da5a68d7828c60761f2178405ab96cc3d179e75837f7c69c0990c75dbc2718003862448eb3b03e6abb535ad733f5701699d543ff893003b3674ce997e0c6ab8b7b2bb834c4a437068c9271f55c2fa3abb4608cc88128b13eb17a2f45a7ea9b85fd3ca8cb70bd8c0578f7963ac76c3d39a44f2b87b1fdc24f15d32f2b38831d55722aea8642a7ccddf2011f83a740531990744a987152dca2388ba27e3769c8bf287e54e41cbc0ecca95ce621f29ca90d64e28a5bbc54c36053ed333c530f72549c2afd77b10c2944fc833408faf48a9254dd40b117941fa35a66bb50296327b725525deef70e128ca8045ec451 -m = 686c921c9db1263e78ae753b1c9c2e7936b8229dca48c0942c56c6bca4f10917 -ct = 03bc92f1dc73ef64491327afa0d1bec48b2efda3231940d81745a0a51552b1a7a3063a959d80bfbbd097f8302fdad99c56f033aa417a97e8c46aaa42a1bbfc280e7d2b357166f3dd5392dc8f9c6f2406a1d887117977929fefad234d21c6e5f0e8f4884acda3d4a0b34856fedbdd38bd1b73a5305dfef2cb6a8156b2fe00b8c05482f684c45677e8b1610c41029486d91e47a034c198d2764927e3e3846f4f97a4be4dbd191f833d083dea7a9d770b6f320231d6661cb379c9574a82e5283e030625109dbccd776ca6f540616e926a4d153c18e55b51295ac75aebbc240eda9de3ddc4d230595632f1667bf419de4b5a251ffb5917cb52dc4af143285c73c958512e2bd525b00dc7c48b1cdd75ae409fdddf35f8b39b3cfd52e3c62593c702a08f91e0ad271513b824c4dc8d575871a58851abff0ce49b78a67011edad8ecea81f35995f39bdd4f68bb509dbb71732188df58c118c7eeff35d9d4edd6b560ab9d1cb9fba0e6a9781f143ef81f983da0b242338df20ad5eb284282696c891298f683b97e0d9f8774bc3fd746e09c8bbae4a5fde7df67d2d3c3b5d139f908ec227e966fe8911eb89d04f01648658f7324d8670b493fed6b24559a6cd4f2a5c5d52642060c0070e13d4aee74d09d0db35ef5630dcf6b3bf5ff26dfa825e34e8a1975f7af85024aa10975705eea32899bb2533ea65ff3465f7fd8748fbcd5ab580766f209f6bc6df1cfa4808081c27b2f950ed6a81d6a4404b04eaf6793dc60bdda64662300beb2d4537c2e58cba9b4d4af44fb060af52c38b4c38bdd40a9ac82e1c9a03ceb0add81707f8380c77f867c26eca7bae091937cd264eb48b64b87d59f13616fad1d85a8d7c79408655e44266bcabdea75d1286738479914619d359321a7a312c803d484c457e7cc6941f6112b26e829e160474aef57185a928bac3769dec13d78c70bd15372fb8588b6d930f13a72af341e4d99343c15510522441f6f0d15e249447540dd43c1e6ff6e31865c0f6dd167faad9cfe90a53586e93f82d35a6111178aff6664055593ae39dc723663453229ed6e23261f99d9fbfc4e0793d -ss = 5e4e609cb40f37f28706f7892d5662509d8859cc28dd586d81f80dfb2d1eeeac +sk = 3c401449fa6ba9280ea8570c68ca244bf821bb5367251b1572008b2d86367a8a1148f6391440cfe1f9bd1bd02d87c984286561691145ff82954341bb34406abb2343cb88a74692bf39cb000884ca13cb8186f1a788e313cb739d48e8365659c324bb6b032a85ef37a25d538ccbb2ad678616f52c86093ba9352822b7f9b0a2307a3ff5a17d8033603220424b7485171fe2a14d1f758cae896cad6842a90ca5a7b69789d356ff574607ea1286c1af8b127449abb495b485c7c6078ceb9e70421667968176025913535879e5cdaa4859b6f02d20f67a0886ba71851a21f55d7b7b503785ca9722c76ab06531b83cf1bab17cc0a5b3c263f8593293068d7790270f1723d7713fecf34b93a096e89c31fc52a2dbcb8129133379866f938b71a2f3265f939d741abea2886ba849c991ac0505fb5c4bb4a78630039b0a0cec5064f7ec2a56126665e02afb71c0732625b76b0015b7cdc3bc16e6e6ad06914e28364fbdbca2c1a653b9a8899f236bebf770e477abd1dcb937b7510d7ca3a00aa093cc9b62bb6407e00cb36199d077856c4682ad78b241cb9c2537cd9591bc4b49798389b3ee21964815a4b6c0ab98e7b318600a0c663e54522cdab923cb809937f2b902fc0fc90bbbe5d48a2f489a857377509b8b74ccb6ac875e07c3429c728943087ae9f5af33155ab0eacecc1445836404b98284acc63a385a2a55a82c758287cd313fbc91bab8baa4c7d3b3ea5412a496ae64a59c58132dadb408552c29fd34bf4e73927b16c81d47188954c0ef9039add7697a9b6ecc7915131b6c6cfa335c3b016d53b3547669d758943d316ad65979473692bde8725247b333eb412b09389e55c97f655d20f9850b1198b1c358a3a87cb93cc47a91ad29b7c9ac7110c886a79a39bcaa68310ff5c9dea81b0c1c37004021ef7cb24029987cb2617f842f2f51417eb51f39ca7aa50c4fbbbaa51a1c97c4f00e582060e95ac1ebab6e267c8367b7365cf43986fb0103a192a0028ca2205a07160e2d0b4d2d82602b288d89f0588e6935054ccbb773aa6955964c637efeb889495145c629794692a20a13b9b9732083fc2701341ac042ba3987b25411406b32a000a12e00f726799b88f2219ab42bc6d08b3396bb77e51a38808b5a00823d45fa46dc142077ac63dd25b5209b0b35c0a3bcc30537248f568018f1324141404c3a603f8bfb30f675710b33b1f986b78475a2d4b1a6c44b6277b881c8f69c7198657db21fb0a9887afc4c3af212d1751a1d58aac3c8a95494a82d737c124347a06b93721c50b3d5a62773b756a79ea7796588754a6da906e98630ba611eba0b5d622670b33152c3d91311cab5fc052c0050097d0c9bf0a4729a58b216b92537f21948c865e471276918b712037569a079600b1eb611c8d0424f8903404b9338d4ca368c0a42df6a9b6be6692ba24232c68a82b22076b72c5a71b5cd603f52493beda57f12c660f241a6b772bcf007819acc094e4cc63147359b43a81b6a5425487275da3146bbba33d7a08b242eff33c5263685afe47dfda38a8250cc54160e4c22bbcf9765fcdc1b34a94faa088d4927a6d8121ce556576ae682e5fb2761035981b442245c1d114285ca20b3af733c2d3a8121998bbf87734479505644b568301244e31bbdbac05b8c5d93121668ec64080287ea074f02323a91425c7362428c9637e61bae86d03238c96336081a86198e0f31c17a945e50e15634e23100c6499bf1b58a48813bfbc7ceb3322274329366267132a972553c6da19e13898b89277a33836371084a5297bae0298288fa68a27605a60b274620111d376227d157d066181714ccfd42a3d33882335565f9a0babd7154c5f12e67215567676193ea837ea188def143e98c7721dc539914c678e1876d334fb99627b848616190a9f5371251593381bc933bc47c1e5ba50429b1bf71ae7c11ab43273cde9538fe8b21b310c8da5a68d7828c60761f2178405ab96cc3d179e75837f7c69c0990c75dbc2718003862448eb3b03e6abb535ad733f5701699d543ff893003b3674ce997e0c6ab8b7b2bb834c4a437068c9271f55c2fa3abb4608cc88128b13eb17a2f45a7ea9b85fd3ca8cb70bd8c0578f7963ac76c3d39a44f2b87b1fdc24f15d32f2b38831d55722aea8642a7ccddf2011f83a740531990744a987152dca2388ba27e3769c8bf287e54e41cbc0ecca95ce621f29ca90d64e28a5bbc54c36053ed333c530f72549c2afd77b10c2944fc833408fa0d5ec1be89d37beb810db438778bac52cdc1fe8f5c27ad825639e12ed908fa31 +m = c07d2a9f28995f021a974e798a55aec0230b11b9ee542f69925d009159425e81 +ct = 4793a852093ee92c9dd2f2abf7bd83ae7b3842920d88e80e0581777fe7e79deb83a1cf7d69c62ceb19525cfa3d0b0a97742c8f9265bd676d81a7f8af9caa72e96711d9dfca733589e305dd687591fa24cb118177776319172acc2472059291a05563ba9692ffa73ec4f1ec31aa6ea4f3fb5420bb0216771413481cbc4ac57d0aeaabfc8edd49bfc807ecce056528a56b3a15b90f091e166c74ac3d7de4bf36ab8d942867bf15020e8cf958f51f3053f2a3e0752e2c04890408de2bfe51b44eb8d3a473a980264333528c2b24222ab5377e15c1c8afbfeb02d7d43c8a0c4decb1ee58d9824069bd3076d7f992de9984d2427aa9870d30cc6b8b7e1d52c52fab43dca5048dd27137f26ef4291ea1181204c3f20c278c8f98d66d47b2ceaa4c02cc665f52530495d0aa9acbd948f3bcb32a2b539bd60ad8ff96ee6d7dc09eb19214d720a96febf427e534b552be23555bec60194e22f53d47b9f7097900f57bbaa8dec427300893f3235d714bed6bc2227cd6dbce33fc413087281e871cf2a1c8950ce5ba72016525e575631fadddb72e6741ed36f6e0feb1187450e3e3504581607ed8ed9a89c307372138dc8075a2584539397dd46d2ee39ec6b2891b2e91fe0077e9b59974d90331724943296241c7216702c6cf9af326b55021f9f440e38e718d587b34d8f099bca6f8e0f9cc39c7cb7cdc7199c280a9bbecd8eb637709d6ddde5037e1008f8284abb2d1460f684ea23d1bd5757b97783e9e7e5b2805f3f3f3f288b53254ed2b7fb93d19afd7bd8e1f4586c9731847ecd4a4fed47503aed267f96e1df752b0639e7837e0d1b5f8004df7894e34fc496d187cce956b9cab7448e3af157f11f29e49f391a44613bba843c20ee0112e62f027530215a45680c15d6c1f5406f170105577d10ad2934e9282ebcb430528448649722c83b2f1f8667fe14547641aa91519ea90caf53c3fd746efe5f73cc687be64b08ad4fd725d00273a42f4a117196dd27e76c39bcaeaa838d3d38f9e609c5857c2f15f7ebd7df3e8ef507561428b13ba843294b416b2bd8bab09e99ba6fdcf88bc5b1dbdc1279bd0 +ss = 472204d77f93805e25c0d9daf78bc0bad46616dcd24c12eb09590955b3747e74 d = e4d34e12982aeeb1d62fd488d9b9e28557ed3429292239fb4f76fa9098009aca -z = e6c45c7fc62329b13c8d29844405db8ff6860de474bf727ecd19e54e6e1a141b +z = 91fd1369e8228b3979984c15440ef268fd3629c186d6cfde02b0f8a7908a7ee2 pk = 8b49619f318f10025f45eb7f63d1875e49a296eb1ef5586a9ddac4a59bc96cb01e0af7655b052f9a08b861f0573b8a64295315b76c3b0a13cadfa47e02c61825226d3fcc25202a862e509d0ed99521b1c46c7064de830cf70497c934c7811733e9c70ec2916075ea425d3a0d03ea272bcb0f294aa32f1541df2bbcab251e9173701d8cc678009f0323677c2b0708a246408b4f37e95c170311bb15787e9b035ffb823db6cd02e4421f3690644cbd4a413bc7e696d7491a6ed4018091a9be8b149ad93c49f6424c218803b72c146cab9721ab22c347787090d9016199e65940e19d6902324d138561592a0901700dc54058a6ab298b3d62453865ac29bc815e65582f9b8bb6b5e44c12316de7169f4988c86f953a61a313e4a2734fcc24afc60f6d22491e97bc688c528ae661c9923d587bb11d512c835a9fbb314c39109c3ca2166127084d282979304265d8a78ef343bee9baa7038b9dc9517200c4a049613c936f80982efa61a3c0f18edfcca724a43c79ec2f03b99b656941d5cc040ba07c8d2668085a1e1d7a8e9448767e32c86315410f590b03b993f5c21665a7339db6386e923f7b50809d528772c27660615acd53a9753085e7b9c025b76b952518b5b11a778a880350aad71b2df3260633a570250805b4b0c8887268f1a572c86469e4a75194d50a6e89bd4b2a6d4d09698b880dff136def5b03e66726dcf26fd4911bf3502ea40b0ce71c2588a62dd378447c5477de819baf0795134001bd1250aec31f39a25c98c59938d97390a309ace0bde67b3d13cb46e89b3d7f8369fd539b639164f9825900b36895bcc60fb98bc0a28110f3a7af4070c6c72d63096946423ef49269176a529b5792e4e10deca940564906a29ca1b6e95352210992718248e664a65263a235b17293b6f4b45836166cc461ab04f91fd9e7ca24a891e44c2df9684b85a5845efa2003709b07a596f36aaf9224ceb70c98bacb06d0a1be3b0a926d9c537223097f420a0c1a1dcf360d87d0825a417382c40f297a989a7bb827ba5eca46395e4351aec09420405e9a919f62da58d9443646f48f5b863002d7c24dddb5584adf5fef6bde5872a551b6840e3a082a8aa6dfb7232a6813367038cc -sk = bdb32bbc8a7399e7a4e9ba59ac9030bc29a6f85c8fe2418c2aeaaeec3509e789a854b7126cb5402c185074a72c4f2a97fa34712ec219a8db1653d214a9c623bd093dc15635a8675beaca02b1b8b065000229464fbb123cac72384cfc5f0205b76abbc3fc4b2b94353d3be038ca780fb5687332279a6fc379ce9c28314c4c4347268970ca5b3c084eda04d8438961f4bdc40ac8bdccca6f14b4db7376f8379b0b5a329c4c5ccc975ed3d85e5ea782ff7a1e23c6491be04f84384e0bb56755b985f8ac2812db5e6a08342772a66fd2a2130b621a84578d444712ac76f3107e1ba6366291a325cb4d0d836427a4a27f919ec234bcde6932f42446d87140e2798837124f3f59045a45993fd82388a2702b014f956c59f7c85c3eab0fe8b948b98714c7a460bd844f7f0a5f0d2aa1b6e0b92c934c28f5a42bb4a08407290807ba03605f676732bf6259ee8bafea9445725b20dcb23b52f969d67c3bf7f6c1b354a315dc2dbc38bfe501a5ed1266b23624c1920bbf493fbd44895607474a455544da28682711da721257709e616b504a5195939621e8255001c281757c4bcc85897951c6026550085460e3c19b8bb26374c24f4b245710c450ebda82cc8abc28ea0b21680bdc26948fbc6e13cb5dbc89b4fbeb5dfa4c338bdb3290d834eb06083b5c4655c571cbf03503404de4860dc80934b2252555b4446cdaa14ea30e2a470ce2715bafb5cca084a7bc5595015892830b4bbd362d487c7cc74095e4e7bd1ad7c95e227c25a96621637edd1b7586b026b32b1f2034075b68406dfb7c81c9ac18e56d12f96cf4e4ca77e280350a35c20cc3fe48398ba14050fa515e116dffd8106d815deb282dafaa71f9dbbf5047125512268eb41e7cb16ec4904d80a6c15d1a130c123bf3f4c99b95a569653e5485a5ce9a6396ba91c3130ead31ab5afa2249d0ce9abc0e27f451283343430b8909552da1db0662330f64bb7ed34c7343e7b61560c1e2e601841a90f21cb177fa55a0bca3089462b8b61c8746726b203ad1581ff830b0caf3067130099ce24fbd550e1a6b325d4a71ea542999f87955a986050b0f8b49619f318f10025f45eb7f63d1875e49a296eb1ef5586a9ddac4a59bc96cb01e0af7655b052f9a08b861f0573b8a64295315b76c3b0a13cadfa47e02c61825226d3fcc25202a862e509d0ed99521b1c46c7064de830cf70497c934c7811733e9c70ec2916075ea425d3a0d03ea272bcb0f294aa32f1541df2bbcab251e9173701d8cc678009f0323677c2b0708a246408b4f37e95c170311bb15787e9b035ffb823db6cd02e4421f3690644cbd4a413bc7e696d7491a6ed4018091a9be8b149ad93c49f6424c218803b72c146cab9721ab22c347787090d9016199e65940e19d6902324d138561592a0901700dc54058a6ab298b3d62453865ac29bc815e65582f9b8bb6b5e44c12316de7169f4988c86f953a61a313e4a2734fcc24afc60f6d22491e97bc688c528ae661c9923d587bb11d512c835a9fbb314c39109c3ca2166127084d282979304265d8a78ef343bee9baa7038b9dc9517200c4a049613c936f80982efa61a3c0f18edfcca724a43c79ec2f03b99b656941d5cc040ba07c8d2668085a1e1d7a8e9448767e32c86315410f590b03b993f5c21665a7339db6386e923f7b50809d528772c27660615acd53a9753085e7b9c025b76b952518b5b11a778a880350aad71b2df3260633a570250805b4b0c8887268f1a572c86469e4a75194d50a6e89bd4b2a6d4d09698b880dff136def5b03e66726dcf26fd4911bf3502ea40b0ce71c2588a62dd378447c5477de819baf0795134001bd1250aec31f39a25c98c59938d97390a309ace0bde67b3d13cb46e89b3d7f8369fd539b639164f9825900b36895bcc60fb98bc0a28110f3a7af4070c6c72d63096946423ef49269176a529b5792e4e10deca940564906a29ca1b6e95352210992718248e664a65263a235b17293b6f4b45836166cc461ab04f91fd9e7ca24a891e44c2df9684b85a5845efa2003709b07a596f36aaf9224ceb70c98bacb06d0a1be3b0a926d9c537223097f420a0c1a1dcf360d87d0825a417382c40f297a989a7bb827ba5eca46395e4351aec09420405e9a919f62da58d9443646f48f5b863002d7c24dddb5584adf5fef6bde5872a551b6840e3a082a8aa6dfb7232a6813367038ccda073c98794493ec169c78eb75a39c1594ccfa635b8707325e0ab6cb8576e30ce6c45c7fc62329b13c8d29844405db8ff6860de474bf727ecd19e54e6e1a141b -m = 2387772e50059cabda53cb93ba24b19ae529496c03b36584169451525c4a0e7e -ct = 906b8ce2a58b9aa6444efef6e6da810752e3cf437d66ca42531c8686d10885d66c617b549876f67978cfb7463f52fa510ccfa5301aa735846a12870379d43cee0fe04d4d097d3799c8faf84c3fa0d701de5796dc371a6bcc06f50fb1736a3b9f94fa750dd1aa801abd8fae3fab4d59bbea1be4e7a5091859c754b4e4051b7a9fa466d40aa23926ac8edb4392ac9e20fe040bc81f466d2ad3f129b2f04b9521976b5701bc455db343bcca57ee1547af004ab6dd8cebd3277b3cee58be476525bd31029cd4545f0b6614b4f8c0b587b11ceb7ed64da771468a8f3df457d4e9c23ecb198cdd345d5804bd1aacd3d7e806cf078cb81c899972c632154abc6b9ede39febce110e976f78f9e4d430656ab2055cca5ddf1b2281ce7a2a46bd68ae2cd1ede96b60cc37fa01b83022768befb545145db9daec7a684bb15503f2b5b2b8a9644c2c058c29b594afbafe878804e984ee2b354139b7c750d170bf9229d0138b2d333ece5aedfc12ca46200970c750e051628eea7955861df26ec22a116e1548e0df45d87401a6913364bb270f2c9def9ae6c6d68e8e30ef1cb70dde6fafcd65beb3ff4aa664cb47a30aef3ba4859e896214035088a639af83484769cecd9b582396fcd12d996fa847a4271445aa294dc7f7492d8095e55a5b3304850f7ef6486a4d6b8f793842ee60a57d8442f1ad21137fd347ed1ccc6332eb0f3cb72663bd62d2b20647e32366c1f80e987c3f9036a392a50db3f53e790dd7f1a94fadd80197df0a49d9a88b972f6615f996a90946ba75f4a9f0d3c99e7e4f6ef1f8519eb0b1386a5e9499f7d6c7b2fdbd0d5983531175a3b410ece9292246b352935426ab8b6a5e4cb146bcc34a9bccf66f48036c34e837a262e8b6292ecb872ee31eb4c3c7419b02a7f11faaaab1a1165bec8c66130ee2f5d6a6cd1ae4e690d3a30f48d03fc185a65597c0b06224c74db7dc12178881cb133fd94c9a2489349c94cd969a39956d2df63ccee6c8d02cad4ee698cf2fcea2074a92b59fcaaa038de4c1e9d8b1c20eeecd3f87a20c66031c849a1784e81e9645a4eba44407c23c87b1c953a84 -ss = b86cb3a712c8802b28c25580052cb039e6dd4a71d01fd04b76839ceacc4fbbe5 +sk = bdb32bbc8a7399e7a4e9ba59ac9030bc29a6f85c8fe2418c2aeaaeec3509e789a854b7126cb5402c185074a72c4f2a97fa34712ec219a8db1653d214a9c623bd093dc15635a8675beaca02b1b8b065000229464fbb123cac72384cfc5f0205b76abbc3fc4b2b94353d3be038ca780fb5687332279a6fc379ce9c28314c4c4347268970ca5b3c084eda04d8438961f4bdc40ac8bdccca6f14b4db7376f8379b0b5a329c4c5ccc975ed3d85e5ea782ff7a1e23c6491be04f84384e0bb56755b985f8ac2812db5e6a08342772a66fd2a2130b621a84578d444712ac76f3107e1ba6366291a325cb4d0d836427a4a27f919ec234bcde6932f42446d87140e2798837124f3f59045a45993fd82388a2702b014f956c59f7c85c3eab0fe8b948b98714c7a460bd844f7f0a5f0d2aa1b6e0b92c934c28f5a42bb4a08407290807ba03605f676732bf6259ee8bafea9445725b20dcb23b52f969d67c3bf7f6c1b354a315dc2dbc38bfe501a5ed1266b23624c1920bbf493fbd44895607474a455544da28682711da721257709e616b504a5195939621e8255001c281757c4bcc85897951c6026550085460e3c19b8bb26374c24f4b245710c450ebda82cc8abc28ea0b21680bdc26948fbc6e13cb5dbc89b4fbeb5dfa4c338bdb3290d834eb06083b5c4655c571cbf03503404de4860dc80934b2252555b4446cdaa14ea30e2a470ce2715bafb5cca084a7bc5595015892830b4bbd362d487c7cc74095e4e7bd1ad7c95e227c25a96621637edd1b7586b026b32b1f2034075b68406dfb7c81c9ac18e56d12f96cf4e4ca77e280350a35c20cc3fe48398ba14050fa515e116dffd8106d815deb282dafaa71f9dbbf5047125512268eb41e7cb16ec4904d80a6c15d1a130c123bf3f4c99b95a569653e5485a5ce9a6396ba91c3130ead31ab5afa2249d0ce9abc0e27f451283343430b8909552da1db0662330f64bb7ed34c7343e7b61560c1e2e601841a90f21cb177fa55a0bca3089462b8b61c8746726b203ad1581ff830b0caf3067130099ce24fbd550e1a6b325d4a71ea542999f87955a986050b0f8b49619f318f10025f45eb7f63d1875e49a296eb1ef5586a9ddac4a59bc96cb01e0af7655b052f9a08b861f0573b8a64295315b76c3b0a13cadfa47e02c61825226d3fcc25202a862e509d0ed99521b1c46c7064de830cf70497c934c7811733e9c70ec2916075ea425d3a0d03ea272bcb0f294aa32f1541df2bbcab251e9173701d8cc678009f0323677c2b0708a246408b4f37e95c170311bb15787e9b035ffb823db6cd02e4421f3690644cbd4a413bc7e696d7491a6ed4018091a9be8b149ad93c49f6424c218803b72c146cab9721ab22c347787090d9016199e65940e19d6902324d138561592a0901700dc54058a6ab298b3d62453865ac29bc815e65582f9b8bb6b5e44c12316de7169f4988c86f953a61a313e4a2734fcc24afc60f6d22491e97bc688c528ae661c9923d587bb11d512c835a9fbb314c39109c3ca2166127084d282979304265d8a78ef343bee9baa7038b9dc9517200c4a049613c936f80982efa61a3c0f18edfcca724a43c79ec2f03b99b656941d5cc040ba07c8d2668085a1e1d7a8e9448767e32c86315410f590b03b993f5c21665a7339db6386e923f7b50809d528772c27660615acd53a9753085e7b9c025b76b952518b5b11a778a880350aad71b2df3260633a570250805b4b0c8887268f1a572c86469e4a75194d50a6e89bd4b2a6d4d09698b880dff136def5b03e66726dcf26fd4911bf3502ea40b0ce71c2588a62dd378447c5477de819baf0795134001bd1250aec31f39a25c98c59938d97390a309ace0bde67b3d13cb46e89b3d7f8369fd539b639164f9825900b36895bcc60fb98bc0a28110f3a7af4070c6c72d63096946423ef49269176a529b5792e4e10deca940564906a29ca1b6e95352210992718248e664a65263a235b17293b6f4b45836166cc461ab04f91fd9e7ca24a891e44c2df9684b85a5845efa2003709b07a596f36aaf9224ceb70c98bacb06d0a1be3b0a926d9c537223097f420a0c1a1dcf360d87d0825a417382c40f297a989a7bb827ba5eca46395e4351aec09420405e9a919f62da58d9443646f48f5b863002d7c24dddb5584adf5fef6bde5872a551b6840e3a082a8aa6dfb7232a6813367038ccda073c98794493ec169c78eb75a39c1594ccfa635b8707325e0ab6cb8576e30c91fd1369e8228b3979984c15440ef268fd3629c186d6cfde02b0f8a7908a7ee2 +m = 135cd8f8172371cef32284ec766614cfdca11dbae8797b92227da5e487e16435 +ct = 5beb52021dee6aa1203457ac1d9883bccd7aeeb87e09fcd5bf9be8713d64b7d2fbd6ee93fc8246bdf7f5aa0c641507bf1d7e78809be6d348acff403939fb29cebaa1801ac44cb29f9a9e7c4294e2b47872289b3d7deaf61efdbd31e8c2615bbefc8be452291137cf8ed7668947ac34bc3286c62e951ab4c62cdd83dee9dfceab007feb0a8539753b7275f416257e3b06894aeb74be28a330737fe7003320fe8561994687fa69f320a3124f814317f4f48960d4afadece06574335c272ba5d59dbc9bd7ed95196e5ae3462093eb815277b042b7df35b39dd6884b26d2b29e4113f2c4427d23339382731736d14c01a879e5bf2ab7fbf14c536749d56e8be5b1a4e1bc9c75cb5c473f3e8ebcdb13ca3a05fb8b1e97f8d73aaee7843c0ee08c2e9cb636c00da6810f440a08b3c0d1d0a63d83dc63fdf794bcc700d389fe4910e1affc1909378130f1c8648ee1b73c58783698402ca20f5fa9541af95bc125d1247ed205ade8bd0c56da7c919e75777e37efbef2253a4cbef6cbf9efab4157b476cb20d87c3900a13421331ba7c066fef9aafd9cc4b0bfa88480b205a501fc2b658fd775e29c71396793413da14b4b80f02f919660cb110659a9cb12ca482db5ec4787ea1aa25782fd20334687eb5ade93a4035882293195b0a3fa5b3cefe997320a184ad19331beeb441f28668d5f7150a613576c7171475c11d25679e10fc556ef73e2f9f33dfc48976cbef171dfb80d029b7ab7e71654059e63143314228acce4ad51e290c96327f6480d15903031071cf0fe810c186b916a40ac49f69ad96fd938799575a3e34217dfa6d8704983d9e760218fe9095151c85fdd92d5d8b30f6d7cf1163b1b20353dcdfcf4b46d669d8602db061cd79b4b52a179955c415b609a27b5bafa3fb47a74c6dc078a7bfd37b1f02fd5dfecc286c552eac0cec74a8da9c9b0034870be8233d7b9b2956918fc368ede07a3ff898deda299ba4261d7db79c7c011cd8d366dca3fe14518be7c5d22bb5d9111673d116779d95313133e982622c60152d47f272a58d0065702413e5d04381035f0f736947c1190c7fbe56607 +ss = bebe49e6f696d5bbc4fdf3990b8046c1260050800cf21ab7b93ed2d0f7e2c050 d = cd6a99396eb3539ca663a51e42063a3a262cc1c5a5fce1566f0597b52ad9fa32 -z = 5a3407f591791a5db4578b5972093a95bec3b8e70c1d542c9b5c9789729f8922 +z = ac8557eb61a3d4a2400d3a604092cc3b92032f4d3b563f3d4aa19387eebf2a76 pk = 5684bc32ba5b14f6999a9c794f0c6af04803fa57cd54278313e99327d579b217682b1b86dc02431c6aa125062367798f2c7b1ee7f907dfe42736cac924d169351853f15b944578c5543aa27b626ffe7b3114a11805d8a3fd464ec46b912ab89a3df2a561855fbcb3820f4c11fa7b5e3727612e685830f3aea6c9881bbb06eba102e3f53e6ec502a4ec98f9c1af0d564df79c8d7c403c4843cd6d05732000c6eeeb17cae7032fdcbc275949a8d0501ae182cad756808cace516b72696c618b319f56615bfd0472c76a5b3b4b6b2471e1955025139c5805c095867be34657c5af333c9111b01da84198a8d33655a37f6aa3f35b7e6f34b1e2b158987ccae22198ae605a9a86fb3985f189292785a14fe2a4de8e245a1dc45513ba55487a6d45940e62b6e6c95cc83264c913c578b21260625b7ba7339057a94435966df3033c647beaac74bc7014b01dc539445c77509bd481c525a226dd44966feb66684644f598c9493346c9071b16576978f477ea07862863191e02805fe4c54f4153749b222a001af7396a2314054548203bfe66080cc0ec95c2b86223ed936268fe418486a58afdb9fe8dacc49427597e4198ac4c8dd747aa56cc22e38c7f140988ee37dfbb251762868915b6ac205a006846d74e8734a930211941c4e5721ff281551605866db0f6bfbbc9fcb649b45249b9610e647c827cb983d61a6c9e717206135e40780f99495aa3c9c6b619e47b40521db992e5329c4d3c894342e2ab2808c630d9761ab13416c55fa1f1ee2b7c918bf78832b23bc4561f6cade041f4223067db18033eca02d243811132c5d98acb172bd825660e07007125b7428f7403bd2c19f522588d20413162253a95f3e54738ae8694b7a5bd13c7b0a41ada087a8cab72b6927b3ab614cd6a00a00e2545fc7ce547a2f3b320b9711167b694c75ea6494047a8b6c07df344dfa099482d322fed5792d1507b801424bf50fdd2088c0f18a9bf31aefa239faa50c01c8866d0389eca7a521cb9028f94aab585841c021dfe04a008a8d11d23d534105aafb413450a2ebe6918eab0e641bac2d000d7fab0ad265468e9fe10b44687f9aa606cae8888e4c21ab0f7b85eb3d3a2a3d2fe8ed883d1de0 -sk = c6420c2d0681c74c90b9ba6bd94054efc357c500bebd15a0ff4a1216271617e220cf7a6f46fa77636c255e9885418991220278023cbabe86770b1c9761171187937c00fdbc10783f47c7388d367b03756eb2804cb53c8cc4989ff3cba449014835b493a452180da54877a3a6daa63357d2408e5aa0a274175e427721989f954942ae7909dbc2a987904946766eb8971a8f1277f4a155e792aaba1cbb9cd09647d589e9863b5bcc2918150444006b509884c2a96a817c9ea900144f834b0cd74ad0121bc1b93f7388925523711327588a74a58dfb7780003e5f2830f15507fd2b5057e5c74e306f8f26844994049b9c5c338909d867c547d64ea6a691613067d3670d8382450f191e206187912425795bbb31d7af1c22a99cb72e05a5a768c855af3a0ca56480b8db26ac36ce8b582b838b8a488c4f744ba785b8bbf4eb4578985f7ba29f3ec60541fbb4a47a84a5504562b1c36f24c0569a7f24998d90c9b1e6d5393dc96cb1748eb4c5c963e46431d45f70b536a2db0132a44a9a98af50087e88a33002a3acd1875fdf91322de0347929354a6c5bd52585fd97c8d111a5494ac1cc269c075ac6361b71294494075043ae6b1039f28a51e51368c419268c5001d44d680c0bacb1304b7719fc6813f9b152764b80ba56588250a035822c4760082a265a7f60ba94acb1d0f00a6b10068f832f4496834e505bbd4a3bf2262b53998001a6c87b0b6abf07184b302df8c04b794079895157cc1211fc6c4e87035dfc08105ffcb811882b3a08c6060b526cc92916131122a449057160dc03c8cb985d921881269b070c35cfba1a95412b8c3f13b63d82641b453bfb76ad4181573a27b1a31c411ebc57594b742e53424c549932624b0675795d568cdbea4803e2180b084a52bc7653385ee4801d09014c0f63c8bd8c7e2d2324eee42176d9a1520185a4cc255b0471159cbb29708183b72d6a22aa3a55b672e28d6f7066e2d47270141c809a86e60389d838c0cee42324b97cf9dccaf435caad008015e83c78217d84ca93dfd165f41c68a7f66c98f21caff200c523c7291c57f8786cbea3734899705684bc32ba5b14f6999a9c794f0c6af04803fa57cd54278313e99327d579b217682b1b86dc02431c6aa125062367798f2c7b1ee7f907dfe42736cac924d169351853f15b944578c5543aa27b626ffe7b3114a11805d8a3fd464ec46b912ab89a3df2a561855fbcb3820f4c11fa7b5e3727612e685830f3aea6c9881bbb06eba102e3f53e6ec502a4ec98f9c1af0d564df79c8d7c403c4843cd6d05732000c6eeeb17cae7032fdcbc275949a8d0501ae182cad756808cace516b72696c618b319f56615bfd0472c76a5b3b4b6b2471e1955025139c5805c095867be34657c5af333c9111b01da84198a8d33655a37f6aa3f35b7e6f34b1e2b158987ccae22198ae605a9a86fb3985f189292785a14fe2a4de8e245a1dc45513ba55487a6d45940e62b6e6c95cc83264c913c578b21260625b7ba7339057a94435966df3033c647beaac74bc7014b01dc539445c77509bd481c525a226dd44966feb66684644f598c9493346c9071b16576978f477ea07862863191e02805fe4c54f4153749b222a001af7396a2314054548203bfe66080cc0ec95c2b86223ed936268fe418486a58afdb9fe8dacc49427597e4198ac4c8dd747aa56cc22e38c7f140988ee37dfbb251762868915b6ac205a006846d74e8734a930211941c4e5721ff281551605866db0f6bfbbc9fcb649b45249b9610e647c827cb983d61a6c9e717206135e40780f99495aa3c9c6b619e47b40521db992e5329c4d3c894342e2ab2808c630d9761ab13416c55fa1f1ee2b7c918bf78832b23bc4561f6cade041f4223067db18033eca02d243811132c5d98acb172bd825660e07007125b7428f7403bd2c19f522588d20413162253a95f3e54738ae8694b7a5bd13c7b0a41ada087a8cab72b6927b3ab614cd6a00a00e2545fc7ce547a2f3b320b9711167b694c75ea6494047a8b6c07df344dfa099482d322fed5792d1507b801424bf50fdd2088c0f18a9bf31aefa239faa50c01c8866d0389eca7a521cb9028f94aab585841c021dfe04a008a8d11d23d534105aafb413450a2ebe6918eab0e641bac2d000d7fab0ad265468e9fe10b44687f9aa606cae8888e4c21ab0f7b85eb3d3a2a3d2fe8ed883d1de0c2aa254714dac09b9e712572b24154be391063afd3cd8cf4cc4ed8ef21f0cfe55a3407f591791a5db4578b5972093a95bec3b8e70c1d542c9b5c9789729f8922 -m = 155c29c5f0378df0cd0e847a80a07143cf7522fcd880c9229eb9feb1ce340cd2 -ct = 01229a11e5a87c3cc2cd936954e259c0da660f7776d4a758c8e43169dafe22149ed1ed8cf31ae7f16e4e1df9670a62c24c4a50dbda7f60414d439c9545d702346eee0539be5c3b0e2181235c966ef54cb88beacfe8997b5e206966494325520350e1e61c438b6dc0237aecd929f93ff3da0017614b1ca5c1b3571156e2f40301261536bebd813b71ddba08a5adf2a147ed013febe97ac28af24ef5970bf331880418afda9f849d53f41507395fe43cdab8ea0e87e7452833de66069286b74c8c7242f8f5a4c62da98bb1f618958c5d0ebef9a071330f65b401ebf752e2cf02f4200d877a6c5b205c44d19fd79f31e79c7ac007b0bf1a837dab446fcd450160381493688fcec6e20497eee3bc6b799322d6501cb3439b91e54e985a8bf6d9b8fb08914641220a530af244a51b9e9bc791c1d49cd86793af91e453f8e356a25c207e8c0c67a711d7b33012ac33d216e3ad1a1c2951823d819d196bed7d0033c0e77d3a296a56f3b159c876f1ffb60d8e4e02a84625f6e098f39b4e0cc343907ed4bcc10ee1814c1018908a63bac540313d9c23a23a133c6293b1c6125e37c5ca7a68a16b78a632af1da08eca1d17c776f7cdd19daf1304a2e4662cf56cefa7197e7fc66071207eeb838c1614b01214b71bf024a66fe17d9b2dd01e8624693c93865c0af4fe41e98c4b94b9406e31551e69ecda3149ca4d16c3137ecb03587bc280e60966d10060059520fd710f277748eca6e6c33be516c149aabd230fd2d0ee1f9047d8b0179e04132330aff0e83c96f7812e9e888503ed26c0463361c55397c88a3a95358baa52c9a0135dded2cddf7b467d2bf2d617cd6a829e93b0d671e04e220743e3dbc1c0362208668146c127f80a2b1257d054191ad0c0a3cc3d9c625705826e2989fac0481f5b311ae8913795ef43529d40bf0f36e7aa5e206badccffa9cc5c574f93582c959d038d2ef7189186f8d9b0ade1ac23d45f9e7f98edbc8e6c76bb7f52e821df3def5e121dff2d7502dc8be93b8b5c9dd7bb622d431e50286b6e4a00a7b847d5f9d01316c473cc20009adf6cad85f9fc54c848909b3c5c7f -ss = 1b4914e23b4b81dfe9a3bf8925c4a075c0b50b932c2fc53060ff4c9906183ef1 +sk = c6420c2d0681c74c90b9ba6bd94054efc357c500bebd15a0ff4a1216271617e220cf7a6f46fa77636c255e9885418991220278023cbabe86770b1c9761171187937c00fdbc10783f47c7388d367b03756eb2804cb53c8cc4989ff3cba449014835b493a452180da54877a3a6daa63357d2408e5aa0a274175e427721989f954942ae7909dbc2a987904946766eb8971a8f1277f4a155e792aaba1cbb9cd09647d589e9863b5bcc2918150444006b509884c2a96a817c9ea900144f834b0cd74ad0121bc1b93f7388925523711327588a74a58dfb7780003e5f2830f15507fd2b5057e5c74e306f8f26844994049b9c5c338909d867c547d64ea6a691613067d3670d8382450f191e206187912425795bbb31d7af1c22a99cb72e05a5a768c855af3a0ca56480b8db26ac36ce8b582b838b8a488c4f744ba785b8bbf4eb4578985f7ba29f3ec60541fbb4a47a84a5504562b1c36f24c0569a7f24998d90c9b1e6d5393dc96cb1748eb4c5c963e46431d45f70b536a2db0132a44a9a98af50087e88a33002a3acd1875fdf91322de0347929354a6c5bd52585fd97c8d111a5494ac1cc269c075ac6361b71294494075043ae6b1039f28a51e51368c419268c5001d44d680c0bacb1304b7719fc6813f9b152764b80ba56588250a035822c4760082a265a7f60ba94acb1d0f00a6b10068f832f4496834e505bbd4a3bf2262b53998001a6c87b0b6abf07184b302df8c04b794079895157cc1211fc6c4e87035dfc08105ffcb811882b3a08c6060b526cc92916131122a449057160dc03c8cb985d921881269b070c35cfba1a95412b8c3f13b63d82641b453bfb76ad4181573a27b1a31c411ebc57594b742e53424c549932624b0675795d568cdbea4803e2180b084a52bc7653385ee4801d09014c0f63c8bd8c7e2d2324eee42176d9a1520185a4cc255b0471159cbb29708183b72d6a22aa3a55b672e28d6f7066e2d47270141c809a86e60389d838c0cee42324b97cf9dccaf435caad008015e83c78217d84ca93dfd165f41c68a7f66c98f21caff200c523c7291c57f8786cbea3734899705684bc32ba5b14f6999a9c794f0c6af04803fa57cd54278313e99327d579b217682b1b86dc02431c6aa125062367798f2c7b1ee7f907dfe42736cac924d169351853f15b944578c5543aa27b626ffe7b3114a11805d8a3fd464ec46b912ab89a3df2a561855fbcb3820f4c11fa7b5e3727612e685830f3aea6c9881bbb06eba102e3f53e6ec502a4ec98f9c1af0d564df79c8d7c403c4843cd6d05732000c6eeeb17cae7032fdcbc275949a8d0501ae182cad756808cace516b72696c618b319f56615bfd0472c76a5b3b4b6b2471e1955025139c5805c095867be34657c5af333c9111b01da84198a8d33655a37f6aa3f35b7e6f34b1e2b158987ccae22198ae605a9a86fb3985f189292785a14fe2a4de8e245a1dc45513ba55487a6d45940e62b6e6c95cc83264c913c578b21260625b7ba7339057a94435966df3033c647beaac74bc7014b01dc539445c77509bd481c525a226dd44966feb66684644f598c9493346c9071b16576978f477ea07862863191e02805fe4c54f4153749b222a001af7396a2314054548203bfe66080cc0ec95c2b86223ed936268fe418486a58afdb9fe8dacc49427597e4198ac4c8dd747aa56cc22e38c7f140988ee37dfbb251762868915b6ac205a006846d74e8734a930211941c4e5721ff281551605866db0f6bfbbc9fcb649b45249b9610e647c827cb983d61a6c9e717206135e40780f99495aa3c9c6b619e47b40521db992e5329c4d3c894342e2ab2808c630d9761ab13416c55fa1f1ee2b7c918bf78832b23bc4561f6cade041f4223067db18033eca02d243811132c5d98acb172bd825660e07007125b7428f7403bd2c19f522588d20413162253a95f3e54738ae8694b7a5bd13c7b0a41ada087a8cab72b6927b3ab614cd6a00a00e2545fc7ce547a2f3b320b9711167b694c75ea6494047a8b6c07df344dfa099482d322fed5792d1507b801424bf50fdd2088c0f18a9bf31aefa239faa50c01c8866d0389eca7a521cb9028f94aab585841c021dfe04a008a8d11d23d534105aafb413450a2ebe6918eab0e641bac2d000d7fab0ad265468e9fe10b44687f9aa606cae8888e4c21ab0f7b85eb3d3a2a3d2fe8ed883d1de0c2aa254714dac09b9e712572b24154be391063afd3cd8cf4cc4ed8ef21f0cfe5ac8557eb61a3d4a2400d3a604092cc3b92032f4d3b563f3d4aa19387eebf2a76 +m = 96fdac8ddcc219f5abacd5f20fefeed980b40339d4147c6a066d6b6d67458760 +ct = c3a2ebd20e060bfc83c30a4fd3a450d5d82037b654378b55fb61303501007d592ff14871ec69e9e4dec4b544f26664ac7cf8c731bbc172042ebe1e02acf7778e25459219b6421f8e7d1f4a0415c0ea3c22750da2818b30bc860b40480b41448479f074771358f1c8f49acf46515ba6f4233a45a52b1c8856f6e4644f630a27adc176fd4529f78b80390fa94fcc96749c9b08fc1330242c325fccd769f12f742345b908e1c53b8f71e3dffe08688481b3ae2bca6f311ef666d4ea469ab0c569e887d5825169867a7f488e126a58a0acc863c424fbf50beb79c5d0242547662c7ab72549708f97b2126f9cc86a0908a196ed88bd30fc3e182be44cab22ec637a66bd9cc7e6934ee4133facea80d27b802de3f61ca041cc54cef483f0b696c3f90e5c32fccf8165838ca6a03ffa0a44a68bed1e9a8743fe7769ca74ae028e84c44179b7ff346229c497398523c46d3d538c5f25281bf42464c6f3ca406cdf6c8bef5cf5246a15763108bb73a16993f44e489c2fbe969d67d53ea778d083173977fa701b65ed7745f52e40cd74fceafcc7d1fd47d9a590e764a40192ada80c7800389fd7ca579ba3794fc0a17ab004ffcb2230eab53f458fb2e582730135ed53b7fa8e529d35aa73b19a30391510ec3fb14189a658a7cfa874d5e2468c2f6085314265a1592482e1e97892462b94dd6d9285109ea8ec7fa85e422ff36aed234eb46fec93f31ed1b49a1632adf8d027c85c6cf7b1b20aca15d7e3ad9df3ebc52d5845be4cfa919a323ba1fb5975f4954a9dfa468c358f4df194b0c6fce32368370ec03f7eff8aa8c7e0329b6bcc5178b2788c4bdf4dd0db5a117cc65ea9f367a395a95d40d87233a38849c92e5a7503e503ccd98c4dcdcd3f4a0289b01241b030d4f52c160e8a1b54a7ff8f687fad17a3440741faf7ef66e2d95a9f387644c8900d540f35740d5f8d70e5cc29fd13b5667964e928e783a86fc218d01750a7976fe817b5d845abe84d6a457ee0c5971251955bbc18cbe26c9e66fd40de674a5cdc1c0404d15511846cbe80a34226a56507f0993122afbf40944a80d3cd3133a53ea60c +ss = f2c8acd04e7308c8439ccf0db48b259b7d784ac8363799515a57fc538aa91720 d = 6c8c53ed6f65e6b2e324b84364e10de42d1c26a106d4d1c99eee79c78586fb55 -z = b9402bf02481ce4b27a52e87feb92c4399c7f2988d40e942e7496ad15ad2aa88 +z = 55bdb92f28d0393c0f7850c7f6c371bd4835d6db61c138b0faf22854466231d8 pk = 9a3aa452bbcdc82111a6eaa59b04ba8a78bb9474659cc944e7a883780815b899cc64219dfc583f0ce4103eb04ea7e60e2c627a91b28a32843cb395021ec544005326f12b53144ccea0096d8b186fba2ccbb9e4197a43406fec09f53abac00245ce1a239790ca622401df204a90b4a438d33391dbb10ce1aed56456f4238af548881d188f0976887eeb672cc91078474cc2c289de2459513ba16458aa5ff06ea2746d4293b7ec95078d9346d0197dc9a93b2c153abad1c62758cc2f57544f37cc9597691047acfce10be1246fa51b056ab87f24c38a0fe36813316191612e9cd7a26b745f4c51a1a164422b4502b073185a93725bdb606ad6850ca5a27f7c2e8002aa709517783232514309b3c280444c0706422652b170011122e0ca821b5117e530ce07282873ecaa7d751689657aefd5575a7ccb65515e1dbb647c31b1f8578120252aceca821df0416c6780b9f9988ab68c72c73538ca21687cb4654667d3e9bf8a0bc6263053766c8180b8079aa8c975d867b36b45bb709436265ffb0524a0b143095351c90541f8437e756a028be92910341db30b8a94290cf1f9042b6bbc99411b72176e7c5a830be2569b695e40e63122e574e061278a35c607ac8d491b60bd96917d81154e9a244dd014ee85ce9b0691c21c08cf2b7143b21ebbf71412b873828a66286cb2b4f11c73954aa64b1717769573aab29de4cece271cfc549f7f26aeb28360d22926cd16cb67f0798a1c1a03f706cb3b37ea250b75b1b881c36c86461597292561503e6f3405b19a3fc3a8c229d51b6a5391964a4c05db926ef13401250e4a8235f8ab4fc3039f61446f37c1c3fb01b626e725c8c5031db11093017a0bb5905fca5a2721c35ad2100a41567eac8a1f5cabcbf79c87d370311c65fdb69f8f94b3a3751bbfa83e7237329a8c118b7b7af9816e0922661869a2e68c7deec83545915cb11570a4737542ec9ab52246e7b58c0df812e2672f86ab92c788257f69a0f62b8f7757489a182de8f626a4a91aad8a06f9013a9ba28d3eb6617a21c9070cc65e3551dffbb66ea449221c17efebc429c489fe107bc50a755e4c3941a07e45ad3ecb9ae67e7527f70f6e07a757bd112947074d5120a1f2a1 -sk = bc6b78c468375dfa71b708464bb934109c1720cc0b3f0b3165d968390c9dc90584d5f093ccab5f42a44e54d61bab919f73dc93c7823fc9a36ff8c67e5e840aaa5282d035ba6cd41f12655b0d9631cf3722c669bccd01ae3129ba7c1ba1d95544a3cb3c2eb94e4d305948840680e8adc651aa42712358a6419ac5626c52c0b4bab13c03502d882a33b710fcd64a16838e38c682e3a3968f5044dd968232599b5e134850e874aff2a8243ba3869497502827e87282fbdc13040a1569c5023675036364932c445073ba7749d470f98751f6471b4c198c3cb69cd110bf945b1a43489644d0bdb231ae1761a5eb912df7ba8c3f815eca6c2cf71907c6bba149607734a412e2a4587ba64900453600ac72f6740b644265a563ad17f3c4ba328caba49393d4c201c8a03079b482a49188d249869326cc5b7c510258a533416d508b62cb1bae79b361b6b78629aac2f0c47e056e2508cecacba42e0cca57a8c182e203371c7533d3454db6585c855328b31dbdd4bd8c232ac8263cb960bfa9e53e4ba733ad822e6919afa507753fb19e279637d9999e2fc948304a4bedcca20f820aceb36813a36695ecae0ec790ef810d4a2c8bd940b6fe3163dcc5b53e20b608ca76d6f70c6419c1c0886683e506f130315a600d8034b972959d42008d5912c799134eda79c0a4c6324f636260778832358211e3a4277268b7074f04e983890130c85c8545dc374e61cd9c5483430760cd3b218c887c22e0c2dc4c2b8e275c8851105fc08fa8609bf6165a029a153fb38282240ed44126379143a454245028c222c65cfbf2824cd61bd3474e59900e162703adf13b1b394caf948f8cd070e22c78c6a17336c6863d360d2bc08848f964fba4a0aa4a181aca56643667d130267f274446b7020c0b4d9dbbb025ea3f90d5219e753391f2b3d489011a1c34cdac46e30b4de544ae19b530d46571d8c6beddf9c62126089982a02612181bfb9f3913caf9e0732519c5208b2a52a53fcd394583762ed3973165187505f2274efa03b6a79e6a39297732a880638e2ce18178420621e1435e919d00e092cc2571d8f09d5cc7b19a3aa452bbcdc82111a6eaa59b04ba8a78bb9474659cc944e7a883780815b899cc64219dfc583f0ce4103eb04ea7e60e2c627a91b28a32843cb395021ec544005326f12b53144ccea0096d8b186fba2ccbb9e4197a43406fec09f53abac00245ce1a239790ca622401df204a90b4a438d33391dbb10ce1aed56456f4238af548881d188f0976887eeb672cc91078474cc2c289de2459513ba16458aa5ff06ea2746d4293b7ec95078d9346d0197dc9a93b2c153abad1c62758cc2f57544f37cc9597691047acfce10be1246fa51b056ab87f24c38a0fe36813316191612e9cd7a26b745f4c51a1a164422b4502b073185a93725bdb606ad6850ca5a27f7c2e8002aa709517783232514309b3c280444c0706422652b170011122e0ca821b5117e530ce07282873ecaa7d751689657aefd5575a7ccb65515e1dbb647c31b1f8578120252aceca821df0416c6780b9f9988ab68c72c73538ca21687cb4654667d3e9bf8a0bc6263053766c8180b8079aa8c975d867b36b45bb709436265ffb0524a0b143095351c90541f8437e756a028be92910341db30b8a94290cf1f9042b6bbc99411b72176e7c5a830be2569b695e40e63122e574e061278a35c607ac8d491b60bd96917d81154e9a244dd014ee85ce9b0691c21c08cf2b7143b21ebbf71412b873828a66286cb2b4f11c73954aa64b1717769573aab29de4cece271cfc549f7f26aeb28360d22926cd16cb67f0798a1c1a03f706cb3b37ea250b75b1b881c36c86461597292561503e6f3405b19a3fc3a8c229d51b6a5391964a4c05db926ef13401250e4a8235f8ab4fc3039f61446f37c1c3fb01b626e725c8c5031db11093017a0bb5905fca5a2721c35ad2100a41567eac8a1f5cabcbf79c87d370311c65fdb69f8f94b3a3751bbfa83e7237329a8c118b7b7af9816e0922661869a2e68c7deec83545915cb11570a4737542ec9ab52246e7b58c0df812e2672f86ab92c788257f69a0f62b8f7757489a182de8f626a4a91aad8a06f9013a9ba28d3eb6617a21c9070cc65e3551dffbb66ea449221c17efebc429c489fe107bc50a755e4c3941a07e45ad3ecb9ae67e7527f70f6e07a757bd112947074d5120a1f2a18aaca951e0573f28d50831960a28dd11126f0eb080afc55f394e8eaf6379f6ebb9402bf02481ce4b27a52e87feb92c4399c7f2988d40e942e7496ad15ad2aa88 -m = a9cb9a61a3324b1ea5afe693b32784e2871096b2ca14a11acc9577c52359a241 -ct = 54bd48494e96e3a26cfda16c234ed14d17b56448c13f2a4b38586f871bc82036bb3237e633a8dab4e649f4ba8ca728338fa0491dc5891e04dd290b95176a590b13a4e9895847af2c5d68c0d4e0bbd88bda29b425f18fd06a51516ae1d7147190e53e88592e5f43455bc030e127eb54428943a37cfa461430697f4fe3908cec12b70071695b7f53a3b69aeac6a0993bf7a047aaed65735c7438abc98038d50b608767c972f4a1ce7e7f94cc619f5e032c8d725284c3c689e334303ee4427719b0a67e6085bf9a98e90f5459ee5bf8aabfd9bf1fdc8dd9dc9460262504f8eace7f45ecb13a78adbbcfd18b4d0cec2dc40b17fcb4f2ae1122d08b97eda0c85f87e079357ea0bfa32453308cf2841d49b41783f85847787c26e5cc7c936701d3701de41104a6565bbc5dd93cf550c1d87d0a003b75d17872a97cad3fb3c69b0dc8319a1ac6e789d9017afb6ff13744c05f895582e97a4b196583d2ed35017ade2600c06a9e0ab584a0ae3c8010c09cde95069283e3f1687191ab3c4dad69aa6377a07768519e102ca576690324b4c51c8f0d69df16aafd4e8e9bde897c5eba2362cb6134bfb35a296c745a9a9d73837784e35c2ec900572a4fde989cfb1ce0235aba28ab76a00f10790ae2f1bca3904bbad0cbc7caf1219413efd9edb94f1b879d73a1c6fba500644b61511291c768f0f6940ad76333c25f1a9a4280868764b9ebb9b1f166e000177b0c9cceecc3307b860389ab48a3c27a6f384eecd3298773d1194466611b6b75c4d56596ee9a4885357ac138bea6bf660f4efb73002160f5ae1e2cb7fe46fafd9d5d50550eadd98ba8286c2946bdc0b021af3a3a82d774ba8f2b94099ed2c0ea58c427aff8b16f670c9b46e402c673e83c5a177c3b861f5890a8c306d60101e214d31c5ce4fe4ddebcd5f4de0e9110198abe9a919ad80dd020f30f9912ca6a3d65d5d9f4eaee2423b09fdf81a2870505431a5b31c80f164333e6945dbd45eefe0e90b9fb33ac8929b35fcabebb1ef579a25d312e161c0c874ce086866f0d4dbd32a9acc5db97dda4721ecae03a21844b23ca6ca8a40ebbae6a61 -ss = 1c657d7ccf0d7cbab51df5e5934548efedd2b91fa7a4cc8b20288f78c20b507e +sk = bc6b78c468375dfa71b708464bb934109c1720cc0b3f0b3165d968390c9dc90584d5f093ccab5f42a44e54d61bab919f73dc93c7823fc9a36ff8c67e5e840aaa5282d035ba6cd41f12655b0d9631cf3722c669bccd01ae3129ba7c1ba1d95544a3cb3c2eb94e4d305948840680e8adc651aa42712358a6419ac5626c52c0b4bab13c03502d882a33b710fcd64a16838e38c682e3a3968f5044dd968232599b5e134850e874aff2a8243ba3869497502827e87282fbdc13040a1569c5023675036364932c445073ba7749d470f98751f6471b4c198c3cb69cd110bf945b1a43489644d0bdb231ae1761a5eb912df7ba8c3f815eca6c2cf71907c6bba149607734a412e2a4587ba64900453600ac72f6740b644265a563ad17f3c4ba328caba49393d4c201c8a03079b482a49188d249869326cc5b7c510258a533416d508b62cb1bae79b361b6b78629aac2f0c47e056e2508cecacba42e0cca57a8c182e203371c7533d3454db6585c855328b31dbdd4bd8c232ac8263cb960bfa9e53e4ba733ad822e6919afa507753fb19e279637d9999e2fc948304a4bedcca20f820aceb36813a36695ecae0ec790ef810d4a2c8bd940b6fe3163dcc5b53e20b608ca76d6f70c6419c1c0886683e506f130315a600d8034b972959d42008d5912c799134eda79c0a4c6324f636260778832358211e3a4277268b7074f04e983890130c85c8545dc374e61cd9c5483430760cd3b218c887c22e0c2dc4c2b8e275c8851105fc08fa8609bf6165a029a153fb38282240ed44126379143a454245028c222c65cfbf2824cd61bd3474e59900e162703adf13b1b394caf948f8cd070e22c78c6a17336c6863d360d2bc08848f964fba4a0aa4a181aca56643667d130267f274446b7020c0b4d9dbbb025ea3f90d5219e753391f2b3d489011a1c34cdac46e30b4de544ae19b530d46571d8c6beddf9c62126089982a02612181bfb9f3913caf9e0732519c5208b2a52a53fcd394583762ed3973165187505f2274efa03b6a79e6a39297732a880638e2ce18178420621e1435e919d00e092cc2571d8f09d5cc7b19a3aa452bbcdc82111a6eaa59b04ba8a78bb9474659cc944e7a883780815b899cc64219dfc583f0ce4103eb04ea7e60e2c627a91b28a32843cb395021ec544005326f12b53144ccea0096d8b186fba2ccbb9e4197a43406fec09f53abac00245ce1a239790ca622401df204a90b4a438d33391dbb10ce1aed56456f4238af548881d188f0976887eeb672cc91078474cc2c289de2459513ba16458aa5ff06ea2746d4293b7ec95078d9346d0197dc9a93b2c153abad1c62758cc2f57544f37cc9597691047acfce10be1246fa51b056ab87f24c38a0fe36813316191612e9cd7a26b745f4c51a1a164422b4502b073185a93725bdb606ad6850ca5a27f7c2e8002aa709517783232514309b3c280444c0706422652b170011122e0ca821b5117e530ce07282873ecaa7d751689657aefd5575a7ccb65515e1dbb647c31b1f8578120252aceca821df0416c6780b9f9988ab68c72c73538ca21687cb4654667d3e9bf8a0bc6263053766c8180b8079aa8c975d867b36b45bb709436265ffb0524a0b143095351c90541f8437e756a028be92910341db30b8a94290cf1f9042b6bbc99411b72176e7c5a830be2569b695e40e63122e574e061278a35c607ac8d491b60bd96917d81154e9a244dd014ee85ce9b0691c21c08cf2b7143b21ebbf71412b873828a66286cb2b4f11c73954aa64b1717769573aab29de4cece271cfc549f7f26aeb28360d22926cd16cb67f0798a1c1a03f706cb3b37ea250b75b1b881c36c86461597292561503e6f3405b19a3fc3a8c229d51b6a5391964a4c05db926ef13401250e4a8235f8ab4fc3039f61446f37c1c3fb01b626e725c8c5031db11093017a0bb5905fca5a2721c35ad2100a41567eac8a1f5cabcbf79c87d370311c65fdb69f8f94b3a3751bbfa83e7237329a8c118b7b7af9816e0922661869a2e68c7deec83545915cb11570a4737542ec9ab52246e7b58c0df812e2672f86ab92c788257f69a0f62b8f7757489a182de8f626a4a91aad8a06f9013a9ba28d3eb6617a21c9070cc65e3551dffbb66ea449221c17efebc429c489fe107bc50a755e4c3941a07e45ad3ecb9ae67e7527f70f6e07a757bd112947074d5120a1f2a18aaca951e0573f28d50831960a28dd11126f0eb080afc55f394e8eaf6379f6eb55bdb92f28d0393c0f7850c7f6c371bd4835d6db61c138b0faf22854466231d8 +m = 5e4723f16005d54429f70be509c3149f769c7179c155393ccbde778707cf3a7d +ct = 9ccbadee2905d968a56e1018f343017fa6a9676ddcb8c3f14a6915efe7a0ce97164e4c0e6049d0cc3ffc493c5b5687d9757d1da4484f3644be48a190de06b207d9450e8cc695fce983b7e9eb44486f1c3081b04b887b6914581f9655f3695fd64be53481089964aef2323c4cb50d84f5a69f20e3fc633ee056a0f3ce33e40bd295eee13cbbecc169b7e0ebacec566a3cda6a85c1e008a691d5bf729b91747aa7e3429c094c9c9cdb4425a1c82fdbca9fa7eea7e3ad25c7030340dd94f8bd75a57b250f78b117146cdcdd52edca6a5c016f1fc0c9afe33dc62396818885f8ef68fd428cf32ddc49f1909c44faca1d6aa5da3225545cbb2020fdb05e8d34ca2c1346e5310dccfd02d99a8e6f83644f8ca32f79cb6099c1d4ead1e8f7f67a1b7e2c76cffaaaf74fedf454a53cc7ae1aa28eda67b328a74da1d184c0b213760bd9f87e798060b9f58d0b807133deae8285fbd28adcbbd17d3760eb986b91d1d079236e000ca4d0b2bb83be39ff656ee5adee3286cd575ee3eed6e564261e45d47226ba36cdb54faea979da1cd01d4b999991facbc5da957e5d803c710dae01abd46de191d50a11eaa14a6703e128be2892df1fd1b8f834d20179b100796aafe215536276221e5eb53c605ea9fc349663ba0d391cc91e17f2c536dd0047ddb4f0a7dd6ec80d78a7e4606ffad6e504ce9eff034f442e89ff3801ffdc4bf66eb97c35dc54046a9ff1410b30ca3e0bde0a8f625a4916b0c665c57828c239c1a2c50a242c3f11e840b5d8a28baae743d74e0a90ae73df8e48844302dfc84d46aaa3901ef8a92645de73fffd44fae8ad60f35143187fda50ebd3ffe23ad05df7193e3dd640ef72c6468c4579fff7990ca3776a310b2503e577e9d6f19243ecb456ceb6a08705c1a68ae24e7386ddc3b97bb4dcee75af14a4d3f78041d48d629e34bd431e9a2a44b126a9515b17722db87f61945e0ee437ad486aea8b83925f9edde0171ab4d4e097b2d2ac92163adfdf77244ddd82ebf0eee0db03d49748c772b1cb7a5c4add8c905a27ddb04567120841c86b4073da95df1982754e4fbbe9f38f44ea7cdb +ss = cc6d475d0397923ed08b4cb526251c063c2dd78267ef67fae4f51882338dd6a4 d = 2107204cd995f1df14314d5381f8c5440f09a347502e161cffc0a2ec3dcfbc73 -z = 24c3da70fe850e80aa818301d60c70f3038153866dcd5d179e22db59b8991bb4 +z = c95df27db27ffd4a8fdf31c4474cbfe2f5ef99f760e97fcf569d8ab22c2855a5 pk = cb0842b8b213052794e18787efe902d94c88c0986acffc72dac4505e4c36cc7b4990353e249112a8251e887aafa1ccc9c627948179a747b5cde3b0409d5158230b56ddc86cef9b241c044fb3d523fb909ce0065e260879690bcdf70c33c24303f81143624446fba37748f820cdd97e50d7a3bec058c404c458294eb812908dd87e4d652d51824518b3185425afa4eb9596c38c08068f21e79a1f8c91903834d2db720a285f65444412b20a802c399bb56f461aa7631603b85c18a9bb7c83f6c825b9a421e59718b43d745c3667781f819b2014051bd51758524bac2dc9176cf3a54d379f9efb915255ca5d14ceda1bb17f25b3d95645a1ab3555b1950de9907289bdd8591f5994be7f920d25940baea14226cb6907aa5ec878ca37ea698c84819b62c2e13115de0ac334169f3107742f42a9b02912b74c39ccf5181ec5c0686c785e246c424143f5363900c7c22df505d1308f8483108f31003a126401950e2afca878443722b30246344ec2290fffa542d6598f14e803f9d91e5d050541fa2c52fc3a5f2ccec895422f0bc3af2bc98c5738db99a5b5491149e25746e262193965815570b9d353eb1ac9ea9875323a33fa4878b06054e3867ad9a302b6a43ff902453a92517c7055b2261c7ea04f3f6051c16aa727c169c421a0bcd036b2eac82adc3efde4bc28381589f36806189b780c327bf4b4b9b11dbe036557cc38898557a8a48693fa70984aad327078c1f851ef3409ce0348c16202385c22a70a0c0d54a7e727c0fd386845890df7687a6f65232a327d8b778eaf5a29f43787646c8eadba0a1a9b5c2a6473252aa6f12954bab410e4aa4108b48f618ba595159ea8737c7870ce4b0791706ac871111b39f71b0a394d0482c5d61c4d4d5b3ad0f5936002477763774cc2a06e7681d616b12cbb18c9e0681eb66a724123eafa52f63b2774829a373ac8211ca3a9369f128b2c810496c8a9b32d0813bfc2ced0904cf0bc24222b96ac4897a7f4686b5b2118780b656406cf42294579036dc995c42089648b63504b756b823d22c54d2fd7428bdcaf74113d6345c1eb505b843291a663a4a5ef23c5d54c68389e610b30de122c2b2cdcea30b3c780612fb9992721e26273 -sk = 5722777c9100b2289d443400f2b5aec17c0f4f87a49568870a50ae1e30cb3f051d541a1a5203858fabb4575b472f9b4888cb5ab3900f1e316fef1a89d041c2868b26c7fca4b2ba6fc0e87382eb43e8bc99afe986b26164b5709cf6f5ab83996bdef929f67763d7f51083a414f786508be47c908064d47b7cf0b0ad934c03bc6a6ad89247708c47b49ac1b0cba389eb5281b8275cf8334e89907ac298b86866d2ac854bdcc0d53241d2db6ba1a84051fc809c224ed1c93c0ec67ce9e13cf2e05dc2eb30f19615207c47c69689b780b695f8c70d7970378455be3728c2935bea297b45e9c063025d8309c9037a38364a7cb9fbcbefcb959f64723961adaf07a62d38a961d408cf3276a994b4ad2b3914b63cb196c71be49c9ca4141b02312a5ab1a2b6ac38d13046a05752e431529b84d7b57c75e27404630cab837bf3d32bd41cced982c3f1b7cd1d534feb414f83870df581bb741a3a88515523143dfc353e4c6649dae801e4b531af1164ac2c8ea6a44691998bef1b09a38a057344badb07cc8a2756b9351c2a2c70aee67555e391c3251a997a5071793eb2d508698ba8fc18cd9690ad5af22923c402a951a724931bb395127d63a1acab2a24060e72923cecc40892b04b5cd94a15585f045a9aeab96e1b3ac25eb0a3de579964aa4c6ba5107b41b02e36335f42ad3fcb15849425d0937205120427494953d43ceb514d718406b7f40cfabc5c57911a27b2338c14ca0b505fe26296e259b6b61c73b57cbb9700cdf318359a4742b55a7ebee072280cce8512842d523dc7b969516345812a6585d828fccc8a85c6403decb0b63c9b6384c3d0fb224c2b53f9534881a01c0a642c8064b17d2410d4b73819bb81257b58ca7b0021f6514d7c277c3a751e323ab546b86812a8d660cff93cc3b1e85f9fa0c5da791816c864533410e2345a3b36033e97aac1bac96a280ddd70908b68221353526312cb836915d7352e453c069ea78d8d135afdb8208a16a6ba8b39fbbcafb3fa54e9f808c2b28d63079b5d3b990cd4a94331a9020ac8c37742c9860e487931ef9b9088e5c9f55265adf006025a6bcb0842b8b213052794e18787efe902d94c88c0986acffc72dac4505e4c36cc7b4990353e249112a8251e887aafa1ccc9c627948179a747b5cde3b0409d5158230b56ddc86cef9b241c044fb3d523fb909ce0065e260879690bcdf70c33c24303f81143624446fba37748f820cdd97e50d7a3bec058c404c458294eb812908dd87e4d652d51824518b3185425afa4eb9596c38c08068f21e79a1f8c91903834d2db720a285f65444412b20a802c399bb56f461aa7631603b85c18a9bb7c83f6c825b9a421e59718b43d745c3667781f819b2014051bd51758524bac2dc9176cf3a54d379f9efb915255ca5d14ceda1bb17f25b3d95645a1ab3555b1950de9907289bdd8591f5994be7f920d25940baea14226cb6907aa5ec878ca37ea698c84819b62c2e13115de0ac334169f3107742f42a9b02912b74c39ccf5181ec5c0686c785e246c424143f5363900c7c22df505d1308f8483108f31003a126401950e2afca878443722b30246344ec2290fffa542d6598f14e803f9d91e5d050541fa2c52fc3a5f2ccec895422f0bc3af2bc98c5738db99a5b5491149e25746e262193965815570b9d353eb1ac9ea9875323a33fa4878b06054e3867ad9a302b6a43ff902453a92517c7055b2261c7ea04f3f6051c16aa727c169c421a0bcd036b2eac82adc3efde4bc28381589f36806189b780c327bf4b4b9b11dbe036557cc38898557a8a48693fa70984aad327078c1f851ef3409ce0348c16202385c22a70a0c0d54a7e727c0fd386845890df7687a6f65232a327d8b778eaf5a29f43787646c8eadba0a1a9b5c2a6473252aa6f12954bab410e4aa4108b48f618ba595159ea8737c7870ce4b0791706ac871111b39f71b0a394d0482c5d61c4d4d5b3ad0f5936002477763774cc2a06e7681d616b12cbb18c9e0681eb66a724123eafa52f63b2774829a373ac8211ca3a9369f128b2c810496c8a9b32d0813bfc2ced0904cf0bc24222b96ac4897a7f4686b5b2118780b656406cf42294579036dc995c42089648b63504b756b823d22c54d2fd7428bdcaf74113d6345c1eb505b843291a663a4a5ef23c5d54c68389e610b30de122c2b2cdcea30b3c780612fb9992721e26273f15a8fc937b12ff78c54fc273fcd7dd5611e5835472ed377652ae64495f9cf5224c3da70fe850e80aa818301d60c70f3038153866dcd5d179e22db59b8991bb4 -m = e99fbae8a024ebbbdcef32ce213f6aa942e3eca925e5da4c09975d773b33a175 -ct = f43705e8f858da8780eec1dfb6864753d443e90d9839ef0d8b36e8ead3b9bddf7de9c81c315ecf002ff3142b995a2021e28ffd12c200648dbb94b6918ac7b49cdefdbf7a51f0dbceebbc48d7bee32b30b9cc1df749967a5f069a939e3b43162ebcc07a3738ec83992a29133e39ef39dd18baa356665fc6e250dff8ca08422a03eeef974aa6b4f6fe141dcb4604119d2ed5c70e0e846dd4eefc2d863c3e119cd53ef1ac1522f1fbb1dbb778d67035ca9fcb0fb9a30b621597770579e6fe151ee175f5fedc26d085cd5f9daa7f5633733fc6d85a2c1f9f1479a6b023a63fc612006421dda279852e9d7be443e161f08efe9ac9050499df4e66d62b9e2d51311438de000ffbdf26767410c2fc88d35183a7c9c01a703ab7f5a669a1a3cddaabc3a5df1de7090a9e2139c384a27b5397bbcca47659e6ee349316972d788225f2bd868bc248b32f0b9ea73882358e2c425e4e9e2b7c6a4046e20395f31ac8ed53cebf9f24c19cd8cc565565ae68106ad1c80a9a47c626615bd811874ed7ec76150f61b067cba71321c103eefd9ed73674037f30afa06512217ff39b562df5ac70648a4740b66b920081b041a5654150dc5d080b0e02d37090817ea09c1bd3fa2cd778d57ca8a3b90f4a5f84a4dc082bfe7481b1c07608c134b274f2b33ec4e47d8af78838b19599237f2035ee6c2a6ec5495a1259ccddc48fbaad38a9efe80fa1676a24d483045cd409ceb3b40b85594eaad4cc95ae76c1fe70804eff27c16a3acc3e9e75719d20fa1d94e0d12c3e08901819608e08ddea772f5e5a89fe8281c79d0a6a5c37d0fb3742e55a6d12675eb9601139b1a24c3d44909886f1e80c18b1f1794f6c933d7e7f1a495b26555dbd26890e4df81ffb2b5ad1f140584e438bff72adb5457ba841d584f90975056b9e08b342ee9b450480fe7b3a719a4e3823faf703557c8e230f4b7b20b7bf46f2a1b7ae4f4cdc4b4e0e0444120192c89f01166c24e392dc0e2cc9f3f4e787199bf721f21befbb236efe9911236b36003df5db14ca36d97fc629385848ab29c6121572570afa1bd7ff74bb77ad0acf3f7748e94253 -ss = fc8ebd9f44c6517d7aa5ba22496c6b59704c7b0a2926cad8c4bb002c43a75eae +sk = 5722777c9100b2289d443400f2b5aec17c0f4f87a49568870a50ae1e30cb3f051d541a1a5203858fabb4575b472f9b4888cb5ab3900f1e316fef1a89d041c2868b26c7fca4b2ba6fc0e87382eb43e8bc99afe986b26164b5709cf6f5ab83996bdef929f67763d7f51083a414f786508be47c908064d47b7cf0b0ad934c03bc6a6ad89247708c47b49ac1b0cba389eb5281b8275cf8334e89907ac298b86866d2ac854bdcc0d53241d2db6ba1a84051fc809c224ed1c93c0ec67ce9e13cf2e05dc2eb30f19615207c47c69689b780b695f8c70d7970378455be3728c2935bea297b45e9c063025d8309c9037a38364a7cb9fbcbefcb959f64723961adaf07a62d38a961d408cf3276a994b4ad2b3914b63cb196c71be49c9ca4141b02312a5ab1a2b6ac38d13046a05752e431529b84d7b57c75e27404630cab837bf3d32bd41cced982c3f1b7cd1d534feb414f83870df581bb741a3a88515523143dfc353e4c6649dae801e4b531af1164ac2c8ea6a44691998bef1b09a38a057344badb07cc8a2756b9351c2a2c70aee67555e391c3251a997a5071793eb2d508698ba8fc18cd9690ad5af22923c402a951a724931bb395127d63a1acab2a24060e72923cecc40892b04b5cd94a15585f045a9aeab96e1b3ac25eb0a3de579964aa4c6ba5107b41b02e36335f42ad3fcb15849425d0937205120427494953d43ceb514d718406b7f40cfabc5c57911a27b2338c14ca0b505fe26296e259b6b61c73b57cbb9700cdf318359a4742b55a7ebee072280cce8512842d523dc7b969516345812a6585d828fccc8a85c6403decb0b63c9b6384c3d0fb224c2b53f9534881a01c0a642c8064b17d2410d4b73819bb81257b58ca7b0021f6514d7c277c3a751e323ab546b86812a8d660cff93cc3b1e85f9fa0c5da791816c864533410e2345a3b36033e97aac1bac96a280ddd70908b68221353526312cb836915d7352e453c069ea78d8d135afdb8208a16a6ba8b39fbbcafb3fa54e9f808c2b28d63079b5d3b990cd4a94331a9020ac8c37742c9860e487931ef9b9088e5c9f55265adf006025a6bcb0842b8b213052794e18787efe902d94c88c0986acffc72dac4505e4c36cc7b4990353e249112a8251e887aafa1ccc9c627948179a747b5cde3b0409d5158230b56ddc86cef9b241c044fb3d523fb909ce0065e260879690bcdf70c33c24303f81143624446fba37748f820cdd97e50d7a3bec058c404c458294eb812908dd87e4d652d51824518b3185425afa4eb9596c38c08068f21e79a1f8c91903834d2db720a285f65444412b20a802c399bb56f461aa7631603b85c18a9bb7c83f6c825b9a421e59718b43d745c3667781f819b2014051bd51758524bac2dc9176cf3a54d379f9efb915255ca5d14ceda1bb17f25b3d95645a1ab3555b1950de9907289bdd8591f5994be7f920d25940baea14226cb6907aa5ec878ca37ea698c84819b62c2e13115de0ac334169f3107742f42a9b02912b74c39ccf5181ec5c0686c785e246c424143f5363900c7c22df505d1308f8483108f31003a126401950e2afca878443722b30246344ec2290fffa542d6598f14e803f9d91e5d050541fa2c52fc3a5f2ccec895422f0bc3af2bc98c5738db99a5b5491149e25746e262193965815570b9d353eb1ac9ea9875323a33fa4878b06054e3867ad9a302b6a43ff902453a92517c7055b2261c7ea04f3f6051c16aa727c169c421a0bcd036b2eac82adc3efde4bc28381589f36806189b780c327bf4b4b9b11dbe036557cc38898557a8a48693fa70984aad327078c1f851ef3409ce0348c16202385c22a70a0c0d54a7e727c0fd386845890df7687a6f65232a327d8b778eaf5a29f43787646c8eadba0a1a9b5c2a6473252aa6f12954bab410e4aa4108b48f618ba595159ea8737c7870ce4b0791706ac871111b39f71b0a394d0482c5d61c4d4d5b3ad0f5936002477763774cc2a06e7681d616b12cbb18c9e0681eb66a724123eafa52f63b2774829a373ac8211ca3a9369f128b2c810496c8a9b32d0813bfc2ced0904cf0bc24222b96ac4897a7f4686b5b2118780b656406cf42294579036dc995c42089648b63504b756b823d22c54d2fd7428bdcaf74113d6345c1eb505b843291a663a4a5ef23c5d54c68389e610b30de122c2b2cdcea30b3c780612fb9992721e26273f15a8fc937b12ff78c54fc273fcd7dd5611e5835472ed377652ae64495f9cf52c95df27db27ffd4a8fdf31c4474cbfe2f5ef99f760e97fcf569d8ab22c2855a5 +m = 2435be12e5a6b3b230f3b0b24ac28fa464b9e8df34acbc8c6eb16441739c1b18 +ct = 504231e57ef29262034e82c35c9f1e5debefb3b66f696d1a426a9940c72297ef81e6abd07cd8cc766c3bf6ef7b9144f3a7c43eaec20b70e3567acbf15ddb7fec7bcd2523ccc94d2125b75664324a535e30ef81cf4d117ed94888d50ebc099ec9ed12cf41ef0338af61f34cfbde432ff34286dacc06d106601b05b6b1a05d987e2ce1dbda881397d9a3724ded60108b54d2f5add66329cb1368c02878ec8bf6cf33fc9623927ebcdf4938e9e45f6543cb2d7aec89b8ab791e35a3b30a13a63c8c6593a1fc3697315e9b2d5a91573db932e8dbb788af8810cd481e510644778eb2a4fd8d80d700cbae938100ba91f3e098342088f01961df8f87c28cb098bed8979e8298596df398c2bbdfe256c9bb9ffb22446c65d4bf9af2a4bdae71ae4f16dee62ac71446235bbd7734ee8fbaf9a3f9182668a96725a77b1f073e5599dc9a12e8f7eed42b480b262f2d1f4b40e2d3f64bf17c53ff24f2a76e96ccf555428bea99c919f42dfba2906ec68bca76b2b7c89f14a23e0e64ff9bb0d99442e5f1f729323e776232a85c42d0c6e53783d093c3c45ed466e21c7903112b5535d97f611b32b2f4a7a20f7a9c18596a6f0de78be9fe56539a7ddb234ae89af02f2283a5f12ab0be79cb2a6ce25c653ac809dfd363a7a7a81e552fc32e0de1f5b997dc40bae32f17d53a3b61ac5877ebe6edb5d9d25fadcba7047c409dd6c66b69768649d5586e7ff6df87b6ae66cbf40cab4ebe8e465d1a1f2a059311c02db9b5de653328215d246b5540b98c429302639d0e0ea229f94e8c194ef045d6bfd1dc3e8308f94a27d696a4719e76fd0c50c0eaeec651d7c5500ecac3d74d8939226f2f4cf20350b4ce19edda7564a916c534fd73a6b9ec731953772c5052dc761abcd9cc2d7d285903c384a016e5b1ee7b220aef982c9d729a73a052e6abfac11a3a7737d7b44ad9b1076b59acc92b488fd9dd9da9f9eea591123ad161c751b8b761a4cb6d59cd08a2f6fe57ab7745742c968149d82713543d1b9e04706be06b3b6fa0f3e0851a2c77b85fd7ed1fdc07ed3c55f43e08c46ece827e40092ad1ad625471b4622a +ss = 5e5e1d3bc681a68d219f913582eb031619d1a7b94a5509a002c614ca0d265806 d = 63a925685a8ac5bbd918faa33ac397d1ffbcf99135d9da7c3d6ff7aa4c50af3d -z = 3afdb8a246a56ee71465591831c371f2eb87467b0559dedd776ba063ee6d2f93 +z = 284fdcb2d2a697d75e985aa43fae0df266a8056c18cb0bbb52b4ec89d66c21e8 pk = 595aab2d5917eee9401f1b23be84c1e1843126763b2d98c83094610e55545e5478f7251d83282d889cbbc4fc2ae7e11e13874a1cac92000949f82b43ec516de9500f51469975f5b6d5a35de6002e1aa68f84879ad6024b8d913096e381e57776b8ebb2ef501e6a3464f3730e668a22fc8224764a3810aac4c4213e9584516041437bea1920321d4e53aeb3336dd677579f84362265a69090464d053447684ad3961adf10605d28ac5d0193c2f59c5304b14da328ec44cf51e83992fc6f69380e694679556b14add4801342cce20a8658b98846827fb2f440ee21061253c3207c9cc8961ca37c4b3d9c0ce74b36c176643e8ac5fc053a7622158e8aa1ae36824a5c6a70b07dcae4846f28321fd2bd6822293ff4c446654f5837856fb98be568405a822f36fb610301ad2f6027ce1391a8bc0c4fd964b7b807b3fc5b684aad79495f78f980524a808419c13bb1437596621d89cad5475fde6887b973ae08f4a9276c2600489d0d773bd18b0bab3016111c3ae1725742f424d31115be336a5e5b9c3020bd7a4b5cb587c593ebcf61981e3cc6b4b19baa868092ee71812a6791a6e02077c48ee4386120700a054290e0c6b792857659ac01d715b663a3cbf1530976cab2ad5b54e6463168085ad60c3713a41722887e83b406cd67a7ab77596f820013fc7dee7c5c87e776c3976706b3013dd45395653fc4a42f0ce85dd9d49c9f299e38480dc1742348306a51d79d6f8a4285c580ad7b66ce5348e44461eff13ddb4aab80f84948f94c856c03188746bef5c8479c9c9cd1092607822eb82c2679966b17c093643e45d28bcfb424239abc55a52a9209bdc3d70042204e69c1926132588a6759ec3776e8794483a6b2f84319c132508c804112865a3a7c804b496294314de47a8c03a71fbbebbcd9e28e5441c654c04cbda9b7345a73db10a462280eb727c2ec31931d592d333378a6d261aad3a90ebb4d1b23b92d7779a0ab56e8d0ba87aa5413a34c8a18cb1406a8696837d7f547acf97132a015f5a76087f292b80835e32a46d250aeae45999ef2669a9c98bb9456e54699c4bc4172dc52d5c87a92d45892f335d02d36153217d5db379b621e416a54ce8071dfda35f639a04b14 -sk = 2bf07e4a962b0b87b2b35403a151c7a474a78d33b4a0132b524babe056ccd3ca0992059842a132f34a3178caa549c338355b81f900345863b4150036ce45bcc56660ba511f511a52044649e0a4a73612a767c461d08cb1dc6698e9a8675d408fc3875a1cb402129b71595a2577637bad415540487a65ccc30a5a4d6a520ed069834583c732722ce4b22269c67de135c17f92360b0cb555d5892838c5754a1109cccd93e8aba06863c134a5707b2352d07f6fb0b5df0b6df8c10fd3f807923b1f0135a52770188ae84785f33341488b7e64a40777425f693143a90776ec67fd88c79272b4482a46cb3667406a646602b3c2f6a2c2a4294b14b844bc8f9d4063474a52e1627b3d351c5e20520487bb51d7c4ecc54eaf2a6848a5931194be7fc8b39c508b2cc510533cba6fd671cc77463dcc83902cc18af5bacadc8507b14059c77d3b362d8c91956ed9c1d5366781f5774a28b360b45abde0c56599b2edc28fba61c7893589b8266d3bc66e9d9c73a3e1a35fc47e754b91e7e5328c79b28f48952aa0b982aa7027f0105d020cdc6273ebea851d948c5187b9ed038bc79a64ce5c7ec90b85b3921e1e255990fa98687c8a9a921784f52270c77058f090779279ab7c315f824bed678fdf845e79453afeb48d4df17f38011c1dc66412a22317b15f28070232706d97da10f5942cf485879b8366df4b115d0949ed4670c4c2556e8b5140818a13025c044996a31725be3b70194182487048d9b08d926a2e6a9abfca0997365286960800aa7550806a3fe8761fff81b7d89cbe2d49a445225e401037441b337ea2a6dc3a8d09f076e2d9228d69172135c65d40994a62b3f8e86214eb0e597306e2d30d81392117fbb48ce0c27ce106228067eac0b7437a3d06675e832a153e327471464658eaa6f7866d0cc9b49fe66496b26f2ba26050f670fff80f97494221e633c345417ae33abbd60bc6795fad37a7b4f822e502338cbb29d35a71a2217c1b8c49f0932267ca37eaf0c27c8979f2334873864cdbb03dc860b9815018e7165909768ca9311fa2d0550193c60ce5ad408b8f9d733ee5e0385f8b6b595aab2d5917eee9401f1b23be84c1e1843126763b2d98c83094610e55545e5478f7251d83282d889cbbc4fc2ae7e11e13874a1cac92000949f82b43ec516de9500f51469975f5b6d5a35de6002e1aa68f84879ad6024b8d913096e381e57776b8ebb2ef501e6a3464f3730e668a22fc8224764a3810aac4c4213e9584516041437bea1920321d4e53aeb3336dd677579f84362265a69090464d053447684ad3961adf10605d28ac5d0193c2f59c5304b14da328ec44cf51e83992fc6f69380e694679556b14add4801342cce20a8658b98846827fb2f440ee21061253c3207c9cc8961ca37c4b3d9c0ce74b36c176643e8ac5fc053a7622158e8aa1ae36824a5c6a70b07dcae4846f28321fd2bd6822293ff4c446654f5837856fb98be568405a822f36fb610301ad2f6027ce1391a8bc0c4fd964b7b807b3fc5b684aad79495f78f980524a808419c13bb1437596621d89cad5475fde6887b973ae08f4a9276c2600489d0d773bd18b0bab3016111c3ae1725742f424d31115be336a5e5b9c3020bd7a4b5cb587c593ebcf61981e3cc6b4b19baa868092ee71812a6791a6e02077c48ee4386120700a054290e0c6b792857659ac01d715b663a3cbf1530976cab2ad5b54e6463168085ad60c3713a41722887e83b406cd67a7ab77596f820013fc7dee7c5c87e776c3976706b3013dd45395653fc4a42f0ce85dd9d49c9f299e38480dc1742348306a51d79d6f8a4285c580ad7b66ce5348e44461eff13ddb4aab80f84948f94c856c03188746bef5c8479c9c9cd1092607822eb82c2679966b17c093643e45d28bcfb424239abc55a52a9209bdc3d70042204e69c1926132588a6759ec3776e8794483a6b2f84319c132508c804112865a3a7c804b496294314de47a8c03a71fbbebbcd9e28e5441c654c04cbda9b7345a73db10a462280eb727c2ec31931d592d333378a6d261aad3a90ebb4d1b23b92d7779a0ab56e8d0ba87aa5413a34c8a18cb1406a8696837d7f547acf97132a015f5a76087f292b80835e32a46d250aeae45999ef2669a9c98bb9456e54699c4bc4172dc52d5c87a92d45892f335d02d36153217d5db379b621e416a54ce8071dfda35f639a04b14ef7ef8d7d81aa907fece4c1920c7ca9dda3bb9d57f09193487bb89d6422f10cb3afdb8a246a56ee71465591831c371f2eb87467b0559dedd776ba063ee6d2f93 -m = 67a216f37d67f5e74f782f1badbce1cc8c80a6130aec305b421899a4faa0a6c3 -ct = 00ead549cfb8ed1bf0dbc9b53fde468d3a8195847dd44418c5983e06115a828549e69db700680897d87cdd8fe26b24ef0a7a06a8715e946c4252eaa596916c77f8735d7a7f2a3d4df18434e74217209154249dc4e26b237a001da05e0db46e889771638168782b9b3a9f33cacc4edc7d056336c0872600b67eb9639b6432971b7a549cd6ea10e580f8b3ffc8720b8b9ef9354763dacfdf88716c71f04473a3a670db6f7f49658f55f89baaca6a6180ba77b1772706e9bda897b805dd2e22abd5fa07e3fdb76a18002593f07434336a5efffff9c21a03b4b3cf5240fb5c5c521409c763ab82f89cd7ce24b5d9643ca91403683cfcf4adc8bdb1940d653b700bd358c4e83acf5515623aa46cadf6ceb8d6ecde1f8dde29ccb6faeae8a7d2a41c3d5fc3a1e287db161edbd2ac246b623cc1644a58062a1cc10761bff41eecf2458a5ec0cdda4249d462c6ddbe517821b4592695b1efcda7af3bf969c9216e6872dc38b74d6f06606e4b865b8ef0a27fb584e50101dc0e96bb080b76215a23f4d21c9d3e3469631ed5bb9b6c169d0cd125f933ffa723f9217af997a4a56b5c0ee34ec4a991a8c70822756a1001c7e2cbb03cd8d686be0bd56e709d2d77b013824bf3a80128a1140a8caf090ca1171afe027b81fa6805bfe3e62c2c2fa253dd750e2c082c29d8be0fc377fb2b9351d06b3b950306d1d5adc4eb24612a654aac40398281906a8f7665ff4df93e5b5c4a34db52d5b25951f6895ba5e02e5776a308315df69ff2705a757bf44c795b1de74921e6ae962bb4c493bcdcefd87758aa29bd460c499eb5b9957b5c1b861042dd0c15116a86ba29da614cea016a60fe07407f7c4ca5101efca7aff471b94b64525dd3569fbb27f32e83cead9193dfe310e62fbe417128891a99ae54709b95eb7f105a58a131d802258db8594c7b226c2faaf640a1e46830b75dc38585de0f3981d323d9b4a4f1be5a1ebff4c1427dda6615f1d03e7d5fb4b7e78876f89cf7531aa44c7db4b305e55792b6459fcf7b233a8eaff72a319f3fca638a256e5c14b3acfa623ae16999067fe41e3f30147bad08690d35 -ss = c75891d0cb9fc28e10ec5ec79553f51e2e7d0d03be452c468cb430253f664b12 +sk = 2bf07e4a962b0b87b2b35403a151c7a474a78d33b4a0132b524babe056ccd3ca0992059842a132f34a3178caa549c338355b81f900345863b4150036ce45bcc56660ba511f511a52044649e0a4a73612a767c461d08cb1dc6698e9a8675d408fc3875a1cb402129b71595a2577637bad415540487a65ccc30a5a4d6a520ed069834583c732722ce4b22269c67de135c17f92360b0cb555d5892838c5754a1109cccd93e8aba06863c134a5707b2352d07f6fb0b5df0b6df8c10fd3f807923b1f0135a52770188ae84785f33341488b7e64a40777425f693143a90776ec67fd88c79272b4482a46cb3667406a646602b3c2f6a2c2a4294b14b844bc8f9d4063474a52e1627b3d351c5e20520487bb51d7c4ecc54eaf2a6848a5931194be7fc8b39c508b2cc510533cba6fd671cc77463dcc83902cc18af5bacadc8507b14059c77d3b362d8c91956ed9c1d5366781f5774a28b360b45abde0c56599b2edc28fba61c7893589b8266d3bc66e9d9c73a3e1a35fc47e754b91e7e5328c79b28f48952aa0b982aa7027f0105d020cdc6273ebea851d948c5187b9ed038bc79a64ce5c7ec90b85b3921e1e255990fa98687c8a9a921784f52270c77058f090779279ab7c315f824bed678fdf845e79453afeb48d4df17f38011c1dc66412a22317b15f28070232706d97da10f5942cf485879b8366df4b115d0949ed4670c4c2556e8b5140818a13025c044996a31725be3b70194182487048d9b08d926a2e6a9abfca0997365286960800aa7550806a3fe8761fff81b7d89cbe2d49a445225e401037441b337ea2a6dc3a8d09f076e2d9228d69172135c65d40994a62b3f8e86214eb0e597306e2d30d81392117fbb48ce0c27ce106228067eac0b7437a3d06675e832a153e327471464658eaa6f7866d0cc9b49fe66496b26f2ba26050f670fff80f97494221e633c345417ae33abbd60bc6795fad37a7b4f822e502338cbb29d35a71a2217c1b8c49f0932267ca37eaf0c27c8979f2334873864cdbb03dc860b9815018e7165909768ca9311fa2d0550193c60ce5ad408b8f9d733ee5e0385f8b6b595aab2d5917eee9401f1b23be84c1e1843126763b2d98c83094610e55545e5478f7251d83282d889cbbc4fc2ae7e11e13874a1cac92000949f82b43ec516de9500f51469975f5b6d5a35de6002e1aa68f84879ad6024b8d913096e381e57776b8ebb2ef501e6a3464f3730e668a22fc8224764a3810aac4c4213e9584516041437bea1920321d4e53aeb3336dd677579f84362265a69090464d053447684ad3961adf10605d28ac5d0193c2f59c5304b14da328ec44cf51e83992fc6f69380e694679556b14add4801342cce20a8658b98846827fb2f440ee21061253c3207c9cc8961ca37c4b3d9c0ce74b36c176643e8ac5fc053a7622158e8aa1ae36824a5c6a70b07dcae4846f28321fd2bd6822293ff4c446654f5837856fb98be568405a822f36fb610301ad2f6027ce1391a8bc0c4fd964b7b807b3fc5b684aad79495f78f980524a808419c13bb1437596621d89cad5475fde6887b973ae08f4a9276c2600489d0d773bd18b0bab3016111c3ae1725742f424d31115be336a5e5b9c3020bd7a4b5cb587c593ebcf61981e3cc6b4b19baa868092ee71812a6791a6e02077c48ee4386120700a054290e0c6b792857659ac01d715b663a3cbf1530976cab2ad5b54e6463168085ad60c3713a41722887e83b406cd67a7ab77596f820013fc7dee7c5c87e776c3976706b3013dd45395653fc4a42f0ce85dd9d49c9f299e38480dc1742348306a51d79d6f8a4285c580ad7b66ce5348e44461eff13ddb4aab80f84948f94c856c03188746bef5c8479c9c9cd1092607822eb82c2679966b17c093643e45d28bcfb424239abc55a52a9209bdc3d70042204e69c1926132588a6759ec3776e8794483a6b2f84319c132508c804112865a3a7c804b496294314de47a8c03a71fbbebbcd9e28e5441c654c04cbda9b7345a73db10a462280eb727c2ec31931d592d333378a6d261aad3a90ebb4d1b23b92d7779a0ab56e8d0ba87aa5413a34c8a18cb1406a8696837d7f547acf97132a015f5a76087f292b80835e32a46d250aeae45999ef2669a9c98bb9456e54699c4bc4172dc52d5c87a92d45892f335d02d36153217d5db379b621e416a54ce8071dfda35f639a04b14ef7ef8d7d81aa907fece4c1920c7ca9dda3bb9d57f09193487bb89d6422f10cb284fdcb2d2a697d75e985aa43fae0df266a8056c18cb0bbb52b4ec89d66c21e8 +m = 630f384162dd6f8206cb36d2278af30ccdfc73105029dd507a18ad433503cd7d +ct = 95d9ffd7e50672632b6d67bd4a350e71208c4a37894223ab9fe004fa68f2ed7d613e447637f05e3388274f1e9d23448a9e3e788fb42a675f071448593e44d4a4847f4445a100b5724c1044dd042a714aee70ce5acf0c514e1f66e568184b62852b4005c43dbbc3374012bfab2f76c0d637b64a4d09eca7d7f346dcea0148a026eb0accf7558bcb3461dfe3c46c000709fe23496133802966c86fef75b6b19019ee99448116afcaf6c2705f7919b8b3c9cc2489baadc71d24af96ddf3f7e525e92f66b280d3e656fb0e7ccd3509bf9297b6575a6a1524d82862a0028c18ac5efad9f152a5ff810073d2965ac1aaaed81705bffeed06701574dfdd060021a639c44f70dc597a6e8b66ccb4075f5d18ccf90e8c0a4caf38ea3b1a00894029ad6142ea775e22ffd19f64e4f273de97e564ddd1a23f24e2a5ed184d0b878625a267ac8c4c75a6549629210c3d7b98b9028abbfd97efbee4a91bacf13539b7d0aa5826547b32984d919716b0cf4b2071d74849e6a950a7d72e18a14e5a169a7b57eea7265a1acdba23bfa2500e6ebf97d4e4a97fb2f8d787c57a6fadf747176751681b945ab8a0928f00a1fc687cec333b9b3683130c9922aa3ed18616cf4739264b1213614919df49033fa3f5c11074a590211734fae97d4ac9f0f5179c58523807797cbdc01e432b3f081b6c811025549806a97dc93b5d428a0863705e1fc9d9d39bd91aef79db7e46cb8e04db6d08d703c7cdaa304ba710015469fc23c3074173c19d10c273bc13cfccea788d6170fef03eeb9ea17f7f1914c7d1ea5ab22eb6e088e5940f4e5ea426befd7db730f1c68e9965ef4225ac0ddcbc179d9c588d86ee2d1699fbd0f7b1e28fbc4a685a2c651215775cfee5bb4adf068fcb96d12218e19f58e7a5aea305848be5acd9f1fed2ee46dbd9d166b8e87c7ee71b9f19d01bbb7a9e054400662368f6a7d1cfe2ff5ed8070d50e1ec1444a442f62a3e8b8c288f4b243d3006fdbf31f937fbadf19f0632bbeb05bb706d860365558f0603e8fa5fb4f230df6262a487232eff8443bc1737d19372eb962fffa71874cce93e8b4a39fe +ss = c02e6fbe07317438d3af38cc07421f474a72d3a1177194e58e58ae69927d1085 d = 6a1aee5e708c1b47f02bdacce4f56c860f74fc7cfec1ef3b58285b1c8ad7fec2 -z = 230e05b7114ff0395cc6634db1eae8258072d09c09f291e92d6620b177dc50d7 +z = 11fe1ebbd66174798908aeaa16d79212e61d5c30364864fc1e09f1b20f296c11 pk = 14938a88ea6a5678c232e9542a42bdd4664fcaeb10c9b8b9c98c7a03a82e25da09a2349361570f46038b3902031128311f04c50824ae86421abb346bdeec824a085f46a51d86f5843c319da7470190d572668384c46149b76a881eb3c3ec036e0d5362ca145ffaa93a41f9b85bf822110b942e309d03674d78e49e19a8cffe729986e06c14f87bab772035908096d7382488a7e450b516c4b1a19ac11586c7b1a3ba9b49bbe8ebc5b6d8542fdbb5ea25374a644f64d852ed978abd34146e41b811350f8fd9a86b113dce4735bb149eb4e8c04735bdedc8119ef7a5f6abcd94f55acb7276bb3b6000b9a82831209820b89d25946b59a888285e1fc1904d4c1fd0f39625ec2d01360768f57158a5ae7a2193243b009297702d121e52237b4cf8cfe794560f270fa985c949e2c4ed748f2006159d4879492b4f8a14b8d90c9e540b1f993a5236704cc5740a1490461fb23f3540766d249394a144fc434a226b04a38c755de32dc6dbacb70177189c10d8e43e49649840083a93817342d4294f1ca04f9a9ac52846f388bcd784477d5405a6f36c9774bc80909bfb8752146b5a021485d11bbaa60a8efb5889f288ac10b8764f3163a597910c9aa74fac696b0cafd657882004805d36a726ecba03171c7ae41e68d08e67cb7780d7ca135652137613b3dc58b4176eb8ecc9d0b71c5098679d0b2a9d7058c71cc0d64c7a22f37c63a29c4f007d8d62bd8e245069bac1f2d980c0651591e5a4477bc03b47488d08825d44892558009392c0edfac55a2c8fc83a01577192d1dc27efc76b27104e61f34cabd900784c1fefe7125db21d15a6a4fde7780a9a22a0b52bd6a8b7f2120266f9472fc12a02d17c5ec6938ad416201bc2fed6094bc17e86082659863f5ab07c07d20ab6c9b15312a444f0482f5a24f3a96230875ac1121cde130d6e221341d78a30902ff031122f40c6032661f56b605135464185236a91a8e161aa0bfa7a59bac682ba31b5030bfb178cc33cb877796ce20a6e873c921b2c26e63349dfc668f2d3550fe0a914178c9845b23af95b52f86576c71a23223f2488b2d3e8695e89a7fc13a12e8459454d36096c3ba38e979a3d4c852032429bfe1e663e0c256c2e93 -sk = 4aab84f31c2c167cb7a84377554902e161c51149c4b9da584cf7688eb35d668cc7283c5dc6e7a98ec61388c7b5cff73abe0a703d29396a80a00fe124e6486be3980e53f9c03efc93b7b64964f3bd733aa09a1b4c9ea0bf8460768f82c1068c13b9cb9338497cb6447c97ba84bd63309ce6b5ae5c798d323076f952b8fa9e8bd552b46236d458a42dd53542f4152e12278a282ba3669a20650284f76ce17531def56091da71bbe64477b84197e131b964c0ae909976d62df53697e6422a34d1c268866bbd9048670a8040485a341514b0eb83f028c1ff7583f677334f41b0616063b98c6a6343813bb335e33247977b3bad15bf47824c207348db304bb16332159ac81ee0656d2c6cc5496417d734d7956506e73271962021b1a3c8072b96a7937355709bb613bd336814778684f85107aa079302c820d701b3b4c301dc870794bdadba10e8dc001e41478b540383689f0574673237c730481083a6ae4439afac2605ac8661b0c24417aacd88595030aa1395abab8081c6d98685ccbb1aab1b8d4ec42d67b491d2bca6c0f02f994753ef7babcd51009295c5e1b816a326436ee64511ea8e83d637954388b6c15397f00a5dd85b66a92a82829a28027eb53c38849c315d67a8ed3cc23c3229b98bb4c8c89ce8653cb3f8800f5895eb6c6703642e86562d97f5bcaec2c0c7e3cc3301b6b119a772668447829c5fe43aaaa1c6a1fcbfd8c82277f2859380b77de92bb24b279d021a3188c9e90576cd901f1b64b201a7190793171f8cc16fe69b639318a386bcb2b8cf82998512a691a9f92a92d5b2324343a6137abd2260f8aa7870b78bf864122bb261c2c11d05c24832f413650171d92b8c5a1c65ee04b942f90ceaebaee2cc73538b7cf11a63d8025f1366456f841436a36b98f1bb0c5aa8917cb8674471d57809ecbb2076182261296f1295371a91a736a064e3e5650fabc21564718873b653ea75189b1fa328b9e5169df387a4be50cb392179f1138921aa28843c559b9b53330cad72f17fb20189bb578ebb16bcb5455ae207280658c66b012ad50abe122cac1f5844fc567921fb7714215214938a88ea6a5678c232e9542a42bdd4664fcaeb10c9b8b9c98c7a03a82e25da09a2349361570f46038b3902031128311f04c50824ae86421abb346bdeec824a085f46a51d86f5843c319da7470190d572668384c46149b76a881eb3c3ec036e0d5362ca145ffaa93a41f9b85bf822110b942e309d03674d78e49e19a8cffe729986e06c14f87bab772035908096d7382488a7e450b516c4b1a19ac11586c7b1a3ba9b49bbe8ebc5b6d8542fdbb5ea25374a644f64d852ed978abd34146e41b811350f8fd9a86b113dce4735bb149eb4e8c04735bdedc8119ef7a5f6abcd94f55acb7276bb3b6000b9a82831209820b89d25946b59a888285e1fc1904d4c1fd0f39625ec2d01360768f57158a5ae7a2193243b009297702d121e52237b4cf8cfe794560f270fa985c949e2c4ed748f2006159d4879492b4f8a14b8d90c9e540b1f993a5236704cc5740a1490461fb23f3540766d249394a144fc434a226b04a38c755de32dc6dbacb70177189c10d8e43e49649840083a93817342d4294f1ca04f9a9ac52846f388bcd784477d5405a6f36c9774bc80909bfb8752146b5a021485d11bbaa60a8efb5889f288ac10b8764f3163a597910c9aa74fac696b0cafd657882004805d36a726ecba03171c7ae41e68d08e67cb7780d7ca135652137613b3dc58b4176eb8ecc9d0b71c5098679d0b2a9d7058c71cc0d64c7a22f37c63a29c4f007d8d62bd8e245069bac1f2d980c0651591e5a4477bc03b47488d08825d44892558009392c0edfac55a2c8fc83a01577192d1dc27efc76b27104e61f34cabd900784c1fefe7125db21d15a6a4fde7780a9a22a0b52bd6a8b7f2120266f9472fc12a02d17c5ec6938ad416201bc2fed6094bc17e86082659863f5ab07c07d20ab6c9b15312a444f0482f5a24f3a96230875ac1121cde130d6e221341d78a30902ff031122f40c6032661f56b605135464185236a91a8e161aa0bfa7a59bac682ba31b5030bfb178cc33cb877796ce20a6e873c921b2c26e63349dfc668f2d3550fe0a914178c9845b23af95b52f86576c71a23223f2488b2d3e8695e89a7fc13a12e8459454d36096c3ba38e979a3d4c852032429bfe1e663e0c256c2e9399b151aa6b4654589afc36b8343fcbdc09a3e5255b378d6ee5629cd8b3cfd555230e05b7114ff0395cc6634db1eae8258072d09c09f291e92d6620b177dc50d7 -m = 52b19fea232c9154a3e431e9d69cda40013cf2d485c3cd027ad24e645420420b -ct = ba720696f48a2f6686f6d9886e19017a07a31e97ca446044357cbf19d5680b6c7c06f37723fa4be67b31a41673ebdac3a85a521c7a057e393d39836d5130da544a775abbf93c93be9deea07d5ad03a682e60ae18dffd5fa0d7d8a6787ab5062da6b6139777ba4e3d02af0dcfbd42514ed9f950de9edc3b334b03f56f6979418871ef28ff7a1224dc7243ebee0f60b2069aa319833627fc9aa799d83c43b8c4942ea0682e1ba5ae098b6cab856b7501df2d6f5d3d99ccd3ccf1bdd772dfb14c48413e65efa145cc3e90116fe12b63c1ef0209461260e5031c4c2384504bf88209c31403a815792486c37781c71af0420e8da5563e9916b270c5725304a05a417cd356176676eb4782b73067d258a4ab7b545c6b6804ecc3a9be09e1802253b89ba975e63fec86f0ea4388e8816be736c2de0cfffb6b5ee43f8f6e32dce784a3020f4cabd5dcefc420c2a15f57922976e6f9020039d0e8771fc0c4a0ebfe5d1ee789e5daff0cc9f74ffbf43aced7851c79af5f74116aee6393c2fbddeca2f6b125969f3e1293ff706db22fd315ef2734119e9f161dd33cd258144aa52a1e8e6ed91e83a29c20a68fcb95cc50d74c4de1ea315bf1554f300baefd3434a1eefabe5a235d15891f0804704a54d0649d27ef30e4adaa4e0650bee4d61ab926ec6ad35de3fb113e3e50362bfb0c734cdbcfcc269259dc257dddab9d9838ef922f20b888d8b31f21ae5dddc32905362a9bdbb6d9b433b9c1d3e133f4539c39fcc4b2ca8939e04523557de2022cde529e1fe8333598527b0727405b8dd86e3e6082c360ebe36850c0290d8c4151a5f102748137830b1b9af42559cb3367d44e653622a46d1a9c0ebdc3201fdedf63068694b2611e92d814d492f0102ab12dc950f3d834ab5f85d9c24becdc524213165116618d0bc7490ba47c1ef32f3bdcfe4b61c27d067f939377a560293ea1cfb18bd26d4ab31674d6b9802d6a920946259092e5255a501edb1bd474cd32a2600a3439d32beac5e38253bea6a91eeac70d578d7b71e92c65e389ab6f2b73c058524d3a7adc337a9d7b4d3010cf3b4b44b39230bcfae4 -ss = f30d3ba1693369d091d378a9f94c301ff3b7892e98b9491efc35d24cc6ab2f5d +sk = 4aab84f31c2c167cb7a84377554902e161c51149c4b9da584cf7688eb35d668cc7283c5dc6e7a98ec61388c7b5cff73abe0a703d29396a80a00fe124e6486be3980e53f9c03efc93b7b64964f3bd733aa09a1b4c9ea0bf8460768f82c1068c13b9cb9338497cb6447c97ba84bd63309ce6b5ae5c798d323076f952b8fa9e8bd552b46236d458a42dd53542f4152e12278a282ba3669a20650284f76ce17531def56091da71bbe64477b84197e131b964c0ae909976d62df53697e6422a34d1c268866bbd9048670a8040485a341514b0eb83f028c1ff7583f677334f41b0616063b98c6a6343813bb335e33247977b3bad15bf47824c207348db304bb16332159ac81ee0656d2c6cc5496417d734d7956506e73271962021b1a3c8072b96a7937355709bb613bd336814778684f85107aa079302c820d701b3b4c301dc870794bdadba10e8dc001e41478b540383689f0574673237c730481083a6ae4439afac2605ac8661b0c24417aacd88595030aa1395abab8081c6d98685ccbb1aab1b8d4ec42d67b491d2bca6c0f02f994753ef7babcd51009295c5e1b816a326436ee64511ea8e83d637954388b6c15397f00a5dd85b66a92a82829a28027eb53c38849c315d67a8ed3cc23c3229b98bb4c8c89ce8653cb3f8800f5895eb6c6703642e86562d97f5bcaec2c0c7e3cc3301b6b119a772668447829c5fe43aaaa1c6a1fcbfd8c82277f2859380b77de92bb24b279d021a3188c9e90576cd901f1b64b201a7190793171f8cc16fe69b639318a386bcb2b8cf82998512a691a9f92a92d5b2324343a6137abd2260f8aa7870b78bf864122bb261c2c11d05c24832f413650171d92b8c5a1c65ee04b942f90ceaebaee2cc73538b7cf11a63d8025f1366456f841436a36b98f1bb0c5aa8917cb8674471d57809ecbb2076182261296f1295371a91a736a064e3e5650fabc21564718873b653ea75189b1fa328b9e5169df387a4be50cb392179f1138921aa28843c559b9b53330cad72f17fb20189bb578ebb16bcb5455ae207280658c66b012ad50abe122cac1f5844fc567921fb7714215214938a88ea6a5678c232e9542a42bdd4664fcaeb10c9b8b9c98c7a03a82e25da09a2349361570f46038b3902031128311f04c50824ae86421abb346bdeec824a085f46a51d86f5843c319da7470190d572668384c46149b76a881eb3c3ec036e0d5362ca145ffaa93a41f9b85bf822110b942e309d03674d78e49e19a8cffe729986e06c14f87bab772035908096d7382488a7e450b516c4b1a19ac11586c7b1a3ba9b49bbe8ebc5b6d8542fdbb5ea25374a644f64d852ed978abd34146e41b811350f8fd9a86b113dce4735bb149eb4e8c04735bdedc8119ef7a5f6abcd94f55acb7276bb3b6000b9a82831209820b89d25946b59a888285e1fc1904d4c1fd0f39625ec2d01360768f57158a5ae7a2193243b009297702d121e52237b4cf8cfe794560f270fa985c949e2c4ed748f2006159d4879492b4f8a14b8d90c9e540b1f993a5236704cc5740a1490461fb23f3540766d249394a144fc434a226b04a38c755de32dc6dbacb70177189c10d8e43e49649840083a93817342d4294f1ca04f9a9ac52846f388bcd784477d5405a6f36c9774bc80909bfb8752146b5a021485d11bbaa60a8efb5889f288ac10b8764f3163a597910c9aa74fac696b0cafd657882004805d36a726ecba03171c7ae41e68d08e67cb7780d7ca135652137613b3dc58b4176eb8ecc9d0b71c5098679d0b2a9d7058c71cc0d64c7a22f37c63a29c4f007d8d62bd8e245069bac1f2d980c0651591e5a4477bc03b47488d08825d44892558009392c0edfac55a2c8fc83a01577192d1dc27efc76b27104e61f34cabd900784c1fefe7125db21d15a6a4fde7780a9a22a0b52bd6a8b7f2120266f9472fc12a02d17c5ec6938ad416201bc2fed6094bc17e86082659863f5ab07c07d20ab6c9b15312a444f0482f5a24f3a96230875ac1121cde130d6e221341d78a30902ff031122f40c6032661f56b605135464185236a91a8e161aa0bfa7a59bac682ba31b5030bfb178cc33cb877796ce20a6e873c921b2c26e63349dfc668f2d3550fe0a914178c9845b23af95b52f86576c71a23223f2488b2d3e8695e89a7fc13a12e8459454d36096c3ba38e979a3d4c852032429bfe1e663e0c256c2e9399b151aa6b4654589afc36b8343fcbdc09a3e5255b378d6ee5629cd8b3cfd55511fe1ebbd66174798908aeaa16d79212e61d5c30364864fc1e09f1b20f296c11 +m = a0f6aa73a5d09451a39087fd84f6872ce2ef031e6c02468b433362311346fb42 +ct = f3b1d9a8d358cf3ff3313d010e141a416be0f51a2a746d7a34878066b157dd23095e597e3d730aa22e516be7035142d208e62140b969398cf3c1a302b61fc968ff47ccbc495c5ae84bac20984d87dc506dcf5ae9ad32b4d1982180147406b6082703e56d3f8b9dceff35f4833a5127074e7fdab72a80b09e74161a876ac0b198dfd08b75a49e3dd7bb440141b9d7e88191818be0109bb64b498ed3e647b0fca5caafdef3b3553caeb98120c190615cf9cfca8cdc6ac8adfd0c8235c27a0d9055b4daf7346e7fcf54f293737065f6e7a32cacc653d63f22d93262c687e77861846710909ef3f94fd1226d3cfeff30d2b706057e9b01df43f6b60ea53c5dc846849a9a61a890f5557e05cd905085f836e29925b994e488def8d796b230cf7c9e64ca60c7803181c9a97b2c786d1626e061a6e8bfa5b65c9a1522d350728989c5829235d4229e9952994a5d2d6699c1c4d653a65d556908199592d740226d7b5e6cfaebd206fc6a87576f33a651aa591c32309b5ba7eedda5983487207f8b7f9fdcce60d677b68bd50de9a8e2cd92a0402b0a4c9576c007eece2f7e8111c7518c0fc01a8330f7ac7009e89fff2b17a6a5da1abd97272756aec93f52e92de86024fd83ea34738b5eeea59cd68962500719df2d6964de54f137a64660f43b68ff334585541d67d9c365bbd448a73f375114e07d4d83db327d99c1d0cbd01747d3a22b1d3785bbf635ae51d861db6f2c4a6562d2450d18e073e6f8546dbf7df6fbabf8449106032fd719e503e6b831fa6f9b125e77c2d6d0c4c1caebf6ce7736356447501ae943f25e9366ad06591eb32bf58ed6dc9f5f4e2d63a68ad1a7e2140f696eb6e0cf00a39a2e8580d0c0e52b0e31c6c3690514ccd6a195dd8e3a67618888fed305b28342821c0d13918687a5580b105caf1310751df88a928c6e6c61eefb52f739192d8d96e54314a3e8143826d37b6e8f5db495a2616abcd97ce309db9352c0aa0ada365b2d1c3a3e6c55bd5d3225462fa1ba3833024926794bc23bf8a465cc382447ee5042903039ef6f4332dd1edcb02cfc3a44fcc27c03ca2a24ae73a4 +ss = 9a5cd62f025cbdf9c73c38453a2ce185e4adaf5e36757b6f9bc16eaab481dd37 d = 6396b328b100e4c7f4bcae69875edea1a1982421558c608c13c592bf7b5d0fef -z = 1100ced48add211a5c937b8d6079d8e271af3f949edc61f70e60453aef20dea9 +z = bae49824e1a023a302cdf665aec15b60f7f77ab2a0fffd5246d07ae975a0614e pk = 811637e2faaacf51518bd1668fcb964116b7732c71d6515f51b0a454d0359384a2ef7c5fd7ea6b47350c68fca28d6c35219a359e273fb5489e8f4200f830036c8c6046fb7269290686241fc9d4ae42e4b59aa373e9d65b6d5462ea26ad220b5b2021bbb207832f7b17d187a749eca9cd8aad1fa0c2f205bd8358771b156c0e4bbaea29ad45296b788348653ba896d3956e821c0bb623f033c0b926303d77cf8c2284648059c9b73afc326b0ce96bc8190d41d849a9a7afd7091527804812a914adb475b1149f090642f1c8c98d6453cd531cad4b886df17975f91b3aeacc23358b13b54e40d8856058bad19088371c7d8d896b2ac4c8f3443b95099000a237d791ba0853a6c0e821b051472bbb1a95c7a480529683a7978373081f30af1a7a6c713557c38b0bc9b281a622c68d7912bee99ad6d1bd541182efc3bef160358c067a3363b6e03a5db440bf6ce2cd8cd09c03985a5dc44ad7219c41b860eb2a8b6b025da63978d0041d9231a4ffb28fe6a6cf918bc6fd59aa6f8260c373b645789b9e0ba4798b4b7d8b468e52b2aa20496ba9cba4e2ae6cf069c86b652fa7204d717a623829218c4b288035b551c6f614805257516276531a6cc9b6260b50576e149acd9fd4b324ba5a89ab60cbdb682a85aea36230eee9215e442aa22679def37947d4846fc7ad5ea3626c9c20d94378834a4f086a05bc8c252d22adcfd47ab0d63c886947ade8282f380730fa7b827374e617582a7a2fd4bbbe56ab7031a51871988ac823181966b6bae54e93fc63d2463cc3b103b745b367b70bd212b79363b2669ba062c75da3f2037c17a290281abc4952de641feb740c1cf2829f1b3ae798c3a128b76f4711121597dbb5755a2964bf886f1208cddd70b759797349e4a8bfa0779da984f43195b6bc24338ca7a4714458068b0193c6556c471ec7586268879582b64d26383a9489a6f525c923a9e553627c365bdcf32a4158452410357952479d84306c3abab55792bc1466beb85bd8917722289534c74559887b0d8250309562910a0a692b0da73439d5e87007a4b0c2ebcf3c124394975657fc07b7ba88cc0b25940ffddf25214ee4dd4e1aeb851878e2493c05e2bd5a30b5b99d369454 -sk = 3923aec9e98d11c99196b0c711e136e5036c4b9174a0d54ccba085ba5a2f7d38c4fdb81d162415fe1730ca3a645e10be5ea053a9f0acc909c038b73d95a3c94ad476a627036d4205a58b287d38af91913932786b7c235a2e62116ea48c53337a946b96de3635a1873794b90943cbb7a1cbc7bdf9a6d6296973d572eb9c35a24905c405cf7d997dc77233c040a9e8169682ebb57e41306bc6cd6caa7facc098d4571788b406146c9f7b6420617b63b17b29aa07cae97654c9e71808aa3700e04ecb141ac2fb3126da710a2459aa210013336657bb2496926a58b730076a7fcd9912372a541dc12873d31c0619af0f5663d66719de703547eb09d0173cc8ab2a65ecbea08b4cd763c8b7caa8ea1c8ac35c9c3e0baff48097395381d511c37f1b1a4ac1c9489724ae05b3c3e3894d07018c463117eb422dab556ea49f9eb65b7d29b4ecfb791848715246cc85f4374faaa26457982931be3d84256724522252b079f54e356aad6557b65a4182d85b29d847bfc4e3b2c5e81e974c00a00cc3fe81ade2c6211bb2c2d1e503e7f5c5e9f443403745ec50aac78859aff7a38ca28a3de66342d0a409248f8472280b135a8fa77911f554ef078650a163bc27a506cb521de8223e9a729a43010c2806086c059d51a6d01254f2eac6bcac118d7735abc7785c1656e68c4d29b03c5e9c2f5ffc16da202c2dd4c48d91c517c2be222b18cf602a699029aa8778a915693a22371e475a323844ac38a7a806c55f229a0f92c83d7828e28b64f74aabab1c4bb3b50e94e64df6c79a0ada21829a30d3356ab85b4533469ea707c216548de287750ee96229a022bed692d1f2021d2723b2365b8b6a3b2a381a9cf75083b38d57fcb127589f13f522051685bc563cca799b7b4047a0a3915ed34881d26fafcc73fd2c00880241296a27e9c68dfec08b4a465787312a49114be583289f8587763844b630602c7b84718641ba4467279b940bfb863437335ed8a917e3450c18a9c6e83a6836b786660fd8234b1c845b95485238232e6719cc32164aec22c130ab468dc14d44e99c360c97b6571700d5b483fc4ff8678f811637e2faaacf51518bd1668fcb964116b7732c71d6515f51b0a454d0359384a2ef7c5fd7ea6b47350c68fca28d6c35219a359e273fb5489e8f4200f830036c8c6046fb7269290686241fc9d4ae42e4b59aa373e9d65b6d5462ea26ad220b5b2021bbb207832f7b17d187a749eca9cd8aad1fa0c2f205bd8358771b156c0e4bbaea29ad45296b788348653ba896d3956e821c0bb623f033c0b926303d77cf8c2284648059c9b73afc326b0ce96bc8190d41d849a9a7afd7091527804812a914adb475b1149f090642f1c8c98d6453cd531cad4b886df17975f91b3aeacc23358b13b54e40d8856058bad19088371c7d8d896b2ac4c8f3443b95099000a237d791ba0853a6c0e821b051472bbb1a95c7a480529683a7978373081f30af1a7a6c713557c38b0bc9b281a622c68d7912bee99ad6d1bd541182efc3bef160358c067a3363b6e03a5db440bf6ce2cd8cd09c03985a5dc44ad7219c41b860eb2a8b6b025da63978d0041d9231a4ffb28fe6a6cf918bc6fd59aa6f8260c373b645789b9e0ba4798b4b7d8b468e52b2aa20496ba9cba4e2ae6cf069c86b652fa7204d717a623829218c4b288035b551c6f614805257516276531a6cc9b6260b50576e149acd9fd4b324ba5a89ab60cbdb682a85aea36230eee9215e442aa22679def37947d4846fc7ad5ea3626c9c20d94378834a4f086a05bc8c252d22adcfd47ab0d63c886947ade8282f380730fa7b827374e617582a7a2fd4bbbe56ab7031a51871988ac823181966b6bae54e93fc63d2463cc3b103b745b367b70bd212b79363b2669ba062c75da3f2037c17a290281abc4952de641feb740c1cf2829f1b3ae798c3a128b76f4711121597dbb5755a2964bf886f1208cddd70b759797349e4a8bfa0779da984f43195b6bc24338ca7a4714458068b0193c6556c471ec7586268879582b64d26383a9489a6f525c923a9e553627c365bdcf32a4158452410357952479d84306c3abab55792bc1466beb85bd8917722289534c74559887b0d8250309562910a0a692b0da73439d5e87007a4b0c2ebcf3c124394975657fc07b7ba88cc0b25940ffddf25214ee4dd4e1aeb851878e2493c05e2bd5a30b5b99d369454339ba63f705606d8c7fbbd6e66dadbf23f532d5423802c836f2105a636e9e6da1100ced48add211a5c937b8d6079d8e271af3f949edc61f70e60453aef20dea9 -m = 64440adb05db3308b189bf999f9ee16e8ee3a6ccbe11eebf0d3ae4b172da7d2f -ct = 5667e9b79466426225052e623560d0bccc6433301e45041fa7711136995150dddb9607d40d1a7a253426921fc09c0d406b21ffa3915cfd91a7a0f4f5f4ff976bd47675962d7945d7063560f5dc44489c0d046853802df3967a696e6c064da00810088e54e41dfd15667313123f24411bb1b4c0306f89a7cc9d6ae968552dc5b033a7c7aeaedc93f4e99e237e42a756ed685c2089614ceceb561cb6cf60b678c979a87701de719ca615982d2df60a7cee96dcf430e2ce11ef76e3bb2edc51b71e9d08cb7b0c2afbf67c979a336c1d0c8fb8961782d5c45368ae4bfcda4f62629ffb63a3fffff7439adf3ee2cf6f5aa48455c5215796b217766656c7ec503bc5d846c0db55770bfe2274aa2b41672e74cfda246c36af9277817cbafcf02fa52bd350cb29b827cc682c8b5911274f9e426cc9b73b0ecfcc5a27e02fbd3a57ecd46684a1b5ff68e783f66e56bd05175a5719885ab65371818bb9cd57afe7bca3b42017761c312df630ad7c1ae15f566df862938664531e3067aaab0b31aafd025a793e5f95ad815b76eb6ead288f495fcc5c5d5dbaef8851657c0cb43e841546fcef569ce209aef9e7742cb1b3a6808d3075b2270af2f9ec3f30700904b24781b9ceff7b2253579ae9a61315b888d577d134f4638aca21fdc2d0bc866f3e15a7e47821fbd0be61cd0783fefb11e924066d3c162371a31dad633df43281f544583eafc6d24b075adc8ee2ab35c640e530448a042febadee7b9466df671ac0b5816d98f6437401cab3ba775a2c4d8e65c0737c1824864538599310fec4f0e7b4705c5c081f7d0a46203efe9aad900b123576a62f9279778ff00296f83a6a68a9500ab045e883976c242e7907db83cb95f7cad922d44c10396db15f79ef0eddb39bc6671b4fa7494bd0bad12f2ceed7904f2ff5eb5146c14c5f5dd5d24e5e6985f3c5c18a732b80b34f413031fcb3b0ed3dcbddbc4e16316e8b40c5ffe7389a3ae6c1d1cf4638688fe9ed4d88133f5d3057bb3b6a89626149898271518d882a1136120190bcfd1ac96f529fcd3d1f69c0a66cdc8507782ae8f77190f3eb0809ec936906 -ss = 9f9bdb590d6835231fe5ca098f03a0e44d448aa43714bbf98b8bd8ec2cfd3237 +sk = 3923aec9e98d11c99196b0c711e136e5036c4b9174a0d54ccba085ba5a2f7d38c4fdb81d162415fe1730ca3a645e10be5ea053a9f0acc909c038b73d95a3c94ad476a627036d4205a58b287d38af91913932786b7c235a2e62116ea48c53337a946b96de3635a1873794b90943cbb7a1cbc7bdf9a6d6296973d572eb9c35a24905c405cf7d997dc77233c040a9e8169682ebb57e41306bc6cd6caa7facc098d4571788b406146c9f7b6420617b63b17b29aa07cae97654c9e71808aa3700e04ecb141ac2fb3126da710a2459aa210013336657bb2496926a58b730076a7fcd9912372a541dc12873d31c0619af0f5663d66719de703547eb09d0173cc8ab2a65ecbea08b4cd763c8b7caa8ea1c8ac35c9c3e0baff48097395381d511c37f1b1a4ac1c9489724ae05b3c3e3894d07018c463117eb422dab556ea49f9eb65b7d29b4ecfb791848715246cc85f4374faaa26457982931be3d84256724522252b079f54e356aad6557b65a4182d85b29d847bfc4e3b2c5e81e974c00a00cc3fe81ade2c6211bb2c2d1e503e7f5c5e9f443403745ec50aac78859aff7a38ca28a3de66342d0a409248f8472280b135a8fa77911f554ef078650a163bc27a506cb521de8223e9a729a43010c2806086c059d51a6d01254f2eac6bcac118d7735abc7785c1656e68c4d29b03c5e9c2f5ffc16da202c2dd4c48d91c517c2be222b18cf602a699029aa8778a915693a22371e475a323844ac38a7a806c55f229a0f92c83d7828e28b64f74aabab1c4bb3b50e94e64df6c79a0ada21829a30d3356ab85b4533469ea707c216548de287750ee96229a022bed692d1f2021d2723b2365b8b6a3b2a381a9cf75083b38d57fcb127589f13f522051685bc563cca799b7b4047a0a3915ed34881d26fafcc73fd2c00880241296a27e9c68dfec08b4a465787312a49114be583289f8587763844b630602c7b84718641ba4467279b940bfb863437335ed8a917e3450c18a9c6e83a6836b786660fd8234b1c845b95485238232e6719cc32164aec22c130ab468dc14d44e99c360c97b6571700d5b483fc4ff8678f811637e2faaacf51518bd1668fcb964116b7732c71d6515f51b0a454d0359384a2ef7c5fd7ea6b47350c68fca28d6c35219a359e273fb5489e8f4200f830036c8c6046fb7269290686241fc9d4ae42e4b59aa373e9d65b6d5462ea26ad220b5b2021bbb207832f7b17d187a749eca9cd8aad1fa0c2f205bd8358771b156c0e4bbaea29ad45296b788348653ba896d3956e821c0bb623f033c0b926303d77cf8c2284648059c9b73afc326b0ce96bc8190d41d849a9a7afd7091527804812a914adb475b1149f090642f1c8c98d6453cd531cad4b886df17975f91b3aeacc23358b13b54e40d8856058bad19088371c7d8d896b2ac4c8f3443b95099000a237d791ba0853a6c0e821b051472bbb1a95c7a480529683a7978373081f30af1a7a6c713557c38b0bc9b281a622c68d7912bee99ad6d1bd541182efc3bef160358c067a3363b6e03a5db440bf6ce2cd8cd09c03985a5dc44ad7219c41b860eb2a8b6b025da63978d0041d9231a4ffb28fe6a6cf918bc6fd59aa6f8260c373b645789b9e0ba4798b4b7d8b468e52b2aa20496ba9cba4e2ae6cf069c86b652fa7204d717a623829218c4b288035b551c6f614805257516276531a6cc9b6260b50576e149acd9fd4b324ba5a89ab60cbdb682a85aea36230eee9215e442aa22679def37947d4846fc7ad5ea3626c9c20d94378834a4f086a05bc8c252d22adcfd47ab0d63c886947ade8282f380730fa7b827374e617582a7a2fd4bbbe56ab7031a51871988ac823181966b6bae54e93fc63d2463cc3b103b745b367b70bd212b79363b2669ba062c75da3f2037c17a290281abc4952de641feb740c1cf2829f1b3ae798c3a128b76f4711121597dbb5755a2964bf886f1208cddd70b759797349e4a8bfa0779da984f43195b6bc24338ca7a4714458068b0193c6556c471ec7586268879582b64d26383a9489a6f525c923a9e553627c365bdcf32a4158452410357952479d84306c3abab55792bc1466beb85bd8917722289534c74559887b0d8250309562910a0a692b0da73439d5e87007a4b0c2ebcf3c124394975657fc07b7ba88cc0b25940ffddf25214ee4dd4e1aeb851878e2493c05e2bd5a30b5b99d369454339ba63f705606d8c7fbbd6e66dadbf23f532d5423802c836f2105a636e9e6dabae49824e1a023a302cdf665aec15b60f7f77ab2a0fffd5246d07ae975a0614e +m = 2905f02ce2c10e4ae7bb7f862d1d377f8df3a1280481e2579d49191d1ee6ef6d +ct = 7d5900577c2bdf6d755ff02b9674c52cb7c2e2315752c4b03f9df69407b2d7930a6c19574553764e39ff5b00ea32f5dcb23afb6ee5dc0d6d03ff984cf998086063182e5bfb548c79d05c78227d5ddcd2fe94d1506b316a64c2333fa0d8d7bcc43b156373110a2c56c2fe51fd6e6f83e8cec394a43ac65129f33380ae6fb1778ee0616a62e3c033423a88e3924cb322010b7f94e79b135d2d036e7a17de96b39fbce51629a94fe787df66d7305797bfa654ce757c0bffef3f6abcfd6ffbac3c2df560defc90e9745b0e00894e434689e146bbdfa1708700412bace37f062094c7f32d0c5537f32fdbffaac52f8771d18cd83300951c5c1ea4a2f115101087d7ce807ef0ae9fc42e4c481abe0a9c7ab067e5902270704325972211cf847f297e55bd7fb4d05e1591adf128f9436d7e2d6313bafc53a29bd4730d97ed0e84e2fecb47daed0397d18d3bf71deee5838a754f8b82fcf709f1ef614b5addaef024caa987a0f09d5083fa5cd9662ba863633ae27e2d0368c3cd86c97ed3c16fcf0dfbbc07afbd022479da34da96b6cc2129ec3b50d1d5fc1ec0e858d319fddca7cada87dd1d868e4393fe34adfb5bbfec8f7e1f6e7fdb849f27d0f60cecc9c6b000889c215af69091de30f1373c746613d49f36edd73921e23bf466d9112a3c1c64f772e4765b2fbe75a5417018e72f8225b2e96e8e1c2000e4ea72341fbc210c1e44b0c88915df5d5d81a3546048226ed7a033283f14e953032321abc8fdf66fde072371cc5a8ea5fbbd37031f75d100ae7c1f1903e322c1794333b58c709fe1ee0f2f3f8dc34f048567ff97b8920861545aa1f7cc8a684aa44e3559b90ed6c2e5d20f5aafec1873132c9833868c886fefc78b0c307e34dfc3b5040d3ef1ac58aadb2ecb14dee0d78972a267074596a46c304f7ba84ae6fb372d3d82b4d2e39a728c803994eb9d47fdad231a5ee108b2ab647bd9629b7a60d8ea9d6a9937440c567e8d1cf5e99731b06fd1b7eed5a71a5cf6a1c2323e609c806d5eb8a504f114e12047495bd134051bf6182aa08fc8aa348c31e9379112279d9ce006e86c7d79a4f1b6 +ss = 47609c631da1d0e3d6c3884876e3e57a573a7ee075c204b71828d501abeb9905 d = a453bcacdd2b0d4646009e5ed451c3c45f08fb827ef733db3c517a9dc1af93e6 -z = 7a3cc8aa3239d4c52ce4c95afdeff6efbfacac10d294edc0e7cf4535059bfdba +z = e39cc6c99ee6fd8653d15505a6c2a713d41b43fa521cfb214e8d1b38440f4640 pk = 1ee3723f94a99b7abe01cb641c501f856398369804ab87a2e97191f6c918367c653ed9a2a2559a73db3f04a4ab05e1924d3a9af7392289a894057782ae7139b1e82bb32a228bc7bca367af59519e5ff9319aa987356c97ab724b9169302e0b2924307a46839a4872a57b00ad4f8b30265b5d6a3c95b31c248da1514ffa25d908915635732c1a7e2c938c4e528184ea2facc556eaec7171831aff013da5acca8c500038c55eb8521b14e0263cea2252986c9023c405b56aa85791bda25c73db65126967ac8669c197153c14275a574abf090d5e52821f51a479238360305cd7720fa3e239878635d92315b41b2374732216ac4eeb5650a4896b3747c752827407ca7046a315baa63d9717824cf51513639607cc752ed60e743b5f8ac54168497aae4aa3e4c8aa65b97bb03314501b8644608ff49aa197bc0fb427a13600bd8395c94d534b1fa96341f8cec2b218c1a5745275799e93767c44b128bbb0fcf59f1899593e9176f070cc541949b490bd20790584d3b54b369ac5f2a7eb24043155272534889be150f320019aa29b8585ccedf65ca73211ffd8a60f558b4482a1b0194202c16cab1699cbb9544b221c2cf84726608311416267d065d5a819bc05c54fb0c2406bbd4efac451090ce9dc93437312278ac7f7b88f0b69b80b7982f7989c47a18185d2437c1689d1378d01c14dea68b701378e62173fbad1ac05ac1fa904ad1a22895c52b89c8cb548a4cfe168846f996db569cd252281d62c675c298a62d1a38c019c5c08caa986672df818640a90002c12042c3cfa437887a4cb221b65b94a82d7102d07a16333177890ec100c2a8df22987d0019f65e64d5dbc544fdc3a3945a3a77a75099238d0774e9681ca16ca0e9c0554e0e401b401243bc75390b3b4bad59151128f8cc28c2d40bbfc89b890c64ecb65826f202912707f976a2f76463ccb803a945c946d282cddd40f5916c77e268dee390c7a823e5f3313ded9bdc39c2690f15834e44b2cb1335a01068955a3be7c635b7036a975ba7fb986295c3249916b3997c7f0e2845d24b9b264ca4d49a697d1abf3ca9ea6313f46c0cf073e0f3130daca54c038dc1085402160513337af2b6dd900b04dc3bdfcc90bdb -sk = 9a605c2cca636eb3b589f3853b52b59aaa3b7e7a6aaff24b74c6cc2f2022d662b69a018683a5205c0a37f9c88db6737eab28bfa1e12d9613188cfa7a5aa7807efc6ae9ab78ce34ac85b4ca61e8beacb89f23d37fad0c91225b8dd7f10358d8096ad37f2287a175e158cd90a2a4128d2e266ef72708958351eab74f63e45672a16cc4d3aa77260630c663fdf27878e0501079c55b56449f2bb932b42617097126a85a2e5b24e9130e4d02b2cf70b26c2395d2f8996248124416cdf21679c006440fb0aaf570aee279042adbc3fff40ccb122ab7199468273ea38abd8098af3940c65c8951782a650b50211927cde10c3909168d4e4699a154a2714785ffd86c6cdaa85586a40aeb6cc081022edcc27ebb900786c4aba36a45d65d100508a4e41231b58695a53f0d340fbfa128e5e2202a986d471849fcb4947e1c1a2505494a320f288179b5cc5d04847c68449ac100093ccc879bf7a1b892be385844365835a4006011904a235003df8a19e0ea37037202f3b6809dd0bddb43ca5d46506c165bdad665f97ac882512583175818ba0e63942a612b3889645e86dc293d352380b68379fcca92c4c1c7aa5d1a842950365ff465118fac96ddba65dec7a78b1523e0d5681cc7bdbe656d0c440aebb4801ef465a05ca9b51253ef24abba291821f5a1460c0f8ad09f4ae08d83401ac0033f84c9866ffbcfaeca8d4b216eea2b05d92964a1a57250c6b09d7c13e1aa665791471212cbda902c9ff58a0a05120c8364b502187dec8f4dc35843d13e85dccef6448afb8b80fb28763f044684403ea3f110297822c7889b8bec5af016b4fb22c557eacd82a574ee307eb19673b26683f6822c192270ca38044140426b9b4f36cab6ca673f6bd60e67a18d73390eebf88542f976d53ab808116c65020e6d4825f10bc00d664fe0cc23837a9938d70db9304994bbaa56b378d8c5214d6762c1c25d8386328c092d73a9174f6858bab76ca807aa8c376af004a1b4679dd6f500fe139080981b6836a83f05c7471349d1405984fa95bdc3428805c78a4bccefa91f84d8985dba27585a834079b041486a7ad9981ee3723f94a99b7abe01cb641c501f856398369804ab87a2e97191f6c918367c653ed9a2a2559a73db3f04a4ab05e1924d3a9af7392289a894057782ae7139b1e82bb32a228bc7bca367af59519e5ff9319aa987356c97ab724b9169302e0b2924307a46839a4872a57b00ad4f8b30265b5d6a3c95b31c248da1514ffa25d908915635732c1a7e2c938c4e528184ea2facc556eaec7171831aff013da5acca8c500038c55eb8521b14e0263cea2252986c9023c405b56aa85791bda25c73db65126967ac8669c197153c14275a574abf090d5e52821f51a479238360305cd7720fa3e239878635d92315b41b2374732216ac4eeb5650a4896b3747c752827407ca7046a315baa63d9717824cf51513639607cc752ed60e743b5f8ac54168497aae4aa3e4c8aa65b97bb03314501b8644608ff49aa197bc0fb427a13600bd8395c94d534b1fa96341f8cec2b218c1a5745275799e93767c44b128bbb0fcf59f1899593e9176f070cc541949b490bd20790584d3b54b369ac5f2a7eb24043155272534889be150f320019aa29b8585ccedf65ca73211ffd8a60f558b4482a1b0194202c16cab1699cbb9544b221c2cf84726608311416267d065d5a819bc05c54fb0c2406bbd4efac451090ce9dc93437312278ac7f7b88f0b69b80b7982f7989c47a18185d2437c1689d1378d01c14dea68b701378e62173fbad1ac05ac1fa904ad1a22895c52b89c8cb548a4cfe168846f996db569cd252281d62c675c298a62d1a38c019c5c08caa986672df818640a90002c12042c3cfa437887a4cb221b65b94a82d7102d07a16333177890ec100c2a8df22987d0019f65e64d5dbc544fdc3a3945a3a77a75099238d0774e9681ca16ca0e9c0554e0e401b401243bc75390b3b4bad59151128f8cc28c2d40bbfc89b890c64ecb65826f202912707f976a2f76463ccb803a945c946d282cddd40f5916c77e268dee390c7a823e5f3313ded9bdc39c2690f15834e44b2cb1335a01068955a3be7c635b7036a975ba7fb986295c3249916b3997c7f0e2845d24b9b264ca4d49a697d1abf3ca9ea6313f46c0cf073e0f3130daca54c038dc1085402160513337af2b6dd900b04dc3bdfcc90bdb1f9e26333b637ef9beb8881c63f9412b07c47a276af0e242062a54026bcee2bd7a3cc8aa3239d4c52ce4c95afdeff6efbfacac10d294edc0e7cf4535059bfdba -m = c8bb46b3a7344ad170c2052fb042b5a3b62e0590562ee82577b1081f6f114d16 -ct = d424238b46e8c49520bac82526430111519b9715b42ce1188d6d833b10d85739e5ed5b1170d0e959a52a87d8fb2c06d6212eb8c3afc7fbf7fe2260d9b251aacb8e0c6f8b9ff2713d6b7422e97cb4ab663ab5debc143e30ee734997e313bb76cf2b0e0a0cc4bb5bca6dc8a533eaffaa5497694736346ae081925f80b90e1f724d909f3f32e489e5cfed7c49306f5481b0f5d97973030bba60668ced99224482df4d69ab977b06ef2e84a782311ab3b7c0dc4b0eb42f37d9611552a26932220dbc1a47cc7b561195553487fc237c530c54b441fdb04fde7bbadfa5c0b8088c6e8c0cced7648f4985e756334fb6b4636852bf320a10b9cf02316e660ad2f9231ceec51ad36d40cebdcf896b8b600b13c5b3a860dc0cc635687405b1c876cce73f5ad27764daf671fbf60db35d8009210087e9fcdb3e6edb1223f0ac6f1f70cda5353d394b433abcc86b91ef531bfd7297f240733307096bf8ff73d71597cc959a5fc38652825c4d2262ec35afac00e4cda5fc71bac97a1fab8bd2fa978272a59e1f9a2ea82205b1c1e452acddf90f5b28252044bfad44da15287da909f2531f9b64b1de948981c27e0f384cc5d3113fe2c681583d2f95bf75f350069fc1aea1a4f6d7e6dad68a74328dc12983b0d6a52b6bd6145ec1e4b40e24cdf6fce292b1e9415ded868448a5d4e5850c997f27c127a6192bfd2492b84c4525973b7f8d151a49ec860e9edf14aac3188ce9bdc987e7b48079b926154c3d28bf2fc6d47d01bade5f781754f502ac11bc545ff1d0399b2000d18cdd622b577037e6aec86814367b166f84fb349eaf5bad73097168948842f9f5f693943374787be434cea71570d0de87ce39e57d5091e75dd2aafb06782f1a6ffa2ffdd1d4d47a3e687b79e544ad75c831db690ee84bf0ddaee467ae38bcc3dd5255c51cd283321b7c6bf6893e54e8076979d23993a8dff9694986a07212faed1a495cb9a5ea05d4bb371f52a40a3c3e80e8309ede1d9720eb70c295aa286a6496f91fa206a3a7666b5db5bec55bc6b430bb76bc885f6d77afe429da20f9132f2aef89a25061045936a04724a71f -ss = 6036d4043821cb758cf9df9659e5852b922906057b4d8640bb3d6b0ff7d848d7 +sk = 9a605c2cca636eb3b589f3853b52b59aaa3b7e7a6aaff24b74c6cc2f2022d662b69a018683a5205c0a37f9c88db6737eab28bfa1e12d9613188cfa7a5aa7807efc6ae9ab78ce34ac85b4ca61e8beacb89f23d37fad0c91225b8dd7f10358d8096ad37f2287a175e158cd90a2a4128d2e266ef72708958351eab74f63e45672a16cc4d3aa77260630c663fdf27878e0501079c55b56449f2bb932b42617097126a85a2e5b24e9130e4d02b2cf70b26c2395d2f8996248124416cdf21679c006440fb0aaf570aee279042adbc3fff40ccb122ab7199468273ea38abd8098af3940c65c8951782a650b50211927cde10c3909168d4e4699a154a2714785ffd86c6cdaa85586a40aeb6cc081022edcc27ebb900786c4aba36a45d65d100508a4e41231b58695a53f0d340fbfa128e5e2202a986d471849fcb4947e1c1a2505494a320f288179b5cc5d04847c68449ac100093ccc879bf7a1b892be385844365835a4006011904a235003df8a19e0ea37037202f3b6809dd0bddb43ca5d46506c165bdad665f97ac882512583175818ba0e63942a612b3889645e86dc293d352380b68379fcca92c4c1c7aa5d1a842950365ff465118fac96ddba65dec7a78b1523e0d5681cc7bdbe656d0c440aebb4801ef465a05ca9b51253ef24abba291821f5a1460c0f8ad09f4ae08d83401ac0033f84c9866ffbcfaeca8d4b216eea2b05d92964a1a57250c6b09d7c13e1aa665791471212cbda902c9ff58a0a05120c8364b502187dec8f4dc35843d13e85dccef6448afb8b80fb28763f044684403ea3f110297822c7889b8bec5af016b4fb22c557eacd82a574ee307eb19673b26683f6822c192270ca38044140426b9b4f36cab6ca673f6bd60e67a18d73390eebf88542f976d53ab808116c65020e6d4825f10bc00d664fe0cc23837a9938d70db9304994bbaa56b378d8c5214d6762c1c25d8386328c092d73a9174f6858bab76ca807aa8c376af004a1b4679dd6f500fe139080981b6836a83f05c7471349d1405984fa95bdc3428805c78a4bccefa91f84d8985dba27585a834079b041486a7ad9981ee3723f94a99b7abe01cb641c501f856398369804ab87a2e97191f6c918367c653ed9a2a2559a73db3f04a4ab05e1924d3a9af7392289a894057782ae7139b1e82bb32a228bc7bca367af59519e5ff9319aa987356c97ab724b9169302e0b2924307a46839a4872a57b00ad4f8b30265b5d6a3c95b31c248da1514ffa25d908915635732c1a7e2c938c4e528184ea2facc556eaec7171831aff013da5acca8c500038c55eb8521b14e0263cea2252986c9023c405b56aa85791bda25c73db65126967ac8669c197153c14275a574abf090d5e52821f51a479238360305cd7720fa3e239878635d92315b41b2374732216ac4eeb5650a4896b3747c752827407ca7046a315baa63d9717824cf51513639607cc752ed60e743b5f8ac54168497aae4aa3e4c8aa65b97bb03314501b8644608ff49aa197bc0fb427a13600bd8395c94d534b1fa96341f8cec2b218c1a5745275799e93767c44b128bbb0fcf59f1899593e9176f070cc541949b490bd20790584d3b54b369ac5f2a7eb24043155272534889be150f320019aa29b8585ccedf65ca73211ffd8a60f558b4482a1b0194202c16cab1699cbb9544b221c2cf84726608311416267d065d5a819bc05c54fb0c2406bbd4efac451090ce9dc93437312278ac7f7b88f0b69b80b7982f7989c47a18185d2437c1689d1378d01c14dea68b701378e62173fbad1ac05ac1fa904ad1a22895c52b89c8cb548a4cfe168846f996db569cd252281d62c675c298a62d1a38c019c5c08caa986672df818640a90002c12042c3cfa437887a4cb221b65b94a82d7102d07a16333177890ec100c2a8df22987d0019f65e64d5dbc544fdc3a3945a3a77a75099238d0774e9681ca16ca0e9c0554e0e401b401243bc75390b3b4bad59151128f8cc28c2d40bbfc89b890c64ecb65826f202912707f976a2f76463ccb803a945c946d282cddd40f5916c77e268dee390c7a823e5f3313ded9bdc39c2690f15834e44b2cb1335a01068955a3be7c635b7036a975ba7fb986295c3249916b3997c7f0e2845d24b9b264ca4d49a697d1abf3ca9ea6313f46c0cf073e0f3130daca54c038dc1085402160513337af2b6dd900b04dc3bdfcc90bdb1f9e26333b637ef9beb8881c63f9412b07c47a276af0e242062a54026bcee2bde39cc6c99ee6fd8653d15505a6c2a713d41b43fa521cfb214e8d1b38440f4640 +m = ca41a891e8b3cf62f7cf5e356fa7705dcf26478b2cf2561a0de208dc06c02059 +ct = acf72d4bc4f13fb7c3b2a53e91be574e8bebc185ed5c2d0697ca6cb232b351cbaee1e610cb4b9f5a9d0520c56c26df4a7b0ce68f6ab5b5ffae4a16e13d08069fb373ebf532634e787446aac165f941d0c15313016dc82c1a51269f6d852782c68e40b0b0657ff7b854f2690386ef988782f589c62f9a03a8a6cba77c14e67d517dae19575da3565c6a9042de41126a0b5e2e74a1f290c526efc25801c60fe2bc85afd1f43585d73dd952b4b2119bee3892855d7e6391e13e7aabe4ff9578dd185a5f7d059af39272bc0399cecc6462cccb3e75227fdedccc4876815e9e8d1a143c773b862fe2748f5ca183f246ef91f7b0feba8ab89849e287fe447a7e59d11550d19af52852c68bf0d419ab0e4451870541732a4fad2a8207df5c844fbaf4e70627691de706f5f7d073ed81062b65983cec25ef045d21a8dbe4b3f1c019f3162908a03068c2b96bf5dba945a1f766b6faf262153b143786c86df29f5b6289000a0992e646479e6e4d9c878f29868273d0a0764fab21ad11faaf85b02515b06d59787263371d39bd2079aca17bd5b207144d39c3aeabb303562576a9c99bebc6a2694fc5bfc5e130397185fbe83b8b18eb8e05ab4694001587570e99b0b45d783f27de2b49018265dbcb80f54f2aadb744abf6b240973335b32f766a557268e852e563dcd5943ebc2c9023c77950e189c74efe18781e7c1eb0d9316da54fdbb4240e790ea66aa74e833216dab8cd5dbf6aeefc5005e5d865a9f7e60985b9e8a1faad591a4b6153cf1c8947478d61bc76eba06622c2284596097ffe843102ccbc789b26caf7741f3a69d39c9ec21040e7a4a364f11c8740477a6cac7130983d8bc0af51e5eb9626113897fed1c1182fb440d7c3496a5ed6b4620d3222a9b5ff803fe89166f0cc49fce718d76085b6a2abc99e82c0d0d6fbc5a13381bff36d0731dde27a83b9058e682bba1f6afb65f55391d12c0e1133f6634c7737e47008996c4162ae6c67588d77f3e301f7cda68b8b656d1838e6d2336ebb623550b815abffa707f8cf2e5facc9321c9136a98c7239f4bcdbe84e85b74a3e7bdfaf1accab11 +ss = 3bc5fa99585e1d99a063a28814e0a9558d2dd6e7c8468216f30db8aba13fe4a1 d = 47ca2b77c5b717f423222c2730ca5cb9c856bc951d01b2b2c80bd76ccb5539b7 -z = 8f1481d7cab000e33fa07de8dc9627a85e76fabb4428a3376e66300cf12a0787 +z = d55eeb68870b6df148654f14eb4b3ae9084b40f8b5cbc83ff4c419dbbacbd190 pk = 501a0171c94c8651b920fcae8eb447d9913047183cdb16374d9b7c6fabc86fdbbe5905805f50bee8c12612115ca16bac13160198873b4f999e4ba1c052767d7d5ccfb364c12a5a6c81232991b5100f21cf47c50c8566c32afc13f7b03fd9a2b09a807b198a4b2ce48d163b0398731c142ca7f13b3f95000fc1345ad1a50952d09c6fa42ba6b5119ca1061a64a5ec4b1323a5be3ecc97bb21383f6c559550ca985c53c4e78d0d660c6baa11527242e61780c52770cc3739edd2ae47c676753bca078266d565377d2aa5cf677945551eac12c61a0a95f6930a95b9a76206733029aecdc6cc17378305b769b9e6b6fc95a80a986a48b016de4c331ea591bdd43a51a2109f02601569764b8999bf4cc987f25b3fca822f5771d941ab90a0083d6676a3d743e458381cc3971bacbe8c3a4871d51baa80a1c34462cd46ba338ba319dcaad92ba7e471658097335921728f96b1f06a7b84e8a74cdb635b904dc7a583c4a6208d894caa22265378aa24808ef605193fe186bd0565d2c32ff234b45e2726d0d7c939754592baa93297c28c6462bc0945ec2035e776b2e4526129443c1135cf16620ce8b12825321aefd92010283f6a034fe86474a6e18a62693600d012ec58c26fb9904cb8cfb71c582606493bc4748fd669d65748a85a1f69f7aa39fc98938b5bf0f8768c2020b97b1c06d1c3b8773f8d110280a76834fb9643b42fd3dc002e3602ec84b79cea4d9b9c173c58c5417531547539e1d61e7c6ccb5fe2152eca572c7738e2a872a711225e0922e1b219beac2b2f3ac82d68759d83a2998014142491404a6e51b88dd7a21a664a14d6f3043f67cb0a2a697d537f3357bb19a6865172653f183e396a78b7217dd0f18f1cabb936169f6d75498d9027e1c59c7ff8558ef138ed0236d20a23af399067d4ad57d36927bb88b4a0836ea06cfb941617db0efa049b6de6cce0f5cc122239d85391c56487c48b919764536fc11a6b3b3860d6baea255e48d007272a24cc32637665640ffc8c17e013a3e974d6a5aac78ace4a2c9a173240a9cc1c8e18ccf841b4b77793c6028ec75c5e4697a32b591652367d9a5d375d06ec7863e051cb44929f17a4656a2cb2c58d8d457897a1aa0d -sk = 03433175f23a3116525719b8fb7c7a4cf3c8b360a79bb6c54922bbdc396a7577a7abba86eff8b329075950f42c0c8173eab72f614bc6def934277883b121b0ded70adada3049f5cf30db20dcb313fe3b4c7b60c396b17a80350f0ea38e6f800c7384be35571fb8170aef046cf28c152682cab9ca8fca2117e6baad471a78b24b75518840aedb34ebd3140072abcb9a18427714059b2cb5272baa713ac7a1c98df30042dcb7fd7b2ae996c4cf34168497352d298ffeb5bd64232610c6b7a728b5b383573220053766b1e31720daf91775c608cff42468142a37f3acc06bc113a8cd493abbc10ccc1b660e7f821ba8901ba1374fd51948ad897bdd0b7f4887b41600330a4cc6e77a6910888bb87cbc26bc1ad69450a92bb2c8e0b56f131d0384c90b30312bac22f7b521ec6bbde3112053b246c9880f64c6610bab71d0923190f3ae46a1070658b646351dbc0ca88ca88a987b9e23614ecb72795d2b5cdd31b0b912200a229b657c4bd80c38987332a7296c2c065e1dc42a1aa2525b968e5289bc16ecba39111fa39a4597a1674c1009dc649a6b611a0a513b93e9636eca68c3e461f76840ab73bab8329915020cc9e280c719972afb7d3100224a327fe9e622735097e4e1507e1c0d19a60fc0676bda061bdc06b12b38a0dce0107c39b32847649cd33ece1a65f4199eb348319d0a0a0886ba0db3b7be893ee353b0122a62e95571d3f91316b6ac40270de06a7cbdc76bbaac7896bbaff178a2eaaa1d9adc2102e3b256f43adc249544eb0ead915b9df30fb6ba4c4fdb4cc10a59218446c87512683165ef97735ee11d76a82a8f26c50f45491621a7a3f32df657a900e919204a5df1cc89f0f5b3273632badb3738c501a4a77a76e40bafd478c3f504e54a30884bacbc107f7349ce03930335d171c6c4acdb18951163387b07b233712f3560bbd59182d754148ce13e80142f6f9a02dc2032e8b7516c3749c7fc2891a5c410339cab703feb2b894deb0ca25a785f09a25d1803e50118a1c09eeea85f62c52292e1c560749ae1f3c23b43cd8e430e70931d282927822610bd871f48c337c5da3d501a0171c94c8651b920fcae8eb447d9913047183cdb16374d9b7c6fabc86fdbbe5905805f50bee8c12612115ca16bac13160198873b4f999e4ba1c052767d7d5ccfb364c12a5a6c81232991b5100f21cf47c50c8566c32afc13f7b03fd9a2b09a807b198a4b2ce48d163b0398731c142ca7f13b3f95000fc1345ad1a50952d09c6fa42ba6b5119ca1061a64a5ec4b1323a5be3ecc97bb21383f6c559550ca985c53c4e78d0d660c6baa11527242e61780c52770cc3739edd2ae47c676753bca078266d565377d2aa5cf677945551eac12c61a0a95f6930a95b9a76206733029aecdc6cc17378305b769b9e6b6fc95a80a986a48b016de4c331ea591bdd43a51a2109f02601569764b8999bf4cc987f25b3fca822f5771d941ab90a0083d6676a3d743e458381cc3971bacbe8c3a4871d51baa80a1c34462cd46ba338ba319dcaad92ba7e471658097335921728f96b1f06a7b84e8a74cdb635b904dc7a583c4a6208d894caa22265378aa24808ef605193fe186bd0565d2c32ff234b45e2726d0d7c939754592baa93297c28c6462bc0945ec2035e776b2e4526129443c1135cf16620ce8b12825321aefd92010283f6a034fe86474a6e18a62693600d012ec58c26fb9904cb8cfb71c582606493bc4748fd669d65748a85a1f69f7aa39fc98938b5bf0f8768c2020b97b1c06d1c3b8773f8d110280a76834fb9643b42fd3dc002e3602ec84b79cea4d9b9c173c58c5417531547539e1d61e7c6ccb5fe2152eca572c7738e2a872a711225e0922e1b219beac2b2f3ac82d68759d83a2998014142491404a6e51b88dd7a21a664a14d6f3043f67cb0a2a697d537f3357bb19a6865172653f183e396a78b7217dd0f18f1cabb936169f6d75498d9027e1c59c7ff8558ef138ed0236d20a23af399067d4ad57d36927bb88b4a0836ea06cfb941617db0efa049b6de6cce0f5cc122239d85391c56487c48b919764536fc11a6b3b3860d6baea255e48d007272a24cc32637665640ffc8c17e013a3e974d6a5aac78ace4a2c9a173240a9cc1c8e18ccf841b4b77793c6028ec75c5e4697a32b591652367d9a5d375d06ec7863e051cb44929f17a4656a2cb2c58d8d457897a1aa0d64b9f8198bab9b3b2f2a1704cd4ddf6b3cbc216ddc0f062a72ef40115917fd218f1481d7cab000e33fa07de8dc9627a85e76fabb4428a3376e66300cf12a0787 -m = 2e2b70609f3fe029a14d09d5d659871ac776ce2797a0355f16e2eb68f5613fd1 -ct = 27295a075f4addf96b03601e900c1e187366a745a7bc4c5ebedae9d4112838c3005e5a073f12111cf7df6d39c526602ba74ef8245fc5ab524c85f54282e16ddece3df1cc58d57c322629b9b1c520ed695956c4feccd693a2a8d3233b7974daa9b46d21644e32a49f2405238b6b564018cb54765ee71081f6f11b83712d300896caebcacfa4b9b9116583022924f625f78bcc3feb709b5d4820c2ac4960faef389fc59bf0abe4ea67ac91d7f129748ed4420de9ccc84700fdb49f320e28161f3b2817ff406b8e04c67bb069b98b6d8b648eaecfb13e606d17363385f1a816f980a3cb029597b6e217868d2ff67349f62220c55f66e8e88097729995d916ae6666a29917e52efe16d4a55a8e501bae3c37dda7560ce7f3f1d35de82129182150f26f01f48dbf27bdaf952e9674409efda0f66c9c79a51177aa8ece0bcf1dbdb2cb9818819d6f8dd4d41867bb38b4cc335d66924c92d396872221f72a700fba6b5ea4f8d1964bced28ff911ca64186c66041668f9d92c3ad5e30cc4fd4c4a0e2d0372aee81cc2f1437c25b1dd8f813c43c4cac0188d274946dbf05cd8b0fed35a4d1d2534ef1ffb7eab9c558ea89debcb5652183965dbff71cdcc0e298d029b6ca11218ce72d6d6c738d9647aa6bf3abe5c16c9356466382d7056d9ea2ec296e2ee55e24ad07c52875c5b89da7b4b4999585825ea66c0dfb4aabccd5c57d3c1ed8a79aa222f3c8a9ce054a921c1527f9927addc089d3a0a729eb56b87d76c7e78db4b37863b2ac10e082e84983817bd9749e9346adc06865da4557f1f00990c91451f5e4b503e828c869adb7a71f3015f50be3aeec9e70ec9c77d3e2afda39d848e9e6db7b37eaa475f0b5493db603aa1535fb1c6aba3a6fd23fb397a6816ca5eaca8b26802e232db1193762c48d7ed80e32b8663e7719710ff6d2fb124d51ed2f116520a633ca9338d7cef932e685aaf4e6d693e3bd2ca9315d9be827fe233cc5d7b7e495ce18af21a466c5bb2efc826ef83be6c99c22bc885b1440330a7fec4d4b589f5b43d6d24a1b6b35042108a4f0dbbe2f84f329588873a31bbd7e9a7bd4e -ss = ed4dbb163e97ef686ba77b2bd2c0a872405dbaaadf0d33d0f125d9e35fb0fc59 +sk = 03433175f23a3116525719b8fb7c7a4cf3c8b360a79bb6c54922bbdc396a7577a7abba86eff8b329075950f42c0c8173eab72f614bc6def934277883b121b0ded70adada3049f5cf30db20dcb313fe3b4c7b60c396b17a80350f0ea38e6f800c7384be35571fb8170aef046cf28c152682cab9ca8fca2117e6baad471a78b24b75518840aedb34ebd3140072abcb9a18427714059b2cb5272baa713ac7a1c98df30042dcb7fd7b2ae996c4cf34168497352d298ffeb5bd64232610c6b7a728b5b383573220053766b1e31720daf91775c608cff42468142a37f3acc06bc113a8cd493abbc10ccc1b660e7f821ba8901ba1374fd51948ad897bdd0b7f4887b41600330a4cc6e77a6910888bb87cbc26bc1ad69450a92bb2c8e0b56f131d0384c90b30312bac22f7b521ec6bbde3112053b246c9880f64c6610bab71d0923190f3ae46a1070658b646351dbc0ca88ca88a987b9e23614ecb72795d2b5cdd31b0b912200a229b657c4bd80c38987332a7296c2c065e1dc42a1aa2525b968e5289bc16ecba39111fa39a4597a1674c1009dc649a6b611a0a513b93e9636eca68c3e461f76840ab73bab8329915020cc9e280c719972afb7d3100224a327fe9e622735097e4e1507e1c0d19a60fc0676bda061bdc06b12b38a0dce0107c39b32847649cd33ece1a65f4199eb348319d0a0a0886ba0db3b7be893ee353b0122a62e95571d3f91316b6ac40270de06a7cbdc76bbaac7896bbaff178a2eaaa1d9adc2102e3b256f43adc249544eb0ead915b9df30fb6ba4c4fdb4cc10a59218446c87512683165ef97735ee11d76a82a8f26c50f45491621a7a3f32df657a900e919204a5df1cc89f0f5b3273632badb3738c501a4a77a76e40bafd478c3f504e54a30884bacbc107f7349ce03930335d171c6c4acdb18951163387b07b233712f3560bbd59182d754148ce13e80142f6f9a02dc2032e8b7516c3749c7fc2891a5c410339cab703feb2b894deb0ca25a785f09a25d1803e50118a1c09eeea85f62c52292e1c560749ae1f3c23b43cd8e430e70931d282927822610bd871f48c337c5da3d501a0171c94c8651b920fcae8eb447d9913047183cdb16374d9b7c6fabc86fdbbe5905805f50bee8c12612115ca16bac13160198873b4f999e4ba1c052767d7d5ccfb364c12a5a6c81232991b5100f21cf47c50c8566c32afc13f7b03fd9a2b09a807b198a4b2ce48d163b0398731c142ca7f13b3f95000fc1345ad1a50952d09c6fa42ba6b5119ca1061a64a5ec4b1323a5be3ecc97bb21383f6c559550ca985c53c4e78d0d660c6baa11527242e61780c52770cc3739edd2ae47c676753bca078266d565377d2aa5cf677945551eac12c61a0a95f6930a95b9a76206733029aecdc6cc17378305b769b9e6b6fc95a80a986a48b016de4c331ea591bdd43a51a2109f02601569764b8999bf4cc987f25b3fca822f5771d941ab90a0083d6676a3d743e458381cc3971bacbe8c3a4871d51baa80a1c34462cd46ba338ba319dcaad92ba7e471658097335921728f96b1f06a7b84e8a74cdb635b904dc7a583c4a6208d894caa22265378aa24808ef605193fe186bd0565d2c32ff234b45e2726d0d7c939754592baa93297c28c6462bc0945ec2035e776b2e4526129443c1135cf16620ce8b12825321aefd92010283f6a034fe86474a6e18a62693600d012ec58c26fb9904cb8cfb71c582606493bc4748fd669d65748a85a1f69f7aa39fc98938b5bf0f8768c2020b97b1c06d1c3b8773f8d110280a76834fb9643b42fd3dc002e3602ec84b79cea4d9b9c173c58c5417531547539e1d61e7c6ccb5fe2152eca572c7738e2a872a711225e0922e1b219beac2b2f3ac82d68759d83a2998014142491404a6e51b88dd7a21a664a14d6f3043f67cb0a2a697d537f3357bb19a6865172653f183e396a78b7217dd0f18f1cabb936169f6d75498d9027e1c59c7ff8558ef138ed0236d20a23af399067d4ad57d36927bb88b4a0836ea06cfb941617db0efa049b6de6cce0f5cc122239d85391c56487c48b919764536fc11a6b3b3860d6baea255e48d007272a24cc32637665640ffc8c17e013a3e974d6a5aac78ace4a2c9a173240a9cc1c8e18ccf841b4b77793c6028ec75c5e4697a32b591652367d9a5d375d06ec7863e051cb44929f17a4656a2cb2c58d8d457897a1aa0d64b9f8198bab9b3b2f2a1704cd4ddf6b3cbc216ddc0f062a72ef40115917fd21d55eeb68870b6df148654f14eb4b3ae9084b40f8b5cbc83ff4c419dbbacbd190 +m = 7343358fd131bc289baec8ebfcac5c52c29a86c89f8a2b89c695d8a9a7afd491 +ct = f6100a2d1fb0724cbcb2eec8dee790a538e9b235d24952059527ca0481d3241d8820aa7c68f036f72d0a7cad9c0e202975a856ac5e5a7dc18a1d7a4d572e63e81d23ab76f0ef6d383dec155b3f94d74525c1b72668600a0598104079a7792397c08804f76b7350ace40a3e3eaf5925387ef94e1b7e45aca51a72e97981d9192802436111231d421136e435db8dc196b82e7f67eeedbd28da27b8e2e44107b5b3f87aaea4b41499794c6e4b29d8b09bfdbbb2a9ca582a682e6a2abc14fba20bb8a440b4bbdc7031ff7982d64424ac487dc06aef8637bd82e76d2efbb4db9cc1801d09ed554030f0f1790aea70eaf3f3bcc02ce52a81fac7f106f0174c2c1b2c02cf1db7fd8e2c89f53d5edb738dc7c749d9de24ad3776c7d418dcc39230bdbdc0d80759c167c0931f9484865a1953bc5a21f21ea50259926fab15975d8c37c737acbfbb9362e274984e5db5df9cbd337efc79cdd19a7e1da62197a665c7cdd35006c9b6da39ca663daaff4700be1f1fdf60d491a8c31234971c29343240e504db16c1cc8185ee106d662e6f9a6f0c522d8e06332884d310a89df6afc16b24fca8e1bcc2dc274febfc18333b753b682ad58a35f3a6908cc9571b576615b05558a044df83c9cd7fb795f640be41a43c6b00291da46a57a8cf3a1353ffff399a40281e4c8f2183cee377cd9896601fab41f56dda09f211ff5025c5108cf3e08c63fe84f9c3eff82f5fa2e57e357a3d38cbaf818cf56e99f3e894e333c4a7dace5cf637c6e68bd041ea14bdfc40739f21dd72c9f88da304a0c2294a36a01f4e387b14fa3049e30e3fbd3577fbe1f65dec891fd89575f1c4c77c9a37bf3429da6d3138f4df5a5142385d2d2169065258b669c88650a1d49d43cb85c427b01268b556c40892f387d5bf1795c2789716469bd998c882abebe6f433368a2834ee1547cbd9d5f4547f70b0b68df97d1ba43e70d81a3eb211487e3caa55415feebac8621d38e49c8f9dc16fb778747dfccb6ad797841c2e759a77fb2cfb42babd8b7d3f2e6133a11aec3fb8f5952cb669f06f5fa7629aff85a2d1493f6faf13f794a81b3a40 +ss = 0520d666cb21f773a4933c2d127005536fc7d1bf1ac1d4cfbb1705bc2f79ce01 d = aaf6eb40e596a5e3e8218871e708b089240dcbe7fd3641f0e5e41e071ce49107 -z = e2f8d320ac3cb0c52efdc753282f092bc39baf4a18783a48ea031a191865eb78 +z = aacc8be341a319f425312eff5dacb31e6e772efadde7250db9f613c13b454565 pk = f17c93d23556b9361ab12a87de122ba9264dd889232ca7c301859aeb32611dcb01faaba8f794aa3c0b858ad75e82b51ef707b4266320a6a9ba4b3616896c14db18bcae601828fcaf9e895c571205070562208c45877780fd2a02b3c697634116efd504104709f75426476bac050ababd708f38fa075dd2661d9241f0c31d7b674285ba03cc34c05fb378ef68a3e6a03a1366b8b432186001c56b01169227ad4bb614dbc290e5a085b7b90478b5702edabc9c12544f9a2102501836ecba58763b10751e9db7a29590711ffb3ffc240500995e30318fdd141f6177c2673330fc558c1cab769f202b5aecae19d1479ad32b4e2c59834ab79464770ca619e88535f84c26e219790f24b1bbb17c2b1017464c1f1d102720f111bd2b95d9ab79f866c26c730103aa602fe5ae1710c4a1782caad0674129cdf8791d780095e5d8a659333149b0797472ac623a1a2ff2beec7306a88a6f8a6448f85a62de253e1af77717cc86604c386dbabcb3a9578e801c35a429e341af97b505df8a46a7055633718d57814bb6e2abb272c9efe0192c2b55ecc5cb8e389b8bc5992b037d1e72074bd361740aa8a86c63004c99ffe50224378d1c28431f599f4a701f3165c8f6030a1ba7590ed49d4300578985add03887d867a3e82b577574c398c56f21c34f6349b6bd072bcf8318e4a8244bec6f93fb84b6716846670945a33ffe53bcf4c82f8c52ae84faafb4b46bed2a9807d2569c90791c087f3af05b88b45345bc099e9ba4f3028c469a3b4f2a1ead50147b208f24b21c9c4582cdb8633a9a58d7820fdd0c761e70855259216e2a3eae25129b2b6808ec1611800d0fbb3ad6179480bc4391860547199ba04b3a97f72c8c4caa93379f559626f6a4a8da750e6ce0651794138c6b68d474bb70f41975b246de5953c5226606102f98a36b66994e2ec785fdc2377ed9c664a05edbfb694a2c5f87dac238841245733852da5427a0b105ea2612a06ee9019b6dd0c3fa034f61da229b5608751bc29bb13ccaba83832c8d37108be5943cfd2173eb8512d16aa1c7b3b7d5ea6491c379c1c66853732d7a15551cc360ec3e89c8d796e77fa9a772499aec973b63e864ce36a29de99ecec9695d12112c -sk = 6ae07bc60180e5b519e45acd6a33b1e15b0fa2353bff580e32abac68f48610bc9419c0382cf4b4e9cb730a1c44e9281a8d1cbbca26ce94d51aa2871d4065a706505061a991da7960911b76694a94144c24904c82b1266278546a636b6554f12572a9cef82593b35ccf00995553a6cdd0a4357aa7913bc7627d40594530cff8e68c345ac211d3619c2a9c033293b2e41d28db2e6f17136f73952e4a6f2d9364996394cd461894b8b38e85af3e4b1df33b0e44c867210c4680a76a56c16f6f396274362684466a0ef73a3beaaf0c09221e577ef3b96fdf3a196d58415995ab5844b65e8a841202ca7bb24993c53d4658a541a4895659cdb0a342a7808aad10a6bf8253655a58df23af6e40adff94b4f9c3606cdbaba00a8a04b99b275ca465f59e7247308741c738ec40772a12554b62d5030da743439c59a560b31a8f72370fc12238f95aaf8737bfb7015a4a3b3b8a772b225f83fab6ceb0c9629a1de010b2db5b90b427030a186ba159c3a853c5de732fbde798e0643dedf63d8d549bdd746bd8f81cd331476581408b7b8f29334f224239f7d4bae95831d260a46f4c79f7d9b9d0208dfb238ea918222177291087ab7dba59e3720b6bf14ba0c93c7cbb5d79860f1087917db391abf882be366036f1aaf436580a01ab775205810a5049432ef5fb383566c904693d3d645536408875390a9c8319d0a7573c84a9aec892f862a4da685d7b14742d63044012ab74a10b88c60a44319f8b97b404d0784de33153927f19c7aec9f069bd8c88b5f59ff5aa2be104c658e2211448ad236a3520e54251494f64c84355039e60aca4c696b440b8707f3b0ed0196a1d3881d4cb6520c237224a5dd733a67efb33029c67f5da6a2c42ac9a902ed8ca1ec59b1190e0c29245a5a57210ff8526a4163ada06588e73688d410d44fa92c7a7af49f2a0b6a42ac2660ac76594f472648f762924267a90657aa3595c4d672b7301acdc750a53963a49704fb65a7f5877214d7bc233cc4f0495c5944a43e39a6724509e24f56e6fe4b44e453b6b151931a04e6d1b31c049c5ca009554c89cc0d4803b21a14bb316f17c93d23556b9361ab12a87de122ba9264dd889232ca7c301859aeb32611dcb01faaba8f794aa3c0b858ad75e82b51ef707b4266320a6a9ba4b3616896c14db18bcae601828fcaf9e895c571205070562208c45877780fd2a02b3c697634116efd504104709f75426476bac050ababd708f38fa075dd2661d9241f0c31d7b674285ba03cc34c05fb378ef68a3e6a03a1366b8b432186001c56b01169227ad4bb614dbc290e5a085b7b90478b5702edabc9c12544f9a2102501836ecba58763b10751e9db7a29590711ffb3ffc240500995e30318fdd141f6177c2673330fc558c1cab769f202b5aecae19d1479ad32b4e2c59834ab79464770ca619e88535f84c26e219790f24b1bbb17c2b1017464c1f1d102720f111bd2b95d9ab79f866c26c730103aa602fe5ae1710c4a1782caad0674129cdf8791d780095e5d8a659333149b0797472ac623a1a2ff2beec7306a88a6f8a6448f85a62de253e1af77717cc86604c386dbabcb3a9578e801c35a429e341af97b505df8a46a7055633718d57814bb6e2abb272c9efe0192c2b55ecc5cb8e389b8bc5992b037d1e72074bd361740aa8a86c63004c99ffe50224378d1c28431f599f4a701f3165c8f6030a1ba7590ed49d4300578985add03887d867a3e82b577574c398c56f21c34f6349b6bd072bcf8318e4a8244bec6f93fb84b6716846670945a33ffe53bcf4c82f8c52ae84faafb4b46bed2a9807d2569c90791c087f3af05b88b45345bc099e9ba4f3028c469a3b4f2a1ead50147b208f24b21c9c4582cdb8633a9a58d7820fdd0c761e70855259216e2a3eae25129b2b6808ec1611800d0fbb3ad6179480bc4391860547199ba04b3a97f72c8c4caa93379f559626f6a4a8da750e6ce0651794138c6b68d474bb70f41975b246de5953c5226606102f98a36b66994e2ec785fdc2377ed9c664a05edbfb694a2c5f87dac238841245733852da5427a0b105ea2612a06ee9019b6dd0c3fa034f61da229b5608751bc29bb13ccaba83832c8d37108be5943cfd2173eb8512d16aa1c7b3b7d5ea6491c379c1c66853732d7a15551cc360ec3e89c8d796e77fa9a772499aec973b63e864ce36a29de99ecec9695d12112cde4ce515b882c849717a1ab34f2ac0238c868f415630c1155bcfb302d346dc91e2f8d320ac3cb0c52efdc753282f092bc39baf4a18783a48ea031a191865eb78 -m = 4725dd8fb314bfd8ee23731c2341dbe114606d9abe6434c471b5573e7df193bb -ct = f4616199d26bfdcbe17dd9b281a4eb28e69422050ed02078caed0771c31c82a80e174a0ec1f7e2c5d71edbcc2a7ffb51515e75b419861f595b048038531618d5b022ad197c727884dea3d5cef1483f862664592ba0364ca731cad615c676a05c0675aca473ea268c142e104a62947bbd4664b11ad5d5612199e2187c57b10969d444e80fd2347617aa74b20207d4c4133202ea770e09ca9fbf2623cdbbfb63bd0fd995d40a7db9491820ea549c567562b826d2d250be57de81ce8c7f0f416cc8b99a6e3bfcb37b0b1169708198dac20946181cd25e039fe95a02bc192bfc5efdc5780378e2b58b7a9a8bc2c9949a56df622cfa31add9149b1273700e01fdc4ffd22e3d430b288dd4870ac535ce74bd5a3af698a64ab3ac391da0eab542e390c5dbf68e3e303dbd7f0a9bcddb082b613b37e17bff955c7d2397d65ea414bfdc108df0b6a1dd9598fefba5c881c07496c489d23d7e8fa1383275582f6c0fd89d21070b162b02680bb0b5f514f6ca10be713c7916701ea5fb95e63cfa9f340d6b3e4bef372ae52fb3170913b350a463663b5462b87d444ad514b2c4cefb40f890cb9869e63c4e04e5fea6df48d6dd32e9a715d755e6393ed4d19309d22e6766cbbf823aef47f8883adc3bd05e07b93e1ce398b6b7174d4730eca34b5dc25d1716a377d9d00ac830239bad118cbb86880dfbae91797e792331f56fe5d4da3bb0740cbd90bdde4495ffb5ef724d4ed0afb01cf7467146b2025bbc3d2530d0d7a444e4ccde43be90ea62663728130c742a915aefc061ac8406b9eaf15df7ef0f77fab2bd3b3f92948db88f9eb09947e196919ead00d49bbfd6811e7830b6eabd500d85136e95c17f2322a9f95e7bd8340d55f5288a617f1e4ae090f26224fa33a1d6e04e55a421dd7993e80108c7c308926e18d7fc0096b76f14f2d16181da8b8b0be8f7602e93db2852b6dcbf45abab43b3bdc13f0276c23ae6ff12fb82270f499f136428bc5b8870f71e527d2a48c3ff7fd2230e739c0488b578d027fbd347f129896066bd437de5d5911da01dea08dde7c4481c14ede96d4c188ba0138b5af70f19 -ss = 68577551f44198a0290f814efb2313fb1158173b5eb1ea75ea907944abe4e25a +sk = 6ae07bc60180e5b519e45acd6a33b1e15b0fa2353bff580e32abac68f48610bc9419c0382cf4b4e9cb730a1c44e9281a8d1cbbca26ce94d51aa2871d4065a706505061a991da7960911b76694a94144c24904c82b1266278546a636b6554f12572a9cef82593b35ccf00995553a6cdd0a4357aa7913bc7627d40594530cff8e68c345ac211d3619c2a9c033293b2e41d28db2e6f17136f73952e4a6f2d9364996394cd461894b8b38e85af3e4b1df33b0e44c867210c4680a76a56c16f6f396274362684466a0ef73a3beaaf0c09221e577ef3b96fdf3a196d58415995ab5844b65e8a841202ca7bb24993c53d4658a541a4895659cdb0a342a7808aad10a6bf8253655a58df23af6e40adff94b4f9c3606cdbaba00a8a04b99b275ca465f59e7247308741c738ec40772a12554b62d5030da743439c59a560b31a8f72370fc12238f95aaf8737bfb7015a4a3b3b8a772b225f83fab6ceb0c9629a1de010b2db5b90b427030a186ba159c3a853c5de732fbde798e0643dedf63d8d549bdd746bd8f81cd331476581408b7b8f29334f224239f7d4bae95831d260a46f4c79f7d9b9d0208dfb238ea918222177291087ab7dba59e3720b6bf14ba0c93c7cbb5d79860f1087917db391abf882be366036f1aaf436580a01ab775205810a5049432ef5fb383566c904693d3d645536408875390a9c8319d0a7573c84a9aec892f862a4da685d7b14742d63044012ab74a10b88c60a44319f8b97b404d0784de33153927f19c7aec9f069bd8c88b5f59ff5aa2be104c658e2211448ad236a3520e54251494f64c84355039e60aca4c696b440b8707f3b0ed0196a1d3881d4cb6520c237224a5dd733a67efb33029c67f5da6a2c42ac9a902ed8ca1ec59b1190e0c29245a5a57210ff8526a4163ada06588e73688d410d44fa92c7a7af49f2a0b6a42ac2660ac76594f472648f762924267a90657aa3595c4d672b7301acdc750a53963a49704fb65a7f5877214d7bc233cc4f0495c5944a43e39a6724509e24f56e6fe4b44e453b6b151931a04e6d1b31c049c5ca009554c89cc0d4803b21a14bb316f17c93d23556b9361ab12a87de122ba9264dd889232ca7c301859aeb32611dcb01faaba8f794aa3c0b858ad75e82b51ef707b4266320a6a9ba4b3616896c14db18bcae601828fcaf9e895c571205070562208c45877780fd2a02b3c697634116efd504104709f75426476bac050ababd708f38fa075dd2661d9241f0c31d7b674285ba03cc34c05fb378ef68a3e6a03a1366b8b432186001c56b01169227ad4bb614dbc290e5a085b7b90478b5702edabc9c12544f9a2102501836ecba58763b10751e9db7a29590711ffb3ffc240500995e30318fdd141f6177c2673330fc558c1cab769f202b5aecae19d1479ad32b4e2c59834ab79464770ca619e88535f84c26e219790f24b1bbb17c2b1017464c1f1d102720f111bd2b95d9ab79f866c26c730103aa602fe5ae1710c4a1782caad0674129cdf8791d780095e5d8a659333149b0797472ac623a1a2ff2beec7306a88a6f8a6448f85a62de253e1af77717cc86604c386dbabcb3a9578e801c35a429e341af97b505df8a46a7055633718d57814bb6e2abb272c9efe0192c2b55ecc5cb8e389b8bc5992b037d1e72074bd361740aa8a86c63004c99ffe50224378d1c28431f599f4a701f3165c8f6030a1ba7590ed49d4300578985add03887d867a3e82b577574c398c56f21c34f6349b6bd072bcf8318e4a8244bec6f93fb84b6716846670945a33ffe53bcf4c82f8c52ae84faafb4b46bed2a9807d2569c90791c087f3af05b88b45345bc099e9ba4f3028c469a3b4f2a1ead50147b208f24b21c9c4582cdb8633a9a58d7820fdd0c761e70855259216e2a3eae25129b2b6808ec1611800d0fbb3ad6179480bc4391860547199ba04b3a97f72c8c4caa93379f559626f6a4a8da750e6ce0651794138c6b68d474bb70f41975b246de5953c5226606102f98a36b66994e2ec785fdc2377ed9c664a05edbfb694a2c5f87dac238841245733852da5427a0b105ea2612a06ee9019b6dd0c3fa034f61da229b5608751bc29bb13ccaba83832c8d37108be5943cfd2173eb8512d16aa1c7b3b7d5ea6491c379c1c66853732d7a15551cc360ec3e89c8d796e77fa9a772499aec973b63e864ce36a29de99ecec9695d12112cde4ce515b882c849717a1ab34f2ac0238c868f415630c1155bcfb302d346dc91aacc8be341a319f425312eff5dacb31e6e772efadde7250db9f613c13b454565 +m = 1beaad495ce5da859511454a6e6d84c3a3e0d73bae4cb1cf8ee16aa1539d37d6 +ct = 6ef011d2b856aa79ed255cff0b817e270486012e849d3286ad8e5d4deeca37894a949a99f5fe2cdcc44a9b92aa133f5cf9acd0053854ed934a8716d6a639e05a6a334b291bfb13d5e818c30966a954d99e5e8a71f49248868fe79428ddef47935708d97a2ec7ae97a72f0bae9268b40d7a93b640426d4d969ff66c3611dccd7d4a1f540e14696b57c439d6096a394f5c84f4924fc8ded91634f340d31688328315ab40d92c9267a048336561b09989b68c4e86122f37015cbf563065ddf5c9bccdfa42976ccd3699dae23a2f2322ee1dc949c847aa48f0989adfdebca7f9707d234cb8ff8a42bd3415237377449b798eaad9fba6e1dd6942ad523ee8c0176c22ce055d2435f8787994e35224a25bcb6de82ccb3fde82589429c2401c1994b96ec311bbd1d4cc7dd984df591f311c734430d9ff5749fe2e5e2643b7d9a05500bb0a5cc05ae994a46e1f2c586d207eb7373b9c382574431171e5b4cdfa67e80ce4d8452001241d0f5c52997102d91e983f1edd41576537c21682acb06ee488944a48c6e7733af729fc7aeddd066c2ff3d9ad9681ce78666ff760351b223d41fdae33f64fc31dadfb68abff48eb56bfaf2b1bbd5ae1dca4e05eba0cf6ef5c7e6b0f8faaa190faae57039bd05d208d836f94e59d69c6985a774718967b23b5c93a03b05ef24060212967f3edcfaa8bc3c51085a6fda9b9fb36319b8c046bc6ccb7400717c882bf6e3868bed19ab3fe2471dffbf62579ee370fb6fdb9a04640d0dca26ba21cebd7d0d9a30204633f1106dfa8fc7572c3d357da50130d94ecb02485e4089032796e000d94ce83630a3a3f563b6398e09c25b1ab1632e09e94e7671f202e99c2a58eb3e268ec2207b72ba1d048f8651f0f4e28ee27893b9410acf3af5b2655bb8f641d81224d1091c2c0f6cbb677017441a739ae62c8d956ab7c1ea2ca0ed5944e593ee08d8da2cf43b2c4c0194b9a99cd0b44dbc7eb55fb3da3263883b9a88f370a7b2fe7bfc95aa681dd7af34a78bb6f2b91e9d88ce4e82a229ef2d65d2e8a2e8b1ec50b8736f9fb43d348fb81fb44038825acbd7064ba63820abc28 +ss = 2a194a0213f5c897070d36a1e7d87567ffe8b381fec16bfd14743a4482b074cf d = 6500f32c93415cfdbc0bd31d78d5be95cb9060c8cfa2013955b56f8b6868b322 -z = 393308641a9a4647f230201e1389624a296b55192a9819fcb19ab77c25f95445 +z = 2779aba933159a5aa043e2fbe31b14d2e56f93e83763e19787607196101d3f26 pk = 623668ba98183ca92c9075804d082ad2d17769032e77c50484281428c00320848073a17bacd2c47ab391fb9472d395a6376b3f44aa625c36c95457cbec00641a1cc4e248ba7a7012904a73179a61c1524578f739f7a5998355276eacbcfe462f2a82776ccc04ddc089cd2407f4b757748089d10baad85a3819d52a6560970353abdaf08dde151555f92b6953c0b6c51a7cb882ec5c574c31619d8c824c605102bb8d836c68f29578432c8515c913189b650ada84a2b5795093b5edb2a6e0b13b38fa3db500c7bdfc8dc796c7f57a9b95cbafb8610780eb6787d36067f89831d98590b91d96144d7a4c0fb1c34455902d49e39fceac427d723b027709338628defc8a771a055cd8bb143108c9724cbad1729b99c8fc675d007b7c38ca20b14c04549c3dea4b5fa3a94933bb72d2e433ea638c1b157b0eeb3e84d499170a109ae98e53b807ad277dadda57a4d13f2397c167ca0955e3148dfa1b502726c908bb283bb1b41b89e15780dcba45485ab771f19f1f0350b64a4ff983a5e68982523c1e936b9be3c38ad892b0a20b4d4ea2918498065d2431e7f950bb33c68b23167bb4693bb258610404788a37009a24823b81b95753bf09aea4a7b219cc8a9af4632d9c5e4790158071318e9119def243a30a7925f17233098d3c594f1571abaa0744f0e44714d0c8765559cc327e35fabe67066af141127ee7145546c89fd55a852712eb8c9c77bc649e847d229958e0d7a3947cc4284729209a704aa4640f0c73dd63c6e48651f62c33f2351f5d90bde888c3dc116827b16d8071a01fe02d1b4b485e9779217641f0a0af2434574ef92e180c116f44899afa647cea8403a831ecdcc04faab8faf3215d622dca40a95decb5a833206866068a6b49ee588151454eda821a35a5937a63c23ba0a0d8c5657d18777aa10492b1652ec2cdd22a7f800708beb1943ec347fab41219171fa46b7b58006f91ccba3b69cd7603645c9bb584282dbfb9ad584c4ec0c692a25795111a18709072be46981cc6c5d495652bc697caa6c5f13a30f3756d42d93b2d0471c0fcc59ca540376abca241ca7e50ad46000ad9417ddacfdcb371aaef7abb3c2cfdca88891dbf808a90028d4f12c57e4985f7 -sk = 58e44706119642d7c64c6293dc8a78da6809cbf38b043c74614caf23eb8f63db45721457c5e22fec94bfd12cb2ba10587e16c31deb45cb66948677c889b4b638286da6d08b062aa5fb825476fa76a5f0b4d7a5301b4b90ba66292f139891a8aa523609e4f975b67830c2a058bb2bca48796f5fba0e111ac682e10e5368cf8f94095f5701384147abcc2f24f6bac2a57e1ed2bbee684bb3321117323d943a4d890340b28035770c8c5bbb39a5b9794432b021d1b7373870e15a60fd8c4f00b650c529095d8a310868c78bc427a583b00f897d0ac81b6afa2dca4bbe4b665efb79661668bdace01f9a30820c91095d586a9b232a1037bedab70c9dd87377447b4a0043546334d3c2c38feb870b1644eca7b957cc097961bdc3e6165c0907edf4b6328894f7a4413b583bc937109777bd84065aee8352471082f162bba087b025ab16c2a04fbf3c494f43471b012060b499eed776ab383c7ae0200b1aa9aff0090f4741c2a1a444187b702172df84600487820c5374986623c1652b9a966bcb02662e5409bfa5bbf166c9f894548221451216adf6e3bd861a268d25a032c838259825b8b4be0d3622aabc24b5e997756b758953c0a2b38a4336b6dbab69a9e89620a1ac44a748171106efd125f953878815486ae621ac10237c60ac3a56b57c92331cba08f2367e80750a872c1ddbe9a24f5b3cf59c8476d4284a094f1b0095784ab3ab0635a24c96bd1b48dfc1817d27300f2654d4063d0d379c7294607a432187451061e50ef5096ca3e01f020610fea83494b197ddaa8e8e15b054f770bef4b564a539c6b786358892b62439fef59cade7843cda8c6bf48a459bcade476e89a73edc002d06f794ce60043ee660e50c71c515148bfaa2beb876512c6af4e48416d086e8ab844d0cb8e3e15063c26373816bcba06124a1a0ca5102bbaa487d87b16d39b181d34f17474849fba7fe12047883bdb6b816c8767808418f948764b7b1beae0bc09e937e0edc9db69a0c2a265275b77ee4071990aa91f5f62b01f5c76a7556cb1662bcb0aa9d2b560a8b813ca04f28021753c446f5a46665f87ad89447623668ba98183ca92c9075804d082ad2d17769032e77c50484281428c00320848073a17bacd2c47ab391fb9472d395a6376b3f44aa625c36c95457cbec00641a1cc4e248ba7a7012904a73179a61c1524578f739f7a5998355276eacbcfe462f2a82776ccc04ddc089cd2407f4b757748089d10baad85a3819d52a6560970353abdaf08dde151555f92b6953c0b6c51a7cb882ec5c574c31619d8c824c605102bb8d836c68f29578432c8515c913189b650ada84a2b5795093b5edb2a6e0b13b38fa3db500c7bdfc8dc796c7f57a9b95cbafb8610780eb6787d36067f89831d98590b91d96144d7a4c0fb1c34455902d49e39fceac427d723b027709338628defc8a771a055cd8bb143108c9724cbad1729b99c8fc675d007b7c38ca20b14c04549c3dea4b5fa3a94933bb72d2e433ea638c1b157b0eeb3e84d499170a109ae98e53b807ad277dadda57a4d13f2397c167ca0955e3148dfa1b502726c908bb283bb1b41b89e15780dcba45485ab771f19f1f0350b64a4ff983a5e68982523c1e936b9be3c38ad892b0a20b4d4ea2918498065d2431e7f950bb33c68b23167bb4693bb258610404788a37009a24823b81b95753bf09aea4a7b219cc8a9af4632d9c5e4790158071318e9119def243a30a7925f17233098d3c594f1571abaa0744f0e44714d0c8765559cc327e35fabe67066af141127ee7145546c89fd55a852712eb8c9c77bc649e847d229958e0d7a3947cc4284729209a704aa4640f0c73dd63c6e48651f62c33f2351f5d90bde888c3dc116827b16d8071a01fe02d1b4b485e9779217641f0a0af2434574ef92e180c116f44899afa647cea8403a831ecdcc04faab8faf3215d622dca40a95decb5a833206866068a6b49ee588151454eda821a35a5937a63c23ba0a0d8c5657d18777aa10492b1652ec2cdd22a7f800708beb1943ec347fab41219171fa46b7b58006f91ccba3b69cd7603645c9bb584282dbfb9ad584c4ec0c692a25795111a18709072be46981cc6c5d495652bc697caa6c5f13a30f3756d42d93b2d0471c0fcc59ca540376abca241ca7e50ad46000ad9417ddacfdcb371aaef7abb3c2cfdca88891dbf808a90028d4f12c57e4985f793b60f0d00c09af885b5a0cbe942fde6afc4841428104710823bdcc12319eb35393308641a9a4647f230201e1389624a296b55192a9819fcb19ab77c25f95445 -m = 818d3bb8ebfb32bf464775f7139bac0a5bddce80ec5798595992f9403002cd5d -ct = b1832c577c7a368f68cc1ea62a6b3471cf954830930b3322ba65f6d3dc90cc170a217dee317eac6b245bacf54a319fc3b93e365f7c6c2c6dd5f2f0671dfcfcf58614e414b6a3c30d6b905762ceb3a8859295c8607aec53026ed182fd6f8b1af02eb6d9bc31a2fd15f073a5d37c0612459c546fcfa636ab15bf96d6f7813a45d07034a500b09e656abdc9fcae000260b833ea45581ca68cac4efe1e50e3110b4f4dae7cc44951b64b580525889cd41a6144655870cac4d1088b48c65ec38705ed904724461d5b4d1c0d13e9afe2719d029e084b0f63eca17ec5b890debf7b8aaf72dce43ad1bec086e89de52fb7918a426a1bb2e3d1cb50c2567b6c5db6878dce99eb3c8fb10c6247846dc5c79d7e4768e256272883f10d2101ca9e4321d986256d7e8db4cdaa279470a745cca11fead97b07c645b5e4e752fd6056b28ea6a1808899697c4de03dde6c21b1d64af87363e320d69671a33f930efb96a97d20cc7930a28ac4159d0e569b926b3170c55dfacaa7b2a7c95e7e06a6975d83d514d42678ff7f889325b83a61dc297d04b9a9b5e9389d59de2178f1f22b747def7b88dfec443d4199e11536a6f3e07ac847cea1db1839f5ee5439065a641f9b05ba00585b397d958cd8bb9fb11952ef314f40affc1f2183156f756669bcc6a4e157533d8202f5451a90b3184b160874240499f90f085b30014c128319ea1ebb0903be375e2087fef0be334bbdde56894dcf24bae2bbfec62879d43342230261ed446a3b7e761153bd7a7801473a210231d3283fe2fc60118c1dd32c2afd71cf9d56c9f3ca88390da11f16d8a651cd73693acde2451ec191dbafdd326978df14e6f5d6743cb557fe5a2aae7a8f6b01458823a796964dbf8ff3c4158d2dea750003ce99c6ce7e794e1582dcafb06b5baa9b573efeee872d152781637c24eb6d95f2b9d819dc441c2aee43569f132563a35583c1e101b22235ce0d064b0bd3d71e231d3402eceace5d84c68dd6d01454fbcce9ffe66f34f16b53033e2509b15612019e5c8af44f6903e43c509fcf57d9dce2ce3c6f4a3d3f534c4315fc116bd8a2d34bc817 -ss = 963f6853aa0ac3a40c397395fb0b4427b9e7ac48dada3b758b11d6a9556eb14d +sk = 58e44706119642d7c64c6293dc8a78da6809cbf38b043c74614caf23eb8f63db45721457c5e22fec94bfd12cb2ba10587e16c31deb45cb66948677c889b4b638286da6d08b062aa5fb825476fa76a5f0b4d7a5301b4b90ba66292f139891a8aa523609e4f975b67830c2a058bb2bca48796f5fba0e111ac682e10e5368cf8f94095f5701384147abcc2f24f6bac2a57e1ed2bbee684bb3321117323d943a4d890340b28035770c8c5bbb39a5b9794432b021d1b7373870e15a60fd8c4f00b650c529095d8a310868c78bc427a583b00f897d0ac81b6afa2dca4bbe4b665efb79661668bdace01f9a30820c91095d586a9b232a1037bedab70c9dd87377447b4a0043546334d3c2c38feb870b1644eca7b957cc097961bdc3e6165c0907edf4b6328894f7a4413b583bc937109777bd84065aee8352471082f162bba087b025ab16c2a04fbf3c494f43471b012060b499eed776ab383c7ae0200b1aa9aff0090f4741c2a1a444187b702172df84600487820c5374986623c1652b9a966bcb02662e5409bfa5bbf166c9f894548221451216adf6e3bd861a268d25a032c838259825b8b4be0d3622aabc24b5e997756b758953c0a2b38a4336b6dbab69a9e89620a1ac44a748171106efd125f953878815486ae621ac10237c60ac3a56b57c92331cba08f2367e80750a872c1ddbe9a24f5b3cf59c8476d4284a094f1b0095784ab3ab0635a24c96bd1b48dfc1817d27300f2654d4063d0d379c7294607a432187451061e50ef5096ca3e01f020610fea83494b197ddaa8e8e15b054f770bef4b564a539c6b786358892b62439fef59cade7843cda8c6bf48a459bcade476e89a73edc002d06f794ce60043ee660e50c71c515148bfaa2beb876512c6af4e48416d086e8ab844d0cb8e3e15063c26373816bcba06124a1a0ca5102bbaa487d87b16d39b181d34f17474849fba7fe12047883bdb6b816c8767808418f948764b7b1beae0bc09e937e0edc9db69a0c2a265275b77ee4071990aa91f5f62b01f5c76a7556cb1662bcb0aa9d2b560a8b813ca04f28021753c446f5a46665f87ad89447623668ba98183ca92c9075804d082ad2d17769032e77c50484281428c00320848073a17bacd2c47ab391fb9472d395a6376b3f44aa625c36c95457cbec00641a1cc4e248ba7a7012904a73179a61c1524578f739f7a5998355276eacbcfe462f2a82776ccc04ddc089cd2407f4b757748089d10baad85a3819d52a6560970353abdaf08dde151555f92b6953c0b6c51a7cb882ec5c574c31619d8c824c605102bb8d836c68f29578432c8515c913189b650ada84a2b5795093b5edb2a6e0b13b38fa3db500c7bdfc8dc796c7f57a9b95cbafb8610780eb6787d36067f89831d98590b91d96144d7a4c0fb1c34455902d49e39fceac427d723b027709338628defc8a771a055cd8bb143108c9724cbad1729b99c8fc675d007b7c38ca20b14c04549c3dea4b5fa3a94933bb72d2e433ea638c1b157b0eeb3e84d499170a109ae98e53b807ad277dadda57a4d13f2397c167ca0955e3148dfa1b502726c908bb283bb1b41b89e15780dcba45485ab771f19f1f0350b64a4ff983a5e68982523c1e936b9be3c38ad892b0a20b4d4ea2918498065d2431e7f950bb33c68b23167bb4693bb258610404788a37009a24823b81b95753bf09aea4a7b219cc8a9af4632d9c5e4790158071318e9119def243a30a7925f17233098d3c594f1571abaa0744f0e44714d0c8765559cc327e35fabe67066af141127ee7145546c89fd55a852712eb8c9c77bc649e847d229958e0d7a3947cc4284729209a704aa4640f0c73dd63c6e48651f62c33f2351f5d90bde888c3dc116827b16d8071a01fe02d1b4b485e9779217641f0a0af2434574ef92e180c116f44899afa647cea8403a831ecdcc04faab8faf3215d622dca40a95decb5a833206866068a6b49ee588151454eda821a35a5937a63c23ba0a0d8c5657d18777aa10492b1652ec2cdd22a7f800708beb1943ec347fab41219171fa46b7b58006f91ccba3b69cd7603645c9bb584282dbfb9ad584c4ec0c692a25795111a18709072be46981cc6c5d495652bc697caa6c5f13a30f3756d42d93b2d0471c0fcc59ca540376abca241ca7e50ad46000ad9417ddacfdcb371aaef7abb3c2cfdca88891dbf808a90028d4f12c57e4985f793b60f0d00c09af885b5a0cbe942fde6afc4841428104710823bdcc12319eb352779aba933159a5aa043e2fbe31b14d2e56f93e83763e19787607196101d3f26 +m = d2b388fdf32c5ceb6126f9f28c341d109c1cbc6e69207bd655b969de1b8f7b0c +ct = 623415a3547e632370529d6da3cbb2cef8cf4d1737cd5814d1749407b1438b3f7f5c489f235ffe4ac89a307400f876fb06805cf6f30a6f97dfd874020703d1dd210507f846394b0f68e7a770c2d678336a9caec98a43b434cecc1cb7d755127dcba188c8b8cbb99b30cae9b0d5c1ae838d1ca303e2e84577872321384b9941ab4cda8fa8ce2f980e00d2e5f95127c15c4dec7068f7e79d648fc3f2558258c86f213e36dbf22204c6adc3b8bfbbeab02c5320f3e2ac104ed6dd122c2a09fd9ebb614427aed5f90c4fc6ccfbed49077ee0dc506267d7dc02797c39c6ed70c084b0c83104ad232f13434497f5496b102420bd2ee8402e210def065372d9e15030e9c8c23578714cff0ed8ea8e3e5ac4a376267c1837d20ac8c08b783e7c247ea8585acf0e3daa2a85279f599ce28842f7ac07b96f3bf755b64cebfcb44b634a1c510b9654133e2bf9a0de120fd4eb368276cfa7f934dc063911246b05cad1c9dc3ae972fe568eca50f972c84c78cdcaf7622be6007a4098377314e966fed0794cc3fe335772e14469478f415c4b3e70b07f4d0762ae7bda23b2bbd93bd06526f4e3520751d4f30b6df144ae0e20304b33d392e777db7eafd15266e83f82a5ffaf37b3081273087e8123089c1f42d99133c81ef05537f8b35e0596b7359f0583a67b2db28624c5a379667267392402d373be6d2f28203ef4d78206e29fbecca9c2d90223763ae0688440df2dfb8a59bab72b2247258f88d8615d82d3751b6f87fa8cb0d7ad01eefc9e4a0dde5c3ce62fa3a39665b3d98433e376375f44bc22f5603f7877e8a7e398a83013af63f42b3b35adfff73e718c1f8111a5b49555f13aa94ce38c8fb86ff9bacbaa2d31469664821f01df32380624d4aa38f400722e91a1cef72c2f073848b7927978cdfda1f3ea2d60d654e034652f9cb5b2e1ee54e7d9df81d208f9f9f408ef3cac4c3a32f4e4b1d099934a1245bf03ab1157cff7fa318762dc218cfc439fee85d8ec579ce6462b395872610d1454678420e1d95a4f4e04f7cef7a2083b10b6c5eac3763764c245f0b2fdf3eb63d88e9758b0bcf11d7d58 +ss = 125660a1f7b034ee645672c614448b91352f9912f78d8bc2eedba9559a4419e3 d = 7643cef2d62cc5aaeecf754653ea62294cd2208e5bf3ddeea209e3dc45373d49 -z = eac9d531a532770837a854b4f5531f6e0c8d6c10183b30d3435498c2dd142951 +z = 92cedef206325f68ebc282123eb0ab02874f8a3c6665b78346775351ad99cc3d pk = 8843b50fbcc8bbe4aae3f4c1942926ddb8580ef06adc73a7f869842a3211bbf36172ac6972811c887b350b5189a376ad6e032234c0840dfa0a7dab2cce171e47e3945f2798380583e4e2b1d5188b18bbbab2564a0a06c174c577c91000e1dc3c79c1a7d54c38ffc21dc0e52e62a3c093a30c0986aad289b0c45841253c39a1a00b90712f4e4a9fd22ccca9c44b85c5bf240989dc077829fcb6c874733a630a00a4585f6a5ba1c0ab2c16450e0a30ab06670465628d763b5b0326fff11d5306abd4886cb304a515389e3d9cc4664039bcb80509661ff19bb372a8c8e121c94f5103994b91448982bf1627b38741a8560adcb5101b68937673a2ed345a6fa76e10b2a014115eae9b4a7ab8ade144871fb2cef1b10309a6ab67b218671500c0fa5ece8952d2635061524be47a33e4fc06eb1409cc4c7bead4a0ba8007df2b0d475a4312f042cc6b75b3484b08099c208971a07a054b701c193cafb509120d89579e282b07fc6ce1bc55c10012ecf1399c910b827a4ddde8995848861a8caffed9a284b829de0bca22585024d4a2b5946c5385267e9052141a5e27ec2b75188195d7c693f8c64b4351f2bb3076d95db950905087bb14d87831618e9beb5583064fad4952eaac72f3a3079da32668ac35b0e76e21ec63f46cc2abaa3c986970bee5ab6712c40b933d663ca9fcb3441c62477e3209795150c4da33c9fc13b0e421d23a9393a76728f55261b41c8dac98e48c24d91701fe6c719d8964318655a0f9bda8e1c876c04a1b729951f5111735b3558162c1e27e6a9c0ce0ba0953620d6343980ce7b3f5db31249b557dc76c8273b9c5075a60b8c098e07607648179121d2ab55b81ac018143724015aadd1b730c274a6ec281ef446a8468515519b1477492e5cb87e0962bd9216f9863bfafd025b0e00c58a709d200be9187b654fbc6f76b76092c1230526d051836ba580f90e368a4b201dccc9a3637c19799465e3685eaf51bba70610d88b6f08bc6179ca607241b62e54e94f97257838acee5a9375b347d9723466b6609330a071a3ff9d1acbeb4c41b0650616689005408bf8c292b9341b2d79abe93fceaff0f0ff88688c870d19759a41d3d361a0cec73cc908f52bad8 -sk = 0b107bf998c10ab147262c4e15ac4933a033d6d6a0804468f06b17abda2222f73d17c94c1f30950719cac69a81af4985e8134e67b8cc84064130a11f1db09bfad73550bb5a00696141f35b237ab114aa4688f3b98a563f1e2b7b8f85c5d61aa9d759c2d6d45958b18251e62e8d2c1ac389389cc2278e778b42e67c962a0484e78eb57b0632c04776f41ed69b78eadb9339376844222b7396699238793f617c96292b30b66a0992caed38042f64a34e353132829abca68e7dd119b9954282a8c87c4a5dc4bbcb36eb2ca18876f8c5694be86df3099be1f6cbd17c2fd820693ca0a0aaf8a495b24777fc4a05129e4731517472cd67998de55417d30190da206255c1cb56c2495ebc2f444a0572681ca45a8b63e262c9e4a025cb60abb81008f0a30bb345eda853a940c87fe9b9ff512043770959206912b65a79b5cfc977506fa407180c8e9e7b178253851ff925acf9026849089ea1a80d45a5e39430ad1ba48698a49cc1319473a91ba46da0ac0d51856c93a2c515283903e619a1b852845235be702405524d86b6ca91814d5fecb8a24669de5a2123d320b6589a7a4508f935594a0070737518c76885c82816e6681f172c72d2825e43c82b5e6abd58a3b7863a5e8111893f53b2fc89011b31840aa010aa7c92db4895b3740d2be47b9b5b34bd034f5d7842c2943eb7ea708079cf54b11a4a2074823a17c40cbfc0b5166cf38831e4c874a086bc15cc3db21710e4c0c8848ffcc67520c291dc9aa33456508a52af89865dcdf4a3c8e71900f6b69f6bbec635bbc088bc79d7b69c7a3e3c6413f8a1892275b8ed8a38fd384cabd4cf5c37bb7eb5a818118a8b239f3b873161cc1b81605106540ecad69faaf143e487aefa06056b188aa05a933e1380921048072baa6c01162bf56531ca42d39aa5bad485852743f5626f36a881106cb32142acdc69bf6e234cfcd1696391bd5be59c284869d1d7c34e86628a198ee16021d6e8aeae9279d62725c7107ca250c9ac3a0d1b045a9a1c8c8af89cc88b295998043c307901d9920be770ce97b348180764fc7ca83c889e12bf4d2298e5691865f9928843b50fbcc8bbe4aae3f4c1942926ddb8580ef06adc73a7f869842a3211bbf36172ac6972811c887b350b5189a376ad6e032234c0840dfa0a7dab2cce171e47e3945f2798380583e4e2b1d5188b18bbbab2564a0a06c174c577c91000e1dc3c79c1a7d54c38ffc21dc0e52e62a3c093a30c0986aad289b0c45841253c39a1a00b90712f4e4a9fd22ccca9c44b85c5bf240989dc077829fcb6c874733a630a00a4585f6a5ba1c0ab2c16450e0a30ab06670465628d763b5b0326fff11d5306abd4886cb304a515389e3d9cc4664039bcb80509661ff19bb372a8c8e121c94f5103994b91448982bf1627b38741a8560adcb5101b68937673a2ed345a6fa76e10b2a014115eae9b4a7ab8ade144871fb2cef1b10309a6ab67b218671500c0fa5ece8952d2635061524be47a33e4fc06eb1409cc4c7bead4a0ba8007df2b0d475a4312f042cc6b75b3484b08099c208971a07a054b701c193cafb509120d89579e282b07fc6ce1bc55c10012ecf1399c910b827a4ddde8995848861a8caffed9a284b829de0bca22585024d4a2b5946c5385267e9052141a5e27ec2b75188195d7c693f8c64b4351f2bb3076d95db950905087bb14d87831618e9beb5583064fad4952eaac72f3a3079da32668ac35b0e76e21ec63f46cc2abaa3c986970bee5ab6712c40b933d663ca9fcb3441c62477e3209795150c4da33c9fc13b0e421d23a9393a76728f55261b41c8dac98e48c24d91701fe6c719d8964318655a0f9bda8e1c876c04a1b729951f5111735b3558162c1e27e6a9c0ce0ba0953620d6343980ce7b3f5db31249b557dc76c8273b9c5075a60b8c098e07607648179121d2ab55b81ac018143724015aadd1b730c274a6ec281ef446a8468515519b1477492e5cb87e0962bd9216f9863bfafd025b0e00c58a709d200be9187b654fbc6f76b76092c1230526d051836ba580f90e368a4b201dccc9a3637c19799465e3685eaf51bba70610d88b6f08bc6179ca607241b62e54e94f97257838acee5a9375b347d9723466b6609330a071a3ff9d1acbeb4c41b0650616689005408bf8c292b9341b2d79abe93fceaff0f0ff88688c870d19759a41d3d361a0cec73cc908f52bad8167a2fec4d72cac2ffd844246eebabdac0c074e4f984433744e31d299faa389ceac9d531a532770837a854b4f5531f6e0c8d6c10183b30d3435498c2dd142951 -m = c92aa5fb91c980d9cade9ce99d4c75b2ffa7d6a6ff9bd59def1aa701f2a0992b -ct = d4c6855f37598574743d928aaf2fa2da0ccbd2a5c81130752c96f54078a70f22f57ca4792ad3932a11e391b5e8af17673d0fd088b78012820e1bab67f8eae1945522c3af1bdd8efe24d9bc4ec5d7435f247b4232a53290809b1a42dd212eeac4e85a4c23109e30ed35b56620bee95e86abeefe6fbff35fb59da50a79a1c875c2fbbc16d71213b544e2b438d0660de85537293d7976ba3c574589c22b9a79e96731eb8442e902117b5c63803f71b71f77b5b460f9b8d36132ed804de3ce6fadbcdb66141f93a3f98283ee935e4558007d7d984ef4ab9941028f9b1ac47a1ee7ee11f10aa2a29beb56b65278f990d60ebc4132d07d4cad58d4de91e18ef00a9d0aff8316c0d9b9b94ac8b1c4ed27c617d3f7893e4266735c026a1c0c2b02852fdc10f01d9d14fa40eb8ff5d1bddf0de9492e43f2f5a920db389830437c9c1b7eb7968f15f58c67a501aa52cc65761ad68f9aa8266d6e1433dfd27707e72c202d718b298cfc45b967ea7461ea51d7fb75b5cdadd6ed9ef01dd766be6ce66fb0a2fb4787766b16d5242dabe1823a7336e53726be06d590747dfa9d6e482cb8685dbf35cadec3d804604a496d7c98fed30e10bef41625ed16a2f34f7cebb3a3f851189888f3ef00a883be199d66ea2ed64c19c3ddacfbdacff0c1d4322d5bf172d67a489249accaad8d7680a6c74bc818e3f5a0124c151800ed1120dd869ee5e9acc55f9cc64874ac88620e85bfdaa9fb2fbd6505cecc11c45c2c932f0eb249b60ba78df73c462dbd8ca4028d137b029bb81fe57eb14ea55bc83f210583dfcc9a3d0165156adeae6cd3d830211f8a2076df6193094132ff6c30c5fd846cc06c95b650fe40975bd622a151b669fbb09f6340dd3931871688e8aed14fd8bf7bbebc2a7c099ffce076d03198dd4557250c01f3eb091d742e9c49b4e56c1e745d415c4133e0ad7d31e0d387ff74c68c84a37624f7e9a881ffb0fa8ad95c7f74d7e10903e705a0965be35fe03bf61bab32a173979a39b62bc97a1f6605bdeaca3cb62549e0c1346eda1d36d8135db07d3d587ba404b456395af912731985a7d7b3c5985fe1 -ss = 27c47462115122e2c24cf7030c0f9e270e023714306242c7276f8b1e72a4c008 +sk = 0b107bf998c10ab147262c4e15ac4933a033d6d6a0804468f06b17abda2222f73d17c94c1f30950719cac69a81af4985e8134e67b8cc84064130a11f1db09bfad73550bb5a00696141f35b237ab114aa4688f3b98a563f1e2b7b8f85c5d61aa9d759c2d6d45958b18251e62e8d2c1ac389389cc2278e778b42e67c962a0484e78eb57b0632c04776f41ed69b78eadb9339376844222b7396699238793f617c96292b30b66a0992caed38042f64a34e353132829abca68e7dd119b9954282a8c87c4a5dc4bbcb36eb2ca18876f8c5694be86df3099be1f6cbd17c2fd820693ca0a0aaf8a495b24777fc4a05129e4731517472cd67998de55417d30190da206255c1cb56c2495ebc2f444a0572681ca45a8b63e262c9e4a025cb60abb81008f0a30bb345eda853a940c87fe9b9ff512043770959206912b65a79b5cfc977506fa407180c8e9e7b178253851ff925acf9026849089ea1a80d45a5e39430ad1ba48698a49cc1319473a91ba46da0ac0d51856c93a2c515283903e619a1b852845235be702405524d86b6ca91814d5fecb8a24669de5a2123d320b6589a7a4508f935594a0070737518c76885c82816e6681f172c72d2825e43c82b5e6abd58a3b7863a5e8111893f53b2fc89011b31840aa010aa7c92db4895b3740d2be47b9b5b34bd034f5d7842c2943eb7ea708079cf54b11a4a2074823a17c40cbfc0b5166cf38831e4c874a086bc15cc3db21710e4c0c8848ffcc67520c291dc9aa33456508a52af89865dcdf4a3c8e71900f6b69f6bbec635bbc088bc79d7b69c7a3e3c6413f8a1892275b8ed8a38fd384cabd4cf5c37bb7eb5a818118a8b239f3b873161cc1b81605106540ecad69faaf143e487aefa06056b188aa05a933e1380921048072baa6c01162bf56531ca42d39aa5bad485852743f5626f36a881106cb32142acdc69bf6e234cfcd1696391bd5be59c284869d1d7c34e86628a198ee16021d6e8aeae9279d62725c7107ca250c9ac3a0d1b045a9a1c8c8af89cc88b295998043c307901d9920be770ce97b348180764fc7ca83c889e12bf4d2298e5691865f9928843b50fbcc8bbe4aae3f4c1942926ddb8580ef06adc73a7f869842a3211bbf36172ac6972811c887b350b5189a376ad6e032234c0840dfa0a7dab2cce171e47e3945f2798380583e4e2b1d5188b18bbbab2564a0a06c174c577c91000e1dc3c79c1a7d54c38ffc21dc0e52e62a3c093a30c0986aad289b0c45841253c39a1a00b90712f4e4a9fd22ccca9c44b85c5bf240989dc077829fcb6c874733a630a00a4585f6a5ba1c0ab2c16450e0a30ab06670465628d763b5b0326fff11d5306abd4886cb304a515389e3d9cc4664039bcb80509661ff19bb372a8c8e121c94f5103994b91448982bf1627b38741a8560adcb5101b68937673a2ed345a6fa76e10b2a014115eae9b4a7ab8ade144871fb2cef1b10309a6ab67b218671500c0fa5ece8952d2635061524be47a33e4fc06eb1409cc4c7bead4a0ba8007df2b0d475a4312f042cc6b75b3484b08099c208971a07a054b701c193cafb509120d89579e282b07fc6ce1bc55c10012ecf1399c910b827a4ddde8995848861a8caffed9a284b829de0bca22585024d4a2b5946c5385267e9052141a5e27ec2b75188195d7c693f8c64b4351f2bb3076d95db950905087bb14d87831618e9beb5583064fad4952eaac72f3a3079da32668ac35b0e76e21ec63f46cc2abaa3c986970bee5ab6712c40b933d663ca9fcb3441c62477e3209795150c4da33c9fc13b0e421d23a9393a76728f55261b41c8dac98e48c24d91701fe6c719d8964318655a0f9bda8e1c876c04a1b729951f5111735b3558162c1e27e6a9c0ce0ba0953620d6343980ce7b3f5db31249b557dc76c8273b9c5075a60b8c098e07607648179121d2ab55b81ac018143724015aadd1b730c274a6ec281ef446a8468515519b1477492e5cb87e0962bd9216f9863bfafd025b0e00c58a709d200be9187b654fbc6f76b76092c1230526d051836ba580f90e368a4b201dccc9a3637c19799465e3685eaf51bba70610d88b6f08bc6179ca607241b62e54e94f97257838acee5a9375b347d9723466b6609330a071a3ff9d1acbeb4c41b0650616689005408bf8c292b9341b2d79abe93fceaff0f0ff88688c870d19759a41d3d361a0cec73cc908f52bad8167a2fec4d72cac2ffd844246eebabdac0c074e4f984433744e31d299faa389c92cedef206325f68ebc282123eb0ab02874f8a3c6665b78346775351ad99cc3d +m = 5741c37bc610abd8f8f9673d0267895a4e77235acbdb294eca9ded915410fb1a +ct = 9ac3a7f1f9ed360bb793f38e45138f67383f89cc35a1c2263dbe55d3d0e67a27ad0f4556926b208327f0b8f36838df0ab435fb36771ca0fac6207e9dab91961e96bd2cda178d20ac87b6a53d2148df64fbe649b22bbe367e516f8cca32588bdbce819398e5c116fad8e0c10640cec3721177a78a371334a0a1fd963732b244e441cc9c75ea402e12f5dc5ce87ab09c857b146ec14cea68bd580d44f4f151640a6e7ce6c58ed4bd493ab09149acb90b37f458e20c0884da571ab535184a6bee5116733169e00a7930ef515860450325a88756956524530c4a82a0f51bdda43bc6606e369c5367f922ce5dae8c7e76f70774de1b49eac042dd0d15d1ffd9bf85a707714df1c31dc82b638e614e1dd7ed164fa1f889c913c07b8359b26f2bfbfe5f8844f8a6b46589713970b22645d754e93b0ad181e4bfc6578fc3c63b5e3a051c826b6bf7c9f3bd3bde269c126057e2df9e7def2c4a842c623f5280968d796b3ba6e5c4843d8fd9193d7663952500be10ce5568020264598c6e68c6279233035f0740cbef41f6dfb921ac8d7cb9da549263e92bc7db5d7f1da20f9d0ba4fad7dba9eb07e02e1303f29f168e0afbe84b8fea5f7de82dabeec95ffb9f48fe31427943907a9bed01fc2a7e55bcb0768b8ee4598d4dd6b5f7d1552e2d80cb8feb384af875727796f64cdb8cce2a62446b1549dcc90fb63b655030289cc0d60a08540e4b3d5c9a2a1af9a68c51fa7de82fba96294771e0729dcdac13c9bfb0455d68596a0566acdf58aea3b351406779d49ac16d5cda259a678be52a3996c920cd079553fd8cd8a43f4674cb05beee83e5ff5f1a110f4f1014422fb80dec382cf0aa976accc3c5a22c9236ea47a2eecad70da98bda26643050ac6bdc7bb720ab24ccd707779ec4791d29870406978eb7b8551efbb3682ea418c8a1a06d166eb660c2d0257f6afe3dfcd9a1a4beee54a9cd4f8d49e6f823e04e19cb79ce35cec4da4b1a01db277d5578f3e02973b316f2dac13bef36656fb9c13fb2cef8efb55fecbead4238c112ba36204f243a10ed9550d0151347c1199311855ab6b15ef595e99127 +ss = 7695800f0216d6c8d88519b0ad74ac2f08e115f07e78de5bc506d5069628542e d = f8ee95521060c03bb8dacc79f7eb7db640f545f315613a35d447a09e504cb4e1 -z = 3fc3d8392cb53f36ed647364a04e37278a0e0a45b720f4a75c580c9920eba98d +z = 7373d22cace9f3a09fcc5e85067ee05c0e537aa0738f79101236b4e7d28f2889 pk = a9f0c2475a69f1e96c610badd664c99895021f497c13111930880c02d9c8ad7a1309085826b4116f9a9cd841981f766944137de5587323dccfbba28366f86ae7a7481c054b2dbab86823b77eecbe7d9088a9ca882eb7aba5aa23c27209df4760e70b4876b709bfd225b0ea9644fbac9de01df90648a25b5fa9a48228872ec2cbaa09880100bc24f1414102d92a5a206399295333485f00c111ad49c0fbeb5f4149477e46075377967c310fb5231b9d6204bc877c31c524bd76b5edf23fb9b091ffa3bc2ec64423b02f673505d5c69dfe472d8df62f9775852b901000d84e4237aab4f32226272766234dda706fba5962e816a98586bc2a5bcdc1db80bd9b18bbc3c82d01cb1b67369f32741d50ca57a45c45667d5e5428824463c8a651afd95e995a4b860043cae74e265aaed3320414989a346a63f0f0842e59972a91bba62559422705ac6422d66098747a85737abeb01c00b4b90311081a17c6403726ca39e27c8d426845fb624a956c39bbbb404a8ef5073e37078ef535b9eb581783eba401243b02d750f5034d4a366c197994189846dbd82712663a0fa0beef5847622a904b04983b519955b717025c01d9e5b928d4b860cb0fbff76fbbc22b4761a5a584770b25806bbccb94fa7312233027f5b6c97c97a4fc5dda7936b090aed1c9478a68ce883cc9b8960e8755485099912dd509e9804e33e86a12a75b53d42f0c784c6a73732a471e44900d41ec9c4c0b006910202b1b2dbebb65b5d7471f189faf194e642887c5631271649662f4b235829644198bf8e965d9728778a65405c4417eeb7ee25502618ccb0a0a226945adb0d73ffbd2ca47a5580d0803a56b3c3bc66e877ccf05741e29501bad787d8b588f97c20c8255687ed3aa1631122c387456088d1209c4a5475f61d12c2b60b1776244512a08807c09e7c7aaa3935125f235f8e872bc4356a21379bdb84a25b132f4449561e96bbf8776fab1c681d42575a1bfc0dac357653996d41aac4a9341196da05c49ba84a4cea37c818ba0f0408c8c9335616410b1d479ca035656119236ea9d6979366163791648088fecabdc7c80a7b265a3e05b2db868482fcdba0367177bbbcad04f3a50adeb85ded90bd59dab -sk = d1d08267ab33fa3a0cca990d20543e59075f87e1b20953ca4b775515a07af10c6ecd7a5e299b69fe05c0939cb6fc789d94c762940925a1dbc9d7a33d42a2970b36a76f5869efd38b2a81b632ac1fe38a114c083496b5bb8b211a174695c29862633c283bcba5be7c2ece82b9d517c0a8099ee1bb1624838bba8b5b73a463e196098986130a84be1cb8080e643f3f4b08f1b84d02b10b932a3cd7a921a1f97ab8f38b099bac9df962ddeccaa1976be86a63b39c59511a07a29046ba6451a2d77f4c29070d9a6cc305ca9d9585010089ec435710452390c80704375458636921ac93e5294dab58040cf309a53ac808e82fc571aa09137ca8504fe2e71455d085f42ab98a9720a85138fea10cf996137e361d1861b7d346cab82bbfd9fc0100949e945279a4757804b29cab22090a8cc6c39495c44273bb0210e1495d139650ccc60097e77573884da44ace0c6755a8454dedabcdc92359ee73246b045f61da9ffa172a95a20315b688461050f052301f0b1700f6070b95218b583f026ba17be6111e0106dde5bae1314dbee2629d5cb291d396bb04cc48b92ecab20c476bc32f155b05964b49649d9e5a8f3f9bcb5a192cc8d9b3858a81e9ba89a9d7a88ec90838f862472c2f60a38d1b444edfd411f8b4c0e4f090c5f353f897cf704801422861879471482a956f591e16046ddedbbd68b5768b14001a335a676b75bff63ae7614b1bc03a04460768a12dd3c99ceaa6964db1ba11173711c7601fbb3fba511c0f63251567b51de163b83373cf02c0053516c152425e0c7adb018571160c0f4a47c026404c0802428c0a373c991ee5c4320ba566705af9490d6af3a53aca021ee11f53b361072688f46526184a23914991f3ac7ea28c20878990563cb96688707099465ff3b65e46280a15a11bf05672ecc7e31934da8226997ab2a9773a53059d3748295aa10b08d394b885944406401470056b645315198d2f42c18df155e053a63d147b436aa8502ca97833c0450bcc48851d82e21866a51dd7418f3c6ab231c7067a874028688469c326b5a49de1fa3c78b31410dbcd5b2572c8485393148da9f0c2475a69f1e96c610badd664c99895021f497c13111930880c02d9c8ad7a1309085826b4116f9a9cd841981f766944137de5587323dccfbba28366f86ae7a7481c054b2dbab86823b77eecbe7d9088a9ca882eb7aba5aa23c27209df4760e70b4876b709bfd225b0ea9644fbac9de01df90648a25b5fa9a48228872ec2cbaa09880100bc24f1414102d92a5a206399295333485f00c111ad49c0fbeb5f4149477e46075377967c310fb5231b9d6204bc877c31c524bd76b5edf23fb9b091ffa3bc2ec64423b02f673505d5c69dfe472d8df62f9775852b901000d84e4237aab4f32226272766234dda706fba5962e816a98586bc2a5bcdc1db80bd9b18bbc3c82d01cb1b67369f32741d50ca57a45c45667d5e5428824463c8a651afd95e995a4b860043cae74e265aaed3320414989a346a63f0f0842e59972a91bba62559422705ac6422d66098747a85737abeb01c00b4b90311081a17c6403726ca39e27c8d426845fb624a956c39bbbb404a8ef5073e37078ef535b9eb581783eba401243b02d750f5034d4a366c197994189846dbd82712663a0fa0beef5847622a904b04983b519955b717025c01d9e5b928d4b860cb0fbff76fbbc22b4761a5a584770b25806bbccb94fa7312233027f5b6c97c97a4fc5dda7936b090aed1c9478a68ce883cc9b8960e8755485099912dd509e9804e33e86a12a75b53d42f0c784c6a73732a471e44900d41ec9c4c0b006910202b1b2dbebb65b5d7471f189faf194e642887c5631271649662f4b235829644198bf8e965d9728778a65405c4417eeb7ee25502618ccb0a0a226945adb0d73ffbd2ca47a5580d0803a56b3c3bc66e877ccf05741e29501bad787d8b588f97c20c8255687ed3aa1631122c387456088d1209c4a5475f61d12c2b60b1776244512a08807c09e7c7aaa3935125f235f8e872bc4356a21379bdb84a25b132f4449561e96bbf8776fab1c681d42575a1bfc0dac357653996d41aac4a9341196da05c49ba84a4cea37c818ba0f0408c8c9335616410b1d479ca035656119236ea9d6979366163791648088fecabdc7c80a7b265a3e05b2db868482fcdba0367177bbbcad04f3a50adeb85ded90bd59dab955468734662471c953fa516b35b3a53053ff396b7e2798fe07a2ecd549d6c063fc3d8392cb53f36ed647364a04e37278a0e0a45b720f4a75c580c9920eba98d -m = 7e8086a01dc5b3bb9eda25bcc45d27f99874841b97237968495800e007696ac5 -ct = 6a28a93c1c0eca7c44ed894a8006b2dd945fa0edb472fc04ffde03baab769accfe6203862738d3b385e2bd7057d336653c174b7452853a12b1297a41df480ff962f1039b49b6724e083ef93f34f41717660d941dfa2a07ad1d00981b3c7c5cafddb5fec83093ccaac0a86f6338a16571af9cf893bf46df2122fe36dceae365221f53f4cd80987a114e32f8e406897f8a9fbe52c6e5205d4689cb5a27c1efbaafc7c1740d98be082a0081e0969f51fcfdb22f5c8ff050df7bcd5219a29a67017903a257a9d7a95f65568662b2142eea854add6eccfdbd1db3875ad49dd50ea340cf7e48be60bd4f4d82622936342d22b9da47d192af9fb032e2ff802b71704388a02cf4cdde32fca32a76ef752721ce1a10767c5f94ad8db64146133adadadf6582ef506acc5c2de105cf0a783f8ba8bef23e58931601b8fe6c1972868fdd4d7dce92ee520079bec3a12d49bfe822acd1373dec703cf2e94b8b662659329320a4134afb48bd2e38842e88b7e67706533fe7e4978671be0be2270c6d52dd3b47663187cf8dd6d0bfdbcaab24f0fbf8965f1e76525e7b831c6359b66473f5bd54d9e7801d6a7a2c9e94a87d31bee420e541be856f868b8febba24ee9c6c0c05170a2e70504567e6c39c25abc94d443d083016c6149c53ed35cb53a0fc9f2248931fbbff0357fe17630cb10db06e1111f114271c54f16290cfa40ca9c8446e5c96e3890ec885240643ae7c6191de12842bb5d9d2301aff862e484f5cc16337864636feb3267ef1e6092daf250470a995c791f674567c36e2e1c5ea220062dab948ac72da8b2ec5e52c83f5f3406fbeef97ecfe5c2461b4ac356e56fcebeaef20fd493f5c8c3c89c037af4258a288972ca8deb0f5b8e0cb3cd57b8f2cadf086be4520bb353477e4b56c665d3b2e0680e775c255c9d502f2552a0b9e17ce75e0f3ad40e7f268553b92293ecf516928281ec319e6c4823114af8eac70049da8f6026980a8413927f853abc9415a7f01abb07c2436b385b358df2556d8d23cb3c40d71abdfb4303facc83794dea7f79bc0c75d4d8ccccda22ebbdef88a62daca2da59eb6 -ss = 18a159d28bd8ccbfc5e3e6ebc473179a7b411d7829d618869e773142366bf0b8 +sk = d1d08267ab33fa3a0cca990d20543e59075f87e1b20953ca4b775515a07af10c6ecd7a5e299b69fe05c0939cb6fc789d94c762940925a1dbc9d7a33d42a2970b36a76f5869efd38b2a81b632ac1fe38a114c083496b5bb8b211a174695c29862633c283bcba5be7c2ece82b9d517c0a8099ee1bb1624838bba8b5b73a463e196098986130a84be1cb8080e643f3f4b08f1b84d02b10b932a3cd7a921a1f97ab8f38b099bac9df962ddeccaa1976be86a63b39c59511a07a29046ba6451a2d77f4c29070d9a6cc305ca9d9585010089ec435710452390c80704375458636921ac93e5294dab58040cf309a53ac808e82fc571aa09137ca8504fe2e71455d085f42ab98a9720a85138fea10cf996137e361d1861b7d346cab82bbfd9fc0100949e945279a4757804b29cab22090a8cc6c39495c44273bb0210e1495d139650ccc60097e77573884da44ace0c6755a8454dedabcdc92359ee73246b045f61da9ffa172a95a20315b688461050f052301f0b1700f6070b95218b583f026ba17be6111e0106dde5bae1314dbee2629d5cb291d396bb04cc48b92ecab20c476bc32f155b05964b49649d9e5a8f3f9bcb5a192cc8d9b3858a81e9ba89a9d7a88ec90838f862472c2f60a38d1b444edfd411f8b4c0e4f090c5f353f897cf704801422861879471482a956f591e16046ddedbbd68b5768b14001a335a676b75bff63ae7614b1bc03a04460768a12dd3c99ceaa6964db1ba11173711c7601fbb3fba511c0f63251567b51de163b83373cf02c0053516c152425e0c7adb018571160c0f4a47c026404c0802428c0a373c991ee5c4320ba566705af9490d6af3a53aca021ee11f53b361072688f46526184a23914991f3ac7ea28c20878990563cb96688707099465ff3b65e46280a15a11bf05672ecc7e31934da8226997ab2a9773a53059d3748295aa10b08d394b885944406401470056b645315198d2f42c18df155e053a63d147b436aa8502ca97833c0450bcc48851d82e21866a51dd7418f3c6ab231c7067a874028688469c326b5a49de1fa3c78b31410dbcd5b2572c8485393148da9f0c2475a69f1e96c610badd664c99895021f497c13111930880c02d9c8ad7a1309085826b4116f9a9cd841981f766944137de5587323dccfbba28366f86ae7a7481c054b2dbab86823b77eecbe7d9088a9ca882eb7aba5aa23c27209df4760e70b4876b709bfd225b0ea9644fbac9de01df90648a25b5fa9a48228872ec2cbaa09880100bc24f1414102d92a5a206399295333485f00c111ad49c0fbeb5f4149477e46075377967c310fb5231b9d6204bc877c31c524bd76b5edf23fb9b091ffa3bc2ec64423b02f673505d5c69dfe472d8df62f9775852b901000d84e4237aab4f32226272766234dda706fba5962e816a98586bc2a5bcdc1db80bd9b18bbc3c82d01cb1b67369f32741d50ca57a45c45667d5e5428824463c8a651afd95e995a4b860043cae74e265aaed3320414989a346a63f0f0842e59972a91bba62559422705ac6422d66098747a85737abeb01c00b4b90311081a17c6403726ca39e27c8d426845fb624a956c39bbbb404a8ef5073e37078ef535b9eb581783eba401243b02d750f5034d4a366c197994189846dbd82712663a0fa0beef5847622a904b04983b519955b717025c01d9e5b928d4b860cb0fbff76fbbc22b4761a5a584770b25806bbccb94fa7312233027f5b6c97c97a4fc5dda7936b090aed1c9478a68ce883cc9b8960e8755485099912dd509e9804e33e86a12a75b53d42f0c784c6a73732a471e44900d41ec9c4c0b006910202b1b2dbebb65b5d7471f189faf194e642887c5631271649662f4b235829644198bf8e965d9728778a65405c4417eeb7ee25502618ccb0a0a226945adb0d73ffbd2ca47a5580d0803a56b3c3bc66e877ccf05741e29501bad787d8b588f97c20c8255687ed3aa1631122c387456088d1209c4a5475f61d12c2b60b1776244512a08807c09e7c7aaa3935125f235f8e872bc4356a21379bdb84a25b132f4449561e96bbf8776fab1c681d42575a1bfc0dac357653996d41aac4a9341196da05c49ba84a4cea37c818ba0f0408c8c9335616410b1d479ca035656119236ea9d6979366163791648088fecabdc7c80a7b265a3e05b2db868482fcdba0367177bbbcad04f3a50adeb85ded90bd59dab955468734662471c953fa516b35b3a53053ff396b7e2798fe07a2ecd549d6c067373d22cace9f3a09fcc5e85067ee05c0e537aa0738f79101236b4e7d28f2889 +m = c4d1d167371706468915dfa7f41e45fc48fc5e02ef79651c81c87bea7861b2b4 +ct = 3a1027b4222353d3a3b9727b5b4b996a2a4e80a3054fcd6ce55e65a4320be9b407bd1d42b2f25e91c779002f138b3d970456d315b33fb79e36b3d40393b51cdaaa2b7fe6f1c18874034cef6d3a2f013843022b451e8df8087e6fb9e1cc686db03d30755202111ad95ea3bcad920931be22357f9975410d5f71c97a737e00fd259f55eaf6da0e6d4ccc25f554992efaea7f87b1760902d347ad06e87f7dd25421034e1dc8648996ca1645d1c22332469c7b1c715b7553ec26843849889dbc03cb81783bd2ceb93508d7a138ff3c371c127e4757fd36f7facb0d76f164b5167526f4bcf1208eb94ee87b2751c95f5d4a604eadc2d5114cd7095fb4101002c9e58b5baba91a8d08c0f714302f33feb43bf88e6a402d5a5e0a6268c687e1a9110dea1e676df51dfa0604d4b30836ed5d6b03ef674273569e35d0e7b98e07da7caf1b33e8165bbdc28720b464ec78b9fdb9f2eea4434dcf2fdd284694beb0171a6b0c0c333e319f50eef638cb5caf8c186b8211f3a7774af015fd15786a47eb37843424f63d90e332bd9a17983f811037b1c05dae9dcc0a590700ba9138660589d90b319c67268bd689bf7adf063a990bb1b454d05e560c1806292d162905153995a465ea8af8ae8dd975a0b73a9ee53f7a516243c7f108e905cefa0a7f4afbdd3675b4f212fd9839bf931f794bbe094f01c2166ab898bc42d2e878775dec348f3d0833b405a75a93725b5c176263b4f2f0a6be695775c70c9d86c1517a3b9c87d9e15b177fcd90f7c2bc7ac0993b46175693ece53ee83e23cf3256f8a65b9f18cf203cdd0a6834e9f126e6a5a6870569af6e335b3d4470de5f53d502d909b0e9533d91e31e299f0e1c2584740a94d390ad7e1dd2b86cee1e98127c71ccf9212ce9c6df2dcd55a1c0d29922d55f40c20dfbe63e9311e1055d14e9129c4a069fc140724138f7b431cf992f2c956a370f0a05b3e21caba1c8bef4b3c91ef948d7ebced84b7e3eea947f9e070e75da10af21be2f521fcf62d99b49451bde36ce788d3a0dff1c475f250e69fc5f76f1830ba60f6f74ac901af252e4ba0730f20fd9ccb21c +ss = b8cb353c3adfaadc9f585191568d80ce1399dcbec6a99f2d65bb726bb125cdbb d = b8bd0493a882e3a49b4e0f6256fb1fea0912562fd9ba26ec3d6c9cc12c8973ab -z = d7e4b5d8021c486b9c3114d7cbbeb7cd49eba8a61bc2bcae1f1bef30a1daf76d +z = c1b070e4e519d727f677e011716436bee9dd0188fe38c00d0ff425ad794c07d1 pk = 28376c399946f6089f4eaa70736726a20c6e2acc75ddc880fb015477d3ab44c36e047c4bedcba5e2d775628154eca695261b5825ba495f84c925f73c5e86b59fca1a535906c29b0546134469aa2fa9a273e987c50f2b5c1f0b52d79984246c653bcccab49c172a990a72d93ce02c2a9c56a9cc2c8d808b8d6853361f9977db4bca0ad75aa65c76b9c47f3f4715b977580345b13cb945ee374a980a3152e1690469c47f8310d02ca01dec8f1a149e6c1a1a4ff0496c18c8ebc67b79127195341b132947ba62a89871adc0c9b32d951acfe88334189aebf89991c9b73eb0b68e6c2aeaa1455aab124160179ebbcc40667ec7159d8991897cda76e31a8330793fdb035feffcc74e251993913c6aac99e5ecccf5f9289343989bab7640c9c2a9e2c622d0214cf9c696e803d9e119af0a90fba50199032dbf491fa5e260cce4b92b8c9892c8519ab23031d9c3c53c671a4008e8ba31b3d1bd4c9602f045b92e42040ffa00f441579b105562d507d6117a9f5b9fb6e50146ca47faa64165c84a3c9a77a70963e3a6a8a28b658998078cd91cd4599cbc21ca68d13395b907e395b581b490b3007af66cbbdb222d78973b7b69b37c77547669695c347deac03374c209fd163984f03f59a6ae8de53a169041c35c99a4c95f25a759ab6b2f0fda12e1744a85194ffa736be1d67d7977b32eb7ae6bc04220c8846f157aa7d05c12c02eb8d3053059ce8ecc34791953f00077a4e13c001a48c28500c025c4bcd11e5ff83ae9e31e0a6788ad70a71c1c0d5da418c6e6934fc959d70259b606c986c70348cb7cd11a46be201c474b819d8b54b538c78a06a9bcf905da7469d9c045686a3b38e345e64994cc0785fc12073ce961763074f4d2aaab6c059fb67c947889dde52c8ffa432c9171cd16133d337f10546d864b3cf3243b2f3097f3314976c183128aa1a11916e6365749910600e64d96b663b236c43339cf979c717c6b03056081d9ac4301722330e13cdb0a75de4a4099f7a615419c82e10c6eab027447a78303697d8089647263c0b39834986f8da41566dc254891bcf93014b4b33e2be203b4e2c67b4d655c9f1ea4b448fbe32c4996fc298d26cae25d276bcf6e66ba65e3e97791 -sk = 17061bd1a9b682d6741e754ed82792d3dcc88d3c8e5cd88bed131bf12176af10c5b6d690be325c67ab7b05c67eaba3c3f58838897c5a11861dbf757f9937cbfb01a668c84f2a0ca7627497a4e4417331506cc28c68f550c9ac96eb2030585b306ba62f020281b8b59470f0b59a3c8036132556b381c7cb8d8c365912d2ad91d01442b534fb09bc9a692e5941b90342552207a8d099b0f628cd8acb5f3bea9d5985a050a28f69743f5c22392aa8b185272fa8d19969f5c0f45354eb18b961066305f183dc29891f4784dda37f8c9c058b500e1fa393c2d92f37175c8176cf4fdb746e377f0c97aec1d43da947c889269eba88951d925392225c5eecbe1146b255011236c34517c3b1cff1b91d17823ff4b2273ab1b276c0c89b87b086b3e0588b9ed14ff5e303d465744528388bfb90d42414b1529dda707d2ed515baebb05667580a52ad78a211a8cbc0c8f1274d23504f046e1b84813147255ecb6f18314ab1c3187b876dc97926cee74c00c956ad1341af66a4b89281d1fc2caa2620a806b7a03042c8d401527077ecb91c4fd12f62f0045498b1c43042cf103a9e73430a0c5298f55f4e5517f5e393197a5c9400705758c9a66307d263a5ddf72771857c29a97216a4aad7824e2dda2c3ae7c38bc851bd2c65ed584f789a342f4056f3da3315855c675557cb7b2177c3847b21a777b3b24e74572e1554285347b116a7210248f6307bca828369b8cec51bcca4b707e508c3baf21560b5450e4ac9968ac543485e21722a7f535f26216bd7378fdf28676feb7ede34aafd981a805729c11b4cf9ca7be46a3df96acc14cb4b6908be9a79ae6bd13980e6bd997a1dd8553a98b4569681ce78578330181ec7c1b466d1c226ba0c15a6bfeab52e80a118b0a3c5e9657910063cbc2675b5a724d1f867bf82abe2088e83d3ac0f55827f864b61ccc439906db818319e360fb0707cc0c6bbfca62c7c00b5a1a6341915941d6563acd410afb960c1d626dd7875047129a2b13750e3a6c491616de3b44b1888d2bb5b98e118c4aa6e2e386dc933b441067ec7e6b2bd730fce342c17720ab3d5b7154c8228376c399946f6089f4eaa70736726a20c6e2acc75ddc880fb015477d3ab44c36e047c4bedcba5e2d775628154eca695261b5825ba495f84c925f73c5e86b59fca1a535906c29b0546134469aa2fa9a273e987c50f2b5c1f0b52d79984246c653bcccab49c172a990a72d93ce02c2a9c56a9cc2c8d808b8d6853361f9977db4bca0ad75aa65c76b9c47f3f4715b977580345b13cb945ee374a980a3152e1690469c47f8310d02ca01dec8f1a149e6c1a1a4ff0496c18c8ebc67b79127195341b132947ba62a89871adc0c9b32d951acfe88334189aebf89991c9b73eb0b68e6c2aeaa1455aab124160179ebbcc40667ec7159d8991897cda76e31a8330793fdb035feffcc74e251993913c6aac99e5ecccf5f9289343989bab7640c9c2a9e2c622d0214cf9c696e803d9e119af0a90fba50199032dbf491fa5e260cce4b92b8c9892c8519ab23031d9c3c53c671a4008e8ba31b3d1bd4c9602f045b92e42040ffa00f441579b105562d507d6117a9f5b9fb6e50146ca47faa64165c84a3c9a77a70963e3a6a8a28b658998078cd91cd4599cbc21ca68d13395b907e395b581b490b3007af66cbbdb222d78973b7b69b37c77547669695c347deac03374c209fd163984f03f59a6ae8de53a169041c35c99a4c95f25a759ab6b2f0fda12e1744a85194ffa736be1d67d7977b32eb7ae6bc04220c8846f157aa7d05c12c02eb8d3053059ce8ecc34791953f00077a4e13c001a48c28500c025c4bcd11e5ff83ae9e31e0a6788ad70a71c1c0d5da418c6e6934fc959d70259b606c986c70348cb7cd11a46be201c474b819d8b54b538c78a06a9bcf905da7469d9c045686a3b38e345e64994cc0785fc12073ce961763074f4d2aaab6c059fb67c947889dde52c8ffa432c9171cd16133d337f10546d864b3cf3243b2f3097f3314976c183128aa1a11916e6365749910600e64d96b663b236c43339cf979c717c6b03056081d9ac4301722330e13cdb0a75de4a4099f7a615419c82e10c6eab027447a78303697d8089647263c0b39834986f8da41566dc254891bcf93014b4b33e2be203b4e2c67b4d655c9f1ea4b448fbe32c4996fc298d26cae25d276bcf6e66ba65e3e97791f7310c0531060051469ffcd2f88e3200bec6c721bca1fa4c9e7bf1773d7ccb19d7e4b5d8021c486b9c3114d7cbbeb7cd49eba8a61bc2bcae1f1bef30a1daf76d -m = bb321ef14d44d8698df879fd52450567657f52a2df8d111185dcd7d4f30a72d4 -ct = 830fe9b7644a20e4ffc43651e31b11cd949ca3b5f0fa85eda474f02c3c9bfcede2a46097ab1ec3d752c4e8c8ac98ec1e979c2e93b2c50644877f76fb2606a639741f8058d425895f9346271f3852224b6d59704f8df036b3472bf532058ea17b6bf469d855cdfe8c421d185c0bce800fc1f11fa5984f619a3105e407224adab4afb4a99b7b9c96ab56009b9489ee3451073fe99d4e3fb30e70fccca1137d6183f966e3e58993f8531b218d49e3c385bb4e96b364fb5e9d54e30085a7c4ef3b2ce2b16fe255d6e51397da7974a39a5a4501981535855dd7dcf5d087ed3a06df2d4ea084a21eae1806baf43d5a1cae1afb5b3a013caf6e9e9d9903f72d4bb39ab1c4a7afc713ba9b5df9f6b7f5187463000377b058dbd0881c40842113656bb260cc08687b1222292faf03faca423332ebc10fec780fdcae2db5609e920ad495325f89100797cbf3f9e43348642ed7005de1c85b320c0261028a6256c0ef9ab65bd20fe001c2e0bea7973c01f5a9527eee52521b3e5dde820cf54c65b8c4637dfb035a467cdf576f89bf0b42661c2d0675a36615715c85a395420c958c516fc947a970b01cd2950ab6e1434aa1526ad05ec89c9450112945875137ea9e5f91b4833a3a32d22edace7ae5a8e844f3e5ded55f892477365e15588572be5076d548b2f2e3808afc66e0732aea17afc198041b1ff3bdd5c431bb5e3344ff617d377c0f36f9d578c6eea5a75f2ff46f7abdae165661751970e48e5daf54115ab8911f846b5951962b3dd428bd2bcba82709f3f7bd29040ce05fb547eaa3dfb320725c84f957132b4c36af3e72d7e6cc78b786be9a9bc5fde1cbeb160c72494c31efa828b88c431b72f29cc67f21e250bcf97f55a07b5684c7c7dd64b675b564a2eb5c311f234d49d23a5ed6ec0c68c1194be72446ed6dea64faee4fcf5957f27367bc567e67bb1da84671d63fd384dbb8bb6c9be417aecfe78fd3693021516d6774b7d64a67d75cb30b624817b85812a04bc233b1e296522bcc1957f2a0b57cf04961f35dd8ead004a4f6339d1f9c57cdcaf27abfe2e0e6e6537cb2596b0385a3e0d173 -ss = 6f5f733e336bca237f9da083de1978e6e6b80d0d25191ed1b502e315cf0ef2bf +sk = 17061bd1a9b682d6741e754ed82792d3dcc88d3c8e5cd88bed131bf12176af10c5b6d690be325c67ab7b05c67eaba3c3f58838897c5a11861dbf757f9937cbfb01a668c84f2a0ca7627497a4e4417331506cc28c68f550c9ac96eb2030585b306ba62f020281b8b59470f0b59a3c8036132556b381c7cb8d8c365912d2ad91d01442b534fb09bc9a692e5941b90342552207a8d099b0f628cd8acb5f3bea9d5985a050a28f69743f5c22392aa8b185272fa8d19969f5c0f45354eb18b961066305f183dc29891f4784dda37f8c9c058b500e1fa393c2d92f37175c8176cf4fdb746e377f0c97aec1d43da947c889269eba88951d925392225c5eecbe1146b255011236c34517c3b1cff1b91d17823ff4b2273ab1b276c0c89b87b086b3e0588b9ed14ff5e303d465744528388bfb90d42414b1529dda707d2ed515baebb05667580a52ad78a211a8cbc0c8f1274d23504f046e1b84813147255ecb6f18314ab1c3187b876dc97926cee74c00c956ad1341af66a4b89281d1fc2caa2620a806b7a03042c8d401527077ecb91c4fd12f62f0045498b1c43042cf103a9e73430a0c5298f55f4e5517f5e393197a5c9400705758c9a66307d263a5ddf72771857c29a97216a4aad7824e2dda2c3ae7c38bc851bd2c65ed584f789a342f4056f3da3315855c675557cb7b2177c3847b21a777b3b24e74572e1554285347b116a7210248f6307bca828369b8cec51bcca4b707e508c3baf21560b5450e4ac9968ac543485e21722a7f535f26216bd7378fdf28676feb7ede34aafd981a805729c11b4cf9ca7be46a3df96acc14cb4b6908be9a79ae6bd13980e6bd997a1dd8553a98b4569681ce78578330181ec7c1b466d1c226ba0c15a6bfeab52e80a118b0a3c5e9657910063cbc2675b5a724d1f867bf82abe2088e83d3ac0f55827f864b61ccc439906db818319e360fb0707cc0c6bbfca62c7c00b5a1a6341915941d6563acd410afb960c1d626dd7875047129a2b13750e3a6c491616de3b44b1888d2bb5b98e118c4aa6e2e386dc933b441067ec7e6b2bd730fce342c17720ab3d5b7154c8228376c399946f6089f4eaa70736726a20c6e2acc75ddc880fb015477d3ab44c36e047c4bedcba5e2d775628154eca695261b5825ba495f84c925f73c5e86b59fca1a535906c29b0546134469aa2fa9a273e987c50f2b5c1f0b52d79984246c653bcccab49c172a990a72d93ce02c2a9c56a9cc2c8d808b8d6853361f9977db4bca0ad75aa65c76b9c47f3f4715b977580345b13cb945ee374a980a3152e1690469c47f8310d02ca01dec8f1a149e6c1a1a4ff0496c18c8ebc67b79127195341b132947ba62a89871adc0c9b32d951acfe88334189aebf89991c9b73eb0b68e6c2aeaa1455aab124160179ebbcc40667ec7159d8991897cda76e31a8330793fdb035feffcc74e251993913c6aac99e5ecccf5f9289343989bab7640c9c2a9e2c622d0214cf9c696e803d9e119af0a90fba50199032dbf491fa5e260cce4b92b8c9892c8519ab23031d9c3c53c671a4008e8ba31b3d1bd4c9602f045b92e42040ffa00f441579b105562d507d6117a9f5b9fb6e50146ca47faa64165c84a3c9a77a70963e3a6a8a28b658998078cd91cd4599cbc21ca68d13395b907e395b581b490b3007af66cbbdb222d78973b7b69b37c77547669695c347deac03374c209fd163984f03f59a6ae8de53a169041c35c99a4c95f25a759ab6b2f0fda12e1744a85194ffa736be1d67d7977b32eb7ae6bc04220c8846f157aa7d05c12c02eb8d3053059ce8ecc34791953f00077a4e13c001a48c28500c025c4bcd11e5ff83ae9e31e0a6788ad70a71c1c0d5da418c6e6934fc959d70259b606c986c70348cb7cd11a46be201c474b819d8b54b538c78a06a9bcf905da7469d9c045686a3b38e345e64994cc0785fc12073ce961763074f4d2aaab6c059fb67c947889dde52c8ffa432c9171cd16133d337f10546d864b3cf3243b2f3097f3314976c183128aa1a11916e6365749910600e64d96b663b236c43339cf979c717c6b03056081d9ac4301722330e13cdb0a75de4a4099f7a615419c82e10c6eab027447a78303697d8089647263c0b39834986f8da41566dc254891bcf93014b4b33e2be203b4e2c67b4d655c9f1ea4b448fbe32c4996fc298d26cae25d276bcf6e66ba65e3e97791f7310c0531060051469ffcd2f88e3200bec6c721bca1fa4c9e7bf1773d7ccb19c1b070e4e519d727f677e011716436bee9dd0188fe38c00d0ff425ad794c07d1 +m = c83b6ddc081188c55bd3d236d360f73c5cabf211676ecca5a0f2da3550d51ba6 +ct = c128deb89a26115c06321f8746b14ab91d8dc3d007533f4d608dff061706ca6cc39cf992cb89ba0d08f824a5b8b56183d34fba3663d2749e43787601e2647f0f7146717ec43a13744b118284c63e6a284b59f2d4ca12dbd91b1c576b16044c06c0c3c01b8f72b9f11481663b959c473f9dddadc845af4115eec75fc6e35674ef7990811cff5600a39a47f6212be617b378fc199768f17b91e2962310026f22183bb4f61edd2abacd68901ca6446b48ec1949c6a9242d56c586f70f1e137329e95272c53eb834d30f38eabb8c018b3a8dbcf22106028cc6902c5bc75ae47b0f624dd05b4f0e4e4da7321d9e36d5d29bf9f7dd414324fd31168d08bdca8ab06fabb6acae51811469d3e24793ff9cbe82c3db5fa4a443c0042fcb14ad8734a622f630eae6b356bb77202e819a536115519f6a2620261c6b92dd2c17f0af504b7213c85088f25fc359d6af1065694b2080c475e7c0becaff2283abefd227b938638ad27210e85c7782c24bf149fb844aa35a6f3e886635ff2907b024b0c64ab03f268dcb96150e98f6ca60069f5cc435a417c07baf5711b7a67d5f33d796c3ea0487f6a07c4e77023a91e19e41b6b5ef11213224af61e751032009a55114360e13cab1c79edd2acfde5bfe2aff746c010663f6600ce9513745e0510d6f1f1f8f70afbcb7678dceaadb28ccd49c98302e3c7113fd848cd5be6b4a1d3c4058a90ce5f01fe88004ad1e05609db0c90ff83327ccb90a7ba618a1cb60475eb4f86b2e4d07b0c142784fb768149491a1e5b12e779dce8d5dad53d01643184d0f77264fa7b1e91551c314d6d8e669ef861634692ab7ababf6d2c24482594ea463ed7e3312ba278077fe5dfc02a8ce1b985571da3de860342f8f9d879b0e026e33e6beafd53b53ab97e997d2da8f509bb416a35543f4f449c894c5b2783ab0a3c00316195758f755af50e00b03385b6d217549b833cf7c86a85e23c68c6cf8c49ee5474b40563c388f2f94fec8c0fef38811155a9bda5d820c3c72bab6a6acdfdd0701317c2d987f899a460d1b0cae2939d6c76af3d4501eaa6b1e124181fe49f9c446955995 +ss = 3cc88804a427d9b45bd47785146fef6456db8f766c9a4b7d8e7f52395385dedc d = c0407e41ddf48d333978b89bcf2db01e4613425b456249e76a6f25b8a2827bf5 -z = b2dca81e3f5f748d23c9d356a2209f6b2d60247b2e45c9808de497f64f124643 +z = d89cdcf4b8ece9f441926532427f01e9dd71b86ea949a59b14189aaa249aaf77 pk = 2972584323c917fc24681b6168eca204b8210bb3029e05cfb2e08d479b413d987152a0203f0ccafc45625647b57e3796ac904643c73e9cd26653600209a62bc6498de68223c990672470c2a2b77289f41f5e07ac7320500a7c30a9e99544f7837dab6e7b7b7652751457d96e23080432a495f6c7cd2824b791f8c4fab45f0f94a97ed67b576a242131aca3cc9c08833304dba85c07c212951af1303e91206f4a54c45e9ccaa1e96fb07bc27707311aa2a1438a9ce7355dc5861592a4cdfaa13e66245ebe67610de4875b57181e118930e671b34104a38859d203ac064b417a30aa8d23af7c5c732f4c57e8359f0b698de6320e0940a4754904bae082ae6c4d22db5e6dd5ad03665906ca500f6c8d35563ad9109146c89986c3a0b19c8dfd04c52ffaa81153c2e8b6c9f34c366ed52e2438b6132400f3bc06f00c71b6669f02735229b9b1a5b580cf271003b498a6c6826d553cc736a19a6cafe69058ae8717b91842d92bbdeda0670118116b719264465e61d86b975a843a5c62a056b9af8a7cd402a747a6b758da977b12214608cea52540dd390135e28e6160468c97b713826dbaf27aec20b34e07aad340351a64223068318113c5148861aaec535d15368a6b096b559f57b2842713c44d46bf001477ca0c92bb47c5c502b4e5f22e7aa087c26bbb36d9acb0712af2fc7c09e55f1fb71238e33d05d41d186790ad725afef46173134620656449917d3e52320c8542e5d725ece72390f637af286a8457165f5622608c0813da9c78e83334005732246091aa5877e7ae460c18ba856d030a856a749d2740689ef036fa936ff3e25dedc97a72f539b3a32f286a02b79472f28089a6b4b9b42134b6ab252f377e819c233a16be6361a59b4a9d52aa18c18263fec2602ea9b8e9164bca2946a31a892093af891a3369a01e169594d0e50fd5b3b144405ba1139a8d167564943530a26522f3216517144937cb5a14b98300a03d6bb2b8c13eb23355590cb5989a4e26f242ed7b977a36c65e768f21e9417f3180c304009394cef9bb74fe1306337b7100938260c68dfa7910df6c7ecce93fe398af45e12ebeef4308b229c948d425016d674119c0aadefeb21338ba6cedbf7df723 -sk = 96d7a99c7bc70e97783a8b4e9e6c33b02564b94918979154f6117e8edca085a680ed1a205a91a64d62032e0bac503717b040cb5aa25da6c96981069a516336ea5438d97315c4971c3808357ef20c7a9540ba27509ab9410c2a0003c81b0a072f1187239c772829baa0892c22fdd8baf62960fba2118ed5c000d7486dd05e9b252726804078a08a672c12fea5798418cc02c2c8d475833b4ca99906a9b9d91e0c2aa362fbb5962a2ad75a64edabb6f12c1fdd0b7639732c0a2190af04b35409125a3851b4b53ee7591a559986d7f8bab94baacccac6c06c82fdd166f31404da49ad4213c4c7f64941c1a12460abcdb72eb4f6005792cbe2b11707ac56ba54737f082e940004a2a0a57a650e56a45498674df03165500558bfb2a63a9526b0088736c710b2938d7b7a2347277358d8b842ac9127a8bae5cb02a25206f2522bfc0887bec9b13fa170a5f436abc0b3027796fd4aabd3f6054368903de3119b72655bbb30bc4958ef471ce57580cb96b9d875a3cff34b1c8492c412a272db89590cc717006931589e5d546145413a78b7607f38066ab83f8701b874689b5894989460c2fbb108739333ad3928110419c922ade0a21ee5106d7171087d5994951303a4760a99f6ccd75892840ca8947651637cb39266abd80584fd1a197b22b6fea5c50ac1640026bd0e2810a2591440901ece073f29b7c0b2c40f42d71d26997c6db26e77ea3393faa75249030bd0638ec89892fb456e95c1aad8887f00ca3dd704eef8c26560b4caa39874e4271c185ef06ccdf1944fc838a163fb8545f32b107517bca29026878902830524bb51c77ca5b2274aec9106621701664a4eac03268fe109427b2d57f976fbb75a4b39a8d8f663264328ddec9dad23ab87809ef87a16c1b25addf3c308714f57c9489f25a4a7a414c279b7aae576be7c95b2761e242b45b174065d529b480b019cb19c80185a94d6046be2aa95a7c03bf4933fe65765a8cf60577c49c5132865b0f5b265e86543d24a20508157196c5d0bb91b5b247bc200a2cb32215571395e216739b69f69d26905015bbf732aafd63675b12c65156e2972584323c917fc24681b6168eca204b8210bb3029e05cfb2e08d479b413d987152a0203f0ccafc45625647b57e3796ac904643c73e9cd26653600209a62bc6498de68223c990672470c2a2b77289f41f5e07ac7320500a7c30a9e99544f7837dab6e7b7b7652751457d96e23080432a495f6c7cd2824b791f8c4fab45f0f94a97ed67b576a242131aca3cc9c08833304dba85c07c212951af1303e91206f4a54c45e9ccaa1e96fb07bc27707311aa2a1438a9ce7355dc5861592a4cdfaa13e66245ebe67610de4875b57181e118930e671b34104a38859d203ac064b417a30aa8d23af7c5c732f4c57e8359f0b698de6320e0940a4754904bae082ae6c4d22db5e6dd5ad03665906ca500f6c8d35563ad9109146c89986c3a0b19c8dfd04c52ffaa81153c2e8b6c9f34c366ed52e2438b6132400f3bc06f00c71b6669f02735229b9b1a5b580cf271003b498a6c6826d553cc736a19a6cafe69058ae8717b91842d92bbdeda0670118116b719264465e61d86b975a843a5c62a056b9af8a7cd402a747a6b758da977b12214608cea52540dd390135e28e6160468c97b713826dbaf27aec20b34e07aad340351a64223068318113c5148861aaec535d15368a6b096b559f57b2842713c44d46bf001477ca0c92bb47c5c502b4e5f22e7aa087c26bbb36d9acb0712af2fc7c09e55f1fb71238e33d05d41d186790ad725afef46173134620656449917d3e52320c8542e5d725ece72390f637af286a8457165f5622608c0813da9c78e83334005732246091aa5877e7ae460c18ba856d030a856a749d2740689ef036fa936ff3e25dedc97a72f539b3a32f286a02b79472f28089a6b4b9b42134b6ab252f377e819c233a16be6361a59b4a9d52aa18c18263fec2602ea9b8e9164bca2946a31a892093af891a3369a01e169594d0e50fd5b3b144405ba1139a8d167564943530a26522f3216517144937cb5a14b98300a03d6bb2b8c13eb23355590cb5989a4e26f242ed7b977a36c65e768f21e9417f3180c304009394cef9bb74fe1306337b7100938260c68dfa7910df6c7ecce93fe398af45e12ebeef4308b229c948d425016d674119c0aadefeb21338ba6cedbf7df723152c13a9a4dfbade0f98e8a5136358f69c93f0722addc008952cf72e1bf350b1b2dca81e3f5f748d23c9d356a2209f6b2d60247b2e45c9808de497f64f124643 -m = 210a423dadd899b810f011794b79aa7f860823ac1962370e791287d3a1afa384 -ct = 38f2f9e427623dc297863ba3b66a3552beb82c0d64ea8612f542effca7d48a272640150aaee34d44a8305dc5f2b529fc207e0697e90cc77c125728186020b3cd2cebd789ee81c54515c8bdb34a3e2c211e2f94f852d412bdf8905283023fce8c9440c760928070bc5cb2ae570c7c6f6969a4dad3c7fc6c3a36889968816a90effc3e00a4c913773e593553b610e68482122f81539cb17fd7feb63aba1f68315033db4cbd5d5bc410a67d28ccca806e7786260364dccabc914e37a34b4a48980aca672471c69991a0760e33d9df14696d623ac193882e679cd922cb6648fe2aab25d528ad54dd4330f85e33e2135f3f9f8d18f374c13b9b092e3df9a8fea1c8ff186d717e37879bfc0472904ca2fbca05522c13e174c356c6ff779edc4b3571288ce9c7be8c902a9c6d96a99abd60c9316ead5d9e5226b0f657075a4f2cd9e405d41dd02394181cef2ace384ad844195d0df55d28351dd40418a10a3132ee5c2682a8102d1310c1e38138f41bd32837a01241a96fd6e676076cb97b91bdfc5c297f6a580f944d8a194b7726bc99dcbdce259352ec6856fe85624c24dac8baf6d48d436a819f77bb2f7f4978ba8121949a47ac8d69702d9248271fbcef2ec52ee2e3dd638b2ea4f33fb1dea5f5e637968f2c330fbf3d23ac029870554c20d2114f06090fab57562f8d4d477ae126f347fac0f512f9703f6c43874c4b806d38a3709339e3d02c2f841d51ba9f7551976ced35d1f11bd82dcc2ebf84363ac82f5de0a3d170e430064e414fd972a3fb4bd8bb96abff2f7ee5b09b868c509c8580d65df91c75719ee5d579b93d12f53c36b2ddd4cafec2bf67aae8ecb2b4c0240dc58ca47e1f580ec04e71fab1ff39c4a5958e4137f9d37ef14b5c1a45639d98928fd6920f47d136e424e22c13af69e6efb4d73f3e0200e38cb9fe907af0c9fe953c321777ff8dd85cf3020b549cb5f2a7bac07a7a4ee3658f0c8fd1dead727af54024c7efd93d21769a26b8d5374b5aa1063fe2c3e7f8bf353e284337aea2a919087b400471d80fca58d2b462a9251e3becfccc8c704c052c9c3f62e1b8afcb069084 -ss = 8b62b88d64af1fa3441c71c8d94af6fa8247e05429acee7c4e9b085829d913a9 +sk = 96d7a99c7bc70e97783a8b4e9e6c33b02564b94918979154f6117e8edca085a680ed1a205a91a64d62032e0bac503717b040cb5aa25da6c96981069a516336ea5438d97315c4971c3808357ef20c7a9540ba27509ab9410c2a0003c81b0a072f1187239c772829baa0892c22fdd8baf62960fba2118ed5c000d7486dd05e9b252726804078a08a672c12fea5798418cc02c2c8d475833b4ca99906a9b9d91e0c2aa362fbb5962a2ad75a64edabb6f12c1fdd0b7639732c0a2190af04b35409125a3851b4b53ee7591a559986d7f8bab94baacccac6c06c82fdd166f31404da49ad4213c4c7f64941c1a12460abcdb72eb4f6005792cbe2b11707ac56ba54737f082e940004a2a0a57a650e56a45498674df03165500558bfb2a63a9526b0088736c710b2938d7b7a2347277358d8b842ac9127a8bae5cb02a25206f2522bfc0887bec9b13fa170a5f436abc0b3027796fd4aabd3f6054368903de3119b72655bbb30bc4958ef471ce57580cb96b9d875a3cff34b1c8492c412a272db89590cc717006931589e5d546145413a78b7607f38066ab83f8701b874689b5894989460c2fbb108739333ad3928110419c922ade0a21ee5106d7171087d5994951303a4760a99f6ccd75892840ca8947651637cb39266abd80584fd1a197b22b6fea5c50ac1640026bd0e2810a2591440901ece073f29b7c0b2c40f42d71d26997c6db26e77ea3393faa75249030bd0638ec89892fb456e95c1aad8887f00ca3dd704eef8c26560b4caa39874e4271c185ef06ccdf1944fc838a163fb8545f32b107517bca29026878902830524bb51c77ca5b2274aec9106621701664a4eac03268fe109427b2d57f976fbb75a4b39a8d8f663264328ddec9dad23ab87809ef87a16c1b25addf3c308714f57c9489f25a4a7a414c279b7aae576be7c95b2761e242b45b174065d529b480b019cb19c80185a94d6046be2aa95a7c03bf4933fe65765a8cf60577c49c5132865b0f5b265e86543d24a20508157196c5d0bb91b5b247bc200a2cb32215571395e216739b69f69d26905015bbf732aafd63675b12c65156e2972584323c917fc24681b6168eca204b8210bb3029e05cfb2e08d479b413d987152a0203f0ccafc45625647b57e3796ac904643c73e9cd26653600209a62bc6498de68223c990672470c2a2b77289f41f5e07ac7320500a7c30a9e99544f7837dab6e7b7b7652751457d96e23080432a495f6c7cd2824b791f8c4fab45f0f94a97ed67b576a242131aca3cc9c08833304dba85c07c212951af1303e91206f4a54c45e9ccaa1e96fb07bc27707311aa2a1438a9ce7355dc5861592a4cdfaa13e66245ebe67610de4875b57181e118930e671b34104a38859d203ac064b417a30aa8d23af7c5c732f4c57e8359f0b698de6320e0940a4754904bae082ae6c4d22db5e6dd5ad03665906ca500f6c8d35563ad9109146c89986c3a0b19c8dfd04c52ffaa81153c2e8b6c9f34c366ed52e2438b6132400f3bc06f00c71b6669f02735229b9b1a5b580cf271003b498a6c6826d553cc736a19a6cafe69058ae8717b91842d92bbdeda0670118116b719264465e61d86b975a843a5c62a056b9af8a7cd402a747a6b758da977b12214608cea52540dd390135e28e6160468c97b713826dbaf27aec20b34e07aad340351a64223068318113c5148861aaec535d15368a6b096b559f57b2842713c44d46bf001477ca0c92bb47c5c502b4e5f22e7aa087c26bbb36d9acb0712af2fc7c09e55f1fb71238e33d05d41d186790ad725afef46173134620656449917d3e52320c8542e5d725ece72390f637af286a8457165f5622608c0813da9c78e83334005732246091aa5877e7ae460c18ba856d030a856a749d2740689ef036fa936ff3e25dedc97a72f539b3a32f286a02b79472f28089a6b4b9b42134b6ab252f377e819c233a16be6361a59b4a9d52aa18c18263fec2602ea9b8e9164bca2946a31a892093af891a3369a01e169594d0e50fd5b3b144405ba1139a8d167564943530a26522f3216517144937cb5a14b98300a03d6bb2b8c13eb23355590cb5989a4e26f242ed7b977a36c65e768f21e9417f3180c304009394cef9bb74fe1306337b7100938260c68dfa7910df6c7ecce93fe398af45e12ebeef4308b229c948d425016d674119c0aadefeb21338ba6cedbf7df723152c13a9a4dfbade0f98e8a5136358f69c93f0722addc008952cf72e1bf350b1d89cdcf4b8ece9f441926532427f01e9dd71b86ea949a59b14189aaa249aaf77 +m = 5add4ff6b8986e4b0dbc8e05801f48b7fa41aaa10e2311f4fe1e0b010d569862 +ct = 852625fcf86024ec8408d2edc03a06f438671e8e157dbb9357fd0a4d7224c53ad61742c9c8376249c9b2f6a77f2b87cd67bd5c40a400df9f867ac3f13de41bccdffd44cf8c9c8584a8db8a0408616117aaaab0d0dad317e57e89fb4a653ca15f74f633433f2ced2b843c3bd72f63da272ac04006928c883bb2f714b214b1416ec1fd4466a50daff19a8f3690144a7246fd250052e5af595fd660f2667f6cdaed990ccd85239282b3feddf0b500d003c7aa9146ee02f8bfe555e85b88eeb4a940e16ad3278c293ca906fb8a4df6fc58afe9e42e08be863ebeb8432f0c88d97e7ad3b5bad6d284af28f0ecfe078babf4bb36f3921611a038b14953ca000058ae88f1198ecc01ac4ecb268880c04d1a671f1b60cd0774a459ddd041a392635455a6fbd428c6fa90f44fe8fe7e5a687d7fd37d648e49d184fb0fb9005b6ba6e2b4671465dda4f1096b04f5cb1bb597feded44db43ce4bbfcae9b2bc683026a46456392317a61ad6ba035a128a8206f897a30adccd42c120784c445151acf84cebca6933294fc495a24fbdc403ac10f3db8b392feaa52b4eff8cfb609d3f0382bdfc69b67db53edde2a4e095fc04945dec07006ca6934ed713ad96808261ef4bce365476a6fec3e22ec822794632139ced72c05c1468e8155768d1af1fed9cf5b515c83580dd8234cbf982c97b6ce95bbc8b1db2511d1126fb6314adba855c384d16685b622f08d6cefc3a1148edde83620a8557a6b8b1d6464680a6e968c028b3d2e982600548e05b3a7db87349b824462fc2cf978a3ede1a657d7a6f15b6b3d6749b66c7b8f88513f573fca8bc0fead345647ca0ce736b54847a3761e18616d0433078005cbd4e4a1f1541cc4b4c6e1bfe9ad01e8ffbb4c66b9a77f5f969c5e31874dc7ae185e649f8478b8a1a8d9eea7347f457793d405088f9c1ea3b2fbcaee1b879e08a88794fbe014ffc2a04fba786ef3f8300522eab4850f05d281343388136baef89f3822f7b29bb3e4e5b52753194270e0f49766256aa17d91c0067f4503fd8498278272ed96fd9416960effe30c14fddd54ae3f65c5ae0b07ab6487951b +ss = 4058355012b1e83bfb930d6ea76546719058debcf9d89ec15ec675240cb29a59 d = 334382d39164d1989696a2ff77b25a28af8bead9883b5365eb6fcca7c1781cc9 -z = aba5068af837be962f439f233593d193ce5e08f7d66efb3389885927b89d2523 +z = 8aae27e7d301495dab212a61fd3f209a8068fcf9a61ad83463c00d2cab426633 pk = 3a090559a1773744077304007ce9af65672c5f221ca99685b84abb134800f5616b734c184107c8c5892c437b8aa3d0882929b8dbe394c1680e33dc2c706c8db227c292fb0a89a8a29261bde4fc1dc12663e8ac502e473e58d6206a90602ed87675287ae301d0ae94ca923ac8672a031b5840de90121b72c58310cd924c12787428adb9b09ea0b8a2226b84e9b5cbc2930122b5027c70a694238f78c8381078393178c936b8de4c204b4a31f9f72bdde751cdd0b31b2c840752181d838ad37c637cfc7584f37686fb3a31020a81db35c5f7af49071470b9c468dccd7c258780cbaece579819d8c766e873b6468718f60da09539fb7a34de11a70c45ad71918925467d8807cf8788318fd010a6a57ac83473d332bb9f2411cffbc7eac87cb7c9b1fd456dcf74896422513ae691cac20d03172728b11d5ecb9b9c8b520bc628eb5724e1b415fb8b99b519c1700537c2a22a2fe52e45a748ad5b7f4366b33b5a2cd8192f9ea406e181b4ba47459aa08033498b6c1cab1fa0327df5afc5a87f0806c6b26159886b40b3c8b068a7208dd12a7c150a679cbadf3b27457883231a8c351c04640099efb363bc962262d9570ff8b425d206227175de94c5cc010d9a3277e2c0055d84475501877d608156868708d5c725357b9df9b47e4c9d7819c310900df9926c0ef230999aa2b420860a6b7fdd020fe0345e8d539c5c839c3c11a270f360e2f93fb61507fd86442379029737823bdc445f05a9ad3c7e29804068fa96035a95459509b53c426e9188a0f016e8857182119ae936656d60072549557891c4fe0278791b58e1d0bcc4b322ab249865650be6946f319c7f0bf58c72b819b79c1b78982b2e24a8b15a1c166cbd3feb06eda478fab90ce7b16935bc4880f78f7d2a80b5b41095a53f19f46ccdb84bfbba460d1c33eb923eb56024dd437cc256a610920a650bbcd3f54b8ed8b1b0814e6f4acf94617e2b68735210bd263597195a6b59864c21e371c1d947f6357a4e064fae992dae617500794af82a5911c15dac3416ffb21ba5815b79a79c30ba72b66bb5d8d2800e581579219b2f0688d87a1346f0f10feb3f0fa52eaad4f2d4c36e59ca0a5389566fad53898992a17bbe0a0f -sk = f3d4a8bba18dcb278d29b99dffecb79ac90496826fa0351f37495ef081b1e0a64b680b95f136caeb851aa2d58905f06d67220eb4834260140be1ca248adc2d78a05e4d41815405be653b1585a78e64cb52e4a656eee07f2d4a39ca50894fc02916f0a86c6939b3514e446cbfa0e05cefd2cd26965260cb967a09485e2cc8dd6c0d7c452f281005e10a62b047217864055c78bf2de7208b92b0e0a01e15315bafac07ed3c1a748a1c8bc6c81ae21afb04ba76017a1bc920fe546c949235ca61b37a3612506350c7eb5202f267afe01350f979ea679f21420c7eaa4818e5180b258edb390a21588f0362647632a00d150fdc540bfa785ea2680e5e90a8d58962cfca3da824138ca3c8e7d448d5080895f85625372028a5176932991779030ae8c04e328e01f1574d1c4ad70acd2b197f9da55d01a7c8920914896584c9fa8a6c9183b05319e2395464893c491a34453451295681b9e15908d16986a80016c0bf2153bc4b18cf59300d45a00ade932ab816c5cf10cd72a4b1a3f831ace60f0116594b0cb96b8b1615099e92887ffa7744a3e769e6bb6072b70385fc0bd30000273291b101cb1bd77ea7abb5bd7a53f70a806419022d873360f96a636b1d0d59257280c94620335603a3b8a73d85a1a0ed709680e04c5aa233fdd67c8ac5b20ed115fd2c892a6579c308bc9a693d3376338c64b855169246a98428e49af4a24b8d53cb4ee5be29112001e103e7589937618556221910401d0471c12b6743a6b2b3c701a72a6a859d933eb7833a423b5622c02d078b6ac1a2582c30cf208895e76b4b226cc547cb1dd6e376b34199534aa103b417cad5a67862531265c28506051ef180b9e67b3ea1a40f598e78908a9e047961b5908501417f12667b0a7a873a856c1ba921b5cd4d61265936542ba1ba0dd619754119fb9c91c5951b9fdc1945f32f02c2b0c7c8c20ad3805b13cb861ac28634828c31595ab163c343aabf1351738514189232369b0c92582555111a35d074ebfa6aa81333890a39b370bff7bb7dc6384000274575083c32bc004c2a88c5a82a38fb682ca00593f72487f3403702c33a090559a1773744077304007ce9af65672c5f221ca99685b84abb134800f5616b734c184107c8c5892c437b8aa3d0882929b8dbe394c1680e33dc2c706c8db227c292fb0a89a8a29261bde4fc1dc12663e8ac502e473e58d6206a90602ed87675287ae301d0ae94ca923ac8672a031b5840de90121b72c58310cd924c12787428adb9b09ea0b8a2226b84e9b5cbc2930122b5027c70a694238f78c8381078393178c936b8de4c204b4a31f9f72bdde751cdd0b31b2c840752181d838ad37c637cfc7584f37686fb3a31020a81db35c5f7af49071470b9c468dccd7c258780cbaece579819d8c766e873b6468718f60da09539fb7a34de11a70c45ad71918925467d8807cf8788318fd010a6a57ac83473d332bb9f2411cffbc7eac87cb7c9b1fd456dcf74896422513ae691cac20d03172728b11d5ecb9b9c8b520bc628eb5724e1b415fb8b99b519c1700537c2a22a2fe52e45a748ad5b7f4366b33b5a2cd8192f9ea406e181b4ba47459aa08033498b6c1cab1fa0327df5afc5a87f0806c6b26159886b40b3c8b068a7208dd12a7c150a679cbadf3b27457883231a8c351c04640099efb363bc962262d9570ff8b425d206227175de94c5cc010d9a3277e2c0055d84475501877d608156868708d5c725357b9df9b47e4c9d7819c310900df9926c0ef230999aa2b420860a6b7fdd020fe0345e8d539c5c839c3c11a270f360e2f93fb61507fd86442379029737823bdc445f05a9ad3c7e29804068fa96035a95459509b53c426e9188a0f016e8857182119ae936656d60072549557891c4fe0278791b58e1d0bcc4b322ab249865650be6946f319c7f0bf58c72b819b79c1b78982b2e24a8b15a1c166cbd3feb06eda478fab90ce7b16935bc4880f78f7d2a80b5b41095a53f19f46ccdb84bfbba460d1c33eb923eb56024dd437cc256a610920a650bbcd3f54b8ed8b1b0814e6f4acf94617e2b68735210bd263597195a6b59864c21e371c1d947f6357a4e064fae992dae617500794af82a5911c15dac3416ffb21ba5815b79a79c30ba72b66bb5d8d2800e581579219b2f0688d87a1346f0f10feb3f0fa52eaad4f2d4c36e59ca0a5389566fad53898992a17bbe0a0f97e5b18cff525ef46fd8a6aa6e5e4b8d953fe1e67b5771d1b99ff18e754553beaba5068af837be962f439f233593d193ce5e08f7d66efb3389885927b89d2523 -m = bc856afe24213e3d14c3d6f9b89223bbcfb2c890722d770fa3492c1e46d1c302 -ct = 7e9f45f665e2350b8ec108f03a85ac97fb7dcfb377112903e0c81cdd0c371a9166078ed919ff36910802d33aedfc643092ff7f37d101a7acedf6c6c5e9cf09e1b214dfb1f3b8f0e3e99895f13204fb4342e19ef8d06f4bcb6fe5a57249881f48252337d643cf8adc2e666f0cfa75de892df715e76e9a2ca85d0061c83a36d795ebc589ccade500ff1d59a0013c0e3c38063bb352e0e8fc06fd9f13deddf5ebccbcb911572e3bed5887c65b7b6153f147d2f8d9e97ba882b83c4afcea3380c431f93de82c83cd9cbed4cd511b7dd54931a0ba3a5cdc01de78a2718c77a1d3503337112759ab0d2e602168e9dc1c8458e832fc90f592c94fc9d2f08d82de315ec6c564dec45f1380fd61baee471b98f223c60003027733776692f61473ec5c12d1d0335ebb478f4a2d6f14748d92cf69d67c970e87640c9e2dfa55feb4124b2c857dbec830ff13767c0424ba261c9467829f79cb58522a1ecc3fe20e7d8d9ce5206523570e3edc8ef54a417cf3b5b63f662f8f4d7a1cc30cf79ef438b679a9b50765b4f02fd3d0c27cd98f012adfac04553d0a13aa91c7934132173c6b6743caf39563d7005871e2b04f947231db470e35df2df7b98e5b1c9514ebf5eff4b6ead1e47af7bfbfa88dd75ecc67d2386be109a62a52e457464e2c4b7fb279777699cb44298215f758e16389d41d25b92e6c075e9c3887182e4bd959cf18df8d94861dbbed4348cf2baa1c3e5aca8d3fa5adcc8e8ecd883b1df6bd1cf9517ff0417bf73fa690f22d9d94cfdf8ece9ce1bbba9d4306d75862b3a8a2113b235eac6022d711330fd2f4d413c4dcdcaa6e255361506d75fa61ad292051f490c0a02233c51757414935c92579801ed4ef5860c20283400a613bb58b81586096a4ae4e8c39074a9d6721cf20b9663335c037371c407efddde61984006e6c2a07a5348659c7076966f31e4059a5f722fda002ab89b320f3b19abc701d96176fb0153bc45755639698906861fc5574cffd1dd689f95b9325726ad7c5d6e8b201b1efa86f19b6e3a6cac08d93ef226e0b697876a9849866990e0263a90e19e4677748ccb01d498d -ss = 61cf302ae28614b03f8b1ef1ee98447e9a7d7fb7d48a9634e6556c4fddebb3dd +sk = f3d4a8bba18dcb278d29b99dffecb79ac90496826fa0351f37495ef081b1e0a64b680b95f136caeb851aa2d58905f06d67220eb4834260140be1ca248adc2d78a05e4d41815405be653b1585a78e64cb52e4a656eee07f2d4a39ca50894fc02916f0a86c6939b3514e446cbfa0e05cefd2cd26965260cb967a09485e2cc8dd6c0d7c452f281005e10a62b047217864055c78bf2de7208b92b0e0a01e15315bafac07ed3c1a748a1c8bc6c81ae21afb04ba76017a1bc920fe546c949235ca61b37a3612506350c7eb5202f267afe01350f979ea679f21420c7eaa4818e5180b258edb390a21588f0362647632a00d150fdc540bfa785ea2680e5e90a8d58962cfca3da824138ca3c8e7d448d5080895f85625372028a5176932991779030ae8c04e328e01f1574d1c4ad70acd2b197f9da55d01a7c8920914896584c9fa8a6c9183b05319e2395464893c491a34453451295681b9e15908d16986a80016c0bf2153bc4b18cf59300d45a00ade932ab816c5cf10cd72a4b1a3f831ace60f0116594b0cb96b8b1615099e92887ffa7744a3e769e6bb6072b70385fc0bd30000273291b101cb1bd77ea7abb5bd7a53f70a806419022d873360f96a636b1d0d59257280c94620335603a3b8a73d85a1a0ed709680e04c5aa233fdd67c8ac5b20ed115fd2c892a6579c308bc9a693d3376338c64b855169246a98428e49af4a24b8d53cb4ee5be29112001e103e7589937618556221910401d0471c12b6743a6b2b3c701a72a6a859d933eb7833a423b5622c02d078b6ac1a2582c30cf208895e76b4b226cc547cb1dd6e376b34199534aa103b417cad5a67862531265c28506051ef180b9e67b3ea1a40f598e78908a9e047961b5908501417f12667b0a7a873a856c1ba921b5cd4d61265936542ba1ba0dd619754119fb9c91c5951b9fdc1945f32f02c2b0c7c8c20ad3805b13cb861ac28634828c31595ab163c343aabf1351738514189232369b0c92582555111a35d074ebfa6aa81333890a39b370bff7bb7dc6384000274575083c32bc004c2a88c5a82a38fb682ca00593f72487f3403702c33a090559a1773744077304007ce9af65672c5f221ca99685b84abb134800f5616b734c184107c8c5892c437b8aa3d0882929b8dbe394c1680e33dc2c706c8db227c292fb0a89a8a29261bde4fc1dc12663e8ac502e473e58d6206a90602ed87675287ae301d0ae94ca923ac8672a031b5840de90121b72c58310cd924c12787428adb9b09ea0b8a2226b84e9b5cbc2930122b5027c70a694238f78c8381078393178c936b8de4c204b4a31f9f72bdde751cdd0b31b2c840752181d838ad37c637cfc7584f37686fb3a31020a81db35c5f7af49071470b9c468dccd7c258780cbaece579819d8c766e873b6468718f60da09539fb7a34de11a70c45ad71918925467d8807cf8788318fd010a6a57ac83473d332bb9f2411cffbc7eac87cb7c9b1fd456dcf74896422513ae691cac20d03172728b11d5ecb9b9c8b520bc628eb5724e1b415fb8b99b519c1700537c2a22a2fe52e45a748ad5b7f4366b33b5a2cd8192f9ea406e181b4ba47459aa08033498b6c1cab1fa0327df5afc5a87f0806c6b26159886b40b3c8b068a7208dd12a7c150a679cbadf3b27457883231a8c351c04640099efb363bc962262d9570ff8b425d206227175de94c5cc010d9a3277e2c0055d84475501877d608156868708d5c725357b9df9b47e4c9d7819c310900df9926c0ef230999aa2b420860a6b7fdd020fe0345e8d539c5c839c3c11a270f360e2f93fb61507fd86442379029737823bdc445f05a9ad3c7e29804068fa96035a95459509b53c426e9188a0f016e8857182119ae936656d60072549557891c4fe0278791b58e1d0bcc4b322ab249865650be6946f319c7f0bf58c72b819b79c1b78982b2e24a8b15a1c166cbd3feb06eda478fab90ce7b16935bc4880f78f7d2a80b5b41095a53f19f46ccdb84bfbba460d1c33eb923eb56024dd437cc256a610920a650bbcd3f54b8ed8b1b0814e6f4acf94617e2b68735210bd263597195a6b59864c21e371c1d947f6357a4e064fae992dae617500794af82a5911c15dac3416ffb21ba5815b79a79c30ba72b66bb5d8d2800e581579219b2f0688d87a1346f0f10feb3f0fa52eaad4f2d4c36e59ca0a5389566fad53898992a17bbe0a0f97e5b18cff525ef46fd8a6aa6e5e4b8d953fe1e67b5771d1b99ff18e754553be8aae27e7d301495dab212a61fd3f209a8068fcf9a61ad83463c00d2cab426633 +m = f9e9fd68166f1efe1916c2e0868e30cd14ca6a7e07c44a1e5ecad722d016a3bd +ct = b4bcba288e8df2f127416773bfee8cffb3c9f5f34ead59c4e9993943d97511d45a96be945901baceb6a606704748fa5f257295c8cea00b56d030a437458aa0dc68edb30ba4feb530f260bc2147c950d50b9d352b50898f87affada2d99b16d430b5104f884d2aa1f56135059c9b361c65809dc7d8e209055664429a8f69934e7f2a204d35012468a57c45df2a0821bb75a15e5ab0072c4a85092a8237a8067cfe8c7e0c3127be078bee2bd8a6fcf5cfaa14f8ea5e202b480a6d4ff6efef9f73ac037d1ba95237890259767f4aceea1e6793f157107d675287f6ae493c6ffb479cfda1a845690e66d5caa7cc6158d675dccd7f861ddaaeb6cbc4f7dabe27f70b143c9ba3e3b99c4526a1a387240902519d2719a923553b2a9cb60452dfa0cd2865bd8fc790efc529ca541c8e513422f3fe2566a7eb96ebbce2a945749d4859a67e0f6ff52ba609108cab6a23ad518a7a6d7482ef2f2b19afa85706a23a8a756075ef54ef729d2d258252f4a536be366ee87214111960204b03eafdb16e6eb59d8df499830ebcae86e4f66989b840e94eec4a590aa7eb2607d809af6f3137f258e762c85f1b8d2aa579537647de8a2825bde7422e906839610f02fee6974f948b0795b90549297bc74b67f7643f2636c998bc485b51f469552e03cdbf27aa10f34a95cbe74097b4a2961d72e4b3e2c9ef4e8a1212445f2be9615c18b02e20457455a391ac688abd05b1c6b2ab4e0debe1e91e898f0b746f4b51c24da1313094621426dd178c80cb8124c6827650d6bdeb46e4618c9aed6d11930e33cbd5712646e21ea9acd095aa521059d6df75c5cf5fcdd4b81a009aeefa5e038135e42ccacc4ab636c168eaf0173c212d6feaf88c4b00a05e353643fb256c9f073514ce813e4ad84a3609cafaed52fbd5cd6ccb3c5d9c87a1ba206015dfbd5c9630cae02bb432288088c8bd10d85835b19a2efc7c78ef6769d1df49841b5f91993f33e48572c9123c86cc0021d4e7691562e735e91672e80715a207351349cf66e453cc38a079ce98483729123f79e15ad9c42c05c61121cb07d58e11a4d603d1d9b60e469eb +ss = fa815fde6bdaf1d989e210afdf4b11804db08849cd0207f9f15183626d9cbfb7 d = 6995143e8eb8a6e93840f76eec844f67d2b5f75b1839a5040337e61f9806764a -z = 0f4dff8e56f68440836a072412a30d851ace2c7c6f02d60e7a8420001a63e6c6 +z = c30e299218d4a39c2ea3fc06439fc4c411e99bbc34b8f30d23845e91e71fef3c pk = 1cc61043d28bba4a2b4ed1c19f1369c6d7578ada06533b0dd8ab5afbb3bdc5b601ff108031d017b3d89aa253c90c7a4a7e368d528773b62c6aa38046de9b6651cb1f5c353a1f2c99a3e7bbf1679357219417c10b5c1c60348c5c22424807903ea4e9c685aa5b53da5ff92034c7c15a51777d7a637529a274e767539bd68f2b0281a8e13c08210f17ea7168b210830b0d07bb61e22b2f87323c8debc3c97a399de71590a23806f1903ce109ab804c5657290407463ae5bbe24c7fa62230c83288eab45edbc28248d89890491b32ec4d214263557b053f0642f327c78d3565df61796376a6e04a1d068198125ca6826a4c34e65e30a7946deabddd3062178253847c37f92a9cd1a749f1d12fab1cbc0017b468426d8bcc26422cc85e97199420a9367000e7f52e17b4bd5dbb6400bc42182cced4c564ac160d2932ad801650cdf29ca854a0b2d8918a3a2320c5915c1b37e6b3b0f08280fde7c6f2543d2c27728dfc8eef776ba012860ed55906a3a28ca88d5550b540538272c01ea0f83b78465ab8f062df740da6d31ed95a53b5ab8301b79d8ec6a5fc503bb0a6b57ec99085da37b3262843017f9e572b15c7b8aec40ef66755a1ac91856a8d0c8a0b1572a676b8ac671908c210c82c5900abf4696e2c73ebf3ccc4b76df3f74b930977fd616d31f48248c578a8d63b14bb48fe5c259f9734760944ae78164ceb699b1623ee648330019d79b49b650a33b841622b0061a4b79331a03da78b1b70a3901f42159bb4bf7e1512fe8483eff80e3e241bd94aa8740862a3800313b0c160a1302122951b620255d6c8beb52c7aa2ca1fe1858bb60b6e6077a8cb8816f64ce348c4f38791a5185121b67225f7a166d38003dbb27213bc6d0058bf5477d358b630b42daf131ecae24e7f33960841415585101de67d96e2349962685fab259c312d175326268c807e036836f75d43e61cc65274e42b37d874b2c989044dec8aef59a2663047d8f6a0eef1649d7150b20230cc279baaac5e2a30c84bb1bb6475bd2d4a201863ad207674f4dc25a3c07cf9fb25b1d83b9cd3942b50c423d0b31a46c562a8378d8caee564224faa36c70ecd281b67eb98908468420b38f3c24da9290ea98b24 -sk = d21b758292aa9a363fd0cc835cd370b7c23acc51348efa05e2ec1e6cc6aa13e81f40da39dea5bd71836aaf33196909cc13005c5ad26b75b6b0f4f233268b710277acfe0a3325e384d58abb7ccc0677258dc269a1f312b33f889826061abc5a7cab01cf7d6733a86089dab2c01c8214e21b0237eb4f0b446e083bae64ec26eeca1bbf8b77042226ce478fb44c5aca031935fc9478c401a92abd659c8d3cc142ae72943c669f265ab9d9d6283d8badfda1ad3d533895630dc31559578cb89aa6153563be7366909f949be80b5f4eb12aa49c6400a298a60c00a2fa36b886437223bb55b81598912213e188a210c9b6b49b329310a990c44f96ad8ed42fbdb31200521c5756c1d500a4f9b7c3310827e5c9952b9972e7328c38c668d1d1bb0f199d8b917acf7047278245a6d06d2d8bb800643210f7a1373667c9450447f86e0f067f57c16469409cbbe77abdb65f652b2c33456b1e87428d0abdae211436b46a035b630169ae1f044adf26564841240a3a956fa7ba0b931baed47c93364b6ca8273a195e75fca7bd52451e5c92c78b16c9f19bbe431ab8f26ac3dc797d96793e289882585edb1a7a39c51a60242e330401f0d3b1d0dc29000287d2569139e05d0816421bf03e509278e79ba645c66602592429799d962a6e02a61682b410b38963d0f8363ce43f08759cc987b5986ab366a87e05c430c78281c72864948282d3ca682e42bf42c57c91fb09c2b596b33083289b5a0b39c997d6b585653fbd9122f6123308177bf6d6ca614255989ca6451783e607b06bbb0533ac5634722a267733d67747c8447366587f6be662daa3bf86d078f946070971a1e823c4f0a919f329cf584317b3d9a468c13b5d398c33592272175fbe27bd7a30ce0f0284e5f380ae4947d5170c67b3ac0ed955c81a9ebd5845aa38659f186756cb94d41698b3e1387bccc8eb03186e34bcdd0532e775749ea928c8eb886ee0bcbf204e62b050b199807d216428d48ebaa108e3ea9783a340c6803ba1b206e5fa107982534c33cf9b757af7459ee86a1fed072530d31c411741718b8bb977b60242ba45437f8209871cc61043d28bba4a2b4ed1c19f1369c6d7578ada06533b0dd8ab5afbb3bdc5b601ff108031d017b3d89aa253c90c7a4a7e368d528773b62c6aa38046de9b6651cb1f5c353a1f2c99a3e7bbf1679357219417c10b5c1c60348c5c22424807903ea4e9c685aa5b53da5ff92034c7c15a51777d7a637529a274e767539bd68f2b0281a8e13c08210f17ea7168b210830b0d07bb61e22b2f87323c8debc3c97a399de71590a23806f1903ce109ab804c5657290407463ae5bbe24c7fa62230c83288eab45edbc28248d89890491b32ec4d214263557b053f0642f327c78d3565df61796376a6e04a1d068198125ca6826a4c34e65e30a7946deabddd3062178253847c37f92a9cd1a749f1d12fab1cbc0017b468426d8bcc26422cc85e97199420a9367000e7f52e17b4bd5dbb6400bc42182cced4c564ac160d2932ad801650cdf29ca854a0b2d8918a3a2320c5915c1b37e6b3b0f08280fde7c6f2543d2c27728dfc8eef776ba012860ed55906a3a28ca88d5550b540538272c01ea0f83b78465ab8f062df740da6d31ed95a53b5ab8301b79d8ec6a5fc503bb0a6b57ec99085da37b3262843017f9e572b15c7b8aec40ef66755a1ac91856a8d0c8a0b1572a676b8ac671908c210c82c5900abf4696e2c73ebf3ccc4b76df3f74b930977fd616d31f48248c578a8d63b14bb48fe5c259f9734760944ae78164ceb699b1623ee648330019d79b49b650a33b841622b0061a4b79331a03da78b1b70a3901f42159bb4bf7e1512fe8483eff80e3e241bd94aa8740862a3800313b0c160a1302122951b620255d6c8beb52c7aa2ca1fe1858bb60b6e6077a8cb8816f64ce348c4f38791a5185121b67225f7a166d38003dbb27213bc6d0058bf5477d358b630b42daf131ecae24e7f33960841415585101de67d96e2349962685fab259c312d175326268c807e036836f75d43e61cc65274e42b37d874b2c989044dec8aef59a2663047d8f6a0eef1649d7150b20230cc279baaac5e2a30c84bb1bb6475bd2d4a201863ad207674f4dc25a3c07cf9fb25b1d83b9cd3942b50c423d0b31a46c562a8378d8caee564224faa36c70ecd281b67eb98908468420b38f3c24da9290ea98b247b5c67fa6e0ff374f691540fff0b4d14d4ed8a8a8c48b14b2a35facb413a5ee60f4dff8e56f68440836a072412a30d851ace2c7c6f02d60e7a8420001a63e6c6 -m = 5fc00f89563e44b24cd67d0ce684effe5731619fd08e7d72e2406eb016afb66b -ct = 4328f6b71dbb7142a9f469b9853e60bf053f643dd12320ab8e46bfec7566b4ec2489485a4d46b9d3086052298b41034f239fc6f561932834675cc4e1c7a6a4f6ac34d56079b8b24996b0c98ed7156a1cb55e1d8df59a1617fcad5e7469d9b5f78d32666928579425314eea9cbf059ad8fdc06326a3fa8a9bfae06c51f68983a90a222a7766c0152bfabae0ac763a6c652c61f511bdfa4e6db4d8af3e46c0614bceb32929f80c8a62b89938aa0f099b4b726198f14c452fe084943ed005730b834cc4374c26f47077ce17a70496681e4d0f70caa0a9dd0da0472731aa3c40685a5800da0dc88ca4b93915994ab987d70679f732b2092d4941a252deda05d792411ab515f410f2b9992c72708f63f3e67fa5377abe2b22952bfa9f3e9c442f61f9a47af9c46d006eda2650edd630b7b0265bd355daa39182391b74ecfb58a56d8e6e48ad6b8c8a936a6d2f7ff5feaf828084aa3bb3e47b897dcaa49e1bea6a60724113714b651fe64f7d49262ea1d90373ada9b16af930b92f55ba1f4250784e87aac80f67625f51314484335316ac5a3bb77508600db1735f2b17717c0e1ad9a6140e0f81a27ea242ea7c42cbc9ea2edea9066064407dea0bae9c465aff05842160cc1f510c027ae356e9a07247d7f922db11bdd34d5c474450928bf751890af03b0781b7b869dcf079d9004f0ea387d5efd977049f9e632fafd8b2b0f6f89f91e95bcfc280d4eb41aa3c8a29527ffd7e4385971d5feeda0d234cf88b3e2bd01bc4b959e238f4470198723561debe6f6fd3cfc684094d43a507253c522bf8e1dfde027c5b47b5c9683510c68a50c10ed00454cf9b6ec95f22482de3a2c19feff53e7ff9472464a24b82617fae8b60a42b6dc18aa47ea7f564b894fc22dfee775139df0fe0cc9f5676f1dd380acac3d3922088dcc60348c04afc89a46f94a79fdff225ed0d224521229a702d551875c84413945992daae6659753080f2127f1d0aaf8e3825a11354a2bf5c6310ba46ac50f6484c8629d992e963000a8e591f89dee5d85e01412f18e1b1a59d8543a195d1cc9817152c9f2dac4209003c0b3c6ea4 -ss = 813311404f3e913ab4f7fff6a7ca639e0fd2ffea9a5113c3fb00f1c910c34ef6 +sk = d21b758292aa9a363fd0cc835cd370b7c23acc51348efa05e2ec1e6cc6aa13e81f40da39dea5bd71836aaf33196909cc13005c5ad26b75b6b0f4f233268b710277acfe0a3325e384d58abb7ccc0677258dc269a1f312b33f889826061abc5a7cab01cf7d6733a86089dab2c01c8214e21b0237eb4f0b446e083bae64ec26eeca1bbf8b77042226ce478fb44c5aca031935fc9478c401a92abd659c8d3cc142ae72943c669f265ab9d9d6283d8badfda1ad3d533895630dc31559578cb89aa6153563be7366909f949be80b5f4eb12aa49c6400a298a60c00a2fa36b886437223bb55b81598912213e188a210c9b6b49b329310a990c44f96ad8ed42fbdb31200521c5756c1d500a4f9b7c3310827e5c9952b9972e7328c38c668d1d1bb0f199d8b917acf7047278245a6d06d2d8bb800643210f7a1373667c9450447f86e0f067f57c16469409cbbe77abdb65f652b2c33456b1e87428d0abdae211436b46a035b630169ae1f044adf26564841240a3a956fa7ba0b931baed47c93364b6ca8273a195e75fca7bd52451e5c92c78b16c9f19bbe431ab8f26ac3dc797d96793e289882585edb1a7a39c51a60242e330401f0d3b1d0dc29000287d2569139e05d0816421bf03e509278e79ba645c66602592429799d962a6e02a61682b410b38963d0f8363ce43f08759cc987b5986ab366a87e05c430c78281c72864948282d3ca682e42bf42c57c91fb09c2b596b33083289b5a0b39c997d6b585653fbd9122f6123308177bf6d6ca614255989ca6451783e607b06bbb0533ac5634722a267733d67747c8447366587f6be662daa3bf86d078f946070971a1e823c4f0a919f329cf584317b3d9a468c13b5d398c33592272175fbe27bd7a30ce0f0284e5f380ae4947d5170c67b3ac0ed955c81a9ebd5845aa38659f186756cb94d41698b3e1387bccc8eb03186e34bcdd0532e775749ea928c8eb886ee0bcbf204e62b050b199807d216428d48ebaa108e3ea9783a340c6803ba1b206e5fa107982534c33cf9b757af7459ee86a1fed072530d31c411741718b8bb977b60242ba45437f8209871cc61043d28bba4a2b4ed1c19f1369c6d7578ada06533b0dd8ab5afbb3bdc5b601ff108031d017b3d89aa253c90c7a4a7e368d528773b62c6aa38046de9b6651cb1f5c353a1f2c99a3e7bbf1679357219417c10b5c1c60348c5c22424807903ea4e9c685aa5b53da5ff92034c7c15a51777d7a637529a274e767539bd68f2b0281a8e13c08210f17ea7168b210830b0d07bb61e22b2f87323c8debc3c97a399de71590a23806f1903ce109ab804c5657290407463ae5bbe24c7fa62230c83288eab45edbc28248d89890491b32ec4d214263557b053f0642f327c78d3565df61796376a6e04a1d068198125ca6826a4c34e65e30a7946deabddd3062178253847c37f92a9cd1a749f1d12fab1cbc0017b468426d8bcc26422cc85e97199420a9367000e7f52e17b4bd5dbb6400bc42182cced4c564ac160d2932ad801650cdf29ca854a0b2d8918a3a2320c5915c1b37e6b3b0f08280fde7c6f2543d2c27728dfc8eef776ba012860ed55906a3a28ca88d5550b540538272c01ea0f83b78465ab8f062df740da6d31ed95a53b5ab8301b79d8ec6a5fc503bb0a6b57ec99085da37b3262843017f9e572b15c7b8aec40ef66755a1ac91856a8d0c8a0b1572a676b8ac671908c210c82c5900abf4696e2c73ebf3ccc4b76df3f74b930977fd616d31f48248c578a8d63b14bb48fe5c259f9734760944ae78164ceb699b1623ee648330019d79b49b650a33b841622b0061a4b79331a03da78b1b70a3901f42159bb4bf7e1512fe8483eff80e3e241bd94aa8740862a3800313b0c160a1302122951b620255d6c8beb52c7aa2ca1fe1858bb60b6e6077a8cb8816f64ce348c4f38791a5185121b67225f7a166d38003dbb27213bc6d0058bf5477d358b630b42daf131ecae24e7f33960841415585101de67d96e2349962685fab259c312d175326268c807e036836f75d43e61cc65274e42b37d874b2c989044dec8aef59a2663047d8f6a0eef1649d7150b20230cc279baaac5e2a30c84bb1bb6475bd2d4a201863ad207674f4dc25a3c07cf9fb25b1d83b9cd3942b50c423d0b31a46c562a8378d8caee564224faa36c70ecd281b67eb98908468420b38f3c24da9290ea98b247b5c67fa6e0ff374f691540fff0b4d14d4ed8a8a8c48b14b2a35facb413a5ee6c30e299218d4a39c2ea3fc06439fc4c411e99bbc34b8f30d23845e91e71fef3c +m = f866365324cfdf8254ea0b73b7947496f9fd24bfdc562db4857ef5c659441cf5 +ct = 5821df8d69d836973a007630684b96d7618aa21df0b72499d47453d62fb10bf15b066d01b17b209b56fca4c50aae3944ee020fe17e0bb51119c31acce7f67d51af9f3f5badfc60403b953ebc4b218be4f9da6dc5c33bdeeae5198f90078a3e80771d11f7e2dd24049dfaacc269354529f4abe4eae73dc0fd9fc89c1f4dafd1eb36be2c9bc274141c3d79fb7afaf19c0fe2df1aeb2e7c9d5725d9ee46a8a91e6d38259652833b5cd0a931c81248ad3836c144fa6f7255922d6f042629d92ce1d4d12cef2b70a449a5411da7010a66a0c51b64136b3fe3329df924bd714b1c325ff57e04917a2caab28bafbdfcdd4695ab10164445df1c6130e9b73a7e61e5491da050b745cb643624f0776f16cb060f648dbe0a794dbb115d37eae05733ff58582d0ea6c165eab0a95882bb49b58abb0787b50fd8b22a6fd5f5e6f22b1d9644233225b07aa30a589f0fcb3af0f83e950394a98121e7c108ea6917a175f9123a3e07a75addaa79f3d84e88a79782a3f00ac0ee5695aca69bc577eb9ae5f99099371c6e62a33f9ed41176861dfcfcca574b7dd0475b345a3db3af8a4af613c02341dadca1b551e8dcc4b3f424852f3a09ddbe1fe67851e3418843646c4235402f516335e251f9b7face1cc5dbbac9c07b871ec82564ab8f719f4805f62c228a09aa0c2efecab7188ec105b70a410ad6f5a304f763cd501c03c6e7c5e22305fe158b2edac0d2a59100f7af153876eb4ee59b236bc0fb7e5cbfae339edff3e821bfc0eacee75ddfa499d8ae0e8c716b3cad416a169679b31f365c5fb24f0f6ac73c4af8c9a14a65c1d9de7fefa255595f9003cab4b4d97a9bfdb660075cdb143355997dff0f21bf914028744a343f89269987e5d3d610ccaf7efa522eaa6896b7b33ac6610b0d69c559a46ba775b35d6a402f0b91f23fc70f97ec1734452b915da62d669647020927b5314e0696995a893625983f6d2712a38b253435d2410b43521a940a7ed07b4b7fdf882d82ea3fc30b4d9ec19ec2a74e0d5a66e6030672f7431a4e33888bd54c84da3efdd612fa68e7cb3cc1f8a0694c1543cd350ea1997def89 +ss = 25f2e509ccb413f0c5ec451b6bf25c4aa9d34b9aafea13a9e9bb55d80d601cc4 d = 995eff7e0d195c6d0533f3dc194d47e60f9ad14696144cde694d60a95f3e96b4 -z = b28f7e7a15a005f92400ce33db073d49b53871594a88fc45e0f94207b5f0f2dc +z = a33923382f8863478882483037fb1282ff917eb6658a7154c6ad64b5858c629e pk = 8ed95fa3d30d9fbc979dd7cd223a3694b874c8272103685e3bbbb8888117d53abc7667b4eb158a34953147354f6a5714aab10aac07299c3038fedc9b0d3553734401be62862ca82277f57f1e6225c5206a86e175ee638bcda6665e3b58b01bb74ea7701d97b3a909ca7bb9b4c4d89460cc4aae5b1b521c6af59c721ea23ee2ab0ea2e451a8831a82d098e924604d6b02e151bc43e761c2324368a643ea23bce9fcc7e2502285119343603a4cd5bd444798fdab21d5369f4c73477e3891aab51e1b11cc55b3ab67cbbfd5f141715a9ae4681cb0f0391abcbb48ac63c8a707677650aab59c09b43dfae8653d887a6c2c0664096e551929fc0a00167429ece069f0aa266c542d28db4a42250fbff86aeca6a709c9a25f384effc74c0c7b32b4a616ef2a140a8c96c8b56e61f32963505775658b6c81cb40c2b99e43bd8fb8a8459a73d8d083ac178225461e83a4ce9d6c6133da8d1f5b4139457762ba5beabcbb453b9c91a7250499891698553bcb9d0848abd391afd195cf39a6213a078161d7ad1aa5b28b1c442f6ab732fc14dfc085f2a6475d4bc8f897a7c1d3b3e0c1203aecc5d5a8287e34c6e3f2a920ec8065644a373453cfd796a58c03b7e241bff2986b3c6c6ce4064db18137862d716c54c154a7e294b218bb1df2d76f8f36847288c76ae21e1967719ac92aea8b8e50706ed8cb06492a58ceb932f2284c023c6e3bccb303d6bc56e842b144cf68fa4626f29fe843623a55c02b1a0250d7c272855e0118b3a553bcfd46b7563bc5b2f5ad196098b1a1383ae99f2ba6384a1c39c69350fe22437c1c00a651aa0932a771e09e4efc1abb893639f1340ca76a8cbc4c605257e14969d83cac02d131dd4273ac467b6db186e9086548224a4a1526f769a90c93101e26a2c1112744844b0584343fc9b35320b841961fa55016c9cb271570bdfc501d68f9557a920db4920d15e2bea64a6aad743eeac97560bb024c70c099608e55d351fd1784673635aa1b26b9248528d069d031658eb2c559876a7fe6adca630e2f2589de2aba5fc24528a982e2e5ce88a73b80121789522f63602ff0340f4074721445e155a3a1624cb4aca373de6947f148ca7e2b3c93605e706eddd992 -sk = 7d926fb223c21d99084c7a171b6575cc04a2d43349519033fe9a24fa8213c5308774e9b41ba51e4347943d2bb1f32517ab6c5444d97e0840821d2ccec62bb44bdabc9fc22c8aebb96c49ca966ab9949b44eaa196682148adacc20737b85c120bd662546ec98d3221589f3a98dff6a531789a56a4337e2b5f6237caca4b3bbcd756749524ba16a0e4aa9d5bc5090117c342b03335bc01e9dc1ee8e560b90b43cca0bcec177b86810dab7b179a67a56aea2e99b69783a629e08cc4ed4950552b53cb29a82ac68a1bd896262740954256315898c5c58cbba58c7c7173f83bcacbc73067e44a5e72c054d05ef40a9b5304cb4c210798556bad251c11f2a726d3a1eccb8863405e2ec3274285bae1e196a4a26bb7d80888a53ce87641e583600bf148124806417c08e9c76c620536f37940322299edf0caa3b46ec3e05304bc354239625da3293905cd59d666edbb3ffc40428b0347979244ad55237d4c7334e477141cabe315cbbebcc2cb2ba10a48834d83163d937a234c4215ccaaaf1ca13180a1a8f1aa17362635da8967b47c81a172ff3171871453877b89e3ab70b2b43eba3683da73b0549290ca551b74d52343950f97345685b602c9d7566aa394f6707c335954051c0753c1b482514af5bcc61b65cb36896f38b46c5dda7fc2d536035c70f905077d299e7686b75ea5b5beba5739ac4fd0d84d6f7a08dca071b3f43611f48047c7612d638a6af602ff069dedd2379f519b819c369a0ab216543146e83cf654c22241810b437ddcb67629d20eb61086a17c42706460962c15fc0aaec5c5651dd7b9f53b3f7e85c70fd09f14bbb6a6b3213ca6c6d2bc46b13024b6593bfed9ba6c9740b655ac70c33f17b639fa1897d40cad4e98316e457b5027343b4b8d3e20ac082b0001532558baafb43ba273c03ccc36bd17d039d12c316668c33f15cf5e3269da7519d950c19ed35ac1894255019233057bb0417ddf8a7547a93d06f6127e717e0abab754783560c81a782a1805fb55b27c10a2c014230bbfbb808f6f973be9195d2fb5459a19265d0a93d423c8340a4ac1a4cb65b2caaac903647bc98ed95fa3d30d9fbc979dd7cd223a3694b874c8272103685e3bbbb8888117d53abc7667b4eb158a34953147354f6a5714aab10aac07299c3038fedc9b0d3553734401be62862ca82277f57f1e6225c5206a86e175ee638bcda6665e3b58b01bb74ea7701d97b3a909ca7bb9b4c4d89460cc4aae5b1b521c6af59c721ea23ee2ab0ea2e451a8831a82d098e924604d6b02e151bc43e761c2324368a643ea23bce9fcc7e2502285119343603a4cd5bd444798fdab21d5369f4c73477e3891aab51e1b11cc55b3ab67cbbfd5f141715a9ae4681cb0f0391abcbb48ac63c8a707677650aab59c09b43dfae8653d887a6c2c0664096e551929fc0a00167429ece069f0aa266c542d28db4a42250fbff86aeca6a709c9a25f384effc74c0c7b32b4a616ef2a140a8c96c8b56e61f32963505775658b6c81cb40c2b99e43bd8fb8a8459a73d8d083ac178225461e83a4ce9d6c6133da8d1f5b4139457762ba5beabcbb453b9c91a7250499891698553bcb9d0848abd391afd195cf39a6213a078161d7ad1aa5b28b1c442f6ab732fc14dfc085f2a6475d4bc8f897a7c1d3b3e0c1203aecc5d5a8287e34c6e3f2a920ec8065644a373453cfd796a58c03b7e241bff2986b3c6c6ce4064db18137862d716c54c154a7e294b218bb1df2d76f8f36847288c76ae21e1967719ac92aea8b8e50706ed8cb06492a58ceb932f2284c023c6e3bccb303d6bc56e842b144cf68fa4626f29fe843623a55c02b1a0250d7c272855e0118b3a553bcfd46b7563bc5b2f5ad196098b1a1383ae99f2ba6384a1c39c69350fe22437c1c00a651aa0932a771e09e4efc1abb893639f1340ca76a8cbc4c605257e14969d83cac02d131dd4273ac467b6db186e9086548224a4a1526f769a90c93101e26a2c1112744844b0584343fc9b35320b841961fa55016c9cb271570bdfc501d68f9557a920db4920d15e2bea64a6aad743eeac97560bb024c70c099608e55d351fd1784673635aa1b26b9248528d069d031658eb2c559876a7fe6adca630e2f2589de2aba5fc24528a982e2e5ce88a73b80121789522f63602ff0340f4074721445e155a3a1624cb4aca373de6947f148ca7e2b3c93605e706eddd9928e49b73bae3b0285bbe1676eb6fad2641e7354e4c0a4feb0b74bb16708b01351b28f7e7a15a005f92400ce33db073d49b53871594a88fc45e0f94207b5f0f2dc -m = ea22a76065db4b565ee1807fbd813b43bde72b0e08407fb867c6a18995025e50 -ct = 236fd411c1512f4cde28e2b987dff829ceb781ff1303fb76443adac5d7f6a0cb81fd2526f4ec90f3f75584450d560e301ffcb328b641415b8aa3493db15af7139263f30a125a9155b7ac17d5dc96d62ee55c3c2e1ea3ba2c13ef17c0c772799a48682a19dfa682744b1a6ee8d7ad9598d2d1f41df08942a9a3310c7fd167d5b9b5072db6f813178d210842471e241963f1972b91d76810f90a3de4728687209efc1464afccda6612a3d65786c6019ed90c3650f72f5814ac2d03126ba9683f23ce481bed232c6ddb74ec56f915ceb306f533a8021468fac2e154168a3c648e6360ae1c95e9b15f4fc34b66b38fcd2103ecb6940d82151e0c06d71cf49044dbfdf63e69fe5cc3004f641581d3e78d5bbf035a2557a2b2445c7db3ef909a3f00d605d40abcbe215842be838f889d69f8340fbab457f677533664bfc2d2b58fd9846efbb1b3631efc13dfbf877515f7019e9ed0d6bbf11a1b50eb3a90d8f27a94441cb02b6bbcad7ec5b71060290a73669d5e88a54c298c0cbc25332675d0b2d6c52ac18841af35b213935434de45d38c0ee09950787e33a566029282eae3c11a09ab95214658ea636a4fa17abb3a6b527a8d1401bac80ad9c0e881a33d27b00e81e0babe1e39ed0e45e45d90aca415d40040c7b1c03e08fd342a66296610b7b38c5dfdeb75043c6fccd60eb1feeda38742a4eb4178338caa696b0697d55918861c00be448519636748418ec65a2a5975d92da7bd5de040a6ef27026b478d6975c5e4a294375e4818277b5544628558af234a230a123ec899544f0993c366575c4af3ceaf88cc19eef15a7c19d4347b7fe228b5d1d2a4cfdbf90f8552375bf9572f5c51ce14f36dc873bf69397019510ad0db75d9f04e7d01a12102b25ff25022694f94d1ae1c3eb3548f151594420eceb3b347464e10cca2635b7bcd9117939c4a60944b6c4bbfca8dd8b07c2166faca82837e3881383b873f9259b5ca35ece5a21eb5b4c2a0d9b8bb7bf78fc5a7b05f515d85476214e42e2b93e18a67488300e261f3ff10839ac6b5dc3b6d69cc0ce062311f17bc078b62d5fda38f56715bfbf5 -ss = c3157b5efc9d3c22ff09adf984741b70b71c2e351cdc9156cc83967de7e2e39e +sk = 7d926fb223c21d99084c7a171b6575cc04a2d43349519033fe9a24fa8213c5308774e9b41ba51e4347943d2bb1f32517ab6c5444d97e0840821d2ccec62bb44bdabc9fc22c8aebb96c49ca966ab9949b44eaa196682148adacc20737b85c120bd662546ec98d3221589f3a98dff6a531789a56a4337e2b5f6237caca4b3bbcd756749524ba16a0e4aa9d5bc5090117c342b03335bc01e9dc1ee8e560b90b43cca0bcec177b86810dab7b179a67a56aea2e99b69783a629e08cc4ed4950552b53cb29a82ac68a1bd896262740954256315898c5c58cbba58c7c7173f83bcacbc73067e44a5e72c054d05ef40a9b5304cb4c210798556bad251c11f2a726d3a1eccb8863405e2ec3274285bae1e196a4a26bb7d80888a53ce87641e583600bf148124806417c08e9c76c620536f37940322299edf0caa3b46ec3e05304bc354239625da3293905cd59d666edbb3ffc40428b0347979244ad55237d4c7334e477141cabe315cbbebcc2cb2ba10a48834d83163d937a234c4215ccaaaf1ca13180a1a8f1aa17362635da8967b47c81a172ff3171871453877b89e3ab70b2b43eba3683da73b0549290ca551b74d52343950f97345685b602c9d7566aa394f6707c335954051c0753c1b482514af5bcc61b65cb36896f38b46c5dda7fc2d536035c70f905077d299e7686b75ea5b5beba5739ac4fd0d84d6f7a08dca071b3f43611f48047c7612d638a6af602ff069dedd2379f519b819c369a0ab216543146e83cf654c22241810b437ddcb67629d20eb61086a17c42706460962c15fc0aaec5c5651dd7b9f53b3f7e85c70fd09f14bbb6a6b3213ca6c6d2bc46b13024b6593bfed9ba6c9740b655ac70c33f17b639fa1897d40cad4e98316e457b5027343b4b8d3e20ac082b0001532558baafb43ba273c03ccc36bd17d039d12c316668c33f15cf5e3269da7519d950c19ed35ac1894255019233057bb0417ddf8a7547a93d06f6127e717e0abab754783560c81a782a1805fb55b27c10a2c014230bbfbb808f6f973be9195d2fb5459a19265d0a93d423c8340a4ac1a4cb65b2caaac903647bc98ed95fa3d30d9fbc979dd7cd223a3694b874c8272103685e3bbbb8888117d53abc7667b4eb158a34953147354f6a5714aab10aac07299c3038fedc9b0d3553734401be62862ca82277f57f1e6225c5206a86e175ee638bcda6665e3b58b01bb74ea7701d97b3a909ca7bb9b4c4d89460cc4aae5b1b521c6af59c721ea23ee2ab0ea2e451a8831a82d098e924604d6b02e151bc43e761c2324368a643ea23bce9fcc7e2502285119343603a4cd5bd444798fdab21d5369f4c73477e3891aab51e1b11cc55b3ab67cbbfd5f141715a9ae4681cb0f0391abcbb48ac63c8a707677650aab59c09b43dfae8653d887a6c2c0664096e551929fc0a00167429ece069f0aa266c542d28db4a42250fbff86aeca6a709c9a25f384effc74c0c7b32b4a616ef2a140a8c96c8b56e61f32963505775658b6c81cb40c2b99e43bd8fb8a8459a73d8d083ac178225461e83a4ce9d6c6133da8d1f5b4139457762ba5beabcbb453b9c91a7250499891698553bcb9d0848abd391afd195cf39a6213a078161d7ad1aa5b28b1c442f6ab732fc14dfc085f2a6475d4bc8f897a7c1d3b3e0c1203aecc5d5a8287e34c6e3f2a920ec8065644a373453cfd796a58c03b7e241bff2986b3c6c6ce4064db18137862d716c54c154a7e294b218bb1df2d76f8f36847288c76ae21e1967719ac92aea8b8e50706ed8cb06492a58ceb932f2284c023c6e3bccb303d6bc56e842b144cf68fa4626f29fe843623a55c02b1a0250d7c272855e0118b3a553bcfd46b7563bc5b2f5ad196098b1a1383ae99f2ba6384a1c39c69350fe22437c1c00a651aa0932a771e09e4efc1abb893639f1340ca76a8cbc4c605257e14969d83cac02d131dd4273ac467b6db186e9086548224a4a1526f769a90c93101e26a2c1112744844b0584343fc9b35320b841961fa55016c9cb271570bdfc501d68f9557a920db4920d15e2bea64a6aad743eeac97560bb024c70c099608e55d351fd1784673635aa1b26b9248528d069d031658eb2c559876a7fe6adca630e2f2589de2aba5fc24528a982e2e5ce88a73b80121789522f63602ff0340f4074721445e155a3a1624cb4aca373de6947f148ca7e2b3c93605e706eddd9928e49b73bae3b0285bbe1676eb6fad2641e7354e4c0a4feb0b74bb16708b01351a33923382f8863478882483037fb1282ff917eb6658a7154c6ad64b5858c629e +m = 4c25311d7b2fa56a45f4ec1cb4591c627b52eed4d2409ec70ebe855d988893d8 +ct = 8a619212aeaed864d206469da3f4b4682e1bc9f6c93ea444c929dcf7dcd8c8b385ed37f3b0e010617b092ac583c9a397eca607073cd20f05c968a1e230969224662211289394988a40b085e9ce7d3ebb56f96d86117b54d56ee87fe128f758c7f5f26c94ab7acd0c55e6f1ec7531396e38bbf33a7463e58996ce168916458047eada8ae969b50d3d04d3758cc06bf01ea6ca9c5eeafaa7403fb6ed2d4661ac0f8d5071aa27589641ea81975e8b7fe3681573b304c45444cb37cfae2b360dd341690732aac7322a9ad537e43791d4df1ec0a802ef730f69ad41862ca3afeff08cacb9139caaa05ed58545a8bd691c47c5782b92e759854023a0dd63b168ff101de1991f457ba4cacafcf5e37846b9ea0b26f1885d7bc9f50c3175242d3b737975d311cd89c100cd2bbb65f4ff49ce741264a50827b8321c4a653f4b7fdb9415de8b6f3430e6ecb1849ee7c4c4346c6b4ca3b05d3a61777eeef02780f67975210f8c475943171be32bb4394c6e5eaae443f893c2dd78d6a4328f8c0dfdfe7ddb3c0d91a5898c72bef855311905c5c7bb3e339bbf7623536bb5b9ac9709083489f519a02a080cea46184db36d130a0c76fbe06c452c1778f4cae49903dfdf0aa2f7c4bdd1c684dacbcef7cf624dad62452d8b98e8b7c3a224d1d024f4afdfcf83903d955e06b656f7c2dabf0c929750b3239e86e829d8a4d24cd5e7923077ee41f01a5aa12e9874b502ad4018a936f09155cf79c4043a966bf2e91e4092277b1f13061afd4d6a6698af1d5f562b7028a922657c4543fc1dbb3a6d70ff71a3c032da268abff26b752878a07e0514d7be055d53016360f68f32096b3c2111234b6fcf22954f49361486041d722b1bc635614235f3fd77cb6053b49a4779a8097feaccd2f6a1eb58b80ab816386942abc53c8de570fc57daf7c30a2beecdfa53b62d8ee9bd0a26de7310dfe6a37283108a74d24d01b5181510534ca6426a4882227a6418000c8ddec7eb6c12ae1476d730e262ca0c37ed32818795497a620a50f478048557f196d1f3e874c00ec6b6da46fa72f1e71b798d7352ab33a3407133291df2 +ss = 8ecb45eea09b1fd001de9097c49b338dea917b1202389fd9f75c31302385f02b d = 3e809ec8dd0fec0d911a4e3fac20f70fbb128c5de94dc7184ca7310ae9157a98 -z = d8128601c28b1def8d393a0db283229f7c7383152a814e7cefe8ef9d9768c473 +z = 7b2daf2ea1f1011c4bd04208e9e90b9c2bbe2d8b96a1565cd1163966f5337e4a pk = fb32553b02b45153901b5951ae055f75a270a6f1b4d37cbb975b979278aff301470513b66f58817e6a5b2ed17891f24a84950be275a805d374111a5aedcb761b6c446f986f37b646187461868797fb28731cb89267f12daea09828f143cd6c7c133a38ce82788a6bb88126956f30943169b2e4a18357e43262d6350b07651a6b2b2b227436405ecb5655e5892ab1a0ce6848bb34236a07c3aeb159822c85ba741944ca68654ba38ec2e4412d5c73d2f87eaa46a8fde25fd8aa691a95ccc7da9df35393213322f50a61ad4113c094cdaa568b1f43517692c4918c2590a221fbc0a313d2b4321b9e1a973492bb519c010ced1c590f0a61799832c15012e04550edc12414f4cb7c32ac3a1bace2f9250caca0d027bfe238344e278d6509796155386c1ca904c34727f0772c12b66c2016cd933053106fb4a308afc2619f8a3ec5843bc2c64af8d71f86b6836ac3941022a965bca96de03a5982a8bd7730141b4232610cacb6684db89eb1b55456aace6df449ad5b7964cb4a888148d472ae45196e8096a87b014fb5954719e82d8ec33c285323c7fb4dc2eb768259696b41c489ccb08d8665fef6a7a14ab69dc3a72690b5480c1ccb2cb70d3ac37e4b2e00ba7111905fc6d53f0519c44877c9cb1b54abf3106d90424c6a39dfcb6e6c3b80d96a1dbef922aa762d5433485822b1f28c8776305018023cb3328b9200728d082260ccb07b3241b7c86f90f91f18a582aaba4003f9b8c3a468818619a57a2ee0d636db09762e634400305e4495b49f927091773016c72196e29b2e20034c854608f54d1c7506a6b89f8d1201bf659a53f7c16dc671bc65089de9774ce4b52543a1882c12773bc7cf00b746c5b6ed5026f7e30bcb3cb60a091091c2ac85f816d377167801c47e951b18e239c005bb9612bb03262a6c21306749a60deca6b47b22fd7c7ed472aa3e8b9dca5150c4d3209ae02eb72783594b0c713509410a01de44245258790058ba90ca08cda4c45fa6867b038c7eb99d0b026320070b1a18ace2ca6fed80284d094b72881232144f6422a896d67505e40106958c81946a86e19f153712ef52d284175dec18f24979ef5ba8eddf7caa3880aec7b42a147e75f0dd62b3d0 -sk = b563c9c846ca91b6cbb3e138f43c9d8d647d22146889138a615670caf738419b5b67e6c837cc9a15545f33c4723e551428877a4e933bdde9673c5c660b2a64340a927126a56a48660b9396d457b8bb1516ddf8c275753e234590c607be27c81e14d5411c17488c1aa1bf42c74dc4a06b538ea5e9991819a93e6a6ef8f28ceae91fdbe27e6407178f563f7fe272d62746c9228f4ff510d46c1c559644fb3c31c767a8a5ec43f6610488f793328ab819a905d1096645ac1d3c8c49703065bca4a4bf7a16edb2a7605c53b8d0bbe26a0ae4d50eeb4c71df764344184d88c8916952151f18b48d68383e2070e5e57e75c602a48b34c5c4664d7c7ffcc3a6172837b36caf679b40a409761b089ef3ac2f3895969ba9322a074da98b00d29061d08a77cbac871b059179172b9a0a12ebd424d8a2619f94639e28a19cc38b020b30ae00110eab53c5e38516c320e507a3ddb338f3d4bb264157fa452a8a77a79b35a4b25444d7ba020d2aac98c797bd64495c401f1d658da12a9acba8179d6136421197b3c1a4378920b4ec8052568e2c2c580dc08a9fca7d7fd02cebaa91e8d892ea3b23ee3c5c95d037255ca685b62399ccbfe6c88e6c426df43c4e948968ddb3c9aa8a548d7a55c887c211bc50a0870d2c1b00a9383e233b9b1809ca1911b4abd78e2fa23310063d80cb6dd4896adf68829f40c97828c401204d501a6c0f571a48a15d62479e545abec163152b28340f5a077a9c5eca95bb71d256852a6a0b38ae20c3be667cab7a17001014abbdd8c205512f4b546364f6072971a88eba00a2789b34e7a1578909d7921a421cad8f590180ac64637224604166e52233ddc520d5b801349912a5ccc0ac3ba0f5b25b6b6242ed71731afc69597b635f7ac835210947da60b4c6685245bb17f34dab876e553c12fc6619e34237790704881c95f792a5a0070d69e747512218bf99866e417b5bec3c7b664163c7aec73867cddbcc3f3821ed6a92e50119591a667be609a09ba7a7daa4cc0017a270bf568a3a7c373e1a8883057aabf71753d599ca10a13a94659faa71c2694118920690ad71147f77b2fb32553b02b45153901b5951ae055f75a270a6f1b4d37cbb975b979278aff301470513b66f58817e6a5b2ed17891f24a84950be275a805d374111a5aedcb761b6c446f986f37b646187461868797fb28731cb89267f12daea09828f143cd6c7c133a38ce82788a6bb88126956f30943169b2e4a18357e43262d6350b07651a6b2b2b227436405ecb5655e5892ab1a0ce6848bb34236a07c3aeb159822c85ba741944ca68654ba38ec2e4412d5c73d2f87eaa46a8fde25fd8aa691a95ccc7da9df35393213322f50a61ad4113c094cdaa568b1f43517692c4918c2590a221fbc0a313d2b4321b9e1a973492bb519c010ced1c590f0a61799832c15012e04550edc12414f4cb7c32ac3a1bace2f9250caca0d027bfe238344e278d6509796155386c1ca904c34727f0772c12b66c2016cd933053106fb4a308afc2619f8a3ec5843bc2c64af8d71f86b6836ac3941022a965bca96de03a5982a8bd7730141b4232610cacb6684db89eb1b55456aace6df449ad5b7964cb4a888148d472ae45196e8096a87b014fb5954719e82d8ec33c285323c7fb4dc2eb768259696b41c489ccb08d8665fef6a7a14ab69dc3a72690b5480c1ccb2cb70d3ac37e4b2e00ba7111905fc6d53f0519c44877c9cb1b54abf3106d90424c6a39dfcb6e6c3b80d96a1dbef922aa762d5433485822b1f28c8776305018023cb3328b9200728d082260ccb07b3241b7c86f90f91f18a582aaba4003f9b8c3a468818619a57a2ee0d636db09762e634400305e4495b49f927091773016c72196e29b2e20034c854608f54d1c7506a6b89f8d1201bf659a53f7c16dc671bc65089de9774ce4b52543a1882c12773bc7cf00b746c5b6ed5026f7e30bcb3cb60a091091c2ac85f816d377167801c47e951b18e239c005bb9612bb03262a6c21306749a60deca6b47b22fd7c7ed472aa3e8b9dca5150c4d3209ae02eb72783594b0c713509410a01de44245258790058ba90ca08cda4c45fa6867b038c7eb99d0b026320070b1a18ace2ca6fed80284d094b72881232144f6422a896d67505e40106958c81946a86e19f153712ef52d284175dec18f24979ef5ba8eddf7caa3880aec7b42a147e75f0dd62b3d0f5de62d662f480d4ed8ba235b4aaa4bfff19edebbbfbd96e5a9b7c4e89365c3ed8128601c28b1def8d393a0db283229f7c7383152a814e7cefe8ef9d9768c473 -m = e9602b34fe73ad57f4bf6ead99743d645641553a5b9b9bf2e7016629e3e9bd76 -ct = 677c5a59c5584124cb2b162018cee005e53efa5d267bf305c778082b0f63476dcdeb426456aa048e3c492c1df18550a85af8c0255a55010ddbf1039ffcceb0c5125670cf88633804191be85abcef00d9dec52cd9371261a9c28770fdeb512249ce02f8b0bf3ccfed3cb965e588629c0976f53b371598ee5fa469f298c72f398a404e50e0cffa7cbe4f3032f1ffb34b85d0c0f914237592ad258a35b968102b587ae19c2ae261219dee388a1926ec6bbd0a39654501f2ecf3f55049baf423df8ccdde47d03bcf1805877af03dac930c2e1e6f75a04ab981b9e9a1f6e150286e7b128f25ec30ff0f45b1384cff48a34af8d952912a9cd18e2737f1a9ca2e7e624200eaa7011ab12c32372911923aeec4a946499d8b05c8d19a5376f832493b56dbeaaf4909b14823242029abccf115dba90b3cfa464c6b6877d96d102038cf073af398660f0ad793374c9a21fdb9b3e9bb809da78b71e5500a1c45890a4b1477b45071813e31053a5123f3c2bfb60f73f32b32fa1e7f795e44dca15ab1c12962ac040ee55b8d1259caef19a361cb871bb0bde894d9372e39c7386239b9632d74e89463ed2861a92c7eced227a47bd7ca425403c0e26af66b56ffefe6321c12184547dd8faaee9e4dafe034f30a251c172afff739bcda8047c6d6511972c7c2cfdabfd6653a35a99047a892bc31f6b4c0b309600a28e66ac123a186f3f3d4edfd3f6e5692b77b7f887414b9f532d9d21bda9588dfa96f057308bdebefd973bb4c8292249aafeba3aa522c11b414325ee006efc89cb5ed794468d75f01ce270981f0d13a2b81b55746bd2b3bd120c056f7db6f6df4aeb1eff9b6f4e19d58b7fda6d4eab445d7e3c37820bbb376d05d95dde965c44ece14f929c4c3e06a556b3d485199d1b83426b504fcd6aff4c1901b0bf825e537d99d33e4f2e73075ba913a3ffd70b610803694ff13b84d69e7d5da7f1b143cd0168f77fa61e10dad28a72346dd40e518b8d641726a97af40a33bb5fd90a08ea77f51afe59c796ca76984380385945d2a614522092d590fc73c701c65f526c215362dc84b3ce22528508bb6db57 -ss = 4dfe50eefed4dec70edd72ee2fb3e5ffa99bac13e8b4130a15b75dd793c5bb56 +sk = b563c9c846ca91b6cbb3e138f43c9d8d647d22146889138a615670caf738419b5b67e6c837cc9a15545f33c4723e551428877a4e933bdde9673c5c660b2a64340a927126a56a48660b9396d457b8bb1516ddf8c275753e234590c607be27c81e14d5411c17488c1aa1bf42c74dc4a06b538ea5e9991819a93e6a6ef8f28ceae91fdbe27e6407178f563f7fe272d62746c9228f4ff510d46c1c559644fb3c31c767a8a5ec43f6610488f793328ab819a905d1096645ac1d3c8c49703065bca4a4bf7a16edb2a7605c53b8d0bbe26a0ae4d50eeb4c71df764344184d88c8916952151f18b48d68383e2070e5e57e75c602a48b34c5c4664d7c7ffcc3a6172837b36caf679b40a409761b089ef3ac2f3895969ba9322a074da98b00d29061d08a77cbac871b059179172b9a0a12ebd424d8a2619f94639e28a19cc38b020b30ae00110eab53c5e38516c320e507a3ddb338f3d4bb264157fa452a8a77a79b35a4b25444d7ba020d2aac98c797bd64495c401f1d658da12a9acba8179d6136421197b3c1a4378920b4ec8052568e2c2c580dc08a9fca7d7fd02cebaa91e8d892ea3b23ee3c5c95d037255ca685b62399ccbfe6c88e6c426df43c4e948968ddb3c9aa8a548d7a55c887c211bc50a0870d2c1b00a9383e233b9b1809ca1911b4abd78e2fa23310063d80cb6dd4896adf68829f40c97828c401204d501a6c0f571a48a15d62479e545abec163152b28340f5a077a9c5eca95bb71d256852a6a0b38ae20c3be667cab7a17001014abbdd8c205512f4b546364f6072971a88eba00a2789b34e7a1578909d7921a421cad8f590180ac64637224604166e52233ddc520d5b801349912a5ccc0ac3ba0f5b25b6b6242ed71731afc69597b635f7ac835210947da60b4c6685245bb17f34dab876e553c12fc6619e34237790704881c95f792a5a0070d69e747512218bf99866e417b5bec3c7b664163c7aec73867cddbcc3f3821ed6a92e50119591a667be609a09ba7a7daa4cc0017a270bf568a3a7c373e1a8883057aabf71753d599ca10a13a94659faa71c2694118920690ad71147f77b2fb32553b02b45153901b5951ae055f75a270a6f1b4d37cbb975b979278aff301470513b66f58817e6a5b2ed17891f24a84950be275a805d374111a5aedcb761b6c446f986f37b646187461868797fb28731cb89267f12daea09828f143cd6c7c133a38ce82788a6bb88126956f30943169b2e4a18357e43262d6350b07651a6b2b2b227436405ecb5655e5892ab1a0ce6848bb34236a07c3aeb159822c85ba741944ca68654ba38ec2e4412d5c73d2f87eaa46a8fde25fd8aa691a95ccc7da9df35393213322f50a61ad4113c094cdaa568b1f43517692c4918c2590a221fbc0a313d2b4321b9e1a973492bb519c010ced1c590f0a61799832c15012e04550edc12414f4cb7c32ac3a1bace2f9250caca0d027bfe238344e278d6509796155386c1ca904c34727f0772c12b66c2016cd933053106fb4a308afc2619f8a3ec5843bc2c64af8d71f86b6836ac3941022a965bca96de03a5982a8bd7730141b4232610cacb6684db89eb1b55456aace6df449ad5b7964cb4a888148d472ae45196e8096a87b014fb5954719e82d8ec33c285323c7fb4dc2eb768259696b41c489ccb08d8665fef6a7a14ab69dc3a72690b5480c1ccb2cb70d3ac37e4b2e00ba7111905fc6d53f0519c44877c9cb1b54abf3106d90424c6a39dfcb6e6c3b80d96a1dbef922aa762d5433485822b1f28c8776305018023cb3328b9200728d082260ccb07b3241b7c86f90f91f18a582aaba4003f9b8c3a468818619a57a2ee0d636db09762e634400305e4495b49f927091773016c72196e29b2e20034c854608f54d1c7506a6b89f8d1201bf659a53f7c16dc671bc65089de9774ce4b52543a1882c12773bc7cf00b746c5b6ed5026f7e30bcb3cb60a091091c2ac85f816d377167801c47e951b18e239c005bb9612bb03262a6c21306749a60deca6b47b22fd7c7ed472aa3e8b9dca5150c4d3209ae02eb72783594b0c713509410a01de44245258790058ba90ca08cda4c45fa6867b038c7eb99d0b026320070b1a18ace2ca6fed80284d094b72881232144f6422a896d67505e40106958c81946a86e19f153712ef52d284175dec18f24979ef5ba8eddf7caa3880aec7b42a147e75f0dd62b3d0f5de62d662f480d4ed8ba235b4aaa4bfff19edebbbfbd96e5a9b7c4e89365c3e7b2daf2ea1f1011c4bd04208e9e90b9c2bbe2d8b96a1565cd1163966f5337e4a +m = 37a2bfa95682bf678cbefc25bc48bf62fa950bbb7c0e7051cee508f9540fdbec +ct = 6c1e8ced4ddd50b045546477c6a10c039d13c667ca8d9874f8aab76cd22fa11383d9254a635897633d66a694fc42b53f1511f81bf6dbf93888213d6ad894fa3976e6ce5f2a611a8416212dddc82ff75311ad66641f4f28bcaef07366a8258257085071dfc57c23086fb954d7f2cce201f6cd76cb7d91aa2833e35e8ae0e243a9657ae6c293f0915fe3d719cdd14f8d3034d3cdca5989d5559550dc843f0306a36100f872421ce9d0508e78a620f7756aee8d2184ad8ebb536be20a6555898ac1dafab53b49a48046b63fecabc45c06a4d02f6fcd80c14c267fdccc421728f33ec58ddd220f3309da448fe027c3bc2ad834cfb7ba866a6b415d0e62b0667b08c9b79c5a046dfc2773e4a28d04606907d681cf0a573d9861525a0934cd595baaddd50e86577bf09c461ca6da22de9cfcd90ec42d80d98c22a38f36b42a5302aa56ca98b156b8808040f85959aae4a1069822ecb995c49421efb8fa1344b7df93453f973fbcb2c83562e94f3ba8f42b8b96b03e69aa82ee47edff182596178b6a7f36c792b04ad968c984af3e18b5078669e41474392ab1504722a98b2eea1984616ef9ee55f2fb6a1a606c5ee3e40b97d49778eb3bd9c6e19065f5a66872d5f742b38ceca4c07d270a62201863a1ced1579f3aa5d0a44df79ae82266a64ec86774fb86d57e1b05edb095ff3b099e137b7e8c8821e5dc69c99ecb7393dcb09f9031ee395359030bbbc1601eb7c5f88ad4d8bce56ba0b35448c3e3e850e05734e22f68ef6a5f608877f198ce179b3db80505fdd783f3588ac2aac5dee407819877e7e3177fdd2c7d56d40a7574b4f4ea806de846436f9c9bbc323b88701d0a9bada903605cf88bcd67ce68d83f236d5705cfd0828521db0647c49b582e66fa70bd8d531c871a211de2c8f9af598d33e6165905d8f541b333ad55789ea2ed0660d0b72a70a97aece3f806cc4f52162c83050f613239348db0207bf40518f7c0fc5789fdc272778e31e96dd63759dd7786c8a5c2646c9dcac8d213599eab4489cdd8e46b91ee7483c819c800e5af7d2af4474e80246b0f0840e12d9d7893d25150e555 +ss = 8d793f701e4cd5d0b9346cddcc4edcfc5b1912c4b51ae8ebe505d04028f1f42d d = dbf1c465fff3d9f783bd9ee61a573715e45691147b8904439b5ffaa64f94ff7b -z = b6d75eac6c76ced1b0a025b40a55440712ad8424672e761e9bc400d63812006f +z = 5c2478cdc8d59ab164856623d53b9e60cf0aa8214cb64e674140bfd6de9fdfaf pk = d9f06a7e367399206aec69c5569ba3fe2816a0862539951ec9f32fc1a2b9ea199b877873f6b13546d685dfb63429a9bdfbf62fff1b651bb89c9ec8b047c788e82983552482e1da2512163eeb5c5c3eb60c91890b5992aed81b9992ac238c7c2a7ec41fb4481508a525f10c4e10b448ee4a7ba149649c11a20190cc95c60eb727cf84ec66c24c008a0308f28171f9c74cc7023873b1848b3450e28377d8115bd17462eee419f1c69414611c659449376b88e23061886338126b8ae317123786ade2d6c839f227ec302132fb59f5d3a5e11010adc5bcda4b01a28bc02377a6f3f4a0033249073b18f553ab65b57fc3176e514794db93a941d620f3f19d1103a6f0a02b7cfa8c213347c6037b85817b27b22f47b8a513d606444736af884fde78a879cc77a4d7644ae360004bb8b072b74a1cc99fb32a68770a110432e4c06f08148ff54aa6a5d2ac1b3b8e461b9813c3a16dc0b200ca81d4e336a54341c8d157d1742a0c327b7c0c9390416b59843353443530a5b70b71bf3768873771155617637272b1cd057f1f01b59565228daa20a060970adb811c106491fb32fda5c6fb70415125b1ab6148062100ab78107b37aa064942acf56919216c6fc58732598f0dd82838d8881999b431586a315375444c6a27d14ff8aa3da9d1340d137b885c95f69862b63c2618e28a11211e3b64bd1a678f631494aba55d42d8116b6388e9ea04b51c9773083a207000e83332c727b4512806a2dbceb6b40c644a5294362770f1108c467f6c64b907b0bc142625ac621352d64b73948d88f281ed3a65a1d4bbf920c962e91496718531756026e71a5986990b5bb1f9eac8ba3571052c32d414a5ab07832ff3172fec8ffd1197028a9ee410203ba02e6aa6b9517ba8746317c69304b381bd6d23b3db6605bfb2762b556bcb502cd10a22c8b78b4d0a173cd56ec835aa874c485f733b5e4c0db08558f1cbb11f866544f10a8a5b5cd52053d8708c3bacab400c78a65436febc36e5894d05b163ca7892eda9ba6c0792b2c9c345c399a0c841a70b56db1c5aff3703bf5150d1a7004c1c84ce25229ce751f8d00340f228114639b811c5c1d3b614daf84266bc4c312fa43c4109dafde79000ab39 -sk = 30ba4f28910160e87263f66f6034ba1de4662ebc3600863de8844620e0a08a46aa83f565c3c33076eaa5a3c689c681beb935349eb517252c738b925be8720683317f79cca1fbe150a32a0573c21a7ca34908a21dd58266b88712519935f88363a1d9c6d253ad38032d09113cb132c709c4bd56ec73b3121674fcb032e8696dd395c9021d47a39a74c2167e084fd4f85df9002c246c86f1b1b498f05b7d41aff082bafb610fe4576c55064459b665fdb03b98b98839e221710466ee8839d846620037cb6516021841063aa1cf8cb59019f52769fb0bd72152f4e74d7c833f66b272be12839b91c8ccfb0466f835ba068e82b29b1cc79e596546567244c3d5520f6371660193e5000feac74b0dbb40c1d46dc82749486c4f40f96f55867fe3f6121b60095ae9bbf6bab7be258a4faca7af20a2dec2b736bb690c425fe91b37e4200234cab1eec7b8834909acc2c8972b127b1113e17ca26dc7168b345f1af411b4917463d8c7ebc1bf55ba555809b1282a38bab43a2528ccbc0a3dcb2445597744d3a5530a69059da7a34d9429952c626e255dfc8b6fe3b6b9a508120284a1d75b01e695a90eba34e3b1a8e5e99be069180cf073b7695119dc3981c0768ad9c31e095ae83675754971b03184ef7025ba19b1d9812f39133719925426ebc421b204900ccb0c813cd0bc9859b0b7752abff9bb1bea8b24f3da4dcf80a03933a85d784a3400708de7820e750518195c9b08a232e09abca31e033495ae72c84b66499355167886be0ec6b5a337cc1e38060e2a0fa0d4ae1ce4ad34ea9e2dd4c66cbb3489507d95520747e472c4ab1a640c672a978f2b1a8e7e732a1b56796300c961b404e796117f1a8a5977a81f04bf4097336ec0148d19164b831e54b9b98d72b18216af8e58af19731d9d92079df04d584ab964a49ed7f31e99022aa86828ea11ab2fa847210ab0428238103abdeb248a663a954c363d516b48cf9bcab1f0a2bcf0b186b46290189c9db9405b873d83f11e5936ce94e42fa56574497c424a91792145352ed167ad076346aaa7cbe074d1f2a6e6e1cb93634f8aa61fed9c4d873b71d9f06a7e367399206aec69c5569ba3fe2816a0862539951ec9f32fc1a2b9ea199b877873f6b13546d685dfb63429a9bdfbf62fff1b651bb89c9ec8b047c788e82983552482e1da2512163eeb5c5c3eb60c91890b5992aed81b9992ac238c7c2a7ec41fb4481508a525f10c4e10b448ee4a7ba149649c11a20190cc95c60eb727cf84ec66c24c008a0308f28171f9c74cc7023873b1848b3450e28377d8115bd17462eee419f1c69414611c659449376b88e23061886338126b8ae317123786ade2d6c839f227ec302132fb59f5d3a5e11010adc5bcda4b01a28bc02377a6f3f4a0033249073b18f553ab65b57fc3176e514794db93a941d620f3f19d1103a6f0a02b7cfa8c213347c6037b85817b27b22f47b8a513d606444736af884fde78a879cc77a4d7644ae360004bb8b072b74a1cc99fb32a68770a110432e4c06f08148ff54aa6a5d2ac1b3b8e461b9813c3a16dc0b200ca81d4e336a54341c8d157d1742a0c327b7c0c9390416b59843353443530a5b70b71bf3768873771155617637272b1cd057f1f01b59565228daa20a060970adb811c106491fb32fda5c6fb70415125b1ab6148062100ab78107b37aa064942acf56919216c6fc58732598f0dd82838d8881999b431586a315375444c6a27d14ff8aa3da9d1340d137b885c95f69862b63c2618e28a11211e3b64bd1a678f631494aba55d42d8116b6388e9ea04b51c9773083a207000e83332c727b4512806a2dbceb6b40c644a5294362770f1108c467f6c64b907b0bc142625ac621352d64b73948d88f281ed3a65a1d4bbf920c962e91496718531756026e71a5986990b5bb1f9eac8ba3571052c32d414a5ab07832ff3172fec8ffd1197028a9ee410203ba02e6aa6b9517ba8746317c69304b381bd6d23b3db6605bfb2762b556bcb502cd10a22c8b78b4d0a173cd56ec835aa874c485f733b5e4c0db08558f1cbb11f866544f10a8a5b5cd52053d8708c3bacab400c78a65436febc36e5894d05b163ca7892eda9ba6c0792b2c9c345c399a0c841a70b56db1c5aff3703bf5150d1a7004c1c84ce25229ce751f8d00340f228114639b811c5c1d3b614daf84266bc4c312fa43c4109dafde79000ab39ec2fc5834e128c5e1460d8cb0c35ab340d706a6c8b52070a7e41a6405fada53fb6d75eac6c76ced1b0a025b40a55440712ad8424672e761e9bc400d63812006f -m = f72b9080a6c051bbdb9b0abc1949034be0f89a9f73fe277ec4d4740c78d04a83 -ct = 14d60069138223510c837d1bdd44e59adf0ab0ee9d3ed7a5187febb0d276480e24850ee7abb378faee468022fffc581e80518383d0b26f4b966075007fdd812005878ef601a2638d790bae895706b515fb532f0db572d06b222e650dbcb3c34ab56e80fb6187290879441d056ed1932bbd411696cd075bbcdf63ea8d12ea4404b6b03b0d7b9d383b880761aacf8d502d061abe4a50d867a617cd7ac1a4716e5aec52aaa42405aa7cabcfcc9d9c8c1dbcf9bdaf55a24b905808681ce5ca46e70b6f3dc1e4eeebcc3f6df41ef5fb115e6a6bc75a8787f73dd82e56f7211a5f0927dfe482102e9946f40f59b1c24d8fa61e2a7abe371b64137880e3170fa2e54d8d64370aae7dae2ceec58f0cca4feac0aaa9b963d1e83e0aa133d93956ddb7c20ed7a2917cb11d6e8722fe36f9e62923ed55e74a49c7dd89ed6ac2f56ae8bf18ec840bcadf6a2bf2de74e9f2c5a3566b39b4975e6119fa3fe43109d57daaf6a4a36917cecd850b91f3bb98486bc6564c7984beef7d8c6f6a0b48b0c34f255885ddc4e3b59ae8867cffb9d2b1e8dd4452b9bcb74a7b20db6a7f57f07727d490faa2e4f973126571c478ad124f36cec091ae2f85d338e56b1f9d6006eb7de9467dad0a987ca7350d10585cf438bbf7a4a03bad8c65c2338564ef169a97edbab544912853bf29993e635a625d2218f85c6f2478b61e8bca1b41f24df39062b974d45494f2e8f944e175ea8231bf8a57e2f3016feab28f56c666c4d47a3df56e1413cda429300b2377ef1be9a871dd8624f90a7720c026e89768cd11e4d38db2a7fd13ef1fc61c327afabb8d901662725d87be911c9e0ae3af0b69441c384bd0eab1d1e96b12bb257232208c5843e417e9313e79fd4159c5cb488450088ea311f8fb6d4c800da7854a317ee6df075e0b1479bff7d08a6518fe6b9216bd1c8b99905fdfcf4321818436b1c1c274e4bbe64d69fa5ca6b19c3d8a22e2825118b6fe8c63ffaf153cf5f66a8de76143c8a342ba1acd73460f7550f4d8c6b6d18e985e997cf7b77a38b23ecb761c6524254a930a8a2f33aeecce183914ceaaff3b3e907a80b8 -ss = e6bebd8623388cbc483ec4d1b3d10e55ee88367df8784884660f63043ace7353 +sk = 30ba4f28910160e87263f66f6034ba1de4662ebc3600863de8844620e0a08a46aa83f565c3c33076eaa5a3c689c681beb935349eb517252c738b925be8720683317f79cca1fbe150a32a0573c21a7ca34908a21dd58266b88712519935f88363a1d9c6d253ad38032d09113cb132c709c4bd56ec73b3121674fcb032e8696dd395c9021d47a39a74c2167e084fd4f85df9002c246c86f1b1b498f05b7d41aff082bafb610fe4576c55064459b665fdb03b98b98839e221710466ee8839d846620037cb6516021841063aa1cf8cb59019f52769fb0bd72152f4e74d7c833f66b272be12839b91c8ccfb0466f835ba068e82b29b1cc79e596546567244c3d5520f6371660193e5000feac74b0dbb40c1d46dc82749486c4f40f96f55867fe3f6121b60095ae9bbf6bab7be258a4faca7af20a2dec2b736bb690c425fe91b37e4200234cab1eec7b8834909acc2c8972b127b1113e17ca26dc7168b345f1af411b4917463d8c7ebc1bf55ba555809b1282a38bab43a2528ccbc0a3dcb2445597744d3a5530a69059da7a34d9429952c626e255dfc8b6fe3b6b9a508120284a1d75b01e695a90eba34e3b1a8e5e99be069180cf073b7695119dc3981c0768ad9c31e095ae83675754971b03184ef7025ba19b1d9812f39133719925426ebc421b204900ccb0c813cd0bc9859b0b7752abff9bb1bea8b24f3da4dcf80a03933a85d784a3400708de7820e750518195c9b08a232e09abca31e033495ae72c84b66499355167886be0ec6b5a337cc1e38060e2a0fa0d4ae1ce4ad34ea9e2dd4c66cbb3489507d95520747e472c4ab1a640c672a978f2b1a8e7e732a1b56796300c961b404e796117f1a8a5977a81f04bf4097336ec0148d19164b831e54b9b98d72b18216af8e58af19731d9d92079df04d584ab964a49ed7f31e99022aa86828ea11ab2fa847210ab0428238103abdeb248a663a954c363d516b48cf9bcab1f0a2bcf0b186b46290189c9db9405b873d83f11e5936ce94e42fa56574497c424a91792145352ed167ad076346aaa7cbe074d1f2a6e6e1cb93634f8aa61fed9c4d873b71d9f06a7e367399206aec69c5569ba3fe2816a0862539951ec9f32fc1a2b9ea199b877873f6b13546d685dfb63429a9bdfbf62fff1b651bb89c9ec8b047c788e82983552482e1da2512163eeb5c5c3eb60c91890b5992aed81b9992ac238c7c2a7ec41fb4481508a525f10c4e10b448ee4a7ba149649c11a20190cc95c60eb727cf84ec66c24c008a0308f28171f9c74cc7023873b1848b3450e28377d8115bd17462eee419f1c69414611c659449376b88e23061886338126b8ae317123786ade2d6c839f227ec302132fb59f5d3a5e11010adc5bcda4b01a28bc02377a6f3f4a0033249073b18f553ab65b57fc3176e514794db93a941d620f3f19d1103a6f0a02b7cfa8c213347c6037b85817b27b22f47b8a513d606444736af884fde78a879cc77a4d7644ae360004bb8b072b74a1cc99fb32a68770a110432e4c06f08148ff54aa6a5d2ac1b3b8e461b9813c3a16dc0b200ca81d4e336a54341c8d157d1742a0c327b7c0c9390416b59843353443530a5b70b71bf3768873771155617637272b1cd057f1f01b59565228daa20a060970adb811c106491fb32fda5c6fb70415125b1ab6148062100ab78107b37aa064942acf56919216c6fc58732598f0dd82838d8881999b431586a315375444c6a27d14ff8aa3da9d1340d137b885c95f69862b63c2618e28a11211e3b64bd1a678f631494aba55d42d8116b6388e9ea04b51c9773083a207000e83332c727b4512806a2dbceb6b40c644a5294362770f1108c467f6c64b907b0bc142625ac621352d64b73948d88f281ed3a65a1d4bbf920c962e91496718531756026e71a5986990b5bb1f9eac8ba3571052c32d414a5ab07832ff3172fec8ffd1197028a9ee410203ba02e6aa6b9517ba8746317c69304b381bd6d23b3db6605bfb2762b556bcb502cd10a22c8b78b4d0a173cd56ec835aa874c485f733b5e4c0db08558f1cbb11f866544f10a8a5b5cd52053d8708c3bacab400c78a65436febc36e5894d05b163ca7892eda9ba6c0792b2c9c345c399a0c841a70b56db1c5aff3703bf5150d1a7004c1c84ce25229ce751f8d00340f228114639b811c5c1d3b614daf84266bc4c312fa43c4109dafde79000ab39ec2fc5834e128c5e1460d8cb0c35ab340d706a6c8b52070a7e41a6405fada53f5c2478cdc8d59ab164856623d53b9e60cf0aa8214cb64e674140bfd6de9fdfaf +m = fc69423340cca2e8e96b963188545fdb2b9287959ecb7eb108f8d04204bc87ca +ct = 8e7971b9057e015cd81453d049bb6d506c75cbc0449aef202458b0633a87d028628ad43e013335dd409a1cfe42da1daa9d888d05fc64bd1787f9921c8021172565323dfdca5306df5d184c2116f5b39edd6df0c55ee0ffcc2fae94ef0ecc4fad340a021734763d87a4f563ca0b6dde921685a6c05202bd54eacb4b12dba02096aac5d871198b5ac9afe94712a156697d5f6c0a7fc90662ca5ada1d64f6ab6be6073b20bd88614237f2f41a5c7281f27a8fcb238b740a645c31b8dea3643addf0ee3f2c23c077504ab45308e8ae7045faf15f787546f74581a5210b858818962532a01d9e17128e33f5f901b9af5324a5ad84e1f089fb9758468bc565b91fa3e057b0e686adc7e48c06f0f01e01170ff4262ca93797028f99db4c998758976e6e39e7ea1f6698ebd9d01c02a8d2ae224cec15f43be40c8b0ebd9c4f41ee80f287c4fbab4818742b05076e751dec3bd3be9177ef18fbd61ceb87c968b48b3ef667e5b2fc41813e195280d2566d3c2702e796a853985599f6a67c35edb97c7af4f416acf692923a34d8030499eadaef7039a2c02739936982b63009808167fd078d077ea4402dc1e6c7fbdef35c5c8ec033b1d1311f95c46dd5225940094e985da9258f6bb49a7c65b237cf7fd7a7220774d217af17c2484e5c47d9b522ae30fed5b9d7f481ff9d88ca4085ff291557da17e75688601339021f02a5fc4edc66db7f3011f94b99078cc1663d03676f6062bd590f0ed7afb2cf3fed3cfa2ca55fec316687d23ba5a5866e24dbb0eea2130f1d68e5e4dc4c8bac4f7ca340a52e3f210aafd7a75dbd24762d68082d8372b6e6119211a06b11a676a58b6aab317403d1a42fda3df2bf67f8e06c2d5421942aaa59f3f07113bb957cf640831bc08f5adcc8207fdabcb73b14bae7191769c0dec21a98698ee3ead04f839f13b5d94f4b72f75e0a06b2dcb1df713b6012aca6a9242232bf30bdc19c25e348a4acddd01cfee166c6e55338daaaee59b13574db2a93aad1501925d2eaa79d27176c27e60f31a535285d8e2d447a96a529a8887674f8f8a60a9dc5e1b365fe87cc18ca031285a2 +ss = 084514247da4b3f573a45618fc8d0f0e61d82ab76e42e512d6cd570be09d3d12 d = 1f7cfd2b70863154e8a69d1758532e86c20cfc763d67c758bd10a13b24e759b5 -z = 273b38bddc18488024ec90e62a4110129a42a16d2a93c45439888e76008604c6 +z = 88e66590b5b102b223291cc78119bb94e799e37b95b7bef0337e6a572284b9fb pk = ce04a546261fb88a14769a7ebe1ac627d4709ad47e84c44ac01ca4c40c0977a9c8c6871bd929b6e70a8c76a02342ecbfd8a90f1f31470a8708506160f961564db86466d049894437ab1a89dd41363eb597d3265d1f7b9a10c715d40a182e945c9666371431a5a54c6a80222362fa245d9aa10fc115642b3f28ab28bf05c254110a5f5ca553db719a16269d749bcc85388825201c8152c172806c9986f53509a2a3aef9a28e22e58cd1043e19e757b8179e40689c9762bf2138bc02453802869b8f53abb6bb088828726cfa51eea526ccabc971007a0d011315c996ddccc0fcf365f475c578517592c2c48117a63a2b6b854bc7a7a785a5dc4fe4c1b012d78cb3341f9cd826d1d2a13e13083e046de47711e4ba0a784aac886b25dedc2033895e48386e57234ef28590c9f542331a9ce6a0a2dff143b6f542bd752ac6a67a6b319ef15c7203119608a21b1374c5287348e54284dfb3b421b674f0fb3186080553b81f92e403a5eab01d564c9486622bb5233ae0bdfafa3867785e123a645c5a37124a5344264ac6767d548650f23a643ef347f43c5e1c49378fdc92f7e36cfff437197215da7970aaf5653fe9cce0cba1ec2677c0e9bbeb26526d866d600260c2e077c1558c8f2abee536999d951bb934cc974b55365495795a6418ac4a9f4491b4e60f992142487457e7359cb5b01e7e1ccc909ca00e6005b213c339c524b26a0b747c18a116026db16239492eb056b12ff700fc56ae35e97ec6d0b787c8aa02e4b828b41996f01d69fc9be7005d4dd89963298838e27c59b79c8de62e4a636bc3ab197326c8eff92c90e4958980a3382365fc65594219ce9d7070a6c3586466ccc031310825ba43ea933d416fb7a73d83f05ec222064f03b635091c25ec0a7aa99b9080844e7c44f6cbbefee8b3aaf9aa5aab3e4c49c24d73aebd8c37d9c4433193bbd1e6bace139da88a02883406f1b379e95792c68197d591cb9303b3d5bb2791550da44567d2115da0bb4d380849e1145140d9c6983819f7447332cb697aa2783be169db60249d3cb77d35845a380be3cb789f66395c4c3d894c95e9a3714099bb9a086057df0c5465326e1932aa50da74aa8435d9294fd6b7c05a153f30 -sk = afeb5fbf8bc9fa409670dc0f6c94934f53bf3d4b40163278a3ab076086c5bff79d153c890da535b3d291a2a68acde58df67911f17939b8b474306a862be548b6d092aa188fe4419a3ec659b9b8854b489ba2200270e3601ee6973b6287df400b0775ae483c55547a9b7aa66b396753df934c13085f27b978bd03a5a661a9e94b809a19130c92c1de21b26458c675e955ffb20c939028ccd358652b0b9f3c1d3c300bab422603354a6cc0a270e7aca3706487b67b16accba7ca9296661e2a9b2fc7cbcc60f10819a0bdb400662e203a77c84c75824269d662c826ab11f1b35f8754a2870fee05a04353c23146b62d91161a9a10ea028f8b96b082034d4e63359ae565a00ac0e1c8201a86294673beac8394d01935c8c201c76a0143a9c36e737d5bca9a07994d91dab5e10acf3b96aec1dc1fb33c8f260b1ff6e8b39ccc6a20c554e7c48beb3ca45d9341a0d978846382065b4ff6e13f39a9576f3b559a58194d75ce5e48b89e857c45f104cf7781ed5bac03965bd74942759231e8146d4051b86e33964b25a9e4db0655949d04bc73f8916280cc73d175834aa349ec8614b3f072eae445520b64c57bc284781061e72a7c264c05ea9d9bb20f33cb86ad2b080c98a7e7b6a4a31b119bd139f270a8430a7aaa122e5bdbc9760b0c0f562719e6630d3bbf0bbb3311333f0918385c86c851ebb8a306cfadeb4634aabd720387c787833c9b7fddecc117188af713798126039a1b940694cbba5171d2b977876a9d74fc067cacad5865104a627c7ab0715dba6c0945916985bad2d041eb43a584a1c152ab6df0cb8dc6bac599a60b96ac6e5833982d2167f8ca2c9b984ac1450865731aabc3796e8b4a30a6c78ef76fc2f5c829a2b23a33af1325b54b869374493d2d82275fe49ed6760cc90992973c618489c37f53a3e5b605be77ce48e4c05d398cd648bf63c7298ae11faf889d684a522709c7e301956919c419875696bc782c5b160ebb9acb542138f12195ec3d8ed03c64045f37e53970b7856b3b0719d330b603033dc54c81a66cf7a93d8565b3dcd91458158e72962b2bd78a3ca11e6730bcce04a546261fb88a14769a7ebe1ac627d4709ad47e84c44ac01ca4c40c0977a9c8c6871bd929b6e70a8c76a02342ecbfd8a90f1f31470a8708506160f961564db86466d049894437ab1a89dd41363eb597d3265d1f7b9a10c715d40a182e945c9666371431a5a54c6a80222362fa245d9aa10fc115642b3f28ab28bf05c254110a5f5ca553db719a16269d749bcc85388825201c8152c172806c9986f53509a2a3aef9a28e22e58cd1043e19e757b8179e40689c9762bf2138bc02453802869b8f53abb6bb088828726cfa51eea526ccabc971007a0d011315c996ddccc0fcf365f475c578517592c2c48117a63a2b6b854bc7a7a785a5dc4fe4c1b012d78cb3341f9cd826d1d2a13e13083e046de47711e4ba0a784aac886b25dedc2033895e48386e57234ef28590c9f542331a9ce6a0a2dff143b6f542bd752ac6a67a6b319ef15c7203119608a21b1374c5287348e54284dfb3b421b674f0fb3186080553b81f92e403a5eab01d564c9486622bb5233ae0bdfafa3867785e123a645c5a37124a5344264ac6767d548650f23a643ef347f43c5e1c49378fdc92f7e36cfff437197215da7970aaf5653fe9cce0cba1ec2677c0e9bbeb26526d866d600260c2e077c1558c8f2abee536999d951bb934cc974b55365495795a6418ac4a9f4491b4e60f992142487457e7359cb5b01e7e1ccc909ca00e6005b213c339c524b26a0b747c18a116026db16239492eb056b12ff700fc56ae35e97ec6d0b787c8aa02e4b828b41996f01d69fc9be7005d4dd89963298838e27c59b79c8de62e4a636bc3ab197326c8eff92c90e4958980a3382365fc65594219ce9d7070a6c3586466ccc031310825ba43ea933d416fb7a73d83f05ec222064f03b635091c25ec0a7aa99b9080844e7c44f6cbbefee8b3aaf9aa5aab3e4c49c24d73aebd8c37d9c4433193bbd1e6bace139da88a02883406f1b379e95792c68197d591cb9303b3d5bb2791550da44567d2115da0bb4d380849e1145140d9c6983819f7447332cb697aa2783be169db60249d3cb77d35845a380be3cb789f66395c4c3d894c95e9a3714099bb9a086057df0c5465326e1932aa50da74aa8435d9294fd6b7c05a153f305e7f49b87bb2319dba8d3485fe814aedb0b43173bc48f3a793554c3e8bf90c17273b38bddc18488024ec90e62a4110129a42a16d2a93c45439888e76008604c6 -m = f1e5542190db8ecf4b8d617a04fd3783ad0df78bf8dab749afb57db8321d151b -ct = f379376af8466c09a89c34a507486e8c3b3099be0a0ecdb0f706b56a2be56df367e91563e5e3f208bdd9a2b61ead8ffb43357985b173f98385b7bd004aea1249bb6850520a49089613011577f3c5741a2a9d5d0b869c5ac0542d1157adee39ec10b52796ffb97e3e18f326a5b97c5f87546113ed93cd5183d7df901bcd011dbc86d86b8ddc4f1fe3d8f9b8fedd9c3a4841ec8ade65c7e557c34541e7813d69558dd1cc8fff909233b0d16110c24f8a17363aec86285c343a0031cbed44c7435e6adb9ea0283ffd353cb353dd45b1f8f6c2589e373cf7bb201fe50dab8ae5d590856d4499a19d4194ba11f7f06f3c14f006f8cb064c11758b6bdcf32a51bb560a261e5b99fb2e0c5d9fd2b1157061a734a4b427fb8f36cfe1176e4c35ebd0ecb01db27e9a258c9aeb68934664de53a480ee7b7940d853a2e499fff9955180e6a36a51044005893df0496f10401456167cb072321e4fd3071e5dc801802cc2af331c0573570ce4369aaa2796d6f9ab9354138d699d9121e7eeab120310f06b3f7f4d30364178c89642c5beee65b67e98ce9c484d331be9c620f8ff5c63ed7ea2fa2ed39241d55dcbdc5044210674fd23eed188d81e46756405fcdf541ee51dfa483784cff32ec354a0395348274a8812ba0dcba854ead78e82e4d3e0adbdab761b7980764b56aea7c4073c7618b0b8d4c8b52a27a264d065e20367dfff780fd90a52dcbd6378df8b3a0ffaf0d2db8741d972e7a06028ecf4b94997d9cdeac0b0400ddca5fb4e80dbf200a6446fcbc490eb087fad7372ba0845fde34de50d9e59f0e54ebb47571a7f33c91452c2198257e39396f1518d4e983fc54bb45e3a2446521ef7743a081e1d83a63758c7e509c2c814dd1cea7684dac0a4c5f3474e02993ae925b832b5896f3b71861cb3a3d9be22816e017d251aa78539addc94a2c65cd5233d13f04c26f6c18b56a12c8e7fa7399a3f177f6aa974bf90c874d1f0df8af4c3df6576378a243680db38b420d81f97eda3d885267558a75b80e88e4870ae435b9dc360d76514b17aab2def51c924aaaf1a85aa98484b314eb320de78a2761b -ss = a92a8a587b84cddd75a3e58aa6e88f8f80cd79ebef496ddb8a67e11b4ddfbc2e +sk = afeb5fbf8bc9fa409670dc0f6c94934f53bf3d4b40163278a3ab076086c5bff79d153c890da535b3d291a2a68acde58df67911f17939b8b474306a862be548b6d092aa188fe4419a3ec659b9b8854b489ba2200270e3601ee6973b6287df400b0775ae483c55547a9b7aa66b396753df934c13085f27b978bd03a5a661a9e94b809a19130c92c1de21b26458c675e955ffb20c939028ccd358652b0b9f3c1d3c300bab422603354a6cc0a270e7aca3706487b67b16accba7ca9296661e2a9b2fc7cbcc60f10819a0bdb400662e203a77c84c75824269d662c826ab11f1b35f8754a2870fee05a04353c23146b62d91161a9a10ea028f8b96b082034d4e63359ae565a00ac0e1c8201a86294673beac8394d01935c8c201c76a0143a9c36e737d5bca9a07994d91dab5e10acf3b96aec1dc1fb33c8f260b1ff6e8b39ccc6a20c554e7c48beb3ca45d9341a0d978846382065b4ff6e13f39a9576f3b559a58194d75ce5e48b89e857c45f104cf7781ed5bac03965bd74942759231e8146d4051b86e33964b25a9e4db0655949d04bc73f8916280cc73d175834aa349ec8614b3f072eae445520b64c57bc284781061e72a7c264c05ea9d9bb20f33cb86ad2b080c98a7e7b6a4a31b119bd139f270a8430a7aaa122e5bdbc9760b0c0f562719e6630d3bbf0bbb3311333f0918385c86c851ebb8a306cfadeb4634aabd720387c787833c9b7fddecc117188af713798126039a1b940694cbba5171d2b977876a9d74fc067cacad5865104a627c7ab0715dba6c0945916985bad2d041eb43a584a1c152ab6df0cb8dc6bac599a60b96ac6e5833982d2167f8ca2c9b984ac1450865731aabc3796e8b4a30a6c78ef76fc2f5c829a2b23a33af1325b54b869374493d2d82275fe49ed6760cc90992973c618489c37f53a3e5b605be77ce48e4c05d398cd648bf63c7298ae11faf889d684a522709c7e301956919c419875696bc782c5b160ebb9acb542138f12195ec3d8ed03c64045f37e53970b7856b3b0719d330b603033dc54c81a66cf7a93d8565b3dcd91458158e72962b2bd78a3ca11e6730bcce04a546261fb88a14769a7ebe1ac627d4709ad47e84c44ac01ca4c40c0977a9c8c6871bd929b6e70a8c76a02342ecbfd8a90f1f31470a8708506160f961564db86466d049894437ab1a89dd41363eb597d3265d1f7b9a10c715d40a182e945c9666371431a5a54c6a80222362fa245d9aa10fc115642b3f28ab28bf05c254110a5f5ca553db719a16269d749bcc85388825201c8152c172806c9986f53509a2a3aef9a28e22e58cd1043e19e757b8179e40689c9762bf2138bc02453802869b8f53abb6bb088828726cfa51eea526ccabc971007a0d011315c996ddccc0fcf365f475c578517592c2c48117a63a2b6b854bc7a7a785a5dc4fe4c1b012d78cb3341f9cd826d1d2a13e13083e046de47711e4ba0a784aac886b25dedc2033895e48386e57234ef28590c9f542331a9ce6a0a2dff143b6f542bd752ac6a67a6b319ef15c7203119608a21b1374c5287348e54284dfb3b421b674f0fb3186080553b81f92e403a5eab01d564c9486622bb5233ae0bdfafa3867785e123a645c5a37124a5344264ac6767d548650f23a643ef347f43c5e1c49378fdc92f7e36cfff437197215da7970aaf5653fe9cce0cba1ec2677c0e9bbeb26526d866d600260c2e077c1558c8f2abee536999d951bb934cc974b55365495795a6418ac4a9f4491b4e60f992142487457e7359cb5b01e7e1ccc909ca00e6005b213c339c524b26a0b747c18a116026db16239492eb056b12ff700fc56ae35e97ec6d0b787c8aa02e4b828b41996f01d69fc9be7005d4dd89963298838e27c59b79c8de62e4a636bc3ab197326c8eff92c90e4958980a3382365fc65594219ce9d7070a6c3586466ccc031310825ba43ea933d416fb7a73d83f05ec222064f03b635091c25ec0a7aa99b9080844e7c44f6cbbefee8b3aaf9aa5aab3e4c49c24d73aebd8c37d9c4433193bbd1e6bace139da88a02883406f1b379e95792c68197d591cb9303b3d5bb2791550da44567d2115da0bb4d380849e1145140d9c6983819f7447332cb697aa2783be169db60249d3cb77d35845a380be3cb789f66395c4c3d894c95e9a3714099bb9a086057df0c5465326e1932aa50da74aa8435d9294fd6b7c05a153f305e7f49b87bb2319dba8d3485fe814aedb0b43173bc48f3a793554c3e8bf90c1788e66590b5b102b223291cc78119bb94e799e37b95b7bef0337e6a572284b9fb +m = 01e6b1b765e4c42464f6a35d1df3d2c673d752683850fa4d147d4e0629b88b10 +ct = 369d3f5b54f481d4a501e85c03359edeb656e573366296c8125d522b3e595ab099de53fa104f87e9ac72dc5c71ceebafcb9d7c52e45670313fe50903418edf006ebb5614da6e2407ea69e59ace5fd80c8424986e3c68ecfbfe7b092cbdb7363e7488032c5cbff78bf3e8fa5493eaf3c69d94769d5ef9b184fd65c84f5b5e6df519cfbdd6c5ac46df419f3d4c79ea6723ffbb18134b0f9dc7699d3f1cea6d7e3299b9524f80aa9ac9460170cc0fa351240968db3c5b8ed72182401ce68539938631da56d90e34bb9f8042f7abee5e725162f53e1a8bece19193c7264791fde355135890476135e7085d4fa6678cfdde822616952f83435e476d30e8fe429dcd0ca9ab931252c224d1adcd055377c4b4e39f88aaa0ab7af8cd815b974d48fb21fe7fbae2b7c5a5fe4315bb1650e8d398bef85781274d766ec50b109bc5b30085c51026f9aa5519647e9e30a2650227b11f47c8def29df9b0b7e8c4398e5ecaf1c6d029bd321177f91d15fce7c43c6357b26a3d30a184ca72afef820d53e8ad449ac38414c49d1b452961743769925e118a204f38842f37e593b4ab530bc5c7a3da9aea5d8a70c795c19003a624d0606baefba2609cbdbcbd6d34c007989a6c12cda507e058f12c0e1579e5811eaa308deea66779dbd71e4d2a4f0e4f3cf782fb8443a1545199837d826b8b01196b440e7a220bd4c3da8fd075711068c09795e5fea43794b06dd2b7a7767b2d87e8b57b4c3d54828b89fedc842bb9bf8c316da82d9260ce54fb650ca2cbe5cc0d9b9a4e4a58a52b396dca9303a8cff80028d7ce37738628c20f65ad5526db93574bb6d0e94e9616a69f29fe114a0b23feda726c4ddf64ae1346f48ba0da8f34a5d30eaaf5281377b689ed68c16b5c7636be1da6e4a7ae61fda03e128cd518114265e2f2f3c1d25907622d4f0ef3342b1defd1cc87d5f3a465f40ded4a903d9c022967c306a7552069a439a3568df1d237adac5679c05c94f18d42cab553a06ae9750f533a5948cc2ff2122f8c248ed93d1f7881b5e418705fdfeae21284d5bff603a51cd7461cf0b323d0372bc28388b7dad9d53f +ss = 4a51a45228f01c4a8c0b667bd230ba1bd35db7e7392ab53a3ef5d4f48a3ce77a d = 3a19577908efd37697b8edc7fdaf47d1bd3ad01a1b77faf794bee5b9c3192a6f -z = a3729672816f3eba84c9638a79676eeac0f22c8a48e0c5d50a26ff0844c66b99 +z = 08a2455063246eb5761e908816e48990d670308b0d34d7823a325d49a1a4dc0d pk = 4707348f9ac63776782d877317d4548ddc9edba94a8454c1422bbaba88a9454585ec9668df08181e5a7343291002915603d891099172597c173a88b41cd45c24e40601c6a5bd379113d876e06614087204cf43c3564980d9630e84b621d6415d0ce224d50bad07b52d58c6ae9ff108948b4e49d9c941c3c0eb53a3f118445eda39b1cb8fd6013eb33046060cbcaec21b13549e3df843e9e7b6cd731664808ad4a773237194e9d5a39217457478a6198203f9e6a90e9a8492f96fe28a72c9e2743a41caf07752f52b2ed4fc17efa95493a24c66c93bc6aa846572ab7fa0a808a16279382f87700d8f195e1781803880b07c925256100f7bf223087a85c4f3c88f861e60f92532d60f5cb2033b883cade25f8beb7312520fb3210b2230528644b1ee298161f453b5f32126310899c88ba50690ed925ab0537ebd594567e837471a84c6ea72787176f80c94894c870e69337d939691568edcab008850a6f3a53eb585c01af253d1c9434810555afabc430b7fe69324a3e775e6f2be3638b119a6429ff98d8eb1b5808720e467302798a8ccd8350d36bda8fab17a53bc0c851d91b7cf10c617a1c03bbcc63d93a38ea4653b80731442889ff8200c96b5c37263081dd400d5670959941764a61cde119662325339da81f926affe427e31c6883ce10f5e5705eff1cb209acff5644717e6c6928a41b6e7183590aa524744881aa427c17fe955b306c33447054ac729112568a4cb16806ccc008ffca87e4cc37c3bbcf8e50d3bf07e01132efbe0605a14ac32f6ae2802ca893139f62a64cef28b1720acb282173f2cb4b0f392f8077a325a6259a32455e57964e338a6a731c5aa29beebb0843730ffa93d6b234d51bb87a054968cd07f9c3a2ca79607a97079eba2481e590955e124fa7805e1f03499b7216b6a3a14b9c0c6bab99917a435b88c4314a290e70c7eec8a145037b6531b35b89655e90df5eb2fe53ab33b6c68583780a3b52bb92cc90c45a28cfa8add511ee03bb8bf528d4e94bdfc0cc510e732df4913116a7786e437ef523607126f047a17168824a00699ca54b71eec5b690cadfd69b8db5e8548c3b3dc474f7843c49a8dbfc939c41af7f8ec6c8354aeb0c67e05eae0 -sk = cf59c55278aa76dc467176c58cdc4499667510219cb1a28e973404472c38c4e7bf7e00d00ad5c6e0ca536bb13081e9708857723029c619f1bae117b283c6c96bb61818942a4b63163e957f1a76a1a3c8af61b851c618927ab771098a43261ab16a8a252d25211d1682d2265908e091d10365347380e314bbcc224cf8889bb37759345754c4fa6589c8b055a75313cacc3b0c21959b621a68ae1a5a7b6398693c0194e57ab2e722072c508027b98980e864fb82b7f1e42cbdb9b608b428e9e391922189b54b18f5e66656b236cbe50563f75d84f785dcca6fedc1123ed31892d4289952cd9968478915b5e2e4a2d92bc6281b702a84a02ee740a4250f67f893809bba3c790b963b70facb645969457f91adc732406cf4010b76b478e37bd0771b3e801c37dc1fcf7683adba4eb0c49fa3aaa9cc829c2ec77b39e15d3a8c6873b139cc7c1dc9f8581e829694685c0a06cf9e33370cd8cc514abdc6aca6fa8203e13baa97ab2d55eb8c9c122c1fb55d1de97d95fb9323392a499100d9a5cba9d8cb2423688dec85a5442091398419417749617c66c06321f3a061235ccb799e8f23ce537351e49b59029a59abcc4cc9f27727653a230051d907bc1fa67895c60242c4a945908cbd480904977b6e016c1a27c120e37bd19410a8864e5b24ca2aca3cfd2ba3d9e9bd63f42f3977aa0c815e5d13c4ecb1b7120997f77638dba3cd5ea57883f5ac82222ecb245885904c9b6058b023253917b7af71c2f94b74f3637c45045d75f840191455b6154115555808d1c122d379ae176947984ada6c4ee90870e51185ee5ab0fbf042e3a299b0797e36d2c5fe5004106800868629d0dc48f46c14c2082e66a5a4d6579676624b5aac1fd07c60a0091b1cdab40cc2341f1961a8d882496c21573a21a7a4907d0164960cac9aeb10e62377ca7c2dda72594977225c9b0218b2787bb8b79b54c819418ead17109f950d6ba4bbe1da35fa698ceffa2a52484eeb868d72a784535814b030130852540eb372e7b7218cf499d2ea3915682a30176b08074f2e4336c391b69f1130c4765032649d00f0b397e8bb44c18f4707348f9ac63776782d877317d4548ddc9edba94a8454c1422bbaba88a9454585ec9668df08181e5a7343291002915603d891099172597c173a88b41cd45c24e40601c6a5bd379113d876e06614087204cf43c3564980d9630e84b621d6415d0ce224d50bad07b52d58c6ae9ff108948b4e49d9c941c3c0eb53a3f118445eda39b1cb8fd6013eb33046060cbcaec21b13549e3df843e9e7b6cd731664808ad4a773237194e9d5a39217457478a6198203f9e6a90e9a8492f96fe28a72c9e2743a41caf07752f52b2ed4fc17efa95493a24c66c93bc6aa846572ab7fa0a808a16279382f87700d8f195e1781803880b07c925256100f7bf223087a85c4f3c88f861e60f92532d60f5cb2033b883cade25f8beb7312520fb3210b2230528644b1ee298161f453b5f32126310899c88ba50690ed925ab0537ebd594567e837471a84c6ea72787176f80c94894c870e69337d939691568edcab008850a6f3a53eb585c01af253d1c9434810555afabc430b7fe69324a3e775e6f2be3638b119a6429ff98d8eb1b5808720e467302798a8ccd8350d36bda8fab17a53bc0c851d91b7cf10c617a1c03bbcc63d93a38ea4653b80731442889ff8200c96b5c37263081dd400d5670959941764a61cde119662325339da81f926affe427e31c6883ce10f5e5705eff1cb209acff5644717e6c6928a41b6e7183590aa524744881aa427c17fe955b306c33447054ac729112568a4cb16806ccc008ffca87e4cc37c3bbcf8e50d3bf07e01132efbe0605a14ac32f6ae2802ca893139f62a64cef28b1720acb282173f2cb4b0f392f8077a325a6259a32455e57964e338a6a731c5aa29beebb0843730ffa93d6b234d51bb87a054968cd07f9c3a2ca79607a97079eba2481e590955e124fa7805e1f03499b7216b6a3a14b9c0c6bab99917a435b88c4314a290e70c7eec8a145037b6531b35b89655e90df5eb2fe53ab33b6c68583780a3b52bb92cc90c45a28cfa8add511ee03bb8bf528d4e94bdfc0cc510e732df4913116a7786e437ef523607126f047a17168824a00699ca54b71eec5b690cadfd69b8db5e8548c3b3dc474f7843c49a8dbfc939c41af7f8ec6c8354aeb0c67e05eae0e3f73c56254fac37209f5a59818fbaabf5abff3320b0b3ee00e20679b5728c12a3729672816f3eba84c9638a79676eeac0f22c8a48e0c5d50a26ff0844c66b99 -m = 74efa414ae171bf60b6f884cb7e5ce12028f49365daccfa23e845d551711660b -ct = ef229a3c9a2d0a23110925cd60333d504c7ea8444babc235b615eb63613acfa875f5a274064b5ca24c7b5ec7d1ce128ddcf5dedb5361627343a8f861fdd47324544c3d3046512af8dc46b68dcbcd5fc38e9d8f94716e86fbf1df316ab73a12e302cd63b0b2b7726994990deae7a8b01e5cd7db81ddf9fb29513b9f7a0f8c5fc6951247dbef2e58dde615fe168978742d01c9b0c9039af5fb856d121fcf2c3cd63c78e5cb184b63534be58f3feced4146b94ecfd20827bbe8a25a11e3419b7c2762fa49d08a563620ddd9c82c87d3e416fa94adcd3571a041dcbd634206840a83eee6b6808bfdd54f7ed24e2c92c0a6348190a7b29e14f382aa410a019779c95736d5ee44b7b5903cf84cb0f7603d9d90a12e144093bf4cb85408eb914e054f7dc28b99643f02e8ce4f0571148ffe505a6153602c04c1538c6364f359abc525b89243085e91e48643370ba2ddc2fcb4a390e967046025930a11abcba148de1bf205569ab43254483abda0f3059a71307ca8e4f7d715b65a374a647873af2e9c1d85faf720ea52672aa185586cd5b9a1313dcd4926d70e00fa9bfac5d643ac09781f7a521e395120404739712f725c79cd7966af146e9cec668c8775b61be04754d7b5d22ce026c8c84b40161ecf0582bd7161f5b34186352b7e44aa1de5be121838abe0c17aa42767a976714682e0a1a68cac73a338edadaefb87ee7c601f6b26c8b44b7d48e6b540b821c3d620840a63fd84ccb337b5ac7d9948ce0bb551d98da17667c260ba4ee0ff538f5cfb95d2832dda8e1f07fbba9f7a58ed5dac5e483fc8d4366c7a0c6ae337d80b38a28fc4c0e737e43e9fb1c19037f0623d44d9f3591f6e673253f4794c54d20df0bfca057657ea7598954b6ddab181ed5a48f785b874a11f7cd5eb08955ed7f3e032fa68205df0a5dc7c3960550695be119723a4a941dd6a032d7171b5cccfe8c081695cfeed8a28073caf7911c1ffd78e58a4ba6336e925efd254081c390143d0874f547e69ecffea8d004b78109621d507e2523fd83082f39b2ea16ec73effdd091afe1cce1b54708952053c92ef5e302dc678a4 -ss = a566d12cf0fcb1cab51be0b38365bef5908bb1c93ade17780ccb988f8fb03e1c +sk = cf59c55278aa76dc467176c58cdc4499667510219cb1a28e973404472c38c4e7bf7e00d00ad5c6e0ca536bb13081e9708857723029c619f1bae117b283c6c96bb61818942a4b63163e957f1a76a1a3c8af61b851c618927ab771098a43261ab16a8a252d25211d1682d2265908e091d10365347380e314bbcc224cf8889bb37759345754c4fa6589c8b055a75313cacc3b0c21959b621a68ae1a5a7b6398693c0194e57ab2e722072c508027b98980e864fb82b7f1e42cbdb9b608b428e9e391922189b54b18f5e66656b236cbe50563f75d84f785dcca6fedc1123ed31892d4289952cd9968478915b5e2e4a2d92bc6281b702a84a02ee740a4250f67f893809bba3c790b963b70facb645969457f91adc732406cf4010b76b478e37bd0771b3e801c37dc1fcf7683adba4eb0c49fa3aaa9cc829c2ec77b39e15d3a8c6873b139cc7c1dc9f8581e829694685c0a06cf9e33370cd8cc514abdc6aca6fa8203e13baa97ab2d55eb8c9c122c1fb55d1de97d95fb9323392a499100d9a5cba9d8cb2423688dec85a5442091398419417749617c66c06321f3a061235ccb799e8f23ce537351e49b59029a59abcc4cc9f27727653a230051d907bc1fa67895c60242c4a945908cbd480904977b6e016c1a27c120e37bd19410a8864e5b24ca2aca3cfd2ba3d9e9bd63f42f3977aa0c815e5d13c4ecb1b7120997f77638dba3cd5ea57883f5ac82222ecb245885904c9b6058b023253917b7af71c2f94b74f3637c45045d75f840191455b6154115555808d1c122d379ae176947984ada6c4ee90870e51185ee5ab0fbf042e3a299b0797e36d2c5fe5004106800868629d0dc48f46c14c2082e66a5a4d6579676624b5aac1fd07c60a0091b1cdab40cc2341f1961a8d882496c21573a21a7a4907d0164960cac9aeb10e62377ca7c2dda72594977225c9b0218b2787bb8b79b54c819418ead17109f950d6ba4bbe1da35fa698ceffa2a52484eeb868d72a784535814b030130852540eb372e7b7218cf499d2ea3915682a30176b08074f2e4336c391b69f1130c4765032649d00f0b397e8bb44c18f4707348f9ac63776782d877317d4548ddc9edba94a8454c1422bbaba88a9454585ec9668df08181e5a7343291002915603d891099172597c173a88b41cd45c24e40601c6a5bd379113d876e06614087204cf43c3564980d9630e84b621d6415d0ce224d50bad07b52d58c6ae9ff108948b4e49d9c941c3c0eb53a3f118445eda39b1cb8fd6013eb33046060cbcaec21b13549e3df843e9e7b6cd731664808ad4a773237194e9d5a39217457478a6198203f9e6a90e9a8492f96fe28a72c9e2743a41caf07752f52b2ed4fc17efa95493a24c66c93bc6aa846572ab7fa0a808a16279382f87700d8f195e1781803880b07c925256100f7bf223087a85c4f3c88f861e60f92532d60f5cb2033b883cade25f8beb7312520fb3210b2230528644b1ee298161f453b5f32126310899c88ba50690ed925ab0537ebd594567e837471a84c6ea72787176f80c94894c870e69337d939691568edcab008850a6f3a53eb585c01af253d1c9434810555afabc430b7fe69324a3e775e6f2be3638b119a6429ff98d8eb1b5808720e467302798a8ccd8350d36bda8fab17a53bc0c851d91b7cf10c617a1c03bbcc63d93a38ea4653b80731442889ff8200c96b5c37263081dd400d5670959941764a61cde119662325339da81f926affe427e31c6883ce10f5e5705eff1cb209acff5644717e6c6928a41b6e7183590aa524744881aa427c17fe955b306c33447054ac729112568a4cb16806ccc008ffca87e4cc37c3bbcf8e50d3bf07e01132efbe0605a14ac32f6ae2802ca893139f62a64cef28b1720acb282173f2cb4b0f392f8077a325a6259a32455e57964e338a6a731c5aa29beebb0843730ffa93d6b234d51bb87a054968cd07f9c3a2ca79607a97079eba2481e590955e124fa7805e1f03499b7216b6a3a14b9c0c6bab99917a435b88c4314a290e70c7eec8a145037b6531b35b89655e90df5eb2fe53ab33b6c68583780a3b52bb92cc90c45a28cfa8add511ee03bb8bf528d4e94bdfc0cc510e732df4913116a7786e437ef523607126f047a17168824a00699ca54b71eec5b690cadfd69b8db5e8548c3b3dc474f7843c49a8dbfc939c41af7f8ec6c8354aeb0c67e05eae0e3f73c56254fac37209f5a59818fbaabf5abff3320b0b3ee00e20679b5728c1208a2455063246eb5761e908816e48990d670308b0d34d7823a325d49a1a4dc0d +m = d7a9ee0513802fdfc6995a975c992350a5277ee79f1837e66959d1d0016eee34 +ct = de2c0c31fd07ce3ce4c674ce5dfdcfe5577a367739f19f8e698a95c3a6dd02fbe6adf78abfa7d29a4c25f7138b89ded53eea99c8b97972555d1cc66375d57b7f7d60d355b4c6a21f79784913cb39af7dcf964ca131ac493b720328eac2813948dfb838010b8ba9aaf49469e3af0f6323d6059c65a23721316a6493d7f75803d0c24857d5d27d784d76c4b714d9be68396257c3942dd3b405988fe5f2618c893d60ae89e408d54f2a284432c2afc32fa78ea0b8e68bd1491f64e52a1aca45c28b53895678a42d911ebc4e9b998c577a81713af7cd278673de632d76b5e9da86e748c25f1ce9c5e3ebbd3742e37c3c38791cf24b9e1d19cdbdc2a656c46a8314d6afa004d1a04724eb034a3aa7515cd979a8a53dfb6c74603e864ff79226cc21391efd8e534faf1cc2fdc401e33d3b2de6160744bfb3607ad309ed15b2b4fb9843847679e967683f18d7fc0e9c05c5ebcdded7c75b149389fbb4d811790694b091f13068c58702722c71e96acfab0b00605e0d0947cb1f13f4f1d192620e3081154996736285b501142f1c6402a23cf7ccffdcf0dac9d0d4064f6f9c4d5476e45eb0152333f585e699fc955c4bddba3e0290097a0b5b7182225745be447d3efc5a64a349ec1c8dded47abef2fce527344d5be8bd8b6301f5c1b1ab11b36e3b2b867e7cc69358f9915c50e7cc91227aa9fdcebaf2fc690127da629e1537a4be565405346908120e1a454dc34b911ed14c1be00f10130804da412167699b8e0a3ceba210113b08da14a952ba162107d7bc016178813edbe1dacf686045bea6138d46a4f7354c0e97cb4145b5eb78f7e48b23cb99a192522784d8dfee9a1b1693b61b40d78aff73d41441170778c4e7e3994795d9bc0c1480226633c3930d2b7d1c328333489d3822d7e9c7613248b3c4d1ee13d743ba2344730b2d5076cb3aea11077c9ada2e6bdf53d389fe1e428f8c82298ece604f655551a1e883edee1d545cd2179df42a367ee3c9054571057278ed2cf74436cfa26f8a53f12b890881815ef6848a96b3cf19fbedb1e71a28667c00284b10f1a22eec848c9fc237bc1ca93d22 +ss = 1d4471690e3d30a3dac69a1724e6d8c5b9fb320213078dd2c827bf745d1cddec d = ae0f65e29f38804a6759f70f4d01e2aaff7fe1c91ebc4f892dd0de3ab2e68ea5 -z = e03ff73e02a217659f53d8c47556bf3d8c94040f630d63605e2d0f923579370c +z = dad700cfd0bfc439237a0cdb3f7d6c76699aad545d0acd755f14f7cb3b30096c pk = b6712164215d038aa3f9050a35732e408ac91a2635b4c6b502c698104c7e90a26bcd903a4b78c20218ae92d39bf634828a14b529983e92900ecb3778a1583deef38497a336063a31ef9460e8b240fba40ffd4b7b070a4650ec3cd698046c097189237a11a510f6941e6b73a79dd99ee4a8517d25650ff2c0e9b0ac238302ecfac7fd642df9830ffe8714ea8071fa097b39e57919462948a177858c89fbc8bbb2717eee7169b4256606c8abd1e9399df44f12fb8e4ba0b846ec7fe1d65582bbbdd0d494a8a25cc81667ae1964a525016d9ba5ef698c84472ae62cbf10293cb047082a58bdd321c616fcb7a79223e95c8834362da8e60d0feb36a5d1a1a6b6736200213ac3620a113a6d5436ef2064fc360805d2ae84d79d07376123fa1682f80a5e85c87992329d52125a9965d8b039784a3bb472a7f310057dac08e5f41fc1ac9e55f7532f2359c3063726a25599980597da9715117a5af15de88b516f8a41e4ab824ffa8e6ef16cdbcc1fe4f965eac97474a7b235dc0c73140ee7153a835c29289311e1c2a0616a2742c70e27d656ef9954c7643947bc32eb713d9ac392b982400ed275899a04f1b7356b02a54c37beb03215d9e1505380049f9b61b35a61c105980652037142a44c42252663799de7bafa6a042d439c893a37a87b1a792c1689924cc642ae09a299d456c6d36895571572f19c144bcc6eb0cb9aaea09289c8cb193cb9ac33823c11980c950d1106625755b280077f9f383f828824818956ed46755f7933f029a9363054ded02a42f5c56986c541e9ada77084b08b7eeaf4abb700839a59c18fc556a6d528e5326c0b4baec27285b0353e3a152f06fbac742a9606542ffbc14d0ec214757cb1a23aa810945aa8526d3cbbccd11b86ff12b553268abce55d7d723e496071a8bc3a8072ac653cca7c261feb53c95b569a44d52f3d61ae991c38828557caea637e6b130142291dd51ddef7163cf84be7a266e504a4e4943d164c912e77cd9c1ba5a9549e5be685945b66a4a622bd8540b044bb14384aab596147e813f9b1c94f75bac39a1aeb14a035d858892b7e900a2163828f03ca153015fb2665c77d8fcc529f21afde0d4f32cbfa399f2973d812f516c86b -sk = 4f9166b63489953773ea5abb3d0c6a3ae64910943321a13fce603d2e7190d288612ca63fb1ec86a9d50bcb228f74208d9f6352c5f57e1896972230c36f752b8fba83f9d006ea92350a01474ae53799b117e38860fb5cb37630549b5b3b9e5928b6fa4559f040332ac243b90c01353ffbbb77b29735d5e8463e930444b987456072d6579b1fe52ebaa689e85950f393c25fc0aa29d76306558a6b1c2d461bcd4769c2d29358c891a72ca63e61c12c43bc3252107acae4194780ce0bea39d2daced340416382bf99cb8c12bca7ac94ab1d50809a0b1f18d1c4a4a3aa537519d9772fe0a88e668698e59b77b94abef2f969c9f46fd9a850b9e341ccf588485315648a960db0ca33da481987310455452f3933c8db0e1692611d40233ac617e72034b6e8b1d614bc6f0b29735aaac3c050ba38682cf3a6f0c5638b6097f46a85c32a7cc8b06f34f8542c44064b46663af7acffc0a45a99aaa225a30f2c6fed688cbf789c3b6a7464aa17388b69dca70f3e9a588b6531e9032b883946490c9d9f3a53ee0139ffd6c9db19491bb428ea92c2d830c04cc98fb193b735c599d527c375652a964c58e198caa37c3f97e4251ce369b501cf96656f2cc1b29ec1b88ba8341727496916a4d01c8158d4a5654723de0c418755271834608e72a2b48bb0b5a62abba9a99d07139858c7b767ba2d590fb0715329392927137f58724cb72137ffc08fe2059671828d57e6885b5c09007dc5da4089807cc097fc1bc376bb5197a6c5c932df08066c2b6805490604f6c9cd4a1406661141257e8b1074ff2ccc6f262c11cc0e9c9b30eeccbb824170251ba65aa1bad79a91771cad19226c3962543478be9c48ce4a869d98e16e08e753aee5321fc060efa807cbf54d10c8611064a4e68c7da6120f67b3bb9bc016e5ab61d6a37b9a83a490910c59e91911c33d2ea20f3e414ea08195ab979a7c204fb4582fd52547d4e0758721c32d6ccca0dc34493a52fb606be8785014f9761e704514022db0a322c10a377680c4d274b17aa9472fecceb4cbc3213153aa55af49b808f4c5abf98192bdda571c366e658177f8e055b6712164215d038aa3f9050a35732e408ac91a2635b4c6b502c698104c7e90a26bcd903a4b78c20218ae92d39bf634828a14b529983e92900ecb3778a1583deef38497a336063a31ef9460e8b240fba40ffd4b7b070a4650ec3cd698046c097189237a11a510f6941e6b73a79dd99ee4a8517d25650ff2c0e9b0ac238302ecfac7fd642df9830ffe8714ea8071fa097b39e57919462948a177858c89fbc8bbb2717eee7169b4256606c8abd1e9399df44f12fb8e4ba0b846ec7fe1d65582bbbdd0d494a8a25cc81667ae1964a525016d9ba5ef698c84472ae62cbf10293cb047082a58bdd321c616fcb7a79223e95c8834362da8e60d0feb36a5d1a1a6b6736200213ac3620a113a6d5436ef2064fc360805d2ae84d79d07376123fa1682f80a5e85c87992329d52125a9965d8b039784a3bb472a7f310057dac08e5f41fc1ac9e55f7532f2359c3063726a25599980597da9715117a5af15de88b516f8a41e4ab824ffa8e6ef16cdbcc1fe4f965eac97474a7b235dc0c73140ee7153a835c29289311e1c2a0616a2742c70e27d656ef9954c7643947bc32eb713d9ac392b982400ed275899a04f1b7356b02a54c37beb03215d9e1505380049f9b61b35a61c105980652037142a44c42252663799de7bafa6a042d439c893a37a87b1a792c1689924cc642ae09a299d456c6d36895571572f19c144bcc6eb0cb9aaea09289c8cb193cb9ac33823c11980c950d1106625755b280077f9f383f828824818956ed46755f7933f029a9363054ded02a42f5c56986c541e9ada77084b08b7eeaf4abb700839a59c18fc556a6d528e5326c0b4baec27285b0353e3a152f06fbac742a9606542ffbc14d0ec214757cb1a23aa810945aa8526d3cbbccd11b86ff12b553268abce55d7d723e496071a8bc3a8072ac653cca7c261feb53c95b569a44d52f3d61ae991c38828557caea637e6b130142291dd51ddef7163cf84be7a266e504a4e4943d164c912e77cd9c1ba5a9549e5be685945b66a4a622bd8540b044bb14384aab596147e813f9b1c94f75bac39a1aeb14a035d858892b7e900a2163828f03ca153015fb2665c77d8fcc529f21afde0d4f32cbfa399f2973d812f516c86bbc0a40ba03d27bbbfb91654fdcfab2dfb3e94d9607b99c1d7da1f2663bfa2598e03ff73e02a217659f53d8c47556bf3d8c94040f630d63605e2d0f923579370c -m = 0b4c3cffb2ba4380ead13dc0d8acad2356b448a810da1df29f264c44aab6d24f -ct = fe2dab3e6ad83ac179181dd6d2fc57d959e6c4564eb3e2161df33ef119a135ef27f262a92399c63b0f1ec9ec0d0fafa3e84ab1e196b0a77f9775307665c3b3db82b72abe6758cfe46bc0ffa6cbdbf51c1a753b8d11ca525313866c170946b36ba1a55e3204b6e37f2ecd8ea48fb7efd02982d75979d1830098af6706ef2866420835d226cdf56bf1fd3e2930d363883cc809e071a25f144d8e75768b2b78986fe3eb197aba52398640c14642153a9159b1c4dca987e4c5d3246b984ba610bbd24c7869aebea0dcc0d2c4617c6c63c3d1c4bba937f152cdb85bd1ce3eecac5fd3b3dbbe760279ba09f5684614c5deb4fb4d04f1f5f4bede6ac417484d7ff2c894d49b9aa752b867c2cc1e5c34b6d9d67ee6035102ddb318addb5a91adcf58d7bcaef606bb47a38cce8634fb3a4ef9317e7b600dd8eded36a5fe45e889e65ecbbf87eb2d470f0ccfdd27aac66b3f02c1179a2e80c076e4f64bf7959c02188349864058c8aa59d21f907f898861f47142c97fd9b1703cba1c224d83d2aeac5cecbad0cf46af31f06956d5c6d4a19c18bc705fa937da17734beb9fc3c792b121905bd9287dd0f01c58ccac39c9baf968785256de9192eb9e5cc25890e8d6c1e48fdddece15a61da6ce90876ff389a886ed72e47e29e2bdaa5056049ac0ad346e0840e95c9b52e46b2d94c6ffe68cfb764a7090f9e7705d0e93d0097580d4c03ed693409b02d14743f89e346e7daeffc5cd1732492d34199ff1bed872c538c26200bb225b038e5623bb3b4c4ab3604498f77f566724729ec7fc5eb9d35b432bb2cdee6d1ccffdd45aebf042e85dd54464c045117348f281d8dbf8b2b15693aa55b8f90662057eba305a6a8d940e1843aa7a804c9e09ed5124598c3d7c4dd7151342f92d529e18f0db2f14f5aff57411f2ba775109d3029a71e23a41cc6bd3466a6d05d3ecd0514f7f824466cb475a511c62a64cad9c5d68216b19fb95b38f6e04d0332990e08d2a9dcd9e42a43c92f03c4c4919c9f7f276ea15c3f1673e16305e0c1006f9fa61f658d7342bffa9e7a4ced5f3dd89377a02b6a0d32dd8ebf17d95ec2d -ss = 48ac7c3e8787032f08cdd6e918d694c04468a8f07e3c35d46345ec29d5c0f005 +sk = 4f9166b63489953773ea5abb3d0c6a3ae64910943321a13fce603d2e7190d288612ca63fb1ec86a9d50bcb228f74208d9f6352c5f57e1896972230c36f752b8fba83f9d006ea92350a01474ae53799b117e38860fb5cb37630549b5b3b9e5928b6fa4559f040332ac243b90c01353ffbbb77b29735d5e8463e930444b987456072d6579b1fe52ebaa689e85950f393c25fc0aa29d76306558a6b1c2d461bcd4769c2d29358c891a72ca63e61c12c43bc3252107acae4194780ce0bea39d2daced340416382bf99cb8c12bca7ac94ab1d50809a0b1f18d1c4a4a3aa537519d9772fe0a88e668698e59b77b94abef2f969c9f46fd9a850b9e341ccf588485315648a960db0ca33da481987310455452f3933c8db0e1692611d40233ac617e72034b6e8b1d614bc6f0b29735aaac3c050ba38682cf3a6f0c5638b6097f46a85c32a7cc8b06f34f8542c44064b46663af7acffc0a45a99aaa225a30f2c6fed688cbf789c3b6a7464aa17388b69dca70f3e9a588b6531e9032b883946490c9d9f3a53ee0139ffd6c9db19491bb428ea92c2d830c04cc98fb193b735c599d527c375652a964c58e198caa37c3f97e4251ce369b501cf96656f2cc1b29ec1b88ba8341727496916a4d01c8158d4a5654723de0c418755271834608e72a2b48bb0b5a62abba9a99d07139858c7b767ba2d590fb0715329392927137f58724cb72137ffc08fe2059671828d57e6885b5c09007dc5da4089807cc097fc1bc376bb5197a6c5c932df08066c2b6805490604f6c9cd4a1406661141257e8b1074ff2ccc6f262c11cc0e9c9b30eeccbb824170251ba65aa1bad79a91771cad19226c3962543478be9c48ce4a869d98e16e08e753aee5321fc060efa807cbf54d10c8611064a4e68c7da6120f67b3bb9bc016e5ab61d6a37b9a83a490910c59e91911c33d2ea20f3e414ea08195ab979a7c204fb4582fd52547d4e0758721c32d6ccca0dc34493a52fb606be8785014f9761e704514022db0a322c10a377680c4d274b17aa9472fecceb4cbc3213153aa55af49b808f4c5abf98192bdda571c366e658177f8e055b6712164215d038aa3f9050a35732e408ac91a2635b4c6b502c698104c7e90a26bcd903a4b78c20218ae92d39bf634828a14b529983e92900ecb3778a1583deef38497a336063a31ef9460e8b240fba40ffd4b7b070a4650ec3cd698046c097189237a11a510f6941e6b73a79dd99ee4a8517d25650ff2c0e9b0ac238302ecfac7fd642df9830ffe8714ea8071fa097b39e57919462948a177858c89fbc8bbb2717eee7169b4256606c8abd1e9399df44f12fb8e4ba0b846ec7fe1d65582bbbdd0d494a8a25cc81667ae1964a525016d9ba5ef698c84472ae62cbf10293cb047082a58bdd321c616fcb7a79223e95c8834362da8e60d0feb36a5d1a1a6b6736200213ac3620a113a6d5436ef2064fc360805d2ae84d79d07376123fa1682f80a5e85c87992329d52125a9965d8b039784a3bb472a7f310057dac08e5f41fc1ac9e55f7532f2359c3063726a25599980597da9715117a5af15de88b516f8a41e4ab824ffa8e6ef16cdbcc1fe4f965eac97474a7b235dc0c73140ee7153a835c29289311e1c2a0616a2742c70e27d656ef9954c7643947bc32eb713d9ac392b982400ed275899a04f1b7356b02a54c37beb03215d9e1505380049f9b61b35a61c105980652037142a44c42252663799de7bafa6a042d439c893a37a87b1a792c1689924cc642ae09a299d456c6d36895571572f19c144bcc6eb0cb9aaea09289c8cb193cb9ac33823c11980c950d1106625755b280077f9f383f828824818956ed46755f7933f029a9363054ded02a42f5c56986c541e9ada77084b08b7eeaf4abb700839a59c18fc556a6d528e5326c0b4baec27285b0353e3a152f06fbac742a9606542ffbc14d0ec214757cb1a23aa810945aa8526d3cbbccd11b86ff12b553268abce55d7d723e496071a8bc3a8072ac653cca7c261feb53c95b569a44d52f3d61ae991c38828557caea637e6b130142291dd51ddef7163cf84be7a266e504a4e4943d164c912e77cd9c1ba5a9549e5be685945b66a4a622bd8540b044bb14384aab596147e813f9b1c94f75bac39a1aeb14a035d858892b7e900a2163828f03ca153015fb2665c77d8fcc529f21afde0d4f32cbfa399f2973d812f516c86bbc0a40ba03d27bbbfb91654fdcfab2dfb3e94d9607b99c1d7da1f2663bfa2598dad700cfd0bfc439237a0cdb3f7d6c76699aad545d0acd755f14f7cb3b30096c +m = 2bee79d35d1bd40005203028b58b095ddff33a4806a2ba264f76b6b06af6449c +ct = e9129eb9e127e2954ee9c473566b21eae7391ffb1cb3c8fb8fa7d90edf066bd3cb58dbda61ac6deaa777c159bf26769b334f3d8dd92c8826f802c698b22d933e28a620ccc5e1153651fc1fa8fe8d434bc170058517b8b5629deb70fd3eda91e5c28ecd4acdcb4a15e53a419bc197d0000686c6fc13ecf3294f7fa57b167375940cca022ed427a68d687881edbc877c03af9bab1c94c8c7bf0d9104b1b951819975ab5b239878a8ff7622ed6f4bbbf4345273b2ee35d84600fa665b4a0886b6bcc9fd4111b44a6c96b8d2116641b370fa47ea9ddeba2f7a52a596a9ee4a0d0f3308d7296e43b459f1e6066022e16c2e01ee81aa1cca2cb9e32026077eaa672b4f230f7c5364a355680fc982239842440bf9b271f64a155dfbbc5f5c39ac0d30a7c6811c3fcc78121608ecf070c3ae167ab40690241aac320b7fa62614a55a358227dbf1cbd7f7b998899333a29ee366f91cde7d7f03c217b6e8ef95fa722f6cb2071a9d0c829b3381bcf8794e38ab159fa004df4a9dc9420a0ca2a3b97def036a4a12217d5e94c01fad7e18b033f3494946399652590fa0563e57544136a88d684301adbf54430f6ff99523c389153f2089102c21954319a016ccd3677fc095a0b70ff025752ebf8108d0f658c0c08c528a7d888fdde4d67a4280e4928b6f8ffac6d0581c88e898eb2be6dbaefaf27fed4886f8a5605725a967375e4bb560af3d9712545ad66a482214ee8fff2f6792aacfb5ebf54505e94022687e655a98f344d49c4f8d14a68c554bc23f00c5df413ede378f454c14a229f682c030ec072e4fcbcb0f7139e49256a5eea6aacee5b6d8d58a3444e417f95b36802191b392235cdc8c7eb2a44ba8aee77d45e8874bba306c4308a6f19f706a961c1cdea303b6aaeca41884f7187090922e7d3973bab4f421c2f4e2fffaeb281c3aa94bb9612bbcaf1aca37c564b1e147e9595e2df94d2fe28dca3d48047e20d12f7b19be68c474788a2d0f5e659676bba91dd1de8b47f59345bf9208d4f4241c2b8da4842e177e0b905907081410a308f300a94cc520f7ffcd604125ffdd36f1af860b8acd4af4 +ss = 57922d55e40015f97b0b5863e6bf3eb136fe81ce5bdc5da36d2bc7efc201c725 d = 6084a235f79dd093ef6d185b54e69df33dacee73a9bf2f379004421a10e3a79d -z = 9f684fb055ece19459eb464e91e126a7a6e3ed11ccee0046da234d964c985110 +z = 2a96a70166e26d17a7319e8a5e12e38ca01a98d8a5813049a5bdd355a7d71347 pk = b7665f3a5a380255617309ccf80a53dc03259fd252de0bb4865372fe22148ed6c5f6c111ac00b31460c5c8da7728dcc4c45093f6c38d78432542ec71be51526d588d46bb07ca388088a1c873219d74334070895c396a87ae390cbdf309e41a2fdde955cec2a29bf205e492747dcb39599a49902151aeac0852d6c042b4c0db99c3f3f94eb7db193bfaa7005709933899c04235941969baccb59418a41e603ec62679b2808f25c8565e6954335227e40040d8407147ba15b7a84405c6a6e72251236bb951e18a1f81b84d0126804a9b0ad3bbe3e65055a4ce714bb726ab9a94d6c1eca19835b0bfdf637a5839c007cb5c5972111aa64bb0f84884d70375e352241bb0dc4acc5f170a7f7b7ed3308b95d975d5c933e5058df99c4e08878523bb98274488aa712529870ddf5211da039bf2e43eb6506f30b41a90c8922880bff2b1630c0048c22c4972690bc965c009e834bbf936581c9da72a70e2a4c2de0220cb4b88296c9716215007ecc9cbf9c1ac081d84d56adb884d2522584cbc5e61d3327bb2002b275683664487a3ca8f767e54e27e541a403754a45b9512368b0c0298bfdd2143ef9c16b49a282e14010591bef728001d0892b939c3fce379c2e96c2b41a9e5cab8c09cafce0c2a14d79137e3b86b25546c86228d008c792496ddcc9ebb01a664e62040d09fa798accce9033bf828d6058c27e79e434904b756afb332c9800312ed69c4cbbcc379b30b83fa4f71c15e86680b6e40b1f79601ae530e7cb8b7b7d536336468ae291d63360814b83ed574c98ff9afb2db8fe0e4561b98001ac783eea99b82d13de2fc5fd59a1e7cdc63e814b3275a0adf318fb2419c76545ccc70066b0abbca763a99901ae6412b43e26090418c09554bde64c1d3767b074901b5e61449e32532f98365b0bcb65cb3b63c03f1d023e495a0f96a258ffac4d3299896055838263ddc85bb3a071ac5c87cc8a4ce8467881f54047759b420d5809489cb2785aff1935835b845977bcf2b275fabe31222e8576e3578a7a56a26a31bd5510d12bc9aaa3a46fc87cf9d0706d20a126bbb446c24230fc82a780cbaa3823d34197b7d9e60e307bbabd9b3e8272a0ef1b3333269a7af6a5bb8740bfa -sk = 53b12801738266b450385a9729b894208ac7b3e5719acb43d716461ed1513925192b891180b2bcba6a22a0465ce788832be49b0e3b7fb1d44217618fec80b973ac90f4413cd8f54b10848bdc304cb2025a880c7aa3ab1c2743364523361d84c5db3439ab5cb32c38406e3c5b1b7c7d0403aa4e70786f579cec2c96f516bcec6c69c3d969287ab855e55d22ca8379c1286c52085022c1272baa2bb5c6027075a830370f981c8c836a08f08132394113c93ffe345766766687daa59a591d58398262764aed1cbdf8e87f6cc5b881c18aca05187f76a61bb429e9e024ebd58f1090a6961a0aa8706058d90a8091bf7385aab0b27f16485e08a67b5ebba9ea365b7ada2c055a0daf82b5845c992c945960159a50f7aa1a588084c48cb65403101747fd588cfdf43549facac6d78799759f2ef38d06c42422d73b5ec70b512313738027b9b18eeda06332dbb5856ba413e357c07c1480401bac34309aba9ba13825ba5682345511a45c17353789dd302bf6b1af1573245848986890acfe2708523c02dc53165f204fd6a85b44a650f2d2a325477587bca84994025d221967f61c746a12fc09bfdd3b89ec72a23405ad2a8512d89129585080cf0a6a416365130398bcbb93e37c18fa745b6e131908b0400a67470fc4b40e447e2e378222466336f0966fab951cfa3cf72316c7d843880c297e4444633b52a0c317d4a1a9aa6892eee5a538cc0e07c17a135a2f0e6194bad18494e388866b0cf480aa3bb436b91b33d574372fc054c72b82a4a823b1120b9052c41b957f58131d2dfa8529f02e24f50d88017db823457602a22ad78080661ddabbbbb9f6280d0aa59ef37b62594a013c74a03b8c108ab225a218a2f81358fc0182ab7a607ab103591078077d4f1b2b2de6957ad404ad8b30c146be11d99a0fda6b0f254c13ec2daaf4374afba07ea6ae69fb6633990c0e79cb61c9a81fe4bef140cd1ea569a036cf716009bb3b33708327c478826a08b03839afc31663d4f77f74a972e92910d06995390a3e193ca83706aacb884ae6b589c9aa169beb63d4558d2d43b43d0c4f5ef23bdd26092cac54b7665f3a5a380255617309ccf80a53dc03259fd252de0bb4865372fe22148ed6c5f6c111ac00b31460c5c8da7728dcc4c45093f6c38d78432542ec71be51526d588d46bb07ca388088a1c873219d74334070895c396a87ae390cbdf309e41a2fdde955cec2a29bf205e492747dcb39599a49902151aeac0852d6c042b4c0db99c3f3f94eb7db193bfaa7005709933899c04235941969baccb59418a41e603ec62679b2808f25c8565e6954335227e40040d8407147ba15b7a84405c6a6e72251236bb951e18a1f81b84d0126804a9b0ad3bbe3e65055a4ce714bb726ab9a94d6c1eca19835b0bfdf637a5839c007cb5c5972111aa64bb0f84884d70375e352241bb0dc4acc5f170a7f7b7ed3308b95d975d5c933e5058df99c4e08878523bb98274488aa712529870ddf5211da039bf2e43eb6506f30b41a90c8922880bff2b1630c0048c22c4972690bc965c009e834bbf936581c9da72a70e2a4c2de0220cb4b88296c9716215007ecc9cbf9c1ac081d84d56adb884d2522584cbc5e61d3327bb2002b275683664487a3ca8f767e54e27e541a403754a45b9512368b0c0298bfdd2143ef9c16b49a282e14010591bef728001d0892b939c3fce379c2e96c2b41a9e5cab8c09cafce0c2a14d79137e3b86b25546c86228d008c792496ddcc9ebb01a664e62040d09fa798accce9033bf828d6058c27e79e434904b756afb332c9800312ed69c4cbbcc379b30b83fa4f71c15e86680b6e40b1f79601ae530e7cb8b7b7d536336468ae291d63360814b83ed574c98ff9afb2db8fe0e4561b98001ac783eea99b82d13de2fc5fd59a1e7cdc63e814b3275a0adf318fb2419c76545ccc70066b0abbca763a99901ae6412b43e26090418c09554bde64c1d3767b074901b5e61449e32532f98365b0bcb65cb3b63c03f1d023e495a0f96a258ffac4d3299896055838263ddc85bb3a071ac5c87cc8a4ce8467881f54047759b420d5809489cb2785aff1935835b845977bcf2b275fabe31222e8576e3578a7a56a26a31bd5510d12bc9aaa3a46fc87cf9d0706d20a126bbb446c24230fc82a780cbaa3823d34197b7d9e60e307bbabd9b3e8272a0ef1b3333269a7af6a5bb8740bfae16da7f99bb7bceb75a6468a921ab9fe53aab2972ca616ee10697c204df1e3509f684fb055ece19459eb464e91e126a7a6e3ed11ccee0046da234d964c985110 -m = 1c82471dcdfca3a6942061ab4f3d5bf0d197321437c706d9cccccce449447002 -ct = 8eace19d14522dab8bd9455ec8a1ed01434b26d65fab2426f4c92dff8ba89d3b8f3b7fe2801e830d55d613bb271b8560067912c6520c7f0e9302947fdbcae4b77efc215d1597725338838489f4293268687359b0007e1071ea6147c7717c528a3dc7f3faabfd8798a1d6a37e36ca04ad8f1171db817c5ccaf8ca3eceaa5b7d73d314d38a98eaaeb720d07e47eb609cd5a3408281ccad5a3fe2398ca2b2926bbfa64b62e2cf24741e873b275552172b2d7d3c60492d1827b205a821e27636b0186993c47c38cf621c12499b8dca267fcbf61880ad302b0de6c8e7ae80dae930855dc3d113131c7faf2f80d0b34cc160acc025b68d2a569a4ab8ef4d78109c94c65e2afeae1ecf9b8e1926ebb72fa1ea5f2f78a7fa9eb03973a1068f185c1e592e5a028014d03a72100aa19b3490c805db587211febb76343fb77b44d3d31f1f4f9d62c42168d83d2e914f9850e7eb1f580178e9a004924c0731cedee1ed785159b64978897688e22877004f1267daf9dd6f04917b97a0c4fce4219f19ecaaf822b3da67f43dfb0274c48c4b5ab03087cafc4f32cdda1446a5028ef90e3752eae8a22450b3135455e82df38a60516e0603972bb9ab053237a1e5b54b0647bd37964921077a192ee1f82535953348671e8bd1e79e654325e7b4284ec52236cf35a61431d3ebb264dafebd371ae0a3d5e9f950f021f74aac55f3221be7cdf1c4226be3fc5901cbca26cbc8eda71fef6343e03e93f82b563bcafde94290ae906930765788f9fa8a609370ac848d451dee702a0438fe5e19484de9ae4eed64228810fa212eecfa9308360e43dc01a5da1bafbd244fc064d7b1011c7c3382af20e5fbdbb177dc97348f547e663bc8fad2a76521a32d54a0eff8047a295ff131800647b6cfa5660cfa352547f0f7add346882bad3c2beee07daa2df9338f2770c118172f44841c42ed9521a0e1e5714ad20f5d3445adc31a8e295e53e55f9938bcb848b708d0ced9171c0327554e801dcb55813caff0fb01ef8d9ab6224574a1729d28115b61206d8052217d4607b718b2241cbefc74e8e565d49f837ca99c4b1225dacc -ss = 098bda430eaa259763846c94d9f888c8e07fec084e549851998f700156573e04 +sk = 53b12801738266b450385a9729b894208ac7b3e5719acb43d716461ed1513925192b891180b2bcba6a22a0465ce788832be49b0e3b7fb1d44217618fec80b973ac90f4413cd8f54b10848bdc304cb2025a880c7aa3ab1c2743364523361d84c5db3439ab5cb32c38406e3c5b1b7c7d0403aa4e70786f579cec2c96f516bcec6c69c3d969287ab855e55d22ca8379c1286c52085022c1272baa2bb5c6027075a830370f981c8c836a08f08132394113c93ffe345766766687daa59a591d58398262764aed1cbdf8e87f6cc5b881c18aca05187f76a61bb429e9e024ebd58f1090a6961a0aa8706058d90a8091bf7385aab0b27f16485e08a67b5ebba9ea365b7ada2c055a0daf82b5845c992c945960159a50f7aa1a588084c48cb65403101747fd588cfdf43549facac6d78799759f2ef38d06c42422d73b5ec70b512313738027b9b18eeda06332dbb5856ba413e357c07c1480401bac34309aba9ba13825ba5682345511a45c17353789dd302bf6b1af1573245848986890acfe2708523c02dc53165f204fd6a85b44a650f2d2a325477587bca84994025d221967f61c746a12fc09bfdd3b89ec72a23405ad2a8512d89129585080cf0a6a416365130398bcbb93e37c18fa745b6e131908b0400a67470fc4b40e447e2e378222466336f0966fab951cfa3cf72316c7d843880c297e4444633b52a0c317d4a1a9aa6892eee5a538cc0e07c17a135a2f0e6194bad18494e388866b0cf480aa3bb436b91b33d574372fc054c72b82a4a823b1120b9052c41b957f58131d2dfa8529f02e24f50d88017db823457602a22ad78080661ddabbbbb9f6280d0aa59ef37b62594a013c74a03b8c108ab225a218a2f81358fc0182ab7a607ab103591078077d4f1b2b2de6957ad404ad8b30c146be11d99a0fda6b0f254c13ec2daaf4374afba07ea6ae69fb6633990c0e79cb61c9a81fe4bef140cd1ea569a036cf716009bb3b33708327c478826a08b03839afc31663d4f77f74a972e92910d06995390a3e193ca83706aacb884ae6b589c9aa169beb63d4558d2d43b43d0c4f5ef23bdd26092cac54b7665f3a5a380255617309ccf80a53dc03259fd252de0bb4865372fe22148ed6c5f6c111ac00b31460c5c8da7728dcc4c45093f6c38d78432542ec71be51526d588d46bb07ca388088a1c873219d74334070895c396a87ae390cbdf309e41a2fdde955cec2a29bf205e492747dcb39599a49902151aeac0852d6c042b4c0db99c3f3f94eb7db193bfaa7005709933899c04235941969baccb59418a41e603ec62679b2808f25c8565e6954335227e40040d8407147ba15b7a84405c6a6e72251236bb951e18a1f81b84d0126804a9b0ad3bbe3e65055a4ce714bb726ab9a94d6c1eca19835b0bfdf637a5839c007cb5c5972111aa64bb0f84884d70375e352241bb0dc4acc5f170a7f7b7ed3308b95d975d5c933e5058df99c4e08878523bb98274488aa712529870ddf5211da039bf2e43eb6506f30b41a90c8922880bff2b1630c0048c22c4972690bc965c009e834bbf936581c9da72a70e2a4c2de0220cb4b88296c9716215007ecc9cbf9c1ac081d84d56adb884d2522584cbc5e61d3327bb2002b275683664487a3ca8f767e54e27e541a403754a45b9512368b0c0298bfdd2143ef9c16b49a282e14010591bef728001d0892b939c3fce379c2e96c2b41a9e5cab8c09cafce0c2a14d79137e3b86b25546c86228d008c792496ddcc9ebb01a664e62040d09fa798accce9033bf828d6058c27e79e434904b756afb332c9800312ed69c4cbbcc379b30b83fa4f71c15e86680b6e40b1f79601ae530e7cb8b7b7d536336468ae291d63360814b83ed574c98ff9afb2db8fe0e4561b98001ac783eea99b82d13de2fc5fd59a1e7cdc63e814b3275a0adf318fb2419c76545ccc70066b0abbca763a99901ae6412b43e26090418c09554bde64c1d3767b074901b5e61449e32532f98365b0bcb65cb3b63c03f1d023e495a0f96a258ffac4d3299896055838263ddc85bb3a071ac5c87cc8a4ce8467881f54047759b420d5809489cb2785aff1935835b845977bcf2b275fabe31222e8576e3578a7a56a26a31bd5510d12bc9aaa3a46fc87cf9d0706d20a126bbb446c24230fc82a780cbaa3823d34197b7d9e60e307bbabd9b3e8272a0ef1b3333269a7af6a5bb8740bfae16da7f99bb7bceb75a6468a921ab9fe53aab2972ca616ee10697c204df1e3502a96a70166e26d17a7319e8a5e12e38ca01a98d8a5813049a5bdd355a7d71347 +m = a8fdb315f75aa1e656cad005010b032bce1dcdd7cff8c938a5314ed240f480ea +ct = ff72a038223e048f2f30e5c0fd199b392f4b9b787528eaa9c84cc51288d18a3f4a18e19dc0577df020a061605fb97766cad63322f84545bec596829cee5d68a253f332ce36e125292a9067b2bf1f2ccb0f9db061e7d1ff3322fb65b16c77aafa82a5970fbd43fe6839500e277c5fc8735939c30d6375685781592d537e4bf4098f0e2db820da430a648b3912034476622306550278e9eb808ec74ef2336bd2d307ab2f5595d77386b09a4cd9dac8ca75b408c7b2f2af3bb6cb9828e79ae48dbe876aaa7688318a70e8769624a4205c3108f04b7203f0c75895934c411599beda682ffdad61d4783c930595fa67bebe380de1636c51d0c5976636b2c064f7ba7fb21d604ebec7d00d41eb6c6309e4679d12d3b6eac3933564797fb29de625615900e6ec6f20fb5379383a69a0e65355bca142b637f455af664b8ced59721d1e0a78bd2b9adc223a8294162130a7d1c9a1900cae7e917c550b6470dcfc5b9156a01106ad247754dee35ea82fbaf0a25e894bfe773fb840554642a4b5a7918b51c3ed408249673c09dc4c8d4ee174e60bc9650b1fc3bad53d8d5ad3b87203a016f1627556c8b6374d13f1b6ca682fec899f15b178089b881db577549a6a25de40c109eca96831cf768a780a541cc3a1c33c297b86cb914e0fcb9f787330e2b46d976d31aa52c921f3a8b1b3a24e74c0491bd98a6098df4c9f4355cf8649ee84ef6108c9006dbe30932c333c6db9685add05676965cf66fd9295da9f70af58d8bab2fa12b51890bf5b376b612157228b0dc95e790027360367e431a3b720387ff8e2821cc4cdef6afeed40a794e8a7f9910b902e68dd58f6e7498f3a49240a75904ba053c2041300880e5f2417103b4f0751a01b33a3d199556b400504343d17798c3f9a19567c0da58a3c5d2b4503597bb6b8e1532f0b6dbf67de7e88007f91c18fc6925ce0d1a264f0535a8326a1f4664f7b59d2d58feb3343e9f99f8828eabaf73c6b2272025f85ff2bdecd47b45f4dcd171328b40caa5047b5e6f3c52b7d86c65d46d52a22ee5e5897fa652c1551813104fd7bcc5f0e9cfe242cc5ee82ff7e34 +ss = 336db3f72c3b8d36afc22a13dbfc9b8acff9a7415a7d9c06788c06acef9423dc d = acd1c0217fad5caa4235544dd9de153ab1880ccf4c76f16f236fae4e4bfda04c -z = f03a8abb0a5010f400ae5722a75bdf5a2f6d5b546b34d73857cb1bfc7e587aa7 +z = cd2dd7a1be89575be8c14529bde4d832cc005dea955065c08b3185b215da3a2d pk = b6a67cd98268afa159ba69953a085099ba56f4e4c74fdb6759791d1ad738cf320c3cf8c52d607a32059f1e8333b4021d855816496963baa6cb41842fa7ab7297a144758b84a27aa6dd507c097a6c7a19063f2b2baab0604aea5ca1c82dda790fa390c142b3709cb69675b8ba0f4990dc923aa525a316a0c7931aa5e5dab4a4e19f08f898ebe80258ba72127a92e3005611a72022d285bd279332817ed4f13a06a71f8f68a0be49a13eac34c773937da6218401c3fd55577572466a271a4bb10a7938919688629fd1c77b802b6358189e13a52330c4f836bbf41595df29499b42a5a6605ebcd6aaa89ca33580b5ee619d282702b4380b717532e0dcb6dbe3bb0c6431ad480821f0c184e7817616c110f2155a0536a4c65b21306fcb5c343fc38191b8b46dd7a3e27240fb85c365a33e18bc231127785c3c68892b5ca7955a148a8c52176d5e2596bff83ddc52157daa998c392a255b37bea55f1c33a23ff4cdb70a3fd0e019ef82131bd92e5db8ce9230421a670c246695afb5bc33e8569ba69d2843957ee52204e435f85c6a713c3fd677cf7a54cac8d48975f1609cd68659643a1a10558f7397234b583e5665e3d30d1fa26d0788b21bba2ba23507123b89ca5a1f54cc5957737159e93070987613dbc7dbb2ad163909fd167d9e099d8c394a7161417141cec54a24f34310bbec13abbb05a3681c81d7034b8687c1d62abc98b3a0c9a3c35352f667a49a6378380748934ac770d78517c5affd68a7f6eaa8309812bf6459c26c5fda4abf0ba46544a9146e5247adf99f09622c74b8b90397503e211b9a23bbbeb3bfcec659c936987c87104814a312091fb443acfb87a0863564b9eb9191708ad370ba73d42f35b5ae9b97004793992d13b5bbf00b277a2de699ae41222f28d593f6d3385583bdc938334e724341883a8026cd2ae5205da3b44b9075b86c75fd203b0cb738b4f533efe6117b97105a275edb7b0a15aa1ffaf029f3e13145eb3c500440c0e30c426c093c420496d85ab46883b4b695f30952bba32134189589882f5c297da14236a073ac04579e4e7a70685916e53845c8430e2c554f3be4d7fae86455763b97ec8fdbe9640219b35fc36033966a3525d485f1 -sk = 326a5f31691381162b5c776bd677b60c25b49d60661c432859069e849144008d8b8e9636af2013fff55ba4120929662057c2463050040de482875c5f7cc940b4b9bd27c90812fb2405ac42767254ef83b74882c4db071d926604383ace54751415d564ddb16edffc4bd762aa5a6714df4978f3ab1928bb539f921713170df8109d4005135c74c7e6730691739b0dea12d0c1be131228e1b094b0b894cafc4fa0835c2a815bdc288f56f33c7d2c25ddba868da6503b00017b1373df2c2375644de677cfb56838bf3581bc173a588a9f0b952a3b9abaebd27e71d38431e4a8edd398bbc4a58db608aa255fb210cce7247b17e3bf922ab17b811bcff5627ed2480a5c3c26b273ba478a0dfa80e5344b88e9cb7a00a254b8705755b762216b4abc4f74d7cb17b69771729b77e39608835292822ae073bce322701ff37bf06b917d41396dd948632b6dcf572ebd6c2a37271670eb178ed31de5b50d17072d33914b0044a977d0862ef1ab630ab57eb207f445177cd0b3c34b2d7c75ac832b6127c08b71f1579a63b653945222560c3565a0bb77ce8b5761f71a3ff63097f4813871f57dcfb4b3beb1ac7f5938375aafb8197c552801fa07cbfd8575864ba807e0cb37aa6aaf60a48c7202b6a89a75a38b019c6a8f00cc642901e7a98f81b6c76db06fbd0a7852e4291dd05a6be618e1c97b6b70446a7810b3d470bcd01a593314e75b4215c96b049a66ecac66a3021141f9ba12778e729213cb4656eaa80c7d900a079c70f890285356c0a13a6c9a4207315b95bf45c8780138521bc72a3c524c689baae033c80a461c3cc4ffa48c0490517be741b7f6c98f85a86d8814a96b3df6c469a197c0ec5367e37150e9c19a726826be6453381b833377890b0ac6f9176a1214a352a3a49101532b3840f4084574cb76aaeb64881c78d5a8bfada105f7440e3d04a4291bbaacac5a981b6f8777a7d109966cb2a347515ae01801916174826a4124a495d0a07861892fd5f8c90e085bf4e1680275848e24c6627701dafaa17c9b6c3a59a0aa5c87b19a4a23fa4ebe49218f588690f749739a39b523a08152adb6a67cd98268afa159ba69953a085099ba56f4e4c74fdb6759791d1ad738cf320c3cf8c52d607a32059f1e8333b4021d855816496963baa6cb41842fa7ab7297a144758b84a27aa6dd507c097a6c7a19063f2b2baab0604aea5ca1c82dda790fa390c142b3709cb69675b8ba0f4990dc923aa525a316a0c7931aa5e5dab4a4e19f08f898ebe80258ba72127a92e3005611a72022d285bd279332817ed4f13a06a71f8f68a0be49a13eac34c773937da6218401c3fd55577572466a271a4bb10a7938919688629fd1c77b802b6358189e13a52330c4f836bbf41595df29499b42a5a6605ebcd6aaa89ca33580b5ee619d282702b4380b717532e0dcb6dbe3bb0c6431ad480821f0c184e7817616c110f2155a0536a4c65b21306fcb5c343fc38191b8b46dd7a3e27240fb85c365a33e18bc231127785c3c68892b5ca7955a148a8c52176d5e2596bff83ddc52157daa998c392a255b37bea55f1c33a23ff4cdb70a3fd0e019ef82131bd92e5db8ce9230421a670c246695afb5bc33e8569ba69d2843957ee52204e435f85c6a713c3fd677cf7a54cac8d48975f1609cd68659643a1a10558f7397234b583e5665e3d30d1fa26d0788b21bba2ba23507123b89ca5a1f54cc5957737159e93070987613dbc7dbb2ad163909fd167d9e099d8c394a7161417141cec54a24f34310bbec13abbb05a3681c81d7034b8687c1d62abc98b3a0c9a3c35352f667a49a6378380748934ac770d78517c5affd68a7f6eaa8309812bf6459c26c5fda4abf0ba46544a9146e5247adf99f09622c74b8b90397503e211b9a23bbbeb3bfcec659c936987c87104814a312091fb443acfb87a0863564b9eb9191708ad370ba73d42f35b5ae9b97004793992d13b5bbf00b277a2de699ae41222f28d593f6d3385583bdc938334e724341883a8026cd2ae5205da3b44b9075b86c75fd203b0cb738b4f533efe6117b97105a275edb7b0a15aa1ffaf029f3e13145eb3c500440c0e30c426c093c420496d85ab46883b4b695f30952bba32134189589882f5c297da14236a073ac04579e4e7a70685916e53845c8430e2c554f3be4d7fae86455763b97ec8fdbe9640219b35fc36033966a3525d485f1fb80edf4f67823ff4e53a8963a9c9937fa9f8e014b750e11b4c4bb1a361d6484f03a8abb0a5010f400ae5722a75bdf5a2f6d5b546b34d73857cb1bfc7e587aa7 -m = 46fe60a18124125ab93e0c578f1c02f1bd1301595013001c7f3c2fa56cde294e -ct = 10f65a67c7c83a534d6d63c3cf26d27afb0536406c2544cabb2a8745608ecd557ec54633942e37b98f683fb8c45c9be36f444251056152a939f30daaa7462d71209f3c4a6717843f8b307f22dc8c06645de9b58670dcfaf847b5c8a84707ab60c61b7dd09dde8b2c0fc1d83e8dfee54b46498adfc59427e1305fed3ff0f17191273c157dfb1f6cf75c18b88796eec11da15ff7776621c4bbad3895b80adc541f610d740b9d51c07a24afa989f13492f9faa64da76e06385aa66235634f25cc6dcd05b9a0b81ad39165761218f9aa1e8af2965410215e3961faff3b571d8f055f261a619f75ae1fdf099367b7ce006251dda24e0c7eb8bd9bb2dd757e564998b0ddf9956b968d08bc03d952c6edb4b1a6bf4181cca620fff2146e5626ae8dfee8082a1e2d187ae65fde4fdcba6e73682934025f275335df6f8b7e47907502b81f5f721318865a2094de750ebeea0d24a2957388560f19c3494a58c2b2ae17bffe93b7ab8d020f9aace27c1530bc92fb20a98a866a5fecfc96c1ac3c3d2ec50d9c158d29a7d33bfd0d1b2359a391509322265d7d9cf39c6d41b1ee0d74c6884e53a430e80bdc56202fcc004bbfdcf10480285df4bbd2484654c423594f22fddc0256437159d81776f0e24caee9bbc1dddc865c7adec881034ee0e55fbb0e126954a1824a22ebe97adeb688fb6edf3f1c054c29b88985fb77169a5a3def904b476ffce40f8c389355e8e4fdcd43fe99a06de86c38222187927573c39cf33bcc35e753d89c885ed6a1af7f30f7dbbf4e9a6df40f620b5b888ebcf9af2d6d5ee8c57ffe5b9c8f09ee717a07bb0196d0ef8d0443efdd0f1b217af3ec0cd15624dfccc3b88297aa0d254bbbcc70f2c026b1b52c9dffe4b5801dfba946f1debd684bc856a9008ecfb292a29016c8555c71c1079737d7aa9544eb562629d4c6720d187a5c3d61a2f2d5a233c0ef53465b9843f122a42cc0f213532a8fd848ead4c81d9bf2d2b2a6e118e74b451140493a6fbda3b6861e6fcd4ca72f7f276a10b2acc478d6327ae8b46dbb00e9b58004c7fd0b30e1295b46e6c7e41d58dae8352642472432 -ss = a350b71c1675b96fe62fdb6d37658d9ed8c200ef4732ec6768dabf931d4a5f76 +sk = 326a5f31691381162b5c776bd677b60c25b49d60661c432859069e849144008d8b8e9636af2013fff55ba4120929662057c2463050040de482875c5f7cc940b4b9bd27c90812fb2405ac42767254ef83b74882c4db071d926604383ace54751415d564ddb16edffc4bd762aa5a6714df4978f3ab1928bb539f921713170df8109d4005135c74c7e6730691739b0dea12d0c1be131228e1b094b0b894cafc4fa0835c2a815bdc288f56f33c7d2c25ddba868da6503b00017b1373df2c2375644de677cfb56838bf3581bc173a588a9f0b952a3b9abaebd27e71d38431e4a8edd398bbc4a58db608aa255fb210cce7247b17e3bf922ab17b811bcff5627ed2480a5c3c26b273ba478a0dfa80e5344b88e9cb7a00a254b8705755b762216b4abc4f74d7cb17b69771729b77e39608835292822ae073bce322701ff37bf06b917d41396dd948632b6dcf572ebd6c2a37271670eb178ed31de5b50d17072d33914b0044a977d0862ef1ab630ab57eb207f445177cd0b3c34b2d7c75ac832b6127c08b71f1579a63b653945222560c3565a0bb77ce8b5761f71a3ff63097f4813871f57dcfb4b3beb1ac7f5938375aafb8197c552801fa07cbfd8575864ba807e0cb37aa6aaf60a48c7202b6a89a75a38b019c6a8f00cc642901e7a98f81b6c76db06fbd0a7852e4291dd05a6be618e1c97b6b70446a7810b3d470bcd01a593314e75b4215c96b049a66ecac66a3021141f9ba12778e729213cb4656eaa80c7d900a079c70f890285356c0a13a6c9a4207315b95bf45c8780138521bc72a3c524c689baae033c80a461c3cc4ffa48c0490517be741b7f6c98f85a86d8814a96b3df6c469a197c0ec5367e37150e9c19a726826be6453381b833377890b0ac6f9176a1214a352a3a49101532b3840f4084574cb76aaeb64881c78d5a8bfada105f7440e3d04a4291bbaacac5a981b6f8777a7d109966cb2a347515ae01801916174826a4124a495d0a07861892fd5f8c90e085bf4e1680275848e24c6627701dafaa17c9b6c3a59a0aa5c87b19a4a23fa4ebe49218f588690f749739a39b523a08152adb6a67cd98268afa159ba69953a085099ba56f4e4c74fdb6759791d1ad738cf320c3cf8c52d607a32059f1e8333b4021d855816496963baa6cb41842fa7ab7297a144758b84a27aa6dd507c097a6c7a19063f2b2baab0604aea5ca1c82dda790fa390c142b3709cb69675b8ba0f4990dc923aa525a316a0c7931aa5e5dab4a4e19f08f898ebe80258ba72127a92e3005611a72022d285bd279332817ed4f13a06a71f8f68a0be49a13eac34c773937da6218401c3fd55577572466a271a4bb10a7938919688629fd1c77b802b6358189e13a52330c4f836bbf41595df29499b42a5a6605ebcd6aaa89ca33580b5ee619d282702b4380b717532e0dcb6dbe3bb0c6431ad480821f0c184e7817616c110f2155a0536a4c65b21306fcb5c343fc38191b8b46dd7a3e27240fb85c365a33e18bc231127785c3c68892b5ca7955a148a8c52176d5e2596bff83ddc52157daa998c392a255b37bea55f1c33a23ff4cdb70a3fd0e019ef82131bd92e5db8ce9230421a670c246695afb5bc33e8569ba69d2843957ee52204e435f85c6a713c3fd677cf7a54cac8d48975f1609cd68659643a1a10558f7397234b583e5665e3d30d1fa26d0788b21bba2ba23507123b89ca5a1f54cc5957737159e93070987613dbc7dbb2ad163909fd167d9e099d8c394a7161417141cec54a24f34310bbec13abbb05a3681c81d7034b8687c1d62abc98b3a0c9a3c35352f667a49a6378380748934ac770d78517c5affd68a7f6eaa8309812bf6459c26c5fda4abf0ba46544a9146e5247adf99f09622c74b8b90397503e211b9a23bbbeb3bfcec659c936987c87104814a312091fb443acfb87a0863564b9eb9191708ad370ba73d42f35b5ae9b97004793992d13b5bbf00b277a2de699ae41222f28d593f6d3385583bdc938334e724341883a8026cd2ae5205da3b44b9075b86c75fd203b0cb738b4f533efe6117b97105a275edb7b0a15aa1ffaf029f3e13145eb3c500440c0e30c426c093c420496d85ab46883b4b695f30952bba32134189589882f5c297da14236a073ac04579e4e7a70685916e53845c8430e2c554f3be4d7fae86455763b97ec8fdbe9640219b35fc36033966a3525d485f1fb80edf4f67823ff4e53a8963a9c9937fa9f8e014b750e11b4c4bb1a361d6484cd2dd7a1be89575be8c14529bde4d832cc005dea955065c08b3185b215da3a2d +m = 794b565fe52db74e9c19e9364ee545d7cda5a67f3850d318c3812691356e5520 +ct = ae89317a9b07f3c7a4ebb01661c7b38130838b96117641b9c3caced8ea3fae03f959b0b7202ebd044d0e75eb22e2cef2781d62090c2066213d57d54ef5c98faf24ea22d5195bd8cb15a4e6ae872479476b77318fd75ffa007be22354c0192566b0d075d6ee7e0847595ce6e6bdcb0236192d88f35a7eab77734b723d48626e291d8a5ab70a220d9bfec58d38bc0802e7eda190b6070c9722dc72194aa548cc516c7f9dcbefcec8071b12ce317b4afdbe190282a92c377fcef574c3c26eaee2d4b967a19ac9654aa2f3f0a258363b918edd1509f0f88ff13f8ded9d1db0706f78510a11e1fff24a75ad054fe1dfbfd3acb5a39b10d979fce54f005e34826d313179048e03433ca3cbe7264cae29d61ab56f0050169005feda911f27e3ab1ae4bdd5c1671cbb426e0b591f524cfedf08f2cf01da72dfdf9544a462678489316a99ac341b5943b902292929c10c30829b72a69095ed7213c02721ea94adf4631b03537efda71eaa80e709d7d55ba1615e992c46e37f91117fc8f9ae92e340dae89f1bf693edb20e86e852bc32f8c9cfddece0c95c692ef7d0a92106651a5d5c6d056368261ceff91ca91484e9bfee64d9c72f4a905ed82e66a962e9177ae3beb2ab1e56930aa620e3a1a3a14a40301652ec45b549c50784b3f6b05b2708a248b22e65610f8f3ecb303517e9e4f413041f1cd0eca0cbcaf17de59d7670e93c4990f9938ac75aa3f2400e7939b6ad1436b8595d6e89c5a62c5eaceceaad177d59a2a0a1e8c806b54353a9c5148f349471884df916754edbdf6b40bb8557e375856ddced7192c73749fc16601cff5c1eddc8ca1b565b2107ce4ae30d26b9f80a74ac3c7b1edfd5e541ca0336bb515d6399d80b831487b2439066ac5758bbdc2abd682640a520000d4460b4a5bf8cdda8a7baf6c5f259bcd543e795d21ce0186b8bc3dba2e6943d18319b629cfaa1cfb10235fb9075713bbcbda8cbf4ad88327b6b66397d9b1e20701cb59eb27cf8cfe7a95602e5537153641abe1cf282d686d91f0b1bfb517f277ce9f3e6f661805dacbb1c0b1b5f9ff455e790760fcca64a7adbffee +ss = e21d6cc09a11f7ab0e58a2fa4df098b873e98baa3789ee94b2c511e3a8b36acd d = 241191401a63afa750f05662e354dddbc683c776ce3222beb83e3cf913d7ed7c -z = a59b3bd23b49a95bc1fad20070fec930b6060bd827d742b077092e422268e15d +z = 9508257a83ccffbd0677795070695cd40d7b7f39a891d25e7e208bb9d65af538 pk = feb55ffc9306f08b6202ea25968669d4597145180620da32b9b41576a297fb5010948a0516ec3428f1ce8012c664dc5c390663cceac966656cae6110d1a45d4360c420a69014709a70b71c0cf8cffb81958a687656859a8979a24c8c131d1b03e791bb81376db31562367880dc097f04c150a171445283cb4444701bf513887c917a310c87fa30dc3a49a23727e3824f5e2b821875ba8b5288a28b40abc8ba0d130953352f60bacb5c6ca6a13aa9757bc70508a4185a85a04669c63a44a213c569c2b7fdea81bde50c7b495f901c14b32779baf70c57d84d92aca4163637de873f0581b170e77f4ff840d0e56e13d367c74a23c453c847e208c85cc687066c09c6cb6c397df1232313d93a9ae45352e746c1645528a30d19f6ae36a56cd1116af5d11f6fab71d45544c121895f355657d982fa23554b6525a68a050b1454cd3acb4c32af315b19c9e6ae4a9a3791e6be07f64c1de5782ebc2e54f23782c64d74276f5f060e89c826c425466ce8c81da46cf4737b4b57447f5974cddc5957e7744b352b34b71958b0147517061a45c22b0316deb27ebc26b33efac3a1b29c4a301e48e00da82930d4959a13e763cb63035844b6daa746804bbae406bf858b772d958a6a3586dcf8464006544aa3290dc0697fe84d0033c702b78df9e7ad2c75b8a04854433b5c3727870ac546ff3b5cead7a527637ea779b467d696952b430f7625cb0a1d3bf043e304144b559e969264053a53e542bab4e57dfeb53aff658db07c6213586315f57289e2bc66e49c35e28f9a5219c9f653a9f1314406a6cf9115adec8568309388e18fcc5bbe221c323829c91bec116ec1128cb39460c25876e32c08d1c409c581a9360d570ccfe323244f0ba84c19cdfeb6cc761a2e408a9d073511b90a2fb7178fb9cc096ce14a1ff14b6b6600ef99c47de431cbc7482da47d87540b3e72801f8a9b1c6c583ee73bb157a78c585b95c09a868a957709a5305c7424a28a8d731ace8759f5212566388a7fe50705b6045a945b69a52bfb4a61e4dc53f6230773f844ed90c571823c3094912c3a9ba25879d7f4135780596d8b8490195d95fb6ec060b5257ac37481faa2eccaef99c0da37285d53baeb0e25bdb9 -sk = a3f608e503bfd0261066cc5aba7a1720aa8a9d9b86da5858cd5b595c688b5b29ae3b8b6d9510c484d33e6905b86d9c236171cf825bad4d265630878d8b8b89257a510b907eec6146326ab4aee3cda24c9c36526578c470b3c44934823a6fa71c08f8ad662bb2d290aa0da8ac3aa59a7b7210cf1caad0321c63f07074e2527d2ac4676b68b96a8b74711849d03b2443696e43bb5a34a2a9ac29a43c7c316a1de1cb33b78a5b3bc04df6490c05596671d9a5ee355e4c568ce5aa73855a735bc038fdb254f2f60e8b75bb60a1bbd429a8713282eb149a35c75ba5f4853f735ce9186f7eba0b05e292805987df34c826c34dc8b63e701a3a90037a9b03b835e7874381208987c517b978a1fb0570360af357874b0a0860e6cbd4bac028a9bd2d187255602cbf599468d46844bc5caeb3a3b7bbc6d7503f7ae013d6266b4f054b95616e02690ae54c2d4cf89082790e41b60d4f865bb92584516c2014bbbfaf255d7b47212810777b6710a0db1859482ddc858a5eb6c79ac8795de152361358d895c57587ce0d110e1178aae7c881d0d21f4773096fe57fec3bb96afa475603abad868fbcc61a83aa1d71176670d051d52c4ba56b9eb87bacdef570443353c7d120fa4a1511d247a22102af98c2d6a0b1ff52673f585d09f6034c97c8c08022f75b82a7987de3506362a6785c23934242599c3175b7d8c218855c5110a22ce558d77337cbc36b9d7b69a2314264e0a22252b4cdc54857c40d5edb8dd958cf9156284b95818e009541705885f6663d2549a1508f11f862319b92c03013a1035e26b3658ee21790fcc7296b3841ea5991c5b607caa51d78a5bbd3ccb5316d5e9083b2f9b9ab1937bd120c3b94aa3bf356079592a1144bfef2650b3c5e95e6a98506ac74b8aa4996ce5dd92eb7620b7fd860af0267d8532dd1b85ad95547967627fad85cb2e798998b27f340bd2116abf155ae7baa09d8e6411db306d4b9bd3ad45dc878cff3824c4cf16f08d72ebdabbebf8939cb0b0103e6a47dc64fa325883f73a2bd8c7353938f1f81b7857a03441228d4366354a959a37637f2726e953cc3d90056feb55ffc9306f08b6202ea25968669d4597145180620da32b9b41576a297fb5010948a0516ec3428f1ce8012c664dc5c390663cceac966656cae6110d1a45d4360c420a69014709a70b71c0cf8cffb81958a687656859a8979a24c8c131d1b03e791bb81376db31562367880dc097f04c150a171445283cb4444701bf513887c917a310c87fa30dc3a49a23727e3824f5e2b821875ba8b5288a28b40abc8ba0d130953352f60bacb5c6ca6a13aa9757bc70508a4185a85a04669c63a44a213c569c2b7fdea81bde50c7b495f901c14b32779baf70c57d84d92aca4163637de873f0581b170e77f4ff840d0e56e13d367c74a23c453c847e208c85cc687066c09c6cb6c397df1232313d93a9ae45352e746c1645528a30d19f6ae36a56cd1116af5d11f6fab71d45544c121895f355657d982fa23554b6525a68a050b1454cd3acb4c32af315b19c9e6ae4a9a3791e6be07f64c1de5782ebc2e54f23782c64d74276f5f060e89c826c425466ce8c81da46cf4737b4b57447f5974cddc5957e7744b352b34b71958b0147517061a45c22b0316deb27ebc26b33efac3a1b29c4a301e48e00da82930d4959a13e763cb63035844b6daa746804bbae406bf858b772d958a6a3586dcf8464006544aa3290dc0697fe84d0033c702b78df9e7ad2c75b8a04854433b5c3727870ac546ff3b5cead7a527637ea779b467d696952b430f7625cb0a1d3bf043e304144b559e969264053a53e542bab4e57dfeb53aff658db07c6213586315f57289e2bc66e49c35e28f9a5219c9f653a9f1314406a6cf9115adec8568309388e18fcc5bbe221c323829c91bec116ec1128cb39460c25876e32c08d1c409c581a9360d570ccfe323244f0ba84c19cdfeb6cc761a2e408a9d073511b90a2fb7178fb9cc096ce14a1ff14b6b6600ef99c47de431cbc7482da47d87540b3e72801f8a9b1c6c583ee73bb157a78c585b95c09a868a957709a5305c7424a28a8d731ace8759f5212566388a7fe50705b6045a945b69a52bfb4a61e4dc53f6230773f844ed90c571823c3094912c3a9ba25879d7f4135780596d8b8490195d95fb6ec060b5257ac37481faa2eccaef99c0da37285d53baeb0e25bdb9d9f630c3838eb161374710d9f01bc70d4ef928fcb1c38bed93e30f3633a05e01a59b3bd23b49a95bc1fad20070fec930b6060bd827d742b077092e422268e15d -m = 52fb7cb6a633fd2e83f2892bd9441b48fe59ecee6d026f5246fa7f2a5e55ee3b -ct = 2f672f8abbd6b02e056859f647b1f42b2979ceaa8467b4419e838165c66f97050721cb38f1f7972a83539f9a90faa3e4bd805bc55ae557c6ece5b948e124c9bed3aa16495eb82b8c76eaad79bae34542033fc9b8782f6e6cc4148f6c709450abf341b18c32e952b12cb8115e280e2ecb0e1b53788ae9d0308aa472f9e76f360727611526f50ab480e5d75692cf577f6b8168548f5a7e5279f638e29a02fd6853c90228fea84c261244c8e8cae1d9b41895c625dc7aa3a91da9b0c7c19e662afc105019e1b47f77b3dad75a8fad581333e4f019112616d597a68023f94b7104415d44e6cf1106ff48132b52c5c0f5d55d77b5fdce149ca08438f96b3dda972bc39988b8c3e2206a367add3289a6aadfc41361e8986143ad0bb8ee3bc4e32209b0ab2b4dfc60d9344c46d52771ff0422deaa8e21383c052c88d7825cfdd177b41c97f4de6a0759d113b46fdb0fdb6e270ecd8f6da29b8880106deddc9141cdda3c7a6132a32f4e9761de0a4aa15bc1463491df40fec42ac0eb893a9abb3ca046754a12c5e98eb78a0e7d48acf8184edba9a084674d477ca879945ccaecaf3ef37f019bc42e5e055d2d6f1f6975717090244b758d0f71bd82ff2f4390db69be4f8fd2e19ff35732478150aa83f1c76eaf0cc0ccb6bec99fc8afd45128733e79f6206cc5d02eab82848c33585f31bff2003d1029394e7487342296b1b093f5e4edfabe74556e757cab5ee05f89ec1eacae4d63b5d193f936f1f0c846a5b22e367e9eb8e4c90ed09d6a3149b96a705844af10bd0004df0c00c39b3542d2af1bab05f2405c5b0b60d5bac3f48bbfea26149f0644e1aae39af7600868283c61d8ca56a05ddfcea9309108607e4a02ffd3367e755a65cdeb11ae1aac7b950b359fbd2a013c2f060e18c4b9d68dd7caffc59f591d82e66d0b9e0015f4ec5c471153286080fd645b38eb61d8f1186fe136910aa6755d636f2d7a89be6ba37489dd7f96b534db23bfbdf115a03a7e01cd8d77a3a6b8ec9d17c31e0d9e3341111914841f9829279b177b03a85c43c48171aab0d4bde198ea9c0656de54fa20a7c7688a01ecc5 -ss = 77e15c4859466b3735debb83fda8b2117cce56668b1f8d8ba62074299dc4f5bb +sk = a3f608e503bfd0261066cc5aba7a1720aa8a9d9b86da5858cd5b595c688b5b29ae3b8b6d9510c484d33e6905b86d9c236171cf825bad4d265630878d8b8b89257a510b907eec6146326ab4aee3cda24c9c36526578c470b3c44934823a6fa71c08f8ad662bb2d290aa0da8ac3aa59a7b7210cf1caad0321c63f07074e2527d2ac4676b68b96a8b74711849d03b2443696e43bb5a34a2a9ac29a43c7c316a1de1cb33b78a5b3bc04df6490c05596671d9a5ee355e4c568ce5aa73855a735bc038fdb254f2f60e8b75bb60a1bbd429a8713282eb149a35c75ba5f4853f735ce9186f7eba0b05e292805987df34c826c34dc8b63e701a3a90037a9b03b835e7874381208987c517b978a1fb0570360af357874b0a0860e6cbd4bac028a9bd2d187255602cbf599468d46844bc5caeb3a3b7bbc6d7503f7ae013d6266b4f054b95616e02690ae54c2d4cf89082790e41b60d4f865bb92584516c2014bbbfaf255d7b47212810777b6710a0db1859482ddc858a5eb6c79ac8795de152361358d895c57587ce0d110e1178aae7c881d0d21f4773096fe57fec3bb96afa475603abad868fbcc61a83aa1d71176670d051d52c4ba56b9eb87bacdef570443353c7d120fa4a1511d247a22102af98c2d6a0b1ff52673f585d09f6034c97c8c08022f75b82a7987de3506362a6785c23934242599c3175b7d8c218855c5110a22ce558d77337cbc36b9d7b69a2314264e0a22252b4cdc54857c40d5edb8dd958cf9156284b95818e009541705885f6663d2549a1508f11f862319b92c03013a1035e26b3658ee21790fcc7296b3841ea5991c5b607caa51d78a5bbd3ccb5316d5e9083b2f9b9ab1937bd120c3b94aa3bf356079592a1144bfef2650b3c5e95e6a98506ac74b8aa4996ce5dd92eb7620b7fd860af0267d8532dd1b85ad95547967627fad85cb2e798998b27f340bd2116abf155ae7baa09d8e6411db306d4b9bd3ad45dc878cff3824c4cf16f08d72ebdabbebf8939cb0b0103e6a47dc64fa325883f73a2bd8c7353938f1f81b7857a03441228d4366354a959a37637f2726e953cc3d90056feb55ffc9306f08b6202ea25968669d4597145180620da32b9b41576a297fb5010948a0516ec3428f1ce8012c664dc5c390663cceac966656cae6110d1a45d4360c420a69014709a70b71c0cf8cffb81958a687656859a8979a24c8c131d1b03e791bb81376db31562367880dc097f04c150a171445283cb4444701bf513887c917a310c87fa30dc3a49a23727e3824f5e2b821875ba8b5288a28b40abc8ba0d130953352f60bacb5c6ca6a13aa9757bc70508a4185a85a04669c63a44a213c569c2b7fdea81bde50c7b495f901c14b32779baf70c57d84d92aca4163637de873f0581b170e77f4ff840d0e56e13d367c74a23c453c847e208c85cc687066c09c6cb6c397df1232313d93a9ae45352e746c1645528a30d19f6ae36a56cd1116af5d11f6fab71d45544c121895f355657d982fa23554b6525a68a050b1454cd3acb4c32af315b19c9e6ae4a9a3791e6be07f64c1de5782ebc2e54f23782c64d74276f5f060e89c826c425466ce8c81da46cf4737b4b57447f5974cddc5957e7744b352b34b71958b0147517061a45c22b0316deb27ebc26b33efac3a1b29c4a301e48e00da82930d4959a13e763cb63035844b6daa746804bbae406bf858b772d958a6a3586dcf8464006544aa3290dc0697fe84d0033c702b78df9e7ad2c75b8a04854433b5c3727870ac546ff3b5cead7a527637ea779b467d696952b430f7625cb0a1d3bf043e304144b559e969264053a53e542bab4e57dfeb53aff658db07c6213586315f57289e2bc66e49c35e28f9a5219c9f653a9f1314406a6cf9115adec8568309388e18fcc5bbe221c323829c91bec116ec1128cb39460c25876e32c08d1c409c581a9360d570ccfe323244f0ba84c19cdfeb6cc761a2e408a9d073511b90a2fb7178fb9cc096ce14a1ff14b6b6600ef99c47de431cbc7482da47d87540b3e72801f8a9b1c6c583ee73bb157a78c585b95c09a868a957709a5305c7424a28a8d731ace8759f5212566388a7fe50705b6045a945b69a52bfb4a61e4dc53f6230773f844ed90c571823c3094912c3a9ba25879d7f4135780596d8b8490195d95fb6ec060b5257ac37481faa2eccaef99c0da37285d53baeb0e25bdb9d9f630c3838eb161374710d9f01bc70d4ef928fcb1c38bed93e30f3633a05e019508257a83ccffbd0677795070695cd40d7b7f39a891d25e7e208bb9d65af538 +m = 848db3a6d5cc33f17d978a283b8267e45510cf6c6354edd5e2476821e12be3e5 +ct = c6a01bc653c607a55b1bf2cbebb9f15963a358ba484d206ae62811988dbe1b77b86e28b461fbf383d662f8bc7c57def6d9ddde11cd628b35d09386d6e34796773862160a99301f5564b3a8086fcbddcdbb366709ae2895b03e3a1cd7b8fc76c58cbde4fc324ebd0c961f8f342e0a9c46e6d80885418e442a43fbd01c7821c1273dab177b11494d25c8c8379058994b8c286ca27f9cc45773ebc2d169b58b885259792e3d27c9a7f176f4436e7a9db83d66f6fa7a51990cd31bf366336e95e8aea5bc91a43b9195e5ae2f71eafdfecf0224f527041583afcde63fdfc64733a86ebd360f55d7189ffc7cddc6ccd4d7d33e6c792f3da3ad3519ef19792d19d4a6a2a58105ac4a1b5589ffba4d4ddd606ac164c25d57dda4593747f1182d9a31c9d064638c8c75cb02644c2e060393d78a0a53db52cded55a08528547c110fc2e1d3374afcb3bd8b152c38c34ccd6d7651c7b56d49946a4cc6a29fa7143c7a36934bc106481dceaba2f1dc8888edaaf73fdb7915c7b79511855048ba4d3cba1ec1ab192675e2663044f29ce26a379358f5d83d53e94bf26422f25f15807971c8bd0951e260d71327522b842b98306c79453038eeeb70aab58ace9ef2763b8eb3f9ab0afd62e5129bb88b5589eab7b568832572a6fb783f767ca76faabddaa3cc44b159b2fcb72b805f11e4cf7946f3c4a86e6c63319431cfbde55cc0c2531ba0e5e9032a59f9bbd17cbcab34848b7c0c0a4318a96724ccd4815f9b2cf8709a5026893b25ad36ac0887aebae9d1f994ddc895ad3369e4dc3c6fc92141fd73ac581ac47bb713262ee0b65b102b84e6448462b457c54231903c39946aa347f672c9a5b3f9d96795355c6204a26a3f81e11a942a3a0a93b71932b6d869a19b3584500832667529b471e2e320f05634ec663271ff8226d5e8a769af8758dcd8e4117a83f640d26ce1fcf02f91e53b7a73773193254abeca419f19b9a8717ed746863b7c2c951a20325155ff045d28e0373d8eff25d1a81834cd0f9efc5501f3354ab0eb33e725303de386fb6398f243041f57b43b9065f5613c5727729d6952c3d06b557c +ss = 3c0fe9ce39c3a1dfe88ae439cdffbe97e90b646358407d02c39826ef215194ad d = b9a6b0c05677e957d41a34ba03bd06f2a9092e31f63389397d7e70fde6409d18 -z = e99c0e7b82be89bc3c1eaee6680aa4efd394e40c2b3f30523c8117f7c26a8969 +z = 24d67704139cb68edb8f14c5ecffce83828208edf58c0f494fe3ca22cfdf58ae pk = 9a620f09135fe651929f4b299df28fd9943ae75a983b544e62305fb6711e780519b0794d9af7b4acb2bff7c704418bc89c38a9e2b00ffd6854c6f41d38b204bfe220034213c066cb62f721e59521bb6bc039c19781fbb71a546aeef31b90783695c47ae2812523f84f0f462b60f3bf77f2020e793813109d25332e966231a462ccc596a48ccc22677a904e35035ea10ec572b15af3ae770abd79c72a1dfb3a988952c925b461f092dab51726e999bab44806199716f425e21441cd82919787c629c90b6b1975e7b0844ae52df6a5cc7d393ada542f78952be2b001979ca34563b390f712111a24fe33ab65265b70eca7eeca275a993ea2793b0b08adc56ba66d93ab1a65524bdb034a33a9e9f59b79f16aaf12c470a22105ea1e2ca042dde1ac61a982ed40102968437d216cc6387989d652bd59a4d88b625056b40550092a506cb4b0532380b35ddc4d34318e33a797c696c12fa540df4329268ba47c95368473c9a70b0a5b0a3360b73767f16d94e59c79b1c839b0af93f3cc57323b9b815b94f6889cba154fb0c6bfa11ab5fba4f10c83405629b9c177cad4307a7b0e72ca4f8c7ba5f292afad92c566abb319124205554fb538c6a5c630a32655ad56be818aaaadd546b1d04df1121ac167bc09274379f0719f3056febaa36aac0c926512d21530d5b9a8ba838f7a44656e868c915046ea818e19b06afcec6a14594e6a5574eef2a937731f24994ef7dab03e223c0fb0bef2a2661703baca090c50a20da05a64bd764f1f1b5ec5a6ccb7ac59e465146304c272453dcf897ac415a8895511f5d04c24080ce0a1c024815af6fa0f21c7cd0c702bfaf7991d915df9b7a57f513cbf0cbbe6e40854e42a603a6ea6524fb3f49c81d71c4ca27848f51a354bb35020008360201baa7fa2d64d269a598e3919b1076b89b0c894d8cd63924eba5b25a92b351a516c50686b2597828bdc894a08349cb0996b73b2fa0b98d0d39fd2c6952e1a60b69b1b8d41b5f6c002409c3bdd716c56586b7d440eaaf7821835a70e669f2b0558a4674fe52539a757b59f843b2c636eb44aa80cd502aa28063835cf90327b7c13c809696c0e4711ce152577517be0a2fb3d597fa5804e0c106a4c10 -sk = 20baad201378db4baaf53b7fc750cadb1558f238a3c0d6b70027adf29398b33a6860e084741669991a2c365bc2c1d53f48741d610a4bc93434707739336b1810f43d57743d5918b002ca40e8bc63d2d047994a7614c9793302193995c18ad19af2a36721dcc32c64a0438778f3351bdb12a778dc6d9386234d82bc20469856a8bcdba5b70ab22caaf6758f29a4660261a45222ae069e5d5b7d5c835358190166c3ccbb7c46ba63a71f1628a41a69410505b68a8808d44e5b7840354739708b956a38501621242a7650521aaa7349b086a72135c6797ea4459380265da9583b8742a040a87599c9d1083b76415fccd9b83b25602eda248864bbbc9b47c8b02176f7a3a2f6bec1faa53492846ffb340b825ed7298e807a8e721092498b37e881bfb44563d606274df771a9e3c78d575865764972cb7c5871136cc990b508adba8acdf672be68927ca1d34ff7e45f70dab80807981f82ca50f7177cf1cb70a27d68c60431dc7f4f026375db70d5930206d3982ea32616b8b3393b524f4899a973272060b78d81962a6a21322acef9441f8d0754ed39370f9c03afb39800042f3405958dd5b7b60209bd9ca6a5414c568c6ad4118abef52f12d192e57713ddbb49e3d34c2f3b5941f5b07f6a3ef799553d67adf7e569ffd8949aa0a120398624b5387c3b8cf7a277baa6410377bd88cb74d814388da2cb8f96cec82a486ca962721a532f455369f269e3098a2c15508e102b0bd79e8781489291451c8a2606a34edf048c6cea76aba3b737c6b20427080788c2884b2782bc4229d2c14f0868f1dc7cccd93277b012f2e731d0f0c03c330a944725ddf53e8eb76b64b7bdb833699082772f9062e1f28401a908aa8187bf160c87185f0c35975ee1cf93e8a3e0ab027c48750b59a4e2887ace373cb34490277cc24a151122d2b326433f0691b09b3b004c21cac1914052aa1bfdc7cd09b95fa71624ca399b7f430d5ae6ada1ec55c28b9fbd19be20a47aed181c816cbfa526599fb054b6a15c529791f8101c579b9ef554aa63e86805556933c15f19ebaa09ea2200ec053f00bba05091eb4ba19d95539a620f09135fe651929f4b299df28fd9943ae75a983b544e62305fb6711e780519b0794d9af7b4acb2bff7c704418bc89c38a9e2b00ffd6854c6f41d38b204bfe220034213c066cb62f721e59521bb6bc039c19781fbb71a546aeef31b90783695c47ae2812523f84f0f462b60f3bf77f2020e793813109d25332e966231a462ccc596a48ccc22677a904e35035ea10ec572b15af3ae770abd79c72a1dfb3a988952c925b461f092dab51726e999bab44806199716f425e21441cd82919787c629c90b6b1975e7b0844ae52df6a5cc7d393ada542f78952be2b001979ca34563b390f712111a24fe33ab65265b70eca7eeca275a993ea2793b0b08adc56ba66d93ab1a65524bdb034a33a9e9f59b79f16aaf12c470a22105ea1e2ca042dde1ac61a982ed40102968437d216cc6387989d652bd59a4d88b625056b40550092a506cb4b0532380b35ddc4d34318e33a797c696c12fa540df4329268ba47c95368473c9a70b0a5b0a3360b73767f16d94e59c79b1c839b0af93f3cc57323b9b815b94f6889cba154fb0c6bfa11ab5fba4f10c83405629b9c177cad4307a7b0e72ca4f8c7ba5f292afad92c566abb319124205554fb538c6a5c630a32655ad56be818aaaadd546b1d04df1121ac167bc09274379f0719f3056febaa36aac0c926512d21530d5b9a8ba838f7a44656e868c915046ea818e19b06afcec6a14594e6a5574eef2a937731f24994ef7dab03e223c0fb0bef2a2661703baca090c50a20da05a64bd764f1f1b5ec5a6ccb7ac59e465146304c272453dcf897ac415a8895511f5d04c24080ce0a1c024815af6fa0f21c7cd0c702bfaf7991d915df9b7a57f513cbf0cbbe6e40854e42a603a6ea6524fb3f49c81d71c4ca27848f51a354bb35020008360201baa7fa2d64d269a598e3919b1076b89b0c894d8cd63924eba5b25a92b351a516c50686b2597828bdc894a08349cb0996b73b2fa0b98d0d39fd2c6952e1a60b69b1b8d41b5f6c002409c3bdd716c56586b7d440eaaf7821835a70e669f2b0558a4674fe52539a757b59f843b2c636eb44aa80cd502aa28063835cf90327b7c13c809696c0e4711ce152577517be0a2fb3d597fa5804e0c106a4c105c27fa929adc826f98fbf0a7fdce33c8f215b34e70450da0767240741894ffa4e99c0e7b82be89bc3c1eaee6680aa4efd394e40c2b3f30523c8117f7c26a8969 -m = 0f81a5f97082121244403da3feeb734f6084b314b8d94beb11627aa6ad1914e9 -ct = 1fd2cb3969fdb9664049c48fdfabf97f453ff12068c6aba215bdc6ec87883de5ad6b40495b5a3bdad11aa9a552923b32cdd50c9e1fff3451238259a61f8b493273c4e888c3168801004a3696697edc489b6d4ae960e88b82a40befed8d7d66a0cf29515778aeaca21842e7ed0c5cdcb39a3597f64f1927ad8349dfc89a77956bb78cf2cbc4b85c5752efec780e0a6be0675837d5b4690b6d4c835c2b189c6e555df05ea9f5593707a4c50ef4527f054ef5788707c279df298804ea60588b75d972dcf96ce6433c001dadf14a9d55b7f46dcb01c918479778a3781b81db32b4456df0efdb7988638b0eed7eddab7f1c537c8dcceb953446e1930d3834f9e2a806e707c82d1c7840b78ab077b6cbf5c5796f82c1a46cc0c19df8ec3279a81c03655582f6174f0d4ab97cd2ce1609e0bee01f1989df072fe23fa7e8a607affdf15ca0a60f7d717b8b05705a7faae2dee351908424992a3923532d5cab621d63fd35f7a4ec0cc0d1bdffb253e38823e8387d2c8e54d8669bee89d15f8a8134fb02dba217df56e0b14cd3e52d88b67641dd2fb40af353439654ed347e6e4e6af045658d11d63935b78b784729560309765183ffbdd8564918bff9032f8ce1a544b3897b652ac22c13016e7645adebd1a10bb64a336fa567ccb3468aba26c539c79720455bc4f3460fd99a7e5db94896ee3a25f077df10e168dc8cb78ed033d461a0fb7053d67979d3147f0bb13ae9074a69adff97da4a689714e7899f8f8b985143639cb42a3feee292c7837bda22910764dc871672e8f95b61f120641ed7be49d58c03687220621d0bf12fb6885ca51cbebc325e2934b82df3cad0e124b11eb08046270a39fda22e0e995eb390df0bfccc10384b80486e53891026f9328b897bdf3b85d53a3f60315ad91a9dd1363372ea111e73bdbf20bc32c613a545ac4bc3c2cf41c1ff4f9d72222b6c73bc8621720e50ffcefead6910577508ea16c227e2922f5b5492f87943d328444c85ed4f6c4db591e21516da25acdffd65eb72f4fb8240ca5b6188997ca3ae5d0860635cd87120443b8dd66c30c251552db6acc437384b -ss = 6662374cea4ec0cccb6b76cb75abbe9fcf0a66a0e5bda1a84832769ffd5804f9 +sk = 20baad201378db4baaf53b7fc750cadb1558f238a3c0d6b70027adf29398b33a6860e084741669991a2c365bc2c1d53f48741d610a4bc93434707739336b1810f43d57743d5918b002ca40e8bc63d2d047994a7614c9793302193995c18ad19af2a36721dcc32c64a0438778f3351bdb12a778dc6d9386234d82bc20469856a8bcdba5b70ab22caaf6758f29a4660261a45222ae069e5d5b7d5c835358190166c3ccbb7c46ba63a71f1628a41a69410505b68a8808d44e5b7840354739708b956a38501621242a7650521aaa7349b086a72135c6797ea4459380265da9583b8742a040a87599c9d1083b76415fccd9b83b25602eda248864bbbc9b47c8b02176f7a3a2f6bec1faa53492846ffb340b825ed7298e807a8e721092498b37e881bfb44563d606274df771a9e3c78d575865764972cb7c5871136cc990b508adba8acdf672be68927ca1d34ff7e45f70dab80807981f82ca50f7177cf1cb70a27d68c60431dc7f4f026375db70d5930206d3982ea32616b8b3393b524f4899a973272060b78d81962a6a21322acef9441f8d0754ed39370f9c03afb39800042f3405958dd5b7b60209bd9ca6a5414c568c6ad4118abef52f12d192e57713ddbb49e3d34c2f3b5941f5b07f6a3ef799553d67adf7e569ffd8949aa0a120398624b5387c3b8cf7a277baa6410377bd88cb74d814388da2cb8f96cec82a486ca962721a532f455369f269e3098a2c15508e102b0bd79e8781489291451c8a2606a34edf048c6cea76aba3b737c6b20427080788c2884b2782bc4229d2c14f0868f1dc7cccd93277b012f2e731d0f0c03c330a944725ddf53e8eb76b64b7bdb833699082772f9062e1f28401a908aa8187bf160c87185f0c35975ee1cf93e8a3e0ab027c48750b59a4e2887ace373cb34490277cc24a151122d2b326433f0691b09b3b004c21cac1914052aa1bfdc7cd09b95fa71624ca399b7f430d5ae6ada1ec55c28b9fbd19be20a47aed181c816cbfa526599fb054b6a15c529791f8101c579b9ef554aa63e86805556933c15f19ebaa09ea2200ec053f00bba05091eb4ba19d95539a620f09135fe651929f4b299df28fd9943ae75a983b544e62305fb6711e780519b0794d9af7b4acb2bff7c704418bc89c38a9e2b00ffd6854c6f41d38b204bfe220034213c066cb62f721e59521bb6bc039c19781fbb71a546aeef31b90783695c47ae2812523f84f0f462b60f3bf77f2020e793813109d25332e966231a462ccc596a48ccc22677a904e35035ea10ec572b15af3ae770abd79c72a1dfb3a988952c925b461f092dab51726e999bab44806199716f425e21441cd82919787c629c90b6b1975e7b0844ae52df6a5cc7d393ada542f78952be2b001979ca34563b390f712111a24fe33ab65265b70eca7eeca275a993ea2793b0b08adc56ba66d93ab1a65524bdb034a33a9e9f59b79f16aaf12c470a22105ea1e2ca042dde1ac61a982ed40102968437d216cc6387989d652bd59a4d88b625056b40550092a506cb4b0532380b35ddc4d34318e33a797c696c12fa540df4329268ba47c95368473c9a70b0a5b0a3360b73767f16d94e59c79b1c839b0af93f3cc57323b9b815b94f6889cba154fb0c6bfa11ab5fba4f10c83405629b9c177cad4307a7b0e72ca4f8c7ba5f292afad92c566abb319124205554fb538c6a5c630a32655ad56be818aaaadd546b1d04df1121ac167bc09274379f0719f3056febaa36aac0c926512d21530d5b9a8ba838f7a44656e868c915046ea818e19b06afcec6a14594e6a5574eef2a937731f24994ef7dab03e223c0fb0bef2a2661703baca090c50a20da05a64bd764f1f1b5ec5a6ccb7ac59e465146304c272453dcf897ac415a8895511f5d04c24080ce0a1c024815af6fa0f21c7cd0c702bfaf7991d915df9b7a57f513cbf0cbbe6e40854e42a603a6ea6524fb3f49c81d71c4ca27848f51a354bb35020008360201baa7fa2d64d269a598e3919b1076b89b0c894d8cd63924eba5b25a92b351a516c50686b2597828bdc894a08349cb0996b73b2fa0b98d0d39fd2c6952e1a60b69b1b8d41b5f6c002409c3bdd716c56586b7d440eaaf7821835a70e669f2b0558a4674fe52539a757b59f843b2c636eb44aa80cd502aa28063835cf90327b7c13c809696c0e4711ce152577517be0a2fb3d597fa5804e0c106a4c105c27fa929adc826f98fbf0a7fdce33c8f215b34e70450da0767240741894ffa424d67704139cb68edb8f14c5ecffce83828208edf58c0f494fe3ca22cfdf58ae +m = c1c78caec83245fcbe98a15314940686fa06e675e68c24e069509cf1974aee78 +ct = 403fb1e1ccb1583ca1020db120caa55b089cb8ad14ffb4620af591c504e292932128b41ddc1d25c03af55e707258564cabb880b68ba1111d4557bc7d26b171e476c0b50ea2c2de9bcf3405f26a6078af71dfb7728dd84637ca28eff95a0668e33d107faa2f4bec54e462616aa64b3c78b81830965a8370885f227f1ce28d47595c8f7244d5a0ee62c38429d98cfd1593146e48d136981257205106de6673c6426c72ba8211bc67044ae6ba03d370f3200509a46b474876d02a7439ec26b4dafa4a331b0fcb722194b7ec20ce99325d7c6f9db24e7cf4451426f04dc47245859ce6ca3d27a8be14e5d85587dd93c65a3a59f8339ee56c847ebdb0776798cd82eafb035a90e178247b4a6cdfd35f5effb086e97f1f67d23e9eabbd87fd315e41478c88d681ff09f52a3f54315110e7245431ebcac1cb73484700dfb55d01884947e0d24e2de8d9fc109fe090545d860652da1e8cdc576dec2efa24cb9d02a1330cebc6c8887a205c779dd2ec34cddf6d78fcfa531e17ade55a5ba2d71692845a4c5dc475c439ca2a296b7b0d55081ce55f89483de06a16e6d644c94cb57e2eee52ad2555962988d9ca38456d3fb0130e962ceca444a40a9d30099e8e978a5ac51d91e76068ad8cd2e513b430ff02385c196e2681088a9c74479e640fc0a319acb0284f6f8d21ad4500425cef0f5ee57405593f646a892fc6ce7017c96697dca1ecd5097e5d1dc5b4224f7d78e1fbcc770661d5a4cdc96ac1f2108628050f361e43cf1216a954a840a324bf009d8d607cb812a743851875168250daeb69c5703ef4ad2d3b9e12b79324c886f4ee0cb6a1c6018d55245ae8adee90d930b5980dd5bf1a96652891e5d7701050a6ebeb4b8f241039141ffab4e90e86a024e617d4d7a58a0350d0b185f20eb62cf8a73785c3676bf1af6e15184d80670c45795e2120b8a3a07645ed7a49565fdf89105ed86629bf78a7a375788736ec64d855877e139f6caa7b211608f59f6462df3d91c76c6e71b5b4733b6ec28361690f99d6e462486ba502b06aa5ba42a66d74e0e9d0061c8a04f19eee7dd1e74b44c84ad877e817 +ss = b7da36a6a10582796c58377e90235f6b1f96922edd2934c6335c52ab8c749aea d = 28a96c71577ba00c94f99fe965bc595a26db2b3ca6ab5cf8e443cdd8462b1792 -z = 9c35d165453e5fcdc6f9df64526d9de698f2bd3e6bac6c7fdd86601b9ba5f4a5 +z = ce71ac90659ff2dd31b35c165d3929cfa5e94407a5a798c568e6098f631923ef pk = bda121a1925eae9139af19594444a8953b824f4ba5ca44c07df745fe911f5071975a5b4952c48df7d431a821998fc84f064bbee538569565bd0db70087654203dbc0cc21bf4cba678d1a093ea8b295789d52fb25f4d78d6986a0157145d054afe73a90f25886780044d4b9a4e112259d4a83dce439739a171f5a0fab0736d6731988ca74a56580d3c11dc3b187cd688cf066710a1458a7431c7bd69fbfe67b3532386dda99b9a08368d887414423d6c90cb69736a6a021c70a4c7e33bf3169aebd7227f5fa7f11927b315a52ec3341af239cb88b8137b509c7699b0a8578a4425a0dd535eada924f872fcc719aa785a0e0045b03b24d0f5c1dc9b720a4717e0705cedb88bca8e29a76043a73a87c867223f487c6cd7598bfa4194fb584f4028150513f8692cf17aa5d1009756db4b794f3c7c3d40253991923f098cd7680887935729c4a40a23dc20227cf18c86137482b574c5ab880ebc10c312c5eaaf15870aa4b51e59f70c35d356b11fc6abe072a501bb61647694d6c02a731f13c32a27fa5314a5e641836e23bd6a28c2ae62ddd79039b9365b007110dc95760367ce6a8bc2a358d9ea04cfc302663caab8c710c9f199c2363c4627c14b6cb5c3d3a0d9a3281f07aa5d67029653b2c9afa1375e343c197cad3caadffc0076ce91df0e21436cb368d9c2ff2cba5691acf472b4df839785737842b378cf29567db475622319328dc5388aca633531272b2c164a4a98359b0e9813109640847a8605815a9dcf84531e09b6dda2d1163cc19824baf076f5ef39e67761622cb0bcefc7430c07ef8b8bc84ca8f57131974e5a39244407d376fce88c340030f33ca7c21e27f2cc06b443a12937b978e68a2465b70fe8917da84700365a68ae526316c61fea6b0e5a88813e5251f83ba394b0296475dc1c77878db73ee4671e62bb66d50604efc4a7a91b87de178a617931f9406ec952cecaa8274d095c91062c0e0004093b3e6b36c9db094cb16a34a33a5890a56e973a12af859a7a2557235c50335c6418751952c1e3b3bb8b6490faa78c81d84c724e979cc2b368963552f21518313849088b248ddd5d61bcb3f79106fb3f881087b21e528bdc627a8a1fdbb3b1ff5d83954f7 -sk = ad411082dc4cdadc6267b69f5d8b404583b112d27de6970e12485a7b68bca0e3132ed64ace676c1e7c48d5ec98a60062757057bba2358bf8128b9b918c456a3942906a0275b8b08435b7ad16090d388c428d4b41d61c4e5a3859e2a39a80e61dc4874f51073d02cbbaa08413fdc64639da42d0529b7eb8b424951b9c879fe6656e3462cc13b7909c6471b77b878bb6006691b1c673c0dbb1435b166417555ae0347ee1ca245c049eb40b6c23cb34cec026f3da5c528001fab341bb300c2bd159d6e302e9f7919a11ce539780b5da3d3db112144a385d1a5eb7725693d0ad5c7c9a2b899cd8eb1a04031aaee25bbd624d251b865efc7c303acd18a4aa5c0538dcab5522905caae913995bb0231195ace17c47d05102c44d42287c4e60bf4e42568344b6e287be650921ac55984c572550b9174edc9ea39b228fd4b04371a233747f17a1cbe15145c34449239ba0b3b65355a23f22f26f132ccb281a484048486429258ec487352aa9c87031dad59a806bc71d5ca7ce6311194669289795b9a3cc7a2c6bc756712cb4cb8092ba75430e9ab96acd624f480bbdf515b423134044b6a543f708167a7f6a307a32629b0d8903b97c1394059cd511c2df6bbefb9c81c3ac7d15b05379e214aad30f7c4bcaad99c21e3b00b44022093110c001d04716c5aacca8812b73213c5ad4b473fd5a555756b18bdc02094ab27359037d6a67509271cbc82d3619633f900e5959756bb63ffeba3ab51c1161ab6cc8f47bb30a7849c674c6fa58730bb70a2c6333698761503889a652e5381c6a160407682738d0ba8da898885bb02093bc44e04bc5eb71861790138340ff909549596303e3772d287c77002fb441a72d543da9376206b3802f51aa72009233e69fa3c256fed0b182717299b67dcdf2ae46b8b95a08526429bc5ad5cfaff9898a978855882ae5147af390762ae335936c17de1c58262ac11329a007aa3c0f9a7b95db13c5e24874147ae010092fba13729877d18832c56c71ab9a5d6a2a9b6da5c2b59a20499708382a160aa87bc6f3b4c53ab0558a26da0b81a239472f1941cb5495ddb003070504bda121a1925eae9139af19594444a8953b824f4ba5ca44c07df745fe911f5071975a5b4952c48df7d431a821998fc84f064bbee538569565bd0db70087654203dbc0cc21bf4cba678d1a093ea8b295789d52fb25f4d78d6986a0157145d054afe73a90f25886780044d4b9a4e112259d4a83dce439739a171f5a0fab0736d6731988ca74a56580d3c11dc3b187cd688cf066710a1458a7431c7bd69fbfe67b3532386dda99b9a08368d887414423d6c90cb69736a6a021c70a4c7e33bf3169aebd7227f5fa7f11927b315a52ec3341af239cb88b8137b509c7699b0a8578a4425a0dd535eada924f872fcc719aa785a0e0045b03b24d0f5c1dc9b720a4717e0705cedb88bca8e29a76043a73a87c867223f487c6cd7598bfa4194fb584f4028150513f8692cf17aa5d1009756db4b794f3c7c3d40253991923f098cd7680887935729c4a40a23dc20227cf18c86137482b574c5ab880ebc10c312c5eaaf15870aa4b51e59f70c35d356b11fc6abe072a501bb61647694d6c02a731f13c32a27fa5314a5e641836e23bd6a28c2ae62ddd79039b9365b007110dc95760367ce6a8bc2a358d9ea04cfc302663caab8c710c9f199c2363c4627c14b6cb5c3d3a0d9a3281f07aa5d67029653b2c9afa1375e343c197cad3caadffc0076ce91df0e21436cb368d9c2ff2cba5691acf472b4df839785737842b378cf29567db475622319328dc5388aca633531272b2c164a4a98359b0e9813109640847a8605815a9dcf84531e09b6dda2d1163cc19824baf076f5ef39e67761622cb0bcefc7430c07ef8b8bc84ca8f57131974e5a39244407d376fce88c340030f33ca7c21e27f2cc06b443a12937b978e68a2465b70fe8917da84700365a68ae526316c61fea6b0e5a88813e5251f83ba394b0296475dc1c77878db73ee4671e62bb66d50604efc4a7a91b87de178a617931f9406ec952cecaa8274d095c91062c0e0004093b3e6b36c9db094cb16a34a33a5890a56e973a12af859a7a2557235c50335c6418751952c1e3b3bb8b6490faa78c81d84c724e979cc2b368963552f21518313849088b248ddd5d61bcb3f79106fb3f881087b21e528bdc627a8a1fdbb3b1ff5d83954f7dd8aa653122eb5e3a4c3c877e95e8ecfcfef1ac9e0e6af92cce8ee89d09188fa9c35d165453e5fcdc6f9df64526d9de698f2bd3e6bac6c7fdd86601b9ba5f4a5 -m = 31af9345365549ea0360169ed57daf98cc5444799d4c75d9f1f5d615e9df8a91 -ct = b1077807dab72adbb0a35ad53cb9bc36bda99acc5b97e5dc3e148982260faca274d77a248f642f561e891108bd87f8fcb976abad80f4a0ee38deff622b86d9c512fc6f491aaa3ddfa51e1f3e87cdd4ff8c8db02cb81134a4d722fb2728f3c9bf3ea5cc8ac6fb5dbc74955ed308a6ed84632963eebfb077b35846f05049cfacb699a36200fa8eb3a93b20d628fead9be9ab43462d0de2347ad0ad670003974e819737c9b6d71b9dd63c4975902eb231c1e835dc942af38dfb757d1603df90d23bc029db69f2dd11d1fe3de6bbfaa93ba5c73885c428fa3372302394244c67275f345de77f715ff66887110b5b067eccef428b5257943138c09a5a690182f135fd66aed0fccc26099bf584fd1b560b136b687843a249d756bd0373ce4c2ef2deb189a1fab6cec1e6712129c3c90d6d8f047a17d7219e63594f956c5fd5efcbbb647610b8e213df13b118d61ef308a2b5a4ee6f6c223667e8bf63eded5bca89f6e62ebc8a7d7e2cb042ede63642b2a1ad6bf9ec0f44de7f2503ff37e2b821f512926e25f79ac6d2429d3f4e5cbf86c56be4f2ba4545d4ee8edf5148adeb338e0f76f8c78a81cf14346b10d25c07f3ef60250b3187fe249ac57ca67c7b7ba810aad2ab6ff00c6bb3f5021e88551737100144992f1f14838285bb9428ab443aeb2f740d294b422aa508e31e29657b3493ee8a71799c1309e0c39fb926144ec1a536b9f4705dd8029433d433a467ebcdf68e0a06b191a4cc8c5b56ff38b1f9fe4eef460621b190980c858254bc0331c64173e19a1ff0443642f2b2b89a29b0fc3b243be416da5aa6d2a7d8ab79c9e1a747894819924d0bfdb5a43d76978b177cdb97216c21a0234082e1b0feec84e8a30a7afe3b0a3a9d67d65b54cea4de821f9b2ae0eaaaaf2a96c904b0d16d4ea8af38a90bc9860d2660f446c56edd238a75fabfda8fc57d975a53a4c2edb2a567bf7b68243510463abc207aaf62b3a20a53c4ab4c8e415f8dedf7e576839bd317334d99a3611677a5db0543108be5c6c5ea9a27350dea7f06dcdeb49957a49c2316047e08db435e99dc9717a0227f24ead74a1ca7 -ss = 41109e0d793d6e7bba39c5bae4cf180bd65bef2d045c516b905cbd5dd8079b5f +sk = ad411082dc4cdadc6267b69f5d8b404583b112d27de6970e12485a7b68bca0e3132ed64ace676c1e7c48d5ec98a60062757057bba2358bf8128b9b918c456a3942906a0275b8b08435b7ad16090d388c428d4b41d61c4e5a3859e2a39a80e61dc4874f51073d02cbbaa08413fdc64639da42d0529b7eb8b424951b9c879fe6656e3462cc13b7909c6471b77b878bb6006691b1c673c0dbb1435b166417555ae0347ee1ca245c049eb40b6c23cb34cec026f3da5c528001fab341bb300c2bd159d6e302e9f7919a11ce539780b5da3d3db112144a385d1a5eb7725693d0ad5c7c9a2b899cd8eb1a04031aaee25bbd624d251b865efc7c303acd18a4aa5c0538dcab5522905caae913995bb0231195ace17c47d05102c44d42287c4e60bf4e42568344b6e287be650921ac55984c572550b9174edc9ea39b228fd4b04371a233747f17a1cbe15145c34449239ba0b3b65355a23f22f26f132ccb281a484048486429258ec487352aa9c87031dad59a806bc71d5ca7ce6311194669289795b9a3cc7a2c6bc756712cb4cb8092ba75430e9ab96acd624f480bbdf515b423134044b6a543f708167a7f6a307a32629b0d8903b97c1394059cd511c2df6bbefb9c81c3ac7d15b05379e214aad30f7c4bcaad99c21e3b00b44022093110c001d04716c5aacca8812b73213c5ad4b473fd5a555756b18bdc02094ab27359037d6a67509271cbc82d3619633f900e5959756bb63ffeba3ab51c1161ab6cc8f47bb30a7849c674c6fa58730bb70a2c6333698761503889a652e5381c6a160407682738d0ba8da898885bb02093bc44e04bc5eb71861790138340ff909549596303e3772d287c77002fb441a72d543da9376206b3802f51aa72009233e69fa3c256fed0b182717299b67dcdf2ae46b8b95a08526429bc5ad5cfaff9898a978855882ae5147af390762ae335936c17de1c58262ac11329a007aa3c0f9a7b95db13c5e24874147ae010092fba13729877d18832c56c71ab9a5d6a2a9b6da5c2b59a20499708382a160aa87bc6f3b4c53ab0558a26da0b81a239472f1941cb5495ddb003070504bda121a1925eae9139af19594444a8953b824f4ba5ca44c07df745fe911f5071975a5b4952c48df7d431a821998fc84f064bbee538569565bd0db70087654203dbc0cc21bf4cba678d1a093ea8b295789d52fb25f4d78d6986a0157145d054afe73a90f25886780044d4b9a4e112259d4a83dce439739a171f5a0fab0736d6731988ca74a56580d3c11dc3b187cd688cf066710a1458a7431c7bd69fbfe67b3532386dda99b9a08368d887414423d6c90cb69736a6a021c70a4c7e33bf3169aebd7227f5fa7f11927b315a52ec3341af239cb88b8137b509c7699b0a8578a4425a0dd535eada924f872fcc719aa785a0e0045b03b24d0f5c1dc9b720a4717e0705cedb88bca8e29a76043a73a87c867223f487c6cd7598bfa4194fb584f4028150513f8692cf17aa5d1009756db4b794f3c7c3d40253991923f098cd7680887935729c4a40a23dc20227cf18c86137482b574c5ab880ebc10c312c5eaaf15870aa4b51e59f70c35d356b11fc6abe072a501bb61647694d6c02a731f13c32a27fa5314a5e641836e23bd6a28c2ae62ddd79039b9365b007110dc95760367ce6a8bc2a358d9ea04cfc302663caab8c710c9f199c2363c4627c14b6cb5c3d3a0d9a3281f07aa5d67029653b2c9afa1375e343c197cad3caadffc0076ce91df0e21436cb368d9c2ff2cba5691acf472b4df839785737842b378cf29567db475622319328dc5388aca633531272b2c164a4a98359b0e9813109640847a8605815a9dcf84531e09b6dda2d1163cc19824baf076f5ef39e67761622cb0bcefc7430c07ef8b8bc84ca8f57131974e5a39244407d376fce88c340030f33ca7c21e27f2cc06b443a12937b978e68a2465b70fe8917da84700365a68ae526316c61fea6b0e5a88813e5251f83ba394b0296475dc1c77878db73ee4671e62bb66d50604efc4a7a91b87de178a617931f9406ec952cecaa8274d095c91062c0e0004093b3e6b36c9db094cb16a34a33a5890a56e973a12af859a7a2557235c50335c6418751952c1e3b3bb8b6490faa78c81d84c724e979cc2b368963552f21518313849088b248ddd5d61bcb3f79106fb3f881087b21e528bdc627a8a1fdbb3b1ff5d83954f7dd8aa653122eb5e3a4c3c877e95e8ecfcfef1ac9e0e6af92cce8ee89d09188face71ac90659ff2dd31b35c165d3929cfa5e94407a5a798c568e6098f631923ef +m = 59bd98530c55222a8294517068b7fd7e3210fcc2bdf400f4e584bc209afa44d8 +ct = b09ef4b6a16098861f2abba263334b2be1263819596e7f863dd233f7f47119fcb8ed64064b95523fa19295ab770a5515d92be925400a2fb4f45a9b4266d65fe5e9f06c156e4e14b6b9167c53b36ec779a33eb0faa03b7a6fbef3e8232e258efd2cb98b1e2a34eb4d15b491da0ab4ba7afebbbca253a36f0d0c850ee898b7fc81565632d1c1528ccbeb9754e7e86d4cd0ae1ce4437912678d2d6e508e668d9c22d6fdaa1c549394c96c4697921d1d88886083f2ac3434b9e3ed93f3afbecab39a491f79cb04bcec486dabee4d0230684b584a897dc00ad01edbdeb3c4ebbc1e407827bca071de53702eaef9747f02243e77b369720a3df9af01646421c15b5fb68f0bfdc867cae1d42efd8c7c52ca113d13c6a08912595072557d6da95d4673fc05d5f47fcaaf8a6c98569bf17ec4d5c9d7534580c80a87c944842f65fb81609e8847aeda72da1e143c1e9431c1e55ea904ce72a7f7c6293ecdc4a0e42b6b368d1e21c5a0da351d7ab4735042319845af06472f58d3b26c8282ffc7ed6e8baf5b015656d30a7784d514ca6154bc0e2fbe25b833f88b482bb56db636b553ccc9d612d256be0bc5233462bdbd9d62178dbb71923c858adf4bf47acbfd1528b6ef27ace127af2a1025dd2f3fcfc59d1712a8137760fe0dfc538e7aabfbdaa761225b141676e607802195d32b7772a2ec4590f5eed956a23a72eea3ec79022a60f6a493744e4e5b51cebcd6c160e83c6b89dbfd9b55aeece5e2fab2e14480c5cbcd6ee870a7fa1d5ac20f6bd74a687f08d1fdfcd191463b726a80431f95b78f4db6db3c3fb41318c3a85c94b25309e47a05bb207a748bb36be094354fe88d82e398bd5431474d7b19ae6c299e0bad259ff801c34c806d29084ff68fadc3ed31474057f56f1c9e485dfda7ccc4e6891d567e0a2bd11437ce8e9b3b04d70d4074b98ab41925495809d4d8df1ee314ed3008a6b9c28174b71f7dce6e9f9f49925b4035f52e3d5598771593951c6150454133b5860b1a704e5d66d3b5c85fb809f1697d5cd20c048aaefdf261092806d99900a46b9017d8b6fdde04f3faa02293bf53e973 +ss = 7755b20ee038dee4dda0012f480dde2169b6d14c2f2f276b59f582e3b99fb575 d = c08ba2ef8c3a0a043afad931652d7a19e6e8cb670f840de5f1fa03309b2ca9ec -z = 5fe6141a25f7ab9f875f79e0a82d6ea5cde5a017ab637d5fdb7c42646a1d71df +z = 4248ff45452bce5777b08108e059234029d3309cbc2bcaad8ebb37dcf27832f2 pk = 5581cfbb9262be71c820b270d635c0002bbc92e596f5cc0b5cfc114bb2267640308b495c33314b8d208015888159c02831a062d7967691c64b0764966762c2c28666cc1119b4bc8541f016945c200de76f6f5a83605ace8dca54585a5f115434d70094fd540aae769450aaa7af961cd96239d624082ae6a494a000950747188236a3b9b170a597cae821b6d74d7d00c42ad89a31b0383665b4daf70a95885530e315fd75888e76c1113c0b43f80b951a626c5c59706138567aa786ccb7966840c7acc5e70c029fb38f9bd3b9ecd9b11291c808b44803c06f2241afc703834a125474ac3a926a1e24a0856fc27ecab603f0a82c53f94dcd8797ee25ce4f1635e2b18706032191c7834651c1bdb21ea8630884aac48ef3287093a95f7291e9d3bafd94574a41823f2c7f5600c6bfe237e09158e848b59f1702e1b924d47cc64f7b24beb41c3184980e5cb9b2db75bbfab454557c479b5b2566577bf63ea959856bda063a3545f0cc8284e40bfa4b99d2094727f8cf006957fcc432c058685072a5653434a92b9ab4211343f063fd44572a23829aa8b19e16a7121b1f2352813d492fd91c834eb5a8e5498cf7fc76874a3ef8b926c0d29f3062588163a24c5976bf48797b694fd9b964b1cbbdf62a23a941c99fc986710a0cf2530f11f84914a916c6f704d879ab4cd3aa51f7c078006eca60a1b53075ec71c11ce0b6d8f9769f9549c2d7a690dc07f79396bb2cbe2e0ca72436879b0c8878d0a9eb9387c5759b1591c5339662009d449184690d717a8a768f0ce3056e477a9dc822b5fa466c0a85b3a0256a61b3d0e433ccbb6a9254222fb779cce1273cccaf7c51760e260e2f566b487b8dded9049e037290d102e03019c8c0b2983687d37c880a17484337a66467abee2b5c8340534ec6017a660344083c7ec21a729c754f3cabd2218dc2f200f48a3b67a07b7d86b072e4553be45cb50a2b424c07719878d4a84ad2d33453b783ad117577f41d6ee58ce4326c4c893711d66c94d6aca65c980a545b5521026a42318cd72e7f7129c60b652ea49b2dc075833c3ac3e7cc094618f003b26421bd82ea6a76cb62d3ad7357cc617d597a3dbbdf515f6852d71220768859d599bbaa -sk = 58c8c996e892ffe562f9aa44f4ca31ef7c174cb24d20c683518c1361e68ca476345f19612c872fdc3307fb876096c96f5e714a5fe794b9dca87534c2e91b167b555aa9b95005c85b9584aa33f09b87b6a8620441f1228b551a29ea8788c26c33deb97fc98aa078d5cee62c5ff45b0417b8358aa55408140f89e611fc641f8010ab30c08a6e789b492cce5006c3ce45434912bdac595e4eb91b4ac820e930c4d4db33a736049f53758bdaab51302fcf0c371ddba37b808cc2830e7fa5605f77250e9a9a2f8819505c035c26b8b6498d28dcb77f0742cd8695591a176d059775c4af51f43ea9935672f42a1419a5ebfb8f1681cb9087613db276695562cc62c3f2439a9aa980a56371bc64b22e16b3e01790a202bd0e48afddb50e8c7783527c162fa838a2f32a8e153b4647bdc490a81a494967849a4c814db1582429d296e96bb18c8b294cf05eeeb4aaedd84aaa0b97e3e1b5276c4b7ab8746a717e2bb0b8f433b85f8580cf884689e4afacc61f32587d5a1356d402483ae96f6ff332faf02d61a7a76d3a1171e9721ba801a98127f82314cee599ab1c52ea948013300ae6b576c80979ec4040380394ac95b420a5c562077758714acd91bc1df8bbbca1768fba4b2b349c64504b70089e7eb820615119068b7665c2c5e5da56032cb75ed159eefa3d99a764deb9453a44201910438d0b1a2dfb4d8e7acad1f9abb9b2720d58b72fe18417200ac289369e019f9c9c1e60262407bc8c3a8478db446df952b10083a6a2b4228d482003228a44fa6a71e1255108954311c6fe281cda968551829ab7794893fb715ad90a022b51907c60ccf5156c485f50005b87e9b219c18ef83883631536323a1e7f9b4db6720c4e311ace289e20ba404037663650aeefc8a07119a9c11a67d91cc0447c4e38f68d828c430a75859db93b57f5c49566931f62b3e5e88e211c0ff0ba03b6b8b7645360243aa3b51c2514c923e4151516d019010aafe51a91ac78695a4a4fec6b754bd30bc27b664816c1d7eb35c2bc5cadfa7b764a1ffb5b48b84402ba5141fa8154e5160648177f210059fe8763fad15fbc43195581cfbb9262be71c820b270d635c0002bbc92e596f5cc0b5cfc114bb2267640308b495c33314b8d208015888159c02831a062d7967691c64b0764966762c2c28666cc1119b4bc8541f016945c200de76f6f5a83605ace8dca54585a5f115434d70094fd540aae769450aaa7af961cd96239d624082ae6a494a000950747188236a3b9b170a597cae821b6d74d7d00c42ad89a31b0383665b4daf70a95885530e315fd75888e76c1113c0b43f80b951a626c5c59706138567aa786ccb7966840c7acc5e70c029fb38f9bd3b9ecd9b11291c808b44803c06f2241afc703834a125474ac3a926a1e24a0856fc27ecab603f0a82c53f94dcd8797ee25ce4f1635e2b18706032191c7834651c1bdb21ea8630884aac48ef3287093a95f7291e9d3bafd94574a41823f2c7f5600c6bfe237e09158e848b59f1702e1b924d47cc64f7b24beb41c3184980e5cb9b2db75bbfab454557c479b5b2566577bf63ea959856bda063a3545f0cc8284e40bfa4b99d2094727f8cf006957fcc432c058685072a5653434a92b9ab4211343f063fd44572a23829aa8b19e16a7121b1f2352813d492fd91c834eb5a8e5498cf7fc76874a3ef8b926c0d29f3062588163a24c5976bf48797b694fd9b964b1cbbdf62a23a941c99fc986710a0cf2530f11f84914a916c6f704d879ab4cd3aa51f7c078006eca60a1b53075ec71c11ce0b6d8f9769f9549c2d7a690dc07f79396bb2cbe2e0ca72436879b0c8878d0a9eb9387c5759b1591c5339662009d449184690d717a8a768f0ce3056e477a9dc822b5fa466c0a85b3a0256a61b3d0e433ccbb6a9254222fb779cce1273cccaf7c51760e260e2f566b487b8dded9049e037290d102e03019c8c0b2983687d37c880a17484337a66467abee2b5c8340534ec6017a660344083c7ec21a729c754f3cabd2218dc2f200f48a3b67a07b7d86b072e4553be45cb50a2b424c07719878d4a84ad2d33453b783ad117577f41d6ee58ce4326c4c893711d66c94d6aca65c980a545b5521026a42318cd72e7f7129c60b652ea49b2dc075833c3ac3e7cc094618f003b26421bd82ea6a76cb62d3ad7357cc617d597a3dbbdf515f6852d71220768859d599bbaab7c80e434104e9838cb08529592a5f81b0e8ead186663db8facc569b09e75c9a5fe6141a25f7ab9f875f79e0a82d6ea5cde5a017ab637d5fdb7c42646a1d71df -m = 774ae54093d694ef40b63b62c73e6c98295f606feb8699807eda1d030ffb996d -ct = 1d24e3016e2539ae557ae3e50de36c1733dc2f62e3a37171c5b86eb8aacd571020452797d6471eabc78b8efbbd69897374495d3c934731860dac58294a3986b6a62eb8029c1f6128c075d88634ac9b4caf3b5e8d7c2eaad0e0a0cca0c337deab3ec2cf767abe4fe7c307a1d135a9f2ab0983d3cc97c9f4ab4c4a9c6888326fedac007d49b7c5361095b1732c3f42412d0a6c5c3a2365f94ec678c843a37411f88b1a72b1f8f3afc9d8b03121c23abe26e8d10dac81939f61c2c100ad4340ce662b1094dbb5b1f3fb84419cd3dcf3d0333a881d8e7a8c70b32179ffcc9f51f20e1dd1403589d1ad02642548ccf6db6ddd7e490089c5b0f5cbfd04d5976d45c1c2426621d7fe6ccf310945c13344008ef729123b0a0fa66140b79d528ff924e30d608923b4ee3c0f915d12f77201bea557aad0586d2931560cab7976923c2cd1cee79d184a4bbd1988401bfc5cafb32f16da33b2891298306d5fdfcaede5ceebb628ea2da95b75b6e1da47c3da5d81f8971644e3c3d6f42baf2dbd6b77654472ec2ebd5a2e03bbc12fc0e1a1c9f0da2ef7e562b98b61c174d40c51a5b289d361cd38fee5f3c198ef0ace204c6f032f6c8eac8309f660b9f9d69a085fe2790f8bea1ad4f5e457fbb31046f396541bc3ef819289e412eef6151adbf82bdf257da699f11238ee7dcff9b631aea66028229c086408acaa1a9c597af05e319317f825a61c8f03249667bc49017b66e5f5f0bb538ec9c210a9f9f0d1171621a2dd94c31b1b7c9233cd5848d71f82c9ef3f786ff3892d978ca3484cf48a8201aaeaf508a83d702baac8517b8be187ef5f884699935bb491afde8f6e858f3fbf941b8518c0b75b11ebbea4415596a126db6ca70665461d95018fdac4f914caa4a377c25ed4dec1c424c32d19576bb0f0b8be8ad331d86fd636f61170bbf6b973178749d527e1b73e65bc35bdc72da60b85a0b1c5e3e23111168b8d5cc39796a3d31300bb94c3199c5db3f61050a13c960a9b5cc67b2159d2b18dbb9484a2681d702e2321591e7a8d5d00239fb55dc0c7115790229034fec0b1a1a15f7c8a2b7887242610fa -ss = d8007499f94463b8a804be5bd1b3f529cdd134b568f07f646b96ccdf5edce5c9 +sk = 58c8c996e892ffe562f9aa44f4ca31ef7c174cb24d20c683518c1361e68ca476345f19612c872fdc3307fb876096c96f5e714a5fe794b9dca87534c2e91b167b555aa9b95005c85b9584aa33f09b87b6a8620441f1228b551a29ea8788c26c33deb97fc98aa078d5cee62c5ff45b0417b8358aa55408140f89e611fc641f8010ab30c08a6e789b492cce5006c3ce45434912bdac595e4eb91b4ac820e930c4d4db33a736049f53758bdaab51302fcf0c371ddba37b808cc2830e7fa5605f77250e9a9a2f8819505c035c26b8b6498d28dcb77f0742cd8695591a176d059775c4af51f43ea9935672f42a1419a5ebfb8f1681cb9087613db276695562cc62c3f2439a9aa980a56371bc64b22e16b3e01790a202bd0e48afddb50e8c7783527c162fa838a2f32a8e153b4647bdc490a81a494967849a4c814db1582429d296e96bb18c8b294cf05eeeb4aaedd84aaa0b97e3e1b5276c4b7ab8746a717e2bb0b8f433b85f8580cf884689e4afacc61f32587d5a1356d402483ae96f6ff332faf02d61a7a76d3a1171e9721ba801a98127f82314cee599ab1c52ea948013300ae6b576c80979ec4040380394ac95b420a5c562077758714acd91bc1df8bbbca1768fba4b2b349c64504b70089e7eb820615119068b7665c2c5e5da56032cb75ed159eefa3d99a764deb9453a44201910438d0b1a2dfb4d8e7acad1f9abb9b2720d58b72fe18417200ac289369e019f9c9c1e60262407bc8c3a8478db446df952b10083a6a2b4228d482003228a44fa6a71e1255108954311c6fe281cda968551829ab7794893fb715ad90a022b51907c60ccf5156c485f50005b87e9b219c18ef83883631536323a1e7f9b4db6720c4e311ace289e20ba404037663650aeefc8a07119a9c11a67d91cc0447c4e38f68d828c430a75859db93b57f5c49566931f62b3e5e88e211c0ff0ba03b6b8b7645360243aa3b51c2514c923e4151516d019010aafe51a91ac78695a4a4fec6b754bd30bc27b664816c1d7eb35c2bc5cadfa7b764a1ffb5b48b84402ba5141fa8154e5160648177f210059fe8763fad15fbc43195581cfbb9262be71c820b270d635c0002bbc92e596f5cc0b5cfc114bb2267640308b495c33314b8d208015888159c02831a062d7967691c64b0764966762c2c28666cc1119b4bc8541f016945c200de76f6f5a83605ace8dca54585a5f115434d70094fd540aae769450aaa7af961cd96239d624082ae6a494a000950747188236a3b9b170a597cae821b6d74d7d00c42ad89a31b0383665b4daf70a95885530e315fd75888e76c1113c0b43f80b951a626c5c59706138567aa786ccb7966840c7acc5e70c029fb38f9bd3b9ecd9b11291c808b44803c06f2241afc703834a125474ac3a926a1e24a0856fc27ecab603f0a82c53f94dcd8797ee25ce4f1635e2b18706032191c7834651c1bdb21ea8630884aac48ef3287093a95f7291e9d3bafd94574a41823f2c7f5600c6bfe237e09158e848b59f1702e1b924d47cc64f7b24beb41c3184980e5cb9b2db75bbfab454557c479b5b2566577bf63ea959856bda063a3545f0cc8284e40bfa4b99d2094727f8cf006957fcc432c058685072a5653434a92b9ab4211343f063fd44572a23829aa8b19e16a7121b1f2352813d492fd91c834eb5a8e5498cf7fc76874a3ef8b926c0d29f3062588163a24c5976bf48797b694fd9b964b1cbbdf62a23a941c99fc986710a0cf2530f11f84914a916c6f704d879ab4cd3aa51f7c078006eca60a1b53075ec71c11ce0b6d8f9769f9549c2d7a690dc07f79396bb2cbe2e0ca72436879b0c8878d0a9eb9387c5759b1591c5339662009d449184690d717a8a768f0ce3056e477a9dc822b5fa466c0a85b3a0256a61b3d0e433ccbb6a9254222fb779cce1273cccaf7c51760e260e2f566b487b8dded9049e037290d102e03019c8c0b2983687d37c880a17484337a66467abee2b5c8340534ec6017a660344083c7ec21a729c754f3cabd2218dc2f200f48a3b67a07b7d86b072e4553be45cb50a2b424c07719878d4a84ad2d33453b783ad117577f41d6ee58ce4326c4c893711d66c94d6aca65c980a545b5521026a42318cd72e7f7129c60b652ea49b2dc075833c3ac3e7cc094618f003b26421bd82ea6a76cb62d3ad7357cc617d597a3dbbdf515f6852d71220768859d599bbaab7c80e434104e9838cb08529592a5f81b0e8ead186663db8facc569b09e75c9a4248ff45452bce5777b08108e059234029d3309cbc2bcaad8ebb37dcf27832f2 +m = c11e2fcd6cc56977006f5dfa825271c6fd49069a747eb36c1765f5d5a22b38b3 +ct = 2c0293f969e2f3b7e3bf5d5c5d7b7a3bb1c9dfb73b151dbd82bd7404276ac68c0a2b02d9bf61a3e04571f601041af7815c697ded4c69e32ec7411daeb47828d7d34c8af0687e045d28a656d094a8473d7208cd4b6e83ed92bbe0e680e516e9a0c6b25eb682049e817d9f8c55491ce4bc7c5ed097e2ee04f8f6aa6e438b714680b19cf183e088cd7952e0cce4eebff0ecc2f25847340742a4d69e5785e9ca59a7676607c40e004cbe4f8c3463199c15f2ea86d8040b834706fcd247e395439bd0e06e7a8fc6688f67c97722f6a1f7ad4783800c98ea3cf23023148bfcdfdda2308b2cf9f08f52e78668c4e62bb269e8b1a99086fb6062a0b685642de0bf2d2b7004c2047b9b0207d7da793fcd3ae70b268dcfc05ab1e9788ef15d33c904fec7a7aa5d61de6245bbcea9fb4a03ca8ebde7f4438b8533a355eae10b7de7f3a8f183b68f2fbf374e839baf0622bca38b75262ff3c4814eb0eee7e40c7e4bdfdd4229ba295d1316cfa83d421c7edededb421bc5b39620809f0efc53845e6dce949615fdd8435302c40ca3ff3feb4ee01820e30e6a94cebbcd8bbed73daa893e1c7144135a8526ef8a4bdf6cc6cc2b74fff693862f840d46d3c0a3bfd929af6a80fdf097370d8da1edd565eeaa761ea35fec472feadd17e6daa3b42af74d8ddee0df01b4876bae90b939b1728eab926290309d09ded5ed6ce04e595f6dd9931db5cf69019c7efc6df4d320c0aa8098d25f232d2563724bcfecbea4f7ef8e0eed3838ecc3fb28f0b19df2c3a503898638151471d460cedec282a169d947afcc6f2e9167bd8f86fc6a1e1927825310807dc4f820c6e1da1adec7e0c789732fcbba6d2d303049af86ca533d43a638a2cdd7060e3263a7353890fd4a8bb6fe5655fd82f9a206fd4629cba349b3965961fffd47ce4b07219b6d559113a7fd410f9300c897826eebc32aa1d29fa882a4b7b9dede57eb11dac050f59e327c3b8001f4b76af8f3bd152738a2548a0c94193b20e616a548601525f9b1a1d6a098aacb718b11c62f4d53d3b48444cfa5fa953b4cc4f3a5cd8033513d2a22e27cbc82d417c27b3749 +ss = 8fc07c5de0cdc29caa870ad6a35a7409f352857b69bae5b0a535da71fb5dfc61 d = 0e3b30e102d707538c2671060f603bb0b8a014103f132d63b09ece07e4a4c75b -z = 11eafeca9e810796c34e8cfce9d59342884456007b01ddd12edce6d10ed87e4c +z = 7b129a56b51be635054cab9e84f2def59a3f8168e301ea2be388c45b8cb022ec pk = 6845671057a2e8e3b4c8a70e757c8b424552b1b79f18eb72a64334ffc70b2b07203ed0870f6630733c26daf928dec6bef96a92064a738b1bc57c10c965d1740b313e5adc7c283674319c89ed38b7224b97804a5566593e15c9404ca582a58b869a485c0fb72f0caba15c00595af1b0eff68479daa985e79a0c5734987a34847215be37729ba51bbb1311f6f0800a37670d3a2f55023e88a019fb068382902a5d94a8fca972dd291178e039f8d2ca22936896c68976ca2309838416108888f13916089556a277e6958352484f231703d120922d103d6b2badb528a2eac86e174186b3278d7f480ec2195006f36583cc91c1288894759807692f15c22b9fa61ab1e587f6f958a5358bd8cb3edd49ae6906aaa7b74f2c2883a0aa1f182357104230349a0c21930f5fc760b821a07aa38b021123b9160d49b2438eca5ec5aca812f96cd7574a0761cb17eb9b71236b19a88d6bcc7e4a0751af543a151417d55093f6530543c678e19c330c63c371f84ee2d07d5a76ac273703b8166e889286da5c5055961084265f2e5817879713d74186fdf56793ec6c8dbbb4dd75196aac4318aa4f773bcf462586566c3c6e980731e7b8273a21c1e4adadf99d4f0c71f8db3f6b28739466c570ea5a548a4d6ed768ea5026b61aa1698279191b69c39b53183c2745a7c251f48d26812eb4764d9196a18af28d91c54035fc149112ba7eec9df4421121aa6132e7069072a59a8739535c9c76959f8138112d7348c9030b60038a66bac005e38be1449e3b961850c1853450b33d680cbc2a586ef37e323891deccb16bc52eab1b7a6fa13205d38963acc148435cfb72803d6054a18c0de3a217037a257e157a59f8a968d250aa1baf88935dc54272bb5950303ac68495956689238bd2b595d7cd42749ae1b38097ea7ff90600056b5ff674a4c02b26aca5cab4379f0864a24fb14f24e274ed640ae6d692adcb3fe2541b9851ba35893967d39531b0c163d5b7f131cda1976e405029614399b7ea6cad628ac5245ab7552fa4d2acb10aa7fe2a91081707c327cf88192d904287c47014a4c51766837a8a39885f09cad717408e0934fde42a5e1cbf04c80f37d7dfc7eb53a785194c4a1232e61c37a5 -sk = 8dc7329af7a016354818974b6814c962e91e268c24ffc843ced150d4593c4c586efbd608c8517e6f7c520b59133a81c6214baed3a8304220999e30b00241244e9abbc2a4b70d2b042c36843402255e1307be53b7ddf52621ccaac4c266d02ababa0b6567a76e2482887d6b729558a70c6931805a8d8c3739dd95c06a33b42e67c45e19aaf4d859151b75b78b5419f867c4b74dd6ba9f54f533dd51585ed89eb6a22be8757d2915752a14420d99b20d033d4840ad2e83be1207a4fd3020a38aa9e0125d9ed36ba6058551976e5bb27a170aa071b46bd98b7c4c438fcd904d366406a45589af938532135adc2c790e759a1b0713fce38888d626599a7061b6cdd0856c5404b042d73aeda2a613d51852d5526496217ffc4030d8b1d521cc5c3b47a8f513e2688d794a15ef90b7b2c5a213e76a5f652a0d4659444a1170bb3762f55ae46207cb5a015298610023b16d01624845205956ce413c217fea95dc939829434afac49172f5bd6ca5bd1dcbc2c3e94d4a8ac0c7f051f71b53501b8abf676a4c372491c39e5b83492734356bdbbf6ee8ac98fb765ae4a5b26b33c2d09d0accb0c8a3412418a30198b014d62d16ecabeb863fb037575d06b43e33cd0d857152424d9e2c3e4968cba3cb978a9b180d539b7d061fec9095e77817e93b2b3b189ebb7cbc04e4a0862547b1a9270bb4a089a957bf3c439777114552993ce67520567259b7a48dd8534c83bb6f442d652543ac9143f6450908f3cab1c47e92c83077815f5d85891f10a04f0c0cbb0cbad8261a0ed014f09ac33a9a87c5729c7067678c7887787ab7ec7a2a775074c4ea58219c10eeb253a1695d20612ba7a8a68c5719f532cf78b1977e177a0bf4ae76328d7230ac51341f7f4b866e926fd3f44996f3a14af4ccef25296a67a8b71356c2dc6688b9781efc092fda400050910505c7193003de4609842ba365842eb4e19d01fa514322a9915c98be0b48f42b107afaa383351ddfa57f6042bd1c9bc3e47a253ac21b3002004f72a3afb176c7eb9b106c561be17c4375c40b231524b95375b27982970f123b4cbae78fad99c6e6f12a6845671057a2e8e3b4c8a70e757c8b424552b1b79f18eb72a64334ffc70b2b07203ed0870f6630733c26daf928dec6bef96a92064a738b1bc57c10c965d1740b313e5adc7c283674319c89ed38b7224b97804a5566593e15c9404ca582a58b869a485c0fb72f0caba15c00595af1b0eff68479daa985e79a0c5734987a34847215be37729ba51bbb1311f6f0800a37670d3a2f55023e88a019fb068382902a5d94a8fca972dd291178e039f8d2ca22936896c68976ca2309838416108888f13916089556a277e6958352484f231703d120922d103d6b2badb528a2eac86e174186b3278d7f480ec2195006f36583cc91c1288894759807692f15c22b9fa61ab1e587f6f958a5358bd8cb3edd49ae6906aaa7b74f2c2883a0aa1f182357104230349a0c21930f5fc760b821a07aa38b021123b9160d49b2438eca5ec5aca812f96cd7574a0761cb17eb9b71236b19a88d6bcc7e4a0751af543a151417d55093f6530543c678e19c330c63c371f84ee2d07d5a76ac273703b8166e889286da5c5055961084265f2e5817879713d74186fdf56793ec6c8dbbb4dd75196aac4318aa4f773bcf462586566c3c6e980731e7b8273a21c1e4adadf99d4f0c71f8db3f6b28739466c570ea5a548a4d6ed768ea5026b61aa1698279191b69c39b53183c2745a7c251f48d26812eb4764d9196a18af28d91c54035fc149112ba7eec9df4421121aa6132e7069072a59a8739535c9c76959f8138112d7348c9030b60038a66bac005e38be1449e3b961850c1853450b33d680cbc2a586ef37e323891deccb16bc52eab1b7a6fa13205d38963acc148435cfb72803d6054a18c0de3a217037a257e157a59f8a968d250aa1baf88935dc54272bb5950303ac68495956689238bd2b595d7cd42749ae1b38097ea7ff90600056b5ff674a4c02b26aca5cab4379f0864a24fb14f24e274ed640ae6d692adcb3fe2541b9851ba35893967d39531b0c163d5b7f131cda1976e405029614399b7ea6cad628ac5245ab7552fa4d2acb10aa7fe2a91081707c327cf88192d904287c47014a4c51766837a8a39885f09cad717408e0934fde42a5e1cbf04c80f37d7dfc7eb53a785194c4a1232e61c37a5e619285c692532735f1582d227b9a9e77b1eae4aab9eaa79f6ce7ac2fcac831811eafeca9e810796c34e8cfce9d59342884456007b01ddd12edce6d10ed87e4c -m = 9f27a47604ab5146caaf0aafe6d149424f8d66e39ba3baf5e6c73b19221b7e21 -ct = 0cbdae3fed1447bcdedfc9395ed4969dfb5fa3bca51369cd73af29812f8b8cddca2d8fb7aa4089e15f8d6b11fd06f5d712bcab231cbefaa888ee99ab768d4f441ad0680e38ad587b5a94476149432b4db814b4e8056cdd8c6c2b1e6ae7cf1dd64c044c9a29cff13bdd899da5884f6268b598b90e25a71f81ba27d3ea64a9762c5fe64f77f5452c30729654059485ac01060448d27c6412b45cc6cf827d750d9e4c282e3dbc78076e2ab89d2647f93f080a5654f56006c159fc670a08d6bc3824d682bb199b1e45c02a9b6226838b786582e72d2a0030c9b17d2d6abdd05c9957395906c3746ba16fe77b2cd23d9cd23991f61a303bf1003b782b31ec7127b1a1fa0c1559d85ae2a5228ab9ea52ac0ba3084b3e12a935bd4e0c4306cad3f3564d413fb6a55bd7f4ab8b6d7cfb3d59fecdab0f01019c7ae3f1e53c900d5ab59ae7bb4b1838b2beddd581cf341320585a3ba0832ffa5737773463a6126be2d8a184e9fa0bcbb13f73eae2d8a8eed6abb563ef5171d9f926ef1e090dae318ddcdfe3e8c71c5fb57fba0718b321ef28d6b254d567c5dc63bd1f6d3a0f6865ac3ffac07dad9764145f4cfc2cedbeb0176cff7492840f00c3a156c6d7ab5e344a710e0af1c2e61ccda2ae6c6e7c31af5ee42459d34ce07230f073dd41f5a8df3acd53134009c0be09c263996229bfcf558ff924f370f6cdb85fc0fcd0413490f8a86754c96e31f55ce3c57117edde1047d0bc3fdbc095e3bd5fe8422062802eaf372286dfa871ed9be3c41bdadc49dbec9e731a96e8a33794218faa7cb9b2bd0a7d2f921b31bfc3a6bef742856e5def613ea45d2c7f9d41e2ab9885573c53961a2ee387b4dbd61c40068cc156c29b33d39f1cadbbef28e62c73b70ad645bfbd4683332f9edfb8e6d97099ec53a77a13a5e154765dcc77920916a09c66fbdcccaa96c794c35a000cb618a41b1479c9996264476e18f74fe0faf7d4108ced3f61100e67d07fb19b0fef1b69742e268faee1ce730ffe923cada4239f785b6cce7b9aa2554a9d700a86710e5f1ebf6998d8ea8e74531f0879a55442a7ae28a7660c101e54d6 -ss = 52739ee9de88e8aed33b910c0f65091785fa0076ebc97e4fde190bedd6b369f9 +sk = 8dc7329af7a016354818974b6814c962e91e268c24ffc843ced150d4593c4c586efbd608c8517e6f7c520b59133a81c6214baed3a8304220999e30b00241244e9abbc2a4b70d2b042c36843402255e1307be53b7ddf52621ccaac4c266d02ababa0b6567a76e2482887d6b729558a70c6931805a8d8c3739dd95c06a33b42e67c45e19aaf4d859151b75b78b5419f867c4b74dd6ba9f54f533dd51585ed89eb6a22be8757d2915752a14420d99b20d033d4840ad2e83be1207a4fd3020a38aa9e0125d9ed36ba6058551976e5bb27a170aa071b46bd98b7c4c438fcd904d366406a45589af938532135adc2c790e759a1b0713fce38888d626599a7061b6cdd0856c5404b042d73aeda2a613d51852d5526496217ffc4030d8b1d521cc5c3b47a8f513e2688d794a15ef90b7b2c5a213e76a5f652a0d4659444a1170bb3762f55ae46207cb5a015298610023b16d01624845205956ce413c217fea95dc939829434afac49172f5bd6ca5bd1dcbc2c3e94d4a8ac0c7f051f71b53501b8abf676a4c372491c39e5b83492734356bdbbf6ee8ac98fb765ae4a5b26b33c2d09d0accb0c8a3412418a30198b014d62d16ecabeb863fb037575d06b43e33cd0d857152424d9e2c3e4968cba3cb978a9b180d539b7d061fec9095e77817e93b2b3b189ebb7cbc04e4a0862547b1a9270bb4a089a957bf3c439777114552993ce67520567259b7a48dd8534c83bb6f442d652543ac9143f6450908f3cab1c47e92c83077815f5d85891f10a04f0c0cbb0cbad8261a0ed014f09ac33a9a87c5729c7067678c7887787ab7ec7a2a775074c4ea58219c10eeb253a1695d20612ba7a8a68c5719f532cf78b1977e177a0bf4ae76328d7230ac51341f7f4b866e926fd3f44996f3a14af4ccef25296a67a8b71356c2dc6688b9781efc092fda400050910505c7193003de4609842ba365842eb4e19d01fa514322a9915c98be0b48f42b107afaa383351ddfa57f6042bd1c9bc3e47a253ac21b3002004f72a3afb176c7eb9b106c561be17c4375c40b231524b95375b27982970f123b4cbae78fad99c6e6f12a6845671057a2e8e3b4c8a70e757c8b424552b1b79f18eb72a64334ffc70b2b07203ed0870f6630733c26daf928dec6bef96a92064a738b1bc57c10c965d1740b313e5adc7c283674319c89ed38b7224b97804a5566593e15c9404ca582a58b869a485c0fb72f0caba15c00595af1b0eff68479daa985e79a0c5734987a34847215be37729ba51bbb1311f6f0800a37670d3a2f55023e88a019fb068382902a5d94a8fca972dd291178e039f8d2ca22936896c68976ca2309838416108888f13916089556a277e6958352484f231703d120922d103d6b2badb528a2eac86e174186b3278d7f480ec2195006f36583cc91c1288894759807692f15c22b9fa61ab1e587f6f958a5358bd8cb3edd49ae6906aaa7b74f2c2883a0aa1f182357104230349a0c21930f5fc760b821a07aa38b021123b9160d49b2438eca5ec5aca812f96cd7574a0761cb17eb9b71236b19a88d6bcc7e4a0751af543a151417d55093f6530543c678e19c330c63c371f84ee2d07d5a76ac273703b8166e889286da5c5055961084265f2e5817879713d74186fdf56793ec6c8dbbb4dd75196aac4318aa4f773bcf462586566c3c6e980731e7b8273a21c1e4adadf99d4f0c71f8db3f6b28739466c570ea5a548a4d6ed768ea5026b61aa1698279191b69c39b53183c2745a7c251f48d26812eb4764d9196a18af28d91c54035fc149112ba7eec9df4421121aa6132e7069072a59a8739535c9c76959f8138112d7348c9030b60038a66bac005e38be1449e3b961850c1853450b33d680cbc2a586ef37e323891deccb16bc52eab1b7a6fa13205d38963acc148435cfb72803d6054a18c0de3a217037a257e157a59f8a968d250aa1baf88935dc54272bb5950303ac68495956689238bd2b595d7cd42749ae1b38097ea7ff90600056b5ff674a4c02b26aca5cab4379f0864a24fb14f24e274ed640ae6d692adcb3fe2541b9851ba35893967d39531b0c163d5b7f131cda1976e405029614399b7ea6cad628ac5245ab7552fa4d2acb10aa7fe2a91081707c327cf88192d904287c47014a4c51766837a8a39885f09cad717408e0934fde42a5e1cbf04c80f37d7dfc7eb53a785194c4a1232e61c37a5e619285c692532735f1582d227b9a9e77b1eae4aab9eaa79f6ce7ac2fcac83187b129a56b51be635054cab9e84f2def59a3f8168e301ea2be388c45b8cb022ec +m = 5d5b9bc8e9d09b6d5f96d13a5b7a8d8f491c15e7ab912a17ce8141299fb6ca44 +ct = eeb156c7cf3d62c95ce35c7b144d296460075eadbf7fcac575700cd969c5da814825018f0a1997901c8697e63e37d944be13e47206ee9c67d92114f0453ae2a53bce8745be80a1d86ce88b3bdf2d46800349ce8dab17b4168aed71b65e631db362c0d3f24669b4893bac84bc70761343869bf65c9af6c5bab96edbc6a6d4e962bca70aaf7802f4540fbae0539d4e99b0e600be9dc8148342fa48dbd39162602d8ce86dc2f3edb7865830d0d6e69a7953d3acec0f0685c06a54bf11bbe7810f52d077ac8615cfd19406d9c5e87800ddbf0c88ad1330f98a23966207912741676870076ac5f1b9126a7197e9887599aa4de2f8ac469c8adf302b879fdf8a4b24f3beec78d9b8524f4b7d15cc5f65b4770631ba0008787817eb06406deda32fbe614bdf0974a4070cea0cbd2f2228fb7017b4853d6d305d51350fb334ffcadd33c0e85b8276b04971e15cad44653628f65fe47f31cd63a1aa5cf63296d57bbd0700dc7361b2ccca29ecb43b85d6d6c5e8dad6d46916174d59b9204d90bd56a725e486c7e22c6cb5f767640ed1025b9e50b47782135a1fbc6166bdce860a06e0a92269e3be010deff1b0586706457c7f6aa132474ae77004df813f82e7e1674a78ef2abb25a57bdf383cf76180fd0f6fed81fa68fa5e998cce45f10e1163c515e85e634a3ebef40673202d67eb0e61b900070eb3f19c2d7b96d5dc9126928e975d807915e9e809ae3379f89f29bbf687c9ee968a736f191ec40682507ef32a3879cce3eb4a0731e4ca8a9ee118341308b3a6835101c567399cddd1817d8c59f963426ea6993ec0bdf93786596b0993b9138ce91604b228af991b11e9c38e08bb8d0af2b8a05ac46528005d1aca0a775ae615e4927087d87c2e8829111ea11a076e8e311766d8c68a6bf619a825388ad48e89062c6601e13599cf15fe3d605ceed08dea2a920d21f76a718fcc7ee621e372b9dfde16410cc518c69dd9d7fceba0d00900b895ee3a8109fa5bc50c0404877471659b5a16a710d82250934701ffa4096e2d53f1a6195271c97281d6793aa05704c9f401438d6d17a45f14fca099360ff4 +ss = 155e77b703f1cc446fba0371cf33ee3dde7abe052a94f1a1bfba61c870e1a48d d = 2478f7d3de6041e7e5cd11c5e2ef483d1aa6218eb126444091535f6ae532fa73 -z = 11136e2681df2ef881b51a092a9badbe72c9772c169808521c47149578621e28 +z = f0c083ae8cff7a4bd779d4385e111ed4583fe00d30e651f171d7e8a90eec0db5 pk = 781451ec9a7efaf8639ea457c023088684a91cf779fa465940e25955d47a2df9782838648350be44899b198a706c6b5763c2a170c8c5f87b2f9a7b6af7cb48efe386c28c7b0b19a808f24e3e2b6b212a3b8b9a19f6c47d484893ed89cfd3f678207630c3844e969c967eba8926461a58826eff42beae5339c620607a704f91f1b056fa06910746c7e002bc617ecc64add1090ff1d1afaac53a40487b83e9453e6728cf352415a930079abb7e5115bc0745290c706420853d080377e921b5723047c22cfa289d2df186b1908a7bf471e5877fe23b30028a34f3fb27e726b99ba827d347c62997314e39a0f4b2b1e9163f53654e056aaab4718609983bb674a47642a81b000ca7422d3e361af12461b8620064547dfb578959b18bd1b61014d20315a659a5ca65f9cb4ee214b0d123113e34310c56bbd99737f0305f6f3b49f688610a777edd4a3a482163e6cb2c64668fc3aa024d789219078b49471be7dc4395346e7f87c5b150c1e7e30b9d2a435e7c3a32f7c4d33622d7b73cdda989aed858fe4c7e9cb163f35679b84b01096a1e2c3897c290caa996ccb3943e22f789d3c5098aa1a6f117347e0725c358670d678c51a0a9d5f66aaa6923a895cc5fe5c9530b069397a0e4482438e713290c62a94771f7168212a7cda8e2139d573a9ab0137443180c213b78a1b5b291a0f1566316857a72a521c2b79c660792acfc0f5a788962a6ae74e87c48a8010dd6436672817a00b49862721702668ff29f1077a87a96cc27038e0a2752a0d196cb17babc25b2996054d61c68c691c93a6520a97392830a8f157940fa903e75f909bc9691b86391ebe3611e04c9e0678c189b7875d373f0b25b9fe0a9b063cdd4446ab9aa6b23e6ba6c324cac29736447529c76c3398218152607aa5488a5e7b243a0920984b06dfbcc410679ac035ff824768168c758689d0b326831f5c10220c10911540c5b7f9a3510d73cc1153a2fc2a84b8a08cfd7f863e6c93e05f05a39da58cfb57dce98cbf1b7ab960bb14a9b86dc611045d1730f3b82e5eba970018bd2cc4a6fecc9a7f3ca3753b12ee64a7349ab922085c91e7efd93a5d7db1850127df85b8f086dfc57f1f62a86d6ee7e45aff3f27bc1 -sk = 259193f271825609668f04a250f64b599315c8264bf3104c1b23a4adea1689c16618f20deeacb02dc4cb3dbc816e8712f1192f94c7c0bc2c0f468c2243dab1f351269744701904adf53c3e50fb87e65c4abe161d15759bef01ca78586a6fe64287dc392b94b6fe5b110895402aa843abe89de0689a1674b2b8e29e6bd232dd728ca4447546d2bf29003ee47331d5e1362cc380b6aa0d777a2ef6f38aa295100fca1913e1bdf2bb630c4aa3ff809a9144cba1717f1730afd1d1439998a8bc82c2319c0d46fab3bfa147b9d691d94cc75de0a212009d7fab51a5f216e7aa67336243b2b311cd3638a8c0bd9ff8a6ef699c08374a705ab4718256d476af2ec008e10267767c3548d42e25688db2c8a3dd0874bc34b55637239fd55e2b855cbd431f3a575812c54d57ca19d6e075c5837c8345323657c9cd8b53aeb8a9566a92b12c45aae7958b2920f1574c1e34724e8009d8219b7eba2a0999360e372044e6bc5bb6c658998d307a9ae5d18928e26473e66fe2fa74a6d48cff0834de15b21b11929e4aaecd922803085b78f5551f86c58c560fe639a2c35bcc31271e11fa14d739185c8b062cac95f1a34d6a2b9461a9bf766c140f80baad13be13038844604af313be2006cf79d12f6456c760444a0399562d8220e2496c84d9953779275c808856718f5d3a3908652440700224b0039d6b9abca5a7a1403fc823179e6c0e8784cf86055627b973685cb2ab74b40e85a436c7b66a7453dacb36af915fb934054cfbc36762c17de28b48f5b27a92ad4dd4b8baa16b37a56863bcca1c0505001c45fdec718624a7f6207ec03635edc7c0c793c42e1a7f167a6aecb2a912418c0ff09b771c82e7736b08a09bf54933fae3bf34a593f2d19d90473e499971e214c963b11b427a7aed96b9413ba1fb487045b7359c9510baf04062a907f0a0b8b088bbd0aac738423c5f077ee8da99c0b8166792c63574cb2a5c05f2460b84540a1280a41aa5432ce7445e4aa1d55893a9f1459e6b7811111a1fd98640b35c984503410443f7dc8739d757f4f00d69b3a7dd90845f225932307bc2c92d52ea846bd826781451ec9a7efaf8639ea457c023088684a91cf779fa465940e25955d47a2df9782838648350be44899b198a706c6b5763c2a170c8c5f87b2f9a7b6af7cb48efe386c28c7b0b19a808f24e3e2b6b212a3b8b9a19f6c47d484893ed89cfd3f678207630c3844e969c967eba8926461a58826eff42beae5339c620607a704f91f1b056fa06910746c7e002bc617ecc64add1090ff1d1afaac53a40487b83e9453e6728cf352415a930079abb7e5115bc0745290c706420853d080377e921b5723047c22cfa289d2df186b1908a7bf471e5877fe23b30028a34f3fb27e726b99ba827d347c62997314e39a0f4b2b1e9163f53654e056aaab4718609983bb674a47642a81b000ca7422d3e361af12461b8620064547dfb578959b18bd1b61014d20315a659a5ca65f9cb4ee214b0d123113e34310c56bbd99737f0305f6f3b49f688610a777edd4a3a482163e6cb2c64668fc3aa024d789219078b49471be7dc4395346e7f87c5b150c1e7e30b9d2a435e7c3a32f7c4d33622d7b73cdda989aed858fe4c7e9cb163f35679b84b01096a1e2c3897c290caa996ccb3943e22f789d3c5098aa1a6f117347e0725c358670d678c51a0a9d5f66aaa6923a895cc5fe5c9530b069397a0e4482438e713290c62a94771f7168212a7cda8e2139d573a9ab0137443180c213b78a1b5b291a0f1566316857a72a521c2b79c660792acfc0f5a788962a6ae74e87c48a8010dd6436672817a00b49862721702668ff29f1077a87a96cc27038e0a2752a0d196cb17babc25b2996054d61c68c691c93a6520a97392830a8f157940fa903e75f909bc9691b86391ebe3611e04c9e0678c189b7875d373f0b25b9fe0a9b063cdd4446ab9aa6b23e6ba6c324cac29736447529c76c3398218152607aa5488a5e7b243a0920984b06dfbcc410679ac035ff824768168c758689d0b326831f5c10220c10911540c5b7f9a3510d73cc1153a2fc2a84b8a08cfd7f863e6c93e05f05a39da58cfb57dce98cbf1b7ab960bb14a9b86dc611045d1730f3b82e5eba970018bd2cc4a6fecc9a7f3ca3753b12ee64a7349ab922085c91e7efd93a5d7db1850127df85b8f086dfc57f1f62a86d6ee7e45aff3f27bc1dd3761c0e96678a959f30997e96d6a59858528c5e10234398e2da2e50ffcc51711136e2681df2ef881b51a092a9badbe72c9772c169808521c47149578621e28 -m = 90044031b7597b5e60a4f946b713e8996d0426d2cb013243d9b7d8f8ef159a0f -ct = b8dc7671a617c8c189cc1293ebb5835d4051ec2c34f1d920786ec47b0a129dcac0f7bda3cd08eb30596824aa02bfb06678c005377d6db379d5e18775152c35b6fa6a76916447206348ec33d169b36bb327e5039b8949f378853b47f5cab6c5cbc8b3e36427f8ee0271ed7bdb4b7699c2e6ea810caea486e95160c54d3c6a6a9b33b3820377fa4a0303829257c2d173be12a31ff5c5747286d8360beb1bc3d92bc8cec52506b3e5e4ae70b613a75cca822b092f4e36577e114ef511ea34725e0d8ff48f467b7c12c95f4f23463a0afa081b6dfde788de4cb9af6a3752ad728f450c4fc209e22f6b353b9abcfee692e1a9f7cfc44c4a9dd0163338d0e1f1cbaf5b506ac15cfbc4bb065ad6761201d58faed7df1fae68da32a0390d8eb7f37d819d48a42f986f60938ce8ead565698b947e2f915813a4f378357ec218a4c16947947bf87f419984bd0a6d04172cf3bf6d9a070559594b63b8b7dc8f5ead8b16a3535af9ac35f783638c6498fa6c3c377432eba748c6c956341caf7e217ef584921a0f7584551089f63dd44f7a6e197471c8ff2bbeefe414f50b4d445354071c88a3aedf43ac4ca1b4e33fb05013b5d1fd07ee7d5b98ef3e61474fea7ffd1b7fcbf63b7770b5c56bdca22f585554b28956f3c2a0f6705314ad2ce3f28fa8e873e0d3910f56d69855f2fb9953baff49e77a96df2c63553b9f43d08d5f37fc2b17467428762258ae9921cadbb824baa19431957db525a9afc09e91de8b606afde6a496fba6f683d1d7c5a42fbbe74a7c139c59b900d53cc86056dca2cdf68d4fc522e974f0473bb9a41d432817cfb354e48746aa803f019eaa576826f3e9fc366f923cb68ed7a67f6b0cbec644009508a4e47cfd7c82596a43da23760ecbc0dbc38b5cb505418a9ecb9a0cf772c12d359a49188d5fc1ed816b11594b8e495358b9088db227b58a4f997045275174893fcdd2b06c5a39ff4dedcf1fd1988f9c311023a00eb8f41cc6fa50e62b60f1ed2f3ef37182601c34d861c2ffb8a8cd14100cda64fe6371747a446549958fc712602cd6c110ad48ad84bbf092d16be761b5ef7798 -ss = 17abac927855cefc72c77653716b862f9e5b7699215104b8f77a9891a726cbf5 +sk = 259193f271825609668f04a250f64b599315c8264bf3104c1b23a4adea1689c16618f20deeacb02dc4cb3dbc816e8712f1192f94c7c0bc2c0f468c2243dab1f351269744701904adf53c3e50fb87e65c4abe161d15759bef01ca78586a6fe64287dc392b94b6fe5b110895402aa843abe89de0689a1674b2b8e29e6bd232dd728ca4447546d2bf29003ee47331d5e1362cc380b6aa0d777a2ef6f38aa295100fca1913e1bdf2bb630c4aa3ff809a9144cba1717f1730afd1d1439998a8bc82c2319c0d46fab3bfa147b9d691d94cc75de0a212009d7fab51a5f216e7aa67336243b2b311cd3638a8c0bd9ff8a6ef699c08374a705ab4718256d476af2ec008e10267767c3548d42e25688db2c8a3dd0874bc34b55637239fd55e2b855cbd431f3a575812c54d57ca19d6e075c5837c8345323657c9cd8b53aeb8a9566a92b12c45aae7958b2920f1574c1e34724e8009d8219b7eba2a0999360e372044e6bc5bb6c658998d307a9ae5d18928e26473e66fe2fa74a6d48cff0834de15b21b11929e4aaecd922803085b78f5551f86c58c560fe639a2c35bcc31271e11fa14d739185c8b062cac95f1a34d6a2b9461a9bf766c140f80baad13be13038844604af313be2006cf79d12f6456c760444a0399562d8220e2496c84d9953779275c808856718f5d3a3908652440700224b0039d6b9abca5a7a1403fc823179e6c0e8784cf86055627b973685cb2ab74b40e85a436c7b66a7453dacb36af915fb934054cfbc36762c17de28b48f5b27a92ad4dd4b8baa16b37a56863bcca1c0505001c45fdec718624a7f6207ec03635edc7c0c793c42e1a7f167a6aecb2a912418c0ff09b771c82e7736b08a09bf54933fae3bf34a593f2d19d90473e499971e214c963b11b427a7aed96b9413ba1fb487045b7359c9510baf04062a907f0a0b8b088bbd0aac738423c5f077ee8da99c0b8166792c63574cb2a5c05f2460b84540a1280a41aa5432ce7445e4aa1d55893a9f1459e6b7811111a1fd98640b35c984503410443f7dc8739d757f4f00d69b3a7dd90845f225932307bc2c92d52ea846bd826781451ec9a7efaf8639ea457c023088684a91cf779fa465940e25955d47a2df9782838648350be44899b198a706c6b5763c2a170c8c5f87b2f9a7b6af7cb48efe386c28c7b0b19a808f24e3e2b6b212a3b8b9a19f6c47d484893ed89cfd3f678207630c3844e969c967eba8926461a58826eff42beae5339c620607a704f91f1b056fa06910746c7e002bc617ecc64add1090ff1d1afaac53a40487b83e9453e6728cf352415a930079abb7e5115bc0745290c706420853d080377e921b5723047c22cfa289d2df186b1908a7bf471e5877fe23b30028a34f3fb27e726b99ba827d347c62997314e39a0f4b2b1e9163f53654e056aaab4718609983bb674a47642a81b000ca7422d3e361af12461b8620064547dfb578959b18bd1b61014d20315a659a5ca65f9cb4ee214b0d123113e34310c56bbd99737f0305f6f3b49f688610a777edd4a3a482163e6cb2c64668fc3aa024d789219078b49471be7dc4395346e7f87c5b150c1e7e30b9d2a435e7c3a32f7c4d33622d7b73cdda989aed858fe4c7e9cb163f35679b84b01096a1e2c3897c290caa996ccb3943e22f789d3c5098aa1a6f117347e0725c358670d678c51a0a9d5f66aaa6923a895cc5fe5c9530b069397a0e4482438e713290c62a94771f7168212a7cda8e2139d573a9ab0137443180c213b78a1b5b291a0f1566316857a72a521c2b79c660792acfc0f5a788962a6ae74e87c48a8010dd6436672817a00b49862721702668ff29f1077a87a96cc27038e0a2752a0d196cb17babc25b2996054d61c68c691c93a6520a97392830a8f157940fa903e75f909bc9691b86391ebe3611e04c9e0678c189b7875d373f0b25b9fe0a9b063cdd4446ab9aa6b23e6ba6c324cac29736447529c76c3398218152607aa5488a5e7b243a0920984b06dfbcc410679ac035ff824768168c758689d0b326831f5c10220c10911540c5b7f9a3510d73cc1153a2fc2a84b8a08cfd7f863e6c93e05f05a39da58cfb57dce98cbf1b7ab960bb14a9b86dc611045d1730f3b82e5eba970018bd2cc4a6fecc9a7f3ca3753b12ee64a7349ab922085c91e7efd93a5d7db1850127df85b8f086dfc57f1f62a86d6ee7e45aff3f27bc1dd3761c0e96678a959f30997e96d6a59858528c5e10234398e2da2e50ffcc517f0c083ae8cff7a4bd779d4385e111ed4583fe00d30e651f171d7e8a90eec0db5 +m = 075246aeb644ca0c05b7d6e50083363d4f89291711d8412f0131cb1bdd2c70f2 +ct = 37372a5c425fdb416244d99da96b2222d05ac911398778ebb23b4cb3ea69c7b1e1741dacbc2cf84aa67c7ab730b3ec77b10c1ff0dbdfb4c1658f92857e63698ee61014e5179d063b2b32aac273abb2b65c0b2555a3632dabc039ba1f2458f8304f4321630508b8d1aa92d38929622fc3effb8719ac92e79105349577ef84423fbcf7585e3e58464460fbde575abb699a3167157cae1d996258aff9c13e85877028f597656cecdc132bfd0cde42388f4096eaa3f5367889fd3e739349561042311211f5e0807c0504a6037e426a3f0890b133290a9a73802e4cfe70e07d144234c602bf6065506fc707c931d636364be4dfb424fb745c2630c66ae666d18091ba491b107537d789b5bd434d162a52f7bae987ef3e90b2250cd0626f43a982d9c424053e2ae86ded398317d34f68d10cb51648f93bc8cd89fdef8f9e97d2b4f7eeea0c9bb0bead7037200e1fa7f44faea955167259e098d7e453842f8dd85f962ae1012a98db96794e4861daca0990ce3c7170718e0a7521a70abe0a8e9b347959e1e5a561470303b1479dec7b1108ee99645a8f0a7d13ce1d9217ab204967e735328c3d5b7fa251c06f3d69c4ab577f1bfe2218ae227c9ef76f35109881657335241734f464055a3021a2c16f1e94332a46e0577455cb23a1834d1ce4fd71e3c409677b6a8c6f38edc617f459064854916fdfead79ae753e1a397480a51f03c0ae89049c2124868a4669c3c583abd2c95ccbf453094f1798ac7c21f8b9571648df16989472617baa532fa8ea7aa0c1d98c4a186d038337c1238187f4dc01df5e641ae737b7fa4454e945d0e3b627c7fd3e47d9bfed53ba0e54e76f1811730c769af93494daee160f34c6f42265b8b455b6e8bf6793b84901abe50f552aef198ad43e89b514a3a5bc9f9022a9e51fc2cdce02c1eae19e0d87fa8363cd2cad13a7e408900c9f055d0eaab6dd89c7b0b5beae3179dcf9f8f9184fcc295c70f4131a51fb1d0a77281081906f31730b35d02882ff6cfc9615ad84e61c8efe091cb646dda39ee464536773ede1177355414ee3565156bdfc0b2d292b7ed1ec47c36c8a3 +ss = 95f3b2eacd814dee515307eef1aeddfb5b7f94ffce89811af06dce3256aba9a1 d = 9d405d3ebdaf35fa8722de431b669722acaaea2fd10b814310b17f78b66147d1 -z = 6ceb14f7662be0c42779459f69a145c0e2ce9f0bd9a0cd1bf32ed5694cc9ae32 +z = b46f84f01fefc519e118affc4a7a1560f1f8add6de72615229b997b2cad6393c pk = 1534105e4b3bf53b1e728b61cca6adea603ce85425d8f251b4173f288b2ba4e61a1ff409215046a381211a26b897479a5b1b3623362ae7d22410d9a11f72cad7c107e5659731a6c2e0e95c956386cd2527b29095820b6268dbaf16c0754b583e8288787c186de1f516b204705aa1ac8b80ce70b9100c92093c3a7b69ea8976f5c5dce45b391aa28f0640940166741876baf7b5b7c6878a87438db18ff45c7371016a27e572360c4b2fe4552af9a1a47cb82dc249f2c8bae4197de351a48cbc549e236eb895c487f27ec3e765101a2e68860c61e93022292ec7435df62a1012d78824960216c4ce18e060f1c4af2aba5e9ca9134732149d3a57f72521ec9a97d059515ad9c3add828c75c90f6300e5135cbc646af16866aca30b6bcf60fbd9c0d1a2ac95b999e0749a3f5b9a992e18a8257af35fc9f7e4bce74c87c7496cf2a7a16d966cad9d02260f630d2f1b011aca52f78b6f040759068c0f3f553a4fc0dc7c9a4c8c05ef6c9b026b3be38f0c02049b8c89c88ad01a861f2b1b142a961c62f246a4c19d2cf1849484f884119a823d793a5790420a8f74f97a220ab8b91d475717785c12abb83291b3fb32c7bfe836b7b61c03ec76f36d1c8ca01426c28471676302129116d2a5ea5d415bb13188cd720cb96939f21c7d1fa17a59589817011a48cc65ad90a7353232e8a3db9ac87d425771c7b5bd1968498819dd3d9c471a69254dcb46e36a9ba4a944f543eb9abac7d61ba11bc93007147ed613c72f756bc367280278f0076addf854e837b62c9458c34f138e576a99f8a4baf5b596d327149616dc1827d2ef5c828d4764193b4f39a4fcc027d4c2539c2257fccd8690e64c56fd8897355671d5b829e2656756c5449225132b1c764e91cc686afded843dddb97213c28ed00a6e4e4b66c17074181cd26b15ec1f3c53a18bdd85a6dad68562e3b78180066b4c4c3401aa1f752685ebc8316d6bdb5291e0c39cfe778b8ce55564aa50acae94c4962cd942271ef257bf1993ab04904832a9538e0749c97790f26a09c2c81d95543b5d97667c25da1c7ada9e9780aec099fb096446c03fd1a0b46bb71890031ffecaf8fc027d2dfa2a4ad271dd702f055836f40ca137e5d0ef9 -sk = 26f5bd7db659ea8288f5e6bc550817956a1beb27bb0c38ab6222718d6718a0022bb637b6d96304bfc7b71515398c52bdea95cb78fb43676900eb5c8644572ccc73c2f52164a9ea434d8444c94806e1495ce193a873927b78e77479b0ae91854e21f9234715a413d2452e20c273c1a17487bab18870a17cbd5351830d30bccf3124b1173bd19baec1d53fe0ba781a2453d0ca148da2349474343857a806f39d0b7088a4b4b5af1abeb51433b01a11df04806a921fedb3376485b356c6c8e059b854710bd003bd49e56e411a56a9682c221ac55cec46bc0298c8017163b29c74880441b5a6f49b6ca47b4ca7b26802a06943bb11ea5a1aafcba476334422b9a62e2469e24a64d6bcbba8a5001edc50e1b85b339c18fcf55a4c392ffd854a588967dca1b87d3639937b37bea9599b6418476713fbf45b833364a9acbf974c70203c27306065e0f69b748297d74287d2c7a14b265d902c82f7dc608f6089bc4707842ab599f798d1bb21de317efb9483c91423ef0025a2432526636d6f773ab381cc2a56948488666f724fba6b57862925b00418abd72c2ae0602ce8a8f33638ccc626c763636c00b416b7cf12bca01af7a112605f8d4c0c5d5a5c5dab5dd9b22e6fa6b5e30a0cfd90605da8874372c001b26591a847522521e8dbaaabf57ac6595c03377e64f8238e4a7648409e98752860684c00db97eccacdb16ca5a217231eec7b9a7177147c76fb7421a3d7129d05cf27d361e3b8c29abc3f46e9a578233a30233dd1e5a54ee94857a8796256100d76490e9953416781fe168680906d46b950d3a18b382c18bec8c62223a08c3cce9c406b25b5b93c43a420bbc7c5216994e88c148621294c6a3181ad5499c07f615287fb8cd9d847d0d485aa3585455231cd170e90a78784f3c05c280cbcb48d87da39c6c9ab0b9b5a0394b482b17dedec0870134102c8156d6a838e509942b029c9659e3c930aa4f6764d7670781936c303938dcc128a7010bf6962c72b86d06a497bb852fa690f1b43b9ca216efa170216c664eb82a0619944d79bc2bb698f7f77b54abc4c6f56b7d6ca2a1b036551561f1534105e4b3bf53b1e728b61cca6adea603ce85425d8f251b4173f288b2ba4e61a1ff409215046a381211a26b897479a5b1b3623362ae7d22410d9a11f72cad7c107e5659731a6c2e0e95c956386cd2527b29095820b6268dbaf16c0754b583e8288787c186de1f516b204705aa1ac8b80ce70b9100c92093c3a7b69ea8976f5c5dce45b391aa28f0640940166741876baf7b5b7c6878a87438db18ff45c7371016a27e572360c4b2fe4552af9a1a47cb82dc249f2c8bae4197de351a48cbc549e236eb895c487f27ec3e765101a2e68860c61e93022292ec7435df62a1012d78824960216c4ce18e060f1c4af2aba5e9ca9134732149d3a57f72521ec9a97d059515ad9c3add828c75c90f6300e5135cbc646af16866aca30b6bcf60fbd9c0d1a2ac95b999e0749a3f5b9a992e18a8257af35fc9f7e4bce74c87c7496cf2a7a16d966cad9d02260f630d2f1b011aca52f78b6f040759068c0f3f553a4fc0dc7c9a4c8c05ef6c9b026b3be38f0c02049b8c89c88ad01a861f2b1b142a961c62f246a4c19d2cf1849484f884119a823d793a5790420a8f74f97a220ab8b91d475717785c12abb83291b3fb32c7bfe836b7b61c03ec76f36d1c8ca01426c28471676302129116d2a5ea5d415bb13188cd720cb96939f21c7d1fa17a59589817011a48cc65ad90a7353232e8a3db9ac87d425771c7b5bd1968498819dd3d9c471a69254dcb46e36a9ba4a944f543eb9abac7d61ba11bc93007147ed613c72f756bc367280278f0076addf854e837b62c9458c34f138e576a99f8a4baf5b596d327149616dc1827d2ef5c828d4764193b4f39a4fcc027d4c2539c2257fccd8690e64c56fd8897355671d5b829e2656756c5449225132b1c764e91cc686afded843dddb97213c28ed00a6e4e4b66c17074181cd26b15ec1f3c53a18bdd85a6dad68562e3b78180066b4c4c3401aa1f752685ebc8316d6bdb5291e0c39cfe778b8ce55564aa50acae94c4962cd942271ef257bf1993ab04904832a9538e0749c97790f26a09c2c81d95543b5d97667c25da1c7ada9e9780aec099fb096446c03fd1a0b46bb71890031ffecaf8fc027d2dfa2a4ad271dd702f055836f40ca137e5d0ef96d9e513a7cd137583507ad7256844bcb9775ca82ef5f411331a7c37ce451181f6ceb14f7662be0c42779459f69a145c0e2ce9f0bd9a0cd1bf32ed5694cc9ae32 -m = a7a31e140891ea37d2b6424b59b1f84f89220f32dcb73e037eb912b389d34a48 -ct = 1c34830f729228e179ce907112f20a9d5857d82762cba55c7867bebe2909a582442671ff7cebec14f35040d9ac02dff333e31b32956b4245bf4c8748aaf6f564a14f5360402d82cb5d8398196483a1f33117763376ca3fc2f1f3f7ddc096d1c1f667e10b141682c4ce622607465a23e0db015c82f9db9f6061996b747f75c7295ac961021ca7b8da608957f91c55dc82e8927465317062f8ccacee681e0024446f14444ab176a9fa6ecbb5a1a6dc72eede7d59a539e9a82cfeda54abb851c2defda6d293df2f49b34dbf10e58b43c6e2915fbabf25fdedaa5eedc2dafd89b731e2b5fa1ebb1b8bfbbfb37923dee7451792538c55a9ce92c61c9a2feac7cea865db83c62c03dea28e8091eeab9a1c34772f2d5c8ab82f3e85e77f00012b47ae68b9ceb77bfaecacaa806879b5226a49a57ac0f3389813c9b6d9a62aa6431d1dbba316df9f29fc3a8c3c9a73b74b760e311917fcf7b4617597d83ad093a8f82f1fbd8b8bb8a4adf59c451966d032b011d2bc125285f4d80f9d866179d3297d96555b5713c3049d8d890f1e61aa1073b3c3ddf3ecad1bcaf8b27be98f89c6babded807d03c17a545d8837e8f7d307446db92949dbde0efb1c197e0499f396787f6998f1fd47a0527f693888d286b97d102f01a45eb8ec3468a24fef5ba1af46dd6da1da2a1ff9a3b47580c8ac4797b01bf53fc9d8e35d17946dbf4d19900e20f232bf25ee45d546df018fb6ac858903a8e0228fb1c8db07a86afa0d13c34b4c79728aed3e783f1ef673c32e1c36476aa91fd6b2c1dc5b3655d7fb6853fc1d7b53eb452ff0c0eae6588b4d6b83a68e5c2322cb8bf024e2f0299ab8b4fa038d6fea6053f29b3d9102cff7bd1cc867382c590c2aa4cf2cc4fc52f93fcb893aeb9eb8a0baa17162dd0149a2099461cde981b51f508fadf81c976386b78fc94779d5fde34cd72bc8603abfbcc9abb55f1f6cece3ddb76ba442b30035b107c62ec5200e2d4349ba37d29c6152ee8cf91da65a3a336cd9788e682dae2d3e4c6f09e7567ff30b77a8f0ceaa7cd08f983e41babd9d5f1a371e4e5eb411152a6673a3d46594d8 -ss = 753c6406cf394990867a10d3148c9b6a54d0183315307abe36161a4f981950da +sk = 26f5bd7db659ea8288f5e6bc550817956a1beb27bb0c38ab6222718d6718a0022bb637b6d96304bfc7b71515398c52bdea95cb78fb43676900eb5c8644572ccc73c2f52164a9ea434d8444c94806e1495ce193a873927b78e77479b0ae91854e21f9234715a413d2452e20c273c1a17487bab18870a17cbd5351830d30bccf3124b1173bd19baec1d53fe0ba781a2453d0ca148da2349474343857a806f39d0b7088a4b4b5af1abeb51433b01a11df04806a921fedb3376485b356c6c8e059b854710bd003bd49e56e411a56a9682c221ac55cec46bc0298c8017163b29c74880441b5a6f49b6ca47b4ca7b26802a06943bb11ea5a1aafcba476334422b9a62e2469e24a64d6bcbba8a5001edc50e1b85b339c18fcf55a4c392ffd854a588967dca1b87d3639937b37bea9599b6418476713fbf45b833364a9acbf974c70203c27306065e0f69b748297d74287d2c7a14b265d902c82f7dc608f6089bc4707842ab599f798d1bb21de317efb9483c91423ef0025a2432526636d6f773ab381cc2a56948488666f724fba6b57862925b00418abd72c2ae0602ce8a8f33638ccc626c763636c00b416b7cf12bca01af7a112605f8d4c0c5d5a5c5dab5dd9b22e6fa6b5e30a0cfd90605da8874372c001b26591a847522521e8dbaaabf57ac6595c03377e64f8238e4a7648409e98752860684c00db97eccacdb16ca5a217231eec7b9a7177147c76fb7421a3d7129d05cf27d361e3b8c29abc3f46e9a578233a30233dd1e5a54ee94857a8796256100d76490e9953416781fe168680906d46b950d3a18b382c18bec8c62223a08c3cce9c406b25b5b93c43a420bbc7c5216994e88c148621294c6a3181ad5499c07f615287fb8cd9d847d0d485aa3585455231cd170e90a78784f3c05c280cbcb48d87da39c6c9ab0b9b5a0394b482b17dedec0870134102c8156d6a838e509942b029c9659e3c930aa4f6764d7670781936c303938dcc128a7010bf6962c72b86d06a497bb852fa690f1b43b9ca216efa170216c664eb82a0619944d79bc2bb698f7f77b54abc4c6f56b7d6ca2a1b036551561f1534105e4b3bf53b1e728b61cca6adea603ce85425d8f251b4173f288b2ba4e61a1ff409215046a381211a26b897479a5b1b3623362ae7d22410d9a11f72cad7c107e5659731a6c2e0e95c956386cd2527b29095820b6268dbaf16c0754b583e8288787c186de1f516b204705aa1ac8b80ce70b9100c92093c3a7b69ea8976f5c5dce45b391aa28f0640940166741876baf7b5b7c6878a87438db18ff45c7371016a27e572360c4b2fe4552af9a1a47cb82dc249f2c8bae4197de351a48cbc549e236eb895c487f27ec3e765101a2e68860c61e93022292ec7435df62a1012d78824960216c4ce18e060f1c4af2aba5e9ca9134732149d3a57f72521ec9a97d059515ad9c3add828c75c90f6300e5135cbc646af16866aca30b6bcf60fbd9c0d1a2ac95b999e0749a3f5b9a992e18a8257af35fc9f7e4bce74c87c7496cf2a7a16d966cad9d02260f630d2f1b011aca52f78b6f040759068c0f3f553a4fc0dc7c9a4c8c05ef6c9b026b3be38f0c02049b8c89c88ad01a861f2b1b142a961c62f246a4c19d2cf1849484f884119a823d793a5790420a8f74f97a220ab8b91d475717785c12abb83291b3fb32c7bfe836b7b61c03ec76f36d1c8ca01426c28471676302129116d2a5ea5d415bb13188cd720cb96939f21c7d1fa17a59589817011a48cc65ad90a7353232e8a3db9ac87d425771c7b5bd1968498819dd3d9c471a69254dcb46e36a9ba4a944f543eb9abac7d61ba11bc93007147ed613c72f756bc367280278f0076addf854e837b62c9458c34f138e576a99f8a4baf5b596d327149616dc1827d2ef5c828d4764193b4f39a4fcc027d4c2539c2257fccd8690e64c56fd8897355671d5b829e2656756c5449225132b1c764e91cc686afded843dddb97213c28ed00a6e4e4b66c17074181cd26b15ec1f3c53a18bdd85a6dad68562e3b78180066b4c4c3401aa1f752685ebc8316d6bdb5291e0c39cfe778b8ce55564aa50acae94c4962cd942271ef257bf1993ab04904832a9538e0749c97790f26a09c2c81d95543b5d97667c25da1c7ada9e9780aec099fb096446c03fd1a0b46bb71890031ffecaf8fc027d2dfa2a4ad271dd702f055836f40ca137e5d0ef96d9e513a7cd137583507ad7256844bcb9775ca82ef5f411331a7c37ce451181fb46f84f01fefc519e118affc4a7a1560f1f8add6de72615229b997b2cad6393c +m = de5840c7a3b6585c81cef65c8256be98fde71f70f5f5f17ef8008e64849cb02b +ct = 43921bc3a0ab99dad2a9e2ebab9cbb74ec58faa35a83fa4d3bdb791fc0ee9f95d0fc967f146a80c8493b9ae1935f8dbc02389ca214cc4ffece90354e947ad0129ce7a8ad570278fad25868196a1a82fd33aaa15e54641a0d51f522fae9db7b060b1385e2ea58f4c5d87f05cbe6ee5985409f8340f9c4662f70a890b34286b8987c92b8ee64dd722b5357c02c14924d9f1116a0998812294249bccae3a43cbe24f7d1b2e1cf768494cfb23c527d4a9230b2f90c7f03c2b7a6bc197ca4a7e2f46febebdfadb6cd0491f00c53249f52edaf331c53082fa92e26497a9848ee553af14bb020487de23131d9afcb227bd5db7777ac8bc6105122451cc270460e2e6a803802efd5a0322a9f193c0c60c508243d44efdbe538a233a4b97b150d7093e6e21062bc72e67ec1f32a6147fc6dbe0337998da7ca82451567b87d8f32ba37899dd0b52b0a98fcd38247de449819bc5b79af5b2656c09dcca54e4ffd7b025e0a70f0f02858d8a51b53c4b1169ddfc86f688b11a72618ba3ad5944980824a53f7af00f0104106011f72e208c6924e6fdbc1ead12ac4dfd3aebba60bcc8ee8e22c8b4bce3c9e5d5be043cf8a5c0a0d11af16fece73ef2ebba95dae970f1f6827288dcbd95265023cf37b2f69208bf3e5c00e1d8de2fd71faeb2331adfac316a47bfac8fa32d09ce4672518b2c65b021e99dee58160586702118659b6b70d1418feef7659e7a612a9a4ad9605219f8073cf69c80bc0d7ed80df8d1be7e31654cc2f00efd38a6d80093184653475856311b4371a8bb0017e4fdbdf50de6e5027c6fc34aee2002a49ef214cf8f3489d9906fcac23b9f779bda0261132236933e90e5a6911b88f1704eb32395094c1bcf8bb637fbbb8c2b38584c9df2cd921f19220bafbcf59e4144ae44e89adcb7b65a9e874f7f6e7cda16beca1644146c0dd447a83749b6688b11e653d7c3ece27eb75b29f249a7661e723e91593a32c89677d9f93122e9135179bcf9aed743601c2459dee1ce6fd1084cbf58d812b349614094566fdc6dd02f2a323e558d432bc1714fccc58c2fd7ebb5d51f0038899890922f628b7 +ss = 27aecbe56ec6e140138b8a5ecdf58b805060c7bf007083b4a7d06c3dae128486 d = 9a86490f0615f3edf789cb0654066e9ee339cc59f968281f3b89213f83c692ed -z = faeb2ef44d2f608621e831187ce79b2d2f4a20f1568bbe76b0d3d5af36111714 +z = 1056461570b29e27126962068b2d07eb33db448a2938785e6fb3e02675a6ec67 pk = 4098cfb36505dcb77ea88c2ab18a760aa67c49228b7e5bb524b5c4be081fb3d8b92cbc4b92ccb4a61a1b1c14521ba4a898d46ba44168dc5a47af9484aeb453c4fc56eab73b0cd0407f5124ccf6b21575805e311af65084e2b0100202a1a39a866ed038328b75bcc206b55a90d714a7175c446dc2091b057ca54c111a820e8a75ba0206715a3042dd0ba36d2cbbd72326532b58b02636cae1949175bc51dc2f46ec5736ea91023657cc65aaa7c22158d22d76a304f796cda7d377c0e79a4aa683f341b7d0321b623782cb189ee6eac197860e05a224fcf12f7cfa8208054a56039485b11c1d888f51c479507b8a85a57b51f5b824f3a9e41274cd188d2099765a004bcc64a86844993fa69c0f63190c347e5f015c6bc290b39cabedcc3be8515905a37fd746616faa036666a08d537aba7a645a501f1cf0c0c8d76d07a67f47514c4c49c854d0b8d3fb02fa34abffd46620e886e00700c7c34a2a9199c78c23f58278fd71c0369b3d0288b711ec5775c70334e984c686cd8e3a141f175693785d563b5459f59ee3bb98b5cb74f7436dd38cb31eb51329c8125e8079557a63a53a8a31f245db209cb7375272d9689cd94edd20be8a380f27ac993a9287111cab084c196f4a921b6270e43366ff94af4d4930097cc847769cf3b8016e024733233e9ae67f8f1aac07b450d2299eb1c7ca84c28990377ef1150ff12b14f99b9a1bb705d719321e384399d675b382beef53304074c518382d341578e96b8e123312112c2f4dba5dc5b7278ab251bb3c530bf104783819ea985363fa8b44201d4f1c5c46497ec64380fffc553239cab6f543453485b6044b7b5049f85323d0e8614a8b5c28b52633e72c64db6d0438aceae55b8c239c6b06bf660a146c1a0b132c416d66b1ca4c9e37ba41ce2a84427c4fc4e8439ee6613ee0520dab93b8c15e0a301f9aeccedd16aa71a9570f31c3cffa013b27a1ec259e738bbd69164f5cc002cba96c68a22b35597f41fba0cdcb81729ac1c4ec49507683fa304d00dd398515ad3e92c33ed440e3013daf434712704921123fbf628531d9ba23c4a369c58aab1557eb865a17ecb56e0aea501bef8e12d3025185ba4cf8edd1b0f297471d58c26516 -sk = 0950ad4fc96449f3512042277b505267b339a7c58910799cc125ad58785d88f60f73755c0e26582ff9becf91c8a37307c815a5a5d42ea1d10680b4322b095b1789a7631288ac37b6a8d8168d7852f7a7c4a6c178eb43840f44c9a84a8cad91bcbb25207d2546eb341963654411974fbfe2249501115d861d39b046e903bafd4c6791d75249b32b24705892e67a3182268b7c197a025fe5f0689e96a2e11b822565365718721ce6b39061cb9318069fdbb7a1eb2f7fdc188168c124e1a86ee9530482885443a47179bcbad04dca922714a96314811c910439dba531c4787f089a3ca8c7b97db1482171b9e7c72f0535476104998334a99f0bbf168683b0bc49f2d0aca698b92e285592acc7f785cc1dd71a699c4f5da0b986d48dc30c33c443638c344c76387c07bb545a24504fb119ae70276112cd47a3a15cf3ab78b760807c92e2ea23907948e1e0bc11e6597bdb5fe60236fdf4744be21bbbc18dc057088dcccc60ec17081232cf700b04957fe4f052c6dbc053da79b2d9478d2711b1fb79345788089c8c511c50890a24f4767048cc3aeb03911cd19579e26eb64380f95472c9408a85551f0ceb05efc70c105081c1901cf2e9c689f742bf2b8edd0b8403a825d1ba316a9a7b8438c739d64a55e93821b41895c07314c392016476ab38c806926879a69e2271a7b912a5e785120d035cdc507025ac7e4811c5ba6b517cc194a8dc11311832c38934409233b4917844c821dcf61a8f96538ea6964b88a0b5dbb117db4bbdac9db2b6b15723cffe26a63b663295ac3cdd44cb78488a0f5655bb0bccb7c57889f76fb23442eda09248430fd212542df8aa28979179c58fe68521b9149592b9a81b897918682addc32db685acfee337ba52c0552a6445d076d45102ad828fbe7849195cc44824168572263926cfa76031667bc2851314536114d2eb5e68901f3f20ca5de889e24c5440e969e99071d3f135582c7ece997b2ff84e0a934036f03610c62931c7773648583dc9c83e4432c6b66f1346475df3b2a9814327e1504bc69506244d5057004fd839ed07b88d94137598ad222436cc72494098cfb36505dcb77ea88c2ab18a760aa67c49228b7e5bb524b5c4be081fb3d8b92cbc4b92ccb4a61a1b1c14521ba4a898d46ba44168dc5a47af9484aeb453c4fc56eab73b0cd0407f5124ccf6b21575805e311af65084e2b0100202a1a39a866ed038328b75bcc206b55a90d714a7175c446dc2091b057ca54c111a820e8a75ba0206715a3042dd0ba36d2cbbd72326532b58b02636cae1949175bc51dc2f46ec5736ea91023657cc65aaa7c22158d22d76a304f796cda7d377c0e79a4aa683f341b7d0321b623782cb189ee6eac197860e05a224fcf12f7cfa8208054a56039485b11c1d888f51c479507b8a85a57b51f5b824f3a9e41274cd188d2099765a004bcc64a86844993fa69c0f63190c347e5f015c6bc290b39cabedcc3be8515905a37fd746616faa036666a08d537aba7a645a501f1cf0c0c8d76d07a67f47514c4c49c854d0b8d3fb02fa34abffd46620e886e00700c7c34a2a9199c78c23f58278fd71c0369b3d0288b711ec5775c70334e984c686cd8e3a141f175693785d563b5459f59ee3bb98b5cb74f7436dd38cb31eb51329c8125e8079557a63a53a8a31f245db209cb7375272d9689cd94edd20be8a380f27ac993a9287111cab084c196f4a921b6270e43366ff94af4d4930097cc847769cf3b8016e024733233e9ae67f8f1aac07b450d2299eb1c7ca84c28990377ef1150ff12b14f99b9a1bb705d719321e384399d675b382beef53304074c518382d341578e96b8e123312112c2f4dba5dc5b7278ab251bb3c530bf104783819ea985363fa8b44201d4f1c5c46497ec64380fffc553239cab6f543453485b6044b7b5049f85323d0e8614a8b5c28b52633e72c64db6d0438aceae55b8c239c6b06bf660a146c1a0b132c416d66b1ca4c9e37ba41ce2a84427c4fc4e8439ee6613ee0520dab93b8c15e0a301f9aeccedd16aa71a9570f31c3cffa013b27a1ec259e738bbd69164f5cc002cba96c68a22b35597f41fba0cdcb81729ac1c4ec49507683fa304d00dd398515ad3e92c33ed440e3013daf434712704921123fbf628531d9ba23c4a369c58aab1557eb865a17ecb56e0aea501bef8e12d3025185ba4cf8edd1b0f297471d58c26516b252e5abf757e116a92518eb72df9f9ce66b07edf4d31be225585a6a827a35b8faeb2ef44d2f608621e831187ce79b2d2f4a20f1568bbe76b0d3d5af36111714 -m = 70eb3f791faa91f1f982fa477dbcddeb2c55691c07f93b04cd31b37544c94b42 -ct = a41695018faf27e4f155c84c5a5f6ae40610566e1d5416db3035a2e63c7f9dff3a385ae5d03045e68e60090a99b17dcf4319b53bf75299c9163494ca01d5cebcaae857013f6b69da76a8f1cc03b878e64d3932092cdc4bf074c804d556432620ce215cfccdc0c9afaca42691f71212b55b86fd636c9b1819c53fb8f677d21529ca701a13136e7ceffa23c2542fbf2987c619e9569da22bc0053fe65c32fe6f1a615a09d39a978ff276f9ac5e7eaa78b50edf981ab5425fcc82509fd0c4b98ebc8b782145f5d654aa9fca80ae8c14d280413136f296ed90c73924920596fed25e448af4ff8af21f3a7bab6e95a098c5e5b3f00cdee39f8ef77bef64ae9a6cdb025a1d3e3999d0e96acbb12ee823ba14db2a9c5681d5b78fe836d95254c36851ff667927ad4a47d4f1fa8dfece3503ad7f09cfbe57d53d22a4141a3326444d46956fd1205a526a64a6a462b2cf33ebe6fe51edabb470e27980d369b6505efa112766b12f6ac43e9def0856309567fb40be7fa3f45452df47e303fae957f863fe3d59cf8ab6f9dd4df8b1a1ffdce7bebe2710ef780f947b7764aa0a6fd0223638f3b16ff68cd53cade2123a082dcaf8da99aa7ca3d8857b0e8e42fc7da8da1806aea4dde8048061da6d077560529e835915bd2fd3772c06ed5391803934aea5421b71ddfa989bf0eaac6bfa2689c192c32e906f35e47c0324b795a85b9f0d8e797ce5c396d81927c61ea304009dc8127351ddf4cebd95697c9ae0a0a5b82d019978c5400f9af1367077214c71f0c7ea68c837c016b95f9a5116098315fde6a607ad781984bc4cb504531e12f971c34adc5e591aa8ab6cb7caa70123f12e8bf0d203101d53cf4adb1149dd50db0e3afa814c6d9d0abdf1390258a39d5092c5c98a6e1b3d027f42fda40980de5a900932236284165e4d63caf308819bb1c15363bb28aa72f6eb68bce8e22c717aa3507d757106ed04cafb83f027c993b0b67601cf79ad6ee1386424eb14faff2a707c3023aaa24d654564bedc9c280ee8c10341a3db893157d6d337e6012881d585440992e093723e152ab6b9498e421cc2f9cc07bf -ss = 02bf5aee55676047e4a452cd71c99389f4dc8d519eed5e6b4ad25709eb35727e +sk = 0950ad4fc96449f3512042277b505267b339a7c58910799cc125ad58785d88f60f73755c0e26582ff9becf91c8a37307c815a5a5d42ea1d10680b4322b095b1789a7631288ac37b6a8d8168d7852f7a7c4a6c178eb43840f44c9a84a8cad91bcbb25207d2546eb341963654411974fbfe2249501115d861d39b046e903bafd4c6791d75249b32b24705892e67a3182268b7c197a025fe5f0689e96a2e11b822565365718721ce6b39061cb9318069fdbb7a1eb2f7fdc188168c124e1a86ee9530482885443a47179bcbad04dca922714a96314811c910439dba531c4787f089a3ca8c7b97db1482171b9e7c72f0535476104998334a99f0bbf168683b0bc49f2d0aca698b92e285592acc7f785cc1dd71a699c4f5da0b986d48dc30c33c443638c344c76387c07bb545a24504fb119ae70276112cd47a3a15cf3ab78b760807c92e2ea23907948e1e0bc11e6597bdb5fe60236fdf4744be21bbbc18dc057088dcccc60ec17081232cf700b04957fe4f052c6dbc053da79b2d9478d2711b1fb79345788089c8c511c50890a24f4767048cc3aeb03911cd19579e26eb64380f95472c9408a85551f0ceb05efc70c105081c1901cf2e9c689f742bf2b8edd0b8403a825d1ba316a9a7b8438c739d64a55e93821b41895c07314c392016476ab38c806926879a69e2271a7b912a5e785120d035cdc507025ac7e4811c5ba6b517cc194a8dc11311832c38934409233b4917844c821dcf61a8f96538ea6964b88a0b5dbb117db4bbdac9db2b6b15723cffe26a63b663295ac3cdd44cb78488a0f5655bb0bccb7c57889f76fb23442eda09248430fd212542df8aa28979179c58fe68521b9149592b9a81b897918682addc32db685acfee337ba52c0552a6445d076d45102ad828fbe7849195cc44824168572263926cfa76031667bc2851314536114d2eb5e68901f3f20ca5de889e24c5440e969e99071d3f135582c7ece997b2ff84e0a934036f03610c62931c7773648583dc9c83e4432c6b66f1346475df3b2a9814327e1504bc69506244d5057004fd839ed07b88d94137598ad222436cc72494098cfb36505dcb77ea88c2ab18a760aa67c49228b7e5bb524b5c4be081fb3d8b92cbc4b92ccb4a61a1b1c14521ba4a898d46ba44168dc5a47af9484aeb453c4fc56eab73b0cd0407f5124ccf6b21575805e311af65084e2b0100202a1a39a866ed038328b75bcc206b55a90d714a7175c446dc2091b057ca54c111a820e8a75ba0206715a3042dd0ba36d2cbbd72326532b58b02636cae1949175bc51dc2f46ec5736ea91023657cc65aaa7c22158d22d76a304f796cda7d377c0e79a4aa683f341b7d0321b623782cb189ee6eac197860e05a224fcf12f7cfa8208054a56039485b11c1d888f51c479507b8a85a57b51f5b824f3a9e41274cd188d2099765a004bcc64a86844993fa69c0f63190c347e5f015c6bc290b39cabedcc3be8515905a37fd746616faa036666a08d537aba7a645a501f1cf0c0c8d76d07a67f47514c4c49c854d0b8d3fb02fa34abffd46620e886e00700c7c34a2a9199c78c23f58278fd71c0369b3d0288b711ec5775c70334e984c686cd8e3a141f175693785d563b5459f59ee3bb98b5cb74f7436dd38cb31eb51329c8125e8079557a63a53a8a31f245db209cb7375272d9689cd94edd20be8a380f27ac993a9287111cab084c196f4a921b6270e43366ff94af4d4930097cc847769cf3b8016e024733233e9ae67f8f1aac07b450d2299eb1c7ca84c28990377ef1150ff12b14f99b9a1bb705d719321e384399d675b382beef53304074c518382d341578e96b8e123312112c2f4dba5dc5b7278ab251bb3c530bf104783819ea985363fa8b44201d4f1c5c46497ec64380fffc553239cab6f543453485b6044b7b5049f85323d0e8614a8b5c28b52633e72c64db6d0438aceae55b8c239c6b06bf660a146c1a0b132c416d66b1ca4c9e37ba41ce2a84427c4fc4e8439ee6613ee0520dab93b8c15e0a301f9aeccedd16aa71a9570f31c3cffa013b27a1ec259e738bbd69164f5cc002cba96c68a22b35597f41fba0cdcb81729ac1c4ec49507683fa304d00dd398515ad3e92c33ed440e3013daf434712704921123fbf628531d9ba23c4a369c58aab1557eb865a17ecb56e0aea501bef8e12d3025185ba4cf8edd1b0f297471d58c26516b252e5abf757e116a92518eb72df9f9ce66b07edf4d31be225585a6a827a35b81056461570b29e27126962068b2d07eb33db448a2938785e6fb3e02675a6ec67 +m = d45fb8527103ed4a9a88e77edd89261b4e0d74b9b3a3f81016f534edb12f3d36 +ct = 082bbfc3fa1f22bedb889e689bfaaa3e61211f9299ac70994e94377d1e2ce2f576ae55371905602290ae68d48bfe96997a207c02f07051d9b295fce58d0298b5464fb81e5c47f54991548bc4fdbfed02beaf50c3fee54751a10a8fa2b645e6e423cb07caf5ca51effb6d5bfbe46547001cfe0b678f5b752140728400e9868fe37a09d2a59855302db44464509cb2e3ad2e1dc14dbafd542f83784484d9559455cbdd10419d125b675326afea0a4fb0e5a40eafe147f1df41f72c228d6b32c6a10c00e92acf2c9b6482fb97e2be52a9f028fae092bc4344ca2be6084c603559043cbb171fc9a6e0e1265e5425dadc0de9c6d624158ace3bd37650f4885b1617ad12d8b321cdffd6c7243a48cfcc62f618403d96f76284a5d2d8d4068e29a49bf3744482c3676f08f230d20e639bf5c3874b2e3c4d49c633c75cb5a46e1a7adc63c0d9a0383939e89e096ded35f29c76da0189801fa2b11d09eef98d57ec134c5ce73eb4ce964f8e2a2b41faa8aa95f0722f7f9d8a4fa7053153b0edb00aaefc66efe4605cde55d6a0e2859b9ca92bb5ef43bcf0b62e33e97523b1cfff171c2f420a42a61fa742b3dfbc000e8919b7ac108493c9ebbfc67eea9ef0fcc594f25896f8acb54dc1856f7b0a4ac8bb4872a2712eb1102d9e6692bf7be7d479bf8f1bd86e6622f678646ddf58d699b6b96feb7b4c7b720b94df7c70f9e309402e59a2ba5acc5e496f04469583d791a8c4825a0d4085f63b419835b98185a1aebfba19329fe415b171f73aa453a8a928e497cc85af4923d49e6335811112534399d0df121d4667a9dbcde4a327617d280f50aad79b1d2638f452f944c3c15c9823b053cfe068ff999ea8e21f27cfa0eab7371faa098fa74c984b0bdd3ef09fb0d4ea990cab3fd5bed436f60888c0d5b614057d71e30895a54e628eb56713659f39489acafd36f55f122186b6230afb56a27d73fc1a55ef82dd3a815908e57c584e88ed99ab743f770baf9d7fbb999ba5ebc100500bf4a64380ffaff875bf931b37f6b50d9c4844300a8fc50a0326bb227d05eca403beb590c0a8b953308788e24cd2558e +ss = 3a98a2f43165955d555829970c590d26831affd6d214cd6feda8db65efe518f3 d = 6dfd9b575872560c7bdc2732c4a28dac4db04e535eb8e402c3dffd145c09ce47 -z = a2985c1c4d203778597947d710dec806e36b0cd949fe460ef141213bfc525e5b +z = 2dc85fef74a61da258edff86f377ff16f321689e7ba5052364d2448a333c7961 pk = 68517fb17496bc71146b716e9c289410ca7ac5fc5f663abb1b7672f8115917c610dada39ae344dfe805568a0141b6103a9d07bd5f7a600a4a11ba8bdaf98803dc8bb6dab82249c326043258a62211ebb3568d10b46b08864b637e94a38b132199001a5f34c5e8dfba0f853980f071d8125c12ca665e72673102c05d50b28f71696f90c274e74cf57cbc86be00177930fa0a1164a245d57b4b2fe6c4e0f740d87b8695da43a98e79b3b102efdb35253812336c1058e727e14c08444f24b1415312185b2afb6ccd9b5920781ac0b5a7a483125a1a2300974c429e7957de3a796a48996f1579982adeb538dbfb8867a855059622fa7394fcaccc507013c910c79558b1bd4b5bc696052005c8c413253e6617ee827bc31bc973bb0bca2d6ae0b17239c1210b4866f5802086460589c64963a83a3ef18b5277272030079b3c2015cc1544985c687a438e94145838a14648c5ef5bb46a0988f42e124397bcfa42a2dff898efb586b2c6aa86b75b0eba10b2aba678687822ed5ac8dbccd49966e2f1991e09260f547a4b0d02a6d9b31ed02bee1764f7a5085ebf51fd5862550e0a19d05a78a80276ca0414ffc07b109afbaa9ba78674b92c5b6df20a153051a3c2378b7d05882ea15ac2183a62b8efdc15a9063b041bc1ba601bd9c16c6156c6e4ad82c6be595152174d1527a6555b42086be9d05945a289ee90c91e525b8a69324aff21306f5375d0934b49677b1f288d1dac1d1918adfe3abf0e738c81b0087e22c1b23aed4d742c283ca5530a0960122cb2a79c0a2966c5780034297fb4c1569d2b73127bee4e53016b04188599bfc468df3b091cc0a62a0832137127eaadc7bb0176baa45788e994cb8983c7b08547d340092594cd0f05d3baaae475092c3499e73d16584daa3e3f31df226c30aa49e59313e5dc98a6eb16f40875fddeb735ea6cafc657db8692d28c35c69022ad1e53418c461dcf46d5a40046193ca8277b28ef606a9e152946b04591ccbb1b7271940105436644e275d6f4503b5a32fc9907bf5c98d7f90623b822feb0c033a1b90d87422453a0460087b81098c163c295079896401b7b384ec61a83f9056f3665e523a0c28d48e778b0314c1ec2a83ee9805d0 -sk = a2753e3fa25fd7824843d5a621205f777c992c7bc7e49a740ca64571804a0910768ea40a6b3780ae95a6c3a0236f3a3f729c232a9b275351a3bca02f09e6828601a6e8b2900017b32da12267a856a8f3147c954574c954daac9c7f1bb90e66c5df96a6213b98f6f470f3095d6b37a3482ba7ce984f4a4789901b63c35a573980216d7098424500359b6fbf953b6e0a662ae160d056cd31c26a699a05b28106fb272119583bfee78e86d7bcc430b28f071236903e39e3316341046073b8d27b1370601df2d901347682527c7cdf4875fdd6c0d3330f51334fcc8946f2363bf9c0b55798a81e4c9e95db7550a7535b1c909a5a8c353b67efbc3892821262671abca02797a5948e53cc32ba32f2c5a8823c84b903c9e7d50669ca6e499c888b64be5b59a758711d49022f4604a11e590fa713135bd521b594331d2783a4d958a8f7b42893a16ea12f2173553e496a3c4089137947a0e55bc20c795ba12d81032118db3bb1363eaa92c24860c72f424836043aa6085c81eccfef70a85e981e017045a1d194f1b76128d1953e92bc1b09a708a51227484928505a4e467c3cd508b9d52591c8659f27bbef053f8ee8a0fca26abfc4a515470545069c1bb8230c58b33f5c591f27ce6dd174ef1621dba035e4c07eaa97a08b92c6a3b52d3b07a6cd3a58518989e9a77ca7125dcbfc7936f506e7d65a9df7c761cbbd67c35dbb89a04053b97eb0b8ac37b22cab34bfac91d7c83850b834beb5c034fc1145b93c2339275dc47bbd828df71b41c32666350ac4c4e3087fd64bcca47f3d0638bd26cc2309578f7c621b56ad0ad912d84054826a02540597e73bc6f015434a55c9ff8c446c23a35820ae4cd220dd3aa454f9c9c153ab640accca49c4e8fc7d946b900ed68bfb33908374382de59d02e4abb581a688f0137e51118253185ea19784a683bfd6845578a348d7bfa2e5a35cdba7bac582926b57e8831c90b3c6b8e6cc3af84556d34e5779bb97b0b2dfc316a54bc57c112f49e9ad3ab98b53e31256996780323656cbcb60522f9edb4593676d9d67c2cd729626147e5c37aa38903333c82c17f97b68517fb17496bc71146b716e9c289410ca7ac5fc5f663abb1b7672f8115917c610dada39ae344dfe805568a0141b6103a9d07bd5f7a600a4a11ba8bdaf98803dc8bb6dab82249c326043258a62211ebb3568d10b46b08864b637e94a38b132199001a5f34c5e8dfba0f853980f071d8125c12ca665e72673102c05d50b28f71696f90c274e74cf57cbc86be00177930fa0a1164a245d57b4b2fe6c4e0f740d87b8695da43a98e79b3b102efdb35253812336c1058e727e14c08444f24b1415312185b2afb6ccd9b5920781ac0b5a7a483125a1a2300974c429e7957de3a796a48996f1579982adeb538dbfb8867a855059622fa7394fcaccc507013c910c79558b1bd4b5bc696052005c8c413253e6617ee827bc31bc973bb0bca2d6ae0b17239c1210b4866f5802086460589c64963a83a3ef18b5277272030079b3c2015cc1544985c687a438e94145838a14648c5ef5bb46a0988f42e124397bcfa42a2dff898efb586b2c6aa86b75b0eba10b2aba678687822ed5ac8dbccd49966e2f1991e09260f547a4b0d02a6d9b31ed02bee1764f7a5085ebf51fd5862550e0a19d05a78a80276ca0414ffc07b109afbaa9ba78674b92c5b6df20a153051a3c2378b7d05882ea15ac2183a62b8efdc15a9063b041bc1ba601bd9c16c6156c6e4ad82c6be595152174d1527a6555b42086be9d05945a289ee90c91e525b8a69324aff21306f5375d0934b49677b1f288d1dac1d1918adfe3abf0e738c81b0087e22c1b23aed4d742c283ca5530a0960122cb2a79c0a2966c5780034297fb4c1569d2b73127bee4e53016b04188599bfc468df3b091cc0a62a0832137127eaadc7bb0176baa45788e994cb8983c7b08547d340092594cd0f05d3baaae475092c3499e73d16584daa3e3f31df226c30aa49e59313e5dc98a6eb16f40875fddeb735ea6cafc657db8692d28c35c69022ad1e53418c461dcf46d5a40046193ca8277b28ef606a9e152946b04591ccbb1b7271940105436644e275d6f4503b5a32fc9907bf5c98d7f90623b822feb0c033a1b90d87422453a0460087b81098c163c295079896401b7b384ec61a83f9056f3665e523a0c28d48e778b0314c1ec2a83ee9805d018c081231277f424c5f3f1f6b4db91958611fa28bcf09ccb2573da64547e1958a2985c1c4d203778597947d710dec806e36b0cd949fe460ef141213bfc525e5b -m = 30f4095015ba88b6d969672ca3f438c395dacf7d476ea7a9e805ce932d270a13 -ct = 6e04b5d99297552d303aeb564c0415ec572201ee8e36696499c615b13d53d6f018434ee359110b72b3b81bc0464f33b868237e64a40a5d232b81d027164830d47304aa2068054184842e545d56b084d2b02e2d4c8648b5a68a1506ace942a1d5599dbed2197c54624e58e3a344366e5c0c395e560dc57295cda01c37117aae2f1a28005c8835108b9775942159201fce6bd79a0347684394a1be5cb5fa2edcfb9685145c80136c94db06559828189e6d19e61e609599fad65ebcf244bac6912ac0b92e3f9f4b257e24467e784f765f203448c2fb6cfccf3e81b88caced280049592862c9eb617991ea4fb325ca514efc052a10fa0d9576d4cb030d59a4aeeae652a41cc579bbe9554bdc408e7a1ae3f945fd39b617a4dc2d4f5937c70329f90c0d954757f4228d472d70d9aaee6d60a0361a9b0fa520ca7752dd44a39ca914afc421d90885045b2c4c024e79b497207ca51a9722f48410aa040f25654b160372e90bc30d88915ea181452d1575b5d8898d71a7750e67a7f475889a1662316f02bc414109d9ecdc0b76b08981d4475c3f19eaf6785b7e90912b4fa60f993d518f4eb46e965f5fdba6ab958a96d14ad5ddf69c68c085650bdb94d58519c6e8a57dee4521b1cd3a604d4cf25ada23feb073dc526f0680bda7f54586d5990e6f39812192f00b1da344001a036269bce4d5fb7ba65c2fecedc12187ec7a391b1b5b91107e3d0591c4edd33083f7a2c2137e64d3d88ed5db3a2101f9ccbb6570564085ea8266a7ad0d967e281802d82266e9b39250f985619af0f24a6986ef0c07272d7bae7939f4cd3f2e017a401c0293b9b3e996e0df69abb1e9def2b1891d295918a8b82d04e54645697d68ab19e4ae01d063c82f3a8f005586434dd0fdf013a35e603e30d1f2979409227599ab244bc849902cda10292e4bab2ff85457f02ffacc4d88cf28f5517bd173ef0cd09eb74413024fe2a7cf49fb5f8edea3b552739a8661213d1b0a7ae5b1239c1c94694e9d716a1ed52a28474891115a4837c79298d5b94cc521c0057607830e460535831f10ffaafc362d01f2bb10db5de490a90463 -ss = bf20a2d204a1823b132381ef2c8fd4ed1cbaff50098e7b3eadad33785c9e98ad +sk = a2753e3fa25fd7824843d5a621205f777c992c7bc7e49a740ca64571804a0910768ea40a6b3780ae95a6c3a0236f3a3f729c232a9b275351a3bca02f09e6828601a6e8b2900017b32da12267a856a8f3147c954574c954daac9c7f1bb90e66c5df96a6213b98f6f470f3095d6b37a3482ba7ce984f4a4789901b63c35a573980216d7098424500359b6fbf953b6e0a662ae160d056cd31c26a699a05b28106fb272119583bfee78e86d7bcc430b28f071236903e39e3316341046073b8d27b1370601df2d901347682527c7cdf4875fdd6c0d3330f51334fcc8946f2363bf9c0b55798a81e4c9e95db7550a7535b1c909a5a8c353b67efbc3892821262671abca02797a5948e53cc32ba32f2c5a8823c84b903c9e7d50669ca6e499c888b64be5b59a758711d49022f4604a11e590fa713135bd521b594331d2783a4d958a8f7b42893a16ea12f2173553e496a3c4089137947a0e55bc20c795ba12d81032118db3bb1363eaa92c24860c72f424836043aa6085c81eccfef70a85e981e017045a1d194f1b76128d1953e92bc1b09a708a51227484928505a4e467c3cd508b9d52591c8659f27bbef053f8ee8a0fca26abfc4a515470545069c1bb8230c58b33f5c591f27ce6dd174ef1621dba035e4c07eaa97a08b92c6a3b52d3b07a6cd3a58518989e9a77ca7125dcbfc7936f506e7d65a9df7c761cbbd67c35dbb89a04053b97eb0b8ac37b22cab34bfac91d7c83850b834beb5c034fc1145b93c2339275dc47bbd828df71b41c32666350ac4c4e3087fd64bcca47f3d0638bd26cc2309578f7c621b56ad0ad912d84054826a02540597e73bc6f015434a55c9ff8c446c23a35820ae4cd220dd3aa454f9c9c153ab640accca49c4e8fc7d946b900ed68bfb33908374382de59d02e4abb581a688f0137e51118253185ea19784a683bfd6845578a348d7bfa2e5a35cdba7bac582926b57e8831c90b3c6b8e6cc3af84556d34e5779bb97b0b2dfc316a54bc57c112f49e9ad3ab98b53e31256996780323656cbcb60522f9edb4593676d9d67c2cd729626147e5c37aa38903333c82c17f97b68517fb17496bc71146b716e9c289410ca7ac5fc5f663abb1b7672f8115917c610dada39ae344dfe805568a0141b6103a9d07bd5f7a600a4a11ba8bdaf98803dc8bb6dab82249c326043258a62211ebb3568d10b46b08864b637e94a38b132199001a5f34c5e8dfba0f853980f071d8125c12ca665e72673102c05d50b28f71696f90c274e74cf57cbc86be00177930fa0a1164a245d57b4b2fe6c4e0f740d87b8695da43a98e79b3b102efdb35253812336c1058e727e14c08444f24b1415312185b2afb6ccd9b5920781ac0b5a7a483125a1a2300974c429e7957de3a796a48996f1579982adeb538dbfb8867a855059622fa7394fcaccc507013c910c79558b1bd4b5bc696052005c8c413253e6617ee827bc31bc973bb0bca2d6ae0b17239c1210b4866f5802086460589c64963a83a3ef18b5277272030079b3c2015cc1544985c687a438e94145838a14648c5ef5bb46a0988f42e124397bcfa42a2dff898efb586b2c6aa86b75b0eba10b2aba678687822ed5ac8dbccd49966e2f1991e09260f547a4b0d02a6d9b31ed02bee1764f7a5085ebf51fd5862550e0a19d05a78a80276ca0414ffc07b109afbaa9ba78674b92c5b6df20a153051a3c2378b7d05882ea15ac2183a62b8efdc15a9063b041bc1ba601bd9c16c6156c6e4ad82c6be595152174d1527a6555b42086be9d05945a289ee90c91e525b8a69324aff21306f5375d0934b49677b1f288d1dac1d1918adfe3abf0e738c81b0087e22c1b23aed4d742c283ca5530a0960122cb2a79c0a2966c5780034297fb4c1569d2b73127bee4e53016b04188599bfc468df3b091cc0a62a0832137127eaadc7bb0176baa45788e994cb8983c7b08547d340092594cd0f05d3baaae475092c3499e73d16584daa3e3f31df226c30aa49e59313e5dc98a6eb16f40875fddeb735ea6cafc657db8692d28c35c69022ad1e53418c461dcf46d5a40046193ca8277b28ef606a9e152946b04591ccbb1b7271940105436644e275d6f4503b5a32fc9907bf5c98d7f90623b822feb0c033a1b90d87422453a0460087b81098c163c295079896401b7b384ec61a83f9056f3665e523a0c28d48e778b0314c1ec2a83ee9805d018c081231277f424c5f3f1f6b4db91958611fa28bcf09ccb2573da64547e19582dc85fef74a61da258edff86f377ff16f321689e7ba5052364d2448a333c7961 +m = 147c065d7cf409a115a8df448134e1081e296f120729ca37b4185b73e2685931 +ct = 7abbffb67d8db5c2aee78858d21e0c10ccda0b7a27f0abdabe8ba2cde1abe1843d3d72866c03cf4df888b1e35004328c99f0cbcaed61ae617e9b7d342f660304ecdb1ea8950ee94c8d46ce37eb1fe8c67c0ebd5ae8362ad112dfdb8afe03fd16c6a16b47845229f295dbf7a15260541e6b465b6161b65ca7c9b694f45e92c52510c263e60a37bc592f6074657df1ac236745963b4208f0838824a871dc9b2dc2497bf6e9d40498cb5a478c0e83512154a413bbcf4490e918eecd8eac889fc7df444a78648722e27c38d2fb51de682b4006bea833242966e09be61a1822413fa59d2f6e8ba5faa844c83a250c9d2054d8b071081386d355cfe11204f742914ce2f93eba110358340b8acd4fa681bc38d1143aa9a931ced0067fdeac3181678bbfcbaa81984a07983996ed0ab978eea18053055ba7f3861768ba3919b69a510c60da93d6d2fddb708967dafbafdb13bfc124700020a3302fa74fc9fbbf2d636d31388e507e068c343edcd261fa2b5848532aa86f0e76e836eabcac4b0d66f073fe3d84aa7cb30eb79a11f14aee6766214bad68ba78cc9f4e4a82a91f4be98fe7d7dd2a007e64becf0aae395b3eb9848ec338c236d5db3f0006c719745b74435b638b08756af0d4354bf31ddf34087147bf2e525dc104dfbcdf0f9cf73936417e3d838ef3c4cab72c40ce5d90f17ae6b453f08ef181504cd50a35d341285fcc415edf1690a1c73976bf7c19ee1c4fb130568cb137a1f0445d6ff0039f5c1efeb36731cfc5978eb3396a6cb9c7bd682babf656508603ca559feb613eff392b0ebf20db7def8b0da622a332881b8867ebeef68f15cbb1046b57d3f0937d80afac66ae77df05bbf4b89d98b5d72d1d7ff2b7ad71a2255215ca9a182fc117182bcd2beb1b7c77a88b3f31d178d36cc1ed6c8ff436d5b9f2fc6732ddfeda6bc44d204a47ef868c56f313ceb90f0dfc69ed7141c9820c0adba31b5593d134dbe0a9ca222b1587e7f397589a21f017628af5cd095bf90b354e46cc334ad2155aa01858473c8fd05a67fa9444b63dba7f2a97a7a06afcd8bf3b14a8f542c4654ef31089c60a +ss = 2ed0f295a49bffac65ba89539a35949a01d860030d67e9836c0856fe92e2cd53 d = 6fca9f4e384d8418075cc064c70730801bdb8249899d456a77130d5beeb3662c -z = ce7683f8a03d3cf04e46970ff7d6a12494ae12558346dfc8fd9370bf944a0102 +z = f4626afbae65ea913cdb263c9615a5f66061ccc74b1ac83b5fbab8fa1eb6799b pk = b130cd26fc457b8ccdc1a7ad81ac5db25945132a6c152b12a29c8149419543a6bab0b8af5dd272c5a7b19b82199e943c5a12280a22453ff36c7b698f40d092e651cbee12cfd3843c07da95fb5168a4f9ae4553b149ec3f0960199f6375499372247cc59f4719916b168f02574e1cbef360cc18c3ba41a3258df742d9f6b32c076f695a7da1479790d9a1809001747002d8f488cd54be71022e134a4e8a9aca21570351248a4daa454fb201b5e57d15b30994b374277b3861898734436c736a2fcf0a9214661551ba8530b6ca4f36a74f8933b3c2bd0fc89b78146871c8849b31acd0fa55726836f8a6a2a36a32d43b78f94810141c6b18b4bb6763290a289ad6363f08816c3bb3a2e519a1dfe276f6814b7f693958f4746ccb68cd320ae60c589ea94023c7adc3c680a5c17075d772b28bcd8d109397407b60c2a7ee00758d7c52630ab0f686b510969404cc1a9110338be54435084410756e7ea3937ae64523e9b2d5689d77863b5338b482daa294455aed0a283f71912b69b40d6a1f84a56576a02b129409e2429d44a9b45858243279a5fdf07f00e6392c662de780a5b8f82ec6dc248347c9a02062ebb67eb33457e5d36f10fb99db0171ef0949d117be5034ccbdf951a46c7497166294727b59c4b63034435e41c75d70641f800f0d458b23736ecb76bec2702b152389ce91736890af06840cb8d9b8f375a33b03438e9236fa3a221f83186f77aa388c840e2b6b9328710a2092faa59eb8aa2d59769be77046cc334f9704c8b855a787373dbd77215f268946e5c8792aad13e645f292bc73487432897c50e817a1f15002f472e404298a785b26f441ced2b5c7235c7f3b4428d78a7d47cf4b83561ac38da9cc124eb40b44b48231c9078702510326095b2b3492b82ddce7a433e97c65878f8fea220459bf77a81b8f010ac66ca102fc14fe804680fa9678c41746211444d85aba5c57051422c69630acfc7b86a843a74127effc452035b41477ac3ea934008076f09796323cc9d1970864300e5c309f3d7a3419d25fba23343f459df543524f999230cc8052cb582d2557fe5b8b6f196346ea3591818f0dde74e33983c010419218b08822da9c3c62eae1f2284801b3e4 -sk = 0eb3ce9a9448f8252e9e4178b1e103fc9c546d5902f2449f375a877e7461d602ab4f68c2ad47b3f9e90ce9271833d40792845fb4c38eb8b231132a7374898032333b8d427272a4afb2c54f5e37bc0446385541201be25df5ab21b0045bd304b62a15c14fcb465e29b845e457430757e5902fe3293837b31b43655978e17411154de442748b1a69d0b728f273769de1544950a69bd4558e032ded3abffa163c30705ecb290896a9b08c34a41a521ca94ac999501c84e89dcb30413cc27e105bb81d88a3ee3678e6a40af492afcdc276a9d67bc7e87aa5d78f9d046ba453c1cd4c26909b916ec8cd7c3877c5eb3e5b4028ddba148500381992b76b3b40fb374a4e45b3e87ac4d4b1434272c68c948f3e777777c78db6f506b79768bdc6657ff298a4252db310025319b0f612a1b8a3509f32418984193d540753da22f151724b264692620af8f661a180109fb0718ee588aa7443f6824fcdc3c28b523b2e822871e32deae143d0f024c7da5572415fdcd9af004848f3fc1fb5b38c0b3c71f88b4266bacb56d38b20538cca1a5eda892e334315213ca163c36beec696372c4d7cb28c2e8a82e96930fdb628eba59e24e208e9857cd63351b6f0911d8618482a41ece8352ada231dc77c3c7ab51e6ac73fc7700fc97a3d3c14297705dd4bcb529247defa600c6504eb38cb7c00a6d2956a3a14b21cca2e6013b954b967050bc5369477c59a365a44057a00ae8b746e57e5540b7199fe200c3917adcf914cb1ea8bafc3cdc2a53c3f70c0ef29394f55cd799c44d309d0a4735bcc4a8dec7160a35211141573eef285bb0c11f7d828d2497f9a63446150c179e6854429a0a2d09a78d4b9d8c73123c2411f2ac72344c7f221c7bf9c3012d6151b496912551db06224bb5743df435c281c3d2cf77efbe606cfd5b79b2ca45f02bfdb123aca61a4c1e512f8017501e2bb68c45585e06858e05621bb4098d870ba679e541a28a380bddc568bd187882a051e34bb8f36bcc8d8f05c4777761d8267241308b0961a267a7caaeca84247421fa8cebcc2b88ad9958ff61aa0c2cdb7f4b0041051254112cf7bc9b130cd26fc457b8ccdc1a7ad81ac5db25945132a6c152b12a29c8149419543a6bab0b8af5dd272c5a7b19b82199e943c5a12280a22453ff36c7b698f40d092e651cbee12cfd3843c07da95fb5168a4f9ae4553b149ec3f0960199f6375499372247cc59f4719916b168f02574e1cbef360cc18c3ba41a3258df742d9f6b32c076f695a7da1479790d9a1809001747002d8f488cd54be71022e134a4e8a9aca21570351248a4daa454fb201b5e57d15b30994b374277b3861898734436c736a2fcf0a9214661551ba8530b6ca4f36a74f8933b3c2bd0fc89b78146871c8849b31acd0fa55726836f8a6a2a36a32d43b78f94810141c6b18b4bb6763290a289ad6363f08816c3bb3a2e519a1dfe276f6814b7f693958f4746ccb68cd320ae60c589ea94023c7adc3c680a5c17075d772b28bcd8d109397407b60c2a7ee00758d7c52630ab0f686b510969404cc1a9110338be54435084410756e7ea3937ae64523e9b2d5689d77863b5338b482daa294455aed0a283f71912b69b40d6a1f84a56576a02b129409e2429d44a9b45858243279a5fdf07f00e6392c662de780a5b8f82ec6dc248347c9a02062ebb67eb33457e5d36f10fb99db0171ef0949d117be5034ccbdf951a46c7497166294727b59c4b63034435e41c75d70641f800f0d458b23736ecb76bec2702b152389ce91736890af06840cb8d9b8f375a33b03438e9236fa3a221f83186f77aa388c840e2b6b9328710a2092faa59eb8aa2d59769be77046cc334f9704c8b855a787373dbd77215f268946e5c8792aad13e645f292bc73487432897c50e817a1f15002f472e404298a785b26f441ced2b5c7235c7f3b4428d78a7d47cf4b83561ac38da9cc124eb40b44b48231c9078702510326095b2b3492b82ddce7a433e97c65878f8fea220459bf77a81b8f010ac66ca102fc14fe804680fa9678c41746211444d85aba5c57051422c69630acfc7b86a843a74127effc452035b41477ac3ea934008076f09796323cc9d1970864300e5c309f3d7a3419d25fba23343f459df543524f999230cc8052cb582d2557fe5b8b6f196346ea3591818f0dde74e33983c010419218b08822da9c3c62eae1f2284801b3e40ac7db13184d6ae6e21a14a63a2ab3d6d5d1ee7f4a6011413a0295b752fd2c28ce7683f8a03d3cf04e46970ff7d6a12494ae12558346dfc8fd9370bf944a0102 -m = cf31220f44de862e1719570e1b26e897790159366a385452334fe24cdcae28ba -ct = be20920279b8e04d7437cfb45951a28f32cfe8506da5dd08f61a91729aa6910abc38e5a6c4e27a2f9ca9c9d4a6d9940e3d71ad25c1aac9af62b3b2a6212a02f4978f785e2974eca515db34867721c9c47ed6bbcf9ef7e30b7421544753462237f25ada3931b98bcd0c70cf55b787d0b13c68fa6a8cb2e2f4930c97d4a9665441dce1ac6605aa684013792bfdd9583e74e473dd73a758daf57e1481a05c1c0a3f2d0b2cbb5199b03c2d194ccaf750a8e04e79ef44b90cadb2916b9c649840691c1c3c3f52a41e97c84a6526d4747f27e3ad359111189cd69acb8aa264ea795e4e2c937dc7731d3511fc88ee1481cab06b094f14c8d20d0178174694297f78a2fce5973ba11535e97027006bc056457ab93520cb6f32a4010f528466a780732291d1a4f4054ce774056aae7adc04e8ca2c35a5c6926f567567166e4f2baee52f080653c3bb0d924c2490c4e51ab02e719a41a8dd81b1381373f3d69b03116c05b5ab8fba591c64f000175bcd3621b023e7189f5341161e382e4c4f8405161d61b8f6c7c261ab4cc0c6b5f6f8ef1a0649bfb33693f6b584f190609e51206e873c710f2f7bd6a1e6fde32067d6db0ef395c37e9c5eb22c963440ed5359d28a08d527727c0caf98f2905efb8f768df0e8fc7535b45e82a40473c7aa25cfff08ee33d9ad38046c8a636b06b380eb49271c1a70ea9d8bb7ce3c5b9738b2f23f66297d3b0733029b60a609c4978e4ec2224b5893730f413c22f030eaffe81182300b29abde897c20b2a98208cdca5dc4694fe7d4b29072a45ac9e349516e9f5c5d2bc11c8c97235f8cf360bb63f3248488439bf09aa302dfa41085bb7dfaa4a889ee873c7766b4578f957a52d5587425e3fb00449510ae727f4650744cf3db8eb84d8a9479eec01c78ef8cde2346ec4e261b11d1b113cbcdb717e4d17f70ed5c3a9fb9e7aa9ea5f01a1cf47d8206fed865512ef1b5c61f8f3623921f21525d5a459d688e2854893ba83d27dd532e9e8f1a77ec58d9b501df3ffce3834e999d6aee7722b58ee81ce159c68788c66275349c4293bf4f7ab80b83c0d610c1176adb1f2dce26 -ss = eb70267c2cd618ededda12eb62ca541a2e0988a207ed15dd796431dd052b1b55 +sk = 0eb3ce9a9448f8252e9e4178b1e103fc9c546d5902f2449f375a877e7461d602ab4f68c2ad47b3f9e90ce9271833d40792845fb4c38eb8b231132a7374898032333b8d427272a4afb2c54f5e37bc0446385541201be25df5ab21b0045bd304b62a15c14fcb465e29b845e457430757e5902fe3293837b31b43655978e17411154de442748b1a69d0b728f273769de1544950a69bd4558e032ded3abffa163c30705ecb290896a9b08c34a41a521ca94ac999501c84e89dcb30413cc27e105bb81d88a3ee3678e6a40af492afcdc276a9d67bc7e87aa5d78f9d046ba453c1cd4c26909b916ec8cd7c3877c5eb3e5b4028ddba148500381992b76b3b40fb374a4e45b3e87ac4d4b1434272c68c948f3e777777c78db6f506b79768bdc6657ff298a4252db310025319b0f612a1b8a3509f32418984193d540753da22f151724b264692620af8f661a180109fb0718ee588aa7443f6824fcdc3c28b523b2e822871e32deae143d0f024c7da5572415fdcd9af004848f3fc1fb5b38c0b3c71f88b4266bacb56d38b20538cca1a5eda892e334315213ca163c36beec696372c4d7cb28c2e8a82e96930fdb628eba59e24e208e9857cd63351b6f0911d8618482a41ece8352ada231dc77c3c7ab51e6ac73fc7700fc97a3d3c14297705dd4bcb529247defa600c6504eb38cb7c00a6d2956a3a14b21cca2e6013b954b967050bc5369477c59a365a44057a00ae8b746e57e5540b7199fe200c3917adcf914cb1ea8bafc3cdc2a53c3f70c0ef29394f55cd799c44d309d0a4735bcc4a8dec7160a35211141573eef285bb0c11f7d828d2497f9a63446150c179e6854429a0a2d09a78d4b9d8c73123c2411f2ac72344c7f221c7bf9c3012d6151b496912551db06224bb5743df435c281c3d2cf77efbe606cfd5b79b2ca45f02bfdb123aca61a4c1e512f8017501e2bb68c45585e06858e05621bb4098d870ba679e541a28a380bddc568bd187882a051e34bb8f36bcc8d8f05c4777761d8267241308b0961a267a7caaeca84247421fa8cebcc2b88ad9958ff61aa0c2cdb7f4b0041051254112cf7bc9b130cd26fc457b8ccdc1a7ad81ac5db25945132a6c152b12a29c8149419543a6bab0b8af5dd272c5a7b19b82199e943c5a12280a22453ff36c7b698f40d092e651cbee12cfd3843c07da95fb5168a4f9ae4553b149ec3f0960199f6375499372247cc59f4719916b168f02574e1cbef360cc18c3ba41a3258df742d9f6b32c076f695a7da1479790d9a1809001747002d8f488cd54be71022e134a4e8a9aca21570351248a4daa454fb201b5e57d15b30994b374277b3861898734436c736a2fcf0a9214661551ba8530b6ca4f36a74f8933b3c2bd0fc89b78146871c8849b31acd0fa55726836f8a6a2a36a32d43b78f94810141c6b18b4bb6763290a289ad6363f08816c3bb3a2e519a1dfe276f6814b7f693958f4746ccb68cd320ae60c589ea94023c7adc3c680a5c17075d772b28bcd8d109397407b60c2a7ee00758d7c52630ab0f686b510969404cc1a9110338be54435084410756e7ea3937ae64523e9b2d5689d77863b5338b482daa294455aed0a283f71912b69b40d6a1f84a56576a02b129409e2429d44a9b45858243279a5fdf07f00e6392c662de780a5b8f82ec6dc248347c9a02062ebb67eb33457e5d36f10fb99db0171ef0949d117be5034ccbdf951a46c7497166294727b59c4b63034435e41c75d70641f800f0d458b23736ecb76bec2702b152389ce91736890af06840cb8d9b8f375a33b03438e9236fa3a221f83186f77aa388c840e2b6b9328710a2092faa59eb8aa2d59769be77046cc334f9704c8b855a787373dbd77215f268946e5c8792aad13e645f292bc73487432897c50e817a1f15002f472e404298a785b26f441ced2b5c7235c7f3b4428d78a7d47cf4b83561ac38da9cc124eb40b44b48231c9078702510326095b2b3492b82ddce7a433e97c65878f8fea220459bf77a81b8f010ac66ca102fc14fe804680fa9678c41746211444d85aba5c57051422c69630acfc7b86a843a74127effc452035b41477ac3ea934008076f09796323cc9d1970864300e5c309f3d7a3419d25fba23343f459df543524f999230cc8052cb582d2557fe5b8b6f196346ea3591818f0dde74e33983c010419218b08822da9c3c62eae1f2284801b3e40ac7db13184d6ae6e21a14a63a2ab3d6d5d1ee7f4a6011413a0295b752fd2c28f4626afbae65ea913cdb263c9615a5f66061ccc74b1ac83b5fbab8fa1eb6799b +m = 90ce0644a11e7225da1f86e1d34d506fce42b809d968d23ff0c6ae57ac5ef075 +ct = 307dd3a19c78530c882a6251ea0ae77a13e4447910ad81465cd08581ab88333701c9a720cc3f367a65094e3f7523574a54a0a7d6118e3a6fa31c7c0f580d67e45fee04cfe975d79b4a34eab0f4f2a953c3095882315011c42504ac1342e157aba7af2f8d22afd6dc6857d296a2d31374c0543f1f0c7e2fc351f50c534e46e571c4ce434356bb42ad97ecf9621e4fedb2ff0452c9a1398599426ec22c35f5def7bf1a8df638c31e689dbe86473fded29cf5f1741c32a4789637846ce65079fbfd62b9158f126e3827680e75302e2c15859227d68b34d86cb52513cfe7a6557779261e60456b3b85cc3a12eb2216d25e563c6a6b4a83b7b04e112ffb10361371a184ef44ebc0e0161a7ccdba014fef094f4d23ca9a1a926f96d163b35e3f1892a2ccd0096bbe6cbfa371fa203438cd1a4c1ff81b488b26cc55f16a6d346a86f1bbfd9c02f7e3e212aced0913778c567ff30ab0b06320226fd4310eb740b1ed2dc901af1d17a587770c03871639b29dcc2887ba3439e6a8b07fd034219efe354b56be97b0bb1df2a1a8747c3c15934370fdb15a20f2b0d0eaf15c8dc6028ef3f7734eb2e18e795e8f8d330c8ac03a3b3e8cab7e7ad3a83873aef77ca17006d05e086ef497e5f451375a7dab9324017cdae29e5f3ab0d17e89dd959b7270fb4abaa13bde4b2cc1daff763312c9e290e379d03a9a685b0a1d2c061f991bc866f0d6dd6506378673c6b3ca73a79bf4d1b24e5ec6c9c8b7c8e00ad4e11d9b260cf612b9013856ae0056ae8063aae2e7d00edd5230b087286fe4364f01d118cc01267fbad2f14bb95346fdf60489a41090c85361fe7a8ff884049c69697195eebaee7aad8c56483a51a8ec87dac68868fe0cbb01af859f0a29ee636a8b654fd61bea5dd9cb44ea0da0194f4627c882adf2087c3f44a4e909b427830431510c7fa8818d17b0a2ab246ea662866678b50838c9a61277373da7cd97b5f6f176764ae653c361a26ea833914e314245beb24948a71d3391c8b951aa6017e66c04b9f32142801c40adfa64151c39f648e122382d9394a8e6f12588269c9b67df55ba9ee260171e +ss = 3223d239d902e4ab13772949cf6b742e46d3873faf952a9a1d9108c357961fba d = e58f71bf175c0550a67e00e0f7b3b7fc36bc2707bf0c93044a492626de36301a -z = 7f7054814869cf7625e45647bc1547aff288dbb90699b2ad84893f3b755d9722 +z = d79909f31e8168ac129feed8efeb21f07c02f282cb90f63ef10eb2f4a9acb886 pk = 320558ec426b57e36419124bb8516c6b4232728a1ec4f1a51dd01b932738d9b00c6a50cbefb657969b4dd318295b6278f73963da647156944423045978c50d3c078e6d0729e0219352028970272f34147900370d490c12fce9b22357bf72fb470e748d82b79859133d8db603ac7cb2672ca9c7226b6e99a7488a219966b7b897ab398002090b4900acb068a866c50c3867380ff5eb2e0c9c4eaf497adbeb79632b0c023474837709a3d7cdec9c2f782c9a3ec0c6ddfb37cb3321db6315f0b0ae23e7c6a4e291baa61e4fd26c98f36f69d75369f5af277124295158b2506a39eb43d1a16308b71f3bb5cc26897df2378837d9cfa1ac4745718fc3739f5535c35e07b461a8cd65da18a3809d7b6384f474a3ff95c5b379a78ff9410ad3a8f0085b83573dbcb41d00bac933c3783f05c47ca28058558cc05690bae3c507fa8d5780227a61095f0171a6d826f714146c934b80e07672e6bd66432ad1479136c06dd1a29f00d18b26ab9f8fdb7e6021ce7c657948273268e6b65245101952c73d949c4d82c8144a3dbfa7a82784844d57b354b1598076258fe83a23987de29261b0a8761ae3167d035e96b78fecb9bb51055d86e46466708d79a8b732b686a23b7e36f9ce07ba6956cc46bba61ce934af8ba7738bec5de094010aec2885a8153bf71f002c9eda917f337bbc18da2324b45bc79127d21b1c12774c6fca6a5166c4f03440af4520cd09233d493461420e5ff81ba290cfd23001052a9dd3665121392224746064f00f5b1a4dc19528a7b95c524304aa21164a45c964a7320d2611c68498faf56cfc195373267b01591e6c0a8d1bc0007ed456a4e205c49495ff99b1b1754a9e429346536d16e015dbf7967e851974b19721e845008b76b2c47e7c3b04457c924693bfb6007c918c64cc28126665b01cd18b7a253bd0706d3c466eac224fa12bcfd60417afc1b865029b672663afb3ba51b6a2b20502de6c6bbdb33a0ac4765f967f8d685ef1200ae1d17cd5b47aca963f2ba5cc38059b6937916566a219ac32157728dfec1b9950687ff543169a96f648ad2501948316b55ed4c1e861661c6e600b1787bbbc13a01210c0764a4a2578d4bf90a24704178f06a4e4b110f5 -sk = 5a3861a9a0670a9ccd72238832c63a956965df07b614cc8073b95c6a3375f9b73e32333d33e96ea3140aeab832b523bc7d55361aac727dd3c22d8059062c37733c241f388199ba39a4f6a08b2403d14b760e525c85a87f8c732d1be726cf11295010bce0384c37e1ac73787d17b2b5aa4b094cbc17b1d2ae5a14ab12d51d7f319f3928ba35ea00cec1706be397ab323c13b852653bb6725121e2793e2f19cf1d54c95d8b7d7520cd63350012e2b815d1ca9e518f7089258a3a217aa1a9d3392bc9aaabec9668a70403ff6c193d2a185f8294da15c9a1d1120184b5fc7a3dac62c1909913f68741227556aaf6c3fa58426c99a5ab8ace5b1614c23cb079084d310a3fd6f738ddb86edca4c1f975508c394637b94a57e60eab053dc74556d950353de0a0f8207f2efb4e1b34642f8b7fd836876f41ce5d152026a3881c375e2a613ec610a21363cf0ecb42f9a7acb0000035e113ad8bbcd279756f60837f9520e4f907c3f79e34b5c852ec3f33b432027076e6968eaf11203f7461548969b472487660beff441cfbdb0e4701804a175e121b10466a51403c095e45517c481199d62ffba850e8d5452f43857484066f7513f6a24289a619cfe14889585271f7aace5b2b43937255d469177c17c2e636d2909f4bf165f49b102e20c1beda46026a14a993127dda10ea989a05cb04f546a663f068abc4cabb32a7a4568023796c39329c9cac6183d9b88e1625c603378aa1c041d0c1436105ee284e30f24d54c79fe332c63fd92e2928892e8401c64c6982b7607127882d633dc87335262920a458938877496976bb122bc09cc40ff6511fa29320fb581563799dcd56a4d36125b7dc5731a3888b3331dcdcccb2dc21eec146625854cbf863b2e0091334af76a741b7db1d69116e2e868d21d942eb99c5b24a9139c63c3c882a879a2c5e341177c149a7f32c0540ae2a9c3d61a4692807afa3469e363a6abfa18103923e908b7d7028497cd3cafa81a8873c7064a7a1c3b310c523b3df396eb71b0bddc12a32cab323017fda4378f919cf8ce660d8a8616f43539f2aa8acf74f6549743985865f2673320558ec426b57e36419124bb8516c6b4232728a1ec4f1a51dd01b932738d9b00c6a50cbefb657969b4dd318295b6278f73963da647156944423045978c50d3c078e6d0729e0219352028970272f34147900370d490c12fce9b22357bf72fb470e748d82b79859133d8db603ac7cb2672ca9c7226b6e99a7488a219966b7b897ab398002090b4900acb068a866c50c3867380ff5eb2e0c9c4eaf497adbeb79632b0c023474837709a3d7cdec9c2f782c9a3ec0c6ddfb37cb3321db6315f0b0ae23e7c6a4e291baa61e4fd26c98f36f69d75369f5af277124295158b2506a39eb43d1a16308b71f3bb5cc26897df2378837d9cfa1ac4745718fc3739f5535c35e07b461a8cd65da18a3809d7b6384f474a3ff95c5b379a78ff9410ad3a8f0085b83573dbcb41d00bac933c3783f05c47ca28058558cc05690bae3c507fa8d5780227a61095f0171a6d826f714146c934b80e07672e6bd66432ad1479136c06dd1a29f00d18b26ab9f8fdb7e6021ce7c657948273268e6b65245101952c73d949c4d82c8144a3dbfa7a82784844d57b354b1598076258fe83a23987de29261b0a8761ae3167d035e96b78fecb9bb51055d86e46466708d79a8b732b686a23b7e36f9ce07ba6956cc46bba61ce934af8ba7738bec5de094010aec2885a8153bf71f002c9eda917f337bbc18da2324b45bc79127d21b1c12774c6fca6a5166c4f03440af4520cd09233d493461420e5ff81ba290cfd23001052a9dd3665121392224746064f00f5b1a4dc19528a7b95c524304aa21164a45c964a7320d2611c68498faf56cfc195373267b01591e6c0a8d1bc0007ed456a4e205c49495ff99b1b1754a9e429346536d16e015dbf7967e851974b19721e845008b76b2c47e7c3b04457c924693bfb6007c918c64cc28126665b01cd18b7a253bd0706d3c466eac224fa12bcfd60417afc1b865029b672663afb3ba51b6a2b20502de6c6bbdb33a0ac4765f967f8d685ef1200ae1d17cd5b47aca963f2ba5cc38059b6937916566a219ac32157728dfec1b9950687ff543169a96f648ad2501948316b55ed4c1e861661c6e600b1787bbbc13a01210c0764a4a2578d4bf90a24704178f06a4e4b110f527ea5a76294070ab10a6edc502d82be3d240672e5fa61377e73e5e19d11f64a37f7054814869cf7625e45647bc1547aff288dbb90699b2ad84893f3b755d9722 -m = bb5e65669a44e5d5c709bafa98c16ccba6ac2c4ae923334f69a11543eda64f5d -ct = fc75d757fafd5597c29d4a62b27658a1c0dbc259ae04c918d1304eb7e9d72cd6b79cbb0a9b75dc8038560428db5b479ec024a7d5531a011375dccaca3b3b0f042c54423196f65310a8999a395f6088fdd59dc02449bd051f1e88ae8924aa76747ebdf1407a77cabd21c20ba1dda5ce73487e19f8a6ec8251c6bd62e4faadc3ecfd81fec582261618cadfc4c5ac295898320ecc034454e966908cfcb8712a33c4dbacc423e1a04a67426038b9d24a330a2fd76c591e506805253866dd19c7f3ffe3424746804475eba0ea4080a11de3d61e00789cb51d82753206de39d3b3138e04fdb226c7739380a918e9fa0c5c7bb44b3e7b0c52c432c0d73ce2c6f412ec12b0f4fa6f898f9a0c670712ae8a2aa1d1e3ee81c57ddfbd15c6e476e030356a795590cc9da63f22a52a34c5cde3f70d66c86cb2e8d2198fa3f70057daa40d55905bbb14a3aee8ebbe4542fb1a30ab2892dc8d12d3d7666d47b4ce8a2c4854b3b5abfed2177765d731a01144be77643e105e2f45c562b12f2f6c30cbcd87696b7a0f3fe35e27a9fdc9e3c7d6a50279b6f19c050a078ca7136fb869e0fc0dc7a353d734ebf8e57f9aa7a014cf1d3286b4a80a1bbf364cf7e9bc6bf0156f8488cfbe225f21ccc71067dc5058afea93e02c53b14a32a4db87ca7667ba80bf0bd6279d54c23610449650b45ef158b05e7cc5eda171d13625fd535b1e2ae554d638c10532ed22814b74300fc845331401026ec4f9cddf1f513f156f53fd2bff441135345b9094b65c40abb1b75e4d01052e624b34fe8bb3178eb48fbfc82735d28df364edb86b8dca564de2a38582d33492ff5c9dc5b8b73fef4ef133f34033ad777fc670b62580a2eee1a2ed4a53ff73cb6ef5478ef13942ab7551c0a62fb463826aaf967f77d02a6259f37730b9350d292a0df88c258f43d10f58aa7deb439dee53a065596ddc81175091725e5b0ef8944ef9355142323d8bbbff2a3d59601ec204b9c181801c9704fd6a8607ea807f926e0a17e891a8b22cbe42da2f7c632a4a3ca372b85597b68fc0381eca7b81a9fe0969f331274855cb71a10f84baed410e76ec -ss = 3536d3945b89b73f69efecbe99c26a89cf7d7919e13f3f2bbd4caf33dbf92000 +sk = 5a3861a9a0670a9ccd72238832c63a956965df07b614cc8073b95c6a3375f9b73e32333d33e96ea3140aeab832b523bc7d55361aac727dd3c22d8059062c37733c241f388199ba39a4f6a08b2403d14b760e525c85a87f8c732d1be726cf11295010bce0384c37e1ac73787d17b2b5aa4b094cbc17b1d2ae5a14ab12d51d7f319f3928ba35ea00cec1706be397ab323c13b852653bb6725121e2793e2f19cf1d54c95d8b7d7520cd63350012e2b815d1ca9e518f7089258a3a217aa1a9d3392bc9aaabec9668a70403ff6c193d2a185f8294da15c9a1d1120184b5fc7a3dac62c1909913f68741227556aaf6c3fa58426c99a5ab8ace5b1614c23cb079084d310a3fd6f738ddb86edca4c1f975508c394637b94a57e60eab053dc74556d950353de0a0f8207f2efb4e1b34642f8b7fd836876f41ce5d152026a3881c375e2a613ec610a21363cf0ecb42f9a7acb0000035e113ad8bbcd279756f60837f9520e4f907c3f79e34b5c852ec3f33b432027076e6968eaf11203f7461548969b472487660beff441cfbdb0e4701804a175e121b10466a51403c095e45517c481199d62ffba850e8d5452f43857484066f7513f6a24289a619cfe14889585271f7aace5b2b43937255d469177c17c2e636d2909f4bf165f49b102e20c1beda46026a14a993127dda10ea989a05cb04f546a663f068abc4cabb32a7a4568023796c39329c9cac6183d9b88e1625c603378aa1c041d0c1436105ee284e30f24d54c79fe332c63fd92e2928892e8401c64c6982b7607127882d633dc87335262920a458938877496976bb122bc09cc40ff6511fa29320fb581563799dcd56a4d36125b7dc5731a3888b3331dcdcccb2dc21eec146625854cbf863b2e0091334af76a741b7db1d69116e2e868d21d942eb99c5b24a9139c63c3c882a879a2c5e341177c149a7f32c0540ae2a9c3d61a4692807afa3469e363a6abfa18103923e908b7d7028497cd3cafa81a8873c7064a7a1c3b310c523b3df396eb71b0bddc12a32cab323017fda4378f919cf8ce660d8a8616f43539f2aa8acf74f6549743985865f2673320558ec426b57e36419124bb8516c6b4232728a1ec4f1a51dd01b932738d9b00c6a50cbefb657969b4dd318295b6278f73963da647156944423045978c50d3c078e6d0729e0219352028970272f34147900370d490c12fce9b22357bf72fb470e748d82b79859133d8db603ac7cb2672ca9c7226b6e99a7488a219966b7b897ab398002090b4900acb068a866c50c3867380ff5eb2e0c9c4eaf497adbeb79632b0c023474837709a3d7cdec9c2f782c9a3ec0c6ddfb37cb3321db6315f0b0ae23e7c6a4e291baa61e4fd26c98f36f69d75369f5af277124295158b2506a39eb43d1a16308b71f3bb5cc26897df2378837d9cfa1ac4745718fc3739f5535c35e07b461a8cd65da18a3809d7b6384f474a3ff95c5b379a78ff9410ad3a8f0085b83573dbcb41d00bac933c3783f05c47ca28058558cc05690bae3c507fa8d5780227a61095f0171a6d826f714146c934b80e07672e6bd66432ad1479136c06dd1a29f00d18b26ab9f8fdb7e6021ce7c657948273268e6b65245101952c73d949c4d82c8144a3dbfa7a82784844d57b354b1598076258fe83a23987de29261b0a8761ae3167d035e96b78fecb9bb51055d86e46466708d79a8b732b686a23b7e36f9ce07ba6956cc46bba61ce934af8ba7738bec5de094010aec2885a8153bf71f002c9eda917f337bbc18da2324b45bc79127d21b1c12774c6fca6a5166c4f03440af4520cd09233d493461420e5ff81ba290cfd23001052a9dd3665121392224746064f00f5b1a4dc19528a7b95c524304aa21164a45c964a7320d2611c68498faf56cfc195373267b01591e6c0a8d1bc0007ed456a4e205c49495ff99b1b1754a9e429346536d16e015dbf7967e851974b19721e845008b76b2c47e7c3b04457c924693bfb6007c918c64cc28126665b01cd18b7a253bd0706d3c466eac224fa12bcfd60417afc1b865029b672663afb3ba51b6a2b20502de6c6bbdb33a0ac4765f967f8d685ef1200ae1d17cd5b47aca963f2ba5cc38059b6937916566a219ac32157728dfec1b9950687ff543169a96f648ad2501948316b55ed4c1e861661c6e600b1787bbbc13a01210c0764a4a2578d4bf90a24704178f06a4e4b110f527ea5a76294070ab10a6edc502d82be3d240672e5fa61377e73e5e19d11f64a3d79909f31e8168ac129feed8efeb21f07c02f282cb90f63ef10eb2f4a9acb886 +m = 8bc7f573082482206adac45f410a9a3ebeb4a8538999b681072c26731023fcff +ct = c12af31704fb555446e532705c8ef09f5293572a68d3f887a6195a84282afe2c53ffa516b1b0a020e166b3228b49c558972ee299fc71d01640a8c002a97df759f661bd1df8c6e8ea3ec7254d8ade344e43a6a6b142cee4827193e51bfd76a2238f5ee39d480199d20df2a2e3d53f424b2bd7b63581bbd0cd6f509a6af7f641cb14a65662839c1589d2fe4cc8ddc0595c209155bca820eca523d88b8811a5a4c8c1ceb1e2e237ec7f8abe9397cfdcb6cce7ffeb9c58d970ad9baa2fd3577c8df4d16563812d47d8f41ad281296f93f36128c7ea9ea0cfc64dee83ae9fbb586998bbabdaa4df4ffc0f127d418c42bd5d682db7c32e42095e0ae16500d835bae7e623b83f581e203ca82eb757217ab75c2574d4c4abba574857cbd30e9ae7d3c243aa18b90fe7b6b687b468d026aedca5fc74e0a1f537c8dcad31e9eaa67b60cea3c2ccb442ed6a2b3b0fd88b4ec65f86813044195cf13847c5a5d51d2b1bd247a7723a6bb99cdfb2685b890c7bf6ea648acbd00afbd0bfb0e523decda8be0156a6737f10776b56ead7f1709c7868f52d7861d386abeb09e13fcf1f02ce1ac1b3e72ef43e7a4976548c03fc608339073ee442c4613af79b752b0579e7388e3cd9e345bd39a5a0895d1d8ffa5533526181ad5047f335507e370e4fc572c86a3d6816ab068b2c2fd54444b8fdee04d340a00c88a9c9f4468de3d83d80c135b10923f1f9f3755707d8618532f28c1329acef1c0e21875e0254daa14a8384428b2d4c561f923e5fe1bf6f354a875f0605f262d3ae8f1dffcf64430f0993d483913560e70ce3e1775ad6e06845bb616fabc0ffbe7a3bebe8e216368b0260034547bb2329003dde73523490ffd5841495f02b5e03d53ba6a4a37adf93b0e8d372f9796b61115a51127c5630f2d1e1ba567d25bc4bb2f7587e2b592202b46bfb6000849a06efaf9330c5ebc5483e01b3828c22537bda9b5a8a9f5f2786adadc62f95b6c1c06beaa9fac54de6aada237eafe5e06c47b24d9f763417b613dd8d56c0f9ddc07c68a714b7ecb5deaecf6c25d363eb9f4b16cf82f72dc553d98a3c4b98d86359b4 +ss = 9c092364b9c9462a690314f51783954c0b2c1b9981ca2dc26c14dfdcf82b07dc d = e3fc575ed51513e62aba655d24cd9c8f1c6c848aaffa946c49a53ac3ea59e474 -z = d82c2f1bf2e6aebde5660fa73356982e12999d8fdafbb3cb186341d0386dead0 +z = 648e3fae1aea06e15778f3442223574e9c7823f36cd16c72618846331f95e91c pk = 16d85b965a81b1f55647985ec3f58023574f49003f67d1847c44a40d48a2d3d86a0e66505037b1a9898be7010d98c686d496c646babf8f998833620e287b7464f8005bf4acb8839d93a311e99ca4f889b123b81f6e740b604cb86464837be291d1f4a919b07dbcb9589a228286ea1ff56554a818439a3c8f1753b459dc557ed135149553d7d82b1d8c0fcdacc3043729d6ec9511c6a3f279783a2a8457817df77ac945450732d148f8964b83c16e7319ac67acb7fc903501d466fcfa22ee13a7010615bb7a2edad26fdec633397516ce0c36d2288ef1fcbe2e1b459348cc6ea669d8810740b2b7581a9e1f62825d80c903e57d40732abbdb7736e8a1a1ea9a20d217d55b5355aab672e61ae0d183e660c182b846161147aa1426e34269636406cf142cfdf43982a076be1ac956e114c316a7d6921674f6cab0fa0c49c91e01ca7ff76b61d06c13701892e208390edc717447a2b01c8a2d855c7487c37a0043644b26fb3a446774baeef30d1a09a3ea9680f52449df85262437b14afc2b4ea62504f443af0752b97620ba8145b396ced5366dbc9447c010740614360401be32903f2680817542b356a7a6ff830e944b2af872779f34911d9b99b0a98f3198198d73922f5567aba3b8a55b2341fbac3a2a3dcfb46256885331417f4eb8c209c235921a440e8695032247600c885a82acbe34af41653a33200ff59794fd98840f94745a607931c1a8a4450e67cb23a99b46a4368b6060b4dbbb5a394820a16bb139baa15af551b40a6b01232cb99801cdd4387f23ad6dec96edea64b64a76fbfc35587508733c5e08ba4dce5376de978f4ed980872b3d4dca59eb1bad19236ddc0216d226bed9b723cf846aee457b0ec23c59107caaa49a3c879b761350ed319a828507bc687561a87841e56f37f4b4f6f77e253988f38488ff2a1e9b07257268a209f9b31705bef791236ce9c193f2980ad38c5b9939189a618598ce90f435221214259c6555c7041e2a9a12bcad5b86cc04842d992834425a10a3411f5609af68a525290320cc1cb607974c6d19b662122245991efa06cc6f075e84f2b025018f9c25fd45802d5699f33205a71d6404704483bd2c82e92ba9457926a45bfa0985 -sk = 64dbcfc86711f74046a26641dd9065f197ad5f2c8f62056b9a2b027452b0fa07241085ae275570f7b248878bcd2664764b76a810c401b16a2de82177c0b93c7f204823643fb92978ef23a81199b9a5c04966d94d59a13270b32afd858f61074bd14b6605a999f940194a127e21507416158bd22155c7c46ae229c57ad4c1d4517bf1977c47a73c1e05998352a9cb76be6d17329ae9b1e42a08499918029ccc4ba00ad507aa10a18d96c5b4c40a78a9f23162f20344d61811323feed16ddc8635f14c9ddb879fc3c5678321af658cacbd3236f9949ed2f1b56a94b05fc0cec8d737b434c341c444c4271faa241487c130cacac5afbbb0b7558372356d5555839d89b9d3a47ae3b9cb596920cc0c19c97c389ed76b2b04c6a764a363d4229989c0d82986889840f4fc716a9a0f08530339b89a3ce468c59607bc45215e771a7e7a86a3880ea776a128b08539655a1d83810aac7ff0c589dfe85cadcc91aef6268115c5e7275d4df19264e98a40275b66f00010f54ff231cdd62abf2dc8cc29d6c3616ba123156049f667755c8a58e93dfcc640eb1a59c6f49b3b4845bc00181fb46279a02219937395318f3d943772ea71c965b15c272d5c92cc71e025147c3a4263bfcb7490045951dfe91f027305caecc152c09150b1aa4893845dd4330172b3db2688a4fc6d9fa9776c988a664c3af8c5a081c9915160a5b7f61b1956ca67b28a63560762ca8ce9260b50827be105bf45ea56fd8a2c2831abeac08f1bc808fe2c3654030d41507277638dcd06bafd909683e6ba5408a3cd358ce90c69a0959fd39169e96bab584b4cda80c6c0140574d4053b109bda0c6e05060628240c41ca0864bc0c516c6d1c45c308125377464114e82d67958c886c5bf0d17b2776a7832a330356b7bd936dcb23ba530b8c63f8583a8051923cb408c01fec645726608130a138e6306d2ee0842e917617ab464712035f088f8f759904550e2e0681f95453bab9c61d16b1c2d64ab37c9f787b1976c6755d27c9be181c44a5bea47b9a6df9abe394b894106a03569e130c6fefaba53a583f7e35781fd5638f5186132c0116d85b965a81b1f55647985ec3f58023574f49003f67d1847c44a40d48a2d3d86a0e66505037b1a9898be7010d98c686d496c646babf8f998833620e287b7464f8005bf4acb8839d93a311e99ca4f889b123b81f6e740b604cb86464837be291d1f4a919b07dbcb9589a228286ea1ff56554a818439a3c8f1753b459dc557ed135149553d7d82b1d8c0fcdacc3043729d6ec9511c6a3f279783a2a8457817df77ac945450732d148f8964b83c16e7319ac67acb7fc903501d466fcfa22ee13a7010615bb7a2edad26fdec633397516ce0c36d2288ef1fcbe2e1b459348cc6ea669d8810740b2b7581a9e1f62825d80c903e57d40732abbdb7736e8a1a1ea9a20d217d55b5355aab672e61ae0d183e660c182b846161147aa1426e34269636406cf142cfdf43982a076be1ac956e114c316a7d6921674f6cab0fa0c49c91e01ca7ff76b61d06c13701892e208390edc717447a2b01c8a2d855c7487c37a0043644b26fb3a446774baeef30d1a09a3ea9680f52449df85262437b14afc2b4ea62504f443af0752b97620ba8145b396ced5366dbc9447c010740614360401be32903f2680817542b356a7a6ff830e944b2af872779f34911d9b99b0a98f3198198d73922f5567aba3b8a55b2341fbac3a2a3dcfb46256885331417f4eb8c209c235921a440e8695032247600c885a82acbe34af41653a33200ff59794fd98840f94745a607931c1a8a4450e67cb23a99b46a4368b6060b4dbbb5a394820a16bb139baa15af551b40a6b01232cb99801cdd4387f23ad6dec96edea64b64a76fbfc35587508733c5e08ba4dce5376de978f4ed980872b3d4dca59eb1bad19236ddc0216d226bed9b723cf846aee457b0ec23c59107caaa49a3c879b761350ed319a828507bc687561a87841e56f37f4b4f6f77e253988f38488ff2a1e9b07257268a209f9b31705bef791236ce9c193f2980ad38c5b9939189a618598ce90f435221214259c6555c7041e2a9a12bcad5b86cc04842d992834425a10a3411f5609af68a525290320cc1cb607974c6d19b662122245991efa06cc6f075e84f2b025018f9c25fd45802d5699f33205a71d6404704483bd2c82e92ba9457926a45bfa09859898462f05bea461adb40faacdfdde363c06f58bc756f0a8417df63a66d3a544d82c2f1bf2e6aebde5660fa73356982e12999d8fdafbb3cb186341d0386dead0 -m = 9ddb3aa9c7905d1a438c93bcf78e3e321813580371ab4e1289e2dbf3701972c2 -ct = 801643e70bf9ccbf9a3bbb1d50d067cc5e8c23a77484120620b00d3de3d9b67e7889c01ebef887f58e204b0d431506b7e59ddd960352a9a726bc0b917e10f331b6a97b60656cfa673861ccc158d805b388521bc382214d69fd76b0f1b407f4148e70b887403a5d4948886c99b8d4008a4b9c6ae1b728f449d9ab387f2d16c022f1be95a40f951cd0c633c9448629d53c3c342505ad29964f3db78f7768feda464f4540c2b620ef5c222c235353724de528ccf13023991b85670ef4f1b038c713e160a2e89f1d64d37f495eae7e69a7fc269243b195d77a093b2cbcaccc16007b4c7b6c88957e686f8a19044d8c835a822bd01b68db3bd633665e800e6d207f019d834117f8649adb51f78ba4f6710fea161de5ad47075de1d642a3d8a68a9c9584119764ee9de238efecd0e99c3018c77ba448999403b13bc3c94c437b72c2b8793d4ebe709ea2485547e667059c7a022c90360c3af466b3c40cd612dbbea25063a64a6fad30c971a791298847012d4acc02fd171d0edf5b0de77b0ec86f1a7f358591aae67888b8d4f7766f6ca36b2746db9a97abdf099c9e55e1e6206e5ddf4fca6771598d0fe27a5d8fee9da84f2b8060dee6c03c956778ce3ddcfa1a4d8afbbb138de20733b58233545eba45718dd83b762dddc2d05df4f8ac71cc8fac17ac21de876fe70fde9aa4a13cba4b94fde275295851b1d949011f270a39d7fa55d1255396008d7782ed671e5208c367ca8be57248fe4b2b518e709a7a31aa0773430b972bae478e6e0d1f219fe7a682c61ae79321940545d2cd95d5a8e098fad206b35c4de1b974bad372aa95c8f464c286ecd2bb2a5f59ef287f0bb80a84b075a2deb505e38b6f32ae92c1c10324bc89b11287746300588df7e1156ce28946fd7da6d979a837c716de8b3a7c8c19d38d8ac5c7550b5ea703a61d86b1d9f8443f112232cb16bdb0990ea79f89a96d8111a1ca1b1d6073e4ae66062f06267b2c5cfb8ace5254166bb4c08e2969e661bc429e20200ca5117bff3566ab415ac1fccaa4692f05b26d13af7f747d499eff11893db9cdac66c53e35dbedc80488fe271c -ss = 0b684bb1dd742f660ef898b9a7c10a012f12b34c889c8a5bd36822618a60cd96 +sk = 64dbcfc86711f74046a26641dd9065f197ad5f2c8f62056b9a2b027452b0fa07241085ae275570f7b248878bcd2664764b76a810c401b16a2de82177c0b93c7f204823643fb92978ef23a81199b9a5c04966d94d59a13270b32afd858f61074bd14b6605a999f940194a127e21507416158bd22155c7c46ae229c57ad4c1d4517bf1977c47a73c1e05998352a9cb76be6d17329ae9b1e42a08499918029ccc4ba00ad507aa10a18d96c5b4c40a78a9f23162f20344d61811323feed16ddc8635f14c9ddb879fc3c5678321af658cacbd3236f9949ed2f1b56a94b05fc0cec8d737b434c341c444c4271faa241487c130cacac5afbbb0b7558372356d5555839d89b9d3a47ae3b9cb596920cc0c19c97c389ed76b2b04c6a764a363d4229989c0d82986889840f4fc716a9a0f08530339b89a3ce468c59607bc45215e771a7e7a86a3880ea776a128b08539655a1d83810aac7ff0c589dfe85cadcc91aef6268115c5e7275d4df19264e98a40275b66f00010f54ff231cdd62abf2dc8cc29d6c3616ba123156049f667755c8a58e93dfcc640eb1a59c6f49b3b4845bc00181fb46279a02219937395318f3d943772ea71c965b15c272d5c92cc71e025147c3a4263bfcb7490045951dfe91f027305caecc152c09150b1aa4893845dd4330172b3db2688a4fc6d9fa9776c988a664c3af8c5a081c9915160a5b7f61b1956ca67b28a63560762ca8ce9260b50827be105bf45ea56fd8a2c2831abeac08f1bc808fe2c3654030d41507277638dcd06bafd909683e6ba5408a3cd358ce90c69a0959fd39169e96bab584b4cda80c6c0140574d4053b109bda0c6e05060628240c41ca0864bc0c516c6d1c45c308125377464114e82d67958c886c5bf0d17b2776a7832a330356b7bd936dcb23ba530b8c63f8583a8051923cb408c01fec645726608130a138e6306d2ee0842e917617ab464712035f088f8f759904550e2e0681f95453bab9c61d16b1c2d64ab37c9f787b1976c6755d27c9be181c44a5bea47b9a6df9abe394b894106a03569e130c6fefaba53a583f7e35781fd5638f5186132c0116d85b965a81b1f55647985ec3f58023574f49003f67d1847c44a40d48a2d3d86a0e66505037b1a9898be7010d98c686d496c646babf8f998833620e287b7464f8005bf4acb8839d93a311e99ca4f889b123b81f6e740b604cb86464837be291d1f4a919b07dbcb9589a228286ea1ff56554a818439a3c8f1753b459dc557ed135149553d7d82b1d8c0fcdacc3043729d6ec9511c6a3f279783a2a8457817df77ac945450732d148f8964b83c16e7319ac67acb7fc903501d466fcfa22ee13a7010615bb7a2edad26fdec633397516ce0c36d2288ef1fcbe2e1b459348cc6ea669d8810740b2b7581a9e1f62825d80c903e57d40732abbdb7736e8a1a1ea9a20d217d55b5355aab672e61ae0d183e660c182b846161147aa1426e34269636406cf142cfdf43982a076be1ac956e114c316a7d6921674f6cab0fa0c49c91e01ca7ff76b61d06c13701892e208390edc717447a2b01c8a2d855c7487c37a0043644b26fb3a446774baeef30d1a09a3ea9680f52449df85262437b14afc2b4ea62504f443af0752b97620ba8145b396ced5366dbc9447c010740614360401be32903f2680817542b356a7a6ff830e944b2af872779f34911d9b99b0a98f3198198d73922f5567aba3b8a55b2341fbac3a2a3dcfb46256885331417f4eb8c209c235921a440e8695032247600c885a82acbe34af41653a33200ff59794fd98840f94745a607931c1a8a4450e67cb23a99b46a4368b6060b4dbbb5a394820a16bb139baa15af551b40a6b01232cb99801cdd4387f23ad6dec96edea64b64a76fbfc35587508733c5e08ba4dce5376de978f4ed980872b3d4dca59eb1bad19236ddc0216d226bed9b723cf846aee457b0ec23c59107caaa49a3c879b761350ed319a828507bc687561a87841e56f37f4b4f6f77e253988f38488ff2a1e9b07257268a209f9b31705bef791236ce9c193f2980ad38c5b9939189a618598ce90f435221214259c6555c7041e2a9a12bcad5b86cc04842d992834425a10a3411f5609af68a525290320cc1cb607974c6d19b662122245991efa06cc6f075e84f2b025018f9c25fd45802d5699f33205a71d6404704483bd2c82e92ba9457926a45bfa09859898462f05bea461adb40faacdfdde363c06f58bc756f0a8417df63a66d3a544648e3fae1aea06e15778f3442223574e9c7823f36cd16c72618846331f95e91c +m = 6e357dd587894d497886bb4c678cf1ed347d1d85bc1540d31563106341718e16 +ct = d59c12871180ab99603a9b1ab78ad8f6528a1d2bab5158761ebd7627d7acbefc07c569cdecfc0bef7d157e0d7e4ce9da945c1edf259b4406feafb16600b49bf0fec3dda8736218d7b3cf748d47cdc110086e89b340a58e2741d512b4b1a41c2da944cb41feccc193359adf14643cc782b317886c90f2e4676e4f56e01e46d224d7d7e9bb9d02a58c7d8ccddcd6f9a0a367adf5cb27d3d97875fd9d5a76170e36ee3298ccd3cd8dbcb6b799b5a9cbe22181d9d0a3b8b57cf0b385576a0d7f0becabb0b621fa65e2c7506abfc136ee13233f68113027919c499fc931b329d351e55d79f4399fda14310da2bfcccb8bff6f63c35e67bacf8cb9541c14463da7e3364fa80157358f401250d1b710e4944ab7c2b5a8af7ed96abb3532fb6ab9f2a92b8258d051279bd9cc8b48eddc9caef152ac2c5e4d747e9d969e2330560a00f1775c27a61fe3ecafd0c48250eb0e459924d1850dc55240099bf5f612aaae2261f1f88e8f749eefb6d829221bb178cd3e05564da4af7afcfd219efcde5be8877c9672acdd72fc448c77780e00491d0a321a2cb503ada25b2d8ddb55acd3b539aa4cdc55660fbe5158b797ad34c33a63d73092750a2c2b52dba73b3cffe3af334dee20786b2be1f0cc4999f2da9ffc92ea9a347e48d59bc30476f7e973c29d18c44f84e00eadaf8fef877da11fc3906c1b6b80bc8e9101810b4e1252f128a70948ca1d0fd8f1676ce7cb5975fa699e15750216f882297a5d1e0d4ea06dff13bd388861cab6946b877575e4f72b98975a76f82e506d0a19e99cd6d342a87da681d5d4e3c8432aec3a3f2cc423bbfa9c494472fd9c8e69adb9810edc28710bfa2858a2218ece4041f8ca7917228ca3fb48de2b4388933d76cb214a89b9d9e9691ef445052dec18eb6f63801f382775186c6bedf60480adb79664ff34387b09afe431f5fc0c1014550f5aebad73e233966420aed553a42a72d03b83f4d4ae70321e22f44d50a427fd33b1d66dd95cba4754c11a1368aa62450ec1d981df32d70daa3aaa1b334df4ec6b3cc36178aeb030cd2b3b442da507aafe628bb831b171013ebe40 +ss = 6bfe68ed9af9da9263df46ce737d088de2c936a7f7493314ab70201cef0b2e32 d = 470b4943f0fe7fd0d8ec5185aba0d1db09d112934e4fb4787e2bbc6b88466e7b -z = 8b2809fd40008be70a6b184981101724bc3d5ec5e1956b510b82fd5ad0668a5a +z = bb02d701fd1350aab462cb65dac4b2f75928d378dfd7a0360dff9185175538fe pk = dd08cb516c78a4619895f576bc8b3367f99d50aa502f365a5ab881d18044150539084a918d43a002665f4dd155c6bb9363127412dc05df9c9c2df480937507210c8a1a419c9cbc840e54a0734c8a281bc5fa709a2312798c998b9cec0ea947c0e9fc128a51700a21be8841395a2552ffa4645dc67212117131db3b54989bbbd5569ac4cc7e43b4b6a012ed87757f46a8382ccf1c561868ca741e51a554393de04980d3538fd59c6f1c043e6378773675bd3f185f1cec759ac091519aafa6a4367e19b376011adfd48d34521e47b10bf497714f6464388121f46a444ca791ab9b84741518ad082153b2944d61a9ab8689410a7424b653443a9089ab110dd83d91f07adad9ccb6bc05f4a34133248524f5347f2473ab0c18b2fb3da280a8364464cbcb1c62dc7505b6c2cd057de444ba218ba49eca1142281e971bbdf531cabe6b7cc6892ab7b304c6d8c1137abf1bab7867aa308c7690aa29cbd9dcc37c7cb627bb09f7dc6609b18a3c92badfba6560574bfe70b4b3578f1778785754146aac9e2a890d368b7144e7b95e4516adbc2eccc82e81627935bc455d9397ff14828a8c0a84f5a876990d909c481cf0668f9787b9f87b7604b392443d4d16a0f201057d578cb7411532528c190523a06120dee1a291e55d0fe860821b9647d289158163b19748a1477fa31b3e7c048cb93287a3d7760caa0a0bc5c880d6723ae61f4fba744808aae2e3742016c81d371638b883447a1e3db611f241255bfaa48811397989382369ce7a59a3a17c559fa29ca4b7a6751526c1db169dcb7fe00a146f6033cb44207836c405a4aa1c1274c9206537c1b767c9948c533e836a2bc7373c10c7b149ec2cad5bb515186ed9865968801dfab0123e3ac729681754265e8c9a3e9745cb9a770b2aecb473631184832b086a7a2217ab2d553d54aa431567a52f25078c10ac6f206e1e198df76cc6f8828b337685fe84abc3151bc6817a98c5beb0db1b2a4a28a7580747b6330da24561c7ce37d8750952945ce7731983b62a1025f322b515e47442b05a01955b4ad8aa63856345151c8142718e7412ba20aad10624ca489f02fa05307d7163b35ba6a4c5024b70ba27db0de8d64bb8b55c83bfdd24 -sk = 4a057f90101eabd7270e3b51eaa016e7c88b931bab7839776aacc82fc99530e8544a67cf487c002cf289c57c0e2a4811ba9b168a20b5f78208e4b615dd9354ea67c919673b6e5560421776013749c3016974c6044d3b92f585856437b2f7b6627db363260a0f6138445ad21f527592d0facd7c40bcec70c75c72cad891b66ff533ab40c1989816b4c64177b397bee52a4a8ca07cd64997115d339cbaeebb53a2fcc42f851a6c88766c54b0c6744e41e3c1e0c6b3547ba890129641fc10af94ac12c623f44490967242f9845c4f360bea0c3aeba99ff0984c8c2872ce400f8e924c77741d8a861bd2bab8acc4bce2a34324346aed98353e14b52e27890b984102943a7378b641b6c6425441a57c9f1d594cea351f3ca22b74ec09f47714f7b8b41c186ed6548c5b141335a503701459b30017f364180bb4635a83cf0cc2b48293c0e215239241c656664082e97402478d1fe39a9194b8b585c3fe024abae8a60ef70db89336e06214621ac2b69114d8f0a03e2993715241e2e7b45b852d0aa12c84e941137b17a6379b30e31b64d64dabb6935b758aad601e0fa980331319792072cea89fc4819b54f9501602a0c46bb31f9a5165e5bcbc4453b71a04af9573142c3ed98c3f88e83b0dd4c2f4370915a71e3cc5c29e51c9cc1cb38388b9812127ac59aacd5a2159f34f0f40acc0712e106c87cef441deb6089c3196dce4b6b81a559c0bbf7e4097215795549b52857868c907a08497ad0042bd128460d1c88d78b29fc76ba35ccb7748c6cc85eac37ac05a63e76ce24a81d9888d42c83796a9890c09a604ca6e5ba596a3575276474a63224e0224048911bd501c60bb34871581ca0923bec2790740c26d3babb74063b9f668ae037c0a656467eed87b6f6a18158c4e9c753cc6a570043a278233121776198006be0f28c5744b98f3e33483387b56b6ae138122dfb46d0f1014acf383fab60023d619a9ea7a3355536bebcc3670c742c52cc9312be8e182de09aae8b4bad265c8cbfc6715664dd8c67062db10088b6d3905a5fafc415a0337d878cf4feb29fa307761d981db422b3e5b80ee9accdd08cb516c78a4619895f576bc8b3367f99d50aa502f365a5ab881d18044150539084a918d43a002665f4dd155c6bb9363127412dc05df9c9c2df480937507210c8a1a419c9cbc840e54a0734c8a281bc5fa709a2312798c998b9cec0ea947c0e9fc128a51700a21be8841395a2552ffa4645dc67212117131db3b54989bbbd5569ac4cc7e43b4b6a012ed87757f46a8382ccf1c561868ca741e51a554393de04980d3538fd59c6f1c043e6378773675bd3f185f1cec759ac091519aafa6a4367e19b376011adfd48d34521e47b10bf497714f6464388121f46a444ca791ab9b84741518ad082153b2944d61a9ab8689410a7424b653443a9089ab110dd83d91f07adad9ccb6bc05f4a34133248524f5347f2473ab0c18b2fb3da280a8364464cbcb1c62dc7505b6c2cd057de444ba218ba49eca1142281e971bbdf531cabe6b7cc6892ab7b304c6d8c1137abf1bab7867aa308c7690aa29cbd9dcc37c7cb627bb09f7dc6609b18a3c92badfba6560574bfe70b4b3578f1778785754146aac9e2a890d368b7144e7b95e4516adbc2eccc82e81627935bc455d9397ff14828a8c0a84f5a876990d909c481cf0668f9787b9f87b7604b392443d4d16a0f201057d578cb7411532528c190523a06120dee1a291e55d0fe860821b9647d289158163b19748a1477fa31b3e7c048cb93287a3d7760caa0a0bc5c880d6723ae61f4fba744808aae2e3742016c81d371638b883447a1e3db611f241255bfaa48811397989382369ce7a59a3a17c559fa29ca4b7a6751526c1db169dcb7fe00a146f6033cb44207836c405a4aa1c1274c9206537c1b767c9948c533e836a2bc7373c10c7b149ec2cad5bb515186ed9865968801dfab0123e3ac729681754265e8c9a3e9745cb9a770b2aecb473631184832b086a7a2217ab2d553d54aa431567a52f25078c10ac6f206e1e198df76cc6f8828b337685fe84abc3151bc6817a98c5beb0db1b2a4a28a7580747b6330da24561c7ce37d8750952945ce7731983b62a1025f322b515e47442b05a01955b4ad8aa63856345151c8142718e7412ba20aad10624ca489f02fa05307d7163b35ba6a4c5024b70ba27db0de8d64bb8b55c83bfdd24a24e6203d9b1aa5cd06c44f048da7225e33952617f12b4289494b3969857c2ff8b2809fd40008be70a6b184981101724bc3d5ec5e1956b510b82fd5ad0668a5a -m = 26d90b190a6c3d0d9a86cf66005154e7086749e966e7187c249ccb9329fd3b8b -ct = 9a9383485bbf6f27b7ca22520e0e6fd5bebdd764f48da54e6aae5488c01809f6b3acfb8be40ea79b5c6cbcf05aef41b899044475439a267791a8329dd6585e682a513cdb249898aa0e37b83738b0d7e163caa95dd47cf7bb9e49e075a25fb59fd912c69a53b1d78628bf9a0fda31a4f86feef4b70f54218cc76ba4c19c3b687bda6c011f3d5cd3e0cd0e98cd0cce72536b46b12afbbbc65fdb516351e0f2e2b10efaeda2dd2e3724a9d62595e31a085409efad234cbf9b263ee85cc33078645271b873f44d3bac7178a887cd38f4addc7c07e6adf3aa314e0145a308106e62860387a1e25fc8d4a83bae34109394d747596d169b61a9e6e15c58a8ab7b514f03b6099fd1647c6b1a2b2d9029bbe2b500843bc13463ec272749696d74fc18683414239d07f74a4a67e2fbe2894e214c68d79ae7e8bd6b1d4fc32e7a81f79e609605c7bc72a94b5178217b36badf187fc1c655717d217c793f5279004ae942bc607cb2283957bedead10520d4731f5446204c9facb41875f5d474b4b8215085991eda223166a06d660d74a601b7ebb1fe1a6c08c4f6b4d96fc1a5f4852f6f62125d45a1b726bb575d08480d3e6344e961d03e5064e3a50a0771424a0fdf5e1100ffe8655ba86c492e1e081f3de08bcc1b889f44b50f4e6882f9d0a2fd4a1deb96999c057a76c993d830d0b4ac819e1f93b232cfad7eb06286b256faeeaef7cefda3ba6393b29f6ab513051b35be26be7da87614036e02aeab9474b0c78f11c5b78c20fa2a82f6b2ada6b1bdaf47454d6d74c8f534faf8be3f0701bf4b94c960f99cf013304599bdbd5b5b88260e484ce5b12969ca87f42988824468778e867ebb7b3703db69a45756fcb109b876056b9f4a8f8e8892b1e330c763808e3ce73b801acbb481dc4e34bdeafc725f897aeac54bf4d54d360a514a9e030d2e2b5e38ee19972247312bace09b951b6dad73ddd597f3f7e15b0cc6e8fa2cb4a9e6b59bc33d1fe1633434ae722f1e2cbe0fcdefc61c0e27e408049a3c5a2fb7265db303ab1a92427a9e8ab4b3ea9c9c02e3f2e8466be8d2aedc75b4859768b85e7bc9988a1 -ss = 0d5443b3bef02d9032963b2cf16a3c52e4a8c23b5dbe33df592acecf37cec0b6 +sk = 4a057f90101eabd7270e3b51eaa016e7c88b931bab7839776aacc82fc99530e8544a67cf487c002cf289c57c0e2a4811ba9b168a20b5f78208e4b615dd9354ea67c919673b6e5560421776013749c3016974c6044d3b92f585856437b2f7b6627db363260a0f6138445ad21f527592d0facd7c40bcec70c75c72cad891b66ff533ab40c1989816b4c64177b397bee52a4a8ca07cd64997115d339cbaeebb53a2fcc42f851a6c88766c54b0c6744e41e3c1e0c6b3547ba890129641fc10af94ac12c623f44490967242f9845c4f360bea0c3aeba99ff0984c8c2872ce400f8e924c77741d8a861bd2bab8acc4bce2a34324346aed98353e14b52e27890b984102943a7378b641b6c6425441a57c9f1d594cea351f3ca22b74ec09f47714f7b8b41c186ed6548c5b141335a503701459b30017f364180bb4635a83cf0cc2b48293c0e215239241c656664082e97402478d1fe39a9194b8b585c3fe024abae8a60ef70db89336e06214621ac2b69114d8f0a03e2993715241e2e7b45b852d0aa12c84e941137b17a6379b30e31b64d64dabb6935b758aad601e0fa980331319792072cea89fc4819b54f9501602a0c46bb31f9a5165e5bcbc4453b71a04af9573142c3ed98c3f88e83b0dd4c2f4370915a71e3cc5c29e51c9cc1cb38388b9812127ac59aacd5a2159f34f0f40acc0712e106c87cef441deb6089c3196dce4b6b81a559c0bbf7e4097215795549b52857868c907a08497ad0042bd128460d1c88d78b29fc76ba35ccb7748c6cc85eac37ac05a63e76ce24a81d9888d42c83796a9890c09a604ca6e5ba596a3575276474a63224e0224048911bd501c60bb34871581ca0923bec2790740c26d3babb74063b9f668ae037c0a656467eed87b6f6a18158c4e9c753cc6a570043a278233121776198006be0f28c5744b98f3e33483387b56b6ae138122dfb46d0f1014acf383fab60023d619a9ea7a3355536bebcc3670c742c52cc9312be8e182de09aae8b4bad265c8cbfc6715664dd8c67062db10088b6d3905a5fafc415a0337d878cf4feb29fa307761d981db422b3e5b80ee9accdd08cb516c78a4619895f576bc8b3367f99d50aa502f365a5ab881d18044150539084a918d43a002665f4dd155c6bb9363127412dc05df9c9c2df480937507210c8a1a419c9cbc840e54a0734c8a281bc5fa709a2312798c998b9cec0ea947c0e9fc128a51700a21be8841395a2552ffa4645dc67212117131db3b54989bbbd5569ac4cc7e43b4b6a012ed87757f46a8382ccf1c561868ca741e51a554393de04980d3538fd59c6f1c043e6378773675bd3f185f1cec759ac091519aafa6a4367e19b376011adfd48d34521e47b10bf497714f6464388121f46a444ca791ab9b84741518ad082153b2944d61a9ab8689410a7424b653443a9089ab110dd83d91f07adad9ccb6bc05f4a34133248524f5347f2473ab0c18b2fb3da280a8364464cbcb1c62dc7505b6c2cd057de444ba218ba49eca1142281e971bbdf531cabe6b7cc6892ab7b304c6d8c1137abf1bab7867aa308c7690aa29cbd9dcc37c7cb627bb09f7dc6609b18a3c92badfba6560574bfe70b4b3578f1778785754146aac9e2a890d368b7144e7b95e4516adbc2eccc82e81627935bc455d9397ff14828a8c0a84f5a876990d909c481cf0668f9787b9f87b7604b392443d4d16a0f201057d578cb7411532528c190523a06120dee1a291e55d0fe860821b9647d289158163b19748a1477fa31b3e7c048cb93287a3d7760caa0a0bc5c880d6723ae61f4fba744808aae2e3742016c81d371638b883447a1e3db611f241255bfaa48811397989382369ce7a59a3a17c559fa29ca4b7a6751526c1db169dcb7fe00a146f6033cb44207836c405a4aa1c1274c9206537c1b767c9948c533e836a2bc7373c10c7b149ec2cad5bb515186ed9865968801dfab0123e3ac729681754265e8c9a3e9745cb9a770b2aecb473631184832b086a7a2217ab2d553d54aa431567a52f25078c10ac6f206e1e198df76cc6f8828b337685fe84abc3151bc6817a98c5beb0db1b2a4a28a7580747b6330da24561c7ce37d8750952945ce7731983b62a1025f322b515e47442b05a01955b4ad8aa63856345151c8142718e7412ba20aad10624ca489f02fa05307d7163b35ba6a4c5024b70ba27db0de8d64bb8b55c83bfdd24a24e6203d9b1aa5cd06c44f048da7225e33952617f12b4289494b3969857c2ffbb02d701fd1350aab462cb65dac4b2f75928d378dfd7a0360dff9185175538fe +m = 0c7068e5864fae7d1abda0d0a5c1e62fe5e1cfc2c96d82ed6ef180815dfacc66 +ct = 5fce4421e35c13c1a495b901c3aab0707a68c83b9936947080af57be0157a19e2890b87584095dc25bcccf334c23ea851675e2ee34d4b37262c28266b273baded0a839a83690aa34717b5665b00407aab07b01b699f016fd6acbe4f776479a3b648cee82afcc6ee9112e124a4436595def1d924314a9bb1053c6a61b885c2d7f13a35c6079730dfce19993ed895efada3bcdc7656752125b4700fc5dcef07e1977e304203ae0c0b12aa250994f65aa55baac9263c92aa100b3aa902c1ac5b968a253bd102ba61ca3a22f99ffd5f4b92f403d19a8d52d730d3897c1961b5a17c5b368b9480579ffc5cd96059a332fffef4b4573e87be22a497b68bb7f47853f6a94ab13e64abd2c8f3fee0152568efc6cccdf2709d63746250e9555c6fb988f9c1ae07aeadbad3df51bda919e15394cc8115ce57280c724c97aa1c8f6afaad327e539f1e8da5c2b3eacd4fe3cdecee66f629209089d180587e584c0883ae93f7f0caa88214d8b1c1dcdf692583ae76399f29f62e0a15ef771b6d2ba0b242c1fd501c3cb20131f99f7e95d7326c113b5bcfacbfdea5c0cf2b2f218a74af5780dbb8f20163b7cad35bdc8233f433a63f27dd02ca135bff00013202bd43f20873ee5d5590a01883e0c69e176ad06808432e9e6a89e88779e587edb04feb85b59cfd37a19b9f691df250e3dff76ec5dd29bdc6669faafc6997ef298d598b514cc6149c0ef22eccc53eaf6b05b78d4a8d90479e650b2ef570e9877692f759824c2aa04a98b6d449636d68819d3b6253c47bda4f5822983c30ce99d2937da796e9ec120a2f5960824474bbe327fb2cb2769273148f3bf85801917aebedb3f7723e65662922f7704ac102704390965dfedf1cc009953d7b22ecc6c4e291f4facd725249f3e0f34ad2cfe808ec4e978a7cf0642a276a4f2dc13ad0d3e13dfa9288f93ed2c8e0aab6e7350b65d2afc83e639f5606f7dbc86f12d6074dc68af3817f0361e6b593889752b27fbe67a63202ef51a79c095009952bdb2de4c9fd1ea769b96d07ec87ea75f82d3322b9b43958708ed5bc9cdccbde237e07068d12ff6eed527666d +ss = c6894d99e4fcd0e730ddd6285014f798662844a5957db84faf2b530b25963945 d = 6df4385db978d27b27d2aa5e452e4152b36f097503d9581ac3390105c5727e7d -z = c95fa08ed106ce84660e8a4c90bd2b22634e40769aa0090a101c5dddad45edc5 +z = 165fd0a50a39142f7c6faa2bfd417adfa4224858281696965772f448c7ae22d4 pk = 57178f4476049b9483f4357ac027b219226fd5a9c2b9da1f45c9036d55411bb3c8f941b75a844baa7388ddb811abb4cb13d003aee4aeab466a592b77041bae4733b5f1cb6ce2765778b02455c5536a02a2dfa640248c6442398f48a5b8ac7b6e2630b2c1e872a3e752da777eb4607875e0c771f81ccd633961a5c9d5987dde31439dc131f536b083709f7f072dd75533f9c984f08c7fc952878f2b9720da006c3b60f5298ed3921205604fc6cb969aaa69c3f3a230b3865a84a555925c895c58fd19c3b98b7b2d2acb941a44b7e519c7d22aefcab1def18429713772285de2ca225b5489466322538bce1ed99e9dab3443e47a5ce5a9b284008865a4177666345237cb7b796b9582da027d7af4ad28f558e4d7426caa80c3a19400e286799caff5b4bfea5cc04631bf72684983ec67943bc955582575f399fa5c4bf125b65bfb3f2603458c2a1b23925193f6b322a30bf8a566c43032e722961a09386aa2459c249415cc675e27722fe83d53785e2d817391485c7a14c402879a84741b03a87818295dfce827926b34cf045385f26ea08923b7462c5fcb7348bc4a2c207c5d28ce8d71b77d998fda190c41db9ea45351e35c5a4ab51d42702856e8cb07839b89a22c851654ae0cabb3ca66fd0007942789b43061382079bf9b32d3c07d1d903089a78c542113cf086e7d1319fd37b282974db3c41b08e1899fca1ab7f6358ad204a0b937a9d91266da6ed5552baa2535c2ec0efaa9a606dbcc8ce013c1123aceb73809761b0b7523f8981416f819d0803453b58c2bd294ab55b3abd7873371831845a8f4449b798ca3d18a5a4f183b4b16c870f21d36f00d6552907c11c76c547b10c27913d9a39e6340b8d4775a919868689c19e6cc7659c5263529e3f840c0182db1698fb43663e4545b9695889924b5d27a41d014cf8150bb46a59ed6c3890e087b2cb043de68cc98288a1f2bbeebd4ad7bd0880f86cb7093407f393c6af5579adac1f5a35bf08c07a12810b8d28298383ae6a298398b022ad50be3408ca5d11adc6510d1e561eae2b62fe5968e2c826c99a7d9bcad1092a559ca57020b6c163d5181caad6a478ac9ae82ee27f7256f4d4cacddd43f45cfa4de4dd067cdca -sk = 7abb8c9d2275c12685be83c95670454d46c2da45a5ca2c80d033665dd6844ec49465993f8f48513cca870a2b8b80e83c8aa712ac22cd62f0912456c69950a50568ca9c1b257b761a0a452681c484af60b78f7502db391ab51a0099262ae2d65a161ba0111991b5ea15e355cdf0eb5c84c49319169badf29afe15215712299935c2f52707a7dbcf5656568c573e3dc927593bca24c1c7343c268238243018320929c469ba99a7335500032c33ea33a337abeddc3998c19b27f92f6239148a7c0eef419b44d5b2920064ebe56f629319944a11a16868b11887cea11f1d55cf8981738d281baff1877be289b4527eb8a71608b0b292301e4a170dbbc73913203f00573711746f2e021e70499d25559b8a009aef92a661794381a4abdae16ba2eb8db69b67b5a2cc058142b3b9b14272bffb6c22c33008a0d3b4d5981254e28491d81363b24d3aba3b081b9bb7d5522ceb6b77c9403acc6d10db063a68a9d49200c1d6752c36249339ba67f74f79434e75f4858b756387a9b074f32179c958490bc2e6cb10b3615059e50c143bb5d8e3c374e44051c646083c9daee1c8625cca2022511c1b490a593ab8436f76c31dfb8270720b21f360cd8c405a1185927f2a2be09cb81a2a41b4389291a56d7cc90c30699b3bf131da3636e9fc0bd4e582b6a14653d838cb2370e58402a86b65c58c9c70a3ba0bebba2da179856c92c730b4e2ecbee0169408f781b7388b15a6480a3514c0ba5cc1c2545f6547d06588305561b71a514031a5132654f980bfe9e85d5f415422e2815de7c078229740e122b876380c4a80ae6312484c2df2c0612ef55f44c9723faa06259c94947067e54cc3c4651d85bb316ff59c462a67817517004437add183381bcdc554aa820118742901da442679284e0590c4df360d45e428a0a47d397c38b45791fe63b008d2b7830b1eae24005172311736745f935a43f53ecac4411110cb7c335d98b2cd756158bb35c14514c295139c5d46aec9dc377cb0ce7f2040b0852a75fb242da10b6b2a2a152b71dc7cac18c26b2e308202b44d42f17e6261cba326252fe06c0735b647bb2857178f4476049b9483f4357ac027b219226fd5a9c2b9da1f45c9036d55411bb3c8f941b75a844baa7388ddb811abb4cb13d003aee4aeab466a592b77041bae4733b5f1cb6ce2765778b02455c5536a02a2dfa640248c6442398f48a5b8ac7b6e2630b2c1e872a3e752da777eb4607875e0c771f81ccd633961a5c9d5987dde31439dc131f536b083709f7f072dd75533f9c984f08c7fc952878f2b9720da006c3b60f5298ed3921205604fc6cb969aaa69c3f3a230b3865a84a555925c895c58fd19c3b98b7b2d2acb941a44b7e519c7d22aefcab1def18429713772285de2ca225b5489466322538bce1ed99e9dab3443e47a5ce5a9b284008865a4177666345237cb7b796b9582da027d7af4ad28f558e4d7426caa80c3a19400e286799caff5b4bfea5cc04631bf72684983ec67943bc955582575f399fa5c4bf125b65bfb3f2603458c2a1b23925193f6b322a30bf8a566c43032e722961a09386aa2459c249415cc675e27722fe83d53785e2d817391485c7a14c402879a84741b03a87818295dfce827926b34cf045385f26ea08923b7462c5fcb7348bc4a2c207c5d28ce8d71b77d998fda190c41db9ea45351e35c5a4ab51d42702856e8cb07839b89a22c851654ae0cabb3ca66fd0007942789b43061382079bf9b32d3c07d1d903089a78c542113cf086e7d1319fd37b282974db3c41b08e1899fca1ab7f6358ad204a0b937a9d91266da6ed5552baa2535c2ec0efaa9a606dbcc8ce013c1123aceb73809761b0b7523f8981416f819d0803453b58c2bd294ab55b3abd7873371831845a8f4449b798ca3d18a5a4f183b4b16c870f21d36f00d6552907c11c76c547b10c27913d9a39e6340b8d4775a919868689c19e6cc7659c5263529e3f840c0182db1698fb43663e4545b9695889924b5d27a41d014cf8150bb46a59ed6c3890e087b2cb043de68cc98288a1f2bbeebd4ad7bd0880f86cb7093407f393c6af5579adac1f5a35bf08c07a12810b8d28298383ae6a298398b022ad50be3408ca5d11adc6510d1e561eae2b62fe5968e2c826c99a7d9bcad1092a559ca57020b6c163d5181caad6a478ac9ae82ee27f7256f4d4cacddd43f45cfa4de4dd067cdcacb2e9159ab5225a75d02268af2dac89a0afb33fe83a45f552e2bf542868c0683c95fa08ed106ce84660e8a4c90bd2b22634e40769aa0090a101c5dddad45edc5 -m = 7db6d1a129d6123f1f805b79ad3b413012ea86aed42a05e98e7b1f32f9fbbdec -ct = 28fba8192211a24d30e5df68e14c452d8f7b7f3dd73656d44fdadb8656b781c31764cafdac1ffab8ddbeb023fe21c204fd5630d5e8372bfa70fcb74361f3e94206bd96eb9bcf2a31e81b8a224667ee902331b52161069290624e3ac946138a8c781054faaf5204e6fc0f35a5dab5872f1a550fd4b1ad74cc5fa7803d46c892cde6b59384abb78ea50cc1b0156821e3b6669a6a2e1cc7d70e8c3fa756205cb00f453ed0d4073fa32cc14bda285d6c055a975f1547eb854d8154e6b75e883a061c403dc58a350462ae417335828bd9b41795276a20582e936a26afa3e716af33e86a5801f931c8eaa3cb1068f16c762b2bea582e646e87c01b4c9cb91a7cd8ddb06565332d982dd4879531dea11821b751197800f69a4aeadda31665e8afcf304687f1af4043a47cb3fbdbcf0fbe3ecbb2af4f13a2160d30d97d46e285a279b03612634adb40dcd6672fc4fa0de5f26900b91e6bfb88b2461591161c91f3b241e1f3a7427ccb779db2d491b57ea59369d7795892795148da29f99b0920eedf24d9fb749ab4a89f80a5fe4d10ce36682d9d4f2d945442195787a632069782f2deaa570cbe193c8e4a34c231b57a258f3c38bc7c6f9db60d56025e443a5c1237f46d99bcc3bd55b36846e9a27f91847595ab61365240744158699624289c13e83d6715db015e63a7492dfeb380cad8657adfbccde70586f82fcde18f2fe33e715c025036f4974efd5f74f5c05f339bb59e2d8943901fe0121aa3087af81f76247386ee6f7d66840abb52d8f736e0da9ec804a2d50ecd583813d654e2fa0c6234e990050547e58cb450dca32530d933092220a285d3a6719aae4d47bda54b13632eebad5c710d74c7249058583f6d4aef476dc4bafe91da5757c843940e8047deaa726fd79401337d79a43a4545707d2a38880f215e5a9e1945490ffb18aa79db924185fcede354328a67166473958ffcac7fd633d59f8868503a4800679b3b704bf25222c27ab32e2770c7f724176d7a196c0c05c4bed1804bb5fcac957308808db9ac5307317d3b49dd8b536a3b465f96729b667b3a86350c097bb19fd18de55c4d -ss = b4677fbf9553296d425365d1d4dbe02ea20bc901e12744e78deecde03638afac +sk = 7abb8c9d2275c12685be83c95670454d46c2da45a5ca2c80d033665dd6844ec49465993f8f48513cca870a2b8b80e83c8aa712ac22cd62f0912456c69950a50568ca9c1b257b761a0a452681c484af60b78f7502db391ab51a0099262ae2d65a161ba0111991b5ea15e355cdf0eb5c84c49319169badf29afe15215712299935c2f52707a7dbcf5656568c573e3dc927593bca24c1c7343c268238243018320929c469ba99a7335500032c33ea33a337abeddc3998c19b27f92f6239148a7c0eef419b44d5b2920064ebe56f629319944a11a16868b11887cea11f1d55cf8981738d281baff1877be289b4527eb8a71608b0b292301e4a170dbbc73913203f00573711746f2e021e70499d25559b8a009aef92a661794381a4abdae16ba2eb8db69b67b5a2cc058142b3b9b14272bffb6c22c33008a0d3b4d5981254e28491d81363b24d3aba3b081b9bb7d5522ceb6b77c9403acc6d10db063a68a9d49200c1d6752c36249339ba67f74f79434e75f4858b756387a9b074f32179c958490bc2e6cb10b3615059e50c143bb5d8e3c374e44051c646083c9daee1c8625cca2022511c1b490a593ab8436f76c31dfb8270720b21f360cd8c405a1185927f2a2be09cb81a2a41b4389291a56d7cc90c30699b3bf131da3636e9fc0bd4e582b6a14653d838cb2370e58402a86b65c58c9c70a3ba0bebba2da179856c92c730b4e2ecbee0169408f781b7388b15a6480a3514c0ba5cc1c2545f6547d06588305561b71a514031a5132654f980bfe9e85d5f415422e2815de7c078229740e122b876380c4a80ae6312484c2df2c0612ef55f44c9723faa06259c94947067e54cc3c4651d85bb316ff59c462a67817517004437add183381bcdc554aa820118742901da442679284e0590c4df360d45e428a0a47d397c38b45791fe63b008d2b7830b1eae24005172311736745f935a43f53ecac4411110cb7c335d98b2cd756158bb35c14514c295139c5d46aec9dc377cb0ce7f2040b0852a75fb242da10b6b2a2a152b71dc7cac18c26b2e308202b44d42f17e6261cba326252fe06c0735b647bb2857178f4476049b9483f4357ac027b219226fd5a9c2b9da1f45c9036d55411bb3c8f941b75a844baa7388ddb811abb4cb13d003aee4aeab466a592b77041bae4733b5f1cb6ce2765778b02455c5536a02a2dfa640248c6442398f48a5b8ac7b6e2630b2c1e872a3e752da777eb4607875e0c771f81ccd633961a5c9d5987dde31439dc131f536b083709f7f072dd75533f9c984f08c7fc952878f2b9720da006c3b60f5298ed3921205604fc6cb969aaa69c3f3a230b3865a84a555925c895c58fd19c3b98b7b2d2acb941a44b7e519c7d22aefcab1def18429713772285de2ca225b5489466322538bce1ed99e9dab3443e47a5ce5a9b284008865a4177666345237cb7b796b9582da027d7af4ad28f558e4d7426caa80c3a19400e286799caff5b4bfea5cc04631bf72684983ec67943bc955582575f399fa5c4bf125b65bfb3f2603458c2a1b23925193f6b322a30bf8a566c43032e722961a09386aa2459c249415cc675e27722fe83d53785e2d817391485c7a14c402879a84741b03a87818295dfce827926b34cf045385f26ea08923b7462c5fcb7348bc4a2c207c5d28ce8d71b77d998fda190c41db9ea45351e35c5a4ab51d42702856e8cb07839b89a22c851654ae0cabb3ca66fd0007942789b43061382079bf9b32d3c07d1d903089a78c542113cf086e7d1319fd37b282974db3c41b08e1899fca1ab7f6358ad204a0b937a9d91266da6ed5552baa2535c2ec0efaa9a606dbcc8ce013c1123aceb73809761b0b7523f8981416f819d0803453b58c2bd294ab55b3abd7873371831845a8f4449b798ca3d18a5a4f183b4b16c870f21d36f00d6552907c11c76c547b10c27913d9a39e6340b8d4775a919868689c19e6cc7659c5263529e3f840c0182db1698fb43663e4545b9695889924b5d27a41d014cf8150bb46a59ed6c3890e087b2cb043de68cc98288a1f2bbeebd4ad7bd0880f86cb7093407f393c6af5579adac1f5a35bf08c07a12810b8d28298383ae6a298398b022ad50be3408ca5d11adc6510d1e561eae2b62fe5968e2c826c99a7d9bcad1092a559ca57020b6c163d5181caad6a478ac9ae82ee27f7256f4d4cacddd43f45cfa4de4dd067cdcacb2e9159ab5225a75d02268af2dac89a0afb33fe83a45f552e2bf542868c0683165fd0a50a39142f7c6faa2bfd417adfa4224858281696965772f448c7ae22d4 +m = 5486a0032681ff89526326cc4bc085b8023614dd1621850619c6082483d84c0d +ct = 9fa17d9eec76d802fb557a9ef9b03e69856fd2c6f9510a672e5d39e151032766dd0dca2d2451b991955c53dc40f8c01af23ec8f8861991d6b2f599dab304ab077b43f5eb78b13f3d9d247a7093a5cd9d7a3005f9ec35adaa553331bef697c344286b32b48f514d2ae00b719c88a9e69ba02ae9d32460bfdbc438257d621acaad790d84c01681274cbb1341a9ceaf485b5da1fe2c5057290cc5a8ce42d441c55022b05732e00fd627478712a6223693b6ebb16976d4b19f2e760ef49ae3bf3db5227632ca1279cf99476f63e7eda1e5216f67906a4b0c2a928affe10f74a898daf53a8d2f47150ce9230fb60c3d5859ef4838cfeb8cad4a06cac18b825c56655f083e2d8a73ee34c492c69fcdb172bf9d6881cce1b806453c80bdc470b8c7c0db6d44d29ea2eaccbb0efa78f6487057edc806990b4f9975edcd1ea3fb9abc38fb191b77eda7b932ffefe0ba07c7423c7c9af0b636c4e7f32f67680855f9dc23b72cd75d0737e20a0a815a600d1880a11f774120f663594b0be8fd12822b0d89f11636418d48ec72006bf20ad14c0d223c9c66e72c8c62d8624b147426a06db56a51aa8456a69e154e7c9ba4a86f68d0be736d91f1de9ff70f577ccdbd9c09b9e2602d280d71ddaa4821baffbad09d05ebb80bd42e413e596e3021a11485ebdeb65e2b2c4feb323d6cf722a464f4313c8bd99ae13a77a095a3165ce311f67e1d35a36f1cf9bb13ce64451d91078e69dd14f0f52af21f5129da78a61405a322590b671fe66414f99c497b6e79ee06c2089426e07d05dfc82e118fe5c63b90f295e32717c3b13bff1ca134e6389a5a284fce68020c9410610083d860b40802de77d62fd61bdae0928212dfbdc57f7a8c9c2c8b11396ffb5704065bf977dea1f787d7226eb14c6194c6dda4d06598979485cbc87dbbe5cf1be2ceaf10c5278020ad547f5883f2daee363ba01c41c18597e1898654ba053dac118e24ed469805e26b3c4c0ac61082036a8d45dead90ed8ca12772772c3e36eee705d4ff2739ed43c7d8c3f867ef8cb3f35ca12d57a0a2f669b15ffb54fe4d7b743c35d5d1fca784bb2d +ss = 1d75599e35bfff36b2d59f5b179b30c0f8216690761a0b39a6ef4d9fd6e6cc3b d = dbacba825728444921b227cdba54446b3f6881b47be9cd02832f78b023b1bee0 -z = e15274a8e2bc08fe818b117ba28c5dfae74d54fcdf6f20052f79be333edc8dde +z = 171ebb1a64c173b3d4d997c12f734d2d57fa2127052887dcc6461fcc23b66fec pk = 88b88ddb2517569570e3b33d93928c62ab5680c31939a085255311d039144ffa338bc7633516c32144ab0a85869d0809b7ac8d4e4b6e6df00cdf36600e4308f395c1a9821a47126623827c489ab73a68104caa3f75558e596811417c966fb38ea85b703fd13004db91e1eace232664c06a8e85a35346b56a83e89aeea01cf009a02223312397185d9c801aa5672d61a56ff22b34016b7b2b1c20b7b739ca5319206b1ac42fd991c2fd959f63471431035830e122dce7cbe1c416e5a69d5a766d7959b5817177e6b29b450a7ce080969a3603b738b23916265852c837104499c8658e8cab078bbbea91b4a9e2a5394aacd8f2bf0f94107509c69bcc9b7094512f6a4fe9411b3cd77200f63087e4b205f40d9d08a6d093208bc2311a299e7c722c55f50bf01a75bff5bcf95780a4496e00431e6978a6396c1232ac08f6db5a2ee3b5cba66c67b0c431b165fe83a62e0801a3e65f8ae30b0f2477892133bf9a1d03d4a68b96b726392908da8c554b32a5c59a839661e77c6fcbe9bfad441be0bb9767a2368d216d1e136ad5b334f775c296c1bd69930dec23a72dc30ea45636bcd242d5f38b91aa23fed98d7aea5d2d173d33c034311807c480981c141821a962c92951fdd77906817f63000b966311f584b31bbc4ac3469cca648beae1b4582697acf62a832a455f169e07860eaa4856240a1e48814cc7393a2c7552b29911915250ea677a7fe3561229421bdc31c56ab2cdf41fb16040b7f83e198a581fea0753ab8d388b677e693fea102fc5e99fefa215c178ac1a178e64c4227743a98f428b80f91bd1acccf8e4c80df483c5997438748155538edfe6445c7026f7cc1fbb8016260a0d86e19338d7255d84817929a026ac9c96bb215f125997e311f0807224d12322156bb4e320404bb6ed190bb4a1871ec9b274088b0d584a9d405f0ac08114391622f893d6cb8f9a11a9e19c803c4365656129514a49de618aca46b47317785be7493218a5d6f879f121bd1a852110c5145ef7585a0179fa1c1aca7c4b42109efef4886454807bf40a06064b88b740d0fcab975b5d3df74ac7bc20f4f8265f846a2dbc4a0dbb11c51840059ec11bf6cefa3ab473e1cb0f0bd17ee0bc3c59 -sk = c5e71ba70a7fbd9046d9657d4a704a9bfc795c663cfd48c95f398aacf1bff4b47bd2f05da81a44f4d900d8b80ba98a1049a83a477012668207ee088e2e46c384c3623a201b651c1aa9a97fe2628b0cb21a94e4ae83514f97e43b23370aeb0444f1a806ed49487096896f629a115cc1bc34a1943347fa4b4237978c50d23e57e9bac04a996480404234c398d8c9d2059278706e72244df23c20111b5f0a94aff729663046025b52ccc67813807b74db53521d64cc88ac6bf08b659a4c23fad33485c7511d6b2ae6497b7766a1ec455b217c9818ea85bbc117a385bbab3797664557ab9675c2858b8ffc46ace6a6a35c70006ca066226be1d5521fc553196271bcd80231378016e49cc2c90a90c531ac02b39e4b1754136be05bb653f3a7b17cb9d0a950b2c04f75f46c4a35ac2c2031d813ae2466149a657a5ae189bf8b898db71c51571993106daf6aa096400e78e129fde3a39c3a4a28d37650078b80a505f656aee9b2c04c942fee7542176acb9f532feec5a047c8ce2b18832f252394d73845305fe0ea9498da4517d93ecc63836f976b0979181e0c4a821a9bba5a62fb27c801da1dbafcc7d3cb5db4e8523500be1318184df976f5c842d5950a9f26015cb60b6d9368554a9c6737b47b44b736681fef583aefb2083fd98691ec4343704bf5bb4aed8c1f99e41558cc72d549c493463037b99fbf8b431233136be5166bf522a7064bac3225ad790998f79bb510c42f0726e95103656b4503fc8af37acfd471bd2314247966cd20d95383b8214e1a2b5aac7e8201312a53c663fa163167afade668f61779f9d82742e9aaa2d25a6c4c1dda295f45f33beac46502f503b99c6473a0904bc7a3fb410f1122a16d073f2535b991729bd29159865b592194bb3855ab2899c7cd2a477c0ac24ce6642004b34dc26173d11b4eda8ea0a60fce857a9f7875b1f0574535a605b5344160c813ea068fdccbd2839441d80a16acb5733c2625739db723a71ef0a8138761b81a7cbbeb679d2406f50557945a12e099466ce4619067a61afc113978aed60025b2bb855159a774984f02e92875846bc60b5b88b88ddb2517569570e3b33d93928c62ab5680c31939a085255311d039144ffa338bc7633516c32144ab0a85869d0809b7ac8d4e4b6e6df00cdf36600e4308f395c1a9821a47126623827c489ab73a68104caa3f75558e596811417c966fb38ea85b703fd13004db91e1eace232664c06a8e85a35346b56a83e89aeea01cf009a02223312397185d9c801aa5672d61a56ff22b34016b7b2b1c20b7b739ca5319206b1ac42fd991c2fd959f63471431035830e122dce7cbe1c416e5a69d5a766d7959b5817177e6b29b450a7ce080969a3603b738b23916265852c837104499c8658e8cab078bbbea91b4a9e2a5394aacd8f2bf0f94107509c69bcc9b7094512f6a4fe9411b3cd77200f63087e4b205f40d9d08a6d093208bc2311a299e7c722c55f50bf01a75bff5bcf95780a4496e00431e6978a6396c1232ac08f6db5a2ee3b5cba66c67b0c431b165fe83a62e0801a3e65f8ae30b0f2477892133bf9a1d03d4a68b96b726392908da8c554b32a5c59a839661e77c6fcbe9bfad441be0bb9767a2368d216d1e136ad5b334f775c296c1bd69930dec23a72dc30ea45636bcd242d5f38b91aa23fed98d7aea5d2d173d33c034311807c480981c141821a962c92951fdd77906817f63000b966311f584b31bbc4ac3469cca648beae1b4582697acf62a832a455f169e07860eaa4856240a1e48814cc7393a2c7552b29911915250ea677a7fe3561229421bdc31c56ab2cdf41fb16040b7f83e198a581fea0753ab8d388b677e693fea102fc5e99fefa215c178ac1a178e64c4227743a98f428b80f91bd1acccf8e4c80df483c5997438748155538edfe6445c7026f7cc1fbb8016260a0d86e19338d7255d84817929a026ac9c96bb215f125997e311f0807224d12322156bb4e320404bb6ed190bb4a1871ec9b274088b0d584a9d405f0ac08114391622f893d6cb8f9a11a9e19c803c4365656129514a49de618aca46b47317785be7493218a5d6f879f121bd1a852110c5145ef7585a0179fa1c1aca7c4b42109efef4886454807bf40a06064b88b740d0fcab975b5d3df74ac7bc20f4f8265f846a2dbc4a0dbb11c51840059ec11bf6cefa3ab473e1cb0f0bd17ee0bc3c597f8d36076b3a8aa13b633650726f7e907806a0573402ef3af129f611def1a813e15274a8e2bc08fe818b117ba28c5dfae74d54fcdf6f20052f79be333edc8dde -m = 1d129b27be7384c359d04311fe5c44917d1fde4bfb57314f483ac617edd5ac49 -ct = 72745baa03797bd4dfd61069e1841746e8214fbcfea37bfa0e04382a4f8adfcb768ff51d96a4f052644211e0ab9101f27bf93ab7ab4e79f58811b21b33c1fcfbe62f3cd0a194e31791600a896c539908f16344cab0f1e9005d823c4c504ba68ce2eab9f9fa59fb80e6fb280b29bbf4ff298dd6ca50f27fed32b1b5d6a53cbf7193158e126de6ecc10487375587122cd516ba7b809bbafb9b609bd18d0270edcc8b202a2ec005b79ed42bb673d8bafc2829af8c9a5f8465c09e8b20781063e8942c7c1f313271e9b97c06ca64486b63e9ca046b80a6c6d156dd2220b30142dfb08fa485916f2ffffb5369841f80702340b010ef31ddf0310a901a53a4785eccb99446572f3fe792ea077d0327312d849bfee9aa08528d6bcfc18cfd86e935ffbf4d0263706def966670397e3f80cf9adec48e8422a429c49021206c988d0279853e7f6174b429081fa30e6798d6f800617474f856e48762447aaa814cfbda0b31f5f988a2d13bb63106f4633926b8b8d72fbc199fd47d71251369ac5cc2b65afb9c50c9029076e76508629f86c6a485b6c804edfb52638efadd177ba1b8ec79f905f37fa44e54f0c697a0b9aa6309ce0726c302579d02eebb0576f4a142e7dba74f146863d9a2f790ec070e07529b484bace785b83cf735155733b47d03f6efc6539c2b7d59a5ff484c533a5115eeb7a1016c14fda7db7aa6969369c3a64504abf2020b75feca9c8bc07d3727ef25f232ec426a59a605490507e378985dce31df8d911416e3e18721ad907954649f6d0f6b18030ffb6bc77f2c74ad702c3489fc10caa41cbbc63f2b0d5c7700f558a7c296c6defedb7fd4593230556ceb1cbc76b4b4c2d38bc128248540690141db7228d25ff05b75596317f2ff8e658a008e18f0d2434702c2c122673375b39242c9d4badba5fd7f04549f9e27a8b9fb8404cd32f1ec17d02951b7743a3816b85b6e0460335bf7bcb3e992be02f906cdfa5995a1a06170ec86fc1739a1c0b9018ce30d443bceb38133adb5a79f4ea961a97270cb1be6cc9f97cfb91a5a26144bb3075bf1c888f49067ac5f7f92f04f72a0fe1a -ss = 8f8727cd74add8d53f613c56a81e77d446acbe52be9241edc9cfbfd44e771fda +sk = c5e71ba70a7fbd9046d9657d4a704a9bfc795c663cfd48c95f398aacf1bff4b47bd2f05da81a44f4d900d8b80ba98a1049a83a477012668207ee088e2e46c384c3623a201b651c1aa9a97fe2628b0cb21a94e4ae83514f97e43b23370aeb0444f1a806ed49487096896f629a115cc1bc34a1943347fa4b4237978c50d23e57e9bac04a996480404234c398d8c9d2059278706e72244df23c20111b5f0a94aff729663046025b52ccc67813807b74db53521d64cc88ac6bf08b659a4c23fad33485c7511d6b2ae6497b7766a1ec455b217c9818ea85bbc117a385bbab3797664557ab9675c2858b8ffc46ace6a6a35c70006ca066226be1d5521fc553196271bcd80231378016e49cc2c90a90c531ac02b39e4b1754136be05bb653f3a7b17cb9d0a950b2c04f75f46c4a35ac2c2031d813ae2466149a657a5ae189bf8b898db71c51571993106daf6aa096400e78e129fde3a39c3a4a28d37650078b80a505f656aee9b2c04c942fee7542176acb9f532feec5a047c8ce2b18832f252394d73845305fe0ea9498da4517d93ecc63836f976b0979181e0c4a821a9bba5a62fb27c801da1dbafcc7d3cb5db4e8523500be1318184df976f5c842d5950a9f26015cb60b6d9368554a9c6737b47b44b736681fef583aefb2083fd98691ec4343704bf5bb4aed8c1f99e41558cc72d549c493463037b99fbf8b431233136be5166bf522a7064bac3225ad790998f79bb510c42f0726e95103656b4503fc8af37acfd471bd2314247966cd20d95383b8214e1a2b5aac7e8201312a53c663fa163167afade668f61779f9d82742e9aaa2d25a6c4c1dda295f45f33beac46502f503b99c6473a0904bc7a3fb410f1122a16d073f2535b991729bd29159865b592194bb3855ab2899c7cd2a477c0ac24ce6642004b34dc26173d11b4eda8ea0a60fce857a9f7875b1f0574535a605b5344160c813ea068fdccbd2839441d80a16acb5733c2625739db723a71ef0a8138761b81a7cbbeb679d2406f50557945a12e099466ce4619067a61afc113978aed60025b2bb855159a774984f02e92875846bc60b5b88b88ddb2517569570e3b33d93928c62ab5680c31939a085255311d039144ffa338bc7633516c32144ab0a85869d0809b7ac8d4e4b6e6df00cdf36600e4308f395c1a9821a47126623827c489ab73a68104caa3f75558e596811417c966fb38ea85b703fd13004db91e1eace232664c06a8e85a35346b56a83e89aeea01cf009a02223312397185d9c801aa5672d61a56ff22b34016b7b2b1c20b7b739ca5319206b1ac42fd991c2fd959f63471431035830e122dce7cbe1c416e5a69d5a766d7959b5817177e6b29b450a7ce080969a3603b738b23916265852c837104499c8658e8cab078bbbea91b4a9e2a5394aacd8f2bf0f94107509c69bcc9b7094512f6a4fe9411b3cd77200f63087e4b205f40d9d08a6d093208bc2311a299e7c722c55f50bf01a75bff5bcf95780a4496e00431e6978a6396c1232ac08f6db5a2ee3b5cba66c67b0c431b165fe83a62e0801a3e65f8ae30b0f2477892133bf9a1d03d4a68b96b726392908da8c554b32a5c59a839661e77c6fcbe9bfad441be0bb9767a2368d216d1e136ad5b334f775c296c1bd69930dec23a72dc30ea45636bcd242d5f38b91aa23fed98d7aea5d2d173d33c034311807c480981c141821a962c92951fdd77906817f63000b966311f584b31bbc4ac3469cca648beae1b4582697acf62a832a455f169e07860eaa4856240a1e48814cc7393a2c7552b29911915250ea677a7fe3561229421bdc31c56ab2cdf41fb16040b7f83e198a581fea0753ab8d388b677e693fea102fc5e99fefa215c178ac1a178e64c4227743a98f428b80f91bd1acccf8e4c80df483c5997438748155538edfe6445c7026f7cc1fbb8016260a0d86e19338d7255d84817929a026ac9c96bb215f125997e311f0807224d12322156bb4e320404bb6ed190bb4a1871ec9b274088b0d584a9d405f0ac08114391622f893d6cb8f9a11a9e19c803c4365656129514a49de618aca46b47317785be7493218a5d6f879f121bd1a852110c5145ef7585a0179fa1c1aca7c4b42109efef4886454807bf40a06064b88b740d0fcab975b5d3df74ac7bc20f4f8265f846a2dbc4a0dbb11c51840059ec11bf6cefa3ab473e1cb0f0bd17ee0bc3c597f8d36076b3a8aa13b633650726f7e907806a0573402ef3af129f611def1a813171ebb1a64c173b3d4d997c12f734d2d57fa2127052887dcc6461fcc23b66fec +m = 87d356bedd39170c21194287fd3095c451b1e877de2fc9e51b58294672311a75 +ct = 00a0a2761716f03c8be5e0dc6b0c2960d3db6ade383da7df1f9fa2cfb938fdd499f07ac364699e1da08983e37b842cc2da8524b27bbd332e6c6e3c752770f331c010797937d0f01cbac7215c8db8711c39ba4480138102c71a7119f5ff2f3a85a798b16942240b9e3836dbb79d92a72134100dd40b4b5cb9565fcf80ef4bef523aeb8af23186ebaee252de2b3611c058e52c459a6be5f78795f74bc352600d6f99d5455525897522ec2c13e99883a5e71b2ee3b2bc0ecf6a83d6b4af9360642bf39c9176c89fa6a4cc220822245c76c52e2e564dac81c289ad5317b3c20d34c8f4220bb48ca5b560cff6a10de9bf95ee438060abcc2c21447f4ccec9c0543aa50016e299b3bae5572a1e8b6cfae93045785680bdf3cbe2e727d4095448c9b8e41efedec6d9bd7df93c75e6c877a9f3a1957c507810681c1771f4d3a78af522b870b116df530a807ae2af3df1322e0b0e3b22532e59e1d6f4709ca14f8bf4a7a74425ac32706599d74775936e825434e1797d09e7c9c0332e61ae17c708fd98b2e75f39ef339a696bc6efe5773326e53894d3d9659bfb16cf83d7a1b217e1c14608f030cb84bbc0ca1d5beb7bb9fa85640797788611062f419763d53af1cb9ef1c7a0762a4e71133625a6fe2d36f8bea6317f5d53938f7cba05850abbbfa9a2d9d2280683844237317cdf8eedfca745b325e3867bbc139451ae38dee83723e0c356b43f717e3c067406c6b3b19dae48123830074f9e2a77095636ec1895238ce8d9adcd74a3fe7039be98843c3101302624be3b7c1d6e174198b9953d667fee6468cd2032446f5328c66bd612b4309ca72ac032108b6d67cbd30838f23eaf92963daf911c04a2b05e8708158914efdac7bcc640e0924eb653047744aa43f77cd9dc5c16ea2d586851ac8d2dce6a34e61afb3a290c73bade2fd0589da463e8b07c89b5c0d30eab01239ad5bd43c58c475c6c0df35115dafea2025bf3af7a07ef6cb05c7dd39516767f9f24b3d375a6ba21523a3b9d618f81ab17d5586ba57a959feb677d87efa815abb2cd4c2a6ae871799cd7631740763cc63962c54e9e822fce +ss = 09795c6cebe34f0cf5bd359a589cdbcac78e0a62860cc8a209617891ceccc996 d = 690eb71fd7052b906eaec09937a8ed374e0b02afa27c2f14399932be5839fad2 -z = 81c38c2cb5cfafac81b96a810ab749b61806b6d54c9f8cf4bf1be0192423288f +z = 0b472c6da19b790e6c9591ee625b42ca0fc04fd9f69d72ce4efdb3b9ed8d9c29 pk = 5900914fc65434ab614df28f12e7206f50784d52417763b09de06a433b1665ca88c8e303129901536b1c99d284f26954dffc9a27cc773c365f42a3440f244012cb76761c7fb0108323f8224d5b6936a2a0ecfc0874d6139a9c300d2505a2d10d926b05cbe404e5e764a1b353bd5c34d86a1ee2230387857f97d0ca13382f2ffc8ffb23933803c52af449c29042c4ccc7d06a2c3272786be7cd4642588d90ba7599024428c055c2ad6232c02a83a27fa7150c1c503dc421410ac376056933d3305f76bdd399851e8952c110693b99ba35dc3a337b9bf6cbc370c6a69f593add08149d88606931b363a470b2e16b3f688ab1f1478b2b9255942b86718082a2663f7939e893a5dce006da504f38e98c4ccc36432a491ce18217932dee5070ea27779697274457bb6930b4cb34297eb39c01923cae32835aa7803722908e9b3c6b488a7f46676b1c4b4218720423a809116a41e59577c8c89afa582a8a8b2bda1009bc8b48e58d08a1b418f954460b8ebde004870bd0b7e082d3c7af5ddb4980c2acb9510a12352312991368295adc166bdf522ad76a59ffc974e4cb04ff8034896bc40a8ca508300e411732d8e729b78006d69482e1704ee70c4e8576c003964f6ce60bf7d5a2029c03a8b778b65556a70c617790c2541a9a8f37b23096401b984c99e7459dc38436d210e7186bc7f070ce1574a8c17298a82557612c19940cc1056b92b2b13a8a2f93e83d635190ac1c5e093891aa3cc6d9a98c5b30793fab0aec423b09ba6dbff15d5e8522f86aa877000ddf9752f17b082768929ad7ae1122c2da818db93c52a1d921c7ba26fb857d3ef1c11d925635f050b4a89a59262438a7a7eaf30fd5bacaf319ce957b42ba7a1de408346e393d231ccd545081ed338250661a65eb45d5c05c5ee73c99538a7bd4c65442a14759188037670746906b35484fd01b89526dbc94123975087402b558d3c611040c65a9a2cc4c38f4a871b1a764a170b85b5c12cca551e6e466c8889798fa0359149de8d885d11a3c94ca410cb9c91567750df354c055c0e76934a72241af2b01254922a708038e5c5658e2ba10d057c2e5851e08e31fd88af2f84b0cf79a88de834c1f17c7a5fa17d329caa0 -sk = 4dda3333b34f27f44bf9813dc1db6cf44514b2eba571b3208f1209bf2740d3177d9bc40cfd381bc045a6e371707342271cf861e5f8948e2543ce5c72c377b80c96616a677b2ec143f035a51f0188a5a44f0d5798b3d9ae1e4b381e038dbd854eebb768b6cb1303d88297576575a5814cdb58f91ac9b9ec539fc212ad3ac108108eef061afe15b4b751057faccccfc3291d002ff4ea758e9c4781436967881d3969ccabe13789d65928ea3ca697a3e0e4499c0168f9599ae8447ee892094cb376d008979441634dd9475bbc3aad9a54ef37a576e551455196e627107aaba907eb57ed2a38a5db61881b99c5e3bd0ec9205ae363a40473f2e83face2bf613b3e87da3186a2c60571bc36dc4d1be99e8c42ba13745f180833880042bea83915733038ab250fcc32dec0c7b531bd6720a94e3c9dd784984f49cd19c14e74849f3c157b1f708160e4365a816936fc665682796406ab1e213dda2130be82cdb83569d6739fc7405090193a63cb0f31c3a76500a9f1c31663643dd55050ef1b7163768dbc35cc4de9adf01094bbc44556f681cd83bd1b44c02a90323832b8f6d3cb6f706b16373ee00762089b85bcca993f703b1f4833a45497de593794b700c24cada428c9a82627b5f5663f08a440a473d5312ece374914376749c1c71e1b8a17315432707d6db0c4560921989c95d414c9ac2a28e3f226bcb608fd69ccdc5a587291b132e4597184871b8885b22700c1f1780ccc5c27469ee9d811ce1a0880573b7fd392b19374e74ab457d8b1ddf5680852067e02838450209ce87e8fe14b4c068c51e526f7e31cfdd7b10a642c37536926ea6464d0548876610ad3ab54e6a6cdb60d8f4727b3947f03bc8a06897ae8901f686b7b7f96a1318c2ae42bb73c393053343e18f7ccda60bf2f5275c7259b8a6a77b9c9989fac317d9230cce67f14c5121e91a61e9306de506989e96d3be6aa5a7c6198912ba89457b97023872358a7b21bf2198cca4653fe125188218236454dc0174dbba7a462657c56507cc0f02309a6477e0ba6592bcd48c26c414c776cc126a346529ca972c3f272755612c12b185900914fc65434ab614df28f12e7206f50784d52417763b09de06a433b1665ca88c8e303129901536b1c99d284f26954dffc9a27cc773c365f42a3440f244012cb76761c7fb0108323f8224d5b6936a2a0ecfc0874d6139a9c300d2505a2d10d926b05cbe404e5e764a1b353bd5c34d86a1ee2230387857f97d0ca13382f2ffc8ffb23933803c52af449c29042c4ccc7d06a2c3272786be7cd4642588d90ba7599024428c055c2ad6232c02a83a27fa7150c1c503dc421410ac376056933d3305f76bdd399851e8952c110693b99ba35dc3a337b9bf6cbc370c6a69f593add08149d88606931b363a470b2e16b3f688ab1f1478b2b9255942b86718082a2663f7939e893a5dce006da504f38e98c4ccc36432a491ce18217932dee5070ea27779697274457bb6930b4cb34297eb39c01923cae32835aa7803722908e9b3c6b488a7f46676b1c4b4218720423a809116a41e59577c8c89afa582a8a8b2bda1009bc8b48e58d08a1b418f954460b8ebde004870bd0b7e082d3c7af5ddb4980c2acb9510a12352312991368295adc166bdf522ad76a59ffc974e4cb04ff8034896bc40a8ca508300e411732d8e729b78006d69482e1704ee70c4e8576c003964f6ce60bf7d5a2029c03a8b778b65556a70c617790c2541a9a8f37b23096401b984c99e7459dc38436d210e7186bc7f070ce1574a8c17298a82557612c19940cc1056b92b2b13a8a2f93e83d635190ac1c5e093891aa3cc6d9a98c5b30793fab0aec423b09ba6dbff15d5e8522f86aa877000ddf9752f17b082768929ad7ae1122c2da818db93c52a1d921c7ba26fb857d3ef1c11d925635f050b4a89a59262438a7a7eaf30fd5bacaf319ce957b42ba7a1de408346e393d231ccd545081ed338250661a65eb45d5c05c5ee73c99538a7bd4c65442a14759188037670746906b35484fd01b89526dbc94123975087402b558d3c611040c65a9a2cc4c38f4a871b1a764a170b85b5c12cca551e6e466c8889798fa0359149de8d885d11a3c94ca410cb9c91567750df354c055c0e76934a72241af2b01254922a708038e5c5658e2ba10d057c2e5851e08e31fd88af2f84b0cf79a88de834c1f17c7a5fa17d329caa0ff2044ee6a3bfd4f7033dc4bbd6283b534cd3fbbf1c4af072fea1ba37d3262d581c38c2cb5cfafac81b96a810ab749b61806b6d54c9f8cf4bf1be0192423288f -m = bbc773ebd2df42c36ae05952d6a64c63a5dfb82ceb3ef4f8d4df3a30ec8c0467 -ct = 0d8bc4457354190ee7ddc355de0923c44d93924da766af32e5d8502b4fd1923dec73e2e4fd451f69b61bec9f53e4b93358ddd86f3aa2fbf52116705584abc83c9885ba16c4a42e0128baa4aca4b8e2b3f6b6576ed37f37f1d7b2c1f40acfc397ccf90cfeea19a00f9caf1fdb0df1f549f207fbf7bcfe2961fdfe294f9ad4771bc29c84107674fac1a21316f21b03071f8dacf88548d2ccf37193dcc084246564d71e924eef671318a294bf7df19cae582849962ecaaa825f37cbeae370d1fe6b4e254038e807b5157aabd14cc04114340b0c10f8beb246312318250f3ee1768263da3a46fb6bea3794df130d35e53ccf6b7059817428a526783a436b0a07a1c8a5ce09e2f8b208d2f2e3d798942d272b535d8018bf23dcedf6b89dfb3a53d7e9232ad05753193cad50d1a3a9ccb5002481fb0abb44a62097ecd52c77ffbab2975fc249871aef7a9fd3af009e149347d306c587f50c8973e005b74d829ab6b997982a2832d41411b657336c1b571192b494e0c9fef5486f4402ce3688ee99135a033b1b21ba62b673066e5ca00180836dfbd2ba74da05766f282b8a10dea1ad847d10e7b2f579694043cfc6e6df27f9422ec204a68578b46ad277ee610d3dff920b58a4a3332873794bee16ac799236173ed2995abf08e5e086e609e140acb24853a0a37e61c0f6f89b16e4cbc626edee18841f8301c68ec65cb5828b38e830120973c580eebc55a293a7c7c251018f1593ec6c009c42344b5fdb65250270861aa259f3f56a07c13221d8889f00474c92cf7074ca77ada6653713e16ebd4d7223c16cb28e646d5bd10027378149ca92cd1dc5df5e2ca1524eceb46509e44281e84d65c07051972b03eb19412dbcd22613a04559d0a7863f1ea8f4839c39afd582bd1782f3e14ce385445530348f0b73fe3c7327f08a8515fb3934c9a22169baba110335b64724720400e56b62eb627378a73d5f6a271e2d328be4c5cb1774b248ef787c7fe7e1d9c9ff0715dbd1fe5cb234bf189fd94a7c4c6c9e2a0f81cb787684ac60661bbb8d8b64428cd00bdde4ff61e6d68dbd6a88c3a0e4f529cb2f701e -ss = a66dbcfee5b9980c4378ad4e58ab6e37307b03869b5bb8bd169af2d77ad6462e +sk = 4dda3333b34f27f44bf9813dc1db6cf44514b2eba571b3208f1209bf2740d3177d9bc40cfd381bc045a6e371707342271cf861e5f8948e2543ce5c72c377b80c96616a677b2ec143f035a51f0188a5a44f0d5798b3d9ae1e4b381e038dbd854eebb768b6cb1303d88297576575a5814cdb58f91ac9b9ec539fc212ad3ac108108eef061afe15b4b751057faccccfc3291d002ff4ea758e9c4781436967881d3969ccabe13789d65928ea3ca697a3e0e4499c0168f9599ae8447ee892094cb376d008979441634dd9475bbc3aad9a54ef37a576e551455196e627107aaba907eb57ed2a38a5db61881b99c5e3bd0ec9205ae363a40473f2e83face2bf613b3e87da3186a2c60571bc36dc4d1be99e8c42ba13745f180833880042bea83915733038ab250fcc32dec0c7b531bd6720a94e3c9dd784984f49cd19c14e74849f3c157b1f708160e4365a816936fc665682796406ab1e213dda2130be82cdb83569d6739fc7405090193a63cb0f31c3a76500a9f1c31663643dd55050ef1b7163768dbc35cc4de9adf01094bbc44556f681cd83bd1b44c02a90323832b8f6d3cb6f706b16373ee00762089b85bcca993f703b1f4833a45497de593794b700c24cada428c9a82627b5f5663f08a440a473d5312ece374914376749c1c71e1b8a17315432707d6db0c4560921989c95d414c9ac2a28e3f226bcb608fd69ccdc5a587291b132e4597184871b8885b22700c1f1780ccc5c27469ee9d811ce1a0880573b7fd392b19374e74ab457d8b1ddf5680852067e02838450209ce87e8fe14b4c068c51e526f7e31cfdd7b10a642c37536926ea6464d0548876610ad3ab54e6a6cdb60d8f4727b3947f03bc8a06897ae8901f686b7b7f96a1318c2ae42bb73c393053343e18f7ccda60bf2f5275c7259b8a6a77b9c9989fac317d9230cce67f14c5121e91a61e9306de506989e96d3be6aa5a7c6198912ba89457b97023872358a7b21bf2198cca4653fe125188218236454dc0174dbba7a462657c56507cc0f02309a6477e0ba6592bcd48c26c414c776cc126a346529ca972c3f272755612c12b185900914fc65434ab614df28f12e7206f50784d52417763b09de06a433b1665ca88c8e303129901536b1c99d284f26954dffc9a27cc773c365f42a3440f244012cb76761c7fb0108323f8224d5b6936a2a0ecfc0874d6139a9c300d2505a2d10d926b05cbe404e5e764a1b353bd5c34d86a1ee2230387857f97d0ca13382f2ffc8ffb23933803c52af449c29042c4ccc7d06a2c3272786be7cd4642588d90ba7599024428c055c2ad6232c02a83a27fa7150c1c503dc421410ac376056933d3305f76bdd399851e8952c110693b99ba35dc3a337b9bf6cbc370c6a69f593add08149d88606931b363a470b2e16b3f688ab1f1478b2b9255942b86718082a2663f7939e893a5dce006da504f38e98c4ccc36432a491ce18217932dee5070ea27779697274457bb6930b4cb34297eb39c01923cae32835aa7803722908e9b3c6b488a7f46676b1c4b4218720423a809116a41e59577c8c89afa582a8a8b2bda1009bc8b48e58d08a1b418f954460b8ebde004870bd0b7e082d3c7af5ddb4980c2acb9510a12352312991368295adc166bdf522ad76a59ffc974e4cb04ff8034896bc40a8ca508300e411732d8e729b78006d69482e1704ee70c4e8576c003964f6ce60bf7d5a2029c03a8b778b65556a70c617790c2541a9a8f37b23096401b984c99e7459dc38436d210e7186bc7f070ce1574a8c17298a82557612c19940cc1056b92b2b13a8a2f93e83d635190ac1c5e093891aa3cc6d9a98c5b30793fab0aec423b09ba6dbff15d5e8522f86aa877000ddf9752f17b082768929ad7ae1122c2da818db93c52a1d921c7ba26fb857d3ef1c11d925635f050b4a89a59262438a7a7eaf30fd5bacaf319ce957b42ba7a1de408346e393d231ccd545081ed338250661a65eb45d5c05c5ee73c99538a7bd4c65442a14759188037670746906b35484fd01b89526dbc94123975087402b558d3c611040c65a9a2cc4c38f4a871b1a764a170b85b5c12cca551e6e466c8889798fa0359149de8d885d11a3c94ca410cb9c91567750df354c055c0e76934a72241af2b01254922a708038e5c5658e2ba10d057c2e5851e08e31fd88af2f84b0cf79a88de834c1f17c7a5fa17d329caa0ff2044ee6a3bfd4f7033dc4bbd6283b534cd3fbbf1c4af072fea1ba37d3262d50b472c6da19b790e6c9591ee625b42ca0fc04fd9f69d72ce4efdb3b9ed8d9c29 +m = a172a053269af9bf0c132baeba3bcab0c3222520eb90a6f7ba15f507273c828f +ct = 88fa267066f0180f99a571eb9e6dcc467524b085951a66e26565b73225ed7ed1f8f4ef4261331e1baca565cd2025b64ef6fb6da151c7ca71acb1d45709aa45ee048aeaad8e69e00156931b2687d2943f27cd27c0d7a420ebc78b67c4a70193e25cb8bbe2f40dfbd1e3e65a114a2658f5c26a1dffa4b1ee2eb661bb1b6a17306e12106a296e633933c5172d0c749178cae7006e5d2ce646654b6574329c7af3d224f2afd497e59bfd6e283efbff9cdddeffc9d6606ebc30702d85166c80e198f5529873fd57bbbab5d892b085b52503170bb8450951bc0cc7a44fdce26caefb0ad3194bafc33ee2c4469dc9639b9d2287751ad5e8beafc9755d7994d8071a96843dfdb69b997ae55e74687523d2dbd863684eaaed397e8950d5fd63d9bbf3899433854a88ae991c0a07b7871b5db507fd8a37e55328c41ef71e3ab9308f1ba2ff15e655fa2660922db9e68690d10388566aed0b13dbfb9e9bbd01826054f4cfb6f4578e2b5997ea11ba4f25c461c4125a555f1536e2082cad02ae9e8602ad9cd875c76b50b41d401078bea4e8b5f68ee7d682a4a7783af710aaadcb552dc65f1a2239c8a5cc3de4127da8ada6a673333fea132be84db1dd6505f1353a2832e7820f00dc9c229d6ad9fca337541259029e1dccb1ac00ac6cc632ce51284d01a4f327b86981eefb5d168df1693c4c4a1f4f0a7e8ce80eb331d459784ce1095d6684bc1efad289f184d9be68c6893e7e19e97930ef62e23b12e75f8ec5652bb58636480376461f659a9372db791b1fec74703eb1edd44b383d7765134f6852bcd3b12cb492ed4eb3c6a5e9753c322af8c15a968f29bdba4a68dc6969e7d67049e1a5125c339e3141be78523216d7d65b9eae539b70430883b8bf60074a6639c6b6e40ff26ee0b2bfb2e5a6a74d9b078b4f4428437d095275e1d8bf2e6cf81c68ab5f8b2f51c20128c17342b7a4c9baf9143901401d0382a50d4abff922dcaf30cd73235123474b7bf25cb406aa4a3f79a4be00ba23391c403c5b6c40d1952b5553cb81ba66b50e8d2e49b3c4ac51d885c80484c8612cee2aad7fce03b3759473b768 +ss = 98a07d0591a6e9c709201a0eff3818335a43ae0e353f08fc8c4dc6eff5f034b2 d = 32e0ea9089fa928482c0770da545af1bb871a03ce38604138b0d08ea2a10ca2b -z = c06c5bef7b6508409daf847a64c8d30d0974fd3ba7476dc76c46b458a036d884 +z = 56ddb63a495d1afa553a815cf751d711478a39e8d1aaca992796b619c84565cd pk = 3629b44f771560c15223c88cf70005d91365e13c0040a79377468104752a66c4aa268aaeca53817a449353d27c75387d2a14242331bb16ecb8e7810d76801bdd3122ef9c6407439e5de3cba26a91e6c314a9fc543ac7cb37fac5f4d24ada0067cf3c97bb195834b635c9b099992c3657d55573160e26874fcab1a8febba997e22843ab7a7adc3106897e2e9215351014b2dba6f68074770b5afcf4b5bc9abd72c97c03e703ef473ef58bc8ca8a6ff0fca028590e2a44a85013415b5c03f3a301ac06bf3d95691664c9d0c76d60015b0398aa44f778473c09746b50d770331c011aa51b1379530daf2ca17fc5bcaf06c59e792f0b117fa2755e1f371edbd17b584ab5b5a7c0c7ac0dd337562279c960a48a8cc63e53a992f516886bea8e107588df24c96098535298695c46c5e0a8c5ca4476ea43abac794b063160ec596b9fab9953124eeea8484ab8441a0b2a85b481858a2817e04c9e821a703bc9e55c28643a04e4b431acd7c9e54368e7e361b1f23041439f0d24760827971cd52328793e029b634e792c96fc437d396eb61a08422279e853bc2501bd6cdbccf16958bf4bc133438280e8b28f494a83f61f365646b22cb238eaa2554250aa27202743bfe6f4a26fb2234aa80bd7142caf7646a5874bbfb0900f7016ca225a7f016bc015c9401a87ff339def0bcc7e95197ff4be1728ce9fc4986b58bf933b2d2ac703ac0823ae701e3b5717f74583c5aa5156b744abe535a9dc1cd42873a44c3acc9080aee873fa975fe78547bad901c929c008bb6e9ba24af9d285e7c139a54c72ad525e92384d7d650fcc40686404a8c931410e3c92daf8ab090b5fe48c2435ec7a8f21295c2473eae893c6c46b5e35868a91c962d15b4565461f067ae0036cad3bcfb3b23182fca257e7516fa25e00056144768311144fbf526e43b0a9ef797eb07346d78165e71a8c426abf868a5c251caad2c4a038529211c6a3937098a48b7dfa9322d30723c460cf2eecb0c4b752cf310323caa7ef39779c7754574c6a06a2b9a0a45e35d3732d490541fa7ed66ac5d5b007fc1390b1591a0f19a4dd9c8fb0d91275f80e14bec0494baeae3c7ae947bd69827e1fb86388052c3bf3f8b4cd25a568 -sk = 51d2207e7c29bd90868c00ccf1cc9179e99895d90674571cced7860962cb546069faf329fbd778e7f95baaf5a92dd8ab57321dff0bab97542ec5c408aca59c31882b16f3139e60bbad6c5c67c75b3ee62c22002093a16bfe30a0694046a319a08867225b3766a81231ca95bb1adb6086e57b3ce5a47979b8cbf690dd79296f1c4b77c98268c68dcfaab8ba3509c7d1c419b56187c447b65866e0a7106e33cc3f3a36c8381baaf343c1c9085f7c893531a56d47403fa447a34b4eac391b2d2a15c7f051720aae6d4a66221159cb4b0f32508ff5b8a1af3c08622a7a799622c35164f0a8c0a6b37e869a60eb454cc6db072377064c0ba2ba48315cc76d884aa9d7b6165d0b945f82bcc09c65d6b85315935d98954915e127d726aafc7c7c9db82cb16a7580a6aca450b619d2a983052407ab554c3acc0451c5d008098d53a7e07677fdb65a3eb1b51d74a4f863507bf513e55823ddf927d55218f4390c3a672a37a1385cd43654d28bead7bd93a764c99198cb940079e40031a36029ec42a6863c66836bbf15a29ec5b7b1c1032e90bb5114b2b91a4e50a7a193e80d05cba17d5b04a6d82b0b2186f4402ed49c322356c43af162896b04d846a64a6718f2ab8dfcdb516d354bebc75ef403b049c1829bf7643dc62ac426ce1346220df94f5795684e81bbb8854ccb19b6044253b9ba7ddddb1123c83ff575b2f66902baa287b54b9daa8a4917b248ec139653ca970bd936b5aa51e70163825ccbee184d2fc22078253070591c75e67651b1286d755233e715e4b85f0f4067b4b43360e37cd76ac14ec203b2a853eea82f9baa3e12c52463a78e4f59293279bd1b1c5e35f1275d53bba00b0e8acccc373b2465c9ca2b039586f4b43e47acaa991b6cd26b998aad77f54a6952b67c7a318fa9b6b3499ca8517a635a7e88a75a111b0d78720e98654dd9302ede58621aa97b941a52b395b91537a8ba246b342680b5890b1f911f9e3b360d1241666203dca693d6eaad08b782da628377420d0091af7f4027bb4b920e345e9fc5c26732580fe63a745ba6461ab376013a4855a088404c998038dc3a093629b44f771560c15223c88cf70005d91365e13c0040a79377468104752a66c4aa268aaeca53817a449353d27c75387d2a14242331bb16ecb8e7810d76801bdd3122ef9c6407439e5de3cba26a91e6c314a9fc543ac7cb37fac5f4d24ada0067cf3c97bb195834b635c9b099992c3657d55573160e26874fcab1a8febba997e22843ab7a7adc3106897e2e9215351014b2dba6f68074770b5afcf4b5bc9abd72c97c03e703ef473ef58bc8ca8a6ff0fca028590e2a44a85013415b5c03f3a301ac06bf3d95691664c9d0c76d60015b0398aa44f778473c09746b50d770331c011aa51b1379530daf2ca17fc5bcaf06c59e792f0b117fa2755e1f371edbd17b584ab5b5a7c0c7ac0dd337562279c960a48a8cc63e53a992f516886bea8e107588df24c96098535298695c46c5e0a8c5ca4476ea43abac794b063160ec596b9fab9953124eeea8484ab8441a0b2a85b481858a2817e04c9e821a703bc9e55c28643a04e4b431acd7c9e54368e7e361b1f23041439f0d24760827971cd52328793e029b634e792c96fc437d396eb61a08422279e853bc2501bd6cdbccf16958bf4bc133438280e8b28f494a83f61f365646b22cb238eaa2554250aa27202743bfe6f4a26fb2234aa80bd7142caf7646a5874bbfb0900f7016ca225a7f016bc015c9401a87ff339def0bcc7e95197ff4be1728ce9fc4986b58bf933b2d2ac703ac0823ae701e3b5717f74583c5aa5156b744abe535a9dc1cd42873a44c3acc9080aee873fa975fe78547bad901c929c008bb6e9ba24af9d285e7c139a54c72ad525e92384d7d650fcc40686404a8c931410e3c92daf8ab090b5fe48c2435ec7a8f21295c2473eae893c6c46b5e35868a91c962d15b4565461f067ae0036cad3bcfb3b23182fca257e7516fa25e00056144768311144fbf526e43b0a9ef797eb07346d78165e71a8c426abf868a5c251caad2c4a038529211c6a3937098a48b7dfa9322d30723c460cf2eecb0c4b752cf310323caa7ef39779c7754574c6a06a2b9a0a45e35d3732d490541fa7ed66ac5d5b007fc1390b1591a0f19a4dd9c8fb0d91275f80e14bec0494baeae3c7ae947bd69827e1fb86388052c3bf3f8b4cd25a568c7ca6ebbe17f30f8ce49e15c40c1ea5456f43624148eaecc9f3018f7beb96bdfc06c5bef7b6508409daf847a64c8d30d0974fd3ba7476dc76c46b458a036d884 -m = 5b17a6adad541efcbf5ae4b0c0452cd2ce32e4f0f8701801c5b63e197c1fcbf4 -ct = 5251a3fd441323a8700b3512aa8dc09f5a80e431f255f50b11f9620e4149a3df356d4ac66f1de8eb57180539384e789f6b469265bd7df707636fde163af10e867713fbb02cf8594f3f747d7b1171b96a112fda8105b32f69e48df5d250485f4f4f58f6d17b843d70dfe552a69b7c9065e6a014ccdc3773c339999a3abb1aa2c09ff8f67f6b23cd43b3de1ba4c9f45dac5f129506b76fcb4cccd9beb7ab2147d7501fb38414592e648d9c1ad3c05770251c535a22e02902599343c6009bdf83701a2492430939d9b22dd0e078491e7d6a0983c9b25aa917172a931c7c023c2b169ccbedadd8bc4efe6760ab37c37980f2bb76652e831222212e107d47053208f1bbfae0f32c723c50eddc4957b4b387dbe1165594c4cbe415cf0684acf3d8c75aa5f14fb917cfd05978e064758762fceb0a92dabd8bdf913cf62ad6d11c49c16981487263750659f894140a54eb6ded61e51b5fc94d70cbb6cb796e7bf9b89178de14f3436ab39b509c050af2b0523befd5fa227847b46b1c13ee0623fdb773bb8088dbd28155cb78f1e1b47e1b7e30df533a36a8460592654812dd8520092a3c1079f7ba63c9094353a73edd1d7ea1b9bff15202924e1c90b07b0d493428004f9a3c8babcc479a49b126793a15f57ec3183215d457c3a796e465605aa29693b627cea05e4630f1f71b8c653d43ebda5fdd434583fde5a439be49c5bb46269e2c99bb16cf206ca7994cea21d4c31a9f9fc5b74758b0e78eb2a29820bc4e579a6aa6c77a3a6926728c70aa4db89aae6204312167373ad2b39d9e19f86d9d280cee3699a39b49d1d6a81c461b03a2803c073733729badb4392166e5312776a6510315dc8f2af80b79b85b7a4905e257a0cd4f819b14f6b191a185db6fe34250c0eac27433e28dadd7d5c1df06f60ecaae2d1ac2107ef5b41eec8b28627a9d2f7be355e657079abb928ac84c9a18bf2dd61b8c7a499c665d4a1d1262318a5a58e6fe5e605591d5ab9d69fbc54c195a33fd202b58cfa2859a536fd3039f4aef8c8a42f07954dfb19c8cf70c1d7784f07ea74cfd82312daf2469e9569ac680e5361f81 -ss = 75888a3f7603f185984fbc3532a67d2e939539e324a4867cf1421f259bc07050 +sk = 51d2207e7c29bd90868c00ccf1cc9179e99895d90674571cced7860962cb546069faf329fbd778e7f95baaf5a92dd8ab57321dff0bab97542ec5c408aca59c31882b16f3139e60bbad6c5c67c75b3ee62c22002093a16bfe30a0694046a319a08867225b3766a81231ca95bb1adb6086e57b3ce5a47979b8cbf690dd79296f1c4b77c98268c68dcfaab8ba3509c7d1c419b56187c447b65866e0a7106e33cc3f3a36c8381baaf343c1c9085f7c893531a56d47403fa447a34b4eac391b2d2a15c7f051720aae6d4a66221159cb4b0f32508ff5b8a1af3c08622a7a799622c35164f0a8c0a6b37e869a60eb454cc6db072377064c0ba2ba48315cc76d884aa9d7b6165d0b945f82bcc09c65d6b85315935d98954915e127d726aafc7c7c9db82cb16a7580a6aca450b619d2a983052407ab554c3acc0451c5d008098d53a7e07677fdb65a3eb1b51d74a4f863507bf513e55823ddf927d55218f4390c3a672a37a1385cd43654d28bead7bd93a764c99198cb940079e40031a36029ec42a6863c66836bbf15a29ec5b7b1c1032e90bb5114b2b91a4e50a7a193e80d05cba17d5b04a6d82b0b2186f4402ed49c322356c43af162896b04d846a64a6718f2ab8dfcdb516d354bebc75ef403b049c1829bf7643dc62ac426ce1346220df94f5795684e81bbb8854ccb19b6044253b9ba7ddddb1123c83ff575b2f66902baa287b54b9daa8a4917b248ec139653ca970bd936b5aa51e70163825ccbee184d2fc22078253070591c75e67651b1286d755233e715e4b85f0f4067b4b43360e37cd76ac14ec203b2a853eea82f9baa3e12c52463a78e4f59293279bd1b1c5e35f1275d53bba00b0e8acccc373b2465c9ca2b039586f4b43e47acaa991b6cd26b998aad77f54a6952b67c7a318fa9b6b3499ca8517a635a7e88a75a111b0d78720e98654dd9302ede58621aa97b941a52b395b91537a8ba246b342680b5890b1f911f9e3b360d1241666203dca693d6eaad08b782da628377420d0091af7f4027bb4b920e345e9fc5c26732580fe63a745ba6461ab376013a4855a088404c998038dc3a093629b44f771560c15223c88cf70005d91365e13c0040a79377468104752a66c4aa268aaeca53817a449353d27c75387d2a14242331bb16ecb8e7810d76801bdd3122ef9c6407439e5de3cba26a91e6c314a9fc543ac7cb37fac5f4d24ada0067cf3c97bb195834b635c9b099992c3657d55573160e26874fcab1a8febba997e22843ab7a7adc3106897e2e9215351014b2dba6f68074770b5afcf4b5bc9abd72c97c03e703ef473ef58bc8ca8a6ff0fca028590e2a44a85013415b5c03f3a301ac06bf3d95691664c9d0c76d60015b0398aa44f778473c09746b50d770331c011aa51b1379530daf2ca17fc5bcaf06c59e792f0b117fa2755e1f371edbd17b584ab5b5a7c0c7ac0dd337562279c960a48a8cc63e53a992f516886bea8e107588df24c96098535298695c46c5e0a8c5ca4476ea43abac794b063160ec596b9fab9953124eeea8484ab8441a0b2a85b481858a2817e04c9e821a703bc9e55c28643a04e4b431acd7c9e54368e7e361b1f23041439f0d24760827971cd52328793e029b634e792c96fc437d396eb61a08422279e853bc2501bd6cdbccf16958bf4bc133438280e8b28f494a83f61f365646b22cb238eaa2554250aa27202743bfe6f4a26fb2234aa80bd7142caf7646a5874bbfb0900f7016ca225a7f016bc015c9401a87ff339def0bcc7e95197ff4be1728ce9fc4986b58bf933b2d2ac703ac0823ae701e3b5717f74583c5aa5156b744abe535a9dc1cd42873a44c3acc9080aee873fa975fe78547bad901c929c008bb6e9ba24af9d285e7c139a54c72ad525e92384d7d650fcc40686404a8c931410e3c92daf8ab090b5fe48c2435ec7a8f21295c2473eae893c6c46b5e35868a91c962d15b4565461f067ae0036cad3bcfb3b23182fca257e7516fa25e00056144768311144fbf526e43b0a9ef797eb07346d78165e71a8c426abf868a5c251caad2c4a038529211c6a3937098a48b7dfa9322d30723c460cf2eecb0c4b752cf310323caa7ef39779c7754574c6a06a2b9a0a45e35d3732d490541fa7ed66ac5d5b007fc1390b1591a0f19a4dd9c8fb0d91275f80e14bec0494baeae3c7ae947bd69827e1fb86388052c3bf3f8b4cd25a568c7ca6ebbe17f30f8ce49e15c40c1ea5456f43624148eaecc9f3018f7beb96bdf56ddb63a495d1afa553a815cf751d711478a39e8d1aaca992796b619c84565cd +m = ac46852132e10665c4983e3829bd9de2adf693cccf572b4ebc5c0a633230b627 +ct = 045d232d4a6ee5145c91aca00ffe0d621b943ecccf6799d55bb199d379e68d67377e8b5eec71a663866ff16dab7ff732920924f88d5688f6f6b8186a621a3ea08ae80c0dbabc486a41f06cbcf42d3c9c1e3b4c73a68e8c9c54a3628d68b7f38980b6d2e7673627a6b3ebc98581f8251d1ad1594e7a1e4c6a403cae4d13eea92574d0f6b9fc1e1c66166afcc9c754b583d7657934494bb78cd2d9d4f0f9dd0bf089479044816ccb7526667c2d12601cbe9433fbd68c5b4942b2e7095231d35b2b03357ff31768c8b00fda05d37aab104759dad853baab1959a604d8421ae70799dabbd98d1d90bd6959f7fbb5a4fe3eac505f5c4a41079b825179c7d8f1e2043cf0e654459235138c54669f165366f8d93f87473dae6ac7b3839a2108b1ddc6491a841e57044154faaa9ead6b2a30238271aac10e399fa35fac170238662670915cd97549896640dfaed5193d9fbdc10670d4890adea3fd8a2f00e7738926c8af429e0681e8445144a365070a664836db8e35b62a042e600d4c9b708b7549cdc96cb1354070d72e1c12101cb391e6bed339697ff783b6f72ad6beb4002990dbba99fa5edac9c33f07b3cd2588180a596bef72e387aaad51a869b1bbc305e7a8f7383d50c0d60665b17aee43882871c03ba9d6788eec837b3e3ca1026ce234b570b53dddf106f94cd95bb3d4d534340fc5f93742e1df5ae4dbf844babf24b6d193e4af0b2f9666947b33d6f465929331f211ffd1227c1eea762c8d29c40f25f15c825d7f21d62078d9b18c1ac49ab89f725936b1fb3ed4b4084633d9152b46d11969441b5a404e12a60c8f106bdbcf0a13ca9e306d4bd5b30177c3f36db17823be9999c202c9a033d98b2415bedd2957713bf1c9b93886ce9c5ca989f87684743cb8023b41a5b2c31b528934da916c9df65d466fc7cbc7ffb73fe66f16f2dee82a7f402eb605f52ae998fb87113899350fec25035d48a763a8bb711c1d5564179d78c12b7e24cefb6f505b9569dae734970aec68c23697ffbfb28b2ea2c12714ad65a81b683f43750f7de714915176fd15614690df420d5114353960527d1f2a8d +ss = 3e45e1e2fba39d24687e7471380069502aafe444dcbaeba5fe2a175593bcbef2 d = 6fb2ec719f2a0dea152bf3f64b9d148f8ab8ba88f64e61f5db53e12d59f52557 -z = 4f797c007e4061f95c7d56cfc7ee5c49e849dde3fea8f25e7876df2a18515c34 +z = d3698490455837fe52948613ee5fc2284f00b130c72334b1d8e68c7b09b2de2e pk = be37c2c02582a708d02feb86759511c62580d99a5121ca60d7002246176ee5534c1261b86e831297a95ed8aa7732b58f0975c4445bb00db116ef36cee951006ac2709551872a84ac9b6a2b97b7a4e15011335777687749e7ca1319683840c017a3277cfa13c73ccc3a62b7afee998d872c58d22482008aa0faf7ba9b6cc59da62cad366cf25351525536dc58cb622ab259cb3a6707d0abb088ac242338424baed40c182b15a9144dcce03456281ed2b9006915297fdb96e9c34efb551369ca9cb0012ce2c9af9cf90f2f616468abbb89b7acb5d18ee17a022a98b1fe2c2e8b4b1a2d4b3054d19162a243d4f0837e697f548164caf878366b26772351d28a025b227bd1c135922a43fefb55e3c37231fb188a37a6053a8a0ca88502d82a56f716313a5861f001c28678b23c7f66828dbc492fce22cf1d300bb3c576a1c01f13b962dd1b1c2364900f4a0db48a14cd103a7a5b535da93df79371c832b3e188bd0845ca95044002fa0c4bc92932e95180772ddb860b80063799b614fae43901d7cff686c8a5d05cc5589df1c7841d0312ad4261c8d81ed48b4ac513a88df3071d047d3380465f4a3a4fa894f6757be0f99e124150852cb56a483cee8c4f3f052c7489956f167e529a9c3dfc8256f764c78a4b58596e6cd0ba1c2c0e5aba3dcf5c46a533647195a682092dbdf61fc497a25e8b9c8770bcbca6c154629596f41c19879626392be7715a36570985ba46db7670d257566844a228db612fe32386590322b4a864a6c537452a9de020d2727dd1a0b066b0cb9d7144033765db050c0c363e926107f06b94fa70813c3c8dca862b98a4197be6b9f230a4931b659608ba32936da1904713c043718a8ae08419d0e34b26c6675b45451b392ac717a0e8f5245f035f65cb842ea68c7b2425b2550f12732402d852f5b7305975b588427d3de1b48c9783b19c7b1e486a47414a76449c26f3ab37f275f80413ab159765797d5cc653f2b4542f4027c199752530b6f7b49477ac60791706a4f7610138c8b3614950c06072ac49b6a25b464374a4d2c31483b34f83792db87d868a167aa08f8b2394ff5f477504df1b1894fee3e6bbf8218590936e0102dce8adf459d590355576e1 -sk = 57eb9e1e877cbac8750e89257973465fc92528081bced98496d43331eab13c71848f76542f873121412e5b372c6b8613c303a9389ac2e3eaa125bcb1e1c6b84742a7c5245faf8c01a2a826803a43b1f82a568574aab051fc1067191a36ea724b991b1eab28b08bbaa79ad243dca24c8270655794b6354381ea57745c858468161b312abd8e28018ab6007e9bba3c458ff0e2b94b48bc04bc8dede533c8098b6a95204f28944fb55adad3084b78096df75a5ec44736520a92fc2444e3a5c4a69727e84ffdc8b33b6385fa42368df31edcf57a5601565ff82f0f6a342fa310c9c022a6d3a6e3d870f5e5b6977579fda405c495ba300279ab26897022680d8b16d196cea4ab53c221947a527126e8222feba42f0221cb690d5ed74057911acb25696aea2339213993010cb54ba78c4c4ac3a38240c19169c78bfb349623d067613b94c283856f942b36772c211a19457b890d90cef1586581853c98040e50fac9f89934a7917deed286fd7408011381795532515742a8d2902d2663b9e821b5f20f44a385994588f7f0c3ea6c4728fa1b63a5045d91bfa8e9786d86acb6b32c31c83ca0086978a3756f23bd5d411b9dea6a19a760c1ca24594c1890837b71609933534dfc986b56d05a04e1bdc101a125ec48732136941766b0b13e4d48638dd52bb9098cb711c3d257c560b829532581d153811e4bbfb59cc89ab062b3ca6c1d27bb47a933c1f3ad5aa398bfbb02bf8b3e83094da5c4332229a06a961d28e298e6095a27c078081265f3d2955eacc0459330bf5012fb157d6eac4d50f17946d38611d8bbf7ac3dcfaa6ad1086f5a30728ee53a07602d1248576e2c6f8c14c562f8be9b84a3867793f80a36d6dc37c1d670f747c1b120b5e53505ba52c3d765b4f8a9a7346a417c466c9c8102e43b2d7bd410ecf76f15fc4581f7008aaca8f855ad98213d50d06141394fedd78fbc0a44cf7403eee35cae02125ba15ffd656238d365fac18c1cf81bb91609c6941a1fb196942b13362ac71d782fb194bbf9715538abca8415a4e1dcc621f92494780ceff619315571fe054a4ff2578ad167ea3187be37c2c02582a708d02feb86759511c62580d99a5121ca60d7002246176ee5534c1261b86e831297a95ed8aa7732b58f0975c4445bb00db116ef36cee951006ac2709551872a84ac9b6a2b97b7a4e15011335777687749e7ca1319683840c017a3277cfa13c73ccc3a62b7afee998d872c58d22482008aa0faf7ba9b6cc59da62cad366cf25351525536dc58cb622ab259cb3a6707d0abb088ac242338424baed40c182b15a9144dcce03456281ed2b9006915297fdb96e9c34efb551369ca9cb0012ce2c9af9cf90f2f616468abbb89b7acb5d18ee17a022a98b1fe2c2e8b4b1a2d4b3054d19162a243d4f0837e697f548164caf878366b26772351d28a025b227bd1c135922a43fefb55e3c37231fb188a37a6053a8a0ca88502d82a56f716313a5861f001c28678b23c7f66828dbc492fce22cf1d300bb3c576a1c01f13b962dd1b1c2364900f4a0db48a14cd103a7a5b535da93df79371c832b3e188bd0845ca95044002fa0c4bc92932e95180772ddb860b80063799b614fae43901d7cff686c8a5d05cc5589df1c7841d0312ad4261c8d81ed48b4ac513a88df3071d047d3380465f4a3a4fa894f6757be0f99e124150852cb56a483cee8c4f3f052c7489956f167e529a9c3dfc8256f764c78a4b58596e6cd0ba1c2c0e5aba3dcf5c46a533647195a682092dbdf61fc497a25e8b9c8770bcbca6c154629596f41c19879626392be7715a36570985ba46db7670d257566844a228db612fe32386590322b4a864a6c537452a9de020d2727dd1a0b066b0cb9d7144033765db050c0c363e926107f06b94fa70813c3c8dca862b98a4197be6b9f230a4931b659608ba32936da1904713c043718a8ae08419d0e34b26c6675b45451b392ac717a0e8f5245f035f65cb842ea68c7b2425b2550f12732402d852f5b7305975b588427d3de1b48c9783b19c7b1e486a47414a76449c26f3ab37f275f80413ab159765797d5cc653f2b4542f4027c199752530b6f7b49477ac60791706a4f7610138c8b3614950c06072ac49b6a25b464374a4d2c31483b34f83792db87d868a167aa08f8b2394ff5f477504df1b1894fee3e6bbf8218590936e0102dce8adf459d590355576e161fb6cfc0f388e34fb28ed783c2733453005eea03d3fee4b01bb6364abc01c304f797c007e4061f95c7d56cfc7ee5c49e849dde3fea8f25e7876df2a18515c34 -m = 61ab87659525de9656af41246f20e1dbe85c24e335e7ecf9493f46168bc14e94 -ct = d5682b82cf6f8e75fc01daa8ba62eea37b7ca6542e074fdc77a64f1974d6d3aedc8a6eca7ede0323bf8bdf992457f6a51bda0ff3d28e86d9c03ee8c6df8ec4d29ff51ada1b580ee5445807d96043e1e0da9567c94e857b2ba6b29b02ae4723da2a461afa317ab9c88cc20ffe4b92c997f8862604ba31bb363b49103908ed6a555567774b7df0992f22b4c1de773b575d3285b95eb8d99db6fd6fc6ff46d544381f958583f872d0defc67fb830e8603e0e7a79cdfdea093d34bc875254b757f35033e4f7e78b58bace9afdf113862786b03856210d3d17e7f8f3aa0e7c49db45fb516c80ba374e40b3e9b6701bed90ec255d4a1ffbd56cdbe9c6c3e4035126c6c31005b48d780a914148b12683d6611c861b36956dc244a431c8fcd0a37f64445a9a22ae2fdb07d2d78cc2105215f41a8a83cb198216a04fd33c2e1b4ad64ddef8b94ed9766b86add49dbdd6359d7717599f6eb5e1114c7c299fdfe739bf4af545445ba05b4d54ebcbc6b1edeea1599433766ba82718f1340ab78c2c37f8be21aeb87956557906b39fae0cee28b946bec908af395b75f5575020f9631c59a3bc5340140d7c314271f732440d87da8fb733732b4de06dfa4d61e44cdfad57d0669127f50540675b5a20f3ef10abf8443df553298fff1b0ec80fd05c44d2be894cff6d2df7286e1edae013d44daae3ab69e3b77fe36d461290c3dcdac41202b63817c5bc4c6f67a66eaf83b1f8d7c210dfc7cc6e3a1e129ef0bbe5e452c86c003b1ef0c1230f3934d0d1831ed8083708f18d423883481ce1e85df18ec2dbaf46ab64aa2f8e50dad6c1170b7af9b727dd7d7f09acba680a2d0d97a4754fe4af6e53e0c1a25dd89fefafb500dcee707347e0591a0bba03453382cdb360a0261315a664faa94cc5479187cdb644df0eb7384e8d137e3001046ddd5bedb06b65c30afbe082d21904796ef9f1cdf5408fd3d3f98ac93d425086ac10a8ac385e9b8d20ad1bf0359c15ee7d2b9187053891e4a2e9a9b3364a2cad106bda6c9938786051d554cc798f2319a4e29fd468622af6298d2b19c5accb729d2bb043ff99223289d84 -ss = 87ae8b4af711828997d80711eeff79e912e73f789a86fcea151dc52ae9565b5e +sk = 57eb9e1e877cbac8750e89257973465fc92528081bced98496d43331eab13c71848f76542f873121412e5b372c6b8613c303a9389ac2e3eaa125bcb1e1c6b84742a7c5245faf8c01a2a826803a43b1f82a568574aab051fc1067191a36ea724b991b1eab28b08bbaa79ad243dca24c8270655794b6354381ea57745c858468161b312abd8e28018ab6007e9bba3c458ff0e2b94b48bc04bc8dede533c8098b6a95204f28944fb55adad3084b78096df75a5ec44736520a92fc2444e3a5c4a69727e84ffdc8b33b6385fa42368df31edcf57a5601565ff82f0f6a342fa310c9c022a6d3a6e3d870f5e5b6977579fda405c495ba300279ab26897022680d8b16d196cea4ab53c221947a527126e8222feba42f0221cb690d5ed74057911acb25696aea2339213993010cb54ba78c4c4ac3a38240c19169c78bfb349623d067613b94c283856f942b36772c211a19457b890d90cef1586581853c98040e50fac9f89934a7917deed286fd7408011381795532515742a8d2902d2663b9e821b5f20f44a385994588f7f0c3ea6c4728fa1b63a5045d91bfa8e9786d86acb6b32c31c83ca0086978a3756f23bd5d411b9dea6a19a760c1ca24594c1890837b71609933534dfc986b56d05a04e1bdc101a125ec48732136941766b0b13e4d48638dd52bb9098cb711c3d257c560b829532581d153811e4bbfb59cc89ab062b3ca6c1d27bb47a933c1f3ad5aa398bfbb02bf8b3e83094da5c4332229a06a961d28e298e6095a27c078081265f3d2955eacc0459330bf5012fb157d6eac4d50f17946d38611d8bbf7ac3dcfaa6ad1086f5a30728ee53a07602d1248576e2c6f8c14c562f8be9b84a3867793f80a36d6dc37c1d670f747c1b120b5e53505ba52c3d765b4f8a9a7346a417c466c9c8102e43b2d7bd410ecf76f15fc4581f7008aaca8f855ad98213d50d06141394fedd78fbc0a44cf7403eee35cae02125ba15ffd656238d365fac18c1cf81bb91609c6941a1fb196942b13362ac71d782fb194bbf9715538abca8415a4e1dcc621f92494780ceff619315571fe054a4ff2578ad167ea3187be37c2c02582a708d02feb86759511c62580d99a5121ca60d7002246176ee5534c1261b86e831297a95ed8aa7732b58f0975c4445bb00db116ef36cee951006ac2709551872a84ac9b6a2b97b7a4e15011335777687749e7ca1319683840c017a3277cfa13c73ccc3a62b7afee998d872c58d22482008aa0faf7ba9b6cc59da62cad366cf25351525536dc58cb622ab259cb3a6707d0abb088ac242338424baed40c182b15a9144dcce03456281ed2b9006915297fdb96e9c34efb551369ca9cb0012ce2c9af9cf90f2f616468abbb89b7acb5d18ee17a022a98b1fe2c2e8b4b1a2d4b3054d19162a243d4f0837e697f548164caf878366b26772351d28a025b227bd1c135922a43fefb55e3c37231fb188a37a6053a8a0ca88502d82a56f716313a5861f001c28678b23c7f66828dbc492fce22cf1d300bb3c576a1c01f13b962dd1b1c2364900f4a0db48a14cd103a7a5b535da93df79371c832b3e188bd0845ca95044002fa0c4bc92932e95180772ddb860b80063799b614fae43901d7cff686c8a5d05cc5589df1c7841d0312ad4261c8d81ed48b4ac513a88df3071d047d3380465f4a3a4fa894f6757be0f99e124150852cb56a483cee8c4f3f052c7489956f167e529a9c3dfc8256f764c78a4b58596e6cd0ba1c2c0e5aba3dcf5c46a533647195a682092dbdf61fc497a25e8b9c8770bcbca6c154629596f41c19879626392be7715a36570985ba46db7670d257566844a228db612fe32386590322b4a864a6c537452a9de020d2727dd1a0b066b0cb9d7144033765db050c0c363e926107f06b94fa70813c3c8dca862b98a4197be6b9f230a4931b659608ba32936da1904713c043718a8ae08419d0e34b26c6675b45451b392ac717a0e8f5245f035f65cb842ea68c7b2425b2550f12732402d852f5b7305975b588427d3de1b48c9783b19c7b1e486a47414a76449c26f3ab37f275f80413ab159765797d5cc653f2b4542f4027c199752530b6f7b49477ac60791706a4f7610138c8b3614950c06072ac49b6a25b464374a4d2c31483b34f83792db87d868a167aa08f8b2394ff5f477504df1b1894fee3e6bbf8218590936e0102dce8adf459d590355576e161fb6cfc0f388e34fb28ed783c2733453005eea03d3fee4b01bb6364abc01c30d3698490455837fe52948613ee5fc2284f00b130c72334b1d8e68c7b09b2de2e +m = 1d0144ea8aa44c56c084f3d692d40ee9acca9835f74e2db60116db3669c8ef73 +ct = 9f235391b75303f02cd2eca57aae33e981c29f69c51166113fd0113a6602123c533dc3a38ea13327f1b42950287b9cc65c2d8d341da07c82d2f66a66b9b8dfc097b8777f032c06a427a8f321e8c17ec9eaf535e53c5f0b77a88f7a33b9944c3ae842fb3664dce180d99a60b6fb1fda78e21b83ff8eb26ca00f08a5bebea0211539304370d30c883b1d11c77952c6630ed2289a50cddb68fd2477a55d5e87b46ac9471544c31112db1ff9cdcbda6abf20ee8cbf0c41668fc5375ce9754aa4c4dcab5506ca4d8d9f81e9066af683a13a072af65af3f930778eb25a32e1fd6482cb10569ca64d5ed1d97b22ce4f6679b2a93868143ddd7f76a5fc525b1f04ea849359465e0e6dafb1106c8056cf20cd831f60305aee810e587c6b928bbcff5c7b9602f91b7eeda4be2986a0abf796da29bfc5e36781debfabd7abe5241447e2c365c622b52328d561e43e82eb27ae87a7cbee090a5b52789339c676429721cd1d0b7cf609b1d5a9d2c2f1ac4a259698c94f5f6f488a19f48b1d8ec00e422ed16b399ceae7cfe5bb209387b8acba1c9e84a7297eac23ac6805f911f2325092c8f0779197895bc3ef0b43da1ccfdf0c438c6df631a3f69c9d13d6fc45a33b5952cf5fa1d6f7dace9db6b41445bca3276ac95382cca1805944fd3d4f2a59a17f949ad2870d4d24704405534b3cd5e73bd8fe4c26614003a43c16a4ab76c58ca701bbc0fa6d83a1e65df7ccbdadedba8e7c4523e6a234320a88504245a1b1e2efc4264567036d0c65829c441d0b47cd66f5ad7fc77bd56c4e101f57e7f66fe5be0e4d6510ed4e4970b95dafed941473067b0e2f04e0cf58b042428c3c6592f33bd93d9d402cac08d939de77c0e68ef361f451164fb7408317af42256410251ca67f90349473792423900093f773334734eadefc7351d3705a899e9e9736a08402e28dd3fc4bc815ff9e78a55182bb4f6266702e97aa1a1ede998fef82c0d308713c3a60d814890148e2398423ef74de7d9155b1117201191bae531c6eb068e4d2cbc81bd155066eb29d3a89c1c73dddf730ff6f0f15658cc20a18af3d9492064738e8f3 +ss = cfd80ccf18afa182ef80c9a4ddc8dfd49699161183a6bc6608236d3c66796e79 d = 527fb88c8bd9a4d6031dad15e63878abd2b559e7e08d61f69e8e78fca964ee6a -z = e32d432b4f9f751bde0496c580a181ffed762aa35454a02d3f1f47ee0394c89c +z = 229ef54e776c02586f3f46d723e7932215fb7e09c397d1552cdfe3457241fc30 pk = 4611b241fabba8f6435b0b4889a9403e60524f820cd8d875926a2d68b33c3134c90e9230b43cc743921623eb484f7c65a741a8c30cbde4fc74a55305ef8588db967ce70b29049a8e5c821b484390a01761f4850bbc916af732afe9a211419944e6c7457207ccd12aac09c421bc0a4225f84727424b306549738b91eda3a818e994cbc763c176795c1286019183ca6b2e2d3c8ee925937c5a9ad62306694724e0b62b68369a204b0d0d1b74ad9ab5158356035045416a8eb48483f11ba52ecb1e77babb800bcd67245932a237f237410730114ba4241a295ace13ae201b776c29613fa04a82050bc4514e8c532a0848a75fac67177844bda15368f1756bd4804b28bb55bb2e6c610f5e0ab9df749857405dad47c8b16b8063533b1e1c57d4db06f8e6643216cc342b053e3861cb1c71f2f9b52518457056676064abcd0041f1011b1ad3cb297a96200a96d6a30d2960161008cc7d26c1c011a00f857739e223ebd536c61748a1a9c792dcc7351210c8dc6c3e122ad7d9407975a75c3286f0ac032e5a655637c5b6a043aa840905d9623a077489e8cafa1285ea271c25f12cceb3664e3975f0eb6b25a04f18e4537ebb3f27405398d34718304e2a7265268367312aba5c069b765361d907775b3041b391668da99968c198e116530143c781160b80fb5d4b473cb7f60bbad1b83a3c8a80d93ee4e61dd546c5e06a67dbb6c94fe82d7e1b963e744984b849864a22d535cba8408bdab3854be3694515af4a58a4c6c0204f110ade12c0811036f9171635c00af6a29652914ff0cc23e0e67e84072bb1b3a027591ba96959ef3373a3912e1d43ad63449ec2f47de225767b94417a0b918bd83abf4439ead3090ee872f6c0c5967564da6c4a3ad061db656f3b8caf970a690422b914c599fd606eb1a17a3a220a1d86b8ba7343e1048c1d4328aeb57214e077246b7421091821c6299a4b75fb1b9fa124c7f5b3b1f8938ce9dc7551d25898387f5a86bc9a1c49fc8a7c5902b8e2912405a592a8221816570362c43589aa9eef609b0207c9e1f3b564aa6be9a60aad4193001ac4f6756570d983c8982cb3cd5d09045252960a068412f1bd67b83a217049d0685ec3d63d691559a327b2 -sk = 2a541ba3859e76c09675f97ec24138b384583a33c30fcaa3d7b1847788c04ef7113cf63d602740b90c19ded0975e4c470d660fddf9bcb210298bf18bde0569eb24abdf3796d107288e2748c1986d2684a4e4396da599992f63b895134eb331ad1b010569d02c113bab4e1ac1ca15362f2c7586546b4af6b2a3281bd691316ec4c31f06557fc387fd3446df00a73af0264fdbc51ee6616d54c4b29b1b80e44eb90b7727e7136a6cbb4e34ca49e49dbaa3ba3a71342f52ca0fe1332f87b2f1486c6aeca774647c31b00f387224319768fbe96c94f1887c3946d73cbbba863adec9b6f798bd7007a061692e79b734a1a69aa6ea4cd133a78da739b4e376d9750501e538477a6968f944c5d354a26b789ab90c63250530978be6cbc85830715a9b4837690bbf67b89150b8bab2459c3bb82ec97175a459a7eb645bac79a0f4087240551c493849322aa0a3a25c3087c5d667ffea5dd19197c6f3cb5ff4a9dcd61833783f2da504a8fcb58e35b8dc1b26770b7c3d211cf3a9b979d8b1d3746250a74aaf23aa62b6c9acbba545a0ccbe0a1316d5a86ce931fc9a31be4a764c0807928959f2ecc7427b6f344812ffa994748797284b25a26936cda35af397104e235b36b71b5fd9a5072b415d818a250800df540ddf164257882a4126aea50739f4957c823a3caa026182b415ae54c40c8998417131b3924af587022659accb85409c6a8cb9c4a32f372ce061437671b9d56a7e04b1a5dbcb1c0d53960c564096d4777f9a56e47197d1d9c7e144929cb38290066e39a3c25ef866014cabd01852a09168df1a59fce8bed6382d91ecbe6c38979b5b1617e58bf6a05f3318a64df6a5a7a97cab71ccf7069f1dc7ada344006c604633ab3b542b6acd9bbe19fa027c81725f2c4837109bc4887d2d669fcdda0ea6722cca228561477d9a456975e1ae62a25967419eebc55e60203d9cc7b17c51a668a544805aa5470b1e84651215e3bb58447583b5942498c0483a3ca405cd71958c1208a3bd306ca71695d8290cf378a91ae601dbd8cbe6938042a5c886ca27f1eb9b9e3c246383a9a3509ad04bc66089a04611b241fabba8f6435b0b4889a9403e60524f820cd8d875926a2d68b33c3134c90e9230b43cc743921623eb484f7c65a741a8c30cbde4fc74a55305ef8588db967ce70b29049a8e5c821b484390a01761f4850bbc916af732afe9a211419944e6c7457207ccd12aac09c421bc0a4225f84727424b306549738b91eda3a818e994cbc763c176795c1286019183ca6b2e2d3c8ee925937c5a9ad62306694724e0b62b68369a204b0d0d1b74ad9ab5158356035045416a8eb48483f11ba52ecb1e77babb800bcd67245932a237f237410730114ba4241a295ace13ae201b776c29613fa04a82050bc4514e8c532a0848a75fac67177844bda15368f1756bd4804b28bb55bb2e6c610f5e0ab9df749857405dad47c8b16b8063533b1e1c57d4db06f8e6643216cc342b053e3861cb1c71f2f9b52518457056676064abcd0041f1011b1ad3cb297a96200a96d6a30d2960161008cc7d26c1c011a00f857739e223ebd536c61748a1a9c792dcc7351210c8dc6c3e122ad7d9407975a75c3286f0ac032e5a655637c5b6a043aa840905d9623a077489e8cafa1285ea271c25f12cceb3664e3975f0eb6b25a04f18e4537ebb3f27405398d34718304e2a7265268367312aba5c069b765361d907775b3041b391668da99968c198e116530143c781160b80fb5d4b473cb7f60bbad1b83a3c8a80d93ee4e61dd546c5e06a67dbb6c94fe82d7e1b963e744984b849864a22d535cba8408bdab3854be3694515af4a58a4c6c0204f110ade12c0811036f9171635c00af6a29652914ff0cc23e0e67e84072bb1b3a027591ba96959ef3373a3912e1d43ad63449ec2f47de225767b94417a0b918bd83abf4439ead3090ee872f6c0c5967564da6c4a3ad061db656f3b8caf970a690422b914c599fd606eb1a17a3a220a1d86b8ba7343e1048c1d4328aeb57214e077246b7421091821c6299a4b75fb1b9fa124c7f5b3b1f8938ce9dc7551d25898387f5a86bc9a1c49fc8a7c5902b8e2912405a592a8221816570362c43589aa9eef609b0207c9e1f3b564aa6be9a60aad4193001ac4f6756570d983c8982cb3cd5d09045252960a068412f1bd67b83a217049d0685ec3d63d691559a327b29333445958cf50f9cfba453f058f562158bc253e535e4e2f07715531a1c6289ee32d432b4f9f751bde0496c580a181ffed762aa35454a02d3f1f47ee0394c89c -m = eca2adc3da1fb15f34033405ec08ef2f46163df4bfcccf8842c600ce0bc2026c -ct = eb9446333f6ea57c2475cfda3a3fee18af4beca95598cbb545095ad1f40c8af9bc520049dd199dbb30337ff31374872f1d14c5fecaeebba765e79a0a4141f080cb88b8ed248e1c10c3aec5d2faf4fb9250a85f92d8aca1f9b2eaa9fb6109d8fcb1da91e22cb008c10b0ed0f0abfccc2103cb4f9b9116c15e5bcd456db12e41dd5d8fa08c829ee256de2d355421099e409f4fb3e11c7a4c39ab8363faf1d6c267cd6a26c981be7c17701b428fe3b9ba808c4a6fc90a68101b45a13ee83fb2836a7d38c67054d6226080b96ef3580b5151b19dd3c4197a465274ce5f8b57af83abee81ca77699490973be19ea458e44234ec7ae1b350c84854504ac4327440731d0dac20f76541132829fc330f56ee85bc3de617beff51fb3e273bae116e7c7c454355837cad654f06ed99e99ceea1cb62671f89d4790da723d39f1644b9dc28382d006d7c5a6e3f777ff3259532890ca2b80a2219573129205e786267697851a7cd4c9922f482178555aa37b58b4e3809a29f1cf9d22d23fe0bee3cd0efe207a656ab791152c061e9defb7c1f4a83d32f40a8a353ebcba511e5d52c7c0d8903d57fac47bfeeda9a6ab7db8d61ac0d05ff424856dc19be27575a457aa9673c9d73f24e14696a54714cdd04ad76c9d3a67ab7ba013f115c3d603114d25554e11a98a7eed45255ee916921a94834c5c8c4263047a0e3810ba801683af58be4698280096195f94054b6ed7c9b6f15e1419a9ba01c8ab0ed17fc5e52ac0a1d6c6d36f7b4de1cf648200e8e18b45cd707ce2b8029c7ed5a886b7e71ea8646468767d76cf6d655fca5cc668dd718f01993931b108f4355c461b84773af746548b235657ba853560b9dc33ba52eeba1ce0cc242b64b24ee2088ec7fcf5ab4d1ca77104696278f1ecd41271c27c1f9993a30a71970fe538b735cdd4ed475b72acfab175a97f1adbf8d904876788a028c06b2a06491ae009ccb2d817988d72e702d66dbc45b0acecc2f020db2146cef09a26707a326ac6121c2cc71fb9a70ae400ca524db18675a8883625991c62090506cddff99ac3ba57962c39e1853e18e165dbf0401f5 -ss = 8e5426f9409f456d3f98d2c909abf19c75bb3df268b482181683c19b759206e2 +sk = 2a541ba3859e76c09675f97ec24138b384583a33c30fcaa3d7b1847788c04ef7113cf63d602740b90c19ded0975e4c470d660fddf9bcb210298bf18bde0569eb24abdf3796d107288e2748c1986d2684a4e4396da599992f63b895134eb331ad1b010569d02c113bab4e1ac1ca15362f2c7586546b4af6b2a3281bd691316ec4c31f06557fc387fd3446df00a73af0264fdbc51ee6616d54c4b29b1b80e44eb90b7727e7136a6cbb4e34ca49e49dbaa3ba3a71342f52ca0fe1332f87b2f1486c6aeca774647c31b00f387224319768fbe96c94f1887c3946d73cbbba863adec9b6f798bd7007a061692e79b734a1a69aa6ea4cd133a78da739b4e376d9750501e538477a6968f944c5d354a26b789ab90c63250530978be6cbc85830715a9b4837690bbf67b89150b8bab2459c3bb82ec97175a459a7eb645bac79a0f4087240551c493849322aa0a3a25c3087c5d667ffea5dd19197c6f3cb5ff4a9dcd61833783f2da504a8fcb58e35b8dc1b26770b7c3d211cf3a9b979d8b1d3746250a74aaf23aa62b6c9acbba545a0ccbe0a1316d5a86ce931fc9a31be4a764c0807928959f2ecc7427b6f344812ffa994748797284b25a26936cda35af397104e235b36b71b5fd9a5072b415d818a250800df540ddf164257882a4126aea50739f4957c823a3caa026182b415ae54c40c8998417131b3924af587022659accb85409c6a8cb9c4a32f372ce061437671b9d56a7e04b1a5dbcb1c0d53960c564096d4777f9a56e47197d1d9c7e144929cb38290066e39a3c25ef866014cabd01852a09168df1a59fce8bed6382d91ecbe6c38979b5b1617e58bf6a05f3318a64df6a5a7a97cab71ccf7069f1dc7ada344006c604633ab3b542b6acd9bbe19fa027c81725f2c4837109bc4887d2d669fcdda0ea6722cca228561477d9a456975e1ae62a25967419eebc55e60203d9cc7b17c51a668a544805aa5470b1e84651215e3bb58447583b5942498c0483a3ca405cd71958c1208a3bd306ca71695d8290cf378a91ae601dbd8cbe6938042a5c886ca27f1eb9b9e3c246383a9a3509ad04bc66089a04611b241fabba8f6435b0b4889a9403e60524f820cd8d875926a2d68b33c3134c90e9230b43cc743921623eb484f7c65a741a8c30cbde4fc74a55305ef8588db967ce70b29049a8e5c821b484390a01761f4850bbc916af732afe9a211419944e6c7457207ccd12aac09c421bc0a4225f84727424b306549738b91eda3a818e994cbc763c176795c1286019183ca6b2e2d3c8ee925937c5a9ad62306694724e0b62b68369a204b0d0d1b74ad9ab5158356035045416a8eb48483f11ba52ecb1e77babb800bcd67245932a237f237410730114ba4241a295ace13ae201b776c29613fa04a82050bc4514e8c532a0848a75fac67177844bda15368f1756bd4804b28bb55bb2e6c610f5e0ab9df749857405dad47c8b16b8063533b1e1c57d4db06f8e6643216cc342b053e3861cb1c71f2f9b52518457056676064abcd0041f1011b1ad3cb297a96200a96d6a30d2960161008cc7d26c1c011a00f857739e223ebd536c61748a1a9c792dcc7351210c8dc6c3e122ad7d9407975a75c3286f0ac032e5a655637c5b6a043aa840905d9623a077489e8cafa1285ea271c25f12cceb3664e3975f0eb6b25a04f18e4537ebb3f27405398d34718304e2a7265268367312aba5c069b765361d907775b3041b391668da99968c198e116530143c781160b80fb5d4b473cb7f60bbad1b83a3c8a80d93ee4e61dd546c5e06a67dbb6c94fe82d7e1b963e744984b849864a22d535cba8408bdab3854be3694515af4a58a4c6c0204f110ade12c0811036f9171635c00af6a29652914ff0cc23e0e67e84072bb1b3a027591ba96959ef3373a3912e1d43ad63449ec2f47de225767b94417a0b918bd83abf4439ead3090ee872f6c0c5967564da6c4a3ad061db656f3b8caf970a690422b914c599fd606eb1a17a3a220a1d86b8ba7343e1048c1d4328aeb57214e077246b7421091821c6299a4b75fb1b9fa124c7f5b3b1f8938ce9dc7551d25898387f5a86bc9a1c49fc8a7c5902b8e2912405a592a8221816570362c43589aa9eef609b0207c9e1f3b564aa6be9a60aad4193001ac4f6756570d983c8982cb3cd5d09045252960a068412f1bd67b83a217049d0685ec3d63d691559a327b29333445958cf50f9cfba453f058f562158bc253e535e4e2f07715531a1c6289e229ef54e776c02586f3f46d723e7932215fb7e09c397d1552cdfe3457241fc30 +m = 1407c5b3005f98c64400fe2201f1a2b77b378fbc8141f175ab2d1c2a58846693 +ct = 609af9bc394e77e3e1a99d3a894653dea9c9146a143a8007bd0e363c9fdc0c4dfee883d5704b6491bcea89386b783d3000747f5d4d2a5dcc5942cd6e4c1b3caa933e6c1ea19ee36bd147ded87e4239c653c3de4d09be17324e473aa9757b1f80c765dbc2671bd6d7b8cc35eaa905552edad32e48d18befcc7cd870b69a222c2cdbdcd198d27a32ef3a8c06a4600d03bb8af08b075505d01557e2aee948b5364c6e5f3b11a22f40210c2e718577f4e4bed6136bc4041290959e87b78ce931440ea4c45c3e67c6da5538d07566efa37b589ccf4fee9cd7becc45acb5fbd3126206fe0e41a39c302aebdf88f21e05b0e5b613b10200634722302fdefb62c8c3b11dc0bde49e7180be7078bbf0422eeed256d1890d69931c7bdc62cc5e91eb0058f8f56f5baa86482d16ec2a5d6135c39a2edd9fb6736c34cffcaaba0f6809a9226f5b2924d21decaabedb7568740e02167228395275c02ee6ee8c6290a89e01cbf74270c192aec478bb3eb57b31fb596d69f848a421ba7e1a30af01f5b3c9ff7c08b5866b499db975a572eb24e1fcd1a27eac41e5d00e8b551d5396713c011bbe81386099b7b564dc1b9d4211b17349e99d2fee5c1ef4e046a9e60f80b7b9630bad46625ecb94ae8e0e495e6d8406aefc089eb16040c954b21b6af0384508c84cf1ea0daa608fb6a8b62ca563ca522ca4d2a284ec3221b346d09e28116afcf31b2c4a1e3697fe9c5fbb3f9714068ac7137673a5be955ac38878e6939024ad0e904425123c1ea23652eadaa8bb26501fa221f99276a88625a23b52770232a596bced2d9c7f7f9daf5ba521ede2582e8a4054cb2ad9661a5bcaa9c42d83a166663c2d368733aea0ffa640f0ebd74ce406528be853a972a7f7ff6b488cd0a8dc4efdf3342c63e3b25abbbd544003aa4bc953e9ecb720ca1d7d0db5dc98480aba5458669639148d4f71ca6fe8d2c43c75438bc06c71d7284267ded535f43da5ad49838ed35552e313ecb4e27d666c4bd93a8b31eb2aa820a7c6e754a83a366ad409af702bfb1845860ddb8e4a7f49cbf65693c575620e9844b6a0a8f97864731cecfccc +ss = a33a728fdcdd59c3ca5cb9f7c9115c87b311d1ab7407c7253c7895f95554fec5 d = ac6fcfaeeef795b6ef9e062f02bf42975fa01e7d91ba832f74e05269a72684d0 -z = 5aeda108ea4d6c6bc0fb958286850422bc357ca67b83c986048e0d0087fa11ec +z = 66bbd48deea2a0a14bcaa97e18d848e609339dc39bcecce7077f2d7432da536e pk = 69a047a0a46968f3828fa4314fac3f911a71a10c866e7c035fe4cf00a92ba9471a735b808117722378a879702d59728d66f35d53c34bf5797c2ff9a2f55a0b2cc873d8063a8ce7914eec935f55174cbb542702b1e7736f50215f7a1277968c2d35c711653a8e4af95115c9ae33d0349d4a09504a10cd48c77b411cf079a497a5785e39830cc8a189b9bb56891249d976991b23a4a7a1aff34f3788b148166c40f381bc5704058339bde0c192d307515a6a8fc5747a1058e394cdb79c4142fa5ccf3780f254a10c671543b63bd7d192913480c77517512c0e49ec3fb8d03ffc793e7cc01125226fc4929c8c1c2aadf12b452746306c2a9c36392b23045888c2f4170b5eea07aed4515a819d7c5749b35380cefc976c87270a1237d6f4ac214548268a6da75928e0734eea7887aac0a2bf623e17852501556b03c662e4e9c42b914923b88d502714fe53373904b91598c8d7c6b022e5367a90173fa511005039d9ca5c3cb2bd5ed1404f7373654848ec436115339db37cb3549ba77237c243f25da96a4bb4a8b88e441693f6a80840b0ef7538f8fa9b71ca736d08bd3678c4ff8c480b115452c9c8fcd52529b1481e82236e5a311a204bb571a89b0a60738101b4617b033ba2df6c7967cb7b7f218aff886edaf2464b2a12bf244bab812731f46200ec6e94d24548650e1e1572e4a78157e2ca569c3b1472cd8fe98458c1a5ab8340f3a90e5a854ece60469698cf85d88739cc96adf7048cc584637a408acb79980a8dc119049135795245748683ac8f53b815e29ddcf5452a9504e0fa1de9840e4d489810c35a100687bac18e185bb53d499d266a8758c68782778b533bb9e5b16ea833309a0c8b3e640a2c417ad23b01e27220a7e9cf9bb91bd6eba10c08acff499295e0ac4f61b9e85ca75185af845c4f4330652ef024869ca7d3d33cc188a65cf17aa645b8d9b010f379198e31b7ae448082069b33ab6ff3a235ccac081814b6e063686707721f6006eabc91a4999915661427c85979b93ddfc14e24176e9c0359839a1c16f91afef473652480d4a2261abbb7fcb031de8993a57600220a6c9fe06b5fc03dc21f6d925b9f6d92fff175c9dd625bfaf502b4e2870961858852 -sk = 79888a9bfccca036909f99bea673c23173c15865c07460cd894c115fa1b673a8c2f60b5a99e3746be64b2ab5a7d7d980ef78131a5c9839714692649458667cb70361faf61a5fcb967f235b80858cfee9b9b2aac5d32202e6c881a150c38fe9c8fc51ad32f57ee2f140f34abd1cd586c754af25e23c60289302b95bb9ab1a90f59ef045ae45698fd57acd202bcbb8b960fdaaa6f9994e4f201e6d024874a68e3618245e993d035c50834062fa16b734ea4e6351cff4b77c4d2724af1b6ac8391736b23bd5caa94e61400877266b266d206b39c8c7563e86633fc90fbad12141715226c071042b1efd61cdc7e32f89e750dd24314f7c594652b9e45c4bc07b6fff66b5344b0548eaa81f189a6fb656ebfa3d46c4c5453b7f183a335a765a58f647f8735900e2159733b01a84789d162966a15134831d9223cd10a7039286703c85c3aae57175314a6a9c83e869aa0f3a77c400c1b705768d31826030391e0c82b7b4694be10f6c902b74d8a1730006534b44f3128cb42322ddf32f5d6b6f1e4524e867383dc52e554122dc0c3042459f14f88bcdcb7f133b8782728635339c5bc2b8cc2366d4ab11049cc96af69b686884694a968cb84573d56f2fe6b71df18d999436171a2c45c88fc4a0983333432e33bfcd1600673078ed512f12804d691c50ca935b5281b809d934ed3a41b41282c4b483d4d1c9487509f120246fe98cb408afe5c2714d57a41b95791164b406e85e9dac5494016b2f4bcf197419740a3b3aa5025436b0c46b7d5a4360cf972c7e9b8f32560747168d0b7818f72b22629074dbb79af74b91f4970844862c30dacad02455e5a512fb82cbf67ca4400ad038d8a867005724e2c8c2727dd0da6b696828f741804d27956f3c3c67508e4be740be8c63b8858af9f74fa19c7333fcb49d4667c9dca264aa5d78cc9f7df99bd6c063493759df3a6fdbe2b5e241a5f98c4ecf78b83be48d55c81e8de43b210378d4f2503de05c2d76b01c3821e0006c2a5542a5027898284709149a58c3b5b3d4b761e73ddd892262d9c80584967c047fe89a409ef879427164ed5708a0150e30d0ae69a047a0a46968f3828fa4314fac3f911a71a10c866e7c035fe4cf00a92ba9471a735b808117722378a879702d59728d66f35d53c34bf5797c2ff9a2f55a0b2cc873d8063a8ce7914eec935f55174cbb542702b1e7736f50215f7a1277968c2d35c711653a8e4af95115c9ae33d0349d4a09504a10cd48c77b411cf079a497a5785e39830cc8a189b9bb56891249d976991b23a4a7a1aff34f3788b148166c40f381bc5704058339bde0c192d307515a6a8fc5747a1058e394cdb79c4142fa5ccf3780f254a10c671543b63bd7d192913480c77517512c0e49ec3fb8d03ffc793e7cc01125226fc4929c8c1c2aadf12b452746306c2a9c36392b23045888c2f4170b5eea07aed4515a819d7c5749b35380cefc976c87270a1237d6f4ac214548268a6da75928e0734eea7887aac0a2bf623e17852501556b03c662e4e9c42b914923b88d502714fe53373904b91598c8d7c6b022e5367a90173fa511005039d9ca5c3cb2bd5ed1404f7373654848ec436115339db37cb3549ba77237c243f25da96a4bb4a8b88e441693f6a80840b0ef7538f8fa9b71ca736d08bd3678c4ff8c480b115452c9c8fcd52529b1481e82236e5a311a204bb571a89b0a60738101b4617b033ba2df6c7967cb7b7f218aff886edaf2464b2a12bf244bab812731f46200ec6e94d24548650e1e1572e4a78157e2ca569c3b1472cd8fe98458c1a5ab8340f3a90e5a854ece60469698cf85d88739cc96adf7048cc584637a408acb79980a8dc119049135795245748683ac8f53b815e29ddcf5452a9504e0fa1de9840e4d489810c35a100687bac18e185bb53d499d266a8758c68782778b533bb9e5b16ea833309a0c8b3e640a2c417ad23b01e27220a7e9cf9bb91bd6eba10c08acff499295e0ac4f61b9e85ca75185af845c4f4330652ef024869ca7d3d33cc188a65cf17aa645b8d9b010f379198e31b7ae448082069b33ab6ff3a235ccac081814b6e063686707721f6006eabc91a4999915661427c85979b93ddfc14e24176e9c0359839a1c16f91afef473652480d4a2261abbb7fcb031de8993a57600220a6c9fe06b5fc03dc21f6d925b9f6d92fff175c9dd625bfaf502b4e2870961858852ee6cb12a54341aeedc99f1040b01603c35f07c5487ffac7b4fc1925f490269165aeda108ea4d6c6bc0fb958286850422bc357ca67b83c986048e0d0087fa11ec -m = c4f15bec2d7701339d0ade4835193bea3632edcf89e74992620d9eb623a0d0d4 -ct = 1a4a9ef8b0e0a6101a3a2be9a44f0790a09a928295705084a8ec5366c4cdfb9c3a8ddfce2beb426c9c7512f781a1a881084036a8aafb8b5b066687afd989c4ebaee371f873450c4bc5b8fe84ed4d84c6436af0f03cf6cda6931a9afc6c0564facd2abb43069626c7f41e2c8aefa64bc01a1b4875cd38421001794d8c6653f66a013d40a1f53b61e8011f7b5c874fdf20d18f8cf9d4ed6753bd7ca850cee857fc3272d66f5f17a787eda738014d69b5144dbaf9562d784bc51e1dafca81bdd51f13ab41c4edacb4e561f075cd31acfe3c664d49060fd0d7d66f743b66d2923adbd746564e4bd05d37b0d11821da7046e485e2cbbf9acb1f8b66b6724d2103add846f668553124f02035ae93536a2ad63a1f71eee98efe86e4f387d287174ee348c6c8113a5e57e8564758d951667cc17044627b6fc58eaebb0b3d9b7934f8fd823c877971bc65215fc288a3a8d4c55c288ef9b4df6f42ee0fb7bc0dace6ff89628e497d91c8a6879dcfef6659d4b2b374e6b1fbc277efc8a86dfdcd22aa83e51d2d7d26e3ab7e08ba13c0b726fde32d24de675bde3563f62cd6b1bd88641e8aae743b09dc24eee19e6a52406ccf9082bbc6cda21cb8d3efdcb9383d3db7bc929e2a83b759ad4f26a6344d3ce361fb700566b910f020f812ff8b36d749852ab20273ffdd571099662b7c2e30dd225a0b52f09337503e1408933ecb7bb7172da5cc33edb76ac017ba6d63187138c470a91af873686ec14adcb3b866de8a8313ab506756cb8bc6b8002533095ef2be2fe1f8b6bef316d05687b56f69f06c8ba063b6ecf87b09534079af3de8862202969275dc569b189feaa89525076f26ba14cc5cbce5286f24821e18c7e077f0e5dde1b7cf3a2efe8233f447b7b6dbf006802ab656f968c982003d1b2055f4d85ec4543a6a0e51746c5eca1c33c9159097153d114c124c5415bed6d2df267fa2d2079e88a3872cf32ac6aa20c0626e0f46994b16fa76be18c0296d57df2c78714c7de81d03b77442195dffe83e4ae00c4eee649751043d7ec12573ba3612038e8632fa96099692debf76b275eec1bcc579818f02 -ss = 9d7254f23dc3df7821eea7db99758b3a66e8af9229c59783bdec5e2896764f43 +sk = 79888a9bfccca036909f99bea673c23173c15865c07460cd894c115fa1b673a8c2f60b5a99e3746be64b2ab5a7d7d980ef78131a5c9839714692649458667cb70361faf61a5fcb967f235b80858cfee9b9b2aac5d32202e6c881a150c38fe9c8fc51ad32f57ee2f140f34abd1cd586c754af25e23c60289302b95bb9ab1a90f59ef045ae45698fd57acd202bcbb8b960fdaaa6f9994e4f201e6d024874a68e3618245e993d035c50834062fa16b734ea4e6351cff4b77c4d2724af1b6ac8391736b23bd5caa94e61400877266b266d206b39c8c7563e86633fc90fbad12141715226c071042b1efd61cdc7e32f89e750dd24314f7c594652b9e45c4bc07b6fff66b5344b0548eaa81f189a6fb656ebfa3d46c4c5453b7f183a335a765a58f647f8735900e2159733b01a84789d162966a15134831d9223cd10a7039286703c85c3aae57175314a6a9c83e869aa0f3a77c400c1b705768d31826030391e0c82b7b4694be10f6c902b74d8a1730006534b44f3128cb42322ddf32f5d6b6f1e4524e867383dc52e554122dc0c3042459f14f88bcdcb7f133b8782728635339c5bc2b8cc2366d4ab11049cc96af69b686884694a968cb84573d56f2fe6b71df18d999436171a2c45c88fc4a0983333432e33bfcd1600673078ed512f12804d691c50ca935b5281b809d934ed3a41b41282c4b483d4d1c9487509f120246fe98cb408afe5c2714d57a41b95791164b406e85e9dac5494016b2f4bcf197419740a3b3aa5025436b0c46b7d5a4360cf972c7e9b8f32560747168d0b7818f72b22629074dbb79af74b91f4970844862c30dacad02455e5a512fb82cbf67ca4400ad038d8a867005724e2c8c2727dd0da6b696828f741804d27956f3c3c67508e4be740be8c63b8858af9f74fa19c7333fcb49d4667c9dca264aa5d78cc9f7df99bd6c063493759df3a6fdbe2b5e241a5f98c4ecf78b83be48d55c81e8de43b210378d4f2503de05c2d76b01c3821e0006c2a5542a5027898284709149a58c3b5b3d4b761e73ddd892262d9c80584967c047fe89a409ef879427164ed5708a0150e30d0ae69a047a0a46968f3828fa4314fac3f911a71a10c866e7c035fe4cf00a92ba9471a735b808117722378a879702d59728d66f35d53c34bf5797c2ff9a2f55a0b2cc873d8063a8ce7914eec935f55174cbb542702b1e7736f50215f7a1277968c2d35c711653a8e4af95115c9ae33d0349d4a09504a10cd48c77b411cf079a497a5785e39830cc8a189b9bb56891249d976991b23a4a7a1aff34f3788b148166c40f381bc5704058339bde0c192d307515a6a8fc5747a1058e394cdb79c4142fa5ccf3780f254a10c671543b63bd7d192913480c77517512c0e49ec3fb8d03ffc793e7cc01125226fc4929c8c1c2aadf12b452746306c2a9c36392b23045888c2f4170b5eea07aed4515a819d7c5749b35380cefc976c87270a1237d6f4ac214548268a6da75928e0734eea7887aac0a2bf623e17852501556b03c662e4e9c42b914923b88d502714fe53373904b91598c8d7c6b022e5367a90173fa511005039d9ca5c3cb2bd5ed1404f7373654848ec436115339db37cb3549ba77237c243f25da96a4bb4a8b88e441693f6a80840b0ef7538f8fa9b71ca736d08bd3678c4ff8c480b115452c9c8fcd52529b1481e82236e5a311a204bb571a89b0a60738101b4617b033ba2df6c7967cb7b7f218aff886edaf2464b2a12bf244bab812731f46200ec6e94d24548650e1e1572e4a78157e2ca569c3b1472cd8fe98458c1a5ab8340f3a90e5a854ece60469698cf85d88739cc96adf7048cc584637a408acb79980a8dc119049135795245748683ac8f53b815e29ddcf5452a9504e0fa1de9840e4d489810c35a100687bac18e185bb53d499d266a8758c68782778b533bb9e5b16ea833309a0c8b3e640a2c417ad23b01e27220a7e9cf9bb91bd6eba10c08acff499295e0ac4f61b9e85ca75185af845c4f4330652ef024869ca7d3d33cc188a65cf17aa645b8d9b010f379198e31b7ae448082069b33ab6ff3a235ccac081814b6e063686707721f6006eabc91a4999915661427c85979b93ddfc14e24176e9c0359839a1c16f91afef473652480d4a2261abbb7fcb031de8993a57600220a6c9fe06b5fc03dc21f6d925b9f6d92fff175c9dd625bfaf502b4e2870961858852ee6cb12a54341aeedc99f1040b01603c35f07c5487ffac7b4fc1925f4902691666bbd48deea2a0a14bcaa97e18d848e609339dc39bcecce7077f2d7432da536e +m = 19428b5875abce53a0c9baaea7707855e56d971083793b2960986d38e2880449 +ct = b6c642dd77557c1af93b15ccb2c1076cd1ae2815b8dc232ebf1380bd5dd047879302fb7e485e3b703e28843f0df8ce234a320ff4dfe3364197777e9d3604325c442162dfee764fdff34ffc1f47932c6ce81fa6d0674f63f71ec22cc1fbe7ade73f3f1eac2767ab092451c4bcb4a003aa0593936bee8163f63ceaa50fad3d2f5ffea9e1a2bb127de66f9724bfcc22b9d1830ac68deba1c17cd99bd493ddc2c572ad617c98159b5aeb8ebfcc15ef5b2e501dfff1556850b657c3b349b05f3a1346d8d17da1e4b56b9679b680d22a7c156c1d7c67bd0725a48d301b61d77c0effb4571ca49019bd99607c1f916746b0410b8f003a22d675e74fdc609f82ef9c35dd46b2f97f97f354fe0f9589eb9a84c29fdd3589640ff2b5c733c7e40735d24dd03cc3c45b905204a9e2a8da70666e5707a2d47c4d48a0a9805777b524b5f274e4c017c341ab32779207f5c060ad13d74797d4553dc9082604f5c09f0b2aff1b012af3337516fa1965ed34349904a28d762361eaf63b6ff10aabd80cb1568e44fdc68dfa2eb23cba637e74eba94e9fb84625074a7ed56ce986638362c7cddb680ded83fdee725cb93365660f6083b7c0a2e9f00ea25f36330ea749c6833a09e9b9bf9a8f9bac863894137f41b750e099a14c04bd75d605f179bcfe6f2c3ec0c4b71da1a220058692c4f0c2cefb9917217f513ea57b497fd01690bb9ee6526d882989b0a7d2c908d87fd9fc5ff7c285321497e249e343624bc338f0e2d8716d2f675cde479a25a6188ee872724c0a89195003fec57e7d2e7253a19d98ae49c5a86818b5ef9ba68f0a85dbbdf7f5bf119483d02ee419511c8c6e8631fbd9fc4de156553fe41c31b6be64303d453a0ab9632b00893c8db86d93a1c0d6e8e0e1a00ca5e879c8d8cadf8c310c70c38c229d493d154c8897aa5c26584889bcfbc731a2850dbf26fa5269a6b76804acab002e915f128eb98e8e1b678dce114e683679fd475f496541fb74da772113f4f904f5851e8734cf3f8146272271e830188382293e88e5acba9a7354147c94bb07cd3db7391ab74df671ae54fcc20f688ad2e4428d +ss = 26afaf79cd1e110d495a9a8061b2713e722df9bb2d4f7011cf9b5de0ca2d551b d = ba2fb9318d4dbe7488057c33e95e6f054583a2800c41bb83083c330a914a12cf -z = e63f8ffda3565c2424c89b20974b748a65a5aba75133fcb3156dfb6626a83bab +z = 3e3a1bcd39c74c1b899ffa21a6fe100804a551199d32db4a75e6314bfb58f70e pk = 8c9845bf1121a0172c991415a6456b7d708cf45a376e689e8c74b1dd589e2ba95d19192e47937b647c21bd9a518644113f44877aab626c40843b078e9a93be166c73772b290164c7ca1454f2b310c7133a12aaa960e3b4ae6aa2fa5666de35733547c069e9911b15c17a8a732c9aae30b2267aa97bed49c5eac3a9b769c3a9aba51e882d0f5984cd7c39a2d1136fd627b3a204ca30a32efa02d51977eb2145e6c91717e0760f8949caf6b928a59f4d6b24221a291d008679b4b761178909c83d4c035de424c202117132010da0502b75e51705d07da603526fe46f50807af33593b0d59d4b28b31ac48ba7ba35793b194224a4f7577d4a7664e4311841b3908ba57292728a428a516d96c90511ac6b34673dc0127db223b7b27121a2aaee2822744b7f23969cf95b3960826c0ab4a100501bb601b6f2597339a408eea5360b9c6b752a03d648817654a35db7c5fde89357cb1e44a1b800d99e87872f95a17709f72a2a502d8f908cca15a22c14691e219b95b9c3fdcc3fe3c849efeb9cc0dc051f451fbad93ba360b2dc2370b400ce74058dff270757f20603176ef888cf2caabe2f8b337377368ba7aca7131bd6c8615e0017e2b21bd5b9b029085ac668803f66798ab060104ba4e930322b1452befb11c45112da8592fc0a74ccb8a75491120c1b0c1f0cb0a1abc7386948be2bac6bc92c60944ac8482e5a519b3ff36df7ea5e6f939b0c1b662342a08b6059658448b65b65c432b28fb66b92594d0d8938e5d3a0d6a99c7b3173a0796e02195e84b28da2b06fcd5672412420c916c77613b9c69039cf1c6594d90aad857dd319cc9bc9702fd452ad455d5329b14ab033a5910c08124338933f60993c3683433352cce6c484efb072f59b85a6b402d4652d910173caec2adeca708bdcad9d996b60a08f8c3131c571b5faf01a4b65565b18298ff8c6b3f68e77e768a1c0cc009315a4459b0b191c3584bbcd562861c20fc8e2c70944b7eec84c7e427f935b5731fb6e42d8b40b013951852413e94d5e01a04405319a7167b8e4cf638279331a6c3eda1dff9cac99e148bda370c2d00715c4ae7715b3dba61b94849dea30e28720bbcb90c7af7feb0af619a0cf57d173405c82 -sk = 68442641472c1216cff86478bbd31e60e47a22391987da1541aa882a649a482bc06b28a7181913790294e3a4a3429c7ccec1ba4012132b8c26458a7afc514e3c859584bb2768641abff48ef730920f15775fd408ecb1ce3dcc3a10095c96a3b23d6a39e6caa335bab5e143118ddc72ef347426f83907153f0aaaa356200279cb10a6a1922bd148898731b5a82f0977395f00189f244036d8a409937ad9a4550972b165f52b15d851f30b127ff5b3f6b29818501aa2c9b00a7981773c32d2d55d8caace972c8fc097821382aadbe553ed8b8e1e7ac0418002f1901ae384980146aa6cc01b8a939075fb36d4d48b55f489b870afd61768468204acf72eef892141e05d1a1518e01218519249ef45910a06baa4d442ac9a95c8a39d9d474667b48cb669558e301159e1cf8c6748651039c7f90945708ea56979ec42a8e9e86bee5b5554d8a46da0bb4d8b100809203110518534260f321d0adc1fa6993fed33283af10bf0130ca4110b6193a7bf746513a8cd4b84658054623e75272c198fb443af89927faf644824e8cfd7ac3eb2d12efbacbc7f837834c57e31a521977b655d682a34079c89f3c38418ca432242fd7420f990312a722f67269437481abff29b1f4c6795975549d38d6224ba7006046a015d0f770434e597f039767551381474868eac4d653a7bf0b989eef6582b80744a5b91b1473a9e920055e4b5bcd523b7a618722a107470234430158dd887982b79383b7272a4685a854c306b43d36ab89b57736ff667c27a10265a7e15bb5cd9112d6f9387baf21f1b32957e17c05ddc50c176a5bbc2ad5cdcad536185be78c13ca6c2a3220d493213bad32f33f582449070c4b54725e329b1e99a0fa58010d7a22a6a4dcb822e5bb28803e4027dd935cff4c556204531d27c5a462c92a085c7363a214a2e0c8c1d1cf42b069ac623a245a14974d2cacd58f18a8973a02c66ce4f771124e9878e402103f96bd3f00ce61a78a5fc5123d1aae661c8908c09dd457285f435401310a6f4a513822c8261aedd896adaa8ac1d52c1352a1a3e2c7b1ffb13afa0cd6b39875e9c7db636b82bf2278c9845bf1121a0172c991415a6456b7d708cf45a376e689e8c74b1dd589e2ba95d19192e47937b647c21bd9a518644113f44877aab626c40843b078e9a93be166c73772b290164c7ca1454f2b310c7133a12aaa960e3b4ae6aa2fa5666de35733547c069e9911b15c17a8a732c9aae30b2267aa97bed49c5eac3a9b769c3a9aba51e882d0f5984cd7c39a2d1136fd627b3a204ca30a32efa02d51977eb2145e6c91717e0760f8949caf6b928a59f4d6b24221a291d008679b4b761178909c83d4c035de424c202117132010da0502b75e51705d07da603526fe46f50807af33593b0d59d4b28b31ac48ba7ba35793b194224a4f7577d4a7664e4311841b3908ba57292728a428a516d96c90511ac6b34673dc0127db223b7b27121a2aaee2822744b7f23969cf95b3960826c0ab4a100501bb601b6f2597339a408eea5360b9c6b752a03d648817654a35db7c5fde89357cb1e44a1b800d99e87872f95a17709f72a2a502d8f908cca15a22c14691e219b95b9c3fdcc3fe3c849efeb9cc0dc051f451fbad93ba360b2dc2370b400ce74058dff270757f20603176ef888cf2caabe2f8b337377368ba7aca7131bd6c8615e0017e2b21bd5b9b029085ac668803f66798ab060104ba4e930322b1452befb11c45112da8592fc0a74ccb8a75491120c1b0c1f0cb0a1abc7386948be2bac6bc92c60944ac8482e5a519b3ff36df7ea5e6f939b0c1b662342a08b6059658448b65b65c432b28fb66b92594d0d8938e5d3a0d6a99c7b3173a0796e02195e84b28da2b06fcd5672412420c916c77613b9c69039cf1c6594d90aad857dd319cc9bc9702fd452ad455d5329b14ab033a5910c08124338933f60993c3683433352cce6c484efb072f59b85a6b402d4652d910173caec2adeca708bdcad9d996b60a08f8c3131c571b5faf01a4b65565b18298ff8c6b3f68e77e768a1c0cc009315a4459b0b191c3584bbcd562861c20fc8e2c70944b7eec84c7e427f935b5731fb6e42d8b40b013951852413e94d5e01a04405319a7167b8e4cf638279331a6c3eda1dff9cac99e148bda370c2d00715c4ae7715b3dba61b94849dea30e28720bbcb90c7af7feb0af619a0cf57d173405c8242ad42d6d3b13c72b16287909bc4c0da04900536a1e48a1a28db4f5ee2d2e771e63f8ffda3565c2424c89b20974b748a65a5aba75133fcb3156dfb6626a83bab -m = 28878249e2ac2b6263422993923a0c8bd05ce56e385ed13c943b03d226856947 -ct = 79ec1797a8e702ef9126ec58ad4ccae59998a3a6ff366e791e6f0121c24fbd6ee4a56b1ad01c2767902299604305dd3a734b2d634b279182c4e40b4258f7ba7e405d96253a57a526d0bd83f78965606b2f58801c94922727189980999d5bffca0fa8556be01ae40bbbc69ba61db8941cce156e4df2eb768e05404f394a1ce64cb672cefd0caea71911be0f480921e97cabda01a715572dbdf43b5a7eea74ca440a64150c8486851ed2139104caa0c7ac4aecf7a4ca674524ffe79b4177544080a7c806de296047ae817808d4c7dbe72770f25baf6f8b66f52fbb6c7c691976c72fbb51d964796d4773585f56cc49ffc8683ea17d5ccdddf4df4b29044ff4bcef3618063fe9a59eba72e5ba290204e3eae67e363e9d357439105d919434fd4708622292e7ae91ba87eee3c26fffe9f6088ec722729097d2580078f74d461a96fdfa3454b55bf9109e3fc281a02abdb6ca2f379af6370b5ea6ccf4ad3d04e5d149f011c3d0e70494fd7dc2c90c727306514c50125b34f2818f608c99ff8eff97247cafee981bb849c8dcc84eefce9bc27dd4c96142d081345a55b707b37de27ecfe7dceb75055d061700ed91456521c0c10fd3b9260901841230d1e9a5e75b4b1517facfcff18e11beaf140f9f1552e0a79c3ad969f78f44f0a601981f175c44e3583237b60185b80deebe967510f6672adfefa8ec64198ca5013c53b3bd9380fcbee17826b476e98c613983f8fdb2f1cd4725466b6ae6d2a08f00aec8c881895b1842ae5433ab429e4a82e3b79e3c30df84c6c23b6340f246f18a6fb25e92ffe13d7bc2a787e239bc87bafee68bae5a293bc12484f84acda9297d3e8b858fcf0da6dff937fa07bf14b3b6d8e3b9334d82172a6c8188a1a175adc7e7eca6fa506e5d158d8141291e8f7362d4a00637575069abc9b8a33af381b33eff932762034b60711f10e8677de5c1805059f42f49ff3cf44c9628125324cc87bec5c8c8ca178bce8494a7d40c49d53140b5469de156ff2ebacd4d35257011ebde1dde2c08648ad2ffbdd639f1fa7872d228c8786423d6baf664fb3c8df59259c65d03a064a1 -ss = 78492b7b31cbebcf47ce753e8a578751c7cd060158a82918d78286baedd8a81b +sk = 68442641472c1216cff86478bbd31e60e47a22391987da1541aa882a649a482bc06b28a7181913790294e3a4a3429c7ccec1ba4012132b8c26458a7afc514e3c859584bb2768641abff48ef730920f15775fd408ecb1ce3dcc3a10095c96a3b23d6a39e6caa335bab5e143118ddc72ef347426f83907153f0aaaa356200279cb10a6a1922bd148898731b5a82f0977395f00189f244036d8a409937ad9a4550972b165f52b15d851f30b127ff5b3f6b29818501aa2c9b00a7981773c32d2d55d8caace972c8fc097821382aadbe553ed8b8e1e7ac0418002f1901ae384980146aa6cc01b8a939075fb36d4d48b55f489b870afd61768468204acf72eef892141e05d1a1518e01218519249ef45910a06baa4d442ac9a95c8a39d9d474667b48cb669558e301159e1cf8c6748651039c7f90945708ea56979ec42a8e9e86bee5b5554d8a46da0bb4d8b100809203110518534260f321d0adc1fa6993fed33283af10bf0130ca4110b6193a7bf746513a8cd4b84658054623e75272c198fb443af89927faf644824e8cfd7ac3eb2d12efbacbc7f837834c57e31a521977b655d682a34079c89f3c38418ca432242fd7420f990312a722f67269437481abff29b1f4c6795975549d38d6224ba7006046a015d0f770434e597f039767551381474868eac4d653a7bf0b989eef6582b80744a5b91b1473a9e920055e4b5bcd523b7a618722a107470234430158dd887982b79383b7272a4685a854c306b43d36ab89b57736ff667c27a10265a7e15bb5cd9112d6f9387baf21f1b32957e17c05ddc50c176a5bbc2ad5cdcad536185be78c13ca6c2a3220d493213bad32f33f582449070c4b54725e329b1e99a0fa58010d7a22a6a4dcb822e5bb28803e4027dd935cff4c556204531d27c5a462c92a085c7363a214a2e0c8c1d1cf42b069ac623a245a14974d2cacd58f18a8973a02c66ce4f771124e9878e402103f96bd3f00ce61a78a5fc5123d1aae661c8908c09dd457285f435401310a6f4a513822c8261aedd896adaa8ac1d52c1352a1a3e2c7b1ffb13afa0cd6b39875e9c7db636b82bf2278c9845bf1121a0172c991415a6456b7d708cf45a376e689e8c74b1dd589e2ba95d19192e47937b647c21bd9a518644113f44877aab626c40843b078e9a93be166c73772b290164c7ca1454f2b310c7133a12aaa960e3b4ae6aa2fa5666de35733547c069e9911b15c17a8a732c9aae30b2267aa97bed49c5eac3a9b769c3a9aba51e882d0f5984cd7c39a2d1136fd627b3a204ca30a32efa02d51977eb2145e6c91717e0760f8949caf6b928a59f4d6b24221a291d008679b4b761178909c83d4c035de424c202117132010da0502b75e51705d07da603526fe46f50807af33593b0d59d4b28b31ac48ba7ba35793b194224a4f7577d4a7664e4311841b3908ba57292728a428a516d96c90511ac6b34673dc0127db223b7b27121a2aaee2822744b7f23969cf95b3960826c0ab4a100501bb601b6f2597339a408eea5360b9c6b752a03d648817654a35db7c5fde89357cb1e44a1b800d99e87872f95a17709f72a2a502d8f908cca15a22c14691e219b95b9c3fdcc3fe3c849efeb9cc0dc051f451fbad93ba360b2dc2370b400ce74058dff270757f20603176ef888cf2caabe2f8b337377368ba7aca7131bd6c8615e0017e2b21bd5b9b029085ac668803f66798ab060104ba4e930322b1452befb11c45112da8592fc0a74ccb8a75491120c1b0c1f0cb0a1abc7386948be2bac6bc92c60944ac8482e5a519b3ff36df7ea5e6f939b0c1b662342a08b6059658448b65b65c432b28fb66b92594d0d8938e5d3a0d6a99c7b3173a0796e02195e84b28da2b06fcd5672412420c916c77613b9c69039cf1c6594d90aad857dd319cc9bc9702fd452ad455d5329b14ab033a5910c08124338933f60993c3683433352cce6c484efb072f59b85a6b402d4652d910173caec2adeca708bdcad9d996b60a08f8c3131c571b5faf01a4b65565b18298ff8c6b3f68e77e768a1c0cc009315a4459b0b191c3584bbcd562861c20fc8e2c70944b7eec84c7e427f935b5731fb6e42d8b40b013951852413e94d5e01a04405319a7167b8e4cf638279331a6c3eda1dff9cac99e148bda370c2d00715c4ae7715b3dba61b94849dea30e28720bbcb90c7af7feb0af619a0cf57d173405c8242ad42d6d3b13c72b16287909bc4c0da04900536a1e48a1a28db4f5ee2d2e7713e3a1bcd39c74c1b899ffa21a6fe100804a551199d32db4a75e6314bfb58f70e +m = eec1e23e58387ea5247e118b6204176e01c8fde4ebf069f4b1a460713b5d5fc8 +ct = 66fd1cbba2ab8b389f98a5bec53ab49ee4c6b37e4df132e6a223a9537d530eedbc3d9d9a8b4d2576ad92c2fdf48f10fdc68cd1b61e51fc1487f7cc9ce5988e8190789876ea8a063558d514a93ebdcf7019d7a5a17e69eeb374bd4b126d5ba28bf03524e39b4ce3798fbda3c3672f4d23a9a484dceffe84cb5cb2a614ef339a15137dad4aa7215c64d932b8a861b0a848f28cca1c602f291c4aecd9f6ec88c9472106db89cbd621a42520abc222bfd6eb66bcee17d67d576130d519d04aaf4e357fb0594422c96ad8f54e7dbae5e36bbf942b72301991c9ccdba9a06b3cf09777b241c0675534e5e5a31e99fbc5619f889bf620f766517e224b33665e69052604ec776c33eeadbe88477f31c8735bb0853b8eace2be7b6155e89fad845366406abb50f6bc2709e3ba8a0b3fae09210f41b635233c2456e8e022c964c59f9fd6d8c7aa5e8c75994404ec401e4870580768408bb54c4d199dfaad3e726cb4d8b49b2580168330d6daa7cd487e6f43da490bd31e775b2068de2535b026a9303a9f94348d8289662d713f3e7272b8b2533314014ae88f377f77d0d1b42944945f7f7088d95334f492bca4cd6745308202b5b86f8f0b984f08d317084a618011f8630a91421edaca60be917b3d8146b98b6136f0804ebfc7d28c3e1352ba28ae81ee6bf83f8ddeb8951d1fc6224e15122ed21e41b151376896d59d27b8836769b6bb6e186d06362ecbc53051b7d95090a3bb5e29013ee5c4e60baf589e2c608eabb413b193fcf4fcb6824f63733e2d9f7886ff19a318c8a60f5e1dcdd12716b074b3321316ab7e54a723008d57f72a25b794441acfac2ef147b853712643b5ba92ac8f978638188b24432b5b2a2467d954028cc6ded059fc9247da6145a5e3f1f4b5ad34c23a7dc2fb1c50aee42079b532c204f72e8b234398426fcc5f33feb403f0c99f85733b97172eec0fa8cd67d0c7908c6a43408f0823b2f6c08889dea1d1cbd4f837581e0db76e7efe11a311c700a4aeee786a3c241e66e82ccac439394fd995e39ed60d5f3989ce012d45aff65ef86bc9a286b748e21b3f102111fcdc8c7ef1 +ss = 0a2ca99e6be74039fcd0152aad3d5b00e305487e6ebbd1e28a2107822e8eecc9 d = aa6dd1e5799cdf7af9c4fc632b3eb9d51d66e85c8e0a21ec98664fc51ab63c7d -z = fda268813efab5204efa60f78bf81d320d01ac09ac06244f7afbd2d80fd356d9 +z = aff7ecfe33efe4042a44f2f801170616925be8cca1bd1812a7335dcd80f9cf14 pk = 5b5b3208a4c987ac02199a6c057376e2e11015c237bff18c63b730297052d7b9a6c7e15a3f02a9046c23e7d977111524afdb42fcf24526ca4f17ea597a26874e333f40e840fa3c9910c12ed9d86425421e7b585fec42326fd1618db61c9c7ca727e03fa772cc9cb241166cb40d3148b4889ffed89c8b0b772e807a157a6ad3b067c9f43c675c69890a71b996a323376777723cc6a4bd240c40deeb93b9a61bbc306177909e181636353a2f4b3b02f820a9f841a690b50a74f09eab73ac4b13689e267983241b3c9774c42701dabc8c3060381f60c591608431ea91f5743362eb86add70c93078349f4bf4b137d43e06c6258484c92c8457521d54915c96754673a4f981ca7c1a3c228a22ab44a4c1d207988d8a49925724c218efb34c1afd4b56dcc8815622d0e1c206991abb6e50a3e8299d9ea10a8b5c5611455378a5ac2b179c74501896102890171f95bb18d32ca7aa01eab0b272df4b77c6377e9397f8fdaaad0294b59c68607a073a2e021ab8b1ab1205cac74c4bbe21ba80b98225a33b0f18b45a8227c9b6e18f9c25f6b901137a7912ab148849228d2aa374a261073307127c6b09777fa9768c183067bc821f3d77e343874864288518ca21ebb2061828c0a60340e30ce80f60ef5523129f18bed579625e9419185019c8cce24162384cc6eeb7b5f9ef1725ab6034db7c7ef0580c9f0cd0a81c2236c46ec9a3225593e3b11939b9758556cadd3f9967de57f21db4c4af8541b4b813d67159afcc69dbb36d3dc470a829a5d771dd8468a21356d40c80f1c156008b3bff356962f84a48a041f4e4b29b7276111660851f7ced28ba0cbc24cc631942b92691e386bd81a28f66b8d4306bf89f36d0e015542479f3041cebeab2d8e95304795a31e6cae206b40189b4823359382393bae1057a62471c5a3a93cc874f96c294a6a4e00e6bbf8cc4cea280942d0c43729b2576076e73b3edef1be7317cadbb58db1a046b617800d5ca0e352b6d40a16303c596652a4a2209c5c72428de4b0d6b6821eaab1f6824cb35a04e067b5264359a9a6ce8b3a26259b613710a672d13d2690caaf62c5f4e86dc76ae2b345932a0e7025f8ce6101884469e31aeacaf4d77e3f1201bc75 -sk = e9c556bea1b6cf3b62f9db44bd74434d6067b1700c98647a5890c35224c1f871c13b80738417c5c78171d61b6b500c907f936a1bfa6125cbb5d41c88e291cbab81a44aa84f4ff4224ccb8a5e05ba5b66927d696c2de24142ea480881c63da0ca5f8820d36a360f345ce4804758d02a3959c2cc876ffe84c6fce10ed111b6e7f594dae12a30a015b30b403dfb1ce3f71fc295b962e22baeb913aabc4397ab4011980dc1d335f2460ae95127071a6fd810248de27004e283e208cd00d91ddc56b60445714679b4aef87f2a844fde365b162cbae33a078ea0a516f6661d66b3c03abef8daaebdb0af32b28a7be042e78b85ff14b421f82c1acbb0bde1c8306821a851605ae83fd8a3135b896d3c990f67da3a37617915f625e7cc7dc8db4fcb6a10723025294c4223aa809ab29c0c4ccfe0330309e4a3d6d5884f3b46a9a0367efb62caa19d9a1ab299b83e0bc0390d011f3c5b5a9b8593ac866591bb284727c52c435105453c0842c9558174ad98283c248ff8392619833cb39a14a22906d2b8738ce2cb4695b8cc60a8682cb7d8356f3af1bba91396b9c06414dc7ecd139eb87158596b3221955baa56265897c78bf65efe116ac27332c7bb529ec52fd1baaf7cea94f9da2444a01f1cd61777840bce32900eb69471cc6d18749824ea94e8183a6c0007a4d6c1289aced952b595582f548713a379b39d47ad348c68d2613491116fe01c6f70a5ac6578a05211a44586c68c982f72d6645e67409fc85c584c253710c800b1a0d1293223f874044ca3fc1436d2daa5751a1b596c58fa4270fdf102aae4179451ccdd913bf0bc36ba7cbdf6ba276f988a3586420ae2afab95940f9116fe5439a71927f9ca087a9891113ac8f9c2bf0d2b091d7accec51afc15708e8972370d547cc9269fa487810c2b2f1c474a6c8858de8414f1895487c10de2cb46cc68cd601b9f0d8059599c7ea620e5e0c0f1b4008aa1a4d1f4c25a1448a51447463a3a88b9a72b69cc5385750fcacb78ae35982cb3ad5285874a5b34c53c00c17913e8b746421aec51b93698c4bc48b74dd65384fda4297f170bd65436453335b5b3208a4c987ac02199a6c057376e2e11015c237bff18c63b730297052d7b9a6c7e15a3f02a9046c23e7d977111524afdb42fcf24526ca4f17ea597a26874e333f40e840fa3c9910c12ed9d86425421e7b585fec42326fd1618db61c9c7ca727e03fa772cc9cb241166cb40d3148b4889ffed89c8b0b772e807a157a6ad3b067c9f43c675c69890a71b996a323376777723cc6a4bd240c40deeb93b9a61bbc306177909e181636353a2f4b3b02f820a9f841a690b50a74f09eab73ac4b13689e267983241b3c9774c42701dabc8c3060381f60c591608431ea91f5743362eb86add70c93078349f4bf4b137d43e06c6258484c92c8457521d54915c96754673a4f981ca7c1a3c228a22ab44a4c1d207988d8a49925724c218efb34c1afd4b56dcc8815622d0e1c206991abb6e50a3e8299d9ea10a8b5c5611455378a5ac2b179c74501896102890171f95bb18d32ca7aa01eab0b272df4b77c6377e9397f8fdaaad0294b59c68607a073a2e021ab8b1ab1205cac74c4bbe21ba80b98225a33b0f18b45a8227c9b6e18f9c25f6b901137a7912ab148849228d2aa374a261073307127c6b09777fa9768c183067bc821f3d77e343874864288518ca21ebb2061828c0a60340e30ce80f60ef5523129f18bed579625e9419185019c8cce24162384cc6eeb7b5f9ef1725ab6034db7c7ef0580c9f0cd0a81c2236c46ec9a3225593e3b11939b9758556cadd3f9967de57f21db4c4af8541b4b813d67159afcc69dbb36d3dc470a829a5d771dd8468a21356d40c80f1c156008b3bff356962f84a48a041f4e4b29b7276111660851f7ced28ba0cbc24cc631942b92691e386bd81a28f66b8d4306bf89f36d0e015542479f3041cebeab2d8e95304795a31e6cae206b40189b4823359382393bae1057a62471c5a3a93cc874f96c294a6a4e00e6bbf8cc4cea280942d0c43729b2576076e73b3edef1be7317cadbb58db1a046b617800d5ca0e352b6d40a16303c596652a4a2209c5c72428de4b0d6b6821eaab1f6824cb35a04e067b5264359a9a6ce8b3a26259b613710a672d13d2690caaf62c5f4e86dc76ae2b345932a0e7025f8ce6101884469e31aeacaf4d77e3f1201bc755b70c5bb1b7af3b643588aa7c20567d4259dbe6abd7617a61b48185de8f21e1cfda268813efab5204efa60f78bf81d320d01ac09ac06244f7afbd2d80fd356d9 -m = 17fc65f7fbd7c75ceec421dee84dff5a8cb22764a182db17e0ebe857f54d60eb -ct = 574635b41959d57372e6fea9111f6049fbb50222d5145f7948afe0e3ef9da90e3b840f750c7f30a71c7b7f2486fb077a00a1cd8abb76e671d6cf81e0d9d4013797b2e47845cb53be5c5c463d153d9e1de67bf4565bec71ec801d7b2c0677d329bc350451dd0bc557d7b1295028f28ee1ff0bba2619c290c3087c6e12dcc1bf1e13727909b7c9fbc7b90665faeb7dc8f31230a2d18ed38373a90c358b46642b9988cbb285072e86c6039e4b87a38d00fcc5152ec09767fd7e90e9f8ebb9e88adf7c1d513a0d5d81f93edbc90bc75b89b2a61d2d8d1d87b850055b030c75cf04a78b70564bd8928c1d48c3f17910a24ad6bc9d576ee3632066e76eb4bd3d5e01d8317f4336ea145941bab1197cd06692b513afc0cc46a30499aa33374ef6210423687db64d3ef2999d500d685e7fc43d4d2bced8974fb8c591ad22ae69928c2feb8323d92874403f556fad9ac1237a7587121b994416991b14a66ab98b525b6ef88979cc622603de440a7483915f944d1f2647015d1c9f1e59bc570163243aefee7edb5911d608e3ee6d3937bcc1a965afc5eea33940abd3785dac52283f591f998cecfa3e77a71ca656539b1bf72ef4e71880e65f8b1f864f05f6fcecb833de2f9c31ba0241560e2525d8742a5ba061c3b1ae5831f152fa8332948ee5c94db912ece572612c54e161942078b89ea0b52a482cfb7f7f6d9e05f34bcec46e1d4465c9ceb6ddebbeef90719702318ab9d4e7577663930aec3132d739f9a6a5e36922b2fcad65dd0691626a1fd77acb5052b123a11585a162cb6175597640b82b937a16bb87cf0471b6fd8b84e97ff9c781c94ea41b7c070eee016f0edef0ee84c519c77812b0d34dbcfc9d1ca4899ebce6d6274159fce7f6b3a2abe8f46b072efdd3b1965b4cff53530019fc25e438fb669b7d214e6b36aa88d7b23659a736d65c7585308423f5cf547524fb9e4e3397430582dc2d0b008e66a6c4e7e8b526065322bb6e61ceed7dbd9755c0d3b589cf4fd573242e6b0d454df9482afb14775d7c436b39fad83bd2ca5676d0ed0913116bd7c874e1d17ae9b126d4b20b08e2a0deb5 -ss = bf5106b2fa08dd74a6069b58a6e52aa724179225630d2e368a05db3888567730 +sk = e9c556bea1b6cf3b62f9db44bd74434d6067b1700c98647a5890c35224c1f871c13b80738417c5c78171d61b6b500c907f936a1bfa6125cbb5d41c88e291cbab81a44aa84f4ff4224ccb8a5e05ba5b66927d696c2de24142ea480881c63da0ca5f8820d36a360f345ce4804758d02a3959c2cc876ffe84c6fce10ed111b6e7f594dae12a30a015b30b403dfb1ce3f71fc295b962e22baeb913aabc4397ab4011980dc1d335f2460ae95127071a6fd810248de27004e283e208cd00d91ddc56b60445714679b4aef87f2a844fde365b162cbae33a078ea0a516f6661d66b3c03abef8daaebdb0af32b28a7be042e78b85ff14b421f82c1acbb0bde1c8306821a851605ae83fd8a3135b896d3c990f67da3a37617915f625e7cc7dc8db4fcb6a10723025294c4223aa809ab29c0c4ccfe0330309e4a3d6d5884f3b46a9a0367efb62caa19d9a1ab299b83e0bc0390d011f3c5b5a9b8593ac866591bb284727c52c435105453c0842c9558174ad98283c248ff8392619833cb39a14a22906d2b8738ce2cb4695b8cc60a8682cb7d8356f3af1bba91396b9c06414dc7ecd139eb87158596b3221955baa56265897c78bf65efe116ac27332c7bb529ec52fd1baaf7cea94f9da2444a01f1cd61777840bce32900eb69471cc6d18749824ea94e8183a6c0007a4d6c1289aced952b595582f548713a379b39d47ad348c68d2613491116fe01c6f70a5ac6578a05211a44586c68c982f72d6645e67409fc85c584c253710c800b1a0d1293223f874044ca3fc1436d2daa5751a1b596c58fa4270fdf102aae4179451ccdd913bf0bc36ba7cbdf6ba276f988a3586420ae2afab95940f9116fe5439a71927f9ca087a9891113ac8f9c2bf0d2b091d7accec51afc15708e8972370d547cc9269fa487810c2b2f1c474a6c8858de8414f1895487c10de2cb46cc68cd601b9f0d8059599c7ea620e5e0c0f1b4008aa1a4d1f4c25a1448a51447463a3a88b9a72b69cc5385750fcacb78ae35982cb3ad5285874a5b34c53c00c17913e8b746421aec51b93698c4bc48b74dd65384fda4297f170bd65436453335b5b3208a4c987ac02199a6c057376e2e11015c237bff18c63b730297052d7b9a6c7e15a3f02a9046c23e7d977111524afdb42fcf24526ca4f17ea597a26874e333f40e840fa3c9910c12ed9d86425421e7b585fec42326fd1618db61c9c7ca727e03fa772cc9cb241166cb40d3148b4889ffed89c8b0b772e807a157a6ad3b067c9f43c675c69890a71b996a323376777723cc6a4bd240c40deeb93b9a61bbc306177909e181636353a2f4b3b02f820a9f841a690b50a74f09eab73ac4b13689e267983241b3c9774c42701dabc8c3060381f60c591608431ea91f5743362eb86add70c93078349f4bf4b137d43e06c6258484c92c8457521d54915c96754673a4f981ca7c1a3c228a22ab44a4c1d207988d8a49925724c218efb34c1afd4b56dcc8815622d0e1c206991abb6e50a3e8299d9ea10a8b5c5611455378a5ac2b179c74501896102890171f95bb18d32ca7aa01eab0b272df4b77c6377e9397f8fdaaad0294b59c68607a073a2e021ab8b1ab1205cac74c4bbe21ba80b98225a33b0f18b45a8227c9b6e18f9c25f6b901137a7912ab148849228d2aa374a261073307127c6b09777fa9768c183067bc821f3d77e343874864288518ca21ebb2061828c0a60340e30ce80f60ef5523129f18bed579625e9419185019c8cce24162384cc6eeb7b5f9ef1725ab6034db7c7ef0580c9f0cd0a81c2236c46ec9a3225593e3b11939b9758556cadd3f9967de57f21db4c4af8541b4b813d67159afcc69dbb36d3dc470a829a5d771dd8468a21356d40c80f1c156008b3bff356962f84a48a041f4e4b29b7276111660851f7ced28ba0cbc24cc631942b92691e386bd81a28f66b8d4306bf89f36d0e015542479f3041cebeab2d8e95304795a31e6cae206b40189b4823359382393bae1057a62471c5a3a93cc874f96c294a6a4e00e6bbf8cc4cea280942d0c43729b2576076e73b3edef1be7317cadbb58db1a046b617800d5ca0e352b6d40a16303c596652a4a2209c5c72428de4b0d6b6821eaab1f6824cb35a04e067b5264359a9a6ce8b3a26259b613710a672d13d2690caaf62c5f4e86dc76ae2b345932a0e7025f8ce6101884469e31aeacaf4d77e3f1201bc755b70c5bb1b7af3b643588aa7c20567d4259dbe6abd7617a61b48185de8f21e1caff7ecfe33efe4042a44f2f801170616925be8cca1bd1812a7335dcd80f9cf14 +m = da9c015b918108c1596309fe0042218de4c31900b8dfa6c1cec28ad10988bbc7 +ct = 13b75c4798f622655f0903077d6159d805e312ff282c86440461715a2b628183cb5f22aec08ec8e1eb09d1eacd3878d0100c8f8aba95faea63d0ed59b111267807ea68bf774dcf23ff924ed1c67d34aa4f55be2340cef6344d8317575e788d177bad6be198dd10e0dbc72144422e50cdcccb463a7f7a0284d25d769ffda17b6031d7148e9cbd1f99f8fb763a60f5fa9a91b7a76275c770adcaa6e2381276d141b75eb3e40d48e0488716c824c4c5b90feacd6c024da72810e2e7c14a1c0229422b61818a72076c23af81633fdbdf2efc2c8cab5333ab5a12803eee829fd9cfe5833319d01bb519f0d8c6d3bcf5ce5b0600dd5d3c5337a695aa0ccdf554f4dd1eceebba01808837fda8e097084142fa65551e87a4f2d77f3f17b624fbb6dcf7e5eb6b7224ca3e36c438b2efc672dc05d8bf02132f40973cb1140910751076ee9c706124b960c3cd8a195a9c766f5ac549a850377a51f8f6f3c54052e245f06b279c9fee2c71d29a983a5633d3ecd69e4a03e80a8371251326cbcf7f24530a7398a2ca0ee8ffca3207d82291c8e5fa80c09aa4316651c1478acaeae7fe162e603e01ade5787df86436e116b9016a91f6a307403e3cd7f99d6a76e86ba66620d9890b55c063ddd318e8a965e391a257043a7b91c8f1274c0873aa208063ba738073cea166c5ccbab6c48eb41541a6d76a2928ba9e8d8c3a8e2bebb6d1e96199bda0a34f6755287635b03800b06074f0b1bb729c8b58c4ef2dac8995431f37f7a6b49008a0f9f538bfc93f098bccb14151f81da9f7108115b480a500b8ed0633b05436a7addb681abd7145f595f00a53ed89bbd64cd9ee3f830f6cad472c46a9b9206d1e90e2aa3db914b3d5c5f0fcf72772a1491acb0521eade3fedb758b381a90947328fd297711d5af1473bd328389d88f693c513bbbfa3869aedf6dec7a6c8cf299d83b9f354561a82f674cccd7dc1238a5e1b78fcb9fdd9ecb59c5fdd5a5a50aa99968b084a7092e63f70882cd4bf5996c090deb6a0a24b90a487ef2000f5f1c0b28930cd917f3e7c37187ecda1891082741628dee921bd9f15aa669f67709d +ss = 3f22350cd0b7ad89d7187f4f6fa0fef87d7dcd2a69c3aa0d577041e339c63208 d = 195d6c86a3df4c21e3007d7f2768b43c74cb3060e0eca77f0a5d3271542b9a84 -z = ae77e0f9f21eabd8c0c6eea7767f4e10fde5c2d79b8400bf96b19014b457ec21 +z = d375bc4fb24e98f1eaa01e50a588e96a2b26daf9421437313fc7e4b520387050 pk = 45c83435071624067d69587335b97bf564929709c8825a004b028ae09c40980a07e8d4bd604527ee221e8bac67d34cbe762c26df8453aae8b8c82b59c51a85526aba8ddc4b5f63cf69a5b367d3153e460f497a209c495fca318862d6a57800865479a006012d82f7212b40284d310e01bcb11e122c1fd303e441807849a7ea47976a99abb7ccc4b674ad66f68eca195789b277d23c3d67bc418ca7c908b21e53984983ba0205e4689000ace97238b3699016fa95e7a3a59cec0be813638527562fa9bf10d715e7505f6e1c1433521a918a7df52760a0d8a9549569f10827c423cddff82aae01a90111395487b9c82b7b5a7978d789679e66b75087bfbff0569fc94e94f93531b721315926388431f2a36ae0f701bac254befb437c58641d4560c8738a98f30918945db0a6900ad2c2abfc3e0f4786a4555639d84dcdd031d8f0508d8c774d68298bcac4f42c6a7ff585af491fa7d7c3bbb41727699ebb315c437b210d42626ebc66c916af1f3515374314e4f40309ca7289c7bc51c301d8180edc792d4dd44c41b77bd47a972d8434a9f03bb3954236ec422be0c8e991a79af286b6a7c459a95ed44868ed8052f2db0f3741710228979507cff961564882b5ea19515ee00d657c7141e9b05f9a24136a2f915620b664404b5397cc7842748973d0716cc273b528d51383a63fc8a3c4a3b1a8bc965775d750add6996c929e29f41e42362a759baa76f5a3dc0552f1d83195960e45837901494a87f2a6dc3b5d8b73a9695c1229a0c9bddb0b2d99aa350c6cac657745c1308af354e10595f3682a34dc26d9d28e2e2c4634aca75e94384700c9c06b1bca348330ac1791fab1419099cf1288283bab03dca09ab3593cf3b12739cb44c0c04c6b93d1ea831df6bcb8807aa6aa8cbec64d749a9e47f851c47c6537e196f1fcc4d63b67d29a58e86b9a72a199cbb793c5084e5bab20bd02289b4aaa64e4c119488531e8a651a31750148e1742c5390bb9995c123f3056ad44c476468ded4b88a49130e35b4b00803dd24718674ca708e436d5c15ee1d95367c623512653c83b27b41cb308f8c2929b193b5487a4ce6401ec27a1605f879e2d9c53bf27e165246401cad7840a077934b8 -sk = 109cbf34136da8c797072085f046541a205922b9b9291acc027173c0d824ab1534102b07a399853c9b5d4fea1f7ce38302c587fa9643af3218afdbb48f52c516b0074cd336242591691402750384db8323f812a8926875014089df7698554391f1d687a1a2380e9c2b81261656632ee78996d404ab4f224c0dd3acd6b428b8d2af81250e7d9825640c3f94d297b2506427505eb3045a8852708b6854f0a99437f6738f22c1dce44c160163515074c3c72e2a4041c8a407dee38ac53335841029bc005705894ab658224134421ad4af7543009c0093b9b38597424a32dc9a5135beea4598d8f2589d72855ad37cd99880c1fa91116c1a933c70a176086d437443b63523145314003884ec19a0b745855002e4b63f4978520661c589d9132ca27f84e9ab5536b60420c89c9a9717082ad58a05e8c808c7155600c199e8fc3ad01b229308071a2b9587e203fd211442f3ab9e9236aaeb8c6555c1d47a75fff45a5d7a5ebe85a8dcb7ceb077393712cf9f7c465d066f80c359c7a3c713cc21a4653078fcc51b7232e48900ed750986156cab756d9af0c685263b19772b35a8ac3e214e8b7b9f3785395b500f76477858b123e24c0e63419cc6db517a148e560a358ef50b8ab238d000181555b46db95d9e8c1bda5273cd58818e322831a71301d092904289cb4c017fd1c86d758c064136f6b937ed222bbff244de7c213ce24c967cc5787b87747a305c73223bc2a6cfca8450d4954cb21e3d160e5b860e89dcb38f8bcfd016a927997f6e9c7c1e2a2ff97c93879cc1a5e30c20d80423f83c84373b85384bb7d88e9feccacf73ab59969750410ae69537c3225d3423acba55174415a259f60e58117712c21acee6a97d281cc6642997833371358f60c35da6e6a833e5bb20d94eeea16e7093501ad54ab65caae67754b9560b5f68b78b44ab26b439d453412206325186bc4ec2479fc103e73b057a972aef6949d7403beda51d82f0c654fa1136071b876704c7c9333db252b4a37a06755a1cd428b8041d8c80a94aa76cd8d65d1e16a8d240ac71db05dfb69d1439b57d9a3e262cca3feca48d9c1145c83435071624067d69587335b97bf564929709c8825a004b028ae09c40980a07e8d4bd604527ee221e8bac67d34cbe762c26df8453aae8b8c82b59c51a85526aba8ddc4b5f63cf69a5b367d3153e460f497a209c495fca318862d6a57800865479a006012d82f7212b40284d310e01bcb11e122c1fd303e441807849a7ea47976a99abb7ccc4b674ad66f68eca195789b277d23c3d67bc418ca7c908b21e53984983ba0205e4689000ace97238b3699016fa95e7a3a59cec0be813638527562fa9bf10d715e7505f6e1c1433521a918a7df52760a0d8a9549569f10827c423cddff82aae01a90111395487b9c82b7b5a7978d789679e66b75087bfbff0569fc94e94f93531b721315926388431f2a36ae0f701bac254befb437c58641d4560c8738a98f30918945db0a6900ad2c2abfc3e0f4786a4555639d84dcdd031d8f0508d8c774d68298bcac4f42c6a7ff585af491fa7d7c3bbb41727699ebb315c437b210d42626ebc66c916af1f3515374314e4f40309ca7289c7bc51c301d8180edc792d4dd44c41b77bd47a972d8434a9f03bb3954236ec422be0c8e991a79af286b6a7c459a95ed44868ed8052f2db0f3741710228979507cff961564882b5ea19515ee00d657c7141e9b05f9a24136a2f915620b664404b5397cc7842748973d0716cc273b528d51383a63fc8a3c4a3b1a8bc965775d750add6996c929e29f41e42362a759baa76f5a3dc0552f1d83195960e45837901494a87f2a6dc3b5d8b73a9695c1229a0c9bddb0b2d99aa350c6cac657745c1308af354e10595f3682a34dc26d9d28e2e2c4634aca75e94384700c9c06b1bca348330ac1791fab1419099cf1288283bab03dca09ab3593cf3b12739cb44c0c04c6b93d1ea831df6bcb8807aa6aa8cbec64d749a9e47f851c47c6537e196f1fcc4d63b67d29a58e86b9a72a199cbb793c5084e5bab20bd02289b4aaa64e4c119488531e8a651a31750148e1742c5390bb9995c123f3056ad44c476468ded4b88a49130e35b4b00803dd24718674ca708e436d5c15ee1d95367c623512653c83b27b41cb308f8c2929b193b5487a4ce6401ec27a1605f879e2d9c53bf27e165246401cad7840a077934b801782fce09e644e310c9286f1e381be9ea8c54a1804e61f2958c1f975aec185aae77e0f9f21eabd8c0c6eea7767f4e10fde5c2d79b8400bf96b19014b457ec21 -m = fa0489f3730100609488e951e6aaa15c0f193bc1dbcfcd013bc418d6c507b176 -ct = c1cddad05884b190bcafbe0801df40de778c3526c3532b0a3c3210b58a58c43854193262ac73f2b36ef86e845e760577d9a84d484b5df9d1077e31af1250ab1f1f58a083deefaa0ea286eb4f6e9367f816535da3fa561e47fe2a099a7b85d50d257867871cf5e366ffcb2d5d12794a7a3f9e386d15bf7142070d8ab1fdb1381cc8fc2e9493cae2d69cdc895b738a1880c68b65735a07fa1750e811f76103fe5acbffab84796bfc7226770e8fb91eddf2ee277f124eeb316cae7ccd261d8d1b616f0d61ac9a724023dbae8df28fb1fb838a062b8ea1cb02b885ab581a69ebb26330b5b3c2016d44a8e5ae6fc91aaab0dcdd913297b20e992ef61d99cf3f121fa8f15b1a25b399e8102aeb82e97450e6d7a7a5b252c0b09ab3a1787f7c0d8387dc6f1246a77d358761d517657abe83a3b9da46cccc8950bfaa847a77efa05667ba303ae093f5e9f4116c7650aa55b50b60775ad09f504396efd597928fbc7210738e4f9c769d7e4305b8480b056a5a0d3c432c189ac0771224e33239beaff8454b05ed2350b1f663100c66bafc7f293ebc5facd16b4f881e60285ed69fe34bf3e2051b9b306eefef06f1afb90d5045821d0c8ef397226b3694ea9cbeabd3704d2ce4cff3a54f548d6ed6c4bafedb200a2b7c7bd4d4d833ad4ff683e050a98e1c3b5faefb169f8c1228b094fce1ff49c4441a5425e19fe2d827989455bfed7480fefd4b23395ebbb6275e1dbb36702d05016e415960f853a20653c3c6b96c5313bc956f6f2f90828568e53e9858af0ce7f66e1f8d868f8f6ab9d91b6e7ab1ab8ef5d2977d1042d429f99854ee7aa417825e18cfafefb23fc880d33c426414c809b00cb8be071c78ebe49da003b3792c6906978d0e6edc15b41990aaab7e88c39b002e76bab15730284c31f54f7fa6c79896d2a6bd51f6658c1e8934f26c95fdcf451a1ede18270bea4d7162a5d132882d1302c417311a2fca6410443fc00a5916d8ec9ffc5a9ce03ae790a787aaee7313b66c9a8ae1a39540776dcc9afe4624c99393758e53e5dc51536c2e4937562daea312b41852ddbcd82675e820595b1ba3e7 -ss = d181d65623e3a59950e40aa86a1452cde8bf98f409d0f8cecdaaecbccc864a35 +sk = 109cbf34136da8c797072085f046541a205922b9b9291acc027173c0d824ab1534102b07a399853c9b5d4fea1f7ce38302c587fa9643af3218afdbb48f52c516b0074cd336242591691402750384db8323f812a8926875014089df7698554391f1d687a1a2380e9c2b81261656632ee78996d404ab4f224c0dd3acd6b428b8d2af81250e7d9825640c3f94d297b2506427505eb3045a8852708b6854f0a99437f6738f22c1dce44c160163515074c3c72e2a4041c8a407dee38ac53335841029bc005705894ab658224134421ad4af7543009c0093b9b38597424a32dc9a5135beea4598d8f2589d72855ad37cd99880c1fa91116c1a933c70a176086d437443b63523145314003884ec19a0b745855002e4b63f4978520661c589d9132ca27f84e9ab5536b60420c89c9a9717082ad58a05e8c808c7155600c199e8fc3ad01b229308071a2b9587e203fd211442f3ab9e9236aaeb8c6555c1d47a75fff45a5d7a5ebe85a8dcb7ceb077393712cf9f7c465d066f80c359c7a3c713cc21a4653078fcc51b7232e48900ed750986156cab756d9af0c685263b19772b35a8ac3e214e8b7b9f3785395b500f76477858b123e24c0e63419cc6db517a148e560a358ef50b8ab238d000181555b46db95d9e8c1bda5273cd58818e322831a71301d092904289cb4c017fd1c86d758c064136f6b937ed222bbff244de7c213ce24c967cc5787b87747a305c73223bc2a6cfca8450d4954cb21e3d160e5b860e89dcb38f8bcfd016a927997f6e9c7c1e2a2ff97c93879cc1a5e30c20d80423f83c84373b85384bb7d88e9feccacf73ab59969750410ae69537c3225d3423acba55174415a259f60e58117712c21acee6a97d281cc6642997833371358f60c35da6e6a833e5bb20d94eeea16e7093501ad54ab65caae67754b9560b5f68b78b44ab26b439d453412206325186bc4ec2479fc103e73b057a972aef6949d7403beda51d82f0c654fa1136071b876704c7c9333db252b4a37a06755a1cd428b8041d8c80a94aa76cd8d65d1e16a8d240ac71db05dfb69d1439b57d9a3e262cca3feca48d9c1145c83435071624067d69587335b97bf564929709c8825a004b028ae09c40980a07e8d4bd604527ee221e8bac67d34cbe762c26df8453aae8b8c82b59c51a85526aba8ddc4b5f63cf69a5b367d3153e460f497a209c495fca318862d6a57800865479a006012d82f7212b40284d310e01bcb11e122c1fd303e441807849a7ea47976a99abb7ccc4b674ad66f68eca195789b277d23c3d67bc418ca7c908b21e53984983ba0205e4689000ace97238b3699016fa95e7a3a59cec0be813638527562fa9bf10d715e7505f6e1c1433521a918a7df52760a0d8a9549569f10827c423cddff82aae01a90111395487b9c82b7b5a7978d789679e66b75087bfbff0569fc94e94f93531b721315926388431f2a36ae0f701bac254befb437c58641d4560c8738a98f30918945db0a6900ad2c2abfc3e0f4786a4555639d84dcdd031d8f0508d8c774d68298bcac4f42c6a7ff585af491fa7d7c3bbb41727699ebb315c437b210d42626ebc66c916af1f3515374314e4f40309ca7289c7bc51c301d8180edc792d4dd44c41b77bd47a972d8434a9f03bb3954236ec422be0c8e991a79af286b6a7c459a95ed44868ed8052f2db0f3741710228979507cff961564882b5ea19515ee00d657c7141e9b05f9a24136a2f915620b664404b5397cc7842748973d0716cc273b528d51383a63fc8a3c4a3b1a8bc965775d750add6996c929e29f41e42362a759baa76f5a3dc0552f1d83195960e45837901494a87f2a6dc3b5d8b73a9695c1229a0c9bddb0b2d99aa350c6cac657745c1308af354e10595f3682a34dc26d9d28e2e2c4634aca75e94384700c9c06b1bca348330ac1791fab1419099cf1288283bab03dca09ab3593cf3b12739cb44c0c04c6b93d1ea831df6bcb8807aa6aa8cbec64d749a9e47f851c47c6537e196f1fcc4d63b67d29a58e86b9a72a199cbb793c5084e5bab20bd02289b4aaa64e4c119488531e8a651a31750148e1742c5390bb9995c123f3056ad44c476468ded4b88a49130e35b4b00803dd24718674ca708e436d5c15ee1d95367c623512653c83b27b41cb308f8c2929b193b5487a4ce6401ec27a1605f879e2d9c53bf27e165246401cad7840a077934b801782fce09e644e310c9286f1e381be9ea8c54a1804e61f2958c1f975aec185ad375bc4fb24e98f1eaa01e50a588e96a2b26daf9421437313fc7e4b520387050 +m = 05874f9d5a2e9133d385f3326fa925129dff03359d78b0d07ed78fd5c1307800 +ct = 57cc2a0ed89c9d49e7c4e7bd0dffda6af8f098f935257b9dfbe7fabf2eac18e1199caaf212d7d47dd2fb630b0a8c6d56e5b4a14a43712f307aa511cc19da9f0dabfd838ba0f6f537785193e83bd2ed10b58d039cbd4cf3221163fa8dceb809f3e8743f90d6ac724c5ba7ff2c90fb2540649994d8b058086e03607f32d421795ec489ca30b9edc63ee325c7eaf07ed193eb22fbb9963cab2f93506dc25b42a2a8e15e7cf922c7e281372b8a5d9bc1a62df3a42d7d04aee9fb3dae474c757819e5b8f6d38d7b61dcf8bceee3bb40b834673f8f780c62b4a5041a9e60c8293003b3f84c67d8722fdec32309273cebf62811490ed60f9eb65c43c7cd4562e851d7439dea4d7a046d9dd6617492b6a5255a65de99f3b3721723bc16946090035863539d0defcc56c1c754b7396f99c6a646642ffa68cb18b25ea29f0e6197648900bcc71339633a51e6487335e30fde0cac3b11ee50f898d6d29acc51571523f98d585c3151dad832278d9a954b908d0c66398d596788dd9d6f3518cd4636e270cb25107d536277dc29eb873e9576a825e2c652e0c688cefe6f88b563c750a1e71c01fd00128d5635970f72b09c4ff3ce3b0292739e60455c0abaf2622ec3a0ff7fbe41830f56a09b0c68fcc93bb09a3f0050206e5457b8c1392e08ac6124a9eb26ae29f9240cf515cc4669975371a0b4e2ba104463ea03fcbc0e845a192852a08864e966f00555407a7df3329673b89dc7feac929fafa5c76fecd1539dff005289002617543f8f4a7bedb861eae5ce5de8709895542f6bc3652ef89a8dab31800be8f9175912d0be6ce06fbf67ca60e29421488e95c1502524b6aeeb8086cad76a98af1f10d840608f4bac03087eb9399ad6223d3a74c425e6dab9ff9ecefbcf32cc4323e2bb1bd147dc6b85d2c8efebf0b40ecfdf3b0c8a2cbd4b271ff38316f0766257637984237f0d226e3481d4751a51ecdc05338678f449ed2aa0fc32a644a6a00afe58996c8572860e6729219ae864e05f298d044943e7ee575589a21fc869053bd7b6f1e76057f44d23cfc2e6bc461d717bbd67f1f5fa21b44bb87a3f20c2 +ss = 49394b4a11f151a194fca2a1d8149efb1302304d83402623b65fdf23ea4e53e3 diff --git a/kats/kyber768.kat b/kats/kyber768.kat index bdbf995..5b2fa6f 100644 --- a/kats/kyber768.kat +++ b/kats/kyber768.kat @@ -1,800 +1,800 @@ d = 7c9935a0b07694aa0c6d10e4db6b1add2fd81a25ccb148032dcd739936737f2d -z = 8626ed79d451140800e03b59b956f8210e556067407d13dc90fa9e8b872bfb8f +z = b505d7cfad1b497499323c8686325e4792f267aafa3f87ca60d01cb54f29202a pk = a72c2d9c843ee9f8313ecc7f86d6294d59159d9a879a542e260922adf999051cc45200c9ffdb60449c49465979272367c083a7d6267a3ed7a7fd47957c219327f7ca73a4007e1627f00b11cc80573c15aee6640fb8562dfa6b240ca0ad351ac4ac155b96c14c8ab13dd262cdfd51c4bb5572fd616553d17bdd430acbea3e95f0b698d66990ab51e5d03783a8b3d278a5720454cf9695cfdca08485ba099c51cd92a7ea7587c1d15c28e609a81852601b0604010679aa482d51261ec36e36b8719676217fd74c54786488f4b4969c05a8ba27ca3a77cce73b965923ca554e422b9b61f4754641608ac16c9b8587a32c1c5dd788f88b36b717a46965635deb67f45b129b99070909c93eb80b42c2b3f3f70343a7cf37e8520e7bcfc416aca4f18c7981262ba2bfc756ae03278f0ec66dc2057696824ba6769865a601d7148ef6f54e5af5686aa2906f994ce38a5e0b938f239007003022c03392df3401b1e4a3a7ebc6161449f73374c8b0140369343d9295fdf511845c4a46ebaab6ca5492f6800b98c0cc803653a4b1d6e6aaed1932bacc5fefaa818ba502859ba5494c5f5402c8536a9c4c1888150617f80098f6b2a99c39bc5dc7cf3b5900a21329ab59053abaa64ed163e859a8b3b3ca3359b750ccc3e710c7ac43c8191cb5d68870c06391c0cb8aec72b897ac6be7fbaacc676ed66314c83630e89448c88a1df04aceb23abf2e409ef333c622289c18a2134e650c45257e47475fa33aa537a5a8f7680214716c50d470e3284963ca64f54677aec54b5272162bf52bc8142e1d4183fc017454a6b5a496831759064024745978cbd51a6cedc8955de4cc6d363670a47466e82be5c23603a17bf22acdb7cc984af08c87e14e27753cf587a8ec3447e62c649e887a67c36c9ce98721b697213275646b194f36758673a8ed11284455afc7a8529f69c97a3c2d7b8c636c0ba55614b768e624e712930f776169b01715725351bc74b47395ed52b25a1313c95164814c34c979cbdfab85954662cab485e75087a98cc74bb82ca2d1b5bf2803238480638c40e90b43c7460e7aa917f010151fab1169987b372abb59271f7006c24e60236b84b9ddd600623704254617fb498d89e58b0368bcb2103e79353eb587860c1422e476162e425bc2381db82c6592737e1dd602864b0167a71ec1f223305c02fe25052af2b3b5a55a0d7a2022d9a798dc0c5874a98702aaf4054c5d80338a5248b5b7bd09c53b5e2a084b047d277a861b1a73bb51488de04ef573c85230a0470b73175c9fa50594f66a5f50b4150054c93b68186f8b5cbc49316c8548a642b2b36a1d454c7489ac33b2d2ce6668096782a2c1e0866d21a65e16b585e7af8618bdf3184c1986878508917277b93e10706b1614972b2a94c7310fe9c708c231a1a8ac8d9314a529a97f469bf64962d820648443099a076d55d4cea824a58304844f99497c10a25148618a315d72ca857d1b04d575b94f85c01d19bef211bf0aa3362e7041fd16596d808e867b44c4c00d1cda3418967717f147d0eb21b42aaee74ac35d0b92414b958531aadf463ec6305ae5ecaf79174002f26ddecc813bf32672e8529d95a4e730a7ab4a3e8f8a8af979a665eafd465fc64a0c5f8f3f9003489415899d59a543d8208c54a3166529b53922 -sk = 07638fb69868f3d320e5862bd96933feb311b362093c9b5d50170bced43f1b536d9a204bb1f22695950ba1f2a9e8eb828b284488760b3fc84faba04275d5628e39c5b2471374283c503299c0ab49b66b8bbb56a4186624f919a2ba59bb08d8551880c2befc4f87f25f59ab587a79c327d792d54c974a69262ff8a78938289e9a87b688b083e0595fe218b6bb1505941ce2e81a5a64c5aac60417256985349ee47a52420a5f97477b7236ac76bc70e8288729287ee3e34a3dbc3683c0b7b10029fc203418537e7466ba6385a8ff301ee12708f82aaa1e380fc7a88f8f205ab7e88d7e95952a55ba20d09b79a47141d62bf6eb7dd307b08eca13a5bc5f6b68581c6865b27bbcddab142f4b2cbff488c8a22705faa98a2b9eea3530c76662335cc7ea3a00777725ebcccd2a4636b2d9122ff3ab77123ce0883c1911115e50c9e8a94194e48dd0d09cffb3adcd2c1e92430903d07adbf00532031575aa7f9e7b5a1f3362dec936d4043c05f2476c07578bc9cbaf2ab4e382727ad41686a96b2548820bb03b32f11b2811ad62f489e951632aba0d1df89680cc8a8b53b481d92a68d70b4ea1c3a6a561c0692882b5ca8cc942a8d495afcb06de89498fb935b775908fe7a03e324d54cc19d4e1aabd3593b38b19ee1388fe492b43127e5a504253786a0d69ad32601c28e2c88504a5ba599706023a61363e17c6b9bb59bdc697452cd059451983d738ca3fd034e3f5988854ca05031db09611498988197c6b30d258dfe26265541c89a4b31d6864e9389b03cb74f7ec4323fb9421a4b9790a26d17b0398a26767350909f84d57b6694df830664ca8b3c3c03ed2ae67b89006868a68527ccd666459ab7f056671000c6164d3a7f266a14d97cbd7004d6c92caca770b844a4fa9b182e7b18ca885082ac5646fcb4a14e1685feb0c9ce3372ab95365c04fd83084f80a23ff10a05bf15f7fa5acc6c0cb462c33ca524fa6b8bb359043ba68609eaa2536e81d08463b19653b5435ba946c9addeb202b04b031cc960dcc12e4518d428b32b257a4fc7313d3a7980d80082e934f9d95c32b0a0191a23604384dd9e079bbbaa266d14c3f756b9f2133107433a4e83fa7187282a809203a4faf841851833d121ac383843a5e55bc2381425e16c7db4cc9ab5c1b0d91a47e2b8de0e582c86b6b0d907bb360b97f40ab5d038f6b75c814b27d9b968d419832bc8c2bee605ef6e5059d33100d90485d378450014221736c07407cac260408aa64926619788b8601c2a752d1a6cbf820d7c7a04716203225b3895b9342d147a8185cfc1bb65ba06b4142339903c0ac4651385b45d98a8b19d28cd6bab088787f7ee1b12461766b43cbccb96434427d93c065550688f6948ed1b5475a425f1b85209d061c08b56c1cc069f6c0a7c6f29358cab911087732a649d27c9b98f9a48879387d9b00c25959a71654d6f6a946164513e47a75d005986c2363c09f6b537eca78b9303a5fa457608a586a653a347db04dfcc19175b3a301172536062a658a95277570c8852ca8973f4ae123a334047dd711c8927a634a03388a527b034bf7a8170fa702c1f7c23ec32d18a2374890be9c787a9409c82d192c4bb705a2f996ce405da72c2d9c843ee9f8313ecc7f86d6294d59159d9a879a542e260922adf999051cc45200c9ffdb60449c49465979272367c083a7d6267a3ed7a7fd47957c219327f7ca73a4007e1627f00b11cc80573c15aee6640fb8562dfa6b240ca0ad351ac4ac155b96c14c8ab13dd262cdfd51c4bb5572fd616553d17bdd430acbea3e95f0b698d66990ab51e5d03783a8b3d278a5720454cf9695cfdca08485ba099c51cd92a7ea7587c1d15c28e609a81852601b0604010679aa482d51261ec36e36b8719676217fd74c54786488f4b4969c05a8ba27ca3a77cce73b965923ca554e422b9b61f4754641608ac16c9b8587a32c1c5dd788f88b36b717a46965635deb67f45b129b99070909c93eb80b42c2b3f3f70343a7cf37e8520e7bcfc416aca4f18c7981262ba2bfc756ae03278f0ec66dc2057696824ba6769865a601d7148ef6f54e5af5686aa2906f994ce38a5e0b938f239007003022c03392df3401b1e4a3a7ebc6161449f73374c8b0140369343d9295fdf511845c4a46ebaab6ca5492f6800b98c0cc803653a4b1d6e6aaed1932bacc5fefaa818ba502859ba5494c5f5402c8536a9c4c1888150617f80098f6b2a99c39bc5dc7cf3b5900a21329ab59053abaa64ed163e859a8b3b3ca3359b750ccc3e710c7ac43c8191cb5d68870c06391c0cb8aec72b897ac6be7fbaacc676ed66314c83630e89448c88a1df04aceb23abf2e409ef333c622289c18a2134e650c45257e47475fa33aa537a5a8f7680214716c50d470e3284963ca64f54677aec54b5272162bf52bc8142e1d4183fc017454a6b5a496831759064024745978cbd51a6cedc8955de4cc6d363670a47466e82be5c23603a17bf22acdb7cc984af08c87e14e27753cf587a8ec3447e62c649e887a67c36c9ce98721b697213275646b194f36758673a8ed11284455afc7a8529f69c97a3c2d7b8c636c0ba55614b768e624e712930f776169b01715725351bc74b47395ed52b25a1313c95164814c34c979cbdfab85954662cab485e75087a98cc74bb82ca2d1b5bf2803238480638c40e90b43c7460e7aa917f010151fab1169987b372abb59271f7006c24e60236b84b9ddd600623704254617fb498d89e58b0368bcb2103e79353eb587860c1422e476162e425bc2381db82c6592737e1dd602864b0167a71ec1f223305c02fe25052af2b3b5a55a0d7a2022d9a798dc0c5874a98702aaf4054c5d80338a5248b5b7bd09c53b5e2a084b047d277a861b1a73bb51488de04ef573c85230a0470b73175c9fa50594f66a5f50b4150054c93b68186f8b5cbc49316c8548a642b2b36a1d454c7489ac33b2d2ce6668096782a2c1e0866d21a65e16b585e7af8618bdf3184c1986878508917277b93e10706b1614972b2a94c7310fe9c708c231a1a8ac8d9314a529a97f469bf64962d820648443099a076d55d4cea824a58304844f99497c10a25148618a315d72ca857d1b04d575b94f85c01d19bef211bf0aa3362e7041fd16596d808e867b44c4c00d1cda3418967717f147d0eb21b42aaee74ac35d0b92414b958531aadf463ec6305ae5ecaf79174002f26ddecc813bf32672e8529d95a4e730a7ab4a3e8f8a8af979a665eafd465fc64a0c5f8f3f9003489415899d59a543d8208c54a3166529b53922d4ec143b50f01423b177895edee22bb739f647ecf85f50bc25ef7b5a725dee868626ed79d451140800e03b59b956f8210e556067407d13dc90fa9e8b872bfb8f -m = 147c03f7a5bebba406c8fae1874d7f13c80efe79a3a9a874cc09fe76f6997615 -ct = b52c56b92a4b7ce9e4cb7c5b1b163167a8a1675b2fdef84a5b67ca15db694c9f11bd027c30ae22ec921a1d911599af0585e48d20da70df9f39e32ef95d4c8f44bfefdaa5da64f1054631d04d6d3cfd0a540dd7ba3886e4b5f13e878788604c95c096eab3919f427521419a946c26cc041475d7124cdc01d0373e5b09c7a70603cfdb4fb3405023f2264dc3f983c4fc02a2d1b268f2208a1f6e2a6209bff12f6f465f0b069c3a7f84f606d8a94064003d6ec114c8e808d3053884c1d5a142fbf20112eb360fda3f0f28b172ae50f5e7d83801fb3f0064b687187074bd7fe30eddaa334cf8fc04fa8ced899ceade4b4f28b68372baf98ff482a415b731155b75ceb976be0ea0285ba01a27f1857a8fb377a3ae0c23b2aa9a079bfabff0d5b2f1cd9b718bea03c42f343a39b4f142d01ad8acbb50e38853cf9a50c8b44c3cf671a4a9043b26ddbb24959ad6715c08521855c79a23b9c3d6471749c40725bdd5c2776d43aed20204baa141efb3304917474b7f9f7a4b08b1a93daed98c67495359d37d67f7438bee5e43585634b26c6b3810d7cdcbc0f6eb877a6087e68acb8480d3a8cf6900447e49b417f15a53b607a0e216b855970d37406870b4568722da77a4084703816784e2f16bed18996532c5d8b7f5d214464e5f3f6e905867b0ce119e252a66713253544685d208e1723908a0ce97834652e08ae7bdc881a131b73c71e84d20d68fdeff4f5d70cd1af57b78e3491a9865942321800a203c05ed1feeb5a28e584e19f6535e7f84e4a24f84a72dcaf5648b4a4235dd664464482f03176e888c28bfc6c1cb238cffa35a321e71791d9ea8ed0878c61121bf8d2a4ab2c1a5e120bc40abb1892d1715090a0ee48252ca297a99aa0e510cf26b1add06ca543e1c5d6bdcd3b9c585c8538045db5c252ec3c8c3c954d9be5907094a894e60eab43538cfee82e8ffc0791b0d0f43ac1627830a61d56dad96c62958b0de780b78bd47a604550dab83fff227c324049471f35248cfb849b25724ff704d5277aa352d550958be3b237dff473ec2adbaea48ca2658aefcc77bbd4264ab374d70eae5b964416ce8226a7e3255a0f8d7e2adca062bcd6d78d60d1b32e11405be54b66ef0fddd567702a3bccfede3c584701269ed14809f06f8968356bb9267fe86e514252e88bb5c30a7ecb3d0e621021ee0fbf7871b09342bf84f55c97eaf86c48189c7ff4df389f077e2806e5fa73b3e9458a16c7e275f4f602275580eb7b7135fb537fa0cd95d6ea58c108cd8943d70c1643111f4f01ca8a8276a902666ed81b78d168b006f16aaa3d8e4ce4f4d0fb0997e41aeffb5b3daa838732f357349447f387776c793c0479de9e99498cc356fdb0075a703f23c55d47b550ec89b02ade89329086a50843456fedc3788ac8d97233c54560467ee1d0f024b18428f0d73b30e19f5c63b9abf11415bea4d0170130baabd33c05e6524e5fb5581b22b0433342248266d0f1053b245cc2462dc44d34965102482a8ed9e4e964d5683e5d45d0c8269 -ss = 914cb67fe5c38e73bf74181c0ac50428dedf7750a98058f7d536708774535b29 +sk = 07638fb69868f3d320e5862bd96933feb311b362093c9b5d50170bced43f1b536d9a204bb1f22695950ba1f2a9e8eb828b284488760b3fc84faba04275d5628e39c5b2471374283c503299c0ab49b66b8bbb56a4186624f919a2ba59bb08d8551880c2befc4f87f25f59ab587a79c327d792d54c974a69262ff8a78938289e9a87b688b083e0595fe218b6bb1505941ce2e81a5a64c5aac60417256985349ee47a52420a5f97477b7236ac76bc70e8288729287ee3e34a3dbc3683c0b7b10029fc203418537e7466ba6385a8ff301ee12708f82aaa1e380fc7a88f8f205ab7e88d7e95952a55ba20d09b79a47141d62bf6eb7dd307b08eca13a5bc5f6b68581c6865b27bbcddab142f4b2cbff488c8a22705faa98a2b9eea3530c76662335cc7ea3a00777725ebcccd2a4636b2d9122ff3ab77123ce0883c1911115e50c9e8a94194e48dd0d09cffb3adcd2c1e92430903d07adbf00532031575aa7f9e7b5a1f3362dec936d4043c05f2476c07578bc9cbaf2ab4e382727ad41686a96b2548820bb03b32f11b2811ad62f489e951632aba0d1df89680cc8a8b53b481d92a68d70b4ea1c3a6a561c0692882b5ca8cc942a8d495afcb06de89498fb935b775908fe7a03e324d54cc19d4e1aabd3593b38b19ee1388fe492b43127e5a504253786a0d69ad32601c28e2c88504a5ba599706023a61363e17c6b9bb59bdc697452cd059451983d738ca3fd034e3f5988854ca05031db09611498988197c6b30d258dfe26265541c89a4b31d6864e9389b03cb74f7ec4323fb9421a4b9790a26d17b0398a26767350909f84d57b6694df830664ca8b3c3c03ed2ae67b89006868a68527ccd666459ab7f056671000c6164d3a7f266a14d97cbd7004d6c92caca770b844a4fa9b182e7b18ca885082ac5646fcb4a14e1685feb0c9ce3372ab95365c04fd83084f80a23ff10a05bf15f7fa5acc6c0cb462c33ca524fa6b8bb359043ba68609eaa2536e81d08463b19653b5435ba946c9addeb202b04b031cc960dcc12e4518d428b32b257a4fc7313d3a7980d80082e934f9d95c32b0a0191a23604384dd9e079bbbaa266d14c3f756b9f2133107433a4e83fa7187282a809203a4faf841851833d121ac383843a5e55bc2381425e16c7db4cc9ab5c1b0d91a47e2b8de0e582c86b6b0d907bb360b97f40ab5d038f6b75c814b27d9b968d419832bc8c2bee605ef6e5059d33100d90485d378450014221736c07407cac260408aa64926619788b8601c2a752d1a6cbf820d7c7a04716203225b3895b9342d147a8185cfc1bb65ba06b4142339903c0ac4651385b45d98a8b19d28cd6bab088787f7ee1b12461766b43cbccb96434427d93c065550688f6948ed1b5475a425f1b85209d061c08b56c1cc069f6c0a7c6f29358cab911087732a649d27c9b98f9a48879387d9b00c25959a71654d6f6a946164513e47a75d005986c2363c09f6b537eca78b9303a5fa457608a586a653a347db04dfcc19175b3a301172536062a658a95277570c8852ca8973f4ae123a334047dd711c8927a634a03388a527b034bf7a8170fa702c1f7c23ec32d18a2374890be9c787a9409c82d192c4bb705a2f996ce405da72c2d9c843ee9f8313ecc7f86d6294d59159d9a879a542e260922adf999051cc45200c9ffdb60449c49465979272367c083a7d6267a3ed7a7fd47957c219327f7ca73a4007e1627f00b11cc80573c15aee6640fb8562dfa6b240ca0ad351ac4ac155b96c14c8ab13dd262cdfd51c4bb5572fd616553d17bdd430acbea3e95f0b698d66990ab51e5d03783a8b3d278a5720454cf9695cfdca08485ba099c51cd92a7ea7587c1d15c28e609a81852601b0604010679aa482d51261ec36e36b8719676217fd74c54786488f4b4969c05a8ba27ca3a77cce73b965923ca554e422b9b61f4754641608ac16c9b8587a32c1c5dd788f88b36b717a46965635deb67f45b129b99070909c93eb80b42c2b3f3f70343a7cf37e8520e7bcfc416aca4f18c7981262ba2bfc756ae03278f0ec66dc2057696824ba6769865a601d7148ef6f54e5af5686aa2906f994ce38a5e0b938f239007003022c03392df3401b1e4a3a7ebc6161449f73374c8b0140369343d9295fdf511845c4a46ebaab6ca5492f6800b98c0cc803653a4b1d6e6aaed1932bacc5fefaa818ba502859ba5494c5f5402c8536a9c4c1888150617f80098f6b2a99c39bc5dc7cf3b5900a21329ab59053abaa64ed163e859a8b3b3ca3359b750ccc3e710c7ac43c8191cb5d68870c06391c0cb8aec72b897ac6be7fbaacc676ed66314c83630e89448c88a1df04aceb23abf2e409ef333c622289c18a2134e650c45257e47475fa33aa537a5a8f7680214716c50d470e3284963ca64f54677aec54b5272162bf52bc8142e1d4183fc017454a6b5a496831759064024745978cbd51a6cedc8955de4cc6d363670a47466e82be5c23603a17bf22acdb7cc984af08c87e14e27753cf587a8ec3447e62c649e887a67c36c9ce98721b697213275646b194f36758673a8ed11284455afc7a8529f69c97a3c2d7b8c636c0ba55614b768e624e712930f776169b01715725351bc74b47395ed52b25a1313c95164814c34c979cbdfab85954662cab485e75087a98cc74bb82ca2d1b5bf2803238480638c40e90b43c7460e7aa917f010151fab1169987b372abb59271f7006c24e60236b84b9ddd600623704254617fb498d89e58b0368bcb2103e79353eb587860c1422e476162e425bc2381db82c6592737e1dd602864b0167a71ec1f223305c02fe25052af2b3b5a55a0d7a2022d9a798dc0c5874a98702aaf4054c5d80338a5248b5b7bd09c53b5e2a084b047d277a861b1a73bb51488de04ef573c85230a0470b73175c9fa50594f66a5f50b4150054c93b68186f8b5cbc49316c8548a642b2b36a1d454c7489ac33b2d2ce6668096782a2c1e0866d21a65e16b585e7af8618bdf3184c1986878508917277b93e10706b1614972b2a94c7310fe9c708c231a1a8ac8d9314a529a97f469bf64962d820648443099a076d55d4cea824a58304844f99497c10a25148618a315d72ca857d1b04d575b94f85c01d19bef211bf0aa3362e7041fd16596d808e867b44c4c00d1cda3418967717f147d0eb21b42aaee74ac35d0b92414b958531aadf463ec6305ae5ecaf79174002f26ddecc813bf32672e8529d95a4e730a7ab4a3e8f8a8af979a665eafd465fc64a0c5f8f3f9003489415899d59a543d8208c54a3166529b53922d4ec143b50f01423b177895edee22bb739f647ecf85f50bc25ef7b5a725dee86b505d7cfad1b497499323c8686325e4792f267aafa3f87ca60d01cb54f29202a +m = eb4a7c66ef4eba2ddb38c88d8bc706b1d639002198172a7b1942eca8f6c001ba +ct = d13b96d6586f1ad5bcaf251e3cc9c42dd50a34cdab37ee370f8174b6d52b55a9cb6703c4ca7b7b515e71a608c4489204a84bb6475becccd21c98c6d2ddc48ae3a8b569015f4385b9bc80bc25f98cc9f66d75defc1f983f7b90b44aebd416b53379fd3482981a2439051d1ae9bfecde0b8ebce6405d5fd0c2260762eac85b20ad60538a7aa5c46d8ad68196d7b877211d7bc08a3ac037a7539c6da67ab5b04b5b39a7e525f7ddc65e2747fb295e4982da339620dcfc8e7b56581dc941662cd53d4bc61ee74f11869465514d26f0cc5a35fb67c8c52f491482a4e64311fda2296166fd94d58b1f6b9eb2eb50b1268ade982c5ae0810308223ade904c81090b6b2148f0c5ce4f516d6103e859a057f672d129a247c9880e0086de29bdaa2291f4e393febd6446def6f9f6a3e79e05d2f3347982e1be2292cd8ef8e609957c00306b910cac7c5fe3d4bc1142645736aaeee51cc3741d61a47f07b06968006d69de00d4b0a61847cf94560d2756b0fce7be621910bf3673068c658b322bf3f66f5c90c6b1fa025ba9960cab409c4d6a9a26b5cf00c74e4127050cca25d21da89ce2bd92e281b4d56625344ea6729536b1e75f2a02908728d4a04395294f421b77c62a9b024b930c6b5fa5fc530566579d85db94e8c3d65790f3e7e4d816f224d35a29e44776926f3cad8a4cd68ad9acc2ba6ed00d2d606db23daf15d7a5534ddbdfe663f7e1b782ffa43e80ad9d5c41035b38c84b00ec17d0cb855942bef28fa21f32916c9c2bf7ce7bf8ae7e81db957469428ee265af6c3b899fa49efd26d17e671ce086b73b519a011dc971b970f8b27fc7474c29b36f4bef70808297f0cbcd97ac5c1dcddf6ce4221077f0762fb7c7130c9790f2818ec059baed9d53721e4385861a1252ef73b0dca7fa0af1055344045a14f492f7109c26755115c99a313ddf6588644284e7c3bbff0e64df1c802119df0a68ba94ab7a0c463dc925ad00ebf2eb98411358180d946b8dd83eebb2b9d525b544ba86255f3af379ea1e12df5a99a77ddd325fa7d8907ee8d328400d1dff4ef202530cd6df1aea6ebaefd219f31e6f614ca4b045ff6ad35562997dac57cb0ff74f64b67694ec1ffd25e22ded3d2bcde07b51be04d512eb12114c40e787486343c27eb9bc329c2ef555f2590a330a44fc0415369883f3934fa1b557897d2aa0ef135d2c9936a63bc4eb10ddda7a0d4afa8c6cd23e7313b2df6bd5e6c653a5ca88897d857887d3073598460808db9b5cb3849a07061a019a835a0b5e486bc0f1b665b79019be7fc547191e3202a5d6d857861c8a672ba3cab343f5f2584b90634a39fdbc52865d6d3069bc1a6279ca50b0868ffa9c284547e4082943293979db171e7e6860c3a2222094d4408a20a69dd83f26003805e81ef6009a4a98b8b18cd7fe09b36550d700067db97e74c1507eb45fb5ec95a1a4a9ade7c690b8e13bb6669ac28a56f962e69023a559937572c02d9f38d3b15dc3a819141c3b4ed0d9811575f4b3030ef556807babb2b92ff073 +ss = 1460f573a69383d92c2c272dc0193174b44d227bf95ca81e14a758c3f7e59c15 d = d60b93492a1d8c1c7ba6fc0b733137f3406cee8110a93f170e7a78658af326d9 -z = 003271531cf27285b8721ed5cb46853043b346a66cba6cf765f1b0eaa40bf672 +z = 588522d326e7f105f11c4e8d97e119e193af42dc28409f4f7572ada538b52c1f pk = 6dd406b49b9ca035467fd26c6c0b824bea310f435fbe8bbbd3430b5c39889e6b117e994e2f08823a33789ff858b72715323c6204a241d9835ec0da85c5884a8a96210219099c8c383c182632280356c1b4f298405258a170e81624e861fc1082d31867a9037e3b90b0aeeaa064d27020da7ba79398fa92a963a8a294e7720bd4cd9ea213f08063079c4d55b094bebc4e979444f462b967972e61206fcc80337911b02c7396bc64405ffc0b77cccd2ebc121a734037cb90b77846b2359c30a451beb20a6d72c238284e5df2ad1cc1a33fd5a104965c86251a596360d541240a4828231a827a0168b6d8ac7e27328173886453a9c91498765c2bd9ea9f666bb4a1d60f992538a1a746df845574f99adad23b9744afa81c7fb79a32b175706454438f46b8985132b8e1cca10c2b0fa011eab2428b88cfef9378a5228e55d7463dfa5022c998abd6354118b5116b3bc1004f0008134b85a1cf2a9f409a10e14b6d06c26d8e355864c35bc71b60d5cac33a513efdf6b9bb83bc880983682c8fb8a81b6927ca52e93835956795488181a8cd82b1a50dd18a25f35e2643cdd76c282e7018bb99624f031418fbc8052c4179b43a5998be9a20cd2d8a883b313ec282598202add6471971c88cd9607d3a8052519930bc5bc71ca4652352b4d02620b8d983b9849ce8b8935f1a4decc3250de7b0cfcb49eb7b74e0b5792ae97633b092081c3c6bf58f1b242ca07610c3387098ac3f0f9043901c614590c4ebbc64ce1971e824694a999cbcc430ae923a1432b6a4911162213c429481394a27006b9d48c0ab5801823d756bfd8c6919502d613594aec81f5669bd4e8495292606959292467ccac7f688333b3f48a39fce5c42c9c2653886a5adf4747cc943b2416348f46df5b58e4916ba64e9664a4baaa3e0a9652408c8e5076c226c3a7932c42a846949a2a26b4e2c452f86cacfe5c201ae1321ab5c2cabda557648a849241f077a799edba3582202cb27763047219f5546cf18819322b9c63974b322b949baa491d97c70f20545886c87086721d3ca2aeab441264b516975ed0c6044a425853528424532e4d721e85cb0bf65c26082c790765b062916fac4a0dcecbc2e900c6f600270838e2df20ee0a907e3613dcee049c445640362c980a292f123c6c9b5918f21443c996016c44d2a124c5925a8e0c48e89bb167a129fcbf67adb89903e1249f6028bc176bacc722366139858e583eb582ada714e79b5ad1bc1a6f18754e100624620968d0702e080befec425bc16b650a307802004c57590897c87e65347f32c324569051d798bebdb421eb28b2d1a0c662444c7db32bf97845d7225c7539f457894eb87606fa85b5e804053fb6ecdea773566c006e540ee65101d99bf314181d666680985c78b103dd00a040dc69cff389fea7c18e48a363b943ff042b476dc86be953a5925076cf749a62a77a9406165d31dacdc3a677b9114d8bf84b43f59f647fa4023535140fde04285921184809c5f193a7df45f62187854061a4d6754da528f3b71a134aa487d9b5f7cfc6838108b8b95b51f5540c9ea5f29990f7be07efd502461033f103723093a16dd96c098977f81330249183cf35a636841bd1a9b9796f13f56be785d942d7eab011805cf3504fce325b6a5ef1aaadbbb11c662b9d2 -sk = 94b49ea42526935245c45a7d580b6aeff8bbe0f5342bb8bd2550212ad5935f45cba7caa6df914007fba79e9946c9433a86a2c4202bbdcea008af78975e6619d3582787530dbb7318a530b7b5a27d24258c7ccaaaf505ca92cb853a5818d4269be812becf169a05e71eb957557787c2f3b72315281dba87476b157a06095a30d52b388ac22840755b43440a931df8a709dc435b415a7babbb04ccd93cda00ca1fb090646b1d6514813368a794d38c907163b5917496b018c519b160c5144d6424495626e3a5ab9ffb8d8d3168d77599a88a1d12c07d86498d88dc1af7fa7de15073fd4b62801c1a902b215e7cc3eac350bb63adeaf9c7594844795a9a6274aa3eca0cd10891f05795a77b30add76b6b1a35338b8156690ca2ea1c9c3b602b23324925314f726535b36dfb355225d37e7c85be15a5976a8a6ad4e2c35d4c45acc954368ba6df88a47dbb8c782336f7ea507a6c2d26d952dc03b4bfb89872644084783ab493cd72d3befc2c803b692729638af69b03e6db9b82e678a42969fbe770fef65723f77da6437c20b203601c884a9b9e08c0b1ddbbc1a66517dcfc76b3f125f7795e5ddabef0cb00119778575513e05ac38a7901a0e8c8794685c0f274050097bc50168818a74aba5d71980f5c76279ec0214cd51efa8a21391567fa052e6dc0cf9bf216cff9287c80693645a53d71b3d7509f6a432d51b2b0aad129b594278da74ffacbb713357d735a744b7c65e482b7e172c67a5b4edabaae11222b8bb6b4564ab4fb20c28b4981614b69bb188db6056607e089f64803d89210c7e604266b00548a2ae27996196a6d6f762c27b22731f7942543ccef3856edf9ad1b1b1652a33c3e038dd9b2cd9a4612ce174315e67b26dac767e50e68508d104bbae1a2b89b78266d27b109f90bce1581a8b8888c90c1c4ea5fc1f009d5073780cb4545087c88026b9b9abddab923db52620713c8b5ac3301e8715ac39d13084926e841fae41a7bbb7912e10680a78c0c363a251720b2d69467b6cac5d894f862595072a7c9b14bfefaa2fdcc75cc42892cec6184b52962b9b73d663b7d76c1ea499d538bb45a4caecee0c8eb93bba5ec1a8c936156382b10102e3211b2dc15663412805f60590ec33dbab80d2a3bc05fa8af5145644f712e004c20f799650159c40dc952c9a54c27e816c3a6a95efbab24a31f6c402300f9baf88a46644b4df8a24979e80dc30425b9e75a753a36510b87c5fa95cbf36e19a12245876003b54d4e008ef7ab9d83c5a2406014b5cc33b6167f4c452af45084b7412ec19556d82b0a6a90c1aea60a72312d8a7a8e5060189717094ff950af2b503988964f0aa227c523487471d3bc905b6672be20bc714729b7a71478b07a19f777dec546c624723af7b5f6c142274ac5652a7c2d7abbf1171f2bdb12f1ecc876681a600806d6fc229e6a8f6424419187bd22e49b8f27486db25371c169b3f61e81131b57659b1030a959790ba5d6424580b1f588326db9cd01a260b21b8c42062b883854fb173ea7613764d41dd6b89468c7ba6c4236d1a0436b945b8b340983023139293fc48c07659b955453bba07b0eb4e2a91f594232a47c65c66e1c5c8279f179925c55ee3a0b6dd406b49b9ca035467fd26c6c0b824bea310f435fbe8bbbd3430b5c39889e6b117e994e2f08823a33789ff858b72715323c6204a241d9835ec0da85c5884a8a96210219099c8c383c182632280356c1b4f298405258a170e81624e861fc1082d31867a9037e3b90b0aeeaa064d27020da7ba79398fa92a963a8a294e7720bd4cd9ea213f08063079c4d55b094bebc4e979444f462b967972e61206fcc80337911b02c7396bc64405ffc0b77cccd2ebc121a734037cb90b77846b2359c30a451beb20a6d72c238284e5df2ad1cc1a33fd5a104965c86251a596360d541240a4828231a827a0168b6d8ac7e27328173886453a9c91498765c2bd9ea9f666bb4a1d60f992538a1a746df845574f99adad23b9744afa81c7fb79a32b175706454438f46b8985132b8e1cca10c2b0fa011eab2428b88cfef9378a5228e55d7463dfa5022c998abd6354118b5116b3bc1004f0008134b85a1cf2a9f409a10e14b6d06c26d8e355864c35bc71b60d5cac33a513efdf6b9bb83bc880983682c8fb8a81b6927ca52e93835956795488181a8cd82b1a50dd18a25f35e2643cdd76c282e7018bb99624f031418fbc8052c4179b43a5998be9a20cd2d8a883b313ec282598202add6471971c88cd9607d3a8052519930bc5bc71ca4652352b4d02620b8d983b9849ce8b8935f1a4decc3250de7b0cfcb49eb7b74e0b5792ae97633b092081c3c6bf58f1b242ca07610c3387098ac3f0f9043901c614590c4ebbc64ce1971e824694a999cbcc430ae923a1432b6a4911162213c429481394a27006b9d48c0ab5801823d756bfd8c6919502d613594aec81f5669bd4e8495292606959292467ccac7f688333b3f48a39fce5c42c9c2653886a5adf4747cc943b2416348f46df5b58e4916ba64e9664a4baaa3e0a9652408c8e5076c226c3a7932c42a846949a2a26b4e2c452f86cacfe5c201ae1321ab5c2cabda557648a849241f077a799edba3582202cb27763047219f5546cf18819322b9c63974b322b949baa491d97c70f20545886c87086721d3ca2aeab441264b516975ed0c6044a425853528424532e4d721e85cb0bf65c26082c790765b062916fac4a0dcecbc2e900c6f600270838e2df20ee0a907e3613dcee049c445640362c980a292f123c6c9b5918f21443c996016c44d2a124c5925a8e0c48e89bb167a129fcbf67adb89903e1249f6028bc176bacc722366139858e583eb582ada714e79b5ad1bc1a6f18754e100624620968d0702e080befec425bc16b650a307802004c57590897c87e65347f32c324569051d798bebdb421eb28b2d1a0c662444c7db32bf97845d7225c7539f457894eb87606fa85b5e804053fb6ecdea773566c006e540ee65101d99bf314181d666680985c78b103dd00a040dc69cff389fea7c18e48a363b943ff042b476dc86be953a5925076cf749a62a77a9406165d31dacdc3a677b9114d8bf84b43f59f647fa4023535140fde04285921184809c5f193a7df45f62187854061a4d6754da528f3b71a134aa487d9b5f7cfc6838108b8b95b51f5540c9ea5f29990f7be07efd502461033f103723093a16dd96c098977f81330249183cf35a636841bd1a9b9796f13f56be785d942d7eab011805cf3504fce325b6a5ef1aaadbbb11c662b9d22cedad700b675e98641bea57b936bd8befce2d5161e0ef4ef8406e70f1e2c27c003271531cf27285b8721ed5cb46853043b346a66cba6cf765f1b0eaa40bf672 -m = cde797df8ce67231f6c5d15811843e01eb2ab84c7490931240822adbddd72046 -ct = 68f11f4a8d07dba08ead094a93bf00141ced64e2cb3e68a59987ca3298e259acebb820650f861c6af5fa565920825ae4a61a5395cea7ddc6806e7d15d42635c8177e17a9b7110118c3fbced5b2a73ea79b86d5b41d92c14c0302b6b1b9db25cc2f923b32ccaa054c7b07e58ea2ecfe4f0b17c97e4e5571e04abf67468b6df3b64aa545b7e348e45dfb18bd186c7a17c7a3ec326e65bf7bb025d7d23b14f733698fdb79ca9cfdb85ad40f35170d98289da8190f50a25fac16043377736664411767c28978664444a2da6f630d0fa54230f0da6ccd158c5986921a356a3bf528c996a767a44ff765967a06773c4f392ce9209cba2ce05dc63a43d1ae40c2e86daa0f56237962b058e0d40dce5eff7aa165b6a9d1dfac0d19bbc0a94466ec53dd1e28a8b01722e28c761e8ac0b97ade7caa0447465c40a54ba799f8a011ec1bb0e7da7d4362215f5fab54373791102fbcb77480a805008a5e89e6a74b15257b38bfd906841a841a475f47720ad19f34409ed6bd37c2bcd7de06e4e04181116d0bb2050f9c60f635fee337dccaaeb870ba7494cb2ca590570720de061bdd6b522eb09313ebb927bffc920e649d98e5a4a86c2c5e3815e777f302802d98b6c616e6fcb784a16d6bf8c8aae9ba44ec43de816084c4c3bb1b02a603680a64ff1ab5cd8af48774c5b5057d6682cff3e265a63e551a20633dbf5bfedae646ccb99e872274c71bd61e1a518e8a2657b1ffb37701ba26b1aa36b109d75e399af0f07d321a8e839812e6cf8ea29e95cba3e6737f6f2113d8990ed939f86082cf5a3877144a8ef89fb5c0fd726a88da00e986782c53d313212a9a2d20d012794e9a89866367c10ede99eb8b03f30c376b50e7009a51f2f44082dbb62c4ac91f53399838bfbff7abb851c969e9003af3fefd138d7c5c4862f524fd97f95f9e6b5cf8ce949f748239f6dff3535d24bb704edf896aa06515dca4fe776b987fe7c742cbb2de50cda6a2bc99455cf741f58b094bb832f2b645112f11050e1a8cb2f770709ed3d58a284012c9084ce6de8372246cf4b4861d2e43516483e7b66f6eab1a6ac61ea0b85f7103d9fdda34af13c5674adb690eece71cb7ede7b02cefdc8b052f2c8905d60d57b58576c8e9cee41d00b7c51f8a97237716617cfc3d554d56eb2aaeb13e018c334b6d0d7a68b3294d475b910e860f17e9baaaf7fc85ffacb18bcca3230507afb91620061f2ff221ea8614bfe77e64838411d7988745bf103d37f93d3e48c9b93577f1b709d58f386d110979b954b41095d58cc25e8343b1cc03c5a103b39433c844154ca9d0ef7d5e8004a44f4500bd06481dc6b8073085657ae915a3322e6cd27016b1091ba8d78efbc32c70ccbfb8e63827d5d875302006a4554f6655d9c2104189733bf3fc5388b978304a23248d24fbcee7bbcc9501479aa0bc19dd5c4fa6580993f4edf4438cc7eeccd8622231c4925be40e9ff57dae6617bdca8e964aad894267de70b45c414280f643f6f23acc9d142cdde71f624d69238d45b5fe54 -ss = fe8aaa6558fd8087dd7cab54b4bce50fc625a369ecace58b2ec36f3bc5bb4f5a +sk = 94b49ea42526935245c45a7d580b6aeff8bbe0f5342bb8bd2550212ad5935f45cba7caa6df914007fba79e9946c9433a86a2c4202bbdcea008af78975e6619d3582787530dbb7318a530b7b5a27d24258c7ccaaaf505ca92cb853a5818d4269be812becf169a05e71eb957557787c2f3b72315281dba87476b157a06095a30d52b388ac22840755b43440a931df8a709dc435b415a7babbb04ccd93cda00ca1fb090646b1d6514813368a794d38c907163b5917496b018c519b160c5144d6424495626e3a5ab9ffb8d8d3168d77599a88a1d12c07d86498d88dc1af7fa7de15073fd4b62801c1a902b215e7cc3eac350bb63adeaf9c7594844795a9a6274aa3eca0cd10891f05795a77b30add76b6b1a35338b8156690ca2ea1c9c3b602b23324925314f726535b36dfb355225d37e7c85be15a5976a8a6ad4e2c35d4c45acc954368ba6df88a47dbb8c782336f7ea507a6c2d26d952dc03b4bfb89872644084783ab493cd72d3befc2c803b692729638af69b03e6db9b82e678a42969fbe770fef65723f77da6437c20b203601c884a9b9e08c0b1ddbbc1a66517dcfc76b3f125f7795e5ddabef0cb00119778575513e05ac38a7901a0e8c8794685c0f274050097bc50168818a74aba5d71980f5c76279ec0214cd51efa8a21391567fa052e6dc0cf9bf216cff9287c80693645a53d71b3d7509f6a432d51b2b0aad129b594278da74ffacbb713357d735a744b7c65e482b7e172c67a5b4edabaae11222b8bb6b4564ab4fb20c28b4981614b69bb188db6056607e089f64803d89210c7e604266b00548a2ae27996196a6d6f762c27b22731f7942543ccef3856edf9ad1b1b1652a33c3e038dd9b2cd9a4612ce174315e67b26dac767e50e68508d104bbae1a2b89b78266d27b109f90bce1581a8b8888c90c1c4ea5fc1f009d5073780cb4545087c88026b9b9abddab923db52620713c8b5ac3301e8715ac39d13084926e841fae41a7bbb7912e10680a78c0c363a251720b2d69467b6cac5d894f862595072a7c9b14bfefaa2fdcc75cc42892cec6184b52962b9b73d663b7d76c1ea499d538bb45a4caecee0c8eb93bba5ec1a8c936156382b10102e3211b2dc15663412805f60590ec33dbab80d2a3bc05fa8af5145644f712e004c20f799650159c40dc952c9a54c27e816c3a6a95efbab24a31f6c402300f9baf88a46644b4df8a24979e80dc30425b9e75a753a36510b87c5fa95cbf36e19a12245876003b54d4e008ef7ab9d83c5a2406014b5cc33b6167f4c452af45084b7412ec19556d82b0a6a90c1aea60a72312d8a7a8e5060189717094ff950af2b503988964f0aa227c523487471d3bc905b6672be20bc714729b7a71478b07a19f777dec546c624723af7b5f6c142274ac5652a7c2d7abbf1171f2bdb12f1ecc876681a600806d6fc229e6a8f6424419187bd22e49b8f27486db25371c169b3f61e81131b57659b1030a959790ba5d6424580b1f588326db9cd01a260b21b8c42062b883854fb173ea7613764d41dd6b89468c7ba6c4236d1a0436b945b8b340983023139293fc48c07659b955453bba07b0eb4e2a91f594232a47c65c66e1c5c8279f179925c55ee3a0b6dd406b49b9ca035467fd26c6c0b824bea310f435fbe8bbbd3430b5c39889e6b117e994e2f08823a33789ff858b72715323c6204a241d9835ec0da85c5884a8a96210219099c8c383c182632280356c1b4f298405258a170e81624e861fc1082d31867a9037e3b90b0aeeaa064d27020da7ba79398fa92a963a8a294e7720bd4cd9ea213f08063079c4d55b094bebc4e979444f462b967972e61206fcc80337911b02c7396bc64405ffc0b77cccd2ebc121a734037cb90b77846b2359c30a451beb20a6d72c238284e5df2ad1cc1a33fd5a104965c86251a596360d541240a4828231a827a0168b6d8ac7e27328173886453a9c91498765c2bd9ea9f666bb4a1d60f992538a1a746df845574f99adad23b9744afa81c7fb79a32b175706454438f46b8985132b8e1cca10c2b0fa011eab2428b88cfef9378a5228e55d7463dfa5022c998abd6354118b5116b3bc1004f0008134b85a1cf2a9f409a10e14b6d06c26d8e355864c35bc71b60d5cac33a513efdf6b9bb83bc880983682c8fb8a81b6927ca52e93835956795488181a8cd82b1a50dd18a25f35e2643cdd76c282e7018bb99624f031418fbc8052c4179b43a5998be9a20cd2d8a883b313ec282598202add6471971c88cd9607d3a8052519930bc5bc71ca4652352b4d02620b8d983b9849ce8b8935f1a4decc3250de7b0cfcb49eb7b74e0b5792ae97633b092081c3c6bf58f1b242ca07610c3387098ac3f0f9043901c614590c4ebbc64ce1971e824694a999cbcc430ae923a1432b6a4911162213c429481394a27006b9d48c0ab5801823d756bfd8c6919502d613594aec81f5669bd4e8495292606959292467ccac7f688333b3f48a39fce5c42c9c2653886a5adf4747cc943b2416348f46df5b58e4916ba64e9664a4baaa3e0a9652408c8e5076c226c3a7932c42a846949a2a26b4e2c452f86cacfe5c201ae1321ab5c2cabda557648a849241f077a799edba3582202cb27763047219f5546cf18819322b9c63974b322b949baa491d97c70f20545886c87086721d3ca2aeab441264b516975ed0c6044a425853528424532e4d721e85cb0bf65c26082c790765b062916fac4a0dcecbc2e900c6f600270838e2df20ee0a907e3613dcee049c445640362c980a292f123c6c9b5918f21443c996016c44d2a124c5925a8e0c48e89bb167a129fcbf67adb89903e1249f6028bc176bacc722366139858e583eb582ada714e79b5ad1bc1a6f18754e100624620968d0702e080befec425bc16b650a307802004c57590897c87e65347f32c324569051d798bebdb421eb28b2d1a0c662444c7db32bf97845d7225c7539f457894eb87606fa85b5e804053fb6ecdea773566c006e540ee65101d99bf314181d666680985c78b103dd00a040dc69cff389fea7c18e48a363b943ff042b476dc86be953a5925076cf749a62a77a9406165d31dacdc3a677b9114d8bf84b43f59f647fa4023535140fde04285921184809c5f193a7df45f62187854061a4d6754da528f3b71a134aa487d9b5f7cfc6838108b8b95b51f5540c9ea5f29990f7be07efd502461033f103723093a16dd96c098977f81330249183cf35a636841bd1a9b9796f13f56be785d942d7eab011805cf3504fce325b6a5ef1aaadbbb11c662b9d22cedad700b675e98641bea57b936bd8befce2d5161e0ef4ef8406e70f1e2c27c588522d326e7f105f11c4e8d97e119e193af42dc28409f4f7572ada538b52c1f +m = 46401015603c5e2174cb94ac742e836b516e2d570f15de0b9d0204d79ac64ba3 +ct = f60638fce41247f51274055ee89130bb905482f23d1914a501ef2a6c23f56bb4bba0599c263ba4d5f9b31cddab90b3a329229f17bcb8f7f103bd842ea37cde0ef4798bb12a79c49c69c6419c6dd1d8c0de97754524808eca7bcf6262ecc31b0a86089420ca9418cfbdb5c5be19c7d33cd74c3bf005777fef3dea1f14e86206fccaa268a7cb825c8f2ecd7947696cb710484bab551ebc3c14b81dff2898a4bc145e72b9b0cc9afe3dd805aeebb1bf73940890d1730e774de326bfe531eff9ff9623bf14353a609b1df6523e2f53a90a8b9817571598f67d9c7ae4f0142383a2f7d494518475d13bb0b60dba7c97a2fadbaf16f3f153e9d1faea711edc16f190e2bcb36d58d1cb6efa9b3a192beadc1e3edc3083e6e8e8344233ffdf4d5a3157f973104347f8b4b493777a6978dcd98ba375122936119a8ebfe8ceaed7b461527fd213c8238be1a8a1d44d6e7d2e84af8d2974cd9e8988c45073d18402f919e3b6c8d073d292a1b87962534cdb1505f3e77042ebc00aa567b979b46e709fe4d023ec22a8703a39ef9856fc8a1785e77374577a7f7ce965f5076f652b77d0d59fa929430f97cf2a9c7d4ddcfe988e135b4c4ec925d56efeb5d55d45c9be059cacfe8a5fb4a8ea53fdd7cff0e6c03cc01a45fd78c6febb7432f2c562278b9d0df9cc40161b4fbd726e12e4d8e4d356032768dd3b3b67dd6e844d983feebcff008508fd369b558b9102c10dc20d5f66db3a5073a055c59b387b44089ca0d0c52b8953466f62c423905a32b903426f15e8e70509543a2d022dd4479b9d453cb2ff30332d24cd8d95b1a7618e98806f8e340a123ee41022a8c03198619289593ad942374fdb6f7ac3f548b46ff75fe1dcaf1c19f856ce790d51afbbc2a000317c178f7045dff00b91ad5a5428c25b6891d1470fe3b215557ebcd53ee47c785ad9cf87983bb608e62997d43abf9a4c1ba66da974f327cdc5293d83e1ae680ae4316489f23428cae12c2885bff0b2c89ec2903f393294ec75388b28f3966037f293ea041c730952539fc8e124846ba79a454ea6171a159b792bebced1f47e2488034e05240ccaca485a5c07c392a17e60775e2552666371564a0e31b3fd2aa185d4e3c48a3326d8ae732b10930bcc8ec5ab8ae0798155dadbe5905f855b996645c01cdce079202666391e57a8e721d5d660f680c7d426bae9f6617d07c7457324efdc80b3fd2e0fca774c0e4f77ffe862ca78fd0d91dccc55a6c5c609c716d53098db46c4608a1f455957e8bf87f6f99e18fd7f8ed771c7a0b7bee1c34f7ccdd1de08c5edaf4b5f8567b56620a564cd0c674d0aa28e3244f4639374f7bf814f54b6dc5fa66f2af8c1a873c4a140f1227be01fac40dab7a68fa4c3b819ca7c72d9b70407bc9f1e2ae27551b9a2a2c533a3f4aef4165ae6f4eb326e4a732ac4bfbb82f761869d2ee9072b5d91033714c09801f5f084ae32adc47a4f9def32c942c7e1b0e687522f25daf9a0d5254dbc8c315bfe45b77ab87fea0c436f09bca414f3dbe1020d +ss = 7ca06f75490aab6218e89a10c19f9313ebdd219fa79e44c2e4440ff1a3c2d291 d = 4b622de1350119c45a9f2e2ef3dc5df50a759d138cdfbd64c81cc7cc2f513345 -z = e82fcc97ca60ccb27bf6938c975658aeb8b4d37cffbde25d97e561f36c219ade +z = d5a45a4ced06403c5557e87113cb30ea3dc2f39481734de9e18bcbfbecc6719f pk = f5a35b4ec7538b62289dd1204db91ac492b610538c93eb5f2637ad97dc88f0035ff3cb735cebac9be7ca78a4149cf10b6d93283050167e737596b711a9f32a0f6909975055ce6632f4b42cf9a2361cf69047b5bde1868dd745a82cf473ebb30d86a71793364f70b1255b1c2003f166683c936a7977df156a84051e69b95e02616dd3090dd38086ef3bc12353bad25377618965c2810fca929dfbf46f20360fc847818cf90dbc044eed16b3b9052c5c70a5a430441e53a5527a689f49b35ce82b84d6057c5269fb60c710c5731f431a970b86431125910277fa7c310a2285117b47b95054e4174a1eb11da3e3c26ac25619d36712b11b2ef7405bcb943dba10d50c0436b50de5b04d96488a38f53df37895ac20c10d959d81a29fe1f319ff871831d93c54654172a02e65599f9d820ab037438e62714be6c7d868b66ac03c31c8753a062318ca36b6e59d340b9696d47c38f115104765865353a05c8fbc4b0a62a96577e94c17094de259006f169e75b8919bb4c37df6787b59bec8fac999a90b73123a5cc8772ad67585c879ebe05b5c06afdb440adfbc4ad400d0e634822a843e9b165f2f0bb748e231c0e0ceeca8806046b5dea7cac614a5e2cca3767556448785dbc739caa9c58fac291a0bbe96e9ad36a4a1d9c96939603bcd76a81c040fba27a5a39a1c387cac9d1b086e512468d378e96039aae2622fe5483673850d411ab64b892f2c29853822eae76feaf5716a660b55c2020dd3323a150ceef9ab79925d2bc09cc6faa31727a5912a7f5e9051f8b94d8866c4da173d3f2a388e6c44218338cb85702cba2f602c24e1788158b0129e7c15dcf2cc6ed55c54b456cacc07d179b432a5aa63e8ac59f0b6979a833d99c13aa0c56cb65928032e2f30583fa6c038748ceb77a91c631dd09b575f13126f1447cab00bc9c85fc7601da44ac5fea5adcbb599a409bb1a67b24ef438d750bf87a8814df22449c9256da1286dc623e81546c283b80cc88c48f003678ab35380a6da551ac7041cd5112d59d15a80032c28b61a1bb3b8a7267adf4662b5963468b3bc5918418f980cd7db3946c5a67f864dc1f3adea12142fb71fda590e070007662b5c3b8b31af169a092a2e466aa01ae879641bc4d1d62523ccaa3ed436cc089b2621456114215d1a9eefd1016dc81d5320956fd942bdda40f3a033e5170ca6a2c57ce17eafc97aa0959cf37b92e789636f159faa827ddb895553540d52a61edc1b3dceb22a7231c48037cc78594718902333d0bc4fe6b29352991e2ba5d31217457007057b9d3c07c39b7c7eeecc222d4415d6d9272ec50b81520bc607592947c86d2612e434c22513235536cd08f10022b97675b89f1de58130eb6797380f6b68773dfbba0664bb7caac84f7b06711587c6ecaa383505f62751c8346bdd502a58e9326e4a0d2d29226f794ad0064b2cf0a56e6a67c18b331f5537d2fc6c3aeb52a5c3313118cb7d159b8372158c1a7bfdcb65d426458edbcf8797383e272d3b18bee68c4d74e25751ab1ce4567d66b714cd62a8e9b886baa812a9f50739e30f296791414727d55003bcb52ab6bb74cab215b348ad06f974192cbd61576baffc815999ab8556583024cdbd1c4398f4a4ac60e8cb68627382a145f91be9d78fd51ba5e3fcbc3155b62bc07751dd -sk = 72408d44c2be6e83c803da2846d852dec1848ee41504b5c91f774f6e512b51f71dd1520203c486f63240bab4c1dbb212299753b8627f9bf2117cd6a83be4075a385782ab804a420972eb25bc553eb981aae7d7a715111338529f6116c10b10bbc20b31c3161d4bc1a5f050220b5584abd6a546ab51a9a10120ecc131220502697e9d61bdbad346fc43824135692204b49b5b377b870b7b28c86946077a215acaa11abd851eca479988bc69ccc9975eb42a33523c525434bc594217912123957dcdc18e410a6d6a811bed8a0b4135b56f4562f343aaec34396bb0556d7962679a76934b016b4b4bacc14650c55c3aec9bc2e85b548b5d3eb891b6596f0c44009bd0982d98bf81ac77c8da98264a719cd8568e48279df9c8e9552b94aa773b43a70742c75f041915752551347f00447d72d934bec553bf1014f4276015e0b4db77cdf8c546af05861804a5b7d92838744511ac6c8be55e883acb7775b98c4b4c9c8789aee317f8f02b4127a6ae879d02c13772a003928041c53351d8d70ce59b14cab5ca31d717f69129c8fabe46582ca5298ed156209c25bc57870eea34255ce1b4c426211f957d74876dec169c4c516c8716b3ddec6c3e610c31f0c52e13650f0b1c70124dee27111a76abef82c8fd3172d554121e6a87e9d3b58e11379cb812b7f4b95d46104934ce75c715771204d7c46aa9439836453bda709cef3bc1c9341994f25c48b5c80fcc8a67e316c431bd302b20904456b3283e9ba1bdde494ce9f8a3f0b432dca69d0ba9c43c703e1616272cd6b904d5b6279c55a539b7e46a601b28493e38a2cd9ba66d997c8c5c3b7631822c529fa48835f8a08f322615e96b9087c71c9f262b68851f00486489d25c92221c2759c89440ce733614b8c7a06f26b374cb4f8a6a7d67da521eba7232c0a4c066886b8450755896cff77a369bc8fd4b3b5b0731452a908acc68366b8edba66d09f212c9330c83990ab2db7095d708b6c3589bf929fea31534646537d2ab023887fc286f00f46f8a360476998e4fe7315f03c234929247bba2a05297a5e01aa9cc6158458e2302513274a2e3359d66126f5fd44d348ba2b634642ea26c6cb616f64a2d2c819abaa48bc565ca0ab67e6cfab1129a0144c10a003b44bd3879b4e62e0ad3a58bd86a7030be34309f3309642b017b0aa03ffab4012b36adc49a95ddba67cd81306ef6bb20b546bcc55eac2b815fb38bae991d6ae7aa87d42ecbc740cc816a3ef42e9d204ca0177cdb30cdcb870386c320ff51b137578b029125ba518a5b887d7b9050dff113468608f6335ea81a59b87cb753724ed0e159fa4709ac018a31194247a6a9c65443a35ac36e11bfa6a8559cf20e50116ee5fb3780fa03dcaa77846b18c04894e50486acfc3b8feabb8cf860d79c2734a700ab731739244580653699b51b7fc440b8cb1d6bb1360291bda5b11aeda3c77a25b40f96763a372512561e0d52848fd6a3a8241dea49c4c24692cb43aa22067072fac2dff7898f298cbae17f9ca68a132321932295161a1f31c178932004d17854d7d9c69f6640ee216747102280191a5695433763b6cf3b86756aae22a37f9f6920c361c2ac68a7e11c8f5505af2100651595bff5a35b4ec7538b62289dd1204db91ac492b610538c93eb5f2637ad97dc88f0035ff3cb735cebac9be7ca78a4149cf10b6d93283050167e737596b711a9f32a0f6909975055ce6632f4b42cf9a2361cf69047b5bde1868dd745a82cf473ebb30d86a71793364f70b1255b1c2003f166683c936a7977df156a84051e69b95e02616dd3090dd38086ef3bc12353bad25377618965c2810fca929dfbf46f20360fc847818cf90dbc044eed16b3b9052c5c70a5a430441e53a5527a689f49b35ce82b84d6057c5269fb60c710c5731f431a970b86431125910277fa7c310a2285117b47b95054e4174a1eb11da3e3c26ac25619d36712b11b2ef7405bcb943dba10d50c0436b50de5b04d96488a38f53df37895ac20c10d959d81a29fe1f319ff871831d93c54654172a02e65599f9d820ab037438e62714be6c7d868b66ac03c31c8753a062318ca36b6e59d340b9696d47c38f115104765865353a05c8fbc4b0a62a96577e94c17094de259006f169e75b8919bb4c37df6787b59bec8fac999a90b73123a5cc8772ad67585c879ebe05b5c06afdb440adfbc4ad400d0e634822a843e9b165f2f0bb748e231c0e0ceeca8806046b5dea7cac614a5e2cca3767556448785dbc739caa9c58fac291a0bbe96e9ad36a4a1d9c96939603bcd76a81c040fba27a5a39a1c387cac9d1b086e512468d378e96039aae2622fe5483673850d411ab64b892f2c29853822eae76feaf5716a660b55c2020dd3323a150ceef9ab79925d2bc09cc6faa31727a5912a7f5e9051f8b94d8866c4da173d3f2a388e6c44218338cb85702cba2f602c24e1788158b0129e7c15dcf2cc6ed55c54b456cacc07d179b432a5aa63e8ac59f0b6979a833d99c13aa0c56cb65928032e2f30583fa6c038748ceb77a91c631dd09b575f13126f1447cab00bc9c85fc7601da44ac5fea5adcbb599a409bb1a67b24ef438d750bf87a8814df22449c9256da1286dc623e81546c283b80cc88c48f003678ab35380a6da551ac7041cd5112d59d15a80032c28b61a1bb3b8a7267adf4662b5963468b3bc5918418f980cd7db3946c5a67f864dc1f3adea12142fb71fda590e070007662b5c3b8b31af169a092a2e466aa01ae879641bc4d1d62523ccaa3ed436cc089b2621456114215d1a9eefd1016dc81d5320956fd942bdda40f3a033e5170ca6a2c57ce17eafc97aa0959cf37b92e789636f159faa827ddb895553540d52a61edc1b3dceb22a7231c48037cc78594718902333d0bc4fe6b29352991e2ba5d31217457007057b9d3c07c39b7c7eeecc222d4415d6d9272ec50b81520bc607592947c86d2612e434c22513235536cd08f10022b97675b89f1de58130eb6797380f6b68773dfbba0664bb7caac84f7b06711587c6ecaa383505f62751c8346bdd502a58e9326e4a0d2d29226f794ad0064b2cf0a56e6a67c18b331f5537d2fc6c3aeb52a5c3313118cb7d159b8372158c1a7bfdcb65d426458edbcf8797383e272d3b18bee68c4d74e25751ab1ce4567d66b714cd62a8e9b886baa812a9f50739e30f296791414727d55003bcb52ab6bb74cab215b348ad06f974192cbd61576baffc815999ab8556583024cdbd1c4398f4a4ac60e8cb68627382a145f91be9d78fd51ba5e3fcbc3155b62bc07751dd3dbc65b722a8982d058e27d409f04f744551ecde9015b62607cf67bb8ececbb8e82fcc97ca60ccb27bf6938c975658aeb8b4d37cffbde25d97e561f36c219ade -m = f43f68fbd694f0a6d307297110ecd4739876489fdf07eb9b03364e2ed0ff96e9 -ct = 972b0906d175a187ea54286f9929eaebe5a4f147ddd71cee94edc0fe2672884eabe2e09dcf524ee839a08ce037e6db27b0e232172c0b0b02784c57e13b52cf29c7f38d60cfcc0032a48c1198b02b8fbc01beabb54378facd94abb9cb8bc488735cb826944ab2919ce853da9b9b3cb99829611802ebabcc6cdbefcd6eb5f65c9cf5871ca093214eac807904deb63b700cbe68d54b676b7fb489a04b050585591e4b2a921194dde55684ddbb86ac1b52ed882dd0c93ee672c692fd94d8cfb0030201df1d34e227a4ea150174e0fcb6a0fafbdca499306c752e8ce6521591f7cac0bfe6bc77f8284bdfd36166f46526584b78fa94f645c805b7dcb561574237f2340836bfdbf367b2ffbcedc2fbc6c974f157d99393ab842e1106f2acbdd660efd1082d016da6c4d1260029de92a37ac87e3a1ca207650644193335847bcf48a4074e6306f5fc2ea28e0379e844f6b5c00b9ed56e7e4ea35d7123254695a2670c5fc465ae5ca630bc1dbf187cfc3bf5f855acf2855026a53790fc1eda0195f6e32def74c34d0404fb51990b5ac709068bb55e1c4b3d30f8150263dbb9978c8b194a5df5b8fbbdf4bd1e68a032ecd3f2ecd94ec3245aa702196e357bb30ced0efc42b425e00d206817ad467eedb156f23fa760c1b7a156e1a37a4ad95450a193dd1183be571aaf14ae7529c534a7f6149bc8fe1567563d33cf153480a990c44383ec362276fea37431aa3da830ef0273591c526d9a0604e1672936e157e4e646dfdc5a13ef2ad14284bd8ac344565dab3b45c9858ec2f3a8ccd445a4610d80c5263234d2e6f57dc7490d621566ddc0145488253e22da3061e7645773bc2f95bbccf7628822c3a861b8829f0f85ae2ceb1c4b4ce87a50365f9369be6bff74556644bc131b7a062b94d6aa662651625735689e70e19407e68f3af50a4506a8fb345f84c81c0330516496e5940565d148975ff03fa4aeba113080861ff63f9153200635362022418c9e28aecced7021fb8e650d07a8639fbc0a84b5ad21914bc4c4475ad4c8f8a127c024ddda9102fea90187a6235e3b689a31403d0cde12f6d7aae4d1dfda6ca09f9d78fe141dff66c483c6028a22dbe6bcefe54e07d9f58b4eed7515ae2e1032f6cc01e8c2ab9e417ffb3123eca3eb0665935ceda2426bcbd93f8386eb0b7457dde5834483be7be3f25b133d76b2fa823bbd4a0356ae6ab87bda1f807a00ebddcff68fed900a3145c3eb368efe091bf271fc7488166f34eb62961fd9806ab91f15c726bf7b436b47047a5a6dfad40451c59fbcfb45bdb2c25569a4c58aa277ad195f6a2a16de0a11454bedb867a93f53f8a0b8e395a37eabdf045b5665e7998d4477d4f611f3bccb1f5c289ea5e1afda0ddfcf620b782fb019dc29bc376c2aae914b721d5f6d6e32ffacbe67ffe15f2796fd95110ef9a46b358799b6e53869d6e326df9aa607fdcb657f060b6ed8703e928f03bfe658a8105d7114d941a7cf108072e97cc1be3345e43a541f7d5b7113804f5075b033475db3af0684 -ss = 86435ab2aff9cea1dc653ce819721a56933841f29330869b63e36604a6ceaff2 +sk = 72408d44c2be6e83c803da2846d852dec1848ee41504b5c91f774f6e512b51f71dd1520203c486f63240bab4c1dbb212299753b8627f9bf2117cd6a83be4075a385782ab804a420972eb25bc553eb981aae7d7a715111338529f6116c10b10bbc20b31c3161d4bc1a5f050220b5584abd6a546ab51a9a10120ecc131220502697e9d61bdbad346fc43824135692204b49b5b377b870b7b28c86946077a215acaa11abd851eca479988bc69ccc9975eb42a33523c525434bc594217912123957dcdc18e410a6d6a811bed8a0b4135b56f4562f343aaec34396bb0556d7962679a76934b016b4b4bacc14650c55c3aec9bc2e85b548b5d3eb891b6596f0c44009bd0982d98bf81ac77c8da98264a719cd8568e48279df9c8e9552b94aa773b43a70742c75f041915752551347f00447d72d934bec553bf1014f4276015e0b4db77cdf8c546af05861804a5b7d92838744511ac6c8be55e883acb7775b98c4b4c9c8789aee317f8f02b4127a6ae879d02c13772a003928041c53351d8d70ce59b14cab5ca31d717f69129c8fabe46582ca5298ed156209c25bc57870eea34255ce1b4c426211f957d74876dec169c4c516c8716b3ddec6c3e610c31f0c52e13650f0b1c70124dee27111a76abef82c8fd3172d554121e6a87e9d3b58e11379cb812b7f4b95d46104934ce75c715771204d7c46aa9439836453bda709cef3bc1c9341994f25c48b5c80fcc8a67e316c431bd302b20904456b3283e9ba1bdde494ce9f8a3f0b432dca69d0ba9c43c703e1616272cd6b904d5b6279c55a539b7e46a601b28493e38a2cd9ba66d997c8c5c3b7631822c529fa48835f8a08f322615e96b9087c71c9f262b68851f00486489d25c92221c2759c89440ce733614b8c7a06f26b374cb4f8a6a7d67da521eba7232c0a4c066886b8450755896cff77a369bc8fd4b3b5b0731452a908acc68366b8edba66d09f212c9330c83990ab2db7095d708b6c3589bf929fea31534646537d2ab023887fc286f00f46f8a360476998e4fe7315f03c234929247bba2a05297a5e01aa9cc6158458e2302513274a2e3359d66126f5fd44d348ba2b634642ea26c6cb616f64a2d2c819abaa48bc565ca0ab67e6cfab1129a0144c10a003b44bd3879b4e62e0ad3a58bd86a7030be34309f3309642b017b0aa03ffab4012b36adc49a95ddba67cd81306ef6bb20b546bcc55eac2b815fb38bae991d6ae7aa87d42ecbc740cc816a3ef42e9d204ca0177cdb30cdcb870386c320ff51b137578b029125ba518a5b887d7b9050dff113468608f6335ea81a59b87cb753724ed0e159fa4709ac018a31194247a6a9c65443a35ac36e11bfa6a8559cf20e50116ee5fb3780fa03dcaa77846b18c04894e50486acfc3b8feabb8cf860d79c2734a700ab731739244580653699b51b7fc440b8cb1d6bb1360291bda5b11aeda3c77a25b40f96763a372512561e0d52848fd6a3a8241dea49c4c24692cb43aa22067072fac2dff7898f298cbae17f9ca68a132321932295161a1f31c178932004d17854d7d9c69f6640ee216747102280191a5695433763b6cf3b86756aae22a37f9f6920c361c2ac68a7e11c8f5505af2100651595bff5a35b4ec7538b62289dd1204db91ac492b610538c93eb5f2637ad97dc88f0035ff3cb735cebac9be7ca78a4149cf10b6d93283050167e737596b711a9f32a0f6909975055ce6632f4b42cf9a2361cf69047b5bde1868dd745a82cf473ebb30d86a71793364f70b1255b1c2003f166683c936a7977df156a84051e69b95e02616dd3090dd38086ef3bc12353bad25377618965c2810fca929dfbf46f20360fc847818cf90dbc044eed16b3b9052c5c70a5a430441e53a5527a689f49b35ce82b84d6057c5269fb60c710c5731f431a970b86431125910277fa7c310a2285117b47b95054e4174a1eb11da3e3c26ac25619d36712b11b2ef7405bcb943dba10d50c0436b50de5b04d96488a38f53df37895ac20c10d959d81a29fe1f319ff871831d93c54654172a02e65599f9d820ab037438e62714be6c7d868b66ac03c31c8753a062318ca36b6e59d340b9696d47c38f115104765865353a05c8fbc4b0a62a96577e94c17094de259006f169e75b8919bb4c37df6787b59bec8fac999a90b73123a5cc8772ad67585c879ebe05b5c06afdb440adfbc4ad400d0e634822a843e9b165f2f0bb748e231c0e0ceeca8806046b5dea7cac614a5e2cca3767556448785dbc739caa9c58fac291a0bbe96e9ad36a4a1d9c96939603bcd76a81c040fba27a5a39a1c387cac9d1b086e512468d378e96039aae2622fe5483673850d411ab64b892f2c29853822eae76feaf5716a660b55c2020dd3323a150ceef9ab79925d2bc09cc6faa31727a5912a7f5e9051f8b94d8866c4da173d3f2a388e6c44218338cb85702cba2f602c24e1788158b0129e7c15dcf2cc6ed55c54b456cacc07d179b432a5aa63e8ac59f0b6979a833d99c13aa0c56cb65928032e2f30583fa6c038748ceb77a91c631dd09b575f13126f1447cab00bc9c85fc7601da44ac5fea5adcbb599a409bb1a67b24ef438d750bf87a8814df22449c9256da1286dc623e81546c283b80cc88c48f003678ab35380a6da551ac7041cd5112d59d15a80032c28b61a1bb3b8a7267adf4662b5963468b3bc5918418f980cd7db3946c5a67f864dc1f3adea12142fb71fda590e070007662b5c3b8b31af169a092a2e466aa01ae879641bc4d1d62523ccaa3ed436cc089b2621456114215d1a9eefd1016dc81d5320956fd942bdda40f3a033e5170ca6a2c57ce17eafc97aa0959cf37b92e789636f159faa827ddb895553540d52a61edc1b3dceb22a7231c48037cc78594718902333d0bc4fe6b29352991e2ba5d31217457007057b9d3c07c39b7c7eeecc222d4415d6d9272ec50b81520bc607592947c86d2612e434c22513235536cd08f10022b97675b89f1de58130eb6797380f6b68773dfbba0664bb7caac84f7b06711587c6ecaa383505f62751c8346bdd502a58e9326e4a0d2d29226f794ad0064b2cf0a56e6a67c18b331f5537d2fc6c3aeb52a5c3313118cb7d159b8372158c1a7bfdcb65d426458edbcf8797383e272d3b18bee68c4d74e25751ab1ce4567d66b714cd62a8e9b886baa812a9f50739e30f296791414727d55003bcb52ab6bb74cab215b348ad06f974192cbd61576baffc815999ab8556583024cdbd1c4398f4a4ac60e8cb68627382a145f91be9d78fd51ba5e3fcbc3155b62bc07751dd3dbc65b722a8982d058e27d409f04f744551ecde9015b62607cf67bb8ececbb8d5a45a4ced06403c5557e87113cb30ea3dc2f39481734de9e18bcbfbecc6719f +m = 8ddcc956a19e14e33dd2f1fcc4e6aa816f299f76cbf95b962a0535a7e2949405 +ct = 6b9a9197d340d1c9d1cc00dfde064753f3df484966ce3a1b0b75580811996134269f12773ab4927aac3f72325b2d3d30287fc7fb9b47a797a95156a1cf36ecd98ed729753273233475aefb02ea78d29510bc5ed1a896be4b03fb80e0b97e687d79ec1a84be8b94663aae60af47c9ccd9032330befd68ba26100a05197589746f1d7cf35d3924926e264ca5d401ab7d4146f8ddd35271236f878dc9c79ec6119ed3da0cb1021aa342c25f73386804ad116d2e206735734489ebff90b01d220c76f6fdf40a40320f645f28c01b2c03f91bd9597e31aed82d1ae9b0754f7c9a8181e7e5ecb8b89b246f16e7414615f69ca5ef8bb182ea721ab094301946aa2264130f61402b2f74e95725b1c8a3d5dab2bbd17381fa89716221098ce987b136e4800c27723fc8dd64ef8ddc087d11973952766a4afde4497cd11fbcc266854b33975f73b1928c06ab7e5f78afaa3a69cd21101943e4155f5444bdee0eae7723b01328686179ff3674ad0c8526d32107c0630074e4d54df2dfb80363fb86f5daa3ad3616e7faef1bb89b814e5316e07de2c006289ab950514646ca5e73e29ac85821269f62100f07fd23de481a516ce406a42444e79fd1c7d9df45ba6d3f8643b76e277e7062108bf417e732a5fed82eeb477ca881a82b6a1e7c66ac5e39a1c20e9a86b8c3bffa6cb127eb49baab68549939c1a96ba947ae89d685a02c9d2c8b26e843bb02d5639a10bf3dc779b3e08e1b9c9cec7bbfbc2f926b55420def878aac12579c0bba21ca72bc9f2fdc48051151f98fb5ec126600ea683b601585e2861a40bf79295d3aa5b1298084f508869da941604d09433612ea06d0cfe5390af1a4a20716ab09c99cf3bb80d2ad16ed7d0c639ada53822e571f0015d16df04916667dd7fd3442e77d3745eccb03c779fd8ddecc7ab0080e7a999b5fa2fd36bd083ff15e3e9bbfb0dde88182e2ffb222ab6873f6624bf1ae121030067675647e40e3527d452a7260a3f990e99b00736ea1f73234c66b01d76723ea456b8282565371b891bd8ee171130f67b69a4e7900048ea6676ff3f1977f35d4c0df6b3d7dea8f9f4e5e4229a949188215b62c995e72357eadc3043be96b3d7e528f3e2d82f904a7590d0733fbb75a3aa7e992b9c7998b85d01f52f1fa7b07388506daf988edabc320020153b962402131e0b6718bb1d007795d132eb9f7edc2d317cda9273da7f6c220e3a02a33f4c9da477031d360240cb35b75ced7053b8da8051a6a8e362a79a0f1b7622dba415bda5163f20c83649fb38d10bf6ae89d186a831401d5341fbac2c70b3049ce25044cf46bcbadcc03d9a8c7b7aa0977036180c090ae2b0b785f0d64174331307b7532b0d99485561a4aa10fdcad900509ed778ec1133695af7568022bdbcfcce960d31c13eac743772fca2d906732285cd43393dff6847afbe9b81cb335c36f1132ef6dac14e3816f8e743461bb16c17368804cb3f14dfce2c9887ba73eb798f4edca596a858f1c52c50ff14d30f2cb2c45a59cb8d0c29f7013 +ss = 57d3c28b11497bdbcb6cb8bd09e459292f7904e1f78fa5d2b8dbb33b23b21d9a d = 050d58f9f757edc1e8180e3808b806f5bbb3586db3470b069826d1bb9a4efc2c -z = de950541fd53a8a47aaa8cdfe80d928262a5ef7f8129ec3ef92f78d7cc32ef60 +z = 3e0351bdc8a2daf0258645c383021df33fe59b553a8270c1b7a4d0af155999b8 pk = 25949faea67e908040a25908a7e33199d586f22a3cf5a7ac49ea41bf83452528c7f12118e0685b09d30947ac76f4f72e89bbb7579bba13d3cd4e262fcd385eeca8b780d7b6d3343ca7ec1958569c49808b97586c263903989928ab9b63efac00b27037637897556b8aab33198c144d226ab9284541400138e03a31f10cbf1cc4bf633c3ad70c65218c1b18770c91d139971574dd90317a421b8bdc56c02c2564b2496793a27a12009ecca141aa337e911f0b448d913394ec1abbb46a568ba749f0fb0a2c4562637a220225a0afac0e9a53ca4f506391d7483932814dea886c89879237a95c03684cc0c2d2701b40e5b3a340316159cbc56bae84130f2fa830501257f8a8948f482ad194ccd4f6ba6c01bacc4c1b9c3188c3d002f8f18f62393b373396f6c510308b6754b8ca81f53d5a1512ffc3428a6c2a543a61fe1193a86b97b260339fb43a9f0375b1c2c62ddb4c1f6629db701b2d2a50577cc7d5d55a30766400842938d83a6818a128310d16648614a6b6df6b5d8d9a8d0ea4a127f4233b9a50ba539f5f01b62513a5c7bb8ead8463c0a346252c94f753a34751b078a06dd785ac6532c2730caef7249515514f8e18713c2a72d8949de781c698e708deb35448ca1df99b8e09ac4faf694ca71b7bd41bb7024c0435424831424f680a77f13506a56c97b6966afac4b90fe60bf5e7507e6a7093c47b5f8ca47d86c767455d645c502d82cf5b1ccd8880758bea855dc71b1c98494862030202c06b935125654ee498a7e7f37254084aa1795484fa77926c8b438592f4d7baab58978329cf12f461b1f93aacc7117980774e12355af27e506a2ac63c4abfe585b2123e2404b9ea9753fa101604663d07e153c07b743b23c56b86a91ca34111803a1f5865e47807c012a81885104495499884b495ea3f457a2ae1363221b2a94be84e27cc9e8bca44f8fbb92746821782b3b92b1bfe87127f34076bd4acabf60e4f9b97a8f63008b584d0221af927c67d616bb9933be9486e38d7befda11a27175f670600041a6dbf0c9a4364b3ffd28eceeb0c8077c3aba19c6123a20ca72c0776aa8e21a582168591c7c1eb146ba820c9ea1aa3374625c8744612bcab37250ffb34a89d305c35169660dc9b09f7c960a4c4450b1a2e56088e8605fd75a35eb620c3c90b93fb001e03c006a15b67136ec1c354d405a61014821fa9590dd212cc6095dd011bd8801a10f08f15da21c14cacfde606ca02b7e2e1483e3514cc6bc88c2987587458d77851e476aea14a94c176a4eaf865d58c033ba2280ec0521bc53dcc3772d48258593a5a1f9974228652b8cb4a08296eeae869c733a316d926d400cbb09a2daf532da06522da9694cec2a29cd4c87f6a6c837c6ef6182a30548afdb807bf447953a3827db3122bcc7e33576a33a943492a61f3625dcf412793996c664a4664b3666c154f90b40c3ec514c4b1a2d265a23b897177342b76c69637d52e356620f468480472923313a658683566dc8f8fc1079f248f9d8ac67d4ca703339ae28a86edb4bc21db231dfa970249aeb1e2138bd4791352151520a73b0792a0e77d4967bc8b46740cf5599d4056f382c9006b79938825dfe2806cb6afe7523d940792782d978970256c691434f939b02c14f42b1874087ea68917c2f3e31315e22581 -sk = 548a01803a231ca63843872abf16b2c4b9ab7407a093b354f8882c6775bacf2931de0a501c5a7ea7ea5c3baa067290b9fca059d69cc6de9b772cc058470544b64b11abb77f490746384b83283740f0702e17d046759b61e75030f187c2283045b22b4f9e222ca44980dcd0a42e5704504bb3e097cdf93a99f057ab21e3ac305666710c3b4c1b750aa3ac0f00a6f592770d8082f6157addb170a956456c7616c856657835970578b35fa87d8f79c2ae54ad36823c6a13a4207453ff324f17d13d43a400a2102b6f6224e6f2132bb14a32fa3f10a446d7944428b66e0e0a04b204c5993c03c294927c60540f836572793c8825376332b64d109bb7273147a878ff0b0bd2808b62104515d0824c90a4e249b4ec8c0f6b572bb621b7a74089de4b49eac5a3cfb61a5d6b420779a29e1c5ae98ab30e01a0b45538c9a14ce61c4dffa27a4e462757a3bdf00c0206c5bf5233132c47b7111771daac633e22132ae82cbd616ec92b4e9d1c88e7285b84d9a12e14897a020c06832e9cab42102ab999838a93a77141d12ff068ac13dc4c685328c7036ccfc2087bd92ca5a675cfe40ae4c32b28eb770da04234a456eb889ef92a93a0d3ada8061599d99cd8a96880a2b5e440766a9c81e7a24f14c295283c333a0576b49c569c99450f8714160c4cc49828090bc2ca390094e14bd6a3011a5c038f0927fb4bad38440ea9f96fee99141c564a91f9c86dc72498f89d05b047461699fbba62ec28698e273e2b8436a6eb8c9c094d3404853a45137881c691352f6240abd2298488299331cc03b1a3106f242d2871525587888e448d0f45a61480bd7e377dd5b63e143093fcc8bdaa563264baa458649ce7fa5826e4b9b49159e7541d432143c5093a2a5bc5b835535fe7395ec556bd467a10975ce26304bb892d056a6ea4c5ce08d033e9334cf7f6750cb62209ba21f6b147ac875c3f1195d9d991e333c7c25465176b8a566a71451b8305f35d831a36c57c64b664c707f3bf08b54ff3847f1ef0ac4b32ba7d563af40228b2957b8a95063a65bafaf86609b4bfe1127c029c2eb224465e1c178c74cb5db4c0c2aa46456761ec4a528ab2bb8f92c120a1b78a9517a29c8ee408ae7fab4fdfb1941cbbae4c3630f407a2c23c4d10a58a8e64546727153d61766d0242c5132236f637b7323905f4a7811c1b8019a808946c11a54f8ca6c16e06ad9a685edb094616a80383a79e482c611760c249988547194266000722743346d13c80f72117c25cbb48490e05789c6a5e85ecbfbc73669f249c10a12eca037dfd15994cbc450eb40868abc2fea05b5058429b6b04dce2c4e2630a13dba2bec9be9c30b9f90b45a97040a1f227200ccb4a4413c8b0c5b169830d451bc7993eb3d5b4d914a02c3183b7423d61101b0e3ac0a2a18673126f69511f27ec55e28b975e22a8ce800c37473cac71788a42cd39c26c176c9c255c4355a62c0b84cda33819a1ab6c07bbc4f2847aa23a600829cd516485dff565de9c392791b84bdb4580326f5128556d160100622affa2756e1cbd0a0a1f217a0c198a6dc043b1c50813bcfb3c2488a5c02c79393b65f39990b610274fa77b814ba93784562e0794c179549ea0927d9b4a25949faea67e908040a25908a7e33199d586f22a3cf5a7ac49ea41bf83452528c7f12118e0685b09d30947ac76f4f72e89bbb7579bba13d3cd4e262fcd385eeca8b780d7b6d3343ca7ec1958569c49808b97586c263903989928ab9b63efac00b27037637897556b8aab33198c144d226ab9284541400138e03a31f10cbf1cc4bf633c3ad70c65218c1b18770c91d139971574dd90317a421b8bdc56c02c2564b2496793a27a12009ecca141aa337e911f0b448d913394ec1abbb46a568ba749f0fb0a2c4562637a220225a0afac0e9a53ca4f506391d7483932814dea886c89879237a95c03684cc0c2d2701b40e5b3a340316159cbc56bae84130f2fa830501257f8a8948f482ad194ccd4f6ba6c01bacc4c1b9c3188c3d002f8f18f62393b373396f6c510308b6754b8ca81f53d5a1512ffc3428a6c2a543a61fe1193a86b97b260339fb43a9f0375b1c2c62ddb4c1f6629db701b2d2a50577cc7d5d55a30766400842938d83a6818a128310d16648614a6b6df6b5d8d9a8d0ea4a127f4233b9a50ba539f5f01b62513a5c7bb8ead8463c0a346252c94f753a34751b078a06dd785ac6532c2730caef7249515514f8e18713c2a72d8949de781c698e708deb35448ca1df99b8e09ac4faf694ca71b7bd41bb7024c0435424831424f680a77f13506a56c97b6966afac4b90fe60bf5e7507e6a7093c47b5f8ca47d86c767455d645c502d82cf5b1ccd8880758bea855dc71b1c98494862030202c06b935125654ee498a7e7f37254084aa1795484fa77926c8b438592f4d7baab58978329cf12f461b1f93aacc7117980774e12355af27e506a2ac63c4abfe585b2123e2404b9ea9753fa101604663d07e153c07b743b23c56b86a91ca34111803a1f5865e47807c012a81885104495499884b495ea3f457a2ae1363221b2a94be84e27cc9e8bca44f8fbb92746821782b3b92b1bfe87127f34076bd4acabf60e4f9b97a8f63008b584d0221af927c67d616bb9933be9486e38d7befda11a27175f670600041a6dbf0c9a4364b3ffd28eceeb0c8077c3aba19c6123a20ca72c0776aa8e21a582168591c7c1eb146ba820c9ea1aa3374625c8744612bcab37250ffb34a89d305c35169660dc9b09f7c960a4c4450b1a2e56088e8605fd75a35eb620c3c90b93fb001e03c006a15b67136ec1c354d405a61014821fa9590dd212cc6095dd011bd8801a10f08f15da21c14cacfde606ca02b7e2e1483e3514cc6bc88c2987587458d77851e476aea14a94c176a4eaf865d58c033ba2280ec0521bc53dcc3772d48258593a5a1f9974228652b8cb4a08296eeae869c733a316d926d400cbb09a2daf532da06522da9694cec2a29cd4c87f6a6c837c6ef6182a30548afdb807bf447953a3827db3122bcc7e33576a33a943492a61f3625dcf412793996c664a4664b3666c154f90b40c3ec514c4b1a2d265a23b897177342b76c69637d52e356620f468480472923313a658683566dc8f8fc1079f248f9d8ac67d4ca703339ae28a86edb4bc21db231dfa970249aeb1e2138bd4791352151520a73b0792a0e77d4967bc8b46740cf5599d4056f382c9006b79938825dfe2806cb6afe7523d940792782d978970256c691434f939b02c14f42b1874087ea68917c2f3e31315e2258194391b7a41175a41c15cd995ebc69c83b29e4bcea6c186611dc4a79578e37f4cde950541fd53a8a47aaa8cdfe80d928262a5ef7f8129ec3ef92f78d7cc32ef60 -m = ea74fbc3c546500ed684bed6fe3c496d3b86d2d6dfaf223969b942e9a8c95e85 -ct = 82a0e7aff4a571bcadc4f8379f16660071ea01b9db2e2f8b4792a099532461e924be531a9334d56a47380a66dcf49a91b7cca99b6522cd273326fba64569cd2543c488e95ccf27e9ccae17b14ecf68c13a94dd7901f7ae15a92e1c7b499dd79dad5df3b789cec56581b33a190c6ea00964bd9812ec9b06ddff1feec5797320d98eebd856a42b87fa94c0971b62a79ae6cd1900a706417ce9f47b8df31e055acd1d852e6305e607ddff39092864d9d39d456aba08a104ecfdb3e5abc9a75a3072d72c59625984f38c63adf8e617caa5e4e45cadea8339a9f8fa6c8302fba5f20b51cef477b56f537c0fc750526a1eafb2a424a727945dcbe1809d14544856a28702046e319f5f8159694ec2fb9bc545ba1dd6cbfa514a196f556c4884030aa2e7c5445987073a882bb053ddd48fa3a4c7ee0787f15a3e175976688e75358460baf148118336e54c34052ceab04c1cde9a177c655777e403af016a147a4236e2715f8d03639ee81f57b318d458df85de4da2f8def589a7691220593692c12ee7ceecad2aa996845889978c7bf0475f72bfd8a8dbebbe2702ac7f60af6c40abeb30de0adaa583f62978e085954362a98ca1d905c7c8bbae08346c6b5ead4dc3e37146c75c8f546b14f52ea0cbcb26e3945f4925c54eec227f8dc4f1dbb1a3332c47fe9cc04f7bf87f0971193b12325b72f8adf3246c3ab847c2f2f84161b773b5600cae25a4b624bccdf9f889fea70142880b15047674ebd974c6442c13cf0cbdd9868f8ef0af7c0de183edbeb49d56ecc26620e6f100068f303f949a8280e370bb81f5a31e3141d3005e67bdbe3af409b898039ca038ea1478adb3c95ecf88adc1f9fe9251ac07ba4214ef8e6b25312d7267fcd612c893ca8d32c0f07d6bd929815d399e13cbfed2745d31d2c783019cabcae85ca659f68498e4d0bcff75804958c1be7c86f102d12c0f05c56f59646dd1c0dbedfc65bbf8900ace1861d98ad20e87a2e1599f6cd768385c85ed30867a43f44dded91f2593e25aa9d8481318c3546875c8e95ebc8dd29e3112293127d02d2921f30fd2c377be89087e4222eee4d793d1d9925bf28981ef52ad688516251a2ef7aa3ddf34b6afdcf2c92bbb197fc7c4882015f836e99c9bba1e310e25009c1fab7137312deae24ee1609d59b46ddc4fe5c13202aabfafc92b8bd5aafd6ee9ff7bfc6a5e36f0ac30e5884a84b6dcf601b4bfab2948efeeebc9de0c90ffce407923abf2407643d6c1b1860b796986bab3759e08a42208e96f179555fc97b933c4f759f38f2b648276a31bcdb7ff698ca966b5b182ca6c29c2ef20daec7b510eb8c79fd20e33770e6192941b6084b7a7a7fb254c332f3337bbbd6979b5daa682d36f707efa44785098b775f38f1da67686ead81ee659f211c4d547db678729b223cff0f487f7042ba788f9add7daa2122a939d76203472af237f81bd047d6d9449e57a5ab8c3cd62ff88dab360d8b2b3813fa36de70f69129e112db46ce8ce8a59241cca8f207c4686eb27dbaa22b901 -ss = f9a2d73f0a81b5829e7c7cad8fcf5f1ad55b384b2427c288bfbf4c29540f1db6 +sk = 548a01803a231ca63843872abf16b2c4b9ab7407a093b354f8882c6775bacf2931de0a501c5a7ea7ea5c3baa067290b9fca059d69cc6de9b772cc058470544b64b11abb77f490746384b83283740f0702e17d046759b61e75030f187c2283045b22b4f9e222ca44980dcd0a42e5704504bb3e097cdf93a99f057ab21e3ac305666710c3b4c1b750aa3ac0f00a6f592770d8082f6157addb170a956456c7616c856657835970578b35fa87d8f79c2ae54ad36823c6a13a4207453ff324f17d13d43a400a2102b6f6224e6f2132bb14a32fa3f10a446d7944428b66e0e0a04b204c5993c03c294927c60540f836572793c8825376332b64d109bb7273147a878ff0b0bd2808b62104515d0824c90a4e249b4ec8c0f6b572bb621b7a74089de4b49eac5a3cfb61a5d6b420779a29e1c5ae98ab30e01a0b45538c9a14ce61c4dffa27a4e462757a3bdf00c0206c5bf5233132c47b7111771daac633e22132ae82cbd616ec92b4e9d1c88e7285b84d9a12e14897a020c06832e9cab42102ab999838a93a77141d12ff068ac13dc4c685328c7036ccfc2087bd92ca5a675cfe40ae4c32b28eb770da04234a456eb889ef92a93a0d3ada8061599d99cd8a96880a2b5e440766a9c81e7a24f14c295283c333a0576b49c569c99450f8714160c4cc49828090bc2ca390094e14bd6a3011a5c038f0927fb4bad38440ea9f96fee99141c564a91f9c86dc72498f89d05b047461699fbba62ec28698e273e2b8436a6eb8c9c094d3404853a45137881c691352f6240abd2298488299331cc03b1a3106f242d2871525587888e448d0f45a61480bd7e377dd5b63e143093fcc8bdaa563264baa458649ce7fa5826e4b9b49159e7541d432143c5093a2a5bc5b835535fe7395ec556bd467a10975ce26304bb892d056a6ea4c5ce08d033e9334cf7f6750cb62209ba21f6b147ac875c3f1195d9d991e333c7c25465176b8a566a71451b8305f35d831a36c57c64b664c707f3bf08b54ff3847f1ef0ac4b32ba7d563af40228b2957b8a95063a65bafaf86609b4bfe1127c029c2eb224465e1c178c74cb5db4c0c2aa46456761ec4a528ab2bb8f92c120a1b78a9517a29c8ee408ae7fab4fdfb1941cbbae4c3630f407a2c23c4d10a58a8e64546727153d61766d0242c5132236f637b7323905f4a7811c1b8019a808946c11a54f8ca6c16e06ad9a685edb094616a80383a79e482c611760c249988547194266000722743346d13c80f72117c25cbb48490e05789c6a5e85ecbfbc73669f249c10a12eca037dfd15994cbc450eb40868abc2fea05b5058429b6b04dce2c4e2630a13dba2bec9be9c30b9f90b45a97040a1f227200ccb4a4413c8b0c5b169830d451bc7993eb3d5b4d914a02c3183b7423d61101b0e3ac0a2a18673126f69511f27ec55e28b975e22a8ce800c37473cac71788a42cd39c26c176c9c255c4355a62c0b84cda33819a1ab6c07bbc4f2847aa23a600829cd516485dff565de9c392791b84bdb4580326f5128556d160100622affa2756e1cbd0a0a1f217a0c198a6dc043b1c50813bcfb3c2488a5c02c79393b65f39990b610274fa77b814ba93784562e0794c179549ea0927d9b4a25949faea67e908040a25908a7e33199d586f22a3cf5a7ac49ea41bf83452528c7f12118e0685b09d30947ac76f4f72e89bbb7579bba13d3cd4e262fcd385eeca8b780d7b6d3343ca7ec1958569c49808b97586c263903989928ab9b63efac00b27037637897556b8aab33198c144d226ab9284541400138e03a31f10cbf1cc4bf633c3ad70c65218c1b18770c91d139971574dd90317a421b8bdc56c02c2564b2496793a27a12009ecca141aa337e911f0b448d913394ec1abbb46a568ba749f0fb0a2c4562637a220225a0afac0e9a53ca4f506391d7483932814dea886c89879237a95c03684cc0c2d2701b40e5b3a340316159cbc56bae84130f2fa830501257f8a8948f482ad194ccd4f6ba6c01bacc4c1b9c3188c3d002f8f18f62393b373396f6c510308b6754b8ca81f53d5a1512ffc3428a6c2a543a61fe1193a86b97b260339fb43a9f0375b1c2c62ddb4c1f6629db701b2d2a50577cc7d5d55a30766400842938d83a6818a128310d16648614a6b6df6b5d8d9a8d0ea4a127f4233b9a50ba539f5f01b62513a5c7bb8ead8463c0a346252c94f753a34751b078a06dd785ac6532c2730caef7249515514f8e18713c2a72d8949de781c698e708deb35448ca1df99b8e09ac4faf694ca71b7bd41bb7024c0435424831424f680a77f13506a56c97b6966afac4b90fe60bf5e7507e6a7093c47b5f8ca47d86c767455d645c502d82cf5b1ccd8880758bea855dc71b1c98494862030202c06b935125654ee498a7e7f37254084aa1795484fa77926c8b438592f4d7baab58978329cf12f461b1f93aacc7117980774e12355af27e506a2ac63c4abfe585b2123e2404b9ea9753fa101604663d07e153c07b743b23c56b86a91ca34111803a1f5865e47807c012a81885104495499884b495ea3f457a2ae1363221b2a94be84e27cc9e8bca44f8fbb92746821782b3b92b1bfe87127f34076bd4acabf60e4f9b97a8f63008b584d0221af927c67d616bb9933be9486e38d7befda11a27175f670600041a6dbf0c9a4364b3ffd28eceeb0c8077c3aba19c6123a20ca72c0776aa8e21a582168591c7c1eb146ba820c9ea1aa3374625c8744612bcab37250ffb34a89d305c35169660dc9b09f7c960a4c4450b1a2e56088e8605fd75a35eb620c3c90b93fb001e03c006a15b67136ec1c354d405a61014821fa9590dd212cc6095dd011bd8801a10f08f15da21c14cacfde606ca02b7e2e1483e3514cc6bc88c2987587458d77851e476aea14a94c176a4eaf865d58c033ba2280ec0521bc53dcc3772d48258593a5a1f9974228652b8cb4a08296eeae869c733a316d926d400cbb09a2daf532da06522da9694cec2a29cd4c87f6a6c837c6ef6182a30548afdb807bf447953a3827db3122bcc7e33576a33a943492a61f3625dcf412793996c664a4664b3666c154f90b40c3ec514c4b1a2d265a23b897177342b76c69637d52e356620f468480472923313a658683566dc8f8fc1079f248f9d8ac67d4ca703339ae28a86edb4bc21db231dfa970249aeb1e2138bd4791352151520a73b0792a0e77d4967bc8b46740cf5599d4056f382c9006b79938825dfe2806cb6afe7523d940792782d978970256c691434f939b02c14f42b1874087ea68917c2f3e31315e2258194391b7a41175a41c15cd995ebc69c83b29e4bcea6c186611dc4a79578e37f4c3e0351bdc8a2daf0258645c383021df33fe59b553a8270c1b7a4d0af155999b8 +m = ded872c12331243854d57fb85475e4a45d85378aa15cc73dbaa11d6c3ea9a080 +ct = 31f9781c89f01126791ed356804616be0775e2b9a8b9e7c587dbde8d92ea0fe3299cfdb51d8e16a8fbe67573e7da19f3231dd795f31615e683b38fc1966cdda46534b9e6382d660e1e2407183b83a4bd6a932d73a43ecd21629aec31c1340709fd7d096ff1479e3c2c5d877e2863771bd44fbb27946f1679dde4b8b54e2fca0d77687a6f99d50d8fe06dd12b4f1877fa98a20d94b6197f601cdd9d69cbd16bdf1c425e62f921c2ab06605e9574ad7a7957991cafe5bc3b9ebf971e7c56f19e6cfbd904f8c9b8c8a606197d083f139befd23b67fd061da22deed51069fb145a3b6d1911397c2145b0f7ecb37297bef627b879af2623e0d7cc10e6e01a3f99fe68fe9a3fb4c26a4db4c0ae7d41fa7c269434d2fbfe08afa5bba5b046deb450eca6c6dfa15ae66c69a4f09249e344b541e7b664bdcf14d26bd3f5c941ca6f0d43581826db15750f5e8d4a76986c94140a91a77badf719e802b7610f6b6c30f36b8b19a9deeaa235e4482b13f29075b1060c5a33bd1ed707874a3c456ddd91caee0212e00c48ed3a559ebbee72e29f7c11af0ebb1b1505fbe89be8469a8535a2bd6af6bc35c77073a56a8ed85703caedb5f9a1e18d398187282ae92aa73c7b5ab5e7b583bed808477be2d4f54c54ea118e1819d2df492e530fdb04fa2ecdac202835a80cc38cb5a13954a700b98e0c6ee96d6b8cf0f6d3910685ca1b02b7c7e7fca681a1efa1acb00ab76d70157adcbbf02dda0e0c94061bb14b1fdbdd4f5ac7b4c41363a946795488d9a2c568c4919bee30f791923c2f98eaeebb088287a5d5c0adaea8f70d0165ee29e2cc5e2f5489c8b3a8586081c7c40980c5d1ca7441612f1b4bb69b25435b34006fc12470746ec3c7f880a2ea223effbf41bb459dd92eb87771edc768718c5ef06d658f5dae7ae6afc613cae6bf58c8dce17bc256408d364835c8ce0d948a2583567fffa2c8f79aba7df916f3f661c4160e8387eb6826791656b4a06d05f7e760e5dfb9bbd0639e95b6a815f8e2eb909fe18004271aa40581a46f3894865005abc214d3afc6a3ceef4a383ea1f41301ad1dd71b9f98f94575119fe1a8525bf2515d1a8d65015733eb07ee0b6f218339654da72cd40723db6f209dd1fe94432b598131d8da4bda11166675871d24413c9cf4a390dac5f680ba007923a70ac2b3268e541887f6bffc2c00ab351fc34f9b5764e5ff9ade9db5e484ad6c91f34386216f9e3fb0910a8a1fda5a6ef5133d99d5d08ff5c2432792ba2d4da18e62dc0716fd4a45a6044f024842aee218f9178469585243d4749b09337acefd3cde97e6d99c3475ebb1b265271683e2696574e46f4b314169e0a83a145c47b5101d20b56c3d89576b44dbdbffc5d8deb8108da185ba7e4eca97f3dc0217c27fb2b95823e805f841ee83a9d57ce50c86172fb4b8414ef4a0237583066202290a1fa996e85f043a6fb07ae170f65ff18ba1a4e4c1c7b0eb8abbfc09ea0e8c340a19ef54bdc5ba34b82eaa71e2c5906dc8a6d36e2ef6fbaf9d9c91d28580 +ss = c0858517d0c27b05325599951912324de393470811c6e19d99aa9e4ef4f0807f d = 66b79b844e0c2adad694e0478661ac46fe6b6001f6a71ff8e2f034b1fd8833d3 -z = be2d3c64d38269a1ee8660b9a2beaeb9f5ac022e8f0a357feebfd13b06813854 +z = b68c0ef1663e52e24c33090ea8f4f564d85daca610fd7c2d5756d7d882408ded pk = eb14cbcb226951857be4b3bc2a1b578b148e824a2414412a3d57c8213793c418bf2e0803de4a16eb9c8b5d53718d38ae40299b89793f14741792bb10d9c21d5f06633aa3cf1cc78d0dc99983076f8756b2f96b2095e0b812160fbb9494038a88057671dc692f14a956d5e6565ff752d28237c70b8f8528cb1a04cfe5e6495bd3b46a3264fd7364e0d54f2ad27dd27b022efb3d3a632a7f99551bc3317250207f2658f363164a9631a34b468e9b3c9b34b27a3a02fcbacc516469f69b3a51554b93e05fd6dcb098e8af8a3681ce89548ca311e2f5421ca1496a532366435cfd56a26a245ba68655db99cd113c1ad1170bab16a22bb3399e45c6a9ba45b5dc5da04a426c635c844744c557af7e49ca12437cf455b302c037bab4954627a2363020c4ab5ceef5aaf2e352ded62fd6a52acb70c84723a527ba34f179204b26ac10692822ac66cc56bfeceba65c33295fb805c596a48a0c59477405c21ac3edd2c27e56c19bc84d710584ade48647c681746038ac74ab73591fde872ccdfbc3cb1218fe12acbfec9248c00e19424b1fbca70fc5193151aae1415416ba2d7faa6a2c745cdedb94295438bb182dadb77182b2be5bd1ce0cc028b7eb71ba8cac8585cba3ca01620b63fc91bf3c210f67c65c92f893fc616158c104a5799720ab0fd907798f0678746475c8502029865dd653209a39c0c362258a266b1b244a4f42b4adc1c6bf602fe61125c3b989c018c0a0e0c73e35abc97c9ee695cd265909af82548b865eb4238376a6ab53a6baef185799489f64e200fb542ec3d1b42e8b3960e02730936d620360ff4570b4079b369a83629b599e7b27ff48c37f727a4f93bbb2d4b7e1c73fc0d6668e53c1efe0a0b547b1f38c51f4001654f45bf0e5766ca1c662f2cb99a6bd42a17f89c80a4db03c990a81ae9487e1a52c13720266083e152061aa08c03a7a703de58251f129546a42282515a3e27195ca97ceb39b00566cf4acadaf320d5c88c75ff310f10bb5ad738d38aa47c945235e1730b6cc227a194dcb04ce046a22c37319d910060b594bf8a64f2c4b8f26000031948046721e6546893a341ed2c32804149954e3788ea5054c51a43da89f9c789eda6727bdd4be32b15d47b9c327ec68422813b00950bd73c96c7175274a5ea8bc128a7c0993031b4e8a5d3c074d2d1abde8239d5af58c06509b24109c84297e3feb447fb3926dc19f39211119c4597711a222b341cdecb0698580e422a951db2305d4a7a871967db945a60439de206955c371ea52452f865da438130d2b8eab3669a97911258b08931a2e36c6c390b6845e8076a0d621d7692971ba71bda0b8aaf7ba0ad3c4f05ac23621a146c68bbc501854062b924c3a64916a1b9b19ce5b466f8672ede621ea987f83495106dac22ffab6f4a5cca797587126ce50589f68a2084875bbb505c7ff46922eb496da260e3719cdb2f23950455dc8d36e3932518bc11bfcc067ac533360b86550b6ad09e93dbb092be410721d48bf56b3594b93cbecfc785a5852b598425e4c4cdcc7cae1907adea5772276b2929b9507db5c06041e5f9846506055417c6fa091652a4a424bf6396d46365bb40601e3a55801b93a1ccf39126ba7f025a2467f6d44de229c527f6e4e7071cb826cfe76fea483d9163eaa84f6afac495a -sk = 944ab695c2345bb67894d451ea2a5c92561a5467c769352379950879899c9cac9d05e89cb2729b2bb47724923fca357623c69643569d66912b2f9b3249908090d4c5f68388a6141163c931df430d70290950b07de410af913c0e5a215c3059785ef05b824545aba0b95e7279d1c5726b59890b82131d5c62e8b3be33b8016ba0c321c248a5293c71eca570c9536f958b84663b1dd5bb6f272c3e201f014aa3ae05640ed92200274d45d9bf4410ce8ea72d680ace1eeb04cd8b002de72795db60681bc9ecd387fcea796ff7726fb29877f895e6832eb7eb179a5956499ca3bcf3283fc8489d494a88668e6614b1f49824f12a448b31a42861190ce3a9f73c6ffa25622d7a504e0694bb7c75ee71cc8e718ce9d57ac86a11721721e6181f157c333ae098f8a6823f765b60f0300f4733cf65240c779569620213b8a331731a7b31937104becc0995ef57255261ad9b246009f855ca82af2001b256760c1543074d70b3c578279b35137e16ac2089a4c60038b8671d308964b68a2211187154746c27f59c8105981c8c7d0ad58717978c01a66b5ee1697188bfaac9b927822c940c5380409f38459f5b302cf7dc9d6bd823a0308b0da45c35d541d2346bae4173fb0c677eec26a94c4158b28d4d7b4b0f62a4ab06bae0b42208b099a174bb4c482c7c321aaca49c4a517114a5cf408750e8588545134f83a67769cc6e0b413bb800c04093184625a7ee24134a721d5fb1571cd82dd1d7c5f9103e0c2c4416cb775aa28df48643084b391dd2caf39278e9a31d2254871b170ae1b60a4e39b1f5a8473f580c7153caa1369d8e9ca381660a57ca8d2523202816767ca8cac0914c16f1cec8ea4ea5da930e0403e7a876c390ba31fa250d946a2eeaa479888011db7942f7676a120338357bca38c4c95088a4a0884b8b4c14e9c09e831f8aa658ed77cc164124cb281f61856bd6c965b6b6cd60b1b1034888f3970555443f0f5cc29c800f578806beeb4730ab9af4b9beb89502ab48761e188cb9aa95ba06b28cf4b89c200b2145a4339a53406b6790a518f54902eba0230a8c2a45447125b7330f12645d935e00651cb4996e395543b7e643137abf3df59e042abd6fa11927062d73d0a107ba6fea0908ff6759a972c11e864ee7393254051bda558d4b272e6cb2c337747a7ef46f5ac872d5d5238521c09e21495ef98b59c22961e5a4967370efc4865f06a72a41464d37ce4dd1803bc117888b681d35195c857a47b764c6799a86e27327eb0403931e29f90fee8628aa43b333615bc0f251707024ad41a24e3c4f15b99e72f536dd989c0325225dc682e3611640d99c1552506e687e18a883f90882056c14385bc08be82616d811a4fb2dc93670945b7efa17593c4b7bffb76f9a805f5230c50b065dc77b409ca8cc0b7190aa61614c528af2d1ac130c19e4362e85a40693a87c00935a887b9b58699777453d8278c445bbc8d225412bda6fdf026207e3b207613d2ed74c085707edd555fe4c00b40b2a83aa219cd643f1d83ec0fc21bcf94fba6a8262d959c9fb345f2221082c40a1501c46c55082db2709230b04090558cb6d6815173525725d8cc0bc93c881c99a16041757d6a05ac71a15e887eb14cbcb226951857be4b3bc2a1b578b148e824a2414412a3d57c8213793c418bf2e0803de4a16eb9c8b5d53718d38ae40299b89793f14741792bb10d9c21d5f06633aa3cf1cc78d0dc99983076f8756b2f96b2095e0b812160fbb9494038a88057671dc692f14a956d5e6565ff752d28237c70b8f8528cb1a04cfe5e6495bd3b46a3264fd7364e0d54f2ad27dd27b022efb3d3a632a7f99551bc3317250207f2658f363164a9631a34b468e9b3c9b34b27a3a02fcbacc516469f69b3a51554b93e05fd6dcb098e8af8a3681ce89548ca311e2f5421ca1496a532366435cfd56a26a245ba68655db99cd113c1ad1170bab16a22bb3399e45c6a9ba45b5dc5da04a426c635c844744c557af7e49ca12437cf455b302c037bab4954627a2363020c4ab5ceef5aaf2e352ded62fd6a52acb70c84723a527ba34f179204b26ac10692822ac66cc56bfeceba65c33295fb805c596a48a0c59477405c21ac3edd2c27e56c19bc84d710584ade48647c681746038ac74ab73591fde872ccdfbc3cb1218fe12acbfec9248c00e19424b1fbca70fc5193151aae1415416ba2d7faa6a2c745cdedb94295438bb182dadb77182b2be5bd1ce0cc028b7eb71ba8cac8585cba3ca01620b63fc91bf3c210f67c65c92f893fc616158c104a5799720ab0fd907798f0678746475c8502029865dd653209a39c0c362258a266b1b244a4f42b4adc1c6bf602fe61125c3b989c018c0a0e0c73e35abc97c9ee695cd265909af82548b865eb4238376a6ab53a6baef185799489f64e200fb542ec3d1b42e8b3960e02730936d620360ff4570b4079b369a83629b599e7b27ff48c37f727a4f93bbb2d4b7e1c73fc0d6668e53c1efe0a0b547b1f38c51f4001654f45bf0e5766ca1c662f2cb99a6bd42a17f89c80a4db03c990a81ae9487e1a52c13720266083e152061aa08c03a7a703de58251f129546a42282515a3e27195ca97ceb39b00566cf4acadaf320d5c88c75ff310f10bb5ad738d38aa47c945235e1730b6cc227a194dcb04ce046a22c37319d910060b594bf8a64f2c4b8f26000031948046721e6546893a341ed2c32804149954e3788ea5054c51a43da89f9c789eda6727bdd4be32b15d47b9c327ec68422813b00950bd73c96c7175274a5ea8bc128a7c0993031b4e8a5d3c074d2d1abde8239d5af58c06509b24109c84297e3feb447fb3926dc19f39211119c4597711a222b341cdecb0698580e422a951db2305d4a7a871967db945a60439de206955c371ea52452f865da438130d2b8eab3669a97911258b08931a2e36c6c390b6845e8076a0d621d7692971ba71bda0b8aaf7ba0ad3c4f05ac23621a146c68bbc501854062b924c3a64916a1b9b19ce5b466f8672ede621ea987f83495106dac22ffab6f4a5cca797587126ce50589f68a2084875bbb505c7ff46922eb496da260e3719cdb2f23950455dc8d36e3932518bc11bfcc067ac533360b86550b6ad09e93dbb092be410721d48bf56b3594b93cbecfc785a5852b598425e4c4cdcc7cae1907adea5772276b2929b9507db5c06041e5f9846506055417c6fa091652a4a424bf6396d46365bb40601e3a55801b93a1ccf39126ba7f025a2467f6d44de229c527f6e4e7071cb826cfe76fea483d9163eaa84f6afac495ac5dbd68b3a8c148b2e7ac049bb986e14dd1cebfa1cbf3edd6bae85a4d2dda082be2d3c64d38269a1ee8660b9a2beaeb9f5ac022e8f0a357feebfd13b06813854 -m = 64efa87a12cb96f98b9b81a7e5128a959c74e5332aaab0444fca7b4a5e5e0216 -ct = 99caf6ead87c4258d41204468930f6669be4d28877f95b4e4e7f15f975e3f8f7cbfcd8d24fe79c7cc43154878bb576f31c5e59077da847b648fa8ea91a309cc32508b3d6a2a7ffe37b38901d15b489689d71ef0e5adfb052aabe970525acdbc79dc95ac0a62b7b151ae209bc92ffb4cd40002cd061e9ec8cc7b6d82b0340d798beee0c4ff22888a5e7f90d2782fbb07f4d980cc0126d7ccca78358c86d9e399625aa7e67cf6e9935d3b02948af9d4e02422985e5f067218b0682f576c3dbcf7143ac7452391c899c31f7bc2369cd4158af829a6f8ade7bc59c727244fe9eeb85fc20abc87b82b1a8233cdcae93d51bf7dd544f8324bacfde234ddc364909aa9451b8452a2f959ddefd14e055d3f09e8b9b34f43cf5f61227896c85ebcb76c25f66d78f2c9bd9a1b9ecc209030ec7a494c909337d3196b11e0ff8ec06af26f82b8fe3d95cc5efcd7a620c410358896d7ae138c5a35e4a7f56c2e1766d9cee5e3a883217dfb6ac66b014354384be3b8b36b29945755418558df46bbf07172f778128668449d0d42092e24cb530f77bccdbf9a732ea3d68623847a1a377b2d0cf9ab3e61440453516c76b7f8477eed10ce40f0c10d5fde3be9e20cf629d232f85d6744b76f8801e691ba9cde389bedb87c5683f47c031df57d17a0241707650bd78a753570a1df4fb30e952b000239a0eccbf75954fb6053e509aa61ff4607204175bf10f500735611053633a2e77e1e073c5b5da9c41c56db9a368a6f9b2fcbfaac2b899a487fb9653fef223a24d788dab079c88b47b08c7b300eefe66ba4a95ce44fb719b495c3f1530bb1b4d8ef0e940603d142a6df06da11c9cd06a983bcf834a1253d472bd5a344694cf01cb3a7a75a3954b6da6aa69f700fbb5a9c6d21c29d9da5622640e730d44dae3cba7269c9f7b5a822069facf10ec7710c89d56d92c56dd9e5048c898cd1a1ae0658db7530a27c9af44e55030eadb9b1ce92eb8129e5ccfb5ae7e3a3abbef6f441adc3bba1fb94affbd154b4e6fe014eef5863dbb3c0764d0f4808eb19f2e6249b809e1bb558eb8a7db7ef4cabf353b331f8f1a85160be83d34dca53fbf0c654d2bf2fb594bb2b26f9e6bc875542306cdd623638d8f36ccd98a4357c84c06cb8594fff92ecdbba23bc3ffb3743344c347b29106ff5014354011062ca7a1f7b2f0b4229ae5857a769b6c83e3423c6ea10605a168dbce3f5ff5acc77a17cd0c91e50787290ae26bc68f4c9f9dcc961afbb3f875a77f5dcc7393b818859fd9f41f1bc1c1afb814b0eb7bac59ea36a9beeea70524795ccf733a315618818c165ee31d93c198257dd17d36f7f5531f58ebbd0d195068f0bc0e559bb658a49572fd0f0d6e587d9d8d3d5b838c11019d7d306a1a6bd88c1155db8498fe0e7262fe683448c6c44b83a416e9fb99149674f93663b119076cbd2ef018a485084676df141e7373e3f96ba2d4fc23d175febd6ac4a63bd910acb190ea203f9408df92413fba0cfbef9ac0098a0b40fadc42531ebddfd3b8e5095d2c -ss = 83e562482fcf5157c75d3d2f0a35da861689a1009104a071a7bfb10bc4d8cd02 +sk = 944ab695c2345bb67894d451ea2a5c92561a5467c769352379950879899c9cac9d05e89cb2729b2bb47724923fca357623c69643569d66912b2f9b3249908090d4c5f68388a6141163c931df430d70290950b07de410af913c0e5a215c3059785ef05b824545aba0b95e7279d1c5726b59890b82131d5c62e8b3be33b8016ba0c321c248a5293c71eca570c9536f958b84663b1dd5bb6f272c3e201f014aa3ae05640ed92200274d45d9bf4410ce8ea72d680ace1eeb04cd8b002de72795db60681bc9ecd387fcea796ff7726fb29877f895e6832eb7eb179a5956499ca3bcf3283fc8489d494a88668e6614b1f49824f12a448b31a42861190ce3a9f73c6ffa25622d7a504e0694bb7c75ee71cc8e718ce9d57ac86a11721721e6181f157c333ae098f8a6823f765b60f0300f4733cf65240c779569620213b8a331731a7b31937104becc0995ef57255261ad9b246009f855ca82af2001b256760c1543074d70b3c578279b35137e16ac2089a4c60038b8671d308964b68a2211187154746c27f59c8105981c8c7d0ad58717978c01a66b5ee1697188bfaac9b927822c940c5380409f38459f5b302cf7dc9d6bd823a0308b0da45c35d541d2346bae4173fb0c677eec26a94c4158b28d4d7b4b0f62a4ab06bae0b42208b099a174bb4c482c7c321aaca49c4a517114a5cf408750e8588545134f83a67769cc6e0b413bb800c04093184625a7ee24134a721d5fb1571cd82dd1d7c5f9103e0c2c4416cb775aa28df48643084b391dd2caf39278e9a31d2254871b170ae1b60a4e39b1f5a8473f580c7153caa1369d8e9ca381660a57ca8d2523202816767ca8cac0914c16f1cec8ea4ea5da930e0403e7a876c390ba31fa250d946a2eeaa479888011db7942f7676a120338357bca38c4c95088a4a0884b8b4c14e9c09e831f8aa658ed77cc164124cb281f61856bd6c965b6b6cd60b1b1034888f3970555443f0f5cc29c800f578806beeb4730ab9af4b9beb89502ab48761e188cb9aa95ba06b28cf4b89c200b2145a4339a53406b6790a518f54902eba0230a8c2a45447125b7330f12645d935e00651cb4996e395543b7e643137abf3df59e042abd6fa11927062d73d0a107ba6fea0908ff6759a972c11e864ee7393254051bda558d4b272e6cb2c337747a7ef46f5ac872d5d5238521c09e21495ef98b59c22961e5a4967370efc4865f06a72a41464d37ce4dd1803bc117888b681d35195c857a47b764c6799a86e27327eb0403931e29f90fee8628aa43b333615bc0f251707024ad41a24e3c4f15b99e72f536dd989c0325225dc682e3611640d99c1552506e687e18a883f90882056c14385bc08be82616d811a4fb2dc93670945b7efa17593c4b7bffb76f9a805f5230c50b065dc77b409ca8cc0b7190aa61614c528af2d1ac130c19e4362e85a40693a87c00935a887b9b58699777453d8278c445bbc8d225412bda6fdf026207e3b207613d2ed74c085707edd555fe4c00b40b2a83aa219cd643f1d83ec0fc21bcf94fba6a8262d959c9fb345f2221082c40a1501c46c55082db2709230b04090558cb6d6815173525725d8cc0bc93c881c99a16041757d6a05ac71a15e887eb14cbcb226951857be4b3bc2a1b578b148e824a2414412a3d57c8213793c418bf2e0803de4a16eb9c8b5d53718d38ae40299b89793f14741792bb10d9c21d5f06633aa3cf1cc78d0dc99983076f8756b2f96b2095e0b812160fbb9494038a88057671dc692f14a956d5e6565ff752d28237c70b8f8528cb1a04cfe5e6495bd3b46a3264fd7364e0d54f2ad27dd27b022efb3d3a632a7f99551bc3317250207f2658f363164a9631a34b468e9b3c9b34b27a3a02fcbacc516469f69b3a51554b93e05fd6dcb098e8af8a3681ce89548ca311e2f5421ca1496a532366435cfd56a26a245ba68655db99cd113c1ad1170bab16a22bb3399e45c6a9ba45b5dc5da04a426c635c844744c557af7e49ca12437cf455b302c037bab4954627a2363020c4ab5ceef5aaf2e352ded62fd6a52acb70c84723a527ba34f179204b26ac10692822ac66cc56bfeceba65c33295fb805c596a48a0c59477405c21ac3edd2c27e56c19bc84d710584ade48647c681746038ac74ab73591fde872ccdfbc3cb1218fe12acbfec9248c00e19424b1fbca70fc5193151aae1415416ba2d7faa6a2c745cdedb94295438bb182dadb77182b2be5bd1ce0cc028b7eb71ba8cac8585cba3ca01620b63fc91bf3c210f67c65c92f893fc616158c104a5799720ab0fd907798f0678746475c8502029865dd653209a39c0c362258a266b1b244a4f42b4adc1c6bf602fe61125c3b989c018c0a0e0c73e35abc97c9ee695cd265909af82548b865eb4238376a6ab53a6baef185799489f64e200fb542ec3d1b42e8b3960e02730936d620360ff4570b4079b369a83629b599e7b27ff48c37f727a4f93bbb2d4b7e1c73fc0d6668e53c1efe0a0b547b1f38c51f4001654f45bf0e5766ca1c662f2cb99a6bd42a17f89c80a4db03c990a81ae9487e1a52c13720266083e152061aa08c03a7a703de58251f129546a42282515a3e27195ca97ceb39b00566cf4acadaf320d5c88c75ff310f10bb5ad738d38aa47c945235e1730b6cc227a194dcb04ce046a22c37319d910060b594bf8a64f2c4b8f26000031948046721e6546893a341ed2c32804149954e3788ea5054c51a43da89f9c789eda6727bdd4be32b15d47b9c327ec68422813b00950bd73c96c7175274a5ea8bc128a7c0993031b4e8a5d3c074d2d1abde8239d5af58c06509b24109c84297e3feb447fb3926dc19f39211119c4597711a222b341cdecb0698580e422a951db2305d4a7a871967db945a60439de206955c371ea52452f865da438130d2b8eab3669a97911258b08931a2e36c6c390b6845e8076a0d621d7692971ba71bda0b8aaf7ba0ad3c4f05ac23621a146c68bbc501854062b924c3a64916a1b9b19ce5b466f8672ede621ea987f83495106dac22ffab6f4a5cca797587126ce50589f68a2084875bbb505c7ff46922eb496da260e3719cdb2f23950455dc8d36e3932518bc11bfcc067ac533360b86550b6ad09e93dbb092be410721d48bf56b3594b93cbecfc785a5852b598425e4c4cdcc7cae1907adea5772276b2929b9507db5c06041e5f9846506055417c6fa091652a4a424bf6396d46365bb40601e3a55801b93a1ccf39126ba7f025a2467f6d44de229c527f6e4e7071cb826cfe76fea483d9163eaa84f6afac495ac5dbd68b3a8c148b2e7ac049bb986e14dd1cebfa1cbf3edd6bae85a4d2dda082b68c0ef1663e52e24c33090ea8f4f564d85daca610fd7c2d5756d7d882408ded +m = be4b5e900bf3274d5c6556ce983f3c13eb314e8b3ac969be600a8c769a6e7c76 +ct = 8216710c6ef419e5a05e36aaeb860c93e48a04d645aacf4ec411ea7ba7ad892df895accbabee859c80d30859dbc24dc48e04ac054a7ae4ef6cacc5ca3c5e21eeb2af4e1ebab32397ae6e642bed9ffa464a3c9ca7079d6cc638972fdb7c7d0444131ca690dfa2fceaa156cd9c3e9e10ad5fd33fc38ae25e45ee5b3655a5ad2514dd35c76da2fb302da66ea48bbaf18413648deced46ed3d14b19ed1ab197597a0e6367ed864e0f310f1c619ff1898f727ff576cc8aa2c5ee252f8a0460664191696c6ccbe9a61470075fc5264d1ddd097b5d70bf1f4b112168aa048411f843e4a0dd3d9e227a6040ad8b2b60ca6b36b77b20db9ccd7aacf6fef02eff82e3e9a6782d5ed18cd3324e16962ea71b32c184a1bc0f20b3d39c892177e7ce5f76942c72166628e513cc19fe6943bcae08926a70cabaab7c5f4796c1eb41d8c03a9b9c2c8eb4f4a776b37ce83cabccdc685452a7dd115960158f439cf6868a4c6addf88c8d6462961e8743b1f24bc28ef30ee788d7d86b381a111fe0c53cfaddcd7ecb994f1d9637a959f88fc683bc2b7e0284f76474cc4ca505ef1ce8d52f4ecbc743e94318c4f7c4d03f3d5427c97d72d59b4efe7c85e6c745573eb78d753e77e1a2d4401960369aa18eba81c4f4af5bb3ced30c0e02edb250ac00c90e8860c147a5687b531cf454a98d00be85ac4d6832af98ed3aec3e6ce65f873f420eb39a6b4774bfcc72eb763e2c06de8b594f4426d84c95070794b9fc231a99429b38dec37e133e90c8b1dc0dd0180a2caf7c423ce97a336c25891a8f7a0271c48355c0c9e8b38cea3e92fe51aefb57a8d55150335d9c03c6bac161fb1e312e9a79af2bd1f2886d0443fe524ee909845bc4675d2cb1a79ed50962865d99404294ba747d5eebb7838c96f621459466afb31970f2c2f92a21f889c7b754bd8e9b0254a97e599b0f72347e36fbd1d2f60ce238175968c96c4c3081f58ac0c2ef2d1046f1312b811cd2b0362bbb4eb6bc41560d1a116d8989247a80ecb47121e2b83e4760d99262b4f1e7275f967311482b7fec821e84336a646579f73b69bb1099ac8c3ae084b7911b0a203d2d8e0a555a52e57648e45cc94b7403f181608afc4a886ac5663956b903d7cc8a3945c0a462f0bc1169c1a662604205e9ee877294d38d4e911e54367803371f0cf142d2051b60a32c1a6cbf3b8c6c29cf09ff7e54320056b443388fdd9a377e4bf17fd8369bde1168837eb647cb4372c60e950e8bf9662bf7e298d53e5abec6d170c4d8473cc8b00caedbe20a7667b64b4e76712e859c74523337553d654a042512c361eac6e42721ed669541086346a7836a3fb9f4781fc73496242a10bd5382762769872c626084deae865ef9d2f1f67b35be2aabf4a8842f6c91f579ea36c86588175d9dc82b19d3bddc406eeac7c38d131a0e9e2db04b7624a7ae9452c16f9a2d0f23bbf435e8c5529634b083a6acd4c7650eb94ed71b5a8e68b8dcc849870682488ec25e43822515dc3a3e7fdadee2395c2b613c7e3cfde2b5f +ss = 7f20a54fa2f1f84093f5cee4c8f31640be654f07bc939952284bfb3b0440a079 d = 7ec408f52c9aa723d0c41d9987682a5f4ce6c9da7cd0215af60bbaf5484ab353 -z = a08ccf451b049fd51d7a9ad77ae14a81569df8c9bd3a8f1ebea86fdcfb823082 +z = 0da1d147e7686e428aa1775bc2eb045d1ecbb17563ac966f708cf3882c47b5ad pk = 86b5c9a75157e73ccc2e138518ea98a246145dfb6bac9b2ffc333c0ba5806047ca9ba8ab797937000270e773c9863709e59786f8ec948ed27660aa3758e33f59140e527787fa74a2ce22a4a8f3037a26903665cbfe8a0677ec273f590d64c97f69f396db78448535746b43296bfa2bf0a251bf986a524074c1f96077f5219cfa9124d1458520993f627aa8b7b6a0f191683233e0ba6bde24561a666fd10151b0c52c9982c301e0970c3363de27825a5bab078848aa5cb75a90c1cbd24cf67a68f3417780cca947131e4573934f9959787b6320a4b47bb311048289e2c915e35344e3a144e2708893138a15a03fce3816945464c229c587093b5cbbb519767fc65c078d6c684b8b81c1f9cc2b3ba749fb3074623e3c9124a8e1a513510357656b37087bfd02773fb59157eb885e1501740483f3ec070bd492dfc217d7db99cd7c9d57b937297634c3494deb585b8c93cd4eab1865f8a9c8bb15dfe583c7dc0427274f8df3c693fc351289964a89a3c745967231261d949552e0809ba9b7c5d258af579a4515981e991d93154bcaa170491b06752415b1d52bc2a98b7f39c5b91a87eb759a9a4537218156746930a347a5026911adc0412f10a7a7c200a1514d500805c10a276c327e4899aa3f9b95d1ba2347e0140184b1235a719e6c4a3011576235215d77084034771129c33199b70774b2130898a0c69d8f39c3a50b273c665dcd8031b4454d144a4356b9c2b16641311856cb65466991b06d1a8a74a5aad6b5b935b65dba8374ee690cd1c701a5a28b41732b5f88a9ad919a7fa563bafb529885488f544e1240b3cd673f94ebbc91b4757444a302578aa953161993cc918216bc56ba53ea17664bc5b543a38c3516d4063c35695791d8821240bb749caf98896c4718a9db33c1a7e9b91b9b6d06fbaa58e507f8a105e2f71f6095621e354b3dec1f9c979ed7b3aab56b4741110fda601fac78c2edc386669118a425c634157875f61adf10c43d2184d3252edeb11a61eb67a349405ec74b9fd307558a887efbbb46c904f9469db491605a3582be433bed57363426055cc4852acc0317f24d89903a918875c949556a6a458fa3cfb5797d6a3a68ee9991d97a38e16b9a727c5b2e7b5e5a0029c1513d5a1a98eae78713785bd4322261d90109a0806e565ebd9308849cc6708b536c83a2fa35995c819d99b850251c1d50ea902a053c7ca31faac37bcb1b40d6123cc4d52002909d0ac566f7d75dc89998036aabb267c5aa70184ab4cffeab018f195f62879be0a51b42b843caf7c494c181c2f06866cb2287a00349ebb136747da52a3c4a3c581798c413929ce3e698fa594f019579ae329a22d4af66f27b46453f22e61aa6ec5d7d854ff6d3c3d4117be2145b5c2ba7a57ac968a5ca43b461f808167fb5a76a942c95145098b95cd46439669c00366960e2162ab613c5ecb151359b093c27c04ab230fa7c0074684996f44939c81fc31373c8231bd0b6679991a32a031002b257b2f31101317b3e2b6b28b8911e3991479444c6086110b7a70125ca71c6659c970f94d0942124c17ce3ad50d5a7019146bf51b012d1cfa0f59b220a795dc6b3d7896aac680adad383ec46762b669d35909a47c12dc8ee619e1a0c8915822d574a243f67e14104d4f021cf95bf33271c9bc9 -sk = ac65af9fc8b905d09638374e58c551da08ac4ef86a8ff04489ba462841a85d907ed0c70e1a790297ab2df7d6cdfc5c6af513144da105dda2c75f00736dd91564a79668e335fbdca1c9d31592e73d60066b959a2fcbf55474f9c21bf058f021457586766fda4fad521f64940d4932b07ad8ca7e1a06662730ea6c15aa1c2f9662552313176af04fa4a98962101492566adb8bbc3ec04f9cab9ebfe5860f886d57a2c73fa050a3607a8c0998754b417c9c5ae2fc3f829cc3a2ebb1e927ae87b68c6db355f4c661cd000d10d6bc31ca1c249a9b3931a4d1c57904dc6df923839d9a90aa2b93a87c44b5f82e6a925d22e679428064ffcb9621067b75477fb7d51a1d3b9d9de4051cf874ccec12976562752cbfcfc59f56c2c60b8b4610a9bb36e9019b974502407d57289726ab8a38d7a6c880074a5686619abfffa5757dc79e1449408851502beb8196f493f4a724b9d681645a07b193586c5c05d8d10e2c968bd251b88691c368dc18cf8270dad3c22bf5093db4cf05668f8c6315c0ea3f55495e784ccd6055ac451363fd77a91686ad77c5af53141eb5e7534fac4de481741e48b414302e4743789e250c39c45c0a15cf42e7b3631b6a8c0971c8a34b8200bbfe11004ab06bfc5949c3615b02947c73e7a0717c6b60f2679daa21afe4c55768a08e70105868aa6ab4aaa848c79bf125883907b9daabe367afce273e2c168aab02acd27855e2944b67b938170a9258f67397770136e466758c260ccb7da226b5a95692514727fd48953c62959c88c8784a8a52131c4ba5a6d757b4311048b602b554e8ad509b0c12b0a64553cd4270ca92f36cec227e16a217c769a2bc1aa6c356a5a39c69f4963ba6273db9232f1d8a28ce65b5b9058f1b8a164ab0380c42a8eddb6c2b8b19f26b557c387e4db9aeb92c4d7d0a2ca1e35f97e05cf590bc511ac5efb2357e70525bd027b36c6781c4b86b0069e7b89c8ca643fb9990ecab2cc5a8a5a5b2b0441076ce934d96bca9ffc10eb6e7bb093675e97b68894bb030581d89123642c1118364115a76ad1c181eed4b691bbc15df182dcde00c71f8685b71883a184396d3475cbbcb674360dc14c42dd6461514479c85557194a97a654c4be7620fa84c59db5057a0886d760460cc4a3a713f4fd4bdebaa93b943c48e6348053703ed818fdd9cbd62e246c0b69a265aa381822d6a474c5aa530aa5306a0c8572c413718a278194367405789e1f749ab4a02af87b362067f3da12ec01a83acec26a390cb5419b351bc95e08c7338fb933b81476ea950881275a186c9e9f99dab63634e6b7314188bfd686d74ec203b71542b62b1c0c7712745940f7b9237551467470e5b1ba2f8e34cf585adbaf980317c9db1147382946c12223c3a45973b879a523855bef121151bce620216dedc6c3457ca03951ff45b662f79a1a7a5cefe9a846dd5774c7c2a22f842e4e465a94314e036bb55a2787a1a0f0f111143872dae74af706a369ca54259b80578bacd497700871842b98cae2ac3b572f98f145cbaaf54569779b616242060b30b2a482daf335c9a502cd318296958c696f7080c7a3926c7b62f36a5dbfb87ea0518358155e8e94390b6c0f808b91c166577037d86b5c9a75157e73ccc2e138518ea98a246145dfb6bac9b2ffc333c0ba5806047ca9ba8ab797937000270e773c9863709e59786f8ec948ed27660aa3758e33f59140e527787fa74a2ce22a4a8f3037a26903665cbfe8a0677ec273f590d64c97f69f396db78448535746b43296bfa2bf0a251bf986a524074c1f96077f5219cfa9124d1458520993f627aa8b7b6a0f191683233e0ba6bde24561a666fd10151b0c52c9982c301e0970c3363de27825a5bab078848aa5cb75a90c1cbd24cf67a68f3417780cca947131e4573934f9959787b6320a4b47bb311048289e2c915e35344e3a144e2708893138a15a03fce3816945464c229c587093b5cbbb519767fc65c078d6c684b8b81c1f9cc2b3ba749fb3074623e3c9124a8e1a513510357656b37087bfd02773fb59157eb885e1501740483f3ec070bd492dfc217d7db99cd7c9d57b937297634c3494deb585b8c93cd4eab1865f8a9c8bb15dfe583c7dc0427274f8df3c693fc351289964a89a3c745967231261d949552e0809ba9b7c5d258af579a4515981e991d93154bcaa170491b06752415b1d52bc2a98b7f39c5b91a87eb759a9a4537218156746930a347a5026911adc0412f10a7a7c200a1514d500805c10a276c327e4899aa3f9b95d1ba2347e0140184b1235a719e6c4a3011576235215d77084034771129c33199b70774b2130898a0c69d8f39c3a50b273c665dcd8031b4454d144a4356b9c2b16641311856cb65466991b06d1a8a74a5aad6b5b935b65dba8374ee690cd1c701a5a28b41732b5f88a9ad919a7fa563bafb529885488f544e1240b3cd673f94ebbc91b4757444a302578aa953161993cc918216bc56ba53ea17664bc5b543a38c3516d4063c35695791d8821240bb749caf98896c4718a9db33c1a7e9b91b9b6d06fbaa58e507f8a105e2f71f6095621e354b3dec1f9c979ed7b3aab56b4741110fda601fac78c2edc386669118a425c634157875f61adf10c43d2184d3252edeb11a61eb67a349405ec74b9fd307558a887efbbb46c904f9469db491605a3582be433bed57363426055cc4852acc0317f24d89903a918875c949556a6a458fa3cfb5797d6a3a68ee9991d97a38e16b9a727c5b2e7b5e5a0029c1513d5a1a98eae78713785bd4322261d90109a0806e565ebd9308849cc6708b536c83a2fa35995c819d99b850251c1d50ea902a053c7ca31faac37bcb1b40d6123cc4d52002909d0ac566f7d75dc89998036aabb267c5aa70184ab4cffeab018f195f62879be0a51b42b843caf7c494c181c2f06866cb2287a00349ebb136747da52a3c4a3c581798c413929ce3e698fa594f019579ae329a22d4af66f27b46453f22e61aa6ec5d7d854ff6d3c3d4117be2145b5c2ba7a57ac968a5ca43b461f808167fb5a76a942c95145098b95cd46439669c00366960e2162ab613c5ecb151359b093c27c04ab230fa7c0074684996f44939c81fc31373c8231bd0b6679991a32a031002b257b2f31101317b3e2b6b28b8911e3991479444c6086110b7a70125ca71c6659c970f94d0942124c17ce3ad50d5a7019146bf51b012d1cfa0f59b220a795dc6b3d7896aac680adad383ec46762b669d35909a47c12dc8ee619e1a0c8915822d574a243f67e14104d4f021cf95bf33271c9bc962e0447f7b5ae8a806b741ca5c302230b555c3786c11f3eb43894a8f45e3f7b1a08ccf451b049fd51d7a9ad77ae14a81569df8c9bd3a8f1ebea86fdcfb823082 -m = 8a95d71228acaa5f9ae6f9d9ca8ae55fde296463b41083a39e833e37c4c90f88 -ct = d4bce18c62fb15e635b2061b99a2d1bff919ee09a76a8598f64c8f52272ce533da3180b71a5f1a710ee5d924b1725834d24ec3166e3a2d6c0ebef6b4aa2dcb9aa3cf2bc0e3ad19590ab3520b3145cbd5f36e207ad97c9aa2276f0fab6a5918f9c0d67616fd45b4f8be0c461488f17f57acde6432d8b36541ed62783dd590b6ac71fcf01805eee76edc2583cf0a0626ca4b0d6ab6535e2251ca533992336ecae5b26b0e06525f08d53d04a9e0caa603381e6c033f26661427063e3b6c84a4f82b9120bf58a3560d7b7234f1c6e7a5a4e320c8c8df4f6433f646951f7a719a79b9d22a663a2e33a39cbdd054d870f447c9f3053795f96134df95b277cd95b6d7580225f919e5119fb5c2c75704df380cbecf276d28ffed759c8bb7252e24a39a1a9ab3fe42204727a50508adf6c274b6d4976dbd6b7dde7753a9e58cf8ffc6e31bd3dcacf9ca083b3c482f561cab1c0de32293d35dbb69368e8a62765ac4e6945d8d982435545f2da7da1875350bbc242611dfa2bb9f36b407e70c27a7a0ae0ee2371c33bbd7b958f4a233ed13bcfa73161dd89e559edf03845a0f8513a865acef4dc5ee33e40793284dcb5226fcec925a4f1195884a72993f34457073365e35a1346f6453da6262b137ebfd7ef78711cd1319d23493888be93c75522f3645e5f83e10843c4f688bde241537249926fc901e9be192a126fbd910194d0b3b26325d59831bb82d9a2f357add6c823d46e3db51646e09c22f750f95237cda8a00071bfdeb8ced9863b89019155effbd27337099e08cb72293cef964f28fa1dcc644b7d022050900524b2a1f7afb0347fcc6e8402011217fa77e3a6eefe5c4a63f775ee2dfa5efa3f9ccc2e70366b88f5ad9c0b73cf81616b32d38d30b2741a04dc6ac179b90fe61cb66ef31024ec35093bc140ee79bccfa149fc69b846eeb3717bf18a2358fc9c56ee28a7e384a82ea0d830123a49698e63a17d70c1c9f1169f1b62a409c5a64ff6d73372f419e12201d8aae01d09be2c3d26e8d651884a31f6b2456410dcfcb79684b00a163acacc2e247476cf53dd66dfdf3646322971e918c0b9096f86a8ead17558d6736f4c52b1684f952cd93bd39ce4a4d67ee2d7470c710f86d1688ac90bb1ce23c6e500b6ef99fff1102bb23fca16d96d30de29b4ac4ba252063dfd14f7834234274a49bbc5e78b01914272f1a84be414aa871a7b5072183cec33efd9c3fc702fbfec2ca3762d22722b98575cb874219fbf0f82c3f768878ae2aeb9d3fca8a8877cb3b78b9a9e34ddbceb6659e3d632b37f6402d734e545bda4027562089993da8d4e8f388243e1d8ef9504f52dfc668e69be634797eee05c6c2cbca705fa1a088e9a8a2cbff0c9f8827310ffa1da6e75b0bd776b4437a6cde2a9683374910fd5e5218353af004f1d1060b6baa31b3460d01b3e7675261df6c409009100e70a4391f146f04839f0c175837dfb4e6b9dfd402032380236627093c9be3f8ead7f81bebb8f8853c549c875ab0ee4baaac49b73fa3d410ea646e -ss = 445b60a142d4853702a102f9cc37fdfb1d0b14a9a7e210c7d290f9402f0a2f40 +sk = ac65af9fc8b905d09638374e58c551da08ac4ef86a8ff04489ba462841a85d907ed0c70e1a790297ab2df7d6cdfc5c6af513144da105dda2c75f00736dd91564a79668e335fbdca1c9d31592e73d60066b959a2fcbf55474f9c21bf058f021457586766fda4fad521f64940d4932b07ad8ca7e1a06662730ea6c15aa1c2f9662552313176af04fa4a98962101492566adb8bbc3ec04f9cab9ebfe5860f886d57a2c73fa050a3607a8c0998754b417c9c5ae2fc3f829cc3a2ebb1e927ae87b68c6db355f4c661cd000d10d6bc31ca1c249a9b3931a4d1c57904dc6df923839d9a90aa2b93a87c44b5f82e6a925d22e679428064ffcb9621067b75477fb7d51a1d3b9d9de4051cf874ccec12976562752cbfcfc59f56c2c60b8b4610a9bb36e9019b974502407d57289726ab8a38d7a6c880074a5686619abfffa5757dc79e1449408851502beb8196f493f4a724b9d681645a07b193586c5c05d8d10e2c968bd251b88691c368dc18cf8270dad3c22bf5093db4cf05668f8c6315c0ea3f55495e784ccd6055ac451363fd77a91686ad77c5af53141eb5e7534fac4de481741e48b414302e4743789e250c39c45c0a15cf42e7b3631b6a8c0971c8a34b8200bbfe11004ab06bfc5949c3615b02947c73e7a0717c6b60f2679daa21afe4c55768a08e70105868aa6ab4aaa848c79bf125883907b9daabe367afce273e2c168aab02acd27855e2944b67b938170a9258f67397770136e466758c260ccb7da226b5a95692514727fd48953c62959c88c8784a8a52131c4ba5a6d757b4311048b602b554e8ad509b0c12b0a64553cd4270ca92f36cec227e16a217c769a2bc1aa6c356a5a39c69f4963ba6273db9232f1d8a28ce65b5b9058f1b8a164ab0380c42a8eddb6c2b8b19f26b557c387e4db9aeb92c4d7d0a2ca1e35f97e05cf590bc511ac5efb2357e70525bd027b36c6781c4b86b0069e7b89c8ca643fb9990ecab2cc5a8a5a5b2b0441076ce934d96bca9ffc10eb6e7bb093675e97b68894bb030581d89123642c1118364115a76ad1c181eed4b691bbc15df182dcde00c71f8685b71883a184396d3475cbbcb674360dc14c42dd6461514479c85557194a97a654c4be7620fa84c59db5057a0886d760460cc4a3a713f4fd4bdebaa93b943c48e6348053703ed818fdd9cbd62e246c0b69a265aa381822d6a474c5aa530aa5306a0c8572c413718a278194367405789e1f749ab4a02af87b362067f3da12ec01a83acec26a390cb5419b351bc95e08c7338fb933b81476ea950881275a186c9e9f99dab63634e6b7314188bfd686d74ec203b71542b62b1c0c7712745940f7b9237551467470e5b1ba2f8e34cf585adbaf980317c9db1147382946c12223c3a45973b879a523855bef121151bce620216dedc6c3457ca03951ff45b662f79a1a7a5cefe9a846dd5774c7c2a22f842e4e465a94314e036bb55a2787a1a0f0f111143872dae74af706a369ca54259b80578bacd497700871842b98cae2ac3b572f98f145cbaaf54569779b616242060b30b2a482daf335c9a502cd318296958c696f7080c7a3926c7b62f36a5dbfb87ea0518358155e8e94390b6c0f808b91c166577037d86b5c9a75157e73ccc2e138518ea98a246145dfb6bac9b2ffc333c0ba5806047ca9ba8ab797937000270e773c9863709e59786f8ec948ed27660aa3758e33f59140e527787fa74a2ce22a4a8f3037a26903665cbfe8a0677ec273f590d64c97f69f396db78448535746b43296bfa2bf0a251bf986a524074c1f96077f5219cfa9124d1458520993f627aa8b7b6a0f191683233e0ba6bde24561a666fd10151b0c52c9982c301e0970c3363de27825a5bab078848aa5cb75a90c1cbd24cf67a68f3417780cca947131e4573934f9959787b6320a4b47bb311048289e2c915e35344e3a144e2708893138a15a03fce3816945464c229c587093b5cbbb519767fc65c078d6c684b8b81c1f9cc2b3ba749fb3074623e3c9124a8e1a513510357656b37087bfd02773fb59157eb885e1501740483f3ec070bd492dfc217d7db99cd7c9d57b937297634c3494deb585b8c93cd4eab1865f8a9c8bb15dfe583c7dc0427274f8df3c693fc351289964a89a3c745967231261d949552e0809ba9b7c5d258af579a4515981e991d93154bcaa170491b06752415b1d52bc2a98b7f39c5b91a87eb759a9a4537218156746930a347a5026911adc0412f10a7a7c200a1514d500805c10a276c327e4899aa3f9b95d1ba2347e0140184b1235a719e6c4a3011576235215d77084034771129c33199b70774b2130898a0c69d8f39c3a50b273c665dcd8031b4454d144a4356b9c2b16641311856cb65466991b06d1a8a74a5aad6b5b935b65dba8374ee690cd1c701a5a28b41732b5f88a9ad919a7fa563bafb529885488f544e1240b3cd673f94ebbc91b4757444a302578aa953161993cc918216bc56ba53ea17664bc5b543a38c3516d4063c35695791d8821240bb749caf98896c4718a9db33c1a7e9b91b9b6d06fbaa58e507f8a105e2f71f6095621e354b3dec1f9c979ed7b3aab56b4741110fda601fac78c2edc386669118a425c634157875f61adf10c43d2184d3252edeb11a61eb67a349405ec74b9fd307558a887efbbb46c904f9469db491605a3582be433bed57363426055cc4852acc0317f24d89903a918875c949556a6a458fa3cfb5797d6a3a68ee9991d97a38e16b9a727c5b2e7b5e5a0029c1513d5a1a98eae78713785bd4322261d90109a0806e565ebd9308849cc6708b536c83a2fa35995c819d99b850251c1d50ea902a053c7ca31faac37bcb1b40d6123cc4d52002909d0ac566f7d75dc89998036aabb267c5aa70184ab4cffeab018f195f62879be0a51b42b843caf7c494c181c2f06866cb2287a00349ebb136747da52a3c4a3c581798c413929ce3e698fa594f019579ae329a22d4af66f27b46453f22e61aa6ec5d7d854ff6d3c3d4117be2145b5c2ba7a57ac968a5ca43b461f808167fb5a76a942c95145098b95cd46439669c00366960e2162ab613c5ecb151359b093c27c04ab230fa7c0074684996f44939c81fc31373c8231bd0b6679991a32a031002b257b2f31101317b3e2b6b28b8911e3991479444c6086110b7a70125ca71c6659c970f94d0942124c17ce3ad50d5a7019146bf51b012d1cfa0f59b220a795dc6b3d7896aac680adad383ec46762b669d35909a47c12dc8ee619e1a0c8915822d574a243f67e14104d4f021cf95bf33271c9bc962e0447f7b5ae8a806b741ca5c302230b555c3786c11f3eb43894a8f45e3f7b10da1d147e7686e428aa1775bc2eb045d1ecbb17563ac966f708cf3882c47b5ad +m = b0c99f495ad0cfa090c5453402fb93b6bf35d02077c5f6388810cee3edf51a99 +ct = 47dcbfdb494870a4237ae75cc7ecd80c95857b94077afba064ba3f347fa65f3b0784cbe661af614e97c8b21cb982e3dcf38ce7eb4e31c04d5c71ea1c609b1c672de875c5d53acedc021fea3062ae823dba53601d70894c57ba78cb46ef9a1a6bbec4716074ca5009ecb909e3163cf21985f3158356b7701dd2a8cd00558ff0ee736068daf79b1c11368be8ed666ded32464ec57eaf203f9ab76ca77697dd09926d46d290114615f57592aadb80257bcf209977d237506963880c92bf2846cc4f16dddfc41b3011c18e48ec8cf7109f505cc72480c3f4841b2c79c2ba99a35890ea9765f5db99d4a578e704edb0ada3eb1735ddd2da5eb24795de70072f0d811ca0d1f7c1544d3cd1ff9f4e02d8a1739d77f5223c767c0d62d5f9401b0c4d7444469153d05cccd4cc06fb0f31cb0cf101c11a4215763201cb0ec3bf58453d2e46192a90a1cbb13421658d37171f84af02c5fbff5b4648bf7d131e4f8f716ca6abf024c357b72da52da74a2edebdfc4d8b685163436c17eac994bac37ae466c17a2252cacd6fbac2477633f97943465fa9dd15051cc15fa339066ec2d2505a77cbd336239fd6510e7c02f329aac835b70e69ab3f7a4c24899c05b6d27954ab766b397fb05f45bf2ad32244029ef1f2214d7fef5cab80d03348b856ef5e92f47c8302e8bede3f1a809cd647cd98432330c6a11e7234da332a3b226340302dbcba40ad52281ee2622e6456467a0e077dc89d240728ec9d3e0f84d634b6c1862e62fb11655d9698497482bf4ff0401bea7ae94b4c150a3a6eec62a4550dd96d4688e80136556b2fde7bf8b559e2572270ddc4698da2f734eb0cefd7f1f059164eb4f26afe5a5ba6d2624b37c5c84eb2d683f3c146a9bff6d6a6440b1f6942ed77bf34d959fda8597edc9455f6b07815d6a173a47ce1caef3300e323819924c6e3cbd10cb82c8087b8b08ccf04850dbe8dca712bda6e078f491982da64121896e45f6136937b4a4fc79414abebcb229d6c4a26fdc7e23be56188022c729182267a337b3bf93cd66aa5f7181978f81707927153d7bf8fbbc4aee85f94d6be33603890c3bf41026be126ca3f22155d8745e629ed12834f7070bc157c8ad306d3fc5b8b8fe977844c708f34622d6c64bab4adab3b98c4eea7a0d4e596e865b1e9077b0ae9d41aba4f3c3b12627b270151584f1f961cc16006b9cb8ea4c0dabdb730bad8c91fd4e281e5bbfffb652c7df6b70663746ed8314fe6f6a6e0fe59b53045b2d1502145ea3bab123a29559d08253967e90ab82242f7c9d1eaffab702178d1d08e1c9051ea424eedfe42970e1c6d1e8dfa16ebfcce8ab9a495fc23975d30c584a284e5a0fcaca6c4be533e08055a2196cf3d2456d4e8484837c6fb53f01b6ccbdd2f28edf05ae81abb51263b8a8584f8862453c962ff2490b02ae7ec7f8a0edb01e290835d840c8de325ad19235436fa3cb619cde7db879b8e2bdc5fcbf87984e1e07e695bfb1f155bcd799779185de3e1fa28a8b369db5eba3bcd0d467e2e2bf816 +ss = 082442b947f74c4e9a1c3e18a2dc9e761677251ba93d4ce000960ee23c2cdcdd d = c121915bfef6abdfc177dae2f5a24218f9abda2559afc6741b08e0e61ab433eb -z = 84ef52db5eaa6df8ec3a0bc5ffa730db0dde8c5f38f266d5c680a78d264a7b96 +z = 729b5a50627688a4cb3e37cc0fef22162ddbd848e5aa641731f8e60b4b79c93f pk = 05eb362461c4a2e81885084505c3862c3b647d181805205ef3e4ca5c30c46a0c21eb97700b70c2bee78d862b3e19dc1e0cec0ae6998a7b3c4fdac39a950027fb2a3bee027a8e54b4a5b981bba01badc0b5ba6a36a2913f1c1a046036960790ce2cf2583e6c62a778290f242b49606ecf24b3a0dc023b22ad8945a0b8dbccc9356475b36b2a990d7435b12e1536a21079fb7802b998488e690f763646c3b66adfbc8161855b20ea18afd87229d05e60372694e4c4c6215344da04173559d7954b029555e6ca4356f6cbe325a39431a64df06e75c63ed0e40bb0cba6ed68bc7211b02f1165c370ada1e0acf4ab61c87cc32f7017b4a26ff8cc0784f76047316af6398ddecc0c62e9a37fc4ca685017b33aacf597767312192cd330b2f3a84e0bb858480a63a607295a39f61510dc2c6998614013f45d319858da8228fe5bb6eaf3b03aa60f4b721a3f046d3088671930672c61c92d6005254372d8081be322ccead06cdd472cc5a481ee385096a5b8ce64b57781cbfc4457e917162da007bd7bad8e3803e05b08876842d9e6a0a545407a5067ede3510ccc4478c040310aaf46051454d855d1a5521e2514af676846650e0043bebf453e7488b6db8aaefcc16e26a75c52bc0ef3c80da3bb39f73b9852b54d9c606363438c45dac4ff1a1913d81b9a80544177ba7db6503a04a5405299f80a83fb7135fde04f8cecc0962461c0e80298d219531c9cbf00a3bb5b84908b5a807739a63485128512c0478084c8964f9064cd4514ce92c30454ac25b48919b719c5a853010a2eb712b80975660456562c4c448c39162ca63aed14af7f28875149857f9b8965bc1d04cb8ee2e67c14a493a3822fcd0a2dba2677e719b8f2c8bd09431b82ba56007584beeacaa1f081d244b0d771bdb0c8033b18ca9597443ff8cdf754569dcc2dc4d4c212e2bbee88925ce73034e19167cc7ac46059cd3b9ebbf6bc3a476f08438c61971af139a248821002480f42c2b9c0979ad3bc6868565ca3fcbc124a7548d53f56b51c9f8aa387b59b07638c7aa45704420b3c24642035a7884cb42f877260c29697809aa7482e3fc356d8ca061c1c443cf24c4535bdeccb02c3e3b8b1d90e5b47bd11615caf849da5811aa743b9bd7810c470187e81af9bdb4d1307303f615ace2a58e7ecb3be260e9f7c1e10eb3a84f207d2e75a30c7c741ea45fb04a9473c1425f80a9186a7f2625ea6abb4aaea3bb50602df23acf8e452cc01a909ec9034acb47b969d904213f0a79edb7766d0290005c954a1da0155f7318be854fdb038d019c1904b714f0514ac331c3813bd703b45076365be4b47ec510a9f585907bc0f461a6befe13a2667593e12134a86ac139777a50ccdad16b6891a0871621b387684b5226368400164b29109328f672cadadf7648377cd11c9232094165bb1cf12f694f940c3cd784c84925ba74c8a49dc27cda4c553c85334a860a8a55d8a75969977ad1f505b9b20ceeceb24a262c707843310f39434390ea5315a67491f0592bf722a1c2658c8a720991b26561e14b178c3a1028003cab8b69f60828f47b876d43d3f193c3820804068a5cae76dc3f27f5f1323e6a2797b9a13c86713a83ba9c161899cf295cfb4a4aa443f32d16b72616a0db4d3849fc41a7a6ba87f4af757a0ab1956518f -sk = 67a93bb27acd00c9b95aa03552809c38a08480dbaa67a9584a460345e20e5f381c9a82710ef1709ca51393f916345719bd3144b3121a8608c0a48017963387f7a31c5febc6b6749e6bd9be3c58a9a77b53d7762f5854a3467a85941ca2c03873c0458b940275e5ab85b83a5c2027894b92246dd8632d68a310fbc6d214381128528b375fbb8c3c7923ac6a8c7f9e37c2ea4c6b72e3451922761ac274b5cc8569ccb93917a748e93c190320e3f1381e08cccca70903975ae25689c12709c8e9096b16a26e4439c2552a088194368b36efe3871a6a1cd54ca0c70974ac936e45dca01de296a14c7d20652999e61841dcba6c0171fcb406e14a95b0c02517447bb9370996176bfdc5beb4316c0ed34a13431e34ab27d9dccd3ddaa49d314659bb8d89325099d0b06931796ce65c0628c817393bb1870f19a10cfe3546d8bbc2509058327626f490a1bbca6fbb653ee1c3555203353509ab14b64cf8a29c32b17096805b8d751848dc4494279266f2cc474228b2b703cff81f0f29152f4570151517995262d705afffc08dd413c12f37b605bc32ecc1292b9ac99e4a34f911c8db990ecc9a3dfb37517446908b91b1172a3d4f547b3aa642709ba40c3939734545ddb6b45c66a1a3e58c6d1929e5721bfc6a6021a635d86c8378d4a0ba68ce385b6b7fb983ec4a95c8b20b3ec750b082bf2cec89a6f8c2881650e5b71a0135c865bb3fb12a4c2c3c917d655a2997984c8557ecf1943436a9fecc5c84808e38701cc26a251f458334f59bd40bb0d8f82e74071a5ae3c9439541aee59c6e46a5852834ce5712b3665018154c5339467d606af189ccf20c68c583c96d969815109cd3ecad4f5ab0a8bb8a7b68359b0319078a7405821c2709a615864422ba0a3970c8ea138ffc1522b1a53ed1c71d396a0ed6b782c6552c70216679bb4761a600634276d553cd703897c6943a859112caf9a7ac99517c23ce6457aa069b6fd2775efb262dbc27b02fe6923d14b047a25cdc6b86d20a55d85108ff276f121a352e098e5d4cc3ef92b3a1c4a38244621b055d5f812189f6941b492330fb1ab0a442a656655455b38b522ded5640cc4136df6cbf4c4b0651531cd8c95280e2af13fc57c977bbd1a8bdd253096ea98c3ab33a516448a8301a4b141ae213bad2f640b2d5846c99a25884360f604333197816ba9dd1d0c427c5b8d3a6b434207b8539ce5092ccda67a755d6a6d7e8bb6bb02af1ca7283e797f24a1042d29b64262f29b0482b840bd70a3d6d54205df412dd6490e3dc38c1236758f65e461b11ca480b476875c692508e7bb90c430797e1917041642d88506c07255aa92ea32508462c2f4a1661c05114c9361f651b7c5ff70b42659ffee71f58cb79e445536b8948142cb4ec16cfe5b21da659c2dce452346323f1632c37f128a6525f40e03d6c073e05476252b2b0483c4b87c1c1fd8c972cf651eb9684fafba3f862c8619c089f01277c14be7cf7790712ca1e8877a48909efa31d814c1c21f4a151b886076840546419a1c8b6ca4466389a3f6dbb69e8494d7b25a4e9b234a8d928a26b946ff305b8a33b0bf8b3eb992d68c312b4074788e69d1a5a211c3b55f8c654ae778fbada1d75fb2305eb362461c4a2e81885084505c3862c3b647d181805205ef3e4ca5c30c46a0c21eb97700b70c2bee78d862b3e19dc1e0cec0ae6998a7b3c4fdac39a950027fb2a3bee027a8e54b4a5b981bba01badc0b5ba6a36a2913f1c1a046036960790ce2cf2583e6c62a778290f242b49606ecf24b3a0dc023b22ad8945a0b8dbccc9356475b36b2a990d7435b12e1536a21079fb7802b998488e690f763646c3b66adfbc8161855b20ea18afd87229d05e60372694e4c4c6215344da04173559d7954b029555e6ca4356f6cbe325a39431a64df06e75c63ed0e40bb0cba6ed68bc7211b02f1165c370ada1e0acf4ab61c87cc32f7017b4a26ff8cc0784f76047316af6398ddecc0c62e9a37fc4ca685017b33aacf597767312192cd330b2f3a84e0bb858480a63a607295a39f61510dc2c6998614013f45d319858da8228fe5bb6eaf3b03aa60f4b721a3f046d3088671930672c61c92d6005254372d8081be322ccead06cdd472cc5a481ee385096a5b8ce64b57781cbfc4457e917162da007bd7bad8e3803e05b08876842d9e6a0a545407a5067ede3510ccc4478c040310aaf46051454d855d1a5521e2514af676846650e0043bebf453e7488b6db8aaefcc16e26a75c52bc0ef3c80da3bb39f73b9852b54d9c606363438c45dac4ff1a1913d81b9a80544177ba7db6503a04a5405299f80a83fb7135fde04f8cecc0962461c0e80298d219531c9cbf00a3bb5b84908b5a807739a63485128512c0478084c8964f9064cd4514ce92c30454ac25b48919b719c5a853010a2eb712b80975660456562c4c448c39162ca63aed14af7f28875149857f9b8965bc1d04cb8ee2e67c14a493a3822fcd0a2dba2677e719b8f2c8bd09431b82ba56007584beeacaa1f081d244b0d771bdb0c8033b18ca9597443ff8cdf754569dcc2dc4d4c212e2bbee88925ce73034e19167cc7ac46059cd3b9ebbf6bc3a476f08438c61971af139a248821002480f42c2b9c0979ad3bc6868565ca3fcbc124a7548d53f56b51c9f8aa387b59b07638c7aa45704420b3c24642035a7884cb42f877260c29697809aa7482e3fc356d8ca061c1c443cf24c4535bdeccb02c3e3b8b1d90e5b47bd11615caf849da5811aa743b9bd7810c470187e81af9bdb4d1307303f615ace2a58e7ecb3be260e9f7c1e10eb3a84f207d2e75a30c7c741ea45fb04a9473c1425f80a9186a7f2625ea6abb4aaea3bb50602df23acf8e452cc01a909ec9034acb47b969d904213f0a79edb7766d0290005c954a1da0155f7318be854fdb038d019c1904b714f0514ac331c3813bd703b45076365be4b47ec510a9f585907bc0f461a6befe13a2667593e12134a86ac139777a50ccdad16b6891a0871621b387684b5226368400164b29109328f672cadadf7648377cd11c9232094165bb1cf12f694f940c3cd784c84925ba74c8a49dc27cda4c553c85334a860a8a55d8a75969977ad1f505b9b20ceeceb24a262c707843310f39434390ea5315a67491f0592bf722a1c2658c8a720991b26561e14b178c3a1028003cab8b69f60828f47b876d43d3f193c3820804068a5cae76dc3f27f5f1323e6a2797b9a13c86713a83ba9c161899cf295cfb4a4aa443f32d16b72616a0db4d3849fc41a7a6ba87f4af757a0ab1956518f0c1d832af7b7282d8bd81a2237107ee60d81e28eb64d6a153ae0eaa1a25797c284ef52db5eaa6df8ec3a0bc5ffa730db0dde8c5f38f266d5c680a78d264a7b96 -m = 90d79d75d0bbb8921cf70d46bab497022a8e750efdc99e5f1bae653275441c7b -ct = 7e2b3f001c83afb604595634a841e0d71327502b46d289e4d5dd27abbd0400206bc1cc315dae0f8f9bb8c69676b5fd0dfad5dd4d05609b5ac327f77eeced6d72139e4529574cbe4efc1a796033dce9dff2436e18a627ff4b30748002aa858bf6b9f12accca22088b727d74c1c3ef565956ed029b661ffac19f00c54cdde3d86eb59725ef82faa2ab55bf3abf0789e037cb95f233e93c7b73471edcac5ca8d5d94968eec87e0d9cea8f2ed79c3bfd8456fbb1727e576371264b22334ca4492d0eae431ad6aea4524f22c08f8c3928b703d7d7c23481622968ad7cc52d10e38f0b164c45f3742238555806283c1d781e8714030bf60d3cf414d00fa1c46f5528db038618e918e98a6a36d7c092575e1ec5a6961485368147a38f52bea70089244ee06da2a814f0478299ae34896089ee6a7a2701512443e492e9fcfde204b45965cce878355e23a670779b140deb556dbac7448cae69a90bf2359f8d6a8023233bff39c195b16754cd1a43567b449742e643f16badd4907922f9c7e3b333ae55f2b28d3ff896e83ad412ace77aa18d76a50ffd417bbf2f5cab1e23ae417e855f697e4937e988c0040dea224bf0f99d3521252a4f8ea00f1311adf4a61706610bb2a84d761a294806b03de026096681a0d249bfff4226f1cee5164c3d54180e7123d2069663505014b0b445cc0abf27ab73209e89a1fde1bfc0229a6d2e9fcd9562b7bdc5d4e63a7955ea8cc5bb8fc0c2aa23e1d576269e4cc0696df1a404bb9e6821bf0b541e1bc2eb643691ee390e662a8a8af177da61720336183cfe8b5963effbfb97cf9a12df2b6fe59a613e693d25a672ffe633575d5a2e5b6f97c122d7e1823a299dc87956c0cc6e35f055ba9f08916e163d3d0609ef7225c9c507b8c3021a6fede3e48df94b21e235a38a6a506c9436eb83b19b33ead5649012cc3eb866493965e55b09024910df0e45962e46c33dbfc7e1f7b854bb30197bebe2956108f67243d52daaedf84aa65af71373b8bfe221c70ef833ed27b2caa2fa744b322a4aa7edc1854ecb932bc4008a284f4c06eb87592068123e6a137f4d5fc216de6b17c5c6f9819928c9acb9e9054b101c320df769b12d9ed4e0d1579781b91f9c97d2d55c34cf4309c33e26d7d616a3b52e3d3c59938bcf11f6bcd70fb420a6590a4be120630ecd6c2368bcfd7632b522854947c0251ed4906ba4bda3292019f1730a17003802a43562469e6eaa1c23e41cf88d2fe7ae803e4fbe44968eebd1b714e25da525349e941eb7b651aa391596e47ad9f3e298d1a748348fb6a322716df3a027050501e5adfaf41fcac0d5f22ac5360a049f3638b0c90ff249ff1a6a1208baa375dd19e79a6dcfc33bd9920d854c8eb12ad4c8806e3de032a3751f005f59377d51d5e70012d318d553af10162674ddcb19f11c1a9c07dfb948c700ec50f87802a9a18c8fcd5239ca762350cf436ac84cf467003035638d9d8b9b145f2d7f35bee3bd00c59d6119b634111e1896de86f5fbf359e9c86bacd73f9f432abbba -ss = 71156980b8970fed7f2213594630ca825ea8eade58cc8225df8111460412b762 +sk = 67a93bb27acd00c9b95aa03552809c38a08480dbaa67a9584a460345e20e5f381c9a82710ef1709ca51393f916345719bd3144b3121a8608c0a48017963387f7a31c5febc6b6749e6bd9be3c58a9a77b53d7762f5854a3467a85941ca2c03873c0458b940275e5ab85b83a5c2027894b92246dd8632d68a310fbc6d214381128528b375fbb8c3c7923ac6a8c7f9e37c2ea4c6b72e3451922761ac274b5cc8569ccb93917a748e93c190320e3f1381e08cccca70903975ae25689c12709c8e9096b16a26e4439c2552a088194368b36efe3871a6a1cd54ca0c70974ac936e45dca01de296a14c7d20652999e61841dcba6c0171fcb406e14a95b0c02517447bb9370996176bfdc5beb4316c0ed34a13431e34ab27d9dccd3ddaa49d314659bb8d89325099d0b06931796ce65c0628c817393bb1870f19a10cfe3546d8bbc2509058327626f490a1bbca6fbb653ee1c3555203353509ab14b64cf8a29c32b17096805b8d751848dc4494279266f2cc474228b2b703cff81f0f29152f4570151517995262d705afffc08dd413c12f37b605bc32ecc1292b9ac99e4a34f911c8db990ecc9a3dfb37517446908b91b1172a3d4f547b3aa642709ba40c3939734545ddb6b45c66a1a3e58c6d1929e5721bfc6a6021a635d86c8378d4a0ba68ce385b6b7fb983ec4a95c8b20b3ec750b082bf2cec89a6f8c2881650e5b71a0135c865bb3fb12a4c2c3c917d655a2997984c8557ecf1943436a9fecc5c84808e38701cc26a251f458334f59bd40bb0d8f82e74071a5ae3c9439541aee59c6e46a5852834ce5712b3665018154c5339467d606af189ccf20c68c583c96d969815109cd3ecad4f5ab0a8bb8a7b68359b0319078a7405821c2709a615864422ba0a3970c8ea138ffc1522b1a53ed1c71d396a0ed6b782c6552c70216679bb4761a600634276d553cd703897c6943a859112caf9a7ac99517c23ce6457aa069b6fd2775efb262dbc27b02fe6923d14b047a25cdc6b86d20a55d85108ff276f121a352e098e5d4cc3ef92b3a1c4a38244621b055d5f812189f6941b492330fb1ab0a442a656655455b38b522ded5640cc4136df6cbf4c4b0651531cd8c95280e2af13fc57c977bbd1a8bdd253096ea98c3ab33a516448a8301a4b141ae213bad2f640b2d5846c99a25884360f604333197816ba9dd1d0c427c5b8d3a6b434207b8539ce5092ccda67a755d6a6d7e8bb6bb02af1ca7283e797f24a1042d29b64262f29b0482b840bd70a3d6d54205df412dd6490e3dc38c1236758f65e461b11ca480b476875c692508e7bb90c430797e1917041642d88506c07255aa92ea32508462c2f4a1661c05114c9361f651b7c5ff70b42659ffee71f58cb79e445536b8948142cb4ec16cfe5b21da659c2dce452346323f1632c37f128a6525f40e03d6c073e05476252b2b0483c4b87c1c1fd8c972cf651eb9684fafba3f862c8619c089f01277c14be7cf7790712ca1e8877a48909efa31d814c1c21f4a151b886076840546419a1c8b6ca4466389a3f6dbb69e8494d7b25a4e9b234a8d928a26b946ff305b8a33b0bf8b3eb992d68c312b4074788e69d1a5a211c3b55f8c654ae778fbada1d75fb2305eb362461c4a2e81885084505c3862c3b647d181805205ef3e4ca5c30c46a0c21eb97700b70c2bee78d862b3e19dc1e0cec0ae6998a7b3c4fdac39a950027fb2a3bee027a8e54b4a5b981bba01badc0b5ba6a36a2913f1c1a046036960790ce2cf2583e6c62a778290f242b49606ecf24b3a0dc023b22ad8945a0b8dbccc9356475b36b2a990d7435b12e1536a21079fb7802b998488e690f763646c3b66adfbc8161855b20ea18afd87229d05e60372694e4c4c6215344da04173559d7954b029555e6ca4356f6cbe325a39431a64df06e75c63ed0e40bb0cba6ed68bc7211b02f1165c370ada1e0acf4ab61c87cc32f7017b4a26ff8cc0784f76047316af6398ddecc0c62e9a37fc4ca685017b33aacf597767312192cd330b2f3a84e0bb858480a63a607295a39f61510dc2c6998614013f45d319858da8228fe5bb6eaf3b03aa60f4b721a3f046d3088671930672c61c92d6005254372d8081be322ccead06cdd472cc5a481ee385096a5b8ce64b57781cbfc4457e917162da007bd7bad8e3803e05b08876842d9e6a0a545407a5067ede3510ccc4478c040310aaf46051454d855d1a5521e2514af676846650e0043bebf453e7488b6db8aaefcc16e26a75c52bc0ef3c80da3bb39f73b9852b54d9c606363438c45dac4ff1a1913d81b9a80544177ba7db6503a04a5405299f80a83fb7135fde04f8cecc0962461c0e80298d219531c9cbf00a3bb5b84908b5a807739a63485128512c0478084c8964f9064cd4514ce92c30454ac25b48919b719c5a853010a2eb712b80975660456562c4c448c39162ca63aed14af7f28875149857f9b8965bc1d04cb8ee2e67c14a493a3822fcd0a2dba2677e719b8f2c8bd09431b82ba56007584beeacaa1f081d244b0d771bdb0c8033b18ca9597443ff8cdf754569dcc2dc4d4c212e2bbee88925ce73034e19167cc7ac46059cd3b9ebbf6bc3a476f08438c61971af139a248821002480f42c2b9c0979ad3bc6868565ca3fcbc124a7548d53f56b51c9f8aa387b59b07638c7aa45704420b3c24642035a7884cb42f877260c29697809aa7482e3fc356d8ca061c1c443cf24c4535bdeccb02c3e3b8b1d90e5b47bd11615caf849da5811aa743b9bd7810c470187e81af9bdb4d1307303f615ace2a58e7ecb3be260e9f7c1e10eb3a84f207d2e75a30c7c741ea45fb04a9473c1425f80a9186a7f2625ea6abb4aaea3bb50602df23acf8e452cc01a909ec9034acb47b969d904213f0a79edb7766d0290005c954a1da0155f7318be854fdb038d019c1904b714f0514ac331c3813bd703b45076365be4b47ec510a9f585907bc0f461a6befe13a2667593e12134a86ac139777a50ccdad16b6891a0871621b387684b5226368400164b29109328f672cadadf7648377cd11c9232094165bb1cf12f694f940c3cd784c84925ba74c8a49dc27cda4c553c85334a860a8a55d8a75969977ad1f505b9b20ceeceb24a262c707843310f39434390ea5315a67491f0592bf722a1c2658c8a720991b26561e14b178c3a1028003cab8b69f60828f47b876d43d3f193c3820804068a5cae76dc3f27f5f1323e6a2797b9a13c86713a83ba9c161899cf295cfb4a4aa443f32d16b72616a0db4d3849fc41a7a6ba87f4af757a0ab1956518f0c1d832af7b7282d8bd81a2237107ee60d81e28eb64d6a153ae0eaa1a25797c2729b5a50627688a4cb3e37cc0fef22162ddbd848e5aa641731f8e60b4b79c93f +m = 187361c0147168efc571fc7c181bb39144a8f7ea3e878d28024d19ba42135bd8 +ct = 2346f9715d35d5d500c8f5966cc4241bb74ba3cbc5ba3b922c36a1a68cb93e5f62421110ae7c7facc663e787eff1426cc170ba73ff934f912e65779fb4d2cb12264106fd64821bccad40875a69efb650eeaeca8797a629b30e6de6437efc8d9cd3a54bd9f0cdcde0d3be33a3c41899b36e077c7849d53803124b6973ff3cc79095bf3c27b7875971f2b6a6fa581532f540976a34b625efe3704f6ef04258a189365f23a4b4b710f1242e4e0ac44acae9f454158f7fbaa16b2aeaaf51d014524d870b8bcd788bde7ca8004f585d7bd897d79408498c6582ca3e3cc76479add4e3186db2772379fd927bc2d08f4e4ac595d22fc2f840404d85513e1eee05c42885ca70b04efe791f0da09f4f6032bf8983e8c9179a0e1a085cea8f95bd82bf1de23c9b46bc3ec92500aeb4f4118f16e7bb11944dbddddfdbb0debe077ee505a90aa1bc0a240493d49d1668ccf1a14b870d6859554fb0a047632a94c0813b19bec4ec5153cd8d1b307a024943ed80dc7e6703028f879b5676a20c2ab590d997759b9052aa2ffe749672760b54a0e276630829b3a6d78d85b25cd8d1765906660a80d90b548d6397948d6a717060ca9b8301c7751fc7115cea08b5fabde7045faebcb409344e0b7e5463d1f5e0bb722ab73c584f605197040a1963c25dd723ad1f5f9ed36a893ab426e7472ff5566d7a7cbadb495e01b28341671b5c3b84d87a024f3763cbaa8e043307eb2707762986a0c54fde5252b67015b24a31e8197064e83440019728de6eaa27a348fd7ba0b4b0bcec5302793fb961dc11dea0fcc23c84be5bda50ad6411c8f440ac15874f3016e601884605815e3b3abbccf372c3d68c8fe461684ee3aabea909e5e92dcb39cd202e7d48fc28868d6058edb4b0e55aa7bac47cd1eaa38abab0a2f103a9271abc739dad188f2ec030b015897a1267d8d31666ba0908636bc6ca5d55e7660dbde81e02986a675df9cff4336f3bbd02b9902079baa0d59b7f1b6738992cb5481510b97b7b26a052a4817e36bf56c802d23fe457bcdbd5e9cedd151fc6759a8c794f35e33d41ee1f4b6d783768b1d48c95dc8d9ad86713f5a64dc191b4cbf0578080b9e300f8ef7ef1eb72b8c0efb256dd249434dfb46a72bfc82da2563a46e61f158f3032cdc49b2b96d8cdacc55af3004f23f587f9ef8470d0251b9ac3b7453fb8419bea5771b6aca2025bdc7dbd16682e3a0862445d79f149070e9da548902b58d234b07da0d12c42eccf56de3701566d063583d5fccf3e88ea045a353461a21008d5e7712b6733df7d75db2c87cd5a8d9885178e8c7373b345c8da3b4840e09a578338ddb25519c5e7d17c9c58504983be22f0e569d28f195e746ad1b52896a9caabdaa218eb727420cf90a5bdbcd0f24750be25f6669282a70d64f9fc9bad4e0dbc3572824c47f0c4aff6bb86d936eebb0eb7dbcc9d795b8469a2d0d7e55c108ab0d99068bd6bab8e4a1ba62ea5ec89f56b7ed9a6425da741ee74523a32a3b7a168e81d6ce1632b89c2d2b1269014ecb4 +ss = ecfa00644757c95e8a66c87a4d1fe52ebb7592234ebc5cfe51941d8c12118095 d = d86634ecf96cc2603761e284c0e36734cedec64e7ff486469e38539c71141c5a -z = 99daf37400cfe59841afc412ec97f2929dc84a6f3c36f378ee84ce3e46cd1209 +z = 0472c3d61e4cae91b22d2f5a316794c723fbcf7546db47a42a15f1450ca3282d pk = 89c28969078e11664ca1554eca81b9542bae2ea8cc12b44e81b3354818141af0b494543d4674160a086f7e8755a87258e7e6a6aeb96955286924b42636e04583f74184133d8acb9067925f4969642f274085f70fc12361ff96c3130b143e23797f2a3a6cc757c97454cc8aa5d9c062f9254f4cc7335b44cb66dc712b4677c290ccbba08cfc3948c535be29f44736a23b4c8ccb3978404e419a08a67aa555becb48bcc161cbc5492b55e3498e74bb515c28a7a44a3afa0148ec3411d82a1ae103513074a13938a5fc17dfabad006d90455b4b5e45079d7bbe956c7a18a8bec9a64c1db72544cb00c6997d545ac7e3bc5c6565885536af486417e728cc99c78cfa12a1f7697f1ad26efeb7262800ac4e0121e766aa9bf0a74ae635074c62fb6ca79975761419b12a985ed7a2c8788c9020462fb5764c087681be1595a5ea4ee7234aa2d22f4119b559a536e0da0e8d0b2e493c2b5bd576459994acd684a81a0955684818e1b88e348446a22c9143a4eefc7d8ec678624763d4548fe2451f078582c93c986b0417e1aababdd76dc0532e252b59e47370e81951ef75ad48c223316a40237152e3508ec164c7375594f73b5f0483c560f52f250aaef28431e9d1b2b9dc650d2371bbb7c8360c72369755bd8696fc5c83fca76a7fc02eff54ca60579caef6341385aeee34c7182445bfdb549bc59f70b76368da88d47386f75968aba093e8f42dd3c7cd68c8028a90cb0c93cb44d42ef9d15e6ca978ed5b88914c4e20768028f2c927a33433d33c5e6a45a6c5ae8c252a83e68ec121347b025865f26912b89a9da7472b75b9aba75581852b97d27ea7c9c5c7e8bebc0094c01947f43a2c6501c97e43231310167eccbc4c3a2022839584a12ad5b51b4cd308c94302e58c70eff7b24faa051cf548b5a73ab4254179eaa038ec95d4d4182d2971084cb33a6ca1106076dfa76ec0c4b3bb5c7266a481001cad07d12051a77e31603bf47c62dbf959c89774587111db1b038ae834e0a08c27f2b772a967179a9bada1ac12bcb8fd3b06ca44b3f11a6762ab51a9a0b67fb83def8c9a712a1469b719f2557e5a03c6bac808d0e0aa304955a3e961618920d0bc2347c74ad6725a9a855d1d8456d2c26addd849e59b7ce7c85765064ed6d63039e368e9f18d4fa11e16f8cc88bb3ffb40b4c6269996da8a6b5586365292b5b1c78bf4161c171e2fc7a6a8293a96d61d683275eafcadfed74473e30a1026809076a1025398b745be723a78e008c85b558d2b76392f5015d1024c171c0fc6c7c0c0e631bef57166e660269231c3216fb08b6cff0a420aa413ec1285b7b5ae9fbb15f9fa6b8af29ec061996a7612de524c7e0724766bb51e1264ab50c3a095815645b1d1021060b90c96555e8a001044d16cffd7719858065efca6c2654ea25506f0541fae242dbb154e420c0dd4e13a79053b431b7c00768bf0f781810a0832a2b814c5517aa1a0949523e12aa35893912256a7370bcd9faa30788b631b87731cc5c831a26e8f48ad7cf9c935301aa8cb006ac59fd2ea5bdc1736b2a5523ff3c4d8f429dc037292e863a087bb29cc2732ba30bf11490dbb1f3adb3448d6110a774b25d242602c250999ce69d1b32ad3702602e6d28fdacdbd2a03546764c4fc1c62c0efb3462c7c88ab8d94e20b -sk = 0fcbac2fd83a9eeace0215c784e20260f0991b225897e94ecf93368b79565b478731537eac74550cd599d5268e03a25cf327606686ab8864677907a3c3555018b478fbe125498652d5259a31c2b4649c14c89bbc5758a9b53c64e95bc9ce30c306372d431cbc642c0d60e25136c3919f3bb48b280b9d5ca0b21bb4e1510ac49aabdf02c9fd66420b475d0731918a4a5d3c7a963a468fb7a86c128988ec36c34f475f2b87791f5604863ba6dca297ee29238ba79eeec5096e9b336cf0b24dbcc9feb8bfd77ac888554472d7732e7492c231302a073680c684870b86a05592355baf2620b51ddc7b17c9328d7a74da6367d9ec2b87e9221c297b5398cfb55c10e8a68323aabbed806c2272c192fb180e7a5b958a02dca5c55654a43c74216b192522bc2a2dc05bf865062cf56839831ebb837a3ed8c7368c15933730667b7463ab7026848bc9ba14616b2e88e17aca4109b5db56510b408465523307619fca752919b947eb40e5e8c19a7b4a9099734d648daac8c81c1c628c895400e245df8a324899273efb441b564305ec48ab305c69d37e846ac9b77a2917915e82286ddb397936769be7e37fa7f27a003090c7f2b9b395a41370b5a38c07c2d8314627267fa06bfc416d8ac1155df645c6150bee70c4cad8c6a5c564ba2571c9bc9bfaf0c2d12578c8198d49e1414cba5749d712556a537a4131f3f085f9047735482e23342b218101ad30122113060cca4196f778c77cad2ee58b6f23071a85b79c1215f0a7c8745abcdb768c3c26042d09a9a0355a5c45745d1acf52c205b949acf581ab75cac74f2364406a43a74269645166fe167642900d169a1e84929da4cb361e80c42dc702a79364f1d664528b6cec667bf230078af06a0b48466dc90b34ea7101512e37d8ba3a351d7023aee652351ae514b8d217faf09a07654b0cba1850041d7206cecb05c8f6703f762c97dbf82255daafcc3608e8891e3ad8b3d4e18dbcf6a1c2e74cdeb87d15236d70943daa722481692890a548d7c69a14fcc1155202ca4941c3900b57a452f281091a94781c64a9583c8d302c21484cc6159b88a931aedc4291e097982eeb0528c152a43b97dea2a0b36922fc60c226b61068c792f377b9f655940d73702d41bc515086e8f9266c53a4c15a35907cb2fc2a2f19bc5f974034677a33b648322cc9bfcc6b947b5346df2044249623e53430895295327c9b35f59ecd4a9521f4b93a4c031a624c12f40ba17b9f36908e462b928ad452ec74b84f9b5c1c69660038c85d6743f8a5a65b3787b5640d683b7a45009a1efcb5e50a35244c9431f21f1b6826311673832ccbc1794fea917268f5323726698f67bdb41bcc012218929649c972149393845dcbac7fb58582964405d4adeb814037a39e512c3fcf72a22ab70e21fba3822b493df9983866412f0439e1a613914042c982739031949b2780d8133e13e632fc4281de567a333c5d8ad458b848ccd65bc87a8b6b29134556a6780eb7b02e4437ae69c09e304210d5cce3ca3dfef261a809bc5dc44787a20afff49f3e0156e7b428ae1cbd3292c9d818844d4767342708e4016eb9bb0f7099876c26729f443e7cb3b9666441dba01c8397953f586e3da45789c28969078e11664ca1554eca81b9542bae2ea8cc12b44e81b3354818141af0b494543d4674160a086f7e8755a87258e7e6a6aeb96955286924b42636e04583f74184133d8acb9067925f4969642f274085f70fc12361ff96c3130b143e23797f2a3a6cc757c97454cc8aa5d9c062f9254f4cc7335b44cb66dc712b4677c290ccbba08cfc3948c535be29f44736a23b4c8ccb3978404e419a08a67aa555becb48bcc161cbc5492b55e3498e74bb515c28a7a44a3afa0148ec3411d82a1ae103513074a13938a5fc17dfabad006d90455b4b5e45079d7bbe956c7a18a8bec9a64c1db72544cb00c6997d545ac7e3bc5c6565885536af486417e728cc99c78cfa12a1f7697f1ad26efeb7262800ac4e0121e766aa9bf0a74ae635074c62fb6ca79975761419b12a985ed7a2c8788c9020462fb5764c087681be1595a5ea4ee7234aa2d22f4119b559a536e0da0e8d0b2e493c2b5bd576459994acd684a81a0955684818e1b88e348446a22c9143a4eefc7d8ec678624763d4548fe2451f078582c93c986b0417e1aababdd76dc0532e252b59e47370e81951ef75ad48c223316a40237152e3508ec164c7375594f73b5f0483c560f52f250aaef28431e9d1b2b9dc650d2371bbb7c8360c72369755bd8696fc5c83fca76a7fc02eff54ca60579caef6341385aeee34c7182445bfdb549bc59f70b76368da88d47386f75968aba093e8f42dd3c7cd68c8028a90cb0c93cb44d42ef9d15e6ca978ed5b88914c4e20768028f2c927a33433d33c5e6a45a6c5ae8c252a83e68ec121347b025865f26912b89a9da7472b75b9aba75581852b97d27ea7c9c5c7e8bebc0094c01947f43a2c6501c97e43231310167eccbc4c3a2022839584a12ad5b51b4cd308c94302e58c70eff7b24faa051cf548b5a73ab4254179eaa038ec95d4d4182d2971084cb33a6ca1106076dfa76ec0c4b3bb5c7266a481001cad07d12051a77e31603bf47c62dbf959c89774587111db1b038ae834e0a08c27f2b772a967179a9bada1ac12bcb8fd3b06ca44b3f11a6762ab51a9a0b67fb83def8c9a712a1469b719f2557e5a03c6bac808d0e0aa304955a3e961618920d0bc2347c74ad6725a9a855d1d8456d2c26addd849e59b7ce7c85765064ed6d63039e368e9f18d4fa11e16f8cc88bb3ffb40b4c6269996da8a6b5586365292b5b1c78bf4161c171e2fc7a6a8293a96d61d683275eafcadfed74473e30a1026809076a1025398b745be723a78e008c85b558d2b76392f5015d1024c171c0fc6c7c0c0e631bef57166e660269231c3216fb08b6cff0a420aa413ec1285b7b5ae9fbb15f9fa6b8af29ec061996a7612de524c7e0724766bb51e1264ab50c3a095815645b1d1021060b90c96555e8a001044d16cffd7719858065efca6c2654ea25506f0541fae242dbb154e420c0dd4e13a79053b431b7c00768bf0f781810a0832a2b814c5517aa1a0949523e12aa35893912256a7370bcd9faa30788b631b87731cc5c831a26e8f48ad7cf9c935301aa8cb006ac59fd2ea5bdc1736b2a5523ff3c4d8f429dc037292e863a087bb29cc2732ba30bf11490dbb1f3adb3448d6110a774b25d242602c250999ce69d1b32ad3702602e6d28fdacdbd2a03546764c4fc1c62c0efb3462c7c88ab8d94e20b2b757ac0425152bef72ed852ab1eb44f4359499407bb6a020ff843a31657c5fe99daf37400cfe59841afc412ec97f2929dc84a6f3c36f378ee84ce3e46cd1209 -m = be8a32f97b9a8d596382c02fa2a0eeebc15c083e970ddaa4f2622b91d6718663 -ct = 269412479f44c884a094a5b259f76d28cdca0361ba64c402491f98789f0d46b7e31e7e93b17e8931aa3f83e3d6b6df59b1dec49c1532efacc9718247529e38856fc982e92af949ae1bdeda805e8c43e05d2d8c305e2a753f322098483616c9d48568bb341c3818a7316ee7d19145238c38cd3e04dc1cc6e7934783d3979c0827d0bfa69e5bf8f8a8f3b0299090f7468e1094dddb0a231e5a516ae2f38275d2f125f850d7b3c6137f0da50bf680f13bd7f001e978a54c06bfece1401039215753bebccf7b1b99f219e4d562e235bf48976cc59f3a3ab470ecc89b426787ad39c326cfc2e53ddd55fe02d0863c0f9bf1b1e1ef0d397990f9c13a6993d63e140a7f936b8048decc487576df2722a00335ed4c620452188c5fe9356169d8c48eab7e2ac66471a7e35bed338dea11333b190da230d8a8063ce734d208141c9ef622f30e5cbc1424488b708f955b5fd1a0e613580bba1866c1a027cfb83def2cc92063693eaaf7c087adcbaed63f891e2a9cb295659e2b72b0c3ce8c6db44b9dec84a0ae491d07dbebf355c4c05fd2940b30774ddab5e0e448245d39e13634c1b49450b0e77f9f22f76c053884882c4f32b34748140a4a3dc3a296e6577f84cd047563067acbb315961278d667e6fb67325f3987a37149f463f2f43416dadc28679a0eb3f1d20c36af04da09384da537aad03bdd880ad06a606ca720a42c4034801e5dca8e250140b3c09b9f7ee28e242915e8b23c936529cebe9c887095b5ad25798c10b474e4d2d682e3c5e7c83cb2b4ade983af27636a9c2882de397dbaf486efb4464d19f72aa8c6436ec561f9387e4b44b9831405b2462d8293a954688804e2bc620bf767ca7468f5a0431c4a871d521c416a36c8c0039d02caa91a633838b83b6ae7879e2e9eaca55c1792d9dc0c098b243406a773b79bd7ae46a377341766a1fb173d38a32af97c75f395248402899ecb0ae883a6e96ec34677e8b14293e8e5f67cf4ed94d4a7ef45b7c3df12647d3d9df00a6fcef8221050e861d539a86438d7694474449da409589205a7b513c434b95563aee108ffacdccd8cd54505f55e086bc615d15328ba7e72c81737e1a2e8b6dc14746b21cad2273818ccfaa1c9b01b22d347554533faf1524bcb2ae638dfde9955f74cca13a9ff82fd9eadc556704626214e2c928db464ce895819a4a12d4c4317fb840e8444eaba4c412805d63ad74edde6f7a9770fe679fbb028485f210725d0db99eb221ab67f60ede0c6eff26b914b7d887a97f80c752c0035d632d903d2d7351ebfd0b07b50935ac4054787d83b2b98e23c1c8e03e6284b83569c177194fc2b85e9a2ff15fccb4ccb66d7aa53de89167036df23e4dceb6113407e6c14df4847adfac1628464327f59a37dd26d60e433d4daa8bfe4124f225e339d91cb9d2a57fcb5968488c29514cced169e8dabb400b26ec2377d0ea71c1fb3958e4927ede45dfcb024ad7c16550c69187fbf6dfd055322725160f8c32d8f48de48e0a52872058a7c6b380510e028260cae -ss = eff5e4ce44fe0d0b77cf8109d46c8a888399d1608ad9e2248181bd205a0b23d9 +sk = 0fcbac2fd83a9eeace0215c784e20260f0991b225897e94ecf93368b79565b478731537eac74550cd599d5268e03a25cf327606686ab8864677907a3c3555018b478fbe125498652d5259a31c2b4649c14c89bbc5758a9b53c64e95bc9ce30c306372d431cbc642c0d60e25136c3919f3bb48b280b9d5ca0b21bb4e1510ac49aabdf02c9fd66420b475d0731918a4a5d3c7a963a468fb7a86c128988ec36c34f475f2b87791f5604863ba6dca297ee29238ba79eeec5096e9b336cf0b24dbcc9feb8bfd77ac888554472d7732e7492c231302a073680c684870b86a05592355baf2620b51ddc7b17c9328d7a74da6367d9ec2b87e9221c297b5398cfb55c10e8a68323aabbed806c2272c192fb180e7a5b958a02dca5c55654a43c74216b192522bc2a2dc05bf865062cf56839831ebb837a3ed8c7368c15933730667b7463ab7026848bc9ba14616b2e88e17aca4109b5db56510b408465523307619fca752919b947eb40e5e8c19a7b4a9099734d648daac8c81c1c628c895400e245df8a324899273efb441b564305ec48ab305c69d37e846ac9b77a2917915e82286ddb397936769be7e37fa7f27a003090c7f2b9b395a41370b5a38c07c2d8314627267fa06bfc416d8ac1155df645c6150bee70c4cad8c6a5c564ba2571c9bc9bfaf0c2d12578c8198d49e1414cba5749d712556a537a4131f3f085f9047735482e23342b218101ad30122113060cca4196f778c77cad2ee58b6f23071a85b79c1215f0a7c8745abcdb768c3c26042d09a9a0355a5c45745d1acf52c205b949acf581ab75cac74f2364406a43a74269645166fe167642900d169a1e84929da4cb361e80c42dc702a79364f1d664528b6cec667bf230078af06a0b48466dc90b34ea7101512e37d8ba3a351d7023aee652351ae514b8d217faf09a07654b0cba1850041d7206cecb05c8f6703f762c97dbf82255daafcc3608e8891e3ad8b3d4e18dbcf6a1c2e74cdeb87d15236d70943daa722481692890a548d7c69a14fcc1155202ca4941c3900b57a452f281091a94781c64a9583c8d302c21484cc6159b88a931aedc4291e097982eeb0528c152a43b97dea2a0b36922fc60c226b61068c792f377b9f655940d73702d41bc515086e8f9266c53a4c15a35907cb2fc2a2f19bc5f974034677a33b648322cc9bfcc6b947b5346df2044249623e53430895295327c9b35f59ecd4a9521f4b93a4c031a624c12f40ba17b9f36908e462b928ad452ec74b84f9b5c1c69660038c85d6743f8a5a65b3787b5640d683b7a45009a1efcb5e50a35244c9431f21f1b6826311673832ccbc1794fea917268f5323726698f67bdb41bcc012218929649c972149393845dcbac7fb58582964405d4adeb814037a39e512c3fcf72a22ab70e21fba3822b493df9983866412f0439e1a613914042c982739031949b2780d8133e13e632fc4281de567a333c5d8ad458b848ccd65bc87a8b6b29134556a6780eb7b02e4437ae69c09e304210d5cce3ca3dfef261a809bc5dc44787a20afff49f3e0156e7b428ae1cbd3292c9d818844d4767342708e4016eb9bb0f7099876c26729f443e7cb3b9666441dba01c8397953f586e3da45789c28969078e11664ca1554eca81b9542bae2ea8cc12b44e81b3354818141af0b494543d4674160a086f7e8755a87258e7e6a6aeb96955286924b42636e04583f74184133d8acb9067925f4969642f274085f70fc12361ff96c3130b143e23797f2a3a6cc757c97454cc8aa5d9c062f9254f4cc7335b44cb66dc712b4677c290ccbba08cfc3948c535be29f44736a23b4c8ccb3978404e419a08a67aa555becb48bcc161cbc5492b55e3498e74bb515c28a7a44a3afa0148ec3411d82a1ae103513074a13938a5fc17dfabad006d90455b4b5e45079d7bbe956c7a18a8bec9a64c1db72544cb00c6997d545ac7e3bc5c6565885536af486417e728cc99c78cfa12a1f7697f1ad26efeb7262800ac4e0121e766aa9bf0a74ae635074c62fb6ca79975761419b12a985ed7a2c8788c9020462fb5764c087681be1595a5ea4ee7234aa2d22f4119b559a536e0da0e8d0b2e493c2b5bd576459994acd684a81a0955684818e1b88e348446a22c9143a4eefc7d8ec678624763d4548fe2451f078582c93c986b0417e1aababdd76dc0532e252b59e47370e81951ef75ad48c223316a40237152e3508ec164c7375594f73b5f0483c560f52f250aaef28431e9d1b2b9dc650d2371bbb7c8360c72369755bd8696fc5c83fca76a7fc02eff54ca60579caef6341385aeee34c7182445bfdb549bc59f70b76368da88d47386f75968aba093e8f42dd3c7cd68c8028a90cb0c93cb44d42ef9d15e6ca978ed5b88914c4e20768028f2c927a33433d33c5e6a45a6c5ae8c252a83e68ec121347b025865f26912b89a9da7472b75b9aba75581852b97d27ea7c9c5c7e8bebc0094c01947f43a2c6501c97e43231310167eccbc4c3a2022839584a12ad5b51b4cd308c94302e58c70eff7b24faa051cf548b5a73ab4254179eaa038ec95d4d4182d2971084cb33a6ca1106076dfa76ec0c4b3bb5c7266a481001cad07d12051a77e31603bf47c62dbf959c89774587111db1b038ae834e0a08c27f2b772a967179a9bada1ac12bcb8fd3b06ca44b3f11a6762ab51a9a0b67fb83def8c9a712a1469b719f2557e5a03c6bac808d0e0aa304955a3e961618920d0bc2347c74ad6725a9a855d1d8456d2c26addd849e59b7ce7c85765064ed6d63039e368e9f18d4fa11e16f8cc88bb3ffb40b4c6269996da8a6b5586365292b5b1c78bf4161c171e2fc7a6a8293a96d61d683275eafcadfed74473e30a1026809076a1025398b745be723a78e008c85b558d2b76392f5015d1024c171c0fc6c7c0c0e631bef57166e660269231c3216fb08b6cff0a420aa413ec1285b7b5ae9fbb15f9fa6b8af29ec061996a7612de524c7e0724766bb51e1264ab50c3a095815645b1d1021060b90c96555e8a001044d16cffd7719858065efca6c2654ea25506f0541fae242dbb154e420c0dd4e13a79053b431b7c00768bf0f781810a0832a2b814c5517aa1a0949523e12aa35893912256a7370bcd9faa30788b631b87731cc5c831a26e8f48ad7cf9c935301aa8cb006ac59fd2ea5bdc1736b2a5523ff3c4d8f429dc037292e863a087bb29cc2732ba30bf11490dbb1f3adb3448d6110a774b25d242602c250999ce69d1b32ad3702602e6d28fdacdbd2a03546764c4fc1c62c0efb3462c7c88ab8d94e20b2b757ac0425152bef72ed852ab1eb44f4359499407bb6a020ff843a31657c5fe0472c3d61e4cae91b22d2f5a316794c723fbcf7546db47a42a15f1450ca3282d +m = 295f219917d44b474de067472cc832406bcd18447df12f87bd117662cb0f2e77 +ct = cd361223cf480b80ace3632a15063fa98f6d61d4f65860c7e14714b5a7f28de5c091cb130f239111311101223fb81d89aa7c23798e0392177ded4ad50c0e71121fcd0c0a36c0da37ea2c7e87bac9e0f934673c305a91d4d9e857d57773e6d579bdd3bc5dbcc7ecf6aad3cfe9b33881433c7c32ba76ad88007a9c6fca5b2aa315ced1397937742b2fcd39b0ec57b7a5ceb7949b248214c555803aba844d22c1e075c7b425ca65d7b9270d0a53d249ae6ac4709347e4f62d13f3cc8bacd7da4cc2c730308ca582adb17a6363db63d5bc66af66afda1addc227f3f0f396aea99d022ce942ada36adf7e4a65aee1cc7455bd70c3a89558fd9cd15f08d5ba7295194ca218049e261ea8ae277b87a6a1ef3a30f8b56ab9350fa78230e04bd446775811555001d2d3743af7ea5061117b3b30b281bac42c4d88b231eafaea4f97e8932347d55de342a23f31660f4c08d755aaec25b6bf57b2ae28b2e0610fad7a6e12a4f591a17bf302f10ee277a482de6338984bf7d9433159e29ab5bb6d79fa4359be043e7cf607e3d1149d43cc3511b333a7e8204f58bf1961604f0194027fe6f29b582020a80f8127ee4c49082d822359bcc108b9ed03c3a59ad06af9fece8771ba321505cf7e5a25565cd823dd8f2aa583f45bda76bae8276758e3e5efdcff3b7b929d71bf1d4041bd655b25d7fae7266f3755157172fb60642e02a70eb28a226c6d9e0ced87eaaf37ed78721fbcd57fefe2cfed54b41cef16732ac20845905902a5bd18825250d53c1b210f1cfc4dea5e454eb0d0a2b34506c4fafe78e38705c959a6f693421c57d01ed31649119ca21b5362bb90446462b160b0ec5a61d2d7edf69277d3e1dfae1476df3ec51143249377e95c6d40d3fc3295724475a791c4bdb1d9fc766597b1c7f2cad42910684b54390adc84851db9a7e8d1a3433c85a9d452cf0bd3c8ef679e131d6e9dd82a6bbf6ad5ec44b5e001bd2ba3bc12df443ed32b47ee0baa6ee9eecfe7dd52ec7b996585e9ad17d2d7f5d9fdf5b77a5d552a3b820c4ef1b326fbb225f67ba5d20f80228a24b88d5b690eebb1e90ad53b4ed3d010443f6923ecbc1dfef56480ae53ec0454b7c036299d2460390a5eb17d53707c2a909c94c88d475fc8977d3b92c91e0e698c35fbe479fa35c0603f25354edeec851e69c697b9f262ac06f6c584cca8ad96102dfdd789f76aa00e25ce771400c8a32f0b981fac3b81f5d4da1c13d9d61c1421d6fb7d7786eff8f2c4505103966b98ed2c5ac25fab0a9bc507c5104890375360b3d75c86565e0c0e6c0ae5acc984b675aca97e7a9b77f547ee179c511a9f49bef615d7e2d1b00a846906ccc062b183ee2bda2202fb084cfc89ad84b2deb8681bbbee3e1231105a77dbcee19e3947bca5e9515bbadcd582483f96ffbf4d3ad87dc47e1cc5e8d14811f158a41630443951819ba864479f2d2104fd28b8c478d954478269b47949901709f1c58c59d5b540b9d2a1f44f92cdf810c5d5ab847e9754fcc89821db578caf9f75c2c93044 +ss = b4aeb74357e6f7d976f210bb04feea974a4a56edc42c733dc1b456f215cc3aa2 d = 0610678ff4dc3128e1619f915dc192c220f8fad94da1943b90aaec401683a492 -z = da1804ddb5aa9b1c6a47a98f8505a49bae2affde5fe75e69e828e546a6771004 +z = 81b292427d57feeb160f9347348632e1cd340960f6e6ea2422d194a0109af1df pk = 764b51d1dabf923518de898c5e7cb5e0066fd69522f5889dc05c41a472c983583333132052a1c93a464120b325764b8665ca42555b98d8d6a93c88a0a383ab51280f52873f2be26e12c131677027c616711d478342cb424b0463c88161ed84bf6e869abe9cb915d13534d2756dd72343359e9911624dc7c6e828b19d6cb178c43a5ceb9360d2939df2744accb4dfe8aa5eca35bf87c6ba265fb4ab7c4888516ec91e52c4030f5453e6bc9103b9c19cd83e69048272855b11b8af3edc09b04ab31179bee59abc76726fbe9612d271b7010844f62535f2f30d8417c35f17c1619b055fab6a0f5458568c753310299fcb335a7697e7cbc9b9eb1b14ac2d0ddb765b266b6d68bdb5b0236895328540b20f91bbd2910625e674b33a4f8b6c1b4f66c4130c2e973ab72d809282ca63edab71268c02a9d020bfc805410aae2dd4b699448a56049d1e9a58c5fc2abe159dec69c5027099a3b57d3a2560ce24a6f5017d32e00f3078b792309384421878cca555b7065d57537c804e10bac052788769b7c1121a78911a153fb56a365a2f97b070d7b61724d0c4d14c295d78be57a8aadb873d3af6b74d020b8654cf48543de8ca22371a48ded585b7073ecee0c44eec27c85b5a68f6b454b0cb10692039cc68ec2c2bf892804520c71be5b7badb807b4059a3d87d32548ba3e4b698ca150d784a8c2c35a67a8c92c68ac0037888b65a4c9800ba7a1ec050627af648fb61c87cc55b8243545aa514cbc550a8804c8598cd35786eb8c6b06077a1e2d4344e4a6baa789c305b6326e0bbd4402dbe26cec08a7c1a19457bc2677f15b984a74fbc52cdce48618d50c47400011b392908ac2cf08a579783a80fb2990cea90eee90b7dd81e6cc9c961372d8c720d7eb223d5a6a16d4571c1a93213b32289934f7b30a63527c6399920086940b7696503e623e63a050f4b69810b6e6f6729e5782b572221f596a09a1879bbb46a62a955043a30a2aa3e62e02ce1ab6f3d03693a8cb653e361d8783ffa37274ae06a3f2292f1a6557182006e493ff2653437a64dbea950bf6a8ca8836407fb489d42a6f6257770310f28715bc6411c81486cef3cb9ab500558f070f4a15817f8c177d63cafb176caf3b2b1cb7b7254c18fe15111fcab9e9a9682f41c9fd247ec532ccef514860a3fed330255323dafe46eed198041d732538c9424d43fe2f5481650470f08906791b2bfe65a445bb26ac87d9bd04aa648a54dc13a137b60e5c2779fe4b5a866620dc2829d42384aea9ab1552fca920f8929b7baa059dea53e6a5b3e492a6e45b5ae11f6ad24d035d4246a0cd53436687a0204a1de29aad2c8b53ad4b938a57c2e29555219544ff64115cba2668b54c6ea8779146980b58a2e669124a81ed4420c87b0601de23e3ccba915faad0c2b47ef6238dba9449274c64ccccd85e91712470e8f9a2866720059a8501c7762c0883cf9827bfd62bdc0882ee03b457be2b2794b8becf74ec0da4684282200a294c13c8a9ff376c1187911121bdd886f27514846f740b72aad5544cbd97a7e208635480acddf404fc067c82a45b5c97829f06abca5201429e9a516f66e65d07075cbc0c60c2a9734baadd68f421617fbf9515b569fd08bf3aef948095de1afe74bbc3bdbb45fd8f92eddbf0c682c81a98f930f6165 -sk = a5c7981510819ea27d27a945a0f6619d730dd196b6f3a158a4c48acfb82d1c348540160b0cc665c43c4c0e4567b46867ced06d2cf228d0b64706227593db7392395b7ea95360105c1bb05472787430654aa03b6e894c2add2a0467ea51b9486f3df18274c0a2079459df3b9aeab15d203b466ea426911572251b0c8fb51a31aa142bdc4142e393d3c527c841a03f796e0cf7cc71dacb47456fdd386527bccf6e43013eeb755924a22e3a55f74a8974b38e06908349fb3da5887d1a041c8acc6f07a75198462353942267d7600d5243095bb012d2a70be0a3fb2bb599832f8aa68652846ba501bab3aa574ad08bc991c8b86717b87a45041657d0264f35f0c2b70324eac43d591202cfdb9a7d357489f70f86d6308d3382cf9139106cb28d947ae3bc389ef18b728c1568436b3ef80644009a80f01ef550c794011e44f2812ef507bd55820a872b90e797626b8ef2d94012b4cf639bc5c8a7b87306753f93cb12e46a66c4b2053c037b87c51436cc83b884f7634a6950c419684af3b78d41006467105f753194144539df45ac7fa46e71815f53d2304b474a434b02517b083b058aed078dcf86746313bd8108148ea34658613560ca722a126dda147af8c5733705bc8343331bacc5b5b80e424ccf6114955056329a68a2a6403d65197c21da02a390c41ef713a814a798a434145b9e3a5c31a9614cdac8a8bcab6b5274490f5c45b2a307f492c28ff40ee39c2068a5826e8466542559e9409ff11b463e9a4eba0a2172ec8ea6332d3a5bb66531b670c52cc2f8b651b513e60a9e64795369e0c2cf56a9921669299b6b5399537e112ac358112810abc6945bde69aada92552a10219a630e26e4ac7d9b5c7469a960ac64a6d127971296c53a15df4c847d061e69cc030b9cabc6e58903c5adc88882cac147f2888263ecb6ae97a9b2aa245f131e2e2939f5c8bb8ffc012cb578b9babf90db062502b1923ca88b35c424fc6524128fd1d7b5ca719f5a9a538a51a97ababce07b006eb701ad8490b74462f93648fc39a2004db6e951b4c8219ce49395891594353b92b6b496d09376fb28711d87221851a5fdab80cc52a6352c062f06c80f891da2a07573b42bf0f6cd5d6b63fd4b1c5bf2572fc8460385a642e6290fb79a9b1cb18cbcb34bd87f7eb595f0598c67709d72011fbdd07a0eb6616a88b8e33571bfa7597be4cbd6976b93e32c2c088de3ab59dcf2234e553a5b2ab143c46df13211e816aed6d02bf6c13fa7f8b282237f249aaedbd3a6fe8771014c1b811c05fe86102c0b0e7e9b961c1000c82408d8a8aa381552920803418c49e1662c7ed8c3d35763c510585a78664ea0012a8a02f34b2bd7e96ee5c298dc296537c985577cac3e310568353ec2ca8eeab4bb1ee2393d5b3cdd25305b148fd8ab11f60b5871e9c9359a46a5da003e98b61d82c51cd9262764301c86268db87fa6273f9fa3c35b1c1fd822aaf2f74edf73ab5af9175070bdd7d5cc7600a516726c3e49348d138d19836391a54954ac4a0c029b1441c37965422019c2ca49cfca81317a211e22ea2297b865da163a0ae2a9dc25701e71847a05754cb733620a824f090d591c51c345420e226b8f3b846fd356e78b87764b51d1dabf923518de898c5e7cb5e0066fd69522f5889dc05c41a472c983583333132052a1c93a464120b325764b8665ca42555b98d8d6a93c88a0a383ab51280f52873f2be26e12c131677027c616711d478342cb424b0463c88161ed84bf6e869abe9cb915d13534d2756dd72343359e9911624dc7c6e828b19d6cb178c43a5ceb9360d2939df2744accb4dfe8aa5eca35bf87c6ba265fb4ab7c4888516ec91e52c4030f5453e6bc9103b9c19cd83e69048272855b11b8af3edc09b04ab31179bee59abc76726fbe9612d271b7010844f62535f2f30d8417c35f17c1619b055fab6a0f5458568c753310299fcb335a7697e7cbc9b9eb1b14ac2d0ddb765b266b6d68bdb5b0236895328540b20f91bbd2910625e674b33a4f8b6c1b4f66c4130c2e973ab72d809282ca63edab71268c02a9d020bfc805410aae2dd4b699448a56049d1e9a58c5fc2abe159dec69c5027099a3b57d3a2560ce24a6f5017d32e00f3078b792309384421878cca555b7065d57537c804e10bac052788769b7c1121a78911a153fb56a365a2f97b070d7b61724d0c4d14c295d78be57a8aadb873d3af6b74d020b8654cf48543de8ca22371a48ded585b7073ecee0c44eec27c85b5a68f6b454b0cb10692039cc68ec2c2bf892804520c71be5b7badb807b4059a3d87d32548ba3e4b698ca150d784a8c2c35a67a8c92c68ac0037888b65a4c9800ba7a1ec050627af648fb61c87cc55b8243545aa514cbc550a8804c8598cd35786eb8c6b06077a1e2d4344e4a6baa789c305b6326e0bbd4402dbe26cec08a7c1a19457bc2677f15b984a74fbc52cdce48618d50c47400011b392908ac2cf08a579783a80fb2990cea90eee90b7dd81e6cc9c961372d8c720d7eb223d5a6a16d4571c1a93213b32289934f7b30a63527c6399920086940b7696503e623e63a050f4b69810b6e6f6729e5782b572221f596a09a1879bbb46a62a955043a30a2aa3e62e02ce1ab6f3d03693a8cb653e361d8783ffa37274ae06a3f2292f1a6557182006e493ff2653437a64dbea950bf6a8ca8836407fb489d42a6f6257770310f28715bc6411c81486cef3cb9ab500558f070f4a15817f8c177d63cafb176caf3b2b1cb7b7254c18fe15111fcab9e9a9682f41c9fd247ec532ccef514860a3fed330255323dafe46eed198041d732538c9424d43fe2f5481650470f08906791b2bfe65a445bb26ac87d9bd04aa648a54dc13a137b60e5c2779fe4b5a866620dc2829d42384aea9ab1552fca920f8929b7baa059dea53e6a5b3e492a6e45b5ae11f6ad24d035d4246a0cd53436687a0204a1de29aad2c8b53ad4b938a57c2e29555219544ff64115cba2668b54c6ea8779146980b58a2e669124a81ed4420c87b0601de23e3ccba915faad0c2b47ef6238dba9449274c64ccccd85e91712470e8f9a2866720059a8501c7762c0883cf9827bfd62bdc0882ee03b457be2b2794b8becf74ec0da4684282200a294c13c8a9ff376c1187911121bdd886f27514846f740b72aad5544cbd97a7e208635480acddf404fc067c82a45b5c97829f06abca5201429e9a516f66e65d07075cbc0c60c2a9734baadd68f421617fbf9515b569fd08bf3aef948095de1afe74bbc3bdbb45fd8f92eddbf0c682c81a98f930f616553b9d62e64f9069d9fb94ea2c0806459b201531f4fddd708d162981cc1fb3757da1804ddb5aa9b1c6a47a98f8505a49bae2affde5fe75e69e828e546a6771004 -m = da2cfaf69e25b2a89ff2557bbb6f69e01d8e2e7bb27a7a1ce7e40fead16f33b2 -ct = 106849c5da689ef3a848336b4ab6542f621c0b9b5e8c5ac0b06d3bdd7336effb87daf2db0aba609acb904fb291fff9b6ca74bcfdbf7c563b16c0553e608e8d094b8c195bcd2b2d58fe731d4a4660f4743dff2a16267490f7f00af42946d0981c7ac0394ac78a44ea1d4ce07751e064a27d8b223ed37a2ae3b74e831cd66855545ab08b7d28473a031a33bd606f0deabbb62a06812ca11d9d1c33a70c5d214f42ba16c5ccf7d0e9f2b23c76f4e9ecd8d9d80ca64bd04e473a308539570d5959937d0b7670d8554d82ac97e8a0ae8497ffae014ddbb6a138b37c08b75e8110f2f9bd372153cdaaf3379e88070c16f177d96cb115e14863c098ab2b3b207fecb96122acdbd207fcefdef90ab813ac6d5e1362903875d5b6da35276069c5c0d3bf1f0261aef6719ee0861b3e2c5938dde47860352d02e354c363cac9d0cd944bac7c61000ba976b20516998672eba11e68785c8b8603c1becdacc1db883430deb8501638959d489d8f51ba28bd299bcd46e9188031a906c06d0f54873a8d065900822372d46c9365ce129173201ff301aa423ea13d35896d8ce6491b7be61190a803f9c53847c22205d011504e1b4c4e98ea395dac99193b9f44273ec4e0f4cd6468371cabc76708831de5201acde1c5a3a10f51bf5f986e038f26471a1fdc7803762ee240994cfa3c2e9a5c12c4954feeddbf49ea264645bad8bebc1ff536b02bb4207f2fd1b2e70b3fbb6c23cbda0dedacbb1f090e5cdd5210b650990e862f0a6ab2625871ff91650d09d7ea4da7dbf6cb166aeed23aee7adf2379267c708fc5d22bd2c12f22b3b944e04a79c10fff474a982b6cbf699dece2104dec8ea7f6b4d9e486cbd748cd9ce83e76f3f05111753f021d1629d62cd16b0fc4a39128b8b398179f1b33d94017dbdcea084a9508aabeae589e6365d48111e849d1656560d13844fc4ad7a2d0157e706b0bdea00d60240df2c5d70c223162241eea92cca23969cbfb3be7ba4fd278d831edd8dc941f74d21e7b296456303d82d4b3e6e5058220804158e23eaca8068354676b94577505d6414a27de9fa178ae851346fe3254a5f9490917adb080f332c2f9169d313daab26c034502e311685cd57eb66277685ec7ad6c5d53a02909128a348e097f5e0f7b75a7622b88818f8971c0840fa7592d245e32ed9b4a958370eaa14010a0bd92d28220e0f9cd7efb0c0a296c46dea9819c6ad0861164c39e7bf6f1b7afb0df2d290e233a30b1d6c27b74d2a4f4dd6b3953ada3a7c0e4e3a4f4f07ddf2db4f7460204761f717fd5c69f156c15e8206e93ceb426fe89fdeb4282bfe746f50d0b4bf9e5950ce8f03abab8b211bc619f580678ebbf9aeb439578bd3f9abcb44f2c53b7b84495c876b2e1911f9f1abfad34122b8b7b660f5d2e84de2ac504a59af5e0c722a9265b83b8440b73b9cd130576f3eae5525f757e23396a755619349e5b168ef891bd742367ff2ee5c5628245e7fc0d0d03fadcf651b4aa7c33c69c3e1f580decdfe50263200d5085e0d8f19c2ab6 -ss = 25c35f5858d03291c0132c970e6e072d8a7b33419b984b391a12891f878d981f +sk = a5c7981510819ea27d27a945a0f6619d730dd196b6f3a158a4c48acfb82d1c348540160b0cc665c43c4c0e4567b46867ced06d2cf228d0b64706227593db7392395b7ea95360105c1bb05472787430654aa03b6e894c2add2a0467ea51b9486f3df18274c0a2079459df3b9aeab15d203b466ea426911572251b0c8fb51a31aa142bdc4142e393d3c527c841a03f796e0cf7cc71dacb47456fdd386527bccf6e43013eeb755924a22e3a55f74a8974b38e06908349fb3da5887d1a041c8acc6f07a75198462353942267d7600d5243095bb012d2a70be0a3fb2bb599832f8aa68652846ba501bab3aa574ad08bc991c8b86717b87a45041657d0264f35f0c2b70324eac43d591202cfdb9a7d357489f70f86d6308d3382cf9139106cb28d947ae3bc389ef18b728c1568436b3ef80644009a80f01ef550c794011e44f2812ef507bd55820a872b90e797626b8ef2d94012b4cf639bc5c8a7b87306753f93cb12e46a66c4b2053c037b87c51436cc83b884f7634a6950c419684af3b78d41006467105f753194144539df45ac7fa46e71815f53d2304b474a434b02517b083b058aed078dcf86746313bd8108148ea34658613560ca722a126dda147af8c5733705bc8343331bacc5b5b80e424ccf6114955056329a68a2a6403d65197c21da02a390c41ef713a814a798a434145b9e3a5c31a9614cdac8a8bcab6b5274490f5c45b2a307f492c28ff40ee39c2068a5826e8466542559e9409ff11b463e9a4eba0a2172ec8ea6332d3a5bb66531b670c52cc2f8b651b513e60a9e64795369e0c2cf56a9921669299b6b5399537e112ac358112810abc6945bde69aada92552a10219a630e26e4ac7d9b5c7469a960ac64a6d127971296c53a15df4c847d061e69cc030b9cabc6e58903c5adc88882cac147f2888263ecb6ae97a9b2aa245f131e2e2939f5c8bb8ffc012cb578b9babf90db062502b1923ca88b35c424fc6524128fd1d7b5ca719f5a9a538a51a97ababce07b006eb701ad8490b74462f93648fc39a2004db6e951b4c8219ce49395891594353b92b6b496d09376fb28711d87221851a5fdab80cc52a6352c062f06c80f891da2a07573b42bf0f6cd5d6b63fd4b1c5bf2572fc8460385a642e6290fb79a9b1cb18cbcb34bd87f7eb595f0598c67709d72011fbdd07a0eb6616a88b8e33571bfa7597be4cbd6976b93e32c2c088de3ab59dcf2234e553a5b2ab143c46df13211e816aed6d02bf6c13fa7f8b282237f249aaedbd3a6fe8771014c1b811c05fe86102c0b0e7e9b961c1000c82408d8a8aa381552920803418c49e1662c7ed8c3d35763c510585a78664ea0012a8a02f34b2bd7e96ee5c298dc296537c985577cac3e310568353ec2ca8eeab4bb1ee2393d5b3cdd25305b148fd8ab11f60b5871e9c9359a46a5da003e98b61d82c51cd9262764301c86268db87fa6273f9fa3c35b1c1fd822aaf2f74edf73ab5af9175070bdd7d5cc7600a516726c3e49348d138d19836391a54954ac4a0c029b1441c37965422019c2ca49cfca81317a211e22ea2297b865da163a0ae2a9dc25701e71847a05754cb733620a824f090d591c51c345420e226b8f3b846fd356e78b87764b51d1dabf923518de898c5e7cb5e0066fd69522f5889dc05c41a472c983583333132052a1c93a464120b325764b8665ca42555b98d8d6a93c88a0a383ab51280f52873f2be26e12c131677027c616711d478342cb424b0463c88161ed84bf6e869abe9cb915d13534d2756dd72343359e9911624dc7c6e828b19d6cb178c43a5ceb9360d2939df2744accb4dfe8aa5eca35bf87c6ba265fb4ab7c4888516ec91e52c4030f5453e6bc9103b9c19cd83e69048272855b11b8af3edc09b04ab31179bee59abc76726fbe9612d271b7010844f62535f2f30d8417c35f17c1619b055fab6a0f5458568c753310299fcb335a7697e7cbc9b9eb1b14ac2d0ddb765b266b6d68bdb5b0236895328540b20f91bbd2910625e674b33a4f8b6c1b4f66c4130c2e973ab72d809282ca63edab71268c02a9d020bfc805410aae2dd4b699448a56049d1e9a58c5fc2abe159dec69c5027099a3b57d3a2560ce24a6f5017d32e00f3078b792309384421878cca555b7065d57537c804e10bac052788769b7c1121a78911a153fb56a365a2f97b070d7b61724d0c4d14c295d78be57a8aadb873d3af6b74d020b8654cf48543de8ca22371a48ded585b7073ecee0c44eec27c85b5a68f6b454b0cb10692039cc68ec2c2bf892804520c71be5b7badb807b4059a3d87d32548ba3e4b698ca150d784a8c2c35a67a8c92c68ac0037888b65a4c9800ba7a1ec050627af648fb61c87cc55b8243545aa514cbc550a8804c8598cd35786eb8c6b06077a1e2d4344e4a6baa789c305b6326e0bbd4402dbe26cec08a7c1a19457bc2677f15b984a74fbc52cdce48618d50c47400011b392908ac2cf08a579783a80fb2990cea90eee90b7dd81e6cc9c961372d8c720d7eb223d5a6a16d4571c1a93213b32289934f7b30a63527c6399920086940b7696503e623e63a050f4b69810b6e6f6729e5782b572221f596a09a1879bbb46a62a955043a30a2aa3e62e02ce1ab6f3d03693a8cb653e361d8783ffa37274ae06a3f2292f1a6557182006e493ff2653437a64dbea950bf6a8ca8836407fb489d42a6f6257770310f28715bc6411c81486cef3cb9ab500558f070f4a15817f8c177d63cafb176caf3b2b1cb7b7254c18fe15111fcab9e9a9682f41c9fd247ec532ccef514860a3fed330255323dafe46eed198041d732538c9424d43fe2f5481650470f08906791b2bfe65a445bb26ac87d9bd04aa648a54dc13a137b60e5c2779fe4b5a866620dc2829d42384aea9ab1552fca920f8929b7baa059dea53e6a5b3e492a6e45b5ae11f6ad24d035d4246a0cd53436687a0204a1de29aad2c8b53ad4b938a57c2e29555219544ff64115cba2668b54c6ea8779146980b58a2e669124a81ed4420c87b0601de23e3ccba915faad0c2b47ef6238dba9449274c64ccccd85e91712470e8f9a2866720059a8501c7762c0883cf9827bfd62bdc0882ee03b457be2b2794b8becf74ec0da4684282200a294c13c8a9ff376c1187911121bdd886f27514846f740b72aad5544cbd97a7e208635480acddf404fc067c82a45b5c97829f06abca5201429e9a516f66e65d07075cbc0c60c2a9734baadd68f421617fbf9515b569fd08bf3aef948095de1afe74bbc3bdbb45fd8f92eddbf0c682c81a98f930f616553b9d62e64f9069d9fb94ea2c0806459b201531f4fddd708d162981cc1fb375781b292427d57feeb160f9347348632e1cd340960f6e6ea2422d194a0109af1df +m = 281481109453c6238eb72d8995d5a09baeb0b830e40fb09ed20e37bde4826ddb +ct = e49acd43305211cb4319d02ace5a3d03fad14ade9e27ebca014597db6d17ab0e8a603600cf0e5245bcad4cb57cd2b7b9750a756369d2887d77125f165e0c71bbb0f35511d7a5bd0565a3c0d71d283bdf6e57e7248f0c4cbd03884954425bc0473cb45163e4a9a4ba1a1aab654672c1c556824b090c5e89528bcf0d6a606a1e0f7e5b7674657ab128715fae0ad6a3dc10d94f866571f28a57691cc900fe1083b01582093f269ebc3345030ed88561e8b1e5cda815ab307755458cd8a6ef9446ae9ba761ec8253445a2540e539b84bbf4f0d962454c3f9fd2d97773591b6482858aef71f5d71065406d41744c247cf4e5a19aad5e8ac80a19e5e8033b434996ba1bf0a8e75cefd4cfb884c45fe275dd09c9d96cbf86cc3b6220b709c5d31b1f426aad2c3da7bb1f6319e822a490bc7a0608f2bc38745dac09abbf8d1b9f363e3353cdcb1c74d072afe7e0d3f23194694c98d769aebd029d9080caed6ee045174713b665fa6d10f04208a2c49023a37363e954c7a90dcefa83caba4e233f71ee004b1b7ca55be16efb59d39b4e48390bc8949962e2c37d5e383c105e1f79d93298a3dba28a922e10441f656afd8afe80e1d3028ef1a9bfa9f6169cf19d1b6f0fa1cb3afe4cbf3a930c08c85d1a50b23b679cfd5222e809bb937c23d768620cb0a8ea2a75cb378f9576a3265a733ec360a63c7cd481dc0f151549b22e9c21fe8b383f2ccd2e37a6e9b71c7445a196f322a28c5e432f14b14982aa0632e627c5e778c7e5cddc3bf83aa1c5b0959327c5b4e527c85cd5470369b184cc1d33d7bc3b59fc2c7516404a3165803fe658eadfc1a3547c961c124138ed157f2e5118d991bda8c35c2a735ce212c603df22e05d30fdab2d7bb559f088df8f92cf9394abf4332daeba077c3b58d2b401e488cdb07863e27ef5e8798f5515059a9604995face2f9da4c2f9ed84d9a532077b9e0f5fbbcd28d0b5b00ace9596be1da968b67703a0d8e6fddb5a0cebe42e7fec430d70f01d6408b84edefb54344cfcb3a6905621679c4c1e5947ad9ca3640b78261168bf02a5282dd6094a9bf94526745f749507822943b3998a0cd378345b52d36d5a4fbd89e14008fd204fa3a5ec84e10408c593e34ffbd3fc2cb8d21be723afe04735a202423c1025b584cc6cc81f069f7f0bac3a1150f13bffe06f89ae9ae2c1139b21f2a6bcf5eea2bb820da5bda266beac3ba69a56607685b63fcd6d3afff4f4608b834e478286b8d08fb1d78c6c3744d67373b17948921efbb0a8ee297288063e80fb6b1d32fd274ad1b1915dbb8cdc5624ed6229f7382e0de3a67a63176147472340e11049e22da22c3071f66fac1bae0e9a4df79392e448f0e82ad3eaeec587e06993ab6da74e42552a3544026e517e6ae248851473d0a84dd2a84fb025c40ff7dcf74942f821fefe3999d1b19a8eaa46b3db2299ea02a444134b4a7247e037d9d4bbdb4dd96de48b1608a745c6af4ac41d649cf18458588d053d26ac29f6763ee887b0227a26084ebdd1bb34784fa460 +ss = 1c14cf303c1330c50786fe731325b1d31d7d11e39c1dc9ec58cb3c9b5d290a38 d = d322d56d8ef067ba1f24c92492b9c56df3a6ef54a304adc1b69913766a1ce697 -z = 56047447b810cc094d400ab204cf9ae71e3afa68b88586ecb6498c68ac0e51b9 +z = 05224fca29659d6c7a880a5f20d5fe02dc4491f2f095dcf2ddecbf105014c5a8 pk = 5a1278bf11b37fbab1db212359473012f3b545301ddc833c69a75afe16744557b5e28bc0ee895da16c2c5dd34fe6783949d555e580c1be7994bb008daf27a47f554932b87222e82ec670490ca5139ff49d5ed896218825056a8639b31d3ac8550356a408a01404c6aa9c2b7284e7c7c27036256b7902445dde00630d81930f4ccc518b9efd8ab24fc16a365b8068c90f7e09bbd23c2a6ab12792d245551a9894f704042501c8fc49eeaa0132701e29a3c97834530a7c61f1b8440822cd1bb6b11dca2a5951b4deb0b1268c2f5aa8cf76a6bd0be3013a37ca1a903ac634405ecb3714bc54610baa63bacf0a263d8cb018b03b0a286083998a7e8b2a573e570179712130a19f9ebc2337d43926f9c96460996cc03199d81a0e19259da696fecca7906931a787a5c264826099a3e03339295b587e7a4efec6a11aaaab057aa8689473f1f211c6d85499c46746bb00ba687a17877e6650c678d13861337faaa7045a16b8eb7173e7c08b6394b5f2b99ea3083ba175c55d350fd61b73aa790ca6f479fd4b01282b6baefa00a1946f6dfb855ce7bd50389d42856823301e01a228ac754cb65a0e323a0943b75741cb498cc499c8649b6bf87e991507194983aad1b57994b7d79bbcf2eb3b5f8734ccf3cea2662e95d486989144aea22c94c363571ac7dcd81f577645cf19b313f849b422afed963cdb701395020c2d18601a40a42429896aa9b0b1c10c4876928aeac59862414e143722a0b94746abd157343d15bb9fe500763b18c61b184407449b1b5ba8fb1554e4bb58ab99faaac9cdc3b698e64179b089b786204bf95eda86474ee799440478348989c91c3462446724340cd2376c682907edb58c85a4ce3ef46cc5d0ca345590ab14844b224735dc05e0e66ede94258f395fe867ab9d8c1b0fa80743002a15da197614295dc358f40758c9cc05e45bbc659b93ed611aa58845d94acc7aa75deba56d4d83c640c252975bc3165254c92957b78c9583b370ad785f2c16cd5cb9913839939c7293e6b956e23cc5d14cb3ab2a2e94f179bb076355157920085236f60b84449d43ac89c2b46dafa6b784438f3510bfc48357a5681043ba7428583bb5e912b08786562579df58a41bdb82114344b3ea3574b997f8564248210d4e50ab2277100b9a5423178b1f138e9d427762253cffc3cd095cb53a776f4fe015b5168b1a9759ac4acc77f90c69b307192b7b866753872a69813b1bcaab5cbb8126d8998e78d99f5a527992b89495a28e3fa83e75337ca2b896172ac244ab7e30761c8e3a00890046e5f599eeab65bf1a4cdeb5791cc10ade7197fb5bc754233f3b10c9ba2240adfc61c05231c36a6cf71aa752ab3c95c3756ef9373b677105d11f86e68036348bdd181f27407e344bcd297cb02bc44f077976ed588d6a846c2f839bc9bc4872617bdc17a7baa97af9a9322ff015956678e8d622cfb1a11ed929f29bb1f094c17f49417c09c1c443369123caf8701199c43bff97034efc6999424144c9395d9063bb153c0ed82b1c5659bfb23d4cd2c758a26b6c448525060f686bb14873cbf5046b3a3033c5c8081027bf5e3c51f6fb6a1d54a77c46b0ea4299a9da4ab03b95f9d3601f553d46800f661e2c9a7e548ca42e385cc6a0678f9e9d268ffce02c4b465a46773432109a75 -sk = b04c33b257b199352a85b55624f1a1a42b2ab72c4810b839b2bb2f51a502cd498aa258373eb3bd43e03973d129e4fcb61df58986809ec4ea4333659f03dc0fab236cd4e815d3f9524e90a28a3a0af869735b362fed9837855429700cb815c43a6e650e54d6267a832dc0385696274e1e73a12b5960a8409a4b4564de909b797771b4839782526fd69abf516a73f9eb8130f41cd6103a6e67c6724186d1c709d3d90141b1bc1c028e28324de4846bcc6837fc243c54dba144c40fcc6223fd19b8f54c11bc0982ffd366530abad387946e1495a3c05d9cfbb62b28778905ab7d576610a74b3daac9767a051b153af7c6bf0177a4074397be410411cb33ddcb895091990dfb85aee15e9f288d01ec5628034a4adb01da09283493baffd36d224b1efe096289a2afd427b82f8b04ea44319f4a16bb07bd21026f2ef550b919ad01cb3744b37103eb54e62400e03367001510776698e28b4fc367a77f1b4690cc2916e8ccf1fa55aa3495014724f1e66ef7ca8283d917b501c931274d9808a8103004176bb69783c094bbbbecd5b90ea14e7cdb9768498b22332283f6a079991988ac6a85bb591ef299bc57027b0ca9932a41c14c193467374f133bb8539c2d5164ef11b70b4a2cfcdacdf6841cd835c4f4e174be3c26b55770acf4137666a431d669fd5775a71749922c0b223abe36284fc880c3aa2a41f45a4a299c647d6738585287f7a47b88ea1c6c088c6207646d99cef5f56a2e02cd3ea85202c7725dfc99d04b2d52600f0f89366a3a83f8dc74e4a27fc58a622061a6332403ae8cbd0179149b841f5e0ba193ec237ac57a4cd5528c10545cb75e35a20c3ce63950c09a7b0810b84124f3a00c9ebb67bda9b2ab42113e631123b4a85897160637a32eb856d55c2905f7c655d40c84e92e773056d2392d43e33c4f9256dbfc7aa0683802d04d218139f829ae362c1f48096fe47b09756c36873cadc5300cea8094e6f8925c1b81ade69fee5420b7e94555286cdb596e08caa81f758022b3a949059ae91aa9b78a825703cd53d1235800681dbc7657a777bc267637ca2954c09344110a05e2bb90a83f95990986fb559bb1282778933631701393b705a5c122ec3645c1b364367c83444d30fa438eb3a478a0bae14270cd49556399085c566d9e6c467dca66a3f36370693ad5f86a9932773ae5064e9bc73ff7979a5510c88198beea7ee2aa494eb046e4d70a3f9ca0f88b234f6918f7eb41db97a327654836510276e0154e7a4dfa088b8acc5f02f598d1494bfbd07c3132c5ef6c3b466606b3d93da2e69c96744095435fcacc2d24c3016002b5c4b988877ccdb9233c490a8b121ba7821b529de85e638168b0565d50f735d1cb54cba91cfc1b9eff882a643121e877c43b6147a2a8266196346859ce53340208253ca419276b884dbb3b7a30ac3de983c75ad73995a0b62de7563ec9a4a715bcdf376dfb6433de691c54e660f4aaa4b184015026b6189415e66c90dd32c0b015aee63b5d8b3cb9ea206e45ab4938bc86fc54c7598c6553c29ac34b2213b90afd144c8b4629a560382778b28d666667caaad49633a8f985730318eb033374b5cbebacc7f453ccd8e77c5a9abc12da1bc1733e5a1278bf11b37fbab1db212359473012f3b545301ddc833c69a75afe16744557b5e28bc0ee895da16c2c5dd34fe6783949d555e580c1be7994bb008daf27a47f554932b87222e82ec670490ca5139ff49d5ed896218825056a8639b31d3ac8550356a408a01404c6aa9c2b7284e7c7c27036256b7902445dde00630d81930f4ccc518b9efd8ab24fc16a365b8068c90f7e09bbd23c2a6ab12792d245551a9894f704042501c8fc49eeaa0132701e29a3c97834530a7c61f1b8440822cd1bb6b11dca2a5951b4deb0b1268c2f5aa8cf76a6bd0be3013a37ca1a903ac634405ecb3714bc54610baa63bacf0a263d8cb018b03b0a286083998a7e8b2a573e570179712130a19f9ebc2337d43926f9c96460996cc03199d81a0e19259da696fecca7906931a787a5c264826099a3e03339295b587e7a4efec6a11aaaab057aa8689473f1f211c6d85499c46746bb00ba687a17877e6650c678d13861337faaa7045a16b8eb7173e7c08b6394b5f2b99ea3083ba175c55d350fd61b73aa790ca6f479fd4b01282b6baefa00a1946f6dfb855ce7bd50389d42856823301e01a228ac754cb65a0e323a0943b75741cb498cc499c8649b6bf87e991507194983aad1b57994b7d79bbcf2eb3b5f8734ccf3cea2662e95d486989144aea22c94c363571ac7dcd81f577645cf19b313f849b422afed963cdb701395020c2d18601a40a42429896aa9b0b1c10c4876928aeac59862414e143722a0b94746abd157343d15bb9fe500763b18c61b184407449b1b5ba8fb1554e4bb58ab99faaac9cdc3b698e64179b089b786204bf95eda86474ee799440478348989c91c3462446724340cd2376c682907edb58c85a4ce3ef46cc5d0ca345590ab14844b224735dc05e0e66ede94258f395fe867ab9d8c1b0fa80743002a15da197614295dc358f40758c9cc05e45bbc659b93ed611aa58845d94acc7aa75deba56d4d83c640c252975bc3165254c92957b78c9583b370ad785f2c16cd5cb9913839939c7293e6b956e23cc5d14cb3ab2a2e94f179bb076355157920085236f60b84449d43ac89c2b46dafa6b784438f3510bfc48357a5681043ba7428583bb5e912b08786562579df58a41bdb82114344b3ea3574b997f8564248210d4e50ab2277100b9a5423178b1f138e9d427762253cffc3cd095cb53a776f4fe015b5168b1a9759ac4acc77f90c69b307192b7b866753872a69813b1bcaab5cbb8126d8998e78d99f5a527992b89495a28e3fa83e75337ca2b896172ac244ab7e30761c8e3a00890046e5f599eeab65bf1a4cdeb5791cc10ade7197fb5bc754233f3b10c9ba2240adfc61c05231c36a6cf71aa752ab3c95c3756ef9373b677105d11f86e68036348bdd181f27407e344bcd297cb02bc44f077976ed588d6a846c2f839bc9bc4872617bdc17a7baa97af9a9322ff015956678e8d622cfb1a11ed929f29bb1f094c17f49417c09c1c443369123caf8701199c43bff97034efc6999424144c9395d9063bb153c0ed82b1c5659bfb23d4cd2c758a26b6c448525060f686bb14873cbf5046b3a3033c5c8081027bf5e3c51f6fb6a1d54a77c46b0ea4299a9da4ab03b95f9d3601f553d46800f661e2c9a7e548ca42e385cc6a0678f9e9d268ffce02c4b465a46773432109a759cfeca12dfe978bf0b7ad7271487cf61b2b8f7c60f389f33fc18439a95bcbb6356047447b810cc094d400ab204cf9ae71e3afa68b88586ecb6498c68ac0e51b9 -m = 511c2ab40782322c06111e144e505328c4e5bfc890a5980a2bbc44aeda4c738b -ct = fca7e41c5bb5460ce12e4a40cfb3e7e7dbf18e2d9d386396586475af17a830d3a738237c05105735e9b4dca87d114f017b50484bd0381873a5f4da24c420b6d56efec00891babc52ab22554b68a0e3d3aadfed71d3bfd75fedbf946c55ec3fe0c050c623636fd486192dde50ebaa7d12dd8b80418fdd64a5f7979cd660090c05893e3ce334b1f489149012c00f8868be07aa3ff50b2c255f43040db1f603c00c5b3c5dd56deced7b510b96b9a1b31cdeb0e5a73cbabfa0742631d816cfc2a701ea64dcc435578512073e3bc1c78d5efc68772a971aacdc89448b1e0bcd2b558cf709a513866cd0609a4c314beca92e894630822c324fc3ab177dff0ec1c89c92c49292ac28859feadec5bf5bdf3fc8c806f2145d0e9b3e9981c40aaede9eca94747eb32da509d089fed91578e6f7b012f91521974d722416c5ee640dc2f8e46ff56077e1370270839fc131d89c22bcc4107a1cb65e6714a9503f46988ec651e222970372b462314183d54ed825adda32c1b807dab5eefa2cbf1f910e4b2532377da539280c9808504eec2d43f6a24623374d4a9dd50a1f3dd250be40b20b23cd84b7f1ee317d7d937185528ee1ed4482dcd6f93cdee40e2469853fecad614627ca7410e690b3bd2f0736a5c5fe53b14c3daa2a12b2790d41fba12e39fa647823831979042878a70313b4caf8ac0c4ff9005bba914b636ea375d3259d21f8ace9d3d5d963ed085fba924eaadb6edec0488ca9e9a629fc3d46d987b8cbc473e8c1ea5b85e00f03af99f8451dbbb5b8ec72aa7d91f8f6c9b4fa03965d04d2fc652f5f76991d95463ef0d79d5238ace1a1d6a3452ed8e6a2b482f8b0ab3c9fab41929b104b18e23f5f49616b704ee79e8b893c998a88d88bbb3a22305efe28a9bc526d2a8dc6b4d820130f2288469d9d8dff20673492c6c5f3ae967bfc74162de3502bfdf498f038f34309ff4fdbfe5df00b0e568f49562051e24fb2acf1489615b00dad14627f04e2bd5b63020a77b0901336a905f8bf20ba788898c4e6754e2788d80bd4b8ce013a3173b5e7ef84f63116833631fe8ac3af8a0b47ba535c9a88f522aee02fa077eb056d3ad2dc2a70b22e81a8a4cdb2dc27d3dc92f28024edaaaf133bcbf691d7f5f28c48207302fd0cb11cf8c8a7eb862243a045d3afc6fa9e64443a1e598fb6ab325dcd4cb7cdd6e24d0b970dc6667fcd9d448b30dd33bff1924880c4c42a59f035e9c619eb00e3e0761f994eca9ea469479cbfb6e1f18447ae8a6c0639774b428e642bb39abca7a6f1624a68a810f6482c1b6634ee4a6fffacb99e28029340ef8ae8c2b456f5d73f79dd704645fbfaaa61897047f5c3297837babfc16970b88bc1b73e33f17b3d3e8bc7980fd98cf7ce13c3944c8f0b4049e9c281709f990b45ee22628ed9db89acb02e01a058e6038f1417f83a4b295238123775d87141e2a5daa476318015ea84445fde78a40376486f4de25b7925b0bd3a163d8785d7c50fbdd9c5038b9a6006adf424426567ae19ad69f09c6825923be7 -ss = f9eb1c87813c712cc3054109acb5f219fc1e29db10ff33d093a5cd67df995015 +sk = b04c33b257b199352a85b55624f1a1a42b2ab72c4810b839b2bb2f51a502cd498aa258373eb3bd43e03973d129e4fcb61df58986809ec4ea4333659f03dc0fab236cd4e815d3f9524e90a28a3a0af869735b362fed9837855429700cb815c43a6e650e54d6267a832dc0385696274e1e73a12b5960a8409a4b4564de909b797771b4839782526fd69abf516a73f9eb8130f41cd6103a6e67c6724186d1c709d3d90141b1bc1c028e28324de4846bcc6837fc243c54dba144c40fcc6223fd19b8f54c11bc0982ffd366530abad387946e1495a3c05d9cfbb62b28778905ab7d576610a74b3daac9767a051b153af7c6bf0177a4074397be410411cb33ddcb895091990dfb85aee15e9f288d01ec5628034a4adb01da09283493baffd36d224b1efe096289a2afd427b82f8b04ea44319f4a16bb07bd21026f2ef550b919ad01cb3744b37103eb54e62400e03367001510776698e28b4fc367a77f1b4690cc2916e8ccf1fa55aa3495014724f1e66ef7ca8283d917b501c931274d9808a8103004176bb69783c094bbbbecd5b90ea14e7cdb9768498b22332283f6a079991988ac6a85bb591ef299bc57027b0ca9932a41c14c193467374f133bb8539c2d5164ef11b70b4a2cfcdacdf6841cd835c4f4e174be3c26b55770acf4137666a431d669fd5775a71749922c0b223abe36284fc880c3aa2a41f45a4a299c647d6738585287f7a47b88ea1c6c088c6207646d99cef5f56a2e02cd3ea85202c7725dfc99d04b2d52600f0f89366a3a83f8dc74e4a27fc58a622061a6332403ae8cbd0179149b841f5e0ba193ec237ac57a4cd5528c10545cb75e35a20c3ce63950c09a7b0810b84124f3a00c9ebb67bda9b2ab42113e631123b4a85897160637a32eb856d55c2905f7c655d40c84e92e773056d2392d43e33c4f9256dbfc7aa0683802d04d218139f829ae362c1f48096fe47b09756c36873cadc5300cea8094e6f8925c1b81ade69fee5420b7e94555286cdb596e08caa81f758022b3a949059ae91aa9b78a825703cd53d1235800681dbc7657a777bc267637ca2954c09344110a05e2bb90a83f95990986fb559bb1282778933631701393b705a5c122ec3645c1b364367c83444d30fa438eb3a478a0bae14270cd49556399085c566d9e6c467dca66a3f36370693ad5f86a9932773ae5064e9bc73ff7979a5510c88198beea7ee2aa494eb046e4d70a3f9ca0f88b234f6918f7eb41db97a327654836510276e0154e7a4dfa088b8acc5f02f598d1494bfbd07c3132c5ef6c3b466606b3d93da2e69c96744095435fcacc2d24c3016002b5c4b988877ccdb9233c490a8b121ba7821b529de85e638168b0565d50f735d1cb54cba91cfc1b9eff882a643121e877c43b6147a2a8266196346859ce53340208253ca419276b884dbb3b7a30ac3de983c75ad73995a0b62de7563ec9a4a715bcdf376dfb6433de691c54e660f4aaa4b184015026b6189415e66c90dd32c0b015aee63b5d8b3cb9ea206e45ab4938bc86fc54c7598c6553c29ac34b2213b90afd144c8b4629a560382778b28d666667caaad49633a8f985730318eb033374b5cbebacc7f453ccd8e77c5a9abc12da1bc1733e5a1278bf11b37fbab1db212359473012f3b545301ddc833c69a75afe16744557b5e28bc0ee895da16c2c5dd34fe6783949d555e580c1be7994bb008daf27a47f554932b87222e82ec670490ca5139ff49d5ed896218825056a8639b31d3ac8550356a408a01404c6aa9c2b7284e7c7c27036256b7902445dde00630d81930f4ccc518b9efd8ab24fc16a365b8068c90f7e09bbd23c2a6ab12792d245551a9894f704042501c8fc49eeaa0132701e29a3c97834530a7c61f1b8440822cd1bb6b11dca2a5951b4deb0b1268c2f5aa8cf76a6bd0be3013a37ca1a903ac634405ecb3714bc54610baa63bacf0a263d8cb018b03b0a286083998a7e8b2a573e570179712130a19f9ebc2337d43926f9c96460996cc03199d81a0e19259da696fecca7906931a787a5c264826099a3e03339295b587e7a4efec6a11aaaab057aa8689473f1f211c6d85499c46746bb00ba687a17877e6650c678d13861337faaa7045a16b8eb7173e7c08b6394b5f2b99ea3083ba175c55d350fd61b73aa790ca6f479fd4b01282b6baefa00a1946f6dfb855ce7bd50389d42856823301e01a228ac754cb65a0e323a0943b75741cb498cc499c8649b6bf87e991507194983aad1b57994b7d79bbcf2eb3b5f8734ccf3cea2662e95d486989144aea22c94c363571ac7dcd81f577645cf19b313f849b422afed963cdb701395020c2d18601a40a42429896aa9b0b1c10c4876928aeac59862414e143722a0b94746abd157343d15bb9fe500763b18c61b184407449b1b5ba8fb1554e4bb58ab99faaac9cdc3b698e64179b089b786204bf95eda86474ee799440478348989c91c3462446724340cd2376c682907edb58c85a4ce3ef46cc5d0ca345590ab14844b224735dc05e0e66ede94258f395fe867ab9d8c1b0fa80743002a15da197614295dc358f40758c9cc05e45bbc659b93ed611aa58845d94acc7aa75deba56d4d83c640c252975bc3165254c92957b78c9583b370ad785f2c16cd5cb9913839939c7293e6b956e23cc5d14cb3ab2a2e94f179bb076355157920085236f60b84449d43ac89c2b46dafa6b784438f3510bfc48357a5681043ba7428583bb5e912b08786562579df58a41bdb82114344b3ea3574b997f8564248210d4e50ab2277100b9a5423178b1f138e9d427762253cffc3cd095cb53a776f4fe015b5168b1a9759ac4acc77f90c69b307192b7b866753872a69813b1bcaab5cbb8126d8998e78d99f5a527992b89495a28e3fa83e75337ca2b896172ac244ab7e30761c8e3a00890046e5f599eeab65bf1a4cdeb5791cc10ade7197fb5bc754233f3b10c9ba2240adfc61c05231c36a6cf71aa752ab3c95c3756ef9373b677105d11f86e68036348bdd181f27407e344bcd297cb02bc44f077976ed588d6a846c2f839bc9bc4872617bdc17a7baa97af9a9322ff015956678e8d622cfb1a11ed929f29bb1f094c17f49417c09c1c443369123caf8701199c43bff97034efc6999424144c9395d9063bb153c0ed82b1c5659bfb23d4cd2c758a26b6c448525060f686bb14873cbf5046b3a3033c5c8081027bf5e3c51f6fb6a1d54a77c46b0ea4299a9da4ab03b95f9d3601f553d46800f661e2c9a7e548ca42e385cc6a0678f9e9d268ffce02c4b465a46773432109a759cfeca12dfe978bf0b7ad7271487cf61b2b8f7c60f389f33fc18439a95bcbb6305224fca29659d6c7a880a5f20d5fe02dc4491f2f095dcf2ddecbf105014c5a8 +m = 1e712b1ef59c5594b414d7c1156b8e4ff3c3d24c92ac92c734f4ad03449a7e28 +ct = af15327aa0c8e25d9f701283080b3c51b839ab8d2fb6a88e07510c8e2410d4870981238e72b3bb85975a2939b2de89f8ef0801c67e45b7d8322e68171b1a25d81ef5fdb15ec48aa5c1f90108005876e0d02fc4ede0b37878deba3da122d97223329ac26f6a118ed6cf51f6a0fad53a8a50cf1aa312557419e7b5739448b4dda2fba9414f525a4bb18cdfb418d514613534bc49093d7db167a6f49407b775f4b90cc29b4042ec305afcfdc824f6e394ac228b8d9fa56c3e75ec11c287074286a7e3f09fe2a47e8c6159ff13d6b6dd4bdf0c5df58e2a22d5483800765d60580985dd0c0b4d0eb12e097ff5cf22fd66e5fbb2b2ee129020d6d43eb237ed3426f4469dd697bebaada84cd0f1da63b5078174cbf8c60ef4f47c330f7146e49e82b6598d9fed00c85e616a21d85216e14239ebcae1f2e8ac776825c58b45cef71cd1db9490a3049c294a6b1bfb4307cfe7a10d38918afc5fa5941260043119f2dfe3afbf54cdef3c3097f11ef2a001dd87de7e8affc69a5a0338c332899cee8babbd4c0bcae20e16fcc2fb2389162147f443339e5d4c131788d737a3abacb183782656639892e847728e9e40090c172d2a52645d8ea64e78f06b31e89c02e07e3abe96cb402bc183a235aa85274b403c7615deab646d852123de6bbf74ac3b549bcfb8551ca7777d5212216af9fd07760e05234b00685522ac486e0194b0454db6d3136f1a87e1ba2c346d78dfb66c946da73cb28ac2d0d335f8b30dfaed385b7dfa58af6012b31ae765251dc04dff0408963705653ad99301a10b30bfde41e4eb727563e469ed330584f451318d9a18c1dcebcf92fb10a2b92f1ee349636137896a86490afd92314fecb90b3205eaf973b68285c8bd7d91c0fa8d5bbf8fef8e3df9c9119519ec4c59d9aac385166068f0157bcc7c224fda8c69b0a714a297e7cb2702c23099e36f72bba26a38dbcff5f616f8d4ca39c2a0cf723bd24637268dddecebebc51260fc0884ae6131a2edb292674a2de76b70e2a2b235f93067949c8bd1c304096ec39a794b196465f96fd07dc61a3bd634179fe27ae52663a85e73b2adb64de463ec776c1cee6d07e0ccefcb008187a3f55510a520638e8436986599d30a73a1558cf31ab2619295c75909c5c5f1a9a31343c481d3d6f43209824d18fbc834e3ace191a6b605a6d7bbb3c14071f8604b5f4e26044ed51dfa235f881ca742eb2c2e3eb45f12772c643600862a5281fde42c61eb1c211bf694f1b2bfaf5ec9af8bdb9881703ccf6d5be1229124a4a49143d89ec579ab5d554cacfc22ba9ad903c8d83dcda1291aafd77f92d1ffccfa3f08fc8e3e692a64f58bee94f9aa6a65e3ffa4a1382c7ebfd103f1f3fc727ad3da44b9b0c7ee68a23778885fd1ea20cb9ca4150402064d74e0e6d102e5ccafaac7f02cdd4dba342f379f90bf5866d9bb67a2b94a153129d19a1ffbd27d36114420a7d0cb210aa9a34182141dff5387caf55b2f47d615af558a582e383e1eed8fedf7acf6501671a12958f1e74c856e10 +ss = ff77e8fe0458dfd2c82f6dab5dba05944c7d88a02fcae8448d9044d12279d429 d = 2f1d8a3bebb34540324b9485fdf3d5be3b858f544abc3fc641b5728cafab03ba -z = 8d6c42e7270ee2b77b6045385f3d175984a0e260363166c73b0c70c971644363 +z = 6931e7324d5527dcd0ea7e2e6c2a82d4a80c3edfb38752b36581f3035ed9a23e pk = c4a90087866b29244c3641310e94b8311a1303465975649288713e79ca67a9085c8f7449c0bb9a6ab196245b0da028cc1765a8ba0501d5e360cb3064e11554f3fc2914f1260509073b67b4a0570d7f708ca7c435ea987762f2a5a23cae53907fc9db26942136d72202d0a0bb10b65d422091abaa1c21d152dad59c25d20c016237634741def8ca26b9cce3097ffd896f1bf08300282fcb7000c7e1956673223902ae5b43bc63b6806c469a4ebb8bd34b057b375e725b07ee856fcc0453379b96f89888d21a7bd5ec91f837b90a2c334a97ad70d87bdcc12892d588d06655f6103e033547cf5933ec237b21b2956e5921cf10a0c55a70e4a24a57b93f6fcaab2a44bb079987eba57223b4b9deb60ec6464faa4058283b8cba6956c792ae8ff9184e93c2e2152823c15412c102518462c2691db1c64412eb1ec6d75d47c82fc5a9214670b3297067e30c6d9ce0cf3eb314cc1a4cf35342ae419513ec2bd47182c4ea52626a56f7831dbdc5719f532a5a421a7bd5a115c2195d0532e7c1c0ffe40166404137a5b45d7b2cd31752e1646588021508293fb881123f61034318700eeac429500905179b283162ed0b69590541eba0848decc94bd18c888170a4c030a89305fe97a2b0292390a3b1fd6aa22909cf0134a2754728b6fb5180276b7d65c2fd530b4ff48cc7c7093dfc2b418b97762c42bb0980c7f41d9651c69387173a6718038010f50b79b233187bc3a0f7c770e50abc62e8acbe297c58c58055387bc7711473d81ca97b6a6e6504870c0de1d806e3603ed0b04d01dc62529434014c5068c3ab3d4a909a079947127a8a2746cc8126f0212e21a0318ef273d5e0be16253848413c5cea22853c6e63b675cfac1d6590004a2bb3bb4974e79aca0dd927607a71d4b4c9980a86e5a2b5a84bcd2e694190491060411b332aa7e7766a4c693b00eb9d68f34e5b0564de24377d3a6d45f72d82ec24fb268537c07b81aa79b5b28ef5a657e0f8b6b2f3a4279abcf06ca2a79401312943d1d1086d91b1ad3030d0c0bb21806cb87b56ed391e6bc6aad974034664b4902336d6e45a7449cb656207d59367f2b142746636e44726f111603b28670f47113d28ce6bb11f464b181cb3205febc13cc70d3fb35924a641a1117df5cb65fd9a69c71bb800fc22a6bc47e52756c23533a3a494733b74d9689d64a849d048a2ffaa62b24ba53cc76ce8489d7515834ad3a2ea920e4f2275f4f7bb361866647c04c573bf47e6b54cd31810c7814ab5cd27da1905fc5976286b781787d2db606c036a2616af7946935713ce2c7ac3fc4972abaa2229c4c294e7a70f97bb6d119be54553eebab1c80c8da7459258e44a234357a1c9cc46412794116123d21db27455063672245460ebc8b6b1116b34f2401169ace16a514534154e798ae3155809b651ca963f854ba501407920765a14f826dcfa4bc4f21766b05bceac55e6854f1ad080d9b2538848a8dc7857f10c4c843c46b172adece3707e01c03059313bb96bb144996b127a16006db4063ca1251f550836e167adea545b3a0c55c0ac5de3fcab6e8242c2c5c09313646117a95ef46536dc74d869301335a2f9040484fb0c9cb85a3d034d55b03c66725d000c47537e0d5ae249eb884b67dadb110119f1d0a5ea38cdf9f2e0e27c75a43a -sk = a5019e7b82405cac3c8f45bec4e70e20590bd7e543d465ba702cb1447c0f114cc44f404a31b091c638347cf5a464106a2f92a0b4e600a3d86ab9f57efff088d1887865c695c3aa29ba08356da1b4042146e8817f2bd56bc014071b896d5b2cba9fa124cba45e294a0f30fa01e4eb18262059cc987c64f9185aaa12d7ea1f2780308a91a3b2f171d9c41d166872bc7b070d44af8556a356b631a6eb2e804cc09c531eeca476adc8143eeba767298bf29c19fb2496e0c573938babcd749ee2d02e9817a3ee5a687f9324e7e1082892142c04ae9715c4a6980d73c6a54c16beea97a659da476e49c1dd1b8292e04321783e0a66a36267673e92c2c7463668b1742987405c1621f94b87ce88aebaeb7bfd787116b30a5b64a7e8956321463b351a9753a0389937b7aed431a5028d309cbed2d8ae67f859ce371cd1b3cb11a8a70d3b9b92e15530a260d1874118ec505fd451897712ae4104e67b1d2bb2676589aa4e8833e03b017aeb2666464c87ba809f2ba29106b49647666fc58c712b5b8127882df3723e74a9b9e4b0e5a96bb325144111c75e96a13b5566e8258e36d34a76096f9b013236b3036bda5e3d431aad3ca33e9a0916d8cedcd3466c75c1b5603a3e724c60a796e0844cc0d79686f086c510ca0cb11c2e936ecaba446560aaf0931c6a82298bdc7fa82aa6a0b32d361b3335cb83dda38417720e9e745bb9ca008908cf6931ab2b4a7b78036704153359dc4fdb5742ab3c39a346005374cf3107b95cb771ff1c9592d59c810a93e3593169ab26de85077dd79a3b3aa03c332a9d177d7ef88624c285a90099d1d0209a0bb0c425ce6ae9221613b2cd596aa77ba2bb98a385d2898d504d68117ed06233e69c43b541438b3274b579c1a5c27b0d85159836aa48907f768c97b6b2b19f475655022691182b2d9c80aec12eca0890c9e47bf764684ff1a94d1083d85905212431afe09342004b44a090cd71357d2431c923b3ce08bc836b3edb82ab2fa3c508867eae87bf2768ad61d4894b123b6f861db52b9b3eb77a8c99839e9108704c907e258f8d8001567078037aa1ab87b03a46ad3a0a30c753b8bd790923b7454f84c67ab6bbbcc105edc36ab6ab67c28c1d3a54bd06f9c09c12cac8483e015301db6650ca3228abb8353d2b3d95fa5d99e96bcab65b37dc8a1e958f7395391bcbb4a944aa955bc2176aa6600a0d40489d0534423776184c85057ae00e9636bfbfa76c2d329625747968f53d1eb26cf4f95d6cca45c60b2da0f1899a7a1fc651c12bc2c3a2ca16d8aba4e05c0cbcbb2b72c48ef55403462ab49cf6576d8c358a865de1f795cc0629f4b13837b6b1704250b8e97f7a116fb63a0dbc12c955b49a67094cfeeb0e8c7b23abe4bdabb787d3e45ead108a96d3206a4977aa128866e596dfca9d68996d82021a4380c0991561ae40a96bf490dd5538f0718098479a5763787939453a7a87a359643885bc5d6149ea048b5ef1adc65c78e4a9c917160bdc625352596034b3558f98637b33061f769cbe341f9c764238318882caa978996d1c321a92838d109c187011bf84d17fefa0271eac7d5ec90743130234e79089f5b9a6f0267813939b5a3b22321376fb1792d8bcc4a90087866b29244c3641310e94b8311a1303465975649288713e79ca67a9085c8f7449c0bb9a6ab196245b0da028cc1765a8ba0501d5e360cb3064e11554f3fc2914f1260509073b67b4a0570d7f708ca7c435ea987762f2a5a23cae53907fc9db26942136d72202d0a0bb10b65d422091abaa1c21d152dad59c25d20c016237634741def8ca26b9cce3097ffd896f1bf08300282fcb7000c7e1956673223902ae5b43bc63b6806c469a4ebb8bd34b057b375e725b07ee856fcc0453379b96f89888d21a7bd5ec91f837b90a2c334a97ad70d87bdcc12892d588d06655f6103e033547cf5933ec237b21b2956e5921cf10a0c55a70e4a24a57b93f6fcaab2a44bb079987eba57223b4b9deb60ec6464faa4058283b8cba6956c792ae8ff9184e93c2e2152823c15412c102518462c2691db1c64412eb1ec6d75d47c82fc5a9214670b3297067e30c6d9ce0cf3eb314cc1a4cf35342ae419513ec2bd47182c4ea52626a56f7831dbdc5719f532a5a421a7bd5a115c2195d0532e7c1c0ffe40166404137a5b45d7b2cd31752e1646588021508293fb881123f61034318700eeac429500905179b283162ed0b69590541eba0848decc94bd18c888170a4c030a89305fe97a2b0292390a3b1fd6aa22909cf0134a2754728b6fb5180276b7d65c2fd530b4ff48cc7c7093dfc2b418b97762c42bb0980c7f41d9651c69387173a6718038010f50b79b233187bc3a0f7c770e50abc62e8acbe297c58c58055387bc7711473d81ca97b6a6e6504870c0de1d806e3603ed0b04d01dc62529434014c5068c3ab3d4a909a079947127a8a2746cc8126f0212e21a0318ef273d5e0be16253848413c5cea22853c6e63b675cfac1d6590004a2bb3bb4974e79aca0dd927607a71d4b4c9980a86e5a2b5a84bcd2e694190491060411b332aa7e7766a4c693b00eb9d68f34e5b0564de24377d3a6d45f72d82ec24fb268537c07b81aa79b5b28ef5a657e0f8b6b2f3a4279abcf06ca2a79401312943d1d1086d91b1ad3030d0c0bb21806cb87b56ed391e6bc6aad974034664b4902336d6e45a7449cb656207d59367f2b142746636e44726f111603b28670f47113d28ce6bb11f464b181cb3205febc13cc70d3fb35924a641a1117df5cb65fd9a69c71bb800fc22a6bc47e52756c23533a3a494733b74d9689d64a849d048a2ffaa62b24ba53cc76ce8489d7515834ad3a2ea920e4f2275f4f7bb361866647c04c573bf47e6b54cd31810c7814ab5cd27da1905fc5976286b781787d2db606c036a2616af7946935713ce2c7ac3fc4972abaa2229c4c294e7a70f97bb6d119be54553eebab1c80c8da7459258e44a234357a1c9cc46412794116123d21db27455063672245460ebc8b6b1116b34f2401169ace16a514534154e798ae3155809b651ca963f854ba501407920765a14f826dcfa4bc4f21766b05bceac55e6854f1ad080d9b2538848a8dc7857f10c4c843c46b172adece3707e01c03059313bb96bb144996b127a16006db4063ca1251f550836e167adea545b3a0c55c0ac5de3fcab6e8242c2c5c09313646117a95ef46536dc74d869301335a2f9040484fb0c9cb85a3d034d55b03c66725d000c47537e0d5ae249eb884b67dadb110119f1d0a5ea38cdf9f2e0e27c75a43a9aa64a30bed5aa8300772066ef577f79bf4813e3315a15f2c28b2665e4dc7e2f8d6c42e7270ee2b77b6045385f3d175984a0e260363166c73b0c70c971644363 -m = dca92dbec9b260dd97e8886f876862d6effc3b91fcf3fbc986cf56ab93ae79a2 -ct = 3639a304e4f743b4e62271bda171efd8912e067073b2f05fc8253f82733fc36c76ff5b6c5f17c40cb86f33d033be899b7995251f678ded9e6cdf423fba7c5e7014854818e08378459ed5723597ae428125c299356f6621d62f204af4c3bb80a20b80772443cbce224a0c0ab0fa5ee004cb11908619e40dbe2772c02e03a2a6d3c7f9a0bb5fb931a6c99f2342432cd7b13dad5263ab489ad70500f6a855ff44d89c43073bf12f6a21d92c514b0bc4a5a839870e74d83c5b20de67a88a01e959e587f74eeb2a9f53d05f5ef61022821b554d267a44395494453ebdd237223906f6253c3998f4271d3f1cf95db10c8ebf18a0daa2068cb945fa42cceb8b0c335eb6e7991b57c153cfaf9af85f243866e44470d32010dc7680826a9b7c85439a69571550c4ac82decca718c069ba2d99e832be9a36ea810f02f82db81df7d449dad5c157b0f10fd01f2bd589313f7cb3042e62912800daca907d72d967e1de39ef7258faff4ef6a8744b40f2ecef0ffc151c78c215f98b106bd9577aec1a3e323e705a202d4a855a0979ef439f8a27320e09f7347b316a24aada46040b3b49426413565c0a7aa8b471f5faaf88c9af1375a7395b006f834d9ebe9ebf178b16a115c8346d31feaa9e6b04719e9f35ecf7621ac1ebeaef3eac0ee7431cec9e06d7a65cebe7e6297113ff1d151f02c56c83e7de1df7fd00dde7f91edc126fbe07cb6cb888c1a2f8faa35afdeb10af14a2f8a8b080891e8bee23a5afd86a4d749f97dcc6a3b98dbfc5df4591a16927c33b9fe08aaeae00979d178a1882fc1af0e65d8b6f33dffb235dd06bcf574d55a3074f8ba607a2178e34c76c72afc1b8e1cb9f482f0162bdd550078655b0f95b3092b132164358a72a6a48c9550553fe9bc874980404955f481c6a614923b925931337f7e2502880a443cec707b7238ac1ed70b4b94501ea74ea9bcd989b50b360b891d97ffc786a46e53eaad2f5d714546a80ff90070f281c16a7ba543ef9a0cefad3217fbd2133cdc4f7aaeec5ae444aaf015614d6625471790f714b68e881c0d6adef3a6d6e8fc9e273374fb2cc1c9d6d406b4812653df1276171bf253ad4b80d7b5f8de0b4bbeb50e2e2607a4cace04698d7d0edfe5afb900c661a5020b7cb88df34712ff4325d362435bb45d5a9d352bc13eb66bc599c4a07677103a1d7b40f0ae8393e42315bb62d6ac8cf953b8051516807451033b5404bcb12be7abfcc9f6cfb8c9eccc4998cfed0653808463188ac22961bfddf8f1aa97aa067df0e9e9954f79547998759fd08542d0a71cbdd32e6edefb11331cad655408ce2f5def7aed94b37e8a4b8b75946a677030c3903a4b201c1f3d2dfa65a06bab8982a4dce33418d0ed98e29a94e556f0b4c3aedb44d887de5baa0374ef291c8552f0aecd7dc5bb3cfbe79fc92f0a73020489474c8279cd8044bec179c7e5a1430965b9bf130314a35f9de2ddba517d28adb3d253efde18badabd6512d516c8147e91bacf3cd43ce5e244767acdaae8c2ac56a72e1f0089100 -ss = a2b1d4028af3777be109a51fab5b7014681b0be94a7c06e8c2100565667f21a7 +sk = a5019e7b82405cac3c8f45bec4e70e20590bd7e543d465ba702cb1447c0f114cc44f404a31b091c638347cf5a464106a2f92a0b4e600a3d86ab9f57efff088d1887865c695c3aa29ba08356da1b4042146e8817f2bd56bc014071b896d5b2cba9fa124cba45e294a0f30fa01e4eb18262059cc987c64f9185aaa12d7ea1f2780308a91a3b2f171d9c41d166872bc7b070d44af8556a356b631a6eb2e804cc09c531eeca476adc8143eeba767298bf29c19fb2496e0c573938babcd749ee2d02e9817a3ee5a687f9324e7e1082892142c04ae9715c4a6980d73c6a54c16beea97a659da476e49c1dd1b8292e04321783e0a66a36267673e92c2c7463668b1742987405c1621f94b87ce88aebaeb7bfd787116b30a5b64a7e8956321463b351a9753a0389937b7aed431a5028d309cbed2d8ae67f859ce371cd1b3cb11a8a70d3b9b92e15530a260d1874118ec505fd451897712ae4104e67b1d2bb2676589aa4e8833e03b017aeb2666464c87ba809f2ba29106b49647666fc58c712b5b8127882df3723e74a9b9e4b0e5a96bb325144111c75e96a13b5566e8258e36d34a76096f9b013236b3036bda5e3d431aad3ca33e9a0916d8cedcd3466c75c1b5603a3e724c60a796e0844cc0d79686f086c510ca0cb11c2e936ecaba446560aaf0931c6a82298bdc7fa82aa6a0b32d361b3335cb83dda38417720e9e745bb9ca008908cf6931ab2b4a7b78036704153359dc4fdb5742ab3c39a346005374cf3107b95cb771ff1c9592d59c810a93e3593169ab26de85077dd79a3b3aa03c332a9d177d7ef88624c285a90099d1d0209a0bb0c425ce6ae9221613b2cd596aa77ba2bb98a385d2898d504d68117ed06233e69c43b541438b3274b579c1a5c27b0d85159836aa48907f768c97b6b2b19f475655022691182b2d9c80aec12eca0890c9e47bf764684ff1a94d1083d85905212431afe09342004b44a090cd71357d2431c923b3ce08bc836b3edb82ab2fa3c508867eae87bf2768ad61d4894b123b6f861db52b9b3eb77a8c99839e9108704c907e258f8d8001567078037aa1ab87b03a46ad3a0a30c753b8bd790923b7454f84c67ab6bbbcc105edc36ab6ab67c28c1d3a54bd06f9c09c12cac8483e015301db6650ca3228abb8353d2b3d95fa5d99e96bcab65b37dc8a1e958f7395391bcbb4a944aa955bc2176aa6600a0d40489d0534423776184c85057ae00e9636bfbfa76c2d329625747968f53d1eb26cf4f95d6cca45c60b2da0f1899a7a1fc651c12bc2c3a2ca16d8aba4e05c0cbcbb2b72c48ef55403462ab49cf6576d8c358a865de1f795cc0629f4b13837b6b1704250b8e97f7a116fb63a0dbc12c955b49a67094cfeeb0e8c7b23abe4bdabb787d3e45ead108a96d3206a4977aa128866e596dfca9d68996d82021a4380c0991561ae40a96bf490dd5538f0718098479a5763787939453a7a87a359643885bc5d6149ea048b5ef1adc65c78e4a9c917160bdc625352596034b3558f98637b33061f769cbe341f9c764238318882caa978996d1c321a92838d109c187011bf84d17fefa0271eac7d5ec90743130234e79089f5b9a6f0267813939b5a3b22321376fb1792d8bcc4a90087866b29244c3641310e94b8311a1303465975649288713e79ca67a9085c8f7449c0bb9a6ab196245b0da028cc1765a8ba0501d5e360cb3064e11554f3fc2914f1260509073b67b4a0570d7f708ca7c435ea987762f2a5a23cae53907fc9db26942136d72202d0a0bb10b65d422091abaa1c21d152dad59c25d20c016237634741def8ca26b9cce3097ffd896f1bf08300282fcb7000c7e1956673223902ae5b43bc63b6806c469a4ebb8bd34b057b375e725b07ee856fcc0453379b96f89888d21a7bd5ec91f837b90a2c334a97ad70d87bdcc12892d588d06655f6103e033547cf5933ec237b21b2956e5921cf10a0c55a70e4a24a57b93f6fcaab2a44bb079987eba57223b4b9deb60ec6464faa4058283b8cba6956c792ae8ff9184e93c2e2152823c15412c102518462c2691db1c64412eb1ec6d75d47c82fc5a9214670b3297067e30c6d9ce0cf3eb314cc1a4cf35342ae419513ec2bd47182c4ea52626a56f7831dbdc5719f532a5a421a7bd5a115c2195d0532e7c1c0ffe40166404137a5b45d7b2cd31752e1646588021508293fb881123f61034318700eeac429500905179b283162ed0b69590541eba0848decc94bd18c888170a4c030a89305fe97a2b0292390a3b1fd6aa22909cf0134a2754728b6fb5180276b7d65c2fd530b4ff48cc7c7093dfc2b418b97762c42bb0980c7f41d9651c69387173a6718038010f50b79b233187bc3a0f7c770e50abc62e8acbe297c58c58055387bc7711473d81ca97b6a6e6504870c0de1d806e3603ed0b04d01dc62529434014c5068c3ab3d4a909a079947127a8a2746cc8126f0212e21a0318ef273d5e0be16253848413c5cea22853c6e63b675cfac1d6590004a2bb3bb4974e79aca0dd927607a71d4b4c9980a86e5a2b5a84bcd2e694190491060411b332aa7e7766a4c693b00eb9d68f34e5b0564de24377d3a6d45f72d82ec24fb268537c07b81aa79b5b28ef5a657e0f8b6b2f3a4279abcf06ca2a79401312943d1d1086d91b1ad3030d0c0bb21806cb87b56ed391e6bc6aad974034664b4902336d6e45a7449cb656207d59367f2b142746636e44726f111603b28670f47113d28ce6bb11f464b181cb3205febc13cc70d3fb35924a641a1117df5cb65fd9a69c71bb800fc22a6bc47e52756c23533a3a494733b74d9689d64a849d048a2ffaa62b24ba53cc76ce8489d7515834ad3a2ea920e4f2275f4f7bb361866647c04c573bf47e6b54cd31810c7814ab5cd27da1905fc5976286b781787d2db606c036a2616af7946935713ce2c7ac3fc4972abaa2229c4c294e7a70f97bb6d119be54553eebab1c80c8da7459258e44a234357a1c9cc46412794116123d21db27455063672245460ebc8b6b1116b34f2401169ace16a514534154e798ae3155809b651ca963f854ba501407920765a14f826dcfa4bc4f21766b05bceac55e6854f1ad080d9b2538848a8dc7857f10c4c843c46b172adece3707e01c03059313bb96bb144996b127a16006db4063ca1251f550836e167adea545b3a0c55c0ac5de3fcab6e8242c2c5c09313646117a95ef46536dc74d869301335a2f9040484fb0c9cb85a3d034d55b03c66725d000c47537e0d5ae249eb884b67dadb110119f1d0a5ea38cdf9f2e0e27c75a43a9aa64a30bed5aa8300772066ef577f79bf4813e3315a15f2c28b2665e4dc7e2f6931e7324d5527dcd0ea7e2e6c2a82d4a80c3edfb38752b36581f3035ed9a23e +m = bcd1828f520df6a11b417bc8ec4367b6f7ccc47a4f69aadc445dc83f15482abe +ct = f43de76b96736ea271bfe716171725d7de80b4373ce197990f415b7586ca388662fa1f1e0789b2bedc2f45f229e63b84ccd3048680d9fa91f0b6839dee4a921b787b816cd99c15294df18a3062450c691e0489ee5b839e8d20eb6fd8407a1dfdca5f20a7796308a0c6053498509f3ee159d9f06a79774948820b6aa2f606a432d009f224870c31ef9e1ad3d799e44922bdbbf47487ef133aca108fed996b8e89cadd1b1424c0df1fbc87bea65b533c27792bcb3a2cfebbabd67112dd390c74fa7f83f5257d5ed2d706eea5acd29012c38b21f804a36bf7aac11a47e860908d616710199f6b9868444438af806efb1fd2789d1767e98505bf9347cdd873a1efafa511dcb1ad6cf2ad362bfb8ec436faf2e5798b05e4c0d8e3a9f16b0f262ebf97c195f2aaf66b6df402767ebd285a3697e527f0940832362bcbe9aaff7a581d2e2ea54f9ce7f30699ff759b4aa0cee0e271c8999b3ae43f025398daef0e3e1d567e1724c12f99837eb9781569fee0551cb8e52f2ea5625b180050415c7a1988fea2ffb1b719daaa7fad13e6ada58158546fcb4d9e61049459f0e4d1e5422e9c4e35ba36b129b94b34677ce9ac90042eeddaeb3541c8f398eba0c414d4ffb421d93054055ad1ac34e24c56f8360271f6adbffbbbc7138adf6a2cd9face73a0b64783b6753764cc0cf5a71f878a98f18f9005450501a700f64c43485b913ff1677ce062030f582e3136e20d7c27675165110a579ad05e99ff3fd3eb20588277fd98044fb21b71d46553c05a3fc70a3cb6af08c23bb5c4cf417ee9d935a11ff5ba6316adbb29fbfa3c66a9d1abd4d2f09af3109bde003fbe7076652c0a6873f2403bc0b00069b361a0abde88ec152bb5540a2b2ce05d60fc5beaece7ae10c89e5ee67ca80cc768e2eb4991d3273b601128ea42395caec0563497e856eb5cf55c1a67fe75ecd65cd9c4d91d5d0f6506c3497b0c2f109edbf870d321f26ba54aca52e6c43b6c8bf1fd9fc3635051b4e4fa4ef732b9bb4cb081cdd7e934b15364a6eeedc4c517ba24cdf2c8fffb7f24f31fa0bf8207ead329ea61962453d63acc3bb3c808026b9fed77db5cbf533c894ed50d1f553efe0c12bac842476452fbd7e5a326580772afb890958af4e7b31da2723e42c3674d75eb37868ad2b09156c3d8dd88274e05b2ecbda432f373aeab7d53993c648812b28e9eef8758033bb322e1df6439d74472a8c89cf75745627575123652e6cf04a57889ae8b3db77648186b4d13cdde921cdb7046bd0ce124beb9fb36acaaad9f445101993ac863b116837fe5f057d823ee1295da9b361a397d7208b466b6490f6e045bf00e5125142bab1539c0fadb62ff15ab7321684c0287661c61134abbf78ca252073dc3abded707b59a6cb97ab2a2bfde69df8ba5a2fc71abb70d33222c7aa788344f51c0461896a421908a647aa4b6725be54af7c2abc27a79c73627c16ab59b6db45bd6184f91b4077f51498ca53ccbdf489982f9c20fbf47e8a43dbb5b17f2dc3c4e5da582b0c37124 +ss = 53a2c4d5e96348634d8e0b8165355ec7dff157e93c4a4cbb6ebb0a89e5a1c5f9 d = 31beda3462627f601cbc56f3ddf4424e1529c04737ef0ef2af6d7401f653b8a1 -z = 812083bfa3b670e3eaf9b443702fb6db16ac1197656bbd61a8e25ed523b8d1e5 +z = 3390c2faa8e2bbdac1edf5a5b6803bfd3c58dcb1ace60333d03cde2c71737f55 pk = e9718a491b3262d206be72a9ceb000e81b6be6668d14a124bb49be524abb09b91942a60ed38b1974e36376a7724ddc7e5a993ea9c25f40b80c766cc57e807bd5932603403458b84703ca58f8e57c451227128654df4537fce6a57bd1bd6fd8c5be1135b2c82cbfa4b96d577575406f92538034d22d6198a9cd000fc8dc8988f95608c1974c4359ada14f7dd4870c63bf79886ab2d4cad1c89a8fe232fc1c8c515b7d2aa9cc35759ef583244ea767916478f8415fdf7b1cf85a80f4d6960298b977a7abf380709ef904c1706ee3f51abf415028321e4fc79fb2e15454c47b3572bc09c62c0dc466efaa759f116e8ba4717f91220f125656ba7c52338ab1facb0fa6a75ce61f3135911d5714fcda7a5a271205547018cc0607c5aa7104a4a77266c0525579f054ecc6c62522068e79352ae7a1c3265413459939764a4421caa937c8f9b2b276a2c77ce7814fe9034783b8aec29881e2563a63780cbabbcbe72501d68f1b72c6ef3c5d84a4bd7cf4a84686682fe36a151bcb3bb76ce5fa67ae545c9621bed149be06aa2e72f72d1b24b086836b525915b93a49d90cb3c45877c54204a605cc27f1828de6ca1e95056938a6c9651eb3b4a9b09c5aa9fc4401215d9ea9015a996f9a7b898cea466ca14f0065a5b1f374d422b4a277a011f3b3e8143b053507bee829e582528dcb3c9e950f39d17ad0a849c701779d070e34cc606c84a596650b7776a468659344446bc19186b43cbf042516a7b133065393c83b85313c53b71a5bc4421a91694beeb39760806d3b910aa8ea546f53763b656c99ea50a179986dc3786a554b819317fb58564dd69428bb1d7bc45a642a8ab9cc013f932a67222d1fd42b455930b8147d6175c66330217246c400c4b619b922182101b2d8165f93bee58757c14cbfc958552137b904009fcf845321841f8648b8f9e58d1572119b11cbcd59480246a46e255adcc1649817a052736ed9c18a262c36f7c37918db789ab177ed39add0850a509319888073b54bc3ed81000c780fc87ac5c302235a959b1164b491001b92811d4aa76876065e841b276a27b868822fd1da7c3fd1831d88c9f5d891ff610caf264fbc9280b8d4085251774ee20c23576ace6215b3eb8c1610ca2405115e89421418a7610c05bb526ffa39918e9558c6cb2618a612b6d38bf8a2569b4c3ae902a4ac744ed4bca8ed783c4eba450470aef5ec5370b87daa419145298170d64caafc2eda7c989645b9285a3fbd16c16e0c1e3fe085a6bc05248426ef106e7f6012e80882682660cd05ce49520785ea66325078f9a91e5ffc3ba0833de333326fecbcd8878f286064cd1b672f210133e30d106c61af9a75a7fc64fb5b1e1a1649fab356c0f26b9062c5dceaa7cee502c750a93187a21c11b1b7fcaa45f8b857d38e18287b1e878c7ee59e07966f3619bee70253d77065c02926bfd9b031260b5af95846573ad09c42573c8338609fd3e5c0b50092b17a83128a4a9f1a6a232252884504846b3b7df82981dbb036f6a57c5c19136789af9690a978145ea6adb74132ec55840965083f388877a93fc01b006fe4cde4012a1814b327a12cca8991cd18027f4485b4025b5583747fbb37916585261abfea163b617347acaf453ae235166cdd8afbffdaaab9919f0cffdc75d8796fcc28 -sk = 7ec737ebf52eb7905da8b3c58508928dd74462e8968a1265bb3b9780649210c8202e2950ac11863bd78af3123ae9899ceff1992608cf5bd1b4eb0ac1c13ccaab4ca89a869424bc1af777cfc7d90a071273f5aa5df310493fab17ce5b6477c773d8cc81d995509ff3a40ce80e734a9e8968b7fbe79a9900ab85f7b442077a890688dcba0bd5e64ae491ce5d39b554e6b82b7602a149a686c19fcee21b8e3b1792e7529f2307505c77ed84a63a68258e832bf0f118bc05c91a6b216ebcc051b90143b9748b365ec841b6098c4eece8aa8231bc24b03e732a0ec55aa5b0e3231efb7c7f0ab21e2544072c22b6b4075049b63fba05c68a936989baa2e55ad1846fd1e335568b01d4acc869e710357708bdc25db545447e41727224545ca8c16bca5458eb24d746a12e170ef191cc8dd840e26910cd9484b4e40d0c7446959a521618b9bc472c8001ad0d1c8428c43c0fb3230fa9b17694284375a0e1563fdaeab6cad367c9949c4723802d6931f0c212b03004675652b958518d31c8d4b06dfd99820702319e668dffb5c88622170b0c0eaba56ee7b77ef5d7600b9c0bbbea5b99e05a9443bb81a68c22c7904a1755d4c80a47ac148ed13c3981c6bf4122a7880fdd597429a32d6046981146743ae85cc8c0ccb715937f29c933d63ab475c2c5483ce07acc5b8bb4c7456398a9236d02bed9b951f6d43a67ea06f7fb803acc33e9552e7150c34003a2e2e11bfc0badfc537eb2b69122352ffb62b285b6cb0935adfa0385dda074f7a63adb76bcf4a80aa83a1c32f87be3a786537acaa32178b136c8bf817ac1cb1e25b44654266f4b2b14f33358b9b75a2d916d78e89d3cec68b782734fe052449598d847b2a02c3056a64e72c5a3b34685e9fb2c0037736e0a21df39a356310777a36fce908c243a4a50216b6199cd63c7bdb18b95fbe4615e9799757176fa4a88c93459bc3030e09889ede148890cc221362472586e3c026b0dc10ba5a823f07acc1c693e9bf31518b90359b7aaec54473552835b3590174109337b6171eac38de29bdef8095da13a8f7014b3f531fc152ca5eb19859673d52067e28c7513141245376baf368b07627fb1b844fc033361994ffb3b39822a2a2de17597d16601329866f42c3697a6f5132dcea2140b871480e50523c3c5227537a5089fb6742cbfca55ba9c307a321abe440241e34151b2c2aab6ad55817b115330c0b15891fa35bf344be7d93ad44bb27962101982902427242f5b06f85204e738aec7a333a15001252004b21b5e6fa95a41a4456f74c9522657a9a40f8c4a162f4951cd5bb8a4f334f45a3a73266e1c386caed53ab52b9a4dfa173b96869fba6c72987f4b328a0e56a08c96a00d78854d6762ea2394c2a102162143cd40192749cfbc5031739711f1ea8c37db5b635bcfe9b6396e2902d56bb135eb8975e1b0a171258d39a7ae84aabd46baf4dc2a6ff18fb6002ce232b7a45a532dd54d3da8c580d6cea4209098930477d207622a7cdedc2e72c24eaf5787d4b2b461889d23ab93a4ba327c371eff58cff7f65738886abd046895834aa06a6cb57973f1011353fcc1452b015a324c406515e9290aff4356fb393b57f4066077b2152819b6a69de9718a491b3262d206be72a9ceb000e81b6be6668d14a124bb49be524abb09b91942a60ed38b1974e36376a7724ddc7e5a993ea9c25f40b80c766cc57e807bd5932603403458b84703ca58f8e57c451227128654df4537fce6a57bd1bd6fd8c5be1135b2c82cbfa4b96d577575406f92538034d22d6198a9cd000fc8dc8988f95608c1974c4359ada14f7dd4870c63bf79886ab2d4cad1c89a8fe232fc1c8c515b7d2aa9cc35759ef583244ea767916478f8415fdf7b1cf85a80f4d6960298b977a7abf380709ef904c1706ee3f51abf415028321e4fc79fb2e15454c47b3572bc09c62c0dc466efaa759f116e8ba4717f91220f125656ba7c52338ab1facb0fa6a75ce61f3135911d5714fcda7a5a271205547018cc0607c5aa7104a4a77266c0525579f054ecc6c62522068e79352ae7a1c3265413459939764a4421caa937c8f9b2b276a2c77ce7814fe9034783b8aec29881e2563a63780cbabbcbe72501d68f1b72c6ef3c5d84a4bd7cf4a84686682fe36a151bcb3bb76ce5fa67ae545c9621bed149be06aa2e72f72d1b24b086836b525915b93a49d90cb3c45877c54204a605cc27f1828de6ca1e95056938a6c9651eb3b4a9b09c5aa9fc4401215d9ea9015a996f9a7b898cea466ca14f0065a5b1f374d422b4a277a011f3b3e8143b053507bee829e582528dcb3c9e950f39d17ad0a849c701779d070e34cc606c84a596650b7776a468659344446bc19186b43cbf042516a7b133065393c83b85313c53b71a5bc4421a91694beeb39760806d3b910aa8ea546f53763b656c99ea50a179986dc3786a554b819317fb58564dd69428bb1d7bc45a642a8ab9cc013f932a67222d1fd42b455930b8147d6175c66330217246c400c4b619b922182101b2d8165f93bee58757c14cbfc958552137b904009fcf845321841f8648b8f9e58d1572119b11cbcd59480246a46e255adcc1649817a052736ed9c18a262c36f7c37918db789ab177ed39add0850a509319888073b54bc3ed81000c780fc87ac5c302235a959b1164b491001b92811d4aa76876065e841b276a27b868822fd1da7c3fd1831d88c9f5d891ff610caf264fbc9280b8d4085251774ee20c23576ace6215b3eb8c1610ca2405115e89421418a7610c05bb526ffa39918e9558c6cb2618a612b6d38bf8a2569b4c3ae902a4ac744ed4bca8ed783c4eba450470aef5ec5370b87daa419145298170d64caafc2eda7c989645b9285a3fbd16c16e0c1e3fe085a6bc05248426ef106e7f6012e80882682660cd05ce49520785ea66325078f9a91e5ffc3ba0833de333326fecbcd8878f286064cd1b672f210133e30d106c61af9a75a7fc64fb5b1e1a1649fab356c0f26b9062c5dceaa7cee502c750a93187a21c11b1b7fcaa45f8b857d38e18287b1e878c7ee59e07966f3619bee70253d77065c02926bfd9b031260b5af95846573ad09c42573c8338609fd3e5c0b50092b17a83128a4a9f1a6a232252884504846b3b7df82981dbb036f6a57c5c19136789af9690a978145ea6adb74132ec55840965083f388877a93fc01b006fe4cde4012a1814b327a12cca8991cd18027f4485b4025b5583747fbb37916585261abfea163b617347acaf453ae235166cdd8afbffdaaab9919f0cffdc75d8796fcc28241e5c7b836862d7482d507973ae3fd8dae96eec4ecebcedb68fbda75e04b401812083bfa3b670e3eaf9b443702fb6db16ac1197656bbd61a8e25ed523b8d1e5 -m = 57c170e691d7a914a901b9a11c62b8b569b3806427557a9dbac9faa720ec3641 -ct = 6b0d9b262990276b654a5aa1a91ddb9ef72225cb2cf1fae1108671f4f44be627c6285aceda812207fab12b6ca0a147c2b36d08818ddfd16af799f9873ee7daf236f33a607744147a944790b2917d381435b626003c8df54967b99786d3b610e449dbe49840355a179e6273ff2b3164b50a0e818aee095807855641772b2b158b5cda1eb09bdcb98d3e124c0ab285e105e0573a5a6c7256d3455cf59227d0b421fdbb7399f851e910caf0ff6d96a4be8a74c7eeb54261da68024237eb7e561386eb4ea13c56ccdba633caf6caeade2657a50ef4e0ecf611c18d2b46af6e993f7279ace11439d9c8eb857ed097c9d1208757ce7898cc980de4635988f398758681307b42f64c86867f5f3177022bac3c4d8ebde5960bc9095591dab21ce23d799fda79c97095cbaddbc43e2324b8deb736e43374ea884055e4741508554b309d946ff719006c99deafb7154bfcad158a76d8858817bb0edd928d9c56e972c8dd3d5e806da47a0c855d23931d1412a5b801b42121eef3522a8fca12575703865dc2350ca616ecc39d1e9afaf9a87d638f72e1861fc8386ecda284ac0c220da5e3bb55895f82186dfe69569efaf2f4a7346348099704b11e5edb304c42b78853f376a4c4dfae3e32f1beacf3d5c2f1744e02f819eb22927013407d82d9687f83757d3d944524e5957e6ab542c83840f5a2f9b31cd9678c7a589dab33785f06a94c1b71e4afd3460f85c2a7c6ed7f83cfc009bd88f1241981ad098d1521c0a09348b816e1458291e58314c10371ccdabf96ef994d2c6685a4c781d4cf8263865a18ba57711269449e509bf8460ec4c1ce7c9788816a31f8f91d3fad6f27b4f351210ff5c41c11e5b0029e66bb655ed20e8011bd16afaf2f02ce2bc5188b2a2c34ab074515cc85477fa4b541d4c61611a1df6ae7d1782a311bebac32a28df255263e308e2b659150abf2dfb955f7a2d7fad7eed45e18796d9baea414f9f66252a4a7cd833e54f1010585865a66fb23f8b781fbf1e1bef7771c6e73dde8a059a0ed5837b9dcb9b5a037a3d77f6de09f3922c5f7c715b00e1acb1dfc91c934ae04932888192875a126af8df70b21d64cb22d430f64fd4cb836c3b8967063e22c647435421c4d0601a3a6d54e7051c84cbc4bcc6455d19b4ce18e79813b33a562f3780a92ac9160a1cb7a22c79a7b8b67ba7824a914e713be0c889dc6bb420101506fda42b2448970a11b3c482ca873efe65856b1dc7c8fa50a6412b8da94235488dc67af11b0c8e988fc844b7f0e6aeb685e4b63dc7c0c0184830410c486e6bc03f87129d99cb6464ea70b6c2b01d58ea3f18da93b4933567a95472556152feeadb88c9de0d5a69d6fef8edda08a34b39bfc5d5138a403e3e2d5e6a15a020e8e463b71f8d90a53fb36a91a825e43cba2433bae0f17569d3a83ee793ee99d44eba560c7eb57341aff091654dc3fd0e24461962ce9d50f1b8beee9bc4a23f232bebec8b61236d78309b16dd5b4690e8bc495ee43574398d01a62b0cd0f57cd4ee0b64acad4 -ss = 4a2bac4d2a30597aa5b528d0e20b1630b20a36e8d747b5ec41eeb57950375a5d +sk = 7ec737ebf52eb7905da8b3c58508928dd74462e8968a1265bb3b9780649210c8202e2950ac11863bd78af3123ae9899ceff1992608cf5bd1b4eb0ac1c13ccaab4ca89a869424bc1af777cfc7d90a071273f5aa5df310493fab17ce5b6477c773d8cc81d995509ff3a40ce80e734a9e8968b7fbe79a9900ab85f7b442077a890688dcba0bd5e64ae491ce5d39b554e6b82b7602a149a686c19fcee21b8e3b1792e7529f2307505c77ed84a63a68258e832bf0f118bc05c91a6b216ebcc051b90143b9748b365ec841b6098c4eece8aa8231bc24b03e732a0ec55aa5b0e3231efb7c7f0ab21e2544072c22b6b4075049b63fba05c68a936989baa2e55ad1846fd1e335568b01d4acc869e710357708bdc25db545447e41727224545ca8c16bca5458eb24d746a12e170ef191cc8dd840e26910cd9484b4e40d0c7446959a521618b9bc472c8001ad0d1c8428c43c0fb3230fa9b17694284375a0e1563fdaeab6cad367c9949c4723802d6931f0c212b03004675652b958518d31c8d4b06dfd99820702319e668dffb5c88622170b0c0eaba56ee7b77ef5d7600b9c0bbbea5b99e05a9443bb81a68c22c7904a1755d4c80a47ac148ed13c3981c6bf4122a7880fdd597429a32d6046981146743ae85cc8c0ccb715937f29c933d63ab475c2c5483ce07acc5b8bb4c7456398a9236d02bed9b951f6d43a67ea06f7fb803acc33e9552e7150c34003a2e2e11bfc0badfc537eb2b69122352ffb62b285b6cb0935adfa0385dda074f7a63adb76bcf4a80aa83a1c32f87be3a786537acaa32178b136c8bf817ac1cb1e25b44654266f4b2b14f33358b9b75a2d916d78e89d3cec68b782734fe052449598d847b2a02c3056a64e72c5a3b34685e9fb2c0037736e0a21df39a356310777a36fce908c243a4a50216b6199cd63c7bdb18b95fbe4615e9799757176fa4a88c93459bc3030e09889ede148890cc221362472586e3c026b0dc10ba5a823f07acc1c693e9bf31518b90359b7aaec54473552835b3590174109337b6171eac38de29bdef8095da13a8f7014b3f531fc152ca5eb19859673d52067e28c7513141245376baf368b07627fb1b844fc033361994ffb3b39822a2a2de17597d16601329866f42c3697a6f5132dcea2140b871480e50523c3c5227537a5089fb6742cbfca55ba9c307a321abe440241e34151b2c2aab6ad55817b115330c0b15891fa35bf344be7d93ad44bb27962101982902427242f5b06f85204e738aec7a333a15001252004b21b5e6fa95a41a4456f74c9522657a9a40f8c4a162f4951cd5bb8a4f334f45a3a73266e1c386caed53ab52b9a4dfa173b96869fba6c72987f4b328a0e56a08c96a00d78854d6762ea2394c2a102162143cd40192749cfbc5031739711f1ea8c37db5b635bcfe9b6396e2902d56bb135eb8975e1b0a171258d39a7ae84aabd46baf4dc2a6ff18fb6002ce232b7a45a532dd54d3da8c580d6cea4209098930477d207622a7cdedc2e72c24eaf5787d4b2b461889d23ab93a4ba327c371eff58cff7f65738886abd046895834aa06a6cb57973f1011353fcc1452b015a324c406515e9290aff4356fb393b57f4066077b2152819b6a69de9718a491b3262d206be72a9ceb000e81b6be6668d14a124bb49be524abb09b91942a60ed38b1974e36376a7724ddc7e5a993ea9c25f40b80c766cc57e807bd5932603403458b84703ca58f8e57c451227128654df4537fce6a57bd1bd6fd8c5be1135b2c82cbfa4b96d577575406f92538034d22d6198a9cd000fc8dc8988f95608c1974c4359ada14f7dd4870c63bf79886ab2d4cad1c89a8fe232fc1c8c515b7d2aa9cc35759ef583244ea767916478f8415fdf7b1cf85a80f4d6960298b977a7abf380709ef904c1706ee3f51abf415028321e4fc79fb2e15454c47b3572bc09c62c0dc466efaa759f116e8ba4717f91220f125656ba7c52338ab1facb0fa6a75ce61f3135911d5714fcda7a5a271205547018cc0607c5aa7104a4a77266c0525579f054ecc6c62522068e79352ae7a1c3265413459939764a4421caa937c8f9b2b276a2c77ce7814fe9034783b8aec29881e2563a63780cbabbcbe72501d68f1b72c6ef3c5d84a4bd7cf4a84686682fe36a151bcb3bb76ce5fa67ae545c9621bed149be06aa2e72f72d1b24b086836b525915b93a49d90cb3c45877c54204a605cc27f1828de6ca1e95056938a6c9651eb3b4a9b09c5aa9fc4401215d9ea9015a996f9a7b898cea466ca14f0065a5b1f374d422b4a277a011f3b3e8143b053507bee829e582528dcb3c9e950f39d17ad0a849c701779d070e34cc606c84a596650b7776a468659344446bc19186b43cbf042516a7b133065393c83b85313c53b71a5bc4421a91694beeb39760806d3b910aa8ea546f53763b656c99ea50a179986dc3786a554b819317fb58564dd69428bb1d7bc45a642a8ab9cc013f932a67222d1fd42b455930b8147d6175c66330217246c400c4b619b922182101b2d8165f93bee58757c14cbfc958552137b904009fcf845321841f8648b8f9e58d1572119b11cbcd59480246a46e255adcc1649817a052736ed9c18a262c36f7c37918db789ab177ed39add0850a509319888073b54bc3ed81000c780fc87ac5c302235a959b1164b491001b92811d4aa76876065e841b276a27b868822fd1da7c3fd1831d88c9f5d891ff610caf264fbc9280b8d4085251774ee20c23576ace6215b3eb8c1610ca2405115e89421418a7610c05bb526ffa39918e9558c6cb2618a612b6d38bf8a2569b4c3ae902a4ac744ed4bca8ed783c4eba450470aef5ec5370b87daa419145298170d64caafc2eda7c989645b9285a3fbd16c16e0c1e3fe085a6bc05248426ef106e7f6012e80882682660cd05ce49520785ea66325078f9a91e5ffc3ba0833de333326fecbcd8878f286064cd1b672f210133e30d106c61af9a75a7fc64fb5b1e1a1649fab356c0f26b9062c5dceaa7cee502c750a93187a21c11b1b7fcaa45f8b857d38e18287b1e878c7ee59e07966f3619bee70253d77065c02926bfd9b031260b5af95846573ad09c42573c8338609fd3e5c0b50092b17a83128a4a9f1a6a232252884504846b3b7df82981dbb036f6a57c5c19136789af9690a978145ea6adb74132ec55840965083f388877a93fc01b006fe4cde4012a1814b327a12cca8991cd18027f4485b4025b5583747fbb37916585261abfea163b617347acaf453ae235166cdd8afbffdaaab9919f0cffdc75d8796fcc28241e5c7b836862d7482d507973ae3fd8dae96eec4ecebcedb68fbda75e04b4013390c2faa8e2bbdac1edf5a5b6803bfd3c58dcb1ace60333d03cde2c71737f55 +m = c5d2e4c39ef9b75e3691b929f1618699306802adc2d04bb0219418f7bb0d2b19 +ct = 8c79c54583ce1958d0b3088eefc52c49845aca1d2632f870af6a08daca728900e55c9d94e93fd7a3be53a717637ae10afb1ee99c2ed1a539cd33603480398a0731d1d0a7a6596fb925711d5ec03ac1e14f4fb38647273b6fa9553d6975621bc754fb43168f7d41f250f924cf81fff79d72816e02099520388df8b02574c6a408787ec28536bc9d8599414967d3115f3ae2c02d7471924098b01d02fbee27c40c137cd99013aa981102cf026032b5b65c257b422feb678724fc7840cf8053be8b67d69e0c374017fa56cc8d63fa60b2361d6cbc55bc2bf70b9292882ca64f8f79f21e9e05bca16da8040c8d8e74b326de94ed968f177dd1e2b2fac383268353f379bded6e4da7b00b8cff78b7cff30927da63695cb5046624f31881ad11475aa5b9aa012b211307bfed343f7ad9af306b571f0b54b19288ce2535f5e5efcec30dff2c7940579a0c96c7f46863cfb9ed0191697705ad9a223c63282c95d13522c0a1899e8353e73960c67ce78ef6c0f1d78be8300a2d0a7634ed40b51df8a6351b0c5061c98bbbf8adfc78e7980c2ac73de555285c0eec678f220020e3a17ed0c5d6915a016c40985627f25541ab754a2fe80e8592ea30df4b719036a91ca8bf811e9c38f8ef713373993774a835a97baa0ce43d8c16c9f50d6abd64bafa57bb5978372e88ef61ccf6f20b3ad6f02c263f4510cd7ae94239911e30aaf2592b192bd0158483c5b2e6a5476d1c4dcbf50b594cb821794012627710992b24302392356578bdcc6b282e6570ece4684aeb4c637adb1ea869abdea6b08b3f8ccc60386b8ec3ab7afea1ff98185455282ddd0653dd0897921fff87a518ecfa0b800dffc598eb091410e658361f1d7134b88d08667bec52d211ed914cad7bef3448b80ad62b4cf7d31635eb71e83aeaab16c17195efc966e911191bcaca4e64d7586de2e37a1982ceb3b63e45d7f6d10b7300710652c671e40e558f002170dfe9c5e8532ea801760b9b17b5b82df714fcbfab3ca931428f269cce7bb952dd03b2cde0aabadcf5e0c2770435a3694eb05079f37bfa59b74c357386112764bccc62ce3d254bb713a7e6d294df36df43091b7955f6e5c620bb342f1db33707c74f52b0e859f0108ca38a86bf2779487d6185d43d31f3f70ae1b8e1232830799324bed499e64129fc776605b3eaff91b870a392690b9047c72d64b67119ec4597821a26eaab5b499046f4703ae53f01210af8797a55e380b326a5c1b344c71e9e0e646b7a2c2d3243244fcaa39549b2db519bfe0bff9a512afc5f188bd7e9de766598fb11e13aadc53138e0a832d75c76f40d7322e50d7d7fcc1825928790f10bd8f1cb910e0b1b937d865b3e92757ebf0200efcd9f84587c38df11f3f6ab61612ae5ce913ce84888bfb0dceb5907d8fb9dbe6340ff9b5ce625e62f0ac14f679be865bcb51c359039f9504bde03f796a5dc8009095591b7b28ec28d2cbbb374bf2d8bf35ece18511dda1366fedf49c57dab52732b2d629898e637624bc1a587077c4f346e5171 +ss = b3668d62a092edad32a4d1d4a8d919a27197f88fab79f33aa325d2ef20c73c90 d = cbdff028766d558af4466ef14043a1a9cf765f7748c63cc09dceb59ab39a4e4d -z = 8e9a30597e4b52ffa87a54b83c91d12a5e9c2cd90fcac2c11b3a348240411a4c +z = 605f30457945f8b1560010c71b40717fee3264a27ebae2ac8abc16267fb0f3ae pk = 14345d52853184aaab60195152259d9b643d864c4ec5fc4978c657c3365ea81212eb91339aaa4bfa87a197a04d46a7b666837f55db6f16c095db449e9baa879ae14016ea4f8ba975da26cfcf59401237accb908efd17146e9439b1473bafa07703f2932d5c598276b59b419402d681d87111f70c20d2710e10a407634ab216907d7363af0bc4647dba208f9c6744d71a8a1c1a99082a3bd8a843e4ce581412f04877edb1709d1a9623c3c428eb111a1189073c9a3d34ad16aa1f1551a07e6880147360e60888ddd5b0956036951021af4699c96382cc0c16b3f0b960135391c6692b0c556a5b9ad2f8a5ed0cb0baea2406868ac6f7a5a44b722721535e098fe832c9af148ae027604c47ce4d3214a1bc974675289ac7bfb9a644db30235a664417c57a8a46a86e18a10f81b87f4b4727f7234017088f447f28680b0600ad1dd672f0ea19e38a39fcf964cccc64528c97fa474ef3aa6777676b3db443d0a2042c744555049c48b2bc2577738a698bc58910f55b0ede555b171838f6086ca365aed981aa5354561411990707bd3305cf4d10161fd3124156691daa5cf3795653e2aee1c4ba021b0edd0809b14905e46c2cd0bb1e165c8aa428b180ea394e6c92bd6873e12328e5e1916c94c81393172df3815127b937b9646a783524671fbd8b5f01395178c6a9ff42c47d8b25fb37a2d1da975f69c7a8286504faaa6ad5b05307c2d20b4f27640fe59b1ef407110a317cd72023828192b131cb9af96899a69b0f51125b2828f29493a997a33023661bb7811c4593e4e579f8b17d0cbb6037d9273932af4eb235f7d01dd398b70752a925968adbf56cf132b85680abffb937c35425c244345e805bdb608cb0666984775ac1852690908cf2a60214f6a888004aa41a44831537e55a5dfae7b2a4448fe6c562ea66764dfb5fa508b6738c4f52f10d4a852d38f5354981cdfb7a851a675c5a01c2fbe886192582d1f08ab37753bbd81ba6d848949731c99ba92278a2833cc11ac3bf603512bd6557f9684eb980c7588424db0c1e2bb2bd09196a7da29d79208da50c4a0c839284a44d8861706e991edd099e0b1467b88948c89778787c26dd4436fbc4bfd12b0acc00ab4d85b613bba4f928bbfcb04e2eaa51b81845c3a710bbc8458027a4f055061d0b39ad28482646aebc5458d0e70d396c99a0b456837376110488f49a83f48372327467ab87870d11b3c1e6c112ab3d6d486a99bc2b9b368a0695c6c6251d6bea5b56fcb96fc23475719b8cc82806875cad772e4716332ffb02189438e27097e565159e4b1790558273ca887fca2a6e7226c53879adbbc07ac1072e6aafdd2a1dd89677842041f33c447204a3fb91c1e4935111ac739cdc9fd6f2ba8c0c66dff5552f3b2bdfdb19d4f65cb3b23777292cf97cc54bfbc41ed041e53318386173d229b9288c5d68e87d0ce2032d481c46b646ef71940d97af370732533260c6ac943272866bb2bc90ec64424c67b1c877f5d2b35c39656957bbe40c53ed88c4124764b726a5e24aba7b0c866a52385c85c241677f75487d4156c85db639ad741e0412438bdbceb6092fa14501fe1c5e95d90833332debc0441554a8cb5a8f7826b047882b415b78a0c2e966ac7c67b03ef5106f0a751017b67cc52a3d0e1586c74513d2b5f13260 -sk = d62c6ce5e7594be682a8167743106a44482e3a79ce257635773513f0b0bf77a161c8274a705b93d2eaa899d8c0126ac8adb7b3bbb5891711380da1a9de0541e4160dccabc13a165b5c54178da95b919457c684b9cef81e97637c73f22a3ce9295de79bedd83c3ff871087b9412301863e291b04779457807abe4687368c84b3408e26aa30bf58bbe4bbded32adb03607598714464222524b3c2cd4c15f98a2e6695463257bb8fa9a84131a64d45a57b9a539094b5e957496b79008878396d3b9b2ec41cca75b66fa6d069a51af611d4bc03e20cb12a216072d7834d996ae99e1cc6522a42b48c54282cd0ae8cfdd1b874fbb4ec17434ad584af5b4561bc1597aab63390b60fe7c052e57846e1a8c4f6c6758798b70503507554946382fa6e2004a616a40dbc2b0c596c2cb2873c38e6ff82ff159ba93563d23671dfc433949d3705f398b3752680169657623937a8c357864c39d82c16da5c1ee407fc7fab357c0b114965e89815409964ccdc54cd8d5b17039aa9283a59e746a45a2800e4806064683c292b425c18f73aa2f720a6521a050c5196bdabc9b094895b9527759c1a7210958e11a3411b05e67097fce2c11ed024a85a22684b51edd652ded89c23e1440ca5616bb754361c549776222b8b297f8f4bb7f818d3b29b16c369cc8ba9d91e6012bf006999c7057aa2a44c30237314079b2a55c63990c3ab657cb80d41022651097ed680d200195be82a9b9d08b24f039bffc42c66459b0c8889dda6714b63762494a5e6106f34223990772b1cc12dc660f5be62eb0a15c16d4a0303773d768c7dda7b749711f7c12720c150d30ec6b625624e3f94861483be03271d8b05780ab62e0294a8cb193238530b49455718c872428bea1d84955f54a3bb619dadc6106ea3ef27094a085634624377312648ac46559d7a7dd902497aa9f22879d131a08b9223a05e5b76a00807225b304480f6105cbec8a11cea18e8910a9bba691047c95676c9e2dc7ab76537691dbbee397738c613e1fb00a79f06698c10ec26c97dc00b82a54af572a02801aac20983311f42bca18699a2684e4b5aed83c7ad89a1705f1605a87cabefac499a56058d8b02bd597743524a90c3686d9405e33c3d70880b6449d41a76f83e23759664f1f301d3935998d690a7167afa11a59cf8b87624283a738c0d221b1b55453504ab64fb89824351a49ebbcc291465af92f50d7b53874c1190a766dac5e70706f88097be4500942534df5e5887c48b234c11992f32bf3f2867cc055d7d6c3a4d25d2a141be7d706bc1203814667552888e3bb13221a10dc3a4157d811a7ca23088ba5aa1a3fd60c0c6af29b3b52aa6da319d8e359d842c6dc65c29eccc0523115d15b19a7b90d1090c5949cc66a004f0a0513132640a284a87384c7ed06782607584bf5cdd8f099acb0229cc9588b024b0f3b5ba80b962218b3bce4c0f542bac9e8c235362e33ea30d789094fe82fbf64569907755ed7bfd00c3f6f446deb00a27b37bb92e454aaaacb69dc854532c718c85508ac8742c7180ea805a78999111915bd414275e92d75c1953c10968c802e4aa6429eca0a5ef49fb4046ed2c93914400b0d882b67c275c483037e859c8c015114345d52853184aaab60195152259d9b643d864c4ec5fc4978c657c3365ea81212eb91339aaa4bfa87a197a04d46a7b666837f55db6f16c095db449e9baa879ae14016ea4f8ba975da26cfcf59401237accb908efd17146e9439b1473bafa07703f2932d5c598276b59b419402d681d87111f70c20d2710e10a407634ab216907d7363af0bc4647dba208f9c6744d71a8a1c1a99082a3bd8a843e4ce581412f04877edb1709d1a9623c3c428eb111a1189073c9a3d34ad16aa1f1551a07e6880147360e60888ddd5b0956036951021af4699c96382cc0c16b3f0b960135391c6692b0c556a5b9ad2f8a5ed0cb0baea2406868ac6f7a5a44b722721535e098fe832c9af148ae027604c47ce4d3214a1bc974675289ac7bfb9a644db30235a664417c57a8a46a86e18a10f81b87f4b4727f7234017088f447f28680b0600ad1dd672f0ea19e38a39fcf964cccc64528c97fa474ef3aa6777676b3db443d0a2042c744555049c48b2bc2577738a698bc58910f55b0ede555b171838f6086ca365aed981aa5354561411990707bd3305cf4d10161fd3124156691daa5cf3795653e2aee1c4ba021b0edd0809b14905e46c2cd0bb1e165c8aa428b180ea394e6c92bd6873e12328e5e1916c94c81393172df3815127b937b9646a783524671fbd8b5f01395178c6a9ff42c47d8b25fb37a2d1da975f69c7a8286504faaa6ad5b05307c2d20b4f27640fe59b1ef407110a317cd72023828192b131cb9af96899a69b0f51125b2828f29493a997a33023661bb7811c4593e4e579f8b17d0cbb6037d9273932af4eb235f7d01dd398b70752a925968adbf56cf132b85680abffb937c35425c244345e805bdb608cb0666984775ac1852690908cf2a60214f6a888004aa41a44831537e55a5dfae7b2a4448fe6c562ea66764dfb5fa508b6738c4f52f10d4a852d38f5354981cdfb7a851a675c5a01c2fbe886192582d1f08ab37753bbd81ba6d848949731c99ba92278a2833cc11ac3bf603512bd6557f9684eb980c7588424db0c1e2bb2bd09196a7da29d79208da50c4a0c839284a44d8861706e991edd099e0b1467b88948c89778787c26dd4436fbc4bfd12b0acc00ab4d85b613bba4f928bbfcb04e2eaa51b81845c3a710bbc8458027a4f055061d0b39ad28482646aebc5458d0e70d396c99a0b456837376110488f49a83f48372327467ab87870d11b3c1e6c112ab3d6d486a99bc2b9b368a0695c6c6251d6bea5b56fcb96fc23475719b8cc82806875cad772e4716332ffb02189438e27097e565159e4b1790558273ca887fca2a6e7226c53879adbbc07ac1072e6aafdd2a1dd89677842041f33c447204a3fb91c1e4935111ac739cdc9fd6f2ba8c0c66dff5552f3b2bdfdb19d4f65cb3b23777292cf97cc54bfbc41ed041e53318386173d229b9288c5d68e87d0ce2032d481c46b646ef71940d97af370732533260c6ac943272866bb2bc90ec64424c67b1c877f5d2b35c39656957bbe40c53ed88c4124764b726a5e24aba7b0c866a52385c85c241677f75487d4156c85db639ad741e0412438bdbceb6092fa14501fe1c5e95d90833332debc0441554a8cb5a8f7826b047882b415b78a0c2e966ac7c67b03ef5106f0a751017b67cc52a3d0e1586c74513d2b5f132606ad1d739f1598a16c608a240cd13dfaf8263d74866315e2898a3431cf19e46858e9a30597e4b52ffa87a54b83c91d12a5e9c2cd90fcac2c11b3a348240411a4c -m = 6b5a14e1473abf5a33d44975ca2088bd8fa6fddcb3f80e8fd5c45b9d90c24a5c -ct = 3acce62a918ebd3d80860dd2aaa93b594682527418b4db700cffee66a66c30c228f2566a4f717c8505dd17cb7cc71990aaa00bf04eeeb254154ba0d20025e02d0f476b445e3ecd9e90904695236bb7d6345aa360308af8a9698a46ff10dabbfdd4537cd96ee0054fb3e7e53dc2d72dd642e079cfa964b8ee9a7e9806a5724c4d659d24af5ee2669ab399afc6df41f1e8ceeeec0f5910c83cc40a9287f0e44c22ca0cd3ace7ba56da39c29402331c3dca0f6df27eec203225c5f2100944516bac3aaf3470f793966cb9b4de1a9581a6412cfaf5e058ac21fab447b5045804af6d75c27e24c48b4dfaa3b48ebf59b9aff804bd24b98da9d29556bc95362e207e662855d927015c92c69034cf0df2ffb8fe3052713c74843d3bf90516d8627213e1d52167d13bc9c47387d57c8843ad16a102026e9ab2e430b70bd5eddd8898a5e62e7d6ce8650b18805996118bb95ca0ac22a43fd92d3eec07d5bebfe80a7ed737921061acbb42fc009c59a409eb3327c2931c642207145b826eecf2377374973219834c3e36e31f459793d644475e207ab0db525649f05873e811988186dee8a0e07ac3cea66f3635f531988d9798f0503fdfba624a350c299c1339435811620fd6b75ea11cff36b300e6f2c79f5f0b10fc07e1e9e6a9acaef599f95dc8ed5c43e95617d407120c5f9a5a7dd2a804682b8214bc5c913a4984fb69df0cab7c0b3146592e43fb9869a526ce58148aaaa39e70a378cab1648f982c0c668675e3522ad1c8647f3925f7db726b1e50f352234e5cb67f9b55954831e819bddf6628935a807a468e9724aa2917a2ff8e84d30df3643275897be01a2d9b2cd296b4289a4d84c2a5ec6ac1669ea42d9a19294cfd8ad9b9e4f76df7879d564429bc55459421026ca3ecba1ccfb04e41546da705d6b27d193b86a695746fd2a8de6d39b616b04c468469f69c23e1fe2bb7a554d70086dfe50f5b9f0a12114af80d146bbc6a6e1e745905e05443f9177c36002c26ff322deaa7d27074ade6860b4eea93755f00e35bba8a721ed9cec554a9ece670c9d8efe4b31ddd0565f2c18ecea9326d3a5f8a1d7cc208247ce5f45a75e23fd5a4fe1ca5a20b661a48e2c6e29d847ddfa12ee226310d65d10e3f461998b4a7480f6f200181e6a003fa671010b87ebef9fc8a2c14352102e1153816ed9b10b3e2f370ec7f8feae82282af5fec46a5d2b8697a59d1fc354f3854a1344db6f6fa91c78844b3a414d3ff02bcd1333a88afc9d55947237a743baf81f0afc37a10eaac892eaecd15b1265a6b37ac075a778fe2466e1d3a7c1d9c1677ae5fa8737ddf4040d7c3d76118540d244cda0a7ad5c9e4d7ddc377c15e57697f6f9ec14689c085e986f16bde6884b2978f217c51ecaa2aa9c8fca9cf6e9ade1e39becaaff2019b5691b70c06286341dcaa4f21b87b38622c1bc996a38bc0428731ad3eb3c7bb0d08ec4b4950dc5ea20095088f317c43c073d2e2cd61b361efe2cc13b12f1bfa59a309d620f4f8fd58b3a8f32ed9ded4be8ced -ss = e09c8d7e5d104c0a42b47f031efe22a79ba1008efdfb80ffc7532f40fc9b3a94 +sk = d62c6ce5e7594be682a8167743106a44482e3a79ce257635773513f0b0bf77a161c8274a705b93d2eaa899d8c0126ac8adb7b3bbb5891711380da1a9de0541e4160dccabc13a165b5c54178da95b919457c684b9cef81e97637c73f22a3ce9295de79bedd83c3ff871087b9412301863e291b04779457807abe4687368c84b3408e26aa30bf58bbe4bbded32adb03607598714464222524b3c2cd4c15f98a2e6695463257bb8fa9a84131a64d45a57b9a539094b5e957496b79008878396d3b9b2ec41cca75b66fa6d069a51af611d4bc03e20cb12a216072d7834d996ae99e1cc6522a42b48c54282cd0ae8cfdd1b874fbb4ec17434ad584af5b4561bc1597aab63390b60fe7c052e57846e1a8c4f6c6758798b70503507554946382fa6e2004a616a40dbc2b0c596c2cb2873c38e6ff82ff159ba93563d23671dfc433949d3705f398b3752680169657623937a8c357864c39d82c16da5c1ee407fc7fab357c0b114965e89815409964ccdc54cd8d5b17039aa9283a59e746a45a2800e4806064683c292b425c18f73aa2f720a6521a050c5196bdabc9b094895b9527759c1a7210958e11a3411b05e67097fce2c11ed024a85a22684b51edd652ded89c23e1440ca5616bb754361c549776222b8b297f8f4bb7f818d3b29b16c369cc8ba9d91e6012bf006999c7057aa2a44c30237314079b2a55c63990c3ab657cb80d41022651097ed680d200195be82a9b9d08b24f039bffc42c66459b0c8889dda6714b63762494a5e6106f34223990772b1cc12dc660f5be62eb0a15c16d4a0303773d768c7dda7b749711f7c12720c150d30ec6b625624e3f94861483be03271d8b05780ab62e0294a8cb193238530b49455718c872428bea1d84955f54a3bb619dadc6106ea3ef27094a085634624377312648ac46559d7a7dd902497aa9f22879d131a08b9223a05e5b76a00807225b304480f6105cbec8a11cea18e8910a9bba691047c95676c9e2dc7ab76537691dbbee397738c613e1fb00a79f06698c10ec26c97dc00b82a54af572a02801aac20983311f42bca18699a2684e4b5aed83c7ad89a1705f1605a87cabefac499a56058d8b02bd597743524a90c3686d9405e33c3d70880b6449d41a76f83e23759664f1f301d3935998d690a7167afa11a59cf8b87624283a738c0d221b1b55453504ab64fb89824351a49ebbcc291465af92f50d7b53874c1190a766dac5e70706f88097be4500942534df5e5887c48b234c11992f32bf3f2867cc055d7d6c3a4d25d2a141be7d706bc1203814667552888e3bb13221a10dc3a4157d811a7ca23088ba5aa1a3fd60c0c6af29b3b52aa6da319d8e359d842c6dc65c29eccc0523115d15b19a7b90d1090c5949cc66a004f0a0513132640a284a87384c7ed06782607584bf5cdd8f099acb0229cc9588b024b0f3b5ba80b962218b3bce4c0f542bac9e8c235362e33ea30d789094fe82fbf64569907755ed7bfd00c3f6f446deb00a27b37bb92e454aaaacb69dc854532c718c85508ac8742c7180ea805a78999111915bd414275e92d75c1953c10968c802e4aa6429eca0a5ef49fb4046ed2c93914400b0d882b67c275c483037e859c8c015114345d52853184aaab60195152259d9b643d864c4ec5fc4978c657c3365ea81212eb91339aaa4bfa87a197a04d46a7b666837f55db6f16c095db449e9baa879ae14016ea4f8ba975da26cfcf59401237accb908efd17146e9439b1473bafa07703f2932d5c598276b59b419402d681d87111f70c20d2710e10a407634ab216907d7363af0bc4647dba208f9c6744d71a8a1c1a99082a3bd8a843e4ce581412f04877edb1709d1a9623c3c428eb111a1189073c9a3d34ad16aa1f1551a07e6880147360e60888ddd5b0956036951021af4699c96382cc0c16b3f0b960135391c6692b0c556a5b9ad2f8a5ed0cb0baea2406868ac6f7a5a44b722721535e098fe832c9af148ae027604c47ce4d3214a1bc974675289ac7bfb9a644db30235a664417c57a8a46a86e18a10f81b87f4b4727f7234017088f447f28680b0600ad1dd672f0ea19e38a39fcf964cccc64528c97fa474ef3aa6777676b3db443d0a2042c744555049c48b2bc2577738a698bc58910f55b0ede555b171838f6086ca365aed981aa5354561411990707bd3305cf4d10161fd3124156691daa5cf3795653e2aee1c4ba021b0edd0809b14905e46c2cd0bb1e165c8aa428b180ea394e6c92bd6873e12328e5e1916c94c81393172df3815127b937b9646a783524671fbd8b5f01395178c6a9ff42c47d8b25fb37a2d1da975f69c7a8286504faaa6ad5b05307c2d20b4f27640fe59b1ef407110a317cd72023828192b131cb9af96899a69b0f51125b2828f29493a997a33023661bb7811c4593e4e579f8b17d0cbb6037d9273932af4eb235f7d01dd398b70752a925968adbf56cf132b85680abffb937c35425c244345e805bdb608cb0666984775ac1852690908cf2a60214f6a888004aa41a44831537e55a5dfae7b2a4448fe6c562ea66764dfb5fa508b6738c4f52f10d4a852d38f5354981cdfb7a851a675c5a01c2fbe886192582d1f08ab37753bbd81ba6d848949731c99ba92278a2833cc11ac3bf603512bd6557f9684eb980c7588424db0c1e2bb2bd09196a7da29d79208da50c4a0c839284a44d8861706e991edd099e0b1467b88948c89778787c26dd4436fbc4bfd12b0acc00ab4d85b613bba4f928bbfcb04e2eaa51b81845c3a710bbc8458027a4f055061d0b39ad28482646aebc5458d0e70d396c99a0b456837376110488f49a83f48372327467ab87870d11b3c1e6c112ab3d6d486a99bc2b9b368a0695c6c6251d6bea5b56fcb96fc23475719b8cc82806875cad772e4716332ffb02189438e27097e565159e4b1790558273ca887fca2a6e7226c53879adbbc07ac1072e6aafdd2a1dd89677842041f33c447204a3fb91c1e4935111ac739cdc9fd6f2ba8c0c66dff5552f3b2bdfdb19d4f65cb3b23777292cf97cc54bfbc41ed041e53318386173d229b9288c5d68e87d0ce2032d481c46b646ef71940d97af370732533260c6ac943272866bb2bc90ec64424c67b1c877f5d2b35c39656957bbe40c53ed88c4124764b726a5e24aba7b0c866a52385c85c241677f75487d4156c85db639ad741e0412438bdbceb6092fa14501fe1c5e95d90833332debc0441554a8cb5a8f7826b047882b415b78a0c2e966ac7c67b03ef5106f0a751017b67cc52a3d0e1586c74513d2b5f132606ad1d739f1598a16c608a240cd13dfaf8263d74866315e2898a3431cf19e4685605f30457945f8b1560010c71b40717fee3264a27ebae2ac8abc16267fb0f3ae +m = aa9d93a4f2747551ddb0453f9717e1789b64ac9c19ba3da020261936ffaa9ca1 +ct = 9ebd1a7929a3bce5f174ddcfebff750f6cebfcc753d694c076fe5e54f53d46a90564079cf7561c26909a9a7c8653048eca14e43cd681a65057f4950df2fcd02dd5e72c4e593f81b450226cbaf287939c9e7be8e33dde78ab24f23194b375ff995308b3bab8217a5f1717dde813f4eaae39f31cab02c634df9301773cef9de068d02f50d143b12e2be58070310938ee611155ee73ac0b211479c6581be4b0ef9fcf10b3dbb7337b9d801c1f2897de46b28b876ad3553d5a9c5ef95c0def96308ae06c577211ba81e28ab4029fe4a7de07effbfeec9d7a1b8abb88c41564b2ffdc532f49f38a50886204a12f36cb56a07f6aef5d6008ab3fb9ef11c68189abc1608612ec156ea99618ff857a0aa03fe5b7c3aed56f96ce751fb04f09604b4587d3ce237864553c854875ee3b1a0386f207991024802748e5335d09bcad30b2f4f59a293867dea121c28415abdab47d16da05d0ce01711e48b376367954239e88aa4d533887bfce4691695e5fc66543db119ee02eb01afcd0002d03ccca574e25b7d4a567013a5bf4fe02cb9d7e6bb5a9edb9ce24fa43a27c343ad10477a72e1a46461c672daa7b16513d244e0b08b220f81c2085ceeb867d8addef69c2c40d3db714788b7668d7cec55eb2c63e9401b8ee5ac96e51007592b8f3fc8133ce8262e587b330d2166ff9e1ff78a9039e965a6f0c96264cf7557fee02309b1a0f9960f0eb068e5a9b3d6802e71b014eb52dcf13e6c2770765cdc51171f9352336dfe36397bf1cc21b5542ec7eaa03b079890c3f9eb0d1d0ce2ba64eaf4c333cbe7827cf4ee5d5fd271059d3bb6ef8ed40b994d1860167fc130b7fec61ad04ab7b8f453acb4c1e314f0e674f975e8df807fc29800b48fa6c1e062c728ede677d14677f34c17b52c7e4633ff754be813e3f36455ddc603da7e9d1c37fcd5ad14ba0ec200b2cb64d230bcec41d0b036591e5f0ebb7096f8a9cdc1284ee6dc80b62dd7d30fbea9d17f423e30d0ab96fa4f3207f8082033380e2671b4ca392108a47fb873cd5b100128c45d13882d576282cb06e592d752dfb7b255afef048cc61a36329806a41b6990751f5c9ef15a7081a89da306f36d505e5175e275dbdc855f7e6e6e32785d0878784aad7e1460e0c2e0630032d25aaebe669b0c3267815fad12d7cb534b8e0d0ebe166716fa3b99a0d9f8c487c016a2e44172fd0d65c188672888e7e407d0f89f06ebc92419fba768a5c5659df8516e1beb3f70260728a7e7b6b6069d4ff27a3b0c7eb7f40ee146bf00a72dcb3130438983d4b4f1a0930b0931f304914f9d9ce7079427482e134baed17bc1fc5eaee511c3435ec35a91eaf9cb91a833404fa8ef0132e0ba39e351ee68e7c5869c3f440b2c628558e91f1f6a390e47cda8d0c5544e63e88e09d19f7840d4f1ea17cf1e397ad9c93c373b242492687284c8064d76ca875584a3817b530ed6a04d95dc637229ba46584b3a569d8a517364ab72e3431c055dd76bec1780df33dc0358bab730fad98caa98fc0381d0b75188f +ss = e2c19c840f2378fcdf9a8e71de83815c4c41a9e579adc6405f14ce91232e3f53 d = 4c04310bea66305c6ca8ba6b8f61ca96257a67663afc11761f13fb5c7b324b6b -z = 8aec87a9a79204cee2986867a2906eb851b734b8b22b91d6749b1a5f07c44e3b +z = 0a8155459118346a84683de346659727da4b64a1050c5271e968ba9cfdf6029d pk = 8bd98be4597242c95c9641b194a093a928b8d3b30f33c10ba326943a8b704c09a6dfa55f700c488c38a3334716cceb6585008a853162e40a544c0a16878328f47c4e67b5aad276a2dec4c320047e2eab345cc14982b96d1d13566da409e93072377a1729546117a04ce291a2090b60030a35d5b360f9f871cad52f37e63954da0e0a8675abcc3717972f89469978730607293267cac89e3c96a98576c2351d8756429722a1278a173a75114baa4f0eec6a12b09cafdc99fee2c1af7acdae3c747b94b06517464f654adae25888a15cb4c5017076c9d3fac3b1560dd9112d88b2bcf31b15ac420fe5a698d52ab41ef33fa6ca8d8cb9b94d58648f39a138974e8016a972308c7b040d2fa32bfd1096503a3a0e84b9941188a6720e06e6641b896d365190369766995826b72122d780477581bd69b348bb6c5c8f65b4d84ac3f0768ef6645e422b3ed7e38d0a423409c285d0e21bbca97be6707557bb0027e755f9a81912d04b9ebb374bd79411b2c283068670431f2de58d346bb525d192f128c9316742115275e9214def7a61da509b5848013b304216f783d77c3f57b76fb8dc984f05ab557709dae4691b519c44d41813e4b61e6664af5c970ae7a810714217745af087bb00575b18081921a854b7d953e29cb1de704e6578283292168ea73a03e2082b8b641c819649270011861a7b301dcef74e9b116a86f717e30ba6c5398e34390072e20c82f570fcfaa2bd8847a7187052e6b9d0d9bc9fec0217373bcc7b8d38245e40a1597077bb00a408e9eb2bb451c31a746d2aa07fd6432cf176382b6665d45343cf32731817023ee046577abc342bbe25416daee417f2971a8ed4c839126e996a8db40a55bd424c0e534cab677fa1c6b692d2b7e322a331305f75289a1ed102ed604722737e76501c7e7acc69842d6ffb2d31d1003c3b3bd8f4458d93b0270cba21db21a7d16e22e18584e68ea5b890ee839de75b68d60b25d5452bbb91658f3220aaab200ee7a8f070a5b5aa7fa30a768275970012324fe01910e8647945ae6f8b3a17d08e5c36af468a7f6308751c4141439b567eab03d72538ddf71debd2aec5db13537a2b0130b4c2f6662182bd08eb750eb681fce77981a3012102c45642bb8a44ad5cb27cda8369ec28190f64987eb600101aceae7a807158cc8100555a82644b3b513d7cb283a363c70a4ea090241c8a96ac562e7fb3c38f3515c3a68fecb271713729fb77a1a68695fcf995855749c1f0ae09f90741ec332e7602cadb69e55438b9d8ccc213119627410488145777907d280ddb7391d2ec9f27371277c266bb1b14f6eb8d46b2c8bccb0c68f3beb2d87b07044904d5b08e84305b0686f923985a49acdcb1a662d1a08948c9b8d95883518d0ad3933976c464a41c18351216d84066d71164a32d41886a153703c584b747555eefe8309f0810d49c0df8c5512b245f637c9448c47e1456995e922460b8210c7ac1063047c3764077288a1345c23ee0c8fa6865fdd52acb49614207285d241c14114db55cc0c92049f3537abff81b8a30a02e5ab013741b36d92191691b3197cce8d2328bbb6ff61932434899ae01412b231b0efa18d8381555866091c77981e753f8a2b95e8095765ef7a13bd38f9fed3bf36477916cb802690a213c83f6624a067a5e2c -sk = 212393fa68c40d1153ec29801f4472db30b8e6516647cccc6a160bdac4299d515717d46bb4248673d11558d8af5a6373720a9c96a4c51bf12ac506cbe51b560ab742ec684ddf86cb08121bdd412e2476842d051e3182c415c49b7184c9322242f70b63a960576296a8af5451f5d474019c47e1822e2b1503d30cb8ea20b3cec334a2114fc2381d910a98e633716ef9ca2f7939c7033bab756371d6c2e906061df822113c57dd5992c8826adecbc9ae381931473558ac94fe8a19c9c4bea3dc40defbcbde234a211623f8d80bdefc74f657a797098ebbe2b6b57438c2253f89d13bcbd5c0c4204def79bb37859e36e920768ca7d0651a7ec9bb63336698acbfb6c9a384084defc1bf5d9c050087b691d40344e107bef0241bd99463532a05b795f820213392cb16d668605ca86df134c03c4a7df581f8ca7daf732f5aa75146457163c3abfa9c655f966a607a69aa1234fd1ca2a97213f280a10e84c4aad26c0ea2cba6773d63b39ef7350f6d284830ec3275e5bb9a318b03f87cd3f3bba41632c0f9a1e65989b74b91b23a82bcc22d617aaf8b14c10d0037ab970b8cebbec0cb866be5057964b7cae6c9b3084a696602a25961dc53558c065d6d8b25248aba262b1b635322bb82165a8cbede60bbf6b72459d47b64a964b3c32ca563ba5aeaba8ed912d81b2e733b4b4587a99ae5037dd21dfc9aca5d869596e36547c0336ae774b8ba637622a597c05dcd43b092d938429886c708448b24a45a701ce9fb9db54c67bb531bcfb82ebc15c127409b02a3350d6168f1296784b86f7310b9160681f0133a66356843401b9c0414d7f687aae41a36857ccd3b26bf8c11def30769e30630169365aa3c3b53cc89d9cf47c2cc6c166f197c9e5c5b2408b03c41b0613703cc4872be78dcc4b28089d7118ca1186baeac1355d5b9d4e45515897ae233a26810356a373dcbf6cd5f02cdde8c468be006dbc67e60a69908d1171d4a5ec1643b87059cac80c259788eaf195f4fbccfc4c0284be822f94c2978fa119371291657b927f8b332124d61d17e21a36485d2c3f2893865f305589a8d048b06fba7bb9f087f96d5785678a7f2d16c892cbb2273677ed0cb70f5729af0a0403b0bf0608acec1ce32f2924535c16e8423be0c8854e439ea395dd792399dc98aeeb7493b64965858be35977dc053b3c0b3788fb4244cd3b49e40934f90b454c983da38b2b5c88521347788f832e9c64a6cd012511234275c9f6c251442a87b496743333a161d8c04e3d78be3097942aaccede09b9cb673e1fa261be71dbeb5c4e1049b2b2a00311acad4470f8afc85172476b949aefbc0110a261461291b5ff7a74697c88ad40c82770fccf68b9ad5382125879e637b7cebc1aae95b03219cf2488b2e3b2e51480c8cd8022c2092470236fe6042dcebca24cb9ee9379386d80e54c232dec93b99b694e99ab5e41cc8cfb8928d5c08edc7a707044b49b8a131986a3f37bcdbcab5255b64b4905a93a719d01a32384a87543b6ba1a22db75c9baad257bc8b9d8b78641b394c7ae064087454cfb17b307bc35a97cccb842602990747d60f30d220ed3171ffd7a2b77049dc210e2377607b817f24c011dd736d7918874aea4b8bd98be4597242c95c9641b194a093a928b8d3b30f33c10ba326943a8b704c09a6dfa55f700c488c38a3334716cceb6585008a853162e40a544c0a16878328f47c4e67b5aad276a2dec4c320047e2eab345cc14982b96d1d13566da409e93072377a1729546117a04ce291a2090b60030a35d5b360f9f871cad52f37e63954da0e0a8675abcc3717972f89469978730607293267cac89e3c96a98576c2351d8756429722a1278a173a75114baa4f0eec6a12b09cafdc99fee2c1af7acdae3c747b94b06517464f654adae25888a15cb4c5017076c9d3fac3b1560dd9112d88b2bcf31b15ac420fe5a698d52ab41ef33fa6ca8d8cb9b94d58648f39a138974e8016a972308c7b040d2fa32bfd1096503a3a0e84b9941188a6720e06e6641b896d365190369766995826b72122d780477581bd69b348bb6c5c8f65b4d84ac3f0768ef6645e422b3ed7e38d0a423409c285d0e21bbca97be6707557bb0027e755f9a81912d04b9ebb374bd79411b2c283068670431f2de58d346bb525d192f128c9316742115275e9214def7a61da509b5848013b304216f783d77c3f57b76fb8dc984f05ab557709dae4691b519c44d41813e4b61e6664af5c970ae7a810714217745af087bb00575b18081921a854b7d953e29cb1de704e6578283292168ea73a03e2082b8b641c819649270011861a7b301dcef74e9b116a86f717e30ba6c5398e34390072e20c82f570fcfaa2bd8847a7187052e6b9d0d9bc9fec0217373bcc7b8d38245e40a1597077bb00a408e9eb2bb451c31a746d2aa07fd6432cf176382b6665d45343cf32731817023ee046577abc342bbe25416daee417f2971a8ed4c839126e996a8db40a55bd424c0e534cab677fa1c6b692d2b7e322a331305f75289a1ed102ed604722737e76501c7e7acc69842d6ffb2d31d1003c3b3bd8f4458d93b0270cba21db21a7d16e22e18584e68ea5b890ee839de75b68d60b25d5452bbb91658f3220aaab200ee7a8f070a5b5aa7fa30a768275970012324fe01910e8647945ae6f8b3a17d08e5c36af468a7f6308751c4141439b567eab03d72538ddf71debd2aec5db13537a2b0130b4c2f6662182bd08eb750eb681fce77981a3012102c45642bb8a44ad5cb27cda8369ec28190f64987eb600101aceae7a807158cc8100555a82644b3b513d7cb283a363c70a4ea090241c8a96ac562e7fb3c38f3515c3a68fecb271713729fb77a1a68695fcf995855749c1f0ae09f90741ec332e7602cadb69e55438b9d8ccc213119627410488145777907d280ddb7391d2ec9f27371277c266bb1b14f6eb8d46b2c8bccb0c68f3beb2d87b07044904d5b08e84305b0686f923985a49acdcb1a662d1a08948c9b8d95883518d0ad3933976c464a41c18351216d84066d71164a32d41886a153703c584b747555eefe8309f0810d49c0df8c5512b245f637c9448c47e1456995e922460b8210c7ac1063047c3764077288a1345c23ee0c8fa6865fdd52acb49614207285d241c14114db55cc0c92049f3537abff81b8a30a02e5ab013741b36d92191691b3197cce8d2328bbb6ff61932434899ae01412b231b0efa18d8381555866091c77981e753f8a2b95e8095765ef7a13bd38f9fed3bf36477916cb802690a213c83f6624a067a5e2c9510a2a0b4fcbd414fc61aff04a8df579660d14b13c40ec0470c45f639b65a588aec87a9a79204cee2986867a2906eb851b734b8b22b91d6749b1a5f07c44e3b -m = 40e593754e6eddb7f9cf176ba2d5fd1087c90ad377556d0b0f686537b1a3165e -ct = 9dc66c77c56800c40a5e71dc3cf139a83ac4308527df4adfbd930307ef72d020aee3e44c3d548c67cad24e04c21fdcfb69ef121985a565cc897a06cd2c7f4cdd767a5ff8f9353ffaed3363cf5f315ed386af41bb5a3b0e395dbf12dd24fdad29fbcd6056fbbc6d354739710ef74b1f4f7c212785f1451d3fa18443ea1f8e4357b7d0368c086c395b4fe548240f7f085db4a361490412d034363f3514acda224e4f72fd7ac410fec9d7e194fc9f074e8435d4a2049f9fa8663773d1087ac0721af6665c1057af23c2b5f3c478f16daf711bfd0fa253dc1185f008fb8604568ee21c8b93cd1c0be2cf4d7869c9dfbb94f4b7a1c038f834ef1b45144e8c1c4f3a7587cc0f9bfe3c6a2cf22ae9b835ee38b6d6cf89ab32316d307de771df9444b6b23e7054182ccf799ca0d0d0d3034df22ab6fc27c507782e8196cea3550a76b3246ddd1b9eb68aa110955c3f3fe19ef762ce5ebda48a0b59dce90550293aa4d550cbe5ac94e5fd79901d11b7c5bb261c598cf0c49aeef25ed8adb9042791b7377035c41638bb4d06551d80472d159a33854bcfa31555d95506466d118e6b2051e900eb7ba9b6df3cb9e7d51ba93271df965f274c4370266f8d0e1ee346d046250486173f96ffe819c231ae3e08ea12bdb2ee3b47434e6f68e19df6043465d145ab978860db6918995dc8e995069773abb5f033ebc58de26e6c4214177f1ceaad65ff523feed2761bda7acba7340077fc0cde9a938d3b333333fd32b9618459a180d55a34892e6b569810ace45421980d9a1a2489badc1e617f4e5a8b3b628db737ab8668bf047598fc79fc74dd21fc783df41833e033688cf3915f8328d557c1f482fc78ede767ec705ee6767d25691dfaef3a1ef7d076480ca1621888c6282ffd037ffa0128769a30530d92eb7ff4c4e1c86c0d5ea911c7aa2f2b37f1019b061cd6d6bf0f70e76e8139131ee149aa4197d2f2f284cae33b96b5fe8c5f846d277c59f04daba036da670b821a4e5fb0532d0fe03f90ab8e223f06ee5fe9d982047deebfb69a02b145e703dc60ab95918971ca3a25df7c32dccea0019f19d83e245f532f5207f8ed19d9a2f7f94f22fa60b1fb666dc21ccdef046215c50095301d2902fc0d4882908a16b810fb44409b9a23d8228d7ccd0d510051256e4879395faabecc95542c07e8a07458fce35d1d882606b41794bc69481e22c53f7bae8b5bf6492ba14ac16f8e80918360c3c7be0f2e6985a2c32cdfd36eeea99b2c5c140cd56e1ac51aca07dfb53d58d8db395a28057ab62eb16de9da139da54d4934dd7e5e0997f35fa77fcf0e9c6387e854de1d9df06950fe039719b5f278fab8bb81882edad67369d0d0fb1ed57bf36b00d961d87bde080787729753a9ecf0a48f5b92a369fd71f8347e97170cd0f0a9ced646a120f73a414d6cb8217583be56255628cbbb91f088c2ca1b1c0e0a302d573ce50d13f22d76ad4dd03908b9a84f4edc74a234c16cd210e4a7d4880f96a43ac6c003d011caa39ce78efb2f8731fdef17b6b4 -ss = 1f8d087b541b57a9d85f0737c39e73fde01db5bbe539834d8f918426a57df9e5 +sk = 212393fa68c40d1153ec29801f4472db30b8e6516647cccc6a160bdac4299d515717d46bb4248673d11558d8af5a6373720a9c96a4c51bf12ac506cbe51b560ab742ec684ddf86cb08121bdd412e2476842d051e3182c415c49b7184c9322242f70b63a960576296a8af5451f5d474019c47e1822e2b1503d30cb8ea20b3cec334a2114fc2381d910a98e633716ef9ca2f7939c7033bab756371d6c2e906061df822113c57dd5992c8826adecbc9ae381931473558ac94fe8a19c9c4bea3dc40defbcbde234a211623f8d80bdefc74f657a797098ebbe2b6b57438c2253f89d13bcbd5c0c4204def79bb37859e36e920768ca7d0651a7ec9bb63336698acbfb6c9a384084defc1bf5d9c050087b691d40344e107bef0241bd99463532a05b795f820213392cb16d668605ca86df134c03c4a7df581f8ca7daf732f5aa75146457163c3abfa9c655f966a607a69aa1234fd1ca2a97213f280a10e84c4aad26c0ea2cba6773d63b39ef7350f6d284830ec3275e5bb9a318b03f87cd3f3bba41632c0f9a1e65989b74b91b23a82bcc22d617aaf8b14c10d0037ab970b8cebbec0cb866be5057964b7cae6c9b3084a696602a25961dc53558c065d6d8b25248aba262b1b635322bb82165a8cbede60bbf6b72459d47b64a964b3c32ca563ba5aeaba8ed912d81b2e733b4b4587a99ae5037dd21dfc9aca5d869596e36547c0336ae774b8ba637622a597c05dcd43b092d938429886c708448b24a45a701ce9fb9db54c67bb531bcfb82ebc15c127409b02a3350d6168f1296784b86f7310b9160681f0133a66356843401b9c0414d7f687aae41a36857ccd3b26bf8c11def30769e30630169365aa3c3b53cc89d9cf47c2cc6c166f197c9e5c5b2408b03c41b0613703cc4872be78dcc4b28089d7118ca1186baeac1355d5b9d4e45515897ae233a26810356a373dcbf6cd5f02cdde8c468be006dbc67e60a69908d1171d4a5ec1643b87059cac80c259788eaf195f4fbccfc4c0284be822f94c2978fa119371291657b927f8b332124d61d17e21a36485d2c3f2893865f305589a8d048b06fba7bb9f087f96d5785678a7f2d16c892cbb2273677ed0cb70f5729af0a0403b0bf0608acec1ce32f2924535c16e8423be0c8854e439ea395dd792399dc98aeeb7493b64965858be35977dc053b3c0b3788fb4244cd3b49e40934f90b454c983da38b2b5c88521347788f832e9c64a6cd012511234275c9f6c251442a87b496743333a161d8c04e3d78be3097942aaccede09b9cb673e1fa261be71dbeb5c4e1049b2b2a00311acad4470f8afc85172476b949aefbc0110a261461291b5ff7a74697c88ad40c82770fccf68b9ad5382125879e637b7cebc1aae95b03219cf2488b2e3b2e51480c8cd8022c2092470236fe6042dcebca24cb9ee9379386d80e54c232dec93b99b694e99ab5e41cc8cfb8928d5c08edc7a707044b49b8a131986a3f37bcdbcab5255b64b4905a93a719d01a32384a87543b6ba1a22db75c9baad257bc8b9d8b78641b394c7ae064087454cfb17b307bc35a97cccb842602990747d60f30d220ed3171ffd7a2b77049dc210e2377607b817f24c011dd736d7918874aea4b8bd98be4597242c95c9641b194a093a928b8d3b30f33c10ba326943a8b704c09a6dfa55f700c488c38a3334716cceb6585008a853162e40a544c0a16878328f47c4e67b5aad276a2dec4c320047e2eab345cc14982b96d1d13566da409e93072377a1729546117a04ce291a2090b60030a35d5b360f9f871cad52f37e63954da0e0a8675abcc3717972f89469978730607293267cac89e3c96a98576c2351d8756429722a1278a173a75114baa4f0eec6a12b09cafdc99fee2c1af7acdae3c747b94b06517464f654adae25888a15cb4c5017076c9d3fac3b1560dd9112d88b2bcf31b15ac420fe5a698d52ab41ef33fa6ca8d8cb9b94d58648f39a138974e8016a972308c7b040d2fa32bfd1096503a3a0e84b9941188a6720e06e6641b896d365190369766995826b72122d780477581bd69b348bb6c5c8f65b4d84ac3f0768ef6645e422b3ed7e38d0a423409c285d0e21bbca97be6707557bb0027e755f9a81912d04b9ebb374bd79411b2c283068670431f2de58d346bb525d192f128c9316742115275e9214def7a61da509b5848013b304216f783d77c3f57b76fb8dc984f05ab557709dae4691b519c44d41813e4b61e6664af5c970ae7a810714217745af087bb00575b18081921a854b7d953e29cb1de704e6578283292168ea73a03e2082b8b641c819649270011861a7b301dcef74e9b116a86f717e30ba6c5398e34390072e20c82f570fcfaa2bd8847a7187052e6b9d0d9bc9fec0217373bcc7b8d38245e40a1597077bb00a408e9eb2bb451c31a746d2aa07fd6432cf176382b6665d45343cf32731817023ee046577abc342bbe25416daee417f2971a8ed4c839126e996a8db40a55bd424c0e534cab677fa1c6b692d2b7e322a331305f75289a1ed102ed604722737e76501c7e7acc69842d6ffb2d31d1003c3b3bd8f4458d93b0270cba21db21a7d16e22e18584e68ea5b890ee839de75b68d60b25d5452bbb91658f3220aaab200ee7a8f070a5b5aa7fa30a768275970012324fe01910e8647945ae6f8b3a17d08e5c36af468a7f6308751c4141439b567eab03d72538ddf71debd2aec5db13537a2b0130b4c2f6662182bd08eb750eb681fce77981a3012102c45642bb8a44ad5cb27cda8369ec28190f64987eb600101aceae7a807158cc8100555a82644b3b513d7cb283a363c70a4ea090241c8a96ac562e7fb3c38f3515c3a68fecb271713729fb77a1a68695fcf995855749c1f0ae09f90741ec332e7602cadb69e55438b9d8ccc213119627410488145777907d280ddb7391d2ec9f27371277c266bb1b14f6eb8d46b2c8bccb0c68f3beb2d87b07044904d5b08e84305b0686f923985a49acdcb1a662d1a08948c9b8d95883518d0ad3933976c464a41c18351216d84066d71164a32d41886a153703c584b747555eefe8309f0810d49c0df8c5512b245f637c9448c47e1456995e922460b8210c7ac1063047c3764077288a1345c23ee0c8fa6865fdd52acb49614207285d241c14114db55cc0c92049f3537abff81b8a30a02e5ab013741b36d92191691b3197cce8d2328bbb6ff61932434899ae01412b231b0efa18d8381555866091c77981e753f8a2b95e8095765ef7a13bd38f9fed3bf36477916cb802690a213c83f6624a067a5e2c9510a2a0b4fcbd414fc61aff04a8df579660d14b13c40ec0470c45f639b65a580a8155459118346a84683de346659727da4b64a1050c5271e968ba9cfdf6029d +m = 8af3dbb32af8dec4843aa90bbf43a5f13686d9738911a805c62636c111b2e140 +ct = 7e3f72704dedcb7fa7842eb6d4aa4d0d1cb765d8cec29fe759d099c802d67ca1dbe0aded23a4c478fb8ea1a06317edc08bde1dfcd7a9b82bcea02c6c1eb5a5b0b18d33ec047bbb4b8d17ae337a3859f091e60b516bc9760fb6935aacbd1dc7dfab6e200e740496acdbfd145e911141a8708779e41900fe1f21272cac5b5cec500c2145b76af79765516b3095f9fdec5a65e30a5bf3bc7e800beb04badcec7eea917cbf83ef83b5f383b11190cb1cb02a7e7f33efe2f0803239a2c0d942552500ad9b7ae61e17fc05a5de4b6b1b2a5a57161cbd4bc982649a8ab4fd7ac2ec790f00004cdde57a32684d4fb1d60907db1b8d796f62d2c765e8177fcd0fb1342ab68deface05963b7b84f44b23ad0e8f93573413501310a02c9b9fb594f2576f69de0ea30d7873f1822984c8224a1377dc3bf900c94434e2865e9e0665bdc090f3aafcce625d248918b67699ca77daca06d1bfda1634861277994ef522777336c5805ee86532783ba557939b5b2bf80e477157eb1bc0da7d162d965e4b3c28a7bcd9c58340e6771aad0c128674698ace934f531b67ec80161ee9ca62cfe239b309f2edc46ce9faccd7b19c11e7f5e62c8f3459f5bcee32f92a1c8b0d98e1b539d594555b44c68ac44389ea4e9f4ab823f44803d0d0d497f05d0b1e9836cae8fbdd57d92d221ae3b1d301b872c9ec6e1fa51a4e93904d6d1cf571d2da511adafc231bde291aabf7c6b19cfa17610998ed145a13ac5e6874e4d32fffc6cb2f0f98624df95bb2c5c5842afae732591791c39116af3866af3a227a42c2ec3f188991aa1a23ef81896d2a2a2f0753f6936bf34963ce8c184f7e53149ba10a9c8266322c3c6b945db0eb652eabbf042469ea201560f03ba3b523f29e9f1ad1545fe83b46785fb461d000ff55e36605ef1389da66e790fdaeccb7a0c42016c40a68a51cb3f5f3f5c9956faa815a49f578df015df360fd8d42c39896ca8b33b81c46d1d7c9a3d95ea6d3f9248a4591d9f2a064f5677f375ee6273bafbfcf101f42eeb19e078b336804498dadf4f79001b537c58796159de3737a1e800970d79ed4bfe373372d977edf2576f2dbc31560d49ac475b5546545b9c5d5d75ddb77162088b9a2b58aca964436292effc111a5174cc6ca8f218983563040b405664fc2147cb050826b75d67eec984d1b16132db0bfb43de07556595a1d5a3d728e129db6fcdf5830ef767d0c72077d227022a937e91be07a8e3f4ebecdeb09ce85c4632e40db5121083e92d307fe02944df9a88616043d315bbb584bf42f82e0eaf18da0768003bcea3def8a89380a601544798002a35ff03ceb9188c5c237c36fa0c22119a24267981656df2b7c4ad7be0df35f34ce94da31c64f75a831fe557e731097fc4cc7f51f4a79e9602c107dcabc4a34a3b48c233b4d156e0d3860d181615dedab813c2d063903a7421380e0c3e57779c91af37092fdc8efee4294acf66fbdd8f0d4d5f89f4391cc4c9daa90cc17b664bab281c059866ab67465a444338b8e3a04ec7b868 +ss = 07163cd065c6976622fa92b5f0e93e6748111ae8a8f7194498eb2f6664d336ad d = 38a0d5f41d7dc1896efd1b45b0485634cef149828751b96087a0a6dd81b4d58a -z = a2acf359556df4a2abaeb9dcee945829beb71185b4d6bd18b76e5668f253383a +z = 08ad5bf30d584ae9c8425ab3c8f1fb9960752721cb2c8310cd7bac84808bb979 pk = a6bb3b93c181b651918a25235e22779cf052e1d30e6852557ca32aaf841834b423a9e61cc24b5231d7590f863e814aa19f123c0cba97cb3773740871ac23868731748355a85f03b275b3273486142153be4920bc9ee77ab5c05d2b96228906586ec831ebe8cf6f9bac3631b7cc904dfc768b1a717274b33f70d08b6a79c4aec3597e1c9664c9472b6c100c1601f27bc0aed37152e20b327b5d32646f2980bd780c8f476715ac04bf1e03c2d4a31da23b14dc0233c1a2c2d983627bbc845f023e349ca59626a99eeba5dcc12e8b82076ef2295238667308451c2052c6f9b127778a3c656213a23dc7e25660443183298753475bcaf667a9483192c6bf553b7e50b44a84a4b881b0365fe513fc661a03689581e045d2f921444c6a76e6344ed8a335b6681ccbc7b42b50b9b03558c64da65088f60b136882012135a8a659355503918ba25da1c167b9fb9f771b5727493c921338c1acccefa80201039d28c968aa3a40c2a28835f63bde23b9722a245ee3c859997f45e10a11f1906c1485b0b51093f51819963393a692ecdb1dda2c88a6133f69f401b124cad796217c818152a528f7d073bfcb9eaccc6cc8825ac4612533126c1ccc736db53f648201ff29a6c3f77b41e01de2087986f237200014e5fa540735513400004b5925cf64b0ffe9575e27ac19ac5644f355231bcdd70348c4507c80780f1d51abf6ac4c5e2957a94325a3f64e83a0a192516f6cbb40b8abba5f8b85bf2aa60e44b46585bf009a723fe1a44fc97543f269f670c593935bdf87a52a1a31cd2b9ad92807407b5851b49eb1a2318611cacaa7710b6764a7e57f8962bc3fc483a8393640e602ca55526eb1be56f2c61ce802b9592f24c14aaa75aa4b002ac9b81fc1327b2a93aa889c9eb178bebdc91579ca7bd30796cc324447892558d2c052308946a451ca49816c06aad39603dd3841ef03ccc1075df164739feb342adcce87aa12f550200ce94765eb4f291a5152941b4eeaba91c3a59257c03017c0b7e0003b07657ba60b4256a8a4b205d7646813246385b348ec157dc6eb3be4546d7eb85c29512840018968743d2ce147f071c8f96c7436596337d69f5074485bf4a288833f2855787f8a18d874c5a2a41422157f65b62b5e581c2181a7023698fdc1ac60a8340a34b29f81b03dc35da2b453fa61293070b1c6db57f3040c3af7766c69b84d624dba1163feb0c71fab6582473f93c8753d67b0259a2eee1c847b1b8a73455a74fa10c3a4c21a35ad20fc36d563be9bc55350f565e4076670f0c77b3c4aa2a06f7bf2ad1bfc4fc8721618454d640189a6f8b3d6c71086dba68b213f4c51100a6037e717147893cdae20a97759204b2c684d8206fdcb10df575799aaa3de388cead4446dcba8e14368f7202520c71e453b41cce426be6c1e29ac475c45742ddacf7c520da15780a9056183900559129e5e3cbb3feaa288b25b6fc69bb8b164c1db8e24391172a8c23859545e98a13725130e45c3d1cbb5d6f5c0dc275608163916013e6e466c29502902c97d3bc33dd006abaaf2aacc40c046e55951d744e31887155a3fa880058a8767b35684445982767c697540ce339a0f4c29c2ae42b5dac5047c12c22bcc155a63a8610db945708cb5425ce0c3c651532a43d32473f236519d54fdfe0a815d -sk = 69e774db244d05192a2e064257f3a7b9b08941a2018aca28c610b8bfab59176bad88b9a7781222cb03aabe6a4c2937be24645a28c3a7931240503769edd1865f72b44c4842114980ba64a59a647438c5476a700d0dc4a63277c4dc73a3dc9b59bfeb0ddf0817612ab73ab14378e93fa4982d15131c5016b36a639e4f689e9b6b2d2bb2501e130eedf72afe4861ae7cbe7e717b4c4001b78bac719c6afd40969392cfb1d918794b4988a7c03a23c8c5a751ed2c39d3e18474b43cf8b7814a5932224141fd543871ac102bb0a349153eb4a13ad57ac06602bfc6c1b4425284ead058572a1c7c0cafdc6756555b2033d2ce67f9155b16726625928ea26d13e2c0c0a66988eab99643b4cf23ac68724ce635188dd8b3f2f421e8e8a9f838b707a16fbf27445a7555cfc052982cb002130ca3500cc428aef14281564997d5f37d0a1c411cf73d3d2082e4c26c3bb7beb9fba2d9ec631f8953b3d03075318b4b720b4fb5b177d43c11e8979c640639136fa20b718c0846404b2f0604c55ca82f519241d811a697000dbce1c743410e92922e83446410a93150178a4a2b52123174db128b2eb97df4e8a617d5876ab9977daa8b7845537db0a2b6e0599c0cc165438329d1251d6aa09d5b30f27040082a135c2b831b7722c416072c655c4d511e1fdc0284932849126d49b5a03b3593894bca250b0d198601a02900c9406d8f5b69beda735a3512bd355dad587bca7330364031573b44eb9c2bd103bafb7283c1b923ac3a41f0607d4b7b7e1e681aac9b4090538b6b7975b9c5c64c6196577b7861cc88ed6c3365aabcc9b97a6a318a39a2ba8b17376509a563b58dfbf4584e6b00d56bbbec309164982d1b906635a146c04bad613c02c8e2c2d0597fc285779c628f3e290a84d8710745c444410f129a140358991d601fdc787faf4506c6003e2130c2e03b3ffed39ca3b9bbaaa34abae794d4266e59a80efb44528b2b234d70025767a5dea09032767722c61e53423417458de9e809a42257a27001e9c8ad43b775bc853d8475abdac86811d568e9e38747618aff0b0901283a3913b6595cb2a85b6d42101dcbc90146ab85ea5449850bc9d8b1356f820ef365731f176ec0a0a5b7f35d9848c426f32d6a37046574a93cfcc043614e8708026621a06ac00582da7b64421d4f50aaac1bb10d6bbaea31808712b891344b7b865243614cd706c2dc098b0a069fcedb89ecd67de8319c92f3aa0a9b92a1fa256302587a5859408b5cab563ef1814cea386becd756db669fdf87a003ea1e7654cab281220b21cb234ac1c4b459ee48517bc838082191de35b265d5264119c05cb500a05307c806ae8246128a8194f61024f5b2b7c410689150c0a8f68e1b3a51dfaa834b7c8ed989b351e683af7ba73dd91e9733282fa2559ac53aa2819811190b5827000d98433241a3da2b77f4e588b0088e3d3318cfd049c4777f7b08678144618e2406b9b6b72698888c4529b7e3b272e92620bb36792266c3da4c9c403d1d49650b5530be017c3b99c068890f2705702440aa0bfca823059822c18981a03b16670e127386265487665aca4c171e023621a853965a629757148e37833d31e453dc9b20191c94230833a6bb3b93c181b651918a25235e22779cf052e1d30e6852557ca32aaf841834b423a9e61cc24b5231d7590f863e814aa19f123c0cba97cb3773740871ac23868731748355a85f03b275b3273486142153be4920bc9ee77ab5c05d2b96228906586ec831ebe8cf6f9bac3631b7cc904dfc768b1a717274b33f70d08b6a79c4aec3597e1c9664c9472b6c100c1601f27bc0aed37152e20b327b5d32646f2980bd780c8f476715ac04bf1e03c2d4a31da23b14dc0233c1a2c2d983627bbc845f023e349ca59626a99eeba5dcc12e8b82076ef2295238667308451c2052c6f9b127778a3c656213a23dc7e25660443183298753475bcaf667a9483192c6bf553b7e50b44a84a4b881b0365fe513fc661a03689581e045d2f921444c6a76e6344ed8a335b6681ccbc7b42b50b9b03558c64da65088f60b136882012135a8a659355503918ba25da1c167b9fb9f771b5727493c921338c1acccefa80201039d28c968aa3a40c2a28835f63bde23b9722a245ee3c859997f45e10a11f1906c1485b0b51093f51819963393a692ecdb1dda2c88a6133f69f401b124cad796217c818152a528f7d073bfcb9eaccc6cc8825ac4612533126c1ccc736db53f648201ff29a6c3f77b41e01de2087986f237200014e5fa540735513400004b5925cf64b0ffe9575e27ac19ac5644f355231bcdd70348c4507c80780f1d51abf6ac4c5e2957a94325a3f64e83a0a192516f6cbb40b8abba5f8b85bf2aa60e44b46585bf009a723fe1a44fc97543f269f670c593935bdf87a52a1a31cd2b9ad92807407b5851b49eb1a2318611cacaa7710b6764a7e57f8962bc3fc483a8393640e602ca55526eb1be56f2c61ce802b9592f24c14aaa75aa4b002ac9b81fc1327b2a93aa889c9eb178bebdc91579ca7bd30796cc324447892558d2c052308946a451ca49816c06aad39603dd3841ef03ccc1075df164739feb342adcce87aa12f550200ce94765eb4f291a5152941b4eeaba91c3a59257c03017c0b7e0003b07657ba60b4256a8a4b205d7646813246385b348ec157dc6eb3be4546d7eb85c29512840018968743d2ce147f071c8f96c7436596337d69f5074485bf4a288833f2855787f8a18d874c5a2a41422157f65b62b5e581c2181a7023698fdc1ac60a8340a34b29f81b03dc35da2b453fa61293070b1c6db57f3040c3af7766c69b84d624dba1163feb0c71fab6582473f93c8753d67b0259a2eee1c847b1b8a73455a74fa10c3a4c21a35ad20fc36d563be9bc55350f565e4076670f0c77b3c4aa2a06f7bf2ad1bfc4fc8721618454d640189a6f8b3d6c71086dba68b213f4c51100a6037e717147893cdae20a97759204b2c684d8206fdcb10df575799aaa3de388cead4446dcba8e14368f7202520c71e453b41cce426be6c1e29ac475c45742ddacf7c520da15780a9056183900559129e5e3cbb3feaa288b25b6fc69bb8b164c1db8e24391172a8c23859545e98a13725130e45c3d1cbb5d6f5c0dc275608163916013e6e466c29502902c97d3bc33dd006abaaf2aacc40c046e55951d744e31887155a3fa880058a8767b35684445982767c697540ce339a0f4c29c2ae42b5dac5047c12c22bcc155a63a8610db945708cb5425ce0c3c651532a43d32473f236519d54fdfe0a815dcfbe9649d9d1c384baad67b91b2f3e21f2fadd6bb582a0b9cb016051dd82c75aa2acf359556df4a2abaeb9dcee945829beb71185b4d6bd18b76e5668f253383a -m = c152523abd8248bed40c3827bcf0f8e8127037a55c780695e2c28ea3e041a44c -ct = 438bd56b10f4813575d7cb4d4f502af16b0cb43babb8b636088ab627cadafac7fa8a3b3ac3e8903c6f72a6a060ecfb81f2f86974e324bfc5a6eeca115ac1f632bd83be1741204499997e1255c547e3f6f4d2b4c92d8671fb3342c1df8c0b1b927e33477d589f74732bd047dd9898cfe6293d1f6108f74924d68215ca691552ac1ca07487fc7099db19bd26b16b4474873d352384adc22aafa0c36cdfe4a5a486372398e2117a894c3ff3df86f724553a419362bd1aadba1730a85efe908beebc4aea15c83a02e0c5424cb39261697e3bd534652da23b6e64118db7a355438bdeb1d3d895d281f0b095871ec4b108354dda84d252c819019fd3c0469014ede38b16faf69f12688fc7a17ff074414a6157e4fe4c9f92699d3b57d00d31232fc8ba2a05b4253caf6e9f550ff9ddd063b4d2939a5431021450de80538614df20cd2c21c644dae73c1621b6b7de5cd08ea474383a9f842e69ec29c37bdbab43012313c984d8ebdb386ddad5429467f6e3ca94d1eee89f77783724ade7d1d375c6dff1f483d6849ba5cd09c6eb8740cb1bc463f0d4c9441b6f248c029d8e94f994db46e892c2b546c1dd3c1b71c78bb5b4c4d15f3f3382dc075e8cf29aa3d4700ddcec71bf6c836cf84fdfbc60c145dbdccc49929cc989a206e104a72a6967adc2b1cf682bb4aeda52475851dfc72ef76a33231de8f44266c13cf3323fe8142d73fa5a6d021d31c15fb95dc3998ba113154adb6ca2370b9627f7c15a8e858c15ba769afc33339dc55f783322c41fdce25efd438879eeab6293a1e47c5089c1cfece5f194740567b2488998f7b10d0c63b5212f556b2c0b1f300a22a54185aa8431fa20f2c59b898339c6a9a2462ef5330c9ca2ccabd333666689753440882152e7cd74f965111bd75ab4a1b9d50f8f09c8e63268cce09be63c293e875c3ccd5518c2b9665226825fa269d8d5c078f50ed5fa2b0278e75e7ab2444fbf4c4b33e3c2e9ff7ea7d720208a582399d0a381cb3eb087bec172f99f76948acd97d7cabeea2d2ef4859c087df9f8216b904ca595993d81cb21fadb7e5dd1ba854dfe16b4e4818a2a4c7bfef3ff1f499d30cf53adf2e9dfaa03147931760a359213f58a8ace9be58e50b888f85ca6f022f7d1c152743e341b68bd6df17ca099ff891a5f702e8ad845f092c8da5a5f584febefbcd0280473a7f4aeedf0701d7f69bf8b94311d87f1c03222ea9698adefc602d7c4fb8acd59008af4fdd75b5a930323b742887a0d91ca209063754e55e21e8894fcaf8944675002244d0134a41e43270a9e918753c1224d2992b34cd5e0b8c1e79eaaeb74b70a215c7b75e9298c7afd0f4b26cec3ebd13d7462fe0569be3145aeb4393b3bb1f5d13281c7fc4214168e062f76d7eb2a7b7d16a1efbe155025cb0085dfc4a706e79c0670cbfae9bc7a8390c6ddddf1fd4e83d56d242af36ded7b0c38bf82081c631a3905ee477f70165bcbe327658768edaaa49548cf446aa574b7c97071ee2d0063a8d8d2fee0092d2687f60e005bf0 -ss = 0da3b9b56fa25f4ca356d3206b99ac83fe84a09cf7fd55a33268c122a8fb51ab +sk = 69e774db244d05192a2e064257f3a7b9b08941a2018aca28c610b8bfab59176bad88b9a7781222cb03aabe6a4c2937be24645a28c3a7931240503769edd1865f72b44c4842114980ba64a59a647438c5476a700d0dc4a63277c4dc73a3dc9b59bfeb0ddf0817612ab73ab14378e93fa4982d15131c5016b36a639e4f689e9b6b2d2bb2501e130eedf72afe4861ae7cbe7e717b4c4001b78bac719c6afd40969392cfb1d918794b4988a7c03a23c8c5a751ed2c39d3e18474b43cf8b7814a5932224141fd543871ac102bb0a349153eb4a13ad57ac06602bfc6c1b4425284ead058572a1c7c0cafdc6756555b2033d2ce67f9155b16726625928ea26d13e2c0c0a66988eab99643b4cf23ac68724ce635188dd8b3f2f421e8e8a9f838b707a16fbf27445a7555cfc052982cb002130ca3500cc428aef14281564997d5f37d0a1c411cf73d3d2082e4c26c3bb7beb9fba2d9ec631f8953b3d03075318b4b720b4fb5b177d43c11e8979c640639136fa20b718c0846404b2f0604c55ca82f519241d811a697000dbce1c743410e92922e83446410a93150178a4a2b52123174db128b2eb97df4e8a617d5876ab9977daa8b7845537db0a2b6e0599c0cc165438329d1251d6aa09d5b30f27040082a135c2b831b7722c416072c655c4d511e1fdc0284932849126d49b5a03b3593894bca250b0d198601a02900c9406d8f5b69beda735a3512bd355dad587bca7330364031573b44eb9c2bd103bafb7283c1b923ac3a41f0607d4b7b7e1e681aac9b4090538b6b7975b9c5c64c6196577b7861cc88ed6c3365aabcc9b97a6a318a39a2ba8b17376509a563b58dfbf4584e6b00d56bbbec309164982d1b906635a146c04bad613c02c8e2c2d0597fc285779c628f3e290a84d8710745c444410f129a140358991d601fdc787faf4506c6003e2130c2e03b3ffed39ca3b9bbaaa34abae794d4266e59a80efb44528b2b234d70025767a5dea09032767722c61e53423417458de9e809a42257a27001e9c8ad43b775bc853d8475abdac86811d568e9e38747618aff0b0901283a3913b6595cb2a85b6d42101dcbc90146ab85ea5449850bc9d8b1356f820ef365731f176ec0a0a5b7f35d9848c426f32d6a37046574a93cfcc043614e8708026621a06ac00582da7b64421d4f50aaac1bb10d6bbaea31808712b891344b7b865243614cd706c2dc098b0a069fcedb89ecd67de8319c92f3aa0a9b92a1fa256302587a5859408b5cab563ef1814cea386becd756db669fdf87a003ea1e7654cab281220b21cb234ac1c4b459ee48517bc838082191de35b265d5264119c05cb500a05307c806ae8246128a8194f61024f5b2b7c410689150c0a8f68e1b3a51dfaa834b7c8ed989b351e683af7ba73dd91e9733282fa2559ac53aa2819811190b5827000d98433241a3da2b77f4e588b0088e3d3318cfd049c4777f7b08678144618e2406b9b6b72698888c4529b7e3b272e92620bb36792266c3da4c9c403d1d49650b5530be017c3b99c068890f2705702440aa0bfca823059822c18981a03b16670e127386265487665aca4c171e023621a853965a629757148e37833d31e453dc9b20191c94230833a6bb3b93c181b651918a25235e22779cf052e1d30e6852557ca32aaf841834b423a9e61cc24b5231d7590f863e814aa19f123c0cba97cb3773740871ac23868731748355a85f03b275b3273486142153be4920bc9ee77ab5c05d2b96228906586ec831ebe8cf6f9bac3631b7cc904dfc768b1a717274b33f70d08b6a79c4aec3597e1c9664c9472b6c100c1601f27bc0aed37152e20b327b5d32646f2980bd780c8f476715ac04bf1e03c2d4a31da23b14dc0233c1a2c2d983627bbc845f023e349ca59626a99eeba5dcc12e8b82076ef2295238667308451c2052c6f9b127778a3c656213a23dc7e25660443183298753475bcaf667a9483192c6bf553b7e50b44a84a4b881b0365fe513fc661a03689581e045d2f921444c6a76e6344ed8a335b6681ccbc7b42b50b9b03558c64da65088f60b136882012135a8a659355503918ba25da1c167b9fb9f771b5727493c921338c1acccefa80201039d28c968aa3a40c2a28835f63bde23b9722a245ee3c859997f45e10a11f1906c1485b0b51093f51819963393a692ecdb1dda2c88a6133f69f401b124cad796217c818152a528f7d073bfcb9eaccc6cc8825ac4612533126c1ccc736db53f648201ff29a6c3f77b41e01de2087986f237200014e5fa540735513400004b5925cf64b0ffe9575e27ac19ac5644f355231bcdd70348c4507c80780f1d51abf6ac4c5e2957a94325a3f64e83a0a192516f6cbb40b8abba5f8b85bf2aa60e44b46585bf009a723fe1a44fc97543f269f670c593935bdf87a52a1a31cd2b9ad92807407b5851b49eb1a2318611cacaa7710b6764a7e57f8962bc3fc483a8393640e602ca55526eb1be56f2c61ce802b9592f24c14aaa75aa4b002ac9b81fc1327b2a93aa889c9eb178bebdc91579ca7bd30796cc324447892558d2c052308946a451ca49816c06aad39603dd3841ef03ccc1075df164739feb342adcce87aa12f550200ce94765eb4f291a5152941b4eeaba91c3a59257c03017c0b7e0003b07657ba60b4256a8a4b205d7646813246385b348ec157dc6eb3be4546d7eb85c29512840018968743d2ce147f071c8f96c7436596337d69f5074485bf4a288833f2855787f8a18d874c5a2a41422157f65b62b5e581c2181a7023698fdc1ac60a8340a34b29f81b03dc35da2b453fa61293070b1c6db57f3040c3af7766c69b84d624dba1163feb0c71fab6582473f93c8753d67b0259a2eee1c847b1b8a73455a74fa10c3a4c21a35ad20fc36d563be9bc55350f565e4076670f0c77b3c4aa2a06f7bf2ad1bfc4fc8721618454d640189a6f8b3d6c71086dba68b213f4c51100a6037e717147893cdae20a97759204b2c684d8206fdcb10df575799aaa3de388cead4446dcba8e14368f7202520c71e453b41cce426be6c1e29ac475c45742ddacf7c520da15780a9056183900559129e5e3cbb3feaa288b25b6fc69bb8b164c1db8e24391172a8c23859545e98a13725130e45c3d1cbb5d6f5c0dc275608163916013e6e466c29502902c97d3bc33dd006abaaf2aacc40c046e55951d744e31887155a3fa880058a8767b35684445982767c697540ce339a0f4c29c2ae42b5dac5047c12c22bcc155a63a8610db945708cb5425ce0c3c651532a43d32473f236519d54fdfe0a815dcfbe9649d9d1c384baad67b91b2f3e21f2fadd6bb582a0b9cb016051dd82c75a08ad5bf30d584ae9c8425ab3c8f1fb9960752721cb2c8310cd7bac84808bb979 +m = ad44643a608b78bece50b8309f573aac3da68125ce877e8bcbdcd51762aa0a9e +ct = aaf11bcbe3ce59e8b7d51c9e29795d270b02f3e9bfb99a38fe0043d908af437ffad557be766e81e0ba378545bc5251352d4552e0974cf1d9213ce0e1573a0ec68cbf362b3c29d2a3d4316684fca170ec89748f3c8edb3ba21d31f1b914165fac1a3f40adfda52118536dc7354b5bb59fc9a2e7abe3c3512347a6a278e638588d9ee6b34400e4cab73d011df533b57ffaaf6d5a4f8c622d53880563a0962f301014383f665901e225217faa91365b81cb51b987725a98db8bf219e2ae7e71d9eaf8c22f5e4da761d462bc897f5e690146379ea20ea54fcb4a8945173abed8ce0606b361215092f61addc455341970e9b8c800988bf800116334a390a191b8149d0032cb625140c74467a688d0cbb7d4946e28b2c72ce4ffda4a0fc4311e688318a0699e392fbcf48339a33a82076b6d847d5841cba57682277b77c65177c37580f05139ab2e8f88afe894d40bcd7dec3f1e01d72c741822512d30d7463a17d18b6513af7e75130d5abf667f071b43c313865842578f44d353e26416bd5e70f4d1bf0d39d18173b85daaeed29a681b3a3af07e77b75d4c1109d8e1e853d7965a863ed84c2d4b2fd6faf01f916d7a77efd073c57c6dada183c44412f4ebcd894b9837ac1daacd3a36ab824529cdd169d5ceb46b6cbf30af441944f5cebc0b9e12d837d6ca69f13456f3483f59b17a9537016db99e973555e43001017c8a6013bcc58b079af9c15892314a5b0c133997acbd8fee90d53272e474d1677a893e2e480ed09591f828aa0c2f5b368894502fe0dd4beb40b37cd37cddfd4cdb418f9049c3aaf7e1dd4e3ee0e904bd6d581ab766fabe57f7977ce7b08d46e027c4b7878a901584a3d6bcb7efb79786df891e1c8a3405ff0ce6e3c25bc44a6de813ebd9a9f13539f2256e29119c45367d770f655e1d86185a31a7ec5322846e0dbe30b4e30b213fd90d9a1c5437c82978847bdd5ee00e793682d77a144d20feb66c4a245c4a35c8f50f5c944456e91d987abb2674a5798fa6d426b90861b37d6c37f53bb898791eae95bf7c3a2b9fd68e5b8e5975a6a185099b52d7562bda7d19ba143d51b3d976286a9a891fc704d9960902250e2216e7feca41ee842dc252955cb1c28521223af688c325538ca59c5a0ef968e52fa73e2bc10a7058d60ce5774a3831c2ab0b214ea7a1dc8dfbe0b037306d65ce4a44a20969c48e21f207d6515f10cfb3e7c78667487bec3306650a8a26bcf8eda17685a99c94cd48718fa08e2ec267ddb38804fcd1dcbf64c0b77e3ea7a74077d8f000953a12010dca80bb6a8514a046b080b4cb0cc19be94225d469312807667c3928398e3fcd4d658b3c22466f45ece9d00a34c333a108f6f18af2adbb2abf1f0a9ab048071fdceec4e381675f81698a111bea70f359b7a3a9ed50069713efb28aa3968e376a8e1ba130f9fedc60555850fd4e81f341cfb4574042378f17385692301beef0cd57670df4eb9de80ec597f65a4699ad32b263971f8087e02c11fa957859f1e41defc2a378a18b4794e615 +ss = 794a5cb19552d8b4b4e4eb3ac5dc75a69fc5e98acc4b93e99de85586c85a352e d = 97b5665676e59e3538ebadaa8cd50df1f9fda1502d9894c616a946078e56b621 -z = df05318b5f655efe36f1b678cf4b875108a18db2fa312261caf839f84bd956c5 +z = 48b1985fd7938595dac8ab776701ca1e9fef47350dfc45355ff1e83a08bfc3a9 pk = 8452a77401c4e343bdcbdc985b70189ea976e3d65c47649593c9cfc112a4292238302253118cab8ec52060305392e6a131f0445a0bb4e11a1a8d7465e704b3134c3807d9be9f8b2abd57a00758685392592fa0b01e116410706a669a0ec5acb524d1561a265e307c24068b12897568490458121c572c2cc43b2464f2703212641202a40b27a41fafc4b24bea9f26711f28b1050645a38757708ad607ff6763f14c15a2caadfc2bc4d23c576e5cae6a20b10cc9cf610a5931ab4c59ecbe67ea079bc3911a96b24b86a0d6b99cf85aa44094b0f6c55924776c4e1bc9cfc88a127b8195145da3515288f933da602f1a2747a6856657b2102774bc1946163b534d02a1ce2e641cd9fc7f7d48b6f643ab53045bc690a249433553845b34a5953c873c1c686c83ba46acec4e91046f9e7590196c9c24a747c6d986b4b414c223a52a6c88475405232c78ab3aae8861a45a817ebb16c3a3070b8e842527e965013244fe50907bac3883122393340b1e06728fa0400791b1dc3ba103c8aadb6cb0328b5efbc85694164d0934c207b63614cca28eca71e5f63a58604599eb6d1d248a37ebcb17335713c4c9a0500fbf893df475cf7c19792fd56fe0a7505de0158f34603e0071b2aa0bdc8a12376a1313f571d33686d505660c4bace8ea40820918e05bc15b381b90d9b31bf52e1b18c422c3935d04140170542829cdcfc883bc344606e75a2ee7af469c5a81daa1071771fff275f2358472b409b1ec31ec887fd6e76ceec6812d40ba4469b3eeb028a0a6875a19b7aca51465cc3fe78566a3eb1b98c621eb3bbda4e7beb5f2344b64013ec233fb5714bc68b767da8b60a6b0ffc8565369c19877c16d7c70f17b85f7a228d28a5936968915d026cf683c762714830c1742ab4dff789f1f43782622a070a4ab52633efc52693b695dab939bc24944733905ae86801c4577324c625159b141c5a1014a6e458b71a959001839c461e17a3ac46da47ab687d2342ff63b83d3331510c98ac484f44b7fb6a31f6926cf047982c400008bb3b0d1ebba3cb2345613680531b0708a64b937c88b2985c01a10eea22fe5022912f9ad2bc667cea16b0a091f3fa9bbb9b8c30160717b21cef9d74458241beedc215d44900cf40709f6671f221d39c804eb6756c812364df0503355b8b01102574ac3f07234bbb1b658ea822d52a452545da3544c041c3a3f89ba30005a992b432178bfba078686a07971601f8b12c22b23b69c05a89adc2469287f052a6d4f58798e10a464db4aa71ab30a94854d1b8c16893b432a8dc2859c66a168c8c5ad4d04559056c4588b0a8755013e378545b47efbe90ca97552c9b8711d3281cc7b9057f78a68a59d5aa642d1e9233de093df5705d8639d702097f0dbc98451a46905ae72d876e1243546590599fc5923b37b4cf0a3f7cb47dfe8af00f6a999127a256681a5705bf5100d7096713c49149c7c561c0783e048cc3444776bf8997671970535c2cac5360c9b53e0d952af348a28e4826db9810f07110a48771c2c9b21da3ca719c7a5407b92020aaa0180b4d6b3ae42a1c09ca38fa59d1ed02a3a0079f2e922d0b36d9795c1fa42354ca51ddc11a315515a45bc7e1e21bcd3287e18bb0ac3f8119a88d1fbce1d3419bef67b6694d9fa1bb309cc61c819176964dc -sk = 48c78cb714b9cf88a8b317a6fbb681b8f47d56524122156503823b600236d3726edd9087504705cb4698a1515dc0d80b3f87c63d575170f45d121a848d897c3c0063dfe9b2d616a96552384fb72d6226a193f90e15b364ae667c34ba27fdd0ac0debcf450578c6d182da365d40786522c37b54e0126ed7b3c6bccf28f40770f23736b394210b67ebfa72f6b27799fb1f6e48cb7407261a86884621c529974635b35f5b4c530e68bee8cc213387b66a4127d01223180067a2ec24b2ebb579f74bfd5417fe995bbf816737722912b5b4dbb4c938d0686d1c2a44880fa7231944c195fbd67c67e60861d169ddc41f8150b52a68c14425190be2abbcf5babb734aa03538899678d4290738cc63eee611e4344ea73b9c41f36c712a4c6c72422000cb93e144f3c588a2299d5704cb347b90b2905cbf69cf1dc5c670909c478094e88c01bb3b3e4fe246f8dc3c62da37bb13b6e2046911d85d5790869fa4a54ff16794620480919c0dd74b9887bb5c125c34d76b3527a42a46b689fc4c57571af13c44b7d30a041028e97c0a1e50621567374de7a4207acd4cb18417c7984645cf4f2b5a5434be8f119798c0760229301e14431b0b652c643c0ea0ccaa13cbc6fa6dc8d348b908b78343978fd5a0eee90ca5104184f33f107837b3ec667eb207000570dd33856939bc8ba671b3731edb2a94596a8f2f37bbbf5048087091fd2ab164f5c6a8f92f65239f08844ed4f605e3bc1bf780877eeb3f4c85bf696c691f85a947461331aa33b15973ab4923f429c7913731bc025539232217f801ec7078e2f0af3ec7494684bfc40b4ff31798467746f60bc9bccb5b1e397dfc6165773a965e55034dd1094966694d7806f2f505cebc3b3dc307405431fca21614089c633b522510a5fca73462b32fd69200dc614c5e88454f181d845b19b8866259a2372bb3361b9abd5aa278b1773057e26108bb020a9610bc19af13454df46b4fb5a68c3e7aba6e7197ad63439c7252cf9507e32072e437296883c93902250165a1aee8be0ce6acc2029e10e97536eb958b691ae3e3aa9996986805c6d1f6356d26c1e63c550381b292fb1b95e183ca933d5be1baf6294c4b248b4264724712b2a2816ed3d09042287eb8a17ad6c86255ac492f53a21ebcc19b3c8bb1e78f58ba98bc8aa77f6a5cb90c0456e1cd663137e11185536b02d8708644539701b193ba52258064b289d053404bc78a397ab86895baf1934e8b2f6cc3ae48869be7422e581a6ff748519bc30bc96c716b0a24a02679acd5151cb2a0fa127c81ea513c3ccc3b84a34025522486ce424bc04c860edc5758aa990fed372db324614fe91589d78acc88c43c2643d540a509f090ebfa6214832c76ca982faa1ca4465f9c14ab4e6459f072558946ceba113b5fc7024a364970c72933331a6a4b0d4196b9e6219595e229f3e28fb2d5c6c4c041db226ab611b04c3a80fb5a7f15e08df3347def02663aa39409ac4e8c8bb0934b46b6a8816cc70c8c0b11a7ec1cce57bf5baa30e69207d7e59c9e386d5cf7863c133ba1b510f5e06c4876ba7849611bacc369b039efe173df6b8a22469e1f200f2aa53ff84390b88302d9f9915c4b8257754b3423097e7c6b8452a77401c4e343bdcbdc985b70189ea976e3d65c47649593c9cfc112a4292238302253118cab8ec52060305392e6a131f0445a0bb4e11a1a8d7465e704b3134c3807d9be9f8b2abd57a00758685392592fa0b01e116410706a669a0ec5acb524d1561a265e307c24068b12897568490458121c572c2cc43b2464f2703212641202a40b27a41fafc4b24bea9f26711f28b1050645a38757708ad607ff6763f14c15a2caadfc2bc4d23c576e5cae6a20b10cc9cf610a5931ab4c59ecbe67ea079bc3911a96b24b86a0d6b99cf85aa44094b0f6c55924776c4e1bc9cfc88a127b8195145da3515288f933da602f1a2747a6856657b2102774bc1946163b534d02a1ce2e641cd9fc7f7d48b6f643ab53045bc690a249433553845b34a5953c873c1c686c83ba46acec4e91046f9e7590196c9c24a747c6d986b4b414c223a52a6c88475405232c78ab3aae8861a45a817ebb16c3a3070b8e842527e965013244fe50907bac3883122393340b1e06728fa0400791b1dc3ba103c8aadb6cb0328b5efbc85694164d0934c207b63614cca28eca71e5f63a58604599eb6d1d248a37ebcb17335713c4c9a0500fbf893df475cf7c19792fd56fe0a7505de0158f34603e0071b2aa0bdc8a12376a1313f571d33686d505660c4bace8ea40820918e05bc15b381b90d9b31bf52e1b18c422c3935d04140170542829cdcfc883bc344606e75a2ee7af469c5a81daa1071771fff275f2358472b409b1ec31ec887fd6e76ceec6812d40ba4469b3eeb028a0a6875a19b7aca51465cc3fe78566a3eb1b98c621eb3bbda4e7beb5f2344b64013ec233fb5714bc68b767da8b60a6b0ffc8565369c19877c16d7c70f17b85f7a228d28a5936968915d026cf683c762714830c1742ab4dff789f1f43782622a070a4ab52633efc52693b695dab939bc24944733905ae86801c4577324c625159b141c5a1014a6e458b71a959001839c461e17a3ac46da47ab687d2342ff63b83d3331510c98ac484f44b7fb6a31f6926cf047982c400008bb3b0d1ebba3cb2345613680531b0708a64b937c88b2985c01a10eea22fe5022912f9ad2bc667cea16b0a091f3fa9bbb9b8c30160717b21cef9d74458241beedc215d44900cf40709f6671f221d39c804eb6756c812364df0503355b8b01102574ac3f07234bbb1b658ea822d52a452545da3544c041c3a3f89ba30005a992b432178bfba078686a07971601f8b12c22b23b69c05a89adc2469287f052a6d4f58798e10a464db4aa71ab30a94854d1b8c16893b432a8dc2859c66a168c8c5ad4d04559056c4588b0a8755013e378545b47efbe90ca97552c9b8711d3281cc7b9057f78a68a59d5aa642d1e9233de093df5705d8639d702097f0dbc98451a46905ae72d876e1243546590599fc5923b37b4cf0a3f7cb47dfe8af00f6a999127a256681a5705bf5100d7096713c49149c7c561c0783e048cc3444776bf8997671970535c2cac5360c9b53e0d952af348a28e4826db9810f07110a48771c2c9b21da3ca719c7a5407b92020aaa0180b4d6b3ae42a1c09ca38fa59d1ed02a3a0079f2e922d0b36d9795c1fa42354ca51ddc11a315515a45bc7e1e21bcd3287e18bb0ac3f8119a88d1fbce1d3419bef67b6694d9fa1bb309cc61c819176964dca19c2c9c907b129d01cc44a95949121c39534cc98b6d105e60fe519a000cc2aedf05318b5f655efe36f1b678cf4b875108a18db2fa312261caf839f84bd956c5 -m = ad6466dd59f26b762fb02b19eedf5f79964da68bce0459b91c3a6ee5a7e01183 -ct = 38e00521b95d89079394aee0b444233f135fb37ab4337a575430daafa341059049a49d1e7d3b6ec52ef44f73154a6827bf791a2986309c7d88a855a3e278f42880b35260c340e913fa227d0abca526065deca1837ada0ecb4d4911bde561e6f3624ac6f4601ccbfb5851dc74a80b5c3dac2c3b3e4fb0b1d53653c9ffc4440025f70d09edb2ec62ae4330a85b0e1d1936e9ef2e82a7e7c3c61e74252a997f4d5b0a5c9070d3dff6855455c94d22498583016b9c108f8ec0d80bad19272d982a85bc2688736d50fe7bedc3d1db893d42331a60658a4ff202c46450d24a2f1f5bb90342d26904b0e07a3e5d23dc9ca9e8901fea9ccc49914549a913d8cfb3f0ace306176e377624df734967fcba76fe125bb1b7d9fce809617114b0f761b4a8381f28f20b5b53da07b0b31a644d7b11fe444b9b59e4110589caf921488e176a830dfae522de3c651a0e17ae0c42cc9981e906534cf95a013653636a655eb564b89ecfa9c538cd3c6d8ae6d1dd541538cec73669356e18f2d7d1b668c5a7bb9b9f6f96a590e31ff19ea85fa9ab51418bfe7addb99d627645152aef8e518c625eb3b49f22f93e827784eb5272f9d04826a04d89589f52e16c7b1b48c4c5625e76f2dc8ce6e1f092f9cb9157766e15286149513ba24f9f64016b165e6441f97137629526343520ffc30bc48b4523fe68813885103d0289501275238b7e9f5832e5a0299804a00e3afa2f1f3d0a247db2ae9d58d3b8fe09763ad0c5ea658820c540026d4cc5a1528c63bab66ab97ca8e4f1c81caade9491daaacef0940866756cbbd61047d882e3150ac1e47dff9ab68d4b0c282887ab37e2eabe5b265b9bf3910c3c24b8125752f4006f9625918d2df1ffbeefeae895c5b31d865f16efc9fcdfeeabd6eb1a688fc45d197fe5d4cc8caacfa1e264a203234375d8a4f141e25fb263a63ee1faa6842be1b935956494775b379d91d828e9981013a7e6cd049ede515d4ee4ba74976c9d68417a27ffb03bb3e2a0ffbd8c801c4ac78c41e9cae33ea6bc1f9a8ed736724f9eda52e3e2bdc8bc11e67dec594ff4ae3defb5b643cc5c607102270aeeff76238d7b5fc858f7faff305f300d99ea7989e3141dea159c32d622b693939f100e8f5b4a633c7bc6e3255abfd45dd80c7aeb51896813864ffc75ceb576b681f8967c14c720e01950b6dc7aac1c845ec01e21f378a8b4512119b3daf1ef9dd5faeada667f599c953c0ba321b3c2d03987f3b169c3e5bb4acda824921759e557dccdf82ebe520efdb1d3a3f082ab063b51abf1caf89057b807591a977bb89c659c14a2bf12154956fb3ef13486130272bd8b8655bfaf83a304b85f38d07ca0e5d5854191f0b21b59296a9377e83972f665763d405cf4c01d03104e4855d3b8573961446fd1f5199a6da97afddb8f4b0822c4a1e9f668d04ddce81d0192f32bf8d0b94ac57895f3209e616d3449309832df9fad95233fdd4b3036ac0075e3dc2a25d70c1b922fc9925f20c296a93f307e5933b4c62ae1947ee2d35eaf6389 -ss = 806390146332daf2ac2ce5499d2abec128137cf7db02c27fb457663c18a0d7b0 +sk = 48c78cb714b9cf88a8b317a6fbb681b8f47d56524122156503823b600236d3726edd9087504705cb4698a1515dc0d80b3f87c63d575170f45d121a848d897c3c0063dfe9b2d616a96552384fb72d6226a193f90e15b364ae667c34ba27fdd0ac0debcf450578c6d182da365d40786522c37b54e0126ed7b3c6bccf28f40770f23736b394210b67ebfa72f6b27799fb1f6e48cb7407261a86884621c529974635b35f5b4c530e68bee8cc213387b66a4127d01223180067a2ec24b2ebb579f74bfd5417fe995bbf816737722912b5b4dbb4c938d0686d1c2a44880fa7231944c195fbd67c67e60861d169ddc41f8150b52a68c14425190be2abbcf5babb734aa03538899678d4290738cc63eee611e4344ea73b9c41f36c712a4c6c72422000cb93e144f3c588a2299d5704cb347b90b2905cbf69cf1dc5c670909c478094e88c01bb3b3e4fe246f8dc3c62da37bb13b6e2046911d85d5790869fa4a54ff16794620480919c0dd74b9887bb5c125c34d76b3527a42a46b689fc4c57571af13c44b7d30a041028e97c0a1e50621567374de7a4207acd4cb18417c7984645cf4f2b5a5434be8f119798c0760229301e14431b0b652c643c0ea0ccaa13cbc6fa6dc8d348b908b78343978fd5a0eee90ca5104184f33f107837b3ec667eb207000570dd33856939bc8ba671b3731edb2a94596a8f2f37bbbf5048087091fd2ab164f5c6a8f92f65239f08844ed4f605e3bc1bf780877eeb3f4c85bf696c691f85a947461331aa33b15973ab4923f429c7913731bc025539232217f801ec7078e2f0af3ec7494684bfc40b4ff31798467746f60bc9bccb5b1e397dfc6165773a965e55034dd1094966694d7806f2f505cebc3b3dc307405431fca21614089c633b522510a5fca73462b32fd69200dc614c5e88454f181d845b19b8866259a2372bb3361b9abd5aa278b1773057e26108bb020a9610bc19af13454df46b4fb5a68c3e7aba6e7197ad63439c7252cf9507e32072e437296883c93902250165a1aee8be0ce6acc2029e10e97536eb958b691ae3e3aa9996986805c6d1f6356d26c1e63c550381b292fb1b95e183ca933d5be1baf6294c4b248b4264724712b2a2816ed3d09042287eb8a17ad6c86255ac492f53a21ebcc19b3c8bb1e78f58ba98bc8aa77f6a5cb90c0456e1cd663137e11185536b02d8708644539701b193ba52258064b289d053404bc78a397ab86895baf1934e8b2f6cc3ae48869be7422e581a6ff748519bc30bc96c716b0a24a02679acd5151cb2a0fa127c81ea513c3ccc3b84a34025522486ce424bc04c860edc5758aa990fed372db324614fe91589d78acc88c43c2643d540a509f090ebfa6214832c76ca982faa1ca4465f9c14ab4e6459f072558946ceba113b5fc7024a364970c72933331a6a4b0d4196b9e6219595e229f3e28fb2d5c6c4c041db226ab611b04c3a80fb5a7f15e08df3347def02663aa39409ac4e8c8bb0934b46b6a8816cc70c8c0b11a7ec1cce57bf5baa30e69207d7e59c9e386d5cf7863c133ba1b510f5e06c4876ba7849611bacc369b039efe173df6b8a22469e1f200f2aa53ff84390b88302d9f9915c4b8257754b3423097e7c6b8452a77401c4e343bdcbdc985b70189ea976e3d65c47649593c9cfc112a4292238302253118cab8ec52060305392e6a131f0445a0bb4e11a1a8d7465e704b3134c3807d9be9f8b2abd57a00758685392592fa0b01e116410706a669a0ec5acb524d1561a265e307c24068b12897568490458121c572c2cc43b2464f2703212641202a40b27a41fafc4b24bea9f26711f28b1050645a38757708ad607ff6763f14c15a2caadfc2bc4d23c576e5cae6a20b10cc9cf610a5931ab4c59ecbe67ea079bc3911a96b24b86a0d6b99cf85aa44094b0f6c55924776c4e1bc9cfc88a127b8195145da3515288f933da602f1a2747a6856657b2102774bc1946163b534d02a1ce2e641cd9fc7f7d48b6f643ab53045bc690a249433553845b34a5953c873c1c686c83ba46acec4e91046f9e7590196c9c24a747c6d986b4b414c223a52a6c88475405232c78ab3aae8861a45a817ebb16c3a3070b8e842527e965013244fe50907bac3883122393340b1e06728fa0400791b1dc3ba103c8aadb6cb0328b5efbc85694164d0934c207b63614cca28eca71e5f63a58604599eb6d1d248a37ebcb17335713c4c9a0500fbf893df475cf7c19792fd56fe0a7505de0158f34603e0071b2aa0bdc8a12376a1313f571d33686d505660c4bace8ea40820918e05bc15b381b90d9b31bf52e1b18c422c3935d04140170542829cdcfc883bc344606e75a2ee7af469c5a81daa1071771fff275f2358472b409b1ec31ec887fd6e76ceec6812d40ba4469b3eeb028a0a6875a19b7aca51465cc3fe78566a3eb1b98c621eb3bbda4e7beb5f2344b64013ec233fb5714bc68b767da8b60a6b0ffc8565369c19877c16d7c70f17b85f7a228d28a5936968915d026cf683c762714830c1742ab4dff789f1f43782622a070a4ab52633efc52693b695dab939bc24944733905ae86801c4577324c625159b141c5a1014a6e458b71a959001839c461e17a3ac46da47ab687d2342ff63b83d3331510c98ac484f44b7fb6a31f6926cf047982c400008bb3b0d1ebba3cb2345613680531b0708a64b937c88b2985c01a10eea22fe5022912f9ad2bc667cea16b0a091f3fa9bbb9b8c30160717b21cef9d74458241beedc215d44900cf40709f6671f221d39c804eb6756c812364df0503355b8b01102574ac3f07234bbb1b658ea822d52a452545da3544c041c3a3f89ba30005a992b432178bfba078686a07971601f8b12c22b23b69c05a89adc2469287f052a6d4f58798e10a464db4aa71ab30a94854d1b8c16893b432a8dc2859c66a168c8c5ad4d04559056c4588b0a8755013e378545b47efbe90ca97552c9b8711d3281cc7b9057f78a68a59d5aa642d1e9233de093df5705d8639d702097f0dbc98451a46905ae72d876e1243546590599fc5923b37b4cf0a3f7cb47dfe8af00f6a999127a256681a5705bf5100d7096713c49149c7c561c0783e048cc3444776bf8997671970535c2cac5360c9b53e0d952af348a28e4826db9810f07110a48771c2c9b21da3ca719c7a5407b92020aaa0180b4d6b3ae42a1c09ca38fa59d1ed02a3a0079f2e922d0b36d9795c1fa42354ca51ddc11a315515a45bc7e1e21bcd3287e18bb0ac3f8119a88d1fbce1d3419bef67b6694d9fa1bb309cc61c819176964dca19c2c9c907b129d01cc44a95949121c39534cc98b6d105e60fe519a000cc2ae48b1985fd7938595dac8ab776701ca1e9fef47350dfc45355ff1e83a08bfc3a9 +m = 4ff3f8a7536a4c7d4bdef0400ed1b450cac329089b1443bf148fea0a01398912 +ct = 822722b4f0c1fd3e731e7f1c927ae8cf8aae036d769d25781e9920f4be0783872d254b0204be0fcf57adac373ad0b128f98ce8ae349ea57196bee3b0d10121af74b271234655070e1512f21f7edd67e3959b30fd9d58fee57817d546613cafef0ebdaec56a3c8f623042159e2b923eb4857716c2d066ad5c38c08cc1d42ea80724232dc02dd73897c888f60a563c9ce49b72a5aad2fcbd6e1c63f77f0d6ca3e29ca2cdfe3c883954e38493c7cf1af16b74656596a6715f81806eef1673352cfc5e083106a05c1cf1e39008935560c173f4d96fba7864f5e5e54c6277a36aef8467d1250d085a794a0ecbf163fcec392da81fa81c73fafae02fe93dd06985b23052a8451fa8d40694f3a90b0cac31f98c0431d1e118c6e8db7eed573a2ad4ad1f4c9364c60a9f7fd4e3229beca976a4800bbfb10064f6fcf789bede41bdc270520133096ae5d74e4da083bf1d415ee75fa138f53f6e3f887825d6a7666b7cb4568d8a24b4a048225573fdd2dca312c6c66352b904922677e87755558a9fc9520965924855afb1885ea04e6e7db56866be0b88f6ae1b2a3c4b046c3d6bda32bf02211733b80f1bf5b67d191a507ae1eb5d9e82fcd47d62f81370060667a8091037d571e4e8c03e66c23049dd7b3f7700e3aac89990571acf7d1e5bc9918ee763aa070f85ccc982e28f1f4eed1c5c6619814fbed9694f2a6d0320ed9cb52094cc7bb13954cb4b3f35f11e9388a9f3588cda554e04736a842d7d3a4ba3d1b2c679de7d9f925d1d3a946278f689ad0a27499b81818a6c667c24ad28513cefc8ebba6cedfd29d70e212849b7cfb28a490e2b38d1c84f1ed243a5d22a2a64e9c2fab8688842811917079b188a39e05a6151d008b39074654ccbc3836ca600f0b74fa4164c84511a2067902fea3f8afa87d4a4b755884cd2ec4c37295f2a3b01fead8337354f065c8584949875b2558116dad3880e2787784bfba01129a64efea61f42ca723e9988e9f2eefed147acfdf4306d9ede134842dfd35d1e5e0122e1eb288d8e5061792c8b4e25c6348580f36dc9458bd6b9ef127c618617ce9f8c92e40b0e1849ccd68c883780a0015c3ea6dbeb5b11e75f2b4b66afdf856c9419bb254ec5e4fb6d5a7bde05f5bccb31602f51c77d22e483c89f5fa3747cd5b988f9b1e5052c3b7d4570b6f5e70835c780e273b00e8378764f363cca773c88184aff9099486a53beef8444eb363e69a656f41cb3b7422ab6266aa535610cd99ca92c77ad751d95a9a5e1e6bad6462fa54e926ef9f1e31abc20a24b49098f6b1af0bd63248c88675d7d4348df856d6e782e9d9e979d97ff53d5804af958bdbc9000ccde7d2cf184770581ea4498ab6d6c53e1672c954bff43973d286ee69ae19a5055d2a739ea8b3256e105d1adfdabc18b3d222cb8bb5b1a03dc0a959f47d59c499416c0301fc003eb4144b5a23359a7df09678bddf11d352eb2d65147f61e3380486739251c10871060a36b6bd7e8b64ee02fc24bbb5e5f65dfd91d9d5c35affa912db65f15 +ss = 9e30c8c6e962986c1b4c51c49b2d248c3770649b951a9b6c8c06f4a997e6f199 d = ef99224a03a85a46ef115474ec5b5d620da6795d6efcca4c9135d19958a9de62 -z = df7d92dda83e6b2ef4cce08c9134563063068a196d7b1a1a13623e48ae12528e +z = 85c3a8b3732db34f4cd985b65e078afe6a735b53f4bc36d4762a3e45d1dbcb74 pk = a16730c3d8a8484295a1d995716a3bf93c7270671afb7886f397af65f5bac1b1a1a49084d1a672a1f98bca762287e90410ab01098c74869b42479c2cae5906ab354970c05cd256514f5c2e763230b6770884e7b700544977993df1f57969e0265fac4f474b76648b36f5711163638069820232b8a64f16bde83557b0540405d7987cc39069923dfa984ca4045999a77483e04fe6eb0be954a74c13cfcea79ed0d8124b01b740a26ed961b2bc496cbdc539a10b8151e0078f66751fe78d2f3a5100761c8beb514923a7b4f3ae208766fd852222dc31fc1a59a883c401459dc73468eb35af61d28ec1da147c882cc7f5ad5204bd8da270e4c91dc37baae1811cff4cbf8605bb48ac8585094327a8c17527bf5b3968aa268e152b6896a288a9722183e199f608cd7a412ca949113e87a956e4ad12737d53c3be4752533bc755f7a1c4b07661e988210ac72131b4496941893a9c6f1180ba622436eeb02f3a3a090c00b1ffd310e811a7a8b87984d275d76b0f99abbfa45cc5096a1562a375f0599d9698b18012a84a0628601c731ce1ce6824907f1b16878a75418c2fb0751202fcc988779be2326e2e5228c9493a0e628441b13d58b3c79df34b7b53c7be816cc7368f2f31c380296250b33269158c4f9706d75b3b5536adfe5b0bcf514899287b4b637bb4249db25a0413533d628597ddd745a7f5270d136763e48a517ca62e116913350e7361580cf77bcdb5b607b38d49e1581654a61ad9602f4415f484bccbd833255a29d2e76262b401f7fa5a1e68bb136771c41b29333b653602b79a2aba21004e8a257df7362163b6512eda4e1376aba1facf04d1aa56c814000d718b5b504f1b9d2e627b8a678d0294c5e3b186a67c082b90abb1c839232912c39c3e02717a65e24a185a5d96e99851eb538a4ab872148c2d7bc52ec4270f708690d0678d43c783ca194b4aaeb6f2156297355d7823e0f80890608768c65073e04e7e5b45acbb1cb6446483e7c315a0a0c2066f080a53818a4ec0e4973f630f6822a437f6684fc9431f20a306a055f9906435172699b3cd0d46457be26560f692864a97f80b493093270b5225980287f1f5711b355f9ccc018d670ed8ba64f10ba98b0068e7714074e14736087819ec2cbc960fe6939a4e9a4de2045b53e81fbb845b0e546de6b34ee9e91ecf0c9f74c569dec949d3ea11785639126bbd45137021e9670735488e46a325342a2b4a959297816d1ac731cb501d628bc09083ab5c4dafc09a36c7c70f2885a6622bb7162aa2c999927a1fb749bae280237db21418e2cec419990288b813e80765b47e4c314171b849e570c7533cc5bb77cb9f10272926c382fc0796f39924b6971fe6b54638c4cf25318e146aa02769e64c47e4da2d5264b282b32933d8c74242aa73c15875934e99d6c570572e03c54e47726e3b0416d3737a29624169778970e99de64bc2b16039ae97c7472a41c9a6c6fd45bd7738cb662505bb26a307a2cfb9680f5cac086f9bbf7799263c0b5367032196f1bd842534601094668a33bd339db59746d63ba6007887ab750f5887453e02b22c3148bf6c48c806a94cb7bf23568789a1260c87af0548c71881401c565268317756a211b6955ed03c49e0beb46c4ea9ff7be444932e61d464966bffc96bec0647ab34f2 -sk = 953b6e6f452ffab6b9e27b707f600992e228f5fac92680aaf31300154b218ae51a012a4cf53840cfd714cb63cb4c7aa0e8ea6e50803ca370bb38c7205d9365448b38308868c83348acc365be62b4fa763ecc5112a48558e57230d92b5869d77d99a5c0bef49819500b333300910117e05b082d15368ae529923c6bc9d3594ab33c91b81549829a2ee55ad152493e80aa80399f770899ec05417a698e6493aa647691fedc92854c23702caafc8ab3a3194ce8437b8e2a7f69454adf3170c282972abb93cf152dd85587f6272b0b71590c81b3a9f680d19445fff0c395310a17f55272cc3e1364a9aea7a67af4561cf10043b7b7eb4ab0791a8d62814f4b6536cfa69ca0493fec1a53d58709fbab9c87578d83c9441d62c267e7aa4ef0afc7106c9f834a5a13206c4b58d7378af90b85f7e05237559d6d7819f455aa01d68bc297a8dd760a0df971542919979218b4861a49e45aab12be67080d197c25ca53483d781ba27893d23baecd393dd1643dc2a53275c84a19900b364ccc94a8ba3b5768f8dbbe08a7b08fd2746bec62c98c5e5198695b12048ba5c98753aaba88bfbbc6c8de490afaa8343d334aaeb72532c63d60667079b41b6a287b04c797458acd9104c94e96bf18137b0868737dc00a8e2164e0980b9b2135dc7c0e80e1b930c22874fc2cdbe0b5542732e8fa80e407a1a6e5af0aa3168a963587379aa3e6a2b082a8a35604bad827bd6aa1fea76a608100ddc40b17283eddab2335b8796dc1bb57887787a4273c4185867368be581f6e5767bbf0580f07b003556ecffc3ae336260fa0a80a2c9e4c9914144551c89a9d68373ed9c7afa83c75c6b8affb54187d3b46abdc61d9e070b5584be7564f932985ea4c739cc906732a7cf79a65f0f7b0682caa5d2070b3e0699b1bb3ac0b38caf22ca4db9472d06b02954e36c0a3d8890473588c77e43990da1c7103985761ca711109bec0b805607d732a36baf897e93c6d9a988b94c67a4592b7583126fd452ff0b45a033824983715c60478685b9c2d013d41b47eb342a05fb76232554df30990d6f1b37ea9172020c66fac8f415615ebe07833a2588ef622034074b214ccd9395648071821d1109daa87c0e00cd9573254538ec3b8459ce56578c09ca66a508e88c4dbf6183a268b86fa4b7733a8cc89ac81619af8f56d8adb1f665a7ac413005be730aa41cef2b06a7fba535552c8cef73e90a8584a8b799c323f61faad4b8c25d06cb883493147069eb1c9c8fb262b699693d0601262e9ce5b383a0d27c1572c49547bc908c003490827343a690859a15b20119975c35aa991183052f117b53d06c5f4683d19ca5ba6f5595b8b269d96c1b3524cc8fc6eec750ca33b5518603f59b50741d246642bb88ef61a8bd4c54f48af3f573d4cdc5143ecbddab5a281400721544e16e35ea7a05f161003a6c3adaf690189bcb074f546bc2033b1e8b00d56cf32e0733dc81d05eb358d148a91faca963b814a9c5fdfdb4de79b729dfc26c3d9b48a4730337b0bac8c2a3628268159979f6b10aa9ab90adab98b9c0928fc4e3570ab01f02d5a64c5f605596e3498ea532472760f61cb2eb734c174e48237c656636645886b65c566bf95d927a16730c3d8a8484295a1d995716a3bf93c7270671afb7886f397af65f5bac1b1a1a49084d1a672a1f98bca762287e90410ab01098c74869b42479c2cae5906ab354970c05cd256514f5c2e763230b6770884e7b700544977993df1f57969e0265fac4f474b76648b36f5711163638069820232b8a64f16bde83557b0540405d7987cc39069923dfa984ca4045999a77483e04fe6eb0be954a74c13cfcea79ed0d8124b01b740a26ed961b2bc496cbdc539a10b8151e0078f66751fe78d2f3a5100761c8beb514923a7b4f3ae208766fd852222dc31fc1a59a883c401459dc73468eb35af61d28ec1da147c882cc7f5ad5204bd8da270e4c91dc37baae1811cff4cbf8605bb48ac8585094327a8c17527bf5b3968aa268e152b6896a288a9722183e199f608cd7a412ca949113e87a956e4ad12737d53c3be4752533bc755f7a1c4b07661e988210ac72131b4496941893a9c6f1180ba622436eeb02f3a3a090c00b1ffd310e811a7a8b87984d275d76b0f99abbfa45cc5096a1562a375f0599d9698b18012a84a0628601c731ce1ce6824907f1b16878a75418c2fb0751202fcc988779be2326e2e5228c9493a0e628441b13d58b3c79df34b7b53c7be816cc7368f2f31c380296250b33269158c4f9706d75b3b5536adfe5b0bcf514899287b4b637bb4249db25a0413533d628597ddd745a7f5270d136763e48a517ca62e116913350e7361580cf77bcdb5b607b38d49e1581654a61ad9602f4415f484bccbd833255a29d2e76262b401f7fa5a1e68bb136771c41b29333b653602b79a2aba21004e8a257df7362163b6512eda4e1376aba1facf04d1aa56c814000d718b5b504f1b9d2e627b8a678d0294c5e3b186a67c082b90abb1c839232912c39c3e02717a65e24a185a5d96e99851eb538a4ab872148c2d7bc52ec4270f708690d0678d43c783ca194b4aaeb6f2156297355d7823e0f80890608768c65073e04e7e5b45acbb1cb6446483e7c315a0a0c2066f080a53818a4ec0e4973f630f6822a437f6684fc9431f20a306a055f9906435172699b3cd0d46457be26560f692864a97f80b493093270b5225980287f1f5711b355f9ccc018d670ed8ba64f10ba98b0068e7714074e14736087819ec2cbc960fe6939a4e9a4de2045b53e81fbb845b0e546de6b34ee9e91ecf0c9f74c569dec949d3ea11785639126bbd45137021e9670735488e46a325342a2b4a959297816d1ac731cb501d628bc09083ab5c4dafc09a36c7c70f2885a6622bb7162aa2c999927a1fb749bae280237db21418e2cec419990288b813e80765b47e4c314171b849e570c7533cc5bb77cb9f10272926c382fc0796f39924b6971fe6b54638c4cf25318e146aa02769e64c47e4da2d5264b282b32933d8c74242aa73c15875934e99d6c570572e03c54e47726e3b0416d3737a29624169778970e99de64bc2b16039ae97c7472a41c9a6c6fd45bd7738cb662505bb26a307a2cfb9680f5cac086f9bbf7799263c0b5367032196f1bd842534601094668a33bd339db59746d63ba6007887ab750f5887453e02b22c3148bf6c48c806a94cb7bf23568789a1260c87af0548c71881401c565268317756a211b6955ed03c49e0beb46c4ea9ff7be444932e61d464966bffc96bec0647ab34f2e4174b6e7542fbe80ab2bc06dfb802f691aff147ff90332d5ea739216c18d872df7d92dda83e6b2ef4cce08c9134563063068a196d7b1a1a13623e48ae12528e -m = 1a4d5dff5847cfb48333e33bb00ca7301b144aa89dcd412ff5a3b1081d775b7f -ct = 7678f9f69052e083a490965d779518878df36a286624797d9a00d562d4bc7072292a63b24c01a747dbf24822ca2ebc078ec3baab0db9deafb0f3cbd655aff659514016ef3d93e8b52340a850089e5fb8292f72c86a879485387b190acc8e9277ab4a8eafc7be2f32138504bb7b67acdfd9b912d66e76dfc7f66f6e46231faa4d01feb97e1913b602477da05eea0158c4d33c2e701986411f9ee8b8518b8187eb0a98484800a2ff2c483cfd811a64d3a9412ea798996c87801f1227c19ce8139a53f42da6e5bd508b429abe96ac93147fd660b431fd2e146017c037dfeb89f8c5419dc721018b1979044a20fcaacb9d7d2f77fa0a370d469e253b89e58a1eb7daa6bfd983642e45d746abb642e0736d20595e8a4e67583d9366d66cc8dae93e0f579bca7989c97d9ec0a175194ad55e54adb1988803b208322041a6f3ce5da12c0279909cdd937da9e4cb781e98db46fc57733f8da3de1f86e5db7103ae7d385f1f0980a669360d67dfa4f91e7f415b545e46d6f0d702a838ba8f248b3a86e18366b6ec489aa8f4196be731c8ff811a079242640a5fbbd2622253525ac11e74237727be9f94f376c81755303629d34dda91f4c0157fe10fc7fb7d9d3e86f6b7646a0332d09ec2a8de94f6530d3c93a85cfefbd7bba955bd41b433158ea148edfe6f9441d1969dca81e0319fa2cfdfa528c6b0846ea08c9c36d786d164c80e6938b8cc8bacf096a4e196a601dc1dfa5f85ef588752700215e4de5a6e7d312ec9ea6704cb5e57ef64cdec044539d536e5cdca0f288864eeff859a9444a078913942ea0a909b4bc3a9f4669c45c242150711da385afee36c2c9b4186d74059e54c111682fd5e75b46ce6a971e9ab0263eed4bf29522e2d60f9599d594ace2b5f528e2ebda0c32045f2a90361aea23733479749f168539de860146fb9687ef7d0f2ac8c5df48a3c4a5d44ca2f464b92bba5756503672184a48a6ce33d5336be21dbbf177dac7f70230de92ef9ac6e510537f7966fbabec20cfe0e3a7009c8bb54e07ad7b3b4320acb6d9425467f83d1c9c263627835685a3b2637c1d199ecb1b4c6c2094fb338d4a9bf78f599a533f0b115a4edb9f58d5ed0ff59b8b2ffb02d1b7f44119d7f0df89b05bc1772e85555e8ca00d38f95f62298455b6ebbc502ed3c5ec0fc7051c58317b3ecd7c1b6f1ddf9203c98f901423f337c81fb02663d06161271247f139944d6c38c5ec86ea82a542657838eff141a1cc0bd88511d57709f751f7b2ce7ca6ccf57c9bee805b81e553c9322348dc35d9c09ad45f167694ed753ffc8d9d0fa4da6eedc97bdadc4f0360687299975f9798f70f8e47d40b94039cb416a08fbebea26fa87d32621cc509472c19e8a7d83a00c82f00a6a1962ccbbc6612c8ca884dd88f3b0112ceec63ef74138e53fd14dba053b7bb39da8b0d43313d18f75f5e6ae20895beea14e7ff3e94c504d5795162cac8b168a2dbde89f3aa874f4f9287dbd34252bca7b3557c00e191acdd44ab8adf8931faf6e6336e4441045 -ss = 5c32a0ecc8fd7e70c1b389fe25c91899c37ce4ce672e299a41c7732f4f0d03b2 +sk = 953b6e6f452ffab6b9e27b707f600992e228f5fac92680aaf31300154b218ae51a012a4cf53840cfd714cb63cb4c7aa0e8ea6e50803ca370bb38c7205d9365448b38308868c83348acc365be62b4fa763ecc5112a48558e57230d92b5869d77d99a5c0bef49819500b333300910117e05b082d15368ae529923c6bc9d3594ab33c91b81549829a2ee55ad152493e80aa80399f770899ec05417a698e6493aa647691fedc92854c23702caafc8ab3a3194ce8437b8e2a7f69454adf3170c282972abb93cf152dd85587f6272b0b71590c81b3a9f680d19445fff0c395310a17f55272cc3e1364a9aea7a67af4561cf10043b7b7eb4ab0791a8d62814f4b6536cfa69ca0493fec1a53d58709fbab9c87578d83c9441d62c267e7aa4ef0afc7106c9f834a5a13206c4b58d7378af90b85f7e05237559d6d7819f455aa01d68bc297a8dd760a0df971542919979218b4861a49e45aab12be67080d197c25ca53483d781ba27893d23baecd393dd1643dc2a53275c84a19900b364ccc94a8ba3b5768f8dbbe08a7b08fd2746bec62c98c5e5198695b12048ba5c98753aaba88bfbbc6c8de490afaa8343d334aaeb72532c63d60667079b41b6a287b04c797458acd9104c94e96bf18137b0868737dc00a8e2164e0980b9b2135dc7c0e80e1b930c22874fc2cdbe0b5542732e8fa80e407a1a6e5af0aa3168a963587379aa3e6a2b082a8a35604bad827bd6aa1fea76a608100ddc40b17283eddab2335b8796dc1bb57887787a4273c4185867368be581f6e5767bbf0580f07b003556ecffc3ae336260fa0a80a2c9e4c9914144551c89a9d68373ed9c7afa83c75c6b8affb54187d3b46abdc61d9e070b5584be7564f932985ea4c739cc906732a7cf79a65f0f7b0682caa5d2070b3e0699b1bb3ac0b38caf22ca4db9472d06b02954e36c0a3d8890473588c77e43990da1c7103985761ca711109bec0b805607d732a36baf897e93c6d9a988b94c67a4592b7583126fd452ff0b45a033824983715c60478685b9c2d013d41b47eb342a05fb76232554df30990d6f1b37ea9172020c66fac8f415615ebe07833a2588ef622034074b214ccd9395648071821d1109daa87c0e00cd9573254538ec3b8459ce56578c09ca66a508e88c4dbf6183a268b86fa4b7733a8cc89ac81619af8f56d8adb1f665a7ac413005be730aa41cef2b06a7fba535552c8cef73e90a8584a8b799c323f61faad4b8c25d06cb883493147069eb1c9c8fb262b699693d0601262e9ce5b383a0d27c1572c49547bc908c003490827343a690859a15b20119975c35aa991183052f117b53d06c5f4683d19ca5ba6f5595b8b269d96c1b3524cc8fc6eec750ca33b5518603f59b50741d246642bb88ef61a8bd4c54f48af3f573d4cdc5143ecbddab5a281400721544e16e35ea7a05f161003a6c3adaf690189bcb074f546bc2033b1e8b00d56cf32e0733dc81d05eb358d148a91faca963b814a9c5fdfdb4de79b729dfc26c3d9b48a4730337b0bac8c2a3628268159979f6b10aa9ab90adab98b9c0928fc4e3570ab01f02d5a64c5f605596e3498ea532472760f61cb2eb734c174e48237c656636645886b65c566bf95d927a16730c3d8a8484295a1d995716a3bf93c7270671afb7886f397af65f5bac1b1a1a49084d1a672a1f98bca762287e90410ab01098c74869b42479c2cae5906ab354970c05cd256514f5c2e763230b6770884e7b700544977993df1f57969e0265fac4f474b76648b36f5711163638069820232b8a64f16bde83557b0540405d7987cc39069923dfa984ca4045999a77483e04fe6eb0be954a74c13cfcea79ed0d8124b01b740a26ed961b2bc496cbdc539a10b8151e0078f66751fe78d2f3a5100761c8beb514923a7b4f3ae208766fd852222dc31fc1a59a883c401459dc73468eb35af61d28ec1da147c882cc7f5ad5204bd8da270e4c91dc37baae1811cff4cbf8605bb48ac8585094327a8c17527bf5b3968aa268e152b6896a288a9722183e199f608cd7a412ca949113e87a956e4ad12737d53c3be4752533bc755f7a1c4b07661e988210ac72131b4496941893a9c6f1180ba622436eeb02f3a3a090c00b1ffd310e811a7a8b87984d275d76b0f99abbfa45cc5096a1562a375f0599d9698b18012a84a0628601c731ce1ce6824907f1b16878a75418c2fb0751202fcc988779be2326e2e5228c9493a0e628441b13d58b3c79df34b7b53c7be816cc7368f2f31c380296250b33269158c4f9706d75b3b5536adfe5b0bcf514899287b4b637bb4249db25a0413533d628597ddd745a7f5270d136763e48a517ca62e116913350e7361580cf77bcdb5b607b38d49e1581654a61ad9602f4415f484bccbd833255a29d2e76262b401f7fa5a1e68bb136771c41b29333b653602b79a2aba21004e8a257df7362163b6512eda4e1376aba1facf04d1aa56c814000d718b5b504f1b9d2e627b8a678d0294c5e3b186a67c082b90abb1c839232912c39c3e02717a65e24a185a5d96e99851eb538a4ab872148c2d7bc52ec4270f708690d0678d43c783ca194b4aaeb6f2156297355d7823e0f80890608768c65073e04e7e5b45acbb1cb6446483e7c315a0a0c2066f080a53818a4ec0e4973f630f6822a437f6684fc9431f20a306a055f9906435172699b3cd0d46457be26560f692864a97f80b493093270b5225980287f1f5711b355f9ccc018d670ed8ba64f10ba98b0068e7714074e14736087819ec2cbc960fe6939a4e9a4de2045b53e81fbb845b0e546de6b34ee9e91ecf0c9f74c569dec949d3ea11785639126bbd45137021e9670735488e46a325342a2b4a959297816d1ac731cb501d628bc09083ab5c4dafc09a36c7c70f2885a6622bb7162aa2c999927a1fb749bae280237db21418e2cec419990288b813e80765b47e4c314171b849e570c7533cc5bb77cb9f10272926c382fc0796f39924b6971fe6b54638c4cf25318e146aa02769e64c47e4da2d5264b282b32933d8c74242aa73c15875934e99d6c570572e03c54e47726e3b0416d3737a29624169778970e99de64bc2b16039ae97c7472a41c9a6c6fd45bd7738cb662505bb26a307a2cfb9680f5cac086f9bbf7799263c0b5367032196f1bd842534601094668a33bd339db59746d63ba6007887ab750f5887453e02b22c3148bf6c48c806a94cb7bf23568789a1260c87af0548c71881401c565268317756a211b6955ed03c49e0beb46c4ea9ff7be444932e61d464966bffc96bec0647ab34f2e4174b6e7542fbe80ab2bc06dfb802f691aff147ff90332d5ea739216c18d87285c3a8b3732db34f4cd985b65e078afe6a735b53f4bc36d4762a3e45d1dbcb74 +m = ace5e23f87cdb061c1821314f8353cfa96d69cf902a2866e5075a796b24594bf +ct = 72c22278f96655911148625a62833ffac3cfb53554283b89c42bf5f1237ad715290c0f58c73743f0ace534b8e27dfd2e053d54aaf33bdcabb6f263d1cd50b72b9d0d0d8884d9f2e6ca2249aecb32cd01507d2f079cb1f693e0536644078ef80003d26ce4f561b8669d0bdb5b7ef680430203e87d3c35a0d4536b9c9bb2d92594dc9eb31c1f85b6cf888a21ccf3039be9d06220b247ddd809f125b8bfc9b40e484c5f6b3a3b85fc1ba1f2387c0e5c2dbb59dbf78dc22d00c0b5b0ceb360f222ad91935abbea835f0156c8c19ec6bea067c03baca54df44d42d5b83035bda668b0e2bfff951b8b2e32573a96ea211edee9db3f4f9141804d2b85a4eb5c727d91a0cec961246932999ed8ab963afd0c9d87d77cb18be8047a722b40bc6d4c87dab53258c97d0d67a67c52d699abc9bcc2f64d5dc11fb941898ca5c26da2f1a2ac21131929332de37909311cb2dc67139360aa9c1dd897208518314ae476971bb9ac349f75c0e3c9e556cbd45f8b74adfcd78b4ac6d117d7378f3b1a064c1414f2ad241654ab744ab0b1273a11a5d7571fd9f658cd0a4b764b0f20f344f4d69852c5379fa2f68f8c59cfd656aaaac74adeb986cd457b79b88c84c7e4149bdf4f8981c87f55cd7c4722b87bcafff11a2024aad9fbacac12342bea737948020f287cd85f85f905917bcb4b5e6e89d399f6f8e7f203da9af3c04763bec3df069de27d289ea97b83af785262d3ecbd472b4a412eff1306021c59e8fe0f2d8b70e532f3e4a31083ed4bbe5fce67a9c1ec8007de8798197d10d7b4ac935214ef5d4cc6aed1b76a0ecbb244d2c9283944044f563d04c5224221e12931232ca8027460ecc2abe4c23cfe5caa98bc7843dc7fefba3df0c4bd5e1ccfda91bdfd859d678c0c7474ef02f6ee44adfdda4edd1525679c5fa82069f25db8e4657d4456f8989d1ca5dbef3a6c8102fb707bbb63d66aaecb4ffdf1b445a5b65e080cfa80542f786e4ac8e71f56bd4b69b290b5b31a2ce1268f1118d9c5bc20de4860d17e0f883d70478c74b470c9946c28ac4d7c109826d068d6b49ef2ce4fba229bc2219948280f7fad9b1d4de9a00e40efdffa5b8751374961a3520ac100d0f0fd779810af16c40f795dfa43be0abd0f6c2bff0b6d3b72c9cb628421332ecbd8dfb1047decbfbd8bf8adf4993ebd60aef98cee5b6d0124153233b181ef6ee6f50795159692b1b95f164abaa755444a4cf2279799304ae11d23e1e55ffd385fc7b06ebe4c2c5586f89533a045c1436f79f7d5559d11fc793fbb503ff01158de93b0646e9bff8e22e711b571a6a5e10f7a6a123f45db39a5154cb92118c917053807d24c667b7e6e043f5d3e10b25298b883677b9166ba8a1aeec2b2d717a651d97699cdb55b95c1563716606e6174d7cbcbda9d3ac81620275d377fe1cc765a2f20dfa911aa2ff3c0d8bca2ce29da946790c74e07e25bad8ddd81ed62957ca59f6fd478fc9590238332ec785e9496f33deed940c787d3cf696dcc0c767d1ddb1dae5defb70884eb26d5 +ss = a3db23ace4a8ef0e43134949dad1c1a89d9cc527115530575306ae97d59d0845 d = b12f6fd965ea9c5b947db80fc60c83d5e232dca82e7263027c19bd62e5a6ff55 -z = 0f6aa3e88f7fa8a96067f8cdaeceeac90c2d0b5e277e56e9c405ec9420c30252 +z = 11c11c1086f0365e9fbd525b3fcb4e4f169fb488bf0cbcb455ec098d49e903c9 pk = ad735e9e838da63ac7a3e1cd3e574db17c2601d3927cc2a9d228a05f5c1e51a63634383ff5e03151f43c66a07be9e992aa65ca4ca17b1e021e06b261ccaa89b12a4916a5a4e39826a94c86bcba9fc7d65ff04549db70b300b1cb280b3a41e82b6c8b0a4a3c5e40eba59fd18f004ca3e4c15bedf22e099c99a3d114eb0c5988ba02873b9581107a23e54a8e51ae62375a887929f7333d4d763e23b20a246785e07700bb16c531692531433eb6a6594d1464bca7348022c1d4219cd8aa6614862c42376c3a0c4674181983f2a2ce8b7f32659ae87accab6023938592e188a3c1015e98720eacc9aa837a49c4617a850c89e1212478f3c6bba51c30a64a8a1c225274c92ea953872342a96ca3235ca7a9467be55250796126b30694f71b2f75b56d84ac89c4b635118145c7b8967de515ecc719e35804194b7ea9304636283cbf72339474ce1da00106110a596725574747dc07b3f0c7c527aca703cb23baa080bb7a4cfc1009b3e5aa89659121e365fd6cb6fd15afed70779a978b3ff50f915b6c16a350141721efd61085189c3265530c1a17491b317031b4e4667eb8314ad34cb7daa50566a9812377cf24076fc3dc748fd58865b1b02dbb831b25b7b7383579376fdaa6c8a5323230025a4bc66977f6a458374faeb14e47f70e654c42c94a5fc5e386a57abde3f29349623e4de92f900527c165870fcc26a2f95fa1850f2c940fb7b87686e253dd54b6706a84a0c70e3ab04ca8446efb77609e9815a261af5a135836064d44a485b5e850f10153653838e5874b76568516e847a2a9b186e8a50c34c2d2b0839ee58024211018b0a13fc781623cc313b30c26a258106941a66b3cd9481aca7c7e3ce3202f098746c42c58f4c7dbe52fb5f606fbf31b9b5022e691cbef1464f6942aa503147eba081817ae28581ecdd867a96195db320bd2d91c36db01ade9affb6b00f86c13e2e252c988300b05afcd007470cc3022e96af0768dbebbcf62b53345b213c1544491f1bc75ba96bd73be57a2cd6874511b44bf2dd27f4fc87c167815fec59f7a043f699ba4d23400886a7214160c23dc96056bbcc7007a0049435c534b66971e6e5c90effa6645c45031c0c905b9887700181565b53165bab605a51bcaca0dd0c308a46432794c38f21e04172005f4348211c63a40cffd7c32bcd57fde852fec793cb7013e74504721f6bfb7637f73319f75b08e3c25777c969c6ea000c9b79d6f16a00cc4b00ad7ca4f8704b2e54d9d27524f6b80a6d51f85447b22c29af0036c6ba486862c8b4fb03f26042a0e195a3e91bc303770ac844e77805e41ec6aca920ff3a1a3abe81b598c193723b20c8685590131da89c0ace08a592489791911c92c7e6ed55f642caf918173f190b2fb8cc0cb2139fb6caa259b5a4634cfd0a532b719903e32831489a2d390b4c5a5066b4ab5a3316441b162407096a0bc0342599804752fd4f21c45923705a7a04012ae4a900c01d584f9f41676c36681994c2f4037bdfb84a69a81fa561e5be05777b571922988eac714ff249926fc9cc4e93666e198308a434df74dff3c5a440948437a7c500582124574ae225f52d322d0909b5e946a5e22ac8f774f69c48b7874417bb1c0b93cc0a90d2a9640377808ccc2673495c4839fda0d1038b27befe3d22e2b727a -sk = 87c0b4d44cc9eb48c126c5877ff87929b08485fb81e479139c3299c70c43c3fc8c238a81d4e61e62a33db2499c866b7107d116b7fcb1b0530a7e758a8d487d11575079265b3158302a23732bd07330071bd7cb7199476c39b583a2446109e99fd5c95be21a292cf37490906e84a82605b8455825c82eca4b7e218644460ce581214c78ac4473688bd6a9a826217490ad791b7835a85935782847981ca97b6dfe88b63701cfbe3929a2dbab1628155506c353639d153656b90c5aff36baedf1b87da5bce2a108fb6c3b29e77dae803a0dcba48ac6882f6c1194e88387f30a47c27d02c37d988346a2a29584a55cb5d3c44c05a18619a4fd412babc31a046221b3994c8f22ce272c9e6e948c3d043295f413349796c38911f8dcadeae47351c15e9a1743eb65bdc7471f37fcc93cec867cd4808ecb281fc17efd004dd64ab432d664864b43f8a9b1e763529ae2c413abbcf30a4a478a30a0104d802037c4a8af01b534dd600e31a1630ff13b2f730924cb790166af3b7322baf4409cbba500c1bb32894e65445f04e4b4b4933de51267635037faa44e2775caa4212f4e0600e51069aba662c86145e2117347bb1748d63e412550c004237cf02b02aabb18d8533d19b1a879a079b31d529aacbf5258483c80738b380c83119c12b23cdcbc7d027506f3705ce1316dd24594a4bd32d10382f8ab47478f23763898398d7430264203a76b0c4455237f3e765ea5516388595ce9e2bce2dc2258b5b96c782865fb5354427a2d7806123b0cca782b1c329411c6c133934ba4a959da88a072bc6e2d63a007572e36b82c5643564bec47bc8953d4aaabd146ab5eb36e33f825fb9ca01e223253c320f76c98f810ca52a2c604622f7a60378809a59b19680aa69eed2003e272b8a1f3c8a55bca129640c5a00d187bcaf465204c73cee66a2feea414f02859c9988356d26665196674d25e64cc5689965cfdb2c0e47a531ce32b3daa9c649954342a3f62253fdf826aafca7dc85a7a8e15161435212d7a4a3bd4b57a2ccca3506999d407d9b6abcc97209fa97454b0974dc2c7cf3c3fa40306cd6239dc450536974a8ab773374504b9889cb42bce4ef4606bdaa559346f18d087bf8b7f0d9b21b0c9b75b5903194b0744a1c47483488eb4c1ca2c83d8198cc6a523d9329f6582863cac2951268c01770a8081c1c26587d7610088e6068e020e10472c825c395ac6783f074efa8597feac3734399bfa247e4e1531eac70fe49355e44b3ba5439ea1e65eda94485fb710124bb968490f1c8b68e87a4c4682156fc06a33275b6b202aa0d508b3789aaca627f0f0c19026cec38a95f7547d936b255be7a7525c97ab4282714c32a23c4723a82298f2ce90fcb4761b9eee869e4d3484ba2b222dc28bc612b1f41607cf57781990009f29617549c0b2179705a34916db154aa3747867c3ef6a0693bba5c1d42e14b3247b41059f92607a60afcdecc1c6f3839db943f5ebc4d340aabe21269095b3f7d9bde9ebc21de788794b63e1098cc2903a83ca2027e8bcb78b855fd56fcf16b45e47994aac71fc815c521ac1a1b697a18569ac2816f52640cf9059c4eb95e6fa1b32b77bd7cbcb6ab384de74b6a2708400e980ad735e9e838da63ac7a3e1cd3e574db17c2601d3927cc2a9d228a05f5c1e51a63634383ff5e03151f43c66a07be9e992aa65ca4ca17b1e021e06b261ccaa89b12a4916a5a4e39826a94c86bcba9fc7d65ff04549db70b300b1cb280b3a41e82b6c8b0a4a3c5e40eba59fd18f004ca3e4c15bedf22e099c99a3d114eb0c5988ba02873b9581107a23e54a8e51ae62375a887929f7333d4d763e23b20a246785e07700bb16c531692531433eb6a6594d1464bca7348022c1d4219cd8aa6614862c42376c3a0c4674181983f2a2ce8b7f32659ae87accab6023938592e188a3c1015e98720eacc9aa837a49c4617a850c89e1212478f3c6bba51c30a64a8a1c225274c92ea953872342a96ca3235ca7a9467be55250796126b30694f71b2f75b56d84ac89c4b635118145c7b8967de515ecc719e35804194b7ea9304636283cbf72339474ce1da00106110a596725574747dc07b3f0c7c527aca703cb23baa080bb7a4cfc1009b3e5aa89659121e365fd6cb6fd15afed70779a978b3ff50f915b6c16a350141721efd61085189c3265530c1a17491b317031b4e4667eb8314ad34cb7daa50566a9812377cf24076fc3dc748fd58865b1b02dbb831b25b7b7383579376fdaa6c8a5323230025a4bc66977f6a458374faeb14e47f70e654c42c94a5fc5e386a57abde3f29349623e4de92f900527c165870fcc26a2f95fa1850f2c940fb7b87686e253dd54b6706a84a0c70e3ab04ca8446efb77609e9815a261af5a135836064d44a485b5e850f10153653838e5874b76568516e847a2a9b186e8a50c34c2d2b0839ee58024211018b0a13fc781623cc313b30c26a258106941a66b3cd9481aca7c7e3ce3202f098746c42c58f4c7dbe52fb5f606fbf31b9b5022e691cbef1464f6942aa503147eba081817ae28581ecdd867a96195db320bd2d91c36db01ade9affb6b00f86c13e2e252c988300b05afcd007470cc3022e96af0768dbebbcf62b53345b213c1544491f1bc75ba96bd73be57a2cd6874511b44bf2dd27f4fc87c167815fec59f7a043f699ba4d23400886a7214160c23dc96056bbcc7007a0049435c534b66971e6e5c90effa6645c45031c0c905b9887700181565b53165bab605a51bcaca0dd0c308a46432794c38f21e04172005f4348211c63a40cffd7c32bcd57fde852fec793cb7013e74504721f6bfb7637f73319f75b08e3c25777c969c6ea000c9b79d6f16a00cc4b00ad7ca4f8704b2e54d9d27524f6b80a6d51f85447b22c29af0036c6ba486862c8b4fb03f26042a0e195a3e91bc303770ac844e77805e41ec6aca920ff3a1a3abe81b598c193723b20c8685590131da89c0ace08a592489791911c92c7e6ed55f642caf918173f190b2fb8cc0cb2139fb6caa259b5a4634cfd0a532b719903e32831489a2d390b4c5a5066b4ab5a3316441b162407096a0bc0342599804752fd4f21c45923705a7a04012ae4a900c01d584f9f41676c36681994c2f4037bdfb84a69a81fa561e5be05777b571922988eac714ff249926fc9cc4e93666e198308a434df74dff3c5a440948437a7c500582124574ae225f52d322d0909b5e946a5e22ac8f774f69c48b7874417bb1c0b93cc0a90d2a9640377808ccc2673495c4839fda0d1038b27befe3d22e2b727a2006a70fa33ff4a65b00553734c5bd8cca0a65eb3a115d96b8aa90f8fdc5f8f40f6aa3e88f7fa8a96067f8cdaeceeac90c2d0b5e277e56e9c405ec9420c30252 -m = 34f44ec2092eeaf686f2ea170591a98527cbb03a4fa9477a7aef6b41a54feeb2 -ct = 8b6066f2a728ae7d0bc110336dccc3fe0f6357dce815ff647b494fe508c69a7ed6e55c11453db91aee3ba1c211216edc8db6a45ee71552a75b6b168feb3fb85ec871c7db796de7baaf09511ebdb584ea318a07a7121b1f2de7a99a08a0f9cfef11900fc897dc8b315bc62df134d054e053777e39436dffcfccc673dbf48440276467329301cac24db50eb48bdea5085d50e40e7d2d34e0d193419d423dfa565b0b8278718edc2839b764f97c796ee6c719285bf2caeda377845382e29b614ce12d31702d98b0bf73ce2b695d407befcc62b69634cb5bb3803251697c1660b1411c475c62aab58f5ab9bc4c8dec50921fc21452e08b27095a8d87fcd581cc81c223a5aa2dd679cd19f87127065c1368c8b29454a9351a0b17a85873baba9132d4f905db6a15be3ea0e61dd4bdb7c506e7014137eeb3943794f5ac765103c9f2c596401cf443d0979557d15f930580d34db141403e278e2b79e4e2bee3cb69f1187326d55a584da85c98a300931e0debed6cb3c200add1ce524cc7230af50a93edad2707e452dcacf7f81cfbcfd47cd9457a6a713e1fd9b8f8daab5440a7bf30e10a244238d02ebced353667c1f5eded23e1816dfc8999e46c7e1cfb910bdc06388d12b9c7f32d3611a7f7e38af8edb14e2e80ea10e9ddd676fe4d921b4e24dd175ca69d82ea6896820f5311447ad8a37774ad535781af80f98b89f982c3600ef2101c8527f0b1dc2eb39f47d21dc7112d9f6e96d6d74ffdda89f3e1b0cc0cd09c2d1061d0e2725a30f88ec62d95633f40303811458954a0178bfa7f7f9d44fad3607d96475b0be47e3182216e561c2ca147298d1ee0f23884e658ae146dae13ae35b8c4bcb6006279955088aa34e0e31284a39afc316e5f83b05d2271fc3aa5172dc29b751aeb2e854691e5942012b87c2a5c7a0d97551d77927610c01d60cede43c4489650a3c4bf1817b12c61db829386ec110431dd09cc9127eabaf96673b8795c8ae2bd97dafbedc4e4d726e90207d43402a761d754dc0c0fef6403c23f0f8249e8ab153c768b1a42ea982433c45141853a4755d93b62a9de2c29d83fe8262b1d8d0d6e7e918ff2c8e88cf20705701c8a86a9986e4bae2c697f45d4dbcfaac1f11f11a2a1a728f44d70d31f85ce8bba588c095ed854dbce17c6751bfb2ee1a86713a796d968bb0271293c9210b420ce454d329eeea558dd60052466b051477d25152f6bea1e04c521fab8d00be3b0c5cc166fea82ba49773bbdaa958c5c7e8f50bfb5e345c29801024c39e597f66ac08fa1510fced31e21f599097f5fcb604b88e3ff893fffff9f81af2d5e1ce0fd4bdab7a541ff7dc9b55d0eb4d54eadde6c5a9d688a3c2851976ff51fa915db037155bbe715f0998c17cb2539ab0300cda62a0f84817259b2d64df12ae065cbef43648f5181acdce5b434877f4f90e95e19d5abc106f568f1b4c48305ead8a35eddbd35404e2d46c8addd2cc4da632f2bacf96a0529bb37ee7530739154e01f50116476333d4d0ef1cba1a85e4338896b -ss = 4fc71b4d0a7cd5d80824e137b93f8356aeda6a13a55c0515aa74eef21447caca +sk = 87c0b4d44cc9eb48c126c5877ff87929b08485fb81e479139c3299c70c43c3fc8c238a81d4e61e62a33db2499c866b7107d116b7fcb1b0530a7e758a8d487d11575079265b3158302a23732bd07330071bd7cb7199476c39b583a2446109e99fd5c95be21a292cf37490906e84a82605b8455825c82eca4b7e218644460ce581214c78ac4473688bd6a9a826217490ad791b7835a85935782847981ca97b6dfe88b63701cfbe3929a2dbab1628155506c353639d153656b90c5aff36baedf1b87da5bce2a108fb6c3b29e77dae803a0dcba48ac6882f6c1194e88387f30a47c27d02c37d988346a2a29584a55cb5d3c44c05a18619a4fd412babc31a046221b3994c8f22ce272c9e6e948c3d043295f413349796c38911f8dcadeae47351c15e9a1743eb65bdc7471f37fcc93cec867cd4808ecb281fc17efd004dd64ab432d664864b43f8a9b1e763529ae2c413abbcf30a4a478a30a0104d802037c4a8af01b534dd600e31a1630ff13b2f730924cb790166af3b7322baf4409cbba500c1bb32894e65445f04e4b4b4933de51267635037faa44e2775caa4212f4e0600e51069aba662c86145e2117347bb1748d63e412550c004237cf02b02aabb18d8533d19b1a879a079b31d529aacbf5258483c80738b380c83119c12b23cdcbc7d027506f3705ce1316dd24594a4bd32d10382f8ab47478f23763898398d7430264203a76b0c4455237f3e765ea5516388595ce9e2bce2dc2258b5b96c782865fb5354427a2d7806123b0cca782b1c329411c6c133934ba4a959da88a072bc6e2d63a007572e36b82c5643564bec47bc8953d4aaabd146ab5eb36e33f825fb9ca01e223253c320f76c98f810ca52a2c604622f7a60378809a59b19680aa69eed2003e272b8a1f3c8a55bca129640c5a00d187bcaf465204c73cee66a2feea414f02859c9988356d26665196674d25e64cc5689965cfdb2c0e47a531ce32b3daa9c649954342a3f62253fdf826aafca7dc85a7a8e15161435212d7a4a3bd4b57a2ccca3506999d407d9b6abcc97209fa97454b0974dc2c7cf3c3fa40306cd6239dc450536974a8ab773374504b9889cb42bce4ef4606bdaa559346f18d087bf8b7f0d9b21b0c9b75b5903194b0744a1c47483488eb4c1ca2c83d8198cc6a523d9329f6582863cac2951268c01770a8081c1c26587d7610088e6068e020e10472c825c395ac6783f074efa8597feac3734399bfa247e4e1531eac70fe49355e44b3ba5439ea1e65eda94485fb710124bb968490f1c8b68e87a4c4682156fc06a33275b6b202aa0d508b3789aaca627f0f0c19026cec38a95f7547d936b255be7a7525c97ab4282714c32a23c4723a82298f2ce90fcb4761b9eee869e4d3484ba2b222dc28bc612b1f41607cf57781990009f29617549c0b2179705a34916db154aa3747867c3ef6a0693bba5c1d42e14b3247b41059f92607a60afcdecc1c6f3839db943f5ebc4d340aabe21269095b3f7d9bde9ebc21de788794b63e1098cc2903a83ca2027e8bcb78b855fd56fcf16b45e47994aac71fc815c521ac1a1b697a18569ac2816f52640cf9059c4eb95e6fa1b32b77bd7cbcb6ab384de74b6a2708400e980ad735e9e838da63ac7a3e1cd3e574db17c2601d3927cc2a9d228a05f5c1e51a63634383ff5e03151f43c66a07be9e992aa65ca4ca17b1e021e06b261ccaa89b12a4916a5a4e39826a94c86bcba9fc7d65ff04549db70b300b1cb280b3a41e82b6c8b0a4a3c5e40eba59fd18f004ca3e4c15bedf22e099c99a3d114eb0c5988ba02873b9581107a23e54a8e51ae62375a887929f7333d4d763e23b20a246785e07700bb16c531692531433eb6a6594d1464bca7348022c1d4219cd8aa6614862c42376c3a0c4674181983f2a2ce8b7f32659ae87accab6023938592e188a3c1015e98720eacc9aa837a49c4617a850c89e1212478f3c6bba51c30a64a8a1c225274c92ea953872342a96ca3235ca7a9467be55250796126b30694f71b2f75b56d84ac89c4b635118145c7b8967de515ecc719e35804194b7ea9304636283cbf72339474ce1da00106110a596725574747dc07b3f0c7c527aca703cb23baa080bb7a4cfc1009b3e5aa89659121e365fd6cb6fd15afed70779a978b3ff50f915b6c16a350141721efd61085189c3265530c1a17491b317031b4e4667eb8314ad34cb7daa50566a9812377cf24076fc3dc748fd58865b1b02dbb831b25b7b7383579376fdaa6c8a5323230025a4bc66977f6a458374faeb14e47f70e654c42c94a5fc5e386a57abde3f29349623e4de92f900527c165870fcc26a2f95fa1850f2c940fb7b87686e253dd54b6706a84a0c70e3ab04ca8446efb77609e9815a261af5a135836064d44a485b5e850f10153653838e5874b76568516e847a2a9b186e8a50c34c2d2b0839ee58024211018b0a13fc781623cc313b30c26a258106941a66b3cd9481aca7c7e3ce3202f098746c42c58f4c7dbe52fb5f606fbf31b9b5022e691cbef1464f6942aa503147eba081817ae28581ecdd867a96195db320bd2d91c36db01ade9affb6b00f86c13e2e252c988300b05afcd007470cc3022e96af0768dbebbcf62b53345b213c1544491f1bc75ba96bd73be57a2cd6874511b44bf2dd27f4fc87c167815fec59f7a043f699ba4d23400886a7214160c23dc96056bbcc7007a0049435c534b66971e6e5c90effa6645c45031c0c905b9887700181565b53165bab605a51bcaca0dd0c308a46432794c38f21e04172005f4348211c63a40cffd7c32bcd57fde852fec793cb7013e74504721f6bfb7637f73319f75b08e3c25777c969c6ea000c9b79d6f16a00cc4b00ad7ca4f8704b2e54d9d27524f6b80a6d51f85447b22c29af0036c6ba486862c8b4fb03f26042a0e195a3e91bc303770ac844e77805e41ec6aca920ff3a1a3abe81b598c193723b20c8685590131da89c0ace08a592489791911c92c7e6ed55f642caf918173f190b2fb8cc0cb2139fb6caa259b5a4634cfd0a532b719903e32831489a2d390b4c5a5066b4ab5a3316441b162407096a0bc0342599804752fd4f21c45923705a7a04012ae4a900c01d584f9f41676c36681994c2f4037bdfb84a69a81fa561e5be05777b571922988eac714ff249926fc9cc4e93666e198308a434df74dff3c5a440948437a7c500582124574ae225f52d322d0909b5e946a5e22ac8f774f69c48b7874417bb1c0b93cc0a90d2a9640377808ccc2673495c4839fda0d1038b27befe3d22e2b727a2006a70fa33ff4a65b00553734c5bd8cca0a65eb3a115d96b8aa90f8fdc5f8f411c11c1086f0365e9fbd525b3fcb4e4f169fb488bf0cbcb455ec098d49e903c9 +m = 95be66caa72e47634e9748bd26c12b04e2193a69140284624d4e177f4dd66f7b +ct = 837a56867c492de5087e6a9fb284bba7c531e838fbee074a0f91b1f8ef8bbc0824c52f37d36a66e13d0d4d7748e9cb31d8dfedc8005e3265c0611c7617416586c8c3536d0a5a5f62f75cd36887f11277653256340abde1ddcbfdf314e84ae1a0d6a3cec834e56ce04df572cea151252e4222a0d741696d21501dd04869c458733ca41d599057757a5046d2be44990318dbc6c90da3081a0401ea36a66758f69264f2979095ef1d872f760aab37179e0ed1c3580ccc879f0d3cfade5ab0bc6e71c9c736cf5d4c6b13eee1a1c67a1bf65713c887a1bfc7c55bfa1c4e6125f376d43535dfa99ff1ee88cd144d062fb13adabea70fbae0d82d81ebc535df7bc541ef9c47e5180d64affbb06494a7f20dadac7d76e854db51eba0731adc4c21fdfe124df477a1482d2831614d22897e4fab4e6e5a0ccbe8d137a78c1e916d92e269f570aae4b7c4ad908d67fcaf067f4a39b3cdd1c15489cba46adf4c964cbcf8740aaf6974c19705267bfed3c2f2492f7222c9ac16dc5a22c1191b49cb2e91c1859e762220fe1d3c4c7eb35a69c0ce0c11e0ac564da3a01dc34e114e11a597039587e1d6359dbf4fbbb2368840b27c03700fc6cc54f44b2ca95785bba9424a0268654b1874fef93175f14296b60c67dfcda240cc4801f72a87ba93d6400ce8df9f6034d67c3a71c6e92a7cbd2fe08b9c1b1c20f90679b04597cc0e6bc8bd229fd583c8279e8c7817e25a456852211897e138e44dab6ae2c32c47a755f8c7548f2bdb801871a6aa2d5e006959c080236806498e4380e2e93e05007b38f84f7ff51fbefd3b77a385afb050b7169d679fe4398174a60313e3777399cc118de1e86ba8f3a9181f0715fdbccc65d414f5d253cbe6b8b009b3f0d9cd3f10550ee5f98df64f54e69b959eaccba812d81decda6247f8733a38d61edbec24a93e88092fd2dc71337eb3195c74664c08229917f2ef40e02a984360aade36f3584c77e37d63041e0875afebc0d91c461e707a2773f1cbf20924f83a86244dc9a7c11b495dbeb58f5ce25269f0e08b42f1333f08181c91fe256128a6635ee2d2994f9e0d7ff05831267b27b3aa08fcaf589ed5b037930b0b8b9a706b5680c56bf5ea9031fb168bcbcae6c2e7cba93b1064a313a41e4227d2042272150ae04d9a6846d0e7d2cb9d1abb4aa79f096b886049759a958fa8c4321968313d1f731af0c5dc602206f23e05463967b3c78afa4962fe4173a218b88dfb818bb6ead94a4a606184a7fa411a7ef95f3264fc88dd33c173ca9023a18477b3cf63974ec1d83b916cfff97c21e8c74923dadb6b130a23536d13584e7f98f6f7af0682a5c78577b0e808fe1bef0ee399b607e6c65c1d7f4b4e701ff94e516e752ed8c589ae1ebbfec8a2337ce5ed461611394c583f0647b869b85123eb16c53683753747b353654f7c549320e86e84f5d1db4fba6ffa470bcfe014591063f215a52c3cd86e97838f6202372ffd42125354c7a0125f05d222fb76815c20a0ea2c3f5dee8170ddf12835b65e4931963d +ss = 88cdb3f900436d49fe112a0223d3190364f94a6740d073b17db7938e159c6e76 d = 9f52af92ca165fdc38788f2b59ba02e01c8281ff7c1e60504688043a5fe814b0 -z = 4f3029e1be4e1c0258c3a22ff5b50b2674cc094ba7018da2a61569845c17d26f +z = 284837f7edf4788f32e757949cfa69ddee079e2e00e439ecedc8512097e2d2ce pk = e0b9190b548bc164bb826874c1800980dab529866b951c01c20cb4ad363c681336b13105fc338b1788afbff321bd981974c33d98a35666eaabe3612e61839d6ad65490d71ae992111719aacf12a060648667e34d09343d93db88abc69e0e098a63749bdad39f8c6b93d75990b0731621cc04e6e2061e93cc4b51209ec92abb303bc638c52ab2ae40d746cfcc43b7576a240540bf410c14744f80a442d0555d474192bcd9b187a56691b63965973c7793668682852f91cfbce70d6d4832a1855cc4b83a847734c24019c508b2d29539fd1a114f787285e197b51bc092f80b559446f1076f02e984a1b27cae7aa1d0b50967939aac74cf2335ad421021e3225d94fa3b09148e60c20e8454c68a8022043206b7bb1e799c9b69286509a188db29a9ebb078420a0844c858cf4b11f9b4959934002be0229e714350451b9c2775a5cc8c45b07e121290eee32a73d46f8d7c55311a8c29027356139f153cb405fa14064c5c31060d7a964b33d76bcd4809d21b34a2f7806486bd2835b7f871164ae496d4264f89fb4eb15b7e5a7232b6c68b11351a41b09bb0c92c8437534d2b4c0ca2538023b29df93d93c98136780ff6f82846cc2868664322ab28dcd7279f68994ba5a5ed406d4d717d16c14dfdda58db1524f7c53f3cb170d45a411b07cd64f001daa0ad1bf63a11550c0c154d20f5096db44d1ab0a1c9d66581891a9314c18f778330a0936e7a2f3e19c18f7bc87cf078627770dfc5a2fe71b27eb8276863c3295c11e08703ef4a4ff6b3a1871c7b42c43a6eeb6bd1526aa95b7dcd6b38edc207c630bed1768ce9505544e9053e5c8cbf6a181a1a0f48c8a98b59c3adebcc3a5c99e61588834024cfc71c9dfab1df558711b311404a739f79b45b1a8a7633081a27a08c3c16478c9d24c1229723addcea225d39bde7851345b18b1b08254181b01623347a9a57f5d902290b10476083949556663309059815626c3ccb5302b978b2ce82af231934ffc7732352b990b21b69210f2acc048387b95c346974c2181148078154416e08564d664db3045dba82c9a7934de51ab5c1d7346a391baca48209c8c7235309943c1cb9cab4771c7eaf59321b510d430c88473ab16f54ae461a5dc613c6fec61a5e899552e835eff57fc34b7992755d178a0365c52b3f020ab40020ce21b45717654634606dfb2917fcc266193e2e5b2c4559cc5652aad1121cca0711e26c23eb33c1f7d389f2d742f384725d3268f8159f8c463585998289e58369fbb883caae21b87139e52d7ebb92b011cbe6426390458247c45f06f2519ab35b35675bf93325351617ad3ac470f73d3d3985e10277a647c96a6c56cc2346563cc496db232fd742aea3adcfbc506ca8cbada7b040a04f6e329fcea77bec0683e1a87c396113639159d9ca52a5a5484d2839869a2e80557a6bf7ce2ee295a464aaf835c542457d021c65c2b2a457c771fcc47f8b1056c8b7aa61d1843a40c4c9b083269b2e89fa3ba5959f89972805fa4b46e35abef0c57d875c54804de77071f1219195bc8b4f7c18a19a7953573e7f4157ca03be2852461a784e736110157ba3f83a6947aaa09e9bcae730b9b212bb837627293a485ed6b42ca1cf26792676c1f4bef1609e71524b877f53fd3133bf71ab13912bf37c2cd7a359eab035cd -sk = 4dba785b32456e16a8e9a20fa7536f1b4555a9b403a09738657a148361788d3c358a7baba8b4c58ac979c4f786e588ae245cb0c12c284f848b89585f76892fd65cb906d39b385a04d2f5b2154abd1e77ad9501abac73237780b33c601fac50ba3fc07e8525819593b7d7e69fdea46f14f1128a475e4784af38985501dca6d20bc8dc1c5c7740b33804358f71b6e97b2a0e7350f7608321736083dc54e0253c6e5c5665d0b7e68355d4e98daa753c1abc1429b397da773b043459e5aabd093a5b0210502bc2cab250041997861286924aa0a190307431719588cc2e6fb68711c964fc20393c73b7c967c603120a3cc11b2efca3dd6616d0e2c835fa92946a40c4cc2f4655301ecb09424286b3c7a07ad3c6ea37bf6132aae2d9a335e34b6c816d93cc7ede020ab723b272b70f494834ccd93bd7800bc39919dea4be4c585f827a4351e233026760dc83377329ccbff180a562ac50833c0f861e795c00ee74b584f693222b28eefcb445f19b06154abd0110c6a017ed525b5fa30c64e60663573b8691ba68e2bc580157f1c66ebe388aa2747c50919af644acd903a801a5c04a6a2eac686c89835cf59a791ad5642274a0f78244491670c66c9bce24ba5cf6b86967aefe6728dce8973fd29045db844dc80022297cf530c8eca4808f603a90a840ad70a803e6a0bfb44b38616816073c5d7ba26a64048f81a3bad3a0c9cb0672c7466e38824529298a7c0d82940540c312f429411b403f64e419cf720e1f73026184cee538b27cfb91f16186dcd3904ba6a34254155b3cb3157937d5618568f46f283c7c0e88696324a4fd77c3e6fa5b5dc0a13116274e5792fed69eaba973730a79878103bf63934d179143dc23ed39585d40c06a99aee0f4462f123b8a6b539dea9e05117b08338dd6754398e7496f612b4d892ca54a13ec9b2dc7022cf779668809ad6db97a6e8b15ff0a862e664d292c4af549195a23c19e2b9fcdb9b4a5b9ae517873ccc644993196de5c2716d58d50e7cf11558f44a16580c980654c8ca581671121cb2f8cc6f90529c9754cf0700b30943eea1a7b05f0bc8fdc1cf776b0cf2c2eab927dc83197a4071dabfc07f983bf4d2c613e087976eccaac031b88420ceceb6df0350f04ba61ab39cad4c6b2b32503d773a34514b7d5bbb9d5e7bb6dd9ab5bdb8f34a9880c49ab5c40970c435508e26cba50705c6538686249d344bdb7c820a5c8869b371b8fe13922a5af390bbb7b809c392266541671c75cc2b7a7248d0234fca16da64265e5c70257d770d2e9982d5a1c6d19bf0ba48b53ab900fc8280c754c14774939b83c63592a12f35d198194679942ec227b46cc8f353a0547e929175c3585107239aaafca151df3c835e770921e5c9b134ca7e27a18c7656bfd6a4fd2431ce1743576e575dbba8905f4cc38108e3cdcbf0155b5300a100958aa99940bcb473ef64b05baf55e91952c46851d313b0990ebcf2148cf28130cf49c8d080841fb81384e73367c792a11099f5b898416946826714e252457b23a3a1e33a36ee2612372cb2c04030840a87f96a31913a428cccdd2817b38372da4637f46044f2218c28d525a57d9c0cd2864fd43aa5c9a003a09a35ba786a7520ce0b9190b548bc164bb826874c1800980dab529866b951c01c20cb4ad363c681336b13105fc338b1788afbff321bd981974c33d98a35666eaabe3612e61839d6ad65490d71ae992111719aacf12a060648667e34d09343d93db88abc69e0e098a63749bdad39f8c6b93d75990b0731621cc04e6e2061e93cc4b51209ec92abb303bc638c52ab2ae40d746cfcc43b7576a240540bf410c14744f80a442d0555d474192bcd9b187a56691b63965973c7793668682852f91cfbce70d6d4832a1855cc4b83a847734c24019c508b2d29539fd1a114f787285e197b51bc092f80b559446f1076f02e984a1b27cae7aa1d0b50967939aac74cf2335ad421021e3225d94fa3b09148e60c20e8454c68a8022043206b7bb1e799c9b69286509a188db29a9ebb078420a0844c858cf4b11f9b4959934002be0229e714350451b9c2775a5cc8c45b07e121290eee32a73d46f8d7c55311a8c29027356139f153cb405fa14064c5c31060d7a964b33d76bcd4809d21b34a2f7806486bd2835b7f871164ae496d4264f89fb4eb15b7e5a7232b6c68b11351a41b09bb0c92c8437534d2b4c0ca2538023b29df93d93c98136780ff6f82846cc2868664322ab28dcd7279f68994ba5a5ed406d4d717d16c14dfdda58db1524f7c53f3cb170d45a411b07cd64f001daa0ad1bf63a11550c0c154d20f5096db44d1ab0a1c9d66581891a9314c18f778330a0936e7a2f3e19c18f7bc87cf078627770dfc5a2fe71b27eb8276863c3295c11e08703ef4a4ff6b3a1871c7b42c43a6eeb6bd1526aa95b7dcd6b38edc207c630bed1768ce9505544e9053e5c8cbf6a181a1a0f48c8a98b59c3adebcc3a5c99e61588834024cfc71c9dfab1df558711b311404a739f79b45b1a8a7633081a27a08c3c16478c9d24c1229723addcea225d39bde7851345b18b1b08254181b01623347a9a57f5d902290b10476083949556663309059815626c3ccb5302b978b2ce82af231934ffc7732352b990b21b69210f2acc048387b95c346974c2181148078154416e08564d664db3045dba82c9a7934de51ab5c1d7346a391baca48209c8c7235309943c1cb9cab4771c7eaf59321b510d430c88473ab16f54ae461a5dc613c6fec61a5e899552e835eff57fc34b7992755d178a0365c52b3f020ab40020ce21b45717654634606dfb2917fcc266193e2e5b2c4559cc5652aad1121cca0711e26c23eb33c1f7d389f2d742f384725d3268f8159f8c463585998289e58369fbb883caae21b87139e52d7ebb92b011cbe6426390458247c45f06f2519ab35b35675bf93325351617ad3ac470f73d3d3985e10277a647c96a6c56cc2346563cc496db232fd742aea3adcfbc506ca8cbada7b040a04f6e329fcea77bec0683e1a87c396113639159d9ca52a5a5484d2839869a2e80557a6bf7ce2ee295a464aaf835c542457d021c65c2b2a457c771fcc47f8b1056c8b7aa61d1843a40c4c9b083269b2e89fa3ba5959f89972805fa4b46e35abef0c57d875c54804de77071f1219195bc8b4f7c18a19a7953573e7f4157ca03be2852461a784e736110157ba3f83a6947aaa09e9bcae730b9b212bb837627293a485ed6b42ca1cf26792676c1f4bef1609e71524b877f53fd3133bf71ab13912bf37c2cd7a359eab035cd631e1de2556ae65d57e600c21e8e355a4ed586d667177ca0b7545cb5a23d669f4f3029e1be4e1c0258c3a22ff5b50b2674cc094ba7018da2a61569845c17d26f -m = 6250c81126572eec2da330271db36ee591f060fc7e53eeefe2e1c476c675fa33 -ct = 35b5a9e583fd8baa2044fc15e93be2d0d1b199196f10bdd90d274c4c56c3daf791a9cbae48772ef76af0c325c7dd84029b2d44b4676558a5a409f6e64d3538e9c7f6c39a19cd737916a1c4db7df79ae1850a0f3ea6df53a956c93bbb5ab3d5384aac5030aaa99111b17ad156a9307004ab9c3b1c7addb735a16699c0a7fd69ce08c244b6258ce70285f56875ac2343a18868a93061dda2cfe9e6aa2c0caf7fd0efc593d9d06a4f6861e0643abbc0a91e71cf244384f45e7d3dd88a27887ae4695572e98506da6e32daa744ad32f0a44a7679f3f0dc7c868207aed7bcd90f62f36cd695b6b4786c5290d74cac91a28a0d3ec3d6ca53a7dcdd4353476e54fcdad93e21c4f9ca58b069bf5bbd9ba268b058875fea449e68b3f93839c1b6ffc1b095bd0aa6bcf24bc5ab14fb4c8b975e701ca0190f9381fc6d47207a53f3c281cccc0145748222390f364f6f5444614325ab382b3f7eb659eb61cf2360270269b93ebe68825eee071273bc880751548c281ae9d94eaa1764ce70fe1857e4315c610d776be9ddc12e6848e09192e5a7aabe46bf12a268614d138557630737abe83abcfbba6f886f5dba7d1090854432bafcfb1a61054a1f7ded94a9b1e6c1da0e6ed87da24abfd24a61339f8241c87c7aa8927744137eac239190267b338fea6f3f564b0e30f0c08ac24d8d17c6a7c748695957680e775f494ca2472614e5f6b6b6c703673dd9c93fae721292981a45c714e9e50fc0fcb173d5a92d52167695e4f659a5bbd6920f61f5ffc6b63e0608689d85a919e1544efaee4e2525b4a20b1b89fb4d5a20f2b2fa389196eada7f12ec01901828ea8d726eafc62420bbd9074e753559361a9cfb371d459afcaa3f11d893b5907688a12a99fccbd8f390ea00e4acafc5ba86ba6d735045cce689ceb35b3da81d6f21cd8e6bfbe2ecb870df4b3aea67948fe7426471d3325a39bb041a0974c8768d832398b0ee9273f1f488a0d8829454e17aebdca048b7b3014c5c3e93e5bc15317defdaa4de18094523b0491a3537896689027f57436557f65d70a5440ac28681fa0224de0958b60ded0a4a6846316b8dc836bfe99855afaaff6a4efc9a5149610d0e1c3d8fd8ae4e7b489734444258a30f14681d5dd3179f530e9c0a5ff42100aa851707e3216fdf5b5dc42c0de6ec2031e9df703a6bbe7385396c711218b445ccc15b83c1fc1e19aacd8507a60034be48c59c23c71ef836a7f4f05a07dd953b6defd09a7add8697097123a4df8ef6abdcfb74f9711e8f2719033585d63386f32ca50f72f833fed12eb70f2c1c34dc7f26205149d68652468b7d156c3b957f64be1272766fd82725bd00beefc5ab6f52e0740f7e37fcfbf0d0988ee07435b41bb58dcdec0d8b0c90c43db5130a153db8994a1e54ea218668cdb2c42380fe4ad204a910f0ad61777ca661b8a68f43808235c01187e6101131a32dfacf091021f9107b4964a55a3f19cd55218611aa5c479107a4ef33d76b68b9809d4ca773c4ce0347c64d13100b44a837ac87cfda -ss = 5a864018c4c8c17c01c5ef38d7154668d9099994d92ed2ef55f02cf6b3623fd1 +sk = 4dba785b32456e16a8e9a20fa7536f1b4555a9b403a09738657a148361788d3c358a7baba8b4c58ac979c4f786e588ae245cb0c12c284f848b89585f76892fd65cb906d39b385a04d2f5b2154abd1e77ad9501abac73237780b33c601fac50ba3fc07e8525819593b7d7e69fdea46f14f1128a475e4784af38985501dca6d20bc8dc1c5c7740b33804358f71b6e97b2a0e7350f7608321736083dc54e0253c6e5c5665d0b7e68355d4e98daa753c1abc1429b397da773b043459e5aabd093a5b0210502bc2cab250041997861286924aa0a190307431719588cc2e6fb68711c964fc20393c73b7c967c603120a3cc11b2efca3dd6616d0e2c835fa92946a40c4cc2f4655301ecb09424286b3c7a07ad3c6ea37bf6132aae2d9a335e34b6c816d93cc7ede020ab723b272b70f494834ccd93bd7800bc39919dea4be4c585f827a4351e233026760dc83377329ccbff180a562ac50833c0f861e795c00ee74b584f693222b28eefcb445f19b06154abd0110c6a017ed525b5fa30c64e60663573b8691ba68e2bc580157f1c66ebe388aa2747c50919af644acd903a801a5c04a6a2eac686c89835cf59a791ad5642274a0f78244491670c66c9bce24ba5cf6b86967aefe6728dce8973fd29045db844dc80022297cf530c8eca4808f603a90a840ad70a803e6a0bfb44b38616816073c5d7ba26a64048f81a3bad3a0c9cb0672c7466e38824529298a7c0d82940540c312f429411b403f64e419cf720e1f73026184cee538b27cfb91f16186dcd3904ba6a34254155b3cb3157937d5618568f46f283c7c0e88696324a4fd77c3e6fa5b5dc0a13116274e5792fed69eaba973730a79878103bf63934d179143dc23ed39585d40c06a99aee0f4462f123b8a6b539dea9e05117b08338dd6754398e7496f612b4d892ca54a13ec9b2dc7022cf779668809ad6db97a6e8b15ff0a862e664d292c4af549195a23c19e2b9fcdb9b4a5b9ae517873ccc644993196de5c2716d58d50e7cf11558f44a16580c980654c8ca581671121cb2f8cc6f90529c9754cf0700b30943eea1a7b05f0bc8fdc1cf776b0cf2c2eab927dc83197a4071dabfc07f983bf4d2c613e087976eccaac031b88420ceceb6df0350f04ba61ab39cad4c6b2b32503d773a34514b7d5bbb9d5e7bb6dd9ab5bdb8f34a9880c49ab5c40970c435508e26cba50705c6538686249d344bdb7c820a5c8869b371b8fe13922a5af390bbb7b809c392266541671c75cc2b7a7248d0234fca16da64265e5c70257d770d2e9982d5a1c6d19bf0ba48b53ab900fc8280c754c14774939b83c63592a12f35d198194679942ec227b46cc8f353a0547e929175c3585107239aaafca151df3c835e770921e5c9b134ca7e27a18c7656bfd6a4fd2431ce1743576e575dbba8905f4cc38108e3cdcbf0155b5300a100958aa99940bcb473ef64b05baf55e91952c46851d313b0990ebcf2148cf28130cf49c8d080841fb81384e73367c792a11099f5b898416946826714e252457b23a3a1e33a36ee2612372cb2c04030840a87f96a31913a428cccdd2817b38372da4637f46044f2218c28d525a57d9c0cd2864fd43aa5c9a003a09a35ba786a7520ce0b9190b548bc164bb826874c1800980dab529866b951c01c20cb4ad363c681336b13105fc338b1788afbff321bd981974c33d98a35666eaabe3612e61839d6ad65490d71ae992111719aacf12a060648667e34d09343d93db88abc69e0e098a63749bdad39f8c6b93d75990b0731621cc04e6e2061e93cc4b51209ec92abb303bc638c52ab2ae40d746cfcc43b7576a240540bf410c14744f80a442d0555d474192bcd9b187a56691b63965973c7793668682852f91cfbce70d6d4832a1855cc4b83a847734c24019c508b2d29539fd1a114f787285e197b51bc092f80b559446f1076f02e984a1b27cae7aa1d0b50967939aac74cf2335ad421021e3225d94fa3b09148e60c20e8454c68a8022043206b7bb1e799c9b69286509a188db29a9ebb078420a0844c858cf4b11f9b4959934002be0229e714350451b9c2775a5cc8c45b07e121290eee32a73d46f8d7c55311a8c29027356139f153cb405fa14064c5c31060d7a964b33d76bcd4809d21b34a2f7806486bd2835b7f871164ae496d4264f89fb4eb15b7e5a7232b6c68b11351a41b09bb0c92c8437534d2b4c0ca2538023b29df93d93c98136780ff6f82846cc2868664322ab28dcd7279f68994ba5a5ed406d4d717d16c14dfdda58db1524f7c53f3cb170d45a411b07cd64f001daa0ad1bf63a11550c0c154d20f5096db44d1ab0a1c9d66581891a9314c18f778330a0936e7a2f3e19c18f7bc87cf078627770dfc5a2fe71b27eb8276863c3295c11e08703ef4a4ff6b3a1871c7b42c43a6eeb6bd1526aa95b7dcd6b38edc207c630bed1768ce9505544e9053e5c8cbf6a181a1a0f48c8a98b59c3adebcc3a5c99e61588834024cfc71c9dfab1df558711b311404a739f79b45b1a8a7633081a27a08c3c16478c9d24c1229723addcea225d39bde7851345b18b1b08254181b01623347a9a57f5d902290b10476083949556663309059815626c3ccb5302b978b2ce82af231934ffc7732352b990b21b69210f2acc048387b95c346974c2181148078154416e08564d664db3045dba82c9a7934de51ab5c1d7346a391baca48209c8c7235309943c1cb9cab4771c7eaf59321b510d430c88473ab16f54ae461a5dc613c6fec61a5e899552e835eff57fc34b7992755d178a0365c52b3f020ab40020ce21b45717654634606dfb2917fcc266193e2e5b2c4559cc5652aad1121cca0711e26c23eb33c1f7d389f2d742f384725d3268f8159f8c463585998289e58369fbb883caae21b87139e52d7ebb92b011cbe6426390458247c45f06f2519ab35b35675bf93325351617ad3ac470f73d3d3985e10277a647c96a6c56cc2346563cc496db232fd742aea3adcfbc506ca8cbada7b040a04f6e329fcea77bec0683e1a87c396113639159d9ca52a5a5484d2839869a2e80557a6bf7ce2ee295a464aaf835c542457d021c65c2b2a457c771fcc47f8b1056c8b7aa61d1843a40c4c9b083269b2e89fa3ba5959f89972805fa4b46e35abef0c57d875c54804de77071f1219195bc8b4f7c18a19a7953573e7f4157ca03be2852461a784e736110157ba3f83a6947aaa09e9bcae730b9b212bb837627293a485ed6b42ca1cf26792676c1f4bef1609e71524b877f53fd3133bf71ab13912bf37c2cd7a359eab035cd631e1de2556ae65d57e600c21e8e355a4ed586d667177ca0b7545cb5a23d669f284837f7edf4788f32e757949cfa69ddee079e2e00e439ecedc8512097e2d2ce +m = 53d3fc9947de6ea6e5b4b5e89d236258ae933c485c2ab4b1d6db8282173a7c8c +ct = 10bb8ade6ca719cb35f0f2afd65b262b42dd1b2f7b5a1f7dbfe636e085eaaa10985e6bd32fa1a859f62c72f33efcd727605c6c0d89ad66b73477dbdf3ffd0c8780dbefc5bbc73bbf3a8ea60581773f63f06cc05dd0a893295e23fe3425b47dc94bcdef059afb26d8c8b4c6a7a50e5020ca7a303de93e6ec92c1aa0d04b553fc6f759223332686acacb096fd10e1dc7926db74af0a1fc00854b63057c786e6037e93f4cd6ff5e548a640c0e84055c805dd79bc041e731e1f29db1fc6c90a88399af4ab5bfd81691fac1e36b9189b9748fedec5793948e13e6d575e1e3cc9a170a86bbe9012203ecfd3a1047e660bd44452da022ea00584a5111267e8726b00945e8e29d61bb8b601342d96bf7425b471115073eda82820181b05d2dbbe462f684e9523f119fcae4e7f274165d548e1a2d521511a8f2c743a8fef2fb309ee673eb1fb37452b8e0451a16c0ad45b2ff4e5af441a944b8915378d3ccd35a5fdf26590f896390d3b4fcc920c936af6cd1c4ae62edc0fbfbef74c04dda89749e91770bc0cb6534986f0e6ebef7db6ad54667eceaeb1dec17e447f6dbb90129376122130ac95b6ba81b9a508b1e3acc1e2915baf690e00f0c843895521813602dbbd3e688e8dff6b3279e5bc732b7d3cddb1fb915dbae938f6b5a8200e61de9edba6c5c8ba24caf15389d3079b87c7b534b552b266bc58cf5e9ca693069cb83b8f293d27ae9a7c4e121e1d77f41703c9b961e23a53871099f3c4fc3b2b0d8cb61b25de5b03aee73e8037a2ef412c4f17ab2abf5961bd054d3ffe19ae6dc54138d8a0fa2b9e0008ef820e0dbac0753f60c1832bc0928dacdaef53348c8a185dc50797ba680d73a39c140055c6b6147570fd3a6cb5b3c20a848509255dbff8e9f922bcab848e9a3ec2d8cffde83d3dcc5757a2dc5b22ffe423368cdcd5ef3817af3d05ac1c41e42e22b2606677eb7c5980c97253c3303cdaa27c1707ec2eb7e289ccc80e10eb7dc64a97ea3f6fa549f1a6c7aabb156486ee43c378e00a1e81f6b9c9e42947d26f7786755aa105c5762af313c9bd64c4878a571e57a4a585038e6e31f5f780d01f24379656f63437c1881a86fe705eb13b3a2bb3c3e94b574569e023ad8463b75d4e7ca11cc9ed13eee9e406ff74300390afbecf483ad76aa9ff2530113c4011eee76ce5058e22339c53f68acb67dc45a9b57397cbcd825337f3c3365c1a1edbea863ba1aaa8dcbda73a99a846aab390d6738f069add17b54ce21f70cdb59098490689f00d49c5ab4a1b4dd60d4d6e5ea74bb809b88c8b8c6107b3083a983e257a6d11bc085b19eefaf1826bee0e9806698df6acfa774ebb231f403f882e1736243a58cde625829fdcc44e3a58dd71512ac17e6d0326319f0925f2c2eec0fe88637c78502d3c334064216483c70b5f5123109d00152b371924167f5e88071b0ecb515ded270bd8c0ad1d336938251cdb3fcb2451bb8d432ecba65aaa10cabceb463a6a364fe70df618f88c7295db73cef947c32bcb3b688a47a481adcc430 +ss = 4d363a3200134219189c5e71dfd606b675db8fda35a845444473b675557dea0e d = 851ea90fd3854cbf28fe39fb81f68e4b14345cf0d6eee7ec4ce772513df8410d -z = 1c0ec046899a777655233e4e1b5ca44e9afbdc67964bfd5d5e3dbb45e60d03cf +z = 11bfe66d2d15c33524f478f9a6bb3af2a83357197c834d399a8625f761529be9 pk = f1390e49f3b488ac39d0e43292b70042c52355eb48b841887ea256055a688fcac5a71c896414ce75f57bba12967215c50d4b5be692b6dcd1ad2190a3d785c19e283f87f784a03c8f52a23e150734fdd7bea2ab6d122c928606bfb60570bd696d9676397ac3aa1d062ee1ab3922a2c9b5b02d14557164149c62e8029b139e6950b3f8acc9e8c30274b69926c1658f7836f479c8cc70138b829848c7698b179643b7550e9193d6fa87350503c2b69136b08cc298b5c335b1ab95054d13c9260625e34c6c2fb8186e1916c137ad9907c8b2ac9d88faaaa0375236751a47918f96477b7ec01819f8ae1d72951e21608c87532a9428bdf4cb5658440cb025ce3b271652961bd935624b9eb70047e63184b9503adcd057b6744fe42908cfa325e401b9d0db5ada201f5d64350d392c4fb842823895e15720dd7785c7f5986f15cc2565a71f6ca11b854a293c9ce6c9a1f4aa3917130308f2a2aca964790baf960aa12de3334d146e64db81ef09563c9667381424c809441ee989eec93597e7c5b558a89dfaa976f6934cd18b8eacb6f2f54e8f748e4bdb69b0764fd59352575066dc242dc0f1356fab4467c8064fd23f8823148b77a4acc642eb2c181fd5ca251b323561191cb15f2ff0784900a15f67014b518453c4c3663528ffb53271e195c27533fec8c3b159ac1bf39c6fdc69dd5a5fe5872ffb6b2271a09966a5c738c48e63e141d65315051610f0f5588ac97f14100027b144aa23774f199d0d9a122953aca8782a4136820ffbcc1f2692bb919b674aa1f4d679e8418e8597c74d60c5c287cde6d44492411222636b03cb661ad66fb442193690a5f1d6b80a947442a46bdd239fe3989e6da86949474e395056a5e6cb42b25343a7c73b650d843527444243852518a9034b9efa7a6bb8505bf605ec238ffbc08cbee35a94845d7319144b381819d0928c27023b727656ea843140649c03098fe74c717aabe91948ea7698db0a86d34296b5e50dc0a9949c8ba07f64ce60da2b6e62458da229d52c08b9b696a124a8cbb791c0d255d3e4a69ed2c242000dc6476b4555552deab63ec19fe8783151daaf78e561e1844886d4418e7510bd025299b1c83c7ba22f63335b9823043336da897a44fc6a28b44c68a49b436b0dfa406be642a5bd303bb0d633685364d80440cd7189b6b34f6535101979ba9d251474fc91bf2497670bad0da78ab3c13eeaac864572a2f919546a57c719bcabc9dc8215b492d53118c2d379e879234a700638370a530577700982c4334673aa5d71db98627384e8ca876e24b5a31575ea3c334d3c7d3abb6d8891b4904b8f5db93d0531caff25be53e28c45c94758e309b83abc2ba66d98d3bdbc53b7d06592f2712663c777db60aff496a217e82d8272c3a218ad8c8b04ae7c66be35c08e3a955fbc18edd07e8e68a806fc3fe218b87f87bc332b86c2625d8ff01c9ff6214b75a20cc465f847511030b47ea664a75b3d4ed9038a9c747c6872de0a57f3b76c60585ade64570a21cf8548a5be4996bc22b3d16a7bbbd20149034764b820892b9394581697e39f9b35077eaaadb06702968a5e5418983110a97d4749d3160ddb2b9c587767fb56b9ed9bb3d91cbeae141769c2128e0acadbafd72fca96aed457caafaf51dc8c30ceac70cb4621cd4d7b4c -sk = ed55584416844e1cb3c75acfb3771013d1aaf1fb3ca8a5b718a8ce02a15ae26bacc7534f8b084a665b0608780e532a161686b07faa83884c6a0efb490a8a3fcabb50add21f58ac43ef4355246b1a661c5937562fa6067e7aa66978e4b36ea1431ed41e4e4282d4003d5bbc06cdf7af225b6560c44f43a278677abba8c6b79741b3ce7c0d0769ab407c9b39c032f0e42d1866addf2115e2f3336384c61ce9319cc92ac1350b264cbc4059b94372631c8241ca376aa6f76111537018c01d1346019d628f1f00cdf828b48c47cbf958989b846ed893bb0b6444bc2a35c6443f77d757a0cc957716373460a7a94151cc548f0c78aa5a323581c192d00b4d96219806a04b1a0ac829002b7fcbc8cbf8a8e3abafd3dc2164d03a24c19d50133e967c7668aa8b81977b400067fad2ca802a76716b95e3d28be5603e4977c33d3ba5df2446f6265827464641204ed972286b58567ba129bec0cd6f1644c4032edd6239309aaa259a3d997b1ecc535f17d773ab1c5350e3c82c600175269700a56b0d4211dd02c13d4bc7c54238f40163441702613a1de34ba9b0b42ef0a29300098667e8003588577e64b031139dd2180db113623fc4b74e946eef86a1a6bb52764c6c12911765e37a685400888aa9140a3adfc48712688435258d56337fb8d8a9e1f34bd2e818ae3b7480f500fb6bb03bd50019c33bd37b060bc2c45e8a2267d18927c0af66076619889ff6b1769fe59e5f131f5fe40db2815bb6886b7bca9da659935db493ded9a808157e4151b04c153e673333424b7aa939559e4ca973f7644a813b8d9c1db8c87cac6365c0e008e329403c69490976cd3f006f3138114a6b3e6b3c4f054451e5bbcb7d232f285a2ef5202b81740053512f8e4b33fda87ea61042d1f9736ed58e9047c8744735a728b636dba7abc33b2de0b1572a28b23c25a8668cef9291990a499bc8935f955e1cf0301a65be870b7f01f06099192431f3436aa5aa6564c4689c1d2e11540355138c91ba6e0182b6daba0e7a177ff320c6b04977d47da0d51672eb96ca054ad2d4a0f72930061775592aa40e9c9418ca611893044460495d8a46b242201886cb52e38d91d25d7fa8262290628d91323dd2a51f8c7a33487232f4934133117699028381751d8594fd94910ee4115389c57262ba579220567a7b5b42441a641fd6630d7bc06802878c76bb9ea576965ee45acb90ba549a01b6e873a1d8c741662067a116e64c8897e83204170c9bf2676ef60c20f3450804c7a1b80725da17f9db18f715b7894ccbb53321cf01755d168d19a96356ec07efc62d9a8c3a8ffb15500433f915137ac42a474b8e43f283bdb2b46cd62d509a5aee8cbe23b74cd48079d82293bfc9cd931289a0aa27d8a930beb2000acc2019e3cce107a18e9c4408c516fbe19e45459ed77231851b88b6b73156ec820a4c097072c2fd61c83d23413ad510662894daeb238992138f98185042b53a637aefa83378b026fa7bc314516b25d343f0e0aa7772cd2da27f8b39a8becb44923792a7d586631b2ab963ae537768e45961f5f96cb42320e75738a964168b9403d5b3591ac5679a61857c818b2a486bb299019c7b03beb50d2d40a17e84712aac01f1390e49f3b488ac39d0e43292b70042c52355eb48b841887ea256055a688fcac5a71c896414ce75f57bba12967215c50d4b5be692b6dcd1ad2190a3d785c19e283f87f784a03c8f52a23e150734fdd7bea2ab6d122c928606bfb60570bd696d9676397ac3aa1d062ee1ab3922a2c9b5b02d14557164149c62e8029b139e6950b3f8acc9e8c30274b69926c1658f7836f479c8cc70138b829848c7698b179643b7550e9193d6fa87350503c2b69136b08cc298b5c335b1ab95054d13c9260625e34c6c2fb8186e1916c137ad9907c8b2ac9d88faaaa0375236751a47918f96477b7ec01819f8ae1d72951e21608c87532a9428bdf4cb5658440cb025ce3b271652961bd935624b9eb70047e63184b9503adcd057b6744fe42908cfa325e401b9d0db5ada201f5d64350d392c4fb842823895e15720dd7785c7f5986f15cc2565a71f6ca11b854a293c9ce6c9a1f4aa3917130308f2a2aca964790baf960aa12de3334d146e64db81ef09563c9667381424c809441ee989eec93597e7c5b558a89dfaa976f6934cd18b8eacb6f2f54e8f748e4bdb69b0764fd59352575066dc242dc0f1356fab4467c8064fd23f8823148b77a4acc642eb2c181fd5ca251b323561191cb15f2ff0784900a15f67014b518453c4c3663528ffb53271e195c27533fec8c3b159ac1bf39c6fdc69dd5a5fe5872ffb6b2271a09966a5c738c48e63e141d65315051610f0f5588ac97f14100027b144aa23774f199d0d9a122953aca8782a4136820ffbcc1f2692bb919b674aa1f4d679e8418e8597c74d60c5c287cde6d44492411222636b03cb661ad66fb442193690a5f1d6b80a947442a46bdd239fe3989e6da86949474e395056a5e6cb42b25343a7c73b650d843527444243852518a9034b9efa7a6bb8505bf605ec238ffbc08cbee35a94845d7319144b381819d0928c27023b727656ea843140649c03098fe74c717aabe91948ea7698db0a86d34296b5e50dc0a9949c8ba07f64ce60da2b6e62458da229d52c08b9b696a124a8cbb791c0d255d3e4a69ed2c242000dc6476b4555552deab63ec19fe8783151daaf78e561e1844886d4418e7510bd025299b1c83c7ba22f63335b9823043336da897a44fc6a28b44c68a49b436b0dfa406be642a5bd303bb0d633685364d80440cd7189b6b34f6535101979ba9d251474fc91bf2497670bad0da78ab3c13eeaac864572a2f919546a57c719bcabc9dc8215b492d53118c2d379e879234a700638370a530577700982c4334673aa5d71db98627384e8ca876e24b5a31575ea3c334d3c7d3abb6d8891b4904b8f5db93d0531caff25be53e28c45c94758e309b83abc2ba66d98d3bdbc53b7d06592f2712663c777db60aff496a217e82d8272c3a218ad8c8b04ae7c66be35c08e3a955fbc18edd07e8e68a806fc3fe218b87f87bc332b86c2625d8ff01c9ff6214b75a20cc465f847511030b47ea664a75b3d4ed9038a9c747c6872de0a57f3b76c60585ade64570a21cf8548a5be4996bc22b3d16a7bbbd20149034764b820892b9394581697e39f9b35077eaaadb06702968a5e5418983110a97d4749d3160ddb2b9c587767fb56b9ed9bb3d91cbeae141769c2128e0acadbafd72fca96aed457caafaf51dc8c30ceac70cb4621cd4d7b4c87f3829eff562789b3e19fafec92e4b5f95b45f3786f12d9c24915ca484a49ce1c0ec046899a777655233e4e1b5ca44e9afbdc67964bfd5d5e3dbb45e60d03cf -m = 35d470bcc5880872754810dfb3f2796da2fd7f397537146f6488c27804072b34 -ct = 8ac0d6e2c157fb04c753d97f8ea4c0415ffc46d2406d65b51e3991a286a66a87fd7e7f5df13f446f0deba8d783ccd9164eec2cf4ab002dc6de315f3f6a3bbef9e2a0cbc833e12f1097d11158d73c579836b41dc1c0186844e2ca224855f8a2ed24f31b92827f0a3125eaf79140612ece54f5a9da73bf775d8112220fede4b590c32b08f4a7b91b7497739c3ec80e64f2165e7f032d5a583f0ad2d7af369f903913114a2829c8dbe77b460b06abc23d184a7abcf6853283828623e89286ccd3e4866c57f28146203100665792e128ad7e105df6f283acc30a1baab1e84a78e86c3b49d0950f93e1b88e655dd6b3c689988ef7e2517812006d38ee0f9ffd7969a789ae2d8abfde2a8f1423d628737de52aeff8362218317968163a5a562be757c3e9f806ac7f8a0e5b5465841016a694861aa1df8637a345d25ef933eea840c5cd37e67e7489f48914a07c3d6e8118adc55cb436e8f283ecf5cd46084b41f24430a80c6fc1099fceb3c05cbcffafe17f129cce938c0dfdda9a440e1ba6fba8391f84020e7bc29ecefb06aeed4272fcfd947c689ebc9ff59848ec8d5d8f69360f74de5cc384cc547b31249d06ec288a013ba2e07c05ac634fb3bcbc284268458d441c42545f823c546aeea8e2db8832d683709b06b7e6be4d68eaf8a5ec172ec63e625576e32a5865e2f124fbf6a513fae2ae5def871e89bac25aa35d026e7121d4d2de17dcfef4f021aaa8afb7b5cb9b5a424652320468e658ae8ab9141f66c35efc4c1e46d7a8145d9ca9d57d0d5be1723e7b13585f16919988f7f4faeffa4e9fbfac36968e96b3dda7f6f922337b15bc910c25cd3abddfc4938b21519d914eb51479ecc5adfaad5e844bdc958659f38e2a31bae0f1894fc5a39446fae1eedb445cb1ece0b0feb796af4124f60a318e5d52f59995478ae1ca6433a1338b132dc236366ce44d63c1930cd3bce9eab66a911eb0e25512631c96d7b45f53be8c0d0e9d37987167b2febfec0accde2d31ff4a83150674dc11863cbafc2bdddf72232287a7c9d05221fbc916d6af6a9043575be8bc086795504df62c50b859fe9443a08322f943ec913b2c3a3ceff992480590ba4fba1a956301125f7f1ee6fd5a78356554e5123c4587c4cbe4d4ace2a00b847494ce8f88c60abf6d4f86ea6c3fd05a01678e212734911a1f1eb0fb94fbb5f10003342e8dabd2c6fdd670652b77a8cab31ed4e15dca52421ea6328dfeebb387b64bc3474a53d0ce7bad442acd0c6c9a615b32c1795db075d9b25aaa48d32219ffb7bcaaf2b5b53f03cf4bac5fdc6f0045067dd9f55d8c0b4da63a91b8c40ce5bff3e6e6bf71943a67ff828fb69e7c1a0ec4e10099f1eb76371dd43044f0007a22ab9f9ee22f663ccfd1e0f2e5849913c89808e7609f594e14a7135c94b4088f726a0a3bde5cedf9be2f7402be553d1a5bf8a15b90e711eb5bd84454f0219bf7db0f9e031f93175bbdead918bef03c68d279368fc8de7818811ee6d5b09f4b773bb3100b688fdd6de7c8a5b3218d4b53 -ss = c8b9932975c3ef329424392da29b103f367fff38cf402b40a0299bcd2cf10fca +sk = ed55584416844e1cb3c75acfb3771013d1aaf1fb3ca8a5b718a8ce02a15ae26bacc7534f8b084a665b0608780e532a161686b07faa83884c6a0efb490a8a3fcabb50add21f58ac43ef4355246b1a661c5937562fa6067e7aa66978e4b36ea1431ed41e4e4282d4003d5bbc06cdf7af225b6560c44f43a278677abba8c6b79741b3ce7c0d0769ab407c9b39c032f0e42d1866addf2115e2f3336384c61ce9319cc92ac1350b264cbc4059b94372631c8241ca376aa6f76111537018c01d1346019d628f1f00cdf828b48c47cbf958989b846ed893bb0b6444bc2a35c6443f77d757a0cc957716373460a7a94151cc548f0c78aa5a323581c192d00b4d96219806a04b1a0ac829002b7fcbc8cbf8a8e3abafd3dc2164d03a24c19d50133e967c7668aa8b81977b400067fad2ca802a76716b95e3d28be5603e4977c33d3ba5df2446f6265827464641204ed972286b58567ba129bec0cd6f1644c4032edd6239309aaa259a3d997b1ecc535f17d773ab1c5350e3c82c600175269700a56b0d4211dd02c13d4bc7c54238f40163441702613a1de34ba9b0b42ef0a29300098667e8003588577e64b031139dd2180db113623fc4b74e946eef86a1a6bb52764c6c12911765e37a685400888aa9140a3adfc48712688435258d56337fb8d8a9e1f34bd2e818ae3b7480f500fb6bb03bd50019c33bd37b060bc2c45e8a2267d18927c0af66076619889ff6b1769fe59e5f131f5fe40db2815bb6886b7bca9da659935db493ded9a808157e4151b04c153e673333424b7aa939559e4ca973f7644a813b8d9c1db8c87cac6365c0e008e329403c69490976cd3f006f3138114a6b3e6b3c4f054451e5bbcb7d232f285a2ef5202b81740053512f8e4b33fda87ea61042d1f9736ed58e9047c8744735a728b636dba7abc33b2de0b1572a28b23c25a8668cef9291990a499bc8935f955e1cf0301a65be870b7f01f06099192431f3436aa5aa6564c4689c1d2e11540355138c91ba6e0182b6daba0e7a177ff320c6b04977d47da0d51672eb96ca054ad2d4a0f72930061775592aa40e9c9418ca611893044460495d8a46b242201886cb52e38d91d25d7fa8262290628d91323dd2a51f8c7a33487232f4934133117699028381751d8594fd94910ee4115389c57262ba579220567a7b5b42441a641fd6630d7bc06802878c76bb9ea576965ee45acb90ba549a01b6e873a1d8c741662067a116e64c8897e83204170c9bf2676ef60c20f3450804c7a1b80725da17f9db18f715b7894ccbb53321cf01755d168d19a96356ec07efc62d9a8c3a8ffb15500433f915137ac42a474b8e43f283bdb2b46cd62d509a5aee8cbe23b74cd48079d82293bfc9cd931289a0aa27d8a930beb2000acc2019e3cce107a18e9c4408c516fbe19e45459ed77231851b88b6b73156ec820a4c097072c2fd61c83d23413ad510662894daeb238992138f98185042b53a637aefa83378b026fa7bc314516b25d343f0e0aa7772cd2da27f8b39a8becb44923792a7d586631b2ab963ae537768e45961f5f96cb42320e75738a964168b9403d5b3591ac5679a61857c818b2a486bb299019c7b03beb50d2d40a17e84712aac01f1390e49f3b488ac39d0e43292b70042c52355eb48b841887ea256055a688fcac5a71c896414ce75f57bba12967215c50d4b5be692b6dcd1ad2190a3d785c19e283f87f784a03c8f52a23e150734fdd7bea2ab6d122c928606bfb60570bd696d9676397ac3aa1d062ee1ab3922a2c9b5b02d14557164149c62e8029b139e6950b3f8acc9e8c30274b69926c1658f7836f479c8cc70138b829848c7698b179643b7550e9193d6fa87350503c2b69136b08cc298b5c335b1ab95054d13c9260625e34c6c2fb8186e1916c137ad9907c8b2ac9d88faaaa0375236751a47918f96477b7ec01819f8ae1d72951e21608c87532a9428bdf4cb5658440cb025ce3b271652961bd935624b9eb70047e63184b9503adcd057b6744fe42908cfa325e401b9d0db5ada201f5d64350d392c4fb842823895e15720dd7785c7f5986f15cc2565a71f6ca11b854a293c9ce6c9a1f4aa3917130308f2a2aca964790baf960aa12de3334d146e64db81ef09563c9667381424c809441ee989eec93597e7c5b558a89dfaa976f6934cd18b8eacb6f2f54e8f748e4bdb69b0764fd59352575066dc242dc0f1356fab4467c8064fd23f8823148b77a4acc642eb2c181fd5ca251b323561191cb15f2ff0784900a15f67014b518453c4c3663528ffb53271e195c27533fec8c3b159ac1bf39c6fdc69dd5a5fe5872ffb6b2271a09966a5c738c48e63e141d65315051610f0f5588ac97f14100027b144aa23774f199d0d9a122953aca8782a4136820ffbcc1f2692bb919b674aa1f4d679e8418e8597c74d60c5c287cde6d44492411222636b03cb661ad66fb442193690a5f1d6b80a947442a46bdd239fe3989e6da86949474e395056a5e6cb42b25343a7c73b650d843527444243852518a9034b9efa7a6bb8505bf605ec238ffbc08cbee35a94845d7319144b381819d0928c27023b727656ea843140649c03098fe74c717aabe91948ea7698db0a86d34296b5e50dc0a9949c8ba07f64ce60da2b6e62458da229d52c08b9b696a124a8cbb791c0d255d3e4a69ed2c242000dc6476b4555552deab63ec19fe8783151daaf78e561e1844886d4418e7510bd025299b1c83c7ba22f63335b9823043336da897a44fc6a28b44c68a49b436b0dfa406be642a5bd303bb0d633685364d80440cd7189b6b34f6535101979ba9d251474fc91bf2497670bad0da78ab3c13eeaac864572a2f919546a57c719bcabc9dc8215b492d53118c2d379e879234a700638370a530577700982c4334673aa5d71db98627384e8ca876e24b5a31575ea3c334d3c7d3abb6d8891b4904b8f5db93d0531caff25be53e28c45c94758e309b83abc2ba66d98d3bdbc53b7d06592f2712663c777db60aff496a217e82d8272c3a218ad8c8b04ae7c66be35c08e3a955fbc18edd07e8e68a806fc3fe218b87f87bc332b86c2625d8ff01c9ff6214b75a20cc465f847511030b47ea664a75b3d4ed9038a9c747c6872de0a57f3b76c60585ade64570a21cf8548a5be4996bc22b3d16a7bbbd20149034764b820892b9394581697e39f9b35077eaaadb06702968a5e5418983110a97d4749d3160ddb2b9c587767fb56b9ed9bb3d91cbeae141769c2128e0acadbafd72fca96aed457caafaf51dc8c30ceac70cb4621cd4d7b4c87f3829eff562789b3e19fafec92e4b5f95b45f3786f12d9c24915ca484a49ce11bfe66d2d15c33524f478f9a6bb3af2a83357197c834d399a8625f761529be9 +m = 64e3fbdf8d2349a497b5c9fa3ad3f7396fc1a9769175a336181c42e95c4889d1 +ct = a925e35fcb8711e3617d0edad1d21af974700f833148396b27835aaa6ab43afeb501b65278ff1c4a37a2aeba9aab52b267ff1cf204e5949cc7ef735cae730662b89271db739041bd05c0778cd741e7492eb5d4671ba56c27a3f3ce9df46b4b7230ea113fa75a53ccf8f42c01fd13a99cb44a91e9b77b227f2e2be7b424ad07b0c9ce4bc12500949d428bde8d305bd0e4e98f8ae63ecca26610cea8fb01217edbcfe6e3b6fd3df04f8f4c1833760975d74cd9730410649950098fe966b7a750f732da6706274c5d3794e5ba443a3d528cf6cf169ffa60b003f048597b879e497721f50c9d62e11c4e4d278cd35c374b55e44fcfcbf21ed0683255f2e37b8995ac8b0725004207730b0fc41643ff2582cf502fb0cf51bfdbf5f6c08201bae44c3ac8a749dc8fae4c29f40a5d3143f8e6792c1048647dd1d49fbb45490f3544aa8fcd6ab5af449fd1171862922be34ed6354e0d63b36bc654caf92191d2a2eeb435e7ba8d6919eb8543e94b214610a988e4056063b5ec3aa3d8eed8ba7b5b15e9fb4708e0af00c9ca34e2e982f66c437d07cc99fcf709aea0d28568f693f2c4abfe0165ee80634d2b55c45cabb20ba657073fc8dbe5ec66e8b1c250dc81411b2153ada7d9611d6612c24fc1419338bf7096a89f0429041fc2c1e27262e55969d5b17984451726a12afb2abc193d9d6d610faa9f80669a5d9e0a170b50a79accfd3e1f621cb6fdd95a3265b29130696e72a8d2a405d079583feff59181c3b11a00615e608fc7832e6f7981b1d01a260b10d936edccfff95f6baf5c09f43f3fc90d2b22acfc9fa2046a029e217224208039ffae194e7c76c38230322f12881e3f319c41349437adc05f48032bbbd9391b9868d6177581d9bdca43420b7e03e3a0240fbedb41484b2560fd1325b9d4a2fbfc9d8a6768ff3db7bf2f779b2157ca39de367e168bcf55a2fa3dd813e33173377b509204bdbcf4e25d20eb66a211cd1a2457e3f93517fe6409680803599a0bea22450985110f6c138892758b13569cc74bdf22348986b27df705e7ea84796c01219614259db57208db6e9d932e7c94bc783f32250086580f7b5141888a42eab619dfd926f95dedc495d25e30730b09aef05f9247ddc12041096ce8daaf3745b0138c37e0e2037a6c8f309bcd085d80052b5f4a4cf71e49c073a9eddcbc509cce026f8dea0376c343372ca692f5e35451abb2e13b70c795520ef24bcb5a93a057b8b8bdbdf2e74db1226f319bae6f8f702bfb1acb3e7642b87447c9ae693719ae22ca7fdc568b0426bf80e6f62216b46fdb2c6a52617fa45b277e41cb113b1921d4829f6290863fe28d04c9fa89f634c5238755333053262ae99a6deb882eb2052cfaf7eab293f178cbbd05009e8a69184650db6a5aa480d973a296cb75fdb7eda118b58a0b23a41e60a325bba67adf355b4dc3b500d2ee7fee2175a5062cc303643658ed70d1d3e57d9c3a62f92628db9daa47c4d3e76e7e4b959d83215f6d8ef08a5634c00ab2a3af2ac7f964b0670075ed +ss = 54cac3c7b8261f42b7fa913d6fa29b67493bd969833b2734636bb99db92040b7 d = d304c9389cc973477f169788abcb9d511f843219d246a9b587822f422a70c238 -z = 6590a2e5c7ed86cf2c5c2a898662bc9a81418720bbb632ef9cf0b845ed052d73 +z = 10efe801ae61866a7109f40ed932e67b0ae9e966d1ec5f917e4a9f31a27ee13d pk = 2d7b0180596be297a4631abe0d48a046dcc99c8912b8255fc45592a2a61230652bc7c450a674ccc3abb27395738d177e7579afdcc30e74e7c7b5ac5dc235176343cfc4920ed8d9472e13c9b36a6d38bb44756bc31fbab62893656da065901303700a14b2f785d98896ae97953ba358fd53091012b97498cd7516b0e1898e2f6803c5a13d70f5bec346917249940ba35e3ea954f6ca13c343a09cfc02d8e66852c1ae0ff8b22e7424f53b1897ea11268a6b866c09efe8694031754ed1a2a147c0086283284133aa6c324e0b0570469f09e0901f25213ff9b113147990b54cb241268e0b6c7a3a90c638b7c483c71ac1344bd65c988736c4756e0b71111bf5b810fb3cc4187363a94efa020de1c3cb9a005cf472bec5685322faad5bd1cb0f240458b56fcc5a6167f22577565dac1ba9b984c33c348babb70506b87926540547389b805ba01e4443b5d60b9a407f8b060fcd96c4b717baaeb72400eaaa9853b962e8a0c8d966458cc4cff31e960c447c6b205629419478360cdc945d6b9a55504d853c1e51364e7a9aad82b64fc37a02e4139b9e6c392dc83c04005f6d1299d990a89ed68acc31b5d1d224f2c8b3cd5280a12c6e088cc2f9d3c59afcb9fee458af5135c9b4b477d878f34723e3912189d2764f9366ab8752c9248a5684296ed46f404a1739ba72d5d652c614860d41898e45b72bf66d587089fcf49e3b94cd26999d7539c32bdbac0139b20988cc7b578ed880048885355f193ddb1690b9092aa2a86af03a41797120be84334ef25c2e70bfe8e0a658f03435b65787f38bc9452ddc584162955f8b8560991c407fa0c12d770e80fa4a2cf7b853708bef2a44f959b9d05b6faef83f6f41a2454257b0157c55047ae7d0cc17079e118c8a4ee3358d877251970eaf86684ec70858a94bbaa4bd2fd1895c2223320ccadce636c2156471b76c48d53e6a6c12a1317c39c48bf3a0aa0dbc8afc034b43398b9f1c56d407a4b7c2bac134024df6ae9800b230e2592f529f79f0ab048867a349684b242bc4d2284a6106dba36de7b3a114b6353b479d014a69e33acf5c465ced6669b22027d6657f12379abbd248c6967834239e2d3a0211b73a77d681b61892877b7e102a53cb4602e3dc1704ec92a9e260d9817c6393062bf520f7a845fff19123a1662fd241090ac81ee1748eea878d53969fea20fb95688fcb3d235910f154bd09a75556d890409cce0a20c6cd2a59664bc4ecca3d4725910d210db0c848ce7242cca945f1568561bb90d9a4c3dfba83074a16fb3ac934c865dcebaf6fd90d5b458c22542ded5111e77c12d8656908557649e9155a8472d5213b46f739f095b5fd4a2418074ef7db9385f19d6630aa29b28881aa3474b7ac352c5dfbfb20fd7b8a0b87cf3933547cd498256a9e17733ad6967d7b9c7adc64a951ec5c8ecb75b9190064f3a862d10cb5707215f456caa10a2c240619925a140b6cba878a0d40283efb9e1562c227d716d2935e8d96649c06ae9465aebf552d68da1e7991bf987a4dff4371049a0dc9e56f110779d562959f278b069b3c7712af29027aad6109bb0c3201565c0b0892a62aa74ca7bd6b48039066a95dbca4e76a3a323612269546b18ba1bda19c123c24504ecdf72189dfa1cd24ebf011a3bb66d35f78633e1ee7b249ff -sk = ffd8874d8b37c946409d69cb03529b7d1a43ddb24792d4773cc723643567671b8e0fc2b903d302679a530118ac453b0541a2389c46b38f317b43130972271d8146a66593b8fe659db570c941f1abb4f295493085a85277062c3d4db168e466015ea506b5b8a805a435ef6812a6b68afa9372776717c1042e24e7a10a842182e7c40c4cc547b98fe007a1d98804ac5bc3c31b6511425a558c73e5b1935c7a664ee224955b6d67ca54d47b04e1622716a27b21f12a2eb27c16d26a541cb0c1ba5a1a8629b7f2222b84cdfed9cb6f666b41c92fd0b074f42b5d2ee72e8c5443f34c5dc2920da165558af074e3ccae84c1cbf1f70624e1a3a30a7db045a2c4a79bb1a4b0f01187bbd8b29a8c60b07068a72264d9b305b5e391521bb945d53ce1d65436441932ec5867549408b47f28d3bf37d7af0df432ccfc3667f4ace969542cd626637b570fd84210b3ab5456b23b8b339f4885e9a96bb17ccf1ca4a962c5667d0c3dfb356146c04bb8391197d54d0f4202f160824d900b27b36bf8abc7876ca331c2c3a8a161d98523adfc1ef9d538c9203a6729cfcf6089f7d72f57093ea3a34113749f23ec21c051ab2c836679b0210a549f2678c7187691de949994a25769d4647fd992be411e24e302c07569cf26c11f3942ca505391a794d42c77da0a324b05908aeb9c70b88b38a95f371b1902e06d071457bbcb382ae4c36f14ab3a747a30cb7e9d35791879873a0333b3fab967770465a056de9c4420662c046aa8ca32093ae23abd80406fe60bdcd1725daab0e50931c575a0c9137fa61442b1101b05686d398a6fdc0bbbbb25a073e99c3702b9268ca91420a1198b5c54501a03c878b6827e6d586ab42c2fa47258d1255711654968fc80e1364886f18e98fc10eb85645b399788dc225b1a233fe564604a86397a4483c102203188df667961bac9ef19b99432475c0a2c9978c81cf5314a2b2ab37479549b14c8d70ed8f0c6625938ca4a92bee5a7aadb286e507ee8890772c3353e35c2de8696041bcc8b81997f8c7800417c91c32e9b8b34b62a25e5c2af2854cf902269c3c5b50a5209dc1c63f8835b3a73137d855c69f9335fc66efb985933f4a66b084aa58909e658998a15ae8b087120f59a00426cf9a327dd48467f8c12cfbaacea7bca7407060c42950cf9543cac1edf9c296d978a2c36aad92b665d6c9513b59278ac1cc781204e555e27f81e976a74d3055a48035203472960e596c7c4c2d0158a006d884f40681c6610f1124574eb9ff5323e10480d0e306f1e398ad1e6cf8057024d072def4719e3a6be9aeaa07b56077be495a635c67066a2945376c9836ebf4c413a05a9b1348c31329884bc7d820a6bad7a63bd62518878a97fb525332433573973df74a00ec02d50198a2b1306005335e6a51191505fb244999cc333bcfa4e7845b766b050cf66607982014d28548a4454f86a06e9321c82781478cb938c709ec5cc81ea1a9269543dc8ebc6d253be1698990c81c587d7263e7445baf53316c23eb8863d151a4e5659928ad704c1c7b2bd2a1987907a05ccbd2f0c78232a10653452e3dabb7598ca83d37166791ef11a2524f371180984bf72a6e2291301606b7351a284a1a62d7b0180596be297a4631abe0d48a046dcc99c8912b8255fc45592a2a61230652bc7c450a674ccc3abb27395738d177e7579afdcc30e74e7c7b5ac5dc235176343cfc4920ed8d9472e13c9b36a6d38bb44756bc31fbab62893656da065901303700a14b2f785d98896ae97953ba358fd53091012b97498cd7516b0e1898e2f6803c5a13d70f5bec346917249940ba35e3ea954f6ca13c343a09cfc02d8e66852c1ae0ff8b22e7424f53b1897ea11268a6b866c09efe8694031754ed1a2a147c0086283284133aa6c324e0b0570469f09e0901f25213ff9b113147990b54cb241268e0b6c7a3a90c638b7c483c71ac1344bd65c988736c4756e0b71111bf5b810fb3cc4187363a94efa020de1c3cb9a005cf472bec5685322faad5bd1cb0f240458b56fcc5a6167f22577565dac1ba9b984c33c348babb70506b87926540547389b805ba01e4443b5d60b9a407f8b060fcd96c4b717baaeb72400eaaa9853b962e8a0c8d966458cc4cff31e960c447c6b205629419478360cdc945d6b9a55504d853c1e51364e7a9aad82b64fc37a02e4139b9e6c392dc83c04005f6d1299d990a89ed68acc31b5d1d224f2c8b3cd5280a12c6e088cc2f9d3c59afcb9fee458af5135c9b4b477d878f34723e3912189d2764f9366ab8752c9248a5684296ed46f404a1739ba72d5d652c614860d41898e45b72bf66d587089fcf49e3b94cd26999d7539c32bdbac0139b20988cc7b578ed880048885355f193ddb1690b9092aa2a86af03a41797120be84334ef25c2e70bfe8e0a658f03435b65787f38bc9452ddc584162955f8b8560991c407fa0c12d770e80fa4a2cf7b853708bef2a44f959b9d05b6faef83f6f41a2454257b0157c55047ae7d0cc17079e118c8a4ee3358d877251970eaf86684ec70858a94bbaa4bd2fd1895c2223320ccadce636c2156471b76c48d53e6a6c12a1317c39c48bf3a0aa0dbc8afc034b43398b9f1c56d407a4b7c2bac134024df6ae9800b230e2592f529f79f0ab048867a349684b242bc4d2284a6106dba36de7b3a114b6353b479d014a69e33acf5c465ced6669b22027d6657f12379abbd248c6967834239e2d3a0211b73a77d681b61892877b7e102a53cb4602e3dc1704ec92a9e260d9817c6393062bf520f7a845fff19123a1662fd241090ac81ee1748eea878d53969fea20fb95688fcb3d235910f154bd09a75556d890409cce0a20c6cd2a59664bc4ecca3d4725910d210db0c848ce7242cca945f1568561bb90d9a4c3dfba83074a16fb3ac934c865dcebaf6fd90d5b458c22542ded5111e77c12d8656908557649e9155a8472d5213b46f739f095b5fd4a2418074ef7db9385f19d6630aa29b28881aa3474b7ac352c5dfbfb20fd7b8a0b87cf3933547cd498256a9e17733ad6967d7b9c7adc64a951ec5c8ecb75b9190064f3a862d10cb5707215f456caa10a2c240619925a140b6cba878a0d40283efb9e1562c227d716d2935e8d96649c06ae9465aebf552d68da1e7991bf987a4dff4371049a0dc9e56f110779d562959f278b069b3c7712af29027aad6109bb0c3201565c0b0892a62aa74ca7bd6b48039066a95dbca4e76a3a323612269546b18ba1bda19c123c24504ecdf72189dfa1cd24ebf011a3bb66d35f78633e1ee7b249ff699fb2f061a75f111f4a7a60195d9045dc01716b6502cc107cbcedf122e8f6196590a2e5c7ed86cf2c5c2a898662bc9a81418720bbb632ef9cf0b845ed052d73 -m = 8d667921c5db401a86fe1c35dfcf164a6bb2ab7400fd6a0b67eafd4a0ed11940 -ct = 88ba446e3dacefe9158ddf1619c9b1c6bc274b8e8f819342bdecce593f705b29edc21b69f1b65ec4674f71cebe673d7fcb0ce2ff757f8ee5d5a5f8f5035a58e1d75713ede33f0e7b98056f1eefc0c692def07029c0ef3a857d6972723c7f49b79855703461a3f83857ac0f2331e7f8b3889facdf6373f8cc49dfb5408b57df0cb0484862970993c5da712d87335f7f7d8c4b818e8b96fedddc435e131f47deff13919a470b25332f346a8317f0d3f8b13cd16a12c63ff17f7943275e2b4bc0b3f4ad52b67eed6a0f499db79aeef56964029e1fc686b78631fe0ac8162e2d3c3d36e2958dd95312fbd18ece60716e398627437655603d1428771f24d2f39fe6d1b759a46e303ba9acd68866f2729ca6ffcd91ffba30d8da6433383dc8755772c94975a6a1ab6b5a2105901363c8b94a20a48618311e4e59975c87e46ab0687d30a7bca3e13edcb560706405fd83184f98784edb59535cc3cdfcde98ee989da0990be3faff402220ac0070fb31ccf352e26727b06f253f8a5e47c10f95456705fea41aa9a41af7bb1a5e3db02f9e1dfb406fd4f27fd78c25e86d9c04fa5b0c6b2d6a6d43d760f2d1d01d1aeeea971a9ba64a95fd63c9a95b0ea5b4a83282c920e0e395110ab2dbc59c8fce8307b6106aacb58afb4c38a868b4d20d7772810e9da53a5aaefb991cfeeae0d54a1a4934a22be3f8f33d945f66f79aaf3b88a6d18963660d8f1e8eb23644e487e4ea68897c34628f30ff3eacdee3353269d87b2fe2fd837fe2a6ec7b1ef99341e470aa67004dde57ec6a2b334a2b1b90291d73d8c1bd43c38fa82e088893ed5d2149f568ba80a68e08131ceab491a61fcaf07dbcfde77c530c60bafdcf55dc8ba1f9478b28d9c6a53bb9ddf4491026b754ac31214d5e774075dded90b670181300190f9a5b3f47cb3caa6ac0233e7afc708deeb1590266dd8fba964b32880af48eed81534b9d47f63a7195cf60eb827d2a0d94d84eeace28c34711d116d011074b118c655380f6b2e3106abeececf7186b2d45a324452bfff6eb37dd17c4cb034de10d5f24963ea898b5f19641bf1177b64f6832331678eaf080b9a65f93636d2d4f5dceec96dde5c1e8c7eb505d4638a6acf4746aff7ec6456e1dfd2035ca2ce87fe16ee3e69f5c06cdc5bac084f9605ac9f07be61787b1057c1cf5f7e3af45064bf8920596522ec0a48e73f385ea60a256adfab1eed0e08104fe20aa1eea2cc466e0b64e4f94ab0378605b7a2c38be7fd606229c74b5d3a35b2bd5f46a3a4f180111e6f35594ba9a754c4d00e57b0c62bbc3d326df497deb7bd50401ce2e5af6f75ccd6781bb944922329ab94bda5557869e28133ae070669bd9818397c5e5a1229c145bdc17b95834bdfe9a2fc672f091c8f71735499e4a032d34906ffef9d297ae68da67c76770e2e9ec362b6dcf520b9338e170bcd1dc4bb9f94c564264d5b6439cc128ad54fdf6cfe5ca16aabbc65415b91485ceb77120e03b56c558d4899952f64cc140beddc8b3af3bf805c12d21f6ba22c2 -ss = 578e4e308f2b426a7b1ed7d80c72396a914ce77a4a7a6d16b26e4af3d59b491b +sk = ffd8874d8b37c946409d69cb03529b7d1a43ddb24792d4773cc723643567671b8e0fc2b903d302679a530118ac453b0541a2389c46b38f317b43130972271d8146a66593b8fe659db570c941f1abb4f295493085a85277062c3d4db168e466015ea506b5b8a805a435ef6812a6b68afa9372776717c1042e24e7a10a842182e7c40c4cc547b98fe007a1d98804ac5bc3c31b6511425a558c73e5b1935c7a664ee224955b6d67ca54d47b04e1622716a27b21f12a2eb27c16d26a541cb0c1ba5a1a8629b7f2222b84cdfed9cb6f666b41c92fd0b074f42b5d2ee72e8c5443f34c5dc2920da165558af074e3ccae84c1cbf1f70624e1a3a30a7db045a2c4a79bb1a4b0f01187bbd8b29a8c60b07068a72264d9b305b5e391521bb945d53ce1d65436441932ec5867549408b47f28d3bf37d7af0df432ccfc3667f4ace969542cd626637b570fd84210b3ab5456b23b8b339f4885e9a96bb17ccf1ca4a962c5667d0c3dfb356146c04bb8391197d54d0f4202f160824d900b27b36bf8abc7876ca331c2c3a8a161d98523adfc1ef9d538c9203a6729cfcf6089f7d72f57093ea3a34113749f23ec21c051ab2c836679b0210a549f2678c7187691de949994a25769d4647fd992be411e24e302c07569cf26c11f3942ca505391a794d42c77da0a324b05908aeb9c70b88b38a95f371b1902e06d071457bbcb382ae4c36f14ab3a747a30cb7e9d35791879873a0333b3fab967770465a056de9c4420662c046aa8ca32093ae23abd80406fe60bdcd1725daab0e50931c575a0c9137fa61442b1101b05686d398a6fdc0bbbbb25a073e99c3702b9268ca91420a1198b5c54501a03c878b6827e6d586ab42c2fa47258d1255711654968fc80e1364886f18e98fc10eb85645b399788dc225b1a233fe564604a86397a4483c102203188df667961bac9ef19b99432475c0a2c9978c81cf5314a2b2ab37479549b14c8d70ed8f0c6625938ca4a92bee5a7aadb286e507ee8890772c3353e35c2de8696041bcc8b81997f8c7800417c91c32e9b8b34b62a25e5c2af2854cf902269c3c5b50a5209dc1c63f8835b3a73137d855c69f9335fc66efb985933f4a66b084aa58909e658998a15ae8b087120f59a00426cf9a327dd48467f8c12cfbaacea7bca7407060c42950cf9543cac1edf9c296d978a2c36aad92b665d6c9513b59278ac1cc781204e555e27f81e976a74d3055a48035203472960e596c7c4c2d0158a006d884f40681c6610f1124574eb9ff5323e10480d0e306f1e398ad1e6cf8057024d072def4719e3a6be9aeaa07b56077be495a635c67066a2945376c9836ebf4c413a05a9b1348c31329884bc7d820a6bad7a63bd62518878a97fb525332433573973df74a00ec02d50198a2b1306005335e6a51191505fb244999cc333bcfa4e7845b766b050cf66607982014d28548a4454f86a06e9321c82781478cb938c709ec5cc81ea1a9269543dc8ebc6d253be1698990c81c587d7263e7445baf53316c23eb8863d151a4e5659928ad704c1c7b2bd2a1987907a05ccbd2f0c78232a10653452e3dabb7598ca83d37166791ef11a2524f371180984bf72a6e2291301606b7351a284a1a62d7b0180596be297a4631abe0d48a046dcc99c8912b8255fc45592a2a61230652bc7c450a674ccc3abb27395738d177e7579afdcc30e74e7c7b5ac5dc235176343cfc4920ed8d9472e13c9b36a6d38bb44756bc31fbab62893656da065901303700a14b2f785d98896ae97953ba358fd53091012b97498cd7516b0e1898e2f6803c5a13d70f5bec346917249940ba35e3ea954f6ca13c343a09cfc02d8e66852c1ae0ff8b22e7424f53b1897ea11268a6b866c09efe8694031754ed1a2a147c0086283284133aa6c324e0b0570469f09e0901f25213ff9b113147990b54cb241268e0b6c7a3a90c638b7c483c71ac1344bd65c988736c4756e0b71111bf5b810fb3cc4187363a94efa020de1c3cb9a005cf472bec5685322faad5bd1cb0f240458b56fcc5a6167f22577565dac1ba9b984c33c348babb70506b87926540547389b805ba01e4443b5d60b9a407f8b060fcd96c4b717baaeb72400eaaa9853b962e8a0c8d966458cc4cff31e960c447c6b205629419478360cdc945d6b9a55504d853c1e51364e7a9aad82b64fc37a02e4139b9e6c392dc83c04005f6d1299d990a89ed68acc31b5d1d224f2c8b3cd5280a12c6e088cc2f9d3c59afcb9fee458af5135c9b4b477d878f34723e3912189d2764f9366ab8752c9248a5684296ed46f404a1739ba72d5d652c614860d41898e45b72bf66d587089fcf49e3b94cd26999d7539c32bdbac0139b20988cc7b578ed880048885355f193ddb1690b9092aa2a86af03a41797120be84334ef25c2e70bfe8e0a658f03435b65787f38bc9452ddc584162955f8b8560991c407fa0c12d770e80fa4a2cf7b853708bef2a44f959b9d05b6faef83f6f41a2454257b0157c55047ae7d0cc17079e118c8a4ee3358d877251970eaf86684ec70858a94bbaa4bd2fd1895c2223320ccadce636c2156471b76c48d53e6a6c12a1317c39c48bf3a0aa0dbc8afc034b43398b9f1c56d407a4b7c2bac134024df6ae9800b230e2592f529f79f0ab048867a349684b242bc4d2284a6106dba36de7b3a114b6353b479d014a69e33acf5c465ced6669b22027d6657f12379abbd248c6967834239e2d3a0211b73a77d681b61892877b7e102a53cb4602e3dc1704ec92a9e260d9817c6393062bf520f7a845fff19123a1662fd241090ac81ee1748eea878d53969fea20fb95688fcb3d235910f154bd09a75556d890409cce0a20c6cd2a59664bc4ecca3d4725910d210db0c848ce7242cca945f1568561bb90d9a4c3dfba83074a16fb3ac934c865dcebaf6fd90d5b458c22542ded5111e77c12d8656908557649e9155a8472d5213b46f739f095b5fd4a2418074ef7db9385f19d6630aa29b28881aa3474b7ac352c5dfbfb20fd7b8a0b87cf3933547cd498256a9e17733ad6967d7b9c7adc64a951ec5c8ecb75b9190064f3a862d10cb5707215f456caa10a2c240619925a140b6cba878a0d40283efb9e1562c227d716d2935e8d96649c06ae9465aebf552d68da1e7991bf987a4dff4371049a0dc9e56f110779d562959f278b069b3c7712af29027aad6109bb0c3201565c0b0892a62aa74ca7bd6b48039066a95dbca4e76a3a323612269546b18ba1bda19c123c24504ecdf72189dfa1cd24ebf011a3bb66d35f78633e1ee7b249ff699fb2f061a75f111f4a7a60195d9045dc01716b6502cc107cbcedf122e8f61910efe801ae61866a7109f40ed932e67b0ae9e966d1ec5f917e4a9f31a27ee13d +m = 7274cfcaf30a61d198328be008f814b2a87d50570b58a80c03ff151a774c589e +ct = f3c772ea381a44d891e37833d5a58db63c4cf1d5067f98e300533996e53b61d3969f8ac31bf8b3583b6b4173a4ad8389217a17df9c8531ba1077cace630bd1d52bcbda1794e15df4396d80fcaa7dd49ed689930d6985c0ad83cbd79868aed178559c14919361c0e63d92370537990cd8ecc456a5578c56a5b8a3fa8819a193078215a4ae6bfddf1b7c8390d59be9cadac05dad2b64d59cd2e9af402c05855080d00fabf43da1d8b3398993165475be692ea56c40ab149249d471fd895e16519695d66dabec00d9810b6b15915b6e3df167fd4aff2a5e197b2893477ba1c6a8de0a5ce8575f05b251fb725a79393b8233dfe393f3c7309e22039569454e3fec6cc0990e6749b1416c539d04949797c4c16ffccdd55b8a7ec7b4f85a8e90556ac3211136e7be50863f312e278818289922df3e4569b612d5e53554b0c9be4f44c44863c88144ce545e3b65e3286fa6c5f9bcdea8211a96cc99443501d8d44c8bc7b1123affa71fafae909573b465985f7a58d690a13d14f7b2ef58a9c1f86541101aa90a1b9b6bd51aa1cad725b00fea5c04f6c55681df298ab8d7cb0b660217b778c3246c3e9c8ef3c2668919d564a33a23229f8a184364b031ac5f7930d8618c6875867831edc864325792366c12836ad596e6bc74ea31fc7f3bd336aaeca6b9066b9b4cead4840dc53c0bed87cda830b0b0abe8b15a8466e8d7792de028d0ef16bd9d642afa27042a47c85d54752476763db2e28754fbfa303741d10e34ab88bf42451485aa63d75348a4aa1dacf4fc7f0bedda950539097a86cb1abf642e4398332bb407186b0c0d1d91d985a5c0f6782d5764484f38a09a76b0ab3f76e54d0134e15ecf3063ba54e182da32ba6e947a72aad101a64dc54f299c7b305d904be2d489ed565c229209821f17900c9a1fbd9a8c3465fe8da67008eda5e64aa9117dcfd25ba54f285b402c2efcc7b20bedae6631f7c0510a2549660bee2a18a12de559488c58cdd0ecfb0f1b60f0760d7fc7cf8822934fb110b174df12d24cc6ffef8823792d0983b5b64709b94d0d514d818edf5e5355ebc433f4f1204936cbbf28b450680780b4e2a63cdbb6c90bb3a1acf2ea830d218626405c071b7d49e7d84774f93dce2169ff60854af43f24d189af5ac26a0c224873a24bfda0e62e59a7e3fa178b534c8a0cb17c0a55c7b08d7ea73cbbd208af4e21e1b749bf4ed4b14047292230cdc905cd296da6aeb44d0a206cdce3eac75b2a5857301af743b6ca721c27dcbf7bd8a76b6d251bf8006ac2220c9e3cc27da347160e0bdecdb9e6311432fbbb4e4c1f07d2e8f7a9f7874da280261a9f8cbc3d3afeb68d7b6a726c84233c444def7cb29512bf811b706b3745ad21e9137bdc004e71f2c47faf4a146d1b3faf991094c7c04bc6b3ea48518420ce0494b0ed117e5029adebe061fe8fff66382ff8470ce257c165834af6e2c800fd0b4dd6204866bd8c3a5f93f22d8cd70c1394ee6a33892985390d8e691e04a505deed42046af00489895bda16728e6087 +ss = 04f380d7841528316439eb1960c612cf3ece3d425aa33ff4343b4a87b3202866 d = 89a6e3be304a3518fb82b18ca730f0b359cd6ba90664a493fb4f8edaf965b9c3 -z = b6591121e25d64010c25a18676033e1d7278ac5f2d0b43a31f3a4156ae710465 +z = 921bbfbfcc283e1d1db36e99b9cc6ccfffbfdb86dab7b6c7ca02cda227da8632 pk = f3576ff861541032094855b18cf574d868b0eb783ce9011f28fc14c486b122cc80093897bfc8ac1082421f99767bc42b0ff41b22dc7b50d5556041338e6c4368ab190e92608f6cc69d8b33f1ab04de68cf96d9c5882c97cf28c30b86924aa57849954369c5427c876a9b1ca341e8522e1357e60a4450b69f150658715403d1e1c957e5a914b9a3bc4c45489053306329c7984e76f169c8639de4080db1671ed01a24724a101df89e45b5b385ca2ef663586ae58d9b33ade9738f84482e6e28909e7641aa673ad772b125161a316166e1717fdbdc8d02b2b2b6dc21805619d4facc40e9a21bcca9d4da71220a4631e95b25e960192a22a39b904bbb02f1184b79a97b3cc16b5e4b5eaf278913b7a195f3107342a77a68cac90c1b5a3ca9b354a6095c29c09c5ac2b44c6cb28a250834d5f2a307ea3434977d0087017ca2692b79008640b770b41ee2c2c77bcc2605f1857368c8e12983afa8633c870115a3818d6bcbcee864a8db694f4b77bcf63a8aec407a45716af6358065c30b77b68c2198b2fb558f463a7477b9fa7680f1e65706a888b8740a87cc7e7949156f896c182b53e464721e46a258820201887ce9b83d43250b63e2ab29900a115084a6e66584f767853b2e684c547d97266b36b6838aaba73298dab79c58c88f1b51113ee752736b7566eb5759cc4dbc37551135bb3c87b1a6c83ac5a38dbd78106ec0c5e9967a6d81139cd516027c25afbb6c47e3802d56079e6265c4f21f1315a96ab994597214b814cc53e8566330cd51fb4045f605df1c7c9c255166651de6041b7fd85c7e376e28076ad352051c65494a1054c30930621c53ee8947dce3c55bd686f186cd5aa21afc17664d36a2d7f5008ae83950b93ae510847552a5c2f761207b0f478c73c4d6313c8acc25b13ea64a72ee3334013cbc0a855b55e88ea17466534786b6176b9053ca9d0494c6b4a940b70b68f40bf570c461f11795952e69f21ec4562dec99448263188ef44e71a1681d626cac69c6b56ab51ae656be1ca028672d97d044e43577f26329d50851b0f8a4a1b6c2b673ac6418ccd58005ad400c27d274dd4732e56b5d7c0b6ee731a99e15229f7295c153aa3a873c20c23a35b6137c824f6fb021a0e28f98bb3be8dc07a5b038dc89944952913af7a39a9b00f1a038a628686a735dbd4c45e0b8bcdc1c1a902cc4d0571cbd589f507a0c0dcb81bd39811e723358d6320a3049bcc90d776562eb34877978c9929548286a85efb85f7c6c76ff255f13a0cf5e70304f1cc838fa398fb34e26ca662759c8f3657125dc2aacdc4615653ef074a784500ec60980be4aac94b0c7a9012dbe73cdbf1687a684ac63526778926654a4ae4cc779a600a836e3273acb95a802051f18af32683f52363572583fdfe30287b2632874cb04832f55e0944712c86d37420137c56f6251a1352ae37a0c3fdb885cb561e63a493a15beb5e3b123aca6b6b7294d8002e7ec758ad2c22d336aae3c067703821842cba2dc0b1b7a45cc0a48202a002f927122c040f84a884c1334c1e17347108b91c055d331c0b170c6f06048b40ca0bed838ad963fb8747ca714cf1d3267b701132046699798421acc06a3bc1ade172fc62123235c2d8dbfe40dd56ce5de6756cc4b6afdf64050da2eecd9953e893c53bf7ffb -sk = d32cbc1116ac88219f9af2c33beb59bb94b372f97815278f0fab2c690c94b8f209dd1575bd7c0bc7f48aa133bfa068cf1af1612c3325b8d08963bbc66d938f46843fee424357e535c2259ed958a75ca6203286190be53a9b46373f8b41cb38c1cae2bcb91898669a872f1a8d9cd21227e42ed655569202cc6b494cc6a6bdb08731cde417f48b86554ccaf953b8fb70aec727085510cdbaa7cd2a0ba853928886332fb1e3a419c49b34ec90fd31b716252acce7a79d05cc04074d69ab3cc9809102261a2191a086231dc70aa583e86912e5beb2c1a22e841f39db531d5c26cc333834a20480d6b1ccf19a654149045791d33b414696375dc3c7b0644626e8822c5325d52ba764f2361d853d244416cb9a5bc0540e1238ccb53438c90a196a45571f743894f060f6031fd623abebb4afea05190dd9452c981352a78e09579f05e24db2033aacfb10d9335986e8542d9480bf5603fa932d2d0878c3753e6524a809324ad6f169d7fb6d9c0264423a632996abf297707d8412a6b86160b69980e18add1c372faa406f540c00ed0a75c3544811759c3b5026e6c19102b7160883ed002de5807b5933934fa01559c4a790230ee93c215bd75aff117d0f170b4feb7aef5b007aca616e688161fc00cb037c8232cf2dca569f01a2e1dc2af7ecb6111181f2ebcb1df27c6ea84251d8a2b6b6582ef915e2b8c7f8fb6be8844478fc570b8054a067b34120b47fc6ac68125cca8514db4540b7796c9fd05523e7014db34b8ec94d5eb66c9f5cae2f838191d2234f43c72262a18deba17ab495b7f0529d89b8e1e407bd5a185eaa2444d20c6c9566526b8707b13bb0cc8d9589773db90952a5cd78e43bdc68cfa4401d7912618f456eb4f97ac1b49ab948592976233f962b1916531fd1672bb69be320a2985b38b80279572488c5f86bf3d55fb9fb90449b66fc874b94292000466786fb7e393765c7057051999711d234b4d277419320e0046ec0925b41d6b89c62133bd2734e296dcfe90bf6344219a6a22d2cb50c75bc02b07fd0da11fe0a0a0b9aad76001d5d7c8fede065dde87d5d47821e756a926638395883879a91b94c6164a40895476269917caeb12944dc956174b6cc5154944571a6f6553f604d3212728fb08af6e8c0ea00265ac0c5464595b31a9131871d79298867aab426d009480c0befc08ace14991399079cb62de9e6bc80c88c3339640fc667ec837b691c3da4556a952b3e63c162ec911101c5a49b35475ae68634a7b0cefccfbee608cd4c43c8eba7a8f957db595645c64ecf08b50c7438bfbb415c27a45ae940ad077e5a533825d998a9095a735b5d23887b0048af49ca85f18395c7d3cd06bb687c92cda9ac9c03a9333a866a9639803c76b5b189294a269f389abb5010789d410b88215c554008cb10274f781ed6b0be3903576cd16934c4b6b65296c477aa174043f06792f3944efd0206e34042d827caffd2989b936b91694825c4bd8b10c0777b11971cc1efb93ec1b3674afb4fd07568ffe89c707b5785c140d51b433b7942d88a6ef9bc9d091472833004005aa803a050ce03b2bb551f62fb1fac6649d3e14f0141b2eaca73b700489b73a8d840834a7802a96864610b10f3576ff861541032094855b18cf574d868b0eb783ce9011f28fc14c486b122cc80093897bfc8ac1082421f99767bc42b0ff41b22dc7b50d5556041338e6c4368ab190e92608f6cc69d8b33f1ab04de68cf96d9c5882c97cf28c30b86924aa57849954369c5427c876a9b1ca341e8522e1357e60a4450b69f150658715403d1e1c957e5a914b9a3bc4c45489053306329c7984e76f169c8639de4080db1671ed01a24724a101df89e45b5b385ca2ef663586ae58d9b33ade9738f84482e6e28909e7641aa673ad772b125161a316166e1717fdbdc8d02b2b2b6dc21805619d4facc40e9a21bcca9d4da71220a4631e95b25e960192a22a39b904bbb02f1184b79a97b3cc16b5e4b5eaf278913b7a195f3107342a77a68cac90c1b5a3ca9b354a6095c29c09c5ac2b44c6cb28a250834d5f2a307ea3434977d0087017ca2692b79008640b770b41ee2c2c77bcc2605f1857368c8e12983afa8633c870115a3818d6bcbcee864a8db694f4b77bcf63a8aec407a45716af6358065c30b77b68c2198b2fb558f463a7477b9fa7680f1e65706a888b8740a87cc7e7949156f896c182b53e464721e46a258820201887ce9b83d43250b63e2ab29900a115084a6e66584f767853b2e684c547d97266b36b6838aaba73298dab79c58c88f1b51113ee752736b7566eb5759cc4dbc37551135bb3c87b1a6c83ac5a38dbd78106ec0c5e9967a6d81139cd516027c25afbb6c47e3802d56079e6265c4f21f1315a96ab994597214b814cc53e8566330cd51fb4045f605df1c7c9c255166651de6041b7fd85c7e376e28076ad352051c65494a1054c30930621c53ee8947dce3c55bd686f186cd5aa21afc17664d36a2d7f5008ae83950b93ae510847552a5c2f761207b0f478c73c4d6313c8acc25b13ea64a72ee3334013cbc0a855b55e88ea17466534786b6176b9053ca9d0494c6b4a940b70b68f40bf570c461f11795952e69f21ec4562dec99448263188ef44e71a1681d626cac69c6b56ab51ae656be1ca028672d97d044e43577f26329d50851b0f8a4a1b6c2b673ac6418ccd58005ad400c27d274dd4732e56b5d7c0b6ee731a99e15229f7295c153aa3a873c20c23a35b6137c824f6fb021a0e28f98bb3be8dc07a5b038dc89944952913af7a39a9b00f1a038a628686a735dbd4c45e0b8bcdc1c1a902cc4d0571cbd589f507a0c0dcb81bd39811e723358d6320a3049bcc90d776562eb34877978c9929548286a85efb85f7c6c76ff255f13a0cf5e70304f1cc838fa398fb34e26ca662759c8f3657125dc2aacdc4615653ef074a784500ec60980be4aac94b0c7a9012dbe73cdbf1687a684ac63526778926654a4ae4cc779a600a836e3273acb95a802051f18af32683f52363572583fdfe30287b2632874cb04832f55e0944712c86d37420137c56f6251a1352ae37a0c3fdb885cb561e63a493a15beb5e3b123aca6b6b7294d8002e7ec758ad2c22d336aae3c067703821842cba2dc0b1b7a45cc0a48202a002f927122c040f84a884c1334c1e17347108b91c055d331c0b170c6f06048b40ca0bed838ad963fb8747ca714cf1d3267b701132046699798421acc06a3bc1ade172fc62123235c2d8dbfe40dd56ce5de6756cc4b6afdf64050da2eecd9953e893c53bf7ffbd3413880d082f26986fcf452a84a8da934ed06198b290ada1789e74d9081a9e7b6591121e25d64010c25a18676033e1d7278ac5f2d0b43a31f3a4156ae710465 -m = ec750b3939385a3f8df868119dc76f77ca845567ef068de6ada5478a56bc78b6 -ct = f33aa44e8b475a3e664a1585c8a1058b26e2849754f17e4fecb0414d2ef214ae903cc1b8436b302a06bafb52754f9908496f00b79c8ea49c3ff6b3ca9f7ab4fe2dab7b915958cce56fc53ea3f168e79898c06e99b2a5c7f39987d21084317fd5b99bd6b1121a1e2f719b64e54a40c1766a8a0487133272801a7d9b589119104886e2914356bc14c7b9a1dd2b424599a059affc963b5866a7ec744c20166b0ceb632adb3722cf0dd49c85165b6fc05d5b20847a416482472a567a33b8653cc9e455291abb5e65c83d051eae887c946df46d00cefa7313406674ff748eb33c6351e3a18821801cf0379fc77df7a3291515aaa7bd5538c7c5dc49eb8cb61463984a3bf34ecdedfeb5fddb630bfa20eb3ab4bdbae85ac6a15162c6d27833f50d9b00db134601b7d3b32a4d1a6220b98966e51cc1d59926dfacd2ea8eebd5b9c1b0581f16e5e79389a7f716b0c07e353bcef084778a9c61491456de86ac155309583b512f719b6d2c74549009ae11583099812486239a69afdd7571ad30c622ac4be434f25a4d70a7eebeda51085a918b0e3bcd20c1e1421a527d62046af8cdb6eae295e10dc25c4ded82e9067ca0e1b0b289d1dd14866ce32f6d12ee0eaa215fdfba68df0b0c5808b76a2c24aa00aa92b08ac4c0ed48a573841d265fd079ee835925a224d2055639bd642adfc9d5aae4885b0f7c17163a53d0ce55246dfa31943bf03b6b1d90a7cd2ab06b099ebb67a3c28661789a9d7dab10f29e1d4bc4d3c6102667018935bd9eaf14cc8501f9a84bfb0868b922c16417b227b2c149bd3d176c429147112ab1da57abbcb07d85d936e62053f4ec915792080beb2cc142bdec7af12919ca448074a601bd3aa1235b499b96fc9feb8c5b3108af77bb1d0931f92e527ada040a1fbeae4a7ad92caba96f5de69c0fd78db39dc2be90f81f2be00b4949bee566b80b7881905b59a824506852ba8dd37e44c4a534a7a6a790d9a243439cc5a548b9b07ab0d4050676edbc6dd4b84823e7b8dcf4ef8021d5f6fdfcc470dfc8fcb717c2fcd5cf26aa1ec03cb72feb58a50b831c5e36b63e6a5ad7c8d57b6df835f414d3b2d0a86ade0f85e76e5f3b770345d3a2df2370bf8e994e4a5116d5aa3e2c2bcef9d1d268781453fb3d1e9bae21595bafaebf72b1b4fccd32c84897d712b720dd962c5ed46803ded0ad4fc417647db85c22970eded391f065143a7cb8ba660ffca69327c2ccfddac83c0215818712332a79881aca7321098aee4f733d44f31f3a79bd78ca4b932b1ebccfef5c3c987ff95485f6239dfd607e3f68bf6a746f17cf0f4f438020bfda627c5c01c65e0049914c822ed9463b6fe957847722f659621baaf475014fce9cf5b1a11d7392dd286ccc616edabe08c80e56e77a41584261dc2f09d7e55a8bae0b0d3354a1c00a6ce7d3c65bf61f3b45d81c75bbe8a0c3780cbeb6c5cce34ccd76318017215eced1c686224d322c3239a0e3ed6d007195207db057125abb40ccade2ada3c09aba1f66aeffc81f119efa0828fa3d -ss = 70080e3baab3fa55e8a308e84fe9abae780be8c09e211651f6ebf6053f8f264e +sk = d32cbc1116ac88219f9af2c33beb59bb94b372f97815278f0fab2c690c94b8f209dd1575bd7c0bc7f48aa133bfa068cf1af1612c3325b8d08963bbc66d938f46843fee424357e535c2259ed958a75ca6203286190be53a9b46373f8b41cb38c1cae2bcb91898669a872f1a8d9cd21227e42ed655569202cc6b494cc6a6bdb08731cde417f48b86554ccaf953b8fb70aec727085510cdbaa7cd2a0ba853928886332fb1e3a419c49b34ec90fd31b716252acce7a79d05cc04074d69ab3cc9809102261a2191a086231dc70aa583e86912e5beb2c1a22e841f39db531d5c26cc333834a20480d6b1ccf19a654149045791d33b414696375dc3c7b0644626e8822c5325d52ba764f2361d853d244416cb9a5bc0540e1238ccb53438c90a196a45571f743894f060f6031fd623abebb4afea05190dd9452c981352a78e09579f05e24db2033aacfb10d9335986e8542d9480bf5603fa932d2d0878c3753e6524a809324ad6f169d7fb6d9c0264423a632996abf297707d8412a6b86160b69980e18add1c372faa406f540c00ed0a75c3544811759c3b5026e6c19102b7160883ed002de5807b5933934fa01559c4a790230ee93c215bd75aff117d0f170b4feb7aef5b007aca616e688161fc00cb037c8232cf2dca569f01a2e1dc2af7ecb6111181f2ebcb1df27c6ea84251d8a2b6b6582ef915e2b8c7f8fb6be8844478fc570b8054a067b34120b47fc6ac68125cca8514db4540b7796c9fd05523e7014db34b8ec94d5eb66c9f5cae2f838191d2234f43c72262a18deba17ab495b7f0529d89b8e1e407bd5a185eaa2444d20c6c9566526b8707b13bb0cc8d9589773db90952a5cd78e43bdc68cfa4401d7912618f456eb4f97ac1b49ab948592976233f962b1916531fd1672bb69be320a2985b38b80279572488c5f86bf3d55fb9fb90449b66fc874b94292000466786fb7e393765c7057051999711d234b4d277419320e0046ec0925b41d6b89c62133bd2734e296dcfe90bf6344219a6a22d2cb50c75bc02b07fd0da11fe0a0a0b9aad76001d5d7c8fede065dde87d5d47821e756a926638395883879a91b94c6164a40895476269917caeb12944dc956174b6cc5154944571a6f6553f604d3212728fb08af6e8c0ea00265ac0c5464595b31a9131871d79298867aab426d009480c0befc08ace14991399079cb62de9e6bc80c88c3339640fc667ec837b691c3da4556a952b3e63c162ec911101c5a49b35475ae68634a7b0cefccfbee608cd4c43c8eba7a8f957db595645c64ecf08b50c7438bfbb415c27a45ae940ad077e5a533825d998a9095a735b5d23887b0048af49ca85f18395c7d3cd06bb687c92cda9ac9c03a9333a866a9639803c76b5b189294a269f389abb5010789d410b88215c554008cb10274f781ed6b0be3903576cd16934c4b6b65296c477aa174043f06792f3944efd0206e34042d827caffd2989b936b91694825c4bd8b10c0777b11971cc1efb93ec1b3674afb4fd07568ffe89c707b5785c140d51b433b7942d88a6ef9bc9d091472833004005aa803a050ce03b2bb551f62fb1fac6649d3e14f0141b2eaca73b700489b73a8d840834a7802a96864610b10f3576ff861541032094855b18cf574d868b0eb783ce9011f28fc14c486b122cc80093897bfc8ac1082421f99767bc42b0ff41b22dc7b50d5556041338e6c4368ab190e92608f6cc69d8b33f1ab04de68cf96d9c5882c97cf28c30b86924aa57849954369c5427c876a9b1ca341e8522e1357e60a4450b69f150658715403d1e1c957e5a914b9a3bc4c45489053306329c7984e76f169c8639de4080db1671ed01a24724a101df89e45b5b385ca2ef663586ae58d9b33ade9738f84482e6e28909e7641aa673ad772b125161a316166e1717fdbdc8d02b2b2b6dc21805619d4facc40e9a21bcca9d4da71220a4631e95b25e960192a22a39b904bbb02f1184b79a97b3cc16b5e4b5eaf278913b7a195f3107342a77a68cac90c1b5a3ca9b354a6095c29c09c5ac2b44c6cb28a250834d5f2a307ea3434977d0087017ca2692b79008640b770b41ee2c2c77bcc2605f1857368c8e12983afa8633c870115a3818d6bcbcee864a8db694f4b77bcf63a8aec407a45716af6358065c30b77b68c2198b2fb558f463a7477b9fa7680f1e65706a888b8740a87cc7e7949156f896c182b53e464721e46a258820201887ce9b83d43250b63e2ab29900a115084a6e66584f767853b2e684c547d97266b36b6838aaba73298dab79c58c88f1b51113ee752736b7566eb5759cc4dbc37551135bb3c87b1a6c83ac5a38dbd78106ec0c5e9967a6d81139cd516027c25afbb6c47e3802d56079e6265c4f21f1315a96ab994597214b814cc53e8566330cd51fb4045f605df1c7c9c255166651de6041b7fd85c7e376e28076ad352051c65494a1054c30930621c53ee8947dce3c55bd686f186cd5aa21afc17664d36a2d7f5008ae83950b93ae510847552a5c2f761207b0f478c73c4d6313c8acc25b13ea64a72ee3334013cbc0a855b55e88ea17466534786b6176b9053ca9d0494c6b4a940b70b68f40bf570c461f11795952e69f21ec4562dec99448263188ef44e71a1681d626cac69c6b56ab51ae656be1ca028672d97d044e43577f26329d50851b0f8a4a1b6c2b673ac6418ccd58005ad400c27d274dd4732e56b5d7c0b6ee731a99e15229f7295c153aa3a873c20c23a35b6137c824f6fb021a0e28f98bb3be8dc07a5b038dc89944952913af7a39a9b00f1a038a628686a735dbd4c45e0b8bcdc1c1a902cc4d0571cbd589f507a0c0dcb81bd39811e723358d6320a3049bcc90d776562eb34877978c9929548286a85efb85f7c6c76ff255f13a0cf5e70304f1cc838fa398fb34e26ca662759c8f3657125dc2aacdc4615653ef074a784500ec60980be4aac94b0c7a9012dbe73cdbf1687a684ac63526778926654a4ae4cc779a600a836e3273acb95a802051f18af32683f52363572583fdfe30287b2632874cb04832f55e0944712c86d37420137c56f6251a1352ae37a0c3fdb885cb561e63a493a15beb5e3b123aca6b6b7294d8002e7ec758ad2c22d336aae3c067703821842cba2dc0b1b7a45cc0a48202a002f927122c040f84a884c1334c1e17347108b91c055d331c0b170c6f06048b40ca0bed838ad963fb8747ca714cf1d3267b701132046699798421acc06a3bc1ade172fc62123235c2d8dbfe40dd56ce5de6756cc4b6afdf64050da2eecd9953e893c53bf7ffbd3413880d082f26986fcf452a84a8da934ed06198b290ada1789e74d9081a9e7921bbfbfcc283e1d1db36e99b9cc6ccfffbfdb86dab7b6c7ca02cda227da8632 +m = a0462a5f2a6c43d1198d54097e08d20c53d87b7c05dcce5418838fa8e73a9c8a +ct = 127797a15a98a48da756bd56aa7044c00d92b57ba37f1047593b715312ab77019442de340afbf44134c7562bce027e7df1a2c6c0965d01ebaf2e33714a31944bc5f1866750584330e153645af82719a4b2ad93bc85870603a9e8804aeb859e3608376ec737f55c0e9462d47749038c70e7d4665ddf78dcbcdc46ae672dc0e627cfb320ec8234d4269efb498088e761246ecbbd4ce81e12a039891230cc994b7aef1d9ffde6d24e246826161d2c4452358bfae9a06768876099166a430fe8a20be0e6f1f252467936f84a1945963dd42dada8aecf02d41025d75215cbd0a47c11dcc55e51765971b05fcda4b117e983f2afe8b3dd4e414eade3bcaf53e97a3e830256f661ccb0a83da1f4292489960fbfce1a087e0bebd241d9c84e99ee1028945e0cb01a6eb4ba339456b5fc9a824e49f2d4c4225a1cf38e9add1f62a73244123b13bd94446343750eb4ecefa9b99690aba5190cad3bd6d1a50e1f83a566520c5e7d0900a17947970e42a1d63bc858088480f35e97cc5604d344fc0cd4e81c119d3f89b41171c127013e3234909849dab16563a823bb8e93b757f63fab3f09e14329321430c0d46403c0a55ee68739318e524f445f6a374cb032b6688555f79d99433a663db2eda5b74b4315feac8d0053f489b15e2197f7ef8bf677e9b3ed6f7965537049c08d64c019877eefa3e18bd0fed245bc5bc21cb67154e5c9454d7465bffb5350b76c14bf4166ffb0389812161bae0af80e78995e79e292abde5537532bc94e30b2222ae4535b3802579e773a733081d2e458ef063c39e6e9f1bcd4999566445fcbd015e8e35edb47c2298137d0a405f73cc5cefe5882ef88ebef7ac98c4e50a5b98f1743988be9bc124e62c3c9a65f7fc594c13c305088aeabc4fdd34af0aceaaf410bd6d2e2082e792812803f922499e4a192c0fc90f60f960199d91627c98c68dab75fbb21548a3f3a8337d187e6294c489c0a88b2095b23d233a9aaf7ac592dd7b6c4155e2df132c605cf36367848ea2e1740c93c3926821e654d52883f2c9e0f820bc9037f45db5b809a1661579c4cc1d24da918fccb960b998a1631cc4aae3da1da9b18c7b6cc0287e568375ccdb8b32dcb179d4e3b342e88a5cf347620310aafb93fd16dab3e79db3313047e7f6bef5b9b27d6a7b3af617cb2bc79a8c71b4d9e8b71bd499741916fbdd17eb1b9a124c265c43c5b496bd5ad62d425a9865ea63f2bd235f87cb1280c125bf36a2c73bb6a8bb7bd8bc9a92cc8e9657d2dae97ca729ad53c3cfed6b8c59bcde1d11196f5330309222bc9a24701ffe370ece6ca2d0ffb6f956a4adfd1e4da76e6fed09e358e93dcf831119fbbbd92d26dc77d8160c95c6b5f45fceac2292432c8166d33a1d20c330c74b6c63079a15715cd6cf62116993c0db574345e5f8a071e6284d102c4cfad515e3fdb0b6770c3490c71247a604c71fad84b161b633f3bc0e6b80c6d316eb932228724c37df56a6589f1bc237325522f2ebe4bcd61983995411629b5657145df52c2d4a829 +ss = 160b5ecb8d716fe55187632277ff23a74ec598cdc1a640da772fb98979cf98bd d = d569b935ce015c85f792f8f7fb0d83c4f53b492959361dd4f75fb764d6564501 -z = 76eae84d11c4528382828f7a689a0d5cff87b8ca0bba97feacb39b935a8788cb +z = 40b4e01e03f62e5f489c39c78d387bb33b526ceb6907734a5f788209ae3c2647 pk = 4c376ba98c3a0415a3bfb0ab42d0a3d68cb171109c5f83147c33adda2cb07c62a9025b44523b0ae4cb8a8bea5e550b717ca6c8271997cfd6c5ed76aa44e43da2a02d35610787f22966298ffbb45fd78a8d36eab454675d6951a70472caf06640bc1b97d6760e74b41c577855bc0756abe528eb4894e8776f1e739da45a9f84c9bf3c72b43262525b547f75176ab2e12d8ea808d3b0355766bd69d964eb3b450a96c835d7b238220febd62443b03985731333c54382d20200e30e4cbb2b607ac998f20def865bdf47ce78ac3dbc1abe33245d6fa7583b31b6fe7b6ede7a8ec776b20f7bbe7e376578f0933b761bb0952161123d61282cd6c80cdc8a85f9632aba1a8ef5925e410bb80beabc67735d07e4abdd587827745a3220a24a7b3902416befab3073c2cb1fa76ff04315b653b3e7c18343391f92015939829dabd0289b5aabc4cb5335d963ab842865bb7c38106eb1274eccd0140b415901279e8719c0415517b5101394f78a48f565317909371a3154d291698b0bede17052f30786dc2d46e71edc438c288cbd44445f993926bff0a8ca1a033b656c2362a659eabbcf37b2cb5916940aa9b3e850e51039c08c8588347e1099a0d8380ccc4b8cd0c87218bc24f09126a82a3d530a75500254510ac765cc1de612a4ceb14db78a7141109f947b4329158f87e4c8b41a92afccc9eb749d66a71159db90e7a36642636af22cc0d541ce52db7ab44baf30560691a637c93193a11a00efec075289953fdc9df3ec3390342aee44c08d661632fb0303681e1f89ce1300b0c1a36e63e5a45886a4c76534fa78b87a75cf96ac66205c28766ba5eef7062363c19091c61c543d5c1b8a547372515722ee515e8ef52bf8e089d93377e2c8458e626d3391953d658cdb05c7a40077f4e19dc0b132be719014c12b0cc242466112e94809630b63fad12c99d271dbd38e5afa54c894542b940415354203a0c8a785ab94200ee0cb976991c642257d9af6998b61ba27b236fdfab86f834fb2d47cc0904b9d6acd2f8311f0d4b8ad81a24f712d92272587220e8023a8bc13bd17572d38851778f319607752466cb0de7c5c12103fae4c57d953b96be93262ba9cb05405a5d2a9e012b21a22a2ef33a385c898c80aa9663565b63241a1b206f3379abe8262cfa49ba05c3b43e9485e60cd38d66eaed114ef81afd66b2594baa361d3c3b02069b1a164bc387632e24c82a91be2ca390eb585e900173699a8b26b8916e52bd643645d3225df38ba50a50ea013b4b2a86ee1f76278e27f5a4142f034004b567f309c52acca3c7530162ed744a67481ca338861ccc3e8331e1c67886023743719493cc3caea51438e28ac4ea06b906789a65220e3c7407c874c6322be1f9b627386081753ad618a8dcc013395f20f5017ae2b57ba908617490460d5a67fae2660a56c4c4d97babda0bae0f494260877f7077af2536b2ca46e297c61dd8422bbe515519210dabc02e7047b13f16607ac15e4950574c43bf8c39a2528addfa2782506635e5626967a1f30c02fa3442fa93250571a8173999a88dc27b43c476468a6a4739972dc1b68493413a2743b9b563283cc886916eca5887796a4f833aaed6639b9d531efe5cadf9225573a23664c9cea086428dcd19ff40a06186a41fec0723953781475f648 -sk = 818b55fa5ac30a81891f3a3643924b2b046feb6765a61cc81c9059d1f82f6a0067a102825c88a530d15f0dd95f0b4742d29abe7044c62d45a05bdac46130305e3c3417d67f60b92edeb6b2a398119ad160ee3cb0fb52144435a5bb5412c0512dc6121bf6e72d0f87a3834ab5338196fdc950a3cb1b7354c4e50369bd4364cee9066a221dfcd580f1b914c0c335f547748bb19264b7879f206a9c610573b8676bd0bdfd777a2a0ca5ec891a1317c5289784de114e84c53b983778bf8933805256c9a9bd05a11af8f5ac271ac3f1e635eb9a8263c855bb230f58ea3b7e8287d76258aa57646b97560e593944c4cb3567a2c382a795c991f69bc2df2cba8837c9a3b58a9dac5e4d84b50722a144737ea38b14be51c41cc55c53340ed158ab4a0b0f0a2612962b89cc2aa8b29198f2e04b0f0cb586f271c6414f31a71a45eccda8c597c38415d262571bf0a7bfa17115e0c7731c70c2d01c492c85de16c511102c5a96973c724f3b58b504eb65f56116aa7779b76b2554736d9d6176dfc6ba007a590a311d4b86a7a6251fffe6086ab3319db48c4dcb91fe680f45a9480241242e4ac9861b62860837cc813fadf00751c8021f7a1c4d7a1e5f13bc3e8462f372cd7498197d172eff98b1f8bbc37974b025295a80e3525d282fba8467f8079d78fa6068e23bdbb3349a31506e474ea228c3927a554d7747bd3621a0343cb155bc786075c3015c3692c0fc65b194a12152a14153a03d5147b0cdb423a3b50ed6461813f9ae1fd63ab7a53031dac2d0f87cacd1cb81461c8c08bf367c4ccae7626343469d417acc705546293498035195240387fb1f2e7c005de000e530b9e21cc7dbe463e7d24adeac1127026843b87cf6fc1bb94674399b0636506b1acab72f623adef866f883762b5b4509cbb2be142c5c550046e10d29fa431f9b7d977253928a8d2d4c33add899ad736b40cb4fc656be02d90bf8d393d632a1ab509c432511f1ca16b01139cb0627f6503bba75440414af97a04bc5239567c060ef94c9ba7221d4612eaa640bdbb8b72e32a4668401aa79421ba68115261a8d94878c90a0468510b247968b7463ff49a0578044c5e9147f0739f6a17b18828bdcf56966b1caa125cde7ba6dce939e56d350e896ca6219a6b8947e3909361754593fb8a85e742cacb74e1d45704fa4cfc91c142453ba5c08558de1321ad6a6a2804769a0bf69770a1264ba5148b40a3a9be3c513a382cfa3c244c9a138ea9cb8da7627b350cff87ab064a079876893d893250ef59f369c41f9ea40daa5a5984c19ce06cf9bec2947932133a4157bb8cc3c72a1fd25715962a9c88026c018b7202885224019466540c9eb5482a87e665157be7722bc64133c827c20b97d9e692342f23fdb1b75ab2ccb6fa5973820b92ef1bb45c2b5ed1330c1417ccfb39fc6301b8a749d3613b3803a6abba20990151305cb32ba6a5b558265c2e27d8d49aef3e91819920db20360355919d5f641922233a1c24c0045172cb10f9564a029f07578a48a4d215248f3ac7a912ef8e56e366b03c567ab978c750d85454c68a5806ac38b7b3395f19fe78a001c5867d3e90e9b54bd63954761ab7f4a57b1fa32b65f285742c1207aa0684c376ba98c3a0415a3bfb0ab42d0a3d68cb171109c5f83147c33adda2cb07c62a9025b44523b0ae4cb8a8bea5e550b717ca6c8271997cfd6c5ed76aa44e43da2a02d35610787f22966298ffbb45fd78a8d36eab454675d6951a70472caf06640bc1b97d6760e74b41c577855bc0756abe528eb4894e8776f1e739da45a9f84c9bf3c72b43262525b547f75176ab2e12d8ea808d3b0355766bd69d964eb3b450a96c835d7b238220febd62443b03985731333c54382d20200e30e4cbb2b607ac998f20def865bdf47ce78ac3dbc1abe33245d6fa7583b31b6fe7b6ede7a8ec776b20f7bbe7e376578f0933b761bb0952161123d61282cd6c80cdc8a85f9632aba1a8ef5925e410bb80beabc67735d07e4abdd587827745a3220a24a7b3902416befab3073c2cb1fa76ff04315b653b3e7c18343391f92015939829dabd0289b5aabc4cb5335d963ab842865bb7c38106eb1274eccd0140b415901279e8719c0415517b5101394f78a48f565317909371a3154d291698b0bede17052f30786dc2d46e71edc438c288cbd44445f993926bff0a8ca1a033b656c2362a659eabbcf37b2cb5916940aa9b3e850e51039c08c8588347e1099a0d8380ccc4b8cd0c87218bc24f09126a82a3d530a75500254510ac765cc1de612a4ceb14db78a7141109f947b4329158f87e4c8b41a92afccc9eb749d66a71159db90e7a36642636af22cc0d541ce52db7ab44baf30560691a637c93193a11a00efec075289953fdc9df3ec3390342aee44c08d661632fb0303681e1f89ce1300b0c1a36e63e5a45886a4c76534fa78b87a75cf96ac66205c28766ba5eef7062363c19091c61c543d5c1b8a547372515722ee515e8ef52bf8e089d93377e2c8458e626d3391953d658cdb05c7a40077f4e19dc0b132be719014c12b0cc242466112e94809630b63fad12c99d271dbd38e5afa54c894542b940415354203a0c8a785ab94200ee0cb976991c642257d9af6998b61ba27b236fdfab86f834fb2d47cc0904b9d6acd2f8311f0d4b8ad81a24f712d92272587220e8023a8bc13bd17572d38851778f319607752466cb0de7c5c12103fae4c57d953b96be93262ba9cb05405a5d2a9e012b21a22a2ef33a385c898c80aa9663565b63241a1b206f3379abe8262cfa49ba05c3b43e9485e60cd38d66eaed114ef81afd66b2594baa361d3c3b02069b1a164bc387632e24c82a91be2ca390eb585e900173699a8b26b8916e52bd643645d3225df38ba50a50ea013b4b2a86ee1f76278e27f5a4142f034004b567f309c52acca3c7530162ed744a67481ca338861ccc3e8331e1c67886023743719493cc3caea51438e28ac4ea06b906789a65220e3c7407c874c6322be1f9b627386081753ad618a8dcc013395f20f5017ae2b57ba908617490460d5a67fae2660a56c4c4d97babda0bae0f494260877f7077af2536b2ca46e297c61dd8422bbe515519210dabc02e7047b13f16607ac15e4950574c43bf8c39a2528addfa2782506635e5626967a1f30c02fa3442fa93250571a8173999a88dc27b43c476468a6a4739972dc1b68493413a2743b9b563283cc886916eca5887796a4f833aaed6639b9d531efe5cadf9225573a23664c9cea086428dcd19ff40a06186a41fec0723953781475f648e6eec2929feac2a86c9dacfa6214e2e353fda2d547c3829f5678025ff8418a1a76eae84d11c4528382828f7a689a0d5cff87b8ca0bba97feacb39b935a8788cb -m = 74f1d52af09b12c36eb062ea7528550cb4c18a3ce8e4f4ea9fac43ae383bc925 -ct = a91f16faffad2674d7e14b4ca55f230d862469e3fd04e9ffbad5683615ade14cce1b9c911004c7b3d9b934a6c9294544d6cd1d3b97fdac0d5befb7303f349fa70739a9c9017a0eba508367b01d14733bb3c7dc8334eb2177fc553b7423bc340412e57bfbfc622e45d32e2715c37cdf1c856173cb214673a4cc53c79afcfe81535d66f2a60f1272ada087aebd39e86e820cea4d94e9271a1962127e4b9fc49fa67f9f3bd931373bf8b10b813917a339848aee8dd118182e5c2d9cae2c3fc1421474b78c108804ab7b3b546f46b7862d65bb28d33e260caedc91583efb84b0535bd17c6cb4461e05253945700716e1c40cb829e729136e5073b0b86364934e26f25babbe1d1f1f0d9e625df872e6c136832e1d4ccee3ec60126ed28841bb39a390a6f9289b4878224e3e857b1becb231099822f337ee5a69577d3522174f7fb4e6b539caa67734ed07bd8f73abe46efb903b5b9965fb414720ce5a8bb43dc13d441d4c62f10d4afd7fc574dc802e15156c7fc4c76551c11ce3d2c7adefba4abd98586577bf0a9b54b0a433093b9af348af3c5f8e4fef6c07c0a0de1866f4ba1244dc4b815909fbd5397f0872079def58563d5e044066d898a9d738d8e5f4979980ada72855e3c8994be26c8670b8a4ecfcccea8809af9b692fa184376c739a99cb46a050c825df16039b92afce8d9f8894895a189bb544130a11096abb902ea8924a13c81e00c7927c0d28b4ead8e859cec719fe9c914b0dde9b36ab400135ad3a21382fcfaad250a6609b971867a5eecaff42a8ae051bce111c4a154f15c3fafcd92657a65f179e0fb050b2e4db6e8cecaaac4de222fef1b502b55f327a0e2e17059073e03c1afb260b2242bc90bfc0ed6a035bcc5c8a56c36cab2f12ab315f174750b6ca4fc7e9c1734b652d3fd97a1ef442b7ba7353faf2baa855ebfa3e329a4901d3b82a23b49513550d432d29b4098d31874e9772cec94b208ac079accd959a4d71979b57a7ad48b7ca2e06545cc85293f7ed2f6cf474dbbaa31efe9f09b2191076db3b691e3cc790e35d249d2f37b3aa045eee5d2d15e953bfa0a7ad6442d87c3d51f319a0e9b69f0d6c1869216348a033ed2331d9ae51e2f5bd0491ec12739bb567436f5f1d425faa076565d868e7ba2e60c30e61c3dc9158c8245ea97ca49c5697a721fb0cc21c069d1064bab42b1faeb337fec21416fa7456743a7ff7d523b3455035b590b2cb39adad6a290723837ec393d468721dbd5fcc116022f7df742353863675db7d83eb7ae2e71cde3623b0abe8c7bc8aa50c5e875f158802e3e3b115a3bb4728e111e09ca5226aacd911c70b737d7839c9fa2393734d06ac51e1dc80166ed17ba95a10b20e65494289598ca8ebfd57fe8290f7ab7ca8942fbeeb8d017fe52823f2bb7263c2c029e445375b0523ca565be10ec0c7bbcc14eeb49ab97a382e315495f496672f8a8b293622af02c74d4db911c735ea9ead60ed4427dc68e45e8449c0196355a593e6b84e42717f32c9ed2404e72b508f447e87 -ss = f804333e26c5981eb749e8e9fecbe8f8886e493cf8013a6760a1bf5d4a37200e +sk = 818b55fa5ac30a81891f3a3643924b2b046feb6765a61cc81c9059d1f82f6a0067a102825c88a530d15f0dd95f0b4742d29abe7044c62d45a05bdac46130305e3c3417d67f60b92edeb6b2a398119ad160ee3cb0fb52144435a5bb5412c0512dc6121bf6e72d0f87a3834ab5338196fdc950a3cb1b7354c4e50369bd4364cee9066a221dfcd580f1b914c0c335f547748bb19264b7879f206a9c610573b8676bd0bdfd777a2a0ca5ec891a1317c5289784de114e84c53b983778bf8933805256c9a9bd05a11af8f5ac271ac3f1e635eb9a8263c855bb230f58ea3b7e8287d76258aa57646b97560e593944c4cb3567a2c382a795c991f69bc2df2cba8837c9a3b58a9dac5e4d84b50722a144737ea38b14be51c41cc55c53340ed158ab4a0b0f0a2612962b89cc2aa8b29198f2e04b0f0cb586f271c6414f31a71a45eccda8c597c38415d262571bf0a7bfa17115e0c7731c70c2d01c492c85de16c511102c5a96973c724f3b58b504eb65f56116aa7779b76b2554736d9d6176dfc6ba007a590a311d4b86a7a6251fffe6086ab3319db48c4dcb91fe680f45a9480241242e4ac9861b62860837cc813fadf00751c8021f7a1c4d7a1e5f13bc3e8462f372cd7498197d172eff98b1f8bbc37974b025295a80e3525d282fba8467f8079d78fa6068e23bdbb3349a31506e474ea228c3927a554d7747bd3621a0343cb155bc786075c3015c3692c0fc65b194a12152a14153a03d5147b0cdb423a3b50ed6461813f9ae1fd63ab7a53031dac2d0f87cacd1cb81461c8c08bf367c4ccae7626343469d417acc705546293498035195240387fb1f2e7c005de000e530b9e21cc7dbe463e7d24adeac1127026843b87cf6fc1bb94674399b0636506b1acab72f623adef866f883762b5b4509cbb2be142c5c550046e10d29fa431f9b7d977253928a8d2d4c33add899ad736b40cb4fc656be02d90bf8d393d632a1ab509c432511f1ca16b01139cb0627f6503bba75440414af97a04bc5239567c060ef94c9ba7221d4612eaa640bdbb8b72e32a4668401aa79421ba68115261a8d94878c90a0468510b247968b7463ff49a0578044c5e9147f0739f6a17b18828bdcf56966b1caa125cde7ba6dce939e56d350e896ca6219a6b8947e3909361754593fb8a85e742cacb74e1d45704fa4cfc91c142453ba5c08558de1321ad6a6a2804769a0bf69770a1264ba5148b40a3a9be3c513a382cfa3c244c9a138ea9cb8da7627b350cff87ab064a079876893d893250ef59f369c41f9ea40daa5a5984c19ce06cf9bec2947932133a4157bb8cc3c72a1fd25715962a9c88026c018b7202885224019466540c9eb5482a87e665157be7722bc64133c827c20b97d9e692342f23fdb1b75ab2ccb6fa5973820b92ef1bb45c2b5ed1330c1417ccfb39fc6301b8a749d3613b3803a6abba20990151305cb32ba6a5b558265c2e27d8d49aef3e91819920db20360355919d5f641922233a1c24c0045172cb10f9564a029f07578a48a4d215248f3ac7a912ef8e56e366b03c567ab978c750d85454c68a5806ac38b7b3395f19fe78a001c5867d3e90e9b54bd63954761ab7f4a57b1fa32b65f285742c1207aa0684c376ba98c3a0415a3bfb0ab42d0a3d68cb171109c5f83147c33adda2cb07c62a9025b44523b0ae4cb8a8bea5e550b717ca6c8271997cfd6c5ed76aa44e43da2a02d35610787f22966298ffbb45fd78a8d36eab454675d6951a70472caf06640bc1b97d6760e74b41c577855bc0756abe528eb4894e8776f1e739da45a9f84c9bf3c72b43262525b547f75176ab2e12d8ea808d3b0355766bd69d964eb3b450a96c835d7b238220febd62443b03985731333c54382d20200e30e4cbb2b607ac998f20def865bdf47ce78ac3dbc1abe33245d6fa7583b31b6fe7b6ede7a8ec776b20f7bbe7e376578f0933b761bb0952161123d61282cd6c80cdc8a85f9632aba1a8ef5925e410bb80beabc67735d07e4abdd587827745a3220a24a7b3902416befab3073c2cb1fa76ff04315b653b3e7c18343391f92015939829dabd0289b5aabc4cb5335d963ab842865bb7c38106eb1274eccd0140b415901279e8719c0415517b5101394f78a48f565317909371a3154d291698b0bede17052f30786dc2d46e71edc438c288cbd44445f993926bff0a8ca1a033b656c2362a659eabbcf37b2cb5916940aa9b3e850e51039c08c8588347e1099a0d8380ccc4b8cd0c87218bc24f09126a82a3d530a75500254510ac765cc1de612a4ceb14db78a7141109f947b4329158f87e4c8b41a92afccc9eb749d66a71159db90e7a36642636af22cc0d541ce52db7ab44baf30560691a637c93193a11a00efec075289953fdc9df3ec3390342aee44c08d661632fb0303681e1f89ce1300b0c1a36e63e5a45886a4c76534fa78b87a75cf96ac66205c28766ba5eef7062363c19091c61c543d5c1b8a547372515722ee515e8ef52bf8e089d93377e2c8458e626d3391953d658cdb05c7a40077f4e19dc0b132be719014c12b0cc242466112e94809630b63fad12c99d271dbd38e5afa54c894542b940415354203a0c8a785ab94200ee0cb976991c642257d9af6998b61ba27b236fdfab86f834fb2d47cc0904b9d6acd2f8311f0d4b8ad81a24f712d92272587220e8023a8bc13bd17572d38851778f319607752466cb0de7c5c12103fae4c57d953b96be93262ba9cb05405a5d2a9e012b21a22a2ef33a385c898c80aa9663565b63241a1b206f3379abe8262cfa49ba05c3b43e9485e60cd38d66eaed114ef81afd66b2594baa361d3c3b02069b1a164bc387632e24c82a91be2ca390eb585e900173699a8b26b8916e52bd643645d3225df38ba50a50ea013b4b2a86ee1f76278e27f5a4142f034004b567f309c52acca3c7530162ed744a67481ca338861ccc3e8331e1c67886023743719493cc3caea51438e28ac4ea06b906789a65220e3c7407c874c6322be1f9b627386081753ad618a8dcc013395f20f5017ae2b57ba908617490460d5a67fae2660a56c4c4d97babda0bae0f494260877f7077af2536b2ca46e297c61dd8422bbe515519210dabc02e7047b13f16607ac15e4950574c43bf8c39a2528addfa2782506635e5626967a1f30c02fa3442fa93250571a8173999a88dc27b43c476468a6a4739972dc1b68493413a2743b9b563283cc886916eca5887796a4f833aaed6639b9d531efe5cadf9225573a23664c9cea086428dcd19ff40a06186a41fec0723953781475f648e6eec2929feac2a86c9dacfa6214e2e353fda2d547c3829f5678025ff8418a1a40b4e01e03f62e5f489c39c78d387bb33b526ceb6907734a5f788209ae3c2647 +m = adf233a4311b157829d49a0bcb633571230f7060f3ce655551aed8be8961d1ca +ct = 8fdc65bb37e3567deabdc678f45a8c16ac5ea2d77cdf67b2e99b884aa1bdbc47412b9459e8dee983626e3e582c7b013c170b13f98d5bfe221c0df63e9e811579194e7c4956bd0b8c6c0c946393c9159c964258239c29f5b15ff2392a2c465f859c614e548e87ce2a30942e66377e8cc1e6f17d1bb1ba1dbf5c60a607dbe4518cccaad2bc7aacdfb996bf5a413f00b7a102ddf999a6f0a0edbd2cb8cbf0d03efb41131cea1b5c698194cc7e1ea59e648fe0846416792eed6c4d75cd01b7452d3c8b6e417aaaafbe6a915a356b0751d57979f29fe094d486c0e0203680e38456c4df909d60b4bd8b3ceea85cbbb1fe49b4f859df81b0bf6db26eabf7adeee17a003ece129257e905da0f02a0091e1d75225003570ef89d6ad8e0fd2c0c4e569b6033e3f5f5059f803b3e555f39f9d4bc16257d3ef42f31d28776a05fb545856e46f1cf9173bac6ebd8843e2925773147f294598f09df08abc6a81733d75b7cfca44adae122a0a607cd6ca9e34b88b83ad256658a661bab300f6bd242cfe6ad1d630cc88de3322d46044f8e373cccb7c5d9fdbeab00fcd41cc44997f0d85b615f0fcb5aee489add8b73cbe287a5aff69d241c13c1bdf6eb0da899e7f86d803f9ed5bf90563c1e80aede5c86adc5680bda1985321076b41a76f35abddce9cb32056d9dfe304d1cacb5b11a906ea470fb4e1a28618fcafbcedcf2816a601fca55232503b2a992cce70e317fed28def3e864ddffd519cdb0a2489cc732a8fd57d8ee270ef3e3f97f2102c9d5e088700b80b7469ff98db610102a1b39fa48679acf57f0e9d2d3c83035b5a2bee5f58741c02bfb6f20d07c42070d4a1ae9da64301a279646ccaec0b43d3b77fd2b43b220dbbe83bbc8d47d58f01d2178509276a2099d855e3cded97e2a6d92a6acb9ea84422aa90a809548c8ff689e0755087ca0e97f5710f11bf56d10078846d470a3a6a061b6f0346490574ba41bb935e413b2cf8904012cfc4213b117ff5906e48830291a7b21786f3efe737f0dba88c5a0cbd42578f8f80465477b39354555d15ea6f3ea88df3b9748d6083beb47e903d7baa3497df57405ba8d7309f3bb918279668f8944314cdcc18e4a334fd28b4d8f088dcf82a9ccfda9c76986c9d83ee864671a5b4216f5f5331b9bed7a04d5eb1dfb8023794fc462b71108846e2a0dedaf9271c738687676319ab294ca123e06b599cf960774996d663f68b0c028f4d75125d7af4f55b1da98f28ee05c27270a482e55197bbe73e1b4e59fe98ae9a8c14ff54bebba433684456929272e1d75fae8271d1c207b4083974608e0afccf2ef3f10907a99289ed8b346eaaf220a97f82718bf782f9d7e2991f3be12a1dcc8562b4beb9d4429842da04fecab26072c2bdc93e14aca49eb21495e7d2615c97794795c0bca0c0e4573ca760c0f38ab263eacda3274bd4b9262981b742e3a2ee746b6c626e9aaa010503c48db62d09f437f26b3a22f74e2c7d6bb929751374a37fd92e51f6eb6cc8fad29a5bd64ad247593b5dedeb9ff +ss = 4e366c3d6ea9da570b650ed2909e11a8e372daf4d580050958f116fb41bac319 d = 5cbb141c2763425c274f7404fe530d9116e08c33f9f200a20b011cf563a28990 -z = fc9ebbe336dc464489861db8253606971bd0a9008a433ed17752d04023781552 +z = 870a300648d2b1f1a637374278bc62b5abb56380cde88eacfbadb3224795a125 pk = c8735813347c3c7c05f81a176264a5ff791d9801af88047574008c870635457126b4069071242c24dc0977a8c13d43b889d27f08984d9ea657d241922bb12aa28a1408825b02663b970778bf669d585a975abba6bcf8513c11bc73a0c33897991c3428a5cb4dfed155b9a2909e6597dd8cac1ad62f9cfbcb27088860512859761885c5b6c5d89fd6b18f9e324ee8f80b4c507626762a22f4cb7f4527527896aaa97a69b8aa4fb09b16cbafd73a667e9cb085f7ca36067d4f740694e6c83c671071762fbba26a640c86422197894caf01b0af66960651998073ba7fccd3189148187ba22dd2661262766399a6b8bb943aedc590fa048816d1b9d827ca80935d30e1830c8115b18b754f20acd7a376272c119cc8210c9aa112d604b2022326f51ad674aa1579c081f12df04a9a2b4571fc1c21a8a4ae2c701eb2ebb0ce65cd2fc22fee530fb3daa6d82b3d46e33e9c918f6d33abaec34f45391245453ef4d128c4c068227a6511800d69f6a31a1421e2d322f897145961abea377c9393acbfa72ab3c3aaf7f04ddad50077e7c36ac46e083075265c58db4b7b47da253b8a9361c08a1248b53098c6b797622e228939f110ece18c02ac613e00b624c61eff4524f92c1ea632553d9b90cd886fd2c364b25c877459ba6de0ac8cc2a8b0f2c6d71a051f8727c2892d1934857eb995a8d728b9739872ea472e6602f2c39484d290109ba924933d6ae52c30eb4d80935f0d2c87d4dabf07582cae3c2f21692f0825c079ea6700065a6086b197582b76cac90a58451d7479965475ac8a6af662c7d23055c404246264c97bd23d280b43cdeb59be0cb31e04474cacc4a1453fa10a9e1e4050f97ca3e9ab31e561ab18cb3af721570380023a9349ed6bbc5df66bb243928dd3a4b5e113a0f99725c9c8bf673818b89030db28edc536c9620a1625c8a647bd3d7055039753e11c4b1be3ae79eb565e6367690b5338c554cfda9369e9b1ba75651a0234d2325ed82369bcd415089692547b325ef28189482714c80dcdc5bff72a6152b70ac2f16707c63a42830dd6cb88ee646d882338d3dcb202408fc5210c71d1a8ba02b8c2ab7e06e43ccd85ce39a215e67914369c749c3978778592d9e34b7671283dc787446b5b70a32c4c1ca4613b01a5d0bfe55016b897130d1bcfb49bb5f08c5df9f15b6d531b06c53a389500675aafca9700fbc310fff968300360ab631ad95649f0bb47e55b90b2593d9a60bb0477ba848c0db9f8bf6c774cf8348c65695b31b921e4439e976b4306a47069c25e4a7515866c0bd77b44c7881121025cd2f28430383600e4ba0bd28074b7bbf2a2a3bd62a73ba240d644ab1f89ace0c8a83ae62f642237de265765458d6744273e4372add9cf5215bd39fa516575bad72034288ca3e0d3be57dbc7ada731f5f13fc0252bc5a9213f502c342a451b933d3060a2ad8a9c13013e3d93455327c187547809fa57faa299a843a251f8368a715508c32aa57a42f9551520433f9675add0359c5997c341464264986fcf67261d16b7a6989ee33730754a2ca0f66b6c98cb421c8e4b36002561b1a5550b93b144d5552afee236357c8093932829f864963159a8e7ca992b8fae006190b55c6a4fc08ad10190d2a178865abfa35607e1a88b47ec8ea71b102d7f1567bed46a -sk = 91c087e623025864c3c5d9049e865c6226cdd2b39f8a1578eb69a864ccb2fa155db32702def5b50e973495997e18c6c21756568802a4bbb86c5018016fcb0655b09e6a4b39a8ba2d70e32bbb255bdd296c998a21f5716d49968dd02a9c4f4cb9dc72c874c232011225f8e8840f7589c2d285c1e72c8588c0a33a502a385d0527186cc6809185408e9c7fe6262725528a439332f93a5ba2943e6dd7b30d79a25939a4c0802bf57c755a5a0ebbdc8390f8aee407a541c46cb1530fe1642215556d20ab942ddbcd1627826648acc3fa1367db0b45075470196b46697d9ec6974f477eda553f80b701e853398c69a6e4970a746534928631e6b811e533a4d1e89cdd6969bfe0c861d2cec3e16d0035bb50573ed61b5dbd45c8c5b223cef4266c5a6daf104949eabd27d3319bf12a7aaa4e5f636732b28e902a1098972977d98c00a267225b84af1c8c404a52472b8d1a793e370b17a9935ee590331256620e302e390474dd6a17d17a50291b6bb940bc43f89fdd22109a72c8ecf9acb1e67ef6a423396225e6acbff2880c35673135c5183ba37df968330ce992dae04e9455267a195a41893194bc51c67393251a11ed3c0829d99a3d23ceaa387208e00974e73178459bda539bcbe89f5eeb05ee21be3b1159018a3262120c21d4972aba1a1350231d3a646ba70fa5b641ebea1b130470a5ec7c40627035b03d15696be1313b458cc9ac8460cf281a6976a9d2ccaeb9fb157300b4289a55eca386d3d8a7d16c21102aacf361578010042c3a6397e2cb2ea5224141a1d451b38fac14d7b64bd7b72db17408b0a8906cec108bb926df54299261b6b5c6a636b395acb651ce6b6018ea9c92c1525de1624b5570f7000466cc09a909cf36f34687265b61db6bf2882514705fb37346385cbf4df33b98686e0189bddea7268f598db1b6cc7b32792d5546e242a807e760ece7080392823004453048c6f743b87c1670c6d10e3001008a24590294bc9ac899bd588197530fef9c2b85ac66520a195c77a7aff61672c8cb74c07d43a2bab7a764e750663091a005c9af8cc4b55d502169d4293e79b365f60085b1cc2f4900541588819b5edcaa3b80253178639f63a3091701c7e7b04e95435bdd2114bbd3abefb23355591b0ff102bc94b56b338083b82328712733f2762c5b1d0845073cb3b46aa28ce2cb282a4347f2118a6e062d7e8524147545488a01378a853d489c03eb0c6527307fb0ca5f7aab6c328438d33cedc10733ab8a68c7ab88e0b06fc51c92c557fd59488b6245796b7dc291728121bc7643aa5d56c483186cb55086d7e8654691cd5eb97580f0a553a2613c486c0b9566a6f05f9d2b82b57345aeec1368cc126ac53b9e794be471c16a498b743c1848a14d53478fc341a0ada42bc2e0717fb6965737876468515195050d64079d624da1596f88819fdf95653b8217f9885d151821a9529420ac95dd928fc429674025882c9758226194615304f1f5caaa456182c1bb11f0a02b6c758eec4ab6441879a42450a024559697c4494d8aac2f7045342234cd8081c0077c9232e66838460ea26274329988af3a82b898c4efb033ff4101f302a898e84bcedcc45e369cd1bb7f3517280d6655c8735813347c3c7c05f81a176264a5ff791d9801af88047574008c870635457126b4069071242c24dc0977a8c13d43b889d27f08984d9ea657d241922bb12aa28a1408825b02663b970778bf669d585a975abba6bcf8513c11bc73a0c33897991c3428a5cb4dfed155b9a2909e6597dd8cac1ad62f9cfbcb27088860512859761885c5b6c5d89fd6b18f9e324ee8f80b4c507626762a22f4cb7f4527527896aaa97a69b8aa4fb09b16cbafd73a667e9cb085f7ca36067d4f740694e6c83c671071762fbba26a640c86422197894caf01b0af66960651998073ba7fccd3189148187ba22dd2661262766399a6b8bb943aedc590fa048816d1b9d827ca80935d30e1830c8115b18b754f20acd7a376272c119cc8210c9aa112d604b2022326f51ad674aa1579c081f12df04a9a2b4571fc1c21a8a4ae2c701eb2ebb0ce65cd2fc22fee530fb3daa6d82b3d46e33e9c918f6d33abaec34f45391245453ef4d128c4c068227a6511800d69f6a31a1421e2d322f897145961abea377c9393acbfa72ab3c3aaf7f04ddad50077e7c36ac46e083075265c58db4b7b47da253b8a9361c08a1248b53098c6b797622e228939f110ece18c02ac613e00b624c61eff4524f92c1ea632553d9b90cd886fd2c364b25c877459ba6de0ac8cc2a8b0f2c6d71a051f8727c2892d1934857eb995a8d728b9739872ea472e6602f2c39484d290109ba924933d6ae52c30eb4d80935f0d2c87d4dabf07582cae3c2f21692f0825c079ea6700065a6086b197582b76cac90a58451d7479965475ac8a6af662c7d23055c404246264c97bd23d280b43cdeb59be0cb31e04474cacc4a1453fa10a9e1e4050f97ca3e9ab31e561ab18cb3af721570380023a9349ed6bbc5df66bb243928dd3a4b5e113a0f99725c9c8bf673818b89030db28edc536c9620a1625c8a647bd3d7055039753e11c4b1be3ae79eb565e6367690b5338c554cfda9369e9b1ba75651a0234d2325ed82369bcd415089692547b325ef28189482714c80dcdc5bff72a6152b70ac2f16707c63a42830dd6cb88ee646d882338d3dcb202408fc5210c71d1a8ba02b8c2ab7e06e43ccd85ce39a215e67914369c749c3978778592d9e34b7671283dc787446b5b70a32c4c1ca4613b01a5d0bfe55016b897130d1bcfb49bb5f08c5df9f15b6d531b06c53a389500675aafca9700fbc310fff968300360ab631ad95649f0bb47e55b90b2593d9a60bb0477ba848c0db9f8bf6c774cf8348c65695b31b921e4439e976b4306a47069c25e4a7515866c0bd77b44c7881121025cd2f28430383600e4ba0bd28074b7bbf2a2a3bd62a73ba240d644ab1f89ace0c8a83ae62f642237de265765458d6744273e4372add9cf5215bd39fa516575bad72034288ca3e0d3be57dbc7ada731f5f13fc0252bc5a9213f502c342a451b933d3060a2ad8a9c13013e3d93455327c187547809fa57faa299a843a251f8368a715508c32aa57a42f9551520433f9675add0359c5997c341464264986fcf67261d16b7a6989ee33730754a2ca0f66b6c98cb421c8e4b36002561b1a5550b93b144d5552afee236357c8093932829f864963159a8e7ca992b8fae006190b55c6a4fc08ad10190d2a178865abfa35607e1a88b47ec8ea71b102d7f1567bed46ac74f3b7fa6e2ef8ce99508c89cf3c71d666ab065a262581a5fb01b2c9b9444fafc9ebbe336dc464489861db8253606971bd0a9008a433ed17752d04023781552 -m = 4b3a70d85f640d1a2a852fb6fe96704af56a7415a8ee4282e9207bc3a2dc116a -ct = eedf2d6926813f52f9128c8ec075ed6b5d0b8b0bbef802e11d302b47a3e53ffb33c246e79cec593aed58a77b29c69dac0e76b0a2b69c596aca154034aedf3de6bec9f7a0a3d1ef7b4e05efb0789670e0575fd82a042e35ea81b9af40546b266b42828439e1baa4a58d3dbbeb1935578a5d6556f48a839311218f47b18e99cf20e406d968f446c575128e4aefa43943f9804b6aafe944aa03682f5fca2db078b6cff32834828fbf0dad0ddcb41d20ac649a65e009666644b0d3337fbf8d0ce4a95bcdb22aa816bc8037f5dd83ad82cf49e2a9089b778691efbd5688b2f544cd67d419b6f230cc008fb0ab871c2825ea97ee31d4d72f2970d95276e5f3e156021c595cf1d522b8ab8cd3ae352519a3c733f7eb6a35564d8722725e5cafb40cd178e3c680f6d531fdf024c0253bd0b9f2613662a35673f68bd1a9c322229c5804e594b7a5bf0ef05e10da09dda2ae2caf143279a60586e9fbc920cf6ade5b03842eb71bd4f38107c065642f0d80cd10bb866c9c2e422b6b506277c7f87e4a2957a0af81c276a3fa84fdcaf11c50d708c798b1b136895fe50528d14df38e74b173823750f7c1efd787402f9c67d5cda236af22d2e189cce0afdcc1b6f96163c2c4dd65891e2e39683f5472fdadbd3d4edf0ac320fd157c0ba236e98b6002e58b42ab9010e27028625d9dbf17eb8de52ae9928c6390d7ead758e62c21367aa2d24f07302c6fba6b5e220467ef632cb331353f62d13c385ccbae56dcd7b5c7a915855f24c41107b3e512572c31ff5ca29dd7cac21a831ec1076d7debeae0e51471dabec57758eaa84903cfcb4710188287c07e5e87ff678d5ce229edc40f532983ffbdfabfdb0dc4b14c74170b4a2b575c1e929c9466633fb78dd1cf72a42ee3d9ba4e0366feea959dd1056e38e18fa56b7b4c6ad7722048d8f3e639823bf26ce29333e60088b7c7c097229d784abd1326b2c65df4143ce50579be5df3f66ffa725346f0508ec94a4611ad088db7c3f7825d5a8d0c7cf5e90fc9aac1000d62f3366ce0ec54836ffbae061a5cefd72946d356ffec1d2047b7f269ece849a1473e83ac86bbc3f705c0980f380faede71d5aa64a64c0f3372aa3b0f03b4850e1a1d17715d0b546a0d1959f739d520e330627bfeb52519b209255dcc60d6c7f25d0a256e15cf932fc98a392fc390caf61fd3855f2e9d871e163e08e9d70a895bfe95edf93432b98e330c7b228708dc2947b13fb3757a9be1bdedd859efe809650d92bee40d6c4029ac4b41c8f55188e56bfcb5ef665a11fcf62acedbc0ad627b46acbb9444725aad4a6dc8eb45ac1099f48e451cbef50c71e10149d91467bb04582cbf7b7b3f26899e22db449fd5c53dbff4bcef470f622c50f133611d7f3f9f8eee66f1142cc8218580bb42f84aa7e6083c3ebc0df6571a0425b2dce8d1f83a5a2c97f055479ded547b8836b7bede8177818eaa65cb9286172d9c9e5ac9c7f01aac5421f6826147dd0efbcfd92bb4156b03d2b3ad62a0ebbd28b879fe5e6f43881000c521 -ss = eb9b44605e6b8ff3a59e567c1c16c6f96b6079f8e2c4d70f706d30df82f09902 +sk = 91c087e623025864c3c5d9049e865c6226cdd2b39f8a1578eb69a864ccb2fa155db32702def5b50e973495997e18c6c21756568802a4bbb86c5018016fcb0655b09e6a4b39a8ba2d70e32bbb255bdd296c998a21f5716d49968dd02a9c4f4cb9dc72c874c232011225f8e8840f7589c2d285c1e72c8588c0a33a502a385d0527186cc6809185408e9c7fe6262725528a439332f93a5ba2943e6dd7b30d79a25939a4c0802bf57c755a5a0ebbdc8390f8aee407a541c46cb1530fe1642215556d20ab942ddbcd1627826648acc3fa1367db0b45075470196b46697d9ec6974f477eda553f80b701e853398c69a6e4970a746534928631e6b811e533a4d1e89cdd6969bfe0c861d2cec3e16d0035bb50573ed61b5dbd45c8c5b223cef4266c5a6daf104949eabd27d3319bf12a7aaa4e5f636732b28e902a1098972977d98c00a267225b84af1c8c404a52472b8d1a793e370b17a9935ee590331256620e302e390474dd6a17d17a50291b6bb940bc43f89fdd22109a72c8ecf9acb1e67ef6a423396225e6acbff2880c35673135c5183ba37df968330ce992dae04e9455267a195a41893194bc51c67393251a11ed3c0829d99a3d23ceaa387208e00974e73178459bda539bcbe89f5eeb05ee21be3b1159018a3262120c21d4972aba1a1350231d3a646ba70fa5b641ebea1b130470a5ec7c40627035b03d15696be1313b458cc9ac8460cf281a6976a9d2ccaeb9fb157300b4289a55eca386d3d8a7d16c21102aacf361578010042c3a6397e2cb2ea5224141a1d451b38fac14d7b64bd7b72db17408b0a8906cec108bb926df54299261b6b5c6a636b395acb651ce6b6018ea9c92c1525de1624b5570f7000466cc09a909cf36f34687265b61db6bf2882514705fb37346385cbf4df33b98686e0189bddea7268f598db1b6cc7b32792d5546e242a807e760ece7080392823004453048c6f743b87c1670c6d10e3001008a24590294bc9ac899bd588197530fef9c2b85ac66520a195c77a7aff61672c8cb74c07d43a2bab7a764e750663091a005c9af8cc4b55d502169d4293e79b365f60085b1cc2f4900541588819b5edcaa3b80253178639f63a3091701c7e7b04e95435bdd2114bbd3abefb23355591b0ff102bc94b56b338083b82328712733f2762c5b1d0845073cb3b46aa28ce2cb282a4347f2118a6e062d7e8524147545488a01378a853d489c03eb0c6527307fb0ca5f7aab6c328438d33cedc10733ab8a68c7ab88e0b06fc51c92c557fd59488b6245796b7dc291728121bc7643aa5d56c483186cb55086d7e8654691cd5eb97580f0a553a2613c486c0b9566a6f05f9d2b82b57345aeec1368cc126ac53b9e794be471c16a498b743c1848a14d53478fc341a0ada42bc2e0717fb6965737876468515195050d64079d624da1596f88819fdf95653b8217f9885d151821a9529420ac95dd928fc429674025882c9758226194615304f1f5caaa456182c1bb11f0a02b6c758eec4ab6441879a42450a024559697c4494d8aac2f7045342234cd8081c0077c9232e66838460ea26274329988af3a82b898c4efb033ff4101f302a898e84bcedcc45e369cd1bb7f3517280d6655c8735813347c3c7c05f81a176264a5ff791d9801af88047574008c870635457126b4069071242c24dc0977a8c13d43b889d27f08984d9ea657d241922bb12aa28a1408825b02663b970778bf669d585a975abba6bcf8513c11bc73a0c33897991c3428a5cb4dfed155b9a2909e6597dd8cac1ad62f9cfbcb27088860512859761885c5b6c5d89fd6b18f9e324ee8f80b4c507626762a22f4cb7f4527527896aaa97a69b8aa4fb09b16cbafd73a667e9cb085f7ca36067d4f740694e6c83c671071762fbba26a640c86422197894caf01b0af66960651998073ba7fccd3189148187ba22dd2661262766399a6b8bb943aedc590fa048816d1b9d827ca80935d30e1830c8115b18b754f20acd7a376272c119cc8210c9aa112d604b2022326f51ad674aa1579c081f12df04a9a2b4571fc1c21a8a4ae2c701eb2ebb0ce65cd2fc22fee530fb3daa6d82b3d46e33e9c918f6d33abaec34f45391245453ef4d128c4c068227a6511800d69f6a31a1421e2d322f897145961abea377c9393acbfa72ab3c3aaf7f04ddad50077e7c36ac46e083075265c58db4b7b47da253b8a9361c08a1248b53098c6b797622e228939f110ece18c02ac613e00b624c61eff4524f92c1ea632553d9b90cd886fd2c364b25c877459ba6de0ac8cc2a8b0f2c6d71a051f8727c2892d1934857eb995a8d728b9739872ea472e6602f2c39484d290109ba924933d6ae52c30eb4d80935f0d2c87d4dabf07582cae3c2f21692f0825c079ea6700065a6086b197582b76cac90a58451d7479965475ac8a6af662c7d23055c404246264c97bd23d280b43cdeb59be0cb31e04474cacc4a1453fa10a9e1e4050f97ca3e9ab31e561ab18cb3af721570380023a9349ed6bbc5df66bb243928dd3a4b5e113a0f99725c9c8bf673818b89030db28edc536c9620a1625c8a647bd3d7055039753e11c4b1be3ae79eb565e6367690b5338c554cfda9369e9b1ba75651a0234d2325ed82369bcd415089692547b325ef28189482714c80dcdc5bff72a6152b70ac2f16707c63a42830dd6cb88ee646d882338d3dcb202408fc5210c71d1a8ba02b8c2ab7e06e43ccd85ce39a215e67914369c749c3978778592d9e34b7671283dc787446b5b70a32c4c1ca4613b01a5d0bfe55016b897130d1bcfb49bb5f08c5df9f15b6d531b06c53a389500675aafca9700fbc310fff968300360ab631ad95649f0bb47e55b90b2593d9a60bb0477ba848c0db9f8bf6c774cf8348c65695b31b921e4439e976b4306a47069c25e4a7515866c0bd77b44c7881121025cd2f28430383600e4ba0bd28074b7bbf2a2a3bd62a73ba240d644ab1f89ace0c8a83ae62f642237de265765458d6744273e4372add9cf5215bd39fa516575bad72034288ca3e0d3be57dbc7ada731f5f13fc0252bc5a9213f502c342a451b933d3060a2ad8a9c13013e3d93455327c187547809fa57faa299a843a251f8368a715508c32aa57a42f9551520433f9675add0359c5997c341464264986fcf67261d16b7a6989ee33730754a2ca0f66b6c98cb421c8e4b36002561b1a5550b93b144d5552afee236357c8093932829f864963159a8e7ca992b8fae006190b55c6a4fc08ad10190d2a178865abfa35607e1a88b47ec8ea71b102d7f1567bed46ac74f3b7fa6e2ef8ce99508c89cf3c71d666ab065a262581a5fb01b2c9b9444fa870a300648d2b1f1a637374278bc62b5abb56380cde88eacfbadb3224795a125 +m = 9db1c63ef94f37d77f386dfe00d619e2d6789fe8237028e79b7b1eed9c16ff5a +ct = 480c8398ac625c10c90ab69d0642d6c7ab10b5eca72552b0a1bfc09e48a39617c2952b820935ad8221abbdaf0e1e28252b8366c0b469455765e026730ee5c615e70dea87c93af1e17f44df2f0f89bcd8ff8a9a296e353ac08fa18f1394c951c0f0e572403840412c9e8e1ffdef061bf0f6cf3d882ec81447a9b3a791078b6ebb6f3fa22d4d2472ddd4fcd751e9982866192c8c1209911f629f3e096446da3a2318477d109372347afbb76f073a60828234f07ee095a100aa4696efb2d1ac500c6205ba7e2964f3baae12fce349044c20e78a51d9e6a99661139878ca0e23be6b4f0edeb48cad5f25cbf57d30af566792da7efea37a6cde073060307eb4835c6343bccba1ef6a3fa3e71a0c9be9dff5ae0df36dd218693aacfbbdfd7642e53d5000173fa705b6635bf5c1b0cf183426dd9da693bd77d161c70b3c961fe7d0a6755bd4a35da04a950be0c1aec5a07dbdc71baf05355719705fc3d63f3ce13df2eabd1e9d0ef026f2ae74c36f57f8a81be31f19162658894d83a9bbdc5f175db778e0a4c60c8f1dcbe688e49696bf7b54d95b06554f58eb1b62f585bbdedfb3b0ddfbf89297ae8507e9f1547bc75816c81a72a433b534b6b303c4d73af3d79d701b2df6ac711a403540ed664018dd00a07beebf99742a47e147d16150b075f5b23256f12564fafbebe317df96141e4367b4ec550c9d7a06f248bb6d42248054f7c250993d48df2870f0ee67c4e4a765acb45d414fefc659ff8aa7eabb4ffa5efb6b58923c5b603108738c3072da13be186ac334ede79860ccbd92a2088095d27141229bfd649d794d1369537271d5fecce4667300571e0c53e9ea5afbd61829da06803006236ed4d38adeea0efde8eb41e21c9a913cc07d7a21509cc505493e391de0edf0db280e276abdab73de4a1075ab8c9b1bc9819a65f918e810a6ac36d5485f6553f4c18139f7c235d6454d771b194024dff5861f21d85af3fdf4abe2abedebc073a54718a4a5029fef4ecbfc40d5c2840fc218e306224a3aa87fa59c9820d76630bf338102db97e8a598cfa8cf515b1a90224004ba189adc9ef0c557748de0720c1d1298fb1ffa119557e126d81941fc6a9479f80ea0888ae7a2a8d5ccf114b6428215a5dbc912a64ec29578d7343c11e33ba6546282d25db4daeded2d1c83ac532695939e550abb56964cb04ede28c48255bcb2b48803ece26bc42f509ae7ad084d402b1f2cb0a1869945ad35224cf82d1452e8c54b97c81b6fcbae9572992da8424ce5c8c6e4e09e2e295eb083fe02747da52687e4ddfe76211bb947c84c361213d9b21408a14144b85564a39104c9e63c7bf6b0bdd99cc36d13d4e54dbd3e83c2ed65f12df5b110be1a6799125bf323a663bcbb3b96d32c4bccfd820a583ba8b9b98b3dcd7d81fa9c9ebf433a926baeb11a56fd038703911cb9125d57926d9b08a4a51b7ce5ca6ac388f9a74065f40af6308a78e7f7f4c63264ec7540caf44087442e7fe7f9af7fffb2e971957d9ea07ae541656ddb0ff6c069b24aaf +ss = 5eccf621ab9a0c96475a8d23484f2f6eea704862e4291e628fee08fffe1e0d0b d = 293abb6d1c207927945417cf84883ef010823e11b487ed55239e466e83696d0c -z = ff8563038aad865a817cab9ce98846ba75be9363718ecf5fea538aea90b2a558 +z = 0914d81173bfd7729d81603deb601c93969b81c401e2b7b922b2873f8aa2d998 pk = 04a592c364aacb2c89689106aba29029c58ddf7050a2c78787358571aa506570288e747a4204c43e8c6020aa3e2d77b36c3440a618c55f3cae6d43b979786e6a181d4107cb723bb6d0729ce3eb98e7a979caea9508563d5a0b7a7ba55b8985b71f3c489b370d37a66ce048a9dd27ad17b38c66880491985b2af8916c547e9c6cb16b506170f29304c4393e8274ee254a3f13c6b0e31105442bf92799f21774be9a0f64970e6ab581626115a1aa3ee4da7936504d036b75be6046e5778f58caba93f8640bdb24982c17ba3445f2ab983b685644b596ef66acf739039ad0a3cd61bb80b000f7e8bf53f60ebe235c0bf22c7873aecc6b3ae2f3b2cc3bb47d1b88423a188393c43c4999c32a886807cc4262bcd5a588c5e1bf8ed6a6ea9910c19a6042679926f314e7c7c85bf550482735e7fa088c857ac1578560a1a2f7e831223cbde33a46632b7e24d400a82a8c7307c23d6ca25075b58e727673d7cb5554042cfb9b7f95b11a55a9fd63b1b9f0b60f6931a0ba1ad28b485753446b0005e8710d7189bf438407b8ba36a1687a48e550fa37cf4c6b591afcb0af6b8d2ea5a97b6c1729e7ae22e28f2082a5e653b5babb0d147a8748f2606ddcc7847c24f0d32771b910ccba85befcbd2b89c5035b2062e6b9bb40828902b82e12b752d48d52b7a6599ac014731e8da091cb30186c849b61954dff867899e5bf27428229376ac7d97fa03996160964abe56d3d0278f9f91fec6bc821fc822949ad5ec8a9d728b95b19052ad9442fa0527b3935f4697cfa3c7413ca2e81b32a57f69479e89760a46d710032efbb662f9467f0d03c806b619b9228135076fa235d502230e56669e2354c1b412ecfd01a429b5c76b17ae2ab99c73b4110957aa38c22c8fa39c00261c78aa571b953d868690761655ff700803a477917ac8a6105cbfc220a30a0cc1466d7598b2058b3899c567a71a66d5c9da75085686aa4ad4015100360c6102c84c336c13b229ff599dee4cb2c90a1516682330722da110f42f7c0a4f23a2089add65438dc66246671be41e7766641b4c9139777e08cb4d5b953e602931a7db3e1ce70d765516242ae8987454b898f19c5103bad39207bb16771b5d4191abbbdca9b5bea711081ca6521149b60975e02cc2250a355897960a8e203ba148f8be76452420d2134b607976f7809ce97597d8ca57337fbbd6748c03227607fa082195b49753c43047b95a020c7d195b01dd3cddc4c091916c37e447acb606f2d232c37c9871831c1fb9a8d00717762f18e62e7995a7393e0a82617da4674078d8f10065a28649e53377a88bb0f996d84fc83e9496564344d65b73ab96c4e887107d6c14488e604dfa15e55004fda8b65ae19006ea7c8a7471b354a4e746703d5c79857a02ec222b78b966ecf161d97ba7cf39b37fe173485a0156c3712a6ecb14e629899da9163709b672a243d1b87e15c0ad611419d85522252bb5a02ab725cb5eaea5bda73976d534a881b8c32c5328d117306fc5217aab89cf51c6174489ad241d1cb261d449f24a235fcd46fc19a8d14a4281906236738a060061a494947bd91604431b1a2871080616ee2e915863b2bf2d9cd86743b0cc12a5d21c6c745b34247c17f9447579fcb9bd38af3b64cc94782e299e1d98e68f8bcefa20d1e8db8552516 -sk = 817471e55466b5babf92a2ad879c9c951ba60d230add630984b2528f9aa07ff755d7d79a2f9ab53d8986fd90895d5401dd97ad3f7a922516279b5858f2087e6491b7bc42b8a52a5952f23622d5603a0a3152990cfd6ab9cd863345d8be5e295c06b79332b0ac89282e61e5534fe0aac95aca140398b64175235b94417b8799a4b6d6933a8b815bfbdccf886664e7b8c5cb0b999bdcb2bdb288d569666c421e2a950d198158c0d36ced3a74d9032ab7a2b9f276be025296a773266e516826480e520b844eb69710120373a94705f9030ca200a7f85a94db1f55d46081570925a476099c3ebdb32c532a6d8f16be4de6416d0c30d450808cd3c08131a92551985b92255282be6087703f182156a13cd144aca3924fd15492dfd253ee5c9e78853590930521e843a0e37a26994197b3161ee1a60861c344720286b6566796787b05cb8fd76a419c364f1830fe2bcd3a2970e2dac1dbbb3803f8053591b29bf64c2dc660ea9938200738e2c0c318b77ff86749c43c72f9667d80d462d549bdfea30cb0d9641b29308a461df72914b4b40213b62e68b161f83224c1a45472b5464f97c6d6371c69ca0d520426db8c1e938a934d50ae0b03be706b74cb8c674ea955a4d8ae1f6c0b56263041fca1871a5799921c45d9bbf13c01f0a9c5d973086b33acf923a2721c8b2fa7b058bb2e64f43bd80260b6bb19f26a4f55d53e7ccb1bfe3aa424976132c3b4b3a00908e722557a3657d285c8580ef45b76a207cb31a71402ba1ef280048378b80dc3312f78a74065b2dc873b22d37990e465e425b992722a25009a93a7a005d91b9460ab7c2336bd303883a151e829234c964265e42fbf8252cb89858d590cf0830e59c54021b83da94884a173be6bc454ad5a719252beb52a4f7544a7fbc03ce9091e9acc0568306e5bec2ed942b39a8455fa341b84571ac3fca43c14563f91395d117ab021c8f141a4ec7364ba4abdd8896bc6b281c751a66c767ac960ab52058335e14e7fd8a4e1d44de2670f9bbc67f682a0657530eba11c31381897d989bd392fae02d0afbaa5afa1748a80847af4b326f970c6161e15b212a1c66003a4317348374e66b29fe87f36d01af5f1c75be11bfea21dd8626765c46f0c153d0555b419227d50da5232810d8517b1a5e4147a52ad07012d8da23829f39a40c70d565937c58a11b1a25b27c8207246c4e1b40230e39e4f089d43d562ef954f332b7ea6b36ea28a9d26eb251ab562c0e44bd238874e93a4d3b900a4b2b08a0b68c2b82c0cb56325548da3316279672913d2021d742c3619823c4391e64112b5b77e8d707f9c1a37d3464cd5f96543f720a0cc6c9631458cd9cedea7b6fcaa76d1e60c44f74b986a772cf593ae712214e21179519c39fa533a724fe8177ea59b1123e831e1dc561543a7e559697572157b60499c4c615d02099d34b0738581061a85b2dcaaf13556208b3e5af388392490fc338dbc55bbf7d25f49f61bd7363cbe3841aafab88524b0ca3381f5b22dc84c6a112979c3c39e45157c0749c04b022f83f53733a21e1f1842e0e72f78c6ae1e337b53215ae8563b16d99ebd6225766185a0d92f9a28bbf4e2b444b7c8225148f601d014bbb8839b4b04a592c364aacb2c89689106aba29029c58ddf7050a2c78787358571aa506570288e747a4204c43e8c6020aa3e2d77b36c3440a618c55f3cae6d43b979786e6a181d4107cb723bb6d0729ce3eb98e7a979caea9508563d5a0b7a7ba55b8985b71f3c489b370d37a66ce048a9dd27ad17b38c66880491985b2af8916c547e9c6cb16b506170f29304c4393e8274ee254a3f13c6b0e31105442bf92799f21774be9a0f64970e6ab581626115a1aa3ee4da7936504d036b75be6046e5778f58caba93f8640bdb24982c17ba3445f2ab983b685644b596ef66acf739039ad0a3cd61bb80b000f7e8bf53f60ebe235c0bf22c7873aecc6b3ae2f3b2cc3bb47d1b88423a188393c43c4999c32a886807cc4262bcd5a588c5e1bf8ed6a6ea9910c19a6042679926f314e7c7c85bf550482735e7fa088c857ac1578560a1a2f7e831223cbde33a46632b7e24d400a82a8c7307c23d6ca25075b58e727673d7cb5554042cfb9b7f95b11a55a9fd63b1b9f0b60f6931a0ba1ad28b485753446b0005e8710d7189bf438407b8ba36a1687a48e550fa37cf4c6b591afcb0af6b8d2ea5a97b6c1729e7ae22e28f2082a5e653b5babb0d147a8748f2606ddcc7847c24f0d32771b910ccba85befcbd2b89c5035b2062e6b9bb40828902b82e12b752d48d52b7a6599ac014731e8da091cb30186c849b61954dff867899e5bf27428229376ac7d97fa03996160964abe56d3d0278f9f91fec6bc821fc822949ad5ec8a9d728b95b19052ad9442fa0527b3935f4697cfa3c7413ca2e81b32a57f69479e89760a46d710032efbb662f9467f0d03c806b619b9228135076fa235d502230e56669e2354c1b412ecfd01a429b5c76b17ae2ab99c73b4110957aa38c22c8fa39c00261c78aa571b953d868690761655ff700803a477917ac8a6105cbfc220a30a0cc1466d7598b2058b3899c567a71a66d5c9da75085686aa4ad4015100360c6102c84c336c13b229ff599dee4cb2c90a1516682330722da110f42f7c0a4f23a2089add65438dc66246671be41e7766641b4c9139777e08cb4d5b953e602931a7db3e1ce70d765516242ae8987454b898f19c5103bad39207bb16771b5d4191abbbdca9b5bea711081ca6521149b60975e02cc2250a355897960a8e203ba148f8be76452420d2134b607976f7809ce97597d8ca57337fbbd6748c03227607fa082195b49753c43047b95a020c7d195b01dd3cddc4c091916c37e447acb606f2d232c37c9871831c1fb9a8d00717762f18e62e7995a7393e0a82617da4674078d8f10065a28649e53377a88bb0f996d84fc83e9496564344d65b73ab96c4e887107d6c14488e604dfa15e55004fda8b65ae19006ea7c8a7471b354a4e746703d5c79857a02ec222b78b966ecf161d97ba7cf39b37fe173485a0156c3712a6ecb14e629899da9163709b672a243d1b87e15c0ad611419d85522252bb5a02ab725cb5eaea5bda73976d534a881b8c32c5328d117306fc5217aab89cf51c6174489ad241d1cb261d449f24a235fcd46fc19a8d14a4281906236738a060061a494947bd91604431b1a2871080616ee2e915863b2bf2d9cd86743b0cc12a5d21c6c745b34247c17f9447579fcb9bd38af3b64cc94782e299e1d98e68f8bcefa20d1e8db85525167378ef967195c977d43a50d03205044006715a6a8a8263d717f40170b49e6bd0ff8563038aad865a817cab9ce98846ba75be9363718ecf5fea538aea90b2a558 -m = 26e38ac804fb5b4d59ddf747715e7e6041d875f99c7b638024b4af82d622da60 -ct = b36a4cfd44e71acb92c3e25c36178609188a91e88ae7096874abca6c47e37adf762d028541985915ffb85f3417b024c47b9c0c2bbf682e76c04f6b69efab7e2b4dd0b1e72e9408bbb61c0200272f02a8de1e7acaaf9e6a7ef4a4c54c224cb35c7782a503c0da7577d4696c491870ed05f930e0e93c1a16441b603e76e125aab09bf1ee9152158c9be7aacae8688ba2fccb23e5932a818ee089566f8d0a3efe3e59ab73f73972679215710e92235219692f27fcdf08699e5d1ae5cc07f9508512efaaebb86d86e29c6368184c7b4edfa14901274eb3e19e0d3b542550f03d3e8cb752376fb9a23e467c4dd8062ed6fb10b53433a9a122f52621d4138af03f48d3ccd10f701c33d0324a3341595433215e00ac76959255332dc35ee687045ff208add581f3ad9bdb7c7d435954cb437f995ef3bf22c0a475979d97be46a91f9c3934170505037a79b29112a2d3f3afbda3188bc43e3c3b746647e8d722455d0844957557b355f424af2909e46b9ddc68f4b287cf7cabdfb703d92dea065623e9a3b7f4622e7c5365c04d667d04d172fc2e9e82a2a526441ea71b524dcef1844746b06cbf7d083c09a020268f8fbeb92491b8556813781f74f32985267cd7457619ffe986af32254f5538329904cfd8e438c248fb005a085b81448c45ff17ba45223e2b47246fb6b1b4a2444505fb372388ed77f4a8ce7aa2b9145e2cbd7da00663e58300c919ab354c77e29a276e2d6dff26594dacb12f56562447badd8dec8476f56567a65c44b791bed29e50afdce15fccf57a5531d7614ecfe51af936f6e4182b281b1b39da59c20b3b0807a770de434a8b72beba95d2fdfbf08ab29de3e1c417da199f98eadb3ead1f25b40762d7e7487a3da02e3072e0a15a33dbedb5209c3e32cf9b19fe4825faeabeab1e2e63dc8e8b4e5a50575df7103f7b58e4cc1307553acda05172787ca52ba594824ad90fe1cc702263c8bab4ad690e11acba025bdcd9a299fcc1f801199272ffb5a39a6137f127b83b98df5b19d940be257fb0844804107f6d5a7d1089f17c8dac90d59035c28297daf136600c18515dbef0036cdcbdcaf8be6c4aeb1179e389aa345cb5df024f9907342435657d5599fa424e51aac32cdc57e025b672ddb87658dc23c3c54bd8dfc916863829e3f7dee39b28b93b2001b8434ef90d1e5fe0bedff2d31b5af01fe5f996951f31ad0d6f173f50cdcd5a7333e7b3908d8b626e3f08fb1d9eedcc360e6ecc4b74bc33834aaabc355cd4432b09c40c011cf7aa90ad8a756340d30b3d7a3e465c9a19173b58245b1a8f42c875f96336d39cf60f1bb341680177d31724e6adbe668af76720c2e398a5b42c3c2c84384eadb951914398c1cb092b870449c8ae1bb844cb5dc7b32b8f661cab9b298e8f90cd4b4abc63b590a6d6d183de03b3f61d5c266da83c14847f71e5e344441ce178db44b2cd4c644eee4371e7b9793343f86361e13d1f8664fe439217241ecf8c68467941f48939485046bd833a3ed8582b9415f25c2c7650ea1e51 -ss = 5635fed1a43168075134d0e6dd4c9cff6e85f3860b3e9f1cac06b249d62892de +sk = 817471e55466b5babf92a2ad879c9c951ba60d230add630984b2528f9aa07ff755d7d79a2f9ab53d8986fd90895d5401dd97ad3f7a922516279b5858f2087e6491b7bc42b8a52a5952f23622d5603a0a3152990cfd6ab9cd863345d8be5e295c06b79332b0ac89282e61e5534fe0aac95aca140398b64175235b94417b8799a4b6d6933a8b815bfbdccf886664e7b8c5cb0b999bdcb2bdb288d569666c421e2a950d198158c0d36ced3a74d9032ab7a2b9f276be025296a773266e516826480e520b844eb69710120373a94705f9030ca200a7f85a94db1f55d46081570925a476099c3ebdb32c532a6d8f16be4de6416d0c30d450808cd3c08131a92551985b92255282be6087703f182156a13cd144aca3924fd15492dfd253ee5c9e78853590930521e843a0e37a26994197b3161ee1a60861c344720286b6566796787b05cb8fd76a419c364f1830fe2bcd3a2970e2dac1dbbb3803f8053591b29bf64c2dc660ea9938200738e2c0c318b77ff86749c43c72f9667d80d462d549bdfea30cb0d9641b29308a461df72914b4b40213b62e68b161f83224c1a45472b5464f97c6d6371c69ca0d520426db8c1e938a934d50ae0b03be706b74cb8c674ea955a4d8ae1f6c0b56263041fca1871a5799921c45d9bbf13c01f0a9c5d973086b33acf923a2721c8b2fa7b058bb2e64f43bd80260b6bb19f26a4f55d53e7ccb1bfe3aa424976132c3b4b3a00908e722557a3657d285c8580ef45b76a207cb31a71402ba1ef280048378b80dc3312f78a74065b2dc873b22d37990e465e425b992722a25009a93a7a005d91b9460ab7c2336bd303883a151e829234c964265e42fbf8252cb89858d590cf0830e59c54021b83da94884a173be6bc454ad5a719252beb52a4f7544a7fbc03ce9091e9acc0568306e5bec2ed942b39a8455fa341b84571ac3fca43c14563f91395d117ab021c8f141a4ec7364ba4abdd8896bc6b281c751a66c767ac960ab52058335e14e7fd8a4e1d44de2670f9bbc67f682a0657530eba11c31381897d989bd392fae02d0afbaa5afa1748a80847af4b326f970c6161e15b212a1c66003a4317348374e66b29fe87f36d01af5f1c75be11bfea21dd8626765c46f0c153d0555b419227d50da5232810d8517b1a5e4147a52ad07012d8da23829f39a40c70d565937c58a11b1a25b27c8207246c4e1b40230e39e4f089d43d562ef954f332b7ea6b36ea28a9d26eb251ab562c0e44bd238874e93a4d3b900a4b2b08a0b68c2b82c0cb56325548da3316279672913d2021d742c3619823c4391e64112b5b77e8d707f9c1a37d3464cd5f96543f720a0cc6c9631458cd9cedea7b6fcaa76d1e60c44f74b986a772cf593ae712214e21179519c39fa533a724fe8177ea59b1123e831e1dc561543a7e559697572157b60499c4c615d02099d34b0738581061a85b2dcaaf13556208b3e5af388392490fc338dbc55bbf7d25f49f61bd7363cbe3841aafab88524b0ca3381f5b22dc84c6a112979c3c39e45157c0749c04b022f83f53733a21e1f1842e0e72f78c6ae1e337b53215ae8563b16d99ebd6225766185a0d92f9a28bbf4e2b444b7c8225148f601d014bbb8839b4b04a592c364aacb2c89689106aba29029c58ddf7050a2c78787358571aa506570288e747a4204c43e8c6020aa3e2d77b36c3440a618c55f3cae6d43b979786e6a181d4107cb723bb6d0729ce3eb98e7a979caea9508563d5a0b7a7ba55b8985b71f3c489b370d37a66ce048a9dd27ad17b38c66880491985b2af8916c547e9c6cb16b506170f29304c4393e8274ee254a3f13c6b0e31105442bf92799f21774be9a0f64970e6ab581626115a1aa3ee4da7936504d036b75be6046e5778f58caba93f8640bdb24982c17ba3445f2ab983b685644b596ef66acf739039ad0a3cd61bb80b000f7e8bf53f60ebe235c0bf22c7873aecc6b3ae2f3b2cc3bb47d1b88423a188393c43c4999c32a886807cc4262bcd5a588c5e1bf8ed6a6ea9910c19a6042679926f314e7c7c85bf550482735e7fa088c857ac1578560a1a2f7e831223cbde33a46632b7e24d400a82a8c7307c23d6ca25075b58e727673d7cb5554042cfb9b7f95b11a55a9fd63b1b9f0b60f6931a0ba1ad28b485753446b0005e8710d7189bf438407b8ba36a1687a48e550fa37cf4c6b591afcb0af6b8d2ea5a97b6c1729e7ae22e28f2082a5e653b5babb0d147a8748f2606ddcc7847c24f0d32771b910ccba85befcbd2b89c5035b2062e6b9bb40828902b82e12b752d48d52b7a6599ac014731e8da091cb30186c849b61954dff867899e5bf27428229376ac7d97fa03996160964abe56d3d0278f9f91fec6bc821fc822949ad5ec8a9d728b95b19052ad9442fa0527b3935f4697cfa3c7413ca2e81b32a57f69479e89760a46d710032efbb662f9467f0d03c806b619b9228135076fa235d502230e56669e2354c1b412ecfd01a429b5c76b17ae2ab99c73b4110957aa38c22c8fa39c00261c78aa571b953d868690761655ff700803a477917ac8a6105cbfc220a30a0cc1466d7598b2058b3899c567a71a66d5c9da75085686aa4ad4015100360c6102c84c336c13b229ff599dee4cb2c90a1516682330722da110f42f7c0a4f23a2089add65438dc66246671be41e7766641b4c9139777e08cb4d5b953e602931a7db3e1ce70d765516242ae8987454b898f19c5103bad39207bb16771b5d4191abbbdca9b5bea711081ca6521149b60975e02cc2250a355897960a8e203ba148f8be76452420d2134b607976f7809ce97597d8ca57337fbbd6748c03227607fa082195b49753c43047b95a020c7d195b01dd3cddc4c091916c37e447acb606f2d232c37c9871831c1fb9a8d00717762f18e62e7995a7393e0a82617da4674078d8f10065a28649e53377a88bb0f996d84fc83e9496564344d65b73ab96c4e887107d6c14488e604dfa15e55004fda8b65ae19006ea7c8a7471b354a4e746703d5c79857a02ec222b78b966ecf161d97ba7cf39b37fe173485a0156c3712a6ecb14e629899da9163709b672a243d1b87e15c0ad611419d85522252bb5a02ab725cb5eaea5bda73976d534a881b8c32c5328d117306fc5217aab89cf51c6174489ad241d1cb261d449f24a235fcd46fc19a8d14a4281906236738a060061a494947bd91604431b1a2871080616ee2e915863b2bf2d9cd86743b0cc12a5d21c6c745b34247c17f9447579fcb9bd38af3b64cc94782e299e1d98e68f8bcefa20d1e8db85525167378ef967195c977d43a50d03205044006715a6a8a8263d717f40170b49e6bd00914d81173bfd7729d81603deb601c93969b81c401e2b7b922b2873f8aa2d998 +m = ebecb3e8c3dc591eaa503c332c8fbdf07804fc915b771779c1be60f42e2f3ead +ct = b5cb471b75ca90f9e2ec373494b16b8c96fd976cc99884a16d60c1768dbc9cd0bb5422a5137d5e3c6b98066b6ca31d5d3c3ec598eafcca20dd4f5255e7220f5e35e8429921f2788c5c678d2890831c5c100dfa0050e13733d5684aab70ad26741e2b35ba077b5e2ee7f538ca110b94618707d2411bc735050ab1646b553921754d9690195fac0adb0b2a443db55eb9da788c2a0f5b39ad7694ce4f948294961926a9a8912aaec6a2a4526be5a9622d597e87d698b9b68cfdb43aafe287396b4d9d1faec0dfa56b66a8fecf209d3d99308e381252e76ab08de41ea98e6f5e38ded850bdf2ffdbb4e6b5f01938a3f189291c89115b2fcc8612eb28e2a6f855f0d62737c5c168a7a40e59dd3783e7f17fa792174f46f7dfdedfacdb751c396b9aa5f3dcf616bfb1de5f0f4e20248e66715ef9190029ea704ce163543f8557cc45b0e516230cade4b69ac97b3fa7b0ec611bf6aafabec49d967e71e9bcb29ffe53e170685a4ef7574d77df8faa573c804a3e592de4f65daf0fe5c417f8e5a40ac07cf3f1530f4bf478170b9f86cc9b3fd0ee8b8762267eab75f947722e7f9cdfa7c759c54b093e05a2d5f31795ec0050e37ed9a2fcff08cdbb6a5be9e81bc31cbeeba26ab29b4ab7de5875c3a86b8bdc12a877302c353607e1093ea34eec6724602f968187a4a24e300f156047f19b84fcddcc2232dad9c7087787c7967574c786682e0fb67b5941851a46b4994824ed6e26c14c6dd8d0c1fb79f7b1f682e5dc6512872bf9a47b98ea5592f6ef136a1b49f258e9f4a9af0d5d501c54805d5de745197438ccc9b25ba9babb8c1b24f979c3062289a126d1ce671212d59dd8b295ca4e96a7472c0723ee271255a4d1f0fd45b63a4d71b22d579a39899b6b5342f34415eeef1bf6f281758c673ec97b9e7ffe0ba3f277f7ddfb24141108c185bb2e66d079ea3128d9ec2e912ef9964014cb4adbfba6c89eec8dbd723e3a1745ac0e0199a946af3a51616d5eb1413c25c8dc5e87d7c7007c222d989cb4e89bb633789aed3a76e4804c998eeffd9cf510e286bfc3187ee5a71f5dc1d6615edfab9b4972454f867c269813a54828d0b03d1964dac14837c3a53ecf657f977c3dad1c842e4d636342d33827845a2b76f15a7f2bb171886fec9a3b0240259779de76d0324eedb458f86e9a0ec30e5b28f676d51c1d1ffb85312b5ae48e9984ff9b79676bdf60db0763c45ba6be533ae6c3c8d0ee87336407ebc9711c899b960e82928c2a6259f248e123acfb0365f636fb9a0565271987189515a213ca0bb151266beb90afab094e3180a7d2e99feefdad480d173eaff71e74aed0b91c95031ba069c959b54d28496a08bc8bb738d0a63f31225be657e70af8e0a00aaa9b1cf055edf033640577c76bf30fc5c46fc66a277d93f1b9773c14ca4221d4df57e0d3c7d147700fb0bb3e91e5f2a71d93eb304c1f1aa74834a137c75c0925ed023577d89dda17e6cda49fcf7b4d44912005fb22c9c358e3e17c4af23603f663ba58010965d1569b93 +ss = 9c5462c2f6642744c58e0fe1631ed21bff41ef5ff4e8184a85e76cfe3160fbb6 d = 74d87c7556f2671f2d666854a4d6e073e69f35421e6e1a428cccea49c37f972c -z = e1fb7456ac0aa1b97068f452cba64ebdc138bcf5d36b0a0fada2a3b374141eb9 +z = e82ab6cd4250546e9d3aac903d6cc326cc39ae0b04cffe6c6b3ffbd29ab63dd7 pk = bfd11fc259a2115806f9f68ab15859a763a49d169d615b4999714d550707e8a0c0a93c8db2fb5e4de7c93111206f052a7d7a5e0b5632d94c7a87596d24e950b361a185f065fa96435f312745164693fab8d3a741c56c6f10d8be52c06a5d83cb1bd327e5b28db12291d907a2888136b6fa3a20a48990c6b6c81499de2bb12d19b591234d55c4549a3861626167c5a17cc2a4cc9f668df0707d26795de7f771bc614b994b574fa309a1e1c8b4a0a4ad6240286bb78ba701ecc430269a37843149e1f1aab731523359c735694f09298e2a1a08c6ec273b4a1d57118b20524fda18190c2029da4095ead53212f609a76a343d5c68ff17ce6b92b340dbb8cc6c03ae4b29df243b93233af6b95eb5a7a8b8643b0cf5a8114152b8ea54f0e3668511ceff536d888baef85a62299c641769023b7b92088546f338448c1977804b71781a554bca5f13c0480b42c5a6626904516139abaa54b429e7a0502b17a5a2727a7f230d63c5764dd497f164b24e5ba3a626785ad1b917a6b77b175e64323783c9791832a7c442b895eb338e6a29ef671d4d7c0230668c14bc794cf11340229ac905891cf1c51ef62b6a4a0553331f7f581054da45c370bf606126b39492e4a3b8592bbe0359bc017557379471ef922367d82635d8494c88bd38a7720669a1f9145367a92090fc5df15c034b82cdd9b7cb9ca76e74b2069c36987556012bf0746424677f60ade29c9cb52c6d9cc2052394691d7306952c65ef498da41279eeabccc66b3a41747a8b447d7ee81116eabc04f4b776923c93a28ffe888652fc34415baaeb6854d4732745a4bd5ba61c35678780063ed874c81823ceae41b9684a05410266f7ecaffbfcb5285472e5b02fb8c15d126410f0ba3ba8536cfdb65d23797414a55f2620be653a98f33c95690714fbd3418c6893f8693908d41d6d69a744e63b2b0c190e3b1696a5c8b1cbbaa4719a0bd184f896c9d8f926dc933ba81b2785c05a51b22a95191f43dc23b42c050dc9133de2b003a5b6f1a5730f490454c58af291cd8d46acde69842df79353670a54e2c88cc693745516ee64c2afebb95df25ec0608ae4aa9c89215d471bbf68dc6530fc0fee495fdfa09e98ba8d37f9636b270bd1102579eb7f1bf0b911cb79f03537168867eaf60d77d48be27bc935b02662929dbf2263270670e0601e5e43008bcc07f06451e54755fcab421d584bb603008c9909caa61cf99a4b43a93ea8a3440991ba402c9a8fc51f90584c55eaa450b7a600342e98420d728a8b6344659f2a0263140e69ab86bdc6b20b3aa0920b90c70c0108358c8a92b27635154af9a0a76080ee593ce3d37e40fa33d0c654aa77171f822e0082c95cb60b54a6a26099443f671e863889f35a0b9597b3442a71fa704f164834fc9c8e2c63847c9992cd73c1bfe7abd3d75448d21926da0938f92b9133a92e426dfd2634a677878ea9820f5c26a2382fdb1c4b8ed59db74b4490b87b0dfc35f5b22112e5110d494e53c50d3fd6c64cb485bf5ab37f7a1b709122c7086d3fa56fddc966db2c53e09b976f986a334290dd8c3c7e6582c4eaab182766ff70503b03b4e68261cd0303f7a83732795cbf84a04d78a541a0929691c94a094b7b8f92c5d5a3bc95122a6a7968dbb1334a712823d470766b3b9e7b55672d02ae -sk = 60e93beb5544294bbd612141956430cff041e0f969e954a48298c7b5f321b9e1b70b7c796a753cc5bb93722b20380abd6b8aac4f0b102ddab380b88ab9dc040fcaa8b775882a673864fb757a3453273627df0690c90000b54112dca50235ba14fea59a764736a018a091b822a636ae7934a33bc5c15a7b77e1e53289c9757ec75cbbb792645325d6755d79b972ae993c9e3413ac040b3bcc85c4f98a2e185bf4ea1d19a4737dc78547847b7ef385d2a07bfe272764cc873be8cb1286a0e7c83539d2b9bad5a17f0893ccf41e2b5cab8f66706955c5e168a99e9820a8402cb25a434f1a149f0148761014d32a51bc73a8cdbcb104c29be554b2724107ef314c25d082c7252e0ce68833a47a619a611b08394960a64d8c22c25aa1121a8033605c9bf35221730b15e6269cc25febcb8e3336870b3c1c9d3a89de4a9042758f517b55f85133b403c501590a0f53542239118f93874b319be0d063ad82144eca6156051424235d785c92ac00c412f8ac0ff5b88f056142f8a0934734b09ba14c00089bba136279a5fe462082ab4b0709a6db3279f8e9544f3909ff78b264399c2ed129c803b341d816eae96bc531952d55059ef0233b0c18e1f7aee5498ff6f11dbe801dfe193bb61b870008ae57483daeb8ca7ccb460193c68a509e8dc738ff227fda89b21eba0053992a4d3a1f8767c0d3f3419838c8c7a2c0b3d68e737ba77221c68a8570948a322a143e5a03888c08a1bb7c42e9db9111819ed94523848bc32781a881a468d26aa7fa4acb926ab8695b24a094b8ccb0423192cea88c1fac818a6b0ca19e423b7afcb51b121d48ea44037963ec1a325dc0bf7555977f468feb49b8346338db983e512b2fdeb35a300495f437cba88c36d01536f7a56bc9dabd1000b77751031102caba7182e2c440919435a14bc1ae1b354499324862885c9c301b7258faf778cd0a4721f26ee32c5dcc7a7283dc10e3cb04713255d0044bf1d9234f5180f32483f7079b2c0558b95c622db01be885b2580931fc8617b6940ddfd54cb327712da02f90a6a8ddb6ba17a31fb1d7231d94cac2fab88a43b0f56968fe2b724fc8a97e1a371c96a9a17a94fda08897ba1edf959f37029a84e707ef676b89fcb5e94b8997d95542e26cbd28a7d01b1fef76b1c91ac327874c04f01b2d6280fdc60cead3587bc0aa6ec76f064b3263b2419bf3120aa7791053bfa6e089f6cb8bb020b5c5e2517d4b2f34ec3c4237af98dab3f4d44ae161773ed53f391a689d7b38f01155fcd080869656e15baf9a2a6419b38c2ec39112b4216fbc5d94771fcc4369eb90aaccf3a752020e24f97c30c4c67632180e9b928a0941c23c03ce588f7d841aab91b74b7959bfd8b5b042294ebb094b523dfc425e9ef70bd2e2bcb2937eedba0ad018737ba91a3691030c1a6e54c0bd4336a4bbb7c5dc79057ef5c574c04dfcf9c8407cac999a54975b1a45519075ca167b8285b2d554eb81702e30626897413051aa546bc63a42723bb95f0dcc525944c967d7a5793c34c7638ee59608c8680f2418b648b7450b09c31bebaabb956e1203bfb3d377373b5483c93378f15dcf2959d0e02a15e2277b7ab78cb2ba78703f13dab307ba1b663c86bfd11fc259a2115806f9f68ab15859a763a49d169d615b4999714d550707e8a0c0a93c8db2fb5e4de7c93111206f052a7d7a5e0b5632d94c7a87596d24e950b361a185f065fa96435f312745164693fab8d3a741c56c6f10d8be52c06a5d83cb1bd327e5b28db12291d907a2888136b6fa3a20a48990c6b6c81499de2bb12d19b591234d55c4549a3861626167c5a17cc2a4cc9f668df0707d26795de7f771bc614b994b574fa309a1e1c8b4a0a4ad6240286bb78ba701ecc430269a37843149e1f1aab731523359c735694f09298e2a1a08c6ec273b4a1d57118b20524fda18190c2029da4095ead53212f609a76a343d5c68ff17ce6b92b340dbb8cc6c03ae4b29df243b93233af6b95eb5a7a8b8643b0cf5a8114152b8ea54f0e3668511ceff536d888baef85a62299c641769023b7b92088546f338448c1977804b71781a554bca5f13c0480b42c5a6626904516139abaa54b429e7a0502b17a5a2727a7f230d63c5764dd497f164b24e5ba3a626785ad1b917a6b77b175e64323783c9791832a7c442b895eb338e6a29ef671d4d7c0230668c14bc794cf11340229ac905891cf1c51ef62b6a4a0553331f7f581054da45c370bf606126b39492e4a3b8592bbe0359bc017557379471ef922367d82635d8494c88bd38a7720669a1f9145367a92090fc5df15c034b82cdd9b7cb9ca76e74b2069c36987556012bf0746424677f60ade29c9cb52c6d9cc2052394691d7306952c65ef498da41279eeabccc66b3a41747a8b447d7ee81116eabc04f4b776923c93a28ffe888652fc34415baaeb6854d4732745a4bd5ba61c35678780063ed874c81823ceae41b9684a05410266f7ecaffbfcb5285472e5b02fb8c15d126410f0ba3ba8536cfdb65d23797414a55f2620be653a98f33c95690714fbd3418c6893f8693908d41d6d69a744e63b2b0c190e3b1696a5c8b1cbbaa4719a0bd184f896c9d8f926dc933ba81b2785c05a51b22a95191f43dc23b42c050dc9133de2b003a5b6f1a5730f490454c58af291cd8d46acde69842df79353670a54e2c88cc693745516ee64c2afebb95df25ec0608ae4aa9c89215d471bbf68dc6530fc0fee495fdfa09e98ba8d37f9636b270bd1102579eb7f1bf0b911cb79f03537168867eaf60d77d48be27bc935b02662929dbf2263270670e0601e5e43008bcc07f06451e54755fcab421d584bb603008c9909caa61cf99a4b43a93ea8a3440991ba402c9a8fc51f90584c55eaa450b7a600342e98420d728a8b6344659f2a0263140e69ab86bdc6b20b3aa0920b90c70c0108358c8a92b27635154af9a0a76080ee593ce3d37e40fa33d0c654aa77171f822e0082c95cb60b54a6a26099443f671e863889f35a0b9597b3442a71fa704f164834fc9c8e2c63847c9992cd73c1bfe7abd3d75448d21926da0938f92b9133a92e426dfd2634a677878ea9820f5c26a2382fdb1c4b8ed59db74b4490b87b0dfc35f5b22112e5110d494e53c50d3fd6c64cb485bf5ab37f7a1b709122c7086d3fa56fddc966db2c53e09b976f986a334290dd8c3c7e6582c4eaab182766ff70503b03b4e68261cd0303f7a83732795cbf84a04d78a541a0929691c94a094b7b8f92c5d5a3bc95122a6a7968dbb1334a712823d470766b3b9e7b55672d02ae16fe956be4601573d72306a251f69bc2181253e2417e178341fd6553303ac189e1fb7456ac0aa1b97068f452cba64ebdc138bcf5d36b0a0fada2a3b374141eb9 -m = a319d2b8f114f1acd866478bcdeba6fd164dc4e37b0adfa8d8034afb3e197376 -ct = 535a002076557fc2ca495e8000b26f513dc41524c6e04f786763ff14f915d56bd6be3f26729e41fc2e43456cc5f70dd25ec772e9030ff80a81a16e352ce7b6ffb5ba34de56290d1ea1578a56b8d17a0cb5afae7987d15ce029516d88abb555ae84b9f626960fd8da732bf8f1a650307030316b8623b0596dc6cd8c72354584fc806da654b0adf1313ed3dd6a4b8f81a5c2600e36c57f28ac00ad18a48c00c8cff0cea1f8a53d227e89d78d533834816ed9b2a9ef48f6c5ff4d572eedf497342ed6ebba80ead83ee6764f84dd09c5f372f263cd7195a50dd5695cb9b09c8e996994d7c94a19966fe74fed01139d2658ad75afe22e0ed321d12d271ce2dec1099e77573a3983574a63bfdfc9ea559a220135c9d8fc22f4c7a3a0506d649bd4edc66d67a398b4b1b6040284ab0bdc60ea62f0b67d42f5cb6f5a3c6ab38eb3b2bff6d7385143f40ec5cbddae52dc941235d980e4ddd79059790897fe235c11bf88a92eba7e6ef524a4aeb827c057b75e802539bccfcb33b5bc5b00da2731b8f4a5a42a7ae901eb8b7783a017128c3765aa8a3bbf92eebadc48d983ba16fa0043499302781ae46e2f066c312de84ef0c0a837e8b6f9f633f8d2c2190a129d9a00a18e04b2dbba18a0590bd6b50b31e470d85c803fbd35ade162982ab659d7a627811b76217435a104860173aed6865a3e1967939bc8465d4f3e5d3c88091d1013fe12a2110e6fa39eeab39a9ee545de65263e1bc956bbc5aceb6d6ee2fc0f1c4ef945c21c36cd76dbdbeac43d440c1128a30a0cd581f434b2e5f45ad26b4c59cb6b003d945343f8413681b590c6627b12058d671b220df6a0270db87f1a81f01adf0e33afb686e76dc414684023455ef3465e26208e66f4a4c5c4c685b415de1182da6782dba4ce1370d00e411cd2709d3596b337788f40574b43691f6a13741a75c8a973c626fe6b5595dee15f997594c873605e8dd3f0137d358a2a5b1bba8a9af285e1c02d05944041cd7082ba247c24810140e5e9af32d010196ef97cc40b95f5040469fe88e7557eb30f2e638647cca2dc1845e582416345f9de6dbbc6a007dd368f1827e7b29e296123fddb818d9a25fdb429d45cbc59d0d74d5380e582ea7c73ebdba8a4cda6582b68fc07a402fc1ef8f24c1473661c091a942e4f316602470f779067d74b1b6bc61b8133adf1e5fbd374db3eaf8ce169e02dfd2162af1718e7f21cfefb86eb5ab879615408a91b0edf44281a5693febb6c229a0203e66e6746747ae342edd2c3f7b528ea2a86140e8041f7fe6d671c999daa5a50c5b01b3ccc35ca43acc3dabf6a1acadb4208d83cf49dbaa37843c51a55765e5f5af141daf67d3d5ae31a72f7a4756ad27bebda0b7b5aa204c8a8e726b42fce4633dde43ee434029d60938a3c4c3aaf119e2b3116d5299b6b7c80f9d49d17389101e7cbd668a038c223e7b820fb057543f8efd37760006006f61035d41acb177bd95aa8f44ccd4ea8dcd8309d795945ade186ef9bc22d9921dc2843bcb627c2f865b1a56e -ss = a920df59ab127d563d7e7e96afe8075d8a7242b0ad88d72f367545fac6daa4c5 +sk = 60e93beb5544294bbd612141956430cff041e0f969e954a48298c7b5f321b9e1b70b7c796a753cc5bb93722b20380abd6b8aac4f0b102ddab380b88ab9dc040fcaa8b775882a673864fb757a3453273627df0690c90000b54112dca50235ba14fea59a764736a018a091b822a636ae7934a33bc5c15a7b77e1e53289c9757ec75cbbb792645325d6755d79b972ae993c9e3413ac040b3bcc85c4f98a2e185bf4ea1d19a4737dc78547847b7ef385d2a07bfe272764cc873be8cb1286a0e7c83539d2b9bad5a17f0893ccf41e2b5cab8f66706955c5e168a99e9820a8402cb25a434f1a149f0148761014d32a51bc73a8cdbcb104c29be554b2724107ef314c25d082c7252e0ce68833a47a619a611b08394960a64d8c22c25aa1121a8033605c9bf35221730b15e6269cc25febcb8e3336870b3c1c9d3a89de4a9042758f517b55f85133b403c501590a0f53542239118f93874b319be0d063ad82144eca6156051424235d785c92ac00c412f8ac0ff5b88f056142f8a0934734b09ba14c00089bba136279a5fe462082ab4b0709a6db3279f8e9544f3909ff78b264399c2ed129c803b341d816eae96bc531952d55059ef0233b0c18e1f7aee5498ff6f11dbe801dfe193bb61b870008ae57483daeb8ca7ccb460193c68a509e8dc738ff227fda89b21eba0053992a4d3a1f8767c0d3f3419838c8c7a2c0b3d68e737ba77221c68a8570948a322a143e5a03888c08a1bb7c42e9db9111819ed94523848bc32781a881a468d26aa7fa4acb926ab8695b24a094b8ccb0423192cea88c1fac818a6b0ca19e423b7afcb51b121d48ea44037963ec1a325dc0bf7555977f468feb49b8346338db983e512b2fdeb35a300495f437cba88c36d01536f7a56bc9dabd1000b77751031102caba7182e2c440919435a14bc1ae1b354499324862885c9c301b7258faf778cd0a4721f26ee32c5dcc7a7283dc10e3cb04713255d0044bf1d9234f5180f32483f7079b2c0558b95c622db01be885b2580931fc8617b6940ddfd54cb327712da02f90a6a8ddb6ba17a31fb1d7231d94cac2fab88a43b0f56968fe2b724fc8a97e1a371c96a9a17a94fda08897ba1edf959f37029a84e707ef676b89fcb5e94b8997d95542e26cbd28a7d01b1fef76b1c91ac327874c04f01b2d6280fdc60cead3587bc0aa6ec76f064b3263b2419bf3120aa7791053bfa6e089f6cb8bb020b5c5e2517d4b2f34ec3c4237af98dab3f4d44ae161773ed53f391a689d7b38f01155fcd080869656e15baf9a2a6419b38c2ec39112b4216fbc5d94771fcc4369eb90aaccf3a752020e24f97c30c4c67632180e9b928a0941c23c03ce588f7d841aab91b74b7959bfd8b5b042294ebb094b523dfc425e9ef70bd2e2bcb2937eedba0ad018737ba91a3691030c1a6e54c0bd4336a4bbb7c5dc79057ef5c574c04dfcf9c8407cac999a54975b1a45519075ca167b8285b2d554eb81702e30626897413051aa546bc63a42723bb95f0dcc525944c967d7a5793c34c7638ee59608c8680f2418b648b7450b09c31bebaabb956e1203bfb3d377373b5483c93378f15dcf2959d0e02a15e2277b7ab78cb2ba78703f13dab307ba1b663c86bfd11fc259a2115806f9f68ab15859a763a49d169d615b4999714d550707e8a0c0a93c8db2fb5e4de7c93111206f052a7d7a5e0b5632d94c7a87596d24e950b361a185f065fa96435f312745164693fab8d3a741c56c6f10d8be52c06a5d83cb1bd327e5b28db12291d907a2888136b6fa3a20a48990c6b6c81499de2bb12d19b591234d55c4549a3861626167c5a17cc2a4cc9f668df0707d26795de7f771bc614b994b574fa309a1e1c8b4a0a4ad6240286bb78ba701ecc430269a37843149e1f1aab731523359c735694f09298e2a1a08c6ec273b4a1d57118b20524fda18190c2029da4095ead53212f609a76a343d5c68ff17ce6b92b340dbb8cc6c03ae4b29df243b93233af6b95eb5a7a8b8643b0cf5a8114152b8ea54f0e3668511ceff536d888baef85a62299c641769023b7b92088546f338448c1977804b71781a554bca5f13c0480b42c5a6626904516139abaa54b429e7a0502b17a5a2727a7f230d63c5764dd497f164b24e5ba3a626785ad1b917a6b77b175e64323783c9791832a7c442b895eb338e6a29ef671d4d7c0230668c14bc794cf11340229ac905891cf1c51ef62b6a4a0553331f7f581054da45c370bf606126b39492e4a3b8592bbe0359bc017557379471ef922367d82635d8494c88bd38a7720669a1f9145367a92090fc5df15c034b82cdd9b7cb9ca76e74b2069c36987556012bf0746424677f60ade29c9cb52c6d9cc2052394691d7306952c65ef498da41279eeabccc66b3a41747a8b447d7ee81116eabc04f4b776923c93a28ffe888652fc34415baaeb6854d4732745a4bd5ba61c35678780063ed874c81823ceae41b9684a05410266f7ecaffbfcb5285472e5b02fb8c15d126410f0ba3ba8536cfdb65d23797414a55f2620be653a98f33c95690714fbd3418c6893f8693908d41d6d69a744e63b2b0c190e3b1696a5c8b1cbbaa4719a0bd184f896c9d8f926dc933ba81b2785c05a51b22a95191f43dc23b42c050dc9133de2b003a5b6f1a5730f490454c58af291cd8d46acde69842df79353670a54e2c88cc693745516ee64c2afebb95df25ec0608ae4aa9c89215d471bbf68dc6530fc0fee495fdfa09e98ba8d37f9636b270bd1102579eb7f1bf0b911cb79f03537168867eaf60d77d48be27bc935b02662929dbf2263270670e0601e5e43008bcc07f06451e54755fcab421d584bb603008c9909caa61cf99a4b43a93ea8a3440991ba402c9a8fc51f90584c55eaa450b7a600342e98420d728a8b6344659f2a0263140e69ab86bdc6b20b3aa0920b90c70c0108358c8a92b27635154af9a0a76080ee593ce3d37e40fa33d0c654aa77171f822e0082c95cb60b54a6a26099443f671e863889f35a0b9597b3442a71fa704f164834fc9c8e2c63847c9992cd73c1bfe7abd3d75448d21926da0938f92b9133a92e426dfd2634a677878ea9820f5c26a2382fdb1c4b8ed59db74b4490b87b0dfc35f5b22112e5110d494e53c50d3fd6c64cb485bf5ab37f7a1b709122c7086d3fa56fddc966db2c53e09b976f986a334290dd8c3c7e6582c4eaab182766ff70503b03b4e68261cd0303f7a83732795cbf84a04d78a541a0929691c94a094b7b8f92c5d5a3bc95122a6a7968dbb1334a712823d470766b3b9e7b55672d02ae16fe956be4601573d72306a251f69bc2181253e2417e178341fd6553303ac189e82ab6cd4250546e9d3aac903d6cc326cc39ae0b04cffe6c6b3ffbd29ab63dd7 +m = a9da4fae601738a23f95165da22cdaa8bd455688b6033c74b4604dabdfd46fd4 +ct = 29587ff1d9fe8e6a7e37899f7359dd6881a0b5727622e83ad2557227963f8836d0b004767a59f560bbe3c3d6df1f08d4a1154e78ee29d92fa62348c45aa49a8ffa4d95f7379ccfc5e5823159639b6bc4665c4b6edc7b4d08e3144c00a724a4989acc1381bc268dc2cf22b804f232bae16381a4e3ca6ee88c67bc9db3b2e823896039981d74a7c9592f687984f217714c55abd3593e19c644086c0e90a3413a750eab9fd12fd1fbac27b895a01e136195fc8f5f64c86bc5a29bffb8b26d0f5af6deae6c5f2d24075b59fe83f249c2db464d97f03d774b782d749d73e56d138bb3282a3aa08171897476b3a6f5fea22c16843347c21c531cf35ef74ca46c4a55c434a44243becc9dd4aa1ca24e2439ccebdf230bc65b43ab8d1c35407a8aaf0d7ec28cc6329fe91b975ab27a1a6dc53e7800a57686e47c687fa4fa802a405ad26cc80ebf30d036630f8da87233cf6e4aef71bf8f727348a0f90e71fdfc2f36c95860c14d761c906a1bea518628bcbf59e112f20f9235ba1c0d46036ee1c09fb4b817a19021a7e3e23085cd5263295dfd1a8d23bfba48149beb971c4ba849c50ef7e1208e9ce8db36e1fa3c13d4c02f8e581a2d41e34bd017591219e948d2ab6612f8be11ec784e1c0edc2711b7b07171aa14f5589e4a36043496d416eab3277ca0007bc691382e82afdbc3fa707e86765aba786ced9180db4f8ace57c70614391e13e87d527b08adf06222ef06c3df78529b557a8f53e085a41e681c7da4366bc6ef73f38f435e88a4883ead60e6d354092fc1c6d0053d6f83c63151e2786e04722f741425984d8e4e029d1c38a6e67a6fb46e7579e6d1296dde0523ae9f0fa398ef48751b9bc21ed629b9b223c90a3560f870c05c11d7df66a22ca0a1ad387669ab5a9e61bbdd5dbefc16be4d698b598a76f9eed0a07c9a130528f3033e22c0825e2ab42de3c3242ef912f2a23a1f09decdeab19aa061538a44b80899ce039ccb7ed573d9c1bcdb1be62ba4fa8715f257597ee48589375c78deef6fe94bb6f87db83a0f17c68080b957c7994b8b4cf7bed199521189006165dd82dc06af9683536e266eaed067d8fd70e8532af822f0c1a153433e2ac2e3601bc73b98f9b87653e1bfae2f562f12199c52e126283e9627496568675bf3a9b0d42ed07606f3b7ca9221511177d2b797408e1d0660988e50dad746c28bc9b6f030116e0c1666d5862d52c42b2bd2412fee587643d9e758b80e0517693cfe46c166bc8f0f63b1fe61df17d8993edadd5d0b7646600214beccca2726424e86f75c37a00bb854e1767a2319299eb26f317a3a0322266f2c491f8a714232433ecc7789b9827519d31409e9cf82578891faddead606572e82d0f3662bd78a00c75d74920194df979ed222b37b03705b57222e923183c4b2e9bfef581767db54aa188fd66bb1f56d6dadf9466580f7c5028af5e7c35c3736704d4bb5f29c03bef5ad663cf6ac99dff867ef232470ec2efbee6c6edef3d78cea13f461d1c8d16b758c01ead31550e8ca71de +ss = 016e1a77ae909c6ef7a8b38456a01d1b9aead47aa379f4051d74756223fc2ee8 d = 013bab0212d04ecd54b478daf72748003a25e2cb060ba6cc50bf95c292b8206b -z = 9da0c5da5f195b80fbb99c2e8b06926074f3f604b3f6195b5a5b9737876bba72 +z = f7642088944d664ca7996ba944eff7e4abd0b900d3d1728d99a9f722f928fedd pk = 12422cea108045d2888e2c29ce0bcd454b95c09730d6c4698e779987523de0e972332544c34350d29c7bc030bb6273b9f1c98c3a63170abb2641c54dad64790e83387c51aac922814f834c4745409273ab00051b2a819eefc9a048f222626409fa7b3f8d27a0dd754f9372aa37eb92f6454fdbe3116d406b571203dc05201c31a52ba8b2b95b191a7b7b55e743c4ccb80a710863ab741b727f176224012c539af2bd062ba6be7a42eac08c5b6b420becbb41b55454ec1f41347ccd984f11767bfc82665286a56dd31598834b37ca6ee93658999798ead094298160b7e6c76978370db3180273401532315168a161e087d4c6086846a3b60b80103c1ad814843bca7ab329c7914982ed32bf16507b3024a16f231281a732d3d155fa60260064919c484c1741874ba96cfd91aebe5c314e407a66d7cc4c846176d759618654ac2a52fe69c69a375ecf625e2889abebf395fa20561ba6300a72a2091356fcf197c866ab5468a3af7bb3de755836d9784f7c0949445d83b3358721c7db3c09b5120f7f757bfe3366ae4365b677255ea680f27c310f768e56f1aab8792259340bd6b984406148a254bb605a291c0946c83b1e9c5bb3f879a787b9106f98809e94bdc23c062d592318f9854df04bcc343d64387baf398599bb352f82b1f0a5b530e824cfd69d7a4a15cb5624f70cbefe1c61302b8fca337d70d1900dc817837619fa893208da873c350f02892097708cc637093eb25bfb4b3c793331f0fc73c5446cb11276824cbe419378a224a683fa0d17c671fb8c4bdaf18c20c53a21a4bb8fba9ab7a1b7eccc81946bb5fcb15e1d08ada7761a55d503dba912b73765ff93a6ab642b5fb72ed4f16657ac448a1957413cae547ccd76d9936c860c70c5635c28754421af13448959d67cdea3997ee923aa326129b5397c15ab90f95832f263e080a42460cf9f081152aa59cf17263d008acbf146f34a7808257689a3148e58a0a0117fbb47bca97810a42a7e0f734c0a17745afc6ade752080b39f3267399c20b1fdfa195437b83ef5125405aba8d2ca42040371c541a5fc339772948a21b7efc30c909c7938779bd012642441083150118ce431baa72e989425210945a7c47479f4873e3c3ca6698ecb2a050415066d0bbe5e240222a2884b3cc17bacc14164be0d21330456a279547579f8a4e9443d913a154210a3fd1a1a263186445a8e1b884bbe8b54d0196affdc47544c8d10a69378fa139bc8a422c44c5568555f9080f170bc6e97284f448e6c23885d603a732c469b376a762b5068e29e80b74f994588d9822f3e81ba6ffc273a9c905d0910062bbe94aa1e0c8c3424303845779f8c9b515dfa0864578a66da8ad7b56da2810c11e1a2888b88bb55b8c096a145b62ad9d2c98e003658c9729d7b82550527411a9c0b981f3479251c1774014749d211687dda83626c6bfcd5b08f8075954bc10f48623838a736e38c1143b9472b4df5d30d37f0bd7c727a2f16a3cbe0015dab5a12e27a63f7aedb841d6d9bb1a79a5c3e903c9e374da62a298c549b9842b77c33aab6b4939aeb55704cb610d084950c41b746afd7157613618f6f1574ba51b36f7828af0aa4f79c0840ea3d679013df619046e935e0bd96ec59643250a0b38f9779b0142a9e546eb525e72ad204d1eb31a6 -sk = 3a756d6dd157aba65d60721c41eb4edbec38834c22e9ac88f03119b472bda0961d1f5c3268ec6492f92d5d066dcba69ce9c20311e1c15fa81fa5014c6c956f88055fc2d35e6b295d05d6167e4375bff23257ba72c0f97f452b609f22b57f7c27f71a4f259938b5aa18097399a0d32c3602203bb6769015495b4bb7317c9e99c966215c58d3455efcd36003826c2c7b1bb437a66a968dcba35dad7098fce9133110a109c2b91764719ca25866c98550082e88f29e78b38b40a53c4d626fe63390a290b54389624c597909d79fd6a658e2166704c386eb1c8e951b4c7619b7b79349c3f59505809b1095405949cc55c109a1108649552d5f83a970083bffeb6550893b5c5106417b0cf1e44b6b05a9f9093e386c9d43f14d4cfbabd3b17efb49aa2c571ae99197d2e4b7d58775962570d528b8ebb8032e8065bdcaa391837d483a27239a4a8c0b8f13013f4aaa6bac0ca86e532523d9620bf9c2c3e2aed2365e90a1699a4cbf454c4d2e2c4273e93456142f737c8b3697b9821039142c3e25b346d020c829850d6ce2649087ab762c25baa2639c8c7a852bc76d456ee69747fe561e267844a7e51ae05c5820f0c2b880b05cc935a3bbade2c6a4881cac21938a304c4cd2c1cc1bfabd932b777cc459bae4be75389862464367c6318a0521dd62c5f070a139a95522d10d2e4134c06522cf52834562a208b22a95431014934f51ec49f5ec087d1435db935bb5223c3ec87bb7f7427a458232474ad9cc222b422149977c7f366f48b0b14ab260bd0a8c04623f9b12091ae049725064d0bb4a249075816aa249718f1a7768c3469aac7182d2f01d6373038d7c4ca24802693a354c19c66dba1c05eb180ad04c1fb095b42947d16b66139384c71206bd0ba9ad9bbb5dd7593d08616c214fd9013e792a5b4930122d1c571f1315d235562c167d7546c8ef7536a929982f6a55ce7209b0d5735f69ac6c52a824e508d2481a5be01075c54d8743bcd76767b69b5e350989e629c97ac1982a75806126245fa692def22b15a29499c82ef7f993eb3472f850527d900da2f513a9366a4fa978038b9e46752dbb8084fb12cbc591008d692544078343e9ad67909dbd77c18bf18f02607210f4a0f5dc749f8b0bf371309027968968678b0135af65138c5544abd57ed8a646409224d32052bb14bab4d51dac981ccd838b4a513a36a351b81a0785ca281d7106872583b8babbd62a5787bab8ec9019c7009130ec6be4e25d9992aa1dd13da9c1a7f1ca27fd78968741436003789b8c781c599c98d2465c7513cfe85154d7a655216e5b3b800deaa6b9dc7c0d998b9ce2b99da6afc27a5ef6c152eb16184d91cd038cba69835ab3500ac2e87368f37888ba90f219ce9da24109f0b3e1894db5f640a17b0e705195a350a61ec62b2c7a216231c530f557d4c5605346a6500b7c1484012fc87dd4526823c447b71a726d65753716b30c212565dac474ca3acee664218285a5c4a726f681e98619e2a289d08895bea26bd6a3bff3a5c5c1ea894cb6440d075004f879b41a14ebb82b74ab0131d0b3348742db7244e750ae2b7bb57f8a95379502827880f8a50ecb1394db2553c07627c113a300078db1bac7b5007812422cea108045d2888e2c29ce0bcd454b95c09730d6c4698e779987523de0e972332544c34350d29c7bc030bb6273b9f1c98c3a63170abb2641c54dad64790e83387c51aac922814f834c4745409273ab00051b2a819eefc9a048f222626409fa7b3f8d27a0dd754f9372aa37eb92f6454fdbe3116d406b571203dc05201c31a52ba8b2b95b191a7b7b55e743c4ccb80a710863ab741b727f176224012c539af2bd062ba6be7a42eac08c5b6b420becbb41b55454ec1f41347ccd984f11767bfc82665286a56dd31598834b37ca6ee93658999798ead094298160b7e6c76978370db3180273401532315168a161e087d4c6086846a3b60b80103c1ad814843bca7ab329c7914982ed32bf16507b3024a16f231281a732d3d155fa60260064919c484c1741874ba96cfd91aebe5c314e407a66d7cc4c846176d759618654ac2a52fe69c69a375ecf625e2889abebf395fa20561ba6300a72a2091356fcf197c866ab5468a3af7bb3de755836d9784f7c0949445d83b3358721c7db3c09b5120f7f757bfe3366ae4365b677255ea680f27c310f768e56f1aab8792259340bd6b984406148a254bb605a291c0946c83b1e9c5bb3f879a787b9106f98809e94bdc23c062d592318f9854df04bcc343d64387baf398599bb352f82b1f0a5b530e824cfd69d7a4a15cb5624f70cbefe1c61302b8fca337d70d1900dc817837619fa893208da873c350f02892097708cc637093eb25bfb4b3c793331f0fc73c5446cb11276824cbe419378a224a683fa0d17c671fb8c4bdaf18c20c53a21a4bb8fba9ab7a1b7eccc81946bb5fcb15e1d08ada7761a55d503dba912b73765ff93a6ab642b5fb72ed4f16657ac448a1957413cae547ccd76d9936c860c70c5635c28754421af13448959d67cdea3997ee923aa326129b5397c15ab90f95832f263e080a42460cf9f081152aa59cf17263d008acbf146f34a7808257689a3148e58a0a0117fbb47bca97810a42a7e0f734c0a17745afc6ade752080b39f3267399c20b1fdfa195437b83ef5125405aba8d2ca42040371c541a5fc339772948a21b7efc30c909c7938779bd012642441083150118ce431baa72e989425210945a7c47479f4873e3c3ca6698ecb2a050415066d0bbe5e240222a2884b3cc17bacc14164be0d21330456a279547579f8a4e9443d913a154210a3fd1a1a263186445a8e1b884bbe8b54d0196affdc47544c8d10a69378fa139bc8a422c44c5568555f9080f170bc6e97284f448e6c23885d603a732c469b376a762b5068e29e80b74f994588d9822f3e81ba6ffc273a9c905d0910062bbe94aa1e0c8c3424303845779f8c9b515dfa0864578a66da8ad7b56da2810c11e1a2888b88bb55b8c096a145b62ad9d2c98e003658c9729d7b82550527411a9c0b981f3479251c1774014749d211687dda83626c6bfcd5b08f8075954bc10f48623838a736e38c1143b9472b4df5d30d37f0bd7c727a2f16a3cbe0015dab5a12e27a63f7aedb841d6d9bb1a79a5c3e903c9e374da62a298c549b9842b77c33aab6b4939aeb55704cb610d084950c41b746afd7157613618f6f1574ba51b36f7828af0aa4f79c0840ea3d679013df619046e935e0bd96ec59643250a0b38f9779b0142a9e546eb525e72ad204d1eb31a6633bee89571e8fc16151491ea71234ab83289426559f90c67903a36e4afaa6f49da0c5da5f195b80fbb99c2e8b06926074f3f604b3f6195b5a5b9737876bba72 -m = ff646071b2509e6b75790917e08e4f0b0d9f0116ec6291c0b59eaa4b583ad830 -ct = 66290e0ece573c5ee5c15e6fed6dac0feed44f3a2c6fdf910f5816097505979d8822228df92f10708f9ad6c9ad71f52bf21068b9e7fc986358c5e7d9b822a359976b5c5d8dc2ea584ff47b3cd97bf8ded0318564bd8263fd6e48fa68be689dab249b21b7f4dd81c7b5985260689ec56179975e3ca1597a76b35423172da506967c0017ceca7977bb31a607b6040a7c92ab6f028a6fb641a2cb4496c25630604095ebbd767465cab5b39ab0cd296e910ad218b8114ba81eb02e19b317af3ce56856c8c24176125fe51a0abde9cbc44ceb3a5f40b24b6af0ad28c238bb6d24bee9a584c368f916de89f7089b80be3582b0152e5d775195e643de9b9947aeba9e2626ca018476087e35299083e937cb7cef1b4ae0d42eccf9a65d12959ab715b0361553c124708eb86f91a986bdf98e1338b692e2b2ee1ee862e6956e6b03e6340a6dc7799a0928eab7f34df2f39b990d4e5b7e2e6004642a2b97b9e927ad7668a0c7e56ad51e24da07fe4139b2876a6c9c22cca399e2c288c6a9a72f2aea27410cd58b6216beec4d0eac3220b019cc1d9ca094b73b57c487e8852467d0f3ef354f49aee5971000b7058f69c6d470ba6dce6de957004f1835df92eaf70fd4f0b9b6c83082d24859db13547c93b3c3c235be12ada95897bc6c151b2147579135b69516cacd5d65ab08726698b7be6fcc8c0631a3bd7fbf0ea06ebb09999a33a9c6183ffba9789318a8ccaf16df3078afb5cc2c2767d32ecc24a562290f9c1c803f8da15547e59c38c10673894407930d1f6062d805caa53ddfb271ff4d7e70ddb921261549478c97e0fe218c319377c9266c518675c53d68e7d2a8705f88a6db7159d7e4b79bb134098539ad9746b080bbcbc89f7b95b664f3bbe078c24c4bdf833ffa4bf22261d48c4e23b08e330eb523c5e62c15713c07a52183e6d4b539ff789216d39c8c6d5cafc1c956aec2931ab89d852ae9c89c74de09e4052d5955a1cabd0995e1ca0779699bf12511d822cc06cd8b6c225e2b4c8adee2f56f0df582674361fc457117780d60e5a33eb00b609239ad032904a85031a1a9f493904ddfec5df8f7b660893650d40c103f9912fe2af880a7c29817b5bb59a3c5378558152461936a0eff233b3896dcded4eb0acb36246b0b474996c147f7dc2150c5aeeee1d36c96d0bba1085a0554e7a4ffc2d7bafce6d5353a38c312fbeeadc5d41281ade8198062a49aac73fb69e0f657f536418b71a16f04c33c6348025bb2ca8d2544413c6d371b3c7a87c1d8abc6a1b4dc32c39fbeede611af4f651b536e82468736af4ec3ae521aab2fbbe823e76a4a3ccf8853e310e644999528a8d0f4cd434a5b1559367b87fe108fabf95905d98bae6046f29d3c7eec102b93072ef8003f2af04522a5c03fd0b60ccdf3aa7069bd1c6d4e05c964305f6b7065905ff650411b017634d3c0d843f0c1266e7fe6d2f4fe86851f9158936c7038bcb584b1d73f4457ee50d4c491e86beb7f03815f86484a3a8c106c45b1f665b2ed341789d10e53070b -ss = 462f8ae0143a9173e7fb5a0b476adac03f2600fff5779cc1df9dcad9b1e7ab84 +sk = 3a756d6dd157aba65d60721c41eb4edbec38834c22e9ac88f03119b472bda0961d1f5c3268ec6492f92d5d066dcba69ce9c20311e1c15fa81fa5014c6c956f88055fc2d35e6b295d05d6167e4375bff23257ba72c0f97f452b609f22b57f7c27f71a4f259938b5aa18097399a0d32c3602203bb6769015495b4bb7317c9e99c966215c58d3455efcd36003826c2c7b1bb437a66a968dcba35dad7098fce9133110a109c2b91764719ca25866c98550082e88f29e78b38b40a53c4d626fe63390a290b54389624c597909d79fd6a658e2166704c386eb1c8e951b4c7619b7b79349c3f59505809b1095405949cc55c109a1108649552d5f83a970083bffeb6550893b5c5106417b0cf1e44b6b05a9f9093e386c9d43f14d4cfbabd3b17efb49aa2c571ae99197d2e4b7d58775962570d528b8ebb8032e8065bdcaa391837d483a27239a4a8c0b8f13013f4aaa6bac0ca86e532523d9620bf9c2c3e2aed2365e90a1699a4cbf454c4d2e2c4273e93456142f737c8b3697b9821039142c3e25b346d020c829850d6ce2649087ab762c25baa2639c8c7a852bc76d456ee69747fe561e267844a7e51ae05c5820f0c2b880b05cc935a3bbade2c6a4881cac21938a304c4cd2c1cc1bfabd932b777cc459bae4be75389862464367c6318a0521dd62c5f070a139a95522d10d2e4134c06522cf52834562a208b22a95431014934f51ec49f5ec087d1435db935bb5223c3ec87bb7f7427a458232474ad9cc222b422149977c7f366f48b0b14ab260bd0a8c04623f9b12091ae049725064d0bb4a249075816aa249718f1a7768c3469aac7182d2f01d6373038d7c4ca24802693a354c19c66dba1c05eb180ad04c1fb095b42947d16b66139384c71206bd0ba9ad9bbb5dd7593d08616c214fd9013e792a5b4930122d1c571f1315d235562c167d7546c8ef7536a929982f6a55ce7209b0d5735f69ac6c52a824e508d2481a5be01075c54d8743bcd76767b69b5e350989e629c97ac1982a75806126245fa692def22b15a29499c82ef7f993eb3472f850527d900da2f513a9366a4fa978038b9e46752dbb8084fb12cbc591008d692544078343e9ad67909dbd77c18bf18f02607210f4a0f5dc749f8b0bf371309027968968678b0135af65138c5544abd57ed8a646409224d32052bb14bab4d51dac981ccd838b4a513a36a351b81a0785ca281d7106872583b8babbd62a5787bab8ec9019c7009130ec6be4e25d9992aa1dd13da9c1a7f1ca27fd78968741436003789b8c781c599c98d2465c7513cfe85154d7a655216e5b3b800deaa6b9dc7c0d998b9ce2b99da6afc27a5ef6c152eb16184d91cd038cba69835ab3500ac2e87368f37888ba90f219ce9da24109f0b3e1894db5f640a17b0e705195a350a61ec62b2c7a216231c530f557d4c5605346a6500b7c1484012fc87dd4526823c447b71a726d65753716b30c212565dac474ca3acee664218285a5c4a726f681e98619e2a289d08895bea26bd6a3bff3a5c5c1ea894cb6440d075004f879b41a14ebb82b74ab0131d0b3348742db7244e750ae2b7bb57f8a95379502827880f8a50ecb1394db2553c07627c113a300078db1bac7b5007812422cea108045d2888e2c29ce0bcd454b95c09730d6c4698e779987523de0e972332544c34350d29c7bc030bb6273b9f1c98c3a63170abb2641c54dad64790e83387c51aac922814f834c4745409273ab00051b2a819eefc9a048f222626409fa7b3f8d27a0dd754f9372aa37eb92f6454fdbe3116d406b571203dc05201c31a52ba8b2b95b191a7b7b55e743c4ccb80a710863ab741b727f176224012c539af2bd062ba6be7a42eac08c5b6b420becbb41b55454ec1f41347ccd984f11767bfc82665286a56dd31598834b37ca6ee93658999798ead094298160b7e6c76978370db3180273401532315168a161e087d4c6086846a3b60b80103c1ad814843bca7ab329c7914982ed32bf16507b3024a16f231281a732d3d155fa60260064919c484c1741874ba96cfd91aebe5c314e407a66d7cc4c846176d759618654ac2a52fe69c69a375ecf625e2889abebf395fa20561ba6300a72a2091356fcf197c866ab5468a3af7bb3de755836d9784f7c0949445d83b3358721c7db3c09b5120f7f757bfe3366ae4365b677255ea680f27c310f768e56f1aab8792259340bd6b984406148a254bb605a291c0946c83b1e9c5bb3f879a787b9106f98809e94bdc23c062d592318f9854df04bcc343d64387baf398599bb352f82b1f0a5b530e824cfd69d7a4a15cb5624f70cbefe1c61302b8fca337d70d1900dc817837619fa893208da873c350f02892097708cc637093eb25bfb4b3c793331f0fc73c5446cb11276824cbe419378a224a683fa0d17c671fb8c4bdaf18c20c53a21a4bb8fba9ab7a1b7eccc81946bb5fcb15e1d08ada7761a55d503dba912b73765ff93a6ab642b5fb72ed4f16657ac448a1957413cae547ccd76d9936c860c70c5635c28754421af13448959d67cdea3997ee923aa326129b5397c15ab90f95832f263e080a42460cf9f081152aa59cf17263d008acbf146f34a7808257689a3148e58a0a0117fbb47bca97810a42a7e0f734c0a17745afc6ade752080b39f3267399c20b1fdfa195437b83ef5125405aba8d2ca42040371c541a5fc339772948a21b7efc30c909c7938779bd012642441083150118ce431baa72e989425210945a7c47479f4873e3c3ca6698ecb2a050415066d0bbe5e240222a2884b3cc17bacc14164be0d21330456a279547579f8a4e9443d913a154210a3fd1a1a263186445a8e1b884bbe8b54d0196affdc47544c8d10a69378fa139bc8a422c44c5568555f9080f170bc6e97284f448e6c23885d603a732c469b376a762b5068e29e80b74f994588d9822f3e81ba6ffc273a9c905d0910062bbe94aa1e0c8c3424303845779f8c9b515dfa0864578a66da8ad7b56da2810c11e1a2888b88bb55b8c096a145b62ad9d2c98e003658c9729d7b82550527411a9c0b981f3479251c1774014749d211687dda83626c6bfcd5b08f8075954bc10f48623838a736e38c1143b9472b4df5d30d37f0bd7c727a2f16a3cbe0015dab5a12e27a63f7aedb841d6d9bb1a79a5c3e903c9e374da62a298c549b9842b77c33aab6b4939aeb55704cb610d084950c41b746afd7157613618f6f1574ba51b36f7828af0aa4f79c0840ea3d679013df619046e935e0bd96ec59643250a0b38f9779b0142a9e546eb525e72ad204d1eb31a6633bee89571e8fc16151491ea71234ab83289426559f90c67903a36e4afaa6f4f7642088944d664ca7996ba944eff7e4abd0b900d3d1728d99a9f722f928fedd +m = e821e6e3209b923765f0ded2d65dec798c9ceee04665ace3061fe506b49ac7d1 +ct = 48380c6c22b1d98ad195a8780e7517f92c25bbd91d8ba68c63cb4d553c23a7fcaaf96812b4541dd435d14eb57b35182882645d2762076cf54ab70baaa243efd4f39e17265be171e9fb603bdbad009527b53bcf612340155d9d59f998f0a07a7298be1078613537664d56536c92d265a06ffeec84b95d1b629fe6c0a67af30aaf5b2e91f0d8a33c1e5bdf0c9d60401299b0ddb4c01272884a3cfe4251a7f19171e8831f65d22ec3739e5513716e38b62ca8ba8aba027d76a81a6b00dad5211a9eddb30cc288f31a8d76c3f0717568aa03405c1c71aee17a442d899dd9f283005721d5796045378aa905e1c2cae5ad8786aa3556723b98fbbd90b5d28b3aacfbf626a9c6ece6327815ae052cbd31e32cff99d1b0e15f9b16766f9949d9f45f3c67ea668848ba83add8ddd316e5cb5c76b106b9e76fc2d9d97a8b2211dc2d65138711e4e919ef0ebf62667f2f430dcfca3375d4a27f50a6367f5642e437ddaefbfed3a148dde3de6aa8999fb73f53cd9f73f37e171904d57f355d346cf36c9db4a9a9744c8541ed91fd5adee47347f69eccfd08c7ddec2d6a1555ff6642fac2108c112d2b3d762fa246b1453c33a845f735b73ef016c3dc2ef88dbe818ecfcf73bf915e03cd147ce30403688a70e5bec05e0a37fe174d37ac2d443093ca0f48b9d7bd90c972b05a0b9999e81f3cab9e56ca91caf7173b31462428608cddced2c89e540ddcdbbb9f573fdb0469ee1ed1eb2a52e737f020ea12c3ffab73d53dd904d2c920d9d733ee7a6876e74331d22f14c596cba19e69cc4be72a9e9bb26ecfedcab38cf63ead771e231770f9fddc111f06fd938a50ffbbb6e1cf2b5d12eefb88b7f7d44f67e3702c8546ec98977a28ead4da1db52681651558fbed59e0a2c22de2bcceeefaedaadce13d03c761409eb517c77b489baf36fdd13a4a08f57b25ef6fd2618c6484f798a203e421fc6447c3dd2487dcb9913d65712c6fb34760bd1f07f4f9b605b917307e6fc8c8cbc87e88440008302dbf1708df3986ac284740e3444acb74f88913f50f5515272560ccc8d59e6c2eca1314b4551f81ed073ccc0f242a637481f787f215f4115c2a42bc0f3d1647ed181ed9ab1294c2b9dfd4d1f64c57cd5c2fdbb548cbc26374afe8c24660c50f5475c4625ad23d006b309cdbb78a7f769316184ae9f2664f6d7969d9d28ba50370bf0d01a565355e6b4d2794b1ad08524a2913c60a6a470244a1cde2f0e357996df9bab6f0d6db8621c7a7b72f51e8a23273aef9417a3f5a9a3b1ef33b0369259f6ce30fbabc6add38bb1b379203f622998ab3d97b1870f4b06a69666a633e4d87119090aad22ce1793f7dea6df784a5a4020c5d7ca676f0afb7129e7f18756a14aadba2ce57c875257ffdccd01520481d9992e1cbe802ddfad74a9e9f00c9c65833411e046d7a5fdd25784e964f5e7377221f06fc7d62d0f6b960539c069c76b5b80f94d6017442ec1faa3a9551b9d5999dfedcfa9a6ff439c2a08dbb0e3727219ad93df2296779cba425ac0212 +ss = e688170871dbfb0f0c93bd5389dcca06accf082595cc6a1a12197715ec262277 d = ccb073c4b90be0ad746e26fb093b60c70110bd1dcbcddb566a8cffb7b3caf80e -z = 71600a8982c350df524cde514431ded7aec23576530894bcbf0ec0bfef0bb64f +z = 55f35361778bc0a53ea94003fcc0252d8333c58152482af1e9c9d2bdf12f377f pk = ace2af54375d684a6cb1fb38bd9c803a158483f91175263779e75b6d42734dc72fa02bc3b09630a0f79e2f95cb067c7dabf42f409a9635d55106e91e32341aaa4808df6528c3ba98886184e0195e3ca09d9cc525980cb5a2e9027c6a88e9042bf77653b9dc02ad3cbb04f594bae08da4683dfc960708d85e39a28ad6e6a7dc81a2f0f8167633901298628b695cc1868756a97d80b1afebb71eba5969a1086de4d611f737af56a83c7378c6e5e04e79a8967514cc668bc8fb7c7a1a671e29d55068e34d883a8320438ae7a44f01db1d4dd07304081d684796a9257154381ec44562a8d005f3dc4c94d5ce9e36705132acc8876142194da54934095c2d5725a10e376432b17bf7d1b085d342cb3c633a085e950248ccc9c7ff350efc341d07d0ca06e6bec943353c479506691f2347a29ccb34ad09c929692ed98640e6b8560529cb17030ebfa4c769fc7707c75d86c234edd78e7b3010fe86bf71748cc1c5b00023944774200b2163b403b8207093dfc959b6aa09fe6b98f6e83f972a50abf113e9da2fb9fa10d0d05789ccaf05c448854249ba8973a19c537dd69d3f39744da89debb58705ec90ea56cdf428087d8333b16b1a9e59794d49a40b513b50867979230243b27f3d784932e1caadf8b58fe11bbea62da4875d004a73fbcc90b566ab998a45099194d449cc60b0562570648ad588b213cb99a01283706878287930a71b68b43f87023d2f49829abcbde6a37a941182b78b8cc1b93982c7a24457a9e1683d2bcc97b4259518e0102760100e1c26cdd85022a04a91168486ba3413613ddd6c42ccb563379a08096b287b41a011fc9594d132e33957f2a5bc1db4c57b4c8d9d3135476095ded35b2fdc09d8f996e332baf7939efb1032e529606677bb1144374c41c08807c9c0868b0c32772f18b755d7bc5c5b12f8eb9ca9dab589185553b74408301062c90b2d68504f0718d42a1989f050f9097889aacdc175cd7e6768d626a8c9aa1b0cd6cbe91b10af1a3e507575b47b6ac8c2b7c801a81985a81ad4ac04b32d0dd880d43b3d36857738369b7898b231b24ce6e9944526b9ef370354e21e38f6aaefacbda63497a85327a2112a5db95179c5285d805698209f2a1b67a7730405b02b3507b4e4b65298734f5eb1b66bcb68f9369abc01c7e4545568d432a685a6e038122253987edc55efaa3d926413dbdc43f9908df1925031f45d28712734fbcec3724653b019f7d5698da7b0c3c90eece1a1be3567a253a143723b9550c8f7333ddae88208667353a6184853a85a99c0c463189eb5763fe59d678349f536c56d014cd92b56ed2aa6b0518f1221a49fd6588650057ff00aa29b93f182b3437386f1f846d2a3c60cd900559425b2b7a5ff88cfabe24bedcc825552577b5c12e4856ddcd91b0713526098b5fa555f105a0f1219110347af9016254951c3cb5c7ebe602564242276399b0048ad8d370b544b1cb9789694c7753ef2cd4ab51513cb33f38bbb10c83c9a1a5fd1489d97476d9bb314849581d688c3dba01662b539c50b0db8e889a4654e6af708a64910fc503cfa0abc21b8abc233ab978965059c41d1123a4bb90306aa09263b25be885f4db186d0e720e97524464c7f1b57e338a864d6c447ed4e29d88c30bac7d2d0cdbac43e9f4176f0078c715acc -sk = 0baa531a985251b6b10153c8fce6938a280e93f9ace7a56dc7f44fa8bb2f88c09290888da8134a0fc43ccbb75b50b6a724d6812183acf876036dc252fc893419280314c7611750875821b2f3ac4f1c20b06365709bc07ad4161c94c41930568996f8cca58c4a0536cd5668488715593e66621f96c87a2178a36438dd4c390ca0532d30b88db712cd3c50d30baa91c98cf0bacf32c60c81468307ca35b47abfe59174e53467cf7b1d376758f1a5926fe225f0078ff288ae24d23241709e471624285c4fbd35a333088dd643cf6cb0ab6b27c8b679792ecb8ba4c28cd8b09677f0a7ebb692eca6777922c4ed6c20402533cbb9a3f1e0c10250209ef128a626b763b30b5e49c4c4691e3a13c2c2601b6666aba1d099987990bd1bb00ab5806390ce8088cae30a5b20567295aca7f0191cbdb4795e78bf150c7954f9a49880c218c23e59014620e18f18c536da0b7807b0c9e11b1e341c2e7e5ba799653fc669c1032aa014cb79769361b01091b5e000cbe100933c6d05714481f491b2355e72638831d0c4f4daa18c6b4ae6e825e688cb812490fa13b43d306e5bc857fbc18a61923f6b685e5fbb5be9c1871a9822ff07caeff40318482144143cecc5b0c579c84fc949ef359f0b24b20fc0a9f3300a3217a8058469c78b7998744024e275cd1c70a96a75fd86019ca031fec081dbdb796a56186d9a1df8c098940527d34a1df2db50b5136b6737829f0cb1da3b131ab238207a011f02bcd346a0a7138ebe3ca2d78646d7f98d5a886a24b83f8fe84ae81627011a2633f1c159c3870f7c69126b3c31f50d356888f9077fc207168cb075e0940fb7a0becc556de78089ed512a39a6adcda9c3c5126d874b50c163ba7b091656e52f9813cb318c87abab12a3f8996a4cb446d0793055ca177a1bf455cb956443e56c160f4788cdc6b008c086403bc910332d3e3274f9825e9964484d7a52c91c275e153a496801c0e6c8084b25b53c8eba77a9412291df78bd39895dfed82fd3c92947a1beab598d33da8344c88a9e073e28549fc939cf5c6978b6f74ccb23675616899fb69c5eca0c6b68090a338eab57a222fbb5a482837c097bd40141659a2a71d81e3bd38d60d0a903592b768b0ce60a7044350a75fb02f19482138603a9d8cb89ba6a32d37a15549548aace4636047d66ca4de6cf7643c2a5939478a39873820578150172f965d4dc6cc6d7adfc360568a53c97d268900b7b20122e50cc5e460304927333beb7bf73446064d76c3af1274b503203804774b00f02534772ccb83caa8475651460b156a7238da2a9847d445f55687a84baa06dd69d4a637efcc1c09f81bb97b541fd77a96883869731ac776913ed6c02ef03183b27b4655639509b1e8bba74837375628152814448f270b6dd865c888180aa071a2ab42740e93f05b32a9c85a069420be2ecc5335738f9d46c90c5af1625779f3a329dd693706618afb300b5c7099c220126c8398fbb8f32a2a35888bcaa187950365f022585c2e08243f53122b6c5ee9a95b84151afd10b2110135c2a940bb8370565bcd8739609c44f4aaa7c5c266c6ef7cab87b351236702e327b3e53555e24abb670ca6e505df0e0aecf7513f7e36374988dace2af54375d684a6cb1fb38bd9c803a158483f91175263779e75b6d42734dc72fa02bc3b09630a0f79e2f95cb067c7dabf42f409a9635d55106e91e32341aaa4808df6528c3ba98886184e0195e3ca09d9cc525980cb5a2e9027c6a88e9042bf77653b9dc02ad3cbb04f594bae08da4683dfc960708d85e39a28ad6e6a7dc81a2f0f8167633901298628b695cc1868756a97d80b1afebb71eba5969a1086de4d611f737af56a83c7378c6e5e04e79a8967514cc668bc8fb7c7a1a671e29d55068e34d883a8320438ae7a44f01db1d4dd07304081d684796a9257154381ec44562a8d005f3dc4c94d5ce9e36705132acc8876142194da54934095c2d5725a10e376432b17bf7d1b085d342cb3c633a085e950248ccc9c7ff350efc341d07d0ca06e6bec943353c479506691f2347a29ccb34ad09c929692ed98640e6b8560529cb17030ebfa4c769fc7707c75d86c234edd78e7b3010fe86bf71748cc1c5b00023944774200b2163b403b8207093dfc959b6aa09fe6b98f6e83f972a50abf113e9da2fb9fa10d0d05789ccaf05c448854249ba8973a19c537dd69d3f39744da89debb58705ec90ea56cdf428087d8333b16b1a9e59794d49a40b513b50867979230243b27f3d784932e1caadf8b58fe11bbea62da4875d004a73fbcc90b566ab998a45099194d449cc60b0562570648ad588b213cb99a01283706878287930a71b68b43f87023d2f49829abcbde6a37a941182b78b8cc1b93982c7a24457a9e1683d2bcc97b4259518e0102760100e1c26cdd85022a04a91168486ba3413613ddd6c42ccb563379a08096b287b41a011fc9594d132e33957f2a5bc1db4c57b4c8d9d3135476095ded35b2fdc09d8f996e332baf7939efb1032e529606677bb1144374c41c08807c9c0868b0c32772f18b755d7bc5c5b12f8eb9ca9dab589185553b74408301062c90b2d68504f0718d42a1989f050f9097889aacdc175cd7e6768d626a8c9aa1b0cd6cbe91b10af1a3e507575b47b6ac8c2b7c801a81985a81ad4ac04b32d0dd880d43b3d36857738369b7898b231b24ce6e9944526b9ef370354e21e38f6aaefacbda63497a85327a2112a5db95179c5285d805698209f2a1b67a7730405b02b3507b4e4b65298734f5eb1b66bcb68f9369abc01c7e4545568d432a685a6e038122253987edc55efaa3d926413dbdc43f9908df1925031f45d28712734fbcec3724653b019f7d5698da7b0c3c90eece1a1be3567a253a143723b9550c8f7333ddae88208667353a6184853a85a99c0c463189eb5763fe59d678349f536c56d014cd92b56ed2aa6b0518f1221a49fd6588650057ff00aa29b93f182b3437386f1f846d2a3c60cd900559425b2b7a5ff88cfabe24bedcc825552577b5c12e4856ddcd91b0713526098b5fa555f105a0f1219110347af9016254951c3cb5c7ebe602564242276399b0048ad8d370b544b1cb9789694c7753ef2cd4ab51513cb33f38bbb10c83c9a1a5fd1489d97476d9bb314849581d688c3dba01662b539c50b0db8e889a4654e6af708a64910fc503cfa0abc21b8abc233ab978965059c41d1123a4bb90306aa09263b25be885f4db186d0e720e97524464c7f1b57e338a864d6c447ed4e29d88c30bac7d2d0cdbac43e9f4176f0078c715acc3217d034b472a846cd317681c0f36feea187bd40e546dc4ad69c2e67fd9d830371600a8982c350df524cde514431ded7aec23576530894bcbf0ec0bfef0bb64f -m = 0584270ec26f3b9818e4af074d17b2d51037cc8dfdcbe3b140fa4fed5deebc54 -ct = 7613dda749b9b371c3430ba4a29b0e4be5ca55287b1a1d0c760939da3c998c7d88b2c8fd7d43f1f2c5b573ef16b48d339738d0d3aa0ce094d5f1077e23eda6e6e8189c6ca76a7517ffed4c3c59184e8d96e74c0b284e8d21076426fdce05c3a4115cd8adfc0ec21eb5b86059d415d515287e44ee2e733ec27d6ab5945dbca92b9ba4339dee417428abfe9f113d5e13c602ab11ae380e54421c4f713f0af28c9c97b430a3b6dd7113ef98a93752f5f7fe4c763d3d7eaa53c8dec6a796a37d97cff28add820d317ac023dd3202c072303d5f172492aeeef6b1486399e45167d8cfcb35011bfa166dac078f10b49a776f9a00a227531e4b1390e3c9ebfa49c1c80046a093cce478e1c91f0aabea97bc0042330b26d01ba19c07355ff5612bce097e351d891184725f2d1f95b544e615020dac8691365149e5aed1e387b68b0e7914bf8e3e94267c5e1e525d8994221401a4048aca3ab586b352fcac09d41609012683b748661b5f60ff64c95f410d4163b07225e9d429a22b3de3a8e391352331216c3d229dfcca782f832dc7d0a830aca4b9b1ed37af42e6d9746286ab161a719f02b4a241cc65156e5a05359aea4feb750db28b6799523cd42d70a1f84efbd98d5f02229a97071d9105948c372aa52e9f132dd96d4ad3391599d155dec585dc0c423b4175f5db53bcc6dfbe384ce6705416c64f8d60a8704822e20aa05bf226c512b0aad25d5d038e1d33feb4376364cbaa41116d9b79d061dd61f8ec03e6d731574c83bb05eea5ab730e51c31f7cac2fd4f675824031ab5ecfd784ac57871092fc3cad566e460856f77308424c7418fb6f9c4e9f3eaa8f3f2a5ab544c18579debb41b02347294e6816a873171f8c2a6e4c529205b98c1d77638fe2db105cbced66817051daa83e89abfba25ddfd1d10620c94245645265a1094b8bbd75851925448629673bbc222b93a2dbaef4b58a370204752cd993f3a10d6cf379a17dec1a909db1ad047f84bb50b244d15742543f097ca97e2597e2ef03da5e50f054b8b439059ef9e82852a6e9a22c6dc6782333f858cd4d6b07c3bfa8acab2271e32d13297235934f4272969f5cffc744cab9ba3584ae869b52e97fda0d77c11d255046cec3d57e2408eb5aaefe91e541c03247e28e96905997372d9ed7a31378351a4433f1624ce6a1ae1ca2a7b27dc2f41e126b776c3b72db38ce2d7c1ab8e3ce8e7006d0e98ee2b9f3cfeb5697f302e5aa5b59064fb5cc2ba5c688b7056adc0d204578ee44dfe1d113310bdb08cb49051363d8bfe16f2f782fb3bb992e3815e84f3eb3268a21a356178d09f4770ad6bb62cc8f82a29bd18a854f05e2f3135ad8bb60b752a8460dc53c869d4695e44b6bfee3af8920113da5ba5747eb35be4d5df27db9a77c6181143f0831410b50a487f918ba58a30fde87acaa561e662d31aeae4672894e7ef8382027fdbf019893503209352fb63446c8e851afc0dc22d62dbeee29f43bc40e49b66da3ae7d1e2ed93e760bc94bba7fd1f47cf4d41c9e7a3c7ab2 -ss = bad63432a274bec85e9c361191a3431d6f211f1fcc69173b9fb00c0517ac3b3c +sk = 0baa531a985251b6b10153c8fce6938a280e93f9ace7a56dc7f44fa8bb2f88c09290888da8134a0fc43ccbb75b50b6a724d6812183acf876036dc252fc893419280314c7611750875821b2f3ac4f1c20b06365709bc07ad4161c94c41930568996f8cca58c4a0536cd5668488715593e66621f96c87a2178a36438dd4c390ca0532d30b88db712cd3c50d30baa91c98cf0bacf32c60c81468307ca35b47abfe59174e53467cf7b1d376758f1a5926fe225f0078ff288ae24d23241709e471624285c4fbd35a333088dd643cf6cb0ab6b27c8b679792ecb8ba4c28cd8b09677f0a7ebb692eca6777922c4ed6c20402533cbb9a3f1e0c10250209ef128a626b763b30b5e49c4c4691e3a13c2c2601b6666aba1d099987990bd1bb00ab5806390ce8088cae30a5b20567295aca7f0191cbdb4795e78bf150c7954f9a49880c218c23e59014620e18f18c536da0b7807b0c9e11b1e341c2e7e5ba799653fc669c1032aa014cb79769361b01091b5e000cbe100933c6d05714481f491b2355e72638831d0c4f4daa18c6b4ae6e825e688cb812490fa13b43d306e5bc857fbc18a61923f6b685e5fbb5be9c1871a9822ff07caeff40318482144143cecc5b0c579c84fc949ef359f0b24b20fc0a9f3300a3217a8058469c78b7998744024e275cd1c70a96a75fd86019ca031fec081dbdb796a56186d9a1df8c098940527d34a1df2db50b5136b6737829f0cb1da3b131ab238207a011f02bcd346a0a7138ebe3ca2d78646d7f98d5a886a24b83f8fe84ae81627011a2633f1c159c3870f7c69126b3c31f50d356888f9077fc207168cb075e0940fb7a0becc556de78089ed512a39a6adcda9c3c5126d874b50c163ba7b091656e52f9813cb318c87abab12a3f8996a4cb446d0793055ca177a1bf455cb956443e56c160f4788cdc6b008c086403bc910332d3e3274f9825e9964484d7a52c91c275e153a496801c0e6c8084b25b53c8eba77a9412291df78bd39895dfed82fd3c92947a1beab598d33da8344c88a9e073e28549fc939cf5c6978b6f74ccb23675616899fb69c5eca0c6b68090a338eab57a222fbb5a482837c097bd40141659a2a71d81e3bd38d60d0a903592b768b0ce60a7044350a75fb02f19482138603a9d8cb89ba6a32d37a15549548aace4636047d66ca4de6cf7643c2a5939478a39873820578150172f965d4dc6cc6d7adfc360568a53c97d268900b7b20122e50cc5e460304927333beb7bf73446064d76c3af1274b503203804774b00f02534772ccb83caa8475651460b156a7238da2a9847d445f55687a84baa06dd69d4a637efcc1c09f81bb97b541fd77a96883869731ac776913ed6c02ef03183b27b4655639509b1e8bba74837375628152814448f270b6dd865c888180aa071a2ab42740e93f05b32a9c85a069420be2ecc5335738f9d46c90c5af1625779f3a329dd693706618afb300b5c7099c220126c8398fbb8f32a2a35888bcaa187950365f022585c2e08243f53122b6c5ee9a95b84151afd10b2110135c2a940bb8370565bcd8739609c44f4aaa7c5c266c6ef7cab87b351236702e327b3e53555e24abb670ca6e505df0e0aecf7513f7e36374988dace2af54375d684a6cb1fb38bd9c803a158483f91175263779e75b6d42734dc72fa02bc3b09630a0f79e2f95cb067c7dabf42f409a9635d55106e91e32341aaa4808df6528c3ba98886184e0195e3ca09d9cc525980cb5a2e9027c6a88e9042bf77653b9dc02ad3cbb04f594bae08da4683dfc960708d85e39a28ad6e6a7dc81a2f0f8167633901298628b695cc1868756a97d80b1afebb71eba5969a1086de4d611f737af56a83c7378c6e5e04e79a8967514cc668bc8fb7c7a1a671e29d55068e34d883a8320438ae7a44f01db1d4dd07304081d684796a9257154381ec44562a8d005f3dc4c94d5ce9e36705132acc8876142194da54934095c2d5725a10e376432b17bf7d1b085d342cb3c633a085e950248ccc9c7ff350efc341d07d0ca06e6bec943353c479506691f2347a29ccb34ad09c929692ed98640e6b8560529cb17030ebfa4c769fc7707c75d86c234edd78e7b3010fe86bf71748cc1c5b00023944774200b2163b403b8207093dfc959b6aa09fe6b98f6e83f972a50abf113e9da2fb9fa10d0d05789ccaf05c448854249ba8973a19c537dd69d3f39744da89debb58705ec90ea56cdf428087d8333b16b1a9e59794d49a40b513b50867979230243b27f3d784932e1caadf8b58fe11bbea62da4875d004a73fbcc90b566ab998a45099194d449cc60b0562570648ad588b213cb99a01283706878287930a71b68b43f87023d2f49829abcbde6a37a941182b78b8cc1b93982c7a24457a9e1683d2bcc97b4259518e0102760100e1c26cdd85022a04a91168486ba3413613ddd6c42ccb563379a08096b287b41a011fc9594d132e33957f2a5bc1db4c57b4c8d9d3135476095ded35b2fdc09d8f996e332baf7939efb1032e529606677bb1144374c41c08807c9c0868b0c32772f18b755d7bc5c5b12f8eb9ca9dab589185553b74408301062c90b2d68504f0718d42a1989f050f9097889aacdc175cd7e6768d626a8c9aa1b0cd6cbe91b10af1a3e507575b47b6ac8c2b7c801a81985a81ad4ac04b32d0dd880d43b3d36857738369b7898b231b24ce6e9944526b9ef370354e21e38f6aaefacbda63497a85327a2112a5db95179c5285d805698209f2a1b67a7730405b02b3507b4e4b65298734f5eb1b66bcb68f9369abc01c7e4545568d432a685a6e038122253987edc55efaa3d926413dbdc43f9908df1925031f45d28712734fbcec3724653b019f7d5698da7b0c3c90eece1a1be3567a253a143723b9550c8f7333ddae88208667353a6184853a85a99c0c463189eb5763fe59d678349f536c56d014cd92b56ed2aa6b0518f1221a49fd6588650057ff00aa29b93f182b3437386f1f846d2a3c60cd900559425b2b7a5ff88cfabe24bedcc825552577b5c12e4856ddcd91b0713526098b5fa555f105a0f1219110347af9016254951c3cb5c7ebe602564242276399b0048ad8d370b544b1cb9789694c7753ef2cd4ab51513cb33f38bbb10c83c9a1a5fd1489d97476d9bb314849581d688c3dba01662b539c50b0db8e889a4654e6af708a64910fc503cfa0abc21b8abc233ab978965059c41d1123a4bb90306aa09263b25be885f4db186d0e720e97524464c7f1b57e338a864d6c447ed4e29d88c30bac7d2d0cdbac43e9f4176f0078c715acc3217d034b472a846cd317681c0f36feea187bd40e546dc4ad69c2e67fd9d830355f35361778bc0a53ea94003fcc0252d8333c58152482af1e9c9d2bdf12f377f +m = 1332fbc0a80d85a33c44f3a9f060ad7ac8727576105931bb0401f47b31990836 +ct = 2065b316588b8abf94f546b82155bccc4ced1fe0f076ec970acba4419ff9c5c765b764c743a862b11a06355bcdb8fd6882647129c466fb3f9e259535ee659989ef8100c0d2cd170fee3ac39e2f67e88053dbb738fbb2c3df2891624f7b97e9a0cedfc5bea65c5c68e1a4913beed526137f0684b5d15785dfe52112189d37dcc538d40933f6c3629e4394aeba0828c2fe919b32586fc9676b43c569dffc8aeea4e65eda31fcae780f19f29ab11103ee33887995d53dab102a4af4a49e257b3d4b356712684e38044ca90ca0849fd584258bd88c43e43b100f39902c1104773bbbee3ed8e50c8ed61ae6c9ebe1cec5b0f7e40932aa756cb53bd0c18d9e0eee0db9eec2da115ae4b8a3746dadd0ce7963616570d7775f85a80a0367f292e17ba989455772ff84b533db2820247f2d85f1fef57830bf9913a33e47335f98357674764bd0bb87eac748e5b131a1118c67ef2250357199f1a408a3713ea71d92e96900cdcfd08c38c3c2d0ba4b81fb1b412fcc1a59a1c0361fbdbc00b10966d430ec27c5da9c7d3be36422f76e4b82694f0e5ad07902b38b0abb39e632f5fbcaeb3c8fc33703ba6d08738ce4da863772f58007c398f1eb360db5b44a4b7b6feb5b4b86a1953ecdfdc0fa640ec2fb5f14b00673f056d77df779a282b54ba63a9764c11a67ab70649fcaf796a9b30dd2d4bad78bf41515f2c731ce5759bae5c2003b78c9f9375113930c8eb34b8667e8de41473bba4a6ea6b51da3b970a630b829c8fe62200bc8ba68c1449f3640827798124ece9ccc6aeebb94eade93dc4b882d8977a3c71833139d9ec116f54159b9b12f61d5299998f1ba2cff2dbbd07ea5211723f59df7f395ee82e6173debbdb209309eaaccda9dd993ab2e12c9fac8c27924ce1a596876e724b3e4d25770c05831fbb21f77b9b454322c3099cc75e44d50a667cb65c33f0786aa342669f4c79fc0d90d9f8d0c5bcb7e9f47e6fc3799f346f65b816a73cfaa36a2d639c1fed4a85b5319b37e680de0255793391afe8dbdb06a4e0e14c36798e7d75cff2451c2b9fa229ea8efc3bf6d65290577da85b744361090c6554ad78471e510a83507dc5d4930a12a67cc902f4adbfa5a0496bd866bfff581c4aecb9ded607f5b7f226a790abd11ceefb2529ad4e110c1eba34d0cb6919383250aa7f0fcdde515135c233bfd67e33a89b9f5f029000c95573a06db9743f05279d647a7d3b33e13a404e103669135bbfd294f7b0007ac394cace87ccba7a2462e5a51498c398dbf83606ec908affa10fa3347b52139b3eb616ab0ebcd2efc966c5eaac4341b00f639e17a5bc50c1888549b15bb45553adc89cca1116142c3f8046f6605bb7e566a386751cbda3d6f768c0737a145115027a3dbfae4b893515c5f18517ca4474a1deda297dc94924662d96ede4e4a23e75759dcb3d7013f50a28aa649650fcb68908f00c6ff1366761cdefb6f7c1967c3901f310c00c85d74a70bc193dbd74263a7504c35ce4cba327c006e443644cb0ef1b36ac66e675c8bdb +ss = f150b7d47c6aeb0920564b34d145c59f5d5a60a709e23afb52fc54c41a009b86 d = 2e889f44e28901e9ac7ca6b2fffcb124c8979401b17064d7e1d51a7e3c3adbfa -z = 0e145e44aae52cfc609e6f47fd7a6f6af877190ff52256d0ac5b05b89c3f449f +z = b2638686db9a0292adc26e549c7152ff36d9a7293bf1380bf93f1498546eb93b pk = a9c823efc5c946dab44b5b2068d61f00e7b0d87ca67706343927bfe4c12d20d69c4a5ba892f97eeeab7b5a45742cc4ac4d37219ad72ac312051d31b8385ca2293415a13bb8983b8457b8af9dcca9e6322094ca68399ab77dbb9f6aa7ced5f224641c3fa07507da9a08e0d180d52585dfb3b2fc95cdc733a573a888d403cbbb71c120baae2a195278370bf33299b9b2684accc5288a3cba1277fd3999839a6ed29bb91d71a528bb2e4f953778ba23341cba4b9b3c17f9a8366212af3b722397419e24874b163470b3b2b7f24ae62258983b6161c6773b5ac90969c03d01cf4669b9d1f46e05705d4f676d464264d7549e1e2c3290c9b2bf5a71132057531714bedbc7a91bc0ad56254d298908d33d588951333b3cb7924abf14b0d70652c45aa62cc3062d851e45c866c6200df4e74a9e559b9e6ab738f2b0da9693ccec3d968a866f0220ca95b7c6e8b04ec41d39c17eafab77444aad4ca3a9d6b5b5d4611a6c074fdfb01f7df68ad2440efc5588f3b4a5c4106efa3b9b6bb35c327465c7b656d1c1c6409993fd91cc20172e53190dad63ce02691ac326904cbb6424c906bd091312c1bfe6969ba6aabef954b5c8d439da5064a248c92988961fd2254479946dec829c76cba61690e3c541648228b59805d7fb2adb6aaba70718985279452a2fb1414e4704ac3dc84d3eb767101c8f4feb24bc8148316609bf963afa826a9b87638424052067ce8fb393d9ac579ab1080d1c549fd5103312a1ff9988dfe7805ed906fe9228e25942d49484a4510e0ff9a4a54a22cba6be945126ebe461c5940a74e1517c60603b2651e8371973da7051eb7197713f5583ba51b92a9eb3179b45a8a8a5099b40c29f59146f25a563291364f236038c79b784bf09524fc6810f91b777bae252e5b723e8059c06157653e335549784a15553ff9a7a29407d87725aa6b7a2a2669cc776bb810672967cb5b8b9a9ba751a9e69a8ddf796b1f324348712ff0c23f49a1debf210c027995b8a7cc5b288c4c74218e5086112237128cc57f4bfeddc21ed23bad00c58d835b5a3f0c8fdf1001e0ab26c2cad47d5caf2252cafd3520e36ae21119e56fb456f277132059ca18623bfd994878c794545ba4a04436d804231f430b12808fb01647fa15d94b975bb6798ab7c3f6355b9bd50bc1ca00ee76342c8609be0bc893deb398b65a453ba08bef83b805b61945229d98422f59c27e86022da5620d737867828540c20b097076bc6c03e5435aee1b9af19958a7dfb921da414280429da389eefe23fc9578b714b4f2e5b19b792903ff45aca045bec0b3d83c204747a2e24971b440c10119941d9316f45a87c4ab2ac0f7c4bde9bc8ef73a7f42513be3420c56720ddb984cb173587462aed9996d2a848d11344eac02351e6c5a18cc7ae813bfdc50d5b143f4d07ac72a213a0577f9802043a585d95031d017b319358a24b06b7c2ea19f22b6634146cc0a123a8051c51e6ad6a956b1a935ffe00bc65c44a60534d1375570bc036edfbce66255f523bb377b2256c29b870da2c870868299828f6fbbd8e0a109386b8d743a6e7a38384d5933e64565a037b9f520ecf8466f2073eeaf03d1b606f947ca2d2ca49e4b41de9011ffbd23920c0d2d0cb20e3a9c63bff3e047504a8965639e8fd0db690ffa1e791fd -sk = e0c2121f06048fbc565fdaa305202d439ab3a81b31fa257aa6f4273547c1465610ae51c2c1c8603aa36d1575754a86c9194b1cc6a9b8c9f77ce6484c5198a193ea4369293798943f7918142f849c8d7479eb0588e6e6b4abc4ce81a406642414eb4137c2da905ce4ad2b750e7d966d34a3b1bfa8ca5c8070456b1f6d5b71e582c9e1e2bf9dc37ab60a09e797a43f66b27b04c13c034fa6f594264c9d7da884c762b159d775f7750a1862216e8bc992c9b2e0d18513f409df8b0811ea89d2a69b66d34e59bc93f5c7bde25140a976a3195541ee22a7edfb7f9d647616b31399b6c924022f036225af7c34e6d221213ab5f7a20b908325835266da1b456f5649b895bb032142fc5c700cfac4c2a44cf1f96d57b8ba1ef2c9332a612e8bb9043559b5567090873d3f9450f37670b473a96f812ce1d71892e43c9fe61fa594601a27a98ec817dd822c625b98e0fa8f2d5a311a87a6c23b4dfdf44d7511373e64a4a18a833d654a946b0da9694329023086013a919971cc4c8a45916901b45c25c28eb6051600644660796935e65a4700496bc32204201d5c8708fdeccbfe949d1339947c6baabcc67ec901659d220fa4d1a3da1a4adc2b1b323bc4cabb6065d9032ccca3dd3c8689c9a35810bcb30b99b3f55cf2ac8258c5b85c696a372c7aab5b0dd62aba06804466fa4c22b2ca0e09b7d47c4644898aacf6899c79b5321110f010cd40253e40c5920db980a57c01b55c506a6662be1253ff171412820272613940704f63e70340414322b69b60b50bbb4459c1d6a0f25065da032455598edf678505f54b51713209565fc4812ad5f8a05a926340fc3853719146d049017475a09a1fd2d47b35371d715c455debb3a40a8a0e83247b6b8ffc05b2e857b5d8b201e56c109dc155b720b2528301c49237f7a629234231fba25c75d600bd360796a68991bc68cafb5b0b7c748ab7039d8c4fd1b3b4de76c193123e50109ba70956b9556f245ccd4330b888d43a84714e8cf17e5713b5ae5a9fc3a331718c227ef4bdce131f31028d68529f06a218ac32317e9b7634c572513974da2bc3ddc4c07f2c6b8d3aaf5734b5d9e691d790b0fa67cbcf36c0372c056c268e0c243132db5de7365310f5732151b80bc98a2bb76f9e8c616fb1c90a5b83ca5738bfa9cf1fb96242998a44d667a57b517a834834ac0f2ac00e91b32e4e7aab452249d31575bc96c8652ca8e4c3c0d3277a60f5ca7beb80b563391a3b8e1a1a97c85823928877954c28d052a2c116bdc325b687d26d1ccb3386cac9bd4c10c3ac381e056f9060c89e25a910c78e677964d153b74554c8f38939f881543f820b6f11989589302eac53111a45f7664616999d7a64aa26e4cd74539dd496a1f0fc530415b16faa4ac86341c5400cb1bbcffd2707be12c31acc9b5c94b806b71dafab1eaaa087efc1419cd2978ec1b973336d27b69af2fa85f6c33b73770c0f6b85d855938ed8758e6aa5724b8c0d457b29a9394a3528de99cbd7a875bb5b299c8a6dfe416104a59aa9e958e3828d3c651b5a9a7e81d7738374692033c4c68254d5170204f83a9b8520016466fd9189efbacaa23ab8f962af7d66aec2e27e468b9c326711673839541262a9c823efc5c946dab44b5b2068d61f00e7b0d87ca67706343927bfe4c12d20d69c4a5ba892f97eeeab7b5a45742cc4ac4d37219ad72ac312051d31b8385ca2293415a13bb8983b8457b8af9dcca9e6322094ca68399ab77dbb9f6aa7ced5f224641c3fa07507da9a08e0d180d52585dfb3b2fc95cdc733a573a888d403cbbb71c120baae2a195278370bf33299b9b2684accc5288a3cba1277fd3999839a6ed29bb91d71a528bb2e4f953778ba23341cba4b9b3c17f9a8366212af3b722397419e24874b163470b3b2b7f24ae62258983b6161c6773b5ac90969c03d01cf4669b9d1f46e05705d4f676d464264d7549e1e2c3290c9b2bf5a71132057531714bedbc7a91bc0ad56254d298908d33d588951333b3cb7924abf14b0d70652c45aa62cc3062d851e45c866c6200df4e74a9e559b9e6ab738f2b0da9693ccec3d968a866f0220ca95b7c6e8b04ec41d39c17eafab77444aad4ca3a9d6b5b5d4611a6c074fdfb01f7df68ad2440efc5588f3b4a5c4106efa3b9b6bb35c327465c7b656d1c1c6409993fd91cc20172e53190dad63ce02691ac326904cbb6424c906bd091312c1bfe6969ba6aabef954b5c8d439da5064a248c92988961fd2254479946dec829c76cba61690e3c541648228b59805d7fb2adb6aaba70718985279452a2fb1414e4704ac3dc84d3eb767101c8f4feb24bc8148316609bf963afa826a9b87638424052067ce8fb393d9ac579ab1080d1c549fd5103312a1ff9988dfe7805ed906fe9228e25942d49484a4510e0ff9a4a54a22cba6be945126ebe461c5940a74e1517c60603b2651e8371973da7051eb7197713f5583ba51b92a9eb3179b45a8a8a5099b40c29f59146f25a563291364f236038c79b784bf09524fc6810f91b777bae252e5b723e8059c06157653e335549784a15553ff9a7a29407d87725aa6b7a2a2669cc776bb810672967cb5b8b9a9ba751a9e69a8ddf796b1f324348712ff0c23f49a1debf210c027995b8a7cc5b288c4c74218e5086112237128cc57f4bfeddc21ed23bad00c58d835b5a3f0c8fdf1001e0ab26c2cad47d5caf2252cafd3520e36ae21119e56fb456f277132059ca18623bfd994878c794545ba4a04436d804231f430b12808fb01647fa15d94b975bb6798ab7c3f6355b9bd50bc1ca00ee76342c8609be0bc893deb398b65a453ba08bef83b805b61945229d98422f59c27e86022da5620d737867828540c20b097076bc6c03e5435aee1b9af19958a7dfb921da414280429da389eefe23fc9578b714b4f2e5b19b792903ff45aca045bec0b3d83c204747a2e24971b440c10119941d9316f45a87c4ab2ac0f7c4bde9bc8ef73a7f42513be3420c56720ddb984cb173587462aed9996d2a848d11344eac02351e6c5a18cc7ae813bfdc50d5b143f4d07ac72a213a0577f9802043a585d95031d017b319358a24b06b7c2ea19f22b6634146cc0a123a8051c51e6ad6a956b1a935ffe00bc65c44a60534d1375570bc036edfbce66255f523bb377b2256c29b870da2c870868299828f6fbbd8e0a109386b8d743a6e7a38384d5933e64565a037b9f520ecf8466f2073eeaf03d1b606f947ca2d2ca49e4b41de9011ffbd23920c0d2d0cb20e3a9c63bff3e047504a8965639e8fd0db690ffa1e791fdd1756ecfaeb695001ac490f36c4638151bee98d367fb7adf0e06a470844068af0e145e44aae52cfc609e6f47fd7a6f6af877190ff52256d0ac5b05b89c3f449f -m = 51e05c7b4ca3079781e8293f4eccebeeb2f8c8b4c59468eddb62a21bcb4ab8a3 -ct = 626889818f1c1732ebe9f4d16eb41d7a7bc195cf1b20d4ce5ef88d7ab66480d993c7c4d9f5538a0b6cd7789ef1483f18727c32165cc2a482d33eda191877544f8abd849eff8f3f7c7032d95b34e8d8d4307fff26ce4e02f031fe8dae875a5ced281b114ec35ba6569faeb5ded0a3b945e4b249154ec199732dd0c86487a3b9cc8f7867c5d10976413d5a78a8c7ac92312e1f47a33bee8352389776ece26a02926cc9e7992e40bec9bcbb4206e498c27999567f421bfbc4471cc7c3c4e34521694c67465b0902910dccc207056203790dc3d11d42ba445d0c9038b727db8d7c0649cb7217e362020f3552071d50aa00bb05c1799841db2d9625a6f9f2e3eef16d5374bb46f839ab64a1314acf5780f6e5894ab344a257894a2ab5cedcef54a5248040a2093639a63fe91f2ff779767270188db6fab919181633ee0e2d0f93ee0d5f9792bc0b73a1e3c40dc04df30eb2b1752dc1b620e683619a0cb3c3b9620df3fc2e517ebf7b457e5b4f331a1e5d54c107aff06909040d1773842b44ccc74923c997f8ab0901542ca97c4c74de7310b50f091ed8664a6db07fadffd1e815c3258753b0bdbf652ba5fa35d128b786804f7c7aa54dcf8a50aca2b1924a95c8567f597934bebdb6268ee2d4b95500203e17ce616cbdc69a379b2f26a4948899eeb69852442b2ca1f447e27fb865e64952ca9f80e7cc2a4fc734ffdbeba2ea5d4d4be1e36f39991f63ac0664399fff6fe09f35bbfb6f4c15ff925fcdfb633b9d66bffdf5eebde9bd1a00878e12142c3e49278b3bb6385e421e5dcf42432e5fac086a270cea48c475c0f9539da658a7f4144f3b751666b93975a2e590923abc30e02c068a3f11999626dc3dd49cfdd5cb076cd683f18880bb2651cac442c45b4121ace9e0ad70c3ef99c0e76ecdea7c038a8e168b31a13d3f54710062b88ba7397dccf6e433f463b6e9e587edfdd1ae54ea1773496ac41cd6df262b79f607396c9a3bc94944e8c5ca41cdeae9ccc5b27ecd6e3fe10995ac59886b74c2c5e0b9d7c95375327b22ff6b713091e740e3b8da20c07aac0115a7706d753a0ec5eaa337054a63e089a0855ecc74061ce44f5d8bbb229f19a5c772c40d362a0efbfafffbb9d71bc0b52ac16ddc02541086a411e45ea131ab12d6d7ebc007374d3c916fefd01557699e7a713dadb5b4c385ce17fbe90f04844bc9f496520dc3db1fee0cd89d3f5c9f71342caf8688bd0dc6860f581512ad1e7b32ce166c78430a9bb7b83f3fba095330ca3e5cd0707c436b0a065e5208c448efaad85f246695039518cfb88da79843b95dd1186ca5d71cd4b80aba89ed704cdc93072632ad6b8075ed8f211f7f193f4a8dd4505f6fb8afc9fd1f5f6dd086f2dbb314e1fa14db5d7fbc4706d09688495ead12ea3c331b4e13589ca3d4bb63499dc54b4893f838c103b01ba7c49feb8b9202e3d86a06f80c932fd182a1cad2615b1df729d00e9f6c3d881a6cb6a837ecc400452c015f8e263baba09c258b293576f2eafd79a60d308cc0dce6b145 -ss = 50cd9d6042e7708f347b3d187430d070f0d8712e0bf68350ab47f4b50f04962e +sk = e0c2121f06048fbc565fdaa305202d439ab3a81b31fa257aa6f4273547c1465610ae51c2c1c8603aa36d1575754a86c9194b1cc6a9b8c9f77ce6484c5198a193ea4369293798943f7918142f849c8d7479eb0588e6e6b4abc4ce81a406642414eb4137c2da905ce4ad2b750e7d966d34a3b1bfa8ca5c8070456b1f6d5b71e582c9e1e2bf9dc37ab60a09e797a43f66b27b04c13c034fa6f594264c9d7da884c762b159d775f7750a1862216e8bc992c9b2e0d18513f409df8b0811ea89d2a69b66d34e59bc93f5c7bde25140a976a3195541ee22a7edfb7f9d647616b31399b6c924022f036225af7c34e6d221213ab5f7a20b908325835266da1b456f5649b895bb032142fc5c700cfac4c2a44cf1f96d57b8ba1ef2c9332a612e8bb9043559b5567090873d3f9450f37670b473a96f812ce1d71892e43c9fe61fa594601a27a98ec817dd822c625b98e0fa8f2d5a311a87a6c23b4dfdf44d7511373e64a4a18a833d654a946b0da9694329023086013a919971cc4c8a45916901b45c25c28eb6051600644660796935e65a4700496bc32204201d5c8708fdeccbfe949d1339947c6baabcc67ec901659d220fa4d1a3da1a4adc2b1b323bc4cabb6065d9032ccca3dd3c8689c9a35810bcb30b99b3f55cf2ac8258c5b85c696a372c7aab5b0dd62aba06804466fa4c22b2ca0e09b7d47c4644898aacf6899c79b5321110f010cd40253e40c5920db980a57c01b55c506a6662be1253ff171412820272613940704f63e70340414322b69b60b50bbb4459c1d6a0f25065da032455598edf678505f54b51713209565fc4812ad5f8a05a926340fc3853719146d049017475a09a1fd2d47b35371d715c455debb3a40a8a0e83247b6b8ffc05b2e857b5d8b201e56c109dc155b720b2528301c49237f7a629234231fba25c75d600bd360796a68991bc68cafb5b0b7c748ab7039d8c4fd1b3b4de76c193123e50109ba70956b9556f245ccd4330b888d43a84714e8cf17e5713b5ae5a9fc3a331718c227ef4bdce131f31028d68529f06a218ac32317e9b7634c572513974da2bc3ddc4c07f2c6b8d3aaf5734b5d9e691d790b0fa67cbcf36c0372c056c268e0c243132db5de7365310f5732151b80bc98a2bb76f9e8c616fb1c90a5b83ca5738bfa9cf1fb96242998a44d667a57b517a834834ac0f2ac00e91b32e4e7aab452249d31575bc96c8652ca8e4c3c0d3277a60f5ca7beb80b563391a3b8e1a1a97c85823928877954c28d052a2c116bdc325b687d26d1ccb3386cac9bd4c10c3ac381e056f9060c89e25a910c78e677964d153b74554c8f38939f881543f820b6f11989589302eac53111a45f7664616999d7a64aa26e4cd74539dd496a1f0fc530415b16faa4ac86341c5400cb1bbcffd2707be12c31acc9b5c94b806b71dafab1eaaa087efc1419cd2978ec1b973336d27b69af2fa85f6c33b73770c0f6b85d855938ed8758e6aa5724b8c0d457b29a9394a3528de99cbd7a875bb5b299c8a6dfe416104a59aa9e958e3828d3c651b5a9a7e81d7738374692033c4c68254d5170204f83a9b8520016466fd9189efbacaa23ab8f962af7d66aec2e27e468b9c326711673839541262a9c823efc5c946dab44b5b2068d61f00e7b0d87ca67706343927bfe4c12d20d69c4a5ba892f97eeeab7b5a45742cc4ac4d37219ad72ac312051d31b8385ca2293415a13bb8983b8457b8af9dcca9e6322094ca68399ab77dbb9f6aa7ced5f224641c3fa07507da9a08e0d180d52585dfb3b2fc95cdc733a573a888d403cbbb71c120baae2a195278370bf33299b9b2684accc5288a3cba1277fd3999839a6ed29bb91d71a528bb2e4f953778ba23341cba4b9b3c17f9a8366212af3b722397419e24874b163470b3b2b7f24ae62258983b6161c6773b5ac90969c03d01cf4669b9d1f46e05705d4f676d464264d7549e1e2c3290c9b2bf5a71132057531714bedbc7a91bc0ad56254d298908d33d588951333b3cb7924abf14b0d70652c45aa62cc3062d851e45c866c6200df4e74a9e559b9e6ab738f2b0da9693ccec3d968a866f0220ca95b7c6e8b04ec41d39c17eafab77444aad4ca3a9d6b5b5d4611a6c074fdfb01f7df68ad2440efc5588f3b4a5c4106efa3b9b6bb35c327465c7b656d1c1c6409993fd91cc20172e53190dad63ce02691ac326904cbb6424c906bd091312c1bfe6969ba6aabef954b5c8d439da5064a248c92988961fd2254479946dec829c76cba61690e3c541648228b59805d7fb2adb6aaba70718985279452a2fb1414e4704ac3dc84d3eb767101c8f4feb24bc8148316609bf963afa826a9b87638424052067ce8fb393d9ac579ab1080d1c549fd5103312a1ff9988dfe7805ed906fe9228e25942d49484a4510e0ff9a4a54a22cba6be945126ebe461c5940a74e1517c60603b2651e8371973da7051eb7197713f5583ba51b92a9eb3179b45a8a8a5099b40c29f59146f25a563291364f236038c79b784bf09524fc6810f91b777bae252e5b723e8059c06157653e335549784a15553ff9a7a29407d87725aa6b7a2a2669cc776bb810672967cb5b8b9a9ba751a9e69a8ddf796b1f324348712ff0c23f49a1debf210c027995b8a7cc5b288c4c74218e5086112237128cc57f4bfeddc21ed23bad00c58d835b5a3f0c8fdf1001e0ab26c2cad47d5caf2252cafd3520e36ae21119e56fb456f277132059ca18623bfd994878c794545ba4a04436d804231f430b12808fb01647fa15d94b975bb6798ab7c3f6355b9bd50bc1ca00ee76342c8609be0bc893deb398b65a453ba08bef83b805b61945229d98422f59c27e86022da5620d737867828540c20b097076bc6c03e5435aee1b9af19958a7dfb921da414280429da389eefe23fc9578b714b4f2e5b19b792903ff45aca045bec0b3d83c204747a2e24971b440c10119941d9316f45a87c4ab2ac0f7c4bde9bc8ef73a7f42513be3420c56720ddb984cb173587462aed9996d2a848d11344eac02351e6c5a18cc7ae813bfdc50d5b143f4d07ac72a213a0577f9802043a585d95031d017b319358a24b06b7c2ea19f22b6634146cc0a123a8051c51e6ad6a956b1a935ffe00bc65c44a60534d1375570bc036edfbce66255f523bb377b2256c29b870da2c870868299828f6fbbd8e0a109386b8d743a6e7a38384d5933e64565a037b9f520ecf8466f2073eeaf03d1b606f947ca2d2ca49e4b41de9011ffbd23920c0d2d0cb20e3a9c63bff3e047504a8965639e8fd0db690ffa1e791fdd1756ecfaeb695001ac490f36c4638151bee98d367fb7adf0e06a470844068afb2638686db9a0292adc26e549c7152ff36d9a7293bf1380bf93f1498546eb93b +m = 13a6de9e8ae97898fa9382e95d49f64ea8592ed38c3aaadf36d20c243fa0aa53 +ct = cb78816eb950d8187f66efcad240d91bafc1fdc1c5323ba60bf9d6902e34df54c327b9d93ada2c02dcd774c08961248b45451739205d0383c043b583e6fd8ea36932d4d86b13c24990747cd7c2254a27555b8ca0323224a966f954be599648ffc0d0cb4aea5cd2eb54d46abd1b37b3324fe96c8712cd2dc16c6bdbe88c030d96ccd8ad1e71443c751da109e91a677ac7be74524556aeb42de0d0a1e4b3b5b8ab43c66e66804b02864bfab4780d53390f98932d0c46852ea1264df5f96867c9b8c66fd5d200be72d4cb6bbece3b8dbf0fd512a8203904e55a37098b9a93ba058f63380a48c519cab2b7dae8cdfe59c630a4f354880d1b772c7cdcad22d50cd9e18e87319e6f3c980cb395f249604f6ad152205927e30dbb8f9c80e7ec710e1bd8e023ce0b50d9964e5698fc0c7bf59df680d56edb655728ad4670a1e2c48489e10c72850fca61041695e488bf0b9f607357a703e519b4dac9b21791e1ad77fe0374bcf59953c1289cbd646a9552fb81c903ea26c94e101ef9a37bc3c3a0a0e9c3fed3ccf2d87e23a4f2b77ef2c8ffff0c2a72d62e8c57abc05bd737592bdcac96677c461fd656d24f1c1e68336273dc893e67d1c0591e64f9097d45e2607f5bcc35044b713be421cd106a92ab1866e195b1a48d7ac6e0664b4fadf90e3771092c8c498eb0ec0798f84f46c3a88433a4e1cade4144499b707ed620a36a0063281e8a9979cbd6a0a83dc31821dc0a1fd44b67bcf7b14f7dc7ce2386725c98cb5e772d0ac34570b2eff1d688b85543b10a9ad33ec9ec0742e3cc9a37b5b37115407f0fa35925d37302d7d8a87e089318e8ffdce95c213d162ecd41acad4d5036e6ae2d1c00be2cef47a01ee7be81d5f1f97d9eb4742dcc549919e6acf7e318600cd5c786e9164b563ad5cc6d954ec16a02170c75ffd639219a1a449838ac635031682155eed371faaab012b3b9d9674148fd1b13cf679e572686528d8a8c370d651c127fd79f0b1ecd61be943d51af56a416b8edc4b4de6ae954cabb46caffd017a45cf6a406575bcc84c9e128211f2c1c8b030d32f41f19e1dfe9d79488b87e18813d69a657ce7b72235f53c9ed5ed65f9b89d897e190c4384be9b8689c14c271564eb2e9c206d5a88a7fd18be31dc7968165e03af75a9548f227311fc5c9f7ffb40b98979fde655e60f5f02dbbd6504e070681282016b76fe2fa2328b25ae5a697ba581346eda82771b1a8a91586a5e3d0ecb7c0cd0e14531916e793a9d738faa9c83849e59d62a52cee46964ca9d55b95ba150c2deef972a8d6351688636660cbb69f038d57beae037981aa74d8f115854fdfc6f3bd6a9aab78c0e8dc60b8fec28f0e68cc188bbd46c1d4bf921dc017c806f5620b74e5cc11ec6de5974a2e7ffabdccdc01138a01335c99dd5208bbeac2fe2d093abb8f0ccb7e167de779bb88bb0e39c8f0d5ae3b58e664dc3c2a7301a8ae07335f6008a1957d6b1839985238cb1cc07681f47ab093536c27880b7a1c4bd09ffa7a6ef144692a2bcfe9117ddccf +ss = 8a2ec5558e193c476a7fcc373f96073fe0ab13ec87adf3110a2ee013cd5a318a d = 174aaa36410566dc15a5e62874218d7abdde0b2c0f30d877bb80b1abd5f5a0a4 -z = 50a7a2354f7e5cefa6f4a4e9a1c411eb9364506e9e1204a8acb3cb77fbd2c4ed +z = 3afcc6703873ba41a425ff19559ee47d056d3b5b9e567e5cf24ea17010a5c3ca pk = e71b4ff986bee57636f904c856ac93e0c18775864b7b932af200251b0328f5b3caa38116c5a187305622b4a152ca337ed7a3690c31161862447b847f5639c5851133f627b5980572023b4acc37c32f6b70b3555e0ec4c5809c9582407a0e59a866991564ca55b21a48ee530676a435d26b749c1264f9e58c3fc619d1a23ef5f6300e96665eab70e7350852115f5859bbf1a8308977648ae5cf5a55c9fb42801aca4f0592254461a632a94a9c3a7ccd05c8b7c3b09666be54f072cdc58d8cba687d609d1f021115085c340153ce63a37750acbda01a6944a46cd16cad098464a109bbb611a83346ce6b59a5f4ca3cbb4394daca06e5708459cc777534eb80a620c308dd779b074c11f31679ae98ae569bbe79cb04bb127208e24ba008bea28c5db5ec18f31c50712171e27042651701c3004e057a6865d54763843d27873220c174c57154c9a9705da162e8685a035b34e15c411fd1b7220c57265c2ba7579f4bd9ab1461650e8027c0ba79f2ba3f14093cab6015d8cc092905a6b8f09dbfd5743818489ada2bedf88ce592396074a79824457f7caefe334fc84869ff43641821ad60e80407649edaa8bdc2fa877eccaccaab8a1f35a1573546ac382222c193bddb31275b84374cb4679a5ffd803eff07987ed085fbd43e45752dd9a32f5ec03e7b74567ed9674e1070b026801e99ca27ebc0ed24742530507e19b97a09877a1b511da3b9835268ac35ae44187ea14b996dd96c35686eb98a81f1b2ad90a80d0c989b12813e7df2b34573b876289e7c79481c7247e637a60f9b2d3fc129c379a759756408636048565cbeb24c2186a875606a43d20bddd8b9d70781b1848be54a075fe978a3e112a567223d21beb3395921d1a100c578e7ea0455949b7b420b6494688aeac00697ae1914084eab375d86243b50a948874dc973b7670c8f9173228b64647e58761442a2cc90165b188b58025f8eba65cc654575a1bb3823a1a29633aaea1763f24486aacafd611c28774c98d89b3ce8a696e29f62775b5d5c50847c3ad4bb968c441086aa070097508da888b5b202e5a3b5db579943f0861a5b6e2d58415019182262c444fabb77679e019cced4e0a3854507fcd0935bf81b0e8500dc6c0b3c154ecba94d166407c5dcc67bfa6aea8b4ef0c53859ba4416d5c1975c1feb6bcad8076e6b020a62b077f0141deb5ab5986b386d51cb7e8c779654af5e5485a969467012c572f62daf788d1f58bf9ddb4bc6e04b00218cb671ce8b2515b072b76cf253a4006ac5437c107a077f162a3984586978ceb3752b1fa1a2b525961f96c63d7207ecc4c0268a354afb00231b1cb6eb4e4a694524448e7a043c22a5bc1094b23d3c5d0a9641f909a778eb64bab84feec3a53730405c92130f756050771999e469cf07cc8c308ece9b827d7558bf882630556150a602d9400e3d4abb229a9d8b8132a7f0c0c5475bb852000b63228c490472b42488aac0ed647b1e834f248534fe2195adf6952b83b6705593a1e53f0315613d2596aad44e27a26d632b9c71e9c9e5a6ab733c7e81e54db3437d894a19b4710a3cd5075602b176ec369f5116638775574c74425789154b0bde48bad6e52c91c451c87b48ec406674a75b0cd39d1173c3f411ad1efdd8bf4be2afea69c2327bd070cd1432c8d219 -sk = 25933617206ae881c4de291b4f269f2e51897ff29d3c6803e1a4c58e53051e879f1af333393c75b366cfe2e84cf9cc930d1928298897480571d7050751601bc119b1071412efe8873ad325bc00420d13a752d33087bb6f884628def98f4fd21d01113219203f93419875c91cd33c7976b7a45f510f70e6002957ac49b862cd35640ce84e6b989201a74eb76422f88b31c94acfa811605a32634199be1639a50b709e89683c5cb0c975d627b76223ea48a2352c8bcc254abc60812a6a5ab7747ca82073d1d31fef708866a9801ad067a6da0d848c409861c350db559a0ab1d91c9be0c149d6c241a13849d9eb2da4b9b9b30b348217491449a43ea4544467824ff954c4869c8dc0b2ba2744c8d38ba584cb78ea6f6188bcd090267ba46882f16964aa003e2c60105415f937cf13b9cd00456d3545bc5e48b6ddf61a14eccbac23bb1d071bb14361b4c9acb7b48805b7890c3676b550238391b388260cb0e2567f725b0382c7174440d82ba8a6d226d325cdd1c26abd510abb195b73d203f9db7db44abba87581a3c57f079b44a9455e3fa16ec87a0cc14368569b35517272220ba7760a8a0508bf0033031d42763fe89b611366b8b93d2d523d5c872bb99bbb099515a5911f1182404b7b4ccea91462c6a5abc16c64f55ab38a763a03ba48e0268819b6df8ba88704ab4c7bcd8f8a150ca434ab0632adc522a49c0e45997375d69901416792f845fcbc1a18789b22870401d6872374b15c851aba4c3cf5a8930d34c74fd444a2c87f90d9353cd77361e26c99c8027b50504bc5b3f2bc27f3978822113e13d71e19e3915a9a4f0646aef6d513e155b41237b2ab08bdf38322bf4c00706c0f22854d080bb8ecf58cc9b75d19a0185412a74b3c7d61a04dd8cb07bb37156c46221a7183beb9321c58a924048ab86032f54815da1bb33ad4312391c1a6778d9070b1a4542aae231aac97bb5e1a1cf42792c9921313c07aba3a8c15db5d1be417c3888a2e0921a7aa1926044ab865935a2738b4378484b44471da250e41925e976beeca9f93d191b0c85b487badfcec4be7c7683c508412e096ae888bafb97cebd3266ef7397004cc56741f53683034fc3160522e6bdabad190c51f31926aa94b2f2a4506d69705623e3047176b46169ab8a715b84848bb4fb9830be744cad7591dd8d128c1a40f8a5b2829a92177d73cb1f319c0f45557a69ad790c87a6b8314e618444081c221c07c4ba5c1c450b8080db278770a0c110dc386fb8411d4b983503964f7b6afa10ac5154ccea9e6222b4a70e5175f125b0a83010474311f8ef84fdf3aab6d508b313a93c29675abe12cde50bd4b5b7e13c7228d9ac9df569cc1bbc995eaacbc2290b0293a2bba70ae8757c5a7ce84386093e02b3201573c56bcc368a7dd404371453c38823ba4752edb663e5fb99c5e91ca9ba94caebc9d60a6318cf62168a86c0c419cad1bc4fe514a745bb2c81701b89ba371cc1f10b50d95086d99778383108dfed849a1f74696464aa1d67f7f40bbc69c1fd907696d6227cf20750d68a3d36c600448c91a523a16e5c84b40819bbb2bfabb2cb03b658fd0656f410752f52bfc9bba4a3a8d09d5835b1540f5dc673df71540f560e71b4ff986bee57636f904c856ac93e0c18775864b7b932af200251b0328f5b3caa38116c5a187305622b4a152ca337ed7a3690c31161862447b847f5639c5851133f627b5980572023b4acc37c32f6b70b3555e0ec4c5809c9582407a0e59a866991564ca55b21a48ee530676a435d26b749c1264f9e58c3fc619d1a23ef5f6300e96665eab70e7350852115f5859bbf1a8308977648ae5cf5a55c9fb42801aca4f0592254461a632a94a9c3a7ccd05c8b7c3b09666be54f072cdc58d8cba687d609d1f021115085c340153ce63a37750acbda01a6944a46cd16cad098464a109bbb611a83346ce6b59a5f4ca3cbb4394daca06e5708459cc777534eb80a620c308dd779b074c11f31679ae98ae569bbe79cb04bb127208e24ba008bea28c5db5ec18f31c50712171e27042651701c3004e057a6865d54763843d27873220c174c57154c9a9705da162e8685a035b34e15c411fd1b7220c57265c2ba7579f4bd9ab1461650e8027c0ba79f2ba3f14093cab6015d8cc092905a6b8f09dbfd5743818489ada2bedf88ce592396074a79824457f7caefe334fc84869ff43641821ad60e80407649edaa8bdc2fa877eccaccaab8a1f35a1573546ac382222c193bddb31275b84374cb4679a5ffd803eff07987ed085fbd43e45752dd9a32f5ec03e7b74567ed9674e1070b026801e99ca27ebc0ed24742530507e19b97a09877a1b511da3b9835268ac35ae44187ea14b996dd96c35686eb98a81f1b2ad90a80d0c989b12813e7df2b34573b876289e7c79481c7247e637a60f9b2d3fc129c379a759756408636048565cbeb24c2186a875606a43d20bddd8b9d70781b1848be54a075fe978a3e112a567223d21beb3395921d1a100c578e7ea0455949b7b420b6494688aeac00697ae1914084eab375d86243b50a948874dc973b7670c8f9173228b64647e58761442a2cc90165b188b58025f8eba65cc654575a1bb3823a1a29633aaea1763f24486aacafd611c28774c98d89b3ce8a696e29f62775b5d5c50847c3ad4bb968c441086aa070097508da888b5b202e5a3b5db579943f0861a5b6e2d58415019182262c444fabb77679e019cced4e0a3854507fcd0935bf81b0e8500dc6c0b3c154ecba94d166407c5dcc67bfa6aea8b4ef0c53859ba4416d5c1975c1feb6bcad8076e6b020a62b077f0141deb5ab5986b386d51cb7e8c779654af5e5485a969467012c572f62daf788d1f58bf9ddb4bc6e04b00218cb671ce8b2515b072b76cf253a4006ac5437c107a077f162a3984586978ceb3752b1fa1a2b525961f96c63d7207ecc4c0268a354afb00231b1cb6eb4e4a694524448e7a043c22a5bc1094b23d3c5d0a9641f909a778eb64bab84feec3a53730405c92130f756050771999e469cf07cc8c308ece9b827d7558bf882630556150a602d9400e3d4abb229a9d8b8132a7f0c0c5475bb852000b63228c490472b42488aac0ed647b1e834f248534fe2195adf6952b83b6705593a1e53f0315613d2596aad44e27a26d632b9c71e9c9e5a6ab733c7e81e54db3437d894a19b4710a3cd5075602b176ec369f5116638775574c74425789154b0bde48bad6e52c91c451c87b48ec406674a75b0cd39d1173c3f411ad1efdd8bf4be2afea69c2327bd070cd1432c8d2191b1b0a8682caf72df2e0a48513a7358edbc77a615d6be6fe2a7145be66b7c50950a7a2354f7e5cefa6f4a4e9a1c411eb9364506e9e1204a8acb3cb77fbd2c4ed -m = 9eca0fe36c80fc5eba171c3ae66a5b1c923faa50b4521bb055e7bf51005c93df -ct = 589b45383fd87e438a2036e96032f3ff220b23eb53244ca47e77379d46c333f3bed4f24d0582e9949ddb32af9eda732e6dc529fa9250d635e160316f7585a473bd3b59b0084122ec07e73ca921080ad90729565c5297b624315abcfc027253642c6972ec426833efa33fed5399f768b422259857f40d0a11c3c2cfa2920de96ce3db945db087c39f0d97c041457c21b0e9fef68927adbf34195cf17871515357ce6b72bec5d3d77d10e1d1a3ce3740600841b3e58caf96c4c3f86e60502b8618fc918118e14699060e5e87851990ea933b0e60a7f750fe7947f449442c24f5fda9e39b68bb51ef9afe2d2a786388921a01f5c228783dae97cb91caf9c5d21c64098cd3b290c77462131bcf46da587267354478647083bee9110a9dcab4ef3b2ae080e8f991c7b641dd7a0f0dcfa5f133636658853c52ba1f36f23c6eebdf9fe230819f77b39086313f6a96feee877d9855d24a8582bc2d38e05384043fc23800cb0447dc2708aac562a39889ec6c341f88effe499f970e0ac8bd3636eff3dd5919c679680df277caa89829e03bb0d01d0d1bf2904bf8734d45aa1a5483762cf3704b1a756357179473d4d6ddd30ff0d180843c3a9c6ca2e9c8cc7becca7bf76663c7f0483207423f30fb219f330073787d8c6928499657b9b17208b0c4a37e5bed81e166b69e708a0388c2ed1ee4892a9b48d0cd1de52c747ecf25694f2b909d368d5aec537a0efbb10f770d2c444baf1b25ab0c1db0ebad0a5ba111443010393b330898b2c4251c9e682b1ad66d4e58b9c898a77ab6aa0d9e60da99d80188580a7d50dc8eb976f3e1c75fdfb51866d7faaece97d56a440c96398e76bece663ffc53d2b06ee6d11062805f7aabaaeb65568bcc6510e26dbf3c8c66c7bdb2e70264ad2b68d6d066304c15d2228accecc8cc0ed3fb8de863f56930de5dc94d80cefa1ef24c0746fd78a5fee6ffeb6fd1df1e20a0f21875cd22081b12c68b73e7be9fe7125d503d0ba57f8f4d210fa0e39668509e841f8664d52c65413e8fdd715bf34c852988c9e1857977a503a6fd5ed158be6371cb29e4a2a13de00006062c56f160704e1af1b79e0ec175e11ff0f705291baa1825ffbfff4384d2003b726d794efa99b8e9061c0d20381a892a67ed2b0155ed494d8ffdad329e9b4b610fcf34183df518c681f8ca2d7e36561c9a7271b9dd4a18a71949f9991ee0f6f43f5dd5d44dbe793fc512f13b7463bea6682cec42713a725e1e71f06550435963c9ae8d7d908dd9b5f99555e4a668cc9355fc2d931e1b68001a6b3e20b4594304dabfdfe9be0ea26f92627820a849b6a1e2c68f97eae111ee4786f1908f268a56053c739e44f7df80ef8a85b86ed0ceefd7b0fca38a91dcb1cefccd1034097a0fae6127a0c47f1ffd2d044f808be041b5968291fe4ba63444caf4da65b7182c654f1dd45771b464302d9b0ee14ff0ad361db76fce8c808049c884deaad6d4ec8a201b99bf31cd1dc9a8c1716efc01acabd5965fa97371274e385dbd75e47d5a61a9e56e -ss = 2e610015c6b440280d6f28d5e3ced35cbf65a70a171151363c4cc882d7899e0e +sk = 25933617206ae881c4de291b4f269f2e51897ff29d3c6803e1a4c58e53051e879f1af333393c75b366cfe2e84cf9cc930d1928298897480571d7050751601bc119b1071412efe8873ad325bc00420d13a752d33087bb6f884628def98f4fd21d01113219203f93419875c91cd33c7976b7a45f510f70e6002957ac49b862cd35640ce84e6b989201a74eb76422f88b31c94acfa811605a32634199be1639a50b709e89683c5cb0c975d627b76223ea48a2352c8bcc254abc60812a6a5ab7747ca82073d1d31fef708866a9801ad067a6da0d848c409861c350db559a0ab1d91c9be0c149d6c241a13849d9eb2da4b9b9b30b348217491449a43ea4544467824ff954c4869c8dc0b2ba2744c8d38ba584cb78ea6f6188bcd090267ba46882f16964aa003e2c60105415f937cf13b9cd00456d3545bc5e48b6ddf61a14eccbac23bb1d071bb14361b4c9acb7b48805b7890c3676b550238391b388260cb0e2567f725b0382c7174440d82ba8a6d226d325cdd1c26abd510abb195b73d203f9db7db44abba87581a3c57f079b44a9455e3fa16ec87a0cc14368569b35517272220ba7760a8a0508bf0033031d42763fe89b611366b8b93d2d523d5c872bb99bbb099515a5911f1182404b7b4ccea91462c6a5abc16c64f55ab38a763a03ba48e0268819b6df8ba88704ab4c7bcd8f8a150ca434ab0632adc522a49c0e45997375d69901416792f845fcbc1a18789b22870401d6872374b15c851aba4c3cf5a8930d34c74fd444a2c87f90d9353cd77361e26c99c8027b50504bc5b3f2bc27f3978822113e13d71e19e3915a9a4f0646aef6d513e155b41237b2ab08bdf38322bf4c00706c0f22854d080bb8ecf58cc9b75d19a0185412a74b3c7d61a04dd8cb07bb37156c46221a7183beb9321c58a924048ab86032f54815da1bb33ad4312391c1a6778d9070b1a4542aae231aac97bb5e1a1cf42792c9921313c07aba3a8c15db5d1be417c3888a2e0921a7aa1926044ab865935a2738b4378484b44471da250e41925e976beeca9f93d191b0c85b487badfcec4be7c7683c508412e096ae888bafb97cebd3266ef7397004cc56741f53683034fc3160522e6bdabad190c51f31926aa94b2f2a4506d69705623e3047176b46169ab8a715b84848bb4fb9830be744cad7591dd8d128c1a40f8a5b2829a92177d73cb1f319c0f45557a69ad790c87a6b8314e618444081c221c07c4ba5c1c450b8080db278770a0c110dc386fb8411d4b983503964f7b6afa10ac5154ccea9e6222b4a70e5175f125b0a83010474311f8ef84fdf3aab6d508b313a93c29675abe12cde50bd4b5b7e13c7228d9ac9df569cc1bbc995eaacbc2290b0293a2bba70ae8757c5a7ce84386093e02b3201573c56bcc368a7dd404371453c38823ba4752edb663e5fb99c5e91ca9ba94caebc9d60a6318cf62168a86c0c419cad1bc4fe514a745bb2c81701b89ba371cc1f10b50d95086d99778383108dfed849a1f74696464aa1d67f7f40bbc69c1fd907696d6227cf20750d68a3d36c600448c91a523a16e5c84b40819bbb2bfabb2cb03b658fd0656f410752f52bfc9bba4a3a8d09d5835b1540f5dc673df71540f560e71b4ff986bee57636f904c856ac93e0c18775864b7b932af200251b0328f5b3caa38116c5a187305622b4a152ca337ed7a3690c31161862447b847f5639c5851133f627b5980572023b4acc37c32f6b70b3555e0ec4c5809c9582407a0e59a866991564ca55b21a48ee530676a435d26b749c1264f9e58c3fc619d1a23ef5f6300e96665eab70e7350852115f5859bbf1a8308977648ae5cf5a55c9fb42801aca4f0592254461a632a94a9c3a7ccd05c8b7c3b09666be54f072cdc58d8cba687d609d1f021115085c340153ce63a37750acbda01a6944a46cd16cad098464a109bbb611a83346ce6b59a5f4ca3cbb4394daca06e5708459cc777534eb80a620c308dd779b074c11f31679ae98ae569bbe79cb04bb127208e24ba008bea28c5db5ec18f31c50712171e27042651701c3004e057a6865d54763843d27873220c174c57154c9a9705da162e8685a035b34e15c411fd1b7220c57265c2ba7579f4bd9ab1461650e8027c0ba79f2ba3f14093cab6015d8cc092905a6b8f09dbfd5743818489ada2bedf88ce592396074a79824457f7caefe334fc84869ff43641821ad60e80407649edaa8bdc2fa877eccaccaab8a1f35a1573546ac382222c193bddb31275b84374cb4679a5ffd803eff07987ed085fbd43e45752dd9a32f5ec03e7b74567ed9674e1070b026801e99ca27ebc0ed24742530507e19b97a09877a1b511da3b9835268ac35ae44187ea14b996dd96c35686eb98a81f1b2ad90a80d0c989b12813e7df2b34573b876289e7c79481c7247e637a60f9b2d3fc129c379a759756408636048565cbeb24c2186a875606a43d20bddd8b9d70781b1848be54a075fe978a3e112a567223d21beb3395921d1a100c578e7ea0455949b7b420b6494688aeac00697ae1914084eab375d86243b50a948874dc973b7670c8f9173228b64647e58761442a2cc90165b188b58025f8eba65cc654575a1bb3823a1a29633aaea1763f24486aacafd611c28774c98d89b3ce8a696e29f62775b5d5c50847c3ad4bb968c441086aa070097508da888b5b202e5a3b5db579943f0861a5b6e2d58415019182262c444fabb77679e019cced4e0a3854507fcd0935bf81b0e8500dc6c0b3c154ecba94d166407c5dcc67bfa6aea8b4ef0c53859ba4416d5c1975c1feb6bcad8076e6b020a62b077f0141deb5ab5986b386d51cb7e8c779654af5e5485a969467012c572f62daf788d1f58bf9ddb4bc6e04b00218cb671ce8b2515b072b76cf253a4006ac5437c107a077f162a3984586978ceb3752b1fa1a2b525961f96c63d7207ecc4c0268a354afb00231b1cb6eb4e4a694524448e7a043c22a5bc1094b23d3c5d0a9641f909a778eb64bab84feec3a53730405c92130f756050771999e469cf07cc8c308ece9b827d7558bf882630556150a602d9400e3d4abb229a9d8b8132a7f0c0c5475bb852000b63228c490472b42488aac0ed647b1e834f248534fe2195adf6952b83b6705593a1e53f0315613d2596aad44e27a26d632b9c71e9c9e5a6ab733c7e81e54db3437d894a19b4710a3cd5075602b176ec369f5116638775574c74425789154b0bde48bad6e52c91c451c87b48ec406674a75b0cd39d1173c3f411ad1efdd8bf4be2afea69c2327bd070cd1432c8d2191b1b0a8682caf72df2e0a48513a7358edbc77a615d6be6fe2a7145be66b7c5093afcc6703873ba41a425ff19559ee47d056d3b5b9e567e5cf24ea17010a5c3ca +m = ffb94fd16f27b1b653e0882f4e86b8ad651a38c01a33fe0a34dbb425937e242a +ct = 62186febe3dc2b82007e4a9535dd4d4e7639ec638c0e1d68d00b480050a711893d14d899bb7f84a6ca211a110751de99356ee4ebc5add57aa6923643109129e94b27f04b46023f27633bac1607508614876d6658ffa95369acae694a47d38a626d9a4eadce37b6aef72b0bf8324b9bf22269e1d2431bcfd7911b489f3c3ccb70ed416d638a95f330dde640f31319dd1c1f835c418d3aa17800cf8dce85d2b5395b51851a03ea135bb6bf924c6ff2582dc38b9af144f2e1109709390fe01732daa00fe7b575194b152654649687a71fd5a0dbd2d798c6d3a39f4a11a22bd2680d2cf09a2dcacb5e86b57639b6291e91feb7f379e58333c85df5d0baf4e27980d7949a4176013046bc3691ac962474407da70e5de88a2bf6d570df236047d2979d2569a11b7f2bff21edc4651c12fb69d5674c7c374fae96e0c1fe2d3278ac701391b3373592a202f956789429c380d392ef41e3c8e78840933d5524ba055ca198c68482cfe09a4eb3fae199427f84b75771b7f77aed19716b36370bbf4b89c116d920ade5ea334f84c1acc00bcf6ec5ddb79b0f7b4dddb6b5db6747b5492e2d5a48b93d84d27dd7f7deea612c3461a40b71fb9f11923b1b7f7fb3cbb89e82ae27a450eabdc69ca629c1ee912e3e32445ef8b007d5b971f5927307cf22dfe0575cc8d824f64ca6c20ce9361366596fa32059f909a58e1bfc8f080b5e5d3b59bca5a0434e8bf24fb0dd7932202bfb1836767414c1e92fc66055f7e951f0d7abcf4ce65ef1379af6c13828724b801c387369cbba9f2d41239dd95172e2c16d68e70d870558855143ab537993051f4ca57d7ae71e87dee9e8a81dbcae5dbf9d50c2b8d0b509e2d9215ddcfc6d2849e86523373446ee3489d41957daa71b6c59d0b412a2d97a74acc1142a31ad6a1a260561d4c33cf50f87eef0875d94c16c20ae63bf9db722ac58a3a3028fc53f5656cc2b701696ad0343f65104bbc7446adf6aeab8aeb6688cda95e09774f2b24f431581ee765564ba5effa7efcfc6883d673c45ef4e2ae3d75b4a4aefe0ba205f52d4a6e05038163baf5b0a04b3787319f5d3bd4d0069e41fd6725347c514f03f77f860ba99dc63108573d2c77a45c746bf6d3bfea5aaa9f709bdac011f94009a61812a99b8298d73eb1ac1697bb93f0b40645f56dd2ad91f6bf7efc8768715d7cf9c5d4c4d660477c59a5315006931553b524b306261672125b7291e5ca84ed15030488ab8a027d28f7e24c54f9eac4b6dd69ac353aa5eb1448a74a68175d88a2768dff00d75926d1c7b71bfa59bc04ba59c8ac7ca1c75e6f02eefb9ac4dca8d5ef96dc5dfbac06c4891cf3e49b7ed56fc324e4886e3ec7b895c6df28dd28cf4b04f44bb367d0f68e4d5565ef07a8ec92f588f403ec1b8f39fc41077f927f393c7a0324e5e1b8dceb39906052564596d89c38f2c88992788ce89c171548bfa50bfce934f02d5d849e170d6700cd397658a9b5dc99388a474969ae96e58ae6669475958559c891e62ca1eea0d598087b97b45dddd +ss = ca2a954ccc529708d25cf972de39638dd8d7323ac8c48dae7157f4bcd00a5cff d = 351fe4313e2da7fac83d509f3103caf7b4c64a4d458fefdf636785ac361a1390 -z = f072d9b5a99f9c7a0a011e4dc10f6b600d611f40bba75071e7bee61d23fd5eda +z = a4cb53697a77fe6e39ef13c7460d657197bc1c7ea3df65b85c8deb43a058bf1d pk = 8518c8d8dbab01f270c3131ac1586bb783b35db82f3c24ae2b767e2c4a7d15c2a86eb19fdfc41113a7501367cd70d73d0f63705487ac4e0bb1c84001fe6657610c7d64fa3df4538bb6069128c4597ec9b291938ea5d7cd46897ac2179b52f1cac91b6c36f37a59780e454c50c5dc354b56a43040804de2394bea14c2d385e082c5f181228d62307f5a6a1aaa1eabb84f90f34310844df95a4e6d423d8c993fa7f390e6984e482024c2968254b54b7d3418d6f859e295665262246e1bc8cd6c9b726581cee69140f85c02024c5b59aa0711813d66433aa384b2a4a3447939378a1e6a98936bf04ad075981d93c53e9635b5e285f96755f8689b5ce5429142af6fa02edeb1a719b272f6b0a6211a5b9807ce6ff368739b51d4d9480bd884c8b456569027b08a3cb928645d450c6264c5fce2a2de2b241f965034a08716649a3c71020a6986fbc8bfb5b4a2cb162749264cc1e44bd66223f3db1b9bd2c68744b52ed7bba0b9773df128883110d2cc4757dacaf7f4c90fe02884e1a581d89af687ac79444c9d801d156325590a3a24441b7c2c893b777386198c16374329e640b6a439fe5bc71ab3ae195575a71cbab773ae6f0b5ab2d750d222a5d36b86ea2aa2006c54940a5f843ab708d19d5937643309c12d522dd479c3b2d57dd5696d25615abbb573fdb62eee5c6a6546cb1fb188f356800ff4177c69b636cbbf9ee9a7c7d512ca156490c96b347a5bc2cb257a061452dab5fd15bdf5026677f14967b6c825d03eb782cd0422bd1078b7781624dc318a33b0c437d6c35997a22e30496e876762ba5dcf5146c5188dde6c684c265a8f05031904572f7554123832c78767ff4b5ff525680c773ab3ba1a93776897d57b0d507b9391712344326f090b3d964df8c293b6638fa36815c7cb9b7962956f903f62c4ce3d7646ebc1a8ec04a815191cb4bb085ec8693f2188f490731c087c23a8bc7cfb32fc019d106934b2d17706526cc6f787be424bce5b26329591c47402d57548110ccb42955c422323addb4987fb0f3441558964bf14021a54277ba14c5773a10b81c1427f51173f5c6cbe1b7575a4b6766ac355bc443e479a2953a51f7010f7b04b23e0ca93d08836432e3ae5a1a6bb62f5476c07914f88532cecd00ceb340588ab675f93c286e7288da1c6ca3621ad6a4ae1fc64aa15b27a7c3eabc120e7460737585b5773ab18e23ee185c900ecc3b765983cb807e2f7047e6c999c6716e26801ea938302abc312aa797535358196b63309846675bcf1b33343bc3d4d172db81947643a84fd2173fcb0477ab87b57b55899a308d51311c9ba6916f15947d707d88b9228d0488ddaccb25455cf782b7a18264e55c9b6798f39a53f53240c82fbaf461364cd5202c5c94cdff23e0f731624e69310e5b47964b2bfd3a59a5b0d55a026e260731de346f74938abc607b4f579b8b200ecebb633614a46983e60e442a4914c93fa62219025e4a99d71032f0b00906126365c467e0a235570a544a7640f23800cd5f2a825479a632343f20801f1774f0e8b7db96a860fd40a43cb7abae76039c6bc80b94ec315ad49e9904908a20cb444bfe219452c464eeb2914ec19031152cacaa00dd541fde81ecaf1f339e468be45459e708bfb464d0c480a1becdbc021a06af7aac4772545eb -sk = 719950ed1960ff6c2d7d59bbecb83aabe1ccb569b76cd9b053389c552cb6bf847cf4fc1f18a03e66f02cdb284c15d656151644f78caeeafa8b12cb7c616256c032ce6112735a74285d66a90f3a745ed8733c195f6b1b9b272897520a02fafcb958a9669990b73420bcce373acf5a1c86a555c3c48f78166c0fbb023c49608592261060884b408c9fdb1f4b023506d3516956b02637af26fc7b1d9345f8b54b5af96997d39fa32c01ab64a6ab7491d50303b4e8a134086110d220462395b9d89d9651205aea9e1b88bc80c4c8bac44af4f1886ea788a0b259dda78116051059853d2cd073ed8cadad9ab04f7175d57c3224e953509588e788713d5a6714d0aa48e972f4fa55f16579d9bc6988f562ccf1286e87aa785929bf8266d7e340022c0221736c3cb372b85723042382092545a45032eb727bdc750449c786145acf42b85d4618b0d6f009d0224a816620f1db67f59713090b0849559a51b9589532ce2dc25df8f09aebda932073a2ac2115b12c5f94c64750220d645b34c14ac1b2208565377d61426d7f2a25cbd969a2705ea330b676ea6eefcbbc6cd40da9c0716d147b398b7d469a919d83baacca80f0e41414382804b0a321362e14e766db2450f599963cc2899e1048d839754858910d12c23f99158a9a3149362690a9c5540133e5f217a7b66b0d627321c810f7d1639cca948d708616047f85ba41cee9211df72731ac0986d1c3149854b71683faf68179799b12c031a2a84574b9a67c96a708355f7a86bfabe63ddb94b6c048359481ca7a45cbaecbcf34407d8e378733f812926599df5c156a94945fc7911db26bef17074470a7bd6b60f771cc3f396e847195ce26444b641f91b468fa1670d0184942472667aa76e42976fac48e78da72ef0c207fc7400f92699b46345e4c9972a35daea31adbe87980438de4f211b005c8dcec1a6eecb56d891677f9006c49385e8ab20a19b74325a9a95083bc711537480db30719815352616b2c5721979bd4267fb134188a75b9cb303215a76a246d8f69acbd173d069b2b99b727829aa5469a0212c006a88aa4a6b614674674fa75500aa294711c178b741b0275280bda27813647a5dcac3a258991db4bf436c23f37c697115143a2755fdc199ff32b19209d7ff904feaabff7383884c1bae3c0cc20d019066653b99c1cafe366567c9238785b0f0b4d1432a9e02ca2d9a3b37d84646b157684d7ac720727af4533749a9ff99bad8f3877dbe5cff9c75b38c4002178ce30773ee36a14f1497ab386cb36420f04d85c8312ce25b357d3108226925f6b85c7a3729064f81aa66336163c00506bbfc82030f4f33a5be7330926bb3f849d1dcb09f5cb814ba8a722506d0a037e6eb26216aa3c4d4c05d5cbcf0358501936ad2beb3563c341e2315de6d68404acab0149bafa84491ab67a2dd82972220b0df528da7c4d441c8cdaf508cfa2c0224932e7e5215572aa433c9212022899e43a93cc7c8f4aac6ed5acbd0162e4da4b897b7bdcd72a0b2a2354f61a6c211089c11e476715f3369859c3021584b6593b5784344d53b40da0725a90804c45d02f6eb7670071660478c53281b5e290bfc77ac46602b530b1300628a7a4f20ce227688518c8d8dbab01f270c3131ac1586bb783b35db82f3c24ae2b767e2c4a7d15c2a86eb19fdfc41113a7501367cd70d73d0f63705487ac4e0bb1c84001fe6657610c7d64fa3df4538bb6069128c4597ec9b291938ea5d7cd46897ac2179b52f1cac91b6c36f37a59780e454c50c5dc354b56a43040804de2394bea14c2d385e082c5f181228d62307f5a6a1aaa1eabb84f90f34310844df95a4e6d423d8c993fa7f390e6984e482024c2968254b54b7d3418d6f859e295665262246e1bc8cd6c9b726581cee69140f85c02024c5b59aa0711813d66433aa384b2a4a3447939378a1e6a98936bf04ad075981d93c53e9635b5e285f96755f8689b5ce5429142af6fa02edeb1a719b272f6b0a6211a5b9807ce6ff368739b51d4d9480bd884c8b456569027b08a3cb928645d450c6264c5fce2a2de2b241f965034a08716649a3c71020a6986fbc8bfb5b4a2cb162749264cc1e44bd66223f3db1b9bd2c68744b52ed7bba0b9773df128883110d2cc4757dacaf7f4c90fe02884e1a581d89af687ac79444c9d801d156325590a3a24441b7c2c893b777386198c16374329e640b6a439fe5bc71ab3ae195575a71cbab773ae6f0b5ab2d750d222a5d36b86ea2aa2006c54940a5f843ab708d19d5937643309c12d522dd479c3b2d57dd5696d25615abbb573fdb62eee5c6a6546cb1fb188f356800ff4177c69b636cbbf9ee9a7c7d512ca156490c96b347a5bc2cb257a061452dab5fd15bdf5026677f14967b6c825d03eb782cd0422bd1078b7781624dc318a33b0c437d6c35997a22e30496e876762ba5dcf5146c5188dde6c684c265a8f05031904572f7554123832c78767ff4b5ff525680c773ab3ba1a93776897d57b0d507b9391712344326f090b3d964df8c293b6638fa36815c7cb9b7962956f903f62c4ce3d7646ebc1a8ec04a815191cb4bb085ec8693f2188f490731c087c23a8bc7cfb32fc019d106934b2d17706526cc6f787be424bce5b26329591c47402d57548110ccb42955c422323addb4987fb0f3441558964bf14021a54277ba14c5773a10b81c1427f51173f5c6cbe1b7575a4b6766ac355bc443e479a2953a51f7010f7b04b23e0ca93d08836432e3ae5a1a6bb62f5476c07914f88532cecd00ceb340588ab675f93c286e7288da1c6ca3621ad6a4ae1fc64aa15b27a7c3eabc120e7460737585b5773ab18e23ee185c900ecc3b765983cb807e2f7047e6c999c6716e26801ea938302abc312aa797535358196b63309846675bcf1b33343bc3d4d172db81947643a84fd2173fcb0477ab87b57b55899a308d51311c9ba6916f15947d707d88b9228d0488ddaccb25455cf782b7a18264e55c9b6798f39a53f53240c82fbaf461364cd5202c5c94cdff23e0f731624e69310e5b47964b2bfd3a59a5b0d55a026e260731de346f74938abc607b4f579b8b200ecebb633614a46983e60e442a4914c93fa62219025e4a99d71032f0b00906126365c467e0a235570a544a7640f23800cd5f2a825479a632343f20801f1774f0e8b7db96a860fd40a43cb7abae76039c6bc80b94ec315ad49e9904908a20cb444bfe219452c464eeb2914ec19031152cacaa00dd541fde81ecaf1f339e468be45459e708bfb464d0c480a1becdbc021a06af7aac4772545eb2c54df6e9020e1e44b11b471dea97a382a2fe8d1042565bcd51ef21cc0884d68f072d9b5a99f9c7a0a011e4dc10f6b600d611f40bba75071e7bee61d23fd5eda -m = 0c5719261caab51ae66b8c32e21c34e6d86ee4aa127d1b0195663c066497b2e9 -ct = f3f451b8f76002c10a67c10aee76209e067b1b997c3b476373f7726b3f631baf10d274224e86af9d333d26522a951f3fbd36c72c6a261059016fbe4b3949da0616205fc724acfe2946c4d694ad1999cbefda3f0167d1cfcbd8bbd51a630687014ae826305e48d6e3ad6e68ad5542c3358cae7141494821da7a3bee623096a5128c6de1ab616da91be228be402990d81f73031bfff794db1f8954738115649492b630ff50da5f06fef7d712b3badbd175e290fb78351c1f408b5adabab395bfc0a5d5d2414c2131b4014592e2d5583e81286e677fa1f858eda8708b2bf25147887433bf56d523636605f91629fb49b1cee98cbce6c6c9e76c587f50fc8b56821479bf3b97abca13804f08dff1ee164aa269f6db96df267fa32f5b2ebfb3adb3029859b5c802b0049b05cef0a9ba390c49d38b6e11483b255856e0b2bb23685af3843f5a6685fae0a3d7424da52b061daa81390bc1335a841990c94ee87fd4ac9f2c56136bb755460f2698822d1152e33bb2294dbdedd3a6630699655723b99b285a3707e194f2a7e53cace9d4b4a60d78b6a8c74db6f47e50c3b46e589d59f7ea24a051c143884fef1c0a1b5db65cb2c9982b86af978bd6416617544aeac67220b85746c4a304da347636a23780ddac9a5e79be26be127b0d3eb11e8372561c13a998b4b2123efc24150048e8516cf1a2c6e7ff77090e472cba93ce350c858b5104e8440cfbaca0d765fc95d7225e37475d048f89e6245a2147207475772f65399ebebb920569137acec2ab035de7c661b25356f5ae0dd99f016ee6460d999402641503cf6df3e6f3380719a13a76c6ff6e54dfdb33d454c8e42e0a7b482bc8fb8e12a13e2e8105e876e1afc9b9e5f28ca61e280d714224f835d8434401979b7635996627125ebdfd40eeef5da6d249a7ff15fac662c9a3044c0d95d2b5029dafbb535ec065ee675f4b76847f54ba66135126fc0b95d69d6c484abaa11f60441e50863c7b27306283e58bf97e43e73164cfc143673940e2e723864488e48451f891c687f33bb24e4464ecc4ccda8813947b54e22c3c368d97670980038bd6a6cad485cdb8dade3856069476e6f7d54e772be8fb2e7b4c6019ad2ebc84db2bf3d680385a93c7802b1f7534777a8e9c5e060c5f2148a5159140df4bb35600344863e9f1e86f70ba9815d3051d865c7e6456d624113e6c76521884b1c2b59e6c2efe4575e125a7e22776a80a756bfe25b0c0a5942c450aef71ab8ed5ca425a09df67670908fbb6f3bc4c7e8f4d3b9298e796d6be36106f22fc6ffc0c9bd4bf1761b6859377eebfcd5646a3d4b044d3424a743da85116521a3ffe3c39c898591e669e204dc317928a7eb77dfa7b915ff832e7d7d9f1da40ac7926f5b8733d661a4205228f0ce968fa3ad4eb5707d184ec4e72a9d6783a3641637957a2b6b22ea8be95414dc06685cd7dc06bff16479f490017dc78ce2d2dad427dcdbbed163afa58e2539c410bd8599a2dfc66d0c14df9255a86b928f17094bddc4a8be4a202b36cb4 -ss = 91961efe34b53285433fa9f780a04b8e47261e7a6ef77d46658e7671d800e2f2 +sk = 719950ed1960ff6c2d7d59bbecb83aabe1ccb569b76cd9b053389c552cb6bf847cf4fc1f18a03e66f02cdb284c15d656151644f78caeeafa8b12cb7c616256c032ce6112735a74285d66a90f3a745ed8733c195f6b1b9b272897520a02fafcb958a9669990b73420bcce373acf5a1c86a555c3c48f78166c0fbb023c49608592261060884b408c9fdb1f4b023506d3516956b02637af26fc7b1d9345f8b54b5af96997d39fa32c01ab64a6ab7491d50303b4e8a134086110d220462395b9d89d9651205aea9e1b88bc80c4c8bac44af4f1886ea788a0b259dda78116051059853d2cd073ed8cadad9ab04f7175d57c3224e953509588e788713d5a6714d0aa48e972f4fa55f16579d9bc6988f562ccf1286e87aa785929bf8266d7e340022c0221736c3cb372b85723042382092545a45032eb727bdc750449c786145acf42b85d4618b0d6f009d0224a816620f1db67f59713090b0849559a51b9589532ce2dc25df8f09aebda932073a2ac2115b12c5f94c64750220d645b34c14ac1b2208565377d61426d7f2a25cbd969a2705ea330b676ea6eefcbbc6cd40da9c0716d147b398b7d469a919d83baacca80f0e41414382804b0a321362e14e766db2450f599963cc2899e1048d839754858910d12c23f99158a9a3149362690a9c5540133e5f217a7b66b0d627321c810f7d1639cca948d708616047f85ba41cee9211df72731ac0986d1c3149854b71683faf68179799b12c031a2a84574b9a67c96a708355f7a86bfabe63ddb94b6c048359481ca7a45cbaecbcf34407d8e378733f812926599df5c156a94945fc7911db26bef17074470a7bd6b60f771cc3f396e847195ce26444b641f91b468fa1670d0184942472667aa76e42976fac48e78da72ef0c207fc7400f92699b46345e4c9972a35daea31adbe87980438de4f211b005c8dcec1a6eecb56d891677f9006c49385e8ab20a19b74325a9a95083bc711537480db30719815352616b2c5721979bd4267fb134188a75b9cb303215a76a246d8f69acbd173d069b2b99b727829aa5469a0212c006a88aa4a6b614674674fa75500aa294711c178b741b0275280bda27813647a5dcac3a258991db4bf436c23f37c697115143a2755fdc199ff32b19209d7ff904feaabff7383884c1bae3c0cc20d019066653b99c1cafe366567c9238785b0f0b4d1432a9e02ca2d9a3b37d84646b157684d7ac720727af4533749a9ff99bad8f3877dbe5cff9c75b38c4002178ce30773ee36a14f1497ab386cb36420f04d85c8312ce25b357d3108226925f6b85c7a3729064f81aa66336163c00506bbfc82030f4f33a5be7330926bb3f849d1dcb09f5cb814ba8a722506d0a037e6eb26216aa3c4d4c05d5cbcf0358501936ad2beb3563c341e2315de6d68404acab0149bafa84491ab67a2dd82972220b0df528da7c4d441c8cdaf508cfa2c0224932e7e5215572aa433c9212022899e43a93cc7c8f4aac6ed5acbd0162e4da4b897b7bdcd72a0b2a2354f61a6c211089c11e476715f3369859c3021584b6593b5784344d53b40da0725a90804c45d02f6eb7670071660478c53281b5e290bfc77ac46602b530b1300628a7a4f20ce227688518c8d8dbab01f270c3131ac1586bb783b35db82f3c24ae2b767e2c4a7d15c2a86eb19fdfc41113a7501367cd70d73d0f63705487ac4e0bb1c84001fe6657610c7d64fa3df4538bb6069128c4597ec9b291938ea5d7cd46897ac2179b52f1cac91b6c36f37a59780e454c50c5dc354b56a43040804de2394bea14c2d385e082c5f181228d62307f5a6a1aaa1eabb84f90f34310844df95a4e6d423d8c993fa7f390e6984e482024c2968254b54b7d3418d6f859e295665262246e1bc8cd6c9b726581cee69140f85c02024c5b59aa0711813d66433aa384b2a4a3447939378a1e6a98936bf04ad075981d93c53e9635b5e285f96755f8689b5ce5429142af6fa02edeb1a719b272f6b0a6211a5b9807ce6ff368739b51d4d9480bd884c8b456569027b08a3cb928645d450c6264c5fce2a2de2b241f965034a08716649a3c71020a6986fbc8bfb5b4a2cb162749264cc1e44bd66223f3db1b9bd2c68744b52ed7bba0b9773df128883110d2cc4757dacaf7f4c90fe02884e1a581d89af687ac79444c9d801d156325590a3a24441b7c2c893b777386198c16374329e640b6a439fe5bc71ab3ae195575a71cbab773ae6f0b5ab2d750d222a5d36b86ea2aa2006c54940a5f843ab708d19d5937643309c12d522dd479c3b2d57dd5696d25615abbb573fdb62eee5c6a6546cb1fb188f356800ff4177c69b636cbbf9ee9a7c7d512ca156490c96b347a5bc2cb257a061452dab5fd15bdf5026677f14967b6c825d03eb782cd0422bd1078b7781624dc318a33b0c437d6c35997a22e30496e876762ba5dcf5146c5188dde6c684c265a8f05031904572f7554123832c78767ff4b5ff525680c773ab3ba1a93776897d57b0d507b9391712344326f090b3d964df8c293b6638fa36815c7cb9b7962956f903f62c4ce3d7646ebc1a8ec04a815191cb4bb085ec8693f2188f490731c087c23a8bc7cfb32fc019d106934b2d17706526cc6f787be424bce5b26329591c47402d57548110ccb42955c422323addb4987fb0f3441558964bf14021a54277ba14c5773a10b81c1427f51173f5c6cbe1b7575a4b6766ac355bc443e479a2953a51f7010f7b04b23e0ca93d08836432e3ae5a1a6bb62f5476c07914f88532cecd00ceb340588ab675f93c286e7288da1c6ca3621ad6a4ae1fc64aa15b27a7c3eabc120e7460737585b5773ab18e23ee185c900ecc3b765983cb807e2f7047e6c999c6716e26801ea938302abc312aa797535358196b63309846675bcf1b33343bc3d4d172db81947643a84fd2173fcb0477ab87b57b55899a308d51311c9ba6916f15947d707d88b9228d0488ddaccb25455cf782b7a18264e55c9b6798f39a53f53240c82fbaf461364cd5202c5c94cdff23e0f731624e69310e5b47964b2bfd3a59a5b0d55a026e260731de346f74938abc607b4f579b8b200ecebb633614a46983e60e442a4914c93fa62219025e4a99d71032f0b00906126365c467e0a235570a544a7640f23800cd5f2a825479a632343f20801f1774f0e8b7db96a860fd40a43cb7abae76039c6bc80b94ec315ad49e9904908a20cb444bfe219452c464eeb2914ec19031152cacaa00dd541fde81ecaf1f339e468be45459e708bfb464d0c480a1becdbc021a06af7aac4772545eb2c54df6e9020e1e44b11b471dea97a382a2fe8d1042565bcd51ef21cc0884d68a4cb53697a77fe6e39ef13c7460d657197bc1c7ea3df65b85c8deb43a058bf1d +m = da8f1fa1262c71363592344af3af48d678dac8e93cb11d2df01a93fefe97c4c8 +ct = fcd64b8902b3f7f5f29bb1d3c78a1d230ab8881339f722f0690a605cd99f82dd71e8af7b51f78b403998e08e627668b54ce351ae3dfa596e6ffd7445e690bca9247d2aac78e7fe71751d04c0b97e3f2071b42935593ca215d05acaab27bfe4a02793d131b9df5f52356cbdaca2657044625b0a32bff5d4bebeb358910ece1865e212388d990b3f3fbf11cd98aec4df3e180ea4f2398166b4a5f78b9d10973315b74e83fee1ee70f653c43243a8cf3efcd1b6651fafdb902ee4d251ee1e11c61f509c1176ce4b0f7931c33a3838b56012234282711cc49f2f8e9bc4b95a29fd2a1897964d8ae1f1a3f8e120ba28f1eefbd377f0eebd99d1d41fe246eb767005920553413b2b1e88443ecfa364ea359dd0161eedfeb75fcdbcd77cfcf1b33b081f9ffc5bd3457be70565d1138467ec62814f7b59017fd9be4bd49217774960f3df3a75160d65af2da2fa7d7cd9cc79756e99a3c2aa1832b3c75ec0743fb624ee0c1d6e9d9eed5b0b8e27c18b4e3e77d04dfb49a154422eb91214f9a337007ba5176c03885af0d39db79b53278a863f9708ce6f29472f1f438ee175ca3175dae225350b515b251ab1c045720d89a245c65821c926480676599b23bc2995cc0fc1936a0531418262b334937167b1d1088a54b0641b00dcca91536baf091bc7782125d9e6600397e1afc3e5b76773dd324b43835d865d206d89ddab6a1fcb222f168b341027b287cbf842dd29984b034fbd5b578f957b700a8c5f8f105969da7fe27129ecbfed6b4c463a45ded1ca730d9ec83e0f99c17a1d0edad595c9c2a9a6029e10a3f24868d71412842caa8f755563ffd07478cb02d7ead6e5b9ecda9ee22794a2cececd646212c5c979579bd6192d9dbfe1b719d1e931ae8e6b4fe5f6f32e3a45b89957a56a22c44eae7a11c7df772da817f423278c979c7ce2fceb08093ad792eb0ba6a5cb76e637db763db5b0a6333e221e82a32362fdfca3bd165fc122342e67dd0dff94493d662d736f578b86c50fb4074bc2dfcd54ce80f60621b514c74fd958a6ee009a6533a1c129ef4ba8f44adebbe82b340b2c6f6c4b27dc11a6c604b7bf2556f80bc2e1b20fdb456151d251df401117511c4686c71dad9d9bdc8bac9df736744bc44339dd33009a52205812290fd78064b61a6cc668776bb24a903904ce0acfb7590068d97fd550f3dd88db2876ee8f2c5b7f582a3bd0f3008fa2015a0a4b15ea05a9c84f4e82ef8ce5fd008d2b6291967b408582693cfd74f8690d29d03ed211a5bf0ec2b9a61e1ef46c8fdb6bed3372b0a5e83d77228b0aac23e4c200ee3dd92bdc386937a04cc80a951b3cd56484dd6ae136b667f172b6f6fc45f5dc04d7d7d28a49d22170b9ee87610de052cbd215e165ee28e1c5d21fcc65a24088e32a13f1d883f8774729166f5cc5579a8ce5928b1b7bad819c01b59b415650a9065381dc7be562bdde47209c1ab58a0c07178604616cc6d83ba1e9761556b86e9d0bcda73b6a450017fa1cda0bbedf846d12a54b8df7f43809a3c7b37f +ss = 58008784be263327ab4e974fcdd2ce549178fff85bc82507b7330ce42a8de16d d = 9bc5315580207c6c16dcf3a30c48daf278de12e8c27df6733e62f799068ad23d -z = 5a4d0a8a41c4f666854e9b13673071ceb2fd61def9a850c211e7c50071b1ddad +z = 195927b10c3be5f19fb055a71cf9610fdc0f03e23fd09eeb8c63b7ba3c0fe642 pk = 5e55633267468551b3ee117792c80c1a802230ac805f769807976c06399b97b3c93fb83bdc136cb3cba70bb4ab5f11602e977ed051115508668c244a44e09569a13507d4009ab72b16cc3bc615c12ada7c56d50ba6307d00801bedf8526f0a9366869a4830314d162f63ab8f51996663c1138641275e164ddf60c7708a75376bc235e16d5c22033de1a149153d1868679e1825f638967becab5b9644a6e201906771a703b7844cb5cab61748d202d38b5b8f03cc45626027895e23d0c1c1b526c6d519620436ed593b58732164a39639c813f6032eb902b05db15c5d8825c8b11815768d29522536698a751bc1f9964dc579358adc57eb83a0d2201b9b9354b1b39c6e7008d5f3189902964973af9a9c694eec1298d68d3372783d34700b0280d692998b49a9bb76293d7a95363b317670352a71822f415b1c97742934713c5995fe5ca9642c3ac18b73c43357d4d497b3905df7f58c6566621eeb25dda29d97b598970684c5780f665243feb854f9f566177200f9331ce353cd1a23cce8aa4529bb667d1b9e59b1a312a7c6ff08871cd95c6934419f475c1c08395ce1a3aff83dd14784303b4ba7751054aa59f5710e4ac6039f3168c1b601a5278562b525abb11e66193dc9d34446bbcc8163578cb8065f89b9f43407f79246cad2b6b8b40f16b839a060a95b76855237bab2fa315db48e40842f8306125fb04145356bc50b00e3389dcca26ff048af5a730ac573b5b80331d2597c4188227682075bc0000186b8fd26a383e1bce5c19f13b18cb21602f2160dab202bb07b63d925b71708095daa662cf25dcbecc99395400a79842f5c40e79b46b5384ce730439f537bbc8a8608f61520e120ea9843456118a0a4cf36384832b12076044c65f06c8f8cc31752469c8a1e33dc529ac05485548a6e075f46a089aa8446c0d465bd43cdf0343acc9668fba2a7f7191a9d29be7e9300cef33d13a11edb2b409de297f30b8a7b077fd4ca4d1ac74b31092aded0503ccb5818d1834a734e15b74d3fe550ee49773a800d86f129b4e0250ea1c43da3a3b802b0757c6401ea090f98a28291621341a9d98c67bb001e46e89973f40c1c4950b0e34f07772ba6379fb6a93ecb57369b48b3aca26ef815c615b4a97ac2190fd2b15e83aa10545fb859635d084a57b0268ff085d9ea4b7ee1763b914e67b33dc46037f39815a1f8c58663c88662b91bab0db6758288c682372a269c64cf3ab5c46de2c8f0f1b7780a068948b9480c6af10251453c1fe213855d74675cacc7b162917730ae74ec7a8e7673a7d0887edc175791309ab28e6ccc629bf79c6d69b19269a19488b7b88a45a199841916ba4a2a1c2456a108a5cb4de1b15356ca737369668b0b5c7bc10e22377d6b5fef7515b4f348015872e3518c2676079b8a06de8b53bd189ec9766c04c084e74c6e747c783ff3a99b930547a72fc3a179cbd62b52d46207e79e37d65c9f3c4839d1afc167ae4041671e2c1bf3324d875b78615067dfe11653e6bd4dd5414579ad8c942081db4f1a10b0e1054fa3d79af6a285f2107d4232700676b8a007057d15c923a7889f115762b4c242392ce7c4438c68c6c3fbcccae4a071e404c24274f5066deaf5359eb3382eda6d6338f166acd09e376826299b77b781250c2224486ef23d424bdd -sk = 4da026f053c3ec1712c7f294dc891e26196894a1b620f97429574edee9568e113feb564d89a1883d5a0329929ca57ac001925c8d616791842dcd291627d61c7c2c3f842b547f074f46f082a06bb4282323a291c3cc07904079125cd5a854168d83ba8ab6b160b5e1881d25403b297c73048e3298287f51529a8ba2deda6b4d7665a373171b03b1c0baab6482c50ca3a028d485ca8491b1b73767ec9ef8874a54d4ca414895d2e49fb2ac0cc80c9d248b97ddc51d00a10ca3324fa8a6373a99c5dc1bb7a389cd9a3c6931fc7bee05abcba579251b742f46383afb48faa514319b8f9a0491f9212da443acf9b9ce5b29a6e723a4eafba5c1a7b3e017870fb35dba8a69f1f7995ef2aff817907de5c66899824889a760ca4a38a57b3afa880a3524e138b37487b2ee7332d2689f99a5a3748020fbca43ed6045a5aba65f6c67783cb74c217ba987ad381938b4a651b6908fa4f18e6d073a6992160438ba3c9547e4557e1e724192414c912648d25907bd8b069c845465616969161c483927f5d610c815638e242323465839d36a8149bad494b71f1336a3f0a954369d4265b6cab935f06694c482b500cb77bb32c4d805a295a692648a31611b206d06c2e86c61675577053a747bd3a748f452b480028edcbeca8a10eb843ea8a71e21e9b822d80860764d8c5a77ef0222f8004c902c832f1a344758776eeb99c3ec8b24ccbc03f5bcbe59027fb424e6c580cc3b41c041984ea552bdd6396d52867887430a2534a44ba544a0b285c061d7d6618c76945a5c3b29bbbb09a724b1ac53e5954f66708c8c0b2d7da57c62fc8b80e73d737741f9141f7164b4eac08822a4c340b5b74cb5c2d407b9d63365c55c14c5e6ab43a8bc68908c34074a9bf4816e000ddb464656c379fdd829b6961c22e5345674243ca64705212d52e616664587f90947feeb4366a7aba98b76d9f79a1ecc4bf50571a07cc57e0cb1af828bb26263a8a898bf3b7b0ed07988e82dbe3c0405d46b1cdc37600570fc37ad9b2237e3032bab1a0ae420b6f011a653987305aacc8876ac4d014b7e619227b8b35ba2616c9575506870fad2585549a2f902b185d7a61139c027912ee2a00ee460328b16cceeb259149a0881f8152d563bc0243302d29fb98cc57a45369517640bf0bf63a555a900269878c4ba567f8d376176d6941d34957e1373b7520483394c3606089d14aee0917059227bd848bb22e088def4194bfcb36eaa81d4da713e37be79e52f51ba2c32f05d06405947838625e49f5f6bcda5e683d014a12fcc0c81601b52f80c39b6659606a8fea82c62e061a939cb4451869922083268561e16381b026152170104e11f30b2399f4097b94078adc66f23f85ba6651e861237700bcb1ae92e2bc652cbf19bc0fca0d7f7577c9c96dbc9b8b07b917f258c15661da17621db1287ebaa7714a54052fa660f034f227198ea14c2467b46cf9877f4e0c29962992b560a7db93c8ec13343f734d86bc548246a57473d1285463d0942f288245d933ddab7a09766a9f8c178ef539f9ce9a0e97364cac0366b5b08b4c1b081e01d198c2aa5288617a50019eb3a40a300af538119d733f2544d18b9094f387a3f4c17baf01523f1455e55633267468551b3ee117792c80c1a802230ac805f769807976c06399b97b3c93fb83bdc136cb3cba70bb4ab5f11602e977ed051115508668c244a44e09569a13507d4009ab72b16cc3bc615c12ada7c56d50ba6307d00801bedf8526f0a9366869a4830314d162f63ab8f51996663c1138641275e164ddf60c7708a75376bc235e16d5c22033de1a149153d1868679e1825f638967becab5b9644a6e201906771a703b7844cb5cab61748d202d38b5b8f03cc45626027895e23d0c1c1b526c6d519620436ed593b58732164a39639c813f6032eb902b05db15c5d8825c8b11815768d29522536698a751bc1f9964dc579358adc57eb83a0d2201b9b9354b1b39c6e7008d5f3189902964973af9a9c694eec1298d68d3372783d34700b0280d692998b49a9bb76293d7a95363b317670352a71822f415b1c97742934713c5995fe5ca9642c3ac18b73c43357d4d497b3905df7f58c6566621eeb25dda29d97b598970684c5780f665243feb854f9f566177200f9331ce353cd1a23cce8aa4529bb667d1b9e59b1a312a7c6ff08871cd95c6934419f475c1c08395ce1a3aff83dd14784303b4ba7751054aa59f5710e4ac6039f3168c1b601a5278562b525abb11e66193dc9d34446bbcc8163578cb8065f89b9f43407f79246cad2b6b8b40f16b839a060a95b76855237bab2fa315db48e40842f8306125fb04145356bc50b00e3389dcca26ff048af5a730ac573b5b80331d2597c4188227682075bc0000186b8fd26a383e1bce5c19f13b18cb21602f2160dab202bb07b63d925b71708095daa662cf25dcbecc99395400a79842f5c40e79b46b5384ce730439f537bbc8a8608f61520e120ea9843456118a0a4cf36384832b12076044c65f06c8f8cc31752469c8a1e33dc529ac05485548a6e075f46a089aa8446c0d465bd43cdf0343acc9668fba2a7f7191a9d29be7e9300cef33d13a11edb2b409de297f30b8a7b077fd4ca4d1ac74b31092aded0503ccb5818d1834a734e15b74d3fe550ee49773a800d86f129b4e0250ea1c43da3a3b802b0757c6401ea090f98a28291621341a9d98c67bb001e46e89973f40c1c4950b0e34f07772ba6379fb6a93ecb57369b48b3aca26ef815c615b4a97ac2190fd2b15e83aa10545fb859635d084a57b0268ff085d9ea4b7ee1763b914e67b33dc46037f39815a1f8c58663c88662b91bab0db6758288c682372a269c64cf3ab5c46de2c8f0f1b7780a068948b9480c6af10251453c1fe213855d74675cacc7b162917730ae74ec7a8e7673a7d0887edc175791309ab28e6ccc629bf79c6d69b19269a19488b7b88a45a199841916ba4a2a1c2456a108a5cb4de1b15356ca737369668b0b5c7bc10e22377d6b5fef7515b4f348015872e3518c2676079b8a06de8b53bd189ec9766c04c084e74c6e747c783ff3a99b930547a72fc3a179cbd62b52d46207e79e37d65c9f3c4839d1afc167ae4041671e2c1bf3324d875b78615067dfe11653e6bd4dd5414579ad8c942081db4f1a10b0e1054fa3d79af6a285f2107d4232700676b8a007057d15c923a7889f115762b4c242392ce7c4438c68c6c3fbcccae4a071e404c24274f5066deaf5359eb3382eda6d6338f166acd09e376826299b77b781250c2224486ef23d424bddbdcaf7b417da8b8933279b33068f6fda313826c2eec500b224cbe046abeb37a75a4d0a8a41c4f666854e9b13673071ceb2fd61def9a850c211e7c50071b1ddad -m = 0e59f6f9047c784c1f00b24454aa4f1bd32c92ae7e626549972f86fab90e7e89 -ct = cc162c96f45c1bfe20d4ec4930fa6babcc176b7b28948f6b3723f9a652aed6b8814c7c2f2bf11be0321ae217ef12836547c0da7ca4e7881afa5c13b089f00249746d4ef05731b7f0a9189f6d092d267f88bd6064b820c0a995d27efec31fedeffa29bd61e16f35564627b8c07fd5100cf4512af33689e215d92635278ed6e6135e14acb1c167c8c3e4b843f4dbf0549468fb047c837125e8e80d453e39c44ff524119149c55aa31c7cacb5088eefe93b7d493809a85330a67ae11f188eed63821340fab8a7e9321f53fa389635e800ba2f6209d36f79eb7099f43b98b484730e95b58cef65dc8a751ff3cc07b7644c99c243f6a3f314b239233e458a2bcbb6fa612b764eb5051a8df7343267a7fdee9eac48e9577ac389b7adf2653791184b69942b6191918bb3d6f88b80e208261c8d393002979026e954559634daa1700fb328327daae0fdb1097837e91263af9ec3c1864b509d98e039b666c875bd5cd390b7219abb32adb52ea6c3fd81c52f1a31a3a77366f7a44ebc666f912fbc898ec79b7fe554753b7ea41e0eb5ea366a329cebb3eebd449639eb8e2ade3e5e92c44a587cbca397077a4b756ea4fd425e2b780cbb3c8104d5cc5dffc7a38318506bb8993979e0f00897f5f3319526f049470a37c9bcf52b0426332b9717d6336b4e277c363186d1a8f58b6107e382c77b5e25141eb6f5daf19dcfa95676d2037524772e804d3beb87e75fff624ca9f5bb6098e3239bcec265a88d2d7870560888cdb6805e68177489c21c8b3a2ff9949764f1a8d9d80f91f27c180245a7046717917650fd6f550296d8655f4e546e0780036fd90652c02786910f230a5e2c6467e6ec1687fb6aac12c06451faf6b7b2ab3c8c0c1885451e04fd54e05956d2174099e5f691d690a48bf5de1e67bb5d84288415e429184adce1dd7b00eb94c33abf63f5ae80af202e772eaa576cd65e65b63ecb1f98fcd96da6c58d4985021a1eb5a953aa105c73cf9391ad3633919ba794a26f2052878e4607d4489ac7e084009a582731990e8cc087a459470042acc5bf481deeff132c86615a5fb41e47c8d7d18c8ce3a478ef621f965099a1554597bc32fb119367c25dc0373739b8e228dbe85f688b005c9ce688e12142d51d4d06dac00690c1076702d8bbdf608127f7745bbcceeda28cf9a067cf6235742a230506c5dd4b9fb38cb9effdb2e97c07316131f7a47fab847ec5bc93c88275dce4f1781590043208a838884778a58ec5296c1935db4f8f32f11c209a697b40726293d18aa908d4d7bfc8c4258f4535295708dc80daa68adabed79fc459956e1a7bc277789fa94dfb5cb69eadca03a0b9c0a21bd5a7de051ff255d6df229f306e75a8095a2a511dc372ef601ae9d8a4575a4043380addafd25ac1d044a73722c0255974939d9ffc2b2658c5ffd7f1e7e0f33ac809a1b1648527ab57ee858109d30fd29356d74c79087cbd2fc436db8de5179483cf4ccf6511c2cb58fa7c5431c25d1ef9ce8c75891449d738baf2457e1f8753485e38 -ss = e4983d6021d6c10e71f474d76650f7b5e23e02805f755f57a1012882daa77abe +sk = 4da026f053c3ec1712c7f294dc891e26196894a1b620f97429574edee9568e113feb564d89a1883d5a0329929ca57ac001925c8d616791842dcd291627d61c7c2c3f842b547f074f46f082a06bb4282323a291c3cc07904079125cd5a854168d83ba8ab6b160b5e1881d25403b297c73048e3298287f51529a8ba2deda6b4d7665a373171b03b1c0baab6482c50ca3a028d485ca8491b1b73767ec9ef8874a54d4ca414895d2e49fb2ac0cc80c9d248b97ddc51d00a10ca3324fa8a6373a99c5dc1bb7a389cd9a3c6931fc7bee05abcba579251b742f46383afb48faa514319b8f9a0491f9212da443acf9b9ce5b29a6e723a4eafba5c1a7b3e017870fb35dba8a69f1f7995ef2aff817907de5c66899824889a760ca4a38a57b3afa880a3524e138b37487b2ee7332d2689f99a5a3748020fbca43ed6045a5aba65f6c67783cb74c217ba987ad381938b4a651b6908fa4f18e6d073a6992160438ba3c9547e4557e1e724192414c912648d25907bd8b069c845465616969161c483927f5d610c815638e242323465839d36a8149bad494b71f1336a3f0a954369d4265b6cab935f06694c482b500cb77bb32c4d805a295a692648a31611b206d06c2e86c61675577053a747bd3a748f452b480028edcbeca8a10eb843ea8a71e21e9b822d80860764d8c5a77ef0222f8004c902c832f1a344758776eeb99c3ec8b24ccbc03f5bcbe59027fb424e6c580cc3b41c041984ea552bdd6396d52867887430a2534a44ba544a0b285c061d7d6618c76945a5c3b29bbbb09a724b1ac53e5954f66708c8c0b2d7da57c62fc8b80e73d737741f9141f7164b4eac08822a4c340b5b74cb5c2d407b9d63365c55c14c5e6ab43a8bc68908c34074a9bf4816e000ddb464656c379fdd829b6961c22e5345674243ca64705212d52e616664587f90947feeb4366a7aba98b76d9f79a1ecc4bf50571a07cc57e0cb1af828bb26263a8a898bf3b7b0ed07988e82dbe3c0405d46b1cdc37600570fc37ad9b2237e3032bab1a0ae420b6f011a653987305aacc8876ac4d014b7e619227b8b35ba2616c9575506870fad2585549a2f902b185d7a61139c027912ee2a00ee460328b16cceeb259149a0881f8152d563bc0243302d29fb98cc57a45369517640bf0bf63a555a900269878c4ba567f8d376176d6941d34957e1373b7520483394c3606089d14aee0917059227bd848bb22e088def4194bfcb36eaa81d4da713e37be79e52f51ba2c32f05d06405947838625e49f5f6bcda5e683d014a12fcc0c81601b52f80c39b6659606a8fea82c62e061a939cb4451869922083268561e16381b026152170104e11f30b2399f4097b94078adc66f23f85ba6651e861237700bcb1ae92e2bc652cbf19bc0fca0d7f7577c9c96dbc9b8b07b917f258c15661da17621db1287ebaa7714a54052fa660f034f227198ea14c2467b46cf9877f4e0c29962992b560a7db93c8ec13343f734d86bc548246a57473d1285463d0942f288245d933ddab7a09766a9f8c178ef539f9ce9a0e97364cac0366b5b08b4c1b081e01d198c2aa5288617a50019eb3a40a300af538119d733f2544d18b9094f387a3f4c17baf01523f1455e55633267468551b3ee117792c80c1a802230ac805f769807976c06399b97b3c93fb83bdc136cb3cba70bb4ab5f11602e977ed051115508668c244a44e09569a13507d4009ab72b16cc3bc615c12ada7c56d50ba6307d00801bedf8526f0a9366869a4830314d162f63ab8f51996663c1138641275e164ddf60c7708a75376bc235e16d5c22033de1a149153d1868679e1825f638967becab5b9644a6e201906771a703b7844cb5cab61748d202d38b5b8f03cc45626027895e23d0c1c1b526c6d519620436ed593b58732164a39639c813f6032eb902b05db15c5d8825c8b11815768d29522536698a751bc1f9964dc579358adc57eb83a0d2201b9b9354b1b39c6e7008d5f3189902964973af9a9c694eec1298d68d3372783d34700b0280d692998b49a9bb76293d7a95363b317670352a71822f415b1c97742934713c5995fe5ca9642c3ac18b73c43357d4d497b3905df7f58c6566621eeb25dda29d97b598970684c5780f665243feb854f9f566177200f9331ce353cd1a23cce8aa4529bb667d1b9e59b1a312a7c6ff08871cd95c6934419f475c1c08395ce1a3aff83dd14784303b4ba7751054aa59f5710e4ac6039f3168c1b601a5278562b525abb11e66193dc9d34446bbcc8163578cb8065f89b9f43407f79246cad2b6b8b40f16b839a060a95b76855237bab2fa315db48e40842f8306125fb04145356bc50b00e3389dcca26ff048af5a730ac573b5b80331d2597c4188227682075bc0000186b8fd26a383e1bce5c19f13b18cb21602f2160dab202bb07b63d925b71708095daa662cf25dcbecc99395400a79842f5c40e79b46b5384ce730439f537bbc8a8608f61520e120ea9843456118a0a4cf36384832b12076044c65f06c8f8cc31752469c8a1e33dc529ac05485548a6e075f46a089aa8446c0d465bd43cdf0343acc9668fba2a7f7191a9d29be7e9300cef33d13a11edb2b409de297f30b8a7b077fd4ca4d1ac74b31092aded0503ccb5818d1834a734e15b74d3fe550ee49773a800d86f129b4e0250ea1c43da3a3b802b0757c6401ea090f98a28291621341a9d98c67bb001e46e89973f40c1c4950b0e34f07772ba6379fb6a93ecb57369b48b3aca26ef815c615b4a97ac2190fd2b15e83aa10545fb859635d084a57b0268ff085d9ea4b7ee1763b914e67b33dc46037f39815a1f8c58663c88662b91bab0db6758288c682372a269c64cf3ab5c46de2c8f0f1b7780a068948b9480c6af10251453c1fe213855d74675cacc7b162917730ae74ec7a8e7673a7d0887edc175791309ab28e6ccc629bf79c6d69b19269a19488b7b88a45a199841916ba4a2a1c2456a108a5cb4de1b15356ca737369668b0b5c7bc10e22377d6b5fef7515b4f348015872e3518c2676079b8a06de8b53bd189ec9766c04c084e74c6e747c783ff3a99b930547a72fc3a179cbd62b52d46207e79e37d65c9f3c4839d1afc167ae4041671e2c1bf3324d875b78615067dfe11653e6bd4dd5414579ad8c942081db4f1a10b0e1054fa3d79af6a285f2107d4232700676b8a007057d15c923a7889f115762b4c242392ce7c4438c68c6c3fbcccae4a071e404c24274f5066deaf5359eb3382eda6d6338f166acd09e376826299b77b781250c2224486ef23d424bddbdcaf7b417da8b8933279b33068f6fda313826c2eec500b224cbe046abeb37a7195927b10c3be5f19fb055a71cf9610fdc0f03e23fd09eeb8c63b7ba3c0fe642 +m = c08ebd7cdcd4dfc51cf41db75f31755f2b3fadb6a059499dd431eb931e348143 +ct = 50dcb075b04325383572c6683c7bdbf7426899d5ad665f2604b44f9c86312a384d1b62733646197381475910c0f5dce7e35e785177fa9439113e34f5f6e80c4a0603328a79473dff643e4546a9390626c8165bf3ff12e82e8bb9dcdf93248b29d81e61bc16dc6d0a7eb698dc86a1b065febccdfcaa3f37be2a9b3b7b5ad609f6b3d809c55903dc301a0280582639b43660bedfcb10341d073e21275477d143151bfa7a7bf992f3ca6f1b6fa3804c96b2e352573467738229b44114b4083303d800c7cfdf137127913ba75f253f34da66a7ee81aec56bda0f8a62a7b5e70b462c1d45a54a10d72a12d66d1b13980ecbb6af43fbffcaa18c7571edb4b5ff913767856042ae70f0b61dc20b73c940049efab64e6850fab76ee61eb609a98afee31c7444267cbfc47b793c7a57ea69d83e6e20edfdccee1586710b364fd97a7b7ea4a7c17fb7295a388a44768cc5e89f6ea62c938dd8dbd62a319af281c3c780d7fc4349290dedca09afe2e03e6df2d50dec64971640aaaa241533818358597855bd29af6e0aff932a308b4c2590b13f29caf50cafccd4eb3d17ddc33e84997e1512f5bbe729425f63f96023e191777ef613161040d648f42709e82ba79fece9f40698f66e14e6098132e274b2ffb2c41c555467151dd1e16184785a459bdf444e3c8b708b5cfba5485ececb6927ca8f9385cd3fce952cbc1bcb1790afd1b5b2dac2539496cf58f3dab549810a23f74058e3f946aa2f21173fbec752b033c559cfec5c65d5db5a41cb313ec2ff1c259f4f86269e5719a29be8e35feb2d7b908260d4f22b83aecf322abbffc650fede9687828d1a2500238e3f97c4c13cea6f15f48c9aeab72983427fab1eea1c92b60db7d4e649995d899ff7de37eba0132775c615ba3b3516815c36f132e668963e9116153bb0d35cc8df13ca687a4bcc23c40f60ac6e325cd887d6aab7404943a81a50d0b05be7650612cbb167b528bb23c67d4b0e9190fdacbc5b3e784f0bf94a4b43c9912241151d98be3791351d34f3bd695c9beac6d0256436b23ff0d994d56f708cad8c113695b25c9f8e5ccd9948c9a79b946df043bee2dd73c490e0ca7d7aa020665b53e3ba7867a5f8563e1838a186c80a1b29e0c8b84122fce66d00b4d9d55504510fbff49d663b00deb3706b00f584a17375ce7a433e9abf938792e242b64ae2ef65ed39d3eabaa89376448da129159c8f915a429ea0524a4c5dc86958fcb5a51299f748df2d76f156ecfb01a1047b3d63ad6b12d46bca2df3dbec119dfd709642384947404e569a0ae0ebbc9d6097bf7e2b1a45569f9fb9e3bbda262362f70181038bc40cbc76d997c1ceabf1601dbad99a57e420d333e860d6f836133dc8b1660c6682d5094aa49373994d869bfda7ddf46d1b56d303d9229f55f1572269257b3a79d2550793bcca689bffeb1b7eace83e8d698461a07b813445b313b0500cb351af4e01e4e0679178d0106b8b085adb189b67dd5123553e0dfb1711621142541b8bfa2db000411decb6f6f0b618 +ss = 0a950a267affabf0644e2351506c01e6762782220815a93f9dd1e439ebe7dcac d = d8b907b34d152ff8603b73051f772daa71eb902c47b7e2f070508269d757e02e -z = 36b817736cbc5f7b1dd6eef5fe6332fb1a598f3871e5470d440fd2ea631da28a +z = 7613c090fbe4afd54869ce826b72f3a5ec823d9a1c983a3d31b2387ed6b0c613 pk = 420a3005a17c7b4a08178b83f8540601145b102970b3fc29f30a4ca1a8a5bc4164051931ed68a59efb2b50d549bdc1a65e9909f5aa690b0235d32b1c6b2886ce2959fa189e2ce24224e99255863e6d964d4f422c02646a461bb5abf86f4b4c0975765a5b0ca01081677334af26c3467da771cdf40ec4293608801cad9c61d5f80839774eaff772b139051beaa65632120f00171ad020276a1fbf23517582149ad2c73450b11315ca4b244e7218800350aeb5808da774030635bc247508144740634ac4a078a5af2816e9206a645287de06263277242dba12af2a82ce13ba6787c5ac3020e5d30cbb92452985ae41027056f492bb1a5e23332698240b5038302e552c5acc0443a8795804126e15369ae96cebd7c9765233982458ad6520550baad77bc74296badcd4cc37240d0163caf8c806a0ccc3f4125a0874cdc1c67e4626c9c753453fa37b208caf5f523388d6308248b7688c80f6c925895670a1397880933af0152da1e54f7a7b512aa87499f7a718e62a7cc5bf5687add09060426b0d3cd292ab9b8372083ee462182872815cd740fd69acdd24615110bb618ca1ef662715f028864ba0872b8c199abe40f35f91906a821b8ce0742f931c661c65aa2445371a300e68f23b767382f3701ce685cea5f59c50e82e45234169c3bbac814ab9d68f83842c513a8faf475590b3bac2e3a4685b8f71208357d221ae41310e8454d315670c3a3409a2a95258b9057b42def7a7c6f588f6da61183acfb18a7cedf138c7984b50a940f17c687e5a2f83451d94398f4c82c93a375be195b4b219232e9a766e77040d3b9125e70fa4097d807a6d25323342508f2490a59702575d64af146088f59802aa2cab3537a8b4e92a10ec447bd89f9fe738d92a5f83c2861628601e42bb427b87c2153d4bc44b19413b79baa5ef55325ba8a42e1a88548155d03ab116e47ee0455f0e5a71bae3a03ef476f77a9a9cc6526df1adbea64930b6995f60181544356c0982e957c5e5186f321b9467d05dd5970a96e226c89673e50a056e7c0a8027aca8a5cd93723353ca1991730dfea1aee943cb0d62537cb5ad88c14f52a78cb6228ef4750eb7db0aa831a4202b178ef47446a06a17e7caf5274f384b36832a07ae0a66069bc59fe439f7b6005f064d865b550505210768bd636c61f0e7a1bdcb3c3065908d51302ee234a3fa113a1a1a2a618750075a6ec277cbdac535fc1524a62e3c0601aad1c46026ab6b8495c1b7093f776f9e6b3b533267ab99801e83bd18570166387f14ecb4d279b86cfbbaf90649e5c514e432561f850497d47c2bda1bc2c398b306751991392c399df6f408ff836f989c41cf76234b9445d9f81f4aaa987c1721c0c726efe44c311a589abb5e0afbc4add9bff6f87597a52e16a53d6c3551b7e6be0a1958a89a739e0717f0a86be0385c5ca433b68ab9506ba3a6e00debeb1ad0519e228b5b2d9aa3c9b4a2bfc8b35bf0a04b5a9d0154aef1a9478df4c8a0354f8878331f76c8cb6851940c996109113446367497cc73d395b34a9c7dd9621c9bb277bbaca6d976c3e65fc3fb4588643ab523bb35f551f1f30d0cd1c40d14b09429215e0c5325bb2b069b85c9e0bd9fa841771aa7c9709046b442990cf89513930f122152632a3c3d7c15c8018e1c23aa33cb89ad -sk = 1f83902bbb77a97b032277079cd0ca70d09d57385ce5c1b3c08b80ed95b2bbe70c101cc1912b71b29b87dd08254b593d616a31ff4957c7c0c325f82024f6a7b125b0ff799fff47afa6a9a7055382bca08cbfba71ea1b530bda5a4548922c90c6de8927494370efa6c96780086bf585ae6534dc05344dc1941ef793eae214312a371ecccea680c1a166ba97e128064748269922c9a19cee4b8a669abd146491abe31a57b724f3a173740269a33309f651c934e09a564627896150addb8ba181cf2503256512b0dd5588f4372781f35cfc0328c0dac842a1b3f418b6e8c567f410568f2c6be8eac9bab558deb08389ba08bbaa50e1ec5dce044efe5830743402402a167a9369e1d281d37713eb656662600840409c4fb971c0fa7771ba53b6c13ebffcbb85aab3316a3a99a9ced8bc4596932b3d052fbb13a5cbfb762ad7a08ca4aaf33862b6325baddb0e56d395e8f92ebc7347e847956b471695c978dc2431ef7286c0e0a880f7871bb05160209900c0c403da599b988a8ef0a716a9535b71002b3bcdade60053f5a8bc66419fc907f1ea718b7bad6bb76fd3f710e6778587c36ba5e4c2d7796185bb72c5fbb839b6c91119ae6c954e9b66c3edb500d884428be2c7cb6a6c86b807a6059739e23f70433d8a7a4aa768975aa6b0c3924cc8827cfc731a464121090a685820068019197f489315a2274a7133422b2968830271fc94b1c775c5a21e3b07bce543b32f00b7250cabd0d04a2529347848830c975261a54717324533ebc0ec627f2064ba693a9bf9a16fce87a8d7270759a06c00eaab71a5cc25034120445334a39d63baa2ab3254d77a921209750f6869e6971d05da1e1bb29cec9cb7b4962370e5c139ba472a75114b28bbb8e7069c5a8201b730db571c1ee0b10e1c42b4a97fb7f7ae54670d12859d68199443157ddea85760445895e7175ef8bb919c7213f427301c4f6561afffb0b03cf1ad05613c52dc5ca71a74545abe77d239576303bc9678272873d9b28f4a4aacfdb46940f59b0a82a75642a0cd794d63d03d43f65e753a6aa2b58e0cc664a48ca3d8a3b18c7b05cf8293d3e23fdfda93506c831455b648e2017fd866c87683ab307c6fd9cf24212509d777f34b0618776864ebae9fa5318e739692c5aa86648d49778b67f81347b434ccfa990ee9a79de94c94054e6e4a8a152b5f4757b89f075a27ac464cd1801d02ab64bbba4f932c0003458ff73011282bf444961c54c5275408c4f79c3c553424aa4aa13a53d59b1b785c0ffb686fda185d5438af5c494d98b80381c821c493bc0e7797cd1995db681ec9e18859a9229c497cc251af12d9cfebc6a19c599c9d364e587c7d32245145a60ceeb54cc7ec5b541b71dae959c800a747eaab53f8cd24365c91f53b7b0b9d3630361d41ade4c82c85e04d8ba243763b3f9dd65d60921f962337a3421051d36889253a423939abeb0ad962ce1e1a9931c960d9f4948723ca17a731adfb4834615693f622470225cfa7b036b931a2240564cc35e59a7acae48707491576cc1410a304e0885534f577692c5a237344a5f674ec7c45bda3242d70b004d5ab620ca2b1ac0a56c0cd5b942529b054e0f840e3c1837e0053539b4a420a3005a17c7b4a08178b83f8540601145b102970b3fc29f30a4ca1a8a5bc4164051931ed68a59efb2b50d549bdc1a65e9909f5aa690b0235d32b1c6b2886ce2959fa189e2ce24224e99255863e6d964d4f422c02646a461bb5abf86f4b4c0975765a5b0ca01081677334af26c3467da771cdf40ec4293608801cad9c61d5f80839774eaff772b139051beaa65632120f00171ad020276a1fbf23517582149ad2c73450b11315ca4b244e7218800350aeb5808da774030635bc247508144740634ac4a078a5af2816e9206a645287de06263277242dba12af2a82ce13ba6787c5ac3020e5d30cbb92452985ae41027056f492bb1a5e23332698240b5038302e552c5acc0443a8795804126e15369ae96cebd7c9765233982458ad6520550baad77bc74296badcd4cc37240d0163caf8c806a0ccc3f4125a0874cdc1c67e4626c9c753453fa37b208caf5f523388d6308248b7688c80f6c925895670a1397880933af0152da1e54f7a7b512aa87499f7a718e62a7cc5bf5687add09060426b0d3cd292ab9b8372083ee462182872815cd740fd69acdd24615110bb618ca1ef662715f028864ba0872b8c199abe40f35f91906a821b8ce0742f931c661c65aa2445371a300e68f23b767382f3701ce685cea5f59c50e82e45234169c3bbac814ab9d68f83842c513a8faf475590b3bac2e3a4685b8f71208357d221ae41310e8454d315670c3a3409a2a95258b9057b42def7a7c6f588f6da61183acfb18a7cedf138c7984b50a940f17c687e5a2f83451d94398f4c82c93a375be195b4b219232e9a766e77040d3b9125e70fa4097d807a6d25323342508f2490a59702575d64af146088f59802aa2cab3537a8b4e92a10ec447bd89f9fe738d92a5f83c2861628601e42bb427b87c2153d4bc44b19413b79baa5ef55325ba8a42e1a88548155d03ab116e47ee0455f0e5a71bae3a03ef476f77a9a9cc6526df1adbea64930b6995f60181544356c0982e957c5e5186f321b9467d05dd5970a96e226c89673e50a056e7c0a8027aca8a5cd93723353ca1991730dfea1aee943cb0d62537cb5ad88c14f52a78cb6228ef4750eb7db0aa831a4202b178ef47446a06a17e7caf5274f384b36832a07ae0a66069bc59fe439f7b6005f064d865b550505210768bd636c61f0e7a1bdcb3c3065908d51302ee234a3fa113a1a1a2a618750075a6ec277cbdac535fc1524a62e3c0601aad1c46026ab6b8495c1b7093f776f9e6b3b533267ab99801e83bd18570166387f14ecb4d279b86cfbbaf90649e5c514e432561f850497d47c2bda1bc2c398b306751991392c399df6f408ff836f989c41cf76234b9445d9f81f4aaa987c1721c0c726efe44c311a589abb5e0afbc4add9bff6f87597a52e16a53d6c3551b7e6be0a1958a89a739e0717f0a86be0385c5ca433b68ab9506ba3a6e00debeb1ad0519e228b5b2d9aa3c9b4a2bfc8b35bf0a04b5a9d0154aef1a9478df4c8a0354f8878331f76c8cb6851940c996109113446367497cc73d395b34a9c7dd9621c9bb277bbaca6d976c3e65fc3fb4588643ab523bb35f551f1f30d0cd1c40d14b09429215e0c5325bb2b069b85c9e0bd9fa841771aa7c9709046b442990cf89513930f122152632a3c3d7c15c8018e1c23aa33cb89ad61e27e954728e2e2e230c94ff009417d7372938e2c29c38af22184eed530fa1f36b817736cbc5f7b1dd6eef5fe6332fb1a598f3871e5470d440fd2ea631da28a -m = a3963ade17d69debbc358dda82c7bebe2c39d25b36813058e7a161542e3f8c2b -ct = 6eecd129797b2891b41e176111251fc114af2179fd711d4d4c6f0e825af1251c686757ef29970b63d621ad3fd6087caae604d416e06f444465245f34272980672e099f0be19818760fe474f0e299aafffaa6551a0592eec262000456377e54afbf5e217f39d7c8c9b19e03b472ee47947580481b451b535486c28e3c61e983be8a5802469cc95ac9ce38bbc371bd45f9783d0da21253a478a042427d490f0247c8542648488416970bb58f7f0849502361149dcad935af84987bed520ee79d3fdb1b6d478652c892ed1be4be91601554d092f0ea15889d4d6b3d8bc38d0a2ab98b19a2213bb688b92325236cbe248b183a6c94fbc22e89250286ecf018aaf17416196f3d1598b63a6a3a780147197895ce6a814c130984ce05a9fe30870395e4289144b529b1d1e04ed3207b0130ee490ce86c49966dc6f0b58dd651d9e650d7f6f7b6f2b6b398cb3dec5dbcbeedf1d448892fed8c9ef32d681608e5ada2958c3d47b0749aafa33b95b1dca91e6975ef842f1702777937450157c1b7739ee03b73b7601db13747c4762ae8245d90d706636bec3efac18f88ffff3e2068be9e18fccbfe34ff834d937be6413ac20a3e49c9cad9e7e5b7b7e64d10a99c8bd916e2f3691706a2f64592cefbe5563b68425aba971d80a2d7428c623d42099f1b37b679f0ef039528374fa8f7a3d6d4c0a6fe7a110f72636b6c2668adef2261530bab8fb057d26551d97a491e735fa3ad4845acb832ef4efba71d565962aa94e46e17849faef065c888912aae678c0c3314c8a05f2007f3ae1db1aa4afb1dfb3f74e937530953ff48b280c389cb13a42ab31f275318885801195b92fd167d17a46fc897e4efee985279195889e58c88f88c9f907b9315fc66f9bcff1d2f0b2efb7d4acd7eba6ad108b5220a1ec22d7ea83e85e5280d2bc06c62fe7615635ebb5c2c25507e46ffcf32e19a3e662afc952511b2f0ac509ce93910d995a26ac5534cf2b181d624cec786b86af927d4bc1bdf396ea99f6db7f259e30059595a654b2381ce1419e75a5b175455e127e7f1aeac0b8903ce4f0cc6f26c72a40c358aedf833aae85b975f1b4efb40d7c4a1708574cf0e98a2e787b9c68e568b465a53a0cf492be54bf76e0c804bf51a5b74981593f3088367829ca08683986efd8c9d777816158139e8eb22b6edd93030f3f279e80d958c5592b0e39bb831ab6826a7923d8a2208b6c2d2bd8cd32604de47722afc0ab9e5d7fcca2ca1391ae4af8e43a5a878229d54ec256a6e42bb89750e97fbf3679f9fbde1ec3d901b82cc45330bb2cafb861665542a4fd34317a12cf9c75f6d9ed49fa081fc31212874e74d2f6514040c69a70cb56453618a4f983e63da0ade52be5840a9508ea3bdcf70313173f018485209dc8dd229e36f854c778095c2c85d3b5b2f8e23ec88608362aa183d028f8988c18ef88373db13ced999479a325fe49e9da01844e1cf37d5ba098af7b8005f1f1921b850b4cfe545e7f0441f24548dcee473bd11846f0b6eb9cc412672cdb0ee -ss = 807703887ad9601806d0bfd5f9d9b6cb01bee01f82500f525cf4cca6e4b21fd6 +sk = 1f83902bbb77a97b032277079cd0ca70d09d57385ce5c1b3c08b80ed95b2bbe70c101cc1912b71b29b87dd08254b593d616a31ff4957c7c0c325f82024f6a7b125b0ff799fff47afa6a9a7055382bca08cbfba71ea1b530bda5a4548922c90c6de8927494370efa6c96780086bf585ae6534dc05344dc1941ef793eae214312a371ecccea680c1a166ba97e128064748269922c9a19cee4b8a669abd146491abe31a57b724f3a173740269a33309f651c934e09a564627896150addb8ba181cf2503256512b0dd5588f4372781f35cfc0328c0dac842a1b3f418b6e8c567f410568f2c6be8eac9bab558deb08389ba08bbaa50e1ec5dce044efe5830743402402a167a9369e1d281d37713eb656662600840409c4fb971c0fa7771ba53b6c13ebffcbb85aab3316a3a99a9ced8bc4596932b3d052fbb13a5cbfb762ad7a08ca4aaf33862b6325baddb0e56d395e8f92ebc7347e847956b471695c978dc2431ef7286c0e0a880f7871bb05160209900c0c403da599b988a8ef0a716a9535b71002b3bcdade60053f5a8bc66419fc907f1ea718b7bad6bb76fd3f710e6778587c36ba5e4c2d7796185bb72c5fbb839b6c91119ae6c954e9b66c3edb500d884428be2c7cb6a6c86b807a6059739e23f70433d8a7a4aa768975aa6b0c3924cc8827cfc731a464121090a685820068019197f489315a2274a7133422b2968830271fc94b1c775c5a21e3b07bce543b32f00b7250cabd0d04a2529347848830c975261a54717324533ebc0ec627f2064ba693a9bf9a16fce87a8d7270759a06c00eaab71a5cc25034120445334a39d63baa2ab3254d77a921209750f6869e6971d05da1e1bb29cec9cb7b4962370e5c139ba472a75114b28bbb8e7069c5a8201b730db571c1ee0b10e1c42b4a97fb7f7ae54670d12859d68199443157ddea85760445895e7175ef8bb919c7213f427301c4f6561afffb0b03cf1ad05613c52dc5ca71a74545abe77d239576303bc9678272873d9b28f4a4aacfdb46940f59b0a82a75642a0cd794d63d03d43f65e753a6aa2b58e0cc664a48ca3d8a3b18c7b05cf8293d3e23fdfda93506c831455b648e2017fd866c87683ab307c6fd9cf24212509d777f34b0618776864ebae9fa5318e739692c5aa86648d49778b67f81347b434ccfa990ee9a79de94c94054e6e4a8a152b5f4757b89f075a27ac464cd1801d02ab64bbba4f932c0003458ff73011282bf444961c54c5275408c4f79c3c553424aa4aa13a53d59b1b785c0ffb686fda185d5438af5c494d98b80381c821c493bc0e7797cd1995db681ec9e18859a9229c497cc251af12d9cfebc6a19c599c9d364e587c7d32245145a60ceeb54cc7ec5b541b71dae959c800a747eaab53f8cd24365c91f53b7b0b9d3630361d41ade4c82c85e04d8ba243763b3f9dd65d60921f962337a3421051d36889253a423939abeb0ad962ce1e1a9931c960d9f4948723ca17a731adfb4834615693f622470225cfa7b036b931a2240564cc35e59a7acae48707491576cc1410a304e0885534f577692c5a237344a5f674ec7c45bda3242d70b004d5ab620ca2b1ac0a56c0cd5b942529b054e0f840e3c1837e0053539b4a420a3005a17c7b4a08178b83f8540601145b102970b3fc29f30a4ca1a8a5bc4164051931ed68a59efb2b50d549bdc1a65e9909f5aa690b0235d32b1c6b2886ce2959fa189e2ce24224e99255863e6d964d4f422c02646a461bb5abf86f4b4c0975765a5b0ca01081677334af26c3467da771cdf40ec4293608801cad9c61d5f80839774eaff772b139051beaa65632120f00171ad020276a1fbf23517582149ad2c73450b11315ca4b244e7218800350aeb5808da774030635bc247508144740634ac4a078a5af2816e9206a645287de06263277242dba12af2a82ce13ba6787c5ac3020e5d30cbb92452985ae41027056f492bb1a5e23332698240b5038302e552c5acc0443a8795804126e15369ae96cebd7c9765233982458ad6520550baad77bc74296badcd4cc37240d0163caf8c806a0ccc3f4125a0874cdc1c67e4626c9c753453fa37b208caf5f523388d6308248b7688c80f6c925895670a1397880933af0152da1e54f7a7b512aa87499f7a718e62a7cc5bf5687add09060426b0d3cd292ab9b8372083ee462182872815cd740fd69acdd24615110bb618ca1ef662715f028864ba0872b8c199abe40f35f91906a821b8ce0742f931c661c65aa2445371a300e68f23b767382f3701ce685cea5f59c50e82e45234169c3bbac814ab9d68f83842c513a8faf475590b3bac2e3a4685b8f71208357d221ae41310e8454d315670c3a3409a2a95258b9057b42def7a7c6f588f6da61183acfb18a7cedf138c7984b50a940f17c687e5a2f83451d94398f4c82c93a375be195b4b219232e9a766e77040d3b9125e70fa4097d807a6d25323342508f2490a59702575d64af146088f59802aa2cab3537a8b4e92a10ec447bd89f9fe738d92a5f83c2861628601e42bb427b87c2153d4bc44b19413b79baa5ef55325ba8a42e1a88548155d03ab116e47ee0455f0e5a71bae3a03ef476f77a9a9cc6526df1adbea64930b6995f60181544356c0982e957c5e5186f321b9467d05dd5970a96e226c89673e50a056e7c0a8027aca8a5cd93723353ca1991730dfea1aee943cb0d62537cb5ad88c14f52a78cb6228ef4750eb7db0aa831a4202b178ef47446a06a17e7caf5274f384b36832a07ae0a66069bc59fe439f7b6005f064d865b550505210768bd636c61f0e7a1bdcb3c3065908d51302ee234a3fa113a1a1a2a618750075a6ec277cbdac535fc1524a62e3c0601aad1c46026ab6b8495c1b7093f776f9e6b3b533267ab99801e83bd18570166387f14ecb4d279b86cfbbaf90649e5c514e432561f850497d47c2bda1bc2c398b306751991392c399df6f408ff836f989c41cf76234b9445d9f81f4aaa987c1721c0c726efe44c311a589abb5e0afbc4add9bff6f87597a52e16a53d6c3551b7e6be0a1958a89a739e0717f0a86be0385c5ca433b68ab9506ba3a6e00debeb1ad0519e228b5b2d9aa3c9b4a2bfc8b35bf0a04b5a9d0154aef1a9478df4c8a0354f8878331f76c8cb6851940c996109113446367497cc73d395b34a9c7dd9621c9bb277bbaca6d976c3e65fc3fb4588643ab523bb35f551f1f30d0cd1c40d14b09429215e0c5325bb2b069b85c9e0bd9fa841771aa7c9709046b442990cf89513930f122152632a3c3d7c15c8018e1c23aa33cb89ad61e27e954728e2e2e230c94ff009417d7372938e2c29c38af22184eed530fa1f7613c090fbe4afd54869ce826b72f3a5ec823d9a1c983a3d31b2387ed6b0c613 +m = 0727dc8abdf2f12fcbbfccc9c84b6dfad8e1eb346249efe569f2ace9d8614a07 +ct = 980c7ce5edba4fce0108edd1e15c86d68f58538c2a6fed56719a2fc83d8d97c9757b8eaf8674e78669314fcbb5d0c4821ea6fa0758d853a927553d091b480721d419d22c22a5dbb17c23e79c8a40f60fcce30d186478bb0df9ec8c1b4e828020e94047f130c10786850010eceecd2a7714e8d43b91b5e5c61632f94e6fc4ea41fde31f6f362776c836de212dce2c6ee446302efba891de947876e68fec1a18b0389d3f11f52191294e1e528b94958fef03e6c9025f41ebaaee862e49f6bf9a1946e130c50200b4ebafc5ed8ceebf70263968be8418166d9ab641ec7a9d34302894a550fcf699894ead453af7e4c511bff043a5448b6680d4cbfaec995b13ef3660f9f42a4e1350e2d36746b73368d0cc06a05997d7a54b08486a4a90c53cd378a54123f2fd659ff3d0febbad3975bb9706e923a297fa8554f91cc42e509b6f0c89dc4a9903cc6aae283540505bf4a5edf6c586865da0866ca3ea6cf4377d317b58d4fa683146d4e4857bc1d9a851d48467f19113b23700fd9ce3eb4f602bfef95aeeaa8e22f2bd39e56de5b2afc5c6b5954c5d11c26fc926d61b8bbc5e03529a9194b5bddbce8a04fb1f3223934049e7664f71bba1a0f8d31985b08dac9577ae10b44b9297a136060ce3af5f665c9b7b98d0c47c68f7d1a328f9d08e2220523f0a2a4a86f4d899ac27a47d39d991c104468d76057c98f203ec7593be05f47c60f0c22804b742c55132c43bc1a22975aab9e65c3631f8ee1426cdd66b5f788c266f8dea4b0ffac86deb2a72b771d05b40e2c12dacc1826f0b51655f3713b7829c46d0055fb264c9ee3cb581f518bd9112988915c5383fea503e6320fd9ea5304fe10e19b60330cfe41c6b12907b0743f3fdf3bd232829047c5350cb46222422d413c455b4aa27ed6753351ac218a12145b9aac38872988499f0ff7f91622799466c5b66b6215a12a930a4df2672b7a3912b98e3325f80ad05e79389c8f7c90766d869c8cfa8bf237abc78f866c4a49801a264ccfcfd536f5cb16fa3553708b1930db15df768e21ece3d488e58ef199d64239285f90945f0dae7662ff163932721f8ed5a3737781228ebf74ddd086af0e70dd5bbc617c73c7cd08306ac9bab04a0fbf6d647d14cab32d45796af5ee5cdbffa037d9b171b892c307316981098dfe0539de4c38fa5989e121f88e2d7e8c2730ceada5ca893efbc229f9ace7ea2ce62548d6f6581284f771beeb12ab63881ebb343994f7fcb2ada47fac1779f46763866acbd8d4f57254824b2e729085e596ab10735ac2a49dee13b17be2546d7d599a2076d299f115ad80d6d2a3e52c0423f605e0ce26a22a30369bf74acaa801ffa77e448819d7bd1a4df1fc7e43d644c8e919d2a873f824fad3e5fd1807c31f2d02799ec3ae75764d04d73f322b4081867ce5736b5c18404eb60c4f3695a239262261839c37e38ad4ab8893322e3b2bf9c55a3662842c845657103af7ad52761eb15b3d4ab2febe73d555e7ea66021ad3afb172009b709581bfb33a4252725a2cd +ss = f9d4d24cb3e4435000c5da3482513e957d057f0a915afe36e6ac39b42f78458f d = 684a29e4e5480a5f2533e1526b5fac8cdf5927f3d85087c71f928c59690eb565 -z = 75d12195ec32a8686d0600e45d4a7f54219b0d7a3826d193a51b9156ecf2edd6 +z = bb3eeac4320f84d09cad413a7d7c19c27668b2e0e1bbba2d159b833db6c0f50a pk = 63992e0d6a8f811b3f0d30807456c84c8bbb008d3b126a31424954cbc6cdbce91e25b19928f4a41b1371447ba3d173915580bbd7899e9adca37b4b5a21e715101717710bc7eec56ec2e58002127d1898bc55f8a3be385d607b3ba6561991ac6f0913617303830da25f0cf0ac14e67abb8097d17b0ad1ea8c6c267adf51a15a9a363d7aa5c8ea535a89115c984ac5d6bfa922c6fc44a3b35cb667f939fa6b2676ba212c17bcd25c82e8172f6a7506e8b77d82cb21d7066da93a7eb3cab8e881a24c7592bc6b656e459af33a06fc2846d71221f1da641004b68bd65dc28a59036ca678508614b15a93e74f89b8af58200d50e718dab1c41c4556cd47b43f14092ca47397243983406e12e423233c90cfeb661a32ce65ab464db58c922bb693f56553961868b064e17a11162a7f0e3ab0b0aa76b8494ba394c902c598c23721dc16c51d46b8258c635763776b922fcac747985b94c006696f18ba49d0c5eb0525cad1349745691320969b6bcff69c30851b41e66aac3353c6894ab0097b4ec49783cfe4960d61a6f94b317d488d2d04a8b42c7fb7d89d52d89b2de30336333c50895348870bbc311611f27845c7775128a9cc831966fccc06292d86b582a18c6ab2fb3cce03701ba91047227a9fcbc6f16130710756c5dc288ba92402b5b7dc90c39193737c206f3f8230261852f1694258d47c469c7452156e70634384825bc52b03e90720066b609a4102862433e2621987e23af51121bed807810501200b776f847ff615c0f594420dc29ca6573276559c1c84b0723569dc2a76728909d9d1279a8c240a3979b0b44003687a412389581b8ebf0ccb06c797f7f5815ccbb434132ed5f1340e2c669430b13a709f7d1612af876454f06ccb7841f84c60f3806d5e423cb34b23bba90ab630403a46783329707388a1f4232785d4723c993cc62284d0e35242e52cfd6981268b86f598b11472900f83333c48627d402abba59c6740b4a40abc3200b5d9e13010fb4dd6bb503548c777256e0729905a89bb386459e0b885b6e3017c94ba93c7518f017695f5bf5b99214c8555bda863fdd11d40053c0d652696286d2ba14d569915e4532132527ce1b88122640ad668a20964476db20afca5ca663c6c17156ab3cc8e4b723b3a5209d2d10767da52b2443764f91a7f3aabb35137ee18a1f744562e22385716892ca77d518c4bec578e0f1145b3241c1831bf782c760f9081a1191812790531648954163b10e6a1f02b2b9e17cdd439c6707aab0df09236ba33d9b271196a398ff0b2c9521e57b6c8833489c5328f4866c14d2cc1ce037400dc610b28cd99150404a175662102f9617205c1cbc24b5716c7b9b0e8635bf960be5b632a976156c64078cbb23eb86b7be9a2d3e12f5b56406cc51796c66a6e871deb601cc767c0b8e45744346de60bb160808210506c5779bc275940e000314f30555677689f23009a583cd6f9779c83530e5b2a5a0a771bf1376f0091c627afecac104fb2ba251c074e359e5fc44dec244ccb78423532a7eb27c8313a341dc1431035162838835c85c677a420b67c847dc6605821587c8064e0bc2f4fe6a6b22113e73519125b92b3a66f15564666023ea99273d0d5657cfe1b1b3bbf85039a8189076a3752784e23d8a802023fd0743eb03d989a6968 -sk = 8b78635ac351c94bb6b1d2b861e4914dcba415f66ccc465b370578e136330a2c5cb0ca2857e1cb733a75e5cc4fcdf7a12580017f1c0ff484401cb23318a98000637b3d065608678103940d8ba75ccbe58206c130ed62bbc0132317b6556a9c2ae8f71a43712002d795ca52007782652d291dfe535f75034b0d624277527a6ef623168aacfbf721a9e8753195b82eb9855467322aab0ab1701546c470ad139944b6736e1c97c9768370846b45693aaed9c80a7b53b863830df61fe9600ad5717bfa2c8e59e30c8a20179b27b59341c855677880330afd1a227b6c6313e17c46e87d109a4aec4c1795908db6046598483159907a667378f80bcb84472d5a748043b1bac10ba5bcf61b07a2b13b12c347f3253e26c25ef0af6a003a67b0bee98a7c5a489c9ec9ac1f042c6f2bc7585cb01bb4b55496a93de903ec974398e277ca7cc25e3265a879420ea0bd8451716ac21f1bb806c12b3488d408ebf18b89b79b1f8c09eaca235f1c165f9504ff987139590f9977513ee037249b4e25e51a296526ba76cd3295895a571cac279bc65642cba501c8f131eb52b5c7cb73b17757440b1ee4e9295d404177e542bd744aa587738bfac0ef3c1fa0f19b0a5c5e28b53c2340c7fa061ad354c85ad26993087b61ac2002795d5ada7a3e6747ab8110367c824988ca705b818d7a921dba33371405ad235b18e463a8ac88180c88f071579fa5ab6d904a2f53b03f7c7ec39c473632369f984f8cc66dbd1924206a6376706ca36601be7b16edd17e93cb9a0437b3615374329b0712794f5058790d88182be4863293133a83aa00e07c8e79c6f12c33fa9437ed984a1392903da89bd43184db6c8dace3789af5cbba092010b889ca98af99e5b0b3d4399bf61266e833a55a85e11784708b98efab223a27aea1a16e76a73c2027759fd97a7db870f9fc79afc89435d092db556e0a738c133b259f86c98d78a43a49744f306da8cc6c9098a5a9cb091c9bad94970f03b543d669a9aa4944e0c08ddfcc1d7d485fa414b0765a88f175ab6c94b12a2177dcd4998e6aa263ec3fd5baa2466ca04568869466887f7bcf636c7a1f084277532841f51c3edc5c1873bce0f07a8871740c4aa82bb5ab164916082b795eb0660be32da9972840c927b7bb4061343d56757258ba4c91624f21da11cb265b00b9aafbb1665679c86eabbda12b74f1c5917101d0ea2bb293c71ad5b556369378a8d5b7297c9731705dd4493dbb173ad01458686a93287b6da0a6923b913989b69612a915a03a0962379bbc466a03f5517aaa0c0b030c6ca420636b2ee8821916e9c7f2ba228bb2aeabbc292f6c07ad85c6f43ca90d42629759536046394936c3ac5ab979d5cec1a1cc19b5c17edb47b0f47f34d616027b29a12725bf14b62fbac4f2cc6eece89ca0467d4868c11c17299373687b657d132c55785080f5b87f0e3c1504673825b98e8a0aa35f2c8d84f41b060ab43a930e7be1c9d04746169bb4ab403ed8c74aacb868b4a93f1dc55144738e2736749ac64170ca7d0f0348a9550ee494466a49617b541068f2c57ad4108ab813db58526c7647d55c1cb657ccd1143343aaa8421c23bd0c822f763b6a82b7d0041648a143bcc43163992e0d6a8f811b3f0d30807456c84c8bbb008d3b126a31424954cbc6cdbce91e25b19928f4a41b1371447ba3d173915580bbd7899e9adca37b4b5a21e715101717710bc7eec56ec2e58002127d1898bc55f8a3be385d607b3ba6561991ac6f0913617303830da25f0cf0ac14e67abb8097d17b0ad1ea8c6c267adf51a15a9a363d7aa5c8ea535a89115c984ac5d6bfa922c6fc44a3b35cb667f939fa6b2676ba212c17bcd25c82e8172f6a7506e8b77d82cb21d7066da93a7eb3cab8e881a24c7592bc6b656e459af33a06fc2846d71221f1da641004b68bd65dc28a59036ca678508614b15a93e74f89b8af58200d50e718dab1c41c4556cd47b43f14092ca47397243983406e12e423233c90cfeb661a32ce65ab464db58c922bb693f56553961868b064e17a11162a7f0e3ab0b0aa76b8494ba394c902c598c23721dc16c51d46b8258c635763776b922fcac747985b94c006696f18ba49d0c5eb0525cad1349745691320969b6bcff69c30851b41e66aac3353c6894ab0097b4ec49783cfe4960d61a6f94b317d488d2d04a8b42c7fb7d89d52d89b2de30336333c50895348870bbc311611f27845c7775128a9cc831966fccc06292d86b582a18c6ab2fb3cce03701ba91047227a9fcbc6f16130710756c5dc288ba92402b5b7dc90c39193737c206f3f8230261852f1694258d47c469c7452156e70634384825bc52b03e90720066b609a4102862433e2621987e23af51121bed807810501200b776f847ff615c0f594420dc29ca6573276559c1c84b0723569dc2a76728909d9d1279a8c240a3979b0b44003687a412389581b8ebf0ccb06c797f7f5815ccbb434132ed5f1340e2c669430b13a709f7d1612af876454f06ccb7841f84c60f3806d5e423cb34b23bba90ab630403a46783329707388a1f4232785d4723c993cc62284d0e35242e52cfd6981268b86f598b11472900f83333c48627d402abba59c6740b4a40abc3200b5d9e13010fb4dd6bb503548c777256e0729905a89bb386459e0b885b6e3017c94ba93c7518f017695f5bf5b99214c8555bda863fdd11d40053c0d652696286d2ba14d569915e4532132527ce1b88122640ad668a20964476db20afca5ca663c6c17156ab3cc8e4b723b3a5209d2d10767da52b2443764f91a7f3aabb35137ee18a1f744562e22385716892ca77d518c4bec578e0f1145b3241c1831bf782c760f9081a1191812790531648954163b10e6a1f02b2b9e17cdd439c6707aab0df09236ba33d9b271196a398ff0b2c9521e57b6c8833489c5328f4866c14d2cc1ce037400dc610b28cd99150404a175662102f9617205c1cbc24b5716c7b9b0e8635bf960be5b632a976156c64078cbb23eb86b7be9a2d3e12f5b56406cc51796c66a6e871deb601cc767c0b8e45744346de60bb160808210506c5779bc275940e000314f30555677689f23009a583cd6f9779c83530e5b2a5a0a771bf1376f0091c627afecac104fb2ba251c074e359e5fc44dec244ccb78423532a7eb27c8313a341dc1431035162838835c85c677a420b67c847dc6605821587c8064e0bc2f4fe6a6b22113e73519125b92b3a66f15564666023ea99273d0d5657cfe1b1b3bbf85039a8189076a3752784e23d8a802023fd0743eb03d989a6968672e53b28d579974d268132187e7bd72238639c6f2ca154d50d98c74096ec33075d12195ec32a8686d0600e45d4a7f54219b0d7a3826d193a51b9156ecf2edd6 -m = 97beafabf2c8575586487c7a80e8af5fc50f94b6051c1bc66a5ae9f66be3cea7 -ct = f145a8d9ce4f94ed02e2693aa6a5458962997e212a3dcc11c56baf8de75a68f67c69ebd87b212596c90201beeab5e2a0dd8fb0f9c3308ea0b0797a6921e7b7a036047a78f254ed699393ffc4b904ea2e00c7ce3d149bca5d763c2ccddd386efa74de0d1e42e1f7e96b1b92c346f5610612e30e970360dcdc541435974c33976b13b069270dc5d78072e9cbc434e92d7b30ce2459812d5a25d33aac97d3dba1a4adbdd08da548ddfc83d22edcc5015b09ab361df9aee747572a4229e6bb5f5fa85579bf47df4525880a6be4d871d38e0354db9fdd331f8a1591566938c747f14f388395043feba7678ffe17d712bf651d544e6f307e30de4aa7022ed3b758d306c8d526c29048be699a9e5d77ee1cfa5961afdd94c867b46d74ffd16ee258e6e8d3f4bfca7d810796a2bbf456cb5d00ed9c736286b2e57d10633227bf7b91be1b08361c90a57d6d4aef79271b1ac6e2295797671b7f0c7dbb5830d2eddb2b7af062bb73967964c0d740f7bf562648634b40e5f2da69260fa4df1cb9a99247157a8911b8c2916e6307cb684ced9fd738c05179931992bd64f7541699f8db7dcdff73085e9ba500fc1e7130cea36e4c67183179654913e33d9c47d76a3fc74f553bf32cc2b0167c4d3357a7c5cb26428fda06a3bff9ceba276f2a412b21e04216a052bc4c201e5d36bb704de258d30e5ce1112d9ac8e0940c4035789a1c3c2194a3fdccea8f4ff9cfecc01cffae1334013113abdba5d6574167d1aaa2b95257afe1daa39b8ea30f7f3843ccbd2b0dd373e9cbc9ce254bdbaf462a0486cf38eb7f90b5a7fa77d007636641639c7baac4563cd27b44d9b104c04990eb0d45b9fefb05d987b64a5fe8916f906720628961490a91252dbb44972b7fd2bd5c11292f40b6c92317ba3641b4da563faac61972fb552553cc006945311b8c79f88f7a59103306565447ed94af5c2d1c10df6d5ba6754932fcb98f3ad1d47d39394aaa810739e1e326af312d94605198fe30e7174edab76391d4956ed0e4c2ab6954d38e00dbd02e76f2357c350f7e93c1974d2c1cbb3c638604dbcad41790e7e402b80261405a52c2a0f9f0ce637a769cef5bd800cffc976598869c24fd9f8c83c55ad840beb08eabb33877c2caf3f8328c2db2e575254e4f129a1e969d91ea02c77000acdbec1cf6b1003ca9c8af77b22f6f9e8e831e4196585450b61e0e9ab6ed12b703c990faf295feb56fe39af4b9dbcb2447b250ff4c13078fad781a6cd5703fb4dc4a49ffa0fcc342e3638c6fc407602818e0f3c557ea1e9455272929e63b6bf746882769c5c482a413901f04623dd386186392922e0cc3b051f87c4783a90702b0ff33dd37aa924a2557e7461652444c9dfce842ded51bbe97336fff712974a3b60344fd9a7898fdf1f5bcf9aa6f0f28ea66ff64a76ee2d6080aa47c8829e1e8292185db9921a4f4b3fe28786afa28b25e87bbd63087a08a9234c6f12351b7f622a00f81e46462882936219fd8434cee7b5ec0f18aca21b13b5c995918b13b852121 -ss = 9d28091b20946b5507ae42bc4355a71acd2b5ead20d4181b22a5031ec53ca00f +sk = 8b78635ac351c94bb6b1d2b861e4914dcba415f66ccc465b370578e136330a2c5cb0ca2857e1cb733a75e5cc4fcdf7a12580017f1c0ff484401cb23318a98000637b3d065608678103940d8ba75ccbe58206c130ed62bbc0132317b6556a9c2ae8f71a43712002d795ca52007782652d291dfe535f75034b0d624277527a6ef623168aacfbf721a9e8753195b82eb9855467322aab0ab1701546c470ad139944b6736e1c97c9768370846b45693aaed9c80a7b53b863830df61fe9600ad5717bfa2c8e59e30c8a20179b27b59341c855677880330afd1a227b6c6313e17c46e87d109a4aec4c1795908db6046598483159907a667378f80bcb84472d5a748043b1bac10ba5bcf61b07a2b13b12c347f3253e26c25ef0af6a003a67b0bee98a7c5a489c9ec9ac1f042c6f2bc7585cb01bb4b55496a93de903ec974398e277ca7cc25e3265a879420ea0bd8451716ac21f1bb806c12b3488d408ebf18b89b79b1f8c09eaca235f1c165f9504ff987139590f9977513ee037249b4e25e51a296526ba76cd3295895a571cac279bc65642cba501c8f131eb52b5c7cb73b17757440b1ee4e9295d404177e542bd744aa587738bfac0ef3c1fa0f19b0a5c5e28b53c2340c7fa061ad354c85ad26993087b61ac2002795d5ada7a3e6747ab8110367c824988ca705b818d7a921dba33371405ad235b18e463a8ac88180c88f071579fa5ab6d904a2f53b03f7c7ec39c473632369f984f8cc66dbd1924206a6376706ca36601be7b16edd17e93cb9a0437b3615374329b0712794f5058790d88182be4863293133a83aa00e07c8e79c6f12c33fa9437ed984a1392903da89bd43184db6c8dace3789af5cbba092010b889ca98af99e5b0b3d4399bf61266e833a55a85e11784708b98efab223a27aea1a16e76a73c2027759fd97a7db870f9fc79afc89435d092db556e0a738c133b259f86c98d78a43a49744f306da8cc6c9098a5a9cb091c9bad94970f03b543d669a9aa4944e0c08ddfcc1d7d485fa414b0765a88f175ab6c94b12a2177dcd4998e6aa263ec3fd5baa2466ca04568869466887f7bcf636c7a1f084277532841f51c3edc5c1873bce0f07a8871740c4aa82bb5ab164916082b795eb0660be32da9972840c927b7bb4061343d56757258ba4c91624f21da11cb265b00b9aafbb1665679c86eabbda12b74f1c5917101d0ea2bb293c71ad5b556369378a8d5b7297c9731705dd4493dbb173ad01458686a93287b6da0a6923b913989b69612a915a03a0962379bbc466a03f5517aaa0c0b030c6ca420636b2ee8821916e9c7f2ba228bb2aeabbc292f6c07ad85c6f43ca90d42629759536046394936c3ac5ab979d5cec1a1cc19b5c17edb47b0f47f34d616027b29a12725bf14b62fbac4f2cc6eece89ca0467d4868c11c17299373687b657d132c55785080f5b87f0e3c1504673825b98e8a0aa35f2c8d84f41b060ab43a930e7be1c9d04746169bb4ab403ed8c74aacb868b4a93f1dc55144738e2736749ac64170ca7d0f0348a9550ee494466a49617b541068f2c57ad4108ab813db58526c7647d55c1cb657ccd1143343aaa8421c23bd0c822f763b6a82b7d0041648a143bcc43163992e0d6a8f811b3f0d30807456c84c8bbb008d3b126a31424954cbc6cdbce91e25b19928f4a41b1371447ba3d173915580bbd7899e9adca37b4b5a21e715101717710bc7eec56ec2e58002127d1898bc55f8a3be385d607b3ba6561991ac6f0913617303830da25f0cf0ac14e67abb8097d17b0ad1ea8c6c267adf51a15a9a363d7aa5c8ea535a89115c984ac5d6bfa922c6fc44a3b35cb667f939fa6b2676ba212c17bcd25c82e8172f6a7506e8b77d82cb21d7066da93a7eb3cab8e881a24c7592bc6b656e459af33a06fc2846d71221f1da641004b68bd65dc28a59036ca678508614b15a93e74f89b8af58200d50e718dab1c41c4556cd47b43f14092ca47397243983406e12e423233c90cfeb661a32ce65ab464db58c922bb693f56553961868b064e17a11162a7f0e3ab0b0aa76b8494ba394c902c598c23721dc16c51d46b8258c635763776b922fcac747985b94c006696f18ba49d0c5eb0525cad1349745691320969b6bcff69c30851b41e66aac3353c6894ab0097b4ec49783cfe4960d61a6f94b317d488d2d04a8b42c7fb7d89d52d89b2de30336333c50895348870bbc311611f27845c7775128a9cc831966fccc06292d86b582a18c6ab2fb3cce03701ba91047227a9fcbc6f16130710756c5dc288ba92402b5b7dc90c39193737c206f3f8230261852f1694258d47c469c7452156e70634384825bc52b03e90720066b609a4102862433e2621987e23af51121bed807810501200b776f847ff615c0f594420dc29ca6573276559c1c84b0723569dc2a76728909d9d1279a8c240a3979b0b44003687a412389581b8ebf0ccb06c797f7f5815ccbb434132ed5f1340e2c669430b13a709f7d1612af876454f06ccb7841f84c60f3806d5e423cb34b23bba90ab630403a46783329707388a1f4232785d4723c993cc62284d0e35242e52cfd6981268b86f598b11472900f83333c48627d402abba59c6740b4a40abc3200b5d9e13010fb4dd6bb503548c777256e0729905a89bb386459e0b885b6e3017c94ba93c7518f017695f5bf5b99214c8555bda863fdd11d40053c0d652696286d2ba14d569915e4532132527ce1b88122640ad668a20964476db20afca5ca663c6c17156ab3cc8e4b723b3a5209d2d10767da52b2443764f91a7f3aabb35137ee18a1f744562e22385716892ca77d518c4bec578e0f1145b3241c1831bf782c760f9081a1191812790531648954163b10e6a1f02b2b9e17cdd439c6707aab0df09236ba33d9b271196a398ff0b2c9521e57b6c8833489c5328f4866c14d2cc1ce037400dc610b28cd99150404a175662102f9617205c1cbc24b5716c7b9b0e8635bf960be5b632a976156c64078cbb23eb86b7be9a2d3e12f5b56406cc51796c66a6e871deb601cc767c0b8e45744346de60bb160808210506c5779bc275940e000314f30555677689f23009a583cd6f9779c83530e5b2a5a0a771bf1376f0091c627afecac104fb2ba251c074e359e5fc44dec244ccb78423532a7eb27c8313a341dc1431035162838835c85c677a420b67c847dc6605821587c8064e0bc2f4fe6a6b22113e73519125b92b3a66f15564666023ea99273d0d5657cfe1b1b3bbf85039a8189076a3752784e23d8a802023fd0743eb03d989a6968672e53b28d579974d268132187e7bd72238639c6f2ca154d50d98c74096ec330bb3eeac4320f84d09cad413a7d7c19c27668b2e0e1bbba2d159b833db6c0f50a +m = 492d4cea1c6e07d9535ab2fc21d773bea7ee2c7d66ec80d41191aed269a398d6 +ct = b120be9cee70428fbff981405e438803b2ae92c86c036c488f75022abf077869162f99f0453b76253a7c5bd295d65ffd56b98cf2897c572c31fd0795323bab383d1fc6e1ec518b365158b8d254faa66ac91f3431a95f8e2353819db524a144d6dbeacdb92b05e03e05f2d345d6fb8e2677d5e002c5ccda1e0728c8b490e51463b39217e7609ff16b9d01302ca2a348f2f75c4e2986fc5bd87dfff75e7a7e0f7241a7005d02791f043e47b5024fbf2fb71a61e321497f2c1e69bc50cc2762bd4a2d4b7375bec9382cae6f9ed64e9479b194bfda52fe1a7edc2a19c0410e33829a1c3eba7b139b971212537fa32cf1f40d0e5f527c72a94f225c5cd1d849102946e5d255268eee1bfd76542dc0351913970c0e73d5d6aea204a28695100032c8475831ea43494afa0c1e0d3a263ec4ab76d1d9b443d31aa9621c2d949cd109c503a739e1fabe154a3d8a070fd3f93020ef69fcd0b3af9d36b4e1496a0ed3f8910d8cf5f9d9161cd4bec3d39f29c524d81280ce499c8b0473c1e4a2782024395e402a2911f77c97882d2599b03677f34539dad7aca4f171fb882b9d89082286c1761679aae31aeab83f22180b9ec69dcf22ac8fb8e81d100768bd9c386933c8850bee094ea2273cfc49c61760c97dcaac17aca99d3dcf7867836482cafe94936575e426e0e804dc05ca020d17d2f5e6e144e647e87c186a40625c62ec8d711fcb27859f90fd2d0c0bf6a23f78f28f7fbe97cb15b7020aa9e62f19d25684c5935d1a4c0938cae5c26bf27abf055e66d84d24c28ff8374926c6238668111a0b1f49da2d78e8eff3a79ef3bfe448695ba9978bb6b4a091472cadeb7aec0e6452165e7605ee7fb56970f9dfe8b72784eeebbd456b76bc175268434ecfa8044a4991cd2826ba78b7083b7a89b13510440753737c392c197ebab2d69d6040767cd83eef6108dbbd16d1879c518351843c057f78d7684b824791c867c219d4932ce8fad6dce8e0f91e1ec5a6f547977cef2a1fbcb8d7ac072024ccb261abff365b3f2e7c703854e246746be3d6faf2208fd8895288efe376504eca189e352ddb20c2d8648eefd779931baaade4c823ec5137ff4aa7f07848e8bf9e8b2a8b0646cd6fe8d0fc061cfc112844f5e8476820c321bb502e02f29931f0271aee6e1ff73ce57e8c61814a450ccbce73a8c345d7d554ec58fa13bb53e473bbaee3048c16ae4ec0b1f7c99c2d00768931d8a1c0d4a7d9d9950a5f044940d9283e62f31e9b6b0f9119e929e682793fc5abf105e5f4daa8968dd9cc25cb02456bbdbaf297b5743d95bc7ca68cb323d796906bc35fc2a49cb3435d79664e9f350840225cc0ceb96431795f6646e2a3aa9d47ecb183134260842c68a63c78e9e3be85031d2e8dba9e871c30e932bc1c017428fdfe1ddc7d20b7a542022b51f50df331764c1ad7ba6c3f44c840cdcba29b2d84fbb314f2e8f2d98ca3d176d99a335011d2331259ab75658e591a33dd12cac0301a584f6d455f3988d3764022014a57de4c2ddd62a8d5a216a7 +ss = 9ba312722b5d9586905e6b8b5f27ce6ea6437ea5116edd119afb92c22ec71359 d = d76b3573f596eb286ab5231feec7499686b13021be36cb126c7ebeb9d7030daf -z = 248c0a21ea0bb6d6f56f12300e8584d8e9a34e0e6f52227281151ae4c305fb8f +z = a8ac144dfda421de1a7addc92adb79bbfa9657f3dc4b78a7335f29db87b290d5 pk = 192042d43a4271e44d1546306137a4427130c86a2025bcc297eb36d3c44e7cd4b0b1c22005fa702ac12569bccccaf6ac9256a1693c8b677c5ca243b9c8556cb3a268165596fd0470400ccf5e3b56714792f7a87b9e03019751425695ad70e4ce0b2769571901c6c2003b58152fa9757922bd28a094771b0cb1dcc73741b14b402e8ab86dc0f647525c131e9aa1a9729075ebb3cdea4d31f6c3b23a5bcbf74a3c653d4c015ce5f65fd1042a137453462b8710704bea463204c463273bb71056378850ad28f37ede664e38514dd735bf9ab9b95d367c54d84ff085650ad33ebbc982a329c6fe3a516ef387bd0a0417c2655a5476f51a68cbdb4aebc53f00c11e78e5ba6692a516c076330c20d0a09f167bbfe1c956a619825a8305d1aa9ac5736e6d24145924b2409a8688b41f33a181a9e4858325140a797f2ba81d50f21af88650cd0ba8e662077708551a947c97c0a3355852a77576ca5b054d3b0b9fd973dada618bd02fff1cb59eb56b12c71b24bb1f02e27282d21281493ac7d07a20b124aac30b7bcb8c2ff24b2c927d3d62ade0357bbf7c1281fc94da2b21d10a5e5ee07a3fd9cf93e34615b871c8da7db5441020d0522c12711e1963be54739bd43949999083115988a09c6020ca88124b35c34ebfb0743b494b2666ccf5b5235968275fabcf9a054ef92833d8ec816d68c07fc53634a02ca192a411c87dd1f17ffea094b6868638716cf593b33483591e4049e4e7c65c8618b242b17d6021bf0a70c7c59bc81c34f5441b063b9a1d95481e6529602b95f874bf1c649d95a072e70a52e9252e1dd1bccdf64332345355f7cc48eb7dd1aa2f2c31ad1fd58b8b3a711d113c270a90aa2c5c79958f3907ae3ba071aa6144b88ba6c5575bdcf5331729a65d8acf3db97aca4191b72a2bc1433fb3483efff09698c291dd868275dc5a86d06d97305ba596515e434a8d956b2b73b3c00821ba055aa7541e4f35896113acfd9320fa91585f3212cfd5b023a77d7c5c0ceb746723c2c7d7417bfb740e4bfb2299b29f987698edfc1b8d7b33de2c80d0cbcb44f05b1ddbc667005b6e4335751ac281022cbcfac0a55226fa69cff845007b9a16d2b6bab3135b325b12c263a81fd423120a6fa639910159b693406411a289863736557a028bbaa23e0c984f04543e61916d9bceb4f64fd48823a4b13e4f83b43d443f62ecc72fd304f71772cce318c1da9a57a67502a1119313b93c4a66d03c2316c2cc5c2285b1e80c413b2f29c447dc975923d9100bec9db958acd7850ab0777d82814929121bb87a6f4f07880510331ee6171797bdf23850d5fc1802e432b2f51b3cbc37631c9729892b6a09baf6717e6ec39ec2b3489b33baf257c35b9cbeffdc1a1334380fc35df386116baa9bad3a0a8381c4fdfc4b1b98836f23ab923175eaf72c59d9c500e10944fb0fd701ba5142b3cc358bfaf2732d643d0b135c8f991b0c73789c465a7e1b3ea6804b5ab9ab2e42ca1e91158019306855a5767893bcd17e92a41470d721f6432448fbc370c64c3e330d83987f3a9479f000c75320a296393e253a68e0e1c05969784f5612adbaa2662459b09638202b74d8d5cbd2b01a915ab2ad06b08670546d8b76877b8b2eaa1abb3132e55d8bd5b08678bfa4243430bb4d059b58a4b0cf0fd26e -sk = bddb6a1bb704f8b530860b719752402098c84ae4809b01c8ec7583a66a3f4bc290bf2173abb41868225606d54991f5b547c2254c74391717045997a57ba534a97b3605e1ad9f7c6446ac08bbfb1999179bb8f67731a63ce1c717f30b57fd17bc00605e8e14127eb0c26e324aabd45138484a51a15dd2464440178ca7e966d4d58383f6bf9bb2a971729074781a8d978965f9a51eb2729ba8c308474d56089f2cc869b523c41c409507a671f0f3621e057662454d49c49a398343d64cca74b7822d773373d5185426b7b3951256154a7b78cb1f5049df0371b840ab21b83944fb383cc84ad9e24ff42b2731276c1d26b6120534438b029c4ac7c0739453c2860d32acd75229c63a23a7201c303032bc0a410319035d38a3c9802d41a56a8c6c2496db10441a2bcd13a81f90cda2564cc9e4020a47595a30994888b383e996115aa282eac3e3594447110c2d07774f9312d796c6b74a7634b6c0da2291458a35d3022bee048483461cfeb152e1d2ca9195afd1f9aa82131804d35e739299c539b913c54a0c58683259b3137aa464b9c6e03b0eb751999b6c5354d6171c78cbbef1b456ec4c88199764a5761d18c0849c1b0a263ea401b86cba549c712e4a251830f7b6ee16b2bfabca3ce018c3833bb881385c272dee151ac35a2c9561b3c1266855219b0c6b485e669fcbc49b24c50c6c3237aa6b116085085405115e0422d956beaff9360b58bf915654b9b887ad9733f425a5c6990b3f0223d8099bc0e95c6a5702cf5667209ace08fb4697d02dc45caca8074185f54ec4641b35bacd2f0b770fc215fdc171c98baa7ab6c0450ba6e47a838575a528f7be221c3c91f02734269a9425a2edb76cb6d077ed76040a716d39c9c87a58ad8867954c752367a905aa158e0a9019dda50a6213c260f7bd8a0a6e8cf581fb74cb17283f3a1a8aa9a0418c79a948199365a6a1045238104280ac704b33791e156a2377bc83e9b9c86d0a3d2aa3287272be6431bb4e598232312d10d03bcb13b4d838a9a624566c6a25fa44a0934ab6cc333e6d52af3ec26a6fb97615cc3c77102d1a315486bc69c555a3e8271660222a406022e8d97251308a90a15f748153c1168cb133593c1641e164c8a06cc008059c55449413c2b28667b99122ac42b8bffbc15fe395003249c676db7589d2896e7405bef8ac510782ff204454c8a0390c332ceb7a5a3123eb1a1ad0470096058358ba779df70106e24990da77aaf09705110993f16a2320a941d8865b387236cb8528babbf2d9196c15898bf71040d3ba500cb7b1ac85df11003a058d838c2652d4577306023c756ae9715136e91b20699fef425e48953fece15baf27489d929876803eb0b5764e6338bf5970c2f35d1e815bb5b0b1bab630138859b729923343c3d24922a8522e38e19868b8a4585acf14b795ff3a609d93b1a5ccab08f877c5b71ea78c2819113fb3632d5d995b02926663f2ab8e3a73dd6ab93503192e0243f2593618e3a809684bb6a31674e77802828fefea3a50fcaeb1088f7edc036cb84329c988d965071e97c1311643bb1ca2b43cc57c84cd5ea9109ae36de2801cbdca3bb6f977959578954ac17d303841d5726631663f12816edab5192042d43a4271e44d1546306137a4427130c86a2025bcc297eb36d3c44e7cd4b0b1c22005fa702ac12569bccccaf6ac9256a1693c8b677c5ca243b9c8556cb3a268165596fd0470400ccf5e3b56714792f7a87b9e03019751425695ad70e4ce0b2769571901c6c2003b58152fa9757922bd28a094771b0cb1dcc73741b14b402e8ab86dc0f647525c131e9aa1a9729075ebb3cdea4d31f6c3b23a5bcbf74a3c653d4c015ce5f65fd1042a137453462b8710704bea463204c463273bb71056378850ad28f37ede664e38514dd735bf9ab9b95d367c54d84ff085650ad33ebbc982a329c6fe3a516ef387bd0a0417c2655a5476f51a68cbdb4aebc53f00c11e78e5ba6692a516c076330c20d0a09f167bbfe1c956a619825a8305d1aa9ac5736e6d24145924b2409a8688b41f33a181a9e4858325140a797f2ba81d50f21af88650cd0ba8e662077708551a947c97c0a3355852a77576ca5b054d3b0b9fd973dada618bd02fff1cb59eb56b12c71b24bb1f02e27282d21281493ac7d07a20b124aac30b7bcb8c2ff24b2c927d3d62ade0357bbf7c1281fc94da2b21d10a5e5ee07a3fd9cf93e34615b871c8da7db5441020d0522c12711e1963be54739bd43949999083115988a09c6020ca88124b35c34ebfb0743b494b2666ccf5b5235968275fabcf9a054ef92833d8ec816d68c07fc53634a02ca192a411c87dd1f17ffea094b6868638716cf593b33483591e4049e4e7c65c8618b242b17d6021bf0a70c7c59bc81c34f5441b063b9a1d95481e6529602b95f874bf1c649d95a072e70a52e9252e1dd1bccdf64332345355f7cc48eb7dd1aa2f2c31ad1fd58b8b3a711d113c270a90aa2c5c79958f3907ae3ba071aa6144b88ba6c5575bdcf5331729a65d8acf3db97aca4191b72a2bc1433fb3483efff09698c291dd868275dc5a86d06d97305ba596515e434a8d956b2b73b3c00821ba055aa7541e4f35896113acfd9320fa91585f3212cfd5b023a77d7c5c0ceb746723c2c7d7417bfb740e4bfb2299b29f987698edfc1b8d7b33de2c80d0cbcb44f05b1ddbc667005b6e4335751ac281022cbcfac0a55226fa69cff845007b9a16d2b6bab3135b325b12c263a81fd423120a6fa639910159b693406411a289863736557a028bbaa23e0c984f04543e61916d9bceb4f64fd48823a4b13e4f83b43d443f62ecc72fd304f71772cce318c1da9a57a67502a1119313b93c4a66d03c2316c2cc5c2285b1e80c413b2f29c447dc975923d9100bec9db958acd7850ab0777d82814929121bb87a6f4f07880510331ee6171797bdf23850d5fc1802e432b2f51b3cbc37631c9729892b6a09baf6717e6ec39ec2b3489b33baf257c35b9cbeffdc1a1334380fc35df386116baa9bad3a0a8381c4fdfc4b1b98836f23ab923175eaf72c59d9c500e10944fb0fd701ba5142b3cc358bfaf2732d643d0b135c8f991b0c73789c465a7e1b3ea6804b5ab9ab2e42ca1e91158019306855a5767893bcd17e92a41470d721f6432448fbc370c64c3e330d83987f3a9479f000c75320a296393e253a68e0e1c05969784f5612adbaa2662459b09638202b74d8d5cbd2b01a915ab2ad06b08670546d8b76877b8b2eaa1abb3132e55d8bd5b08678bfa4243430bb4d059b58a4b0cf0fd26eb86d5b13bb8b72a9fb81245ab712f0d10f0e2e09b222143c420e3f2c3acea27b248c0a21ea0bb6d6f56f12300e8584d8e9a34e0e6f52227281151ae4c305fb8f -m = 75461decd34c50d6a094b4a64fb75e5e9479f8f9250d82bb7d729dedeb2d4b65 -ct = 62cf02a7a2d09168ad13b88990d97d6a9b0490491ee43b8234b585382834b03fba539db1958800624b86051987eeaf09091c288f6564383e1aa98094850cd37c2a695d8ad8548b12fdc9fe827c63a360135eac409c76d0a8b2390a64f012161a2dd3ae0da8f626e2f5e053520c6dede4ec8d64b045b278b1e140988b3a13da6ed4de14513e04ff00ee7b07a05a79ce27fc8a183582f2f987b44b95770083cba46a2e2dc384754d0acad94fa54ebf73568552318ee862c87d22315a7bb4126b2ed7d9e190456eda589994eaf5991253a191fe3d7156bee8fcb9a02213a477339507bf4a1ceeb0c64ab07d1b9f3a492437269fd8e932077c80ea7e3701f6aae89718c2c96d6c46244a3a1e760d0e758a47a5547d403dee7135e876345d0b725e2218a9a004c567f5bb00905a00039c3b6850cf5c8edde3fc1a4118118ef1ee524d312bf82c3f9a089dabad769c4d459c414f06ba28ddd48b86e079367fc77285ad70d0ed6e46be65dcae0fc2a68312397b8e2771eda4911e4c09e88d0f3055d01db4b3b1abc968ea78d8784cc0a0a429490e862b3a6fa629cc335873b55e88e5a0f320125bb16c621c4ca6ed3c69dc3b190d595ebf8685e7a22cc63451209d29413e7260da471b602f9c7203877d69fb0db331ba950f0aaf45c8697704a3a641cc04999907d70be17eb56d316d6f196941e130af65b0c1e4555bba7a2c69676ab4ac7cf9fcbe9b498c46998a396a5175f06d31887dd119c92a02788909af9997faf43d148e4b00751249b6d569d16758503efe6b808c5909df65485ae901a32000d0023f034cf9a20729a7901049ee12df1a1611f609f060da51b0016a988054f5805d37920bb7df00e5e7b99c19299567cf93ca8a9c13516c7b8ce59e0a71b6bdee58290911d9b44a26d1c48400de5c246aa5fa3159324bf31dfa3d1f223fb2472fcc0674d6fc19b0b730f2ba7ddad33428a78e087f751061c7e21af59f3945151da4f97ba65064e8d4792fdb1a29d9b9ada763a0f743cee9a535a19a2260258ba86f21f0874a8782f5f36883369a655cb3d622c8f828ee4acfe15b534b8d81775e0cf0c77625a2965c8820d1eae140d940c1acb3ac9c216da291588c8414b91da8e08f5b192cf007ced7f1b1110670f877b4f8132e6e53b3d47b4147129407bd14aecc4250bc5f054e3c25b255b1f15583b4da510347a6bfcc5c0c25200d9db9acdf58b1e2b7ef968d1d18de9c67d05bdf49c28d8fb4845cf634e490de1e99d8398123c9730fe0cfc63b5e34b3e7d73a970a1ad1c963e442b9528d8530dd38a6dee6fd64c24093bb650e1d6a9c79c05a9282025185dc4a08bbc50f1e335931490638283efcc4618f2023f06407f70f076b30a7c3a3799967cd707e578a2ee156cfd9249852e5edc08cc27a1aab18a0846d066e61596b928bb6c994ceaed604c0ed5b42f9ae38756e8aef19c47cecbba7a56fc7ee51e394d0b8ad32dcecd50031c047c519ccde7eb20e61d8944d5aff66626541982ff2da65f211d85f5e89d8ba -ss = 98498206d1f4d3c94a054c3c3a6087760b210d2f3628c71ccf3f0ade9694ed7a +sk = bddb6a1bb704f8b530860b719752402098c84ae4809b01c8ec7583a66a3f4bc290bf2173abb41868225606d54991f5b547c2254c74391717045997a57ba534a97b3605e1ad9f7c6446ac08bbfb1999179bb8f67731a63ce1c717f30b57fd17bc00605e8e14127eb0c26e324aabd45138484a51a15dd2464440178ca7e966d4d58383f6bf9bb2a971729074781a8d978965f9a51eb2729ba8c308474d56089f2cc869b523c41c409507a671f0f3621e057662454d49c49a398343d64cca74b7822d773373d5185426b7b3951256154a7b78cb1f5049df0371b840ab21b83944fb383cc84ad9e24ff42b2731276c1d26b6120534438b029c4ac7c0739453c2860d32acd75229c63a23a7201c303032bc0a410319035d38a3c9802d41a56a8c6c2496db10441a2bcd13a81f90cda2564cc9e4020a47595a30994888b383e996115aa282eac3e3594447110c2d07774f9312d796c6b74a7634b6c0da2291458a35d3022bee048483461cfeb152e1d2ca9195afd1f9aa82131804d35e739299c539b913c54a0c58683259b3137aa464b9c6e03b0eb751999b6c5354d6171c78cbbef1b456ec4c88199764a5761d18c0849c1b0a263ea401b86cba549c712e4a251830f7b6ee16b2bfabca3ce018c3833bb881385c272dee151ac35a2c9561b3c1266855219b0c6b485e669fcbc49b24c50c6c3237aa6b116085085405115e0422d956beaff9360b58bf915654b9b887ad9733f425a5c6990b3f0223d8099bc0e95c6a5702cf5667209ace08fb4697d02dc45caca8074185f54ec4641b35bacd2f0b770fc215fdc171c98baa7ab6c0450ba6e47a838575a528f7be221c3c91f02734269a9425a2edb76cb6d077ed76040a716d39c9c87a58ad8867954c752367a905aa158e0a9019dda50a6213c260f7bd8a0a6e8cf581fb74cb17283f3a1a8aa9a0418c79a948199365a6a1045238104280ac704b33791e156a2377bc83e9b9c86d0a3d2aa3287272be6431bb4e598232312d10d03bcb13b4d838a9a624566c6a25fa44a0934ab6cc333e6d52af3ec26a6fb97615cc3c77102d1a315486bc69c555a3e8271660222a406022e8d97251308a90a15f748153c1168cb133593c1641e164c8a06cc008059c55449413c2b28667b99122ac42b8bffbc15fe395003249c676db7589d2896e7405bef8ac510782ff204454c8a0390c332ceb7a5a3123eb1a1ad0470096058358ba779df70106e24990da77aaf09705110993f16a2320a941d8865b387236cb8528babbf2d9196c15898bf71040d3ba500cb7b1ac85df11003a058d838c2652d4577306023c756ae9715136e91b20699fef425e48953fece15baf27489d929876803eb0b5764e6338bf5970c2f35d1e815bb5b0b1bab630138859b729923343c3d24922a8522e38e19868b8a4585acf14b795ff3a609d93b1a5ccab08f877c5b71ea78c2819113fb3632d5d995b02926663f2ab8e3a73dd6ab93503192e0243f2593618e3a809684bb6a31674e77802828fefea3a50fcaeb1088f7edc036cb84329c988d965071e97c1311643bb1ca2b43cc57c84cd5ea9109ae36de2801cbdca3bb6f977959578954ac17d303841d5726631663f12816edab5192042d43a4271e44d1546306137a4427130c86a2025bcc297eb36d3c44e7cd4b0b1c22005fa702ac12569bccccaf6ac9256a1693c8b677c5ca243b9c8556cb3a268165596fd0470400ccf5e3b56714792f7a87b9e03019751425695ad70e4ce0b2769571901c6c2003b58152fa9757922bd28a094771b0cb1dcc73741b14b402e8ab86dc0f647525c131e9aa1a9729075ebb3cdea4d31f6c3b23a5bcbf74a3c653d4c015ce5f65fd1042a137453462b8710704bea463204c463273bb71056378850ad28f37ede664e38514dd735bf9ab9b95d367c54d84ff085650ad33ebbc982a329c6fe3a516ef387bd0a0417c2655a5476f51a68cbdb4aebc53f00c11e78e5ba6692a516c076330c20d0a09f167bbfe1c956a619825a8305d1aa9ac5736e6d24145924b2409a8688b41f33a181a9e4858325140a797f2ba81d50f21af88650cd0ba8e662077708551a947c97c0a3355852a77576ca5b054d3b0b9fd973dada618bd02fff1cb59eb56b12c71b24bb1f02e27282d21281493ac7d07a20b124aac30b7bcb8c2ff24b2c927d3d62ade0357bbf7c1281fc94da2b21d10a5e5ee07a3fd9cf93e34615b871c8da7db5441020d0522c12711e1963be54739bd43949999083115988a09c6020ca88124b35c34ebfb0743b494b2666ccf5b5235968275fabcf9a054ef92833d8ec816d68c07fc53634a02ca192a411c87dd1f17ffea094b6868638716cf593b33483591e4049e4e7c65c8618b242b17d6021bf0a70c7c59bc81c34f5441b063b9a1d95481e6529602b95f874bf1c649d95a072e70a52e9252e1dd1bccdf64332345355f7cc48eb7dd1aa2f2c31ad1fd58b8b3a711d113c270a90aa2c5c79958f3907ae3ba071aa6144b88ba6c5575bdcf5331729a65d8acf3db97aca4191b72a2bc1433fb3483efff09698c291dd868275dc5a86d06d97305ba596515e434a8d956b2b73b3c00821ba055aa7541e4f35896113acfd9320fa91585f3212cfd5b023a77d7c5c0ceb746723c2c7d7417bfb740e4bfb2299b29f987698edfc1b8d7b33de2c80d0cbcb44f05b1ddbc667005b6e4335751ac281022cbcfac0a55226fa69cff845007b9a16d2b6bab3135b325b12c263a81fd423120a6fa639910159b693406411a289863736557a028bbaa23e0c984f04543e61916d9bceb4f64fd48823a4b13e4f83b43d443f62ecc72fd304f71772cce318c1da9a57a67502a1119313b93c4a66d03c2316c2cc5c2285b1e80c413b2f29c447dc975923d9100bec9db958acd7850ab0777d82814929121bb87a6f4f07880510331ee6171797bdf23850d5fc1802e432b2f51b3cbc37631c9729892b6a09baf6717e6ec39ec2b3489b33baf257c35b9cbeffdc1a1334380fc35df386116baa9bad3a0a8381c4fdfc4b1b98836f23ab923175eaf72c59d9c500e10944fb0fd701ba5142b3cc358bfaf2732d643d0b135c8f991b0c73789c465a7e1b3ea6804b5ab9ab2e42ca1e91158019306855a5767893bcd17e92a41470d721f6432448fbc370c64c3e330d83987f3a9479f000c75320a296393e253a68e0e1c05969784f5612adbaa2662459b09638202b74d8d5cbd2b01a915ab2ad06b08670546d8b76877b8b2eaa1abb3132e55d8bd5b08678bfa4243430bb4d059b58a4b0cf0fd26eb86d5b13bb8b72a9fb81245ab712f0d10f0e2e09b222143c420e3f2c3acea27ba8ac144dfda421de1a7addc92adb79bbfa9657f3dc4b78a7335f29db87b290d5 +m = a0caa815deb43343d4c18fbe19b107d20e36f89ac9d721ee8e82cca43f9a28b7 +ct = fda5b60a6e668ce106d03b3b1e9bf6339f79d7e59f05b0f7c32a965af7e8876f54f92e54fc1a0c31a38823382b85ac21d1d04134585a80a0ba6f21d62050de1179db4bbcb5cbe83d206db03541fae0a61ed487342467f7944ac63866278eebf909949b0ff62d49f542b1ae77e0a09085891ddc23fe59156f55987d6956914a0f0f49e0f3cb8dac9befb9726fd2f7e2be314188cf5f2d12666119a337ae58da27fa7ad11f7180e64a09dd70f69d27a23c41b6ebc6e23a9be481d888bf6d02bf34304b40d728c972bc0be7a64d1d8d7745756189a6a9572facdc0f2ed7b8772242fb7e982e942e155578d82e5d09c913e349bd8cb34778be0887e6c1a47176869baa20d69d8f9359b279916bad52d20ee4e4bec94c3b7bc23cce244c61512e543ba2dbdb8236801894840226c4e61b2dc7ab60020188aa33929e390d6a78ab4996d510f8964bb51ed23898803251bebc8d04a51d219a4c6f563f44ca8fe995d35610480146a3f2b6498cbd9a30b8893d9654a58d94b4b987eb2bdfe432593be78eee0c0754bc8f100a1468a7d452d7f84abbea688b79f76dc115b87c72df08e00961962cf2853169af012e4b20d1dd6e9a71cbe7e95bdf314daaa4f7cc4010032734ccf92398fdc5f762d663e191cf10f9938a838ac8a63e0d725848a5b3b8f07c5ffaf9ef8492a9441699592b62b7281cf6704615d07129f0a680df01ea019f27792a7bdb6ab12c275e38c596a85c00a877f3da2f1808e2ad17f41ecebba6f69a14c7328e9e875ac1840e2f3f0fc6347d160118ed6e8601fe0ae127c7b2369ecf02b72b20c6939931302ba97823b31273413897ae04ce3920e18686ae9a1d1e95faf0fe414a85b2155db6102867d9e5b578b2b502641163bae8fd5ae20237f2f34337b107ad4457283f4800778c51d0183094419abed7d3683613b4df1de5c1bb9cf1b2789612a35f29814fb79d1495e59ef16651c6de6a81d48bbb8aec3d2ef7dd0b1c25459ab91d6bf909e6b5f27937b4dc02427dcc09090af0ffaf84ec46ddacc88f19a70c87d1d1fe1b666776b7e5774ffc81b688007439b421d9773a8cefd589ef6eb05b2b91acab04afdab5d54bc94bea5941dbca23bfffce4ade3fe9fd5fea4f9a852025d580f5a6be9ddb2c3673573fd813d246acc374d436815925fdb09ccf4155dc08ed6629e3599300bf9deafb77dbad021731b2fe9747098a8d7db02e8a36b4711205eb1b2b49fc3e9620bc915c82bb232bbe23d36d697b8b552559594d42b86a51ea931992e0d3d2db4968473cba62bb3c41feafad179b3632bc2cc45ac3d68d015baeb072d5a13a8413680358c5f4e2f4aca9bad110f57a279bfce32db5bdc9b7979888625618ad4ba10f07704af583b08bd86ea8462e457c4f7fa8e0b528e405d3104aac024c3a3e6462c05f78df7c7a5629726419a839b15839ec763bae5488b608c0ceb992e49454403020544982b1e4447522e8ba002ab2a9455371cc0f6c4c46bea05536b0cb5370ff6bf13272708eb5826c1c6f550786 +ss = 2e7a7f18cc02e426eed8c39c07743b71b2559c0739a69b3fa5146c037be36a51 d = b87439fde81c9e39eebe7cf741c685785532c1dd23e8ef868b9ce7a541010f3d -z = 1646460817a0fce5836bdfe124a7448e7adf7b8ecc2652ac6d280e986682df71 +z = 6eda18027c6709111f1987e026a481d46003aeaf2ff23b675bc349c749f300c5 pk = 38e84df3c6a2dc2389897c3745183e08c1681b5b9f57c16aa2c12778528510868964122c1747662cf97d8b0353bf23693a70b3b2a7c8cd5c5508a227261cb7c3022058e318d3dc39e320770724351ad78010eb423ffbae6714999226895ac23735a9119622bbc0811516d617353c7f769628925bbd49629fe0aa333d1909a16c5c27604b7db0b4e602ab27987df23c3718630ba4c2846444b83fe914d840cc8ed79a85b645a32809ca069ffbb8b3201131cb129db9282b73174f8d4a14a37393552b109d2271edda8d968ac3ff67aa3374a2355c2ec895441873325db71c91020e91f19347d965f1410f606862f69643216b869673b5a70583fd1218639b5036cc11d051a13d219f3969c817326d2b60ba5c13cd8cbc9313aab478833d73716a2a48438fc529084c241bcb4fd67179d1f5494b4bac2b05a5767b9647ec8829a500d1365bca7b8ce7b75bfea0c68f8a28edb7bc4a3817c0d32c4e10169832b9abe271cb0b473aac2c3dd39ce895551a297a61f47162d97c41f051d48b62e5a8882da62fcee16eacfb89b98a12ab626e69d77ceb3b6b02878ce346ae5cf754c3f6097e0b5eb7ac80b9b8ccd9418f63e545d01c7d17a71e45ea3a6d927484d4976ca936fe392cf2052535c201de9464008c932617cad94085c5816aa41973a8d21610430ac4b3080dd480169258e65b53e340759bfb70d68b15b868c4098847901a6b255938ecd15d5ea94232b2971e3bcd56205fc6f0425f50ab880821f56c7b25f51f2412cd7fa023852cad04f2704d4103d4362e965473add3563d9b36e5097c982506865454ba30af132bc17c807309723847257c697c525e27cc570a88a1688134f4193db67eff018f54751e578483a77a119210106fd03066c403b3303ce54b39493323c4334d4a7a20aae04d8ef529a15cb7d0900fbc4236c717310246c9cba14d6874beac61b566593b5ec5887272b914ea655d254d595824288a666f10c7da583f933052f43b0b0fa59248b0584f193ad548a12a845fdf14a73a0a37adfb4d1845afe6b56ea50b00a5503cb542c254a26f456aa3286b0126350272638ef0b4a3abc56fc8d0aea2f7396d97b64c56817d58c32103996db88345d377fb7b2644fc99a24258c50730045b897ac908f7fccb81bc2b51c286899c8c499c1757c6b0a6ac0a8482159d564cdb746037a1224ca72177f79ed19a398040426664abfbbb7b7ba99906e7982b665a551881e0f02a97409a3e2acd37fa96a4f9293f786a11b21e1f0bb22cf400da06081bf68111a9bb64469487d4cbc10578106b381b8b054ee29339e1830dd613e19a9baf9a81c2b9ad1d121a47d40234bc9d4b79c2f5f165bab5a2db68c59c0737e0e4786990a92476aea44105f3c77feefc342b458e4310b9b110a8b2c01593b512f069944828a3f6a219354bbdbb1c344f24aa0784160ca704bfd89c4933b6123c4434cb9a6ce16d3f042f1fc571db728119f6a33e4a9f6981193d60be6ab916818b8e1ff9a1d1a59de8824f808043a1949a5520b675d8834ef65c1d47afde2710c6b63998d43ab47a681f0a856d166c24494081e076d5fc05b541145d3155e232a5af0ab96ecc0b09c2c41e285d350500a4f8bb32e99b4b05d558ea7918a7881bcf516457ad2c3ab72ef2e04e3a4acb85a987c2 -sk = c6389f081ca0932ab66f658046c1278b38bc42b5c4e1a7c7a51b09d8a159773b67aae1c2aa8666000c6e6a014b5c0369dff147688ac6fd48c73d783e3025c92d782a479acbde8a7548384b763a868c46178345a773a9852016b9fe765db0bbaba5751e8056b7564c53fee8040d3c0125115d323c62a3f0a2b518330b6cc4abca84f62c792d07c1e1a0bbbd7c5b9a698cb683981f8828ee69912600311a0281dbf9c6c9e69daa26a446d136e8b0310f236d7a5a49b2bc616fd346c3462ab09544998c8d5ef641e7b48c35ba7a68f25414f703fb02b501c69c58a9b798c8c76923272ed9bf432208bab30f2db45e1cdc56f6ec11792a33ec1a62b3fc992441527e63328a46003db49b7dc07f73f705ca0220de94bea4967213d612b5a03b2c16a9bd4c66e0ac893263169a87aeae67843944628e6374b5518bf40919840b8e6c64172be3a35ee5a29777c035463380203072ea50e7daa4f906d01c502560621137b91649c97417cc2d3e1677006226d4621073cb1aa213525199bbbfa78f1899a53cb2b8d00819869867a41b2f48c615efe2c8da15a4e6965bef0c4207a499a2156ebfb611478182d85a71c9f8776d28051d1a6e4a104e54615992e0595ca9b0cb2a0ab0159575863f3145b3401498949502b2ea4392c77728215f8700c93f5846a1a8126eb6b72248bd1047bbe62aa58737268428509e53575f945735e75b42db2ba2f21b24c990a847241d2c3533b10d50847c85d98143fbb2eb5138accb055a8b8bcec8afd7b5697306165af982190821a14301ef0a90c3d829ed9035430725a99c67745ca415600d10d7c29b228998d7402efc1f0d0476c4d74c34754af9a1aa1213c9a0198065378de2d023eb73b3a4bc5801d98213ab7040cb63318b8395dbad6c7c604760ca679b301ab08ef1a948a5a83debb39651310b368c736a56977f78af0916364f278a4e3973374213f7a28ba70296d1916fc65cad3b33c4e1597f818cbc489ba970680999c373dbc246740c07d97c5e1ea5aa1d627757f4467e84ab9c5bafd9ba484f1212706788cf5ac1829c7ff0a66f26c30aae327bb7e167bde95fb5829340b187162a5fde3a7cc6a0a05fdb6f26902bdb0c6c4f75692e67ab1c8b1b46a40e53fc901dd892a3e612afd1cb2cd52bc5b0c3191137e602b0a5872d3a961ef7168990b634f438b744375d75995943caaa47e3cc5dc634432b6cf2db29b637a5e22559a59971be46004fe2a40f7c330610377a5b0eacf79d85f3c86223a4c90c31c2495314748601431fa1f49abff2575410af33f7367c5540084b75d6736ecaa010290839ee2456ee16bbcb57c601f26aa104916254a689c24cae98296e4bcef8770ed7485511f55a46c75592c88d6f76005356c397eb1e61caa04bf55a05c8409e644055759a7e60c1c8210221fb97780b92c2c8aafb6b94c259a9ce6291e18a801a82456b93c221a625129a1720328f11574a5c35c3650a7b57619c61f47ed6319329f118f4c31358a26a7e9191cab61012a71b27b47fa13cb0b2c959d913a2f4bbb3d106ab695a4c13d41256a0b442f0428de78f90609a11b8cbb475083712539e1ab034903c30f6b73bb8229ed50f901b142a597e7fe48b38e84df3c6a2dc2389897c3745183e08c1681b5b9f57c16aa2c12778528510868964122c1747662cf97d8b0353bf23693a70b3b2a7c8cd5c5508a227261cb7c3022058e318d3dc39e320770724351ad78010eb423ffbae6714999226895ac23735a9119622bbc0811516d617353c7f769628925bbd49629fe0aa333d1909a16c5c27604b7db0b4e602ab27987df23c3718630ba4c2846444b83fe914d840cc8ed79a85b645a32809ca069ffbb8b3201131cb129db9282b73174f8d4a14a37393552b109d2271edda8d968ac3ff67aa3374a2355c2ec895441873325db71c91020e91f19347d965f1410f606862f69643216b869673b5a70583fd1218639b5036cc11d051a13d219f3969c817326d2b60ba5c13cd8cbc9313aab478833d73716a2a48438fc529084c241bcb4fd67179d1f5494b4bac2b05a5767b9647ec8829a500d1365bca7b8ce7b75bfea0c68f8a28edb7bc4a3817c0d32c4e10169832b9abe271cb0b473aac2c3dd39ce895551a297a61f47162d97c41f051d48b62e5a8882da62fcee16eacfb89b98a12ab626e69d77ceb3b6b02878ce346ae5cf754c3f6097e0b5eb7ac80b9b8ccd9418f63e545d01c7d17a71e45ea3a6d927484d4976ca936fe392cf2052535c201de9464008c932617cad94085c5816aa41973a8d21610430ac4b3080dd480169258e65b53e340759bfb70d68b15b868c4098847901a6b255938ecd15d5ea94232b2971e3bcd56205fc6f0425f50ab880821f56c7b25f51f2412cd7fa023852cad04f2704d4103d4362e965473add3563d9b36e5097c982506865454ba30af132bc17c807309723847257c697c525e27cc570a88a1688134f4193db67eff018f54751e578483a77a119210106fd03066c403b3303ce54b39493323c4334d4a7a20aae04d8ef529a15cb7d0900fbc4236c717310246c9cba14d6874beac61b566593b5ec5887272b914ea655d254d595824288a666f10c7da583f933052f43b0b0fa59248b0584f193ad548a12a845fdf14a73a0a37adfb4d1845afe6b56ea50b00a5503cb542c254a26f456aa3286b0126350272638ef0b4a3abc56fc8d0aea2f7396d97b64c56817d58c32103996db88345d377fb7b2644fc99a24258c50730045b897ac908f7fccb81bc2b51c286899c8c499c1757c6b0a6ac0a8482159d564cdb746037a1224ca72177f79ed19a398040426664abfbbb7b7ba99906e7982b665a551881e0f02a97409a3e2acd37fa96a4f9293f786a11b21e1f0bb22cf400da06081bf68111a9bb64469487d4cbc10578106b381b8b054ee29339e1830dd613e19a9baf9a81c2b9ad1d121a47d40234bc9d4b79c2f5f165bab5a2db68c59c0737e0e4786990a92476aea44105f3c77feefc342b458e4310b9b110a8b2c01593b512f069944828a3f6a219354bbdbb1c344f24aa0784160ca704bfd89c4933b6123c4434cb9a6ce16d3f042f1fc571db728119f6a33e4a9f6981193d60be6ab916818b8e1ff9a1d1a59de8824f808043a1949a5520b675d8834ef65c1d47afde2710c6b63998d43ab47a681f0a856d166c24494081e076d5fc05b541145d3155e232a5af0ab96ecc0b09c2c41e285d350500a4f8bb32e99b4b05d558ea7918a7881bcf516457ad2c3ab72ef2e04e3a4acb85a987c285441cbd71c18717e9de7359b920a9a3bb7f32e619806f4e4718c585085be6241646460817a0fce5836bdfe124a7448e7adf7b8ecc2652ac6d280e986682df71 -m = 2607dcf4fd6ca1c614c21b5e37c24981c32b91c8c3e6955777da8a3f5d9c9335 -ct = 47f3f5f8e8adeca6f32b9692fd13d7e042fd9c7612634d5e3886871d5b18006b8bcad0e4b8e91bf063fecec9e54d10a2980c24369ff8abc2753ec4e45bfb30fbe64cf5bd5b53f3101913b558dfefc745d3c5cc96c1d71607a933e98314c340330baa8ef4a08916e3a2a98177d4c1ff6c499be66949a14d44361383e6a6c23a5e2a99856126ba269bf386889b8493cdb375d27af17ed20b504e74f2a9fe4c00de019ebedd147591f8a53266c56a9ace2df3df3cf0182596d78b07a67fdb0745cb0b6457f4467a7c9563947b2bd0b112819ad2471b8019c3aea82acb84954717ca91fb62099aeff49f81226704b8d268177fc77a422cc951f1cb68d25028c94203686f3a43dc95611ae78fb30bdc987992b9bd810c362e29c8f8c4c50b94a4dd640c70bbaf28a2c77643400848b0ee5e4991ceae312f0efe2fa0b90205e170f44f8708ca30446f83dd743989575425f5960f30cb8a2a36ea62e9d2fba6f13e555366191b0ebc79c0f8d0cd0e2f25ea617370675cce484125c7b6699f3a83b265f43ffb29c72499a9be90ad58660fc69435efdee5c5ea405106c09b00ea849fd9cf7ab0f4b55d12690c1e65c4f5369f32d337e319bfac00d8d8ee8fc4697a5248c096fa4ccf6d95203d85d9e2ab4eb1f4953b761dfe76db5d987eb0167a535c43ac756a68e3d08b99e71182f2fa3d13212671393dc33debcc3f080f03317128ed38ce785c3ed0772cf86fc7411bdc840ad1c754ad6e871eeb8ed6927eef33148d31de4b4b3ef5a7f0885b4e9792677480f518c250172d985981ceca7117b79ee38c99092bbea8fa1b0036fc35ba1ddc545130bc23de8ede4ec7a2908a1c8d3febd0c1eb811cdc90b74be2c0a4ab7f2d75828d0bb7f4ddda80813d381016795f49045f31c0aec4fcae74134f5e799c2528db055c1cb3c748acd9dea26b07a817594b902a76df4ad66f641c65a609514bdc608103609387dd7bd80937b791ee7d14928ec937c6438d62e7c05efc089d3ff646e8c04a03bf00094e3b04dee0b81efa2660392f03df2ca7da4231ebec0cea1c57599ff84617e3458d40a762bca1dd3c777bc790b7c366980b8d2fb4183fb71b7472e448878d7f50be104657302ea90ff27af7ce9aea771d7201c8ab3ee0754f77452e8056d96d4cddcb69c1458a5117713df0fb210e98b8270f378ba4c551cb469b10014422cf48009aa936a5e0e63847235214ac5d62ff0c4628793d7c4b9659967450ed3e1365f946a7a0445590d260fa87cfeab8de4f2be784738dd534d0c6eea04691c21396a406ffb15006d4e5a19c137d0776b63fc37afe8618d4e10208823dabfff3c80bdd953b758b89e81108ac146d05547c2e3139ecf4e2f3fe41125ab7d5be50cdb427d46c2768ead3940d3f4cb701eb41dde06a191629a3e94082f203b2736f6df03e206d2937860235b6e4dd1f8aaa4bd95586cfe18bf5fe4522d5f85e77c0fcb472adab84df092c4cea53d14e0fe7703f3ff8787827555697cea6a8011e4e525b8baf1abb6e216dc617 -ss = c93350d1f27f771801b7c3e03a2e7672146809d37f33ba262e9e0ce7809b2187 +sk = c6389f081ca0932ab66f658046c1278b38bc42b5c4e1a7c7a51b09d8a159773b67aae1c2aa8666000c6e6a014b5c0369dff147688ac6fd48c73d783e3025c92d782a479acbde8a7548384b763a868c46178345a773a9852016b9fe765db0bbaba5751e8056b7564c53fee8040d3c0125115d323c62a3f0a2b518330b6cc4abca84f62c792d07c1e1a0bbbd7c5b9a698cb683981f8828ee69912600311a0281dbf9c6c9e69daa26a446d136e8b0310f236d7a5a49b2bc616fd346c3462ab09544998c8d5ef641e7b48c35ba7a68f25414f703fb02b501c69c58a9b798c8c76923272ed9bf432208bab30f2db45e1cdc56f6ec11792a33ec1a62b3fc992441527e63328a46003db49b7dc07f73f705ca0220de94bea4967213d612b5a03b2c16a9bd4c66e0ac893263169a87aeae67843944628e6374b5518bf40919840b8e6c64172be3a35ee5a29777c035463380203072ea50e7daa4f906d01c502560621137b91649c97417cc2d3e1677006226d4621073cb1aa213525199bbbfa78f1899a53cb2b8d00819869867a41b2f48c615efe2c8da15a4e6965bef0c4207a499a2156ebfb611478182d85a71c9f8776d28051d1a6e4a104e54615992e0595ca9b0cb2a0ab0159575863f3145b3401498949502b2ea4392c77728215f8700c93f5846a1a8126eb6b72248bd1047bbe62aa58737268428509e53575f945735e75b42db2ba2f21b24c990a847241d2c3533b10d50847c85d98143fbb2eb5138accb055a8b8bcec8afd7b5697306165af982190821a14301ef0a90c3d829ed9035430725a99c67745ca415600d10d7c29b228998d7402efc1f0d0476c4d74c34754af9a1aa1213c9a0198065378de2d023eb73b3a4bc5801d98213ab7040cb63318b8395dbad6c7c604760ca679b301ab08ef1a948a5a83debb39651310b368c736a56977f78af0916364f278a4e3973374213f7a28ba70296d1916fc65cad3b33c4e1597f818cbc489ba970680999c373dbc246740c07d97c5e1ea5aa1d627757f4467e84ab9c5bafd9ba484f1212706788cf5ac1829c7ff0a66f26c30aae327bb7e167bde95fb5829340b187162a5fde3a7cc6a0a05fdb6f26902bdb0c6c4f75692e67ab1c8b1b46a40e53fc901dd892a3e612afd1cb2cd52bc5b0c3191137e602b0a5872d3a961ef7168990b634f438b744375d75995943caaa47e3cc5dc634432b6cf2db29b637a5e22559a59971be46004fe2a40f7c330610377a5b0eacf79d85f3c86223a4c90c31c2495314748601431fa1f49abff2575410af33f7367c5540084b75d6736ecaa010290839ee2456ee16bbcb57c601f26aa104916254a689c24cae98296e4bcef8770ed7485511f55a46c75592c88d6f76005356c397eb1e61caa04bf55a05c8409e644055759a7e60c1c8210221fb97780b92c2c8aafb6b94c259a9ce6291e18a801a82456b93c221a625129a1720328f11574a5c35c3650a7b57619c61f47ed6319329f118f4c31358a26a7e9191cab61012a71b27b47fa13cb0b2c959d913a2f4bbb3d106ab695a4c13d41256a0b442f0428de78f90609a11b8cbb475083712539e1ab034903c30f6b73bb8229ed50f901b142a597e7fe48b38e84df3c6a2dc2389897c3745183e08c1681b5b9f57c16aa2c12778528510868964122c1747662cf97d8b0353bf23693a70b3b2a7c8cd5c5508a227261cb7c3022058e318d3dc39e320770724351ad78010eb423ffbae6714999226895ac23735a9119622bbc0811516d617353c7f769628925bbd49629fe0aa333d1909a16c5c27604b7db0b4e602ab27987df23c3718630ba4c2846444b83fe914d840cc8ed79a85b645a32809ca069ffbb8b3201131cb129db9282b73174f8d4a14a37393552b109d2271edda8d968ac3ff67aa3374a2355c2ec895441873325db71c91020e91f19347d965f1410f606862f69643216b869673b5a70583fd1218639b5036cc11d051a13d219f3969c817326d2b60ba5c13cd8cbc9313aab478833d73716a2a48438fc529084c241bcb4fd67179d1f5494b4bac2b05a5767b9647ec8829a500d1365bca7b8ce7b75bfea0c68f8a28edb7bc4a3817c0d32c4e10169832b9abe271cb0b473aac2c3dd39ce895551a297a61f47162d97c41f051d48b62e5a8882da62fcee16eacfb89b98a12ab626e69d77ceb3b6b02878ce346ae5cf754c3f6097e0b5eb7ac80b9b8ccd9418f63e545d01c7d17a71e45ea3a6d927484d4976ca936fe392cf2052535c201de9464008c932617cad94085c5816aa41973a8d21610430ac4b3080dd480169258e65b53e340759bfb70d68b15b868c4098847901a6b255938ecd15d5ea94232b2971e3bcd56205fc6f0425f50ab880821f56c7b25f51f2412cd7fa023852cad04f2704d4103d4362e965473add3563d9b36e5097c982506865454ba30af132bc17c807309723847257c697c525e27cc570a88a1688134f4193db67eff018f54751e578483a77a119210106fd03066c403b3303ce54b39493323c4334d4a7a20aae04d8ef529a15cb7d0900fbc4236c717310246c9cba14d6874beac61b566593b5ec5887272b914ea655d254d595824288a666f10c7da583f933052f43b0b0fa59248b0584f193ad548a12a845fdf14a73a0a37adfb4d1845afe6b56ea50b00a5503cb542c254a26f456aa3286b0126350272638ef0b4a3abc56fc8d0aea2f7396d97b64c56817d58c32103996db88345d377fb7b2644fc99a24258c50730045b897ac908f7fccb81bc2b51c286899c8c499c1757c6b0a6ac0a8482159d564cdb746037a1224ca72177f79ed19a398040426664abfbbb7b7ba99906e7982b665a551881e0f02a97409a3e2acd37fa96a4f9293f786a11b21e1f0bb22cf400da06081bf68111a9bb64469487d4cbc10578106b381b8b054ee29339e1830dd613e19a9baf9a81c2b9ad1d121a47d40234bc9d4b79c2f5f165bab5a2db68c59c0737e0e4786990a92476aea44105f3c77feefc342b458e4310b9b110a8b2c01593b512f069944828a3f6a219354bbdbb1c344f24aa0784160ca704bfd89c4933b6123c4434cb9a6ce16d3f042f1fc571db728119f6a33e4a9f6981193d60be6ab916818b8e1ff9a1d1a59de8824f808043a1949a5520b675d8834ef65c1d47afde2710c6b63998d43ab47a681f0a856d166c24494081e076d5fc05b541145d3155e232a5af0ab96ecc0b09c2c41e285d350500a4f8bb32e99b4b05d558ea7918a7881bcf516457ad2c3ab72ef2e04e3a4acb85a987c285441cbd71c18717e9de7359b920a9a3bb7f32e619806f4e4718c585085be6246eda18027c6709111f1987e026a481d46003aeaf2ff23b675bc349c749f300c5 +m = 281023b82d26fa61f9a306cce0fa00037556c9a0b597fc734ab2fa2a146c1661 +ct = 60e9e0ff53f5da1d972fe25bc5650b6c8ffeb1af913e6b891d1b906afc407bef8be4c27a12b20d6b639a241138f9f8b1f30fe71e2811d37c8905eefccc01c05afc6361d89d49f765f58c51d666c0ceeb4c608aa1e8e72290b3ec88751f27e986fe2d7ee2e88eacd8c2115686081575a2b0a2607b179e4809c74a76369964cc46a4a2a063ad7767011d27f5bc6a05c97c843495e4feb0a31bea9f799c6be75ee4b6f3d8cddf220052d6cbda9c9cd88e45e11a03429c1bb5874a7b10b370c87b150a5d35558b1ba21399f5c24f3fd5205b21f5406fdea8c1d5fffbbcd2971675322eab4c6ea725c45dbdbe6ec3011237d694db2b069f216bd89ce1b7bd57ce2032e54be69c1e64d212968252a3218e39f54ae4fe1cfedea095720192cade296c1ad725e098ae6cc59d8ccaffdb71b718ac28ccab1727e84c1dd19e1d15a5232ca93e890a46fdf3adb467a2ff1ad30c820b8ff93d46792946a342eb8d652ced69e9001e078da5fd361ff21c1a4394abe1cadccd5da429f8627c23585e802378357a3a665a9050a66fc227229dd16d80ad61f34f3310a486f3faa7d70686af7203346ac6bae9c01e4669496c343aa9ea771199e876604ba8afea562da9fe5028ae4fe4d40a37acc58bcc2f199313381e4f531999e975d4e19fb729e908b617ef31de62ea31de31bb8219ea57bd702c85f3d398eedad126a73458395b1f5ca4a7863543611d1185328f1ea81cd4d3b60f44523211e70899d57ff36fc206d9d70163c38e90d6b0286afdc9bf829a1ee1da780908fd010b0462427e9cead81063228167bc2a04a04651700f9aae81db1f52d71edbd3d2b6340746b6a732f76363607d789d822e6c00a36b9901853c630a2f0a3e90d5c1f6ea64ada06e2bbbbc892e1e83050facfd96f13b1382d790e04964493c757aa79c4c1c9c1dd20b390deeb74ac39f734842d8935a4c3d06351303c449c2a719d0718612e15716e37cc7821e91bf4f08c9bc23ef1b5cf8fa90b622b7b160018a704c34fdef80b7d7acca250b3d5f93ef1ce3e754f270854cef93e8ad7e211e3d7012b62c40601112a75d8a4a101d2ad6fb9ebefc8d098cd0f69af5aa1e16f6960ca16c31d42645ec860a98ae64084855bb812d63571dd1eb3d35dcc657c742b0b8d6643ebbe4977fad2006d77a16402c89ad825e93fcd9c099e30f07ecbf6597b146fb75be49331c19936d6bab39f67c1f684c11314fdab1befdb1763517faa1b40b950647fce3050a4283d4ba22c94c56618c01ec65e872c8bc71f4a43a2aea2617a7ceecb910e75d28543b2b9f29b17f042f203f44da4f67a1ce54b282ac9d533785fa71840743126f768afbbcafa1d969f3d25db643544ae4c2592c01b2c9338f051e53c77e1701429cab6f34ba24771581a820a1b1e90283efb57c17f7f8c290127575594c07da50779d19382249dfab97439dec0d91f7609edcdef607cd7ec972604df7b68f222756fee09d233977adc32415a105628edb49786cbb5ee0e91c3bd722de69acf78e764db2f0 +ss = 034b0a42ecb7b7a8a0ceb8fdb13f4a1ea0b3305c942ebfd69f0d9d9a9a88c91a d = 056661b38038da4fdd7426f32a81576c73ed84843b305168a374f934e27a4e1b -z = 79238a80dcfd7c992d84b2dffa67493e669243d4fa38c46b090bdf86bc548411 +z = ba2de5dd570e201786cbfd5d27020b649b011455909aaf0ad6d92c1b4bb1f8db pk = be390596bab505e51b3fc147af616e0f94506635a758964b3e7cc067b80827db21dc87450fe1415ee41fca8a2b56b355fff13616622fd1a19a7cd98f5084610d1ac9f1b8a6e78cad9281a0afa5a7c2a9a87916710ec9c5b3544b76b4808d01399f219b745962536026c79841f11961b63c10c99074edbcb4ed786f7e8c3826609533e5bb4cb80f3e515299eb757c217da2806d26664f154c0cc2b4a644b224933502adf5a66f5b54cd45a71589219aac65be0623cf5b4c0df17e72cab64b91bfbd903d75e164e2a0c9e2c997f36a0b432177de617f5e6746bd82984bb9375b4a0a12e96d06045a3a984667d03d8c08cd980b59cb2b0983b13f9c53790fd43653e78255882f9b0c980ef6b062789332a6b67b2b78e9e370b78181531846b9980a8af905fef403f47b891a6b440ee71cc5d6bf3ba5c7b087a31123ab61ec9f2d0c89e1eaa7dac36613a15f147938d32673402164b001975d9c4a8ba5ce84d20b47f26eba5909183c6fe1343d062389b9b99cedd21e30d5841fb68f3450a47f4c4be5e8c413c37ea4d5ad629141d7430938158cd04492bba8aedf7477ed13a0b97c8217a300dfcb22de05449547626d21409f491098162d7ab477e3ebaf0e15124f449f08e47d8ec6847a0ac839bc5d237b3d509a8b5c44c8fb6705a467a3d4d9102ff2b6ed976ca9d856e9f257d5d586c7d8a4c2617dca73aaa65719a21538d9e6997c5637df8c5a2ab98a169a5ba8f708bba55f2c0a9463c9b4ef0c9822fa64ecc72c8bda4030157bde5073fae6a6e6f036121125dfc5a9dca1504a1225e6da9db4d0665f6413386153ae25be78b3410369bbdbd84a86c6c7bc924dd70005bec0c54e07b4adfa2daeb8265dd98bcb8968a2f683a3b07633aaa0290550665c01fdeb22398aba31140fa7494fd6a0087194673f51ac7d759d649a2fa4d7520fc67138f445287b681f5c3d1678b497129bc6624163e3515c8381e85c173d6a4cc0038dfc2064a213c557931e2e7138fa1a6bc3eaba08965bd803bd5759332cb1bbc4c41337bccca153905990970c261cf63a53204b6f8cb228d4234f08837425a82f1da9be43775df88a20a0381f70044c76b3524b437cf365cb131baa14ea6f24502336762c8e126afd009e1997b8b3bc20c246070df7b33bc9a7bdfa8ccd576925968915f186ca4a5a4934528dc75282e246b0824ef7118d39dc1f07449a218836d47cbb7365b677ec7d6222abaf33068b5730d9e674cc008125226cbc5382a76a9823db1b42976c5c90c23bc02eb7b874dff93699e6035a838b22a7126aa42d62682505f9bbc77143dca061f5c38e99652fc2e28e30ca8d62127af02186bd9c95602992e20baa636ab050ab870b11c52da19b3a68b7a07a8cfbe7bb016a2537e50464265ff6f065d7a8c30f659998a35d79032f887b4629d07bb2dc895f09ac0387cca9c5cd1aebc08a687798721f24ca43c2c5ad42d1b6641838efc2a72ef210bad10218846f25da336a4c00c4a29eac8a608f2261b8c76b18f10b7aba755771376dc7b876152f9fba5370262919511d4ad50d76aa5cd6566c29225dabb3b668608d9de5bac08320cfc3570a0ac8deb4bbf3d941f9325aaf546fc368af005caab7ac6a7dd70d90506ddbb5f53a83079aba0927bd52a68e278d3f01ac19eba6bd -sk = f75196a57024be817edc544dbd552f6b42ba121c2b8ea95e55017856a10c5905a8bb2590e63b449364802c6b438fc19eefc875017acf652a8f0d6ab0f7f5aca1f1833ed3551d37419d906d2b55123ec14d5f109abcd9382e990628bb30d882cca8665957346c3a08553c870d32f77e66348ca9dc321960b7d50b09de64178411439c021899f2b8c583762043a4508c3160544ed2264735c600a6ab43c8515532130583298a11450ae3b7c99ff559a1d33115dc2d2489934518bd52fba1cb9a019d918464b59cc90941599253957364dcca9f95a08035f8be5bd36db6b19f1f191a6e4b7fcd493b7a41c90bc76fe882aa0f3b39b6f454785c5dd1d106c80960bbe5846d90bcde837cd277a039dc22427b86a6658f97a60101665f3f69125445647f3bb2d3125c80d89aae6096a01c24902321933909a8a2925faa1e7407b3c90c8a53d958c1c83465e557ab620e53509ee8c960b3c547fea08d4ffa215742113ed9661b57ae1b30ba5768645c632de76b96161a9b6c34b8da48b75d176c2c849aad55c6680bd0863273c345c4c7379cf3f873fa5953f53b9a026a4dc120c96e279085566c7d090eba276a0928693e639b5564a59c08aeafd25915f5478dd86e938a11529bb9a2b0b83487c696e79f1fd034ef000fa502328184be42b8959d9c0683f3bc20e71902423ab14a4744e162f6a2b474dbc4a6f21fc0432ca7422cfb253d0f952be9c13125458df8753f5d551caa38bcca1625b533051c5226c8768335854e7477064320cb765ab9eb311a1859b4b5a006d918bd8508a971205e6902897cf95e0b652e09030794b46fcf7a784560c0a18b8e6334a57ec177ba56a8bb9a857013c6b9998975379bb04b540015a14a76c658f856becca363cb37997bb85b185aa0104063696f1020bd1b443419989798826e141a24a3533494391fa233cf848451cbd609d014508fe137534c42d6f22ed2cb82363c847865aa243ca993b14992572cbf5535845cc708bb09a1e8a7834c200d8036768755afab53aba85813eb859ee83efea7563ee4bc158599f0cb04033393c829aedbda289ed852e1eb1feda9484777051f967e048041ba3c313a1414d463cf3ec36801aaa1aa540deab122ab530ecaca30101a1089087311972b338b045a1637189020c3030e63f707feea9af844c7e1b20b4a5348c1a432f341bb9f598b8c0c2f6f55c4d2c2c22b187430748f82842daba92283dbc4bd20636b6754b20a7127f01fcfd4013a1155e4746dbf3ca1f34991fe7c39ed99bdf5760d39db8e6c428f2de8157be0139415aea96bcf6fab633f2257b582312d3c7acaf6a5f8e55ad699672160ca01246545059e58502e28199cd0f5505adcb91900a283f0b059f33d1a8b352010a3c815717fb3a9482c946df0c74a526353d5c9ecd2590c5050996393a02286841580ab599bfbc8838a53301bb11d5fd492af40ba26224505969d88f6b193ea42b0348954180e17124ec2c64b962a92aa9c3fe2d72f94301531c4aaf847243702bc8f9c37d64b54f20ac003b844c52417e1436d2e75ac09c313c83b8575e791a7c95d0412cc61521a6826997561485dec26ad7baa8e065e9a279add7301c5c74c5b95c1b6915ebe390596bab505e51b3fc147af616e0f94506635a758964b3e7cc067b80827db21dc87450fe1415ee41fca8a2b56b355fff13616622fd1a19a7cd98f5084610d1ac9f1b8a6e78cad9281a0afa5a7c2a9a87916710ec9c5b3544b76b4808d01399f219b745962536026c79841f11961b63c10c99074edbcb4ed786f7e8c3826609533e5bb4cb80f3e515299eb757c217da2806d26664f154c0cc2b4a644b224933502adf5a66f5b54cd45a71589219aac65be0623cf5b4c0df17e72cab64b91bfbd903d75e164e2a0c9e2c997f36a0b432177de617f5e6746bd82984bb9375b4a0a12e96d06045a3a984667d03d8c08cd980b59cb2b0983b13f9c53790fd43653e78255882f9b0c980ef6b062789332a6b67b2b78e9e370b78181531846b9980a8af905fef403f47b891a6b440ee71cc5d6bf3ba5c7b087a31123ab61ec9f2d0c89e1eaa7dac36613a15f147938d32673402164b001975d9c4a8ba5ce84d20b47f26eba5909183c6fe1343d062389b9b99cedd21e30d5841fb68f3450a47f4c4be5e8c413c37ea4d5ad629141d7430938158cd04492bba8aedf7477ed13a0b97c8217a300dfcb22de05449547626d21409f491098162d7ab477e3ebaf0e15124f449f08e47d8ec6847a0ac839bc5d237b3d509a8b5c44c8fb6705a467a3d4d9102ff2b6ed976ca9d856e9f257d5d586c7d8a4c2617dca73aaa65719a21538d9e6997c5637df8c5a2ab98a169a5ba8f708bba55f2c0a9463c9b4ef0c9822fa64ecc72c8bda4030157bde5073fae6a6e6f036121125dfc5a9dca1504a1225e6da9db4d0665f6413386153ae25be78b3410369bbdbd84a86c6c7bc924dd70005bec0c54e07b4adfa2daeb8265dd98bcb8968a2f683a3b07633aaa0290550665c01fdeb22398aba31140fa7494fd6a0087194673f51ac7d759d649a2fa4d7520fc67138f445287b681f5c3d1678b497129bc6624163e3515c8381e85c173d6a4cc0038dfc2064a213c557931e2e7138fa1a6bc3eaba08965bd803bd5759332cb1bbc4c41337bccca153905990970c261cf63a53204b6f8cb228d4234f08837425a82f1da9be43775df88a20a0381f70044c76b3524b437cf365cb131baa14ea6f24502336762c8e126afd009e1997b8b3bc20c246070df7b33bc9a7bdfa8ccd576925968915f186ca4a5a4934528dc75282e246b0824ef7118d39dc1f07449a218836d47cbb7365b677ec7d6222abaf33068b5730d9e674cc008125226cbc5382a76a9823db1b42976c5c90c23bc02eb7b874dff93699e6035a838b22a7126aa42d62682505f9bbc77143dca061f5c38e99652fc2e28e30ca8d62127af02186bd9c95602992e20baa636ab050ab870b11c52da19b3a68b7a07a8cfbe7bb016a2537e50464265ff6f065d7a8c30f659998a35d79032f887b4629d07bb2dc895f09ac0387cca9c5cd1aebc08a687798721f24ca43c2c5ad42d1b6641838efc2a72ef210bad10218846f25da336a4c00c4a29eac8a608f2261b8c76b18f10b7aba755771376dc7b876152f9fba5370262919511d4ad50d76aa5cd6566c29225dabb3b668608d9de5bac08320cfc3570a0ac8deb4bbf3d941f9325aaf546fc368af005caab7ac6a7dd70d90506ddbb5f53a83079aba0927bd52a68e278d3f01ac19eba6bd065fb6156acaac591f1bf3ce71c4a046be8c6c55eb9a84d29569bd2b144c73e279238a80dcfd7c992d84b2dffa67493e669243d4fa38c46b090bdf86bc548411 -m = 38c89bbe7145c29e9a831c11431eb9929cb24fb4992db20737e4687d397fd732 -ct = 8e4b06f53205eca407728fc67d6329388825377114da064425e780ee4f23c8cc01eb544dc02c70950c6f2193fbb7959e5459325514d1e76fec98adfda3cd84a8ff0ab0aac32a0e6c0d184d6b6ae5b020f3bcfa7612a8a8469e3b97cfda17bfa20080b493451dbc852e9b59055381c382c12b1d8ce94af1207408f2909e2bff4c38f7d244182441def635c7b46721161597105271deffb3eb435f596d88d3b60bf26eec93dac19bb52dc05605668d9789eed2cc785112ed45b098d7cb1e26feb3582fd505d933af94265b100c998a7850f3a58937e6b3ec8fa19f229021c5441b93fe82b7d20b23efacb18db8208a141844386daa9ce61be318b0b410ad2c3fee8b448c649908e282f9d172e62a507f26d1abe910d98edaea3e8429ce1144522bfb938bf0509ef0454dcc4db999aeb0f9ad283a3fdb5ec6bec935182faee081f8dc6d42cf9def8296f2c30a691a2ed84e759a8ee4f3ac8bc3498ad3f7b96c9140647e81339107f1614e0da2b0f53e0309f19e5fe6584c37f2931bb1bcf93b9ffbeb1a10b0835b27ab81672b2c2e65fe7d1b7f2c75b4247a8fd03f5bb18b0b45693495c5dfa4dc3c50fbca60347aa9463333ad7cf27743fee4e0c50d439834192e4f62cb29b3bf7c0cf222403149796916d4067f82bd26f00acedff40458fa66dcbea64a0c1f885812f505b120292487294d531c077c376d90489b70d51984e35b687c5da6a153564a31515cfb9e484ee16f2b0ee8910aefc2cf34e9328ba1da84f5fa671c4e043bbbc19c032e7a871a74a9bd5f2f3a9722465861e19646e6adceee098fd3356b6a7e356da59052c2dda1462cc1711c9b3162243e47e3bf45930d6f3313994fb1cda44c60c0871aa424c9796af27505d0b743d7aa1e2d5ea502301116fb607daf2039fd6ddb1a5fe4d5a6d53a32e7aadc7c7ae0e8ee23f8f55a8643eaac5a8fa38c1c631dc65f0ec02d3226a85092847aacb7c03a412bf89fb046606cb3b0c2af16712286fe4edae49fc7a0526b2be181c0074e62e2021a1f80651ec53a24e5b48f5fd20058eead3706e40fd8d9f9fe81212550425f2fbc3d2049035b267617696de3ee56a11b4f6b7d9bc0ee61d570799f7bda55065bda83a15a252b1f587628f9d082d9f969a776ded5eae9364bd9628c1fbd70cd288e515614adf9db015387ac8cf37ddb74c05080d993786642243b04f9dc44dee0ec2c396478f8a6bdf08a0174de3086a39fb0e555e159e862c997cefbf359395d4d1ef80002eab509144a619de33307411919a90e35168ae2953054e0d2cb5805653bd6a9de76cdea4078b46bf6bb631cfaaff55186f612f4a04b2a9884c9d15d5ce6964ddb3671f63059a5d38dd5e75db1606057a9fa272263aa2cfd17d7d09989cda1dca94b94b1fdc691e6e51d7ae2dfbbaa8d82cda242a98a78e84f4e3b5d8d9fe10d2503e25b9b3c6e0d9206310b7698ea3435b3a6aadac0795b5302a653aef8abe079e412a2b2182883f4b80b76ea49402d966add85d72f1dec212aa890d4cb7091 -ss = 387e023a733bba407f35d4456a9edec3922b151c3b49c67bf3541bbee5bda18b +sk = f75196a57024be817edc544dbd552f6b42ba121c2b8ea95e55017856a10c5905a8bb2590e63b449364802c6b438fc19eefc875017acf652a8f0d6ab0f7f5aca1f1833ed3551d37419d906d2b55123ec14d5f109abcd9382e990628bb30d882cca8665957346c3a08553c870d32f77e66348ca9dc321960b7d50b09de64178411439c021899f2b8c583762043a4508c3160544ed2264735c600a6ab43c8515532130583298a11450ae3b7c99ff559a1d33115dc2d2489934518bd52fba1cb9a019d918464b59cc90941599253957364dcca9f95a08035f8be5bd36db6b19f1f191a6e4b7fcd493b7a41c90bc76fe882aa0f3b39b6f454785c5dd1d106c80960bbe5846d90bcde837cd277a039dc22427b86a6658f97a60101665f3f69125445647f3bb2d3125c80d89aae6096a01c24902321933909a8a2925faa1e7407b3c90c8a53d958c1c83465e557ab620e53509ee8c960b3c547fea08d4ffa215742113ed9661b57ae1b30ba5768645c632de76b96161a9b6c34b8da48b75d176c2c849aad55c6680bd0863273c345c4c7379cf3f873fa5953f53b9a026a4dc120c96e279085566c7d090eba276a0928693e639b5564a59c08aeafd25915f5478dd86e938a11529bb9a2b0b83487c696e79f1fd034ef000fa502328184be42b8959d9c0683f3bc20e71902423ab14a4744e162f6a2b474dbc4a6f21fc0432ca7422cfb253d0f952be9c13125458df8753f5d551caa38bcca1625b533051c5226c8768335854e7477064320cb765ab9eb311a1859b4b5a006d918bd8508a971205e6902897cf95e0b652e09030794b46fcf7a784560c0a18b8e6334a57ec177ba56a8bb9a857013c6b9998975379bb04b540015a14a76c658f856becca363cb37997bb85b185aa0104063696f1020bd1b443419989798826e141a24a3533494391fa233cf848451cbd609d014508fe137534c42d6f22ed2cb82363c847865aa243ca993b14992572cbf5535845cc708bb09a1e8a7834c200d8036768755afab53aba85813eb859ee83efea7563ee4bc158599f0cb04033393c829aedbda289ed852e1eb1feda9484777051f967e048041ba3c313a1414d463cf3ec36801aaa1aa540deab122ab530ecaca30101a1089087311972b338b045a1637189020c3030e63f707feea9af844c7e1b20b4a5348c1a432f341bb9f598b8c0c2f6f55c4d2c2c22b187430748f82842daba92283dbc4bd20636b6754b20a7127f01fcfd4013a1155e4746dbf3ca1f34991fe7c39ed99bdf5760d39db8e6c428f2de8157be0139415aea96bcf6fab633f2257b582312d3c7acaf6a5f8e55ad699672160ca01246545059e58502e28199cd0f5505adcb91900a283f0b059f33d1a8b352010a3c815717fb3a9482c946df0c74a526353d5c9ecd2590c5050996393a02286841580ab599bfbc8838a53301bb11d5fd492af40ba26224505969d88f6b193ea42b0348954180e17124ec2c64b962a92aa9c3fe2d72f94301531c4aaf847243702bc8f9c37d64b54f20ac003b844c52417e1436d2e75ac09c313c83b8575e791a7c95d0412cc61521a6826997561485dec26ad7baa8e065e9a279add7301c5c74c5b95c1b6915ebe390596bab505e51b3fc147af616e0f94506635a758964b3e7cc067b80827db21dc87450fe1415ee41fca8a2b56b355fff13616622fd1a19a7cd98f5084610d1ac9f1b8a6e78cad9281a0afa5a7c2a9a87916710ec9c5b3544b76b4808d01399f219b745962536026c79841f11961b63c10c99074edbcb4ed786f7e8c3826609533e5bb4cb80f3e515299eb757c217da2806d26664f154c0cc2b4a644b224933502adf5a66f5b54cd45a71589219aac65be0623cf5b4c0df17e72cab64b91bfbd903d75e164e2a0c9e2c997f36a0b432177de617f5e6746bd82984bb9375b4a0a12e96d06045a3a984667d03d8c08cd980b59cb2b0983b13f9c53790fd43653e78255882f9b0c980ef6b062789332a6b67b2b78e9e370b78181531846b9980a8af905fef403f47b891a6b440ee71cc5d6bf3ba5c7b087a31123ab61ec9f2d0c89e1eaa7dac36613a15f147938d32673402164b001975d9c4a8ba5ce84d20b47f26eba5909183c6fe1343d062389b9b99cedd21e30d5841fb68f3450a47f4c4be5e8c413c37ea4d5ad629141d7430938158cd04492bba8aedf7477ed13a0b97c8217a300dfcb22de05449547626d21409f491098162d7ab477e3ebaf0e15124f449f08e47d8ec6847a0ac839bc5d237b3d509a8b5c44c8fb6705a467a3d4d9102ff2b6ed976ca9d856e9f257d5d586c7d8a4c2617dca73aaa65719a21538d9e6997c5637df8c5a2ab98a169a5ba8f708bba55f2c0a9463c9b4ef0c9822fa64ecc72c8bda4030157bde5073fae6a6e6f036121125dfc5a9dca1504a1225e6da9db4d0665f6413386153ae25be78b3410369bbdbd84a86c6c7bc924dd70005bec0c54e07b4adfa2daeb8265dd98bcb8968a2f683a3b07633aaa0290550665c01fdeb22398aba31140fa7494fd6a0087194673f51ac7d759d649a2fa4d7520fc67138f445287b681f5c3d1678b497129bc6624163e3515c8381e85c173d6a4cc0038dfc2064a213c557931e2e7138fa1a6bc3eaba08965bd803bd5759332cb1bbc4c41337bccca153905990970c261cf63a53204b6f8cb228d4234f08837425a82f1da9be43775df88a20a0381f70044c76b3524b437cf365cb131baa14ea6f24502336762c8e126afd009e1997b8b3bc20c246070df7b33bc9a7bdfa8ccd576925968915f186ca4a5a4934528dc75282e246b0824ef7118d39dc1f07449a218836d47cbb7365b677ec7d6222abaf33068b5730d9e674cc008125226cbc5382a76a9823db1b42976c5c90c23bc02eb7b874dff93699e6035a838b22a7126aa42d62682505f9bbc77143dca061f5c38e99652fc2e28e30ca8d62127af02186bd9c95602992e20baa636ab050ab870b11c52da19b3a68b7a07a8cfbe7bb016a2537e50464265ff6f065d7a8c30f659998a35d79032f887b4629d07bb2dc895f09ac0387cca9c5cd1aebc08a687798721f24ca43c2c5ad42d1b6641838efc2a72ef210bad10218846f25da336a4c00c4a29eac8a608f2261b8c76b18f10b7aba755771376dc7b876152f9fba5370262919511d4ad50d76aa5cd6566c29225dabb3b668608d9de5bac08320cfc3570a0ac8deb4bbf3d941f9325aaf546fc368af005caab7ac6a7dd70d90506ddbb5f53a83079aba0927bd52a68e278d3f01ac19eba6bd065fb6156acaac591f1bf3ce71c4a046be8c6c55eb9a84d29569bd2b144c73e2ba2de5dd570e201786cbfd5d27020b649b011455909aaf0ad6d92c1b4bb1f8db +m = 2f349ae0ca4e08e2a8ce5d568829cbaa2150b69d13fff8a46711b0f5dcd770cc +ct = 529208240ac2078f870f1753133aa73535ca88a448325df579556d6e05a95e699f786c7ca0ec268f8b235f218361905dd360b97610a467151dfff1475cc773c98c9a0db4853db954d5f1e6d6718824697bbcb3db99758683e0193abb88652c2d01f2778edd59f1ca74b6b3834d0b07fbc9a543206a5076e65dfe97d24ff4fd4084c98f754109ee935e14537f5acdce7cf3d765cb7a605cdc37d9c0c3ab3499f14a7f5021300ecd0afdb6b2452af961cbbc3517fa2aa8c654a0d4e8682279b664a2638f4d041fbb70f99e3af9766363caefbf4188d8e941758d8aa323885acbcbec335b847dc077f0b1c5a548787fc553db89bcab6f3f36d9e1d39e71be36675e8b8044584058930bb8c9833b3ab56922b5cec35cd3fe33d820ceeae7cfc9234df037ee7e132af5a41e3cd614b3f218a85146e281360dd700c361d578d66eec4818a77e2a78cfb9d4b9f82c0daf305d7b696985cde24444b353f399adb9b5122b1e0ddde0d56f6fc4b2abfe010ad093213ef78ad8bf26f07c5c54750f015f85ae05bc69ec61daae0189d71e3f954806ad3e5aea17d144f8ab339bfc6620130da3c5bec94b8f6951f718e5781d419b1c1efaf49b46ef2cf98db938e7987a75fc31fbe5bc1925dff710e670a57e60710f0fe51f92cda6a982b172de9ea6c696657737bd8572464f134b8dc6f5a396b6baa8336c2681da0be70687f5556efc8664f468a9e462048781e98b3692acaab755b3b9f394dda35d0ac4c4f98fdd24c32926d6c63740d3790020f9fa85080bc50bc6bd95141e638adf4abe13bcbf74523c64b95cfcd3b212ed444aa3f6f948138400eb020e16ff4ba82f3d970a68c5dee84f75f3e548873369cf5aff2a4f286894d3b25d933afee9042c3026c29299505318c1ed38c47d8c4d1dc8dc06225bc2e6fc9c4cd8f15841495ef6f99d999d5a46605e5750df588968aa11829455c7e42625e053c83147787de17846d918b441177279452e5d1ba56f3f2e30e558a8e9773701c201e05f6caf4176933b79e023df50954741f545186174147550963d7de34369361a7df8157775c22736283358db6cb349369449ea9a054ccddbc68cf98d8a39b90b76de7c1c38895c035c62d76e4cc3c5823282e47d43b83778b7dcbbda7537bc7812f9e5160a5e782e6b0b6216c78feb46571270045736899ff5c37c20d585508a0fe902b2a4474174743c0eb47a5dfb898e99197fbc1265b2e4659bbe097c75839abc238e6bde6964291725156a4971283f2df95f224465577a0d42ae815b1884471fc109962b14196bce3d5716f63cd7e34d85e6f68336d011a2a0de963c7b659c7624639cb837c5f36267343bcb2d612de5b067409399fb7c44bf79e4ee0a29793386d5e81c319981f82f5a5267c657139be3787ddd597757dba794a10fae02a660892502d435fc18e127db67e66851cb1b7298074e4782fbe635a6d93275afdf74bb68869fb3653282839ad229c0120e7fede6e6716e932f8eefc86f838a44e4e4b45fb35a57e0f276ea7f2f +ss = ac21234f79f757260908ea2ea4fa4d4191fca2fbe292d8ed71932142c11ee11c d = a1b52d871612a1c611ae0944f9e71858f35d3bd14f20e96a931720668bdf0a6b -z = 1f135cf64b6403e103afae34da038613e2853bbfc36baafa3c6a95347193f37c +z = f25f42aaa0d647322bd837cb730af6082d2fa2d17bd63b162b36839fcc2df0c5 pk = 99315a88d083bf5196f65cca4541bd4ce3526e514dccaa8ed176ba58014bd0ac486056240ce06c6c182040606dd98978d6cba367eb0ec18401ed348743780ddbd277f2ba22e1b34208f215f8f91a048ca497ec37a7663587ac85f221810e64acf87478a101062535287250907d0854b93a9d4bb39cd5788be361c00faa87bbe078b26353a51b7bdba58d17e5496efb263df826a59296a13535abd799cb931fa5886e35476dfff97e82870653d5c4ba09c2658a9a22838ba0c6aaa4ab7b19699b8b27243c42634045506762ab1817534f419591b04622c650b828b3d4a66d9b163d09847bd172ba8ff452759184c07b11183665c0185e0a089c957135dce64bda52338b6492a27a1238aa567f017dffa796de84532fd5bec8fa800ff4c5e34791cc5aa02901b73885557cba188f72ab5a35b489e98ab377691033934029118a34af7d176a436139aab3ac127a8f510c8719936e8676caac2211c8292a42f274c7fa85c542b21422c5790079f34a26f0678c005818bf4981a2b4c7db780c0bd43ad55c0acdf1ae0e0761d7527813076f3174a1d49c74659a453e09c2b4468de6f185d5f3c04f2b7e59e05317586e743285e6817283ca11faab44271a4667912df262c0c03843730acc24e80e2ee0251cca86a83853e6251e3036714576b1c171a112e7a15ca215f63039aaa7632ec77880b89ef8a45cb0b3746202ace1d7221fc98afb73a28a6ac2ae443f16e6072d6b3da1a3be5fac533a9175a5f176fe131f021795f8880d320c6096ab63f53525d01b32a2ca90e1a9138e4ca72502785976bee4e566dc0cc1f3827733b0a7d00cb58b6b89c5e26d2da00429a2450e269da77c46b5c954cee6bdc0339ba357a9b9951802a255b74a4f4ca1297d124056147a0f8123eb903071546d2c22723367308601a22f199f9588734fe1241450a45fd7395df965f46574a030581cc714a50c08da03a51b367b524a2ee4e56752db9b66d9c6b07702ec23bcef798d68300859383c5baca9d8f08b71409ae5552209b5237e697ba55328a1693af7fa0ba27020de2c35f643514db292c061c8e2085d06c101644c94d17c07560811c093afe61c6b4ffb970382ce9fd25f76c6728108842b3841dbbac62504185edc32dfb817c45878189a7ac02859eca77ab445797e030e910243b121a859a05d8caa3c32fa54d033714d20a771c7cca73999f6d91d4db4683a9543d3c978f1d56816d75590642cd4aa7d9e9c709c6cb5aea8832d7c84c576afbc837b6615b8290078e2c0ac9a8ccfa8338b36649b9f7c41d0064dca53b8fa1793cbdc8f7b75306f19c4127a214e5532884274646b91f49a1e36a3b42cfb90b27425d2645c5acc2482289d0b4b84a6359007f23b9f528718e6c499590d6bb2a5bb674e89561ab1a48e3988927ac41d05ba143799214701b2f6d708d365be84baa60df8bf7d969a425c93452a0277f218790c80c60b4b59fc6131e7865d1135ac84a6655507c1d98f6665c932093d61fa578e7acbfdf49f2e15c138bab4152c005ecc44fec299094a285ff50b09388b6ac3972911cfb8ecc9f0ea58761741ed23ce16fc02af5a341f65043f0802c0353d987c718fb72d3d922cdc861bb6a8ae003197c8f9c878a367c021db7e9273fe2e03a2716683dab6caed5c770f6e7984 -sk = f8fb5ba9d24c8681558cd13593f0cebb335b6f65bd5dda6de6d19e09f15165051f981ac6472b263cec43883a79149707093066fc129ae148b04f860c2df119f8a51056eaa5dfd89bfc564226e56dc391ade1cc2a1df58edd4572c5a147bbe21283b97f1b213bc276a471b63a7df1cdc86c7a69a34ed17a425b37aef969c1cd079529ba29a2e2c3412c5615e23523f3124c00c778752bb9b3677b90885cc21b0e257bb7f335fd53928b737d19da3b3208219e6c898e96b45f801135a09a1425a0986c597e2b4042c1a4e6d7a4d0e30e729c73f2bbbe85b579c3c13a34344a7403b95d425936486c3b602804c08ef6f5ab22c400b9523ea3345abfe666023bce6a1b63a872c33e3aaf0ccac2c40a4d5a48107d0c7ab09001ea67ca6f4c1fa7137d259c860d032c396bcbcb4177f82439852463b640855ce604f91c8f2e4a0899b2102c6059dc077d5ee6054355c546c2148077b8defbc313c71f1a420dace126b16c21e40064e2522f9e224cc8e3526b1a99a2f4a81efc2dd3609043246d461c7c1af025b56a9c7e72adea57584cf044c2f0bb60352c32400d1631c034572ee46b71edbc0334031aed7bc26af543028c3918109da52a6abf3217a2219c0607ba9edab5b4daad5ec7948393c4a670c340688541aa713b596843e5ccb9616b54e92610539bfd39159fab36d4928ee9cc8b1291ac0134257e242faeb595100ac113ac416ff517866021b550b6d063512dc37477117d025964c95c13535c2f09a96740037fe1846efec4446ec03f93fa6b6fd8b539f0196444a61823b08cb74b7520618c08324f0667f142beb3a34c2c5286b3d159fce3b046079f07e558ba28a8893a8c94f9711c227fac6900114c8bb6aa5369b059dbbca008482a1843b62a1b06c68c6b2f40bac6f02b6cac1633055a178a396ef35f59f1a76543953d3b07e2b8be217c5d5b1a82f9c080f4119d22275958026280bb8c96626c1d0baea6658a29546e09418aaf85a121f8647cb4789484bee0189b9ab10852c397a2e25b9b15b71ef17440dc3554db740289ba05111979614aedcca79699021f4bc3a4c68b39d0256d88cdd7a24e3ac31dac35388720671a12a765d705f8429d0891c3e0d8062ad45a0b882bc53016dfb007d1c550998963d7e12fa51c7361d86156ea3a8ad7018c627a9ea18f9d3787ab3b88a27b3f9443aa87ab75eb1364a4c66c50e8170892a08fd15cf2913749d0c61305c4de45a1ba2550009726a0873c70049705009dc8327be3610f61f9bc60a26d14dc0c3e67cdae4b5ac0d5a0638804d6c6b4ceb351f0c19f0974324cfa28fab704b4677aa3f2bf65686c22100b74cb9ab5f7215452cbe8d6909754304573a9314b3c8362cfc34c6302b3cbd5dc482e76576fc5900b367016c03a860a88744928cae55413231ca8a5008d210cd2e317d1bb6bc8624ecb83002e66092d8aa77fa0c6766532178a8cfb532c70f1114e5156e91486c3c7658e2a22cf0a77873c944a5a4bd70ba1686146e18b328d30813c9850c3003698c5afa2082b3425c785200596592fbfd7b2ad5568f9d278fa24c523251bfc966a69ca882e707426563d2e099295305fe2e2a96f968a92e9423dc4a1f6662f68299899315a88d083bf5196f65cca4541bd4ce3526e514dccaa8ed176ba58014bd0ac486056240ce06c6c182040606dd98978d6cba367eb0ec18401ed348743780ddbd277f2ba22e1b34208f215f8f91a048ca497ec37a7663587ac85f221810e64acf87478a101062535287250907d0854b93a9d4bb39cd5788be361c00faa87bbe078b26353a51b7bdba58d17e5496efb263df826a59296a13535abd799cb931fa5886e35476dfff97e82870653d5c4ba09c2658a9a22838ba0c6aaa4ab7b19699b8b27243c42634045506762ab1817534f419591b04622c650b828b3d4a66d9b163d09847bd172ba8ff452759184c07b11183665c0185e0a089c957135dce64bda52338b6492a27a1238aa567f017dffa796de84532fd5bec8fa800ff4c5e34791cc5aa02901b73885557cba188f72ab5a35b489e98ab377691033934029118a34af7d176a436139aab3ac127a8f510c8719936e8676caac2211c8292a42f274c7fa85c542b21422c5790079f34a26f0678c005818bf4981a2b4c7db780c0bd43ad55c0acdf1ae0e0761d7527813076f3174a1d49c74659a453e09c2b4468de6f185d5f3c04f2b7e59e05317586e743285e6817283ca11faab44271a4667912df262c0c03843730acc24e80e2ee0251cca86a83853e6251e3036714576b1c171a112e7a15ca215f63039aaa7632ec77880b89ef8a45cb0b3746202ace1d7221fc98afb73a28a6ac2ae443f16e6072d6b3da1a3be5fac533a9175a5f176fe131f021795f8880d320c6096ab63f53525d01b32a2ca90e1a9138e4ca72502785976bee4e566dc0cc1f3827733b0a7d00cb58b6b89c5e26d2da00429a2450e269da77c46b5c954cee6bdc0339ba357a9b9951802a255b74a4f4ca1297d124056147a0f8123eb903071546d2c22723367308601a22f199f9588734fe1241450a45fd7395df965f46574a030581cc714a50c08da03a51b367b524a2ee4e56752db9b66d9c6b07702ec23bcef798d68300859383c5baca9d8f08b71409ae5552209b5237e697ba55328a1693af7fa0ba27020de2c35f643514db292c061c8e2085d06c101644c94d17c07560811c093afe61c6b4ffb970382ce9fd25f76c6728108842b3841dbbac62504185edc32dfb817c45878189a7ac02859eca77ab445797e030e910243b121a859a05d8caa3c32fa54d033714d20a771c7cca73999f6d91d4db4683a9543d3c978f1d56816d75590642cd4aa7d9e9c709c6cb5aea8832d7c84c576afbc837b6615b8290078e2c0ac9a8ccfa8338b36649b9f7c41d0064dca53b8fa1793cbdc8f7b75306f19c4127a214e5532884274646b91f49a1e36a3b42cfb90b27425d2645c5acc2482289d0b4b84a6359007f23b9f528718e6c499590d6bb2a5bb674e89561ab1a48e3988927ac41d05ba143799214701b2f6d708d365be84baa60df8bf7d969a425c93452a0277f218790c80c60b4b59fc6131e7865d1135ac84a6655507c1d98f6665c932093d61fa578e7acbfdf49f2e15c138bab4152c005ecc44fec299094a285ff50b09388b6ac3972911cfb8ecc9f0ea58761741ed23ce16fc02af5a341f65043f0802c0353d987c718fb72d3d922cdc861bb6a8ae003197c8f9c878a367c021db7e9273fe2e03a2716683dab6caed5c770f6e7984ced77d358342759291c2bd225b0bd82d659d28a24bbc5eda8f47975b780cd1291f135cf64b6403e103afae34da038613e2853bbfc36baafa3c6a95347193f37c -m = b2c35e33c72d90182791f0e12a0324f5b216efcab2c8da1bee025dfbe13f4152 -ct = d3327e35289a936a09cdd9b5fa00bfd73b28ffcb330e1cb018ec9970feb3ca6ec7fba6f9f8eaecddd84b38c52bb98519e52fd7f7b91249c091c7543c142f0898d489f811bcc6f6a8ecc355c1957fe73e8adfaadef10495ae5dae171dea5965c3f303d9b731a5579089b1c99edb32bb02bec73304cc2f3677571fda0be46a90d36cb6a2f3dcebfd7041acb2ee2110676ecceeebdf2ea834765d9984bb335ae06caad76dfcd95d385e91c63d18702989b8c739f59b129bbf421fba018e04b96f5ff08e7c05498681e129a1d84c378dabbe83e9b7eea55ae4bdd1fe7b5544f6328e82899777e2cf76a4b23b6df71f76a8f0475b4a587d8a0b8d12ff0b76cb59baa831f6f7901887fde2cf58b0661016faf6ba44cada98ab984a7bcbe8448c86b1e7e1e21873b034e0abbc0a9c77bedd69fa62278c41a08c83ad8b3e3efc601595860e6ed1a1e4ea6382cb92009cc15cefe8095604250593032f1e4f4564faa616191ecfd79f8dae40e7831c7b23db7789d9d3270ada144cba1938d6fdcb1edb624d8dde05cf82e13f422c05883b6efd9e0ebe538e3d7d6348b205db5d282af9d77aafa42152ee11f58e2773e2666cfb3582c24f86eb8b20353231f5c2a5e91fbe2e40351d48df2c7207ff2e77ad345df3a79371e8d5a0708967a979c9114a887d52af199ec2445cd21478876d097a0cc4212136aa12099fc59d6e2296c4faec109516c8464889de22cba68dd230baa33a544c8a01ee58ca60d3199e90b9e2e262c68fabb8e255cff75dd4280ab779ded376751473de107cd1499c85d2b5876a4e0284406140692b4f1620bc945f737557ef3ecc54cdf0833d7a7e5085feda3275c991b533dfb25603826c88dfb0eba60a709d3aa4aa69b5c04d455257f9053cd2769161281d6b5c60ef7ef10d10a1d7ba229b667aa9fa7beca9729edb18a166d991b57b15b1139f63b25bdb1beff61b38ecec8dcbdbc984cc164d92e6a418f625b59ee736b66c154f9acdc5b30fc3105e87cb2ff8acc4a85aafb2042c0f34c1d04cee54387251d89aab11a12953be99960a5fc9ac1d384fee498ff315531f50a7d6d4eb58814e224569ade954316eda1c2eea60a39a97361547f82d7971bf27d5ee092ba1ed514552361ae54616d1007c7688fbeac04ad4e3b9da9b96abd4d3a5284e008779297a01234d8c2a51727d9c8ce9715882a948a3b93b87efa6c9821d439accbe562d00ea6298b304795606dec5aff0590e55516c9a8be95e5f2d9b5ab426b294d75a0f689f8ce080cf01080fa1f1712ec169508bb7c49bd8d3f65fb12028437c524c5bdb1a72062d7d4928595b55e86787469b81d4beb8a0061150a7465d36ec838249ad80d55e6f7b5eb92c62d381093965bdfd3810050a43e7539d556fb4c835c5e4ac6156bcc5e97ca5f85617448822eb529ff1f794c8fda9e5d222c1be8a3b68af5fac61cda9996ea1e6b4394e9f7bd74a70c7a766cdead893673f7c2b54d077bcbaff31539cb9836792149c563e52b1d08ef2748515781237c8a6 -ss = 4d91655d2bd77339bb81f82916a1a77329071b3919cfb35cc1d1655c2da5a2f7 +sk = f8fb5ba9d24c8681558cd13593f0cebb335b6f65bd5dda6de6d19e09f15165051f981ac6472b263cec43883a79149707093066fc129ae148b04f860c2df119f8a51056eaa5dfd89bfc564226e56dc391ade1cc2a1df58edd4572c5a147bbe21283b97f1b213bc276a471b63a7df1cdc86c7a69a34ed17a425b37aef969c1cd079529ba29a2e2c3412c5615e23523f3124c00c778752bb9b3677b90885cc21b0e257bb7f335fd53928b737d19da3b3208219e6c898e96b45f801135a09a1425a0986c597e2b4042c1a4e6d7a4d0e30e729c73f2bbbe85b579c3c13a34344a7403b95d425936486c3b602804c08ef6f5ab22c400b9523ea3345abfe666023bce6a1b63a872c33e3aaf0ccac2c40a4d5a48107d0c7ab09001ea67ca6f4c1fa7137d259c860d032c396bcbcb4177f82439852463b640855ce604f91c8f2e4a0899b2102c6059dc077d5ee6054355c546c2148077b8defbc313c71f1a420dace126b16c21e40064e2522f9e224cc8e3526b1a99a2f4a81efc2dd3609043246d461c7c1af025b56a9c7e72adea57584cf044c2f0bb60352c32400d1631c034572ee46b71edbc0334031aed7bc26af543028c3918109da52a6abf3217a2219c0607ba9edab5b4daad5ec7948393c4a670c340688541aa713b596843e5ccb9616b54e92610539bfd39159fab36d4928ee9cc8b1291ac0134257e242faeb595100ac113ac416ff517866021b550b6d063512dc37477117d025964c95c13535c2f09a96740037fe1846efec4446ec03f93fa6b6fd8b539f0196444a61823b08cb74b7520618c08324f0667f142beb3a34c2c5286b3d159fce3b046079f07e558ba28a8893a8c94f9711c227fac6900114c8bb6aa5369b059dbbca008482a1843b62a1b06c68c6b2f40bac6f02b6cac1633055a178a396ef35f59f1a76543953d3b07e2b8be217c5d5b1a82f9c080f4119d22275958026280bb8c96626c1d0baea6658a29546e09418aaf85a121f8647cb4789484bee0189b9ab10852c397a2e25b9b15b71ef17440dc3554db740289ba05111979614aedcca79699021f4bc3a4c68b39d0256d88cdd7a24e3ac31dac35388720671a12a765d705f8429d0891c3e0d8062ad45a0b882bc53016dfb007d1c550998963d7e12fa51c7361d86156ea3a8ad7018c627a9ea18f9d3787ab3b88a27b3f9443aa87ab75eb1364a4c66c50e8170892a08fd15cf2913749d0c61305c4de45a1ba2550009726a0873c70049705009dc8327be3610f61f9bc60a26d14dc0c3e67cdae4b5ac0d5a0638804d6c6b4ceb351f0c19f0974324cfa28fab704b4677aa3f2bf65686c22100b74cb9ab5f7215452cbe8d6909754304573a9314b3c8362cfc34c6302b3cbd5dc482e76576fc5900b367016c03a860a88744928cae55413231ca8a5008d210cd2e317d1bb6bc8624ecb83002e66092d8aa77fa0c6766532178a8cfb532c70f1114e5156e91486c3c7658e2a22cf0a77873c944a5a4bd70ba1686146e18b328d30813c9850c3003698c5afa2082b3425c785200596592fbfd7b2ad5568f9d278fa24c523251bfc966a69ca882e707426563d2e099295305fe2e2a96f968a92e9423dc4a1f6662f68299899315a88d083bf5196f65cca4541bd4ce3526e514dccaa8ed176ba58014bd0ac486056240ce06c6c182040606dd98978d6cba367eb0ec18401ed348743780ddbd277f2ba22e1b34208f215f8f91a048ca497ec37a7663587ac85f221810e64acf87478a101062535287250907d0854b93a9d4bb39cd5788be361c00faa87bbe078b26353a51b7bdba58d17e5496efb263df826a59296a13535abd799cb931fa5886e35476dfff97e82870653d5c4ba09c2658a9a22838ba0c6aaa4ab7b19699b8b27243c42634045506762ab1817534f419591b04622c650b828b3d4a66d9b163d09847bd172ba8ff452759184c07b11183665c0185e0a089c957135dce64bda52338b6492a27a1238aa567f017dffa796de84532fd5bec8fa800ff4c5e34791cc5aa02901b73885557cba188f72ab5a35b489e98ab377691033934029118a34af7d176a436139aab3ac127a8f510c8719936e8676caac2211c8292a42f274c7fa85c542b21422c5790079f34a26f0678c005818bf4981a2b4c7db780c0bd43ad55c0acdf1ae0e0761d7527813076f3174a1d49c74659a453e09c2b4468de6f185d5f3c04f2b7e59e05317586e743285e6817283ca11faab44271a4667912df262c0c03843730acc24e80e2ee0251cca86a83853e6251e3036714576b1c171a112e7a15ca215f63039aaa7632ec77880b89ef8a45cb0b3746202ace1d7221fc98afb73a28a6ac2ae443f16e6072d6b3da1a3be5fac533a9175a5f176fe131f021795f8880d320c6096ab63f53525d01b32a2ca90e1a9138e4ca72502785976bee4e566dc0cc1f3827733b0a7d00cb58b6b89c5e26d2da00429a2450e269da77c46b5c954cee6bdc0339ba357a9b9951802a255b74a4f4ca1297d124056147a0f8123eb903071546d2c22723367308601a22f199f9588734fe1241450a45fd7395df965f46574a030581cc714a50c08da03a51b367b524a2ee4e56752db9b66d9c6b07702ec23bcef798d68300859383c5baca9d8f08b71409ae5552209b5237e697ba55328a1693af7fa0ba27020de2c35f643514db292c061c8e2085d06c101644c94d17c07560811c093afe61c6b4ffb970382ce9fd25f76c6728108842b3841dbbac62504185edc32dfb817c45878189a7ac02859eca77ab445797e030e910243b121a859a05d8caa3c32fa54d033714d20a771c7cca73999f6d91d4db4683a9543d3c978f1d56816d75590642cd4aa7d9e9c709c6cb5aea8832d7c84c576afbc837b6615b8290078e2c0ac9a8ccfa8338b36649b9f7c41d0064dca53b8fa1793cbdc8f7b75306f19c4127a214e5532884274646b91f49a1e36a3b42cfb90b27425d2645c5acc2482289d0b4b84a6359007f23b9f528718e6c499590d6bb2a5bb674e89561ab1a48e3988927ac41d05ba143799214701b2f6d708d365be84baa60df8bf7d969a425c93452a0277f218790c80c60b4b59fc6131e7865d1135ac84a6655507c1d98f6665c932093d61fa578e7acbfdf49f2e15c138bab4152c005ecc44fec299094a285ff50b09388b6ac3972911cfb8ecc9f0ea58761741ed23ce16fc02af5a341f65043f0802c0353d987c718fb72d3d922cdc861bb6a8ae003197c8f9c878a367c021db7e9273fe2e03a2716683dab6caed5c770f6e7984ced77d358342759291c2bd225b0bd82d659d28a24bbc5eda8f47975b780cd129f25f42aaa0d647322bd837cb730af6082d2fa2d17bd63b162b36839fcc2df0c5 +m = 525f15e526198acd1d2b0ba0886071e482866312cdfdef01c20eb2935c28ec84 +ct = fd3eeb777fd22ec4142689a7c6637682fffb460eab0c2c59f43da72b974df092c9f0dbf9a32a86b1f13d4cde67cccb6212d51552160f0ccacb47624c8e298c7f079d899b685ab6cc0690dd6788b62c1f8e28577b6b2b34e5cf1e5f447e578206e5ffcae60bbd5ae9bcbd23e7841a0c6d43a91b4defea13875394806066eaa926751055afa88c111dd59e5500e3c5e1beec91b4f241ddb27da0b2e37cc4842293999c86e1440c87a71afafbcccd407191a328227f7e25f033518d13dfb09de28dbd757261c2866f628ad54fd7c17ddcbfec78d34bdac4ebaf824df5dfdf6a740df1ae2f0e211426e7a21bd7add8389ba6de7354b8892f78db7d33c1e3c6cb141eb835710828e22109c1e26c991bf0b8daa3d58601830d91fdf25968567b931fbab73ac7da59e2e8529f64d597f10977a96a81f5e171a96562f124c17f99b102f4be9c49dcd89637c7d2663bf377dca4ee850b887e20baa8ca4a0220786562a8944be343aa4b603c442e04965a4c86a49b90b0039f04d93068ccfb461e692a83424a5fc7c0974c0fc495a7fb52840efaf585088925a89ffbd4c66dbe26190399ccd6069d1933ce9b889b04afab2198466f3758130a83975915e84eb8553258bea90c4715f6b3f05c81561644ce27d4b832e1db458ee882eac9249fea0c79b85b467507859f043be1089dbabcffc8e823340849942530896c5f2763dfa9694277856b2db01c37b336cf8e14b0c8ccc3a07d349a361d09fc2466389e264e8a51b792352df1a4ba9892f48513094b4de3a3a1824f216992ac3f518f01acf61b68dfaf2548d36148c6e3d46ced0c5968c1ebd739b4be2995d81a5b4aa342f862656efb0d552091aa143dd34513dcde45b72c71ecdfbef865bf433f96aa4e5d258d1aa0693afef12c1fbd39f3697dc1e569935a43b709827618a1b3c5ade512b5e55a9641bd5a7e0fd58a3adfd068e822c766428ad52acac95f4b1f73fdb4b1319f7f2c60d123761642999017b8e05d5844c80108eae3e66198dff68829880b0602a755ea21226cd578196c920db5bfe8d6214035b686aae1fee37e2a28faaf1887d2dd0028bbb05be814e908ff956a83c2342f37b05c48fd032951d59077e1c6bd0df666865445a938da403c9b8638a0f38b16a0f1985251495255d8980925ba4c1b98dc91fa841ccd154df23d7092f4158c4b473364fc22d197a21451471d8258015229ea4e3b11a8c389809e05348e5b2f436c29b274b2ee63ef07c2c602f88ce4c2e1036c9d25e737997b08f7ecbed91dc49025663fda8b600110f77ea197449bb21ec1e21794a6a77e4fad1c9d146c6b02ee8e9ac13f5255b863964cd5f2fce1ef57d4913ea16413918c6511852926da90b864092c10fe08a1cfd7d6864dd429c408e960b6381c22c3716b11a02d1833900efb482e7f376455f017995089d85990a6d471ad19eeb25f5db622ff1cba8b66685f2eec2fbebc7cd95aace9123b1daac526589feb058db50e97737bcca785fd6da85b382965a33d3798e7dd91474188 +ss = 5299f08547b1a22cd97c0d9c055049d66f61cf38b391b0489232215b602f5d91 d = 952b49c803d6d6fba69f4375adce8594847a00bcae2179da49af2aed04232502 -z = 62d7033947ae42ca53522a65fbafe18d3bc3e0cb66164e9a094fe4b44d8977ed +z = 23da505ea48a79eb504eeaddf7d19d736f39a46c837f2a0c2bf3fb876ed8e6bf pk = 2e7240107059c16c3eacf4a1a8342b73911db6a51d3cf12bb168229a1b29f7c334d0d1ad99932f21babfd8153bae937fdd2393d9748518f12689ca7627a1041d868094aa7440c6724b4430ebd20776b602940c9d1fcb5a109978573434da891962b645002508e46992c0c148f5a039609826baf5834ba7271c443b69dc5110c4b7089068d16202cbab2e1e4525738a19c8315fae806fd139be91f4c1e192a2c04983291340dad4018a8a83c27a57c622408f933a51b7618148b16375a80e0a901f10aaf6e7803cb2a693abcd4ca8bafb942086f42f6b743937098e3d2a607f212f766603c9d89accf7ac584491f230bb1108b1465b865f824215d79fed2525d7e95c7976946e22a9e6510afa2a9e8af29ddb65c47be8820561661050b70ef3b7bb249b7fd0cedd688c37d7a3de667626c2b389b38be066089405703bd51fa32199e9c83d5265bd62a2aa2ce521b69973a18777e32151d3d5ba1983c8659a79ac978ffa15ceab733b49ea8f7a853d4b06cafdfc64c9d00e55d814536171496037036a078d026164d7b07e3277b7ecaa770b06dd291b9ad29241c3bb43553bccf66a1dd81fe2e2bf79f1a21e1539d0bc517a9ba8ede2c39deac4cdb7c65ff96048461ba2e350017095a35c1bfa25c242b000affc8af29495a2d349133c343d680eea815cdcd89c4fc283cd5136b89abd473b4aefe2228f4cba5e0c10ec7a1083833735f081034aa7bbf20c11319ca263b52262096e505c45805e73619e2ceb242e559883d20dddd4120f0c9e49f4995376284147cc2d2a96a046bdb3f56b6dc1889976ae1ed732eba43af5941831b2202d6091c16b680001a82d98ccccec212b79b5a884756c75cb2545316fc072d903c670864d5a13534e545d836276ee594d3a7841e5f91d6b738d97e73a7274671d6470cd2719b0515fdd67c6e4969ad213254502c5ac9ba23c264a375237369b46d0c45745041a20511459d3321ee9b395978f2c575ebe1c6caed03afc7027bc457e03f527b0ccbaec71850e0955f0a2b54d9bce69b6c8fbf90850168adac411ad5c973b578424c55ce01b3ec2825b0085232469968b8a96fe7b9f26846f789323a15aae6397242a712cd26b0465bc038a4aa30dac42c0036c062c21c3a4178a0c92b8992cbd54a6044b789d943f1eabb0bb24c3d0d4c067251779374579b27c84fb435e6c745334485fba84676750a27c520f79366d008e4be93fe8a958e8d06b8ec323bfd5bd01e86b1f13302eb17aa3aa8fdb3445ae5775111b2124e2a35021c04945661b2c510a29264ad855836c7d8eabc069011f8814934bb4b32176c0b59b04c5fb6cdbc8bc41b0bcfef4423635c0c7ac43e4d5286c74920ef37c951266b92074d239b2bd0a0d6c096141fb6a718a213a3387d75b927ce176169738abe0cfa6b68d3b064157c3cb03c5793a7400c1960351b059e43a7f1b28ae5073780cc606f7e40aeb458dbe95a31c23af7e760001b0bd601647ad1805c4329e46f490575ca928fa908b5a30fd31520c61c9f1cc5ef18578b350a929164de33b008338180ce41c45327152090a91b8c9b3928c2629a48d78abd1992720e841a52ca91a15a1c7953d18b4ba1f990af34ca408ba2d449f94385651c3b4c0503726cafa118167110e848fbed995526b458d362061a1 -sk = 5b47b61ce23572623c431a498e378c6b71a5cdccb58e225310217f6f2b1b7140b97349b965d9c95332a66d7a9879f24c479851a0ea485254755db347bff9a06d00502ae3a910c06771aacc0a51add07a291496ac10e2899b6562dcda7b6b9b7eb516335d222c43498859d87a44cb8ad589a06e609fc5798ca06744051533d5c6154608c790a8abd776cbd2984b57e1cf4e0638c77915dd89249d3c0775b45cc159b44bd32f49a51a1e398763e35dbf5c6ccb100929c9b91047a1ab98a140e00f77f5076310c33179a8c80449591c4156c244eb8c8b3009328139c18f8c59e1961a2b91c840d552c2e4b3897265b16c28de6abb72d218ef713a1d179cea38561663c9bf21b68166aaa45748316877a9a5bed6f5230d3015193aa5a9e1b34dc6576b57692b543fff321b14879a24728de3d6a297c06ac6cb28ec3482da708abab28fa815272624af6e26a879f65c6432812470c52de01edce20681db43a967069dc9bb34f9c540a21b8d7322a3675fee059f5f655cfc480ba31255e899c48a7c25588303d67055434702ecca24d31a9d69796df408328912ada084ab122c6ac53c3c349c105270c9aeac73923614ea9129ce4c9fd8d78bd33045d8557ad3d0a698b34a7c073b93783670662f8558375647747905402a6aabd1698d1d3b430ce8b5ee8665771a34ca73b2dee04497c997c9e74044230690354b7af23bd94aa02cf599554391095c0d53f5c1db19ac33189b2b9aa3c48bc4e09bcdc5029bd3b45a370c59045abcbfb257ddf30085da053056c17dd0b5ddc6494524875ac189e6c7a7cd483288f03abc155bc2022eb427b7d5093f4616c124b7c29a0043181c7bded83de7592511e3617a75652d4568d7c7b3ab2b7464c514ce6ccf54fa8d73e61834e534966620dc59196ab44b736151a27c02e065a000611542fc296a69a24989331ef980f708142d7274ea863669a52039b59d48b90bcc75ce4b434f5751cef621cf3a29873c003a57276128e70bb4aa5de581834946741a8134890491d37b6051959739fa8eb81c6947141704683124136c1c382760e13f00c59ab5bcbcef98b973831b91ba87fec02216619f012859faa6b01b1649786b626348182398226cf794095681d1c25800b18bf33cc71123898ad2aee46905a8118916ba8651328a051697f8041667789c874394e96a0efcda8998d420684217952496ae9117c6c618513c147148979f5c8bfef8c7ca1836430c3cfb66b17cbca63ed1a2157961cee600617157aad986b5021f4f69c3bee6ae181a076c3cabf076903bd59814352f4ee2c04a138ae0eb018a2193ced58981caa3bb032317499e6ec4bc5cfab8b389467ef295dbe7305bd1cd099364d7596b1801008ed734d7775c5606af0f1a2978733dd7f55556dbc5fbaaca5a95bbc287b6d3a43aa9b78ad10a025f46af233512b126230cf928fac14d753160bad961bdcc4d5e1b4edd241609a0adc6b3c6cc9660e5371d6c1655b4465f16d535adcc54f8376371b758cacb81d84a7b3e6b8754b430c0753982a89d5ca8b2f4244aabe0bf05f75ed0b092f332aa83808f897ba21906af25e68a88b61a357a10ece1977199203e465ef9bc020e145f6421abd11b182e7240107059c16c3eacf4a1a8342b73911db6a51d3cf12bb168229a1b29f7c334d0d1ad99932f21babfd8153bae937fdd2393d9748518f12689ca7627a1041d868094aa7440c6724b4430ebd20776b602940c9d1fcb5a109978573434da891962b645002508e46992c0c148f5a039609826baf5834ba7271c443b69dc5110c4b7089068d16202cbab2e1e4525738a19c8315fae806fd139be91f4c1e192a2c04983291340dad4018a8a83c27a57c622408f933a51b7618148b16375a80e0a901f10aaf6e7803cb2a693abcd4ca8bafb942086f42f6b743937098e3d2a607f212f766603c9d89accf7ac584491f230bb1108b1465b865f824215d79fed2525d7e95c7976946e22a9e6510afa2a9e8af29ddb65c47be8820561661050b70ef3b7bb249b7fd0cedd688c37d7a3de667626c2b389b38be066089405703bd51fa32199e9c83d5265bd62a2aa2ce521b69973a18777e32151d3d5ba1983c8659a79ac978ffa15ceab733b49ea8f7a853d4b06cafdfc64c9d00e55d814536171496037036a078d026164d7b07e3277b7ecaa770b06dd291b9ad29241c3bb43553bccf66a1dd81fe2e2bf79f1a21e1539d0bc517a9ba8ede2c39deac4cdb7c65ff96048461ba2e350017095a35c1bfa25c242b000affc8af29495a2d349133c343d680eea815cdcd89c4fc283cd5136b89abd473b4aefe2228f4cba5e0c10ec7a1083833735f081034aa7bbf20c11319ca263b52262096e505c45805e73619e2ceb242e559883d20dddd4120f0c9e49f4995376284147cc2d2a96a046bdb3f56b6dc1889976ae1ed732eba43af5941831b2202d6091c16b680001a82d98ccccec212b79b5a884756c75cb2545316fc072d903c670864d5a13534e545d836276ee594d3a7841e5f91d6b738d97e73a7274671d6470cd2719b0515fdd67c6e4969ad213254502c5ac9ba23c264a375237369b46d0c45745041a20511459d3321ee9b395978f2c575ebe1c6caed03afc7027bc457e03f527b0ccbaec71850e0955f0a2b54d9bce69b6c8fbf90850168adac411ad5c973b578424c55ce01b3ec2825b0085232469968b8a96fe7b9f26846f789323a15aae6397242a712cd26b0465bc038a4aa30dac42c0036c062c21c3a4178a0c92b8992cbd54a6044b789d943f1eabb0bb24c3d0d4c067251779374579b27c84fb435e6c745334485fba84676750a27c520f79366d008e4be93fe8a958e8d06b8ec323bfd5bd01e86b1f13302eb17aa3aa8fdb3445ae5775111b2124e2a35021c04945661b2c510a29264ad855836c7d8eabc069011f8814934bb4b32176c0b59b04c5fb6cdbc8bc41b0bcfef4423635c0c7ac43e4d5286c74920ef37c951266b92074d239b2bd0a0d6c096141fb6a718a213a3387d75b927ce176169738abe0cfa6b68d3b064157c3cb03c5793a7400c1960351b059e43a7f1b28ae5073780cc606f7e40aeb458dbe95a31c23af7e760001b0bd601647ad1805c4329e46f490575ca928fa908b5a30fd31520c61c9f1cc5ef18578b350a929164de33b008338180ce41c45327152090a91b8c9b3928c2629a48d78abd1992720e841a52ca91a15a1c7953d18b4ba1f990af34ca408ba2d449f94385651c3b4c0503726cafa118167110e848fbed995526b458d362061a12fdb7c7e39ce1625c20a13a1c91aa5909d8b03b064d00877dce2415020370c7262d7033947ae42ca53522a65fbafe18d3bc3e0cb66164e9a094fe4b44d8977ed -m = afb7d6dc2b7eb6d84acc080c1be63c98afe7b07786b5801f716444a3e8e64800 -ct = 1b064fbeee1ed7023765654313b62170f23f4c7e4aa5f23c5498e7f5f82a8db67780ca831e660289beed5deb0c8d6d49e8ca85ab1738ef7f0c487f61bb2535730041398d2fb4f2feb04d4b238c3df61784f226d31bbfd6d92fa486b344e713506f12f625653380d8cb3fbd2095e9cc32973194561d9f2b6966d17133936ca643105f9ff845760596bb95d12e7f9fbd5dfc36aac052d64a7c08e26a641c938d83ae795977fd5d2757dfc9166b38687043ce1de9afdd799fa18a164269fdbaf52ac4b1df518deb9138d55d161018bd64b74e125943f42ff6548b2c673f647237abb78cb3d87cc9b980c1d5f46b1e73aaaf600b628baa2fd4d20a466dfd4b3f6ec33e91497280b782e5d4d94dc40907d0cd7a53b99948e8d39c1e059eca344d697d009ea926e95957a10b401c436a95133a219deed9ba76a8b87d2a9f6d0fc9ccfa183622f794a1cb29061ee4561796da05659fcef032a65613dab8cfd117f5f1cef02eec44a13956fe83e796fc8e5f4c589b8574ae1e1e702a97c6268f34e809be6ada4bfa00d9ee7f890a8e54e1a6fd0f33c111bd835466eb64c1622cb349b1c15d648ce49c951391adae8380cad2ef3d615dccf177294072ffdd678f55aa814df60b6ff875b28d2fbc3bfe3a2675a63e4cfc60634ba08e6602d449d76b29fbc7aeb54e97550a1995c6a9b47a48e6ff23cb62d35520bdc492f1ac12ccb9f18af78c92494f22b56c684917c0a768d030426121321b1ea5b41442a791e7fd036f7010c25eb45fbc472f526c82c956f0d3afce7c16055fc470c61cc3ca1f05adfdb3df3724c5d38d9289e49d702e620ed0749d5c13376ccec5666e8f46b60be05d005e1f59de58c70833172a0e0728a26c6658aadd56a9a1145e1c1fd6f3077e75de450137166445dbc096733dfc8b8bdedfd13f2e8fc53432f794bfdc09e9fe2070147a8eb260a4069b097ce368a7171628a6d06e5091a85caa5d9819973ed338ad1fdf261e8a4c70db6e78b6be4b908d5cd3a875f321a24c4d1375aa6a97c76489d005e475add32524de9b64e4468b44cd0f730b10219a0fd481800fa857c67ecde250af0eaff95b43e377c32be2f794eca806f09e10eb4b0fb038e07535534cee9816bb4e6ef0244043e49b2676f837079f2ee3ce9c29897202d75eb19322e6440c49d58e984dd441231a79d479851a0ca63d33e77e3191cce8ca1c69cfbdf06d63aa52d1cef72ab7b3f57c179b7c382f1cb7749c197c9bb0b501f97e96e893ac60336c8fa3e97631e770c3f2f544805767e3ba0fab80020a42cf64858bc001d156ed33336f8207a439a82f07cbea0d00f5d5942c1e9528034f60875422ba40f0ab503e32e61514acb3d6f3f3f4ab1f9eb6aea8bb6197e7eb0e143223532de74b12834b889be7db31b93551caa8f464e1f38f8f882a252682623459ca11defe125334fd0c0718974a3b6dca46feb0aa49d104ed96c301537a3174ab466dbb164ad68b59358f0cdf1d8a159ccfb9dac867424f4504d3de7bc0d686e24967a57b70 -ss = 3d0d1ad5e2825db1f539515af2392f0d212e8166b34f3d8cf2ebe97e51785ec0 +sk = 5b47b61ce23572623c431a498e378c6b71a5cdccb58e225310217f6f2b1b7140b97349b965d9c95332a66d7a9879f24c479851a0ea485254755db347bff9a06d00502ae3a910c06771aacc0a51add07a291496ac10e2899b6562dcda7b6b9b7eb516335d222c43498859d87a44cb8ad589a06e609fc5798ca06744051533d5c6154608c790a8abd776cbd2984b57e1cf4e0638c77915dd89249d3c0775b45cc159b44bd32f49a51a1e398763e35dbf5c6ccb100929c9b91047a1ab98a140e00f77f5076310c33179a8c80449591c4156c244eb8c8b3009328139c18f8c59e1961a2b91c840d552c2e4b3897265b16c28de6abb72d218ef713a1d179cea38561663c9bf21b68166aaa45748316877a9a5bed6f5230d3015193aa5a9e1b34dc6576b57692b543fff321b14879a24728de3d6a297c06ac6cb28ec3482da708abab28fa815272624af6e26a879f65c6432812470c52de01edce20681db43a967069dc9bb34f9c540a21b8d7322a3675fee059f5f655cfc480ba31255e899c48a7c25588303d67055434702ecca24d31a9d69796df408328912ada084ab122c6ac53c3c349c105270c9aeac73923614ea9129ce4c9fd8d78bd33045d8557ad3d0a698b34a7c073b93783670662f8558375647747905402a6aabd1698d1d3b430ce8b5ee8665771a34ca73b2dee04497c997c9e74044230690354b7af23bd94aa02cf599554391095c0d53f5c1db19ac33189b2b9aa3c48bc4e09bcdc5029bd3b45a370c59045abcbfb257ddf30085da053056c17dd0b5ddc6494524875ac189e6c7a7cd483288f03abc155bc2022eb427b7d5093f4616c124b7c29a0043181c7bded83de7592511e3617a75652d4568d7c7b3ab2b7464c514ce6ccf54fa8d73e61834e534966620dc59196ab44b736151a27c02e065a000611542fc296a69a24989331ef980f708142d7274ea863669a52039b59d48b90bcc75ce4b434f5751cef621cf3a29873c003a57276128e70bb4aa5de581834946741a8134890491d37b6051959739fa8eb81c6947141704683124136c1c382760e13f00c59ab5bcbcef98b973831b91ba87fec02216619f012859faa6b01b1649786b626348182398226cf794095681d1c25800b18bf33cc71123898ad2aee46905a8118916ba8651328a051697f8041667789c874394e96a0efcda8998d420684217952496ae9117c6c618513c147148979f5c8bfef8c7ca1836430c3cfb66b17cbca63ed1a2157961cee600617157aad986b5021f4f69c3bee6ae181a076c3cabf076903bd59814352f4ee2c04a138ae0eb018a2193ced58981caa3bb032317499e6ec4bc5cfab8b389467ef295dbe7305bd1cd099364d7596b1801008ed734d7775c5606af0f1a2978733dd7f55556dbc5fbaaca5a95bbc287b6d3a43aa9b78ad10a025f46af233512b126230cf928fac14d753160bad961bdcc4d5e1b4edd241609a0adc6b3c6cc9660e5371d6c1655b4465f16d535adcc54f8376371b758cacb81d84a7b3e6b8754b430c0753982a89d5ca8b2f4244aabe0bf05f75ed0b092f332aa83808f897ba21906af25e68a88b61a357a10ece1977199203e465ef9bc020e145f6421abd11b182e7240107059c16c3eacf4a1a8342b73911db6a51d3cf12bb168229a1b29f7c334d0d1ad99932f21babfd8153bae937fdd2393d9748518f12689ca7627a1041d868094aa7440c6724b4430ebd20776b602940c9d1fcb5a109978573434da891962b645002508e46992c0c148f5a039609826baf5834ba7271c443b69dc5110c4b7089068d16202cbab2e1e4525738a19c8315fae806fd139be91f4c1e192a2c04983291340dad4018a8a83c27a57c622408f933a51b7618148b16375a80e0a901f10aaf6e7803cb2a693abcd4ca8bafb942086f42f6b743937098e3d2a607f212f766603c9d89accf7ac584491f230bb1108b1465b865f824215d79fed2525d7e95c7976946e22a9e6510afa2a9e8af29ddb65c47be8820561661050b70ef3b7bb249b7fd0cedd688c37d7a3de667626c2b389b38be066089405703bd51fa32199e9c83d5265bd62a2aa2ce521b69973a18777e32151d3d5ba1983c8659a79ac978ffa15ceab733b49ea8f7a853d4b06cafdfc64c9d00e55d814536171496037036a078d026164d7b07e3277b7ecaa770b06dd291b9ad29241c3bb43553bccf66a1dd81fe2e2bf79f1a21e1539d0bc517a9ba8ede2c39deac4cdb7c65ff96048461ba2e350017095a35c1bfa25c242b000affc8af29495a2d349133c343d680eea815cdcd89c4fc283cd5136b89abd473b4aefe2228f4cba5e0c10ec7a1083833735f081034aa7bbf20c11319ca263b52262096e505c45805e73619e2ceb242e559883d20dddd4120f0c9e49f4995376284147cc2d2a96a046bdb3f56b6dc1889976ae1ed732eba43af5941831b2202d6091c16b680001a82d98ccccec212b79b5a884756c75cb2545316fc072d903c670864d5a13534e545d836276ee594d3a7841e5f91d6b738d97e73a7274671d6470cd2719b0515fdd67c6e4969ad213254502c5ac9ba23c264a375237369b46d0c45745041a20511459d3321ee9b395978f2c575ebe1c6caed03afc7027bc457e03f527b0ccbaec71850e0955f0a2b54d9bce69b6c8fbf90850168adac411ad5c973b578424c55ce01b3ec2825b0085232469968b8a96fe7b9f26846f789323a15aae6397242a712cd26b0465bc038a4aa30dac42c0036c062c21c3a4178a0c92b8992cbd54a6044b789d943f1eabb0bb24c3d0d4c067251779374579b27c84fb435e6c745334485fba84676750a27c520f79366d008e4be93fe8a958e8d06b8ec323bfd5bd01e86b1f13302eb17aa3aa8fdb3445ae5775111b2124e2a35021c04945661b2c510a29264ad855836c7d8eabc069011f8814934bb4b32176c0b59b04c5fb6cdbc8bc41b0bcfef4423635c0c7ac43e4d5286c74920ef37c951266b92074d239b2bd0a0d6c096141fb6a718a213a3387d75b927ce176169738abe0cfa6b68d3b064157c3cb03c5793a7400c1960351b059e43a7f1b28ae5073780cc606f7e40aeb458dbe95a31c23af7e760001b0bd601647ad1805c4329e46f490575ca928fa908b5a30fd31520c61c9f1cc5ef18578b350a929164de33b008338180ce41c45327152090a91b8c9b3928c2629a48d78abd1992720e841a52ca91a15a1c7953d18b4ba1f990af34ca408ba2d449f94385651c3b4c0503726cafa118167110e848fbed995526b458d362061a12fdb7c7e39ce1625c20a13a1c91aa5909d8b03b064d00877dce2415020370c7223da505ea48a79eb504eeaddf7d19d736f39a46c837f2a0c2bf3fb876ed8e6bf +m = 06430dd2cfea620f387e8cf12a48dc32e25b9eacb9468c42057b01a3cd76aa80 +ct = 90fac90412502adc0777127028f88c9b3341e0ff85631f8d5f2eadfdcefd4c47063dc67c059bb5d59d796c1f980de7f25608808c7dac4af4ca328428ad7f5695e346744eb8e05553127e26163a17aa1cbaf066aa5e03cee0009df596d44fc587f8e13ca2de93877870acae838b0cc1207d35456808142c363ff711cbae66685cdffec8bcb1560166122628f205990610c5907f780042a9c9bb0529ee712013c64fa5b632fd825ef672f307dd85a08446e44bb4ca493bbcd170af688740d9ffb2e0c2ab3052380044c5916665ff3d71fac15c642e2d8fe0f8e000d8444b6c45e74e7e087b3434d8b2ec54555860e6c2c83df594730d68ca3004192c13269e14ca98570478bc92f2a416aa501dca7847f361ba66d770c71a4b84a5d97ceb29fbd52c0bc2b03292d7611157633597e4bddc5a6bf695ca02d892c7ed0a549fecbdbc1afad990cab786148f0997655e52300cbb2a5d4a8a0da68a1d0ec13dcbb313d56613344fa5b0d1150556a979c57b4074d64187648c79a4173f0b36b3ff35a01a425a57b686a9f06d6d637655ac742cf99ce5d6ae1d72444bddade56871942c1c07491d42586f8de2ae955c9a2d6e10b1904e4e8e4fe779bafce4b7cb70fb0eb0300a511dcf12daa9022fbcaaa104a23c1f1b1dc052b296af8003016ee45a77a79bb6eacc0acc09397c7385310eba41775454e5d0d37da6b8ed0b6ca4cdcdf0d74564bddab46d0d23642d56306f566ddf8a3da8586801926ae668d11f1569697b4b180c72c8073f89ffbd57b6a238ce0d2db5b34a09944bb1df09b3dad9b8119244904f4d825d12ec7bd8586151138a9c6397c7f432faac8e48dcfb6ecbf330f96ea2ca6377eeac0f81ce0ffe223ee924d5b064c3c7eaa3040ebdaa62f699aeffb8829a7d719af815b9a414298fbf3098eaaa04e675d3e1f6e0941d8a9255c14c184a0eb9a57f572fbe8b22a2d3c4ac311a44c1e4c38c467baaa5549715e9f3de5e4e97411e78b9b8c99fe731d9115687df6a978e360687072cc6497cd6cd0ee76619be293a52c60f365cd3991f864e602769106d827eb28ed65d2bbb2a65e63840977167a0ba6a151baef9b770f49ea6383b0453283a1640c2e295fcabcc227e844e6327a0c029ce88086907dd8eea3a8200680294d9ef323ff7157ede52027faa0530f211460a44169ad2cfbc6460f5f136ed70dde09584880b2d01743bab57b489942f9216b40c2da92dfd086414e4b8ee8cb8de6225a9de5d6b39251217d5a0b91ed6c6a0a8b6ed4cdfb548e156106882e8a5348616cef5fc5b8ce38bdd3c0fd9229be2fec9faad9f476553f4eaf016e309419bbbad36db672277458c2bba8a7b6dd761f6a5d21e9866df12474bc0aa918294da50a1938648cda9f3d46465fc49f20b4dce3b0f668cf058766c380aa2e2d36b6de1c5d2d73adde03aa695dfd7d9dcbd8a97bd8f4e3966046909cd5b20ff6480d9ac3acc32cf969424e8d12333f377c964a6fe54845947752d9001a22232a413795d4d8c638cf43c4bad645c +ss = 819d5eb67a67f9ab9d00779a1caab3be8783b45c158fa554813c8da2efe31eae d = 3c815e57e9233e975fa1630208aab206b71ae0db37a7a8789ac683d9f9b2d298 -z = 01c8e376fdb140ee343106c093af7cb149b316ba79446ceb4e5e0cedb9b164f9 +z = 5532c666d12d7f321aa87f8a1f475b161bf3812efa99269925f5f29b1e030b5d pk = 45fc2d1bb1872a743763f12d29d937f3f2a41d257531c1172af59c90806c7e5a15972a8cb9dca049bc92700a72b4fa5a739033437c946ee062aa86c12103b557822a08084be63c4c74d1b92608c3b02c6520b2991f8499470114fb659f89a937a25897faba6c0dd142d8d4868ee3c6483128241b287cba0ae49430dd6a28d1339605a4b750e6029f73baa1fa8ce6219c36a40e5542ab45cc781a613fdf416502743df8cbb3c4b864d0b448a20c0b0942a829601f2b131fb038587a99b80ef44033061b2e4b8f9a12c3c03193506b62aa1c7ab08569c7d0a88c8a098f87061ee41000fd202e2c3af4e625b34787bce55f74aa58eeb9124de7089e51a581893354b36fe035ce5fecab74018ee6209b75fc2702429c932abf71d89b8c82c047d77725cb6ed98608f2ba0b3462c1d428352c6376f6269d9869aff4bc821870b63f2284d296677b6145683ba6282c12c72512ef015eb19ba86b3571be7438f17311655c118a530266bbc6d9d10636b6347c630607864949dabfa558522c100f6c7941a076109253b5ffd76328c99590f48b3fc7ae7a5847cc958fa5523f540ab54ea0a302174e6c401341759c121b355c9280d2ab6a84f9028634bf7e3ca90679aca188667d5086df35b88d95b262e8478561a414b627f43b0fb8731d3bda73c6396594694a9f7024cfd55d3ab88342516cb34a922e6835eb8c067bd35ce0b3711d7bad2d7529464c493adc40d8ec8679c903e8984850034ef4a828d3fabcae9474f7278cbe79c8e5c1c948b94798d4c68da8255237ad8b0b38cd4a8dfde5abf6b2cfad98a677a8c40e208206774661490c3c212d23327a46a23dd6855275b78d29830b23900b13c638e31b4745a917d4fba95a04956c371212e475271ccf94f6295346118806316ec01d08454b0cd922d6f1a3e4a651a7a931f380042a09244bb39973ec5872c28c8d41c4bcc72ca4409a363c49995c45c7909522128c03814612214a5eb01527b67bce4463202cc14e31225b36a7d7d10e26966beb389877ac0062f9172c0517ca8676f5a44a10106fe75a31a4aa86688c075918a4d8a7461dcc1ea1193913c259e3b44c2d976ec67613468358886a9108acc7d0c6a25f5a991d7c53b8638c24a585f07aa074b5a2cb514bf7178e14112c8b31727a38bdd20a5ad087746768957f837179d50d25f6697f4a88d056451a593e385b74de8a01cf0244e70ac9ae36b2d76cb91e5419165c6507d141148869d6676f28645653bc78c96b9e7f382cb0c6768e2968c513c7ab076928781a6530cd3ae3286b0c681743a58d9c524be5120c880605bc139f672e30174095932a000800d58a926cf40873c44ae6096940a3bdb6e7966595bb3d23c9915bc7e29aaac9f0344c9b6bbb25cb0aa084f616332197295163989e1448784082c327075dacbb7d912025e4786710b0c7452f827aceda11a73ada09c3e54b404419dbf3a8f8b6096a73528dc50fcd230155a97a614663174683d1095d97b7c0e994764df2095ab7bc029b7dda3799e5a88ed825cf1674aee01bb0c17a5c84b8ac1ba061302ba9cc20cd46f769e1021c03c43ab07bab1bb0c7f3426d252a15ed5a27854ca7b177a6f79502789842e229637fd32a677f68dabfa371062d8b8ce9dfe0d90bf06044ac3a840ceb626b16e134 -sk = 2c021f19322a908456f1677d31dc8a4a2a734a2571d19c421c47aecc507c3c53a931113290b693afd1b7ffeca87cc90b0419c48bc4359d64146d9932beec78766408f59216c692228fe59b768c92f4d5a3ccfa6a35599da2695766d754c1f682ab13c8966997f37a74985551c36828224c177d3a3ade3c2c20a907c830bc32906df70b021b47c38c606ef951acf7c1512ac15fc0d761c9057a7db1ac6c56198f9a8ed2f67a0f159a5ee6612109254d57745736cc3cdb634f5658fb684d805888fea8582135bd4890343a545e4e0a6f0c130b8539125ab06358f8bcc0a4b44a7a4903d018c960ca45779bb564a30cf1b340b4c317cb77da50bf899c10b4676f3c295b90e93c2540a9e17c3bde560f351c81c58b545306449585718e9199a6302e3b0ca1e737c07a4b7e21ec154604590d415f4b82778778905360cc2e49be4b08c94a744995f18959d4492f0b7a3f53a98f9a8d914863b9583d866712fe583fd2677e8a3b8ba5341902178824f4c41ba21cbf7a4b666acb413c31cfa744b9a5405efc5b53a2c64481270484134753c1b0407e23b95850a8c026843643e42b329bcbb7422df5cbb968b04f39210a4ec959e1b5c9cb32a180588b9baa690f7459b1282d9e9200bd1a0e910a3efd948c3bd0af04d866edc61c866b48d7aa22e6fb5025c6892c66116e271b998b888e0481abda592c8b36f7464704fc22c51b5ba995928fe03594a8073ad790798aa304579822255e61d11557092bc9b5bd4c94068c60b2940c180831c5167487b7538c9ab47dc268215c8c7f324563d3973fa73bbaf07c771b15070d880478d2693535425fccae0f8272cd7224f3795a70241d480425e4a74922309906e1c11c5107e9f34fac3536354100f911234d55769b763cf2408b9812aa6b7c2601161953cabf0733cd3af819f5158a136621fb159db3dc6c3f3220adb8acaa8cccb7cb2ee583b9909c903ff43612d178c568aa7e9217e345cf4daa9aaf17cca1b5a4a5a73ce9b0581e73bcc019bce2b68c8c273dfe588ba0861c5a73a6edd9bbdd66935af04e5ea81a55d62c9a8c51b3e6a402587ff4f837c16380aef5640f333db08a6cddb425cb4189ed773d8adb91e2708f12b78a0105bffee30873c1b6d5d5469f6464705741ec4310a8185a1553372f6091c769109f19527e95a6802c2a49127077b21126e7531a5941298bae199309cbe00d97513bde1ac82292ca1a76957d20a306932f83994a00f21d89519e16138f0477667f338a67450e1248a682142a79d9ab6b58b88754362a32af3402d062a554ca8a40da0481ba721a9b023da71987b744c6b9ab5e80830f8b7200241007f0eb72ae3694ee92814df4b1db269f4404cd0c77a844d2b751f5a0bd1cb93d61a628098d0eebc941827f77139831575b98e47b7dc3676d887b56d0ad96bcaa1f280049776339cb3fef6489dbd26205530cb08c53fb0839b49909864ab06b2c3fe15957dda96ccda90c51904df02c6a1e5846f892a1683838b9760ab900664a1a039b6a1c75f9c4b05340ede9881f48869dc881da0191e24bb5aec448ea052e57e69edf254575fca87a1b50e6d39520630688b04328a70ca1a871ffbcb0a8823dfd4747dc859b45fc2d1bb1872a743763f12d29d937f3f2a41d257531c1172af59c90806c7e5a15972a8cb9dca049bc92700a72b4fa5a739033437c946ee062aa86c12103b557822a08084be63c4c74d1b92608c3b02c6520b2991f8499470114fb659f89a937a25897faba6c0dd142d8d4868ee3c6483128241b287cba0ae49430dd6a28d1339605a4b750e6029f73baa1fa8ce6219c36a40e5542ab45cc781a613fdf416502743df8cbb3c4b864d0b448a20c0b0942a829601f2b131fb038587a99b80ef44033061b2e4b8f9a12c3c03193506b62aa1c7ab08569c7d0a88c8a098f87061ee41000fd202e2c3af4e625b34787bce55f74aa58eeb9124de7089e51a581893354b36fe035ce5fecab74018ee6209b75fc2702429c932abf71d89b8c82c047d77725cb6ed98608f2ba0b3462c1d428352c6376f6269d9869aff4bc821870b63f2284d296677b6145683ba6282c12c72512ef015eb19ba86b3571be7438f17311655c118a530266bbc6d9d10636b6347c630607864949dabfa558522c100f6c7941a076109253b5ffd76328c99590f48b3fc7ae7a5847cc958fa5523f540ab54ea0a302174e6c401341759c121b355c9280d2ab6a84f9028634bf7e3ca90679aca188667d5086df35b88d95b262e8478561a414b627f43b0fb8731d3bda73c6396594694a9f7024cfd55d3ab88342516cb34a922e6835eb8c067bd35ce0b3711d7bad2d7529464c493adc40d8ec8679c903e8984850034ef4a828d3fabcae9474f7278cbe79c8e5c1c948b94798d4c68da8255237ad8b0b38cd4a8dfde5abf6b2cfad98a677a8c40e208206774661490c3c212d23327a46a23dd6855275b78d29830b23900b13c638e31b4745a917d4fba95a04956c371212e475271ccf94f6295346118806316ec01d08454b0cd922d6f1a3e4a651a7a931f380042a09244bb39973ec5872c28c8d41c4bcc72ca4409a363c49995c45c7909522128c03814612214a5eb01527b67bce4463202cc14e31225b36a7d7d10e26966beb389877ac0062f9172c0517ca8676f5a44a10106fe75a31a4aa86688c075918a4d8a7461dcc1ea1193913c259e3b44c2d976ec67613468358886a9108acc7d0c6a25f5a991d7c53b8638c24a585f07aa074b5a2cb514bf7178e14112c8b31727a38bdd20a5ad087746768957f837179d50d25f6697f4a88d056451a593e385b74de8a01cf0244e70ac9ae36b2d76cb91e5419165c6507d141148869d6676f28645653bc78c96b9e7f382cb0c6768e2968c513c7ab076928781a6530cd3ae3286b0c681743a58d9c524be5120c880605bc139f672e30174095932a000800d58a926cf40873c44ae6096940a3bdb6e7966595bb3d23c9915bc7e29aaac9f0344c9b6bbb25cb0aa084f616332197295163989e1448784082c327075dacbb7d912025e4786710b0c7452f827aceda11a73ada09c3e54b404419dbf3a8f8b6096a73528dc50fcd230155a97a614663174683d1095d97b7c0e994764df2095ab7bc029b7dda3799e5a88ed825cf1674aee01bb0c17a5c84b8ac1ba061302ba9cc20cd46f769e1021c03c43ab07bab1bb0c7f3426d252a15ed5a27854ca7b177a6f79502789842e229637fd32a677f68dabfa371062d8b8ce9dfe0d90bf06044ac3a840ceb626b16e13486bb11e7d9c1368fbba34ce3a2f169c2464ef5fbc11f73843c456467b6cdbd4e01c8e376fdb140ee343106c093af7cb149b316ba79446ceb4e5e0cedb9b164f9 -m = 28f5e9dbda122b2cf8f3754fe9e0c73a84ad4b0c093522e0b62cf815d60bbc3c -ct = a2877c3d4b092d4196f99fcac16b38ea10d653e03446cb3bbd61252a938abb30f3f4b32127ed8936f48a28b0a5202506e7d4caac4a073c5cb940b89711ad903e4c43ea9c783a0082f2a831b5fab803d97723db32ccb3c0793b1b858e6f71a39a1bff4700953ecd249cd244aed4ff748110910313585d19f6562f2b5ad187a2fa5383a55e6acd134a97dea0ab34e464299da2c7d5c25a06dc9728fc48de1fa9a72cb51e08ac79d09d2266831f55ac5bed2a383e8fca1e2b402c0aff8aa8eeab9e277f80c474f8017f8caefaec1480e8ff37ef2dd6e3a8223cbc0ac6ab488084a257ba0f65137c9f9dfb573f9302168a77a8cd7ec9df435d0cbe0ab9ebba107ff2fb8ed9548f816dc367777bb2254f8821f22128b9f1624a6b45cc91bc76d5c57fefc1bb567a2cdbd66cc9970e08baba6f8c25c3fbe1ab9703bcbad4ee3c0316738eeae7488ac7081eb97b2c7f9b236344db66692b9623384cc8f6e3a6247de3a75890ca89c3c56f0ce28cd448cb17c4f4c19e727cb2b3724e2fecbce57ab0bc80147e6b2032e876790a15933fb3822c89c891b8034b081ac74a68a7704bc9435e085b50260480435a6e9e87e12b81f64e75ab3753df34be96db9ab2e49ad18774dd4b5ae0ea2c319dedf6e0af04aee38cea0b14bd58299aeecfe63fd818055854291c0e81c97eb485592ca06d1ba83a61010e5b6786a353ec7c7c46e658bf095d34a01f486d7ca278dcaa2d92fe3d13103f9241f7e949ab007f362b54c504c4b92c9a40c980e3ef925476e5354a2fcccd8fbae94ce8574b7b461632c56ee33fb2d7e2f41e7e759d0945d5a9df0cc07d6b01059c71cb05ae9553aaf3b60266d422db11ad1a01ed8757f1931968a16e7945a6ec9dfea453322f9aca9639f0ccde621e95d01ca58fd21ba030e7ea518f601ae849796cc83b5d02e6152c2b9da2394113dbcf0be0f2781087370ad6f581d75af5d6c979e1d3f43105e48e62f6edf377203815decb1690c914fe6b5c5bbcf1c4297a253bc2ed7d3e53e90c1fcd61cbd8c1640aa60cca213cb8e58f137d6bb6ffbc30697ae85782f0a4ab4584fdd332bfcb4a2bf45b5059f9e87ee76ea451b5f684517bbc1407b06da076aabc83ca7532650c45ca468a07cae1161b4aa88bcf0816f4cfb0229cd993ffb428a9e5afc8c0c94c922333692551890ffd307d87cfd4681aba84fd82035ed32007b4b96e963324bebafe589c5d65552f379f1b8c4905a5d7c9f93b0880b9ebb7073a0dcc35e77a20d358115a9c0c9c007ab49b0bd78ec1936d301f39c976176b2b8dab9ca040adaaf26a85cb616002834d630d2db28a48362c15a5637a2cb45df5afb1dd3c632219723f55f4f65d2eaea810dc84a4c243d30bd49e0214bd97cfbd1968275351b0d1182f316067a9f43776f923a429e6eaf29e5e620cda06008030735a1d3aad5c47a0f12102c0f28269d7f2cb89e3dff8d9b73a5aee6c395cd9d6fe209134d46ba65a4f8aa59a5c37f180a5c287d8130678efd51406c52858ee1fe24ed2b038 -ss = ff9a0d1ae64c97e4c51512b315d044c14ca34771df320ba0c16c8531d6a40d78 +sk = 2c021f19322a908456f1677d31dc8a4a2a734a2571d19c421c47aecc507c3c53a931113290b693afd1b7ffeca87cc90b0419c48bc4359d64146d9932beec78766408f59216c692228fe59b768c92f4d5a3ccfa6a35599da2695766d754c1f682ab13c8966997f37a74985551c36828224c177d3a3ade3c2c20a907c830bc32906df70b021b47c38c606ef951acf7c1512ac15fc0d761c9057a7db1ac6c56198f9a8ed2f67a0f159a5ee6612109254d57745736cc3cdb634f5658fb684d805888fea8582135bd4890343a545e4e0a6f0c130b8539125ab06358f8bcc0a4b44a7a4903d018c960ca45779bb564a30cf1b340b4c317cb77da50bf899c10b4676f3c295b90e93c2540a9e17c3bde560f351c81c58b545306449585718e9199a6302e3b0ca1e737c07a4b7e21ec154604590d415f4b82778778905360cc2e49be4b08c94a744995f18959d4492f0b7a3f53a98f9a8d914863b9583d866712fe583fd2677e8a3b8ba5341902178824f4c41ba21cbf7a4b666acb413c31cfa744b9a5405efc5b53a2c64481270484134753c1b0407e23b95850a8c026843643e42b329bcbb7422df5cbb968b04f39210a4ec959e1b5c9cb32a180588b9baa690f7459b1282d9e9200bd1a0e910a3efd948c3bd0af04d866edc61c866b48d7aa22e6fb5025c6892c66116e271b998b888e0481abda592c8b36f7464704fc22c51b5ba995928fe03594a8073ad790798aa304579822255e61d11557092bc9b5bd4c94068c60b2940c180831c5167487b7538c9ab47dc268215c8c7f324563d3973fa73bbaf07c771b15070d880478d2693535425fccae0f8272cd7224f3795a70241d480425e4a74922309906e1c11c5107e9f34fac3536354100f911234d55769b763cf2408b9812aa6b7c2601161953cabf0733cd3af819f5158a136621fb159db3dc6c3f3220adb8acaa8cccb7cb2ee583b9909c903ff43612d178c568aa7e9217e345cf4daa9aaf17cca1b5a4a5a73ce9b0581e73bcc019bce2b68c8c273dfe588ba0861c5a73a6edd9bbdd66935af04e5ea81a55d62c9a8c51b3e6a402587ff4f837c16380aef5640f333db08a6cddb425cb4189ed773d8adb91e2708f12b78a0105bffee30873c1b6d5d5469f6464705741ec4310a8185a1553372f6091c769109f19527e95a6802c2a49127077b21126e7531a5941298bae199309cbe00d97513bde1ac82292ca1a76957d20a306932f83994a00f21d89519e16138f0477667f338a67450e1248a682142a79d9ab6b58b88754362a32af3402d062a554ca8a40da0481ba721a9b023da71987b744c6b9ab5e80830f8b7200241007f0eb72ae3694ee92814df4b1db269f4404cd0c77a844d2b751f5a0bd1cb93d61a628098d0eebc941827f77139831575b98e47b7dc3676d887b56d0ad96bcaa1f280049776339cb3fef6489dbd26205530cb08c53fb0839b49909864ab06b2c3fe15957dda96ccda90c51904df02c6a1e5846f892a1683838b9760ab900664a1a039b6a1c75f9c4b05340ede9881f48869dc881da0191e24bb5aec448ea052e57e69edf254575fca87a1b50e6d39520630688b04328a70ca1a871ffbcb0a8823dfd4747dc859b45fc2d1bb1872a743763f12d29d937f3f2a41d257531c1172af59c90806c7e5a15972a8cb9dca049bc92700a72b4fa5a739033437c946ee062aa86c12103b557822a08084be63c4c74d1b92608c3b02c6520b2991f8499470114fb659f89a937a25897faba6c0dd142d8d4868ee3c6483128241b287cba0ae49430dd6a28d1339605a4b750e6029f73baa1fa8ce6219c36a40e5542ab45cc781a613fdf416502743df8cbb3c4b864d0b448a20c0b0942a829601f2b131fb038587a99b80ef44033061b2e4b8f9a12c3c03193506b62aa1c7ab08569c7d0a88c8a098f87061ee41000fd202e2c3af4e625b34787bce55f74aa58eeb9124de7089e51a581893354b36fe035ce5fecab74018ee6209b75fc2702429c932abf71d89b8c82c047d77725cb6ed98608f2ba0b3462c1d428352c6376f6269d9869aff4bc821870b63f2284d296677b6145683ba6282c12c72512ef015eb19ba86b3571be7438f17311655c118a530266bbc6d9d10636b6347c630607864949dabfa558522c100f6c7941a076109253b5ffd76328c99590f48b3fc7ae7a5847cc958fa5523f540ab54ea0a302174e6c401341759c121b355c9280d2ab6a84f9028634bf7e3ca90679aca188667d5086df35b88d95b262e8478561a414b627f43b0fb8731d3bda73c6396594694a9f7024cfd55d3ab88342516cb34a922e6835eb8c067bd35ce0b3711d7bad2d7529464c493adc40d8ec8679c903e8984850034ef4a828d3fabcae9474f7278cbe79c8e5c1c948b94798d4c68da8255237ad8b0b38cd4a8dfde5abf6b2cfad98a677a8c40e208206774661490c3c212d23327a46a23dd6855275b78d29830b23900b13c638e31b4745a917d4fba95a04956c371212e475271ccf94f6295346118806316ec01d08454b0cd922d6f1a3e4a651a7a931f380042a09244bb39973ec5872c28c8d41c4bcc72ca4409a363c49995c45c7909522128c03814612214a5eb01527b67bce4463202cc14e31225b36a7d7d10e26966beb389877ac0062f9172c0517ca8676f5a44a10106fe75a31a4aa86688c075918a4d8a7461dcc1ea1193913c259e3b44c2d976ec67613468358886a9108acc7d0c6a25f5a991d7c53b8638c24a585f07aa074b5a2cb514bf7178e14112c8b31727a38bdd20a5ad087746768957f837179d50d25f6697f4a88d056451a593e385b74de8a01cf0244e70ac9ae36b2d76cb91e5419165c6507d141148869d6676f28645653bc78c96b9e7f382cb0c6768e2968c513c7ab076928781a6530cd3ae3286b0c681743a58d9c524be5120c880605bc139f672e30174095932a000800d58a926cf40873c44ae6096940a3bdb6e7966595bb3d23c9915bc7e29aaac9f0344c9b6bbb25cb0aa084f616332197295163989e1448784082c327075dacbb7d912025e4786710b0c7452f827aceda11a73ada09c3e54b404419dbf3a8f8b6096a73528dc50fcd230155a97a614663174683d1095d97b7c0e994764df2095ab7bc029b7dda3799e5a88ed825cf1674aee01bb0c17a5c84b8ac1ba061302ba9cc20cd46f769e1021c03c43ab07bab1bb0c7f3426d252a15ed5a27854ca7b177a6f79502789842e229637fd32a677f68dabfa371062d8b8ce9dfe0d90bf06044ac3a840ceb626b16e13486bb11e7d9c1368fbba34ce3a2f169c2464ef5fbc11f73843c456467b6cdbd4e5532c666d12d7f321aa87f8a1f475b161bf3812efa99269925f5f29b1e030b5d +m = 45443194c6681faeb9e4cd954543bdb55dc9fc5478555dbabaff127cfdd85438 +ct = d66b23f5e11561a9e7aad595ce6f50374a0c5c13d371040388735dbef59ddb0399ef723985977bb5afa95c92d884971595b41b43ab74102eab5ac7f2454c7a5345772206ab598c8fcccbbdfc8609b839229d6fb87d59e4306e2bbbb3b161e6e8c136a360dd7a8e69a36b3c9d18d60b8055752de7de3750da3500a1c0ce062543ebd6716487d56db917cf01d217bb1dc44383eb3dee468c248d418ce16d9c2ef6d81a70f76204a9d391394e5a69d147fb624adfacd316d316d0e5a6fc726c36d0380a69a28fad9ce26f8029bf3b0e33a4c73925c3b5158c6f7b42b0858c502979e923b06ec7dfeb554c6fcb24ebbdd678197ea3c02d2ed5050273e12a5059b7405a9405188112acddb377d7a83a8c48f5d2a145e1846f883137fc805e2c9f9edf8cd919b31ee207d2cacf99d62b8d21f3b6ec58ee7afc5dc3c681f9f1d5b86941e6ffae15c31eacf56cfc0d190f6757c0386aad2b6711a7cc9e2d700188b7f220e4e584dfaa313b236fe77d3b3a63d85b425d8046de7d1f81acb24be72fd001ef4e203d1abf4db2e7c16f33b2b44a691c59d07eedbed4f919ea63cd28cf80f82a07f2045cc6781f7117e2a9b2d001f18636dd19191f2698a5c99b2cdac2cf8feed8cbf1dbc8bcff10abe197b4455bd630c33f0a8e9834e33b16b1159a659791d67973146b861ef6ddc9ba230bd64bf13fa57e29c1a9c0a25d517d06dcc3056d79d16a93fa95992670e5a99190b1352832ec14446a11d5d41ee54496f22082a331ad67bd8819d5a801beabe60e84313287339baabae1761e01d447b6f7128cef8df5e3ced043f0468134e1a14085689fa6a47fc2e952bb4d1e54d08f0c29b87344ab68f0471d4ccc6a3383419ce95531d16f5267844b35fd402fa47e9925d075cd7d98e2e043d21f87864a4b0d8d2275144c18115695a762142f29eabf24a8518d85706068cf43df88d5252c513421ecceb57fdd5de6b6044e8450fa4437f4d45fd5271ff64565cae61fe7711548958d1f1439f0bfa8ae4e2cd8caa084796cd86351b605f3313b3793a6f28b5389cb449a7e62cb5016b27a5afd701672d89eb8d363bef2363fcac71050983a4643400823b7915ac421c8745febfc9098e911c02bfdccc42a88e56f798ad010dbd2aab03083db597b3a1ca83208468845ff23261e9b0f390877fc035ef60b5d995ee9ec290fe2f869f95dffabffb4b01cbda14563282e7b16c7daaf5cf3f858b10ee0e28400c65b565a66be25c0cd465adad26c307e2b7a4d476a6135a8fd904712ac7ed7eaad87915c7e26331f007f2cbff6d0248dd882bf5da0d70cd223bd6646ee34e353062bd30241296ac92359f1c66b6bba837cf33d1385f0773bae15238957a509fa56a41058dd1da61c188c9cb563df80a4c16a091aa407a5e6a482cb8a3785941f592a9d5b2f2912a10a10b0f68a3b290f4eb64d0ff718dcbca4d3efdd13ca489ef85b87d27e067b3f87c49da9e685d1fff5b4c3e6bbad5dbfdf65f15387b814477540f5d70bea3c59fa3cce1b291c08 +ss = ba5f0e30257647cd1ba1e9bb446bf9469614351931907e29d7cca5e87fdc476e d = 588760826dcfbd36d9abe6ae44a669bb3ebba6a218eab69e30f18a3bd536576e -z = 0e860576285483bb5fd36e2f944d32c4317bebc1e441470c1372046a790d79d4 +z = 173dbcd4922b8fa921dc24240b2173c2e65a839357f8e4a93f51e7daed4c8c00 pk = f6446774b30fef5b426f563962cc29ff78ade42b497dc3b970f1b848b1141d7a5f45a37c25b125aed61863f22732a06128bca08efc8cb176ab6343239b572e1c8c138d829810227afaabb81cca0a73131155377730a120558231e8f8a598a2b730578edc7800b0d6c5627530ee92930eb2b40a9888cf648263b688f0a12e08f004f4bb449a25282029cfb73c32f8d31229d0a58e6aa08698517fbc5f619837ae3331cf763631d305e88c8f85413e9d5420cc282bad24a783011184011a79a3b305db5b3032b75c55907ca5c7f839320028305c439c39484895212b1e87925999681819416dcbc7ead45ac2b1262154bce16866c04561eba2c9ec6022b07a57a67c7b901b5da3bb8025c7585c86bda0810c442c39374040236a82884199159729834663d3b1967df9955de3a387d93d50f5001924c4fe433d016bc2b6614f2d3ba72fda226864ad6ba5b8c31681dc104348ec2b29c39fc9f567cae17bdf1c6e215c92effc60e2d6a3a3106bced0bf301b542f7987b582b0780b6d398631eb8559459b1db01a0443100dcc731291c737499c2f86452394c0b6662401fb57a4db232e40d1b0f2511ee1eb15dbf7b603e2a67808c064fc5103fa7c9c954fcd12bc619582f82590b323698a328cc14acb87c217e39c309421c7e6ea15ba6c3bd8587126c5aa02c26308c9912d7262dbb91ac2c2cdbb9cb009a3ae10761771740b2e6558fae775deba7a66086859270ec07b584334900c278002d8a47d01547dba3036336616a8c12415b86a1423a6c9aab5f085c7fabb6355b3db4023e47c7917c10c284333110bc978b2c08e16512ba95a07237cc35c97bfa51bb1b25e30750e65664377ba49200aa6e935b4c7451e547859edf03bcfc6904df05220c02f5e576604a873ee82b7693b962853b5522a5b0986348da63df86a64671737c17201ed556e92acb56f065eebd31bef43ca85db1feac395e19110a2f0c5b90459838cbf779c27247709765569e5a649bf160301003169e4ac2baaa4c4697f25869ab99179f9f792d9b19df0c148df7c6b9aa20e63426697d83a6e33b35f4c7e798175bfd73ce60a050146a3d893c4dc9b2fabf5960bd80fa0679433bb33bb91915e93c1eb2aa16cb13e0b9870fef99835a674b1bb76946bc4064cafde3063498ca30aeb3983f5cdb3a6b9c4970459d969f4d8b6ba27755b6ca8fbca178dec28dfeb2ac03318be7002a9a4cd7b1749a7fc7f09a6b560740da89baab8130872510c99630f3b588069d50a9550c97f8198b7a46148fa7ac1580632db1ef49528f9125784a5bb2757235fe44e74529a7ce88e91543b2ff81d9ed78e2647aa07033cf3422d34942e7830191b104c7ed56b8951a9c8706e4cb33cb0b918387b869084386420c13b09be75d2a5e9276246b674e96bac7782541e1ca441e53ff3b9c702cb95ceab628d1617704a448ef743e8b811fe52c659cbaae22377f28646c45642a9886628c9b73c510bbfb645d4077c1d8b954bdc8b707b7f6bc4701bb1af0f28b88dd282b78b7ee96732521aa6180b6021aabb415839dc3a1f6f545c1320c58b965b62993abf6a10c18a22ce6a45539685f297b1f04a130465845d189d17552e2f4917e924cc0d2dbc2ddc739f6b876472eb12ce233ccd402ddef61523fd6fee69a88f34a34c -sk = 47a7741316be87861aec518a9b38146b43aa54a98f47e242866b8d79f731d98c754b572a2a9170a7eb4b0d73b38d6665d1e43af0b61ab95cb54879707805bd787913ee369d231c600b76949bf86366579ab62724caa1beabbb02fc945bf007cf57a225afa67393cc58804a15016a12dfb90d5a52be41f907b1f2c4fe93712f555b0ae896e85931020089642a23e4c38581d4c40a46aa8ddb3c26db0e29fa5f7a12b6ca32cd2ab6b50327ad0dd8139ad83dce676ab2dc0c2774c86a2c72a5fa2d4dcab588a66d6551c040e91ae045698ac0a1dfb95048c545d08654c1b560384561ab07bd8c61182f99c79a2267c961ae66434321e8501d474ad84aa71286a948c5ad187232cf72576f167d63992f62d3423ce75577c2052ef84019404b0e1706ba704fe3d116a518293112b8b80708c094bde829ac38e362a404beb67026ea6782362035cae099302c5660931ce31b93b665059633699ec44c28c2bd230b1942421f12388900081618bb29e315beeaa090a06ac7feda567fd1a12d1a41eba931c279acdb875d9ddb7cd9a6adbfb32239e843012a8cb91776775408316b056fbc42758772c1e53ec0344479c2791b837a6a34aa77710d35593a55e57572fa99711bbe5a83454bca7990e834ba285a09aa11666cb2b2f39704904354687d0524888cf6461ef302139b042540138e322453619b3dd715b617230e08c4585478f9996798e9b47c712f82ba45857551ea4c79b4a0577938666403174e84585e684783d33f3b701420f66d48473fc6bb627b399e90697e760783a3e09d6531cc524568def8507f0437314488af7376bf2a6bacf783b632197d8565f9456d04a8476da8cd6c988d26a56d29479a2dbb85afc18dc81a8611bc4adaaaaa440471b530053adb874db67102b6a64ffca8bf8487e18b2f7582b71fd78d85f819c24b892741a83e67585b6b1ae5ab6ad1f5cc02ab78d0ecbe01087f46ac9bfca464a4b9ca817c3a1af5cb0a6a3f1dd3a2ec06774e805e001b44c8194660a280d0d59bfeb35ebe9c943e626b98e488f8984275401bdc4959993345c38bc801b95d56bbb47a2b23f5f1223d5a0e2a827d4578948cfc5432627c9586275679202e3c970fcc980af56757912080072a4af234dd030ec481a6ed8030921691d6126839635c6b270497ca4a87d4bef47cac60752383712636752a4aa18af13bb36ef445fe653628704e4dc2cadd62839f9842f9b2c264ab4ff648c59d15708f55ae4a396d5f4bc75d20603c03cdec4252facc579a0cbd1f64a734e8350f03aceaa2734de2b486f6b93c36ac11803e564070aba97d2309078fb43768f98ef5d03b09fa10ffbb0beb3b5fe01310065508100206a640b93de87bd94a634907730e30800803b233b95d1cc7cce49c08ab143734347f3459a5be0230f9481d50b4b835a91736d6a7b351c8082a4d080967b43b0553835bf52943a380051f48c27823c5aa0b20b7b733dcb004b2a7819beba4b3fcb1f991789c2c57ca01b50523214af309fdf421187492c411c14128744bf4a83599a30b86194473c2bc9222fb4ba34108689aa8065aa24ff3559a76f759768c81a8cc5aa2a6792f3033b2437b05068bed096475d9280bf349f6446774b30fef5b426f563962cc29ff78ade42b497dc3b970f1b848b1141d7a5f45a37c25b125aed61863f22732a06128bca08efc8cb176ab6343239b572e1c8c138d829810227afaabb81cca0a73131155377730a120558231e8f8a598a2b730578edc7800b0d6c5627530ee92930eb2b40a9888cf648263b688f0a12e08f004f4bb449a25282029cfb73c32f8d31229d0a58e6aa08698517fbc5f619837ae3331cf763631d305e88c8f85413e9d5420cc282bad24a783011184011a79a3b305db5b3032b75c55907ca5c7f839320028305c439c39484895212b1e87925999681819416dcbc7ead45ac2b1262154bce16866c04561eba2c9ec6022b07a57a67c7b901b5da3bb8025c7585c86bda0810c442c39374040236a82884199159729834663d3b1967df9955de3a387d93d50f5001924c4fe433d016bc2b6614f2d3ba72fda226864ad6ba5b8c31681dc104348ec2b29c39fc9f567cae17bdf1c6e215c92effc60e2d6a3a3106bced0bf301b542f7987b582b0780b6d398631eb8559459b1db01a0443100dcc731291c737499c2f86452394c0b6662401fb57a4db232e40d1b0f2511ee1eb15dbf7b603e2a67808c064fc5103fa7c9c954fcd12bc619582f82590b323698a328cc14acb87c217e39c309421c7e6ea15ba6c3bd8587126c5aa02c26308c9912d7262dbb91ac2c2cdbb9cb009a3ae10761771740b2e6558fae775deba7a66086859270ec07b584334900c278002d8a47d01547dba3036336616a8c12415b86a1423a6c9aab5f085c7fabb6355b3db4023e47c7917c10c284333110bc978b2c08e16512ba95a07237cc35c97bfa51bb1b25e30750e65664377ba49200aa6e935b4c7451e547859edf03bcfc6904df05220c02f5e576604a873ee82b7693b962853b5522a5b0986348da63df86a64671737c17201ed556e92acb56f065eebd31bef43ca85db1feac395e19110a2f0c5b90459838cbf779c27247709765569e5a649bf160301003169e4ac2baaa4c4697f25869ab99179f9f792d9b19df0c148df7c6b9aa20e63426697d83a6e33b35f4c7e798175bfd73ce60a050146a3d893c4dc9b2fabf5960bd80fa0679433bb33bb91915e93c1eb2aa16cb13e0b9870fef99835a674b1bb76946bc4064cafde3063498ca30aeb3983f5cdb3a6b9c4970459d969f4d8b6ba27755b6ca8fbca178dec28dfeb2ac03318be7002a9a4cd7b1749a7fc7f09a6b560740da89baab8130872510c99630f3b588069d50a9550c97f8198b7a46148fa7ac1580632db1ef49528f9125784a5bb2757235fe44e74529a7ce88e91543b2ff81d9ed78e2647aa07033cf3422d34942e7830191b104c7ed56b8951a9c8706e4cb33cb0b918387b869084386420c13b09be75d2a5e9276246b674e96bac7782541e1ca441e53ff3b9c702cb95ceab628d1617704a448ef743e8b811fe52c659cbaae22377f28646c45642a9886628c9b73c510bbfb645d4077c1d8b954bdc8b707b7f6bc4701bb1af0f28b88dd282b78b7ee96732521aa6180b6021aabb415839dc3a1f6f545c1320c58b965b62993abf6a10c18a22ce6a45539685f297b1f04a130465845d189d17552e2f4917e924cc0d2dbc2ddc739f6b876472eb12ce233ccd402ddef61523fd6fee69a88f34a34c29253478090cb4d580bc2a912645bc685061e5d4437b3811eda69c865ea9923c0e860576285483bb5fd36e2f944d32c4317bebc1e441470c1372046a790d79d4 -m = b0d713cbef0bb1df70cbb425d1e9373e9f7790fdc7980cc96a240dfc53f1e8e2 -ct = eb55c9d3d46d32c021f0d7e61e5382c2b74bf1608e0c8f09e080c2820ab0cb10886e141a282a7c80b73cea0272d08e16366f2c900da1144039e5a8ef7031dc26a5cfcee8f47c3f997c940a056d68d3507e7481e13835b911cde8976f0e7494170d98386316afe41f97b56ffb8b5c85c70048ff2b5e2508d19b06d8e03a91f6973de1f903452d0a95f5e8fec22d033669febcbb2e09904307fdd7bcf55bff0c097d31b62b08d75a144e8064b7001de832bd6afd9fadbd00ba148a5db0b0085fa6756aeed4e2d1cff7e8bcdd3f8e6096fbe2eb19f10e1ee84678ec8e140cd4101d300fd0e110bb7adfc580ec1ea5af38cc6cf984dcba6921230304dc19b38a1d3c9be8c479feaf98e097faa5c45a957d8f33a2928c1692ea8e8b528b33d49460516dfd50fee3f5d0590171ecc3dc287e4f63ac5faab29d1b6436195ee4f6f29ab15c9c3c27683554c44f0d9cfa94920e9000bfe9da83aa15a605a6e2474d29460aff929ba74a38c465fdc8988c7c2f02b5cfb44c16bee8b9065b049fd6342f976cde143ba0d48ce4ac03f2ccb0767f94ff4de46dff7077790b1f1fe14093034f8e021c2857a148c14fcac87797e455f36472f3791073f5f47c5c02bc40063a6c0435958b9ce3b403051cfd6a538b05a63b924950eada692fe82433dee2f7be1202b5e1dbe0d5d17e0532f09f7c3d2f815bda7a6d6e61b6bb2e755c1a181efd721444a928baf9eea4abcfffde4a1053be769077146b4487ed00b2f3cef170fb7eb4a3b61bb19706af4c6fd9b6a29eb698101835cb24ff1580e00c36274220fdd56200d74716053c38f7d4e3fb1d733f54ddabbb14f3cfaabe62507d50920fedc87e5190bd84200c96c6967caa3912c6126ee409dd4bdcf8859aef9561e523a26b31f5632816fc9053da5b9efcd9cc05e6a1d81078d6ed3246a46e2ce4f0c09f11cbe1fb5994efd758207f7b9e2aedf2a8386f9175259325b9b7afbc9c8b9715e973efc1573526d6cad3579bd57920172694c7a5a02b2cf3da1c78cce8c9e204a4d2605c510552836e2231841873f2153a60e77e381ea4345a0a4cb0622020cc5d3fc168d84eafe1d38e0f2dc8b890d7843baa29e2925d5f1be93a9e266dcc99c00c5d6681190e07a833090afb8575aadf55333e8b3f3d9fe2e7337a3c122de1ec3264c61b47eebaefc7b1f276f8ebc1cc53de806801a8eae9fda8bd5e7d2f83ceb6c072103d190aca2afe8313b43ae7083845b6fc26adb1a7e3c17c0fdee0a1590fa66127ea4423b6f7afdfed7c7e2daf1b7490f09dbaa9ce15e209e1405e71531d3acefcf6096b8b76ee28246697a41c6ac8e0cb4e0cd1cfd80997e19014f083167fa47bb4befcf207a369051c5f37477a2bedea8a65913d557f896ea0041d77182be50bd355f7544245624f6db4e918e1308be489cad3c7c430d707bf91b79763691ef5fc0db233895b361cd85158250dcfd5bc90a3850b60118159b3eaf31b8ad3aecc555330d1e084c06033ce41ebf6a5a6928b624d308c48919ba8fbd6923e -ss = 0e40bef57dc97b87ef89e5308f9db94fff59a475dc35ead3f2d5b6b89d24ca2d +sk = 47a7741316be87861aec518a9b38146b43aa54a98f47e242866b8d79f731d98c754b572a2a9170a7eb4b0d73b38d6665d1e43af0b61ab95cb54879707805bd787913ee369d231c600b76949bf86366579ab62724caa1beabbb02fc945bf007cf57a225afa67393cc58804a15016a12dfb90d5a52be41f907b1f2c4fe93712f555b0ae896e85931020089642a23e4c38581d4c40a46aa8ddb3c26db0e29fa5f7a12b6ca32cd2ab6b50327ad0dd8139ad83dce676ab2dc0c2774c86a2c72a5fa2d4dcab588a66d6551c040e91ae045698ac0a1dfb95048c545d08654c1b560384561ab07bd8c61182f99c79a2267c961ae66434321e8501d474ad84aa71286a948c5ad187232cf72576f167d63992f62d3423ce75577c2052ef84019404b0e1706ba704fe3d116a518293112b8b80708c094bde829ac38e362a404beb67026ea6782362035cae099302c5660931ce31b93b665059633699ec44c28c2bd230b1942421f12388900081618bb29e315beeaa090a06ac7feda567fd1a12d1a41eba931c279acdb875d9ddb7cd9a6adbfb32239e843012a8cb91776775408316b056fbc42758772c1e53ec0344479c2791b837a6a34aa77710d35593a55e57572fa99711bbe5a83454bca7990e834ba285a09aa11666cb2b2f39704904354687d0524888cf6461ef302139b042540138e322453619b3dd715b617230e08c4585478f9996798e9b47c712f82ba45857551ea4c79b4a0577938666403174e84585e684783d33f3b701420f66d48473fc6bb627b399e90697e760783a3e09d6531cc524568def8507f0437314488af7376bf2a6bacf783b632197d8565f9456d04a8476da8cd6c988d26a56d29479a2dbb85afc18dc81a8611bc4adaaaaa440471b530053adb874db67102b6a64ffca8bf8487e18b2f7582b71fd78d85f819c24b892741a83e67585b6b1ae5ab6ad1f5cc02ab78d0ecbe01087f46ac9bfca464a4b9ca817c3a1af5cb0a6a3f1dd3a2ec06774e805e001b44c8194660a280d0d59bfeb35ebe9c943e626b98e488f8984275401bdc4959993345c38bc801b95d56bbb47a2b23f5f1223d5a0e2a827d4578948cfc5432627c9586275679202e3c970fcc980af56757912080072a4af234dd030ec481a6ed8030921691d6126839635c6b270497ca4a87d4bef47cac60752383712636752a4aa18af13bb36ef445fe653628704e4dc2cadd62839f9842f9b2c264ab4ff648c59d15708f55ae4a396d5f4bc75d20603c03cdec4252facc579a0cbd1f64a734e8350f03aceaa2734de2b486f6b93c36ac11803e564070aba97d2309078fb43768f98ef5d03b09fa10ffbb0beb3b5fe01310065508100206a640b93de87bd94a634907730e30800803b233b95d1cc7cce49c08ab143734347f3459a5be0230f9481d50b4b835a91736d6a7b351c8082a4d080967b43b0553835bf52943a380051f48c27823c5aa0b20b7b733dcb004b2a7819beba4b3fcb1f991789c2c57ca01b50523214af309fdf421187492c411c14128744bf4a83599a30b86194473c2bc9222fb4ba34108689aa8065aa24ff3559a76f759768c81a8cc5aa2a6792f3033b2437b05068bed096475d9280bf349f6446774b30fef5b426f563962cc29ff78ade42b497dc3b970f1b848b1141d7a5f45a37c25b125aed61863f22732a06128bca08efc8cb176ab6343239b572e1c8c138d829810227afaabb81cca0a73131155377730a120558231e8f8a598a2b730578edc7800b0d6c5627530ee92930eb2b40a9888cf648263b688f0a12e08f004f4bb449a25282029cfb73c32f8d31229d0a58e6aa08698517fbc5f619837ae3331cf763631d305e88c8f85413e9d5420cc282bad24a783011184011a79a3b305db5b3032b75c55907ca5c7f839320028305c439c39484895212b1e87925999681819416dcbc7ead45ac2b1262154bce16866c04561eba2c9ec6022b07a57a67c7b901b5da3bb8025c7585c86bda0810c442c39374040236a82884199159729834663d3b1967df9955de3a387d93d50f5001924c4fe433d016bc2b6614f2d3ba72fda226864ad6ba5b8c31681dc104348ec2b29c39fc9f567cae17bdf1c6e215c92effc60e2d6a3a3106bced0bf301b542f7987b582b0780b6d398631eb8559459b1db01a0443100dcc731291c737499c2f86452394c0b6662401fb57a4db232e40d1b0f2511ee1eb15dbf7b603e2a67808c064fc5103fa7c9c954fcd12bc619582f82590b323698a328cc14acb87c217e39c309421c7e6ea15ba6c3bd8587126c5aa02c26308c9912d7262dbb91ac2c2cdbb9cb009a3ae10761771740b2e6558fae775deba7a66086859270ec07b584334900c278002d8a47d01547dba3036336616a8c12415b86a1423a6c9aab5f085c7fabb6355b3db4023e47c7917c10c284333110bc978b2c08e16512ba95a07237cc35c97bfa51bb1b25e30750e65664377ba49200aa6e935b4c7451e547859edf03bcfc6904df05220c02f5e576604a873ee82b7693b962853b5522a5b0986348da63df86a64671737c17201ed556e92acb56f065eebd31bef43ca85db1feac395e19110a2f0c5b90459838cbf779c27247709765569e5a649bf160301003169e4ac2baaa4c4697f25869ab99179f9f792d9b19df0c148df7c6b9aa20e63426697d83a6e33b35f4c7e798175bfd73ce60a050146a3d893c4dc9b2fabf5960bd80fa0679433bb33bb91915e93c1eb2aa16cb13e0b9870fef99835a674b1bb76946bc4064cafde3063498ca30aeb3983f5cdb3a6b9c4970459d969f4d8b6ba27755b6ca8fbca178dec28dfeb2ac03318be7002a9a4cd7b1749a7fc7f09a6b560740da89baab8130872510c99630f3b588069d50a9550c97f8198b7a46148fa7ac1580632db1ef49528f9125784a5bb2757235fe44e74529a7ce88e91543b2ff81d9ed78e2647aa07033cf3422d34942e7830191b104c7ed56b8951a9c8706e4cb33cb0b918387b869084386420c13b09be75d2a5e9276246b674e96bac7782541e1ca441e53ff3b9c702cb95ceab628d1617704a448ef743e8b811fe52c659cbaae22377f28646c45642a9886628c9b73c510bbfb645d4077c1d8b954bdc8b707b7f6bc4701bb1af0f28b88dd282b78b7ee96732521aa6180b6021aabb415839dc3a1f6f545c1320c58b965b62993abf6a10c18a22ce6a45539685f297b1f04a130465845d189d17552e2f4917e924cc0d2dbc2ddc739f6b876472eb12ce233ccd402ddef61523fd6fee69a88f34a34c29253478090cb4d580bc2a912645bc685061e5d4437b3811eda69c865ea9923c173dbcd4922b8fa921dc24240b2173c2e65a839357f8e4a93f51e7daed4c8c00 +m = 52081a3d33dd573d4554eb48c3f83e7961c3909b6053ae3765369b2bae10cb8c +ct = 43285ea237fd25ee82d45d3598bc34d4b932338962ad03d4f7bf9ddb083542cb372f00f55f02e2a122be3135848cfe537547196fbe5e311cc07b5354abcc221e967e854d4dbecad53cc273e6699e6f7510de0947706843aa805dd3ade35ba39cf1f57cf2a1efabd1e45eeb6e905410350828592ffffaa0dc0ac7d85f0b5317bb14b435a69dd1165847d97b899adad88eafa1dbfe2cc8fc2150908c90a33b8e63a7783b72a83a0476bae35db74052f27679257b95f2af5d841d75aa4e0dabd8bb599781c1c06e380bfc33369a0cd687b3fec78b8e667f98246a0e24c82993e647873e4077be6a545ec55b70cc6d362a8caee31a20a107599b29ba2350e328d09cbecbd0d06b74a3b7518376bc3d4df3628e171b4b9f77db3a99d4938be29fcdfccc33f47cbbb1e24210a2301bf0a49c804e50ebb2eae2da25b17ce8a17bdaa5ed473cd17b70bd49d009ced7a517572b28295ed3570843509d3f15a1ba1bb55a4429805d915a2cd15cd56024c4ac082e446442d584172ae3b61eddf05916da2d63168ac3a2b6c1e61398f513a20441fed1016d7fc9d2957f5ce46b1d1b0daf61974da9fcdde816146b480bde4f50c6a1085c693de73dcae6767c52dcf8d50e8702991624df13be459b50fd2cb6cfe6aa840a7b6ca99e068cc9b0f62972ebe035dc0b0e62effc460ca0c6d79bce59682800bebaa590d486331ead0a87ccc3a730cb8cb2c45841a942b22c6e4813ed836bbf64e3caca10e87dee4ec128de3585bf5507137872ed05724c9662417b12d9f173abb3ba53a8d0dda67009266338e6cbdcca159be0390921153ebe7924bcd5a013915728769a4e938a7b69789582f0bf579ea7a7fe556a42362f32f70a2eb2721dca8b6de0bfa806dccf736b3836716b2c62f7e788ae08994c307e4b1e8339416e06a94a640cf02e261e8f95989b8e0e8c74c6472eb6fc3055299f9bd8583b7f4dcb0d6912e028905ced44b072435b6bccbc6235a386490ec3fb974ca69da6244703d6599dedd257baf753404628fc5cc69166d87a33b79c9865cc0a0b0374216df066ae3d74bd70ea5a2046723daf58ecadd3675ef46aef079ecdd69c9f0568830cff5b36688b43debb867b9bc6c82659847e6afbaaea4905a5f24d1b89f1b83aab3be59af99ecbb845f18591df4d72b9a083e3f0c5d1ed9c8a288b3233634c02cd2e7d4403d0c34a92670d774e84d60352e1eeb246bf74efac67b7102064e30407ae35e024b1e8782ad34cf0d81404d304db4dce301668c6919323492335730ef79a3109b6366f46d4ffb797ba9a776248ac3910309b187431487d4093ea14f74abe7453262a32d326e85e7561af42e2b41996140624b8ed762b9331e5c5d9ceaafa1cb89d61be1d7419859a499eaf04c04bdea6430844446ad34c831d4ea2fe1f349623aae17c185238b2127d77fb40f4b318f2017a6782de2dcaba0a0dc50444a5518de73188b7b13e8752926beddf68bda964f8337df15a86a6795caad83a0be7cfce8db60a98d00329455972303c +ss = 247562cec50dd14948eac590fa642a465b53b8009eda63498fb5bf9c5b51e0fb d = 47550e9edacb6ddce3d9ab81f6b61080dd4f2693854acb05e0ccc7a4fb6390fb -z = f89d7d99d5c3e0d10d6ef9af054d842375f695abb28e3b8eb495100f04306e92 +z = 7e30dd3b9f9d66518a0525f030574c504ab3851b77857b70858c130ca20ece35 pk = 5fd557f7434fcb61b199e793c5e763764c48df412acb7c756e1370cd117f8c10cafb39cbf0c8c3f5dc8da1855203d02b39647856b55c38e944617b8348d16a8221962a42398fb61978f40328c83a0b49bc843060d1711e289434db4b5b0838cd87949df5ac0727d8a528b8b5bf30ccb9e37a6664050cc5880d34c13ca42c1779b8d098c5e0876627c17a79b6bad44a9a38c56883d97cf2d2b114a1c4f1a502ab4a9b7b5398d9e73e543b860f87062e27a9fd1a2035185f0d98857b0759bf1c39a41984c8c1a1a9027944417f84cca0dd4206e9133f6eb6a989075d004accd9f57cdc928cd455443f0222dcab9a8890004c2596efeb06903b5d0af33a88f14fec760fc074a3dcdc744e9864e7ebc608a56002e483e60b8202b31377dc7f5a486d5a060733fca9836aaeeae05909c6b6b0db4531271fe4f3548bd5bff1e92160321218f963081c518874c0cbb792fda4513f7902be6547745a0879ba6ccd7c0f73b123dc605bc7995bdd14b018d8278c8c3966aa87a24b4a4bd3abafe0c8173c028df14daad39c288943eac139210392bed70c38d7af7439697be96977d23a27cb6e7de7b785673c9d1b33a081a9cd417129430c6c6300c496b04e1796c9c781e4211915162de147501b7bc55f8913c66c5cbd209ba6d115f753ba739417c8eb182200113ce17c935a0622dcbc674553b9dabcda17bdbfb4865d58143c149512cc2e74a2b508f67be8058461252d95042f8b7641e1d85161521b81a616a02110d7ea3bca4723d003a4db1673d64273b34c9432ac981a0c01dc8b8c0ed5a05d20c5331831ce56014ab0732b301ca2f8569fc061ddaa95d63667b9acc7a1ea656f821d55a31b41f32dfb3b66ddd5cd2155438db6923069430b61c85ab309bf56b0ecd990427c1b7d93991e783a647b1dd66696659b5c926485e1642854f0839033138a3a54c349c138977275e71e0fe985493cb85e0923095804037462ae248780006d0778334f664262e88498fcbb22d46d4f4291bb90afbbd40fbf2b302415cf195542dcf3375e78602fe1067638ab995b70e6dbaf7b75bc11701207e489f361512b590a860401a3facc1ef1375d8b64e0e5c7f863786d3984710c2f55ecac578c41170194d832929075671b814fabf45c6e2bcdf8c0cbe2954c5a414e3f8878ab68ca13189d97f316517abb4c5187dbb03413da654e650ec1cca0bc9472bd4bcc60ca6fcdcb26e77a025eb70ec0e60e20b19d30fc261ad11d3c0c56ace53de82c6a38ca5d59e9c24568b7cd15a0531315dec20d9cc957fcf8958e3747471a8d944a6678f6ac8a8763a1759b3dc83edd18ceeda5036c31a897b65612d2b176e9648352899bb2869f48b1e70c1ff04864487258526226a7dc64306b6838f4286b9a81a3193f5c9c711dfc5b9fe79bc6cc14c934591f93860b66511aab061295af186b8ceff5772fe50dffba4f5256522b5c7c55a6ba9b13b615fb3b3bdc4b159a1c84c85d717824a0573cbf219fd9b2a32ab66bf8a498a04aa4e22509a5057997b74ab5a1b27b96656bc194af08114551709a41142b715c6e167e5ba5945729bfa702c236073fdddb4ceada972810253d642ec094333c028b0af40ce2e29993369eb7ddd07164969a62466b80918873a4ea56cd80a8e559fb30f6cce44f1f8fe60a -sk = 35e4451348cfb9a06f1836296178b6af41a1c0196f26525831c081ea779e6b8c4b3f150afe2963aa756968358bfcd47d76415ed4294f02a843f89b87d6803bad504a9165b9bedb0c946058965b64bbf953e719160b53552c100d251cc9c111837e0a7c4c043ba0777e53b39f658b41b5f8900d4721268a8ab868b15a12c3b8f41316dcbe117ab3a027b8fc2cbf3566569a130d6db132ddccc5eed69a392bae8e4a7bd6c9708a48badebaa79fa1ac1e729eee0399803a374d3733ae501f1a846cd2f5166dc31b4d53750bcccf937b1ca43c3a6cd5601eeac251f9aab8b2489e22ceff436f1142ccd1bb17dfc75db6125a1a433325a5599fd23b49bbc3d1b9195b984303735f9f2646efd050097ab23a8aa5569ab744a934c2991ba046cb012467d39c3936eba9cfec4268e1a0eea559980133b4121f9d5a603e092c199818c057b7c841a7dd00af2c0ab3637878a9ea90bf377874fa38bf290fea6131345340857a1a53d4bdd9201b99fb628d975a91001f907a2e9ad37c9b99b8af915070339fdf76125d9556b1716cb74a9f18092afd887880526fd82cb002ca49e879c50e33af2e747104674eb1f30859e3c22f3aaebfd30fd672b6ab855928c4085130488540c8cbdb832ae25249f46b7178af9769a4b359664ba48da4a746c215c58ac2752e43835b5c2a9ef0a3fca159d29038cd60cd60f5bf508521d3d59c4f083653264776501b4fc62337fc37562973a1f9bd9532b4bdb25c21597a11e17096b155cd43c76874c44f25c1aa1bbcea897367536ecf4124feb6cdf2360cd5a082ac03b5e94232dfb44e1f124fdf65a4bd03b16ed729884065d77135f1f730a7a91fc2eb43271c0b2bfb8e615c07df54041917a95b0544e8513e8c6060d14c0fb802c0f2680051341960654f3594c9972c08664b7bd30b2f031827307b95fc525a2632c2456041b1286d6f175bc0b41942e8b8be69bb364a11ab4cc199f20aeb516ced1acc1f4b2b91b860331677290c643bb9a00b4b65644592c5ca5bb19b25d2a7080cc32b08910c137946a3fab6c8e31a1e97a4735a5c0a239b073c6e056053cd6498117497870718d35235019b3ee6050dcaac31a27167fe35ce57586c364c13bcc7587ca066c6e05673e2ba0186281d94843df10bb3a93c05025c0c691a0c41b229a55b7b506724026c4f1b48313788a212b0c951783ec9447e64314e878734ab59401923ada0586225c7a5c00a5f97bb76632dec47c15c06c7c20090c790404b3044136c79f46181cb1123a7d3cf969b72f6cabe063a35774a60863267b1ba34b93a5d3db25fece84a02429a9d142ed897320bfcc114391bcc097a078b04bd9356113b3cb993c19384886df182e37ba659d5b8bee24445411e318cbd092b8f8e53c63bfa3896a2cdbdc66e27f25c83fa85c260a34fd6cfe6872172f1361aa125e6c5c6c902cdec68708c14c175e910cf002ad647a317f78f52f76bae006a3aa51780d37a00aa20c6a532281719c5ac88641a9d15549088b5a4dda23f443335abfc5c2f7c5be2a142740cbfd612a83af271af0aacb43833b56295b51a885d798825c3a2c04b399c528530ca24117b6e762c7b6527b0509b5963b68560015db4d4895fd557f7434fcb61b199e793c5e763764c48df412acb7c756e1370cd117f8c10cafb39cbf0c8c3f5dc8da1855203d02b39647856b55c38e944617b8348d16a8221962a42398fb61978f40328c83a0b49bc843060d1711e289434db4b5b0838cd87949df5ac0727d8a528b8b5bf30ccb9e37a6664050cc5880d34c13ca42c1779b8d098c5e0876627c17a79b6bad44a9a38c56883d97cf2d2b114a1c4f1a502ab4a9b7b5398d9e73e543b860f87062e27a9fd1a2035185f0d98857b0759bf1c39a41984c8c1a1a9027944417f84cca0dd4206e9133f6eb6a989075d004accd9f57cdc928cd455443f0222dcab9a8890004c2596efeb06903b5d0af33a88f14fec760fc074a3dcdc744e9864e7ebc608a56002e483e60b8202b31377dc7f5a486d5a060733fca9836aaeeae05909c6b6b0db4531271fe4f3548bd5bff1e92160321218f963081c518874c0cbb792fda4513f7902be6547745a0879ba6ccd7c0f73b123dc605bc7995bdd14b018d8278c8c3966aa87a24b4a4bd3abafe0c8173c028df14daad39c288943eac139210392bed70c38d7af7439697be96977d23a27cb6e7de7b785673c9d1b33a081a9cd417129430c6c6300c496b04e1796c9c781e4211915162de147501b7bc55f8913c66c5cbd209ba6d115f753ba739417c8eb182200113ce17c935a0622dcbc674553b9dabcda17bdbfb4865d58143c149512cc2e74a2b508f67be8058461252d95042f8b7641e1d85161521b81a616a02110d7ea3bca4723d003a4db1673d64273b34c9432ac981a0c01dc8b8c0ed5a05d20c5331831ce56014ab0732b301ca2f8569fc061ddaa95d63667b9acc7a1ea656f821d55a31b41f32dfb3b66ddd5cd2155438db6923069430b61c85ab309bf56b0ecd990427c1b7d93991e783a647b1dd66696659b5c926485e1642854f0839033138a3a54c349c138977275e71e0fe985493cb85e0923095804037462ae248780006d0778334f664262e88498fcbb22d46d4f4291bb90afbbd40fbf2b302415cf195542dcf3375e78602fe1067638ab995b70e6dbaf7b75bc11701207e489f361512b590a860401a3facc1ef1375d8b64e0e5c7f863786d3984710c2f55ecac578c41170194d832929075671b814fabf45c6e2bcdf8c0cbe2954c5a414e3f8878ab68ca13189d97f316517abb4c5187dbb03413da654e650ec1cca0bc9472bd4bcc60ca6fcdcb26e77a025eb70ec0e60e20b19d30fc261ad11d3c0c56ace53de82c6a38ca5d59e9c24568b7cd15a0531315dec20d9cc957fcf8958e3747471a8d944a6678f6ac8a8763a1759b3dc83edd18ceeda5036c31a897b65612d2b176e9648352899bb2869f48b1e70c1ff04864487258526226a7dc64306b6838f4286b9a81a3193f5c9c711dfc5b9fe79bc6cc14c934591f93860b66511aab061295af186b8ceff5772fe50dffba4f5256522b5c7c55a6ba9b13b615fb3b3bdc4b159a1c84c85d717824a0573cbf219fd9b2a32ab66bf8a498a04aa4e22509a5057997b74ab5a1b27b96656bc194af08114551709a41142b715c6e167e5ba5945729bfa702c236073fdddb4ceada972810253d642ec094333c028b0af40ce2e29993369eb7ddd07164969a62466b80918873a4ea56cd80a8e559fb30f6cce44f1f8fe60a286de7dc142efe935e84b0aeebbd32d050fd9d8b008a94e59454b19ea401611df89d7d99d5c3e0d10d6ef9af054d842375f695abb28e3b8eb495100f04306e92 -m = 32bdcdb7059fe27f6409901980c080308951ffd90deffa8317b4d213a5f04495 -ct = 5dc80ee57203c2a3a593240f5c226fb63ea02a9289ca40186d14af3d9a02094554f7b14ef4453ae4f183e307bf7b9278d01e0f2c3335bd69c14642ed5ff79c29c45afe9b515675c913ac83bbed109f7ef75ba845f6595ebac11a0e80ad13b284f035c25e9671d7bbf6d0d2c7552da1888b61a5f011bdbd83c63c2b03c8979d3868e08b5582152f4d3127fcd9e587b08a1860da14ab9d078769e7114a40d559754637e0141e3163215b30587e985329a2683baed7523e46bf08ad415e8aff8e92af2815a8129bd516119e54815a2a529ec01565f1a6cdce2d60343bccd6b705a2fff6eeafc75b73b7187769b0af07879775557278f537fe44de5d57f4854c9e0a2e7e6b55435d801c5133d133089b15064f702583f228257d9a0cad4162230596242aef6a26e5e8c79f9b405b2f196eeaa922c464eaa9f3d312560ddfe0de9650f53b07464ea6f28fded35f78a351397e23fc38bc1a790e39da5d41d33494defd5a5533834a5095adbd2b03db0e560df6bd4c64b41c502309b89f73c0ee40b9c6aae58d835d95e650ee2ad57cd0d393d76d5c9bf0b90915878942dbb05d8c5780734821937c929f1ba55c487fce1c1831524bafaaabf4d29472c82c105798a9bb324112e1b28490965c14a402e4e855da0f3e83a2df80f3f3bd8807112fe74907fdaaaf6c8d4ddf5c1e57da71b4680f81bace717b766a38c261ceed6245b9662530dae047872c4b7655fcb0ba1a3290a34110bd31a97a51d92443f6e6540b0516b1164d783a610a3f87bddf21593fb5ee66617e2bb370eda0c1da30268a6da145003cfe65114ffea6ac3ad209d9b3da1f39cbb1e564d91a9ae448c23690b77e8c9292ab6820c793e767b26cbc2eedacac6b04f0f1f742d147fc0e2b898052e1e56bad108335cb72b6d6ae792794f804db1ffce2b40c2c97048b5e8a1c6ce5fa34966fa6445adced31f6921d56a24cc323a4ad2ad53ebf4cd336998d06496724c1f9805c1b3a89b3511a143deebcbcaa4b76c8f28d9dde856f35cc7be4ff03d7c147486270b6fdbefbb08c502225aed31489eceeecad5626a028f7a7e4535211b2e85cdfa40f1380c91ab7d6f6b544baa8a1e6fd69001d0d47e2215c5158beb50bfd8cbcdc828207c5027f39cdbb75ffb878aebfb0d713ddaabd1872bf36775457bf5c2cb50b499cc3237aa4ba7ae6e62c69e317916b7548f14684cfb0dfcb1614f2d7f344bb8cc97014aca7787a133c59eef7ef6d010e9ba76367e0065bd41d9ce4d38c1a98838a43296b6cef7c1fcd671537adbc2f00ad206d742abc670ed2a52793971a63f2678e37426a34616c69ef57430568f3bcfa11973abc280fd527dcffac2fb7e612c168ad943f0aec1a7945dd77109b18901a3df62cdcbed7dc4f75d6af7a1458d0fd1ecb7cbfbf09f94ae3b593bc4f842c3b2b42934a2b62963e8bf6aff0caae36c1c887c97d2e5fb89572551dfe322593b2082cf2b37b807c2a60f23cf191fdea019d05e39a36403d595f97f46910d2ad65d812481402ce51b810 -ss = 6134219801b78f6fa5a998377643f828c19ab6fee69e7dba03c7b8e20915de13 +sk = 35e4451348cfb9a06f1836296178b6af41a1c0196f26525831c081ea779e6b8c4b3f150afe2963aa756968358bfcd47d76415ed4294f02a843f89b87d6803bad504a9165b9bedb0c946058965b64bbf953e719160b53552c100d251cc9c111837e0a7c4c043ba0777e53b39f658b41b5f8900d4721268a8ab868b15a12c3b8f41316dcbe117ab3a027b8fc2cbf3566569a130d6db132ddccc5eed69a392bae8e4a7bd6c9708a48badebaa79fa1ac1e729eee0399803a374d3733ae501f1a846cd2f5166dc31b4d53750bcccf937b1ca43c3a6cd5601eeac251f9aab8b2489e22ceff436f1142ccd1bb17dfc75db6125a1a433325a5599fd23b49bbc3d1b9195b984303735f9f2646efd050097ab23a8aa5569ab744a934c2991ba046cb012467d39c3936eba9cfec4268e1a0eea559980133b4121f9d5a603e092c199818c057b7c841a7dd00af2c0ab3637878a9ea90bf377874fa38bf290fea6131345340857a1a53d4bdd9201b99fb628d975a91001f907a2e9ad37c9b99b8af915070339fdf76125d9556b1716cb74a9f18092afd887880526fd82cb002ca49e879c50e33af2e747104674eb1f30859e3c22f3aaebfd30fd672b6ab855928c4085130488540c8cbdb832ae25249f46b7178af9769a4b359664ba48da4a746c215c58ac2752e43835b5c2a9ef0a3fca159d29038cd60cd60f5bf508521d3d59c4f083653264776501b4fc62337fc37562973a1f9bd9532b4bdb25c21597a11e17096b155cd43c76874c44f25c1aa1bbcea897367536ecf4124feb6cdf2360cd5a082ac03b5e94232dfb44e1f124fdf65a4bd03b16ed729884065d77135f1f730a7a91fc2eb43271c0b2bfb8e615c07df54041917a95b0544e8513e8c6060d14c0fb802c0f2680051341960654f3594c9972c08664b7bd30b2f031827307b95fc525a2632c2456041b1286d6f175bc0b41942e8b8be69bb364a11ab4cc199f20aeb516ced1acc1f4b2b91b860331677290c643bb9a00b4b65644592c5ca5bb19b25d2a7080cc32b08910c137946a3fab6c8e31a1e97a4735a5c0a239b073c6e056053cd6498117497870718d35235019b3ee6050dcaac31a27167fe35ce57586c364c13bcc7587ca066c6e05673e2ba0186281d94843df10bb3a93c05025c0c691a0c41b229a55b7b506724026c4f1b48313788a212b0c951783ec9447e64314e878734ab59401923ada0586225c7a5c00a5f97bb76632dec47c15c06c7c20090c790404b3044136c79f46181cb1123a7d3cf969b72f6cabe063a35774a60863267b1ba34b93a5d3db25fece84a02429a9d142ed897320bfcc114391bcc097a078b04bd9356113b3cb993c19384886df182e37ba659d5b8bee24445411e318cbd092b8f8e53c63bfa3896a2cdbdc66e27f25c83fa85c260a34fd6cfe6872172f1361aa125e6c5c6c902cdec68708c14c175e910cf002ad647a317f78f52f76bae006a3aa51780d37a00aa20c6a532281719c5ac88641a9d15549088b5a4dda23f443335abfc5c2f7c5be2a142740cbfd612a83af271af0aacb43833b56295b51a885d798825c3a2c04b399c528530ca24117b6e762c7b6527b0509b5963b68560015db4d4895fd557f7434fcb61b199e793c5e763764c48df412acb7c756e1370cd117f8c10cafb39cbf0c8c3f5dc8da1855203d02b39647856b55c38e944617b8348d16a8221962a42398fb61978f40328c83a0b49bc843060d1711e289434db4b5b0838cd87949df5ac0727d8a528b8b5bf30ccb9e37a6664050cc5880d34c13ca42c1779b8d098c5e0876627c17a79b6bad44a9a38c56883d97cf2d2b114a1c4f1a502ab4a9b7b5398d9e73e543b860f87062e27a9fd1a2035185f0d98857b0759bf1c39a41984c8c1a1a9027944417f84cca0dd4206e9133f6eb6a989075d004accd9f57cdc928cd455443f0222dcab9a8890004c2596efeb06903b5d0af33a88f14fec760fc074a3dcdc744e9864e7ebc608a56002e483e60b8202b31377dc7f5a486d5a060733fca9836aaeeae05909c6b6b0db4531271fe4f3548bd5bff1e92160321218f963081c518874c0cbb792fda4513f7902be6547745a0879ba6ccd7c0f73b123dc605bc7995bdd14b018d8278c8c3966aa87a24b4a4bd3abafe0c8173c028df14daad39c288943eac139210392bed70c38d7af7439697be96977d23a27cb6e7de7b785673c9d1b33a081a9cd417129430c6c6300c496b04e1796c9c781e4211915162de147501b7bc55f8913c66c5cbd209ba6d115f753ba739417c8eb182200113ce17c935a0622dcbc674553b9dabcda17bdbfb4865d58143c149512cc2e74a2b508f67be8058461252d95042f8b7641e1d85161521b81a616a02110d7ea3bca4723d003a4db1673d64273b34c9432ac981a0c01dc8b8c0ed5a05d20c5331831ce56014ab0732b301ca2f8569fc061ddaa95d63667b9acc7a1ea656f821d55a31b41f32dfb3b66ddd5cd2155438db6923069430b61c85ab309bf56b0ecd990427c1b7d93991e783a647b1dd66696659b5c926485e1642854f0839033138a3a54c349c138977275e71e0fe985493cb85e0923095804037462ae248780006d0778334f664262e88498fcbb22d46d4f4291bb90afbbd40fbf2b302415cf195542dcf3375e78602fe1067638ab995b70e6dbaf7b75bc11701207e489f361512b590a860401a3facc1ef1375d8b64e0e5c7f863786d3984710c2f55ecac578c41170194d832929075671b814fabf45c6e2bcdf8c0cbe2954c5a414e3f8878ab68ca13189d97f316517abb4c5187dbb03413da654e650ec1cca0bc9472bd4bcc60ca6fcdcb26e77a025eb70ec0e60e20b19d30fc261ad11d3c0c56ace53de82c6a38ca5d59e9c24568b7cd15a0531315dec20d9cc957fcf8958e3747471a8d944a6678f6ac8a8763a1759b3dc83edd18ceeda5036c31a897b65612d2b176e9648352899bb2869f48b1e70c1ff04864487258526226a7dc64306b6838f4286b9a81a3193f5c9c711dfc5b9fe79bc6cc14c934591f93860b66511aab061295af186b8ceff5772fe50dffba4f5256522b5c7c55a6ba9b13b615fb3b3bdc4b159a1c84c85d717824a0573cbf219fd9b2a32ab66bf8a498a04aa4e22509a5057997b74ab5a1b27b96656bc194af08114551709a41142b715c6e167e5ba5945729bfa702c236073fdddb4ceada972810253d642ec094333c028b0af40ce2e29993369eb7ddd07164969a62466b80918873a4ea56cd80a8e559fb30f6cce44f1f8fe60a286de7dc142efe935e84b0aeebbd32d050fd9d8b008a94e59454b19ea401611d7e30dd3b9f9d66518a0525f030574c504ab3851b77857b70858c130ca20ece35 +m = 6a56ea6b25105666b70c77c9027468b84e2b069070ef3380403066430733575a +ct = ba04778d05ed448b71b15650a7511af5c093b419ca99716132bc241e4e719b36d6b90ac08ad151f75fe51c3102b066c618cb0f71a73a62be505c614bbe11ea26a654f6859b8b1c34e547b956137a73c0da40a48409178e58cd3f2b7b9ef396c341eb5cc544d7aa5a27140cb61b352fa089e37969330fdefb39f7948db00c0bcd8f825f19954fbb8af0ae9a12dd2da30c8218c33352ed79f70ee8b734f8e9f7da8673ff996efa862503ebab8d7659096ee9f5c6b152b67958c503cb452087c89299097f410dd6a6fe3113961297d97ac6ddd5a6b6418e36872e2566122c4cfc848df8f64cf477c1839c8c6b69fcc6c6d668d290fcdee1d2f9e49340bdfef34739268f18ff2aecf83f2f8d03d39517b3afdf35808825c6bd0872ea9cc98cfc9101b2cec55cc6ab6dada8ab042147bed31f74245e09460706b0e4e999c586bb70c2e07e94bc5787f196e2fe3b6163481ed917b4e3d751e33819926ae359981f67762be62a645c45a5fabb86a9cf67d1db5fb57e7583c67d98976040ac8e23b03aa0808b670fc4f8a6de255d4dc12ee1c537ea189ccc3d35423937a6626d37f4ac03be8a9ebc7b8ab597078385327f4fc7ec10ae8dfa53cbf75b6e222c347c7aa83675a01d2613c05e404eb13057a2c2a222ae525ee2d5aab0489622600223a25abb44f42887722f31ef64766ec80859986d5f2c2aa0b1570492b39c28e7f0d3cec25aed62dca0791cb42145d5672eb2a252457701c00807838d2f8ad1493d3500ecb64a7b2856898e979e4947e83d4d1d2ad4078916c6b31e936373c46860afce5f2a2f186ff79eec79d7794be73875f7b76c114e1523b6460b2039bead802255801f682c120638e4506c1aeeabddd5d93c550eed03108cead1bed23d4573bf59ca7afdef0054448ee8dddc91f339a8c5d23b10042cdafb5bdde4abb0472e8b02ce4df2bd10bf2edafd6f8a3db05fad66a6610a66e4f4ab5a93de15ccc25a23c438963b5258030bbce1b2268958536277ed91a07b08713b973bfcd1f151ef4039e0bd9a5d605ae4e82e97d90ee5ee6b83469fb4f4649b8d5e6b2efc5acb710e0851cf25a61acfdbd1b127ee48358a62218100d2aef0b7d4684c1a1c3de597bff8c9073be1d7accb97a0d9e75683c7e53c9c01bedfce8a10ff0121ac388e8e08e15b1667afbae0ca61c9544e62a91a34d0a9c3baf02f010da20f601690425d229017fd543a2d8e7d9c23cc3778302b853a772e05856104310d119456100f753f8347495c0c7fed930ca8a1fd0ccaa427e04e9e494f6e0d9625e5d7158e598383e2a2cd2be71cc6c0e20eaff950fc8ff8bc31861351241175d309d99696d739ee55e60414361f57b15fb251f550b439cc88cdf1a792a9692d611934aea9247eeecaf733a55eb20b29d6e4f18a826ed360445de3711a179411c9220884807329f2295162a748cfbad260dd850cef6f92c730333a89dd14a2ea4a61e46a21d37d925f7698f0db809535f39ff0c6419887ebed10f84cc08dbadff84afdfd20c512f34450 +ss = fd125b3f05d1effd5d5780f04bcb63093a5d46546672fdbb3c20c9d88e178c97 d = 610afb64be8cc1df288cfb016ee2f44c6c07113de7f6fee071fe0c3fe31c6215 -z = cd292e4c5f9e1a55e0489bceffb204d672a6215f4f3980a646d9f880817c52dd +z = 05913ffc8d7fb91c97dc1e0bea9dc9955fa28b3cc0b7415c192f81912d70516a pk = d5f135d06aa99635c9b53244e1f898d8494b681312bfd243c8ea5b7e71ccb7a5386e477d01fca3ef4122a63934843450a446caff55184d052923a393fd887df6b045659cc282d1424b19b17cc2a2384132eff067a0347f88c6b392aa56a3519a440438d3f90f6941112124c91fc31187ab0ce6752d9b336a1e230f97837a657599e253b7798c912a66a48314447c352b84590941355c6bd1c0951374105858a46502ef39cbb58b8e63a64e2b99c4825912155695893a62af6745e76058d551a946161f25f1b8fc045602344a7f342facc50e9565c1d59a459d34233c1921ceac6e0bd936b496c8fd6a619d8b0649eb458f8943eac97293635092666688db559d255ce9f280227755c3605d6ed007ca718527227fa1f40dbcd88792801d8db6b2374a23178a72276c790f902d7e969f2686c9508186788905e77132dd909397f6b6bad3ce77e8cd4c4a3b9686cac35abc86d57e911cb58b0c997c1935ca64918370809d3b1b70cb09641878e7c0a141573030aa2b687761bf43ac89a81e73376793ecb32db53368ec9e079172e9aa482fd8652583b9155683da3467e4546f26ac98371487527c37b6646ca582017892a188fb2440ca7240c3c22577230b59ab8ec038bb95cc49c2a2f59a4a22c0c482713544fbca9d7404b3a6ad86e8764a601b7084289858bf62a2828d3091ff015089726ca23b1ca0f87195ba1abf80b01f101f8584c15289196744500000b431a60267174f2cc56860bc5ab4ec20d19ba8ed47535eb42fe1d33f2980ba211805a3618f2ff64d1cc634caa6b40fd23615538366dbaf41971d8b5857298c1e406a293c1b8b7f4a499a97be8cc51b5382020ea9c7cf809fa7323134290fa461218f4a6f495caba2d1511ea48b7e0905b0465f7a6711f2716b17dcbb4b9a1b31933d7d3622315c79f3f11a93c8058fbc01c4839a808a5d2d45b99f7918faf52db1d81d669c7988ba7eb8847187ac7b76404b1a139dc4e4917c9b4e29833fd9fbc36e4bba96e25bde691ce0c369ace7183c762bd04785efcc6b614165c014a0fc4b64b24b3b46418ac5b6b7bf69cbc75090b69aae46b4a12feabd4e134bcaf14922367b50f17976c6705e175ff34612cf7b086ed733deaab0ca815a53c99b2985963db89bdc284d251340b0e3ae20990ee93344dea18063db6ef4374a331244ede00b46676475937a9472c82e124b1751a9e4203becc77ace092b055abf0892637b39c3a9a011219c88139277b8bb73b9508142421939380acfc2b81523c72e923609a0505e2979e086ab85f9663e549f3350a694458ce7b02bd8716c0f8b8946a21d99d97632952bee898989c1adeb710e15bb25b0a22be598a65465bf2b899719d00f9d16367e9436803ba8c17b6b3bf62a10a017c177125396bf6745163fe24c455319cea69393ccbae42508156167b28a1d1050bdefa5a789bc389031bd86e72af5f5bc80a215260737839654998295d5aba8c11a5417b55d67201243393b7593400d46cca1d321c027bfb09cb08a1738c88b7d47e876ef7517f8d96cc1c93b9e93b7062227a55996fa958a684aaeda89587b015a6b336dfb610721298ac6ab713f3a2e37b2aa7b1ccd2a876f03c72546b861e351a73036f4b363137340efa7764c439f68d3c8e0723683aa8254a66284f447 -sk = 03a941a829c025261f44172acf806bea5b216b58bab845328c36cb925a5169d6b1ff141ba44010ff2c1a446113c443c6d98ca879e673cccb84d5519067619edf59c23798b9b6bbcdc0d49df5f4b21563ae54e287dcccbe4c53c62918a6a213c460eb8c92377cb57a1b6d6467d40297fb90c6907b6be5b03db314c3ad5b2f46999743ec7ff0b055af2b2753695395c6157c60115e183dda398d136806b7017bb4fb4f36b7653bd17cabd1bffeecbaf2eab65b853c710820818b05afb86388f327fea6c3562a027c610afd9c0bbb23a571489120c2baa0d7aeffd196b2dc8b40d4016fda16062512a64462fe806d5959c49dfc0c9b2955e6480b7af0011edb2d44c6a43d08b5f469656cb9396c9c640bb077cc24ac0f293bab4cbadd998ecdba31534408b74420cb432826cb5dc8224c48159626053096063841153f723761f83315629c945778a24f826a28a90a5854ba7e80c48e44929eeca17e28304babcd0af4198962a045292f09ab5b7197a685a67d07ec9769b69e64ea1457fb8e1a70b23ac4a797132b021244944143e936c6e5d840494b674fdc9aee84a091175f8e3121150b1375e028d0ab6b709a443f14c56ab67e3a8721a4b698eac9615fa12c0e5277e4a412508446ed4999687ac5ac626ccf5468f3e944b8d099fdc319337c85e5024a0798556cfabfd47a40146691d32c0f179b5bb3c3088f2cb29e2b961b630610d1528fab952dc75d23339c26a38f68421c12c2360f369abce128cd64551ca29455e02aec7c359cf9182f5642f1bab42814aea8f2844af15670421e0e113063b4b8c614487f6b6236dcb21e48613c0635e5f6a6a6e070fb665756f98156c65a6f407e1014bd6540a92e8a09ef6c944db876250b951d16332251c5bb6b79f88928adf6bef819a241068b08337136b8bdc33476fddb0292b68ede75490db193e267bbf2f8459fabb17d10bef7018ae895995200453065ad45457e3e86a12c554db3617a99613767598031c86bd5815585444dfa41cbe068034fc0a1cc2636d010230870776d2645db640b409a292acc909aaa11d0d05a1b1469ea2673020bb7ebc7381190c271e2cf73d37f61f12c8389843b0540117c7ab924c140d1409f701ab0c0596103a1aef3c93a2a79be19c7870abe83232a7de265a1a1280d30490ff50c414a006d8a403c50948da4b1054b18be35a8f9252079c5acb2104bd42ccb51617839e07380fb3a62b3a5080295bcca410215ab5c30a89b727363185363027bb1a6b09fe83233d79e4527371ecc8b879c81a25b3e6e088d2e786976396ef8d6c383495b52eb69bb718dd7facf5f120303ea259fb2bc32a5269ab45e6bd8ab9f9456a68b869a4c13a0b6c98dd1bf276572efc9a31591acb33b9945919fd20495db284bd4ba7c66620754e58396c0a191f20304b545aa2279cbe62d08eb4c82e60569598147f9910ef70abf792d375420bb999e4a9cc28db0193a124d0cc78807a54d13933b25b350a16c842e4b31337bc7734104fe564c20f27ed6ab800717baac4a9c954c6ec5238bcdf309c6fc497a6a9b9e4973d7d44ea53b90db26912ac7796c327d24d3705db5bd0266b17b145fd8ca77624c8eccac1c209073b2a639d5f135d06aa99635c9b53244e1f898d8494b681312bfd243c8ea5b7e71ccb7a5386e477d01fca3ef4122a63934843450a446caff55184d052923a393fd887df6b045659cc282d1424b19b17cc2a2384132eff067a0347f88c6b392aa56a3519a440438d3f90f6941112124c91fc31187ab0ce6752d9b336a1e230f97837a657599e253b7798c912a66a48314447c352b84590941355c6bd1c0951374105858a46502ef39cbb58b8e63a64e2b99c4825912155695893a62af6745e76058d551a946161f25f1b8fc045602344a7f342facc50e9565c1d59a459d34233c1921ceac6e0bd936b496c8fd6a619d8b0649eb458f8943eac97293635092666688db559d255ce9f280227755c3605d6ed007ca718527227fa1f40dbcd88792801d8db6b2374a23178a72276c790f902d7e969f2686c9508186788905e77132dd909397f6b6bad3ce77e8cd4c4a3b9686cac35abc86d57e911cb58b0c997c1935ca64918370809d3b1b70cb09641878e7c0a141573030aa2b687761bf43ac89a81e73376793ecb32db53368ec9e079172e9aa482fd8652583b9155683da3467e4546f26ac98371487527c37b6646ca582017892a188fb2440ca7240c3c22577230b59ab8ec038bb95cc49c2a2f59a4a22c0c482713544fbca9d7404b3a6ad86e8764a601b7084289858bf62a2828d3091ff015089726ca23b1ca0f87195ba1abf80b01f101f8584c15289196744500000b431a60267174f2cc56860bc5ab4ec20d19ba8ed47535eb42fe1d33f2980ba211805a3618f2ff64d1cc634caa6b40fd23615538366dbaf41971d8b5857298c1e406a293c1b8b7f4a499a97be8cc51b5382020ea9c7cf809fa7323134290fa461218f4a6f495caba2d1511ea48b7e0905b0465f7a6711f2716b17dcbb4b9a1b31933d7d3622315c79f3f11a93c8058fbc01c4839a808a5d2d45b99f7918faf52db1d81d669c7988ba7eb8847187ac7b76404b1a139dc4e4917c9b4e29833fd9fbc36e4bba96e25bde691ce0c369ace7183c762bd04785efcc6b614165c014a0fc4b64b24b3b46418ac5b6b7bf69cbc75090b69aae46b4a12feabd4e134bcaf14922367b50f17976c6705e175ff34612cf7b086ed733deaab0ca815a53c99b2985963db89bdc284d251340b0e3ae20990ee93344dea18063db6ef4374a331244ede00b46676475937a9472c82e124b1751a9e4203becc77ace092b055abf0892637b39c3a9a011219c88139277b8bb73b9508142421939380acfc2b81523c72e923609a0505e2979e086ab85f9663e549f3350a694458ce7b02bd8716c0f8b8946a21d99d97632952bee898989c1adeb710e15bb25b0a22be598a65465bf2b899719d00f9d16367e9436803ba8c17b6b3bf62a10a017c177125396bf6745163fe24c455319cea69393ccbae42508156167b28a1d1050bdefa5a789bc389031bd86e72af5f5bc80a215260737839654998295d5aba8c11a5417b55d67201243393b7593400d46cca1d321c027bfb09cb08a1738c88b7d47e876ef7517f8d96cc1c93b9e93b7062227a55996fa958a684aaeda89587b015a6b336dfb610721298ac6ab713f3a2e37b2aa7b1ccd2a876f03c72546b861e351a73036f4b363137340efa7764c439f68d3c8e0723683aa8254a66284f447029a2e12c3e6aa668afb5be8a82576813fac7b8e61c5a88aff94ecc2770c585ecd292e4c5f9e1a55e0489bceffb204d672a6215f4f3980a646d9f880817c52dd -m = 4ed7c92d83bd03b2a25b567f17ae55542e2f6a4308ec0f3fe69f8ba5ae24331b -ct = b998b14d416ff33bfb8b90cea80cc3b15f1b2b3904eb8bdf16aaf43944782d1158949bf229ac7de3739ae24d00be3c97354f87d52db95d38de1cce5861c2c6b51879022ecb412c5a5f6b01968ba26073a2b4d50b3d5187ef0983ea79a5787be6e23c148979e9ab236630819c8e115063514054590670e7fa6ff25913708df4c7a30a193021311899ba6e7f33f749ec04679ccc6e24c23cbe59280213056d2c71f903bdb769b545cfc1bf53c9c9e825345ad6ebbc6a6086b19e160b1b11cce7d76be9f2e335e115a6ffbe367a3edab359216fa57c6ddaa927fe58d1a824eea6ba19fb63c54bc9c25c83f24b51954e2772bcd80246776e5e5950a30f85e05664c54ecdcb55abbec7599acdd9ac8fa721d6ef099c65e033d2cc319d9c6649d5491e0f7160dd4e7eb998442c45b28a6537b999952a77b908896560de0de523329c98e94e440814b9bcc1e3ed4103872eac7da049831db43f643766b412bc417a18591afcef418f898b0e1cf9d7e8b3961718f3d8066c2a220f6323c68c2a208dc6503563eb2a0541cb98b50086df84ad0807378360f0997d51c2a7f803cd3435758002f933a44d099a1d72e791d7b8753ee116d5b896a270c4d6559abec9ebdd1fd541073400208332d78934953f0c69c5ae9a3cf1e9855b54dd0080e1108cc38f83d6b4bfeef37c49668b4ae5cfa7551a5faa8c3660d92c8385cb64495e243423dade733e03af0a6e6513b4b272182be4b5360673e68ae4999a25b090b063c956247ac6781a60bd0dcd72da26186db0597c7bd796c7676387b59148fc19280f6b125448600f19643a2b5c7b65deeebce490928bb42c176d51a41650155b1a528ce6ee74b190032f7ef7d337a45adb2e3be9bbd0dddac77a1b9336b6560518d098bcc8e24c8ccc4c992b8e2ecffc89b46794918d6ac78a29e9bcc724fa487cfe1eb6d23af5f76ccef6a497ce48a05548b19955174997961085133048f3cdfaf716b6097acdd43ce2ca1ccc1acd7fb02ebba182837246d62c0d12195d8424bb998d093e6e578214fadc5cdee3b41d11727677bfcb381e38f79731fbdbe585e4a5477225df9730c5108cd0d4e199778168ca84233b35f362dc40dfddc120c1e033c508a0673687461874f5fc402af61a62e5de21b4b62863557794a851dddd094a20a59219748bf71d54d4d35a14eee2098d90044a95b4ece40a679ccf781214e8c85a5bbc8974206713c659a8915753434314117f9d46011c8c687a4bd867b81405e1b8c53d493fb2443514fffaa6a11a02ee5efb90c61f1b93be985fcbe6189635a35f50f81b0457534fc5a76f541b67c2685bd06d9a00ac4a56dae3ae6fd44841734f89d2e0b42c04f7ce9a4f0b5ba28bdfccd378e60e2d6101ff560e379fdcdaa13ee79cce316c4e4d4d4adabce0c1fd7d90fa81360b6db61f8ca5192aff6e174b227a2975eec7cf1a01f6a4ca5488b1263c693f5208b36d21c484e205709d5569da755e5818ce2d04a04b35063fc2a7aea853af1e1db3550fc7b05bbbbee59d94 -ss = 787ed075f818be6a0eae99b113dba31002097e0b85a5480003c505a40793403f +sk = 03a941a829c025261f44172acf806bea5b216b58bab845328c36cb925a5169d6b1ff141ba44010ff2c1a446113c443c6d98ca879e673cccb84d5519067619edf59c23798b9b6bbcdc0d49df5f4b21563ae54e287dcccbe4c53c62918a6a213c460eb8c92377cb57a1b6d6467d40297fb90c6907b6be5b03db314c3ad5b2f46999743ec7ff0b055af2b2753695395c6157c60115e183dda398d136806b7017bb4fb4f36b7653bd17cabd1bffeecbaf2eab65b853c710820818b05afb86388f327fea6c3562a027c610afd9c0bbb23a571489120c2baa0d7aeffd196b2dc8b40d4016fda16062512a64462fe806d5959c49dfc0c9b2955e6480b7af0011edb2d44c6a43d08b5f469656cb9396c9c640bb077cc24ac0f293bab4cbadd998ecdba31534408b74420cb432826cb5dc8224c48159626053096063841153f723761f83315629c945778a24f826a28a90a5854ba7e80c48e44929eeca17e28304babcd0af4198962a045292f09ab5b7197a685a67d07ec9769b69e64ea1457fb8e1a70b23ac4a797132b021244944143e936c6e5d840494b674fdc9aee84a091175f8e3121150b1375e028d0ab6b709a443f14c56ab67e3a8721a4b698eac9615fa12c0e5277e4a412508446ed4999687ac5ac626ccf5468f3e944b8d099fdc319337c85e5024a0798556cfabfd47a40146691d32c0f179b5bb3c3088f2cb29e2b961b630610d1528fab952dc75d23339c26a38f68421c12c2360f369abce128cd64551ca29455e02aec7c359cf9182f5642f1bab42814aea8f2844af15670421e0e113063b4b8c614487f6b6236dcb21e48613c0635e5f6a6a6e070fb665756f98156c65a6f407e1014bd6540a92e8a09ef6c944db876250b951d16332251c5bb6b79f88928adf6bef819a241068b08337136b8bdc33476fddb0292b68ede75490db193e267bbf2f8459fabb17d10bef7018ae895995200453065ad45457e3e86a12c554db3617a99613767598031c86bd5815585444dfa41cbe068034fc0a1cc2636d010230870776d2645db640b409a292acc909aaa11d0d05a1b1469ea2673020bb7ebc7381190c271e2cf73d37f61f12c8389843b0540117c7ab924c140d1409f701ab0c0596103a1aef3c93a2a79be19c7870abe83232a7de265a1a1280d30490ff50c414a006d8a403c50948da4b1054b18be35a8f9252079c5acb2104bd42ccb51617839e07380fb3a62b3a5080295bcca410215ab5c30a89b727363185363027bb1a6b09fe83233d79e4527371ecc8b879c81a25b3e6e088d2e786976396ef8d6c383495b52eb69bb718dd7facf5f120303ea259fb2bc32a5269ab45e6bd8ab9f9456a68b869a4c13a0b6c98dd1bf276572efc9a31591acb33b9945919fd20495db284bd4ba7c66620754e58396c0a191f20304b545aa2279cbe62d08eb4c82e60569598147f9910ef70abf792d375420bb999e4a9cc28db0193a124d0cc78807a54d13933b25b350a16c842e4b31337bc7734104fe564c20f27ed6ab800717baac4a9c954c6ec5238bcdf309c6fc497a6a9b9e4973d7d44ea53b90db26912ac7796c327d24d3705db5bd0266b17b145fd8ca77624c8eccac1c209073b2a639d5f135d06aa99635c9b53244e1f898d8494b681312bfd243c8ea5b7e71ccb7a5386e477d01fca3ef4122a63934843450a446caff55184d052923a393fd887df6b045659cc282d1424b19b17cc2a2384132eff067a0347f88c6b392aa56a3519a440438d3f90f6941112124c91fc31187ab0ce6752d9b336a1e230f97837a657599e253b7798c912a66a48314447c352b84590941355c6bd1c0951374105858a46502ef39cbb58b8e63a64e2b99c4825912155695893a62af6745e76058d551a946161f25f1b8fc045602344a7f342facc50e9565c1d59a459d34233c1921ceac6e0bd936b496c8fd6a619d8b0649eb458f8943eac97293635092666688db559d255ce9f280227755c3605d6ed007ca718527227fa1f40dbcd88792801d8db6b2374a23178a72276c790f902d7e969f2686c9508186788905e77132dd909397f6b6bad3ce77e8cd4c4a3b9686cac35abc86d57e911cb58b0c997c1935ca64918370809d3b1b70cb09641878e7c0a141573030aa2b687761bf43ac89a81e73376793ecb32db53368ec9e079172e9aa482fd8652583b9155683da3467e4546f26ac98371487527c37b6646ca582017892a188fb2440ca7240c3c22577230b59ab8ec038bb95cc49c2a2f59a4a22c0c482713544fbca9d7404b3a6ad86e8764a601b7084289858bf62a2828d3091ff015089726ca23b1ca0f87195ba1abf80b01f101f8584c15289196744500000b431a60267174f2cc56860bc5ab4ec20d19ba8ed47535eb42fe1d33f2980ba211805a3618f2ff64d1cc634caa6b40fd23615538366dbaf41971d8b5857298c1e406a293c1b8b7f4a499a97be8cc51b5382020ea9c7cf809fa7323134290fa461218f4a6f495caba2d1511ea48b7e0905b0465f7a6711f2716b17dcbb4b9a1b31933d7d3622315c79f3f11a93c8058fbc01c4839a808a5d2d45b99f7918faf52db1d81d669c7988ba7eb8847187ac7b76404b1a139dc4e4917c9b4e29833fd9fbc36e4bba96e25bde691ce0c369ace7183c762bd04785efcc6b614165c014a0fc4b64b24b3b46418ac5b6b7bf69cbc75090b69aae46b4a12feabd4e134bcaf14922367b50f17976c6705e175ff34612cf7b086ed733deaab0ca815a53c99b2985963db89bdc284d251340b0e3ae20990ee93344dea18063db6ef4374a331244ede00b46676475937a9472c82e124b1751a9e4203becc77ace092b055abf0892637b39c3a9a011219c88139277b8bb73b9508142421939380acfc2b81523c72e923609a0505e2979e086ab85f9663e549f3350a694458ce7b02bd8716c0f8b8946a21d99d97632952bee898989c1adeb710e15bb25b0a22be598a65465bf2b899719d00f9d16367e9436803ba8c17b6b3bf62a10a017c177125396bf6745163fe24c455319cea69393ccbae42508156167b28a1d1050bdefa5a789bc389031bd86e72af5f5bc80a215260737839654998295d5aba8c11a5417b55d67201243393b7593400d46cca1d321c027bfb09cb08a1738c88b7d47e876ef7517f8d96cc1c93b9e93b7062227a55996fa958a684aaeda89587b015a6b336dfb610721298ac6ab713f3a2e37b2aa7b1ccd2a876f03c72546b861e351a73036f4b363137340efa7764c439f68d3c8e0723683aa8254a66284f447029a2e12c3e6aa668afb5be8a82576813fac7b8e61c5a88aff94ecc2770c585e05913ffc8d7fb91c97dc1e0bea9dc9955fa28b3cc0b7415c192f81912d70516a +m = e75c36e2c2f58f47597a06ff4be1caca2984c889e08a9c9d4b2831d6a6ec17e1 +ct = da5ba9f8759303d89b9bd2e7bb0369e703bae700a65ba8a9adbeeb6407bb83a475bc3b622eec072ea4b16973e2deabf87203f3a283c5ea343fcf199588836e88aa62018f0dd1969ead44584196e2419584f26faba9975923fb34419e3b42ff55882d3edd07ba0664032d105b86fd08cc72d53508cfc659326a31e719630954a96fa3b4513a69cad5fc00cdd8e83d85ad21f4fc134f8f4ff01e1c7e6433f8a501bb5cd87a5933beb16932483c0c9143e233e537b4dac97ae1da6ac17a622415a10eadefb5a0291c165b4d09fc42a584e15482a8c064d31d08337fad45d6bbc0ff3b42004fe76a6d73c161264429e865f486d66e26a3978a939fbec21a0fb798c16a967e958eee896d448ed9e71de68b7976ab8ce4b3453f8e8a87cce6bd1853c199bc0c266601bfa1cc9df42e54a74ee4b8a5011e180f4758fcd1150b3da0d80729c3721eb856b613c7bead0b7ee557aef68adf105c0b8381d5d1788dc2e178458f28e8d2df310ef26083a8c21c7ae5a43f91fa1e6c83012d87a9bd6d2302361f7e2779e91d1c6d2c58a1ffb167adbc1ffc52878340db9c423a61f06539ae3282df44dc466034dd2897718b01226e88cb9cc943be902350fac2266f3ca485ecef3a54c8f73183af33869c4d6cc969be4e9976609fb48303782f21782280600092fbf5e00dce7cd6947ce390d3f4f3d20fa557e67ea49da6b81f0caf72c619095a2221d7ae4462c478c70a379d64468a30e4e5eb584a1d544faf7e1d8b650d140db1e2ff66e4d9d1b4148990606f38c74068271fa7d8f583651015af891dc2dbeb0ac03a702808da5e8432d24cd70a0bdf545bca59518bb833ecd3564a3c1d27f055ed159dc3a81d6bd93cef3fdcc5722f1658af488db4160fa97e20d5dbf16cbf6491392a469ee585403127d6defd434b3ee2ec6355cbe865166176817e0b3ccb87206e72dee4155b834252810a7362ddff9db5abebb76ceeee10edf9c048479aac5f171da5a9e67bacc9ade65b4d540e4629929eef2dcb1ef6999682ea0a8966d551d2cc643ecbbd51541587bc2b0d16975fea30a46043b490ed70e7a0cd3ba6c1a0ed4b1122361965f0139d3d45fe38fa9b7de94be4454d57975c9f83d6bc69ed644309c621176f0ed6a9d47ec5ebc18441cfc69852d7bfa4921e9fe409aad5a67e6db7c40f724f9dda2dc982fa831fa09ca50d73b69e554127796bf5b9c7530c087667e3a4d488076b32d45e483ef59cc8d6c2ff89990006055145979369420647849406a4743e8355ad1b5ed56ed5d796c44289c1de9f83d428468e79242adfae7bcb09667efac67e59c9e8fb9476d5e7cf55a4c1125054bac8167f1e5d3f354deb8aa7defe422a4c107330d07c4e1c736d8b51ea340ec94461b87e75f498add59cc607a47db7190896edf18632ede519a0ac2657d415fed03e097a463d6c7127a25afa34ea0617bd4f297dd37bf0a8dd2edea47655035f93193c68035be223833fe08624353e7c3e52fa5335a2d93edccbb27e7109878273c5bd030b889a +ss = bcc9c42039a770e1846a38e37e1a5e7702300e9b29de5241208bda4b1d8fa98d d = e1953800acaa85ac02a906c72cb8e8d704e8d27820345f88f71e89c1f549afcc -z = 8c64c049c6dfc0f1476cffd520b055756162f7ec94243de6b14ac0b9e5fb366c +z = 97c65a12d87432f475509f11e0884fb51b5d970c1b6d2c87c70590cf41c16b4f pk = 26ab73a3355199a1833a1268a37a087ddb57ab621046db1f407c804c488e4196048ceb762b9024c2157e7dccaa1a762881280715a1467e766dccb159f4780a39bc4f4a59715700070318c2ae03706b639f79a8a81af34fbf6c9ace4843151ab5c3cc81af08ce392335e4fa913052119904745ec68cf3502f4663bda74522ddd61a318539e10a853bc90a5b06aa12018c6bac4a8123719c567719cb723b420540ebcd84c2787f37a76c6c40fc983436c26f7fdb14df17062be752af2c1f1cd1026856500f3831cca75eff7a08d4d9c819d295674550c1c951ff9a0155856c3cc143824556c09025d55b0db7192d969926c18912bf5ca8629401b8c53e23832cefdb369020583b360595541f48573ba1557fd0c1058a8cc5ea7ca7f092b7dc7b4b04490fa4e72a37aac0e33b1746aca327258d9d29acf140c5f70b8f94a23195d60d30a498259c6f9d06bd69f82398953b4fd39adeca972851431b59c9614b7867cb1228e2519ac130f003903d801f70bccd776a9b916684cd89cd71723ca732a21fecbb90d547646b987155cf5425abbb2406cdc1821afa8da120a540d1c3af175032444e1fd85f43f47903665be922636755b5e75a90931c66e89345f57ca4a032959bdb4521cb62bb1377dc5c99fbe36c71347b81a80b6b7251fac3732475009a719f4374bd5ff01cce4601e761a754e05756968f33fcac4d6a540d93951d0bb4d0d838a3112872020c2dc67718888dbf408941b877eb6543432675c879aa85f102e608aedf267e32d333ca9c3860f907f17b553580aec75902ec304e6c7996ee34061b40a9f4f8ba2ccc55775490dc9c2a6d5c0134e809bd305d7445c9ebf7b89f9604146b2e55a1090597033bab2a25a3886dc524f4908adbe98dc2d74386806ad641712d9c23a19562e4ac7f57a86fc98663e455bd963c4e63d8471b504c14eb718d8bcd6475cc45687f55099f8fe2035f3812f081b6df2a174999765cd69433e5312be67698346fa1030a40943f8927b2cd8a1e2cf2514333bce85a89a6a99d03c4a5c0b847550972f9d1448d1819b3582b99a50ff97c124398cff30967013c4dc4d374379b4e8b037eb0e570aec147a1c99cadbb651bfb576ad61bc5449c5737bc4ba4a01f24aad80375acbcbaafeb564665a192211b4d6918260c1251eaa1014c6f41427465609310d8b665c6763639c71ad48019905cc0874be438023936856017b5562a9ee79686bcb55e04a38eb9b3bbfc07acd4865860a77af3b5acf7db344f139f79d5953778124c2c92d29cbfedc21678e54861eca5cd350fa09b1365fb74435316f37386b9b510e2bc585da30a71ecc7b9913921ec8d8fba2dbc97807b693b1e306832507cac90410e0576611ba79c1ca9c0b106d0147680790ec5051798592d3035aef57a0174cbc70b435710c51695852841907d41a8180123a4d911787b674acb513c84047bbd5851c3e83a8a046062c06bd84397858241c95b8d8d2a2c53038856247506065a70a5a29b701bae1b488a68c2bf02472d86bcbfe263e7820902102c612747cd60344957a871c7774a0980b70b56f7bc45f8e2bd2085af080cb923b55640bab2aa2c30f206ccbad17bc9f58c1cda80399962268f2ae99c43bbc1fa7d8949cd772a745bd9ab018fd3f6ed02f32cd2bf845923 -sk = c842401604c8c4c78d8417c804c2723b14733044aa2755897f65987951218361a07aa84d6af8a956454036b79e145c93b9d4b862146bd4db824cabcb61fb91bc306f851c9e93ac266e3c9e9c939be422b07e512d28503a6efa9d3ea8861e39b1ad481b8ad1805a8c0d48179aa1203c2ed7bb59d5c8ef651281c77f83ac7b49eb997965b161db025b47ce6e2c09edd41f5eab1c8b7b4d20783d60c90dbfe6ac387b629be10351868186f6a0bf68905f8c1cf34303fb577c25212919533c7044697d9425bfb76bd9d367f43b2d3613351d95395f4c2bae63b2a4608c69364f41e85d542a08f35b940fbc3b48f63360b50aa88259c7cb4634e5a34300c5957a3644f6ae381389b53210110329fc61519113c17e64782239941cfbb11a647b814372e313205844592cc3c17319b41ff21a0bda3f5acac3f18bad085c8f27b7758b7519316653ba9c253dc94ccad37f98d00b9fe67e2a13662c77921e4a9a86c8089682811e53a60b1089a1038483e615e6eb109a3b7636e02a44c2c3a81b96d84336cf594d24172be1bbb9c7b3685ea45e45b81d731b9b75ccadbfdb768119b20a0c346156cbcd5bb107a00a0e3c6e949b9db0b4ae21026c915908c5f38413c648edb20623f35b382b0cd5f4a8d7062bebbbcc9e809bdbb5c84042bce2e81bb0d795c6786af95a7e7b0629f7978a03558f98709a86319570273bea71986aa92560260d022569d4c98a85bb98aa198deff63dc6bccd1e6032ebab8caee5cf4717b17d89125c67a8a472c371153a4fc9045fd3304a74b983936060f42c80454a005342c1318a284bc5b9a71a39e748a94739536b517dac1619c00db64c81001acbc2793f9f29b42214442fba962f331d48c300da2186d21a4de61c4b5948c7edd1b9fa5865caf2280a81b9f7171137d6a678c92745b1aeb9db686ba84d65f6beabe332ff036bd113161fa068e74032ca5736d3ea3a01f1acfe067dfe5a5b398575bb9b148ee6155be2b4b67b348420ce758c5855102fd06a1fe8d347ef1b073f064f1f7926be5b2343029e5b7468e93b8abec6be231b6bee714031e04ed23c6da37032ecc00374706eff7453dd931d80029382f17e82a85ad7a8b25ea97d1d2aa21238b25517008b0400281168328b02869889f7f142cbf1ae8ddba5ef2713de649aa9ac56229494db211b90b96ae3b2829ae528c634110a3bcd355a243f3654295b0b79b9b7d43272321959b3632313aac107c8b7aeb83172778b7b199e736307fdf5ac6aeb40cfe750b7227f46a00b9000880d405877b63ff6c616bf4a51ca11c863a79b0e099308b42cbb7997420008268a3b762b9a5e181da14a4a92a5b55e7950268a9a83402889a98835cb9562a5a627750a5348b3398b39783009a081a058bbabcc7740af00b8cdbb4e0842c7f14b47ff4cb424b6252ccccee30398023a9b50b4bb4a2c1ff0a007a0a54eaf421fc2113f0353c7a1da6cbf3c7f5b448b86534fce3b3b82c3b82c3420bca7c865aa22461b3d95522e9792b37b78c5555a62a3439f3ba7646076111336079bb8352a286e542094bb58b07cb832e2b288021034ed4934469b1723e57e57e358942730196140f47658258a761edcbdc046c08bb89726ab73a3355199a1833a1268a37a087ddb57ab621046db1f407c804c488e4196048ceb762b9024c2157e7dccaa1a762881280715a1467e766dccb159f4780a39bc4f4a59715700070318c2ae03706b639f79a8a81af34fbf6c9ace4843151ab5c3cc81af08ce392335e4fa913052119904745ec68cf3502f4663bda74522ddd61a318539e10a853bc90a5b06aa12018c6bac4a8123719c567719cb723b420540ebcd84c2787f37a76c6c40fc983436c26f7fdb14df17062be752af2c1f1cd1026856500f3831cca75eff7a08d4d9c819d295674550c1c951ff9a0155856c3cc143824556c09025d55b0db7192d969926c18912bf5ca8629401b8c53e23832cefdb369020583b360595541f48573ba1557fd0c1058a8cc5ea7ca7f092b7dc7b4b04490fa4e72a37aac0e33b1746aca327258d9d29acf140c5f70b8f94a23195d60d30a498259c6f9d06bd69f82398953b4fd39adeca972851431b59c9614b7867cb1228e2519ac130f003903d801f70bccd776a9b916684cd89cd71723ca732a21fecbb90d547646b987155cf5425abbb2406cdc1821afa8da120a540d1c3af175032444e1fd85f43f47903665be922636755b5e75a90931c66e89345f57ca4a032959bdb4521cb62bb1377dc5c99fbe36c71347b81a80b6b7251fac3732475009a719f4374bd5ff01cce4601e761a754e05756968f33fcac4d6a540d93951d0bb4d0d838a3112872020c2dc67718888dbf408941b877eb6543432675c879aa85f102e608aedf267e32d333ca9c3860f907f17b553580aec75902ec304e6c7996ee34061b40a9f4f8ba2ccc55775490dc9c2a6d5c0134e809bd305d7445c9ebf7b89f9604146b2e55a1090597033bab2a25a3886dc524f4908adbe98dc2d74386806ad641712d9c23a19562e4ac7f57a86fc98663e455bd963c4e63d8471b504c14eb718d8bcd6475cc45687f55099f8fe2035f3812f081b6df2a174999765cd69433e5312be67698346fa1030a40943f8927b2cd8a1e2cf2514333bce85a89a6a99d03c4a5c0b847550972f9d1448d1819b3582b99a50ff97c124398cff30967013c4dc4d374379b4e8b037eb0e570aec147a1c99cadbb651bfb576ad61bc5449c5737bc4ba4a01f24aad80375acbcbaafeb564665a192211b4d6918260c1251eaa1014c6f41427465609310d8b665c6763639c71ad48019905cc0874be438023936856017b5562a9ee79686bcb55e04a38eb9b3bbfc07acd4865860a77af3b5acf7db344f139f79d5953778124c2c92d29cbfedc21678e54861eca5cd350fa09b1365fb74435316f37386b9b510e2bc585da30a71ecc7b9913921ec8d8fba2dbc97807b693b1e306832507cac90410e0576611ba79c1ca9c0b106d0147680790ec5051798592d3035aef57a0174cbc70b435710c51695852841907d41a8180123a4d911787b674acb513c84047bbd5851c3e83a8a046062c06bd84397858241c95b8d8d2a2c53038856247506065a70a5a29b701bae1b488a68c2bf02472d86bcbfe263e7820902102c612747cd60344957a871c7774a0980b70b56f7bc45f8e2bd2085af080cb923b55640bab2aa2c30f206ccbad17bc9f58c1cda80399962268f2ae99c43bbc1fa7d8949cd772a745bd9ab018fd3f6ed02f32cd2bf845923e3ec3671cc7675a321af8584a0961101c04a432772431e77f5740ba3b2ef488d8c64c049c6dfc0f1476cffd520b055756162f7ec94243de6b14ac0b9e5fb366c -m = 060ea5d2ed1dd88144a9885e79278590821c22917b55a48920f96b53ebe0e689 -ct = 2cbe4aff154b9b03fa6b19f8a1cf698078a1876ecad645e7bf54c76787fb3a9e0e8c80574671a194238b8e9c7c42eec9bd0a07618d33654f392c2e9d8c2a817a4f9f95232e603b9f047a379788ef8d0c548929544e393bebbe5733ecd4bc716b0b6ed6073e30d93a064d5f714e697446821d182968fbf5a116d7e3bfe5b941a9ed42b6c5f9efb7252529f8264200387b846afbfbe670d72d00708b663262ec6e80308b0df2ee80cc1320c091f8bf309f84fa5941cdac43906e009c29a7f7b2d3d300b6dac7dbc0551a50d449585737d7502c37a06c0297cd0aa7f49ac1ceab3ea844efc57851816cc01160aa0e62d5330464ebf8dd7a52a126b4cd8de48e449749f61fcd56e786fbf8ae843fe7e68f050778baa5c871edd2da3141c59c0c92a2ef8f7abb6ff994843b77599dafaa571a2afdc0d5ccaeaad4f9e025002d06f2baa7ec5540d81d19e37a46d1dc4bf96f0f85963eceaa0adece063b2730bd51c1d46a345f25e918abf9e056f8b8d6ae34fd0e0d06120b3d91661da17f8e4b3e68af6915d33abe1ed9fe8b81d7a6adf08043f0622f5544fc9450d340e35a27b78272f70348f122d744691f5350af7a3fb6508faad9efc859fb712ef016964cc7d07940ca8b3f2581f29265369eb6d3f52b05cc82549b325cc3f8b2a4eb0a321700efa8d86f575eb58c73199e02d04d106e0bff79f65cec84995dcb55ff4726b84957b25175a47f13368de3806b386397df10e64c365f2821b0c4c52af2e9fb4bf0989f97d102fd70913e0b8e1e6a540710b62006ec62cfd7f907daedd28a7ba49bad94f60698fdc0e6aec63b3379d95bc84df7916ab5a07647a777022bda537f7e8622c642710ce2d3b0b5024e137d46080217bfb3b28eb4e58c4a9537745c88e5504ae10059b68e1fabf5ab7d3563ae2bb167530b9f9b59abc5d9315a80318ef928cd0c785383b397f3d0244abd0e53cc2c8e3ace455964a66d79742c1ee9e871deaff22ab04dba95bd5a5e41bf08cb7def3281e4d5df9a1faa70cf30abecfc907a3fbc64fc3e18e8c86f4bef19bdf096a311f0abc76692730fa86c39eff9451eba149118de84a70cd6ea2088f52eaaec913214c79bebfc6189e0bfef3f058358c069a5c1ce7f55a00e951b72221be1f324190d03f6f2005588bcb76b2bb2d5dad1287d5e60fac5a4c07331af3213ef3aa063ae15a26a983490310ae8ec1f1b9b9c1495473207f0c399d4fe27dc56be8bb7c8af3aac5344cec1bcc14bcc15cfa9a8f2d58b4bcb5a6515e8fab65eb21731a6465465a2f16d7672ab6e7bdc3f052727a2ccbb03f76f2444cecbc52b5c79e32d757ded4bd925625e3779bf3725402480f1134d707d9ea3d6a6a30d36b3033d3019d7a537b96eb47908007a396f85b5e20d2667149a3b09a3c87899b58fc1ba0c36a1fadc5d4ca07d435798e1c15d01695c40c6497020ac8ba979e11062957416cf08871ab93bff007f86c771e3750f7e648c37c95161dd141a80d72f7d73200859fcf81d60a321962a5068cb33a8f31c -ss = b81e1ea69c6a6e1737c78fe18c36cfdcd26cef62deb805f22a92c49df6596c0d +sk = c842401604c8c4c78d8417c804c2723b14733044aa2755897f65987951218361a07aa84d6af8a956454036b79e145c93b9d4b862146bd4db824cabcb61fb91bc306f851c9e93ac266e3c9e9c939be422b07e512d28503a6efa9d3ea8861e39b1ad481b8ad1805a8c0d48179aa1203c2ed7bb59d5c8ef651281c77f83ac7b49eb997965b161db025b47ce6e2c09edd41f5eab1c8b7b4d20783d60c90dbfe6ac387b629be10351868186f6a0bf68905f8c1cf34303fb577c25212919533c7044697d9425bfb76bd9d367f43b2d3613351d95395f4c2bae63b2a4608c69364f41e85d542a08f35b940fbc3b48f63360b50aa88259c7cb4634e5a34300c5957a3644f6ae381389b53210110329fc61519113c17e64782239941cfbb11a647b814372e313205844592cc3c17319b41ff21a0bda3f5acac3f18bad085c8f27b7758b7519316653ba9c253dc94ccad37f98d00b9fe67e2a13662c77921e4a9a86c8089682811e53a60b1089a1038483e615e6eb109a3b7636e02a44c2c3a81b96d84336cf594d24172be1bbb9c7b3685ea45e45b81d731b9b75ccadbfdb768119b20a0c346156cbcd5bb107a00a0e3c6e949b9db0b4ae21026c915908c5f38413c648edb20623f35b382b0cd5f4a8d7062bebbbcc9e809bdbb5c84042bce2e81bb0d795c6786af95a7e7b0629f7978a03558f98709a86319570273bea71986aa92560260d022569d4c98a85bb98aa198deff63dc6bccd1e6032ebab8caee5cf4717b17d89125c67a8a472c371153a4fc9045fd3304a74b983936060f42c80454a005342c1318a284bc5b9a71a39e748a94739536b517dac1619c00db64c81001acbc2793f9f29b42214442fba962f331d48c300da2186d21a4de61c4b5948c7edd1b9fa5865caf2280a81b9f7171137d6a678c92745b1aeb9db686ba84d65f6beabe332ff036bd113161fa068e74032ca5736d3ea3a01f1acfe067dfe5a5b398575bb9b148ee6155be2b4b67b348420ce758c5855102fd06a1fe8d347ef1b073f064f1f7926be5b2343029e5b7468e93b8abec6be231b6bee714031e04ed23c6da37032ecc00374706eff7453dd931d80029382f17e82a85ad7a8b25ea97d1d2aa21238b25517008b0400281168328b02869889f7f142cbf1ae8ddba5ef2713de649aa9ac56229494db211b90b96ae3b2829ae528c634110a3bcd355a243f3654295b0b79b9b7d43272321959b3632313aac107c8b7aeb83172778b7b199e736307fdf5ac6aeb40cfe750b7227f46a00b9000880d405877b63ff6c616bf4a51ca11c863a79b0e099308b42cbb7997420008268a3b762b9a5e181da14a4a92a5b55e7950268a9a83402889a98835cb9562a5a627750a5348b3398b39783009a081a058bbabcc7740af00b8cdbb4e0842c7f14b47ff4cb424b6252ccccee30398023a9b50b4bb4a2c1ff0a007a0a54eaf421fc2113f0353c7a1da6cbf3c7f5b448b86534fce3b3b82c3b82c3420bca7c865aa22461b3d95522e9792b37b78c5555a62a3439f3ba7646076111336079bb8352a286e542094bb58b07cb832e2b288021034ed4934469b1723e57e57e358942730196140f47658258a761edcbdc046c08bb89726ab73a3355199a1833a1268a37a087ddb57ab621046db1f407c804c488e4196048ceb762b9024c2157e7dccaa1a762881280715a1467e766dccb159f4780a39bc4f4a59715700070318c2ae03706b639f79a8a81af34fbf6c9ace4843151ab5c3cc81af08ce392335e4fa913052119904745ec68cf3502f4663bda74522ddd61a318539e10a853bc90a5b06aa12018c6bac4a8123719c567719cb723b420540ebcd84c2787f37a76c6c40fc983436c26f7fdb14df17062be752af2c1f1cd1026856500f3831cca75eff7a08d4d9c819d295674550c1c951ff9a0155856c3cc143824556c09025d55b0db7192d969926c18912bf5ca8629401b8c53e23832cefdb369020583b360595541f48573ba1557fd0c1058a8cc5ea7ca7f092b7dc7b4b04490fa4e72a37aac0e33b1746aca327258d9d29acf140c5f70b8f94a23195d60d30a498259c6f9d06bd69f82398953b4fd39adeca972851431b59c9614b7867cb1228e2519ac130f003903d801f70bccd776a9b916684cd89cd71723ca732a21fecbb90d547646b987155cf5425abbb2406cdc1821afa8da120a540d1c3af175032444e1fd85f43f47903665be922636755b5e75a90931c66e89345f57ca4a032959bdb4521cb62bb1377dc5c99fbe36c71347b81a80b6b7251fac3732475009a719f4374bd5ff01cce4601e761a754e05756968f33fcac4d6a540d93951d0bb4d0d838a3112872020c2dc67718888dbf408941b877eb6543432675c879aa85f102e608aedf267e32d333ca9c3860f907f17b553580aec75902ec304e6c7996ee34061b40a9f4f8ba2ccc55775490dc9c2a6d5c0134e809bd305d7445c9ebf7b89f9604146b2e55a1090597033bab2a25a3886dc524f4908adbe98dc2d74386806ad641712d9c23a19562e4ac7f57a86fc98663e455bd963c4e63d8471b504c14eb718d8bcd6475cc45687f55099f8fe2035f3812f081b6df2a174999765cd69433e5312be67698346fa1030a40943f8927b2cd8a1e2cf2514333bce85a89a6a99d03c4a5c0b847550972f9d1448d1819b3582b99a50ff97c124398cff30967013c4dc4d374379b4e8b037eb0e570aec147a1c99cadbb651bfb576ad61bc5449c5737bc4ba4a01f24aad80375acbcbaafeb564665a192211b4d6918260c1251eaa1014c6f41427465609310d8b665c6763639c71ad48019905cc0874be438023936856017b5562a9ee79686bcb55e04a38eb9b3bbfc07acd4865860a77af3b5acf7db344f139f79d5953778124c2c92d29cbfedc21678e54861eca5cd350fa09b1365fb74435316f37386b9b510e2bc585da30a71ecc7b9913921ec8d8fba2dbc97807b693b1e306832507cac90410e0576611ba79c1ca9c0b106d0147680790ec5051798592d3035aef57a0174cbc70b435710c51695852841907d41a8180123a4d911787b674acb513c84047bbd5851c3e83a8a046062c06bd84397858241c95b8d8d2a2c53038856247506065a70a5a29b701bae1b488a68c2bf02472d86bcbfe263e7820902102c612747cd60344957a871c7774a0980b70b56f7bc45f8e2bd2085af080cb923b55640bab2aa2c30f206ccbad17bc9f58c1cda80399962268f2ae99c43bbc1fa7d8949cd772a745bd9ab018fd3f6ed02f32cd2bf845923e3ec3671cc7675a321af8584a0961101c04a432772431e77f5740ba3b2ef488d97c65a12d87432f475509f11e0884fb51b5d970c1b6d2c87c70590cf41c16b4f +m = c068b1a68f7f29e1a8313876c4d37a23167e9bb9ec5a47013a5a840dc77d4ba6 +ct = 77dacf5595d8d8e213e084dd83d7a343551924a0f4a522aeddde51e1932a6789f9268dae67f6ab3fd1181635520c5d3b27bffa75882fe84c9dde4a62878b3ad98412db0907c758692e229a7692e7f8d346c7058ac7af03076269e8c13f8a3088db27bca936aa85feb6c3868ce4e76bc2529179b55c5bcc61744799edccdbe9ee95389042944cef2a5d4b1c8e22788f9279010974f57188f3d94493979ef58ab95e89574c40d580f7353e5b4f202e61328ca922faaec93f09376183a09afd78320fd690e1ae08cba37f4b8964cd8da1b2c45f62ccc6cf67c2decc0f41dce462424364f822d176f6df6be176e293db16990c207a36d7c89eea27a35c8849a232093d5179c63410f94334d37f1b81f80565e71a407e6c4242e18eb388e7e11cb25d12786198837143848b6d3be1f621a0e420463b35e0b71480066b4e1925a264a87ab6603ef4adce0975c27172b8406fe3da9870eef93bd3faaaa34e415f0236e1497e0146c91bd67144179488b28848d43e9c546e2fdd92df5cabb6f1dac422307608dd9bc8eba71d0aa4fffe0746729fdbed5a4f0966d6acd08e816f6bbc31835e073a2c04f80da395f672c39f2316ec9f3754c5cc38c5bf743816fedf34e8f0a74ad5755b3a68e47479569cde78c58e31379f5bc6d204741f2e3368c494a26af37782f76b0d7104d1a3cd50774b248b7a9f4aeef8f049b83ec294afb9342121ab94a06136fa13462f690847781f27db608839298cf49abcbd013461af42e2fb1f998d77c8255a6b82d11e1a298ccf85199ffc33a58d50a97a46471f3e591ca4b5d7fe95f6bfac54c748ea8bfdd64be3e49e9b18c0a996a55e3de3200bed6ac3da708fdc85e36213219dcbb8f00516285b374488aa8592bbd7a1b3878064bed8b6e1367bf0476fb8a1586f241c49d66b73f490952664a134167500720f6d9fcffef3de98e450c3a44846c6ab4f9c49e9aff15f8f11b407d02d21b8381f8f0a37d74af959f3b24d49a480796e19700b6806060b83393cfca74193123013661110c0128d9d79f40636246d69dfcfe9cb9ed4133f93b90fbdbc662c7b240d35863870ad58a2758e810a94a11d652a6389c9c8d8767cbee6e02cbdf9bda374b96675b92bf07790873d41811ffcdf33b80751ff8229ce3f1c24118a24d98116d8400a29667b453e8cd76a5ed10264df3a4be9aeaa9bcd8d5e0306f11474391b6640b3144aa4726a1b907b5a969e904b7090e2bc42df405e4f2cca2bb02fe3e7c4add0f6b63defb6a7ff6cc443a11ba7b1b31fb75d4bdb1d52f9a8d4f8d8bf9f7a5c5b18cb9dd28e43ebcdd2df8aa97de006b0059160f7eec9b19b70e44d1944d39e0eff758223b9dff954b625ae142e452bc5338aa1fbd4885972b7a56dfd6f4519acab96f3d218b9235bdf7cab218779e11ca70cb7450f5f3301d24d6cb7ce2c58f90dd74c9da66f9bd1c11e74479c6f2dcc26f7bc94130b10ca618b2693e76a0cb0131a99274f804a90a1713116dcc0d528d3766fea799d7e8e575b20419fb61bfc +ss = 78a4ee59d4aa5d7c68f22247a6d1d512267c2700e831ae979b460011906df4c2 d = c719f9b2d16399b7326ce4eca30dabefe8fdaab18e9f6df888b0a134ef355570 -z = e40771856eb77e4633504899fcb86c6a3d433d0b8d60e26f07bd61f1d4ed69bd +z = a49f3b482a66256d7f667585925cb7f58894e42660ef2573ae33655c231dfb0e pk = bac16e6e3c5e5d9c8ca207a5c77c7883b917fe0463d3101962b802549a87bf39b9bc7a30a5b654c9c96b14bc61506371e4768429db8f7c0a6204903b9bc9311c66b907c5825621b7ebfb52f6c7cf75c169c17129595631a2fa95920317aad4cb338329adc69c6795158558638c474710c78763e012240cbdc2e586adf93c028522321a94cb766f9e983fb5110a10476ecba92fc0c120cc83632409940db249ec569ed5740471c86623b06962910307781349f342c759886f7c376ce708091019fc407eeae76409387d151c97cf7270319143471a84994bb596f9b5e1a78d33428740fcbab415c575e478db4b4e30771802e409b8c1ad4ecc9cec1b7396e664645cce83a40d512684e0b2750d8445d2180be5b4cfc09bc9fffc8d6e49b49d68c4d849b584512cbb55283722ced5566149811545609a4c5459f523c1c76667859760e690385f65768331b7654c30b8c0b26f2b8089a3c5b4f21eed42179c54ae61d22736512fa3aac6eb018946a47cd79acd545719c829b304477541ea92b10a1ccae8b36ba83d5ad83083fcb51df653ce899227c52581699b7150456cfa1910212f7678056a33755ddc7d0648164aa297f196057060009dea8d87e86b6abc0106a5536d7c83933ab12e294b4f50870fa0bea16ab49b88a60ba7790549ccc0e6571e81875d5632dd8a5627e48e0395bb4c243ed9d53cce7b591949408d2c87a5e295e3c3231f4132e1117b835529456a53d3d748c16280f4d597573685b04780f611094c665c66164a1323c290ba8c8b1031b142a3b53062ad5c59d8d112f9926e5aa591aba711ee2ba1509aa09b86c60a969020d74e238b849374bcae7788fae61296d5ac7ad0927ee30912c4287e3981b7851d5823295076365196bfbee4a3cc189020254f31b06fd8d70c43a94cf380c01936465a334fa59b3d39296305dc8b775269ee204639bb3a30ac437936cbd734a5c6477b2a451eaa0159e571bb12473b77698621d5247eb5012f608c6f070a67551f6f63abe87ba12a56b2b2dba44bf72e01c9a2c490579d2c103ce91a841c4f4b3aafddaa0cc3d33d31ec3ffb4a3f9ab87f93494720d386bb13cc482a4adac46395479d1421aa91216bbf56bcecb89f11588b4085a62ba0a47ef9a184c2c9346525ce006ca4819857fac8b1498c9ca1222175ca5b01b6bd502f69f8977a0b3b04987a1897a8f2f20dcddb098ad070d15c15c099a5672c17087c6b58245bc25c382ed3bfd5ba9b8e48932a27546a089113f37e8c85971fa10d465970d61446f106cca6200f85eb2de2947bb4ec57e58c1f7be6b6fbc025a4a41eb05c516578ae9ba4c197b692d20976116ba35660cc5b612b616269a837012230b65f2913e5d0362d0b510f1272716a4dd2832d3bacc914929ff33354c01217d8a0745c9263b5d80a4f497d99d98a4d895b59a59a1dc173ca6945fa54c398f351c8c3ab8d66cb8971a68157ce3ce82104094fc83c7306d242f1f0497180842beb8e126988c5a830d2a39c2711b033490fe1d53e432c7a453b4ceb05a5644253797135231228f246bc6a1445efc16b2f2bc674327a62ec32dbc209f2c4a5c600920d2856dc34549bc4656f7953e697cea6f2891fd65321f89bf2d90cf3dfc681c2fd81792135e1938ca482ef3c253d8976201852444e -sk = 0c9c633ff39d1c6c29f8356aa02981dcf189d6535e2ac00750c30b111a88b21024e4823e7d543614f30112f7c78f1679dab68b71aa992538658fd0c8e2984abdc09647453b3fd99dd860238cf40c9112a7dcb57e06540148ea4ad6f97020474afb65c5c67ab4fdb1515c6592941b1e38d4097155bd194b5324f464dbe678ece9b5f8f57822f87ed7f3a6b470ca3fea3314b4bb404cb66e3bbf8f2953f2682cdb65cfb47906b3962443775796564d75cbb4b9bb24a8a98d7723269e8204ba89782f974ae591808e97cb2468252c8539c2454041c9232f33b43ed8359dd6856c98ba4fc09e92f9a4ad497f8f1159e159b5af795ab09c20aa753931f47764b6cbab6968c7a779802b469abb1e7f677a0a485ff5cab2f028112ee8c35152703bb14127b33fb00a0ce21cc607e49a73544029baca215a67091a9ad89a408794c4d2da78557b1d31686c6b4c3749958efc60891f12c9e0b7c19613823eeab1d8f672089339e46c16daf0c3b7d53727605c26a723518a2651d8762ac373817bbddbec1ebca2cf91fa2a66896c55a4c946a791e5502ff19aa21cb132322bbfd127c10d87563028bc49b222e5401acdc81991828e4c111a54566e5724b40a452c0f4632b7b85f0445c881938134d516113560b0065beb409fceb25f796c0ba0ab190fac0214007916ca93c2abb11bd88553aa34c3c518bfec423728c86e529c300a1f70225f2f683911040ff9405614e1baac070e0e90337e134e3c93081514a937f9798ea7b57b3a3a0b829a2697b0778c802116c067a5c368576395c43d33882f97c770519c16426284e19bac180a2a6cb85d65b1a115316b08541dc231c123c184e82c691f20749a4b92f2d1040d09519df7678ac282fff9cf5124acbe04388ccab61bf71b87ab3b830a3ef6700a68b06770012424031e89a895ae81c8aca9169d6495cf01cd8ba0c27ae132c16aab0ebc4b13abb37d67ced10a0246e87be1233ff09a6802f6371858972d21b48d410d8cf3a8a1e664f62028cf851a134037142c20e8eaad7de32581b39b5d93221cf72124a73daa2b61f3d7c8f25a973a815b351206800bbcba60ac8c2a86a7758b38339751c23ea5523d84ec982a260256c69af739349d206ce9c9a70dbb0a950a0b63815994a6878711578bc22942914df8489ec5a09258eba796e8a6ff5483a71887e55783a94201e5b88898870e67d32eaab132519624f4b28f22e80903e591331ca792c0cef824bc62168be6eb8f7ba299bc519b0c370509e38377f171761521f8fc882d1b8d0db3c2109a43d1754f75529f7b071b7492b753688feef12fda217ccba484ab79192b7933781811986430bcc010b50a5621ec15dc7bb545cabc77c336892a0df4436e732b905d70769865cdee0a9906438e9d921f521862a3227bab93202da0cd19f6221bb68fda8155ae38132cf2a30a4a5c3dc0b17df0016fac3bdd56cd9d06cc8f2c6b4ac41207fc1aead0cd87506caf5c043941513f0a4abf725818c7686f0745ece93c23f2951ee263f51a3fb3630076dca4ea80a156dc6b4248246f638024b8782c9757e076ceaf18cc27284c321ba91766454640ad32d97e65650b39c9b23fa80405f8cec82abf70ea4fbac16e6e3c5e5d9c8ca207a5c77c7883b917fe0463d3101962b802549a87bf39b9bc7a30a5b654c9c96b14bc61506371e4768429db8f7c0a6204903b9bc9311c66b907c5825621b7ebfb52f6c7cf75c169c17129595631a2fa95920317aad4cb338329adc69c6795158558638c474710c78763e012240cbdc2e586adf93c028522321a94cb766f9e983fb5110a10476ecba92fc0c120cc83632409940db249ec569ed5740471c86623b06962910307781349f342c759886f7c376ce708091019fc407eeae76409387d151c97cf7270319143471a84994bb596f9b5e1a78d33428740fcbab415c575e478db4b4e30771802e409b8c1ad4ecc9cec1b7396e664645cce83a40d512684e0b2750d8445d2180be5b4cfc09bc9fffc8d6e49b49d68c4d849b584512cbb55283722ced5566149811545609a4c5459f523c1c76667859760e690385f65768331b7654c30b8c0b26f2b8089a3c5b4f21eed42179c54ae61d22736512fa3aac6eb018946a47cd79acd545719c829b304477541ea92b10a1ccae8b36ba83d5ad83083fcb51df653ce899227c52581699b7150456cfa1910212f7678056a33755ddc7d0648164aa297f196057060009dea8d87e86b6abc0106a5536d7c83933ab12e294b4f50870fa0bea16ab49b88a60ba7790549ccc0e6571e81875d5632dd8a5627e48e0395bb4c243ed9d53cce7b591949408d2c87a5e295e3c3231f4132e1117b835529456a53d3d748c16280f4d597573685b04780f611094c665c66164a1323c290ba8c8b1031b142a3b53062ad5c59d8d112f9926e5aa591aba711ee2ba1509aa09b86c60a969020d74e238b849374bcae7788fae61296d5ac7ad0927ee30912c4287e3981b7851d5823295076365196bfbee4a3cc189020254f31b06fd8d70c43a94cf380c01936465a334fa59b3d39296305dc8b775269ee204639bb3a30ac437936cbd734a5c6477b2a451eaa0159e571bb12473b77698621d5247eb5012f608c6f070a67551f6f63abe87ba12a56b2b2dba44bf72e01c9a2c490579d2c103ce91a841c4f4b3aafddaa0cc3d33d31ec3ffb4a3f9ab87f93494720d386bb13cc482a4adac46395479d1421aa91216bbf56bcecb89f11588b4085a62ba0a47ef9a184c2c9346525ce006ca4819857fac8b1498c9ca1222175ca5b01b6bd502f69f8977a0b3b04987a1897a8f2f20dcddb098ad070d15c15c099a5672c17087c6b58245bc25c382ed3bfd5ba9b8e48932a27546a089113f37e8c85971fa10d465970d61446f106cca6200f85eb2de2947bb4ec57e58c1f7be6b6fbc025a4a41eb05c516578ae9ba4c197b692d20976116ba35660cc5b612b616269a837012230b65f2913e5d0362d0b510f1272716a4dd2832d3bacc914929ff33354c01217d8a0745c9263b5d80a4f497d99d98a4d895b59a59a1dc173ca6945fa54c398f351c8c3ab8d66cb8971a68157ce3ce82104094fc83c7306d242f1f0497180842beb8e126988c5a830d2a39c2711b033490fe1d53e432c7a453b4ceb05a5644253797135231228f246bc6a1445efc16b2f2bc674327a62ec32dbc209f2c4a5c600920d2856dc34549bc4656f7953e697cea6f2891fd65321f89bf2d90cf3dfc681c2fd81792135e1938ca482ef3c253d8976201852444e79836213a513bd4cfd42ed281304e3ee4560e4e0c60fa53781f83d5bd2bbea52e40771856eb77e4633504899fcb86c6a3d433d0b8d60e26f07bd61f1d4ed69bd -m = 10ef9426f8c4a13b52325c5bb4ead4596ecf2c6b5bd2d37d8350e90d4164fdd9 -ct = eb1e2d9e00eec89d9c0133c36834b7704fcb880e87d28f6400d5b6fa85c9585518c29c860958c2b6b1a239bc55b212796acacbc4a2657d67dd1b61e9c36ee9682fafd6e2231883b27587cc5cd4c36b7bf29d982d729bdedabda928370989f0f3fce00a44561efcc2a5b77f16b4c982554783d43ced6a55baaf9fab462813a8bb2a98cf16478ab4f1e79d0120d753ec0bce0b4884fb27e02fdb881f7b28023d91e23340a67dc9e61b64ab16aec77d36dcd0ce1900a7c6f3758a49d36aca01e8e24711171f756a3a01923d896bfa63763244794ba3d01710fe2ea4064b70702ed34db2f715b2e59683eac0e66b6bb392dc22fc398ccfef06764cea27a3e2ffc329def35f16f357fb9a7ed25066b6a6310ef657fd348c716b468eba86594ce6a5314cfb9bfe3fa04f849ed485459980d0fae670a2134908c38727021ac148d041b496a97d09efc807f2ef9a2dbe5f1c3043d3082a9e8108c020ce7b7ca6777fb3275cd0c8f8299e8ce81c1972c079ba37bf2c8ba717da95e26225f7ce0d32a96d42045a1163a384988dfbeb1c9c68f142f1dbe10be93f0fe5b2a2e4235adc8300de98a6fdc2ec76d34c4ee15dcf33dc939e80af2dde285e72d33e4e49a6b7da54e5e29a072c5d19ba548d714eb4c50c9e8ffaecf92cf0b66e2d365127836e4b0b6151f29f7b8081e7da720aae3c66ef3d7ff2aaf0693858403aafb7c8cfbb4104fb2f1f286dbdfcdc9a9652c724ce3f46396da21d18a8cac249fb2c564c638a90a3ba10295a3995557e5a171626323b1d5248798e99c8a5e0ab96efa39bfbb2774befdd5939b385f881fd60cf6f86697141738307f8d9ee27863b58d83dee565fe12308d56887aaa93dfb8dad892792e9d2e417c4ad98e93969182be4eebe50102b2df3fa72a21d271913342283f679ed232c1cb519f152ef163e3cb85d2c3f7a5e0bd44106ece5fec8f7cf339c4acaef04a1ce520ef5aea622d63738848d7e9ac753f95267d141f4369a1e2ad2117c57523342a32716ff775f332deaa64b6038a4099a8ad44ecf7f38c1395dd2c45ecfd9cfd7f7e3565e48eea8c90daf62908c402e2a421613bd321d7dc3065b6825ba8a3add20eae7a9bf762446023f2dbb70af8722c9b1cb20b4622a79f442c548502ded82ce1762df2131bbaa0a5384b8acc0aadc823a0042b91a8a3d32e8b003794efaf87f28fba18dc7d4ef29016f59d952722ccf1cb27771e5dd17f395bbd1f1faed18bbbb579e8fb8f5a704ab587ba645ef4b51eaf09d938c30f9b79c7d67d665a9824738a547faae4a6c0953a3c529209c175ac946f733c5606516725a1e0626bf684a4d3af865fb95ebc5eca314369d5fc97b53a76ff921371e0f161f1e8d32b471906174a0b667b9c16881442fa631a169061e6b545c2bc32528ac40370884f3e9f362b2cca5461a92605b0d7d270176b68ef60645aeee9948fbcc1e1f26f6100e82c1fba412f5d5bfee5158044416cd9d4c041b17503863815cae0ed0792052318b288b5da1cdea8c0a49ac381376 -ss = 5d014fdcc992fcfcbdf3af29e8dbc9e5024f2ac41e71a3ef0ea43a063bf44e79 +sk = 0c9c633ff39d1c6c29f8356aa02981dcf189d6535e2ac00750c30b111a88b21024e4823e7d543614f30112f7c78f1679dab68b71aa992538658fd0c8e2984abdc09647453b3fd99dd860238cf40c9112a7dcb57e06540148ea4ad6f97020474afb65c5c67ab4fdb1515c6592941b1e38d4097155bd194b5324f464dbe678ece9b5f8f57822f87ed7f3a6b470ca3fea3314b4bb404cb66e3bbf8f2953f2682cdb65cfb47906b3962443775796564d75cbb4b9bb24a8a98d7723269e8204ba89782f974ae591808e97cb2468252c8539c2454041c9232f33b43ed8359dd6856c98ba4fc09e92f9a4ad497f8f1159e159b5af795ab09c20aa753931f47764b6cbab6968c7a779802b469abb1e7f677a0a485ff5cab2f028112ee8c35152703bb14127b33fb00a0ce21cc607e49a73544029baca215a67091a9ad89a408794c4d2da78557b1d31686c6b4c3749958efc60891f12c9e0b7c19613823eeab1d8f672089339e46c16daf0c3b7d53727605c26a723518a2651d8762ac373817bbddbec1ebca2cf91fa2a66896c55a4c946a791e5502ff19aa21cb132322bbfd127c10d87563028bc49b222e5401acdc81991828e4c111a54566e5724b40a452c0f4632b7b85f0445c881938134d516113560b0065beb409fceb25f796c0ba0ab190fac0214007916ca93c2abb11bd88553aa34c3c518bfec423728c86e529c300a1f70225f2f683911040ff9405614e1baac070e0e90337e134e3c93081514a937f9798ea7b57b3a3a0b829a2697b0778c802116c067a5c368576395c43d33882f97c770519c16426284e19bac180a2a6cb85d65b1a115316b08541dc231c123c184e82c691f20749a4b92f2d1040d09519df7678ac282fff9cf5124acbe04388ccab61bf71b87ab3b830a3ef6700a68b06770012424031e89a895ae81c8aca9169d6495cf01cd8ba0c27ae132c16aab0ebc4b13abb37d67ced10a0246e87be1233ff09a6802f6371858972d21b48d410d8cf3a8a1e664f62028cf851a134037142c20e8eaad7de32581b39b5d93221cf72124a73daa2b61f3d7c8f25a973a815b351206800bbcba60ac8c2a86a7758b38339751c23ea5523d84ec982a260256c69af739349d206ce9c9a70dbb0a950a0b63815994a6878711578bc22942914df8489ec5a09258eba796e8a6ff5483a71887e55783a94201e5b88898870e67d32eaab132519624f4b28f22e80903e591331ca792c0cef824bc62168be6eb8f7ba299bc519b0c370509e38377f171761521f8fc882d1b8d0db3c2109a43d1754f75529f7b071b7492b753688feef12fda217ccba484ab79192b7933781811986430bcc010b50a5621ec15dc7bb545cabc77c336892a0df4436e732b905d70769865cdee0a9906438e9d921f521862a3227bab93202da0cd19f6221bb68fda8155ae38132cf2a30a4a5c3dc0b17df0016fac3bdd56cd9d06cc8f2c6b4ac41207fc1aead0cd87506caf5c043941513f0a4abf725818c7686f0745ece93c23f2951ee263f51a3fb3630076dca4ea80a156dc6b4248246f638024b8782c9757e076ceaf18cc27284c321ba91766454640ad32d97e65650b39c9b23fa80405f8cec82abf70ea4fbac16e6e3c5e5d9c8ca207a5c77c7883b917fe0463d3101962b802549a87bf39b9bc7a30a5b654c9c96b14bc61506371e4768429db8f7c0a6204903b9bc9311c66b907c5825621b7ebfb52f6c7cf75c169c17129595631a2fa95920317aad4cb338329adc69c6795158558638c474710c78763e012240cbdc2e586adf93c028522321a94cb766f9e983fb5110a10476ecba92fc0c120cc83632409940db249ec569ed5740471c86623b06962910307781349f342c759886f7c376ce708091019fc407eeae76409387d151c97cf7270319143471a84994bb596f9b5e1a78d33428740fcbab415c575e478db4b4e30771802e409b8c1ad4ecc9cec1b7396e664645cce83a40d512684e0b2750d8445d2180be5b4cfc09bc9fffc8d6e49b49d68c4d849b584512cbb55283722ced5566149811545609a4c5459f523c1c76667859760e690385f65768331b7654c30b8c0b26f2b8089a3c5b4f21eed42179c54ae61d22736512fa3aac6eb018946a47cd79acd545719c829b304477541ea92b10a1ccae8b36ba83d5ad83083fcb51df653ce899227c52581699b7150456cfa1910212f7678056a33755ddc7d0648164aa297f196057060009dea8d87e86b6abc0106a5536d7c83933ab12e294b4f50870fa0bea16ab49b88a60ba7790549ccc0e6571e81875d5632dd8a5627e48e0395bb4c243ed9d53cce7b591949408d2c87a5e295e3c3231f4132e1117b835529456a53d3d748c16280f4d597573685b04780f611094c665c66164a1323c290ba8c8b1031b142a3b53062ad5c59d8d112f9926e5aa591aba711ee2ba1509aa09b86c60a969020d74e238b849374bcae7788fae61296d5ac7ad0927ee30912c4287e3981b7851d5823295076365196bfbee4a3cc189020254f31b06fd8d70c43a94cf380c01936465a334fa59b3d39296305dc8b775269ee204639bb3a30ac437936cbd734a5c6477b2a451eaa0159e571bb12473b77698621d5247eb5012f608c6f070a67551f6f63abe87ba12a56b2b2dba44bf72e01c9a2c490579d2c103ce91a841c4f4b3aafddaa0cc3d33d31ec3ffb4a3f9ab87f93494720d386bb13cc482a4adac46395479d1421aa91216bbf56bcecb89f11588b4085a62ba0a47ef9a184c2c9346525ce006ca4819857fac8b1498c9ca1222175ca5b01b6bd502f69f8977a0b3b04987a1897a8f2f20dcddb098ad070d15c15c099a5672c17087c6b58245bc25c382ed3bfd5ba9b8e48932a27546a089113f37e8c85971fa10d465970d61446f106cca6200f85eb2de2947bb4ec57e58c1f7be6b6fbc025a4a41eb05c516578ae9ba4c197b692d20976116ba35660cc5b612b616269a837012230b65f2913e5d0362d0b510f1272716a4dd2832d3bacc914929ff33354c01217d8a0745c9263b5d80a4f497d99d98a4d895b59a59a1dc173ca6945fa54c398f351c8c3ab8d66cb8971a68157ce3ce82104094fc83c7306d242f1f0497180842beb8e126988c5a830d2a39c2711b033490fe1d53e432c7a453b4ceb05a5644253797135231228f246bc6a1445efc16b2f2bc674327a62ec32dbc209f2c4a5c600920d2856dc34549bc4656f7953e697cea6f2891fd65321f89bf2d90cf3dfc681c2fd81792135e1938ca482ef3c253d8976201852444e79836213a513bd4cfd42ed281304e3ee4560e4e0c60fa53781f83d5bd2bbea52a49f3b482a66256d7f667585925cb7f58894e42660ef2573ae33655c231dfb0e +m = d5668ff18683eea789415d6fa2a5a1031b2980b1e641f521d5235d50e04eac25 +ct = 650094aaefc36c819697dede7a27764e696e2bb8e421149c225e6eb67310052e9f89dd787d9188c21ceeff31bac396f34428879b3490e8d7c4fa71397d98f50f4ad26e2af6a00e7c408b12a77a1e3a25d5b1817d5218bfdb6fb9fbf6b3fd209bb76d0f422a2d1a5a2fe04cf3e8e08ce828c63d14be05956f440d079b03421d45e06c8d34697f4cd3401855057eb68a76f7c6e73767736140296b3b3c467fdb51dfdb53d57ae8ace78fc2d36ebb4edc2b82aa679201e2f81a9dba111b0f348d7666580ef56246446e3fd33e5a6960fa19db85d4b93e1b593f5bd6d6e7316304b2cff7040c946b6d85eecb8c64b090912bb8930e2c655736a1ad56ee649e8d4e54104ae440af0e082f7634066cb571940a6fd19f3cc9d0e12aa027ccbce27abe0bfc70506e403be11a8840e78144ef0cda1e585eb3328d1a958e47366940fc907eba3930bb8241853ff804b7d3a27d89f8067d5a139c1a41b9bd1bdbfbe94499591ba27c681cc62404448e344c3f6d6ced6ad242b6d3afdd2c98a7af02632f9f0f67c7eb687c87c1b74ef4c1a818d0ebadd71082f809ef7ec65a731ffbe76ad33f83231ac086329c10b018bba51f897e081f8227d734f7901095f8ab9208e1804f6273d1ed43d0a828b4a2d85eb776d70b2911214674375a81c037d90d474b8cca3fa484ecf55ad901c559ca9e27ebbd89fd6baf104e0cd40c97d07a6f554897bc3200a0cf7599fce58d14d39992961e76abf30e8ea78afe52892ca5fbdc849c0c8090083b70a4a86a0d40343555a99a1df2913a1b6ac8aeea58c8b2d3c7c417d241500abd5b59f93b908c5838e51a584a6fd5023fdfe83c9a380a0c6450ae9befd9bbee95e25f54ba7c0dce3b34742babfa21d343390c2d29acb9a8530177697bcddd4bd7c4ba52748785aafc2fbf1ccd3f11661094731a6ca83fa2c3620245f76d8a1618c8567d5a9c2ab65b2dc8e34ddea837a64dcee639d34ec95527c896398275e0d5855d19151a25c0f2a0c305d9f1ede3a2c1380a39b5ecc35aa53c80888421ea72779bbf2278a7c974ee3ce6933460ef9fae955db8b9875ba2ed2e5de03f81dbfce57ccecb49e6c1bb8cc182b062d84b727d57136785bc8ff1223baeb36fabe1ed5b6f65467f8532ffd935c8aca2aa92544e848977c2d175285a5d8a3b076e3be3c9f12a6f72341912c2dc4f6f326976aa6e577b4b60ffad0c8f4fe1f0a3f36750f53c4bc981cab867c081fe8927e09229385b290c1f711570ec85c2624215da615acff26d685f28cdd737a093c0840f7290174a2afef8eefc64a219aa38970ff8c5a3c01da5e1d0a6e5e0ca13d0922b0cc6b5fce181574d10591e291da245f0ae22fcceffc420e73d3a23b155ee7c0d204f9870a33d6f9b5eba9d6b78a03f5fc14c2a3762d006b9ed43ae8da4600e2e909cf2701c02cfa6e7e5c12bf8e166a7d7e886953dfab3be81be6b439f7d1748797c342b737dd253279eedd3a859117cf8eb41f39490209f67c8e5fbb5d2526c7b127e9a2f5e3940abfeaeb06b +ss = 9d782edeba3f818256f43aa326eb1e585766742b7b043e2e72436ab5416ff577 d = e9acbb774be970206c3a738e243b420805a509fa59fa902044be2f0d013650d2 -z = ded5edaec5de3bf5b4d7c2f2e18e87f499c1968993eff196753db8045e2c8ba8 +z = 1d9667c03155106785069387ce7d25cb09c5516d52817201d6653f20e775b453 pk = b873b2397a7c7ada2f4b0b589ebc97c50174e4317ed5d9cf2878c924937bd258bacbfc83283a218d443d8ee43f8cf3c64459b189e6b3ad100a6c6a3ede9916f89b8bb67cac332c0519f502a4c427f5c9af1a16a59a2122521a0c624a20149765e986339ed63567cc29cff15d7e8ac026c96f08d6ac4e057db4e66361b18ccdc3bcffc300a996ab7346232db7310662c75b39ad7aa080b23763ece54960397b8de836071b8914d56f95a681accb8fcb9529e5e4cfc2ec0601f7b0b291524e180aa0a69fa74ac2f17aa88162c481f51543a5a527da5c42b59f9a72b14dc91574b51e5806ace3f022d1f19e3eb621560478bb70beb8407719a01e16313d2f0c785e3b9886f679acfa465ba974676c0689a149ac04996f4132dc4974f2fc322b56115a64b0b5dbb8dc71869cc655dd61390b032f062b024bb71505640a41cc6174b68870da11eaeac28ad061f3abccf4e12231655eaf9285b205251ea69371d90527793495835715ac005868a78b1cae80025426848c4ae869b52034bb266e1b97480aaa7a31e384780442d9933fdb750efaeac0bfa802e5314d28a17d374caa05b46121e16362e8341dd923a66872df3c942177b58951c40ad1641f53a53d8708ebcc22aac67ef262b6155007dc6880a1f45cad3a5312b282055b1e0b181d9b396591fa78dfccb9d6a92d5cf8189c14c68cf4238654716f0a1e4f2542cd35a7e4e2185814c1f5b16d8c423213c69d5958c46960b8df589c185087ec5474df3c5112b5bb6bbcc6ab7160abdc2ab28801d775caafa049479a837cfc8847763559ea86239889385baa43a2848b489087fb43aa20acd7ac05606767798500f9271271e52032f21fc2a82d8d15bf774771b69c570ec488053743dc5398c4363aeb3932a5c54d16f45a033386dbe3b2d0a851116c2cd2fa4671b95cf7e60bdcb4976a2393647b714031870b1a6b2d486a5cf2a8093b7b948c9418f3a27f6296ea12336b8a6dd5a5715ce9a70dc6978038369a10332e3ab6c2971961d5c66441abc3290113b21c46e96c509aaf09e658d9b77928935b9a122e42bba23f920b58ea48f3f19a7924128669c09e135f772c275e55904400495153a691794a8d182ee1314446371501e87c41a944f850c9cd288cc2ea90a4e27864c79e554cc5924c4ca9a217dca424ee8b76e49993ae4b085e9809eae27401eb9c6c794a67a31705876243478f86d5b9f9cb3295422816526439950a412b4d1d28a70c6b9794c959be155aadb39e00b418efd0664b08843d20b71c547f1468c5fdd92b9d818336282f34f19b515946a7961b5a9319d9444cdc1aba840cbb57272e4da4ab20facd5fe4958a57c3c812978fd772c2862dea8b60b30a601b692dadaaba0f361cff27c5c734a42265341641b861b7899cb311e7e0acce396bce2809f24289c5361b91cba88493991987c0aca3b070411481e154104c15780abafe725dd3e1adf00bb0eff4a29298ac10c63fc0669df6379294aabb4588aad2087c9c16c9afb654f0c9c213d79cee1a843a84742d574de252a4f24795e9aa631d5198f07511160300a2e02a402b4cf8aa556ce67bd341307ce5a1eb6609efea3f066379865489701783b2c95ee6967f0893d44d76104bf396577fd719d69eb306117f3abd65385a87af12d1bb6d0433 -sk = 2ecb7caa911a2f615a13cb82e5a8be85e1c2bcf06c71b9696682532639b57a91537e470e8514390949cfadc80b0e5c3ee3eca869e22250560d8896b5f6eb0fc6ec0a6d01760c9108b7a26cd79039bcb3cf9ea0432fe0581626cfedabc12f758b407c8e9dfa373f45c377fa6d41a7205a7322b737cdabc8114df437e864c4abbb3dd084964f971b36e24406a7a7544a260d917c0ef95ccf33b1833bb6d4232bfce37b96004ed7779258faaedd9abaeb5051d8f605eb85be0f9599ff28b40587488fa376729685a8336c0dd213f55447e2c4895111b98e73bd783b2d08960abce22f6f894ae5456577a81156c66f6f1bbebd9c04d1ac43b77936f13060d3305a3893a825781e47928fc492adc16b31b2669882fca10581603b400f297b7fe7525d20e82958099b2d118ed3a14a8a915731525c470b7852a9b0ef04b4a3b0b65b4c5d7d486366175540a91e752993ba979d8a446f94088c7c3a02fd5c051f900a141957e63cbd71aa012db60a02b3872f3a623218a6b1f628fe8580e8725d9fb647f128c2519a8a0cd0649671616b462b83904ce621c95ff44697ca71ce930eaf0b28a6448a1c6b38c14800427683b71c954e49b6a3b978417b78ddb1a1b9729b89160b4c7ba49f312e23632460913d82d655d6e00b5b17a635827d8a0781e12a68c536ab40909f46a7173fa9cc9990371dcbc0b8a433436133ac123a73664a14e1409b4476ab001c17f26ebe968ed8c6a9d491b92f234499435e2df615c849be5f6422c8bc9de8f148a7c0713d93642dc852b33652287010f02b1d7b77972c797add3a38651b4c11ea968ce53f10d38df4160101fb0ee557bcf5b3328e12150a7c0d769812abf2ad2c1c7661844e6b34b25e7a30ec64b6e7d4282f48344bfc6f33ab3c428c76705cb9b1e9637721c9ee60874017013374082892b4af174749041c606b3f6690146bf1b0c8d2844f80594f265a8fb639e209c9b7fc418a230aaf340bba34c1c66b7d570918ed6caf8f62768620058cc7cb4fe1c762aa96a5015b82216e204c5821022caa84af9b12b9c9bc683747a2724c88e650539779742edca6a6a6c5f5d68faaf73d4cc7aab9b105f3a1b46cc96c915912e807aa6c841f6be63812062ed1d07bc9164eccec7e6662056313cc32f63c6181cf3343adc9073888d5756f508d65025bf6490a5f6b164a942466e60c4410c72aa69d2ca10459b890a4cb22a7613d44e70ac96aca21169f932a6134d27a6c05582e830c0ba137df060c6249b360831cc6b993e3d455c2e61694b11b520c64078bb552a65a3bab407d46c0ee173bbb52a95c7cbd8612380fc0cf1655c8e691bb0493103ec80a5fc92b4951a0d78768504284ad52580f16247b3c44af0a397f28ce3d0c0e4d34cc48b26b3998b060f2a9a013889685446b6281b3341c08e8300a013390a881a3a4937b412bf4745b069acbf5315b9955aa4999ba827bccbbf776829291a9067272059104522d69d1834886bde76c078a6061305833fefa710ebbc0dd0729493a285acbcf2708cf93ecc76b85691e20bfa4379c8521420c231f68429bb5c76e69378f6ef3475fca5760a5be829c2b4fa955e0e0931423b0a615194c26225bc538e2db29b873b2397a7c7ada2f4b0b589ebc97c50174e4317ed5d9cf2878c924937bd258bacbfc83283a218d443d8ee43f8cf3c64459b189e6b3ad100a6c6a3ede9916f89b8bb67cac332c0519f502a4c427f5c9af1a16a59a2122521a0c624a20149765e986339ed63567cc29cff15d7e8ac026c96f08d6ac4e057db4e66361b18ccdc3bcffc300a996ab7346232db7310662c75b39ad7aa080b23763ece54960397b8de836071b8914d56f95a681accb8fcb9529e5e4cfc2ec0601f7b0b291524e180aa0a69fa74ac2f17aa88162c481f51543a5a527da5c42b59f9a72b14dc91574b51e5806ace3f022d1f19e3eb621560478bb70beb8407719a01e16313d2f0c785e3b9886f679acfa465ba974676c0689a149ac04996f4132dc4974f2fc322b56115a64b0b5dbb8dc71869cc655dd61390b032f062b024bb71505640a41cc6174b68870da11eaeac28ad061f3abccf4e12231655eaf9285b205251ea69371d90527793495835715ac005868a78b1cae80025426848c4ae869b52034bb266e1b97480aaa7a31e384780442d9933fdb750efaeac0bfa802e5314d28a17d374caa05b46121e16362e8341dd923a66872df3c942177b58951c40ad1641f53a53d8708ebcc22aac67ef262b6155007dc6880a1f45cad3a5312b282055b1e0b181d9b396591fa78dfccb9d6a92d5cf8189c14c68cf4238654716f0a1e4f2542cd35a7e4e2185814c1f5b16d8c423213c69d5958c46960b8df589c185087ec5474df3c5112b5bb6bbcc6ab7160abdc2ab28801d775caafa049479a837cfc8847763559ea86239889385baa43a2848b489087fb43aa20acd7ac05606767798500f9271271e52032f21fc2a82d8d15bf774771b69c570ec488053743dc5398c4363aeb3932a5c54d16f45a033386dbe3b2d0a851116c2cd2fa4671b95cf7e60bdcb4976a2393647b714031870b1a6b2d486a5cf2a8093b7b948c9418f3a27f6296ea12336b8a6dd5a5715ce9a70dc6978038369a10332e3ab6c2971961d5c66441abc3290113b21c46e96c509aaf09e658d9b77928935b9a122e42bba23f920b58ea48f3f19a7924128669c09e135f772c275e55904400495153a691794a8d182ee1314446371501e87c41a944f850c9cd288cc2ea90a4e27864c79e554cc5924c4ca9a217dca424ee8b76e49993ae4b085e9809eae27401eb9c6c794a67a31705876243478f86d5b9f9cb3295422816526439950a412b4d1d28a70c6b9794c959be155aadb39e00b418efd0664b08843d20b71c547f1468c5fdd92b9d818336282f34f19b515946a7961b5a9319d9444cdc1aba840cbb57272e4da4ab20facd5fe4958a57c3c812978fd772c2862dea8b60b30a601b692dadaaba0f361cff27c5c734a42265341641b861b7899cb311e7e0acce396bce2809f24289c5361b91cba88493991987c0aca3b070411481e154104c15780abafe725dd3e1adf00bb0eff4a29298ac10c63fc0669df6379294aabb4588aad2087c9c16c9afb654f0c9c213d79cee1a843a84742d574de252a4f24795e9aa631d5198f07511160300a2e02a402b4cf8aa556ce67bd341307ce5a1eb6609efea3f066379865489701783b2c95ee6967f0893d44d76104bf396577fd719d69eb306117f3abd65385a87af12d1bb6d04330c2e803c2872400c49e1bb10232946ab939319e84ff32cd354dc15d082cde5a3ded5edaec5de3bf5b4d7c2f2e18e87f499c1968993eff196753db8045e2c8ba8 -m = a4bd30a64cbf29a4e290fa1cc1dfb99e68348713041e4409a1af23c5d80c15c4 -ct = 388475cb89b7f408d2a18dd764070424c7598c459f203221847e08ecf1fdbd3b5f1878cb148ea1e42a1790baa2432029c674916130a30aad99dca2adc8aabe96c9437aaa361c0e28110a8b6bd9aac047191b728d9c84ebeebc7ea2154ede6065f9313c47ddb6a05413ff5e3571f69bca571770e9e217136038607bef7f60cf079e766caca7875decf7bf7a8b54d688bcb63ef920586f4733ab3d86bba18540a20d27c135119cbb7db4e0f8896b0744557dfbb3c0f615130505e59fba005b57a317ff4c87be8906b54870a0c46136bc89e144502f41a2b4564da200e0ab5a3fa91836f4858ff298456f0c475bb3b8bd057a63b6f9b5dafdd76c2c111f7b3a933a2f3ce069427077c58ec94a158b6cb4c13fb027cff9df3fc7cae5bdccd31e3f6a3bc95e6efaf8ca24f773056af6c8d9b2798057e2366bdd54ff417b8bdcad4fc0ff8e64c6d258438f98dd0682a716ba2fcba64b4cb559630635d115dd846b7182db50a7b92c73463673cb017ebe6cce190700e73ef73a790fa85f04656d0085023f483f50dcd5ba9f0eef8b3e5eddcf0f4090bc2d243215321e606c4107fea5564041c07705c545d7956a8e163b9b641c7cea51ab67a2c29bffe9c7cf0d3941c0e45664a40f2ab5031c2bde8ee7e5aa4228685a845f4cbde42dc3f9157f4fa03631299c84149206b7e087cd56a5809be0a7cbe54509a29aad8465bb737df2631e86dccc3abf5acea6091813f1e9dc49d9f998c56e72972d9cd51a95a95b59b9ac98b8eb07957e59547fdb243f873fd5a3e77478a6f2368177bfbb95f2d8b2f7924655e271850a72680d2c7ed2cfe57abb59be1db29a84c715828ad7e06e1928747cfe2e1351fd07534ab50855818eff4ca87a60e86217f991c12380255ccca0feff97c35c7214157f533af3605b54902ac8300c8e4cd496033d3d05752b3aaa85f5cefe81632b19263f944c637dce318e55a8a4bc5ac296de727708d86367970c17daf3012df0af19a32169153e6c07c28379761b64ca1b87d7a1b8680b9749936d205da28b2e8e9afcdfa26c975914332538a54730d96037ae74439289aa97d76045103540230003a430a067c58c881bfbf224df4da5841d1b6781937f933267c32698908a6d31bc0402e3274657adf416c3c9d7378338593442d4ccdcdf7abc61a45c4eba05c0737ef175c6f01cb7022a7905a365866961f7d45faff18455553012d1a79225a08871971d926d978b5adfa1723314991467782b9cf2fd063ca70a49edafe31baf3ce55016713cd15f8828a09fa4d6d093c29de550ebb0be37fcf1c5a4b6556153578587a0762054ec01e0a114ae186fbbd97bd83f30b411563b4e4369d7a24033abdf1c0cddf0958f2ca2272ad358f4c60ec7251e899c6c11b001e4025a6733b270a893f384eaa93da2f6c4d8c2dd92a1b9305252be65c3776f5b6dbd92ebdb9e12955c1358c011afba5fb7e52ac27d64faeb290177cf6195658e6d2be5d6040de2d26677d47349ffc38123b576a6382adf7816344d7e257ebd -ss = 80548d4687da93177d06d98c1e2def33fe85e770f8b871d2f74cae533f654692 +sk = 2ecb7caa911a2f615a13cb82e5a8be85e1c2bcf06c71b9696682532639b57a91537e470e8514390949cfadc80b0e5c3ee3eca869e22250560d8896b5f6eb0fc6ec0a6d01760c9108b7a26cd79039bcb3cf9ea0432fe0581626cfedabc12f758b407c8e9dfa373f45c377fa6d41a7205a7322b737cdabc8114df437e864c4abbb3dd084964f971b36e24406a7a7544a260d917c0ef95ccf33b1833bb6d4232bfce37b96004ed7779258faaedd9abaeb5051d8f605eb85be0f9599ff28b40587488fa376729685a8336c0dd213f55447e2c4895111b98e73bd783b2d08960abce22f6f894ae5456577a81156c66f6f1bbebd9c04d1ac43b77936f13060d3305a3893a825781e47928fc492adc16b31b2669882fca10581603b400f297b7fe7525d20e82958099b2d118ed3a14a8a915731525c470b7852a9b0ef04b4a3b0b65b4c5d7d486366175540a91e752993ba979d8a446f94088c7c3a02fd5c051f900a141957e63cbd71aa012db60a02b3872f3a623218a6b1f628fe8580e8725d9fb647f128c2519a8a0cd0649671616b462b83904ce621c95ff44697ca71ce930eaf0b28a6448a1c6b38c14800427683b71c954e49b6a3b978417b78ddb1a1b9729b89160b4c7ba49f312e23632460913d82d655d6e00b5b17a635827d8a0781e12a68c536ab40909f46a7173fa9cc9990371dcbc0b8a433436133ac123a73664a14e1409b4476ab001c17f26ebe968ed8c6a9d491b92f234499435e2df615c849be5f6422c8bc9de8f148a7c0713d93642dc852b33652287010f02b1d7b77972c797add3a38651b4c11ea968ce53f10d38df4160101fb0ee557bcf5b3328e12150a7c0d769812abf2ad2c1c7661844e6b34b25e7a30ec64b6e7d4282f48344bfc6f33ab3c428c76705cb9b1e9637721c9ee60874017013374082892b4af174749041c606b3f6690146bf1b0c8d2844f80594f265a8fb639e209c9b7fc418a230aaf340bba34c1c66b7d570918ed6caf8f62768620058cc7cb4fe1c762aa96a5015b82216e204c5821022caa84af9b12b9c9bc683747a2724c88e650539779742edca6a6a6c5f5d68faaf73d4cc7aab9b105f3a1b46cc96c915912e807aa6c841f6be63812062ed1d07bc9164eccec7e6662056313cc32f63c6181cf3343adc9073888d5756f508d65025bf6490a5f6b164a942466e60c4410c72aa69d2ca10459b890a4cb22a7613d44e70ac96aca21169f932a6134d27a6c05582e830c0ba137df060c6249b360831cc6b993e3d455c2e61694b11b520c64078bb552a65a3bab407d46c0ee173bbb52a95c7cbd8612380fc0cf1655c8e691bb0493103ec80a5fc92b4951a0d78768504284ad52580f16247b3c44af0a397f28ce3d0c0e4d34cc48b26b3998b060f2a9a013889685446b6281b3341c08e8300a013390a881a3a4937b412bf4745b069acbf5315b9955aa4999ba827bccbbf776829291a9067272059104522d69d1834886bde76c078a6061305833fefa710ebbc0dd0729493a285acbcf2708cf93ecc76b85691e20bfa4379c8521420c231f68429bb5c76e69378f6ef3475fca5760a5be829c2b4fa955e0e0931423b0a615194c26225bc538e2db29b873b2397a7c7ada2f4b0b589ebc97c50174e4317ed5d9cf2878c924937bd258bacbfc83283a218d443d8ee43f8cf3c64459b189e6b3ad100a6c6a3ede9916f89b8bb67cac332c0519f502a4c427f5c9af1a16a59a2122521a0c624a20149765e986339ed63567cc29cff15d7e8ac026c96f08d6ac4e057db4e66361b18ccdc3bcffc300a996ab7346232db7310662c75b39ad7aa080b23763ece54960397b8de836071b8914d56f95a681accb8fcb9529e5e4cfc2ec0601f7b0b291524e180aa0a69fa74ac2f17aa88162c481f51543a5a527da5c42b59f9a72b14dc91574b51e5806ace3f022d1f19e3eb621560478bb70beb8407719a01e16313d2f0c785e3b9886f679acfa465ba974676c0689a149ac04996f4132dc4974f2fc322b56115a64b0b5dbb8dc71869cc655dd61390b032f062b024bb71505640a41cc6174b68870da11eaeac28ad061f3abccf4e12231655eaf9285b205251ea69371d90527793495835715ac005868a78b1cae80025426848c4ae869b52034bb266e1b97480aaa7a31e384780442d9933fdb750efaeac0bfa802e5314d28a17d374caa05b46121e16362e8341dd923a66872df3c942177b58951c40ad1641f53a53d8708ebcc22aac67ef262b6155007dc6880a1f45cad3a5312b282055b1e0b181d9b396591fa78dfccb9d6a92d5cf8189c14c68cf4238654716f0a1e4f2542cd35a7e4e2185814c1f5b16d8c423213c69d5958c46960b8df589c185087ec5474df3c5112b5bb6bbcc6ab7160abdc2ab28801d775caafa049479a837cfc8847763559ea86239889385baa43a2848b489087fb43aa20acd7ac05606767798500f9271271e52032f21fc2a82d8d15bf774771b69c570ec488053743dc5398c4363aeb3932a5c54d16f45a033386dbe3b2d0a851116c2cd2fa4671b95cf7e60bdcb4976a2393647b714031870b1a6b2d486a5cf2a8093b7b948c9418f3a27f6296ea12336b8a6dd5a5715ce9a70dc6978038369a10332e3ab6c2971961d5c66441abc3290113b21c46e96c509aaf09e658d9b77928935b9a122e42bba23f920b58ea48f3f19a7924128669c09e135f772c275e55904400495153a691794a8d182ee1314446371501e87c41a944f850c9cd288cc2ea90a4e27864c79e554cc5924c4ca9a217dca424ee8b76e49993ae4b085e9809eae27401eb9c6c794a67a31705876243478f86d5b9f9cb3295422816526439950a412b4d1d28a70c6b9794c959be155aadb39e00b418efd0664b08843d20b71c547f1468c5fdd92b9d818336282f34f19b515946a7961b5a9319d9444cdc1aba840cbb57272e4da4ab20facd5fe4958a57c3c812978fd772c2862dea8b60b30a601b692dadaaba0f361cff27c5c734a42265341641b861b7899cb311e7e0acce396bce2809f24289c5361b91cba88493991987c0aca3b070411481e154104c15780abafe725dd3e1adf00bb0eff4a29298ac10c63fc0669df6379294aabb4588aad2087c9c16c9afb654f0c9c213d79cee1a843a84742d574de252a4f24795e9aa631d5198f07511160300a2e02a402b4cf8aa556ce67bd341307ce5a1eb6609efea3f066379865489701783b2c95ee6967f0893d44d76104bf396577fd719d69eb306117f3abd65385a87af12d1bb6d04330c2e803c2872400c49e1bb10232946ab939319e84ff32cd354dc15d082cde5a31d9667c03155106785069387ce7d25cb09c5516d52817201d6653f20e775b453 +m = 07b6b69b60dc15a90690b3fc53e8a4655275e0a1a502551d8bf2eb337b1cd2fb +ct = c38da83a5586d8b9ea311f66b07406a1963c8cb892558c3b1ebf5abc50b2be5b2f9a6e75a57e77bcc8d98fa51b48b432d2621a216041148d8ac0f60350cb67da0dc21af8ce9f4f38afb84f858e95478b3f44c463d2bc6209ccd76fab82c18be6f22ecf0c1f579f4f26dd775a2086bf4ea8a6da9e56f8c6c52a80ab219c68f9d233b1119aab5ec530f1a32e46c83c8e1d518b0fcac439fbcbe00c5bac4d03e48ba509fbbbd4fecbd4bae6f790bb9ef2016974482ad41b30a911abc0117ade46fb47f9fb28c2e320b01747ee832c981ae1d1cff2b2ce797d8d39b1e04fe807874301194de85cd058cc2157e54b0eed9000a4e05feb8104687ddba10c0ce53a6bd703fe4085a04d41d06b683202cf31d349637d5e55ad763983e6b94ea481bd43695b473ce51fcaf3ae8473d16dec90f38c93a73151fc771ebc955114a47cdc504904a1463dbe3213fd4bf108e679e081358ce5647749bc8ac8c908242e868bae25037403054ce2806f2faed565ac2a47ec842dfc43aa604efbaeef28307c037fe6e2d0b27082654608324a4c8d298c7b9a3df141663e68acd4cc0faffc2710dbcc4fbe7f807fa08b5e35d5741c2005aaefbb76780be87e67cfa9676939b0ebd1554c41c4d11622b1eed2b6c65d293fcb5dbf01612638c979c75fac30421e298735837920febcf677910a964b5a5b745275d608396d6cd133d1203ed72843be0b7d6ec79622930f8d00ca179d22b99ae280440d3300d2e0ea449a4dd84fa1d416e866c8b37a00768b32e343733d2de5ed89becaf537a246fb7f276418c434acddfe2225fc9b53fd84763e2b42e4acf57c24a71cfaba9be42490b419ec000e53d1f6ff865e77afef45ceeb2c526260b03fe779e0de8ced818ab17ac90749c9324bb4edfca5411bf6758c32b572185b76aaf5853810b0ac6a7c99005cef58481f359decbe58cf5e8bc04a45251e9fec674dd33bda92d5235593c83d6b389d086a5d859de46fc4a57f2bd0d0560afedc017ff9feed8a8e727e4454185cd339fceef6f81000661decff0a175423337cc32064e5cd8810d854741211ad68ed7c5d574e962989173a9b24dce6795fe1d57699af00d4fbe3f2253a1246d3692bdf8ab4b8c152ddf33356e75e18197889934ce029813a465e6ab5b978cf2b1303bf0d4716773955a2a5e3a7e5c1043e03760ef077f77a66aafa941c05203271fa49e4f6e76d324ef463afc2179a0ab7c2c269e9096aec415e19ee7f68b228b4b05191ac549a5f37b465caf1e4a24475be16fd5c7a74bbfc416d7f98068a844d2f50d108220ab42ff032b00fefc18cb887f2f3e922c49cb1defec20d7e0032be1a2708b074aaaeeb005c079fab94599d2f89ad8786f2b71859a90457b47e7488ae70442c723bbf78e707cea150f60533b10ffc213cad2a4112d5c2e6b76b9bef3b9ff9a62c44a52ed04f9b18c76e01ae2ca1ce86b947a82c14638c465c2715983735add8af549c3725c9132104700007a76dc7f1c4d0c8316c2d5028ef5c6b3473b466334bc1 +ss = 618f4ece7c4393669f273b8a937de3bb779911cee8e1fdd022550d8e2915d336 d = c1b3cbffad4b306f9af0cdd3028876486dbe858875c9b6497fe20172a986c82b -z = 1c96249919cedc2369d8d739ab125e0d2ccb82dfebcd90240a545cdfe07511f2 +z = b5b9e60227058afd73501b1c4e45adbbd41c7be8d14bcb8e98af77698fdf6b69 pk = 0846c63e2c3018bc8733f05f8ce3b614088a787669205ac9889bce2d3b523f366f4bf811f004666b2b654431b135d97a70a00fb9a3928c1a4a2c7285f6f7b19bb766bbe6b966b4013ec06833ec6f1118a772c2465d81b77ba740b7ea33129218542a41e2f1b10f42bb42396e9a6c5011351e783641aa692a982272d9544ac93580fa6a51b8c7b6a4b5b1ce3b58f1d901855bbb2b68b988953ab63607d988999ed96e5a4b963497a061ac69bd90c4eab7c0dc17820b6963b0293d4ca30d82f5997a877a9aa71c5c7893c1d153ac6779d0a88190b13df828bf3afac9d7ea392fea899ef844535187af673972399a5fa31034c02d70b57b97434ecbf3b1985c86ec75b23ac0afaa67225f12a257b78341966bfd2569670680e012899c112ad3873aaaf26d2f4a5c8cc133c92b9a446530c169b6b87b118d03329374a71ada1778a2035986ceae200c763a12b6e2b2fdb672b4d58d8be640e61576f2cac617a5ada5d1b874bbac9d272ee4c881bbdcca1c9a84626012b988395eb5a4a48bab1e7551b6cb57ea7b627138c3ac252bda1a83ccfaad69e38ceda6b149c1b3ba295fd5025c63225ce88ccdfbfa6b3950cbcdf96e14dc0962745a5fa32d10525f71d895a2085620c89024d922359741be366ce9038aa3b260320a456858a7b8d01bca12316e9c6d1782bedcb590a1d2ad9ada0c26d3818652ce6f3b6403c94dbcd1424d090e9deac559472c9ac19cbb26c16e8b27db9140a1161ea96a171728689cd6b6ba0c8002ba6c46719a1a0c175638770cd088ae29a7fa958209788ade14354a1b0880f05ef7c15a6786be063b357fc7521973abe4fcac0a8c26f3eaa052959e2f973709c9c6bbf4c889c8b76c0ac81353b4a4dc81b7d316f75accdd1911df10a7e838a7c2023ea1eb0a956abb53fba02c48396807229f492966796805e04ad62b8107493aab264a5beb32f5459c06aa6e7f79acbf171899a911fa910dfa6687b2c28c1d419a4817abcf656ff669b587b72374f3cc20b92858361d21bb85a3b9aba157100875c993b54ccbc84db2d72374bcae29c5479cc95197e625da047447ea5797551595853651912daec4891e68901bb67faa98bc5050bb50e913645874fb7a0e51c816acc88a7f8a4ad383170a583a2e17b0d5766e12dcc827386ba8d868ee16b2fb892aca3941cdfa7a487c13af9787a309779b759cdc037c13e839314803bb10a3ab19b7fae477c8c322bf05bd3ad9cfb0b241371c85ffcb607748cb518a6c896830b191737ba289b15288ab59869e22637c57019818801ef9a6b7160ac1b5b4d7519b41905e6687b3fa7230eb88a3c9530813561308b68bd2b740e7aa08ca72cd6468c008ccab34ab99b6773c533b3914b19b2b80bf7e783e7bd9366c8962e7f3410f34651ee606eb737e6c9c5f6d306af7348ce955228cf02d15b8abaed16994b56260221beb1a29be5596e204b9ce111127989bd2ab49cf27c976f74aa7b084fa6b8400a25f3c36213f7c2d160045d865c75aa14542f5a4e4d1459b5676491c6a3fa0a2f0319ca1a63a401c9c3a14c94f0016a9a69e64c522aee93e8b96b4f6691322242b20353e0d8b995a6a9129e961ae7349f92c92a90b833e82b9fae1ad459ad417635c409c28f9ef936ae28d221563e30f83162cef01b482889e -sk = f3ac3178bc3e6b8002eb20046ee3288f9cc63c1abd0b14a118d52e2c9a998d4c67e2014415084f520945f55b985adac8c503079789aecc491eb7ba540f32be8823a4a837786be140d260cff5d46186588f4fe2419e0c4ba1b619567b9d8206b53ab1289640520f2259f5d6854871498b23696a321813d7a544e77fb3100b34c89af2c63856fb43bb0a74a6073958d1199b4098386984847962b353b4d81aaf4cf65349c8197db8c1b29a91fde5af1f9749a96b3b82c567207a81a163347919aea565304b4820369799d352ce72415cf1c692537a48ab603b9dc741a08a66d874bf46daad570b6f1f4133067a1d900ca87cc25e91c4ce1c84b46d3c5baad46fed227268f1a9dba968eff27249b3c6e4c7c19e8a13046a2b45bc24f4304a80c09d37ac289f924f33e97181b8393eaa82a6fa54f2e76dd88791b5c3773707046c362d94ea547c3050ab251953464f4e540764b08103a88e448446f6b82375c15e3ca9a98798639b83638ada857bdc1e3c6705471975c51b8087a26348babefd234d27d6c055d3aab7560b28dcc13d343a79530ac868b5f6ac83af04b8d7a20b64dabe9de32a5c1b2c2acaccc4588c1ba26f5462aaa5c1bdbc36467f346a1ab5c5840a07bd33ceb44093659bb0451c4c87ca4852172dc0bc3674b4275078cd2b9a3afd61bfe454107d092e5840c4968c547adc723c1970cfe705c5d33e3a4533f0028655c6ba44ab22c2a4c85a82b4b6dcc09765124e43c985459cb2ab1519db1ec6f348d017a785484802d90e0222ca2313b4fbc465dec0cd4f3a5675e33cf0db79145867d5f0b8f340526c8a744929728ceccd146b6e66d03f660aa4e2e15d200b5960f3a03b571bb2e59160048e498c15379027e07987ddd841bdaca79764bcaa1c9843fccc65b53695335d9d4cc789e062571665da99b4e10368467aa551775c39c7c9dfe7624e8940f294c8655503f2f970071b40f6ba3544c64c41887184828be6057a9e972631604901a7870733580c6ab8d4aa18b49cb4d567577aa8b0ca2490edc68b168583b8b38415d32f5558996cc911a9470951430c36f71712f1c579a12327c41c441c980c286b71a31748ea54df2a557fd1701c3173944b7b40117ef9cb08a7d03d45531b8de4c753f697ec4b4303448c260b0783c81ed599425d9b16806828bf795c8cf65a95f366bb90110cc75d3e6064bee17cf1497f36c48e68b46ec07417b2a876cb556c705c7ddc387d74f2b0aeec9070d227af09a324495f551680a474328d379aac253a6f4c42c865a183d7c2f4f8ca94a92388b1afbb5408cb1c0fcd3c945e2923acdb7e16a45c03ec3298b3c44e9c1e75d049b2ebbcf2f29a2d3b7fc68644530010e052a0d357809009cd786604a39898b385b70ad7b3be011ea83b93d4426f4f20a3d0836fc6fb532fa14536285013050c16d01c5752884e49a82a4a0bdbc8bc2c7598d548278703ab4c607a16b1bab64052f40a06d3915cd03825f12c069d956f2a5662e05804183932b5216ca66274214acf5c01a7f4c77ebf522db776068f94151f7ac33831259b53bc48e99c50b260faec0b7bd3cd4fa9b5a5c2588cf098fce5aaeeb15fe651355537953d9b8580313b56336f0846c63e2c3018bc8733f05f8ce3b614088a787669205ac9889bce2d3b523f366f4bf811f004666b2b654431b135d97a70a00fb9a3928c1a4a2c7285f6f7b19bb766bbe6b966b4013ec06833ec6f1118a772c2465d81b77ba740b7ea33129218542a41e2f1b10f42bb42396e9a6c5011351e783641aa692a982272d9544ac93580fa6a51b8c7b6a4b5b1ce3b58f1d901855bbb2b68b988953ab63607d988999ed96e5a4b963497a061ac69bd90c4eab7c0dc17820b6963b0293d4ca30d82f5997a877a9aa71c5c7893c1d153ac6779d0a88190b13df828bf3afac9d7ea392fea899ef844535187af673972399a5fa31034c02d70b57b97434ecbf3b1985c86ec75b23ac0afaa67225f12a257b78341966bfd2569670680e012899c112ad3873aaaf26d2f4a5c8cc133c92b9a446530c169b6b87b118d03329374a71ada1778a2035986ceae200c763a12b6e2b2fdb672b4d58d8be640e61576f2cac617a5ada5d1b874bbac9d272ee4c881bbdcca1c9a84626012b988395eb5a4a48bab1e7551b6cb57ea7b627138c3ac252bda1a83ccfaad69e38ceda6b149c1b3ba295fd5025c63225ce88ccdfbfa6b3950cbcdf96e14dc0962745a5fa32d10525f71d895a2085620c89024d922359741be366ce9038aa3b260320a456858a7b8d01bca12316e9c6d1782bedcb590a1d2ad9ada0c26d3818652ce6f3b6403c94dbcd1424d090e9deac559472c9ac19cbb26c16e8b27db9140a1161ea96a171728689cd6b6ba0c8002ba6c46719a1a0c175638770cd088ae29a7fa958209788ade14354a1b0880f05ef7c15a6786be063b357fc7521973abe4fcac0a8c26f3eaa052959e2f973709c9c6bbf4c889c8b76c0ac81353b4a4dc81b7d316f75accdd1911df10a7e838a7c2023ea1eb0a956abb53fba02c48396807229f492966796805e04ad62b8107493aab264a5beb32f5459c06aa6e7f79acbf171899a911fa910dfa6687b2c28c1d419a4817abcf656ff669b587b72374f3cc20b92858361d21bb85a3b9aba157100875c993b54ccbc84db2d72374bcae29c5479cc95197e625da047447ea5797551595853651912daec4891e68901bb67faa98bc5050bb50e913645874fb7a0e51c816acc88a7f8a4ad383170a583a2e17b0d5766e12dcc827386ba8d868ee16b2fb892aca3941cdfa7a487c13af9787a309779b759cdc037c13e839314803bb10a3ab19b7fae477c8c322bf05bd3ad9cfb0b241371c85ffcb607748cb518a6c896830b191737ba289b15288ab59869e22637c57019818801ef9a6b7160ac1b5b4d7519b41905e6687b3fa7230eb88a3c9530813561308b68bd2b740e7aa08ca72cd6468c008ccab34ab99b6773c533b3914b19b2b80bf7e783e7bd9366c8962e7f3410f34651ee606eb737e6c9c5f6d306af7348ce955228cf02d15b8abaed16994b56260221beb1a29be5596e204b9ce111127989bd2ab49cf27c976f74aa7b084fa6b8400a25f3c36213f7c2d160045d865c75aa14542f5a4e4d1459b5676491c6a3fa0a2f0319ca1a63a401c9c3a14c94f0016a9a69e64c522aee93e8b96b4f6691322242b20353e0d8b995a6a9129e961ae7349f92c92a90b833e82b9fae1ad459ad417635c409c28f9ef936ae28d221563e30f83162cef01b482889e5818ac8d7a38c781e3a0bc43d088e6d391d1d67d9639b260bb6f58a19a57150d1c96249919cedc2369d8d739ab125e0d2ccb82dfebcd90240a545cdfe07511f2 -m = f4b66a7d3b65b896dfe100b2cad24b175a1168cfd2ae11fd704b835f6bcd311a -ct = af94cc0284b48c7858a08b77ae1161a30c07a30d48fadfc030089988bf1b24ff5607c9b5c714ae299658bc5e8801af51e8876908120917b00751b558ffb7f54e875b71d91e02fb9c218ea63f2baeb28a16f912896652d7a20861311bedcb97846ca5f5c43efc5e09bec6b699c2efc6d634f6c310e97793f0fa496970e2b9a3f74b35f96890468faab476c179ad7f0d3c601cd54d583c6763de4a839b7855e68f3ba4756a2aa1ec59fecdeb1d7fac0b9eb71184240aeeb740a9579ba6350f8f6b930a8ac33d3bfcd3d28de47430fc34248ee1b292b94bb27bddc9d9b1a6cdd7b5aab7fa324295e1b80ac76e04465a50310e0f3dee3a8414c1927ca2ac9921a50e970a48571c8b73d07c54f58e7d3cda82bc4a609a9840f3ffebfd7ec71e52d875712ee5ca94a500e28f5d3193a3ec22c83a2159def810fb3640440bdc870295c70ce4d45b9fc902d5f8590c0e1b45a5bc150d379053f277e3d8368efa67d333031a2b131b8fab6522d6701bd119e5493c5e6b4862535d4c119265fdf2682a7949bbc1d4bef0893d979e35719f0d418317d0a828be60e9f81a35dba44ff1c286db5d7bcd3734576c6f5c8a7bac8dd8364465378557237bf26f539ff9d68fa86244bdb364fb1f6c893cfef73a9d312037f161482ce9480abf28809b05318f7a4749983e3577ca3f19e60492be75de65171fb51a87301db5df692fbb49906696842636b85d6dd6dd020c5b67feee25b7fdc68b0fc389b76dc02dad17c2b58a1b3dd2c7fb17848442f49a674abe74838095a97949f664f474daac1e708f9baedd23a32a2a5556f42af0f2ff57c487e7c97b5cc6e4ccd3e923976e5101ae7c4ae8eeb07fa20cc7bc1ee39f26b002aa0149b84aa7e868ecec02c304ecf5aefa03b98f613738d23c09903901481d8f14160bd18dfc0686da00595c7178dffee5a4a9a1f4b8f27b563c4ee84b8bf033eee964277944d86e416d67f663ad2200922762f1900cb0f65a81eeee4f758bb20962a85d2fa0155296ed38ac8a4a642e6bdf4e772b7309f4e0280552db9fdf107d2c3aded893a015764069d3d6d5e689f1dfaf26a8fdc8628f6b33e8b5d209ab3f3cc4960409486c52d539e32d27687c2ba004201ccfaa17deecf6533d47cef4ddf9b6cc8e25f3648bce3298423485045762e4cd4b85e28b5fbe22c332ee0bc587b2c31af7b98fd97e95ca1fbc9a57e654bd8b5e54c9d1b3fb59527b1c8f9736e95293bb74613708721281c0e80b79c73e1db9dbc4b1378a18174d068c5a2b6cfb4f2020edd74a40fa308d5e60174696e8df28063198f58605b5ddcd759b6bfb1c0c2cfc9f31fd5e041f047ec94a716758bf66782127771fce174dc0f141e866241573d48ab0efa04497686bb3948c785a3f3381ba34e44090e02f5911fff19570341a7ad12d3e7a487865950462c7db9f7290e8453981ea4db3f39619f27de8b68866be3a2c1bb6901a646a180e152802831d12fb305cf084dd64c5ada579be82a7c55846b550fcd3f4c3274297f08ae37c4c2b61 -ss = 2f2f58e23dba54d8a44ba11aa4546ee3f1819c6243e986249b7102019de3a777 +sk = f3ac3178bc3e6b8002eb20046ee3288f9cc63c1abd0b14a118d52e2c9a998d4c67e2014415084f520945f55b985adac8c503079789aecc491eb7ba540f32be8823a4a837786be140d260cff5d46186588f4fe2419e0c4ba1b619567b9d8206b53ab1289640520f2259f5d6854871498b23696a321813d7a544e77fb3100b34c89af2c63856fb43bb0a74a6073958d1199b4098386984847962b353b4d81aaf4cf65349c8197db8c1b29a91fde5af1f9749a96b3b82c567207a81a163347919aea565304b4820369799d352ce72415cf1c692537a48ab603b9dc741a08a66d874bf46daad570b6f1f4133067a1d900ca87cc25e91c4ce1c84b46d3c5baad46fed227268f1a9dba968eff27249b3c6e4c7c19e8a13046a2b45bc24f4304a80c09d37ac289f924f33e97181b8393eaa82a6fa54f2e76dd88791b5c3773707046c362d94ea547c3050ab251953464f4e540764b08103a88e448446f6b82375c15e3ca9a98798639b83638ada857bdc1e3c6705471975c51b8087a26348babefd234d27d6c055d3aab7560b28dcc13d343a79530ac868b5f6ac83af04b8d7a20b64dabe9de32a5c1b2c2acaccc4588c1ba26f5462aaa5c1bdbc36467f346a1ab5c5840a07bd33ceb44093659bb0451c4c87ca4852172dc0bc3674b4275078cd2b9a3afd61bfe454107d092e5840c4968c547adc723c1970cfe705c5d33e3a4533f0028655c6ba44ab22c2a4c85a82b4b6dcc09765124e43c985459cb2ab1519db1ec6f348d017a785484802d90e0222ca2313b4fbc465dec0cd4f3a5675e33cf0db79145867d5f0b8f340526c8a744929728ceccd146b6e66d03f660aa4e2e15d200b5960f3a03b571bb2e59160048e498c15379027e07987ddd841bdaca79764bcaa1c9843fccc65b53695335d9d4cc789e062571665da99b4e10368467aa551775c39c7c9dfe7624e8940f294c8655503f2f970071b40f6ba3544c64c41887184828be6057a9e972631604901a7870733580c6ab8d4aa18b49cb4d567577aa8b0ca2490edc68b168583b8b38415d32f5558996cc911a9470951430c36f71712f1c579a12327c41c441c980c286b71a31748ea54df2a557fd1701c3173944b7b40117ef9cb08a7d03d45531b8de4c753f697ec4b4303448c260b0783c81ed599425d9b16806828bf795c8cf65a95f366bb90110cc75d3e6064bee17cf1497f36c48e68b46ec07417b2a876cb556c705c7ddc387d74f2b0aeec9070d227af09a324495f551680a474328d379aac253a6f4c42c865a183d7c2f4f8ca94a92388b1afbb5408cb1c0fcd3c945e2923acdb7e16a45c03ec3298b3c44e9c1e75d049b2ebbcf2f29a2d3b7fc68644530010e052a0d357809009cd786604a39898b385b70ad7b3be011ea83b93d4426f4f20a3d0836fc6fb532fa14536285013050c16d01c5752884e49a82a4a0bdbc8bc2c7598d548278703ab4c607a16b1bab64052f40a06d3915cd03825f12c069d956f2a5662e05804183932b5216ca66274214acf5c01a7f4c77ebf522db776068f94151f7ac33831259b53bc48e99c50b260faec0b7bd3cd4fa9b5a5c2588cf098fce5aaeeb15fe651355537953d9b8580313b56336f0846c63e2c3018bc8733f05f8ce3b614088a787669205ac9889bce2d3b523f366f4bf811f004666b2b654431b135d97a70a00fb9a3928c1a4a2c7285f6f7b19bb766bbe6b966b4013ec06833ec6f1118a772c2465d81b77ba740b7ea33129218542a41e2f1b10f42bb42396e9a6c5011351e783641aa692a982272d9544ac93580fa6a51b8c7b6a4b5b1ce3b58f1d901855bbb2b68b988953ab63607d988999ed96e5a4b963497a061ac69bd90c4eab7c0dc17820b6963b0293d4ca30d82f5997a877a9aa71c5c7893c1d153ac6779d0a88190b13df828bf3afac9d7ea392fea899ef844535187af673972399a5fa31034c02d70b57b97434ecbf3b1985c86ec75b23ac0afaa67225f12a257b78341966bfd2569670680e012899c112ad3873aaaf26d2f4a5c8cc133c92b9a446530c169b6b87b118d03329374a71ada1778a2035986ceae200c763a12b6e2b2fdb672b4d58d8be640e61576f2cac617a5ada5d1b874bbac9d272ee4c881bbdcca1c9a84626012b988395eb5a4a48bab1e7551b6cb57ea7b627138c3ac252bda1a83ccfaad69e38ceda6b149c1b3ba295fd5025c63225ce88ccdfbfa6b3950cbcdf96e14dc0962745a5fa32d10525f71d895a2085620c89024d922359741be366ce9038aa3b260320a456858a7b8d01bca12316e9c6d1782bedcb590a1d2ad9ada0c26d3818652ce6f3b6403c94dbcd1424d090e9deac559472c9ac19cbb26c16e8b27db9140a1161ea96a171728689cd6b6ba0c8002ba6c46719a1a0c175638770cd088ae29a7fa958209788ade14354a1b0880f05ef7c15a6786be063b357fc7521973abe4fcac0a8c26f3eaa052959e2f973709c9c6bbf4c889c8b76c0ac81353b4a4dc81b7d316f75accdd1911df10a7e838a7c2023ea1eb0a956abb53fba02c48396807229f492966796805e04ad62b8107493aab264a5beb32f5459c06aa6e7f79acbf171899a911fa910dfa6687b2c28c1d419a4817abcf656ff669b587b72374f3cc20b92858361d21bb85a3b9aba157100875c993b54ccbc84db2d72374bcae29c5479cc95197e625da047447ea5797551595853651912daec4891e68901bb67faa98bc5050bb50e913645874fb7a0e51c816acc88a7f8a4ad383170a583a2e17b0d5766e12dcc827386ba8d868ee16b2fb892aca3941cdfa7a487c13af9787a309779b759cdc037c13e839314803bb10a3ab19b7fae477c8c322bf05bd3ad9cfb0b241371c85ffcb607748cb518a6c896830b191737ba289b15288ab59869e22637c57019818801ef9a6b7160ac1b5b4d7519b41905e6687b3fa7230eb88a3c9530813561308b68bd2b740e7aa08ca72cd6468c008ccab34ab99b6773c533b3914b19b2b80bf7e783e7bd9366c8962e7f3410f34651ee606eb737e6c9c5f6d306af7348ce955228cf02d15b8abaed16994b56260221beb1a29be5596e204b9ce111127989bd2ab49cf27c976f74aa7b084fa6b8400a25f3c36213f7c2d160045d865c75aa14542f5a4e4d1459b5676491c6a3fa0a2f0319ca1a63a401c9c3a14c94f0016a9a69e64c522aee93e8b96b4f6691322242b20353e0d8b995a6a9129e961ae7349f92c92a90b833e82b9fae1ad459ad417635c409c28f9ef936ae28d221563e30f83162cef01b482889e5818ac8d7a38c781e3a0bc43d088e6d391d1d67d9639b260bb6f58a19a57150db5b9e60227058afd73501b1c4e45adbbd41c7be8d14bcb8e98af77698fdf6b69 +m = d70b79de7c2f7cb8d18eaf1ca040f6d8588ba85512ad000b59806ba485538377 +ct = 4d4ee1ef37182a59bd1e8437223326dc015645d098b01d4a55f78ef5bf3539d0e669a8818df4ef96f694708db55d77c36750c0c2580aa5aa3412565d693bf757216b51560e4a77a7641f3c209238695ff87b0afb970970bf0ed7140ade2a770e3a9d1ec64f6c3480e9f7798120e07f55575b4db3edfe14c04d3ce59ca1598566b2e83dcf2668d842955d377c2cf8f3ac0c15359b1e0e60d22a7696d03080774d8aad50283c15bfa8a81bfd362d47365352b6d6f8c610773786c2354f2ae1e8c05941f6f9bb3e5f3ab2c5dbb01cf10c4cae89e222732dde775b43de60abb960603fddd72373b52791c64fcda50373aca4ee126cf2ae98aa922e0584513e6b519d30ab5843f7a3c06956c227ce90de5a2edf3d7ab4c3048440c0c8664f506be28ce83f29de35ab19cca5f4df2aa7582239a57a211a46b9a5e7cdadcded473ea9ca3d58a75c9e7bc805db8cb5981e884a86392504b4bf774d7d772035cf79172f4176adce8d87d11292fa80f8b3690dd58379aacdfa71b700de4fbbc0045e411cdfe958e056b79e78a4ca218280d3344894384a9d2524c64989b22aa06e3f9c4d2cd37938e0fee64592afd41a93f61aef3e7e94b3db9ac882715abcc0c57c344ae711684b0c34220182aa8daac8336eecbc999db1875e948af7db945b8208d68dc35fcfdfc2b6df9e80829cafddca0c7b979a43a0b05d380012681e4cf76008a714b9d693b53880c75d715d1c3704c783c40347a42d180c848f1850d7b8bccd86b6c5417be906615b60171d5ea0187c5065078901a023defd6b5b8f26cf59f8c4d9e4f4eb257247d0a8a9b376f22be7d4701bad3b15ea0c73f22ef9957c1480ac96bf80140cc773c8715faae46435f16c0110bef1b7d841c75cf1b9c3bd3419d41d66e09132835bf68a4ea1cf046a41654ffe8b378de2cd12dd1b5c03e80511e1c534d283d2eeee559a6fe4133a5040ed76263738dd921fe706b82f85e29790c7067fdc332b804b5835ffbc8d621e379d42d1e3d90eb850b0f5e566c7df707c456b29f29b352abd4ea8de0002929f91f1f1c6eb5365f8fb432bd74cb6a5d993db59d547d7c12f43cd42c0239a5353c735ed3519d590697cbe737e788671eb640c153631f20e4de774326db0095629edbe2b8dfd1267dc2fab1e7ad5a180372c1b72f6359e8711321e0ec40bb69bbab6e2558d94520638f9de6604d83891232534314c75c53e8884eb8a8085d939249e74355c67e03aa0417301cb619d2b8200122cf6f612a3624a90dd7757c89d01cf8a7839c61a4a0041599ee88d4a235d2c9b0fc537e5e55ae9fd5c8efa364c12e688f43f273477012651d066c76a23c5e26775eb63e360e3fa96fe58f5db49eedf8d6c90fb97cfa6d2808f91f816585b5adb3ae8d289c738e159863b9cc51edb7108b71d15ca5edbc87028129ca8cd8bb5ef1cadd70b930243e877082ff0b58012e97a560be1f5a1dbe1647ce999f5987a81a59810725a2dc2fac903b951382a3b504287899f93d6689f03e07ab6b2aeaacdba +ss = 3fb42aed91616bb85d06748999b29c6a287ae6c6e33941ce783bc3245c729d52 d = ff7495b8575b5a98e4fd21fb4c3e58cbb60f14bef21aa74cf8802e3153f14807 -z = bdc370460375a778d1a31d01c42b66367ed8d9e8f84551002f552f0e52102b5d +z = 11c033d4a4bb231985ca7e851fc73ea4b2c29e131b7f442db8a66a9e5b31934b pk = 964435fc16be2cd2276b7bc78ee8b5c963af2af4673a93940b429131663cc124be5a706bff5c157dc17dc5cbc2a11418dc4b8a28c841c5a831b1a2ba989a20fdd17dd06706ceabc0d20714d5595d54216e9fb6824e3272de0a1e262aa246494152b1cfd95c970f38aa35fc0337b26e76c77a0a76bc2c57b80757550b11807a423b85e32ddb537ab6d4694cb8b9ed58b11c9a6acc746749c21011a66dbd7896329c3a31d0a7e1e78efc93574cb7b051d79188ea4981dc6299eb9bd1bc1a133a41565305cd4a09fbb10934e7a3d132bb0eb83559c484ebc92f7cf93e445020b7187e2705a2d1a8386c008ec7f22fe172088360cd3fd160e7020b6d0c747ccbbeddb1b84fa7549f625dbc064621fc2e13f720188c200c1ac1f10394fe4117018b9640632fbed570c942575ff61a7149a51f9993b90827ea2a08c32a330747ca27ecae452154ce1a6a67a8b63676998af929e8a7a9d2ab709e2162a2e0bc0721bfc7e49c5b2c9ba975b3bd881aa3782391f5cee4cc1835c83732c84f54b373eb18869b2c90e9f986a0ea345cbb020333893b463671c95e6aa07193d06f7e62bf4361cd0009b1e528c85d147d0e650cea7b0c67f1b4fb754bf2f1a7b9cc621d4c34682a6195776bbb9b2cc866cfa94c368a2b4b346c75a2a6bfe946cef09416aef21b15d3c72b7cb408141608c058e506271380841656963174c70e09c1f593acdfb9bf4a3a9387b693f882495149c62a77595574c0bc745b51ba8338c6361a293402e74df74a7a70b49faa1ac4d66b89fb6c31dae59f318b610f00bf4f4a282f752a070582f2f3c141e168f6fa037f23945893766215b9ee9a3a1de662060a5b1fd34bc8dac56c0875a6f82ecf8863c1692dc2073cf517cbed3c362a853beef1a8cf2247000cc4cd8176ce980d683b8ad89b3eaba3b962624f5ab3695fa10a88055ddd664a2ba0749e439a39c6999496999be3ba7bba2ffe06388b1a6c83068ae70a1c6f8a36e788b8aa148933c896eda61efc86cbb7d5c9cc96c9f137c6a9210347289010979bc1e16700a610c7c990d685550f537ab0c45b2bc57e5ef4c08b2220961c6e17e95e2e4482a4a94da2e17b6854ce57c263d69429e1566bab646fdb216e0444cd8fcb7df4168ae66223a0ccad971583b5917c4805271a17b4a1e17462815cb39332699ac447332a3f7acedc03541e93a822a96089d6a1f47a7df35cc9b659cf419bcd2131b98aaca67343cdbafa3db35661c38c0ba1e18043a4c945067adee46e428a16011abfeb58c1bc8b2330288b57cc319389921857c9d015a0471128c34cbc13417db24b91a3567ac299cfa6d4c2f1123661a3ce0996111d340d9613b966955c6a758fa7f3556f6716e5ac7ad3a93174b2032a983cc0c73c0de302f9f83a0de89a1fb576cd3b41505b5ba712c387730c45399b8cf0b0e548cbed984e7bb5095cf7263b05cba437ac6fc369ebca85e0211715133bcc314723d79c9b93abac57ad3d3a5e77f2986a3539eb795a5b4967ac7753115b916236a97900870b658b9d4b3e35827e1aa9adc3500fd9ba18fc6b03465903858c61c1259cf485338cb700eb731f31643b469bb259210cec78c158e3290573c5228518e4697f19171d8f1a3a633448fe9c83bd28097bb29a168db5af1d1b354b6881a2ce509b -sk = 37f7089480382622ac6687b4b15bbdbc1a9ad7467e8ff4cf44f0614de74b9591b9c5410d2d7084bb57ac27963aafac148de80dda6232f4a0c634d677a80c226fe67063191c05a54afc026080877538f63df93cc6fdecbbc0a9a0a4215488da1a2f7b1ea8f8b917f32f397b94c80170bcd423c1f1ba4c736449f84bafd6711b0070dae72de1ea3923435fe15a4fb35ac98d6379f0a44c200a37704b5b269ba3a555961aca5e2cc1518fa4bad3c23438e06952c9317d198b0c112d79a89560dc3361f5732f820ce4d16ed448ac2ed221c8ea3601602c27f640dcc394a7ecb5079978cf52b80de15c3015839a44b9ee36837866c5c8e9579849b331e53dbc049e46dbb524c2090a54ba793c845420a7c2c29e78a9b8c83c310d780f74127c02a59ab68c1b29952dff1196d0940edc338df3e1c1c8e34fd0dac4d5596f97a2afa98b1e8be46bc0a96df412639ae5b52229086229b5bc79ac020b61a56c04091c10cf9940f798a9c50ba1f5fb30bfa947f20b62a60215c5a88d23b70c0e299c53f49a1ed511ac5812558133d9f195e1fb5d77314559ea79e63a88e781c4224155abb5ca91f089c0c609cecca32e549b0cba167d9307a3a64681a815a69c5d7e787751162483e7701437034f0864d8d53201fab9763c7921eca6f11247e7ea364298c1c3ab893549572bec45c1a8c3b88659cfd526810b23f2095aa6c1424c7178187109f83063b52547b9c731f9933622a33c7a8b927a50191593488f9a0d12331017919159c7a027c3956fe109393a167a6475cebb49224736847319d161490ec52396d7babfb638bdea29f50c9ce37314fc858455f63fcc70cfcb751df12274feeb45a124ab1b997c917a550c3469a0c185eb0238ffcb4dcbf751e12ca17a71b807b1446ea7180ee302e6998ef8d12a857c84ffc377f5e42fd41238a54345229916a715977025b3b4a6060f778de7d426a2f95927335cb202bf4080b8510cc0da12c4eaec4bbfa42997e21504b8c5d32604f1d66e8d55b50c393f973acd37a236db595e3ef08239c42fb5e9243d967181b9b94f4521c104a8aa726dec057abd419bc8c6cf350c91acb78b0832144f409f78992652e30eed7ba2375b3245d877c8e8b873f0427071c956633495381a2c642b15282b9945c758910fe469cd091b4458218105da96a479be0ac6b3ba155d359b2815916e93e9bad3d431945b852e519df0129174b24a32cc9fb8a62de96733d153a799cb8fba3c86b9101cf3d4a97bd3b699467991a57129607c27274d3224cd1848c17f1550be47b71a119873045e215bb817cb92c12a7bdc6347df8b64dd686873d800b4672aade8af56d2995546cc37c06f9212a54745c5597184ea85cedca7b980386fb91b8ae677a035a4547b5848879c2567c8cd6ac285f6f2460dbc0b73f5ae0993c988418c234895380c556042acd15a6c015a13ebe16cdea4be38528a9d244230a0ab053c568e31c64d06a3d7bca0e5207b7669811a3512f8ac6887137b0b7627d2401ccd604ae786753fb6568cb522b28712211208c1849d1f75cc4fb951d2aa081ada952998b0b0e938b77359233a76c135897e91059cc5639e978c12c6bbfb735fef4bcb1d60180df21d964435fc16be2cd2276b7bc78ee8b5c963af2af4673a93940b429131663cc124be5a706bff5c157dc17dc5cbc2a11418dc4b8a28c841c5a831b1a2ba989a20fdd17dd06706ceabc0d20714d5595d54216e9fb6824e3272de0a1e262aa246494152b1cfd95c970f38aa35fc0337b26e76c77a0a76bc2c57b80757550b11807a423b85e32ddb537ab6d4694cb8b9ed58b11c9a6acc746749c21011a66dbd7896329c3a31d0a7e1e78efc93574cb7b051d79188ea4981dc6299eb9bd1bc1a133a41565305cd4a09fbb10934e7a3d132bb0eb83559c484ebc92f7cf93e445020b7187e2705a2d1a8386c008ec7f22fe172088360cd3fd160e7020b6d0c747ccbbeddb1b84fa7549f625dbc064621fc2e13f720188c200c1ac1f10394fe4117018b9640632fbed570c942575ff61a7149a51f9993b90827ea2a08c32a330747ca27ecae452154ce1a6a67a8b63676998af929e8a7a9d2ab709e2162a2e0bc0721bfc7e49c5b2c9ba975b3bd881aa3782391f5cee4cc1835c83732c84f54b373eb18869b2c90e9f986a0ea345cbb020333893b463671c95e6aa07193d06f7e62bf4361cd0009b1e528c85d147d0e650cea7b0c67f1b4fb754bf2f1a7b9cc621d4c34682a6195776bbb9b2cc866cfa94c368a2b4b346c75a2a6bfe946cef09416aef21b15d3c72b7cb408141608c058e506271380841656963174c70e09c1f593acdfb9bf4a3a9387b693f882495149c62a77595574c0bc745b51ba8338c6361a293402e74df74a7a70b49faa1ac4d66b89fb6c31dae59f318b610f00bf4f4a282f752a070582f2f3c141e168f6fa037f23945893766215b9ee9a3a1de662060a5b1fd34bc8dac56c0875a6f82ecf8863c1692dc2073cf517cbed3c362a853beef1a8cf2247000cc4cd8176ce980d683b8ad89b3eaba3b962624f5ab3695fa10a88055ddd664a2ba0749e439a39c6999496999be3ba7bba2ffe06388b1a6c83068ae70a1c6f8a36e788b8aa148933c896eda61efc86cbb7d5c9cc96c9f137c6a9210347289010979bc1e16700a610c7c990d685550f537ab0c45b2bc57e5ef4c08b2220961c6e17e95e2e4482a4a94da2e17b6854ce57c263d69429e1566bab646fdb216e0444cd8fcb7df4168ae66223a0ccad971583b5917c4805271a17b4a1e17462815cb39332699ac447332a3f7acedc03541e93a822a96089d6a1f47a7df35cc9b659cf419bcd2131b98aaca67343cdbafa3db35661c38c0ba1e18043a4c945067adee46e428a16011abfeb58c1bc8b2330288b57cc319389921857c9d015a0471128c34cbc13417db24b91a3567ac299cfa6d4c2f1123661a3ce0996111d340d9613b966955c6a758fa7f3556f6716e5ac7ad3a93174b2032a983cc0c73c0de302f9f83a0de89a1fb576cd3b41505b5ba712c387730c45399b8cf0b0e548cbed984e7bb5095cf7263b05cba437ac6fc369ebca85e0211715133bcc314723d79c9b93abac57ad3d3a5e77f2986a3539eb795a5b4967ac7753115b916236a97900870b658b9d4b3e35827e1aa9adc3500fd9ba18fc6b03465903858c61c1259cf485338cb700eb731f31643b469bb259210cec78c158e3290573c5228518e4697f19171d8f1a3a633448fe9c83bd28097bb29a168db5af1d1b354b6881a2ce509b172cf4f8dace8a96b8f70da966080a5e3f132873ca7544343377a99b65e8147fbdc370460375a778d1a31d01c42b66367ed8d9e8f84551002f552f0e52102b5d -m = 1d7b03d3c5eefb8ae5799dc569aa668f1bcb8c86607b089d3530cf61d6380147 -ct = 2e1dd8799b0911bad860cf08f4a53162a559277ef400a1120a024c0b0ba064d1746ab3926225882cbdaf2b01013fcff1af978c02cf3650866af47564ddddab692292f6a1233b0bc4c296dd98fc24ff962e8f3a8336729268ec7fc97d30efcfc45c2d77ac5ffaa428e1d3ba6087f0ced8406f9c86f1a2119b0539ce5b3251c9a0c0836ef690dfadf37f16040da580814b865777882332591977d4181320be97a091e8281ed130a15fc6ad629ec1103cfa0af8fe257f3c3dbf737231c023c1314484a582f2599bc1249bdb7c5c9088b60e760f57621f4d04d9f32c8b5b354f8943d8917c68030cb263b78c4da1bad57c67b07ded2baf8b52d3f864380dbbb0dff30152c11f86a0529b29c78e97f91e3dd901676f97e6e1eb3756b213bc19d90debdd774f805b30e00aad86956014c64c09b816b149ea939232b4cbb96f0da9a9fb422f1154314171bfd2de10f69767834b90ab15099d30415d66f8442589b8855ed001ccc2dbd6a633ae846d25bcc754838f8316dabd1a58a61c6e7eb763611bdc4caea5fab7a19ec95bd168a4742308a07e8a0e0214c1173fc7d2386e33d187f2d2e5eccec18a3180025129065644a8e917554de34a1ccee3e9509f9de89fd35345a9465d02d25704318d5e6eda8ca7f6a6fbaeee2d519929df566062f672825f8bfd3370fccc384571a1c82575bd9f6b3b4173e255446a5a3f2e2143565c11f12d8ff48fb8105e2e19518ccb1b60f04e7988c58dfc76ad3d1e3fa107a7193af691d80d3db1f940cc2e5f50f02d5bbae18e1f598df690e82e7bae5334936b8d1c194663391d3f819cd2fac47d185192eb9596dda35b0a8db158c025961ce2f570f7097d076384f9a548a1b774624c5ed3bf042a06e50fa6e24d7796f813f5c63dddc70a1bbc85e730ada2a2fadebba236cd0a9be983fa40166823e52218f729abface09d7aa6f6cfbf6ba25de959a779cdf2e385a83b2666b5e0cd8a049428b18786d93a125832af72a6c3202db30d83e34db9c2e127b1d7e027a0d8f30ae69c90a5cfd4d3bd610f77751940536174247cdb7a9dd7df9a010e28e8bf22e346a3aed521fc8b7e3891847f27b7ea06157ff21f14ca7f474d7df1ccdb371dd9155f8a8958d391a934072efa43625244b1a79ff2c29753053c42378f338d11d722c283d1436d87fbd38aed972eb4bccbdd3dffb9f6f7b2cc2b1ec58f199e0e09ada57200031e3b26f0556af815a04112a784e5762ad828737f7f26b55969ff023bf853e4ffcccfa3a6e3e5d7363b039c2afef6a5114e7d2d28405091e258cfe54c3b991a5aed242dbc60430a95ea07776314140be80c633dd3e2171b2e9121f16ff37548e52650f6241960e6a6c23eb18ec2c6faea35b8e3aee9cc2f7cb0e3dba2fad334255ce1e92f684a2e1f8281ceb9ec7a497c41ed0362f9d25281064ae282e8947eca454e3ecee228b0f219c243bcefe589eca239ea619b152606eed03f788e9824226e2fb390207dfbe953ac99ffb9bedf0c0f602f0968490bfddf86e7d0f0e -ss = 0936224ef45e29dfe9263c6237a22798e94e81a932796174271ceccb78188554 +sk = 37f7089480382622ac6687b4b15bbdbc1a9ad7467e8ff4cf44f0614de74b9591b9c5410d2d7084bb57ac27963aafac148de80dda6232f4a0c634d677a80c226fe67063191c05a54afc026080877538f63df93cc6fdecbbc0a9a0a4215488da1a2f7b1ea8f8b917f32f397b94c80170bcd423c1f1ba4c736449f84bafd6711b0070dae72de1ea3923435fe15a4fb35ac98d6379f0a44c200a37704b5b269ba3a555961aca5e2cc1518fa4bad3c23438e06952c9317d198b0c112d79a89560dc3361f5732f820ce4d16ed448ac2ed221c8ea3601602c27f640dcc394a7ecb5079978cf52b80de15c3015839a44b9ee36837866c5c8e9579849b331e53dbc049e46dbb524c2090a54ba793c845420a7c2c29e78a9b8c83c310d780f74127c02a59ab68c1b29952dff1196d0940edc338df3e1c1c8e34fd0dac4d5596f97a2afa98b1e8be46bc0a96df412639ae5b52229086229b5bc79ac020b61a56c04091c10cf9940f798a9c50ba1f5fb30bfa947f20b62a60215c5a88d23b70c0e299c53f49a1ed511ac5812558133d9f195e1fb5d77314559ea79e63a88e781c4224155abb5ca91f089c0c609cecca32e549b0cba167d9307a3a64681a815a69c5d7e787751162483e7701437034f0864d8d53201fab9763c7921eca6f11247e7ea364298c1c3ab893549572bec45c1a8c3b88659cfd526810b23f2095aa6c1424c7178187109f83063b52547b9c731f9933622a33c7a8b927a50191593488f9a0d12331017919159c7a027c3956fe109393a167a6475cebb49224736847319d161490ec52396d7babfb638bdea29f50c9ce37314fc858455f63fcc70cfcb751df12274feeb45a124ab1b997c917a550c3469a0c185eb0238ffcb4dcbf751e12ca17a71b807b1446ea7180ee302e6998ef8d12a857c84ffc377f5e42fd41238a54345229916a715977025b3b4a6060f778de7d426a2f95927335cb202bf4080b8510cc0da12c4eaec4bbfa42997e21504b8c5d32604f1d66e8d55b50c393f973acd37a236db595e3ef08239c42fb5e9243d967181b9b94f4521c104a8aa726dec057abd419bc8c6cf350c91acb78b0832144f409f78992652e30eed7ba2375b3245d877c8e8b873f0427071c956633495381a2c642b15282b9945c758910fe469cd091b4458218105da96a479be0ac6b3ba155d359b2815916e93e9bad3d431945b852e519df0129174b24a32cc9fb8a62de96733d153a799cb8fba3c86b9101cf3d4a97bd3b699467991a57129607c27274d3224cd1848c17f1550be47b71a119873045e215bb817cb92c12a7bdc6347df8b64dd686873d800b4672aade8af56d2995546cc37c06f9212a54745c5597184ea85cedca7b980386fb91b8ae677a035a4547b5848879c2567c8cd6ac285f6f2460dbc0b73f5ae0993c988418c234895380c556042acd15a6c015a13ebe16cdea4be38528a9d244230a0ab053c568e31c64d06a3d7bca0e5207b7669811a3512f8ac6887137b0b7627d2401ccd604ae786753fb6568cb522b28712211208c1849d1f75cc4fb951d2aa081ada952998b0b0e938b77359233a76c135897e91059cc5639e978c12c6bbfb735fef4bcb1d60180df21d964435fc16be2cd2276b7bc78ee8b5c963af2af4673a93940b429131663cc124be5a706bff5c157dc17dc5cbc2a11418dc4b8a28c841c5a831b1a2ba989a20fdd17dd06706ceabc0d20714d5595d54216e9fb6824e3272de0a1e262aa246494152b1cfd95c970f38aa35fc0337b26e76c77a0a76bc2c57b80757550b11807a423b85e32ddb537ab6d4694cb8b9ed58b11c9a6acc746749c21011a66dbd7896329c3a31d0a7e1e78efc93574cb7b051d79188ea4981dc6299eb9bd1bc1a133a41565305cd4a09fbb10934e7a3d132bb0eb83559c484ebc92f7cf93e445020b7187e2705a2d1a8386c008ec7f22fe172088360cd3fd160e7020b6d0c747ccbbeddb1b84fa7549f625dbc064621fc2e13f720188c200c1ac1f10394fe4117018b9640632fbed570c942575ff61a7149a51f9993b90827ea2a08c32a330747ca27ecae452154ce1a6a67a8b63676998af929e8a7a9d2ab709e2162a2e0bc0721bfc7e49c5b2c9ba975b3bd881aa3782391f5cee4cc1835c83732c84f54b373eb18869b2c90e9f986a0ea345cbb020333893b463671c95e6aa07193d06f7e62bf4361cd0009b1e528c85d147d0e650cea7b0c67f1b4fb754bf2f1a7b9cc621d4c34682a6195776bbb9b2cc866cfa94c368a2b4b346c75a2a6bfe946cef09416aef21b15d3c72b7cb408141608c058e506271380841656963174c70e09c1f593acdfb9bf4a3a9387b693f882495149c62a77595574c0bc745b51ba8338c6361a293402e74df74a7a70b49faa1ac4d66b89fb6c31dae59f318b610f00bf4f4a282f752a070582f2f3c141e168f6fa037f23945893766215b9ee9a3a1de662060a5b1fd34bc8dac56c0875a6f82ecf8863c1692dc2073cf517cbed3c362a853beef1a8cf2247000cc4cd8176ce980d683b8ad89b3eaba3b962624f5ab3695fa10a88055ddd664a2ba0749e439a39c6999496999be3ba7bba2ffe06388b1a6c83068ae70a1c6f8a36e788b8aa148933c896eda61efc86cbb7d5c9cc96c9f137c6a9210347289010979bc1e16700a610c7c990d685550f537ab0c45b2bc57e5ef4c08b2220961c6e17e95e2e4482a4a94da2e17b6854ce57c263d69429e1566bab646fdb216e0444cd8fcb7df4168ae66223a0ccad971583b5917c4805271a17b4a1e17462815cb39332699ac447332a3f7acedc03541e93a822a96089d6a1f47a7df35cc9b659cf419bcd2131b98aaca67343cdbafa3db35661c38c0ba1e18043a4c945067adee46e428a16011abfeb58c1bc8b2330288b57cc319389921857c9d015a0471128c34cbc13417db24b91a3567ac299cfa6d4c2f1123661a3ce0996111d340d9613b966955c6a758fa7f3556f6716e5ac7ad3a93174b2032a983cc0c73c0de302f9f83a0de89a1fb576cd3b41505b5ba712c387730c45399b8cf0b0e548cbed984e7bb5095cf7263b05cba437ac6fc369ebca85e0211715133bcc314723d79c9b93abac57ad3d3a5e77f2986a3539eb795a5b4967ac7753115b916236a97900870b658b9d4b3e35827e1aa9adc3500fd9ba18fc6b03465903858c61c1259cf485338cb700eb731f31643b469bb259210cec78c158e3290573c5228518e4697f19171d8f1a3a633448fe9c83bd28097bb29a168db5af1d1b354b6881a2ce509b172cf4f8dace8a96b8f70da966080a5e3f132873ca7544343377a99b65e8147f11c033d4a4bb231985ca7e851fc73ea4b2c29e131b7f442db8a66a9e5b31934b +m = 8449bffafb415183ec7e27d7fa2e30ae045b7d860a4f59ad0c551a8488e1db6e +ct = 6720d73768ed3c4322f51d5b4ef01d878503cd94947ed1624325a29f0accf6beb57cc1c59b306c7bd2352bb7ef065723f9f30e9ade86f65c6761adc0f45d2c6fbd471f0434176cf107b7971ab5c78cf0b193aa61f95869026b88900409261c56a4b8098c33d160ff9e32e1af1e73e3d0d3db824b82c8bc193c9255af016e41cb201b0ca574ab9ed36c7a2f8f648e4e589fc78532ec9beef128ebc412fb0f34cdac8a1b6a7f5f8a94dc3b42881556db2882d4693b2db0b37b753a0bc86a2374cdb3f4805d81109011ea9cd6ddae908f264e45586ef8dd4b687acf8d3bb021b8eccf71f2c7687df06e4565a6eb0ee10845ecd9d2b690e7f12d7414e7bf432641e227dc23e05586d5e6231741dc995d3fd49bbf4bdfa1dd8ff6269bff2a1413cfd1f3b995dc2e80359918e8acee302a12c434218cf03cceacd739ab4333f421870c128504c47526b8c3fbbfd4bd3756efa3bf6f82bf8cadeea72c6346b5d571cb57065fe27c51261c82d81d70915a00cedc5ac45e0a66889b65877823a1840def48e161f16ec786d82fc2a01e367ae9d0867b5fa08c243970786262a1856b6788a603b50944450c139944b5f20a92062d90818ee26d0795901f87a2c16c8212083d266d5dac9031028b5e5ec3fca10434cfccb77b4c725267e462013cb18913367452eece3de822b8e9d5d9f59dcb0ffa38e5f2e497c01896ec13714f8108135843e832cfc6d915b124e694994c417758e02cbbab0ab6b6e3fdb601ae7870d0cc16ad6098213010e80fa72d36d649f52840ae65afda8fbd772ab3ac96f78bc725cfa825a67e5c622de0644abba253584d24b4cd9f37743b5f5357d78aa667151f345987a688f0d4df6086dd8c15ebe4227be0c4e5fd40678cb15398d0e71553538030bc825e29849a2c43dddb3b218aa2a8edf77a7a5fe4e41c7a535d2b24b53a6a8142176d75e94450afde88320683648318b56f6aa9fbddff56ef63e42b479065c760cb1122be97a86c7c6dd42947a17d781ff8251104182cf9ea6a88edd60722a004f5d4d7f0bd80ed2e3c0710611b0c9a18752f0e39b014ab62e48f0b968f440cf42b6078c3b93611552406b10b7c69f1d2f278813416b1ab36277d8215dbb60e359ddf5240872e4f56cb8d3cfbf4f6478b6a876b7755357bb8a1ce8a2d1eb896e77a420a40a402746a242a33d906bcb42df56cb9dd1d4789eba710031bf20a657d87ee20798321ea779d1bb453c5330d25d3942854cfee2a9af120e69df4a31abd362cd36174d7015ed23f76cf0b1d8fb3bb9d114c817727a52909393168507bfaaa6b15bd2b0bcfee3a0dd27a2c7946b3a004e02ae8b2ceb226e4e17e1400ac8aa8e72041a24633243f83a13b392440294de7e0d7ea47e236d5d37b83e0eb477551d91e76ae7826f7a866e895e58237e3385376ed3def465a30ab1d00de6b1dfb21bb9d0f74afc0f637ad2a382c77191bbeb7a03dd90d0aa8fbfe81e3b3a2e47df5a525e83b89843b31b184c1ec46e54ae734521e1af098fa8f08c80ca5c5 +ss = 4197c16aad6fdc186d5aa91000898b67cb65280503eab4826d7d3c4669aa5d70 d = bdc3fba1c32751139fc45bacffb3ea97f26573d804a5f27a459293d95190ed8e -z = fd5a08f656a6eb8cd20679930a31caa6a6331c4b133a6838c223ef9f769f6246 +z = 75fd654bb12da3469881ed591a82f58b4bfbac587d045fdf3aa0348029deb1a7 pk = 58718343322db0162d26965d5e946b700ab88d702fd5a1376920b5be702297aacde28588da91c719d40c1fab0af109742ac26c456961338c44c93c83ab58581635499545cca66160e15a35ba4931e2b91fee68a8734acbf72755e8d452d17215457161284435eb6a7a2933c8d146a12679143b80740f68ae052087eeb988771a8fb43b34d6ec79868a0670551bdd19cb5313892bcac9e4fb500d3375ae471a3ed551b2d9c76142b22607615454a910f8578e44b448aa9200d805cf4c15eb635013bb80a65593ff578c794066f05abddb850ff976c74ed6acb4c41064fb5eeab479a13ba57dcacf7f02421603194a3cb549f08c0d700790809ee0e585dce4088f96a740320c57d5a632c8bf5dc173f0f841173aa47ca42004b808ebc2a6a1770ad9dc06027557f80420db47b0158a1d1ff32007fc058875c4f5d21fabb67bfe8909e10b51bb35c76d0605d0e6a97e56cb93dcc58f722d95f33008b0a237b711420a20269a7097396a4a98be20b8226e103cb1136ea3fa39d438b305b63fa049c420cc378392b9f911bd7800bbaaf2bdd7586780c7078dea622df51c7190841585bb16bab9a0d83625d55826e3949ae018e7c4703ca082466b9a078393c30a4f6b7b1fc775c9dff7cfb5909cafbc66ea946e6f098f881b3039c251fd3ac142029e8728082f838a202cc3586672cb6285b021c41e3c16f5787ce6e319d849483fe40d989c246f7c36c11a991234ae7fea68770c79d8290aae3bb72ba014aa1279fd13977a49b0cdd494ca00c610cc2306059b695686399c1590f274f735142639425dd88026f8be0f260cd66672a12b5c7b5c7323408a2711677f062625eb8f3541098d079c13208415dccf3ff72d1999721db3c271f7521dfb0f129b3cb6885310a0689166a3b97b09610347ceea5579650720db621db20eeec24eec2144fb523ed2d30f64b9c6655928b3d06e1fd9b088ac8b7c964213e5674757c7bd48a3d066355f0249a50548f430c55a6ca0471953eb7c67e140aaf6322b7741225931622db114ed46b9ea997974c9ae2f54b87125ce79e8621d712688b50c7a49877d52091643a4a43148550135f27bb30ea131521583f5b79255309465f4b9f2233027855cc0e7c93bb33705136c88392cca717254640c540573d3a20032c9b297eb5b02c954c744c4c6143a56eb48f1d15439f885803ba5acb524f3d54bed37145cd9173ed92a00f724273787cf1b89c788184de0905bea74fb331ddba00cda70c1547c634c706a8447145489752b0633628ba4f5286851e1b5ffb8a7fa2bbad3f92c542ace74e67aa07b467e70b6a7d3056592b36a7a37c6c7114c610721e9c6ea933742e43609c41f6f3803e99a8d5a27b069bb73c892bf07524a8b2989633c96ccf33791ba29f3d575f249c640093046d1684fbc701ac633381bb349bb7d351230a8bb1a22223de3850258ac7043b887770a307c3746002cada2826e47f7694ef51f94fb9e3645aece6273298592bf00c0fdf14c07d8c9fca401ff351d2e35491aeb55aed9b1b0ebc2424cc729ac7eb07630b8b11d0e47c323d6b3c0ba12dc235d5c310ce2c7bc1f0a8467d627568a185855750e12717760355a0b8a756468e95406d375f6a1289b8cdbfed9f6518d7031c57fd3455d4544735cf52680424c90f14f -sk = 5e43bfe8ea443466ab6b087deadc672e7aadc85521d549b978b054a9b8949e519e3fc3a653607d794491341039713037d31c9824eace39e7127a974403441e25b714fafba4b98041e85b2fd8d8acc2a69aea9c80930306b46baf5245a505d48e293a77aa4174d1c095b0b4a45754a4a94bcb01d4543bf7c7def2ae2009408725c58bc76bde03abef3c4ee0831d3c6b2632609707b3b861f093e857902d52a2a48619b1ec20dde7a923412f79c22389601473076965959b2aa3c79dd31b98ca9847731c89b0929ef5174cc6b92972ce2c07c8139a62c901216245cfc92b2da158079e1c93c8e08ff438a02ddca4ca948f47a106d40ab6a5b0afaf52052f237e44f0765b3436271421308611845785e257cae691c39fb8c80bbc1c5fd687a547b7e8e3aa1d7c15a918984b6b359cd24711cbbbb95716ea54a8d3511c5dc983fa1b019e0b0d7de90c3c0a9e7652c18e72cad6f9c510e64f0cda8cbd86502a5880ee1536edd16ab36bcfd859ce879b3f5d6a0d90630668b7385c8599ecb1849a4942d87a91497129e196309156c9ab245f4c637080c963f9648fb2ba6f32d2566f88bce680203dfb827438295f8670c9bcc34a98497851bdb0e631ea06accc26373809986da62fa714012d2579d5d61443330e3b882c800b6c9d02c98e9859a4022db4a09510fc91a3b95bcbf73b3a09311cd13e52b61733e02dbb400e8a54a30668311ac02fae2b55fe05c95ac43875d92f3c2acb3d4a6b53d363d5d75a697061055a3a788bcdfa051edf97c3515ca920ebac9e7a998bb598b8436bdb63550e416d2aea5057562a901b609b129d92b27536e02c26ec6a3b2c5f6b733d0529330e9a89600b089dd30a0bb52530a3062be741b09818a78b4fb9f274b7262ca23b3f2a40542caa64fe38a6ed06beb5498733a38a7fd0b5aec2673aca2b07e00909e68d40aa207fb179cf7a60a9e13719635a15cb221d1cc88b921e950c94cee17d60f80ca5b4a656f501d7136d1245207479a1da42c26c48664297562a0bae0e7906e9d853fc7c490e4078b5b3b226b37101a31b5d05a26f1ca1f231a853f23f59d86a3fd269a0256eebd02cc0c6b77f1b1c613114e1084d8d1cbabd0c7702f43d2ee01db985382c562f1b7885a7015edf59bd8988b5bcea1cb04639bbf5b119e6293f908245455070da3013d2b6e2116776694b44e3a7e433407099a51940870b336f547677665c7066e181ce266ff0e508268731bd13afa2ecb4546276a5dc50772a6fa38541af968ae5c59e2d04c3b6002c7120a6a970ada2671590411552e48e7119c7b7f7ac97429e9b7cc0b5242df277cc10e7c48976266643a9b2308cf1799324780743f95e65851c03599fea7129d5552b86ac35aed10b5f00058a8742c02a3e4f6cbf5df61c66143ebe933060c98a4bb55318566184601bb395625fc86e4bd47377b54459b45e50c145596b9178d57d01bbbaa9a63bf444889fc810f1e40e07d289e0b04a58f84348463b9fca3176aaae6c1c119cf679bacc6eb685b9f443c2a9e304bba0adf3888b42698ac1f68f1626439e796e1967c7bef581dbabb6c22c9c16029e18d8493a524fc2a41738a25e735c665e79ac423aca37b5222d970358718343322db0162d26965d5e946b700ab88d702fd5a1376920b5be702297aacde28588da91c719d40c1fab0af109742ac26c456961338c44c93c83ab58581635499545cca66160e15a35ba4931e2b91fee68a8734acbf72755e8d452d17215457161284435eb6a7a2933c8d146a12679143b80740f68ae052087eeb988771a8fb43b34d6ec79868a0670551bdd19cb5313892bcac9e4fb500d3375ae471a3ed551b2d9c76142b22607615454a910f8578e44b448aa9200d805cf4c15eb635013bb80a65593ff578c794066f05abddb850ff976c74ed6acb4c41064fb5eeab479a13ba57dcacf7f02421603194a3cb549f08c0d700790809ee0e585dce4088f96a740320c57d5a632c8bf5dc173f0f841173aa47ca42004b808ebc2a6a1770ad9dc06027557f80420db47b0158a1d1ff32007fc058875c4f5d21fabb67bfe8909e10b51bb35c76d0605d0e6a97e56cb93dcc58f722d95f33008b0a237b711420a20269a7097396a4a98be20b8226e103cb1136ea3fa39d438b305b63fa049c420cc378392b9f911bd7800bbaaf2bdd7586780c7078dea622df51c7190841585bb16bab9a0d83625d55826e3949ae018e7c4703ca082466b9a078393c30a4f6b7b1fc775c9dff7cfb5909cafbc66ea946e6f098f881b3039c251fd3ac142029e8728082f838a202cc3586672cb6285b021c41e3c16f5787ce6e319d849483fe40d989c246f7c36c11a991234ae7fea68770c79d8290aae3bb72ba014aa1279fd13977a49b0cdd494ca00c610cc2306059b695686399c1590f274f735142639425dd88026f8be0f260cd66672a12b5c7b5c7323408a2711677f062625eb8f3541098d079c13208415dccf3ff72d1999721db3c271f7521dfb0f129b3cb6885310a0689166a3b97b09610347ceea5579650720db621db20eeec24eec2144fb523ed2d30f64b9c6655928b3d06e1fd9b088ac8b7c964213e5674757c7bd48a3d066355f0249a50548f430c55a6ca0471953eb7c67e140aaf6322b7741225931622db114ed46b9ea997974c9ae2f54b87125ce79e8621d712688b50c7a49877d52091643a4a43148550135f27bb30ea131521583f5b79255309465f4b9f2233027855cc0e7c93bb33705136c88392cca717254640c540573d3a20032c9b297eb5b02c954c744c4c6143a56eb48f1d15439f885803ba5acb524f3d54bed37145cd9173ed92a00f724273787cf1b89c788184de0905bea74fb331ddba00cda70c1547c634c706a8447145489752b0633628ba4f5286851e1b5ffb8a7fa2bbad3f92c542ace74e67aa07b467e70b6a7d3056592b36a7a37c6c7114c610721e9c6ea933742e43609c41f6f3803e99a8d5a27b069bb73c892bf07524a8b2989633c96ccf33791ba29f3d575f249c640093046d1684fbc701ac633381bb349bb7d351230a8bb1a22223de3850258ac7043b887770a307c3746002cada2826e47f7694ef51f94fb9e3645aece6273298592bf00c0fdf14c07d8c9fca401ff351d2e35491aeb55aed9b1b0ebc2424cc729ac7eb07630b8b11d0e47c323d6b3c0ba12dc235d5c310ce2c7bc1f0a8467d627568a185855750e12717760355a0b8a756468e95406d375f6a1289b8cdbfed9f6518d7031c57fd3455d4544735cf52680424c90f14f268b6356f92c57da6dd34494b927e8764adf0ad519612ef0d1b8951e50966c2ffd5a08f656a6eb8cd20679930a31caa6a6331c4b133a6838c223ef9f769f6246 -m = 554f3385b382f4a46314de37ee3885addfc5332bd4038785094e0a832e9e8c2c -ct = 19444f1e4399ba6307612ac8ff6794b0708ddcc06538d89bb5f49fc3b8af7c2f31c965417cc17555aa48a9c17445580f27ad4c825937fd7068efbcbcf3b5ab055dd0d772e5a801935f475d45a63541a9cc892c87ab0ca912731819e4f270564f50be11e0eefeb954eb6f4042c4aba4595ac8eec5896aebd7d66c0d1b8e34ada6f6c4903986d9e0c17e8adb7a4ab87917b9584c6d43ffd09318d867710cb41112ffbb8d888a536e3a4aff8cc1896c7aea3700b501fc468126d0eb82519a336efc13bbbacaf4c1f48d187ce71bcb2b8f95ca66468485c445629ee33a3ec1c4ec34a193f68c752db1701d07a9cf6d815ca93c93c6e4fcf4b21f8b0523db993d25f581c91c5dd94b594edca516d6046354b4309cd9ec53be0f9ff210213dee06c0066665d325a10c5d2491da37498644907fdf719515ec507217dcecf16d4b3cd45eab811684198c48567bfbd65d831adf41ff4612e9fffa0587b7b3fc9f2b726db5d4fd1dcd3d4bd06e309efb1007c39401fd0a98b2bd6e3d354ffb8fb556f289e858a1244a602cc1d0a41055087a714eabcb42aa85f484f2f27548831b2f32d883a488b74d1c7bb28a8f735f161f2086b346cf0c45153354c690c92d68fe943d723f7e243d0aac615ad54c3fa336b7e43262e14c850e9eb89978aa10ea10507230209e255192a3695d6fa3cb55efd7bc69174a44ea0a2c15fd17a22856e571c39a519e94a5a022b04df98e6c84fcc6d5a5ae3980e651731753517fb87333c02044c12531730f3445afc02cd54a0a8460f7146f98187cda6555a8edf2cbdf6ce301950ea5204dfeadaf64952bc871f7f01517adadb0a1ac33c34eef75b7dcc1f64ae20a9101ae95ae24020d8af3242ae911b3604284d93df937e74df3f74f26275d7413cb6d07ed995ab853e180a50f8d0ea305528dde43f5413f927289cbcfa6b426b615320d635b85b63ffc640e7ec4b121ac71e85811815ec5df1b9a5a2dc7f79c8a7e6380ca7d49cb3d7901bc28d1e249bcc86ec54ebc31d92d5324a0663222fbe93ea2cb0bd9bfc5ab43d63c8da12051a4157c210dc10e737b37962c1de186e286944e1c588b570766f81e944850fb4269491e0fc23f86602caa9968cda290d83e7b2ee9917693e47951efb86f6cff49cdb80cb04774e51ded7a184ba8e2656861ecc8a90795de698d70aa85216fd715a11ad8e1d5d07c16a1f10c22dac064f011d1829826d34c242f8d0dc853df36d4da431489785373c8e050eb8a34ce55c6f2fc1745de58be0b903c9cc25392a9378a379f6353f04c52dc5aeb80048bb0f13dc7dc9548266729b410c7b809c10116f30a6204ae7f46f7cc68f5ed8202832ff90e1c482b3af44e85ae6e44a131bf9789147c21b1d5658493ce4ce3badf7458c26870392494a65ae4f53cfcdd337d07c801a6ac90443a8f78dad7a7e3ecd7de8448809fd38b533a3f41512fe7011425e6fd360395f62687ea7e66977b0c3ac4fedcd1c91f1026e216fa754a4d64f0265b0aac854c8aec1f25ec93f70a10e3 -ss = 2073cea69b598292f44ebf4af3f7035e1738afb7203ad67531a7140150176e5e +sk = 5e43bfe8ea443466ab6b087deadc672e7aadc85521d549b978b054a9b8949e519e3fc3a653607d794491341039713037d31c9824eace39e7127a974403441e25b714fafba4b98041e85b2fd8d8acc2a69aea9c80930306b46baf5245a505d48e293a77aa4174d1c095b0b4a45754a4a94bcb01d4543bf7c7def2ae2009408725c58bc76bde03abef3c4ee0831d3c6b2632609707b3b861f093e857902d52a2a48619b1ec20dde7a923412f79c22389601473076965959b2aa3c79dd31b98ca9847731c89b0929ef5174cc6b92972ce2c07c8139a62c901216245cfc92b2da158079e1c93c8e08ff438a02ddca4ca948f47a106d40ab6a5b0afaf52052f237e44f0765b3436271421308611845785e257cae691c39fb8c80bbc1c5fd687a547b7e8e3aa1d7c15a918984b6b359cd24711cbbbb95716ea54a8d3511c5dc983fa1b019e0b0d7de90c3c0a9e7652c18e72cad6f9c510e64f0cda8cbd86502a5880ee1536edd16ab36bcfd859ce879b3f5d6a0d90630668b7385c8599ecb1849a4942d87a91497129e196309156c9ab245f4c637080c963f9648fb2ba6f32d2566f88bce680203dfb827438295f8670c9bcc34a98497851bdb0e631ea06accc26373809986da62fa714012d2579d5d61443330e3b882c800b6c9d02c98e9859a4022db4a09510fc91a3b95bcbf73b3a09311cd13e52b61733e02dbb400e8a54a30668311ac02fae2b55fe05c95ac43875d92f3c2acb3d4a6b53d363d5d75a697061055a3a788bcdfa051edf97c3515ca920ebac9e7a998bb598b8436bdb63550e416d2aea5057562a901b609b129d92b27536e02c26ec6a3b2c5f6b733d0529330e9a89600b089dd30a0bb52530a3062be741b09818a78b4fb9f274b7262ca23b3f2a40542caa64fe38a6ed06beb5498733a38a7fd0b5aec2673aca2b07e00909e68d40aa207fb179cf7a60a9e13719635a15cb221d1cc88b921e950c94cee17d60f80ca5b4a656f501d7136d1245207479a1da42c26c48664297562a0bae0e7906e9d853fc7c490e4078b5b3b226b37101a31b5d05a26f1ca1f231a853f23f59d86a3fd269a0256eebd02cc0c6b77f1b1c613114e1084d8d1cbabd0c7702f43d2ee01db985382c562f1b7885a7015edf59bd8988b5bcea1cb04639bbf5b119e6293f908245455070da3013d2b6e2116776694b44e3a7e433407099a51940870b336f547677665c7066e181ce266ff0e508268731bd13afa2ecb4546276a5dc50772a6fa38541af968ae5c59e2d04c3b6002c7120a6a970ada2671590411552e48e7119c7b7f7ac97429e9b7cc0b5242df277cc10e7c48976266643a9b2308cf1799324780743f95e65851c03599fea7129d5552b86ac35aed10b5f00058a8742c02a3e4f6cbf5df61c66143ebe933060c98a4bb55318566184601bb395625fc86e4bd47377b54459b45e50c145596b9178d57d01bbbaa9a63bf444889fc810f1e40e07d289e0b04a58f84348463b9fca3176aaae6c1c119cf679bacc6eb685b9f443c2a9e304bba0adf3888b42698ac1f68f1626439e796e1967c7bef581dbabb6c22c9c16029e18d8493a524fc2a41738a25e735c665e79ac423aca37b5222d970358718343322db0162d26965d5e946b700ab88d702fd5a1376920b5be702297aacde28588da91c719d40c1fab0af109742ac26c456961338c44c93c83ab58581635499545cca66160e15a35ba4931e2b91fee68a8734acbf72755e8d452d17215457161284435eb6a7a2933c8d146a12679143b80740f68ae052087eeb988771a8fb43b34d6ec79868a0670551bdd19cb5313892bcac9e4fb500d3375ae471a3ed551b2d9c76142b22607615454a910f8578e44b448aa9200d805cf4c15eb635013bb80a65593ff578c794066f05abddb850ff976c74ed6acb4c41064fb5eeab479a13ba57dcacf7f02421603194a3cb549f08c0d700790809ee0e585dce4088f96a740320c57d5a632c8bf5dc173f0f841173aa47ca42004b808ebc2a6a1770ad9dc06027557f80420db47b0158a1d1ff32007fc058875c4f5d21fabb67bfe8909e10b51bb35c76d0605d0e6a97e56cb93dcc58f722d95f33008b0a237b711420a20269a7097396a4a98be20b8226e103cb1136ea3fa39d438b305b63fa049c420cc378392b9f911bd7800bbaaf2bdd7586780c7078dea622df51c7190841585bb16bab9a0d83625d55826e3949ae018e7c4703ca082466b9a078393c30a4f6b7b1fc775c9dff7cfb5909cafbc66ea946e6f098f881b3039c251fd3ac142029e8728082f838a202cc3586672cb6285b021c41e3c16f5787ce6e319d849483fe40d989c246f7c36c11a991234ae7fea68770c79d8290aae3bb72ba014aa1279fd13977a49b0cdd494ca00c610cc2306059b695686399c1590f274f735142639425dd88026f8be0f260cd66672a12b5c7b5c7323408a2711677f062625eb8f3541098d079c13208415dccf3ff72d1999721db3c271f7521dfb0f129b3cb6885310a0689166a3b97b09610347ceea5579650720db621db20eeec24eec2144fb523ed2d30f64b9c6655928b3d06e1fd9b088ac8b7c964213e5674757c7bd48a3d066355f0249a50548f430c55a6ca0471953eb7c67e140aaf6322b7741225931622db114ed46b9ea997974c9ae2f54b87125ce79e8621d712688b50c7a49877d52091643a4a43148550135f27bb30ea131521583f5b79255309465f4b9f2233027855cc0e7c93bb33705136c88392cca717254640c540573d3a20032c9b297eb5b02c954c744c4c6143a56eb48f1d15439f885803ba5acb524f3d54bed37145cd9173ed92a00f724273787cf1b89c788184de0905bea74fb331ddba00cda70c1547c634c706a8447145489752b0633628ba4f5286851e1b5ffb8a7fa2bbad3f92c542ace74e67aa07b467e70b6a7d3056592b36a7a37c6c7114c610721e9c6ea933742e43609c41f6f3803e99a8d5a27b069bb73c892bf07524a8b2989633c96ccf33791ba29f3d575f249c640093046d1684fbc701ac633381bb349bb7d351230a8bb1a22223de3850258ac7043b887770a307c3746002cada2826e47f7694ef51f94fb9e3645aece6273298592bf00c0fdf14c07d8c9fca401ff351d2e35491aeb55aed9b1b0ebc2424cc729ac7eb07630b8b11d0e47c323d6b3c0ba12dc235d5c310ce2c7bc1f0a8467d627568a185855750e12717760355a0b8a756468e95406d375f6a1289b8cdbfed9f6518d7031c57fd3455d4544735cf52680424c90f14f268b6356f92c57da6dd34494b927e8764adf0ad519612ef0d1b8951e50966c2f75fd654bb12da3469881ed591a82f58b4bfbac587d045fdf3aa0348029deb1a7 +m = fa2c8b8c0f711a6d31c496199ad1993c31db62debbc11ba3b3a86fe4278c365a +ct = f06d63761312ffc41ca35166f452d47a86b3b351d528dfcef48a13b285225521c667513148d98e5501d5c0780e169bc13bedb356cff9355c51c4c3e9b2054a1cda27c9217a172c8a63337bf7423797e1a4cd65c9201b22e81380de4d4cdf13226fd4d827e9c069c5ab72df97891693eae37529a82cbc91bc4cdae0e99ee73554bbea00cf2f04b4e51ab17440005b4e9ff6cded01247dda9c0cebd21971d4a4c40efdca37bae907754cecee4f28b86f55772449f32488408b2a6af4f1a587f03d151195fb8f7dcdcbd5c26b319874a7694f579809646cffd9d52ac29b220f42ff716d0acea609f4339c157886efc5e8c8368651931fd4f6aa6e0c7444478310ac0d6857c3ffc283692474eb77ed94008f4acecc1a860baa3b3d22095cdac6cb864045f5187342321a2eaf661e7912782be7c4c9c771234c446ee33a33d7b64f8ea83ddb579569ed290387dadb5ad0a46e12dbe76ca5e99b367e3ae6d8e8e0808ab0377041083b048ab78c536e2bb6c1394e1313075a8d488e507ab0ed848dc28472f359ba36f09bd0083bf56e3aab3decc8243d2fe303071f128c9b7e7f61fafa544ae6fded2a91a60cb06575c7256f0ae2623655c4d5f45101979b0a280cee7c758d2c7d01c094c5f46a854736b7ca7ffbafa32dfa0091c88f20680dd925a8cf26ce1c8423b04624c153f51e16b57aa94ef801f0da20b4645d88dff47624437275cdc5532ae3b79958d7e4fdda0519f4441f7aff5d3312de736ba54be887057a889c008fdfda2217dc030e4a8151b03fce577a0ea3dc05234adb74e27785f3787d35934541fd7cf2ba1a50c0080f26013362002e200bdacc13c4f2c208eff68d39a2cc461079c9a101d792e5ccd55fc1419dd3e7faed3222c1f76861d1461897b3601e5922641701e297a352bc11ce254b7d3ca5aa1e33e09dc3048fe433d190b87009c80a1561e563d7e6c4c51391d4349c227eeb7c2aba5921fb35c5c80dc08fb628879856c6af7e80a5b93cd5dcd64ab9b5198f988da5c717d0100b03e9a56d20491bbc72e7aceb66b602d283c76a1e075b3560ba920521cfb87a3260edc2703bb6fbb790ddf3cab35bb0cd87231a51ebc9a66b848170b98ca7c7b1fcb0179edb3a9f353921c4257905f483ccef02782e62e0039040f600c3444159ae1a2489ceaa1cf763ac455cbd223b356cc7eb006ca100a406921320deb0be4256bdc6e653dcbd27a9b01a599431bf68aab3c357c2186abecff3d67009873b1fd8ec2a4ef44b2c86cc0fedf2ad38dcc69b02cf30b1bd43aedad2ead94165c715b61ee7484123bbc47d73293bf4b7690bba9090d661df0f054fad31062018a45d0ea4f414c2f413f939c0ac54b034c79db7e7c2e3718a2649f7150501244c40f4858f05e8a071fc8a56f04aeda538b23f2773d5912c17b46bcde3d0a45481fec220c9eaa88fbcd5f8b77978ae7e0fc1497e5e31909fe7c97a220db32ff1fc6b16a49e63abc472c179978a12548105cdb70d9a34065a22a23787306a45a9380eae75e76d +ss = c5ade7eac4ca60209d65539c8551f71602f2c6aa00fc244eff0cfdb3f84b98f4 d = 447f6076a627bbc5ad7773fbfeb14b4ba9ac43a0f8b99fb6dcd5e452aa3c47ec -z = 20a7237801f470fcc2bd9fd7bea8322859b850f7882d362947432913dd068c01 +z = 4c7e3a5fa1ec46b73f87af48578132eb080aaa37d31f0c2a041c5948e59f44f9 pk = d8279f9a0681cb98bc38cb551320031f46262799c182b0355eec82cdb58d750596a4e6bf1213490810415a4b347e13c9e8514890a0995843936be342e81c7f4971bf9b75925d61ac8c961492a85d83fa8e33c12fa37ba08d7c681c521ed4060481f58be673007a081321e01e21419e232283a01cb1a4481550dbade263382eb93b7e42470b265027a933c480cda340a9a4065b4bc47990833786456aaab5a81c0a46e0076b91ba5bb4d4abe21c6ab193b3a3671c18479db082a706768a63109d2c4224d71c7c95755ca24b056c355e9c22cf5006662b3218edd4b317b19962cb514af123245b152eac41391cb432c6caf9295c66da4e5737ae3d60023f46aa7a604c64a6c403306ca4b96fc2929aed5b4ce7e6c631b473d7d61cbcd19826ab82c0c58880d77ce8f9bcdbf59d645424baaccce334809b43acb99248bbd966c88793a273ae857946902649f97b5516fa2ea2a84fcfbc054653852d8421b6b78c289b49080c8efaf85df195ab5562a03e7099c43c439a25ab41390b86db4f57188f002129f3ea1ffdbb9e9c688ebbb26e0d7ac6eea395b698a134f70f98480e87313b79444963557cee82534e9c1cf10b74718caede3bcbd98a68d9956facd8a45e2184c16b14048b9d28e8bfbf5ab43d1b650ee8cf13148caf451cfb144656052cbaf82e2f765c8c9c66c23b0cbae0257d6000f247200ab87f93b5167478a27b42ad7681b6919529bb1430dfcc809e171a334b33a0527a1d9519c18130971c55f6ec172b86248059830fc57c7356c9bd8263f7d571d0f7bd87d2a1686a7c41db9306558cbdf39f0176959a188b4d457b40c152b7ea09f6860d4d945e78c45eb68b579d48774eb26ad43bc1be3c0ac327c80b4c1115c2cb58bbc24a18146470abc223ad51fa10eefc311f1ac02af4c7432210233a4abc408b1db484e7885d239c0c2b9c4952e577a8ebc3d6a7684e711e12db96e1f988df423a395301d2c15fe2f1abf708bc64147a30e2717f7868ff602d50fa9a3d0b3a0097259ac52057dcc14319c438e113da967f6dfba4279245b72cc86cf724c81769dae271e18c0b6cfa84b916ac89b12a1f8b05d88527ad40346775cc832713146806a2b2884e35628169bc12f67811b507bee3bbebca81ab93b5d700aa92898b3f5cb6e9d345483ca3743457fad8cc5bec2a8e7a22a41ba8b67641ab181d42abaf94d0055206b648c81361f8486408b610bb3552299316b5c0b7d301d9f1c3d55621859ab2ee922c59b11ea9f2a1efe277c534128f2cae6b598c0fa059efc2c24e8a0c2337bc2c57a0bc64a7fce190c656b529d21244eb66a900288b5c484bb033020b9b9ba3019b72387f2746b3b893a1427882bc3135f0a17f8271f9c8480eb60732672d44336b32f851a283224144c480aa302c05836edc1ac4569a6020130b341466322d17811229441c4513a2e8041c85e035113992f16799dfe8c1eef3aff8ca2f341628808a81e8b66ee5ba47ad0863c735a904565f036a85fb1203058137aad2206c303f22d3027e732542a342caf3376d6b065a745e31e865fc2243da31ce08eabbf8183b4294700bf8928da8ca78bc08490810c39747fd3851211b22f26451f6772e0c75659133e8d8c063cd3044da1719855fbbd9796314b11df8459ebd2d92b7fdc94c4c -sk = 469963001d4d93da7cbaac0acdfc833c47601ae334dcc0022a9220138c16b9eca73ad1863431a34f593addca4f0ea393fc4595d22a7cadd0a8d89827086a955400abad84226541114cfcb3e3a240fb600dd6c0960a7976175c56b0b48c66721e13882e3aa5784e12869f0c8518037955f876997975d27a7c92d4cf005ab859590504c768b02576a94263c87c4bbfe1afb09b8c0a5c067776a0d96a5d12925b44ab3d3e57c6971b0a86617f65a16c7e9b42c283577219409e1ca4de08a92dc5b4e8e87051680c1b24068dda801fe871e0b28ab0611bbb97cd49bcbf159b7785830bc9d302c0a61ad138277afc2374aa64e983506bd11288f4a20376b50ae1c1233a1acf30af1da67301a5a420aa826db58322dc1c7ad8bfd25c3b21025b565c357b4a0802e615a35a384f1794a0612e030228a865a0390197e7c27f45a4258fe26082c850170cae86721bb5c68cb32153b9934de4cb11528c570af363925ab0fedac79748b3489b7180e81ff6db702d5a100336955ec02fd2b9c86c2cc001833b0ba1b7dbc9699c6556b448324d29b0f6a4028bf48a49b1cf60b4a9f91321aa64ca849848cee2be0a29219f783008417da307710f87cafa2603fd206e5698177e81470af4c608a6128908541183a5b4769e74166349e55b4d2a2a84600ef712c2d1f13f4fb3c91bca8cad209cb5ba0ff578bd6e29a0cf07a972d262a2ea3c4dd44a5d55446c174b345b96871076fcf785cca68545eb6be64bc9be17a7d5914d8a50b286d3a2a8e1a53faa53815acf0237b8bf204c34766e97883071e56539361bbdf29187c180414c83d9c09e30983995aa4850a6b2358aa6240642cb9b0fdb739fa5a93ec60c11061aa8b5e71316a517be2baea2f74baee32eeaa0a75d2030f5e8bbe1b517f56511fd8aa499621a9ef6c88b96a9f33b2b3cf04381b5c97b743063a6286751ad9ee14903c4674b308dd5e28bc700134c43c788b04460db78a0e795e24698553722b4c3a095784828960672cbcafc11af32c918ace0580d5bceaa574409854051a2419f148809147133866f9b651a38622f21e0614f10139ba53724831ff312157146169ea29293d2a3f1250ab9cc877d448ecb53139e6c5487dc2931d45b4a74c34bba11cbb965e1e664ecfca54db7bfe7e61db2382e50076a70a9aa028670a354013c894b729945830b1125aa53f4d352bff33fdbe7c64bf70a4c3acff3680976fb26368693d928122ed5707b453a1dd714fa9c5a8e6534d45b53a2ba464e217dc0461be31c5763715bb66b6f3a4c0e7a3a4cc107602cc3b67487a7d162422468b5cf33c8e5a63f801c2016b15c40398f914cbcdac9664b7601680346fdd3a499d89b5cdb7e77cc8a1215661aa34737149bd0734f7be6a0c20bb94e6a89dfb9b0a9d6c4bfb86408922fdc9650df7577e5a89215c8636d5c376f4596c329158964084200c91af4a7699018c6d139f521204bc521110aa222203774db88ac0ac94cb97720a71411eabee0b2863c35607a617e761298825acd91c73685198be96b84a98ac7295142f6c19bab0082c53a8a50a3a39eec2a34e859cfa2c88c9cbc77b1bdb5377981f61c1fc394d70820336baf21820d44c0956e09a5d8279f9a0681cb98bc38cb551320031f46262799c182b0355eec82cdb58d750596a4e6bf1213490810415a4b347e13c9e8514890a0995843936be342e81c7f4971bf9b75925d61ac8c961492a85d83fa8e33c12fa37ba08d7c681c521ed4060481f58be673007a081321e01e21419e232283a01cb1a4481550dbade263382eb93b7e42470b265027a933c480cda340a9a4065b4bc47990833786456aaab5a81c0a46e0076b91ba5bb4d4abe21c6ab193b3a3671c18479db082a706768a63109d2c4224d71c7c95755ca24b056c355e9c22cf5006662b3218edd4b317b19962cb514af123245b152eac41391cb432c6caf9295c66da4e5737ae3d60023f46aa7a604c64a6c403306ca4b96fc2929aed5b4ce7e6c631b473d7d61cbcd19826ab82c0c58880d77ce8f9bcdbf59d645424baaccce334809b43acb99248bbd966c88793a273ae857946902649f97b5516fa2ea2a84fcfbc054653852d8421b6b78c289b49080c8efaf85df195ab5562a03e7099c43c439a25ab41390b86db4f57188f002129f3ea1ffdbb9e9c688ebbb26e0d7ac6eea395b698a134f70f98480e87313b79444963557cee82534e9c1cf10b74718caede3bcbd98a68d9956facd8a45e2184c16b14048b9d28e8bfbf5ab43d1b650ee8cf13148caf451cfb144656052cbaf82e2f765c8c9c66c23b0cbae0257d6000f247200ab87f93b5167478a27b42ad7681b6919529bb1430dfcc809e171a334b33a0527a1d9519c18130971c55f6ec172b86248059830fc57c7356c9bd8263f7d571d0f7bd87d2a1686a7c41db9306558cbdf39f0176959a188b4d457b40c152b7ea09f6860d4d945e78c45eb68b579d48774eb26ad43bc1be3c0ac327c80b4c1115c2cb58bbc24a18146470abc223ad51fa10eefc311f1ac02af4c7432210233a4abc408b1db484e7885d239c0c2b9c4952e577a8ebc3d6a7684e711e12db96e1f988df423a395301d2c15fe2f1abf708bc64147a30e2717f7868ff602d50fa9a3d0b3a0097259ac52057dcc14319c438e113da967f6dfba4279245b72cc86cf724c81769dae271e18c0b6cfa84b916ac89b12a1f8b05d88527ad40346775cc832713146806a2b2884e35628169bc12f67811b507bee3bbebca81ab93b5d700aa92898b3f5cb6e9d345483ca3743457fad8cc5bec2a8e7a22a41ba8b67641ab181d42abaf94d0055206b648c81361f8486408b610bb3552299316b5c0b7d301d9f1c3d55621859ab2ee922c59b11ea9f2a1efe277c534128f2cae6b598c0fa059efc2c24e8a0c2337bc2c57a0bc64a7fce190c656b529d21244eb66a900288b5c484bb033020b9b9ba3019b72387f2746b3b893a1427882bc3135f0a17f8271f9c8480eb60732672d44336b32f851a283224144c480aa302c05836edc1ac4569a6020130b341466322d17811229441c4513a2e8041c85e035113992f16799dfe8c1eef3aff8ca2f341628808a81e8b66ee5ba47ad0863c735a904565f036a85fb1203058137aad2206c303f22d3027e732542a342caf3376d6b065a745e31e865fc2243da31ce08eabbf8183b4294700bf8928da8ca78bc08490810c39747fd3851211b22f26451f6772e0c75659133e8d8c063cd3044da1719855fbbd9796314b11df8459ebd2d92b7fdc94c4c4c6d304e0494d88d83b5e3aa5761df3b299551a24f28994d2747b2b08945bead20a7237801f470fcc2bd9fd7bea8322859b850f7882d362947432913dd068c01 -m = 38bf0033b779edf5367d9ebc01c988af90904c560970815837380650e4749eea -ct = a95ac6c09fb64c6d773eef1690f3b87550bc37513fd8afd9b1bd88b7b51bdaf9ec20ef1e5b2f7856c02211a7936fecd414f991c098a77f7c2652b0bf095d368f02a2a293f6300932baa5af1311d05ee3c4ef967003ddbe06daf30277636292e5f435df449904a9c47597deee95152d0296f0db4013609a986a27fb8c50c453a76906d8494416434b048a2b411d25aae800469b2ecb73592a2bbaad4e392f3c5367b7fff2c9a4dbf65c296873230782e4cbbb2c613fbe8e5892ed04524f353f97b6a83cbaa6eca393be675aa3fadc2615fb5a2ddf89745f36c83c1fc204580b7e4ce24029e0273db147666a6550de9364bed46f3c20e80f42cc013196ffe4e06ca8fb9fc421c798b6a287189861caa148ee2b6b4326d73f51b9ffc2b97132ec6f4c0d52ddecab76ade333c6a53e090759ac5d8b43779911fd98c080463938e0fb7dc6f69fb35f71919179d82def20ab425cb56554893541cdce3652be623d49052ee9deafb39549b85db84cddf45f3d113e815cc0d32b3f180e59ff69415dd50b756624c84579071de883e2187fef0a63189ee9d342679ff0dcb98a2e963b490bca4d60a309d08fb6c31a1cacbda0d004b6d666676725eaeea9d31f7205d3c02d12939c3926ef259429642a9d9c375d77f51b8356cfc1f504858bd56e445f05ccff5109f73b89560788ec833ab196a51e877c751b70a67357c70cee24daa81be2c666ba20d1b7df9818cf9900d2cbd83ff74e47f999689d2f5bb178e9a6d4b4d49538706136f4096a919469b4006766d5279453735b84d2066389fde6f600b49d4de09be55e09e7c462f314c921f225e0168342dc4d306dde23b39139627e6aef656e1f803ec3db9697a8fa5772994c7f5a0e6e23f71b025d007fb106e81e76c3d9c718930a1a33767dd2b24b3dcbb2728e9746429625330006cc71604950f1a5124c3a820ad98acc2dcadb4a1fe4ee3b04ffa3fe7305700ad11c06183aa4864fc8a254d9b6319d3c8c42be03db71eb74e585ef4a8d8066fc9d6c5d4fbab3345d8241a9e6f960e238007f8897a50c6fd1ee62eb24aa67edd962a2f2a9286a365282333932be877227d0f5e77767cd69fbc6001ce647f29d89e145a91a16d477df0424f73c6d310c68897e50f3df553008de313d9f9ed621e3c43617ffeb5e969c015dfc361a06e9e649195adf7c4e9bb6aab204256f1d7f6d0b080e2981932281937175940ea11583f862d7a001bc33a0e142afd918cff3764e99e52d3e920591a0030b3aa55c88589c0aaf243eaebc6f08e2e3b3083e6a41e500150b90c0172f534b597c958b0430af44204165344e218fd84bfabf8f580489f89748103b451fd9f5462288a03fa317fc72bf986ee03cd87709b646c4c611143536ffe596da2bf049edf32f8e40b0c465b24eb81fa09d775c7c5a99f5acf2c6f24bd13616e6d7e27cf2dc938cf5bc17d8f4ea78549377747a23e341f19455b7c95764a8476aa41f1d33b2344938bc3fda480f646dc973321108bfb7638767660fde1fadc387ef -ss = 633d9672d83a112a260b9d4c17812359b5591900a3b80424b3590b403a5dfba9 +sk = 469963001d4d93da7cbaac0acdfc833c47601ae334dcc0022a9220138c16b9eca73ad1863431a34f593addca4f0ea393fc4595d22a7cadd0a8d89827086a955400abad84226541114cfcb3e3a240fb600dd6c0960a7976175c56b0b48c66721e13882e3aa5784e12869f0c8518037955f876997975d27a7c92d4cf005ab859590504c768b02576a94263c87c4bbfe1afb09b8c0a5c067776a0d96a5d12925b44ab3d3e57c6971b0a86617f65a16c7e9b42c283577219409e1ca4de08a92dc5b4e8e87051680c1b24068dda801fe871e0b28ab0611bbb97cd49bcbf159b7785830bc9d302c0a61ad138277afc2374aa64e983506bd11288f4a20376b50ae1c1233a1acf30af1da67301a5a420aa826db58322dc1c7ad8bfd25c3b21025b565c357b4a0802e615a35a384f1794a0612e030228a865a0390197e7c27f45a4258fe26082c850170cae86721bb5c68cb32153b9934de4cb11528c570af363925ab0fedac79748b3489b7180e81ff6db702d5a100336955ec02fd2b9c86c2cc001833b0ba1b7dbc9699c6556b448324d29b0f6a4028bf48a49b1cf60b4a9f91321aa64ca849848cee2be0a29219f783008417da307710f87cafa2603fd206e5698177e81470af4c608a6128908541183a5b4769e74166349e55b4d2a2a84600ef712c2d1f13f4fb3c91bca8cad209cb5ba0ff578bd6e29a0cf07a972d262a2ea3c4dd44a5d55446c174b345b96871076fcf785cca68545eb6be64bc9be17a7d5914d8a50b286d3a2a8e1a53faa53815acf0237b8bf204c34766e97883071e56539361bbdf29187c180414c83d9c09e30983995aa4850a6b2358aa6240642cb9b0fdb739fa5a93ec60c11061aa8b5e71316a517be2baea2f74baee32eeaa0a75d2030f5e8bbe1b517f56511fd8aa499621a9ef6c88b96a9f33b2b3cf04381b5c97b743063a6286751ad9ee14903c4674b308dd5e28bc700134c43c788b04460db78a0e795e24698553722b4c3a095784828960672cbcafc11af32c918ace0580d5bceaa574409854051a2419f148809147133866f9b651a38622f21e0614f10139ba53724831ff312157146169ea29293d2a3f1250ab9cc877d448ecb53139e6c5487dc2931d45b4a74c34bba11cbb965e1e664ecfca54db7bfe7e61db2382e50076a70a9aa028670a354013c894b729945830b1125aa53f4d352bff33fdbe7c64bf70a4c3acff3680976fb26368693d928122ed5707b453a1dd714fa9c5a8e6534d45b53a2ba464e217dc0461be31c5763715bb66b6f3a4c0e7a3a4cc107602cc3b67487a7d162422468b5cf33c8e5a63f801c2016b15c40398f914cbcdac9664b7601680346fdd3a499d89b5cdb7e77cc8a1215661aa34737149bd0734f7be6a0c20bb94e6a89dfb9b0a9d6c4bfb86408922fdc9650df7577e5a89215c8636d5c376f4596c329158964084200c91af4a7699018c6d139f521204bc521110aa222203774db88ac0ac94cb97720a71411eabee0b2863c35607a617e761298825acd91c73685198be96b84a98ac7295142f6c19bab0082c53a8a50a3a39eec2a34e859cfa2c88c9cbc77b1bdb5377981f61c1fc394d70820336baf21820d44c0956e09a5d8279f9a0681cb98bc38cb551320031f46262799c182b0355eec82cdb58d750596a4e6bf1213490810415a4b347e13c9e8514890a0995843936be342e81c7f4971bf9b75925d61ac8c961492a85d83fa8e33c12fa37ba08d7c681c521ed4060481f58be673007a081321e01e21419e232283a01cb1a4481550dbade263382eb93b7e42470b265027a933c480cda340a9a4065b4bc47990833786456aaab5a81c0a46e0076b91ba5bb4d4abe21c6ab193b3a3671c18479db082a706768a63109d2c4224d71c7c95755ca24b056c355e9c22cf5006662b3218edd4b317b19962cb514af123245b152eac41391cb432c6caf9295c66da4e5737ae3d60023f46aa7a604c64a6c403306ca4b96fc2929aed5b4ce7e6c631b473d7d61cbcd19826ab82c0c58880d77ce8f9bcdbf59d645424baaccce334809b43acb99248bbd966c88793a273ae857946902649f97b5516fa2ea2a84fcfbc054653852d8421b6b78c289b49080c8efaf85df195ab5562a03e7099c43c439a25ab41390b86db4f57188f002129f3ea1ffdbb9e9c688ebbb26e0d7ac6eea395b698a134f70f98480e87313b79444963557cee82534e9c1cf10b74718caede3bcbd98a68d9956facd8a45e2184c16b14048b9d28e8bfbf5ab43d1b650ee8cf13148caf451cfb144656052cbaf82e2f765c8c9c66c23b0cbae0257d6000f247200ab87f93b5167478a27b42ad7681b6919529bb1430dfcc809e171a334b33a0527a1d9519c18130971c55f6ec172b86248059830fc57c7356c9bd8263f7d571d0f7bd87d2a1686a7c41db9306558cbdf39f0176959a188b4d457b40c152b7ea09f6860d4d945e78c45eb68b579d48774eb26ad43bc1be3c0ac327c80b4c1115c2cb58bbc24a18146470abc223ad51fa10eefc311f1ac02af4c7432210233a4abc408b1db484e7885d239c0c2b9c4952e577a8ebc3d6a7684e711e12db96e1f988df423a395301d2c15fe2f1abf708bc64147a30e2717f7868ff602d50fa9a3d0b3a0097259ac52057dcc14319c438e113da967f6dfba4279245b72cc86cf724c81769dae271e18c0b6cfa84b916ac89b12a1f8b05d88527ad40346775cc832713146806a2b2884e35628169bc12f67811b507bee3bbebca81ab93b5d700aa92898b3f5cb6e9d345483ca3743457fad8cc5bec2a8e7a22a41ba8b67641ab181d42abaf94d0055206b648c81361f8486408b610bb3552299316b5c0b7d301d9f1c3d55621859ab2ee922c59b11ea9f2a1efe277c534128f2cae6b598c0fa059efc2c24e8a0c2337bc2c57a0bc64a7fce190c656b529d21244eb66a900288b5c484bb033020b9b9ba3019b72387f2746b3b893a1427882bc3135f0a17f8271f9c8480eb60732672d44336b32f851a283224144c480aa302c05836edc1ac4569a6020130b341466322d17811229441c4513a2e8041c85e035113992f16799dfe8c1eef3aff8ca2f341628808a81e8b66ee5ba47ad0863c735a904565f036a85fb1203058137aad2206c303f22d3027e732542a342caf3376d6b065a745e31e865fc2243da31ce08eabbf8183b4294700bf8928da8ca78bc08490810c39747fd3851211b22f26451f6772e0c75659133e8d8c063cd3044da1719855fbbd9796314b11df8459ebd2d92b7fdc94c4c4c6d304e0494d88d83b5e3aa5761df3b299551a24f28994d2747b2b08945bead4c7e3a5fa1ec46b73f87af48578132eb080aaa37d31f0c2a041c5948e59f44f9 +m = 0359cbd196b3f4e9a0f8506a14a90ae501b00496958c512744ec20e95b065497 +ct = 894c1ef672678a0e6136f62c52a7e642fc5104aa2423c3bac538e0e4893d5c4b3c204f5c469a956ad55ebaf3c82aa91bebae235ad57e810aa4c2e51b69c9fb8cf71e2b722badcc98f0e0352e026d98d6abcda9c61c3196ce3c64d8093414079c9f464406eed36b21f1d66fc855d45ec2aee1181731b2706eba9ab1349867a76a0bc0321f8326218910f1f4f885f3e01027589b0be2de423a40d6dff75d1feab428a17a98e0ec17594419ec27054b17b425128920ff787ac9f273a59cafb6a52df390e103f26f24ef5c2376a97b91bbd1f91c4a9c6ce0c06e676f7ad7f02aebf41443a0bac614be48f76e5966b9740742a601fb87a45caf1f903d65cd9edd850e7f5d17648abef415b0ad79757611f4ef97f8fd2fa2df4057e11938c13c6fb6ed2675c277cfb03594eb6096073d5d18f3a4ff829fdcc04b8ba3072205d8c7f69a61ad93cd8063928b1ee4ba8135103a4490ffb8c696e886bec1da525bc4fee26e4b5ca04704beae4e30edcd2c15f5b73c216945baff24e03c566399fa57d0949b1e7502459ed9c7d513b8e4f42b8eaf659da1f3b68dc5ed8e44baae6c971b149ca42f807c2f17b42f606994590bae8a3bb3ec00568c7eb47ad6d82a4b7a4ba9ecfbf84e0dad327945d61aaa24f9141a3bbe4358ba43818a56ae46b230a937dd88bee5de7946f968f7f3ad6e50c6e3ba8d376b465584ddbdc5ecdf7b707f4f2b0e2d679422f49d38dbd491c899e3743607b93a43ea7a4e58615d2a267caf3f9380bd8b2d9d17863e4264c2d17b5053f2a536eba74c7de641586db7611a1b5d54677bd2b5f5999593894540b8c8244521076633b892f318c5ab83130ea76be201dc59a254ea9e0164b5198fb2f6acb5431c911931dafa3065ae4c0b0734c52eb9c940b345d76387cf8b9fad6e749119942104da41a0f5119352aba4aedb0901ce8d1b24d4bc06f551cf53a3261c741b9e87103907991b1c7182c8e09aabbf786efef6bf82608be76c0a95ae99e4098440a9fe8bb169415d96d668377485c767b35aa98e248432d1b3768231f7cdf6ef5975cf9a46715573219e31baa56d5a68095761a87dc433849e9044eb555bef2e0acb48b0a3abc1aba69d946cc795a56a91e271138511e8c8aa2099f6a00ce880cfa4ebfa6b66e7fcad0b856210fc057a972aad6fdd539249a0d77bd891c4e7abaa8f6ee48663801fd8eb49d2d35a103d85b29896c902a6cf2edddb8d9c1db3071b91e6560e06369219f120fe60cfde4e5dbb1908e58103df3b5bc22a24b5951b49fa003e585f78a64ef0f7fadeaef3f2dd69398cb9798b48abe38182d8e531870c858f693cdd232fd6dfcefd8da72a3773b845a895eab95fb5a0566d79fa683a8b1bcf889b43956bada63577ae1feff4629352f0b4c16782aff640555f4d24a1403540ef13205e4f119df890f6cb9dad0d9255cbe1adad85c1048f30ddf6ab98b72a6007b01044ca92126e41c958ef1d0589a56a40d0ee1ff03687339e4697befac60d3b3860eec133cf1554f84c9f1ead58 +ss = e8167d50f2c74925434b2e86c2469af294074c4b30ec4019677e2711f3f157e6 d = 2d5df64d62cb07fe630310bb801c658dbf3d97993e68626745de39d37fbfc2b2 -z = 7b534537addaba4ecf14f02ab317d36cb9f0f50222ced7cf029dff8a0d3d2fd9 +z = 6cf04ca090e5805fe0ffedd6be0f254397155a7639c5afbb30a7a75cfebff026 pk = 41aa7b69158362a41767486ec3da09ab4335fe2a25dd6c07366478cda91c691c5ed9264f771124c1f3693050802f480f5df89d5be189da765337a69c5c838488a0a4ba7880e91871fe346cf3abb0aaebadb211b5acd3b773c9146cf97920e509dc202f79b14734c9777a567cd44a43500b5eb8005bf4c5a387701286639e6d9ac2574b33f2432b3a787039e34b2ae511a27825cba7a8e09b401cfc6123d3b4c42318e7b032331230da960a09f61a6a196dc185bb8bf1c1a6b691a06cb57f12be1e45269c56490e256a83c13352a878c724242ff0681881160ed03166612d69894951d65b95e690db46129d149afba2c835d3b138036931423d2f84ca51179466a1028d1601d5c397cc81b1b5e468869185b25095a0e5b5dd6a421b5c7eceb58c4cf97b7feb114fbc435c78857c65098d3017ff8a58f5927e5ee7712fa0c2962939b9d8c84bb6428b3902881188df17479ec01e4709b7840235ccd77acb0bb3a05995693781fb711d61f2883827a96ddace29a9cd43ec6abd4691be1a758b72a629f6aae1c795981c0d8bf8160bfb3b8f5047e1a410cdd49c6a42adf0bcafed1b21eeb95d504b1a48b1ace228bb5e1508bf05128f0cb63f5597851b9df4caa5b6ac10f7f6188dc41b02761f840caa42871c55205cd09771ac9125d6265ddc56a466249fbd774ee53756035349ca12a48237221bd53d7ff1ac18242442935ba818a3b50007a3fc14a2fa3abe437ff14705df0cb5af97561a608a3fea42a809a7a7d5491453c849dab7acd99636931c007a70d01655c7302f9a26012c494de47839c1ea2951a87ff73968dae83a86f392f021873be4c75d2b0700a3b540f50cf6fb664a4627dda9c75394032f434655755d12d4c781e2324ae00dd61744cef6c5ec9680f379a26284bf9590a33350905e080e9b70547ac1cf3ad888f30232fdea7bd2c184f9e1a9b6835401e737204c5ebf2b28f2b58edd399f873c7849cba8064b8a20c9c391841875b4963bba2097b958d752739383bf26787e64ec215974b45848185f44b8780c0714b9651a7685e673cd1b6230c5d6639ea5629c20659802bc6f2b95df274836241165a524ea99a941312fefc7cdd2fa8016d69b652c3e94e73c70c97f65b3adf14bba2d31916522701d80252e9c7fbd7a17d306a4e1e02cda405f3f07b38eb65824d5c9d8b91f7013784fba0df0348f21b00ef5a325c745a829714a5b9aba16acbdf029771d5415e867590cc5a57360a8969407f0749ab8a08a65e37e70146fc1b7bc40d789eae83761e77749a07859bbc046b5a87e3a92a5368251127f12d27789318f8b9c3c1f79211922c852a0b0e10bbb631599190b49a66937920b3f113185d89c6e37da5f7ce9c12d37c12cc24741cb9a79446606eabe8c9ab06d8963c959955f198e03a0bd127242dbf2a2180281a7b65f54c28ec9c6cafe64881d6456c07607cdfb89e2ca2fb3ba8f8357720051c30952734932b08b508402a6a2f4f9c76b053c12a267618928032b5d9e41990a18c2c04ba7c2868ad9f4538ff1b494707eb9da6b81374d7f9731f9a26089d7033a8c24600944d65871d313387b4101c0aaa27ae19d978653638577bcf4caf48083eeeb57f401544d4da3b73dc1c5c4a047b0a5ea85edac7bec66f4d87fd2fe422e7dbcd02d1455 -sk = 3c14bdd913cda0f267abaa8b0a30a5eaa527638c01926623b0bc2ba55b0b596a92bad72e92845828e8050f4c2f40873918e4524cea8505208d345783f71202496721e361a582c5445fa31fb662a64941abf9fc203ab4a741c9214c1b80b4ca617c4976c819794f53cacdb3509978a6df5900016278388234cc1a09b804679f36718255b2db60a7eee5bc3bc78bceea8060354b54031c4c76b30a1a8b1ebb697ff8606ce408fba72dbf0856e5b53b1e4a4ecc746cdfc77545b46060974c8a788a1d59529a9aaa571b895be01ed5c23a0d22707d89467a5b9c662767a0d77d5c49adca983ce7401f34526dab1cb9fe744bde8c54c230705548b9ed00b9f4ea055466cde77019324c0a7c9ba404b641a6530ae64a964ea47e6e80aaa4652c9a8b66061103f385479e50a780249a909c92b7913329a478880162d8857d58fa39d3283f5a2a7f8ff6abffe2463db40728d06166627e9c92283fa57a2e46190ab869b6c21fbeac86911284153b259bd2a442070d1cc581fdd333e5990f84ac67f47491df01128f0959ada0891c236e0aca87755289c0e6c8fb136974c97dbb1b8871a4c70aa001fc950f0cbb3ace4ac44f800252f5bd76fc1dc09a3d2f8860385a4bf8d765b49c5379140e0a2801dac947c23803ab6b467f2bb1b019b9d53771418312f51b28db18be216794a0467d79ac8abaf2c90f4b1b3474c168bcbcc1e6ae59c5781296467f2b8d63d5842d67935dd429bf8319bc0b8199cca9d3f78c483b8e0771622ea764fa610ee13c1a188c56d0b5c17094c1b7a45321bb69d99a666a7963268a1d0a0491b8b5cb700a7d86ab9039330edd8bb17cf1ac79355a82166458d2323e070ac109c98d201358f22bf9a3b513b8bba43905d1a790a7b1a11f682583ab4fe0a82f3e316b7c70afdd823c8fb7acfd330b22f378e8597ca5357454a71197cb4039e9a81d7995d14587b479657584407b281886d6a7fe9b6170a056d2003bf898027c275b7c1c3d1d0c157145ba52d264699b969d60aa3873a9606041c20b17c90055b8016ea703539638cff8aa0a219542bf51b68cf153a86149881c087d898ef9c3a089cc70a8656117131aa3f233c73cbf439022d224422920501c07243432aeb925c4023185d3f897a79a983d857c6d1422f9b22234005e00882f77c7704cc74adea4c8f3971e7964ba1a530c1f722ef696828c46946f0b329d909a47b83353330630359eb8e9b7e78abc50fca8c3aa9af967c89f464430c815d1959a21a226a966a6434301fa600a4d129886826803ec49a54a34acd62b50e33fd782937571816421341cd76a3570c17ac9c338e4ac4c51077650b98ae445d236904da694f755c1a5b288275b517b4c9b896c49bbc18933e52d34969b6ad8add604b526488c6397842a54b6657b93386b0ed7d36fd2f448efe43b0a144c33f729df530c8b6340cd61897b3c50b0d8ba81228604f7a4bcd120cd2a7bbba3b4818177c435a2b0c3ad838c6d9bd3903d64b32b8a8da5d93589021251d14c920328c4063c2af3c8c41228355527adf41037e1ac6aa69a427a55354ca9d54025306c16f93154776b4a7af9c9ef2298dba9b669c40bd0601abd410357b8940511beb6c96541aa7b69158362a41767486ec3da09ab4335fe2a25dd6c07366478cda91c691c5ed9264f771124c1f3693050802f480f5df89d5be189da765337a69c5c838488a0a4ba7880e91871fe346cf3abb0aaebadb211b5acd3b773c9146cf97920e509dc202f79b14734c9777a567cd44a43500b5eb8005bf4c5a387701286639e6d9ac2574b33f2432b3a787039e34b2ae511a27825cba7a8e09b401cfc6123d3b4c42318e7b032331230da960a09f61a6a196dc185bb8bf1c1a6b691a06cb57f12be1e45269c56490e256a83c13352a878c724242ff0681881160ed03166612d69894951d65b95e690db46129d149afba2c835d3b138036931423d2f84ca51179466a1028d1601d5c397cc81b1b5e468869185b25095a0e5b5dd6a421b5c7eceb58c4cf97b7feb114fbc435c78857c65098d3017ff8a58f5927e5ee7712fa0c2962939b9d8c84bb6428b3902881188df17479ec01e4709b7840235ccd77acb0bb3a05995693781fb711d61f2883827a96ddace29a9cd43ec6abd4691be1a758b72a629f6aae1c795981c0d8bf8160bfb3b8f5047e1a410cdd49c6a42adf0bcafed1b21eeb95d504b1a48b1ace228bb5e1508bf05128f0cb63f5597851b9df4caa5b6ac10f7f6188dc41b02761f840caa42871c55205cd09771ac9125d6265ddc56a466249fbd774ee53756035349ca12a48237221bd53d7ff1ac18242442935ba818a3b50007a3fc14a2fa3abe437ff14705df0cb5af97561a608a3fea42a809a7a7d5491453c849dab7acd99636931c007a70d01655c7302f9a26012c494de47839c1ea2951a87ff73968dae83a86f392f021873be4c75d2b0700a3b540f50cf6fb664a4627dda9c75394032f434655755d12d4c781e2324ae00dd61744cef6c5ec9680f379a26284bf9590a33350905e080e9b70547ac1cf3ad888f30232fdea7bd2c184f9e1a9b6835401e737204c5ebf2b28f2b58edd399f873c7849cba8064b8a20c9c391841875b4963bba2097b958d752739383bf26787e64ec215974b45848185f44b8780c0714b9651a7685e673cd1b6230c5d6639ea5629c20659802bc6f2b95df274836241165a524ea99a941312fefc7cdd2fa8016d69b652c3e94e73c70c97f65b3adf14bba2d31916522701d80252e9c7fbd7a17d306a4e1e02cda405f3f07b38eb65824d5c9d8b91f7013784fba0df0348f21b00ef5a325c745a829714a5b9aba16acbdf029771d5415e867590cc5a57360a8969407f0749ab8a08a65e37e70146fc1b7bc40d789eae83761e77749a07859bbc046b5a87e3a92a5368251127f12d27789318f8b9c3c1f79211922c852a0b0e10bbb631599190b49a66937920b3f113185d89c6e37da5f7ce9c12d37c12cc24741cb9a79446606eabe8c9ab06d8963c959955f198e03a0bd127242dbf2a2180281a7b65f54c28ec9c6cafe64881d6456c07607cdfb89e2ca2fb3ba8f8357720051c30952734932b08b508402a6a2f4f9c76b053c12a267618928032b5d9e41990a18c2c04ba7c2868ad9f4538ff1b494707eb9da6b81374d7f9731f9a26089d7033a8c24600944d65871d313387b4101c0aaa27ae19d978653638577bcf4caf48083eeeb57f401544d4da3b73dc1c5c4a047b0a5ea85edac7bec66f4d87fd2fe422e7dbcd02d145572be2f5cd569e6229f00014854633f7b278e90af4ea593411909467a03e29cfb7b534537addaba4ecf14f02ab317d36cb9f0f50222ced7cf029dff8a0d3d2fd9 -m = 048ea516d0ebbd9f709b47eaac66f344c571cf50f0d01c9466aa061a50b66a24 -ct = 90606786779293d177977750726975f4eb4d2843f8f693800a1dd52afbe25a79c5e48d83d02e9cda1e3909d1c23db2e382ed3de92fbeaf611f326dd2a34e597ce9695e211ff7590cea226b588a5bf394e8aea1aa959b45e32e7af8dc01500f950f9af77878b8f280e917579650dd9add147d1879f249ffa2b48e170b5172b97ddd0be9beca1843be63c7532f7ba2b85e508a600b1592759effb657eed4162855ed6b6bd143a91523a3d033bf5f6199f8d1bc7021a37abfbb82886777797eae296f9d5748ffc0a1276575fcdfa8056030af0dc936ad79d24e68228f9c50f3f406cf0dcfc8c7767285b67eb6baead90391d8dd18781752fe025407b96c6f042d251556b610755d1bdf36a806230a11c2852827a048e835875239f99bc4a31455e13ed565961e1ec56ac4719993f2d02cc08f03941f9fe37a7e18a66dcb2e5ef5a591fc5a4c5128efb1435fb97a2a396b749f911160cb4078f5d34fcc42572b95e4bc5929302e1c77f5e13f633cac285a61c2de38877d8cb44d9110fb415c4b7b7132a04050890602d7ecfcc1747600e8f2cc27ce59c9389b227ae001b1133ba633d0b332efb1d2e1e6cbfefbd162cc62002a9603cc2f0b580ae0c541d4dbe47e527be1095112855f97cfe206a38583ec34d7b87cd37824206d7ea069fe35a9c8ad0f14c45e5324a28013c1a2d705364b67d710fe03eb273218cc5ef9de14243b6f097e7129d90d770b7515e214dbfe7bbb53d816eff35714ca0b940027145b80598a2031180251c5b508b52970c98db719f53c11a16e4e8161fd9341ad76eedcb6ae20b6ff1c0aff2e78e538515b8819ba6110ed4be125037533489e0c76e52231a0ec0569db5ef47f6492b7d6ada2276f93ad2d53b08e45e8872378ad44710c2254556435483d4babba906e60ebea08d652c17dacb971ff31350ec86e61b655d106d0a7d8bb8d224687c77d9bf70ff94e55d658cba09ee778abe08d01ffb05252f98b378db8467cf5254ce62269c1d42da233fc59d032b7e69fdccb57b568bfc40a1050fd73d9e04d29be0b4e63fb7a817db603ee7cdbe280e772f7d18b4c2e3805f6efea65f1fa09a9f3175f4104c2642b0867dd997aa26d55428f41b522b8cdd48206fbfb97da0e7cad7bab9215b7850b6ad4389148cfac1f9df17d1f6b8f629bf5ab4409e99b24016ec0f425ed4efac98faa2166c6b6cd39022bfa01b3fd57d30edf1f2298601420dc2cf757e3702e34b7ebd285d2dc6bd0fd07967ef1bb9447daf0f0b5f52f2c61db0e7849ff02d03c50703961a5c03fa23807218a04fab9466633563b8833784dac8e23b11a0d895a5eeddab644c23f6332735fdb0af36345db18eba4e5fb4f4a30000da7aab1860853103792d4c32fe13b8eade1451f6537212dde6d0b1160a151bc4f33725698930774d5e26ff1b57fee3d2c19a5e5ad0fb0a0093c4875159947dc8b7d915ae10fbdbe2fd73ed5342bae093d764c26abd30271ea1aae78ffbb55b2ccf97cb8d75fc6438147718b4e844d14efa5965bd6 -ss = 7efdc40486793dcbc7c030273f8edb4178075955edbfbbf0f21b793206a172d4 +sk = 3c14bdd913cda0f267abaa8b0a30a5eaa527638c01926623b0bc2ba55b0b596a92bad72e92845828e8050f4c2f40873918e4524cea8505208d345783f71202496721e361a582c5445fa31fb662a64941abf9fc203ab4a741c9214c1b80b4ca617c4976c819794f53cacdb3509978a6df5900016278388234cc1a09b804679f36718255b2db60a7eee5bc3bc78bceea8060354b54031c4c76b30a1a8b1ebb697ff8606ce408fba72dbf0856e5b53b1e4a4ecc746cdfc77545b46060974c8a788a1d59529a9aaa571b895be01ed5c23a0d22707d89467a5b9c662767a0d77d5c49adca983ce7401f34526dab1cb9fe744bde8c54c230705548b9ed00b9f4ea055466cde77019324c0a7c9ba404b641a6530ae64a964ea47e6e80aaa4652c9a8b66061103f385479e50a780249a909c92b7913329a478880162d8857d58fa39d3283f5a2a7f8ff6abffe2463db40728d06166627e9c92283fa57a2e46190ab869b6c21fbeac86911284153b259bd2a442070d1cc581fdd333e5990f84ac67f47491df01128f0959ada0891c236e0aca87755289c0e6c8fb136974c97dbb1b8871a4c70aa001fc950f0cbb3ace4ac44f800252f5bd76fc1dc09a3d2f8860385a4bf8d765b49c5379140e0a2801dac947c23803ab6b467f2bb1b019b9d53771418312f51b28db18be216794a0467d79ac8abaf2c90f4b1b3474c168bcbcc1e6ae59c5781296467f2b8d63d5842d67935dd429bf8319bc0b8199cca9d3f78c483b8e0771622ea764fa610ee13c1a188c56d0b5c17094c1b7a45321bb69d99a666a7963268a1d0a0491b8b5cb700a7d86ab9039330edd8bb17cf1ac79355a82166458d2323e070ac109c98d201358f22bf9a3b513b8bba43905d1a790a7b1a11f682583ab4fe0a82f3e316b7c70afdd823c8fb7acfd330b22f378e8597ca5357454a71197cb4039e9a81d7995d14587b479657584407b281886d6a7fe9b6170a056d2003bf898027c275b7c1c3d1d0c157145ba52d264699b969d60aa3873a9606041c20b17c90055b8016ea703539638cff8aa0a219542bf51b68cf153a86149881c087d898ef9c3a089cc70a8656117131aa3f233c73cbf439022d224422920501c07243432aeb925c4023185d3f897a79a983d857c6d1422f9b22234005e00882f77c7704cc74adea4c8f3971e7964ba1a530c1f722ef696828c46946f0b329d909a47b83353330630359eb8e9b7e78abc50fca8c3aa9af967c89f464430c815d1959a21a226a966a6434301fa600a4d129886826803ec49a54a34acd62b50e33fd782937571816421341cd76a3570c17ac9c338e4ac4c51077650b98ae445d236904da694f755c1a5b288275b517b4c9b896c49bbc18933e52d34969b6ad8add604b526488c6397842a54b6657b93386b0ed7d36fd2f448efe43b0a144c33f729df530c8b6340cd61897b3c50b0d8ba81228604f7a4bcd120cd2a7bbba3b4818177c435a2b0c3ad838c6d9bd3903d64b32b8a8da5d93589021251d14c920328c4063c2af3c8c41228355527adf41037e1ac6aa69a427a55354ca9d54025306c16f93154776b4a7af9c9ef2298dba9b669c40bd0601abd410357b8940511beb6c96541aa7b69158362a41767486ec3da09ab4335fe2a25dd6c07366478cda91c691c5ed9264f771124c1f3693050802f480f5df89d5be189da765337a69c5c838488a0a4ba7880e91871fe346cf3abb0aaebadb211b5acd3b773c9146cf97920e509dc202f79b14734c9777a567cd44a43500b5eb8005bf4c5a387701286639e6d9ac2574b33f2432b3a787039e34b2ae511a27825cba7a8e09b401cfc6123d3b4c42318e7b032331230da960a09f61a6a196dc185bb8bf1c1a6b691a06cb57f12be1e45269c56490e256a83c13352a878c724242ff0681881160ed03166612d69894951d65b95e690db46129d149afba2c835d3b138036931423d2f84ca51179466a1028d1601d5c397cc81b1b5e468869185b25095a0e5b5dd6a421b5c7eceb58c4cf97b7feb114fbc435c78857c65098d3017ff8a58f5927e5ee7712fa0c2962939b9d8c84bb6428b3902881188df17479ec01e4709b7840235ccd77acb0bb3a05995693781fb711d61f2883827a96ddace29a9cd43ec6abd4691be1a758b72a629f6aae1c795981c0d8bf8160bfb3b8f5047e1a410cdd49c6a42adf0bcafed1b21eeb95d504b1a48b1ace228bb5e1508bf05128f0cb63f5597851b9df4caa5b6ac10f7f6188dc41b02761f840caa42871c55205cd09771ac9125d6265ddc56a466249fbd774ee53756035349ca12a48237221bd53d7ff1ac18242442935ba818a3b50007a3fc14a2fa3abe437ff14705df0cb5af97561a608a3fea42a809a7a7d5491453c849dab7acd99636931c007a70d01655c7302f9a26012c494de47839c1ea2951a87ff73968dae83a86f392f021873be4c75d2b0700a3b540f50cf6fb664a4627dda9c75394032f434655755d12d4c781e2324ae00dd61744cef6c5ec9680f379a26284bf9590a33350905e080e9b70547ac1cf3ad888f30232fdea7bd2c184f9e1a9b6835401e737204c5ebf2b28f2b58edd399f873c7849cba8064b8a20c9c391841875b4963bba2097b958d752739383bf26787e64ec215974b45848185f44b8780c0714b9651a7685e673cd1b6230c5d6639ea5629c20659802bc6f2b95df274836241165a524ea99a941312fefc7cdd2fa8016d69b652c3e94e73c70c97f65b3adf14bba2d31916522701d80252e9c7fbd7a17d306a4e1e02cda405f3f07b38eb65824d5c9d8b91f7013784fba0df0348f21b00ef5a325c745a829714a5b9aba16acbdf029771d5415e867590cc5a57360a8969407f0749ab8a08a65e37e70146fc1b7bc40d789eae83761e77749a07859bbc046b5a87e3a92a5368251127f12d27789318f8b9c3c1f79211922c852a0b0e10bbb631599190b49a66937920b3f113185d89c6e37da5f7ce9c12d37c12cc24741cb9a79446606eabe8c9ab06d8963c959955f198e03a0bd127242dbf2a2180281a7b65f54c28ec9c6cafe64881d6456c07607cdfb89e2ca2fb3ba8f8357720051c30952734932b08b508402a6a2f4f9c76b053c12a267618928032b5d9e41990a18c2c04ba7c2868ad9f4538ff1b494707eb9da6b81374d7f9731f9a26089d7033a8c24600944d65871d313387b4101c0aaa27ae19d978653638577bcf4caf48083eeeb57f401544d4da3b73dc1c5c4a047b0a5ea85edac7bec66f4d87fd2fe422e7dbcd02d145572be2f5cd569e6229f00014854633f7b278e90af4ea593411909467a03e29cfb6cf04ca090e5805fe0ffedd6be0f254397155a7639c5afbb30a7a75cfebff026 +m = 894f98d7435d1c0c3667c22a218a449d07f117d46fcbfa4baa09f62403827464 +ct = 5b1b3b72e2f199b42c043502eddb711e53c24054172565d41e66d4282537feeba7504469c7fc7bcd16633de1272f527a3e42830dd74629b9781ba33ad866c441932768b3dec2098c48f2cb512ad19aa36e9b78c04ebf1ce6c2b94cfc3304ea210ab150f589e6b24a2fe936f39633a5c4fa020eb29c89db9ec20ec01b37724e43a207b6d3f076d0693eed88ec41448225c8a06a6893aeb8571d0982cf652b619831de79c7f735d2ed86a742c10f0a1752cbfc68519b67a873c1d48f8c8cb9ef3696a9ebcfe2a53f544bdf1286aa14643544ffeddcc11e67e45a6430e26743107393f8c2aed228de21f1bdaae8746f903cf77ac1c662c1aae7d4056625a7d93cdb7c453e27b4a1e105dcc9aca0bcf3d868b371f3331fa557c2a706aa8d97571983036f5b2becef7244c4feee553378112c683fe3cb7ed4b4d03b77bb701868f803eca7122d2be024b2fb6ce14f8f1f6789848f866a77ef6c85f39f065b724352401ff7cf3b990dda7ac7f593bf4379e986cd461e4cf14116c4f7c9f622430b0393dc5d30ae63dfd41ed02c1827ec48c22e91301279c6fc28af4564495d9f610c6df5fd66b915b148e6a1c82fa2f16e8a7a1b369a7da42dca7b58f00af9eca5eb52a78668cef4c84261bd05cf300cbed95c15a231a205ff36e5268b876322921a8cd5486ae5a3ca1f0c1a2bdfdaefea827849c78dfa21aa9f64288de7eb361d949c3b13bde52c498b17b4dab29daed805f6125deb6e54d3d1c846ab82bd0e14f26a5dd21148590eb20878324e1bb387217f8b016a1f04d7664514bc6cb455480f4eb7fd57c1f84887246b7f799c570d9f1831f62a21e6a63d4b2c5d23593df1d5a54b3ba197411bf561e9512d7209a707f7acd6897ebafd88a19bc50a165978ac278f12d6d34268eaf8ae6b32eee3fdae2ddd6c56e38fa99a046149b16646d1482d6cb4d8af4a8109baae010e2763e42c240a61bfe05ec2d9aa45ac6e9fad31da9cc250bfc5279313af5a65b6763e5d780b860273b08f77903f067b51e4076380336414ae1e8200be6b6100e9143a6bdd3c9c16fb22e0c8d64fdd23688e4b04d4b8b5765691b7dfc4caf16bfea2a51dc28c8b5b77305b4d270f3df5af41450923d043d3b743138d45a8090fc05ad3a4b3eb2cb611bf1a25b3b15a9537af49dffa6e2a35696f4a589b0f22f028aa1999865f09c7aeec901933d21e9bd482f890533f0acacbcf19b71b7a4791b8bd39df6f2ea2ad08c7dade740c5b8d045586219730d055133840bd66d54b23092f55a80e293e6f7b34e6135a2da08737d0068ad449163b2d2babe3913885980a12b842d42ad82bd21b093a3108b5ede9cdabd5a6d022c942662c4420591418d8bddae8ba8acbed5bfed3bcb5678356e422227a88e3b4675d425e7bb72f79256f466fc3d35f71a439b01e1c212e59e4a0767e14e547e145735e1e0f9c0739f76a0aadd8b052229f02628be9820da505f7046db1427bca184389f484e606de4359edddaf7bd54759c92248e352c31bcded590c7c0276 +ss = 08be70e91b98730e5c7dfeb15c1a020e31853e012b04c0b70ce2560d3a6e27bf d = 25056d1b8113bb362dd979d98643d7a7ac9c4f95994c0ba060609b6d07002ff3 -z = f48a9254dd40b117941fa35a66bb50296327b725525deef70e128ca8045ec451 +z = 0d5ec1be89d37beb810db438778bac52cdc1fe8f5c27ad825639e12ed908fa31 pk = 32b6c92f059443501427ac964fa569cbb074c71053f179bf1963ac704489ebb9936e23950e51ab7e26a98d6031c652701fa4ac59aa7c15d88c0337a067257b8d916db0456fad9622f44a928df6cce84a3e6634c9caca246208920c487b9a666342abc389c14c499785bcb91a95dc868fa20d25b08ac0e48c72e9b486151f21b11731d1bf049174adf279f9020aa98c38372877299c4f54a4493a3b20f8bc71cbc490b363c4162055cf3a5c13650db1154687462fc01b5e5b78c9f603255a24189b808358e17e01b9cf736a77d78a32520b6ddc9c1dd65a00e84b562b607b6ab472d5173ab53a97db08b322e95cb3378d5d088cd3ca6fa4739c6633a27d686abf040dcaa766bcc18d6b8a2f91e51ed6d49aa37aa44531bd9dfa25c116a842e50f53a68bf1617245e8b7da778eb3343d3f2575ea84627c640a6509133f4c5d78151a6695245659955cd3824f264a7df58ec87c8aa3066ecd1b68d848cb758487e647223c0154388912ed028ae364a9fa9a018d8558c3e9b179b66f2488c2be8792b1849fac0401a9756f209889fa637cf7ecc4f2c0249eb5c6f7e0219faa2a9433759ac70dabc7baab623c2023cf7ec869b75bce953ca3316b7a6fa685bdc7c8d467273268a0797b8d6fe57ddfdb03fff7ad3d5b9c80dc1939720ee8810933a04f51b78262910d7e28c0eab06b91980b65056472a293f2361183125670ac2426e514790b945d6b09c9ec354fe7c895a30231d95794f89ee60761ac9b2aaa9a75ef168c0950afb498915b2518e010c3800764bc5a65c0c54b2af686b7d954e77bc4cf8137ab398fe93429dd0ab80fc846d4cc8db2b9b2b4bb36d4c4121639c1e74622e59250701302301b4df96b2fa62736b29caf0866096f842898b2c6012b93b5ac23d1f39e192002ff0b9005fbb8cfeb8930562a4e0aae7a40c5032b8b33d0760d96c7c203920e2439d3ea02372c7f5d80b92259349076ba20c3ad4fd21752a3963cc5126342a963a363c1157f33189732f7243e465b14969f1ca199af45b50851266742151a235a8ba9a595534bd6aa31ccf52b8c5885d571a93d2577c57057e2caae68c9c84f565c72681fb15056a345236b02a1e5b13289388f035a2f8e03402f8b0a44259179a904c94725319acacd28ac1e449b87e8916091940e33861a4a35a8600267f04ffc6a3e06c60858d578bec60ee7716fd4b0225e5cceb5fc5437387522200f66fc880e0c874119c71f462cb4eaa24e67be77ca67278344199b27e2a55b50f372b65345122225d7324ca9504ce4d12bc101639e93b331e3b60e1b520e03c9703a69f54c2b1a52254ac44b86f310a711263a5a9b87a7116ec5654f7297ea76b63f939c1f49ce99d52bc58876160401558193ad98c7c8f4b6822712429679214bb2b6e8b324b58e1f57695dc8968bca7ec3717df12c1279408183b49679b349e2e45686e722c3a57bd9547a65656cbc79aec1d3b129837d84a6975d018c7ab04c88775e9c68839955775fd66ab02aad69b76307f51db2ab33915aca61969aeff14674a557c322af6997b1a8d9c51445884779227ee742986446ea1719808996049038e0d9aecee828ba054417cc3a683a7295066aaee9cb429c4740531990744a987152dca2388ba27e3769c8bf287e54e41cbc0ecca95ce621f2 -sk = 2d149d32c41889573ccb5166c597c3fe207cb806bd13a8a7bdf86267a93da7110a31f22221a17a5381c367eb1b9cd00810189c1f12358b59adbff2060ed6ac6712c660b51b553402d406bcc1d2444a863b6ff261e17aafffd01baa2b05cd83050ab460ced09bc7c0c2963784b7f9798d837bbc0483001539f0ea65a0574b46785645019b25130095725fb71556add2832ea245e250973f504dc58a4ba3c45cc8259e7906588d688f4f4cc79a1a955ee31e0fe931d16cc9da767c3a48bad09874f7730fa74c349d2163638aadfb59a462e904c5530a0b485541e391b6037041ec6a0560563f186be2ab97a42520a7daceabf1216e16870437cf012a6b6d082bbb23349628af4dd8ca9ea986498a80edfcc2418c3f5a627ba8baadf3739b3c578b2f193f57b72dc2827a2dc379aa31b6127c65352338c012cfcce0af1b33150d488cf47134e06b5ebaf0432c172090fa6671670bf7b66002e135e7c43d938343d5729e22e5597a06209e0793e65417de945b5e1aaeb2740fb1b350c902c1390a97586564fa94120cf7538b21aacc0ac0831b477e37c9e984b73ec91ed88705ef4cafd2f15a50227c0e4c0627d2a6d7875e9605afec339799690bb6f0a5b01141a6976fd51aa7a079827d37ca89726686ba95d6f275a59341fa229b4c163c260c4dbc4587c50ab8f0ac777849b5f700209f17c15251854c35aa23c20d486122ec8145565966f4a067251b96461950ac2171f1996e94517610338b88c091c356804cc691922449db0645a404ae4a641d1482b58e6230c7965c23605d66e96c8f0418ad786801d7530cfa2b5b757e06abc10518b274e3992e538922b717866c7eef827d2bb4c05ffa3322981cd8069dfe028d878a8b7a002472d302253a83ab84adf5530cc5f4671bf5219fe600ba97abd2555c52857abb76ccf4760adb30346c55aa5340b189e1968f72999e64c0b76297d232412b3c9384783457b83309ba7ef74abd50d16ea1c32a2362aaebd02da7790fb8827ff368261cec14f3a2095323502446703783ca9b6aa595d690031297c59b25414455c155924a47896716ac45330ce7069d131b75a57769fd4b4ca1990170a3570160cdbef1c930063d56e3546f09b1cd913c82057c0bb89111e6b1bba88eb8cbcd72078fcbf5059fe25c84bb5607d7b20bd0733fd96dbae2abd9531ddbe3cdd89a926361bb56ea0e5f9181b2c8c1532312f3f9005135c07dc211b824b1e63ac96e64845c35c41e0313511a5d429663796abf2443908d353766d40f47a910fd04a710ba5d6a5b301832a5b6016338d8858b220e8219512b643b8b60ca2a9347ec39638b787fdb44ce72408dcd2504de24af91130abc09b2e7c9bb26b3393ee06fd77019ed3466e019ac92a416c9683da22cafb1a9ad3475af17a15ee9f97446096647578f77fa02e79904fcc008fe509425446ca2a4c1dff32cdfa4ce120230bb5cc9cb49a2e2841bf69a1c49a762ec171698ca0445201c485a15fef2562eacabad3259119c9ba4185677e03aa0470ca848709c4ba0c8e5814416c5678033c819773db36e7a90c65fa82ffdf6921c38285122163bc0744de5c5363c9a973428a6daad20e5a62d37017b464da7637d32b6c92f059443501427ac964fa569cbb074c71053f179bf1963ac704489ebb9936e23950e51ab7e26a98d6031c652701fa4ac59aa7c15d88c0337a067257b8d916db0456fad9622f44a928df6cce84a3e6634c9caca246208920c487b9a666342abc389c14c499785bcb91a95dc868fa20d25b08ac0e48c72e9b486151f21b11731d1bf049174adf279f9020aa98c38372877299c4f54a4493a3b20f8bc71cbc490b363c4162055cf3a5c13650db1154687462fc01b5e5b78c9f603255a24189b808358e17e01b9cf736a77d78a32520b6ddc9c1dd65a00e84b562b607b6ab472d5173ab53a97db08b322e95cb3378d5d088cd3ca6fa4739c6633a27d686abf040dcaa766bcc18d6b8a2f91e51ed6d49aa37aa44531bd9dfa25c116a842e50f53a68bf1617245e8b7da778eb3343d3f2575ea84627c640a6509133f4c5d78151a6695245659955cd3824f264a7df58ec87c8aa3066ecd1b68d848cb758487e647223c0154388912ed028ae364a9fa9a018d8558c3e9b179b66f2488c2be8792b1849fac0401a9756f209889fa637cf7ecc4f2c0249eb5c6f7e0219faa2a9433759ac70dabc7baab623c2023cf7ec869b75bce953ca3316b7a6fa685bdc7c8d467273268a0797b8d6fe57ddfdb03fff7ad3d5b9c80dc1939720ee8810933a04f51b78262910d7e28c0eab06b91980b65056472a293f2361183125670ac2426e514790b945d6b09c9ec354fe7c895a30231d95794f89ee60761ac9b2aaa9a75ef168c0950afb498915b2518e010c3800764bc5a65c0c54b2af686b7d954e77bc4cf8137ab398fe93429dd0ab80fc846d4cc8db2b9b2b4bb36d4c4121639c1e74622e59250701302301b4df96b2fa62736b29caf0866096f842898b2c6012b93b5ac23d1f39e192002ff0b9005fbb8cfeb8930562a4e0aae7a40c5032b8b33d0760d96c7c203920e2439d3ea02372c7f5d80b92259349076ba20c3ad4fd21752a3963cc5126342a963a363c1157f33189732f7243e465b14969f1ca199af45b50851266742151a235a8ba9a595534bd6aa31ccf52b8c5885d571a93d2577c57057e2caae68c9c84f565c72681fb15056a345236b02a1e5b13289388f035a2f8e03402f8b0a44259179a904c94725319acacd28ac1e449b87e8916091940e33861a4a35a8600267f04ffc6a3e06c60858d578bec60ee7716fd4b0225e5cceb5fc5437387522200f66fc880e0c874119c71f462cb4eaa24e67be77ca67278344199b27e2a55b50f372b65345122225d7324ca9504ce4d12bc101639e93b331e3b60e1b520e03c9703a69f54c2b1a52254ac44b86f310a711263a5a9b87a7116ec5654f7297ea76b63f939c1f49ce99d52bc58876160401558193ad98c7c8f4b6822712429679214bb2b6e8b324b58e1f57695dc8968bca7ec3717df12c1279408183b49679b349e2e45686e722c3a57bd9547a65656cbc79aec1d3b129837d84a6975d018c7ab04c88775e9c68839955775fd66ab02aad69b76307f51db2ab33915aca61969aeff14674a557c322af6997b1a8d9c51445884779227ee742986446ea1719808996049038e0d9aecee828ba054417cc3a683a7295066aaee9cb429c4740531990744a987152dca2388ba27e3769c8bf287e54e41cbc0ecca95ce621f20831c75b153fa17d336a79ff6e88ddf485daf7b1b0bcf39d8df15319d52ac67ef48a9254dd40b117941fa35a66bb50296327b725525deef70e128ca8045ec451 -m = 686c921c9db1263e78ae753b1c9c2e7936b8229dca48c0942c56c6bca4f10917 -ct = eac0e656e53bd64c8f7b2be3647a96712e4f83b04fa4555f1d3b8f9b796b9841c2d239956674cb51ca6dd945f2b9c40cb3341881e883a6a4b356538cc01e6e42b72de8754bf38c4363c5f39c9661c13b207dc92767b34ae07c3d38bde0be4910e4ad5ddadcd4afd41c5b6b8a00d537aba8f5796f940b892ea5b797d2a19021168cf55f0054b6c6c7d43b192632f3daaaf4dc99c2157ec5035e8039809a95126da22408aad3558c2c52528b46f313b32d8730cd5c5efac4f58f539cb7dddf931c6eb9ae718bad5b5f10561a922d4c0efe6531fa7012568e5a372f6380d5c31a5f722768b2e9395b8d66768e4d8305de645927d91bf7627977e9739563761581f438e05a50abee8178065406d40ce6818edc2ed16fbf346de6b40ff715ce1621fb2d55357e359fc3b67d1010fb65a732f4ab7c7ba83f4a9f8c294c7d96da285b931f78ae792aacc355b8527ff2cba6ee903b666691dd4f6adfbd58f21ec2143571e061f6049b61aaf0a56885b34559df49bcdc71b1d2df11efd96bbe1ec331c8483af5d9edfca14f3955cded0a2ad957759ddcdb02a93c5876faf55eb8a32b74975d5ecfd3296b00694ea1dadebd5932b306307943680ab5a2b25cad113a22aadfbb9dd8f4c462fd6efec2560eb8ba20a0b2bfdeec2193e8d8eeb70f759e32b3f07bb3f7f5aafefb74c5c54d7aa8369d8be515ea5acef7ffbe63be3affdcff6144ff59bb0e4ebc711a9f001e05d3a4bb4971377462e695ffcb41d81ab63ecb228d47049367504e279e5cec3d1cbeee4b1b9afd9eeeb8565cf6ae4fcc0f62f40686dffbc7e9a4148eb3aff9b876987e7d67756fc83df5b69cf46fd3ab096e5b58f16756dd1efff6b898cca1bf81e19b364c3854420dc8570cc2c5b0e9cef31180712bc4cfe866465409433b57577ee869f77a3d713bf983195b53d825d6b3a6f1da471abc964fdaf6a9cd64d21c979c4609ff77339ef560c793decc75a6c78d01a8a5a6d1071708febe38c7dd95cbfaa4685b5c8e22fb0a17849ad8bd0ee1a613cb2a3c6d1ef0a4d32bc535e45fb5c4022b870f7c410c9d93157d13c47e8c4a89dd9742eaf9603aa98e98020b0ea05e9c6d21752cfbb0d77995dca48e0cdad479364aaf3acb4a99204a006ea3be92b9819fe611ffc3c9c73f240b147c038151ba94cd1dc0e78eb7eec32ed7b1d2decdfc6751664b80eafba4600737fc2939413abc36d14100ddb3f67edac9317acdcf043006fc01fd97fdef6ecce4400b542a4ad2bdc4107d975dfb762761739acefc9a6b2ec26ab9c80f24059b46cb52db1ebc929ed159497989131a7b67bdf78e141d8bcae3dcba7948cf843c2e1409830b2234ea1638c378b40c87907b1557a81044a5d4407cecef5ab2dd55a28cf30ad06e741bf47a5652e56dd44ae96fb93e57259542f4ef268eb9221d714e472b4c633d2f4194bbaa72b629b83c7108ad2dde0122b3a31f5d028c911de14f1e80e23001ffac0e8434226a1f0834cf5a5e0ca419d46759cb8d9a7236ef949a9ccacf70dfb4 -ss = a33bbcff1ec8c4d3e3229aec78463ffead5b96c6c1fa857921f8907a9180af07 +sk = 2d149d32c41889573ccb5166c597c3fe207cb806bd13a8a7bdf86267a93da7110a31f22221a17a5381c367eb1b9cd00810189c1f12358b59adbff2060ed6ac6712c660b51b553402d406bcc1d2444a863b6ff261e17aafffd01baa2b05cd83050ab460ced09bc7c0c2963784b7f9798d837bbc0483001539f0ea65a0574b46785645019b25130095725fb71556add2832ea245e250973f504dc58a4ba3c45cc8259e7906588d688f4f4cc79a1a955ee31e0fe931d16cc9da767c3a48bad09874f7730fa74c349d2163638aadfb59a462e904c5530a0b485541e391b6037041ec6a0560563f186be2ab97a42520a7daceabf1216e16870437cf012a6b6d082bbb23349628af4dd8ca9ea986498a80edfcc2418c3f5a627ba8baadf3739b3c578b2f193f57b72dc2827a2dc379aa31b6127c65352338c012cfcce0af1b33150d488cf47134e06b5ebaf0432c172090fa6671670bf7b66002e135e7c43d938343d5729e22e5597a06209e0793e65417de945b5e1aaeb2740fb1b350c902c1390a97586564fa94120cf7538b21aacc0ac0831b477e37c9e984b73ec91ed88705ef4cafd2f15a50227c0e4c0627d2a6d7875e9605afec339799690bb6f0a5b01141a6976fd51aa7a079827d37ca89726686ba95d6f275a59341fa229b4c163c260c4dbc4587c50ab8f0ac777849b5f700209f17c15251854c35aa23c20d486122ec8145565966f4a067251b96461950ac2171f1996e94517610338b88c091c356804cc691922449db0645a404ae4a641d1482b58e6230c7965c23605d66e96c8f0418ad786801d7530cfa2b5b757e06abc10518b274e3992e538922b717866c7eef827d2bb4c05ffa3322981cd8069dfe028d878a8b7a002472d302253a83ab84adf5530cc5f4671bf5219fe600ba97abd2555c52857abb76ccf4760adb30346c55aa5340b189e1968f72999e64c0b76297d232412b3c9384783457b83309ba7ef74abd50d16ea1c32a2362aaebd02da7790fb8827ff368261cec14f3a2095323502446703783ca9b6aa595d690031297c59b25414455c155924a47896716ac45330ce7069d131b75a57769fd4b4ca1990170a3570160cdbef1c930063d56e3546f09b1cd913c82057c0bb89111e6b1bba88eb8cbcd72078fcbf5059fe25c84bb5607d7b20bd0733fd96dbae2abd9531ddbe3cdd89a926361bb56ea0e5f9181b2c8c1532312f3f9005135c07dc211b824b1e63ac96e64845c35c41e0313511a5d429663796abf2443908d353766d40f47a910fd04a710ba5d6a5b301832a5b6016338d8858b220e8219512b643b8b60ca2a9347ec39638b787fdb44ce72408dcd2504de24af91130abc09b2e7c9bb26b3393ee06fd77019ed3466e019ac92a416c9683da22cafb1a9ad3475af17a15ee9f97446096647578f77fa02e79904fcc008fe509425446ca2a4c1dff32cdfa4ce120230bb5cc9cb49a2e2841bf69a1c49a762ec171698ca0445201c485a15fef2562eacabad3259119c9ba4185677e03aa0470ca848709c4ba0c8e5814416c5678033c819773db36e7a90c65fa82ffdf6921c38285122163bc0744de5c5363c9a973428a6daad20e5a62d37017b464da7637d32b6c92f059443501427ac964fa569cbb074c71053f179bf1963ac704489ebb9936e23950e51ab7e26a98d6031c652701fa4ac59aa7c15d88c0337a067257b8d916db0456fad9622f44a928df6cce84a3e6634c9caca246208920c487b9a666342abc389c14c499785bcb91a95dc868fa20d25b08ac0e48c72e9b486151f21b11731d1bf049174adf279f9020aa98c38372877299c4f54a4493a3b20f8bc71cbc490b363c4162055cf3a5c13650db1154687462fc01b5e5b78c9f603255a24189b808358e17e01b9cf736a77d78a32520b6ddc9c1dd65a00e84b562b607b6ab472d5173ab53a97db08b322e95cb3378d5d088cd3ca6fa4739c6633a27d686abf040dcaa766bcc18d6b8a2f91e51ed6d49aa37aa44531bd9dfa25c116a842e50f53a68bf1617245e8b7da778eb3343d3f2575ea84627c640a6509133f4c5d78151a6695245659955cd3824f264a7df58ec87c8aa3066ecd1b68d848cb758487e647223c0154388912ed028ae364a9fa9a018d8558c3e9b179b66f2488c2be8792b1849fac0401a9756f209889fa637cf7ecc4f2c0249eb5c6f7e0219faa2a9433759ac70dabc7baab623c2023cf7ec869b75bce953ca3316b7a6fa685bdc7c8d467273268a0797b8d6fe57ddfdb03fff7ad3d5b9c80dc1939720ee8810933a04f51b78262910d7e28c0eab06b91980b65056472a293f2361183125670ac2426e514790b945d6b09c9ec354fe7c895a30231d95794f89ee60761ac9b2aaa9a75ef168c0950afb498915b2518e010c3800764bc5a65c0c54b2af686b7d954e77bc4cf8137ab398fe93429dd0ab80fc846d4cc8db2b9b2b4bb36d4c4121639c1e74622e59250701302301b4df96b2fa62736b29caf0866096f842898b2c6012b93b5ac23d1f39e192002ff0b9005fbb8cfeb8930562a4e0aae7a40c5032b8b33d0760d96c7c203920e2439d3ea02372c7f5d80b92259349076ba20c3ad4fd21752a3963cc5126342a963a363c1157f33189732f7243e465b14969f1ca199af45b50851266742151a235a8ba9a595534bd6aa31ccf52b8c5885d571a93d2577c57057e2caae68c9c84f565c72681fb15056a345236b02a1e5b13289388f035a2f8e03402f8b0a44259179a904c94725319acacd28ac1e449b87e8916091940e33861a4a35a8600267f04ffc6a3e06c60858d578bec60ee7716fd4b0225e5cceb5fc5437387522200f66fc880e0c874119c71f462cb4eaa24e67be77ca67278344199b27e2a55b50f372b65345122225d7324ca9504ce4d12bc101639e93b331e3b60e1b520e03c9703a69f54c2b1a52254ac44b86f310a711263a5a9b87a7116ec5654f7297ea76b63f939c1f49ce99d52bc58876160401558193ad98c7c8f4b6822712429679214bb2b6e8b324b58e1f57695dc8968bca7ec3717df12c1279408183b49679b349e2e45686e722c3a57bd9547a65656cbc79aec1d3b129837d84a6975d018c7ab04c88775e9c68839955775fd66ab02aad69b76307f51db2ab33915aca61969aeff14674a557c322af6997b1a8d9c51445884779227ee742986446ea1719808996049038e0d9aecee828ba054417cc3a683a7295066aaee9cb429c4740531990744a987152dca2388ba27e3769c8bf287e54e41cbc0ecca95ce621f20831c75b153fa17d336a79ff6e88ddf485daf7b1b0bcf39d8df15319d52ac67e0d5ec1be89d37beb810db438778bac52cdc1fe8f5c27ad825639e12ed908fa31 +m = c07d2a9f28995f021a974e798a55aec0230b11b9ee542f69925d009159425e81 +ct = 9a0ba7d006759107801ab28badc32c472825457e464073d1d52bc57a79e6c7abb52fc5acb592e1c1cfdf6cd57b1329d08b153cab46f1588ca60d2730f756ae8f5a6e87a500a06f1e346f5fc894ecb6113679085c101736a7c55dd70d1071dde02ef7a5639ef19d37cbe9c3b0785d0c7fce5d6c600ee81f71898b8ef6449a995d57cca2305f82f7b8d40eff3c5f7c94e63b72fa334e3f68d1ac6546e35ba0eeac70d17fdc8bbab982e453b8c7879e2072bc84f4f7e9fb8dd26403bc2098c7a99e0a35afb235c5e73ec82925c4b74f9a38f3a2f55ad715692ea5545a7c9ce353870a33b16de043cd5821bb94a82d6241f0fa48cba5e7e2d6e37ce0d42fe36b7845b4363c16692fbed5a8410b86c33d8c846476aeb385724ad77dbec8263a59e9ac51f4cfed239a7d7cbcb41b6905ff2b082d6d6555622b8e1a055f4d8fb5bd891a5aefd038b6c31cceef02e5c85b683aec1542d39ef40122fc17c395349649b66748d9181e53faa4ae6bc6a7ca25b0d7c386240c0d8c8d9d0044a126bd5befb1ed0c5070ac5397ce118af53d7b9437063d3d2aedb640abbe5f10da9379722b22d1ed79f8ea9ffd66d4505822b0393ed1271396a29f2a20c8349f07148e4d4c787497b36a62b87229b4015d2d825ab7eab4408b52267f0d88fb085e640985a87cbe6b12739df6176fdc3e8594f9b7904146162520ee72077d3375e43e6bf4b0cf072411d70ca3f66d586b3abf8450df60b7c27832ac0a6f7df36550ac3cd3bc279dfab66813df6c31143c2c0126258a796c23bc21629d3e89228f8d10eda4f6d2fb2cce407e864f7659349e2ad5f792da58dbaec9a5f6bef7ac860816a6c5df16a2acded6ae2385175c88917a9c3197c417699cee034bd02f6f84e099cd4e17c15dedb8d02a112d755ee071bba37c4cb22aeb7874dadb041ee912efca224e71d562863ed3df6c68c67979258c7bbfc28f7061765cdae9c5b126e260d92708bb43f8c035ef2e95ceacf0ab02c2729d9e87c41fb567c8161a3a3cdcd4f36ab44f4165c55a0b944ab434abb3601d8ffd9aa29674caede9883c72d5fb1719691d08c9b4159455dd01ff4b76fc8b59658a286b7c6defbf319addc9fd92414798f60698809ec238bfc6056fdd5abf82cc28453ea2cb9bd36624a7fc65ecc8493cbfdc6f6e9fc86958c87d9e77ae802cf2338e8d520a2f5b4460b50f6f8534e2cf50ad48eec53aca87b5805211794b262bf09d5bd87947347e22395237f32f820642287fb3fa28bc2e3d07864d0fdaaa3ec79ff1c56950b87ffeac816f7124f44d637f8aed447cace6bcb6d822ba069e3d5ab57d0d9f90a4628ef0bb32a7599978765746a8d7dd46f8a5d58e3835e5e544bbac01d4ecd1c320acb70f1da6cf0bbbd016da83d4c7cbb0132479d4a2a7077d4aaed37dca4cb55f99184808c96c677acf7eec5b745461b76909abd7efae9009a071e4b74b2e444db2143dcad5e63f3d0d8ba61b48677b1826f41f05a198686e86bae9fe6fe3c1105754e51a3d314a8e02ee0ea2 +ss = 11b7bfc2474a85e9c699b20ba61fe50ef52f9331e6d815ca24efa4c7cb5e0ded d = e4d34e12982aeeb1d62fd488d9b9e28557ed3429292239fb4f76fa9098009aca -z = e6c45c7fc62329b13c8d29844405db8ff6860de474bf727ecd19e54e6e1a141b +z = 91fd1369e8228b3979984c15440ef268fd3629c186d6cfde02b0f8a7908a7ee2 pk = 7c6b065ef3308afba0cf3607b2c98d83f76f7c058262b55f7c0746b3c22437f00de9d7cb69f40afd60ae74b0506afb96e30669f51c464a27b4f177666f92459b293dc208a0dac5654a8058a8fabc2d1853009743a598bab2c248068750f01227be5a4f7c4c6948f9167e88894d43b5aa44687ff177de837e2f0537f708a8f73a11fe6632dc285c9026bb23424ac2d1cbce39ac6a0a7686f088d617b096436c9f773e7cc50cea1c08db20c2949a7878d18e7372cae746b04558a8fbe97df0b9a69090449a507e6e1c07a35680412033127037607b2f0502690b47bd300a84c041650dc748ac2c060260c933a0b81847243fb3267f3cc8dbea4cea40790f37cd0373a71ec00634bb3b3b087a82ccb1e1dab77300156d8094a1d61d1f1bb3f977b749c938ab8092d71c93394856ed133075e2bbdd3cc0f27c2a2d34bc0f633f5e55c0a6c989b1e277ee9132f8779923eb2e22f78a1502ba5e55b6d53a05137867c10536e672c7336a3ea1f237263a6046f260ed3871f1d479be589744361a0d819439779075cc47a5a33e18326615134d9f09b68b6873c6ccb682f6b75662cecdf5432c37189ae09faf36735ea01c12f9ce64f4116d509c70e0072a242ff126710d178daae86539226c92d090d9b60dc63539f51b46dbf24cc8d54eda255e0ac19b03d34f5a270b6fda6d6408bcf1d2a46824b5290b8a26a8131402c9aea052d0101759345f86a66a4d238a20c6531d792170c52deed889ac3050ff87c659524337830c205622a989736b788092101933c0073c0b686106a9b88c17958a8711d272392ac448b01507634df4a23846aa9d594c80bca99f17505ac1793f2877bab4f1b211d2985842795c4c1b9fc018dd15b510556ef89b687e6b01701cbce0b56159a90f7b2c6fc1039aa38449a596c087a62b2ee5a7c3799f5a601bfaf8b9c598834fa115ae010f71167fd41b5cccc45146009752f380cdc56453e554cc779604f976fdc34e9f135261eabffbf00afc514f2699aa6a5aba0638542891c6858c7f6c6c4a12e4ce2d89b50b04c33ef262ee8b0d9a7777d3c56c85b1bafac7052fdbaed24303c843110c1892381887eb351134798b9745bc229208b277c2c999570075903deb530bf22f7906b75db35c3b24b04751bf6ed41724058c70988952d86b48519264d25ec2b817894ac370bc081362c841ebaefcd7625a67a48e3ca492d63bb9036a5b9a35d21470586510acf76fcc683035b18c05eca7d0702e0453ae00a8144779117d7c19cffb568a3c0959193d689a6adbac13df43907fd45fbf3313d49425d32ab9d81c6bd9b3486c3636e6e0015152c1cc78c809f3a3ffbc6f0628609b996980b3c43294c0e293940cd65a34bac8fcf020cc611e3e2c8e52f5ae886b8d9480551d012885318e5e6c1ecee0a3d75b342667c691d19f34fc7946e7a7047097f7938516cbb6c7f3abdb85b15e302a5547198ac0b89e7c2bfbf74050970e8dc746cf16bee6147076bb89c5124a89e070a785427cea590301cea7ab28ada228ee7bc7fcc17074063358a706989c8d6c82677287905722cca0a24ff91958c44a3044787eab3599eaf241eadb932b06b151a1a02ba8b244e9262b96144302124dddb5584adf5fef6bde5872a551b6840e3a082a8aa6dfb7232a6813367038cc -sk = 85b01a4a587bae308d39792b47f71997fc55fdc2746f881ddf7bc215145c56d399c6447ada39230866384bb718ada160a7349747867cf695cccdb8a4f1fbb3e573ade85ccf38924f36482bacb9798d481521a0cae103cc9fc9675184490f281d3516cbee910287758a4c374c0a4313f1c29251b1655522936dc329f540a1fd887f0c775823436df736c367aa3013341e66854fb39a9eb90b23caec3e84690ad531141f39914a77a767a47b60f2868cf11311aac9da94c72e9624d21814cdc99c89a4b35e1c4c63cbb3edea06888162e180503cfc6616b24d270601d0d275c03109dd9486220b66d523a8111b4de5b99d236586a09a4f77a240cacb4a737c770bc4915f55b609075ee68499654baf90622647052a8369872a93114c80c60fca1345e20114552119669a0d3a7188d3326017ce92112f0b715c26b40851683478e5c719c11088f00aac577f5a8763d4a76e3cd00cd9061f021672847ba0d4785ea7b1b28fa364e64c4fb7f718d2352b1fc26858b6552419a4d8e1b22f8c7992e3b5373183d040948777c356d514fdfb2d0c5a636bc5416a799270e5c975c0a62f3a76fb134646b333b75582f7f2c51cf4bd37835c3fdb2ce1ea86306362f8216d27e40ca43a45edc9554f08c604624659aa10ebd29e59a60f7bd66eee447f4398addc73387579148bc4a26b6749c961926fd34296db3044cb0d2d1312ca6a6755ec48c46865a36a6330a9aa5d39167c6062ef1a7c82ca5c0ac1b163b85e43c278312c4304aa127d66576e7218c2d0c850108076109919ac6931264dc2e919ff441875e607a97772feb45f14881fbcb37b4d00b45f416cf56c9501c6598ff9425249740eacca49d92e31d679a4f16c3ccb4384db45e47621719c6c585ccc03355216d43625c08760254ae3cc4aeb1287cd5c3f0911641b05c7036c9bb360c72902325830bd25eacb5a88abdc926e0f205ee857aa66c8c47e434d8bb4a6cfabbd8b681c427846f0e18a2762152b170063b489a3e6b8ba06b00f14a3f2e6ac00725e5724cb629b7a312b3a1221c9460917c07637b71050bb644a38a8192270c857d43ea9304495206bf62b1c4c11b04a817aaa996b2a266ceb8a80aa46674f16207b61bfb484af461b6dad9a9e6c22c56f81bb355a6705310e921239497809012159e78a8a249796c155a9dc7cbfe7384dd092239c29773f6610e536a77b879eef054c5e539a381043c1b53d69566a96d1931b166c6f066cf0ec81e7492a200876d42007724ac916460a1266ab77a327ef1282479685bc43a2718c93a806c3de3a0cb918c7a734cb04759341c5b1496679987aa5db93b70f903a5f4024c3da6fe8bb2ebc27182e1179611c61f8f6214069ab83c7165a46caa74bbce0897fabea9b6b58cd34e7535b0297b4359960d23e4a498cf7610601d92af2fb6163c4b2761615121b62a7900b08d61065c83a69d51253d48399fc665962ad36275ed3774f114a079f13b8bce420b44638cfa6ce6018b58bea422a8287a6680eb21c75456592e8b24cb6c26ec3d3c1dc4a19ca16888e9b7fea1a863b7a0143307530b533269a8b692cb4522ac1aa27b01d38603fd009e1c02017bbb36da2049a2c5045a63081266d7c6b065ef3308afba0cf3607b2c98d83f76f7c058262b55f7c0746b3c22437f00de9d7cb69f40afd60ae74b0506afb96e30669f51c464a27b4f177666f92459b293dc208a0dac5654a8058a8fabc2d1853009743a598bab2c248068750f01227be5a4f7c4c6948f9167e88894d43b5aa44687ff177de837e2f0537f708a8f73a11fe6632dc285c9026bb23424ac2d1cbce39ac6a0a7686f088d617b096436c9f773e7cc50cea1c08db20c2949a7878d18e7372cae746b04558a8fbe97df0b9a69090449a507e6e1c07a35680412033127037607b2f0502690b47bd300a84c041650dc748ac2c060260c933a0b81847243fb3267f3cc8dbea4cea40790f37cd0373a71ec00634bb3b3b087a82ccb1e1dab77300156d8094a1d61d1f1bb3f977b749c938ab8092d71c93394856ed133075e2bbdd3cc0f27c2a2d34bc0f633f5e55c0a6c989b1e277ee9132f8779923eb2e22f78a1502ba5e55b6d53a05137867c10536e672c7336a3ea1f237263a6046f260ed3871f1d479be589744361a0d819439779075cc47a5a33e18326615134d9f09b68b6873c6ccb682f6b75662cecdf5432c37189ae09faf36735ea01c12f9ce64f4116d509c70e0072a242ff126710d178daae86539226c92d090d9b60dc63539f51b46dbf24cc8d54eda255e0ac19b03d34f5a270b6fda6d6408bcf1d2a46824b5290b8a26a8131402c9aea052d0101759345f86a66a4d238a20c6531d792170c52deed889ac3050ff87c659524337830c205622a989736b788092101933c0073c0b686106a9b88c17958a8711d272392ac448b01507634df4a23846aa9d594c80bca99f17505ac1793f2877bab4f1b211d2985842795c4c1b9fc018dd15b510556ef89b687e6b01701cbce0b56159a90f7b2c6fc1039aa38449a596c087a62b2ee5a7c3799f5a601bfaf8b9c598834fa115ae010f71167fd41b5cccc45146009752f380cdc56453e554cc779604f976fdc34e9f135261eabffbf00afc514f2699aa6a5aba0638542891c6858c7f6c6c4a12e4ce2d89b50b04c33ef262ee8b0d9a7777d3c56c85b1bafac7052fdbaed24303c843110c1892381887eb351134798b9745bc229208b277c2c999570075903deb530bf22f7906b75db35c3b24b04751bf6ed41724058c70988952d86b48519264d25ec2b817894ac370bc081362c841ebaefcd7625a67a48e3ca492d63bb9036a5b9a35d21470586510acf76fcc683035b18c05eca7d0702e0453ae00a8144779117d7c19cffb568a3c0959193d689a6adbac13df43907fd45fbf3313d49425d32ab9d81c6bd9b3486c3636e6e0015152c1cc78c809f3a3ffbc6f0628609b996980b3c43294c0e293940cd65a34bac8fcf020cc611e3e2c8e52f5ae886b8d9480551d012885318e5e6c1ecee0a3d75b342667c691d19f34fc7946e7a7047097f7938516cbb6c7f3abdb85b15e302a5547198ac0b89e7c2bfbf74050970e8dc746cf16bee6147076bb89c5124a89e070a785427cea590301cea7ab28ada228ee7bc7fcc17074063358a706989c8d6c82677287905722cca0a24ff91958c44a3044787eab3599eaf241eadb932b06b151a1a02ba8b244e9262b96144302124dddb5584adf5fef6bde5872a551b6840e3a082a8aa6dfb7232a6813367038ccb30cedc4316b63d75b641fbad2f33241a3fc47ab8b3ee1a3ed597e5b04f77c68e6c45c7fc62329b13c8d29844405db8ff6860de474bf727ecd19e54e6e1a141b -m = 2387772e50059cabda53cb93ba24b19ae529496c03b36584169451525c4a0e7e -ct = 3ee8caa61756787b200ad5ec90ef835f55359f55ae04c8cae6d2fa90cc2e32ed38349b52e4a6ba4aba658a972b95eb04bdf9d9f007ff1db61055b41052095687d07626ddae5f9c2d2e7931c6c45250f5604ebd6d6c4044d18c0a193c9cfdcb212393510f1e966377f0bf34da89597cda14fae339d2a82d3415c7652a4b95945ad0bcb12992472766699fd0f5876f728681af0ee76d6fd4e45563dcd52aa7c2e5e783cf2a6deafeec004c87ee47b2b3dcc98d59486341ed9b282af0705b69ec8d498517d0ccc5847d6431677a8fb7b5df6bea0e5821caf8d14a81a0ac674089953179a3dd7c0198a9ce8732663261530c138ea09466e68f2a485a492d5875736d590c6bf0af9238752ea3949593cd15aecdcd783da5934ba69b70e1d9ae7c56b8885a3ab409098c17a4820ce2bfc365644a8180735ef122f41ecdb5387e87ce5eafa8ab1414d48c7b57f52f3338ae5e5758e83e560178de13676a49d69ea415622ced3c09a42f354b3e48205937a660ef1f9053ca4a1fdab50fb5e83898b6e5fc8a11d6ddc1b06a29eac43a5f47f2f70fcb085bcda559bb3ca3b035e119970eca86b5f373adf2ba9cf6b5755445fdb574a40650d7e75d7e36f90cd7c96343446a87882ad03464e8ed40797edcd84df74fcfaa83584e8a75774dea67c74f8c5cafc18f3be9b2c11ee6ec6e89ce7452d0a98c64c8f6dfa6198d9ca561e86a1631ba17a6fd6d4181186acdc327e71fb300a9397db532b88823d8d310abe4fdabdfeba7521c939bbf7413bb5199ab40dae9a8b7eddce3c38293d30d6a5f18ffcb12ea2e8ecf1a942e20f8310825bc6960cdd7041bd9186f723743c8c98432536ef35e69f0e7d8e0a0e05f3e40199eb1f2f7a41b18b0e7f2245fc7bba28b83a3a4f0cec6cb919d0cb7b66745200fc4074c510795982665fc880d3f6e3820d4ce2333c717d94ddd36c4341f01819002e21c41b12ec7e1184a1f7e3e6fca6a18971b1c438c773a7124de94320443c7d80c727237890cb13825436cf0ece3fcb867a86f8c2becd314e2274b9bdfeb3971ebe1730bd44e26b587c464e86404b8a18e35c6fc427c7160c4079c394d11cc93f473153967a394d126ddb344441ae12729464da5e813e5461439b6fb0925a97b726a2d724850829ec1d6e1f3881199ce47e93101d99439304b00fab1e6875ec82e4d8766912505121628ab17bf0a5094649e8d5803a59cb35999d8e9a2a7d14646a26f9db4bf0fdae3527cae7cd04dd9ec949ddbb122616881afcad30959d5022defb1a2f86903cc0b1a63dc1d21d477319df95e7b39322b69f8e3260b0f52d1ebfe21d0754a2076ad4be30e2e47165ea3eeb054465aa4b5dcdee133ec90a4d9c9326f153fcde75d9e3a3351041d13ef0b9117098f2e266edf666a3f333d8fd17c514a4a351cd2cfcb044fbf406e1dd5c99809731b988458055eb888e00665f3b2efc0e4e16f81aaa6f28f1c87495b078b236971cff1148c71c374d52ac1c5e68cef548a30b0d6223e995d7216f6604409101d7b -ss = bbc0b0a4782e2bb9eb19257f5b80338d1e239aa6a08710cbcba0adb974d7dc64 +sk = 85b01a4a587bae308d39792b47f71997fc55fdc2746f881ddf7bc215145c56d399c6447ada39230866384bb718ada160a7349747867cf695cccdb8a4f1fbb3e573ade85ccf38924f36482bacb9798d481521a0cae103cc9fc9675184490f281d3516cbee910287758a4c374c0a4313f1c29251b1655522936dc329f540a1fd887f0c775823436df736c367aa3013341e66854fb39a9eb90b23caec3e84690ad531141f39914a77a767a47b60f2868cf11311aac9da94c72e9624d21814cdc99c89a4b35e1c4c63cbb3edea06888162e180503cfc6616b24d270601d0d275c03109dd9486220b66d523a8111b4de5b99d236586a09a4f77a240cacb4a737c770bc4915f55b609075ee68499654baf90622647052a8369872a93114c80c60fca1345e20114552119669a0d3a7188d3326017ce92112f0b715c26b40851683478e5c719c11088f00aac577f5a8763d4a76e3cd00cd9061f021672847ba0d4785ea7b1b28fa364e64c4fb7f718d2352b1fc26858b6552419a4d8e1b22f8c7992e3b5373183d040948777c356d514fdfb2d0c5a636bc5416a799270e5c975c0a62f3a76fb134646b333b75582f7f2c51cf4bd37835c3fdb2ce1ea86306362f8216d27e40ca43a45edc9554f08c604624659aa10ebd29e59a60f7bd66eee447f4398addc73387579148bc4a26b6749c961926fd34296db3044cb0d2d1312ca6a6755ec48c46865a36a6330a9aa5d39167c6062ef1a7c82ca5c0ac1b163b85e43c278312c4304aa127d66576e7218c2d0c850108076109919ac6931264dc2e919ff441875e607a97772feb45f14881fbcb37b4d00b45f416cf56c9501c6598ff9425249740eacca49d92e31d679a4f16c3ccb4384db45e47621719c6c585ccc03355216d43625c08760254ae3cc4aeb1287cd5c3f0911641b05c7036c9bb360c72902325830bd25eacb5a88abdc926e0f205ee857aa66c8c47e434d8bb4a6cfabbd8b681c427846f0e18a2762152b170063b489a3e6b8ba06b00f14a3f2e6ac00725e5724cb629b7a312b3a1221c9460917c07637b71050bb644a38a8192270c857d43ea9304495206bf62b1c4c11b04a817aaa996b2a266ceb8a80aa46674f16207b61bfb484af461b6dad9a9e6c22c56f81bb355a6705310e921239497809012159e78a8a249796c155a9dc7cbfe7384dd092239c29773f6610e536a77b879eef054c5e539a381043c1b53d69566a96d1931b166c6f066cf0ec81e7492a200876d42007724ac916460a1266ab77a327ef1282479685bc43a2718c93a806c3de3a0cb918c7a734cb04759341c5b1496679987aa5db93b70f903a5f4024c3da6fe8bb2ebc27182e1179611c61f8f6214069ab83c7165a46caa74bbce0897fabea9b6b58cd34e7535b0297b4359960d23e4a498cf7610601d92af2fb6163c4b2761615121b62a7900b08d61065c83a69d51253d48399fc665962ad36275ed3774f114a079f13b8bce420b44638cfa6ce6018b58bea422a8287a6680eb21c75456592e8b24cb6c26ec3d3c1dc4a19ca16888e9b7fea1a863b7a0143307530b533269a8b692cb4522ac1aa27b01d38603fd009e1c02017bbb36da2049a2c5045a63081266d7c6b065ef3308afba0cf3607b2c98d83f76f7c058262b55f7c0746b3c22437f00de9d7cb69f40afd60ae74b0506afb96e30669f51c464a27b4f177666f92459b293dc208a0dac5654a8058a8fabc2d1853009743a598bab2c248068750f01227be5a4f7c4c6948f9167e88894d43b5aa44687ff177de837e2f0537f708a8f73a11fe6632dc285c9026bb23424ac2d1cbce39ac6a0a7686f088d617b096436c9f773e7cc50cea1c08db20c2949a7878d18e7372cae746b04558a8fbe97df0b9a69090449a507e6e1c07a35680412033127037607b2f0502690b47bd300a84c041650dc748ac2c060260c933a0b81847243fb3267f3cc8dbea4cea40790f37cd0373a71ec00634bb3b3b087a82ccb1e1dab77300156d8094a1d61d1f1bb3f977b749c938ab8092d71c93394856ed133075e2bbdd3cc0f27c2a2d34bc0f633f5e55c0a6c989b1e277ee9132f8779923eb2e22f78a1502ba5e55b6d53a05137867c10536e672c7336a3ea1f237263a6046f260ed3871f1d479be589744361a0d819439779075cc47a5a33e18326615134d9f09b68b6873c6ccb682f6b75662cecdf5432c37189ae09faf36735ea01c12f9ce64f4116d509c70e0072a242ff126710d178daae86539226c92d090d9b60dc63539f51b46dbf24cc8d54eda255e0ac19b03d34f5a270b6fda6d6408bcf1d2a46824b5290b8a26a8131402c9aea052d0101759345f86a66a4d238a20c6531d792170c52deed889ac3050ff87c659524337830c205622a989736b788092101933c0073c0b686106a9b88c17958a8711d272392ac448b01507634df4a23846aa9d594c80bca99f17505ac1793f2877bab4f1b211d2985842795c4c1b9fc018dd15b510556ef89b687e6b01701cbce0b56159a90f7b2c6fc1039aa38449a596c087a62b2ee5a7c3799f5a601bfaf8b9c598834fa115ae010f71167fd41b5cccc45146009752f380cdc56453e554cc779604f976fdc34e9f135261eabffbf00afc514f2699aa6a5aba0638542891c6858c7f6c6c4a12e4ce2d89b50b04c33ef262ee8b0d9a7777d3c56c85b1bafac7052fdbaed24303c843110c1892381887eb351134798b9745bc229208b277c2c999570075903deb530bf22f7906b75db35c3b24b04751bf6ed41724058c70988952d86b48519264d25ec2b817894ac370bc081362c841ebaefcd7625a67a48e3ca492d63bb9036a5b9a35d21470586510acf76fcc683035b18c05eca7d0702e0453ae00a8144779117d7c19cffb568a3c0959193d689a6adbac13df43907fd45fbf3313d49425d32ab9d81c6bd9b3486c3636e6e0015152c1cc78c809f3a3ffbc6f0628609b996980b3c43294c0e293940cd65a34bac8fcf020cc611e3e2c8e52f5ae886b8d9480551d012885318e5e6c1ecee0a3d75b342667c691d19f34fc7946e7a7047097f7938516cbb6c7f3abdb85b15e302a5547198ac0b89e7c2bfbf74050970e8dc746cf16bee6147076bb89c5124a89e070a785427cea590301cea7ab28ada228ee7bc7fcc17074063358a706989c8d6c82677287905722cca0a24ff91958c44a3044787eab3599eaf241eadb932b06b151a1a02ba8b244e9262b96144302124dddb5584adf5fef6bde5872a551b6840e3a082a8aa6dfb7232a6813367038ccb30cedc4316b63d75b641fbad2f33241a3fc47ab8b3ee1a3ed597e5b04f77c6891fd1369e8228b3979984c15440ef268fd3629c186d6cfde02b0f8a7908a7ee2 +m = 135cd8f8172371cef32284ec766614cfdca11dbae8797b92227da5e487e16435 +ct = baea3c15a6503f0a489bb75e27cf4bf39ef7c90bcdd9905549118069695c0abf4e36679776ad3c463734fec395a0ce79a6953bf65e23e5d2d7ed9d64ed2bd3c51f6ea58b4f3bf07e9dc2a9e8b9b2f62573b3c4b30104c22016611f0b2704c47518384a6343a8b32a176efbc224f048fdd6da8bbde99775f69cbb4f4d30bbade0f876e5fabd983c50b8d4fad49f07510ea7ab6ecf2e742ad8474a49d08b42216c2392e24ec937093e64a46a047e4425b79af3d491191d79322b8abcf38ce26408b6e29873f35a65829149f313c96f9c9e565b886665093d9d81ae1c2f9fd9b2e09ff9102cf8d3664c112c0fa3a61cfdcd9bd287cc4d8696844c6a43279a3827efc7dfcab3837430ca67e03e328971d2218dd6a53031860520cc361430aa804fddf96ccb193a477c84b306411a1e3d3abab1230e9596e872a01d9305289c0a74cb44983cd0f22c9de4aa87116d0185f53863bbf03feef768e151dd1a504bc708179a87e245d871d3d9fe47e9369d8b70d668f48f57ff44e38beb2885f5cd6ab518182a8a17958e7355781d7c002aafe97e4f2e4a5c2f1a32d02c5981593c577567fbef70e9437f0452d26a67537904310e9a776c326c8103c7e9d52548c5902b02deb93dbd21ff8abd4a741e7dc35f8d61b9112e46b3890cc8f1b0a15f1803a94b4f9525323418d987bd2fa9566991405dd403e86d722d62d7a7f3217060182dbe9e0df1889cd16cd60a39eb0e32d2b5b99ce83ed493bf21049d0ae8aebfaf41cb772df25a4925f3c0e5772575e883c16cae7fe7594cbdd59e0f3416629d617d46329a2950d05e8b0070e090b75af3a23d336d2638c325621c5d39b8b44cace95f6356f0a6968539c141b330480166adedd02ef081c58a5ef2497138015975bb9e3e9d0a28c93ee833887840339beb6c784caac7aca383b92d4cc00d0caefc432c6b80e01273affd1465dbe3ce753ef87bca5ab25ed0cbfaa39806e7829384034c1239892921671f94c16c3fc64510c19867101915d51dcc10a41ee6df7a529ab467c6667c4e2d3815324181c7241ff8cc4c2140f2ffd460d5edb9aa9bf1c0cd77377bad8f6438445db6e0afd72b0e5adda43f4f76b81a5963361aa0852c2d752369939c2dae22cd7c8bf1fcae7e9ad531c631710d0cfe8b92b0cae86254ea62077fb37c300cfc4986779d96637c6d371ca709e1a3e8dcb6ee74452557c5011097d50baeeaa469d8316389e869e3349a9657f07382d39815086b6122e0ccc3f1f69aef65f495fd41c44ff4411647dc40d085c3ae17e567ff7d6e1b07a5d1c39dbdd8a5d020f959660209b5b4f77755aa9776191dbaadf143156dfa01e99e05dd66fd209022028a8652024329b910a7cc0d681128b6098a9961f866ee987a7186bcd5654f4a20e0a6f163d6465fe0d31e80fa14330692a1ca642b4f6c66d21a51fe880617db46756e6cf9b00c066eb7ff3d74dca4a53315640b6a3262c36286690681ba73e7137aeb8ff3b952c9b57b8026c8950b0453057af8888e55440132473e +ss = 28b44cb0820b37d6011e5d42c1f15f381d29d5250114c63453087b255dbd6ce4 d = cd6a99396eb3539ca663a51e42063a3a262cc1c5a5fce1566f0597b52ad9fa32 -z = 5a3407f591791a5db4578b5972093a95bec3b8e70c1d542c9b5c9789729f8922 +z = ac8557eb61a3d4a2400d3a604092cc3b92032f4d3b563f3d4aa19387eebf2a76 pk = 9e686b49d538cf32a05ab82372f7525df40085b3413f078226b97c234b815ec615b2683f1d9ab32dc0314c6cce6e9620c8e73b1dc85bed5205cde5a44f40427865a62356ce44751c7278a3b236bc2d208c7b383129661810a6a2962496d058ca4875ad234c2df951612e665984bbae791c279ee835b105202d4751f1a330dc6b0bdcc38fdd6458b0ca7a9bda026bd64e80868b87b58ccf2a37ca94cb06279ee77a6731e847487142561863b5f38c5aa4c0158ac28e95012c10a8b8e99ef7db12c05009311a74791c6c8b355e4a861dd3cb6fa085884d7a7e8cd270f656ce29f9bf3b91b798032c16b00f8cd722a1cabfbb25c3002324c56b66df87182504581a76297ee1181cf05a6d89698cc94021b16574264435f2cb137a7a667a4548c96f835cbbcf27805ae37448674aa998818cf26d15a63689777a9b98219ac3b9ecf84203826eae294800f5a07ffa886cc86e7d095f42c471c121a69a1972a7906abbd31003f6c8c0d07ef481b55fe185811084d9a472ccbcc586b6a9a6f24d269ab36126a3f0381b29532d027c2d5e21cc5b9c6ec8303e4b388a6b7216b3e581c0566558107c8b94c599f09c2ecc4b7a824fa3db9a29722317d5bc5d43827f4bc6d3a91f65dca56bc26de9d40bf2f69263cb010a9a24a749c931631ec2d13ea4d5136aa8a97ee019ae1291ea34b0807886ffa323ad3b0f83f82e5d9a2d748945a3ca34b9535d0460a6f734bbeeb66a4e3c257bb079f5d80f6deb0dbec130fe4a182fdb16291403f37a191c381723965c3fd90d9f2b67c36ca3ac141030ab516a01453532aa06b73a91b5ba7d1a308e286fced38f2858801022a453320a857b564179c55f0436b25cb191865de69877b47041d9d0c2c9bc42ca513f207a72ea9a5cc48b573fb402ba8b5ae6d73f2e0b044b8ca67c1031577099b9975fad7103c7f6bf80099bb51138d8a7af7bb509b761a9c6407dd9826b7ff87879098248d779d6f26aa0215084f286ac77c50849ad19f29a32b07ef517000ff71799d6be1d177508bb969d9479c6c037a5a18bf4302720e240dfa603b7f8745144906bb88522505b19336bee5572188853a47b4f8ed8a040b251307299be642e086317e1504784990f2149cb2d89b1a8542e4a19cfafd57ade9a234545142afcb3e544b49df75b0cc78f5aab935752746ee7a7f7936777330a66c1063c50becc4286a3db4aa66cb602553849b5baaf83965ac6bdb19a9e5db8251de0267ea3c0eec342b51505469aa7fe936a5829463892645438a3a182859da136e033b926695421a1891610816e136dbbe36adc08cf00e4b44649410b2a11ef254144c27787e54cc5a533e8e54f11ea94f7e9c2009d25a6248321f04a53c31787c12aca9cc78fcc06b161701852215bc6c29d1779f5c183152cacb583a90399746f75c5bb337f1b580b9029b112579884f792ea5a52187a109f547cda89b7fbba90c66065a33423da4515d13bb5ffa074aadb0c55119065a51239511bb33288f994b121da8913992b979a59bbd64036968621e76ae336096fd6125cdac4f767a883e6448b078dc04b1f2b7aa49a1180c0f3bc65d2a93458291982652063419a9cb7f1042c38f483c4a90e17aca78e9fe10b44687f9aa606cae8888e4c21ab0f7b85eb3d3a2a3d2fe8ed883d1de0 -sk = ce732e28b21f42f2bbd1b049e6b80264b218b581cbab8c9186e325f7617895e6320fe5c697fc3b82546681b3ca5f4a52f1f7501b652f86d35ccb9756e869795c166362fac89c7b5ad41c7c74c596e2a7458e419cd10c10c890c94fd3564aa25f1ec3a3282607d8b1864022cdccebb1b1e48961207e29264a9ca86c94b71d5382c9c6b8004c818f51a52006706285bb3281618a157c80c2c00905c33316516c17f04460124fd79a1c330417984220334c84d96a66fc8a5556814c58f7826ee86f17319da3f504f0124c3f06ca50792c1e1800feea8a8e8805a54bcb90c52eca144677327f5058cca151617f443dabba304b353f4a5caabf0c179a772582711c033b3f3c1225f191b887d8294fd18914850de6b194b91c250374963bdc7215b07cdaa8001372a21f0c3845979386c27949e0bbedc0b004258866a01ec5cb82fc751ba2f4510e514a3fa09b6aea7e5e45762076b81d781c2ba91dd6f40cf13c91e947a7d7abc2a2aa91a1404d87462b42aa71eb15209a9b0d4990c2265b051163cd2ba8319576758237482f500f7e94b3ff099616225737a766c10b6aeb213b5b073eff93c3ac91bbf2b93ff47c84d7ca2e794990e2db4a7e9ab19cb50cd522427e6a935ce3976490b21792cce5e4b971668c4793ca4954b477703730411df1f5ad2557caef78c914d0c223d836c407936ec58825f3b2a1925a5164b097a94a13d8ad3a27bf1ffb0c08c72b92215cb1b67c7d2c4a7bc7a6a8a054d2a34de69c78195bb149e4b4cebab78f41612db19540385f2f74757c662c2da3c7b03a34a9524e2ab90f5cc21fc0d2ad84bb996e6c73426770ffc1c9942cc22aa2934d97a66037a18760c51b0236ca1b1880a2286ee5241ffc220a4c6ec0e296090874b3ca751dd701086a15f419c67eb4514744047d7848980c036107586d36818e74ad98989c8c02afab4134ee0b545ed707876a613ffa10be7c3f10b758b215827ada9fa1c83b129c6bdc5b621d3a5da7f396d6e29b184a38d8091b6a2c288ee2cae833a68a3cb6b30bac5ad7567c788d8c803a7b622fbd8a253b274b93593115b5b7a5282eaf93706c88c178bab897b7198c23b844219852a60410e8afa85c902edcb9a5e87a31ca84ac6b89a75830566062bc159cb129277af0645d5817c8822e384040f1621d66d41643897df21c1013cb1b426a703f120f21c780c67bb011fb3e8cb746c0b14c9f847dc1235f72e6bdfda1c55bd26e377395c4b17b764a41e0f7312782bf71820dd379befe58901a011fadac1efae549e5933aa9f9c64ce2273c486b56251674d56212c0ad7637854c7b8447a135fb960ffc435ac7553dfe935caa98bf32186817b5adb42375e96c30d0a96df39658ede95912946813cb75cc32b395aa73a916514533857b4c3405fc32c2946cf4f4251b2091b6cbb00ce296459c45e558b5048b79cc4cb8aa01bd7e82320637a62e2038d5b3c0593b42d32a38be8312ab022ebb496a5fc4a991a1baeb660a23988fba329a79dc7144d20b5246466f25af4ad971014970ebe2b36316b86b3585f6b0753711a0bf3952c688b4cf6c8a24c0964cdc1f5c1c34b3c28359ba232840063ac30bdda83f0611042fd8b7c2bb439e686b49d538cf32a05ab82372f7525df40085b3413f078226b97c234b815ec615b2683f1d9ab32dc0314c6cce6e9620c8e73b1dc85bed5205cde5a44f40427865a62356ce44751c7278a3b236bc2d208c7b383129661810a6a2962496d058ca4875ad234c2df951612e665984bbae791c279ee835b105202d4751f1a330dc6b0bdcc38fdd6458b0ca7a9bda026bd64e80868b87b58ccf2a37ca94cb06279ee77a6731e847487142561863b5f38c5aa4c0158ac28e95012c10a8b8e99ef7db12c05009311a74791c6c8b355e4a861dd3cb6fa085884d7a7e8cd270f656ce29f9bf3b91b798032c16b00f8cd722a1cabfbb25c3002324c56b66df87182504581a76297ee1181cf05a6d89698cc94021b16574264435f2cb137a7a667a4548c96f835cbbcf27805ae37448674aa998818cf26d15a63689777a9b98219ac3b9ecf84203826eae294800f5a07ffa886cc86e7d095f42c471c121a69a1972a7906abbd31003f6c8c0d07ef481b55fe185811084d9a472ccbcc586b6a9a6f24d269ab36126a3f0381b29532d027c2d5e21cc5b9c6ec8303e4b388a6b7216b3e581c0566558107c8b94c599f09c2ecc4b7a824fa3db9a29722317d5bc5d43827f4bc6d3a91f65dca56bc26de9d40bf2f69263cb010a9a24a749c931631ec2d13ea4d5136aa8a97ee019ae1291ea34b0807886ffa323ad3b0f83f82e5d9a2d748945a3ca34b9535d0460a6f734bbeeb66a4e3c257bb079f5d80f6deb0dbec130fe4a182fdb16291403f37a191c381723965c3fd90d9f2b67c36ca3ac141030ab516a01453532aa06b73a91b5ba7d1a308e286fced38f2858801022a453320a857b564179c55f0436b25cb191865de69877b47041d9d0c2c9bc42ca513f207a72ea9a5cc48b573fb402ba8b5ae6d73f2e0b044b8ca67c1031577099b9975fad7103c7f6bf80099bb51138d8a7af7bb509b761a9c6407dd9826b7ff87879098248d779d6f26aa0215084f286ac77c50849ad19f29a32b07ef517000ff71799d6be1d177508bb969d9479c6c037a5a18bf4302720e240dfa603b7f8745144906bb88522505b19336bee5572188853a47b4f8ed8a040b251307299be642e086317e1504784990f2149cb2d89b1a8542e4a19cfafd57ade9a234545142afcb3e544b49df75b0cc78f5aab935752746ee7a7f7936777330a66c1063c50becc4286a3db4aa66cb602553849b5baaf83965ac6bdb19a9e5db8251de0267ea3c0eec342b51505469aa7fe936a5829463892645438a3a182859da136e033b926695421a1891610816e136dbbe36adc08cf00e4b44649410b2a11ef254144c27787e54cc5a533e8e54f11ea94f7e9c2009d25a6248321f04a53c31787c12aca9cc78fcc06b161701852215bc6c29d1779f5c183152cacb583a90399746f75c5bb337f1b580b9029b112579884f792ea5a52187a109f547cda89b7fbba90c66065a33423da4515d13bb5ffa074aadb0c55119065a51239511bb33288f994b121da8913992b979a59bbd64036968621e76ae336096fd6125cdac4f767a883e6448b078dc04b1f2b7aa49a1180c0f3bc65d2a93458291982652063419a9cb7f1042c38f483c4a90e17aca78e9fe10b44687f9aa606cae8888e4c21ab0f7b85eb3d3a2a3d2fe8ed883d1de0ee044dbdf6787ff038dbf9c133557169c62fc1ce2580739369aa87df00b496485a3407f591791a5db4578b5972093a95bec3b8e70c1d542c9b5c9789729f8922 -m = 155c29c5f0378df0cd0e847a80a07143cf7522fcd880c9229eb9feb1ce340cd2 -ct = ab24a548b90ef59f7595d625b44e8a9b3cb8ee09a1ac6213b709b1cc1833b6d3e3ed145524647d33c527f0e7052df7fd94c2b1ebd99577600ddd3266100218ace8c5aefbbbb3c045c5440aed44856616c5a4456d28a304d3d00b51ea20abff1e0a1c671bade1e8be2e3bb9a41f1c73612803db0ff713b5c717b9bb751f750c1ff6310ddc3b25a012f3902a6bef8f2e7c3b0efeb6c8b267e1bc9152d48f53591cbbb2010e5d40e778368b9e7e8abbf52bcfd5b61e4b2e84e8cede9fe87cc14df8890fba78466246888dd36d71742050c8271261bed8199b5d4c7c341f5e34673e47e58f42aa3f9d28ccdb1de32a7c6e6ae11c346ddc6d7a9b4e1384e85a466711b2f5a5ffceb0d00c4f10c8b656a878cdac8d1738b73e003dc44fad15aa4e30819c98de28883e02e501becccba97019d18ebb0565cde8784f0210a9e6199c55a60ae87559a6104662cb9631bfdfd6e3a7f9fe3d7d542c1d01520984455947052c0c9e8c985c0f247ce9fb8c0d8f2e5ebe09bc6d06d1a1eeb2c97cad3f557cfd8723d2c3d036f1ec38cdbad6006a6b0002defc9e0599d9950157324a3045dc616786ade0a56e6378793938485c69411eb7ad38267c02e44dd902e8c242c139dcc336997da91d1659c4582ed0021b4e14a4e77dee7803b927b8c12383911461794718355c74f366968ee72289a8aebcd3bf800f9e91c83f22f6d59d372134ce5154e29385ca973e9bba04cb674f8c87d4dc29386144f577d6b177791cb28de72cc33226b9003e42eb040c635c80305996a303f8aa82b6da9bea52fd11618f9d04b00d5a1540d836829fb363ad62f63acf4ee550b09f665a62cba6afaa9509e5ab22c02acc0470b144a110a1d497ee5d2a764cad986f7f96f3bbb4156c7713784d5d7f343f9d4fbb9e7f75114e5c60efa58db8499ceb533b4b9e50522364ba540aa3071c80e5fd3139c64db8279058bdaa72e1515e483609b537a5d524a766e2914f45875d08f7be6cdbcc08c9357ff06f897fc3a17db8341c8e2b1d63de212e512a51d60129a1375fc9261fbf5d8cec9252331d75f7a4d180219ea5a6bc18e8a612042639a8b33879f2f8073c23a5b8a983b131193b734b66547426541adabe13990035bc87a780141972abd4f98559a6d92b9a605d7ad4f00b8d96f3a4eea619d9f45d4c2f834a00064cdf2c58b51a9adb542cf8051b73455be9881e5097ca9d6f81b0240012a4e55369a056de74c277b5a0915417a5eba7a572a9b81121b4057f9a50c94191a446844225860096bffedf8b7aea605f193cd60ccd0a2697d8f8dea9262a3c5d89e8e94e2721a359364fe1b08245ebd344040746665fa6ec5d2b9d113eeab5cc42450b5330a232d928fe674d53166416e0e8179100e421341ddfac2e0e5a80fe51a6c6e8f044df8eb5596809774ccac4c255710efdff2d4614ceb463bccf6013a74e1f22760a68ad214a1f5b6952e1935dbcce1811ee19c2cdf8fcd3d38f7b6c6533dd9de19b67d917bae686bd9a9a30fef043fc8c9055ac8b6dcf -ss = 3eea7528610dae3539f5f81efd9beedda4d45ef0b9ff91d3d4f3561b4981d286 +sk = ce732e28b21f42f2bbd1b049e6b80264b218b581cbab8c9186e325f7617895e6320fe5c697fc3b82546681b3ca5f4a52f1f7501b652f86d35ccb9756e869795c166362fac89c7b5ad41c7c74c596e2a7458e419cd10c10c890c94fd3564aa25f1ec3a3282607d8b1864022cdccebb1b1e48961207e29264a9ca86c94b71d5382c9c6b8004c818f51a52006706285bb3281618a157c80c2c00905c33316516c17f04460124fd79a1c330417984220334c84d96a66fc8a5556814c58f7826ee86f17319da3f504f0124c3f06ca50792c1e1800feea8a8e8805a54bcb90c52eca144677327f5058cca151617f443dabba304b353f4a5caabf0c179a772582711c033b3f3c1225f191b887d8294fd18914850de6b194b91c250374963bdc7215b07cdaa8001372a21f0c3845979386c27949e0bbedc0b004258866a01ec5cb82fc751ba2f4510e514a3fa09b6aea7e5e45762076b81d781c2ba91dd6f40cf13c91e947a7d7abc2a2aa91a1404d87462b42aa71eb15209a9b0d4990c2265b051163cd2ba8319576758237482f500f7e94b3ff099616225737a766c10b6aeb213b5b073eff93c3ac91bbf2b93ff47c84d7ca2e794990e2db4a7e9ab19cb50cd522427e6a935ce3976490b21792cce5e4b971668c4793ca4954b477703730411df1f5ad2557caef78c914d0c223d836c407936ec58825f3b2a1925a5164b097a94a13d8ad3a27bf1ffb0c08c72b92215cb1b67c7d2c4a7bc7a6a8a054d2a34de69c78195bb149e4b4cebab78f41612db19540385f2f74757c662c2da3c7b03a34a9524e2ab90f5cc21fc0d2ad84bb996e6c73426770ffc1c9942cc22aa2934d97a66037a18760c51b0236ca1b1880a2286ee5241ffc220a4c6ec0e296090874b3ca751dd701086a15f419c67eb4514744047d7848980c036107586d36818e74ad98989c8c02afab4134ee0b545ed707876a613ffa10be7c3f10b758b215827ada9fa1c83b129c6bdc5b621d3a5da7f396d6e29b184a38d8091b6a2c288ee2cae833a68a3cb6b30bac5ad7567c788d8c803a7b622fbd8a253b274b93593115b5b7a5282eaf93706c88c178bab897b7198c23b844219852a60410e8afa85c902edcb9a5e87a31ca84ac6b89a75830566062bc159cb129277af0645d5817c8822e384040f1621d66d41643897df21c1013cb1b426a703f120f21c780c67bb011fb3e8cb746c0b14c9f847dc1235f72e6bdfda1c55bd26e377395c4b17b764a41e0f7312782bf71820dd379befe58901a011fadac1efae549e5933aa9f9c64ce2273c486b56251674d56212c0ad7637854c7b8447a135fb960ffc435ac7553dfe935caa98bf32186817b5adb42375e96c30d0a96df39658ede95912946813cb75cc32b395aa73a916514533857b4c3405fc32c2946cf4f4251b2091b6cbb00ce296459c45e558b5048b79cc4cb8aa01bd7e82320637a62e2038d5b3c0593b42d32a38be8312ab022ebb496a5fc4a991a1baeb660a23988fba329a79dc7144d20b5246466f25af4ad971014970ebe2b36316b86b3585f6b0753711a0bf3952c688b4cf6c8a24c0964cdc1f5c1c34b3c28359ba232840063ac30bdda83f0611042fd8b7c2bb439e686b49d538cf32a05ab82372f7525df40085b3413f078226b97c234b815ec615b2683f1d9ab32dc0314c6cce6e9620c8e73b1dc85bed5205cde5a44f40427865a62356ce44751c7278a3b236bc2d208c7b383129661810a6a2962496d058ca4875ad234c2df951612e665984bbae791c279ee835b105202d4751f1a330dc6b0bdcc38fdd6458b0ca7a9bda026bd64e80868b87b58ccf2a37ca94cb06279ee77a6731e847487142561863b5f38c5aa4c0158ac28e95012c10a8b8e99ef7db12c05009311a74791c6c8b355e4a861dd3cb6fa085884d7a7e8cd270f656ce29f9bf3b91b798032c16b00f8cd722a1cabfbb25c3002324c56b66df87182504581a76297ee1181cf05a6d89698cc94021b16574264435f2cb137a7a667a4548c96f835cbbcf27805ae37448674aa998818cf26d15a63689777a9b98219ac3b9ecf84203826eae294800f5a07ffa886cc86e7d095f42c471c121a69a1972a7906abbd31003f6c8c0d07ef481b55fe185811084d9a472ccbcc586b6a9a6f24d269ab36126a3f0381b29532d027c2d5e21cc5b9c6ec8303e4b388a6b7216b3e581c0566558107c8b94c599f09c2ecc4b7a824fa3db9a29722317d5bc5d43827f4bc6d3a91f65dca56bc26de9d40bf2f69263cb010a9a24a749c931631ec2d13ea4d5136aa8a97ee019ae1291ea34b0807886ffa323ad3b0f83f82e5d9a2d748945a3ca34b9535d0460a6f734bbeeb66a4e3c257bb079f5d80f6deb0dbec130fe4a182fdb16291403f37a191c381723965c3fd90d9f2b67c36ca3ac141030ab516a01453532aa06b73a91b5ba7d1a308e286fced38f2858801022a453320a857b564179c55f0436b25cb191865de69877b47041d9d0c2c9bc42ca513f207a72ea9a5cc48b573fb402ba8b5ae6d73f2e0b044b8ca67c1031577099b9975fad7103c7f6bf80099bb51138d8a7af7bb509b761a9c6407dd9826b7ff87879098248d779d6f26aa0215084f286ac77c50849ad19f29a32b07ef517000ff71799d6be1d177508bb969d9479c6c037a5a18bf4302720e240dfa603b7f8745144906bb88522505b19336bee5572188853a47b4f8ed8a040b251307299be642e086317e1504784990f2149cb2d89b1a8542e4a19cfafd57ade9a234545142afcb3e544b49df75b0cc78f5aab935752746ee7a7f7936777330a66c1063c50becc4286a3db4aa66cb602553849b5baaf83965ac6bdb19a9e5db8251de0267ea3c0eec342b51505469aa7fe936a5829463892645438a3a182859da136e033b926695421a1891610816e136dbbe36adc08cf00e4b44649410b2a11ef254144c27787e54cc5a533e8e54f11ea94f7e9c2009d25a6248321f04a53c31787c12aca9cc78fcc06b161701852215bc6c29d1779f5c183152cacb583a90399746f75c5bb337f1b580b9029b112579884f792ea5a52187a109f547cda89b7fbba90c66065a33423da4515d13bb5ffa074aadb0c55119065a51239511bb33288f994b121da8913992b979a59bbd64036968621e76ae336096fd6125cdac4f767a883e6448b078dc04b1f2b7aa49a1180c0f3bc65d2a93458291982652063419a9cb7f1042c38f483c4a90e17aca78e9fe10b44687f9aa606cae8888e4c21ab0f7b85eb3d3a2a3d2fe8ed883d1de0ee044dbdf6787ff038dbf9c133557169c62fc1ce2580739369aa87df00b49648ac8557eb61a3d4a2400d3a604092cc3b92032f4d3b563f3d4aa19387eebf2a76 +m = 96fdac8ddcc219f5abacd5f20fefeed980b40339d4147c6a066d6b6d67458760 +ct = 7b53422191b607b546c53084eec63363b4a8282e2f8c3b2f2e0df6c73c9c292c03d6a7328e705f29e510366e058e05d78b495a9d4718e978e0cfe2463917864ac146a971644712cb96391cde7a55deb140a69b145cc9e1e974831f7fcdfffdf91bc8d00b947d32b63ba87d02c74e2406c2f0220706492ca6dccb8f67c97cf0ee8a2cd6c39746748ebaa862f63006281b0bde2ae508cae33392a22309712aabe93e30be0c8b8327cb299e8eca6cffd484f1c75e47e546876f4332610a30eda4c394445b3e7ea5e455566e6e3d55ee4d35004877bb01aa1e9adf7ab2d0785b91c002bae2a4235a07a4e8acc0d7371e779d266867bfbae9ed4f5c83f5bd3fd3ddf88542d3b8fe8ba6a7695b28e9d48ce7af62f1ba08f82439c5ffcaae5f49a70a6ce1f4ceb55ed3db04441f9d549da0d777c21621a49f1bd1d264169bb61f2f19167bc8fff32684fbba79b42fb1b0d22e9200ff677cdaa7282fad209848f7014519c2984c8e8b19e9370d1a93ebdc12b6bf6d48a10679cd4cbd4af0763a6506fecb223602af8a2aedf17f61a32094a3e58dba1055ae1efc959f035a1ee637a1d465c47439ec2d75748461f79ef081b5b76c48667d4c96d85b7d6e8f4d5d8577ea6143fb0721a9af3e54c11aef42dc387087b150069735d4448631c68d84c683002caa4f0aeb3d02194837efced022c1755d27aaef19240fc88a53323fe99e112b04bc00846641614c2f12023ac48f5093787e498b8e3e3ec5239dbd2dd038fc99585e02f85bb67cea98ac89da62cb1e83918dd2a986fcb6fefa9c5d0f65560b197f217aad88298c333ff6ba5355df716dd50b68e598023e2c24093a93249b9531ac13fc5fd1c7b11a5de8deafc3d5e1d2102868f2e1e6c12818cf7cacf2bf330977e4ea5c8d951b0a4f64370a8862593b2db8ebb4348b7f5d9805599512efa26ab5ef2c1373de2dfcc947170000d6366118d6697f194b0f1e8d86fb21bd6d12c781a61b8e32682ea6bed20c25cfc7023603fa6be27f3cc2357b2c2bb514e3f7ed083da1901e067cb0de79be0eb6e9a714dbd6b63da487ffbc91e329919c1466a99a2362e34d1f99c35f73d52165e9d4138efcc39930a93ddf62ff4d1caf06256b5af8c8d81e14c0ae50b00c2763bb0d4765a97c4c782cba6beeb6b12244a1613a44e7c55c507642dbfbe7816ca1a873a816d4b1f94a1d80827f7dbeb6169c7c7178632370640e1675dcf735d8973febe64c41ca449170bba575ac4d77a2a8edda54570b796de1c21bac638f99ca5930f385f6ae632b8ad847c43a359b571eeb06ed78e4502629253f3769164e004be6e5b7e4d8679ae19d7f3bb8eba2d2ca36302759f087a84efcc4be902904895e0d9725f97db0cb3bacc71210137f1fb625c0421d3ea63b0ae888366e376bd1f3ddbe5db693dff2e998b752cb97cb3864e23c7cb2b67448c151b5ed1b8a78bd58bb12390fe2ad206550f327b9c3ceb8f1be50fcb8d7fb827279a9f1ac0d714bcb710834225b7e6b4d53cf6a75c4c282031225ba +ss = 6336970864cd8a6b3674bdd3760c6bbbb9bfc3344256f4e7a789cf8be4c7c2c7 d = 6c8c53ed6f65e6b2e324b84364e10de42d1c26a106d4d1c99eee79c78586fb55 -z = b9402bf02481ce4b27a52e87feb92c4399c7f2988d40e942e7496ad15ad2aa88 +z = 55bdb92f28d0393c0f7850c7f6c371bd4835d6db61c138b0faf22854466231d8 pk = ecd4c65cec93a9b26efe3b667405482e3aa37d48aeea67c1698008da4b68683697dfd34fd72a6f39ec0aa0806ea5c59b4554182f6034b9c5b7cb438e21a14774d58afab0099e478a4ba8568e192c71db7c208b7115d29bf649bfb3d23c2d70599682c549ea28dc16597a43aa6e65c77c432f554b067a64ad62ab71492a1aad6045677c74e3e8773fb8665259abd821bf07d2157c09199435bf41992628534daae814ee4ac64ad89ffa1547442b8cf6f54664c550da5cad0d828174805da5d66f01e584789992bf0a4036d770b6c5b3e21b78f5da2467db42479b478f0570d48071f028110f555857e4acb555b9c7d5b5d913b75d5b393bd4b9b2c12d34027aede4a22fd80abe26a9c93c938c6b1348708d1bda7fe6c55bf66981695487ab81362f50b7376c6a52cc39769b921f575e5d7a9666abc2dd9459a5595e3ad631a0c638c3a2181b649704748141394053849b4f996f9b8a68567b73227b8c9e4588ee4a13b75379d2776a7510abb21941c2b36357e8248686a5d973b946b82e40802290651a073636b367671c9c001ac91ad03b9d6e83721ae1247cc188fc05b0249571656a276eea09b6d3376c208335618b1fc2748655ceef805c39165d0ce9bfed062add0c0a50e43167c80e5301a076c9cdc1f13852a5987aa3cef5e5864a706b3de947d2ac8e8cea0c3f83745bf3185bac9fd0162510f70bd20129d7c5215026114c4b5ef044a8a29a3f01fa02a0a3ce928a65ce8cb566848110994e7ce20ea5c30304d6ccbc7477bb78b3ec527758b7828b836dbb2742af6095a0bb882c2c9d8e162618029c1fb5aaf4b963fcc4a35ab78b0d9942fbdb53d4684ca85218dc27678719ca0d4a8cd8e9bcaeb944b7c0670ab171927c56c35034ad92bb3e6714d0f7c137c2b9a1fc5b72367c35c55d5feb93d1274b88bc558158c5d478c34b68240ad193e95c0311aa501b3c1c44b20ab6ca2d2de1c56b65618ca53f0e91550851bfbc289206d1406b27047fe610ec01a86e8ba94516aa926b99879836dbb27a7056c4d54bbd19a44096d1b3f3e9956cac29e7ab95f175b9d9a0078da633f10a6fee899f400533f0f77102da19fb02610003674828758e23b5ec724c6829b95b8a6750f1988f431e7537ca9d05701ac8ae2034688082c5c20a122c6349db27ab958504fdb4c527b223b2420db7246a4a69b58085a3c1e6997db19fe17a2bc23bcd60b924cc393ebfca864da054ba38bb733b00fdf57ab147b922278fb132c5f5774bfe368dc2b66583790d30d282a248b7e9d43a562ba1892a985b75a7aff961762a05fb35b9420905bb8c4de00a3846e38ca7d71411e89f9e2c9489c597834c7a5315080130648f5347639184f315bff2d580ffd0227c9185adf9203ed50baa43a9174a7ae9b5655f2245a15c30f877bb7dcb2ec184138792738113895a980dca31baf6b5261e10a1d98ab660c066bcb05ac25429775c3bd1550d4a823fc96442cb2770751c812ce67613e48bfbe66a0fdba909317513220ebc3c55fa1364f318812199009af24f9f70c36f81b22b20be53208f0dc44dd3b6abb7236e1fd37c53fb1ee8c86810863a86b0029a58955dc73ec8a436112b5c3a75ceec356bbd91355e4c3941a07e45ad3ecb9ae67e7527f70f6e07a757bd112947074d5120a1f2a1 -sk = f76c7d8002b7ca65bfe6a59aa3645a8e51afe5fb80145241134cc072a60ad4b72d80c2bcbe1630eeda661cb62e01b0798203a1a287c4b8f725dd422beee6627c864149ebabd84280739193067a2348f2861dbb7f1a0914ba2bb3ac6c80d5ca1f483c8b86c1cf5a2c3bf8f6728555799381a1b1f3cd02e445cbe798ac0361e15335380051294667b9149f38d85a1839ae43d331bf14091c4accbb24c8e8105a9d1185ba880b7e13cd3563aa235b899e7509525280a37162c043b089d5a0bd48b225ebb2d0538f49c8ac3c3b0677d8093cf70b3404016b4686d653ce4715a85953171bb937f5a1916271ad53318e8155269dba4d0a520d057963e70cc01e680fe8408d03d3275c95a2c528190924749bc32dc31b21b58c6f5e4b59c157cab7653c0d146dec9a3f94e241993b09bd62446f35ad7772279e116464fb316db8449a3ab7525b3e89b12b54f14fb19057c39510b072894831a5747782d404487926ad756b1bf81cb416d94265dcacea475fcdaa727d0b5f01b376250b123f717fbb0b1976b7704fe5ae5ac10cd17b87fa8bbd3d824d3b91b567b5c20243677d741ae2cb1c1d049a842b7f9da9cece8931851bb35776caed97c27d395108e42661aa60cc181abb2774c67773fb29b445f3554d386c87d489d895a43ef268af0c81f6065e57e744f719120323b013d35801e26bac2700968566512106f5161ee8528372d45a42b41022239fb0b3cd23c4251927b355719a1f2a0689a4abc508660dbc282706b765ca4bc1887fd064cf8285b1155863e15b112bcbb1962255b362ce8fa4c51c97cfcea7004daa9f746766f2f5487c93b99ee9825cb78ab0a98bf6863a083758e9279245e495ad0a5b86724c1adc3e67d756c1c8647fb4ba32b75a6da3a05a870fc1e12cd279666ca046e064a74625530e742efc72c1d5f959c9d256389c4c63609fa11a8fb5e70e1e2256c8164d80c69fb8f4008a647af7f3ad960265f55cb786e8726b65689a6a751fe045b7d45aecf50605d135a44793ad2c6bba5a59d293528bd94d65f54bae4798eba5b26de8b225728eb8836ad1f373f66a2134b8b429a8457b600c5a3274b0157f66f091ec88436d5667802a15749b4c9c499a36c58fc5a7ccc10a604ed00de74bbf433502c02ab0ed949f5da8b9efb83c4a2395e49413a7030f4f95901e8aa2716a3ebb09aaf61c9384586021301de0f8c085421460a10fdd176c68b4c115c91dac04121924213855ac22e8c98e3643c3d7c3b6c6c4ca964308510525c5aa00c32ad9ba258bc44a9f521a2873bedaf7c56bfc26a320c0fe95cfbe12c0038c1a65b62c18c37e61a2b9194c9ec1db8b9fd036c7c3a620b5c661d8ab0b46a6cd3391e53218e40cbdb082c2207630c2715541b10e3c395bf2a5a15ae8b506880dde937432ecb150f9b3c136881058a750024d9b247232b7289bd07462c051b7ba599c985c6eb08c7ac22135c99e85930113554c59ac06ae298d5935658f513644b01132b4c1ab84677e342a1f4a8a9d5c6a44659805cc8898e563823c8286d54a1cb4b8db866a8f5c74f782784e4b6fbad380c5131fcae11d4ec89df82490b4f1babd4673d7417b9cf04513718f2cd0cfc29707145034ecd4c65cec93a9b26efe3b667405482e3aa37d48aeea67c1698008da4b68683697dfd34fd72a6f39ec0aa0806ea5c59b4554182f6034b9c5b7cb438e21a14774d58afab0099e478a4ba8568e192c71db7c208b7115d29bf649bfb3d23c2d70599682c549ea28dc16597a43aa6e65c77c432f554b067a64ad62ab71492a1aad6045677c74e3e8773fb8665259abd821bf07d2157c09199435bf41992628534daae814ee4ac64ad89ffa1547442b8cf6f54664c550da5cad0d828174805da5d66f01e584789992bf0a4036d770b6c5b3e21b78f5da2467db42479b478f0570d48071f028110f555857e4acb555b9c7d5b5d913b75d5b393bd4b9b2c12d34027aede4a22fd80abe26a9c93c938c6b1348708d1bda7fe6c55bf66981695487ab81362f50b7376c6a52cc39769b921f575e5d7a9666abc2dd9459a5595e3ad631a0c638c3a2181b649704748141394053849b4f996f9b8a68567b73227b8c9e4588ee4a13b75379d2776a7510abb21941c2b36357e8248686a5d973b946b82e40802290651a073636b367671c9c001ac91ad03b9d6e83721ae1247cc188fc05b0249571656a276eea09b6d3376c208335618b1fc2748655ceef805c39165d0ce9bfed062add0c0a50e43167c80e5301a076c9cdc1f13852a5987aa3cef5e5864a706b3de947d2ac8e8cea0c3f83745bf3185bac9fd0162510f70bd20129d7c5215026114c4b5ef044a8a29a3f01fa02a0a3ce928a65ce8cb566848110994e7ce20ea5c30304d6ccbc7477bb78b3ec527758b7828b836dbb2742af6095a0bb882c2c9d8e162618029c1fb5aaf4b963fcc4a35ab78b0d9942fbdb53d4684ca85218dc27678719ca0d4a8cd8e9bcaeb944b7c0670ab171927c56c35034ad92bb3e6714d0f7c137c2b9a1fc5b72367c35c55d5feb93d1274b88bc558158c5d478c34b68240ad193e95c0311aa501b3c1c44b20ab6ca2d2de1c56b65618ca53f0e91550851bfbc289206d1406b27047fe610ec01a86e8ba94516aa926b99879836dbb27a7056c4d54bbd19a44096d1b3f3e9956cac29e7ab95f175b9d9a0078da633f10a6fee899f400533f0f77102da19fb02610003674828758e23b5ec724c6829b95b8a6750f1988f431e7537ca9d05701ac8ae2034688082c5c20a122c6349db27ab958504fdb4c527b223b2420db7246a4a69b58085a3c1e6997db19fe17a2bc23bcd60b924cc393ebfca864da054ba38bb733b00fdf57ab147b922278fb132c5f5774bfe368dc2b66583790d30d282a248b7e9d43a562ba1892a985b75a7aff961762a05fb35b9420905bb8c4de00a3846e38ca7d71411e89f9e2c9489c597834c7a5315080130648f5347639184f315bff2d580ffd0227c9185adf9203ed50baa43a9174a7ae9b5655f2245a15c30f877bb7dcb2ec184138792738113895a980dca31baf6b5261e10a1d98ab660c066bcb05ac25429775c3bd1550d4a823fc96442cb2770751c812ce67613e48bfbe66a0fdba909317513220ebc3c55fa1364f318812199009af24f9f70c36f81b22b20be53208f0dc44dd3b6abb7236e1fd37c53fb1ee8c86810863a86b0029a58955dc73ec8a436112b5c3a75ceec356bbd91355e4c3941a07e45ad3ecb9ae67e7527f70f6e07a757bd112947074d5120a1f2a1e965ac6995d525e324e8252d8e2c2da909a29b24baca8b68daa5122cb539a474b9402bf02481ce4b27a52e87feb92c4399c7f2988d40e942e7496ad15ad2aa88 -m = a9cb9a61a3324b1ea5afe693b32784e2871096b2ca14a11acc9577c52359a241 -ct = 9d503732b866fd6cc6482f203fe35aececbdd76ba5af3887af66020597e9ed58eee4577f0a07623c03124574a8f263775c83df468839d2e5f17d5b21e811e0a80b0cbfea3e370762ac0c47e741c234b5a24e803a60c532b92b658d5e46244f96224b989e6ec2be14fd13a384ef64977d370b06040ad74d11ef41d126bb07cbbb5cb3cc1be087f8fd7f61b8b8935f515207a26ebdb29dcad93ed2159926093097f402eb6a2d4dcc96b7f354d3b46c514cad7230d0a03ae48ff492cea84b35f5086a2bab86e37be1080950674facdae004ce59858e2a2d9df1d83a3e8719d057848a081bc262559de7f0d30fd2193788caba528cd3145465f3f1703d1955f87a896f114213752f389170d6b9e3b45bc4d8cc25a09d35d8c182766a97419302acb59b18959f68cbe30572cd507d32280b9b3dd03e08f7f912dccdf6465541fc1776b76e884ea1a1f0b6e7b44326f1c984972ab1fd82d1a095d3f8703f26d15a8fde507e99100fc4204322d4daaf774ca4ce9a470d560afd097745aae98402b1e8e5c0485620f2996e4369ea9b7d91d66a29ab0e8980ab477e6732f267efab52f24d1d19119b82fb1ffe9dbf3d77a0cc9ce84729ccdcd5b27d4321b23b1e9fc40f443ad753c0b876507bba1dd7755914fd861e3006504d7e406bd8fe652e226d3b21cb7510f570cd1eb1bfe43555886e29ae1389c0791adbc762effca02553d7026a3820dc6c0de0808fced176bc010b0b91dede1a6770833afcfe359e4228d04920870e20dd9892d0a5340c93c2ee86115244a43635db46d28ae4982c3cb8705c250026c3a18da5dc2de6320dc4a4e40962ff78aa98b1c17f2bd49495663282e019982423db6388c972b4540d7f4c26fc3037356011c090eb5aed0706336aabf252b879799bdc529cf75d748413bc2a499354d0ca2e47957e3f032c1c9b6f398c80468a03cbe6e1857c1ec3e6c046bcceb9d8417fd3e1c7bcca9a0addcacda0bca99966994f6234380b5e58163af74255d6a9ff8397493dd2987633a4a6c5ba61b00ff125c06a1615f993f660eb8ce966551586bb30794ccdec762c67843a68a84ee658e629aed04191c8bce6dbd7a112ffbc6a483af6d0a3f297340e6e9ebde6d73f39f4deb96fe0326a8d25ca7335938f502ba77ec126d5a2ca584c838b2166aa0dd926f645f7b4570afbbc7345f4ffac34588b54776a35f24474ff2ae8be60d7a31a415fa32f194875a0d2792df994e054378bf15d8502f8e2887dacba3fbc3fd17c7657de1d099f4ffa8250ccc9c6eff5c517b90b7c7035017732aa964a4a2941557391836624f8afe0d5482143b009a633092829612e6024254f1ef8bbb15b5a6b3644c9142b148c4c7337efded7a5246674e2739e5823c785a16ef4254b97f86ec3ebbc28b4a1161a66cdc07d3ff5a3fd1de52f00ac6ee6258821854943fc73b357b27fd154ead141b187f3b8a7af61c80d3f324c341f92dcf9f4962c6eb1ae5b0f0711fccb3e5aeb439e8a7c8f20a580ae50c1efb1f27923abcc8f2df1df -ss = c5e2f0c1ee4f13fa8fbf2d09a78b04a5e2069aafa978598f96424acbcf41ad44 +sk = f76c7d8002b7ca65bfe6a59aa3645a8e51afe5fb80145241134cc072a60ad4b72d80c2bcbe1630eeda661cb62e01b0798203a1a287c4b8f725dd422beee6627c864149ebabd84280739193067a2348f2861dbb7f1a0914ba2bb3ac6c80d5ca1f483c8b86c1cf5a2c3bf8f6728555799381a1b1f3cd02e445cbe798ac0361e15335380051294667b9149f38d85a1839ae43d331bf14091c4accbb24c8e8105a9d1185ba880b7e13cd3563aa235b899e7509525280a37162c043b089d5a0bd48b225ebb2d0538f49c8ac3c3b0677d8093cf70b3404016b4686d653ce4715a85953171bb937f5a1916271ad53318e8155269dba4d0a520d057963e70cc01e680fe8408d03d3275c95a2c528190924749bc32dc31b21b58c6f5e4b59c157cab7653c0d146dec9a3f94e241993b09bd62446f35ad7772279e116464fb316db8449a3ab7525b3e89b12b54f14fb19057c39510b072894831a5747782d404487926ad756b1bf81cb416d94265dcacea475fcdaa727d0b5f01b376250b123f717fbb0b1976b7704fe5ae5ac10cd17b87fa8bbd3d824d3b91b567b5c20243677d741ae2cb1c1d049a842b7f9da9cece8931851bb35776caed97c27d395108e42661aa60cc181abb2774c67773fb29b445f3554d386c87d489d895a43ef268af0c81f6065e57e744f719120323b013d35801e26bac2700968566512106f5161ee8528372d45a42b41022239fb0b3cd23c4251927b355719a1f2a0689a4abc508660dbc282706b765ca4bc1887fd064cf8285b1155863e15b112bcbb1962255b362ce8fa4c51c97cfcea7004daa9f746766f2f5487c93b99ee9825cb78ab0a98bf6863a083758e9279245e495ad0a5b86724c1adc3e67d756c1c8647fb4ba32b75a6da3a05a870fc1e12cd279666ca046e064a74625530e742efc72c1d5f959c9d256389c4c63609fa11a8fb5e70e1e2256c8164d80c69fb8f4008a647af7f3ad960265f55cb786e8726b65689a6a751fe045b7d45aecf50605d135a44793ad2c6bba5a59d293528bd94d65f54bae4798eba5b26de8b225728eb8836ad1f373f66a2134b8b429a8457b600c5a3274b0157f66f091ec88436d5667802a15749b4c9c499a36c58fc5a7ccc10a604ed00de74bbf433502c02ab0ed949f5da8b9efb83c4a2395e49413a7030f4f95901e8aa2716a3ebb09aaf61c9384586021301de0f8c085421460a10fdd176c68b4c115c91dac04121924213855ac22e8c98e3643c3d7c3b6c6c4ca964308510525c5aa00c32ad9ba258bc44a9f521a2873bedaf7c56bfc26a320c0fe95cfbe12c0038c1a65b62c18c37e61a2b9194c9ec1db8b9fd036c7c3a620b5c661d8ab0b46a6cd3391e53218e40cbdb082c2207630c2715541b10e3c395bf2a5a15ae8b506880dde937432ecb150f9b3c136881058a750024d9b247232b7289bd07462c051b7ba599c985c6eb08c7ac22135c99e85930113554c59ac06ae298d5935658f513644b01132b4c1ab84677e342a1f4a8a9d5c6a44659805cc8898e563823c8286d54a1cb4b8db866a8f5c74f782784e4b6fbad380c5131fcae11d4ec89df82490b4f1babd4673d7417b9cf04513718f2cd0cfc29707145034ecd4c65cec93a9b26efe3b667405482e3aa37d48aeea67c1698008da4b68683697dfd34fd72a6f39ec0aa0806ea5c59b4554182f6034b9c5b7cb438e21a14774d58afab0099e478a4ba8568e192c71db7c208b7115d29bf649bfb3d23c2d70599682c549ea28dc16597a43aa6e65c77c432f554b067a64ad62ab71492a1aad6045677c74e3e8773fb8665259abd821bf07d2157c09199435bf41992628534daae814ee4ac64ad89ffa1547442b8cf6f54664c550da5cad0d828174805da5d66f01e584789992bf0a4036d770b6c5b3e21b78f5da2467db42479b478f0570d48071f028110f555857e4acb555b9c7d5b5d913b75d5b393bd4b9b2c12d34027aede4a22fd80abe26a9c93c938c6b1348708d1bda7fe6c55bf66981695487ab81362f50b7376c6a52cc39769b921f575e5d7a9666abc2dd9459a5595e3ad631a0c638c3a2181b649704748141394053849b4f996f9b8a68567b73227b8c9e4588ee4a13b75379d2776a7510abb21941c2b36357e8248686a5d973b946b82e40802290651a073636b367671c9c001ac91ad03b9d6e83721ae1247cc188fc05b0249571656a276eea09b6d3376c208335618b1fc2748655ceef805c39165d0ce9bfed062add0c0a50e43167c80e5301a076c9cdc1f13852a5987aa3cef5e5864a706b3de947d2ac8e8cea0c3f83745bf3185bac9fd0162510f70bd20129d7c5215026114c4b5ef044a8a29a3f01fa02a0a3ce928a65ce8cb566848110994e7ce20ea5c30304d6ccbc7477bb78b3ec527758b7828b836dbb2742af6095a0bb882c2c9d8e162618029c1fb5aaf4b963fcc4a35ab78b0d9942fbdb53d4684ca85218dc27678719ca0d4a8cd8e9bcaeb944b7c0670ab171927c56c35034ad92bb3e6714d0f7c137c2b9a1fc5b72367c35c55d5feb93d1274b88bc558158c5d478c34b68240ad193e95c0311aa501b3c1c44b20ab6ca2d2de1c56b65618ca53f0e91550851bfbc289206d1406b27047fe610ec01a86e8ba94516aa926b99879836dbb27a7056c4d54bbd19a44096d1b3f3e9956cac29e7ab95f175b9d9a0078da633f10a6fee899f400533f0f77102da19fb02610003674828758e23b5ec724c6829b95b8a6750f1988f431e7537ca9d05701ac8ae2034688082c5c20a122c6349db27ab958504fdb4c527b223b2420db7246a4a69b58085a3c1e6997db19fe17a2bc23bcd60b924cc393ebfca864da054ba38bb733b00fdf57ab147b922278fb132c5f5774bfe368dc2b66583790d30d282a248b7e9d43a562ba1892a985b75a7aff961762a05fb35b9420905bb8c4de00a3846e38ca7d71411e89f9e2c9489c597834c7a5315080130648f5347639184f315bff2d580ffd0227c9185adf9203ed50baa43a9174a7ae9b5655f2245a15c30f877bb7dcb2ec184138792738113895a980dca31baf6b5261e10a1d98ab660c066bcb05ac25429775c3bd1550d4a823fc96442cb2770751c812ce67613e48bfbe66a0fdba909317513220ebc3c55fa1364f318812199009af24f9f70c36f81b22b20be53208f0dc44dd3b6abb7236e1fd37c53fb1ee8c86810863a86b0029a58955dc73ec8a436112b5c3a75ceec356bbd91355e4c3941a07e45ad3ecb9ae67e7527f70f6e07a757bd112947074d5120a1f2a1e965ac6995d525e324e8252d8e2c2da909a29b24baca8b68daa5122cb539a47455bdb92f28d0393c0f7850c7f6c371bd4835d6db61c138b0faf22854466231d8 +m = 5e4723f16005d54429f70be509c3149f769c7179c155393ccbde778707cf3a7d +ct = e67f564f0c7718c0a03abef273a72846b9a01a70ef165a34901a3ba3cdf5225fd1d0babfb20e641028020e20bfd781aab9de3c6fafe26b0d9128d24e856236afde0255b93349b7592e9bdd8336d6dd7a05cf63b8ebb86a060d58e21b309a39f864c1e2e30f66b9dbbeb765cc230c87150c136442390b57cc08e9a50e1c7460635a536b17a90dbf8f9dd7e10d437aff2aa30c5291b19bbddb18f267512d163f38d131652ecd62b1c9e7c7f778985d45ec028a05d683506deb26d6cd5bb07c75700e6b0e51b18e857059dcd096393e37b4eefd06f3830ae7cb2d293b995da53c8ab0edb72b939e78e63aa200ded02adcd3f9b690ce25708dfc3989c11d6f2be9696b68de0a7869879b67bd38efc58a13f318bd7eb3cb34940d80a1b8e4f0ff7bbd0012841fce507ed815ed1c86ab83dcb79966b2e94b3013907b10e9b6348720974b16aef8d54400bf547326c12b3b823b2f81a9d122b9ce9ebb65b59856bfca113a4aec64a853739a73e3bea599593bd50f46822dd2a8ca304d9c34cf20b38f1b386f8715f33836746c5d253c823108383db4bb0b22ba1b8d38e34b001e2fff1a01da6b7e5841a84ab6d6c7b88eb31b5f77d5c0b1807e42776aab0f6e842e5dc52b32f3047d861201f4976f589b59ef139d259523901d77abd3e5d089e971623af54ea7808a844f7c88b16ac188d61b80914a3031c61ed4fc9090654992efbc85728ce0a893a841002422c1aff8fbfecf82dc45f6f7a2869e8be5e2155b46830f051dca12d9356e048f34fcdf80becb5e15136e3c9c72d3a68e1cb1712e08e429ed6c5c6623c8da2ae465f58cfc88a1941e961175f1dea20bda32287d56e48ff1d88c216fafaa16e0ceed611a18f6e698943254e984785cde9e8bffcc19f730faf257afe59891443aa37f9ae9b42a817e8f5f7cb7c4abd1019cb9ef8a705e56599c3296f1bbf336bad9cd8a7c86880a48690a9812deaf1b920a6184d2cd0078e2b850ed2d3a5dda1b262cabeb2441194dd31aed0a422480a0745a7081f0e4d50bb8db578d5c4f52fdd6752f573bed2fa45448b2deacb5a0c142901c08538d08b008cd003fb784ff247723df80e0916e4846354f4d45494a0b818aa983e3ee63a530a4209d5015993f70fc5872bb919c469dd70141e5700716ee88dade06c1b7009a8e33aed80c2abb17cf553514ff3b70679a05e78eb7df775d1137be3b0f5beb132bd2ecabf8b729ed1e6c6817881456e404b96f78f15ddd7356022c2d2ac5dac015c5d9b26e63d12b46380bc9f33c5231c0610ab5e782e8b9d0f8e97bb9677d3fc3094f312b2f338f4b75a7e13d1a0018bb704dfec7340d61de2634f20ee000eb650216b3fbce08b64f0b3258299d1d67e97a08d217808cff510e3599a4ef1b3e0f76c5f88e1814dcd782657a923f8ae00bbb25cc58e0d34dd35fefb704acf138d0ce527a4bb24cb075f9183a6acc2842107bd5834a980d91feeb7acce06ecbeec444229e437dedf2c957049e6f8ac1910a097a863288cd37e1b5c567f42d22 +ss = c2865575e8346d295d1e3e1da0e317416e47323b7065877735c79167dcf8dc8b d = 2107204cd995f1df14314d5381f8c5440f09a347502e161cffc0a2ec3dcfbc73 -z = 24c3da70fe850e80aa818301d60c70f3038153866dcd5d179e22db59b8991bb4 +z = c95df27db27ffd4a8fdf31c4474cbfe2f5ef99f760e97fcf569d8ab22c2855a5 pk = 8c5785417b65b2e4235cc67947d7b214627d326ac1adebccc3a64017e004499a8887c4a649e443e74720f0b1bedd52b1a8eb78b3ac2d5516b7a3233be9448575209675f4a813120422684191d6771ef2b44d92b2ca3bcdd5f5ac20a63efc237ff9d99bb4f5094afc187ebbad39b8b9ce75902190741640babf653886162645a84262a24b1885c626403f23136707816acf28950bf181742c98347022cd5941b7b69e21b5cfc2b4c6c5f301bd32a2e7882a1e1a9cd94743fc86af0cd26b51b3512003cbe8628d299663da40baef443677033da8b8c21e0a0f12fb93f4d63809375fc877866394a1a5409e2f13b3e5011a2a5877732415281b7b19991e6ee0a470561b6bcb46d87b4086f18ca29c5fdcd622f4315dcfb11db2c6cf136b7b0a870ae89669ad1011477899b8f679e5c9a8413959ca0cbfb3b54ad58c98b94760058c6f1f499435118d9143723da05ba8f13e5cca1813f91ce01092917ba1d798ba3481121026713be1889b58375e5c4f9bb0bcc5fa808e2c00a36ca575c68b1d232778f71bf0927c5f2092d0629588826d02005db9bc0dce456e2b928ec9fb9c7a138e7b1065a2b660c287c3d062144cca71e5c1294442073ad48afc555767f1bebaf550d520659496af9237a22c27670a080f8a461778aa42c6ca9a954c28a658c73847a586fc3ef266562240acb6978e026152b1149b8d426aefe37bbd263a00da05df48375e53bacf9c4c11d4bbb055666ad008736b9c323a9974661215495e032aaec611af0e6a9244c2bfb6f3195d5121edc3c0719c3fc1365c2bfc70d5c6140e6a383714a0931ccdff946adcf73993aa113c90aef03374e251ace73770a350428ec32a9ddb4aed8832526968412863966228644b9af9842c2e967957f10d350a3499876f25d157bb2812501c8dc95365f83bc64b6340fa6cb4c2816b31824d028726de0112aa9ccc9e0b6869099d310aa6e5b79609487e7a20a56ba75c45986f92f5a4d1672f3d99927a1193ba15bf5df2586e823292593c49321bac9044e4844a7a6bcb08309e2520b6acf20e73ba5b05931e29ba43b2000a48c72a5df05ef715cd8865cf16a835a83c271402071d1068a426839ca424cb666545664ea5e7461af147b9d84583285ea1a05a02732031bb0ba40b14c828bb0e82807fc57882b31d9cf509be7b712f56994721b55da921eee8ad45c8b4e99931c9b71b473a89a2d4821213a1acfc453a41784d35b522e93c2d994d083674c71583782128476b04fec71f17ccc65b9c83f52c207b08adb10824a505b6da8a78d4c599a5b09979d9491e1383ea155576730614fcbdec1a8c801b94083a0fb55790b136bc5f37b752f3a6c636481debc5da8892ac1b04ac7447953015e7251838acbb6e24b508578b62d7450c46c76272806ac407112b73f7946d9654a45e943b406776e057c22e669b34a39d92f87928f8689cb8363b5b07b861be5a750bedb4a909605e6e26a489a5a4d9fa7be3976479f8abab955200c479e75983be821e79682ffb18553b72cf0797b2d2117add5ac0abc71cf0e4ca83c26d218295aec75872ba3a8b3ca22a2ab83404a046355fd394bf35d66df46a6124d18b9a4606305a5968c4ccdf6b77a5ef23c5d54c68389e610b30de122c2b2cdcea30b3c780612fb9992721e26273 -sk = ab150a2298917b1707af1ac0941acc5b6b259d1aae8f878bb0a37089b845991b203ee4c8f1a58cf9d2cc0059ade2db131bdc5fe3049e17f350a805c6f30479be91b12a36190a5332eca4737df5a32fd60cce222b592060add75a62f88d5bf6426fb18a944195f1ecb1babac1dcf20c39339ed45ac8c3ab582382480851107683102fa1914e753731964fdff686f0a354703858c15c99f30a19d9c281ae93004c718d1ca5452fe58183d806dd666792da7a76b0927dc77793396e4508200ef5097e45095a33af5683a4dd1a5f6878c1e6fa85771a990ea16f7a28034a897855769db8e4a9a425860fec7031d09e96b665f57662b2bb86e362c3f9a706e354c12423ac6cdc74973a0767d73e75f5739747433c3451f8e5b85e5311b6e009f79c00cc07ba26b74d512520496b1998a4445c19249729225044cffd51679b495511223417b2bac86cc242241f2b70966e9a7a03c3cc0ab526abf857dc1a140ad85825757d2b5a59b97b7f8c5015da02159d013c1f15491ff4cf64c564e50c389f6c85b7c060f98011a4518cd3b48c2df68c67f3497f439c11f8504e577cf49acfae704a2b093238520292602cc2138762d87536f6285c001d6975a242654ddecb5663ac44228bbe5bd58d9b90426c66802b466b21dc8d7a23893a953033874d0a93626c00b6a4fa3fe9eb0dfeba2f3e789aad8103ca153fbd7218b95547de700ca526aed4f159639c59a7699296486188c3ca111479ddaa747f99ac825c7593911d6261683ce92ee8aabb77f82ab14838db54149194b12791c4991181c66bcf05c67e19f05dcb658d8dfab09c180967311f4e2aa03d9b8218889f87c5a5680299a7459afdd69db27302d9761daa20be37900b971694d3b6aea8c6b5d53a686beaa478f2abc17c1c461807597148719925590c1e482aa05bb73077c017c1010ea576bfb5a63031875a23b0a019d608d64a30d0dcb39d750099d1c7583c34ab1cb1dd99a115547e3e4ccdf2a872e821b2330a5f6b30918226b7fcfc9fb4f37d8103437db12ee073a49d29a7359316f8d922f783797e49b8c2b6146f76c7f8a66838c86364a788d3c4ae67d02ca09391e8547edfe86ca1d131c5b96caf479d9562688d1238c6196526b17844b475149ac3a76865c94993e518941a63a2e4559e81a46c8a99afd2a73b36c633ddc6b32b14723f04a83af89a420a3d04810311a28880247236a3761236b068a9a4edf55317e8841218441eb1137342977215992ba99c1eea7dbea33aa83382b909bf1eaa9030b4386f8baaea643e41531204bc0df8243f81367f4d979bf0125b84eb5d5df53318463102938a85214ad7355960300db40719a2acab9297381a6708391c78a8d4029487c324291a7e4a0945a806e0f24368c7a2af91b8bb155d04c557759228673b548b6a4feb8944b7334bccbab144c84344457b8b794a3d3b4dfc2357be9227f9c4ce8b98003452c1d8d19c7a8332403a41308086346129d3f929b847bab1aa5d88935d816a708c6a5e41023bcd4252569cbc724a53df1b88909267a932186c751339863c8dd49cbe200797186924c26edb976de613cc2c46beb06b39f5c264716a76e67831e4198822d77386592c777a088c5785417b65b2e4235cc67947d7b214627d326ac1adebccc3a64017e004499a8887c4a649e443e74720f0b1bedd52b1a8eb78b3ac2d5516b7a3233be9448575209675f4a813120422684191d6771ef2b44d92b2ca3bcdd5f5ac20a63efc237ff9d99bb4f5094afc187ebbad39b8b9ce75902190741640babf653886162645a84262a24b1885c626403f23136707816acf28950bf181742c98347022cd5941b7b69e21b5cfc2b4c6c5f301bd32a2e7882a1e1a9cd94743fc86af0cd26b51b3512003cbe8628d299663da40baef443677033da8b8c21e0a0f12fb93f4d63809375fc877866394a1a5409e2f13b3e5011a2a5877732415281b7b19991e6ee0a470561b6bcb46d87b4086f18ca29c5fdcd622f4315dcfb11db2c6cf136b7b0a870ae89669ad1011477899b8f679e5c9a8413959ca0cbfb3b54ad58c98b94760058c6f1f499435118d9143723da05ba8f13e5cca1813f91ce01092917ba1d798ba3481121026713be1889b58375e5c4f9bb0bcc5fa808e2c00a36ca575c68b1d232778f71bf0927c5f2092d0629588826d02005db9bc0dce456e2b928ec9fb9c7a138e7b1065a2b660c287c3d062144cca71e5c1294442073ad48afc555767f1bebaf550d520659496af9237a22c27670a080f8a461778aa42c6ca9a954c28a658c73847a586fc3ef266562240acb6978e026152b1149b8d426aefe37bbd263a00da05df48375e53bacf9c4c11d4bbb055666ad008736b9c323a9974661215495e032aaec611af0e6a9244c2bfb6f3195d5121edc3c0719c3fc1365c2bfc70d5c6140e6a383714a0931ccdff946adcf73993aa113c90aef03374e251ace73770a350428ec32a9ddb4aed8832526968412863966228644b9af9842c2e967957f10d350a3499876f25d157bb2812501c8dc95365f83bc64b6340fa6cb4c2816b31824d028726de0112aa9ccc9e0b6869099d310aa6e5b79609487e7a20a56ba75c45986f92f5a4d1672f3d99927a1193ba15bf5df2586e823292593c49321bac9044e4844a7a6bcb08309e2520b6acf20e73ba5b05931e29ba43b2000a48c72a5df05ef715cd8865cf16a835a83c271402071d1068a426839ca424cb666545664ea5e7461af147b9d84583285ea1a05a02732031bb0ba40b14c828bb0e82807fc57882b31d9cf509be7b712f56994721b55da921eee8ad45c8b4e99931c9b71b473a89a2d4821213a1acfc453a41784d35b522e93c2d994d083674c71583782128476b04fec71f17ccc65b9c83f52c207b08adb10824a505b6da8a78d4c599a5b09979d9491e1383ea155576730614fcbdec1a8c801b94083a0fb55790b136bc5f37b752f3a6c636481debc5da8892ac1b04ac7447953015e7251838acbb6e24b508578b62d7450c46c76272806ac407112b73f7946d9654a45e943b406776e057c22e669b34a39d92f87928f8689cb8363b5b07b861be5a750bedb4a909605e6e26a489a5a4d9fa7be3976479f8abab955200c479e75983be821e79682ffb18553b72cf0797b2d2117add5ac0abc71cf0e4ca83c26d218295aec75872ba3a8b3ca22a2ab83404a046355fd394bf35d66df46a6124d18b9a4606305a5968c4ccdf6b77a5ef23c5d54c68389e610b30de122c2b2cdcea30b3c780612fb9992721e26273a3d8a85f38cfda38c66ae39b2f9186ef7bc1e0c98e8976a6cbc6c4875d73d7fb24c3da70fe850e80aa818301d60c70f3038153866dcd5d179e22db59b8991bb4 -m = e99fbae8a024ebbbdcef32ce213f6aa942e3eca925e5da4c09975d773b33a175 -ct = 05ed6a301313b34c67a40b05211e451869d148917d9cfeaa4144521dafb1bc3cabe8fc527d998cdb6f1ba7a0609fa2144a3bd8db8460612c8281586f4aeda3f599cffe70130a9c8bb5a91812b259167603b8282e96ca090ee6d83588980ae78acd18324face44cbf68340002f1e0f6483dfccfe092933d5a823f5ed4f06d38ee5747894ca0ed4a64438b1c6db6dea5d1a7deed2a84f4622764ff3739924f3102912357f030ca7491d1a13f50b891294d3271d029e3402351d78479f253891d726b2c9afb763e7a12ba3f150c54cee377a91852b4c669a263d882d98896ddedeeaefe850159c3638408ca155bcc2d7d5579f156fcc2f7b77758ad4a5723aa45336054d810181e8bc9eafb7abd4349fa0f8a22b0e1418767e62ea6c84c2a7bc74e6e575db8e6fb7ea79ab108c4985f3dc0424af17b2ba1ba6c6aa2161d872daa33b3c86d49cc6c0d5c8c07ed16fed4d2fd7f342b41d3f9b616766ec9cefa0f1a2fc91cf84925243c344b02d6553b4f28d172eca7a101b3a2ef6081a101de8e95b1c32bc8b3327f24ff93c29dd66b9f508ba045339de2c600469a73a65bd72cc348892aecfd3753f489566479aa7ff5390312081e24d9b64cbf8780d959db66f9bfaa756ebd7cfae55f991f81e586bdc74ef77a2fa3f3765905118f19443d3482ea18ac6bda92a754cdc493e052d4482f57fb4adda00f9761f9deed1b77fde37fcbdfad1cae385bf05de62880932deaf957891fa11cd255e7c65619fd71b2641a085a5cd9ff4851fb57ccbddcc10edb41376032d6227acf702b2e6265ac9aee41a2c183ec16aba9545e88988bb88ef7c0967e1164fa4f8b8943000ce8261420c53af5a465f15bc6c76dfe8431439fa598d4ee11c3673ea9ab144893e4261454570702e6311392f79728c54dab95d1329fd70d33e934faf5fe220fcf9aacfc4d573798bb0d7dd218ceb8413629154745e6ced8a4a6efee1e93dcfb3f3bf3811513d5201f0b0a2c213e307767f989fbe19aac74bae70013b5d73905a709566356d4212b68349cfc4c7147f09cf0168ae636600ba31c87741afe142d1cb03f56095de4bb034991e54d863a9e56c6b9d1786d54a41c08bdbae1596aadad9118d3cc0b8121e25b0eb080a5e089ebcc32438a1db1b72ad7d7b743a15118674f64992395316f426e365ae04da9919e1a8fbd0959a2ea2a0938bfe7d2fbe844d89f36683e076f8e54e27ac5805128d0b58cddc93793633fedd427989aef1463af97643d628cc79df9725c37f745839e85d9916d1c5337a16b47034ff2a36f3b022232bdc881577845cdc8a5621fc21ae5b5bf8ee0bb4e2abdbba1c348f2fd58313c9251b8e84fdefe3915b8ea3cc13a5687affd790ebf25c7e761c90b1a0c7f6e9a3bbe04d6595b45d6ff3ba2d238d85acf7206b0ae25b326e2191291510324a9fdbaed3bb5c770db6f215dd693d4090bbf610f2208fdc7adec620d82f86cbb17db7d31fb758a332d17e7ffac763bfac78b0f3c8a746bb60530a168fb5a06bc129f8f427bcc -ss = 0b642d9427caaab926dfc155993bcb41bfbfb91e6c6d1c4165d8750222cc3688 +sk = ab150a2298917b1707af1ac0941acc5b6b259d1aae8f878bb0a37089b845991b203ee4c8f1a58cf9d2cc0059ade2db131bdc5fe3049e17f350a805c6f30479be91b12a36190a5332eca4737df5a32fd60cce222b592060add75a62f88d5bf6426fb18a944195f1ecb1babac1dcf20c39339ed45ac8c3ab582382480851107683102fa1914e753731964fdff686f0a354703858c15c99f30a19d9c281ae93004c718d1ca5452fe58183d806dd666792da7a76b0927dc77793396e4508200ef5097e45095a33af5683a4dd1a5f6878c1e6fa85771a990ea16f7a28034a897855769db8e4a9a425860fec7031d09e96b665f57662b2bb86e362c3f9a706e354c12423ac6cdc74973a0767d73e75f5739747433c3451f8e5b85e5311b6e009f79c00cc07ba26b74d512520496b1998a4445c19249729225044cffd51679b495511223417b2bac86cc242241f2b70966e9a7a03c3cc0ab526abf857dc1a140ad85825757d2b5a59b97b7f8c5015da02159d013c1f15491ff4cf64c564e50c389f6c85b7c060f98011a4518cd3b48c2df68c67f3497f439c11f8504e577cf49acfae704a2b093238520292602cc2138762d87536f6285c001d6975a242654ddecb5663ac44228bbe5bd58d9b90426c66802b466b21dc8d7a23893a953033874d0a93626c00b6a4fa3fe9eb0dfeba2f3e789aad8103ca153fbd7218b95547de700ca526aed4f159639c59a7699296486188c3ca111479ddaa747f99ac825c7593911d6261683ce92ee8aabb77f82ab14838db54149194b12791c4991181c66bcf05c67e19f05dcb658d8dfab09c180967311f4e2aa03d9b8218889f87c5a5680299a7459afdd69db27302d9761daa20be37900b971694d3b6aea8c6b5d53a686beaa478f2abc17c1c461807597148719925590c1e482aa05bb73077c017c1010ea576bfb5a63031875a23b0a019d608d64a30d0dcb39d750099d1c7583c34ab1cb1dd99a115547e3e4ccdf2a872e821b2330a5f6b30918226b7fcfc9fb4f37d8103437db12ee073a49d29a7359316f8d922f783797e49b8c2b6146f76c7f8a66838c86364a788d3c4ae67d02ca09391e8547edfe86ca1d131c5b96caf479d9562688d1238c6196526b17844b475149ac3a76865c94993e518941a63a2e4559e81a46c8a99afd2a73b36c633ddc6b32b14723f04a83af89a420a3d04810311a28880247236a3761236b068a9a4edf55317e8841218441eb1137342977215992ba99c1eea7dbea33aa83382b909bf1eaa9030b4386f8baaea643e41531204bc0df8243f81367f4d979bf0125b84eb5d5df53318463102938a85214ad7355960300db40719a2acab9297381a6708391c78a8d4029487c324291a7e4a0945a806e0f24368c7a2af91b8bb155d04c557759228673b548b6a4feb8944b7334bccbab144c84344457b8b794a3d3b4dfc2357be9227f9c4ce8b98003452c1d8d19c7a8332403a41308086346129d3f929b847bab1aa5d88935d816a708c6a5e41023bcd4252569cbc724a53df1b88909267a932186c751339863c8dd49cbe200797186924c26edb976de613cc2c46beb06b39f5c264716a76e67831e4198822d77386592c777a088c5785417b65b2e4235cc67947d7b214627d326ac1adebccc3a64017e004499a8887c4a649e443e74720f0b1bedd52b1a8eb78b3ac2d5516b7a3233be9448575209675f4a813120422684191d6771ef2b44d92b2ca3bcdd5f5ac20a63efc237ff9d99bb4f5094afc187ebbad39b8b9ce75902190741640babf653886162645a84262a24b1885c626403f23136707816acf28950bf181742c98347022cd5941b7b69e21b5cfc2b4c6c5f301bd32a2e7882a1e1a9cd94743fc86af0cd26b51b3512003cbe8628d299663da40baef443677033da8b8c21e0a0f12fb93f4d63809375fc877866394a1a5409e2f13b3e5011a2a5877732415281b7b19991e6ee0a470561b6bcb46d87b4086f18ca29c5fdcd622f4315dcfb11db2c6cf136b7b0a870ae89669ad1011477899b8f679e5c9a8413959ca0cbfb3b54ad58c98b94760058c6f1f499435118d9143723da05ba8f13e5cca1813f91ce01092917ba1d798ba3481121026713be1889b58375e5c4f9bb0bcc5fa808e2c00a36ca575c68b1d232778f71bf0927c5f2092d0629588826d02005db9bc0dce456e2b928ec9fb9c7a138e7b1065a2b660c287c3d062144cca71e5c1294442073ad48afc555767f1bebaf550d520659496af9237a22c27670a080f8a461778aa42c6ca9a954c28a658c73847a586fc3ef266562240acb6978e026152b1149b8d426aefe37bbd263a00da05df48375e53bacf9c4c11d4bbb055666ad008736b9c323a9974661215495e032aaec611af0e6a9244c2bfb6f3195d5121edc3c0719c3fc1365c2bfc70d5c6140e6a383714a0931ccdff946adcf73993aa113c90aef03374e251ace73770a350428ec32a9ddb4aed8832526968412863966228644b9af9842c2e967957f10d350a3499876f25d157bb2812501c8dc95365f83bc64b6340fa6cb4c2816b31824d028726de0112aa9ccc9e0b6869099d310aa6e5b79609487e7a20a56ba75c45986f92f5a4d1672f3d99927a1193ba15bf5df2586e823292593c49321bac9044e4844a7a6bcb08309e2520b6acf20e73ba5b05931e29ba43b2000a48c72a5df05ef715cd8865cf16a835a83c271402071d1068a426839ca424cb666545664ea5e7461af147b9d84583285ea1a05a02732031bb0ba40b14c828bb0e82807fc57882b31d9cf509be7b712f56994721b55da921eee8ad45c8b4e99931c9b71b473a89a2d4821213a1acfc453a41784d35b522e93c2d994d083674c71583782128476b04fec71f17ccc65b9c83f52c207b08adb10824a505b6da8a78d4c599a5b09979d9491e1383ea155576730614fcbdec1a8c801b94083a0fb55790b136bc5f37b752f3a6c636481debc5da8892ac1b04ac7447953015e7251838acbb6e24b508578b62d7450c46c76272806ac407112b73f7946d9654a45e943b406776e057c22e669b34a39d92f87928f8689cb8363b5b07b861be5a750bedb4a909605e6e26a489a5a4d9fa7be3976479f8abab955200c479e75983be821e79682ffb18553b72cf0797b2d2117add5ac0abc71cf0e4ca83c26d218295aec75872ba3a8b3ca22a2ab83404a046355fd394bf35d66df46a6124d18b9a4606305a5968c4ccdf6b77a5ef23c5d54c68389e610b30de122c2b2cdcea30b3c780612fb9992721e26273a3d8a85f38cfda38c66ae39b2f9186ef7bc1e0c98e8976a6cbc6c4875d73d7fbc95df27db27ffd4a8fdf31c4474cbfe2f5ef99f760e97fcf569d8ab22c2855a5 +m = 2435be12e5a6b3b230f3b0b24ac28fa464b9e8df34acbc8c6eb16441739c1b18 +ct = 9ead6298721b6b0f280dd0186514f1f4f87388c0bd8d32bd1c6525b24523363f9df4adb7488aced3e2cd808123f8e4e7b5609a18cbc4de338514842b39f4985f5d9899ae7c592701dc4ee2ee56027f186126497fed6c9f77be9e90710897edabf6a403a235648f062ea2a787ca94718d445641dfac2613d54dd4d4748d8ae499cf603f60dda8298ec7dc87d7d33939be2bc52ab11b69b1060e13664fa82e8e65220f2bba3852635e2c93db58c255488a75d74cab92f7165433e504c4138768e9443e647ff2c31599e3c201d71271c5a5880fe5375e5aad5c1ef14c632fccec722cc691b39532f6d1d917b7719d24fe6edbdd529f776c46432cdd2cf6e1cfab9429158a572f61cd6f24f8ba0043df7352a04cd881f13272dea42efd9887725dd69dac05070dec74e9d1cb1e2d05a92f4f8ed30a5efac05ee9b7c453bbfd8d81a2dee00225a3e1c594901f1ab3902fdf79df6b7356a5346051e698ef8beaa2f9fc07531d9a67a37d8887627e3945f6eefce9c5ca38bbb76b801f2ce7b5042dd8e31cb180bf1d9a1b6f81b976f208557b5d63a81e9fd225808a6d856c512c51da9623d65d9442d2f1b9f0ecf9e105615f7abe641adb0871ed1cfc63ae8031b26df1b34f14292186b6f6d2f8c59e43fa096f0246c05e8a2de99f9d314eeaaef1b8f253d45e2e8bf60b6576e223704ad896bee4a21382c44ae612462de9cbbbc604f7f0217b0e8814871663acc8e5c849728e5488d874dc66adf01fd724f61375cbe1a09f7c92bcd108fba4cebaac4a0e9c659249e0393c9eab1924fa6cc05a6df0236623d7527e927c908c61e3178c2415334626fd44812a07e643ff6b913b8f924d8b8b2f59951957f405d5c2e6984d7b32821f245463dccdb5e293be962fb9afe0da6c6d0140c5d72fce7085ab2c23ff4e30a512b48dcf31914c45ef33398d2b2347881d5a2d0d18e14d71f13c4faba71401ae7643eb07134736aa200750ad26607410db2778cda859187ba4898826360fa0897ddea66574ce160a2898fcbdc2433e4b824d1df133b37f7e30cb367b5d69d1945a2211a8f0b720e8b0e008401eabaf10b197795c372ee1401b562c33321f261a04b0732e5eedf0408b13b91325be954f1cb804a408057672d9ed6eef3b47704ac4b1e8530832a3f530bf1ab468a695089c63760ff1ddce940564ec9825ba54619968363e48b17250f57d6c91cdc094bdb2b40ee194a8b8ff919d99a4a975c35af2ea3edb669a3970ecf57ee89e2c11e8a9455c68ce35ee047ffdef98cd8eac00a6520d2d8a880e6a031016a11861eadafb7edf912e368a91d4f3873a057b5a80ab65a64b0c2bd5ba65a5788a3cea8a9000383ffa75862e9037a608af8eaba37fd8b91680b0a0eb032ad479ad9e6e5a8d0e9374936d19bc462078ed28f4e4a04bdd949e6d3c76cf424824efa51badc7a5a02d020c5aec89e86404aaf490809ac913514675585f725b4197424ca3f65cdae823a03efdf9d4bdbd720b44a56655e68e330c8e6826d37cf794940b44ff +ss = fe0d49911c876535e0ebad25fcf5d05d0f1041f40315a5e1165fd08f53c443e1 d = 63a925685a8ac5bbd918faa33ac397d1ffbcf99135d9da7c3d6ff7aa4c50af3d -z = 3afdb8a246a56ee71465591831c371f2eb87467b0559dedd776ba063ee6d2f93 +z = 284fdcb2d2a697d75e985aa43fae0df266a8056c18cb0bbb52b4ec89d66c21e8 pk = 605471feaa9e92b94016a9a05f585f3c52a993a91a6db73c9ae6364dd2a07b6c2afb449122e76a3b273d424b94343b3bd7e7b1e1366204820819c8ba8970218a22262ca649d8e3223167be77d9a466c860ad7c320b227e873a0d68faaa441c0907805996d64f7759bdeed65cce25b367f02094714be404ca9fe56f6ad99e7d38b5396281314898036493002cb516878db66ab19e09478872c0f76abbe0f754b443b13dd5afe610c1adfc52fb3c82488984dbcc4d9850a0ee4bbc07d0051208c87914a3fa5159c775ad91a552c2fa2ac573787ffa68f456012af600af60183f97cb3e2936ef683fd8e2b5742c6de946b96f825cd0f4807640a532561c70600d4995bf8d2ca543db1eacd68d28b207617c23cd9a57bbf75abcb620d941913e6506aa0123f89c261ce9c39c605646904d22586643f4ad250870afe94dc950913602cc1cdbb77bb9b4df518d1a18ab0c5a25948302c0535908e70f84587eff169114161c3e646740893faaf6b37b42168fdbc494549776d528bfa2c2baf6a00a7498f403347a646c9a58328c59274ae8cff8b82787a29d67336dadd3404fb5509640c29c9456fcf82d4abbcd9899ab108a1fef872617c5ca780970182861c046a594d62757d33247b79e12873493634c16fa70983c9b593814e69bb160120b4129370519327ac2332063992af4370d9871e7a27d13420a6fb16ed9b579d1ca1d36a2094eac96b537109ad83f4df1a1d2e184c309ab65d75a3e409c57578214ea4035657757ab92aa930a76d251a1b87bc6b58f9d900e38156d73a1961c43be2e044314c89ea9601937c0a87d9c4b14cb9e79d83e722cc40b048bec5ccd038304ac0a65bf93b9a787105eb31b5be8845c5c57b9a9caf6243f54438ed84159f5b1b8b246073b1715b0f635e8078991118dfee2ce08887f9680bd4e672d3aa78df8954554d398d1675d785b85dd28a1675944d7597968f22855999f148cceabfabc2358c315076c6b4333a82520a8332543aa100034bb0a6776cd959bcb263074fc28956726d0d99b9d81a7dec14f13ac5ceb5b9eaaecb28e282bb517cac09809073c3d085718d1dbbd75ec83707cc768bc79a3b637d0acb34f37c9c2b4c0eef3233cf91c0bf5a6a9279f6ad136808a9a3515b02e303f4da26f93264c5ab9010a9c8550b9076d6471c196675edb08223672c1a229ad31c05ebc4fab557f46b4bb37dc2b605a87b888a1f475516db87b92451127436eda7922bb45b8b8462122542de969c31622cdd62676a8faac5663a8bc2191711383ef4c1cd7a183bb55cc3c83b566e5514f233d79a2963710c5e5225f7b09b0b6176f451a7f77570b1c17b7ba335511bc3c3feb884e459add3a594dd35662419272499b4e9258dc9aca946ca80911999d455d06407cf9c69e814478a9f5151780bd754a440bc69925155fff0a675e0c322c69174c27cd804279ebd3260feb62c0e24eb63c7a042996c25bc9342c589c340e99999f9c5054ff35c760a43974096c5fd23bb9e51e2483722a132b0277bb24010297c4ba2c58bb286c49ed20b7aae98c5d9b0601f06ee53c1808e07fda53114efc6d36b28b906611be3a29e68a8da76457be5419d70059f7c329aad28692d45892f335d02d36153217d5db379b621e416a54ce8071dfda35f639a04b14 -sk = f80c63dd6cbda93b6cee719fbad6bdbe1a03f18b3379306ace5625fb38c5edac9c8c94525c85961e14a76082bbd760ccf9b5ac777088b0cc80e0304fbcfc697cfb13dcf1cf777325eb473d11a43da4575b697a860445b02cf75e8b945ff9433a337c754e19453d4bbfd2f07c76e8b7a68b92abc870b56202f7634b9b37902d39bca04653fad9a0e4f0be548abb97c7a1fa18c34cebbae3987f4b3c52a5006629159ac6875276053908b389d931bc7e2871751169b6d81c8d8b5f52854a3e644c5c504675d688ba030e9e78a79e7788522516ffda2ec9946aa9791a634b6ab6d04456003acf348bdcd859567a74a7b73556820f8dfc12e467ae2fd11025e430114a5a60d3b42bb43845721637a69596eb953ab7b3e3b28b3bd9923dbc5189a37e9fe7bd9b763fa905314c0a35387a8e8552bf7135698e15b8d99b0777a0a5af1b7dafc172aa6a4d69202f10351603771876c580a7d24479db0d804b6513a09281f291f2706ab128905663aecb0bb31a41046771449d12c335051a2eb50ca81ace90940a8a6a355b21a9c7505491ea3b48b5323cc567ead909fbdb380fd504c851452bd34f0f65a39ac62d922a3c50a8566edab03358745d701332e4011022bfd4839ae7b6745c66aca80abab8213369e299253b40a7922df02ab70f9723baccb1ad563ad20c5eb8a01ae564be24f40ce91a0f06ec68c0604c74250909d317f8968947a12ea297a279821f1b5377b02653d66897aa526cf51553c268481f7174bd9495da4b0305650358a637a5fc31c99ba7ba304c6811b555e4b1c2f80eb4223c54032d16238861fb650bcba24b127026fba51f5985476103fe1375b94007a06bc2ab048bcb4a78e6d3c748b141be410992733630b8c917f89960273740a595071824a9d02908d52d334373e8a575d5d52e96e5ad0cc95bf2c761ae577b9ef6bead33103e5033e0765d748c409f8a44227b8f55838b38695c5e132f2cb9bfdd7cb8522906e9bc03dda468a04012277417869277e2169c63112e6a8942a1c13aee97300ff4caabf862058b6e7cc16f34c79ba200853701a98d630936a8a595098c8b19820ac91f47451e011069aa688bfbf5ac4ee018c53639a1b0573c8a420c4619166b011e79bd0b843d97766810a48e55d5ce389b5de4a739f77ccc5fb70d52b3ca5d01729935bf7e4bb984576f2acb7466c8248f975bad539b2260568dfa34cf2974d83699761c95405943a7a88374112f8ae79b4d244bf2d683f7cc7a533229bbd8b5e822c8b3449548634ff34bcaeff25a41aa84a1fa1f52f486f89630a7730e4f81ad23c14d6906816a849810951727042ed0782ef26c31281c0aade6c9334a88acb917b781c4f16327196422c24541065b5e80f4374da0853d478625a68f728a20c1c82ca4fcc4d62744fa658059141221a917d6121187d3b621179aa8f7b7cd0904e6e0787f9a5f65eaa78011b6b63290a55542c80a4bfad64677467dd1b12785e6bfbc31c1f3d46db55c0a035604ef658279db3232c675bc0bc97717ca3eb71d4f44caaf1b07bddc90ae982886594f98c41ae7481562cb63d0b2539eec589146735490a4a87b6ec5cc77bfc0810627aa3452cb061a1648ec7cbb4937605471feaa9e92b94016a9a05f585f3c52a993a91a6db73c9ae6364dd2a07b6c2afb449122e76a3b273d424b94343b3bd7e7b1e1366204820819c8ba8970218a22262ca649d8e3223167be77d9a466c860ad7c320b227e873a0d68faaa441c0907805996d64f7759bdeed65cce25b367f02094714be404ca9fe56f6ad99e7d38b5396281314898036493002cb516878db66ab19e09478872c0f76abbe0f754b443b13dd5afe610c1adfc52fb3c82488984dbcc4d9850a0ee4bbc07d0051208c87914a3fa5159c775ad91a552c2fa2ac573787ffa68f456012af600af60183f97cb3e2936ef683fd8e2b5742c6de946b96f825cd0f4807640a532561c70600d4995bf8d2ca543db1eacd68d28b207617c23cd9a57bbf75abcb620d941913e6506aa0123f89c261ce9c39c605646904d22586643f4ad250870afe94dc950913602cc1cdbb77bb9b4df518d1a18ab0c5a25948302c0535908e70f84587eff169114161c3e646740893faaf6b37b42168fdbc494549776d528bfa2c2baf6a00a7498f403347a646c9a58328c59274ae8cff8b82787a29d67336dadd3404fb5509640c29c9456fcf82d4abbcd9899ab108a1fef872617c5ca780970182861c046a594d62757d33247b79e12873493634c16fa70983c9b593814e69bb160120b4129370519327ac2332063992af4370d9871e7a27d13420a6fb16ed9b579d1ca1d36a2094eac96b537109ad83f4df1a1d2e184c309ab65d75a3e409c57578214ea4035657757ab92aa930a76d251a1b87bc6b58f9d900e38156d73a1961c43be2e044314c89ea9601937c0a87d9c4b14cb9e79d83e722cc40b048bec5ccd038304ac0a65bf93b9a787105eb31b5be8845c5c57b9a9caf6243f54438ed84159f5b1b8b246073b1715b0f635e8078991118dfee2ce08887f9680bd4e672d3aa78df8954554d398d1675d785b85dd28a1675944d7597968f22855999f148cceabfabc2358c315076c6b4333a82520a8332543aa100034bb0a6776cd959bcb263074fc28956726d0d99b9d81a7dec14f13ac5ceb5b9eaaecb28e282bb517cac09809073c3d085718d1dbbd75ec83707cc768bc79a3b637d0acb34f37c9c2b4c0eef3233cf91c0bf5a6a9279f6ad136808a9a3515b02e303f4da26f93264c5ab9010a9c8550b9076d6471c196675edb08223672c1a229ad31c05ebc4fab557f46b4bb37dc2b605a87b888a1f475516db87b92451127436eda7922bb45b8b8462122542de969c31622cdd62676a8faac5663a8bc2191711383ef4c1cd7a183bb55cc3c83b566e5514f233d79a2963710c5e5225f7b09b0b6176f451a7f77570b1c17b7ba335511bc3c3feb884e459add3a594dd35662419272499b4e9258dc9aca946ca80911999d455d06407cf9c69e814478a9f5151780bd754a440bc69925155fff0a675e0c322c69174c27cd804279ebd3260feb62c0e24eb63c7a042996c25bc9342c589c340e99999f9c5054ff35c760a43974096c5fd23bb9e51e2483722a132b0277bb24010297c4ba2c58bb286c49ed20b7aae98c5d9b0601f06ee53c1808e07fda53114efc6d36b28b906611be3a29e68a8da76457be5419d70059f7c329aad28692d45892f335d02d36153217d5db379b621e416a54ce8071dfda35f639a04b14aa73b40dedd61e6fdaac86971965c03ab14ae69e8130426fdf830bd57d0974ce3afdb8a246a56ee71465591831c371f2eb87467b0559dedd776ba063ee6d2f93 -m = 67a216f37d67f5e74f782f1badbce1cc8c80a6130aec305b421899a4faa0a6c3 -ct = 909f5615afd3c1e5bd517378a979cf9a4267592ae7a8a723314dcd337e5296e07c686ea98fb8ff29067c99d0c8214df3e1a4a3cd694dd8f53f9b1eceeffc203a6bf9e7022add6374b08b0c009a0f2b57cb55221fd486e4787ecb8cde273e980c25b831ce8504e9125b4c402f826ee5f4e2965fba01771978edaca1b9ae19e0e302cd019affa2fe3714b7c136fe5d3b6f9d7e6622493942323b33de56202a94d4cf505df02af304cb7339460a2da004d783024aede73beee0c388816b90b36449f84fb145d99fbed6d46a1b57369f2f1af1b4887e5ad0b318b527e25f81b0a847188d0bcf722482b90b1e96b114cd0274c8d00401b0a39b29e4c6b07979199a547a27d9ec39ddc7b29ff2d7033caf8463658113451fc604c0a01656a2968871e153d77d6a1c328ef92abd4eee745a3c58d518a0af004f2c636e2f0bb636436b0517d6f8d6a4323727518b720f55d993e2c9e1653db50a43f10c4a69fee9b170c98da672c1b21a9987e0a231aed4241114d605555955a4ffa66314853fe8e1e4306adddf09bfff1f22edd64448a2f59add8237a759c2b5112dc3ad69404c65c2ca5f97345b492f0100882c83cf33f15e6dc2459976ff8870507865f9616af8f0aeee21fc008c9eed3565100f7443a731a5d6392f0d5e88afc84d6a3f3c3274187a39bedee638e5c56e9a1a17047303db8920a77f17b322c9573fe0096ce446ed1457cee4fb2ba448d9a9bd690d89c58e47816b08995a36ed6c1a965b4c78cc5d7e90d5ee1cf5fffdd6874b6b2abce7ea3ada69bee4ccf3892e8dcc8538cad74fced9dc8aa13b976e891acb8eda3700bba39091e4fcb25ebe17f011d392e54b98ab4743fb7ddcaf0840ca05e8691e1c6ff4f46b45663de89f4bc9b4abda850563336c0b82fad2815d879131f58c4c5850b98ab57eb36a4a3e540e80f7115186754f93719794fd73d7236059a4dbe8169c71f01dd7c4fa1e6e3b3e80e5551c29c428996169e863ca1ec09189138588fe85b759d75c6fad53746f5b6a6ccd6c2a970d1860fcc12998a7e9ca3de51050f3b9cef4a303f80591683ca7fa17909099eb288be46819ec8e93c54bab05b67854d7a105afa20e62dad71c90924a7fe13c5b0ffcb47de697b9ccf4f33abeb151e63a02b1835ad4fb5d4d0d858cd9f0a857801a6aa316076a4acbb4ade6f55dec9b9f77d1633ccb4b391a4f879336af32c7b54d45da9683bbd83ae8d8e1a87baa2e98d1d5c8acb8418a2bef076b9c35c45b97b7e5ee24bee56fef50d7fe9f30449440eea673d96f3def3fad0009054c7f4b1f36fee689bfe6907453f2d08830d7524e311aba74db389df58edfb4f3715c880779352388ed09e5378760c42105f023574cf146e6a88fd7cd42660de906bc57dc7f49f6691378fb8575c637979d445e2e74d36961fe0bc675a84e638f8ac4cbb0b85f365b3a73efa97a4bbba437a6ffcff21b50226741f19400751b5b47c1657a259b427fb44febe3442123faee30eb71eeebdbdaa798ff7d4df03b2e5f08b1f248 -ss = 79462708f754bf842716f900e850c228b00996b0e3801b43f6a928bfd4aa9e50 +sk = f80c63dd6cbda93b6cee719fbad6bdbe1a03f18b3379306ace5625fb38c5edac9c8c94525c85961e14a76082bbd760ccf9b5ac777088b0cc80e0304fbcfc697cfb13dcf1cf777325eb473d11a43da4575b697a860445b02cf75e8b945ff9433a337c754e19453d4bbfd2f07c76e8b7a68b92abc870b56202f7634b9b37902d39bca04653fad9a0e4f0be548abb97c7a1fa18c34cebbae3987f4b3c52a5006629159ac6875276053908b389d931bc7e2871751169b6d81c8d8b5f52854a3e644c5c504675d688ba030e9e78a79e7788522516ffda2ec9946aa9791a634b6ab6d04456003acf348bdcd859567a74a7b73556820f8dfc12e467ae2fd11025e430114a5a60d3b42bb43845721637a69596eb953ab7b3e3b28b3bd9923dbc5189a37e9fe7bd9b763fa905314c0a35387a8e8552bf7135698e15b8d99b0777a0a5af1b7dafc172aa6a4d69202f10351603771876c580a7d24479db0d804b6513a09281f291f2706ab128905663aecb0bb31a41046771449d12c335051a2eb50ca81ace90940a8a6a355b21a9c7505491ea3b48b5323cc567ead909fbdb380fd504c851452bd34f0f65a39ac62d922a3c50a8566edab03358745d701332e4011022bfd4839ae7b6745c66aca80abab8213369e299253b40a7922df02ab70f9723baccb1ad563ad20c5eb8a01ae564be24f40ce91a0f06ec68c0604c74250909d317f8968947a12ea297a279821f1b5377b02653d66897aa526cf51553c268481f7174bd9495da4b0305650358a637a5fc31c99ba7ba304c6811b555e4b1c2f80eb4223c54032d16238861fb650bcba24b127026fba51f5985476103fe1375b94007a06bc2ab048bcb4a78e6d3c748b141be410992733630b8c917f89960273740a595071824a9d02908d52d334373e8a575d5d52e96e5ad0cc95bf2c761ae577b9ef6bead33103e5033e0765d748c409f8a44227b8f55838b38695c5e132f2cb9bfdd7cb8522906e9bc03dda468a04012277417869277e2169c63112e6a8942a1c13aee97300ff4caabf862058b6e7cc16f34c79ba200853701a98d630936a8a595098c8b19820ac91f47451e011069aa688bfbf5ac4ee018c53639a1b0573c8a420c4619166b011e79bd0b843d97766810a48e55d5ce389b5de4a739f77ccc5fb70d52b3ca5d01729935bf7e4bb984576f2acb7466c8248f975bad539b2260568dfa34cf2974d83699761c95405943a7a88374112f8ae79b4d244bf2d683f7cc7a533229bbd8b5e822c8b3449548634ff34bcaeff25a41aa84a1fa1f52f486f89630a7730e4f81ad23c14d6906816a849810951727042ed0782ef26c31281c0aade6c9334a88acb917b781c4f16327196422c24541065b5e80f4374da0853d478625a68f728a20c1c82ca4fcc4d62744fa658059141221a917d6121187d3b621179aa8f7b7cd0904e6e0787f9a5f65eaa78011b6b63290a55542c80a4bfad64677467dd1b12785e6bfbc31c1f3d46db55c0a035604ef658279db3232c675bc0bc97717ca3eb71d4f44caaf1b07bddc90ae982886594f98c41ae7481562cb63d0b2539eec589146735490a4a87b6ec5cc77bfc0810627aa3452cb061a1648ec7cbb4937605471feaa9e92b94016a9a05f585f3c52a993a91a6db73c9ae6364dd2a07b6c2afb449122e76a3b273d424b94343b3bd7e7b1e1366204820819c8ba8970218a22262ca649d8e3223167be77d9a466c860ad7c320b227e873a0d68faaa441c0907805996d64f7759bdeed65cce25b367f02094714be404ca9fe56f6ad99e7d38b5396281314898036493002cb516878db66ab19e09478872c0f76abbe0f754b443b13dd5afe610c1adfc52fb3c82488984dbcc4d9850a0ee4bbc07d0051208c87914a3fa5159c775ad91a552c2fa2ac573787ffa68f456012af600af60183f97cb3e2936ef683fd8e2b5742c6de946b96f825cd0f4807640a532561c70600d4995bf8d2ca543db1eacd68d28b207617c23cd9a57bbf75abcb620d941913e6506aa0123f89c261ce9c39c605646904d22586643f4ad250870afe94dc950913602cc1cdbb77bb9b4df518d1a18ab0c5a25948302c0535908e70f84587eff169114161c3e646740893faaf6b37b42168fdbc494549776d528bfa2c2baf6a00a7498f403347a646c9a58328c59274ae8cff8b82787a29d67336dadd3404fb5509640c29c9456fcf82d4abbcd9899ab108a1fef872617c5ca780970182861c046a594d62757d33247b79e12873493634c16fa70983c9b593814e69bb160120b4129370519327ac2332063992af4370d9871e7a27d13420a6fb16ed9b579d1ca1d36a2094eac96b537109ad83f4df1a1d2e184c309ab65d75a3e409c57578214ea4035657757ab92aa930a76d251a1b87bc6b58f9d900e38156d73a1961c43be2e044314c89ea9601937c0a87d9c4b14cb9e79d83e722cc40b048bec5ccd038304ac0a65bf93b9a787105eb31b5be8845c5c57b9a9caf6243f54438ed84159f5b1b8b246073b1715b0f635e8078991118dfee2ce08887f9680bd4e672d3aa78df8954554d398d1675d785b85dd28a1675944d7597968f22855999f148cceabfabc2358c315076c6b4333a82520a8332543aa100034bb0a6776cd959bcb263074fc28956726d0d99b9d81a7dec14f13ac5ceb5b9eaaecb28e282bb517cac09809073c3d085718d1dbbd75ec83707cc768bc79a3b637d0acb34f37c9c2b4c0eef3233cf91c0bf5a6a9279f6ad136808a9a3515b02e303f4da26f93264c5ab9010a9c8550b9076d6471c196675edb08223672c1a229ad31c05ebc4fab557f46b4bb37dc2b605a87b888a1f475516db87b92451127436eda7922bb45b8b8462122542de969c31622cdd62676a8faac5663a8bc2191711383ef4c1cd7a183bb55cc3c83b566e5514f233d79a2963710c5e5225f7b09b0b6176f451a7f77570b1c17b7ba335511bc3c3feb884e459add3a594dd35662419272499b4e9258dc9aca946ca80911999d455d06407cf9c69e814478a9f5151780bd754a440bc69925155fff0a675e0c322c69174c27cd804279ebd3260feb62c0e24eb63c7a042996c25bc9342c589c340e99999f9c5054ff35c760a43974096c5fd23bb9e51e2483722a132b0277bb24010297c4ba2c58bb286c49ed20b7aae98c5d9b0601f06ee53c1808e07fda53114efc6d36b28b906611be3a29e68a8da76457be5419d70059f7c329aad28692d45892f335d02d36153217d5db379b621e416a54ce8071dfda35f639a04b14aa73b40dedd61e6fdaac86971965c03ab14ae69e8130426fdf830bd57d0974ce284fdcb2d2a697d75e985aa43fae0df266a8056c18cb0bbb52b4ec89d66c21e8 +m = 630f384162dd6f8206cb36d2278af30ccdfc73105029dd507a18ad433503cd7d +ct = 36c576e8a237a88bb107c2587795a2ea217370ddec354468dea7905d8cc9f7673ba981d0e3ea7619f5162f355f3185907cc22c93e35867b1d5d35fb0aa9bb596e3c92a9ddcb2740dc7a76db318ac8ab44ddc8a6d3d8ef45151232087051a97a6bba2898cebc3a58ea632eefdaca147680c249e7bdfba0e0b78422a1d8335210de0c34a515d47f5bbe22d86e58fd7abf379b6c0f933e86fd19356b29b98cc13d294213c2d72d7122e475e01e7d40493656ceebc5ff0d40d34f021e9e7076c9c21c671cb31bf174fd5664114983f3be75804670a7105ee8143ab7e50f681a232b6f50ee658acd9220896855b03fc14ae691e5f4f9a0746a6f28454e280fa71656f4fe76dc66e66f132df2810d16c99f04ba073e5df0063c997d7a9de65c7bcff19a034d017ff6b227e82fe04a00d228ed2ccf0238ad5ebfc605de2292e97e69ee6a5daec30bab63575c471331030d0b3735ab1b3b68931732a63d945b5b3c53785ba423610fd186b156204c5d13cc519bbda512464772d8462d1217ec4e223ce4f43f3da269554c1053252d6a74abd38e2ae20d4cd1fbfb5240c684dcbfcf48e3ec0ed29fb7fb8b5f59afc59b3447731007158023fb5132b0b0a3f7108ffbddf38b4c75525360a2a34dcddcca703ebf1f65aec727aefdf97ce874ca5ac2e370bd109dd3ee36646955821774c498ce47430755c469beaa1771e4ca055856328a6cbad33ad7e80839973937b791aabd1e3978246e9671ab937e9e4d8b87f5d9d861fd8bf173e5a8cb20d20dc21cf07af6274b3f4857a6cd2d42b3c7f474c69f26e09e0bf3ac29bdf0e8114dd68541eeb287e0b93d2922edfbdc5cb4a80a05d793dea7a278b2cd60b81728f5e32e5b939ec3f86782efc882b38d862312bcc0490698df5ae61bf34c4e9b74ebd8c28ba2f5f1535adf34c3f3631ce66762a0fc527c184ab76800ed0ffede64a8167fb289ddf43980cebf2e3a146d9794af666e3ad2d871254eec650c3516dbfae3a8a1c13fa0d4437370ee6c82b3fc412427b495d939a18dbefa352d90d6653d74e0b2aec7f0e1e8fa91fe0e687d3458176f9532b6aa093f7433d2f8fa0b096224c59701189fc028121f794c58cd5f037624569ada1cb360c868f736eb33c4e6714b94544f05e7a3bdce56018c52a470503b455c2f764a682926f48f72ab5b05a3b430ce92b15317de58c60b0aaa2fa68af9e4c234cadfff66c9febcdc8db548812014ac89c8feee8fd29e54e21d1c8ca6fcdc3901d9d699aeb1c6a62979043448d39e92b286287e616d6195f7f1f93edd50afbe397e54da077c0b9d412cf7f6952616630799ddd15e4a2b1f907a98929270a048412a30a237b805a5848dcfe1f2d53ea5b442a8936ab80dbd190efc144cc34216002c80d4cbe8489ce5a7cc115af4072f6489da361c89fc5435999355cdc11430cdb9a7751c5343a51adbb828036010f0796ba2cd64f2c2076cb8de7e3be934d5008f2e5cceb18d31080c392982e3f93e2824545429e64f054acdbd5c89f7aaa164221 +ss = 40f2c0f5f4d2215bbf6d7ce287ea8ea394660b7cf5c7e3dceddf79f663777667 d = 6a1aee5e708c1b47f02bdacce4f56c860f74fc7cfec1ef3b58285b1c8ad7fec2 -z = 230e05b7114ff0395cc6634db1eae8258072d09c09f291e92d6620b177dc50d7 +z = 11fe1ebbd66174798908aeaa16d79212e61d5c30364864fc1e09f1b20f296c11 pk = 5b668ae6721c79e07ee5d26233936d195b62b192058cfbcb0a5a73ea0154d78224ebe84b7b611ced7256d0726492a4b41d4a8d6b2ca73a3668f93a77294439b0d8ca9a725c5278c21d896ca5d706e5f03d71526cb175ade2606e3c3a24d510b4d9816aa6846a77663a80f5ac0d364747307068da942b15cd2e02a3eed2818f9056d697897b509bd5048b178240c841580bbb77a79423996072f39497869007b19442f401009ba1a039c18f191cca42f9551713cd791c9fb847690cf6247bb752a17a9873e97bcc36b793b6ad827acf418543054698d77693f9c38c84354cc81c7a3b6a43acccc32da070fe29411f17a420521fc69c0d09a6425a20affc98681568b8ccea88e54b8dd9f12aef4b3c10f256eb1519671091984a1dbe972a901bb4b24246d7db01b86665374bb6cb841b3cdb2593ba5c96e32c20936ecbc4abfd24af76158b36a2c752a9bba8946b34c414eedb355a3ccb87431221aa2e936b0bd7540e697142da0817b1b51314fc71cf4017f50544474c572c70bd142c676b69afba4292f5f19e88163f2ffba3b1685073c3bbcac825b095b5d259228a459fa7e866e09735e4cab8fa733d4db6a98172846397883394059c635d23c09fbee3cab350b9976c6a8a900c8e1693c3704e779049cd1221ce767651bc23755a3a49c6be0c314a8c501579f7a447070effe0314fa3687ab92090738434e55280a42f22a66eab77a2932b07e6857a32e31a527a2a909865e053a32148b59cbac224c12468e444916ca375dc204c600899f90ba7c854b3646f2af3981797afc4e261c7a93aabc40a93990dabc82564336d01b2447fd35e8e86a0cbf676cfe6c3d229b256e585d8373d26c3ad66161890325533818f845301d9311bc8035714a722ed9206967123e65410562a745fe28f90d50d772a9cded6354132688ddb1ae6956eadd896cfaa71c44aa925fb3b2c6b7d5e47cbae00a91040456f4023174c73dd8a4d50f9714ad1cff718321677a6962587ba6ca82c341f02a7382be9715b41994db91e6d0b487207b9b660793e62470b806a7444b6faab38f48747484062ff443ae1da9e7ef41f797398f0527406787e00e197ac3248ee4a0e5037cf6c754ab9a24d08936e9d3313b99ac18886cfa9972030f1a40e58b25939a21698c434391785a3a98f0445567a9dbc0b4284d49652bb1862bb76fcfc6abe60831cac9aef6469464319411a30f7601b5358568b014e67a76ea42acacd7c3fc2f983bce1bc0667897b92590dc724b5284fecf7c36b3842c61c27af1a2f2ec95899591e707272bea384cb9c8c9409bb26d743faf196d3b8b33119a379d5cbf6823d4176ca83ba4e2a426745f346a42861a7b5343ad3ac26ea8895f24a379c449156123ed91a4ca701bd789da84ba0ed5c707d373634ab7a65680667191f806b6f62cacb4b40afdd649cc9d1650c3a5e40c8346c91b27ec1b1a957c778ec9c968c670fc84645fc07881c54946b5ab0b6033f45afcc6a61fbb99746f3991f5b827c22972939c5ff620bdc4b131eb393d108c56556719abbb978452ff0a12a1d138c9065c304c8514658193232c832b05b0b21a10483c6faab378c6b1415b75b43796f314542b9d7c87c1ca5fc13a12e8459454d36096c3ba38e979a3d4c852032429bfe1e663e0c256c2e93 -sk = d809438c90aea78b897a528534fb009d716de8d513d32168a1537489e52255d00f49c424bf5b5db0e15a3a9b9845eccf287776f9700ff5bb7ab9f40ffeab7f148a9633546846b672cda9ab8a37c8f9711b76474e7975ab7e16675a8626f8648b605066a4fb4a5c255a0a39387b03bb7f618c9ed1b37e488d4b7175b593860f6c97d637a2d8761d3b933291b2ccfa6bacc4dcc4ddbca804c7c55edb9fc5abb503036059da4d2929447cab1bb1cb746ab01293a2b2f2638beb06030d476bcd2c335dd5226b7450f8b5b2b130332dc9210640c10daa5faac16c1381c2a0c4aae3174be4faa53ca9cbf29769084715d6f8c163a0185030b0c7c9621336a9875946fbb73bda9774c07615711451f5594a44313878204c291ab7550aaf981409d4d7cbee727ba689400dab7382605f03873f38566421a354b59a3b48bc8f62a09519d932af5800a9a0c6efd5783bd93483a0aaac7853c890c3ba18835d1a2e8f14bd0768cc7d0b951909825c988648f797f5711fbc654380e661bbc41cf89b088e1410f19669aef65fd817564a4a4f40281b5e16a69be2b503495a4b6b680a08a54fe0b80ae668041aa120c7a363e38aaf2156cee293bfd4396dcc503646acb74b9460142e4476807c058d72c9610e3cbb50a29ed7244419c2c258659b3a8a23e7e69a3047298378424b7a12df3cce34f1364732b292b105eee6a487126815bc0013d66fb7099efd4931e4301d570bcf2facba0b433b9a03147242c298052650416651db690ce81c268381032b17c429a8e418b7e2bb63d30b570da588cbc36dc3798c65f81ef05530b9043310e182e88bb3e58356de408898738c9b3c457faca42b9b81ed7c4118869d5153338ef4260006c6be294b528c779bd6c8ffcb16e2aab439d3032b8ac45216282346200cf1c812033a4f9667af842481d807f92245bb322e04343971a656087cca8ce9bd3117013ae816ba745888a4ad51a167a17482ee5b88b0bba455a565b1d97bd3b9beeaeac0b4f2879a727028d4a1c61900d0770f15451a01964366d8a6ad1b5bc520392d43bca270ccf9a72df3d68b955c4bed0352b3f78151c4716512097bc92f2cf0a2560923d01358ab1b5f8b7bc687f5c110b04c6512372f119fb23bb852398a6f599f4d145a8afabaf8ac8726abaee569c4579b494a01c67e232b93080d5df1542dd59f21760a24747e98e26466280c04d1784d9b581b4cabcac1c3dde1ca8e00588e0732f76b99ec844032d99ef65c8a9ef4a661e78a47b0542b3129e850647862132c208cb9b3986eb5b510ea1854300ee966b0d3bc09922260ffc96b894a181a95a41f1bb3acb2572475b3fe8933fe3902c965678b95512289cfbac30a2b159b8f2b3535e40881d81c204cba9080b9a7b23190965eb660754368955c0c7929e9447b92ac78e7867c1b4770596047fa820c03a11caa3c2ba48120e29ad46c289920222c511c9e18343ab20067f926435c6d6b040955f9394601b805e38a751bc8a1853fc05857eae658a8a7cad729373e73253e7728fdca89e347bbfc48a7bafa48cb167111367f40c93bf71ccf208a891c383ba3b593f2663148d779ed82b23f4b6796209d51425e9168cb22224f39f0695b668ae6721c79e07ee5d26233936d195b62b192058cfbcb0a5a73ea0154d78224ebe84b7b611ced7256d0726492a4b41d4a8d6b2ca73a3668f93a77294439b0d8ca9a725c5278c21d896ca5d706e5f03d71526cb175ade2606e3c3a24d510b4d9816aa6846a77663a80f5ac0d364747307068da942b15cd2e02a3eed2818f9056d697897b509bd5048b178240c841580bbb77a79423996072f39497869007b19442f401009ba1a039c18f191cca42f9551713cd791c9fb847690cf6247bb752a17a9873e97bcc36b793b6ad827acf418543054698d77693f9c38c84354cc81c7a3b6a43acccc32da070fe29411f17a420521fc69c0d09a6425a20affc98681568b8ccea88e54b8dd9f12aef4b3c10f256eb1519671091984a1dbe972a901bb4b24246d7db01b86665374bb6cb841b3cdb2593ba5c96e32c20936ecbc4abfd24af76158b36a2c752a9bba8946b34c414eedb355a3ccb87431221aa2e936b0bd7540e697142da0817b1b51314fc71cf4017f50544474c572c70bd142c676b69afba4292f5f19e88163f2ffba3b1685073c3bbcac825b095b5d259228a459fa7e866e09735e4cab8fa733d4db6a98172846397883394059c635d23c09fbee3cab350b9976c6a8a900c8e1693c3704e779049cd1221ce767651bc23755a3a49c6be0c314a8c501579f7a447070effe0314fa3687ab92090738434e55280a42f22a66eab77a2932b07e6857a32e31a527a2a909865e053a32148b59cbac224c12468e444916ca375dc204c600899f90ba7c854b3646f2af3981797afc4e261c7a93aabc40a93990dabc82564336d01b2447fd35e8e86a0cbf676cfe6c3d229b256e585d8373d26c3ad66161890325533818f845301d9311bc8035714a722ed9206967123e65410562a745fe28f90d50d772a9cded6354132688ddb1ae6956eadd896cfaa71c44aa925fb3b2c6b7d5e47cbae00a91040456f4023174c73dd8a4d50f9714ad1cff718321677a6962587ba6ca82c341f02a7382be9715b41994db91e6d0b487207b9b660793e62470b806a7444b6faab38f48747484062ff443ae1da9e7ef41f797398f0527406787e00e197ac3248ee4a0e5037cf6c754ab9a24d08936e9d3313b99ac18886cfa9972030f1a40e58b25939a21698c434391785a3a98f0445567a9dbc0b4284d49652bb1862bb76fcfc6abe60831cac9aef6469464319411a30f7601b5358568b014e67a76ea42acacd7c3fc2f983bce1bc0667897b92590dc724b5284fecf7c36b3842c61c27af1a2f2ec95899591e707272bea384cb9c8c9409bb26d743faf196d3b8b33119a379d5cbf6823d4176ca83ba4e2a426745f346a42861a7b5343ad3ac26ea8895f24a379c449156123ed91a4ca701bd789da84ba0ed5c707d373634ab7a65680667191f806b6f62cacb4b40afdd649cc9d1650c3a5e40c8346c91b27ec1b1a957c778ec9c968c670fc84645fc07881c54946b5ab0b6033f45afcc6a61fbb99746f3991f5b827c22972939c5ff620bdc4b131eb393d108c56556719abbb978452ff0a12a1d138c9065c304c8514658193232c832b05b0b21a10483c6faab378c6b1415b75b43796f314542b9d7c87c1ca5fc13a12e8459454d36096c3ba38e979a3d4c852032429bfe1e663e0c256c2e93cf754f2ee43694865a09ca7beb0deda9b1328fd0abdf30ca5c338e27e8be04b5230e05b7114ff0395cc6634db1eae8258072d09c09f291e92d6620b177dc50d7 -m = 52b19fea232c9154a3e431e9d69cda40013cf2d485c3cd027ad24e645420420b -ct = 78e7b98228bfdf95f03288762317f3eb2ad2750f51d4078a9fd1f14f002ac59489b6ea1ad30d86ec7ad46296f8d0c69db4ac9970137901a93f02377f7af74746c5620a853bdbeb7d706c9b743a78f5ac0f80dd34ea8cc9737ec8db9b1da502f14ba2d578ea6836ad314db2a07133d7c0f80e3a3bd196361ce8e8f24884dd9f602f894656fb68520ba493d064f93f48a9d4d219c8312b9476859a462cb15961f0b045cceeb860cef99d4496abab16a5fffc21483e9fdaa826aa9b960f395e8ae4c433e69d10c2687bc17005befd809ffcc76070634bf58dc37ccb9806f530ef6ada63ca422a35ca1349a74a5d0ebde8036a0801f3f61e838242189d9cb1a8725be3b93e07ac509cace9a58426d9cc6d084beeff08d8fd3f1020ed2e0a3c0bb7e380049c76b4c8d18f8ba2309a813cf36f247006c247c6a418fe9f070703b80fbcd2ad45ddb3f9707c4f685736c680376d622f79644c2b4eac7858b960c954c7f1772e708ceda6812adb59a6a9a277337c44d0a3156327fed348976d07b500ef61046d2b881b3882ab2358ef741edd947d72a0eb26c19912de1d2c77b6f523d277ab762585bdb095162aca9fd027bbe2bcbb6c4c57ec0b01194363fe086048fca61489af4e9a06d8367b28eb465a9f8bf986c207b26bb9ede3200d6f407dc957a0ce7866882e83cd89af5702f38fbdc974edab62f24bf50c53037437260659ea579348950652f93162bf1a9bcdbb72e44d04b4b3c3975588922eaff1569837704cc6bb60404e589bb0e1cdbb79e503d0f946186fd35b4e0a294e2cefde2c0dcb2b2383348f899176fa5b620b941c68805b52959d0571ec26b9dbdd75f0895561396b3ed20baa07b7d20d0def905b805dbf334601beb359b93e9d30c56d91ad58cd93193d7db67deddeb02d05b64b23f765368524cdfd40f8f59dfd5ca7280a03e0da103db6976331514b965f1d71861a846a59cff73865bfe35690ae34ba8978876c809bdbade6726e4aba2447df9f0399a06844b1cca43728edd3fa348b34b7f15de627550b1392dd3e0996ee3d8b7351d6a5601c796c4fa317641100ecc8ea2bc8827b6b88344fb5eb4aecc3f24b78ffdcd278dc5d5c7566031da41bf4b4af39d11f5355df82fa68986ff0e84e931b520f600030495e6ddb4ac02f3dfea6f182fb1332c5f6180d476501118d32a79217a9fdc3ca8dbf3b942158a0cd42c44a426a03101e444cc84daed5cb8a17da4e84f56f2c0b9a665e4c144994d982595a22d7e4f1f1e1937e8b0b4c70959621e0ee3f92fea44ff164b6f7ddba625c97152494834e604526b8caf76f995b18f9afb0bd263ada10751f45df9ff83fdf1a64abf7874ee144e225e39eb4a22179622e7d45df70bc61237d35ba64e11468c408beba085efe12aded232044f4be8ebbc019512eae687ada59b8ed47ed82d2b593c46080a75d2b9dd5bd6a612c7c1af0d76a231df4d3bad49f09ef01a38652dc84ff60f3e6f22b471113bdc51dd5c33b73cc65ac2c701f4cbddba9b361680fbbd0b4 -ss = bf535eebd3721e4d832fa4c11369808a154faed4602220b4070b78900b008358 +sk = d809438c90aea78b897a528534fb009d716de8d513d32168a1537489e52255d00f49c424bf5b5db0e15a3a9b9845eccf287776f9700ff5bb7ab9f40ffeab7f148a9633546846b672cda9ab8a37c8f9711b76474e7975ab7e16675a8626f8648b605066a4fb4a5c255a0a39387b03bb7f618c9ed1b37e488d4b7175b593860f6c97d637a2d8761d3b933291b2ccfa6bacc4dcc4ddbca804c7c55edb9fc5abb503036059da4d2929447cab1bb1cb746ab01293a2b2f2638beb06030d476bcd2c335dd5226b7450f8b5b2b130332dc9210640c10daa5faac16c1381c2a0c4aae3174be4faa53ca9cbf29769084715d6f8c163a0185030b0c7c9621336a9875946fbb73bda9774c07615711451f5594a44313878204c291ab7550aaf981409d4d7cbee727ba689400dab7382605f03873f38566421a354b59a3b48bc8f62a09519d932af5800a9a0c6efd5783bd93483a0aaac7853c890c3ba18835d1a2e8f14bd0768cc7d0b951909825c988648f797f5711fbc654380e661bbc41cf89b088e1410f19669aef65fd817564a4a4f40281b5e16a69be2b503495a4b6b680a08a54fe0b80ae668041aa120c7a363e38aaf2156cee293bfd4396dcc503646acb74b9460142e4476807c058d72c9610e3cbb50a29ed7244419c2c258659b3a8a23e7e69a3047298378424b7a12df3cce34f1364732b292b105eee6a487126815bc0013d66fb7099efd4931e4301d570bcf2facba0b433b9a03147242c298052650416651db690ce81c268381032b17c429a8e418b7e2bb63d30b570da588cbc36dc3798c65f81ef05530b9043310e182e88bb3e58356de408898738c9b3c457faca42b9b81ed7c4118869d5153338ef4260006c6be294b528c779bd6c8ffcb16e2aab439d3032b8ac45216282346200cf1c812033a4f9667af842481d807f92245bb322e04343971a656087cca8ce9bd3117013ae816ba745888a4ad51a167a17482ee5b88b0bba455a565b1d97bd3b9beeaeac0b4f2879a727028d4a1c61900d0770f15451a01964366d8a6ad1b5bc520392d43bca270ccf9a72df3d68b955c4bed0352b3f78151c4716512097bc92f2cf0a2560923d01358ab1b5f8b7bc687f5c110b04c6512372f119fb23bb852398a6f599f4d145a8afabaf8ac8726abaee569c4579b494a01c67e232b93080d5df1542dd59f21760a24747e98e26466280c04d1784d9b581b4cabcac1c3dde1ca8e00588e0732f76b99ec844032d99ef65c8a9ef4a661e78a47b0542b3129e850647862132c208cb9b3986eb5b510ea1854300ee966b0d3bc09922260ffc96b894a181a95a41f1bb3acb2572475b3fe8933fe3902c965678b95512289cfbac30a2b159b8f2b3535e40881d81c204cba9080b9a7b23190965eb660754368955c0c7929e9447b92ac78e7867c1b4770596047fa820c03a11caa3c2ba48120e29ad46c289920222c511c9e18343ab20067f926435c6d6b040955f9394601b805e38a751bc8a1853fc05857eae658a8a7cad729373e73253e7728fdca89e347bbfc48a7bafa48cb167111367f40c93bf71ccf208a891c383ba3b593f2663148d779ed82b23f4b6796209d51425e9168cb22224f39f0695b668ae6721c79e07ee5d26233936d195b62b192058cfbcb0a5a73ea0154d78224ebe84b7b611ced7256d0726492a4b41d4a8d6b2ca73a3668f93a77294439b0d8ca9a725c5278c21d896ca5d706e5f03d71526cb175ade2606e3c3a24d510b4d9816aa6846a77663a80f5ac0d364747307068da942b15cd2e02a3eed2818f9056d697897b509bd5048b178240c841580bbb77a79423996072f39497869007b19442f401009ba1a039c18f191cca42f9551713cd791c9fb847690cf6247bb752a17a9873e97bcc36b793b6ad827acf418543054698d77693f9c38c84354cc81c7a3b6a43acccc32da070fe29411f17a420521fc69c0d09a6425a20affc98681568b8ccea88e54b8dd9f12aef4b3c10f256eb1519671091984a1dbe972a901bb4b24246d7db01b86665374bb6cb841b3cdb2593ba5c96e32c20936ecbc4abfd24af76158b36a2c752a9bba8946b34c414eedb355a3ccb87431221aa2e936b0bd7540e697142da0817b1b51314fc71cf4017f50544474c572c70bd142c676b69afba4292f5f19e88163f2ffba3b1685073c3bbcac825b095b5d259228a459fa7e866e09735e4cab8fa733d4db6a98172846397883394059c635d23c09fbee3cab350b9976c6a8a900c8e1693c3704e779049cd1221ce767651bc23755a3a49c6be0c314a8c501579f7a447070effe0314fa3687ab92090738434e55280a42f22a66eab77a2932b07e6857a32e31a527a2a909865e053a32148b59cbac224c12468e444916ca375dc204c600899f90ba7c854b3646f2af3981797afc4e261c7a93aabc40a93990dabc82564336d01b2447fd35e8e86a0cbf676cfe6c3d229b256e585d8373d26c3ad66161890325533818f845301d9311bc8035714a722ed9206967123e65410562a745fe28f90d50d772a9cded6354132688ddb1ae6956eadd896cfaa71c44aa925fb3b2c6b7d5e47cbae00a91040456f4023174c73dd8a4d50f9714ad1cff718321677a6962587ba6ca82c341f02a7382be9715b41994db91e6d0b487207b9b660793e62470b806a7444b6faab38f48747484062ff443ae1da9e7ef41f797398f0527406787e00e197ac3248ee4a0e5037cf6c754ab9a24d08936e9d3313b99ac18886cfa9972030f1a40e58b25939a21698c434391785a3a98f0445567a9dbc0b4284d49652bb1862bb76fcfc6abe60831cac9aef6469464319411a30f7601b5358568b014e67a76ea42acacd7c3fc2f983bce1bc0667897b92590dc724b5284fecf7c36b3842c61c27af1a2f2ec95899591e707272bea384cb9c8c9409bb26d743faf196d3b8b33119a379d5cbf6823d4176ca83ba4e2a426745f346a42861a7b5343ad3ac26ea8895f24a379c449156123ed91a4ca701bd789da84ba0ed5c707d373634ab7a65680667191f806b6f62cacb4b40afdd649cc9d1650c3a5e40c8346c91b27ec1b1a957c778ec9c968c670fc84645fc07881c54946b5ab0b6033f45afcc6a61fbb99746f3991f5b827c22972939c5ff620bdc4b131eb393d108c56556719abbb978452ff0a12a1d138c9065c304c8514658193232c832b05b0b21a10483c6faab378c6b1415b75b43796f314542b9d7c87c1ca5fc13a12e8459454d36096c3ba38e979a3d4c852032429bfe1e663e0c256c2e93cf754f2ee43694865a09ca7beb0deda9b1328fd0abdf30ca5c338e27e8be04b511fe1ebbd66174798908aeaa16d79212e61d5c30364864fc1e09f1b20f296c11 +m = a0f6aa73a5d09451a39087fd84f6872ce2ef031e6c02468b433362311346fb42 +ct = 464d1b25970ff541de77d2a12d814ed5897b2e724f70821c0828d8b00ff34416f55e261aafd0691d58ca79020faa84084420d974ab77399c87fc6ce6834c3f7c121223c2f5ded3dfaae2cd18e341c38434abb716c9c48fde561efee787a33c2cfa09a0edf717ba7d13d11e5a9bf93245d34c5537ce099ae6c8b0d0c730cf12515b1edfeaa17c2fd2f3021d135b270a1b03ce65755a625cc60d248e830251bf7befafb72b3157d131a258ec21855e38caf51fe7d2c7a0a9c6dc4320a10fe5524e4b4936cca32680b7592fa0c320b0d3bcec79ece88657c069b912cbdf04ac2bf30353940282569d080c1d9bf98c37e8b2839eb7f8dfbb9f4a84b7a6167daaaf6728b130002607f0b31a215eaf7d709d8687aece3a4782f0a6467bc6ad13c97cab738c9eca5f739e1a3fa68e53c453b346e24c7f08f0c7d8309abb44f4ae8a3626d453b7c16bbf46e8ed27a2b1e35e46055278f217e12f3b8fab050f77f35572d332865c31e77eca04ad4c51493797ba02b2f2ea9e1c2bcd486d6bce5541756073edfbe233d81fc39ce6d2b1be6b2c55833aa8770dbbc820b8a51a7d95ba317395bc277067a545224e4e9ebde134c650db521691bcd115819bd4a46acfd64bbc873d9e64422f6aa38369765d366453dfff6edd31f1e1bf2d214ba17d9ff4d5fc1272f7cd6ac33774a3787d89a500ff7b96a729289c39b967d6ed5bf82eafd3267d68e0a575f4314c8ac6d35596931e762d148e0ac09801fbaf88819f6749e220c490c1e4d8bebc8c34a4076968edd3dbe0658910846c801bbc6d6cb628de6ccfb56d912cbc4f7366a89976d94f3a1087acf122f72afc5b3e743d4654c916362b50d2c27ba867491e842b58d3bd0d77dde7ac118dfc1fbf5d68f80636679618ad0fc8550089ed8a32f975320ba341a75e172354b03b356c98562846d6b511827095d70aeed21d1cd5bd80e2f69ee6e6673139e849078073438f1844db2831c89d964bddca7c4c0c754f9c7856b6fba3ed299c5c634bbc3c2f59d79dd6758594276aca04f04b18fe6338eb158ef90a75f70e563e3451bff1cce0236c72abe32a6cb4dc5857bb2c0c811abbafafebb65c461bbaa278ac7c94792c29589ffc36f233f639a9316c30a8742c48c3b2bf5b09a6fac44efda6868040d5cf9a49285d28e3d2ee74b2c92dc62354df5ade85eb95453fc2ca9737d43766bbc8d27cce89b14f3e3807d82403dc9cae99a68c9734f893624270e5f7a4ac8edbee26a50e45c0a8ed040a98f40a0abafceb307e1b7f23c52ff4f5db811c636b917b79cd889a493bd20528c0f15c24ce7186f8d2fcdd78cc575cd1085e0536f6c1265be3aa7d460c754afe99bf1ed2d3d3bac980f2b90bb144ec91a76f423ae6c900e02711976c941ba7c67daf2f5ce55f97375392326c0d95ab800f808980502bd73f78dda25ccc31b81a5cb7325f2f8d66c9d3ba985297e65ab1bcdf11cf42a3f129405111da41cab70905ce953ae7c8f7fb85f795205f22606fcab067a7553fda68cd911629dd08 +ss = b82e5857200c398c297840cc0b14b83510cf03de5d85e71584ec22a38a830239 d = 6396b328b100e4c7f4bcae69875edea1a1982421558c608c13c592bf7b5d0fef -z = 1100ced48add211a5c937b8d6079d8e271af3f949edc61f70e60453aef20dea9 +z = bae49824e1a023a302cdf665aec15b60f7f77ab2a0fffd5246d07ae975a0614e pk = 98cca518437873f144e7e261e8465b3720582cf7706d684f84e618e8834f35857d4a8bbc303134b5e235dd1b2387a81c663876c5530293f99571b97ae5a299df0c012e9662947089c9f81687722fbdc30ce50689690b30932a8a3ce7bcf6a353bf988dd310a2c347bfe6b30999e69c455b9f472b9bca0216c84265e5d9486f6a7f1f3125c16467ae41b9f85180497b255adb06a406a13a221388e14c0de8cf73b6a952c2b2501644831c3700b7c273b7a3180a7641621f33b41c0f9255efec1025fc46f658c64fc89352c54c264b97e5a91c2386cd3790605127740da2076eab4876e128f3746843205b8328cfcdc65feb92c2d973bbbfc68fd7a46db51641b7830e73589f41d413fb571c37685dff142863078acf00043395bfab3589b0cb435981b84e54318ab46e398389b8e146cab2a9666330ec4c90a652a0f036951519880a45bf5d000d4e40c6b6554cd222880d0b91b67153c43909eb2c0926354d436c2318c593f9fc214b548e17245c0c9b83174a6783508b97ac6a8d8a88ecd278e2e52c3c9138b1685dabba2bb1425075b298cb9120e790afdcb9792c88698cc156ca5a789474992f470b1d554514823e87bcae52ccc872c951b0c24b4a2b0460f488ee7768d56b07dc79b3b4cc321e5878ac0a5c3146aaeb6ca123206b0c7b5aa6e0bec5d0a903ac9415da345af199cab86ba99234c9526e6e8812f6da8001f31337b8498a8374ae527b6032a0cf3142d1d34181a5afd6aa432a588ae1f644f5a100fa593f0ed2753f441ae5677484738ff694abcec58781b06d0213579f827fb4f97b3fc343a445ba3035aee989685e7b20be6103fd39afabc334417379bd666181925ed369680b851a54c41b6546b9c04ca69742b2a814763674abc9cbcb03e96f9466cbeaec698cb5c9acf814e90887f8d15bee556b28f50b739185eb7a5a06e896ed0048bbd905e016436477a68ebbab1e172928ac8fa9a8b0a0d999b135a753a29a47d0136865b0f382572b0697d0fccadc8a77c1b591bd73b639e13f9c21b6f0969b0aba3ea807303377afe0f49421b68d0712823fc448fa9a468fa000d5964bcf9a9e7fc92dece03bf6732a36935b25023b47fc94c15795dd983bb4531e935a19778305d0e8a75c2cc770eb46b6d5759df503bac33f0669c775729c59eb94d48223d763880e8b58473683cee48e309380f7b442e6c83f0eb9bbb0b1ae805b1498471ac1149d578b454041aaa2f5cf13390f10a72df3385c6a8a1f990bb946f4c888e585069b5849882788a1be27da0725276ff9db130519050b74cff69a68534222499cc61f5845a8fc0ac5629e0cda20d3ea2f0046b78a2267fa0187f15721ec53083018772097892be85c1be99480247e6e30aac8fa2c593c630b981e57515e0f7414cfa8b606d931280a950e567c93b319fd23ca1b682fc0b960dd309f80455cabbbc71979c59a025008462c0681465d748ff2a6ae24e86c79922e2845568ceb5063fcb81b78295b93a80b221ae7e14a9a9bb7182c1acf347f2fa73784835f3375a29ed05e4bd120a119cd0fda29f76a1eb873aa88d0cb3c661ff0d5652f2b4604e2bdb1497486687f17b8ce7a096a59e0922260ae99bb7412e306cc0b25940ffddf25214ee4dd4e1aeb851878e2493c05e2bd5a30b5b99d369454 -sk = ba45541ce7b3de134e6b17030710bcce09bcdba837f23566dbf1928c99cffcb674cab9c41b3151faa3078177b9126c7973e25687452da075965baa804276859b092d9d4095b5e3a27943776da65262511f62a3aa875b258c7929b502ad6cba00e3b38011c943310bb5cb24791a71bc5a2796d6197192d9594936089d88bfe976058ca16c152193838a3d7306b312f8160df15288f9063514a403acb76be298f5c92d65a90a0bcb28a4f438ea447a9c881808a18a2f5c3c1b876b3ae94ed28478fddc1e98a64fd797a0931cc4a18777e5d481d9e92c0cf2b5f5a58635b368cbc8c25dc733550774c0861795939b74e83a23757c212927805663de14a0fa00cf10f51850dbb4cdd7caabd5c09b2818cc0a09a58169e3827969518e8fc7bc8325b45656861a848347a358ef1155e5d43f7910a738a132c8892977075c9a19c1eb6399f2e7bf1dbab593a907bda509ef5b0de35a222fc951a0829a838591a0441294c35ca0b86be6fc02e1ea1b7d4004e5bcbcaa2a280ef37067d72790bb5d59587e050272ddf8b117286fe80c1bbf078e6d259a9b53bd6ff1b43a86b24adb27bbfa3546c179b8f295726ab768bc7fc8dc2a62715030d93581165f1e4a03d42374a31039d55741c9c49a1c807468cc826f0380b90c9c3f319cf1f73811d674b05c147bb2613ba56365ea04872b9244b236b0d480dd0b47b7797a23286269f97450e13791b205c8aa3310b72f3423b263d93ca320ae1ff04fe6e3bb703a6c4fc17dcfb6341aeb485576b53d1cab71d9049dcc68cf86008bdb6152994e70152f96c8ae4a0819102ba5077b26086b2dc6b04b324a31aeccb372cc18976bb9da42c8eba89640149acc544511546c5dd293c3173ef28ca92b85b86188bc6fc09e2725307a2c3802c6086f922cddc62b5989c5a6846496d2bcbf7775a4b3737ee6c6b69cc3373c96e79675cbc781146c7a78824aae4322e1a69dbf64336efc3348e414ecab04010b9f7399310253679b48af3c23961bf345b35172c1d472f9a31274c730373a29154a581631a0916a21259a46efa387b36cc9272b5284085709e46f07babfcc835959d841b3647f51147a013987dd9556111435124101e5d42ff0848bfe2169a49485c094226ec6994cb50ba9f6476fb2a39522a08145b987593f2fe67a2b2ccb036c4e6540145758c6745a389955ce9744cb8030bd85a838a5904198b318a4d265eea61c70e5a34156ba00a53f05c9be7f1ac214f6a75dc8154eeccec7ca6218b34b8e063231c450ea3a8b48f7c97d9c58fed709c350a28a34873ce76f0fc7a4237aaea0804e2d3874d726aec41c3ac8e02706da459c01736b7a5e0936b3abccbebf146350ea2a246c225ba897473817f28c8d6bbb55fe98a48de682a91770edb1bdb190a0efd677a7fc29fc62690668924cb5887f4078179aade85c0dc8e3529862b2760b187b7778a56c6b026769e339aca5f8c948801fddc4acc3bcc7ff548dd9fc12cd7a394c24a7cbe18d3d22ae3b48beb295905b217af384393705107f33b02547822b0a2cb1b57b6fc637e071c0fdba2f87f010d0c81c42db454f5c7be69ac0069c33330bc40532248fd0b90a28908f7471fbcc543fa94403818698cca518437873f144e7e261e8465b3720582cf7706d684f84e618e8834f35857d4a8bbc303134b5e235dd1b2387a81c663876c5530293f99571b97ae5a299df0c012e9662947089c9f81687722fbdc30ce50689690b30932a8a3ce7bcf6a353bf988dd310a2c347bfe6b30999e69c455b9f472b9bca0216c84265e5d9486f6a7f1f3125c16467ae41b9f85180497b255adb06a406a13a221388e14c0de8cf73b6a952c2b2501644831c3700b7c273b7a3180a7641621f33b41c0f9255efec1025fc46f658c64fc89352c54c264b97e5a91c2386cd3790605127740da2076eab4876e128f3746843205b8328cfcdc65feb92c2d973bbbfc68fd7a46db51641b7830e73589f41d413fb571c37685dff142863078acf00043395bfab3589b0cb435981b84e54318ab46e398389b8e146cab2a9666330ec4c90a652a0f036951519880a45bf5d000d4e40c6b6554cd222880d0b91b67153c43909eb2c0926354d436c2318c593f9fc214b548e17245c0c9b83174a6783508b97ac6a8d8a88ecd278e2e52c3c9138b1685dabba2bb1425075b298cb9120e790afdcb9792c88698cc156ca5a789474992f470b1d554514823e87bcae52ccc872c951b0c24b4a2b0460f488ee7768d56b07dc79b3b4cc321e5878ac0a5c3146aaeb6ca123206b0c7b5aa6e0bec5d0a903ac9415da345af199cab86ba99234c9526e6e8812f6da8001f31337b8498a8374ae527b6032a0cf3142d1d34181a5afd6aa432a588ae1f644f5a100fa593f0ed2753f441ae5677484738ff694abcec58781b06d0213579f827fb4f97b3fc343a445ba3035aee989685e7b20be6103fd39afabc334417379bd666181925ed369680b851a54c41b6546b9c04ca69742b2a814763674abc9cbcb03e96f9466cbeaec698cb5c9acf814e90887f8d15bee556b28f50b739185eb7a5a06e896ed0048bbd905e016436477a68ebbab1e172928ac8fa9a8b0a0d999b135a753a29a47d0136865b0f382572b0697d0fccadc8a77c1b591bd73b639e13f9c21b6f0969b0aba3ea807303377afe0f49421b68d0712823fc448fa9a468fa000d5964bcf9a9e7fc92dece03bf6732a36935b25023b47fc94c15795dd983bb4531e935a19778305d0e8a75c2cc770eb46b6d5759df503bac33f0669c775729c59eb94d48223d763880e8b58473683cee48e309380f7b442e6c83f0eb9bbb0b1ae805b1498471ac1149d578b454041aaa2f5cf13390f10a72df3385c6a8a1f990bb946f4c888e585069b5849882788a1be27da0725276ff9db130519050b74cff69a68534222499cc61f5845a8fc0ac5629e0cda20d3ea2f0046b78a2267fa0187f15721ec53083018772097892be85c1be99480247e6e30aac8fa2c593c630b981e57515e0f7414cfa8b606d931280a950e567c93b319fd23ca1b682fc0b960dd309f80455cabbbc71979c59a025008462c0681465d748ff2a6ae24e86c79922e2845568ceb5063fcb81b78295b93a80b221ae7e14a9a9bb7182c1acf347f2fa73784835f3375a29ed05e4bd120a119cd0fda29f76a1eb873aa88d0cb3c661ff0d5652f2b4604e2bdb1497486687f17b8ce7a096a59e0922260ae99bb7412e306cc0b25940ffddf25214ee4dd4e1aeb851878e2493c05e2bd5a30b5b99d3694543a842153dee9e035299d7e268c9492d71188f9fb24bdc2dd20c1ddca647a15231100ced48add211a5c937b8d6079d8e271af3f949edc61f70e60453aef20dea9 -m = 64440adb05db3308b189bf999f9ee16e8ee3a6ccbe11eebf0d3ae4b172da7d2f -ct = d793dfe0884a98cd776624207687ca1753b04cef55d5dc4b9c5c94264ed0aa15b03251ee0faf7c60c6221fc790f6e32c36df947183ba0f3371cae13ef196f36ee80ed758df37ac6d9f45f14f351849fa5a18a4b9904b4e47b400b7bd80f7f458b92ee9a1577289a0cbabe7b8d7bdcc1d9bdb1605c96b509514dbf7fc9c84327f692526233f6723b04791caeaf19b687052cb36cf248a254d4b1abe5c2aa0d7ede7174dcddb2fde19f5e91014967169a2db30aa756d794012c290811361ddf4818c6bc1d74c7bb6e7830051c7b3ec51d66c3b1613c8144711ce70585f8fca8001bcd9ca247dfe8449bff0f7d52f384e496617449f003f145dda4b53015afecc31a72e3803ab561c35a72716d8ce3566a66aa0e921a1098ccf09712086c22c1ce4951791a46c78cae8734b49c571710ee0ee2cf1138e1fae19455c4c2b573eb8183dd9892e3d0dc150dab5acd32f8237b680865bddcaaf0d5176ffb2382dcd75edb2cc8398ae9789b7c49d44e4d4d18e705caa7e3021229a52d45b12677d8d208efe1da2ed0f17c60bef179c36a5b40b4d2b52a43cb251b65508148666111078d1d0e9acd129526e48cc09148941e1b53e31392c6bfdb1406b7447589d2fc121e106830935b94aed6aeb66df8fe843cce9a0b91ac388e5c4c023e2522026cd518f48345411590ae042b607bd38e33fd15398c721daa0a1023aeb4704b34125ccd18856ee95910b9044a83560d6ec6b2dd6bac5ba82f47275b39996be603485b9a8c8cfc71550f21f1f98458bb29fdb6d1700d47603f64734a910e143094dc3b0fd1b035c6ca03c57b009f4e3dac49efbd95d522a130cc70a98145f1b670463bd70917fa0aa10514584f180ad500fce41902d7c5d1ca1e0bdba213998fc5050419e2c5d1a149a9739dad7f64b778d1cf6349939ca95bfd6797ddf9e6fdb14b770874a7f29a8c3caeed48cd08bcd44931b194e648fefa354cc754d2dbd1c829dc084ee2292baef7f221871e783e5adc8dc8b2385d24cf98be75c43628d990ee4b3ca96852f83a300e8fe2a84c1d894b0625036be83ca29fe97c56dea2e55c0261c04d5646f2e18cbe6aeee22eac0fc9e1a29db9df885a612dab313ecbde8ca25da4d689b2d426b55b4fe36bf4512c730f55355cb5a7a980117fc1e63e50be364d54c91b3001e89c36158d266f36d403cfb90f9cf73b86fb7435fea20581adfd570da4c4c48fc689c1b67b4f457b7ec1c96e9c484fddc58a27954402cf1d8e2c44bfd518f6b509b8178d4ba3c1b7bd2d1e8cf79c031aaac3dbe6a9dbd211796a733abaaf7f43684391368c98069cc42d069815eac5046e13a8bd6dd39bc4ed2d3f292da8ee67003947ab77903d72f97e9bdf0c3af3d916534400545a3075570626f51c00f2bcb9dc611f0bff8807bba0a5e8d28ca8b988ead01b7cd106d61f5d2e72fa46f8b9c80de2d12778ef8a59444af28f101b243660ce379c006b8af92b26c8f1b6186390fec31183227fc770aca96b4583773fee1ed5b1c96949d5dc66f2e76 -ss = 3602269c7af9fe28ea1019208dc3ab33ba09239d435c509903ca67345717e845 +sk = ba45541ce7b3de134e6b17030710bcce09bcdba837f23566dbf1928c99cffcb674cab9c41b3151faa3078177b9126c7973e25687452da075965baa804276859b092d9d4095b5e3a27943776da65262511f62a3aa875b258c7929b502ad6cba00e3b38011c943310bb5cb24791a71bc5a2796d6197192d9594936089d88bfe976058ca16c152193838a3d7306b312f8160df15288f9063514a403acb76be298f5c92d65a90a0bcb28a4f438ea447a9c881808a18a2f5c3c1b876b3ae94ed28478fddc1e98a64fd797a0931cc4a18777e5d481d9e92c0cf2b5f5a58635b368cbc8c25dc733550774c0861795939b74e83a23757c212927805663de14a0fa00cf10f51850dbb4cdd7caabd5c09b2818cc0a09a58169e3827969518e8fc7bc8325b45656861a848347a358ef1155e5d43f7910a738a132c8892977075c9a19c1eb6399f2e7bf1dbab593a907bda509ef5b0de35a222fc951a0829a838591a0441294c35ca0b86be6fc02e1ea1b7d4004e5bcbcaa2a280ef37067d72790bb5d59587e050272ddf8b117286fe80c1bbf078e6d259a9b53bd6ff1b43a86b24adb27bbfa3546c179b8f295726ab768bc7fc8dc2a62715030d93581165f1e4a03d42374a31039d55741c9c49a1c807468cc826f0380b90c9c3f319cf1f73811d674b05c147bb2613ba56365ea04872b9244b236b0d480dd0b47b7797a23286269f97450e13791b205c8aa3310b72f3423b263d93ca320ae1ff04fe6e3bb703a6c4fc17dcfb6341aeb485576b53d1cab71d9049dcc68cf86008bdb6152994e70152f96c8ae4a0819102ba5077b26086b2dc6b04b324a31aeccb372cc18976bb9da42c8eba89640149acc544511546c5dd293c3173ef28ca92b85b86188bc6fc09e2725307a2c3802c6086f922cddc62b5989c5a6846496d2bcbf7775a4b3737ee6c6b69cc3373c96e79675cbc781146c7a78824aae4322e1a69dbf64336efc3348e414ecab04010b9f7399310253679b48af3c23961bf345b35172c1d472f9a31274c730373a29154a581631a0916a21259a46efa387b36cc9272b5284085709e46f07babfcc835959d841b3647f51147a013987dd9556111435124101e5d42ff0848bfe2169a49485c094226ec6994cb50ba9f6476fb2a39522a08145b987593f2fe67a2b2ccb036c4e6540145758c6745a389955ce9744cb8030bd85a838a5904198b318a4d265eea61c70e5a34156ba00a53f05c9be7f1ac214f6a75dc8154eeccec7ca6218b34b8e063231c450ea3a8b48f7c97d9c58fed709c350a28a34873ce76f0fc7a4237aaea0804e2d3874d726aec41c3ac8e02706da459c01736b7a5e0936b3abccbebf146350ea2a246c225ba897473817f28c8d6bbb55fe98a48de682a91770edb1bdb190a0efd677a7fc29fc62690668924cb5887f4078179aade85c0dc8e3529862b2760b187b7778a56c6b026769e339aca5f8c948801fddc4acc3bcc7ff548dd9fc12cd7a394c24a7cbe18d3d22ae3b48beb295905b217af384393705107f33b02547822b0a2cb1b57b6fc637e071c0fdba2f87f010d0c81c42db454f5c7be69ac0069c33330bc40532248fd0b90a28908f7471fbcc543fa94403818698cca518437873f144e7e261e8465b3720582cf7706d684f84e618e8834f35857d4a8bbc303134b5e235dd1b2387a81c663876c5530293f99571b97ae5a299df0c012e9662947089c9f81687722fbdc30ce50689690b30932a8a3ce7bcf6a353bf988dd310a2c347bfe6b30999e69c455b9f472b9bca0216c84265e5d9486f6a7f1f3125c16467ae41b9f85180497b255adb06a406a13a221388e14c0de8cf73b6a952c2b2501644831c3700b7c273b7a3180a7641621f33b41c0f9255efec1025fc46f658c64fc89352c54c264b97e5a91c2386cd3790605127740da2076eab4876e128f3746843205b8328cfcdc65feb92c2d973bbbfc68fd7a46db51641b7830e73589f41d413fb571c37685dff142863078acf00043395bfab3589b0cb435981b84e54318ab46e398389b8e146cab2a9666330ec4c90a652a0f036951519880a45bf5d000d4e40c6b6554cd222880d0b91b67153c43909eb2c0926354d436c2318c593f9fc214b548e17245c0c9b83174a6783508b97ac6a8d8a88ecd278e2e52c3c9138b1685dabba2bb1425075b298cb9120e790afdcb9792c88698cc156ca5a789474992f470b1d554514823e87bcae52ccc872c951b0c24b4a2b0460f488ee7768d56b07dc79b3b4cc321e5878ac0a5c3146aaeb6ca123206b0c7b5aa6e0bec5d0a903ac9415da345af199cab86ba99234c9526e6e8812f6da8001f31337b8498a8374ae527b6032a0cf3142d1d34181a5afd6aa432a588ae1f644f5a100fa593f0ed2753f441ae5677484738ff694abcec58781b06d0213579f827fb4f97b3fc343a445ba3035aee989685e7b20be6103fd39afabc334417379bd666181925ed369680b851a54c41b6546b9c04ca69742b2a814763674abc9cbcb03e96f9466cbeaec698cb5c9acf814e90887f8d15bee556b28f50b739185eb7a5a06e896ed0048bbd905e016436477a68ebbab1e172928ac8fa9a8b0a0d999b135a753a29a47d0136865b0f382572b0697d0fccadc8a77c1b591bd73b639e13f9c21b6f0969b0aba3ea807303377afe0f49421b68d0712823fc448fa9a468fa000d5964bcf9a9e7fc92dece03bf6732a36935b25023b47fc94c15795dd983bb4531e935a19778305d0e8a75c2cc770eb46b6d5759df503bac33f0669c775729c59eb94d48223d763880e8b58473683cee48e309380f7b442e6c83f0eb9bbb0b1ae805b1498471ac1149d578b454041aaa2f5cf13390f10a72df3385c6a8a1f990bb946f4c888e585069b5849882788a1be27da0725276ff9db130519050b74cff69a68534222499cc61f5845a8fc0ac5629e0cda20d3ea2f0046b78a2267fa0187f15721ec53083018772097892be85c1be99480247e6e30aac8fa2c593c630b981e57515e0f7414cfa8b606d931280a950e567c93b319fd23ca1b682fc0b960dd309f80455cabbbc71979c59a025008462c0681465d748ff2a6ae24e86c79922e2845568ceb5063fcb81b78295b93a80b221ae7e14a9a9bb7182c1acf347f2fa73784835f3375a29ed05e4bd120a119cd0fda29f76a1eb873aa88d0cb3c661ff0d5652f2b4604e2bdb1497486687f17b8ce7a096a59e0922260ae99bb7412e306cc0b25940ffddf25214ee4dd4e1aeb851878e2493c05e2bd5a30b5b99d3694543a842153dee9e035299d7e268c9492d71188f9fb24bdc2dd20c1ddca647a1523bae49824e1a023a302cdf665aec15b60f7f77ab2a0fffd5246d07ae975a0614e +m = 2905f02ce2c10e4ae7bb7f862d1d377f8df3a1280481e2579d49191d1ee6ef6d +ct = 7cc6e914b37b2af9f5bab4ab64227256e57b92d55ee5ec299a563f199c9b1d4a3ba92d17b46aca8ed7bf9a9f138104bc61c595447d30604bf146c73654a6057978a0b6e2fee7abf0cc219e8bd29d33e07eb478c23403e46e0ebaf19b1f5d06d71e9cfa4fb77537eaa6206c4637ae62318e9973e6d5c4574914f2773f501ead76ec7296aff5b0a6a5444b27bb2ea0bb16bd31eed10713748ceeb9ca210bed0af80d31ee93eb817abd237221182193af39d4450be11d56b1bfcceda4d9b87a7335bc25fd303e10e719ee9f232f686ed1581f531639ec1d93b59ec10eeed06a436960fe93669b1aa56e4712213e0da93ed2e1f334ad8bc52161f2024148c0dea21b3626489e426e46291b9e5eb8cfb361094f076fba227de05ae8e5fab6422fbabfb8e574bf4be7fdaaea445971d3bb146ee0e523719ac181c3de27739b38df790fd9c9788b74937d1caab364f9553d2bc105a5458f50c49124e7b8ef78518848c4771383ad31b2ce64c35357079c648665f22c100273ead313947e12750f4ecf96ed3c299222480e183246363ed0b6139458655fcd1c0a96b24301a6fd42982391221df1cbc5a52b348dfa779a07b74477fcb43220409ded87af3d5cd8d4c46e4c85300c49035043b1b7e632a85984fb5b3dd6efd41ce0a94d01e0b64db5ea3632ffbf5db6ae4d2fd41448001b48b6088b8a9d2cace1625582086b1582935e9a7a9d1d51f69bc746ccbac08b1690eac042b6b5a8342eb9348e783390c1af463373d649066f619c9095429987a694edceadb6c3b2533795651e5d9e36429dd82ee6ae2fce5d5f870f2bb7f203b2039d87c075f13314acd62a04c2ebb7672cf68deaeba018d8909420fc53ed9bcc429e2cdccab3a1a38a96424fa13c5b9a2ada4d759ccaa3ab1745dd96f49212b9778f7565497a42c3e037d38af8738ea4c7c576d809b7001153095e348e0307eccde50404e818fc710dc62c889eecb9efe5787adef1893455dac9d83f81b8508852ac2e8c2dbe7be72e747f1dd1b4a02015d4a4f2788e0313029481133df18baf95e5d740eac5b9f54506a01b527f79adb0710121249f0a35c5ff0b571df0c4049b182b1a20a5a0f14f355d04d8d0a13886f918bff31c861269a35620f7cdefd8e93021bbeb32a6d23aa41bfc16c3d7e4d7f101b1e2d2c9e94f6b95ea42913df88de491684dd09c945381a884a94bc5473f11d51b86d5a2f7bcc8eb7e685aaa7a3e97ab48fea542d7b1f5e6724b5576bee1f5b91bac113dea3bdde95c970dd571ae2b64d5456617abbeb56e757b9199d84ef71d595b480f8ceda0f0a85e699ee99e609bb24f978fbd3a7a0ea9246f3ffef9f65552b347f53cc2545c197e1bbcaf0e8c977627e21318f8145177965b08c11b0b96756e88cfe0c6c01917e5668fffdd92075a3985479aca2eb7c13ef032cc2dd187ca2b3567b256c86cdaf17300db8f2edd1ec60064074f2bd3064027ce06f9fb9f838693f32982db2380032e344f2ae19f99933a522390534cc12df417307295eaa4 +ss = a1676fb1bf8bde481425fd5183ca9c41b15364edcb7dbf5e8002e81acf830bf2 d = a453bcacdd2b0d4646009e5ed451c3c45f08fb827ef733db3c517a9dc1af93e6 -z = 7a3cc8aa3239d4c52ce4c95afdeff6efbfacac10d294edc0e7cf4535059bfdba +z = e39cc6c99ee6fd8653d15505a6c2a713d41b43fa521cfb214e8d1b38440f4640 pk = 5e451e4c8c85a192c91df27c17c0684baa6375b17586f8bf1ef12b91615bd08a340c58629cd45f7a392f10a04916c249af956b180bc418b8a95f66b2d0847e79d247b430812d682b1fb91879faab68f25602579bf0d895073780007b7d61940239913eb217cb16a63ea08b29656712a21a32c754953335c29e769df17125d84c32b3250ec96067b975bf524091ee4013a8b67a19a331daf38a396a765f7820a5e3606a734f5ba854d1e6b6e70cb9ee5b00d4d18d928921ebb8048e284a3a05a3df9469ec53195180ac9f869a8e8866d69019e9730fd6e672db024b6ecb4dc55729024033703b6fdb7bbeeecb2345782815843b7b7664627cad52038f98db605fd23d24080f809a276419c876aac69977998b1400395829656c97be262e053197ead738d9bc995145cb2713b5e181223e04497c8114ec5a05384aa31cb84406f93365d7059dd88db8f94a8f068fcd10be96e32a0e926dca518b3fe9286a755f29d83cf667407758141b2011fbb1764d3334f3a763a17cce33c2816ac79ec4cc4c2d842b004c352aba419be87281779300708bb20143a43413a2a55c41e36444046a3c021a4d7818dd146d1dc335c66152866597aa69a44f39a2814a4830e002672731d93b7fe5f77587b782aa279cc9807d6126392f812e83662d49db231dd3060f882d71d2a0a4c94adb3784ba1785187423d7e8a82f379eecba7e6f6a67b568698ac3a2c0b096b015100bf9acfee522a0192e49880439cc1fa9b30fb7a10544e1867b0c34da981ce6e660cebb8853545994454815178c60b04dca7073531aa2a5095f7b8578cd9889f3428a7d1c72b8fb320f304fe5d23a4291666bf7aa1afb5086532fc5aa347dc29279a4484261614f2774c81374aa453024b68d384b01565a36d98b751297477a61780e98135375af8ef68359332826da01ba6a73d5263abc659454f57d83172d0e515d3754270ad84543d995c0534788a6786927b952698abe693bfbb358e9e393151aac991c97fec8c55cc407bf027df7e2a505db531d47344552321107b651fa4e47d4b389c5825e02ca1f42839ada4d7eea2ccb24a74e34672bf1bc4f33c88c3603a3fa6ce87aa5cfe30125f99e81550c19b58a807ba8a586415c2924a6e467ca8bc85a5400f910457e8b9d74a11e2668c0f1a2a1d0389361d09900ec6671206139380ebf9390b2401555ba0a57fca36d2742f569a573096a2b442c5992c3fb65271479291f097cb94589fa15bf73cb9319d93860eacf1cd1bf7d380e03587ce3faaeb6360d79574803b5c49841b74918768efb518ca46b26929f68639eb8fa9f73e61a8b69b004cb5d9d92cf0dac9abc03171444a03409714dc1514931182701c19e242ae73b465af335c8d3588ff468346abf76604b6ef887a7eb8e8b44005bb55af328155af7928c732e7805010cf0a50ec68e29acccebc4a39e2aca10084e2543746be6c81d482f6f3c1fe0d31c6a69329d783a1bfa0b43e289a2f843c71196809ca4b82c75c59c7aa5d311350aa55e89735d9c34e6982d17c033937253d9778ca31a14a9894c5d801415056552c410484970cf2ac86b374644a37976ec4a123c0603ccc01c6c6e994514f13885bceb2f8b0a57073e0f3130daca54c038dc1085402160513337af2b6dd900b04dc3bdfcc90bdb -sk = 2d80a415a1b29961459e396204e5b5e65540a2a9ae9cd52d867a9e20952fc7565b66151653448353697b09723b17e3b1ef375a3e260a5869b579883fd1eb3a06da5c11e493f4cc9d18381856fb2c36223e7214ad78a178b2153dcde882451776478a4e06b392ce9b9d0310a5a134b42c37312a8932151571d85cb69d9333ff8685569568a0fc4568682ec2f5506f59742601c46db34efb9665b5815574518ff677be1c0991b644b5931b112220c6eee10c37c19316156bcbf354fb661635e42f6b26b07f9552d7b1a65d51c7eb6a132034bd755674dfc14345aa72acbb85d4724b2ba14925421e570543ae904f9bc4016bc0389fb9922cb12a393a24df219290dc506e501003c0ae8cbbc685a25a91147265207f93f190b12baebe7cc7edec476553762ea45e48694ddd172b6787b7d9719e89d77563c9c2ccb77caeb23d7aa9181b82b6cba09aef1851235c7986194c8322280b4192b94262fc79ceace4b894c86814d4929bd773e6a73fb0c7c36c67391a314555674cf415292055bb39319dcaa7b07230204c068028b3ae7a7223df112032d60edd1b6b52ea1ed13b86231a1efb2969a691cef0d219835a44e907bb0cd2ce6da1442af1460f2ab882959e0862bccfcc6e3fc2bdb5eb673b218d6e9c5dc6461d8796945b614c81a68f9cf381d256bc1e63285141814077af5f54c2c6b487dd29cdb1d2ce08f09122d09632ab823cb00d86a57f8933743f347c203894d0043f5692a6e12283abfa1b98b39c6d638132ea4b94644e89a0adc35816be01a408f752b3215029d7661b554bd39abaa906af32f877cd4b28bcc217825ac897d06a4c233462fba602a81321db93279a19bf44131b86035db3c4ca911f1fa30146f9be0333650c3c24a5c85bf5e252413853defb040f8a16f4abb9e18cb3d496a69b356d8206c106864c7464a7a7ec5e998b3fd5b18df1d947e171272ec5aa1137ccbe50ae73ecc106250c0392a41a73a4861acea19257be33cef406b7eac1796f605a709a4bc06bbe40867966e830e8aac19af626a4642a8447276f09cfba6486564079e1aa38d7e179d9634e3398b743a1812f02818e979b4434a4516c2c77672600d5b7d3bb6d7e3253189c3694120dbe2519c62c80558ac1d522855682962df611febc9f33fa27a0787501a42802863b5cdcc6aa81b964cc2c9b8081b63750a6358db5566a0d3229d2989e98199855a2448f54688ed2487b816f5cd651206350fbbb5cdd995a9db37b089caa57ab0deddc9392ea1c0f99031a42c350cab7b6f54c1e4acdd0e28d7975a188502fef055feb5889bf87929b6006562626335b05edfc544f10cbd927ab3c4c9e806700349b9a0099801d5948cff3bf0977a9691a25ac880d593a36d1e5436eab078bd9a6bf25bc3d6b5bdfa02aab06ab5842c440e40d430aad9311015a8767417b233fa8cfc64914533031ab39b845a3c50ce00ba0f1a586053768ea48293044f3a831b456320600404761c7e826a0b111ae37db49b31bb3e9389bd3e354f08879906996df2036ac49b9c773af5fec5375519ae7b8c61ce475ac544d13a5b421b8a686251b6d1c64f8a353406248b0430c8a3a308b600d0c9506d6509aac9a460935645e451e4c8c85a192c91df27c17c0684baa6375b17586f8bf1ef12b91615bd08a340c58629cd45f7a392f10a04916c249af956b180bc418b8a95f66b2d0847e79d247b430812d682b1fb91879faab68f25602579bf0d895073780007b7d61940239913eb217cb16a63ea08b29656712a21a32c754953335c29e769df17125d84c32b3250ec96067b975bf524091ee4013a8b67a19a331daf38a396a765f7820a5e3606a734f5ba854d1e6b6e70cb9ee5b00d4d18d928921ebb8048e284a3a05a3df9469ec53195180ac9f869a8e8866d69019e9730fd6e672db024b6ecb4dc55729024033703b6fdb7bbeeecb2345782815843b7b7664627cad52038f98db605fd23d24080f809a276419c876aac69977998b1400395829656c97be262e053197ead738d9bc995145cb2713b5e181223e04497c8114ec5a05384aa31cb84406f93365d7059dd88db8f94a8f068fcd10be96e32a0e926dca518b3fe9286a755f29d83cf667407758141b2011fbb1764d3334f3a763a17cce33c2816ac79ec4cc4c2d842b004c352aba419be87281779300708bb20143a43413a2a55c41e36444046a3c021a4d7818dd146d1dc335c66152866597aa69a44f39a2814a4830e002672731d93b7fe5f77587b782aa279cc9807d6126392f812e83662d49db231dd3060f882d71d2a0a4c94adb3784ba1785187423d7e8a82f379eecba7e6f6a67b568698ac3a2c0b096b015100bf9acfee522a0192e49880439cc1fa9b30fb7a10544e1867b0c34da981ce6e660cebb8853545994454815178c60b04dca7073531aa2a5095f7b8578cd9889f3428a7d1c72b8fb320f304fe5d23a4291666bf7aa1afb5086532fc5aa347dc29279a4484261614f2774c81374aa453024b68d384b01565a36d98b751297477a61780e98135375af8ef68359332826da01ba6a73d5263abc659454f57d83172d0e515d3754270ad84543d995c0534788a6786927b952698abe693bfbb358e9e393151aac991c97fec8c55cc407bf027df7e2a505db531d47344552321107b651fa4e47d4b389c5825e02ca1f42839ada4d7eea2ccb24a74e34672bf1bc4f33c88c3603a3fa6ce87aa5cfe30125f99e81550c19b58a807ba8a586415c2924a6e467ca8bc85a5400f910457e8b9d74a11e2668c0f1a2a1d0389361d09900ec6671206139380ebf9390b2401555ba0a57fca36d2742f569a573096a2b442c5992c3fb65271479291f097cb94589fa15bf73cb9319d93860eacf1cd1bf7d380e03587ce3faaeb6360d79574803b5c49841b74918768efb518ca46b26929f68639eb8fa9f73e61a8b69b004cb5d9d92cf0dac9abc03171444a03409714dc1514931182701c19e242ae73b465af335c8d3588ff468346abf76604b6ef887a7eb8e8b44005bb55af328155af7928c732e7805010cf0a50ec68e29acccebc4a39e2aca10084e2543746be6c81d482f6f3c1fe0d31c6a69329d783a1bfa0b43e289a2f843c71196809ca4b82c75c59c7aa5d311350aa55e89735d9c34e6982d17c033937253d9778ca31a14a9894c5d801415056552c410484970cf2ac86b374644a37976ec4a123c0603ccc01c6c6e994514f13885bceb2f8b0a57073e0f3130daca54c038dc1085402160513337af2b6dd900b04dc3bdfcc90bdbda43cae3c4da51d69a57eb87094a03cd3a9c3e6b4ed864cc691a60f0509cc6467a3cc8aa3239d4c52ce4c95afdeff6efbfacac10d294edc0e7cf4535059bfdba -m = c8bb46b3a7344ad170c2052fb042b5a3b62e0590562ee82577b1081f6f114d16 -ct = 2ef58c14c9258e8e8d59aec0096b1645d2fc8a2e12f8bdf9813cd87a32835fda60f096e647ca601c29c41d3331ed6aff01978d01a0e7d9774211bba0cbacb6226379a79c8b6575993589b5d73205f92a21a7b30b175cd228b5a449554a99e0c6e6547be25ac510b9d1e2eaa8e7af3a6f6f4d43b4887bcd7c5bc9c4c8a1af737575802afabad38b7ca3edca440ee9f62f36f5566809572d5712bb03a1936a09e55365905763a631d6fa6d3c441b8b0c90fe04d2cbe0fbeb2abba2288ee38aa58e22453a7109f1e0999b3e9e4ebcb39a5763bcde0290fa7213d9b357359e06de0f6033433e78585afe7cab779a088a9decf5619bb8c35dd51aace7a5c3567162017853595d889d57ac96fa8bedff46cc035b15c51a72fd865923cb60f8a4562f9c30009eec7bad7a9e0c4188ea89a7ba3f719ca1e5243f94a95c2e3b74336d5be81ab156528b104007f4cbee6f88346537865cd9cbc40980462890fb2c994119a74a3d65078e24ded0f91718800b72b66629b4e8b534566ee45227a30ec724925066766c4d450aeb655d91b5426b8f2562db6120bd8ebdf0f96758dec90dca1eaeb3479242e65f097ebc602f0ae36b4dd0ff2f7fc067a33b281582e51f93a5948adfcdbfff34a51bf8b3826ea030056ccef16c9288ca0073ec8c50985eecbc97feada2c3139f33af954c03ecdb4a01b468ea4eae5ff407f27b6f26c1ae5fabfcd592e31c47f8e4567e3d985fe6d93fd7b0255c8d4e00497f93ae1dbf56f55037f2f5d58012757484e9785cc7052778d3198392cb3a7a1ca0e17a9de34206feb0bebc7e454c90dc6351d3c7b8cba681b8ca70993b19d47a8d12ddba0105ba12441592fdf4205656a36bb261a42181be2cb3c967a54c1bd20deaf6b4882be7db475def1eee3f2083a72b77f1c8766df31c578b48ea5955752e836017213818dd12b0ba8df7767c5cc432983ab3d82199dfab7bd98346df7bde7d795b96f61417b768f188d3777ee7a17e6d957bc69ba16e1f345d44e4e18e5189705df89c4bdc10db1a6cd1429b10596779ff942a703349ffcf6d1144f105a0ba48e04d4a26af9c9dffde23b8bc66b69af9b7771dba70a77ece86564e266b330937921d695145df0402c8c81b6f2789adbe07cfac8acecdb8d6f8aa0b053feefaa1cf4503ab6c3ae6013b93eafb5ae3c58ea090f1f26e8a96f5bac73e53ff9fba367de06f0b98cbce936c4c5dfcf19da140dbf528c431a99787f0698dae81ac2df8f5bd837ce013618cb342f8234ac64a5b40a55fd1443f477215a0e8ceff7a4c0646b0797ce22c495efccbd0bf9d6f46b5e2a4065f5e7b0e6196be5bb6872d1424a1eced35892fdc4ba8361c21197e5dcbcbb26d34c39e156b2b60eb9105b4172de9fb8d5950d92e25b4eac39272d3010792a39943f00c41804d2cc3713e7e321a044f726132689853f954e727fe0b822e5be6bb0cbd39f6642379c273c0cf30b5dba4933ef09e9a8c069089c57c6cee8feeb1f51692fa5fdffb0f6aec6e827e0245e72777b91bcf -ss = 5e039d591cfb128e51d0804e0993084fc92b0bca9c0f2d84e24f5fea5efb3b8b +sk = 2d80a415a1b29961459e396204e5b5e65540a2a9ae9cd52d867a9e20952fc7565b66151653448353697b09723b17e3b1ef375a3e260a5869b579883fd1eb3a06da5c11e493f4cc9d18381856fb2c36223e7214ad78a178b2153dcde882451776478a4e06b392ce9b9d0310a5a134b42c37312a8932151571d85cb69d9333ff8685569568a0fc4568682ec2f5506f59742601c46db34efb9665b5815574518ff677be1c0991b644b5931b112220c6eee10c37c19316156bcbf354fb661635e42f6b26b07f9552d7b1a65d51c7eb6a132034bd755674dfc14345aa72acbb85d4724b2ba14925421e570543ae904f9bc4016bc0389fb9922cb12a393a24df219290dc506e501003c0ae8cbbc685a25a91147265207f93f190b12baebe7cc7edec476553762ea45e48694ddd172b6787b7d9719e89d77563c9c2ccb77caeb23d7aa9181b82b6cba09aef1851235c7986194c8322280b4192b94262fc79ceace4b894c86814d4929bd773e6a73fb0c7c36c67391a314555674cf415292055bb39319dcaa7b07230204c068028b3ae7a7223df112032d60edd1b6b52ea1ed13b86231a1efb2969a691cef0d219835a44e907bb0cd2ce6da1442af1460f2ab882959e0862bccfcc6e3fc2bdb5eb673b218d6e9c5dc6461d8796945b614c81a68f9cf381d256bc1e63285141814077af5f54c2c6b487dd29cdb1d2ce08f09122d09632ab823cb00d86a57f8933743f347c203894d0043f5692a6e12283abfa1b98b39c6d638132ea4b94644e89a0adc35816be01a408f752b3215029d7661b554bd39abaa906af32f877cd4b28bcc217825ac897d06a4c233462fba602a81321db93279a19bf44131b86035db3c4ca911f1fa30146f9be0333650c3c24a5c85bf5e252413853defb040f8a16f4abb9e18cb3d496a69b356d8206c106864c7464a7a7ec5e998b3fd5b18df1d947e171272ec5aa1137ccbe50ae73ecc106250c0392a41a73a4861acea19257be33cef406b7eac1796f605a709a4bc06bbe40867966e830e8aac19af626a4642a8447276f09cfba6486564079e1aa38d7e179d9634e3398b743a1812f02818e979b4434a4516c2c77672600d5b7d3bb6d7e3253189c3694120dbe2519c62c80558ac1d522855682962df611febc9f33fa27a0787501a42802863b5cdcc6aa81b964cc2c9b8081b63750a6358db5566a0d3229d2989e98199855a2448f54688ed2487b816f5cd651206350fbbb5cdd995a9db37b089caa57ab0deddc9392ea1c0f99031a42c350cab7b6f54c1e4acdd0e28d7975a188502fef055feb5889bf87929b6006562626335b05edfc544f10cbd927ab3c4c9e806700349b9a0099801d5948cff3bf0977a9691a25ac880d593a36d1e5436eab078bd9a6bf25bc3d6b5bdfa02aab06ab5842c440e40d430aad9311015a8767417b233fa8cfc64914533031ab39b845a3c50ce00ba0f1a586053768ea48293044f3a831b456320600404761c7e826a0b111ae37db49b31bb3e9389bd3e354f08879906996df2036ac49b9c773af5fec5375519ae7b8c61ce475ac544d13a5b421b8a686251b6d1c64f8a353406248b0430c8a3a308b600d0c9506d6509aac9a460935645e451e4c8c85a192c91df27c17c0684baa6375b17586f8bf1ef12b91615bd08a340c58629cd45f7a392f10a04916c249af956b180bc418b8a95f66b2d0847e79d247b430812d682b1fb91879faab68f25602579bf0d895073780007b7d61940239913eb217cb16a63ea08b29656712a21a32c754953335c29e769df17125d84c32b3250ec96067b975bf524091ee4013a8b67a19a331daf38a396a765f7820a5e3606a734f5ba854d1e6b6e70cb9ee5b00d4d18d928921ebb8048e284a3a05a3df9469ec53195180ac9f869a8e8866d69019e9730fd6e672db024b6ecb4dc55729024033703b6fdb7bbeeecb2345782815843b7b7664627cad52038f98db605fd23d24080f809a276419c876aac69977998b1400395829656c97be262e053197ead738d9bc995145cb2713b5e181223e04497c8114ec5a05384aa31cb84406f93365d7059dd88db8f94a8f068fcd10be96e32a0e926dca518b3fe9286a755f29d83cf667407758141b2011fbb1764d3334f3a763a17cce33c2816ac79ec4cc4c2d842b004c352aba419be87281779300708bb20143a43413a2a55c41e36444046a3c021a4d7818dd146d1dc335c66152866597aa69a44f39a2814a4830e002672731d93b7fe5f77587b782aa279cc9807d6126392f812e83662d49db231dd3060f882d71d2a0a4c94adb3784ba1785187423d7e8a82f379eecba7e6f6a67b568698ac3a2c0b096b015100bf9acfee522a0192e49880439cc1fa9b30fb7a10544e1867b0c34da981ce6e660cebb8853545994454815178c60b04dca7073531aa2a5095f7b8578cd9889f3428a7d1c72b8fb320f304fe5d23a4291666bf7aa1afb5086532fc5aa347dc29279a4484261614f2774c81374aa453024b68d384b01565a36d98b751297477a61780e98135375af8ef68359332826da01ba6a73d5263abc659454f57d83172d0e515d3754270ad84543d995c0534788a6786927b952698abe693bfbb358e9e393151aac991c97fec8c55cc407bf027df7e2a505db531d47344552321107b651fa4e47d4b389c5825e02ca1f42839ada4d7eea2ccb24a74e34672bf1bc4f33c88c3603a3fa6ce87aa5cfe30125f99e81550c19b58a807ba8a586415c2924a6e467ca8bc85a5400f910457e8b9d74a11e2668c0f1a2a1d0389361d09900ec6671206139380ebf9390b2401555ba0a57fca36d2742f569a573096a2b442c5992c3fb65271479291f097cb94589fa15bf73cb9319d93860eacf1cd1bf7d380e03587ce3faaeb6360d79574803b5c49841b74918768efb518ca46b26929f68639eb8fa9f73e61a8b69b004cb5d9d92cf0dac9abc03171444a03409714dc1514931182701c19e242ae73b465af335c8d3588ff468346abf76604b6ef887a7eb8e8b44005bb55af328155af7928c732e7805010cf0a50ec68e29acccebc4a39e2aca10084e2543746be6c81d482f6f3c1fe0d31c6a69329d783a1bfa0b43e289a2f843c71196809ca4b82c75c59c7aa5d311350aa55e89735d9c34e6982d17c033937253d9778ca31a14a9894c5d801415056552c410484970cf2ac86b374644a37976ec4a123c0603ccc01c6c6e994514f13885bceb2f8b0a57073e0f3130daca54c038dc1085402160513337af2b6dd900b04dc3bdfcc90bdbda43cae3c4da51d69a57eb87094a03cd3a9c3e6b4ed864cc691a60f0509cc646e39cc6c99ee6fd8653d15505a6c2a713d41b43fa521cfb214e8d1b38440f4640 +m = ca41a891e8b3cf62f7cf5e356fa7705dcf26478b2cf2561a0de208dc06c02059 +ct = 31c8eab2b3cc9dcc6239b441f672516de0ea74ecacc9c969f0265d95d4b961ff86e52b13e7c35a41eb30ca90b93aed0c9d44d5d9974de3f9a857391fe5aaa9995c6c245a5a43d152f551781c879fa9f104af1c7203438a8588e9f5c6bb76f368a2f376dfa6f18da1b75a05c9dd1924b4f96b1198ec4b318de939b719f5bbdef86bf84f38cab63195a3ef1bfad58f035be8f3d5207847075154cc6819fc4d646d067684564de74634751583dcd4189a59685e206a30b8becac347f9dbf1e00c9934e15b76362245ceba5a11debf7d5ce958e4ef57a999454869cb3cd4b3d13751be5653bfbe87e9c8bc3efe4e019ceca26b2f073146adab9f0e9944d1be094831e9070e943fe65462c3f24ebf338d765a19912ad7cfd6e6dc0384a6f3ffe77da6bcc581eda4829d450023c8f2314aaa501f7835816f4746d1681fddbcf612e40439fac48fce20d2b46245d921270f4c920807a7ea63f5067eb0d5e8055ae68c7896b7f21e59011c63f4386d2e55d00dc84a6b101ea61a5164f87fb87d60ea0bcb7598bdf6194799a56494991b26adb20fb3bbd4103c32d06da9c387fd90303d2264ac109bd9a938d4f98861fe9c32857085ff9b525e4e2b310033882aec6d95da98b3438d510f8704dacd441dee6d61002a357fa8c2db3dcfaf6bc7bb9e4c1884faa33c2806d711c7aafde01b99bbf043b9c594684df9a8dbc1571ce1c565f8c0abc6c60cbba2c255344234eb0e1a9acc0c1710b816d13f64890e1cb8c383f9e40f509ee98cd7f1a209e18ca8e7984be00c802cbf0eb0da5e770ffba225421fd77b16e2f730eacce9ca324020ecd994b82a8ed719110afdc5f6e9123d350df25efcc0dc737c4e7b7dbd69aeb22756f82c1cd845ac0be3997893e33e99d837e19c57dc57563514b86019bc4f9b7055881b2f249dfc5894d859e04370ae0f61e12f24ec0cfe04d55edc69203084fe74bc273206ddb29c4c2c8712f5eed59131c321fcef0f16a6f6962836a24d1e1bcf97941e6801b1a31dab34c8531037bb0c8f563c05d15be20b62b507af36df40f9a1a0d10d6ab981b38a2f34d346452cc02f40266f7641e01fd8ba4c0d936f9071ce7e8539bb0a64d6e674cf644afc3d30e66a4fff6f1072fdb7ff5e2ad8335ddea2d7b07331b49461ccc5f8641661c37da91071bf2a7b5a59dc84636f1e13ea0de04628926bd352df77aa24b07c3ea33f3220b04a75e02c99e626fcd7ea9585b22558c7af7b183e45c529273cf5ab8875a0de2facf17e1f64ad343e2c8db1c45c1fae2c04b41265120eb274002d5e5f73a460e87b8a35b38b16267709d3caffb3ee27e688f2de3b293950cb70bacc87da04198ae5eb82d6a13dbecb9794d92d742be81164e18ddc4b04c9d148a10e28031121ab084c0d251dd3d84e8335c596302521e4d99e06a173f8decdaf9c08d028ca36afdee40365520397319d53d734ca4cd82659343b5c315bacdad988159a91fbd30826f2a3cae975b0479beaf45ee2dc58edd47a0a0d30d996f1b76fe6a77dc0e9 +ss = 3ee950c6975c5e90dc9c53e541453b82cae8cbebb102a820c558c84882a94e68 d = 47ca2b77c5b717f423222c2730ca5cb9c856bc951d01b2b2c80bd76ccb5539b7 -z = 8f1481d7cab000e33fa07de8dc9627a85e76fabb4428a3376e66300cf12a0787 +z = d55eeb68870b6df148654f14eb4b3ae9084b40f8b5cbc83ff4c419dbbacbd190 pk = a20c8da5745f754b89a990746ef771cf07a6d8109998936b282757f344a1b00b851eaac27a9a7fbf480d44262868542128461598b5597b10cd3a2a26e3f941a9a4719ab2033fa1181ed08e3247bdd396a834e43f5700522cb307ff4b150bba9d8b6aab47361a7947b7a04b8d923202ab1a3d6644be06bc6c1e0735d5d92821c5b8e9b9a83c343d0c456b181b6fa566b0e83602428b6cd33405a95abb623a73299c5b4550a7d6c31d6ef81473489bbe457e744b5d1e39ab74d8a051951abd01a6cff3942a102a33080327437635c1c17966834340c26654a3f38616e5eacb0e489141b14e9d1b15b7fb30927715273547999b93ea2a1ca2189f5645cc4889943f3ccd95496b71f392f78a82aa1a21d66382c37154323c0616804f50125d6b0698e5dca3e2d5658ce153bbf57e4b1908c92587b8c863ff4872e9e1963ae6c971c6ac3932bc974b9f15e5743ec069ed203c3624a022f9a7420ba951425a432b46c5e8bb666091d6f223e357ce96c55bf067b3c3f51abe70abd85a73a42233800853031313ae9971d280b3aed18489e75cdc16cbb3ebc95a8c97a768aaa6c0bb0da7943037bf2b4a523e33abf669c262941f326b11ec6bc8ef51b0666268d6d433b5190bb6996f65925a7eb0761eab6906178be9a923d1c61c0b7683cea681648c44608217d6dc86441a8f423a9d1c288b32ebcd049c15ec151e256a322ee79e2c689a23a53b8d473f4c643aedc646401761a7b75f7bd4145e837b756003bab223ff1a74feacc2e449b5dd9b5777d62ff0e20e4b395821474ab428aa2ea219bfa169b95039616598dae0b9282c69ce329b534bc7aea58e17467b1348b1ab2a031324bf835c985371b0f53877dca53570199b23bc4d70a9425a32b54749082e794e10012e9b458205e106da807c03ac3202a4350050815487626bd018706c69a6ab02fcb92621114a16cacfbea02aec424f82fb874800c61cc23bc6618ed75674a70a6c43c4068e2a7c9723a054967e4dab09f337695bbb01053a7c5dbc764a0856d2b75dd4a94a9898af8b95a62b487ec7fa9f00ab75325c9ab8248f1db65fd7661dfb0b8eecdc2a4134103380988758379d0a73b0f348b00b4b13b115e74674aaac2ba8c2a7ff440340b622b5c0bce05cb601259913c488fee540d7c058a28a0c28b856ea800d26a6a26f8bcde7d78298314cea6056b00a845321a245949a8c7c98d9f8821f1264c658a8061a3014249b7e522d586a54ad7a12ad805544247d74058bc9ac0f603a44ac5199bffb69c1570c4076b345064ec00c5ae0d6a2308947593a84ddb6133ba40577b7b245c20b5d04c5d08281ca0aa10da2a358386d2a4c048c89a2402c9150a7419c0a1aa17562fe786f00486dc82a9809dab08f7b16d9432981087b6741269424598eaa99082525d5db0deaf1b96f55b41ee209f57aceb895babc38828b712724204744834303c496b7171fc458534f46892627ae54800fe6f11d06b6af2b6b9259144f769b1f16c0586c9caf01f8491251907fd213aa6c0bce5b08f060124fb99822d964c502ac49c16ce9fb17eb0c91af559947c056af77ca687c4f675c89be35aae91584cf82202734379b56784fc5ce56e3852d89b052367d9a5d375d06ec7863e051cb44929f17a4656a2cb2c58d8d457897a1aa0d -sk = ca481db6775f3d276a56ca0e60ca79be147e63b6898f4b814c69a06f55111c9824cbc1c109a01a7baa259da651a1a51d60bb358432550bc1aa1cf3656e0667d726c69a39ae564bb99162c824634b8b8a706d82175bd9657ec09a308b51a3b429822667a5135fe4350a8b3ca10e8b03b6da0bbd616ceec0a08476909c6182ef0314b284cc3f43c337307facf7b617348779d7493ae0a25d415124bc5d9134182169238cea1a46a3001a8165713a3e5c16ae03a477207b99c2cc674fcbb14ca439fcc3032e4c2f1e92841d73859c76cfbe245193816d87c12bb3f12763174997760d6887a429a37f78c32cc1ac8facc587aa235821c254a2341b7c6bcf8b52c908836b67d39d63458afa9530fc2748de4a698af346f8b5405dc7b43b05953554021af73c585b6ef248c07ed23116baa18c845571823d25cbae0af57d4f6ab2473b5919cbabdd7b4cccc1be89150cfc585953389172590edd61c3885446b500495247aed57a9fb1140ceb6b29f7f9a9f524106d8cada3432c12468f9bfb9a50b920cde85654c25249350f6760293ddaa28c771963497c4c5230c05862a4391330f54cadc3b0c92b9798f5bdf8b21016725ac8f565466464c2033872684608111248fccf94c61337eb6b1a9017e342c29eb2b148936119797fdb2757bef51a9a2601a00c6f0547b1831b1ca1118cd2e1cdd601a0b491c588cb5ed88ac36ae183848b9f87264cc5b020b2e965e5b89ff74c58cd2b338177bf1350afda9a74516a5845381e5fe132b4089506e8cde6346fcc760759592345927c5c6a97045b0ad3973e806778759b35988953c80b3e7574b7caa225c744372ee3042e07cce978a3f964395d40176aab7905a4bba98250f594c5a96bac41851e09f897df0376a89516040c1f8fccb93d44ab474c56913826c9e2171ef67510b53eb31153fc028b3625aa7a353bbe79cc76d393e209115dd00b5d6c98f80101705544604351cdb87715618343bc3fa227c1e9fa1ea3989390b02c59ec9174e5165239427592a2d973774ca62dbd9410164bcfd95834c11621f7da54dc55c44c594785fb0016448f2cc39a05e01d8581658a2410caa630347c3f0f6c86f344816bd13b3a04313a730f2de9bb50659b642353f6463d2e2a1a78b722287616cdc266b01098b3544632152db3b23938d67c63e51949496e13182326d5b7d70b81d90cc6c5d84d4e5907833a7a76d3850ac4993a696c4b210dcf352a32b4c83dc9114305308129bb4ff73a91d733303bca92fc0083d95d32ca54557a6ff3c42c2bab46ff913e1d39ba3f6092e30ab47f9985c7c439448c92b245259d388e291c04de427f378011ca983b21b2ba8bea9d6eb36001ac4fa5061ee1670066f9252524848973782774cfa795a2285a2669515d4fda7093bc54439753fb6b4e6b781eeff574155b2438e074b332417d751eab1ba1475436e8fc1b670c3928a3553d2bcfd1a59c46ea2542884f91f98a38d42ecc026ebcf91258acc99a50ae1edc88b90c98b74c3961b70759f39b3c20175fa80386376cde2b66dff213151b800921ab6932b45b720932a540c79cca0eaca0a9d5bc841c3acf3c08096c0446326114f05cb09745ebb986ddb76913faa6a20c8da5745f754b89a990746ef771cf07a6d8109998936b282757f344a1b00b851eaac27a9a7fbf480d44262868542128461598b5597b10cd3a2a26e3f941a9a4719ab2033fa1181ed08e3247bdd396a834e43f5700522cb307ff4b150bba9d8b6aab47361a7947b7a04b8d923202ab1a3d6644be06bc6c1e0735d5d92821c5b8e9b9a83c343d0c456b181b6fa566b0e83602428b6cd33405a95abb623a73299c5b4550a7d6c31d6ef81473489bbe457e744b5d1e39ab74d8a051951abd01a6cff3942a102a33080327437635c1c17966834340c26654a3f38616e5eacb0e489141b14e9d1b15b7fb30927715273547999b93ea2a1ca2189f5645cc4889943f3ccd95496b71f392f78a82aa1a21d66382c37154323c0616804f50125d6b0698e5dca3e2d5658ce153bbf57e4b1908c92587b8c863ff4872e9e1963ae6c971c6ac3932bc974b9f15e5743ec069ed203c3624a022f9a7420ba951425a432b46c5e8bb666091d6f223e357ce96c55bf067b3c3f51abe70abd85a73a42233800853031313ae9971d280b3aed18489e75cdc16cbb3ebc95a8c97a768aaa6c0bb0da7943037bf2b4a523e33abf669c262941f326b11ec6bc8ef51b0666268d6d433b5190bb6996f65925a7eb0761eab6906178be9a923d1c61c0b7683cea681648c44608217d6dc86441a8f423a9d1c288b32ebcd049c15ec151e256a322ee79e2c689a23a53b8d473f4c643aedc646401761a7b75f7bd4145e837b756003bab223ff1a74feacc2e449b5dd9b5777d62ff0e20e4b395821474ab428aa2ea219bfa169b95039616598dae0b9282c69ce329b534bc7aea58e17467b1348b1ab2a031324bf835c985371b0f53877dca53570199b23bc4d70a9425a32b54749082e794e10012e9b458205e106da807c03ac3202a4350050815487626bd018706c69a6ab02fcb92621114a16cacfbea02aec424f82fb874800c61cc23bc6618ed75674a70a6c43c4068e2a7c9723a054967e4dab09f337695bbb01053a7c5dbc764a0856d2b75dd4a94a9898af8b95a62b487ec7fa9f00ab75325c9ab8248f1db65fd7661dfb0b8eecdc2a4134103380988758379d0a73b0f348b00b4b13b115e74674aaac2ba8c2a7ff440340b622b5c0bce05cb601259913c488fee540d7c058a28a0c28b856ea800d26a6a26f8bcde7d78298314cea6056b00a845321a245949a8c7c98d9f8821f1264c658a8061a3014249b7e522d586a54ad7a12ad805544247d74058bc9ac0f603a44ac5199bffb69c1570c4076b345064ec00c5ae0d6a2308947593a84ddb6133ba40577b7b245c20b5d04c5d08281ca0aa10da2a358386d2a4c048c89a2402c9150a7419c0a1aa17562fe786f00486dc82a9809dab08f7b16d9432981087b6741269424598eaa99082525d5db0deaf1b96f55b41ee209f57aceb895babc38828b712724204744834303c496b7171fc458534f46892627ae54800fe6f11d06b6af2b6b9259144f769b1f16c0586c9caf01f8491251907fd213aa6c0bce5b08f060124fb99822d964c502ac49c16ce9fb17eb0c91af559947c056af77ca687c4f675c89be35aae91584cf82202734379b56784fc5ce56e3852d89b052367d9a5d375d06ec7863e051cb44929f17a4656a2cb2c58d8d457897a1aa0d6533c524a32345eefdadc74a3c6ad7e981832797faf1068955b79f118dff93588f1481d7cab000e33fa07de8dc9627a85e76fabb4428a3376e66300cf12a0787 -m = 2e2b70609f3fe029a14d09d5d659871ac776ce2797a0355f16e2eb68f5613fd1 -ct = cc18be84b498262137e39c8c5540de67a3474e2f9e94953081caed1a428f3dc8ff3cf27dffab8278ac4402a1fcd4c285fc13f251bfbd2e7d5f1e79030bad0d12f4ba296f374546a5c03a8d270ffc8093e276c62e887cf91bc7b17f2c37065982dba258b0f8abf6fb391d5a077a0167e16d046df535a703412d4c9ae46467ab0de3b2ac5b80bd5e1875e727dbd633e742dee2a2166303f7998878a0f96a364ed5b92f9bb74505d8f8694613062353eaf64c50aa7098bd142c431352bcce1dc9d874505a60ec6318b71158ecc0a6a9c225c19c52d8dddf1c7b3984a3d90896e89d443398bdf1fbc2569280f22353a9307288b0d99d31fbfa3e391bf4b530165870133645310d41bbb4132a51f8a9f4b62d950cdc33c4c0fc231bcf79d90dbd78d8beb891eedbca40fef6136c488d474217a77efa163edafb5a23a7d424233923f1e7a4dff5ec8ad07ffef39e6ed8f5733a7ca4a484b926fe4268728ff7ce3323e67b3891175677dbadeed1ee2612b58791a6e93d3a9b9662015916359e775bf6357f2ed5a71dbf6783873443bae37e4de66b14da166a4410b2c3d1b0ccf2c26e7a5fc9252b7d7077c32b53bf40d745db6d32d4c9d7acb4bd1192acc55f3bed993871547c361c986ab1b356296e17e34f69f41ee8c60cb97999591484deb6c6d9ec55adcbed8d21a6bf236bbbf1981372e6cac0f688945bcca2ebd6f76b39c705550b38a10ba9b3f8bfa789e5a80310af1ef038472e960bd7c2ff20b94e347dd985a702a9d63fdf2cd869bd83d132dbc29e2495b29a8df54cf7551a68541816cbea53f3fbb7f32fca6f9971a7e65cd9147bb81ba13b82dcf914254d7af5bbb3452346653020870c33afca72f5dec04eac5b834f29ffe71a9b449306f04fc847421eab8f42aa045f70a2748d56f69a1afa39f9b24d04d57d7ff7257262f7e4833a50e617b8ac649414a74278225dab5ab45b1af3b65e5c4c8be12e7ca0f2a74f881e7abba0b6402a315eb4ff7ce84c6c0f60309612b53c2ad943a5fc485f8766d493363533b13ffe17b9f8c279213e8f942e35858b3d19627394e5c71b74bd84593976bcc50390557942a4dbd0c4d413aa6b5b4492b957e61ea18c61fbb2c719fb1f79890f91b65bbd173c55b29f01853baafc6680629682fd16cf8413488afcb4cc3c70caa02b02466901ed472836c4384e8b7c0019436553d4d10fbe261ce1cd1b82494f047947c14f11643efc41699a6db1e7803382c51ba88783ce64e3952049897e03d181b4e17ab6afd40a96ab682a97573ccb1e1b1f09d19547bc746a12f7deb1447ceb4cd54f6f5e2305ca3f10ec3b4edbc2b2ba34de88eec1218eb1276e1c29cdbd9615c3751b278077a05fe2a35863748207d62abc17435c2db742be8fdedd9eadf5c71258c906e68eeae12d438a10f409cd9cbdc3cfe72d116b7c3f1d288dfd9a01899b0fad6ab18fb34687204620282844ddad79c457bad5e03c6d6e6aeebc7aebea18b60d34c106eb66a6b07209d2fbbc99506b0475241e2e6c722d -ss = eae95e643381df7a1ca1954eb0d529db88a8001b8c1ed98a4b055936bbc6c038 +sk = ca481db6775f3d276a56ca0e60ca79be147e63b6898f4b814c69a06f55111c9824cbc1c109a01a7baa259da651a1a51d60bb358432550bc1aa1cf3656e0667d726c69a39ae564bb99162c824634b8b8a706d82175bd9657ec09a308b51a3b429822667a5135fe4350a8b3ca10e8b03b6da0bbd616ceec0a08476909c6182ef0314b284cc3f43c337307facf7b617348779d7493ae0a25d415124bc5d9134182169238cea1a46a3001a8165713a3e5c16ae03a477207b99c2cc674fcbb14ca439fcc3032e4c2f1e92841d73859c76cfbe245193816d87c12bb3f12763174997760d6887a429a37f78c32cc1ac8facc587aa235821c254a2341b7c6bcf8b52c908836b67d39d63458afa9530fc2748de4a698af346f8b5405dc7b43b05953554021af73c585b6ef248c07ed23116baa18c845571823d25cbae0af57d4f6ab2473b5919cbabdd7b4cccc1be89150cfc585953389172590edd61c3885446b500495247aed57a9fb1140ceb6b29f7f9a9f524106d8cada3432c12468f9bfb9a50b920cde85654c25249350f6760293ddaa28c771963497c4c5230c05862a4391330f54cadc3b0c92b9798f5bdf8b21016725ac8f565466464c2033872684608111248fccf94c61337eb6b1a9017e342c29eb2b148936119797fdb2757bef51a9a2601a00c6f0547b1831b1ca1118cd2e1cdd601a0b491c588cb5ed88ac36ae183848b9f87264cc5b020b2e965e5b89ff74c58cd2b338177bf1350afda9a74516a5845381e5fe132b4089506e8cde6346fcc760759592345927c5c6a97045b0ad3973e806778759b35988953c80b3e7574b7caa225c744372ee3042e07cce978a3f964395d40176aab7905a4bba98250f594c5a96bac41851e09f897df0376a89516040c1f8fccb93d44ab474c56913826c9e2171ef67510b53eb31153fc028b3625aa7a353bbe79cc76d393e209115dd00b5d6c98f80101705544604351cdb87715618343bc3fa227c1e9fa1ea3989390b02c59ec9174e5165239427592a2d973774ca62dbd9410164bcfd95834c11621f7da54dc55c44c594785fb0016448f2cc39a05e01d8581658a2410caa630347c3f0f6c86f344816bd13b3a04313a730f2de9bb50659b642353f6463d2e2a1a78b722287616cdc266b01098b3544632152db3b23938d67c63e51949496e13182326d5b7d70b81d90cc6c5d84d4e5907833a7a76d3850ac4993a696c4b210dcf352a32b4c83dc9114305308129bb4ff73a91d733303bca92fc0083d95d32ca54557a6ff3c42c2bab46ff913e1d39ba3f6092e30ab47f9985c7c439448c92b245259d388e291c04de427f378011ca983b21b2ba8bea9d6eb36001ac4fa5061ee1670066f9252524848973782774cfa795a2285a2669515d4fda7093bc54439753fb6b4e6b781eeff574155b2438e074b332417d751eab1ba1475436e8fc1b670c3928a3553d2bcfd1a59c46ea2542884f91f98a38d42ecc026ebcf91258acc99a50ae1edc88b90c98b74c3961b70759f39b3c20175fa80386376cde2b66dff213151b800921ab6932b45b720932a540c79cca0eaca0a9d5bc841c3acf3c08096c0446326114f05cb09745ebb986ddb76913faa6a20c8da5745f754b89a990746ef771cf07a6d8109998936b282757f344a1b00b851eaac27a9a7fbf480d44262868542128461598b5597b10cd3a2a26e3f941a9a4719ab2033fa1181ed08e3247bdd396a834e43f5700522cb307ff4b150bba9d8b6aab47361a7947b7a04b8d923202ab1a3d6644be06bc6c1e0735d5d92821c5b8e9b9a83c343d0c456b181b6fa566b0e83602428b6cd33405a95abb623a73299c5b4550a7d6c31d6ef81473489bbe457e744b5d1e39ab74d8a051951abd01a6cff3942a102a33080327437635c1c17966834340c26654a3f38616e5eacb0e489141b14e9d1b15b7fb30927715273547999b93ea2a1ca2189f5645cc4889943f3ccd95496b71f392f78a82aa1a21d66382c37154323c0616804f50125d6b0698e5dca3e2d5658ce153bbf57e4b1908c92587b8c863ff4872e9e1963ae6c971c6ac3932bc974b9f15e5743ec069ed203c3624a022f9a7420ba951425a432b46c5e8bb666091d6f223e357ce96c55bf067b3c3f51abe70abd85a73a42233800853031313ae9971d280b3aed18489e75cdc16cbb3ebc95a8c97a768aaa6c0bb0da7943037bf2b4a523e33abf669c262941f326b11ec6bc8ef51b0666268d6d433b5190bb6996f65925a7eb0761eab6906178be9a923d1c61c0b7683cea681648c44608217d6dc86441a8f423a9d1c288b32ebcd049c15ec151e256a322ee79e2c689a23a53b8d473f4c643aedc646401761a7b75f7bd4145e837b756003bab223ff1a74feacc2e449b5dd9b5777d62ff0e20e4b395821474ab428aa2ea219bfa169b95039616598dae0b9282c69ce329b534bc7aea58e17467b1348b1ab2a031324bf835c985371b0f53877dca53570199b23bc4d70a9425a32b54749082e794e10012e9b458205e106da807c03ac3202a4350050815487626bd018706c69a6ab02fcb92621114a16cacfbea02aec424f82fb874800c61cc23bc6618ed75674a70a6c43c4068e2a7c9723a054967e4dab09f337695bbb01053a7c5dbc764a0856d2b75dd4a94a9898af8b95a62b487ec7fa9f00ab75325c9ab8248f1db65fd7661dfb0b8eecdc2a4134103380988758379d0a73b0f348b00b4b13b115e74674aaac2ba8c2a7ff440340b622b5c0bce05cb601259913c488fee540d7c058a28a0c28b856ea800d26a6a26f8bcde7d78298314cea6056b00a845321a245949a8c7c98d9f8821f1264c658a8061a3014249b7e522d586a54ad7a12ad805544247d74058bc9ac0f603a44ac5199bffb69c1570c4076b345064ec00c5ae0d6a2308947593a84ddb6133ba40577b7b245c20b5d04c5d08281ca0aa10da2a358386d2a4c048c89a2402c9150a7419c0a1aa17562fe786f00486dc82a9809dab08f7b16d9432981087b6741269424598eaa99082525d5db0deaf1b96f55b41ee209f57aceb895babc38828b712724204744834303c496b7171fc458534f46892627ae54800fe6f11d06b6af2b6b9259144f769b1f16c0586c9caf01f8491251907fd213aa6c0bce5b08f060124fb99822d964c502ac49c16ce9fb17eb0c91af559947c056af77ca687c4f675c89be35aae91584cf82202734379b56784fc5ce56e3852d89b052367d9a5d375d06ec7863e051cb44929f17a4656a2cb2c58d8d457897a1aa0d6533c524a32345eefdadc74a3c6ad7e981832797faf1068955b79f118dff9358d55eeb68870b6df148654f14eb4b3ae9084b40f8b5cbc83ff4c419dbbacbd190 +m = 7343358fd131bc289baec8ebfcac5c52c29a86c89f8a2b89c695d8a9a7afd491 +ct = f485cb73a987e05adb9c743381f155ef4fd49f5edc31de396eb2931318add019f830ef7ce5c86ae2067c7e0f01cfedcdde2e4f804628ac682edfca9213378a4965c3e5a3e68bedd2e8e65a84426f86d1f182a028f11af07f2a4df44ba1798789e7d96bb8aa60f270d177fe111667bd2e77acb4fb5a27cddb7dc92e6e359f4a056ca261f9b8034cc3d6fd43fc15293e3c8b746415e667bb7042ef16281c96f4a5bfb0f6ac04b7c9cd2338f14db73790b8b93e119e388250903a1b2ff765d039be171b640d186b4330f8e0fea18886d1c4daba4c3a5e93eecb087e5a4ab250cc0e91bca6613fb3ac210795e5bd731fc932016f1d29929631dd9ae03f699f200b3c1e600b22d234d8de1a1b12668a20773d8dcbd4a60fbbe66fb7bf8922649f922d1a133f7c35433b5e72edfeba501e50d7e0f88efff50c284d441a864636035a09de1d7c62b4160cba6fef15155ced41585eddc4b0312e44c7cc907560b439fb303a2a79ca6dd5ecaa02a978c76e2b9a71973a2e7a8e75ae55758cf63659891a4720aaedb3bb22d9a7e6facaf41ddd84194283af8f2977a606f5710a49a7127c2d50f627261cbea0fe18df36ea4a8813cc148c2193550f817eeb96e340d90be782fb35bacb2d0edfbfdde1b2e5f82521e9a53c422f8308bcab8bf8f95e3dfceab6a6de6c366127f97e29f529382ec4c9c40d378c254ee0e53e81bc2c1d1d1d31b50072cb7ce6bbc6b7ae2ddb63deedd8e1a9b4d622f49c191396733ff07b11b539b6a3b7607f20eff6f2a672927e00654de97a7abecb0fd53c425f3a600ee8863ee0de773c3f03df2d4395194e9b236e616e51967d630b915545b09b9f5c8edb5eed9da8ae628082507d5b49930d14a44dc0337f0942f18a0750f787458107c3fa6368137b237b3338522a247a17359f2d0d8d7a722fac2b3aa6683763b95bf065b8a86ecdf51bf2b73d001a8bef8083a21ec44c130e4f21f643ec0af60754542c0e22eae05e5fde0f933765ceeacc351d982d6ea939670144c136df840dd51ad7c2efb74811883c88a14651900090381022837946cc3f27a892f2950df37ed7e623816e498e0aa096c1462b2bceb267b48976c9b0f0cecb41b1aa0a918c980d0e48f0996618fad8069fc01257d4ee6b7f2f6fde3668b4bb8d95bb7fc19b98cb80cedfc2a3a502636bed54a6252b9a65952ed8017a77857c1dfa1a6365d715d222703c2bc282b110e63c4d478e6432e13c82e000544c9b1e8d16ff24aa309de170937e2570cf6abc8ae115706c16986bbfcd51d96da912782044dae97ff7d52c38aa1469d11801afdfbe6eaa0296a3a5530149bd8ac55502a78194d53571e90df716f4741149ceae4d3ecd3e6711f35ad4a29867eb54ade12610fbbc07359697a7c88c1d6f0e945f863a3694be727c8ca6c3fbb46fe81fa3b803ba7b0afc8beeb16be24e4b7d6fa028967e5685fdca28e8e2a5faa138c1dc3e8aa5cf5e71c5f53ede7570e49748c26b22161de5d6cb7eeae9438e19ecb2a32b7e514e53daebdc7c +ss = 5a020d0f9ac9826cb6d43ac73acfa6cd978d3a547ad510261090498e05b9c345 d = aaf6eb40e596a5e3e8218871e708b089240dcbe7fd3641f0e5e41e071ce49107 -z = e2f8d320ac3cb0c52efdc753282f092bc39baf4a18783a48ea031a191865eb78 +z = aacc8be341a319f425312eff5dacb31e6e772efadde7250db9f613c13b454565 pk = db55c6cec7b63c0721aad84d2b6551fa941167c78a0c105ed9e5300a24bb2c8b2265251a38ec2b9d05a0635b2849a81a2a7c6f2660504d5602fd2763046820ca168d70b76e35b9641ce46a44f2a394f496dc32353c1a84302381e8d74ce4294a4a260a5b0704797567ae831d7c4410593cb7b9ab74d2042c84805c3aea6ebd193a927c8189082333b3a5e96857e3970be7daca4c884d7bb0b3b9c250cb4135d0b8c90ae320dcb3c423e8a6de79ad594240ae7aa036e320ad8807ccb7a1bc80c704c9532960864a9528347636b4123337db7e2de37823c6ae084418fdd05ff7e904211924fe5a370537762dfa012a2153af96a46987776d245fdcb9434d66aa10524a3ca74e494c9de919c8e23c3ff77c58cbd1cbaf5b8a69803a32e23959b2a7d9f808689906a0985aeff5a8464a2af64ba053a3c18d89b2cae3814cd712484288abf7655063c403f635d7a2afb9d804e2e89677131bbbf7009c981548036726d25f05f004d605a24b7c2bccc4294f065c013c8ecb242d25611b5c82bcabeb9e578758f2f3ad3f087bb6813db1f3990c867a2e679f47f074fd012e87b3b6f51cb1707b9287d99fdbf43c8e58940109c376789e16c4a30b6bc34c870364192c555b81af58962ae771df477ff421a9b46c6e64bacd1a8a6d00da4d9507212c910ed2c62d199c7e330a11982c514f27aac092a5216b13ad54beebaa4049065a68d8ce9b1c969ea01599a71d633197bc33c2f6f958f72ccf14c7c09d973770f170f1f7bb9e458a00936d8677717f4a17655bc7a7ec56119779f7aa391d2356ae3a97d7ca04971cc2515154e148568c176a659a8decbb2c5c449ccd914d3cb7431cb3a0a400a8c7b59b1cc770c5bb5b64e0932c61783c9979d6cbac042216a0cc5800ea160c8c8556e0721d610fce13992396c382e93bad1514d780cee046525c443fae063c5882a01e5a73658a30864b1d6344a6cc46729bab7810c46f5b480d309a263e30461769a55a2965ba6ba0b44054f211b98c6c2355150acab81881e5ac1e561a4bc4b39f9902d1027e56155f5d71b7ca67415185319ba769f88345611ca2c20b233dcaca9ddba42edb204576bd028a79bfca57c9dbb0a54b933c970de35032b9b51d00c9922abb5106897cb896065fca846aa486d9c27f5b616e99ea0ada711729b75d86669645b9a223959b3c1c2f3ab6536d74295473c4c055aef8c2cd2d321e9e73cbb872698b3a60667bc768014332083139d08c321157cff1481f259ed56a7a3ff1717bb64fc951297c709a4ae3c05fe3910d6507ac947f944b970070570fdc9843a8a5ba564141f80f1654766f93048be6297a1cb76c105a7ba3ada06a42ed1ab3c17542201712f11824766c07bf14685ab0a9f69a15ad6574e59709d2411b37b509de3b7fe5e8b0ac65922df23e680c33141418f9551660467accc0c794a67cc530a5b130b4cf1c28747601d26983764acbddd30e42eb96125956a5870142574419977209a12e09ab3c5e8a22c1c5252527c90987a816b8830a757ec44b12e2e2bcbf19097d02b19ae47cc7bc99189370a1aacef36415ded82fa7a63be809b515f79f06612dabca5768201c59e2c92eba6d13b72c31648ee1d504ec3e89c8d796e77fa9a772499aec973b63e864ce36a29de99ecec9695d12112c -sk = 90d7129b79c095b3063f53058a4baa74c262a99c822894254a050409215fe67773c26c7a6dcc739d8406a6055b388204604c7b065c0cdccc16fa880858a36d6200c6cec473bf81b245e09c6e5a55a8d8314334c23dc14fd6a9c011a2ca93753afa8609320b1d01fb9a2a4263ddeab8d5a00c40346b8f84afc7b945f521321103a5219b533f52bee42256edd1b9a526013a00ce07d44ebfd66c0bb67775d1acde4aadb7c98731931e54f5c458264894971df5d0ccd93817bb77a2e7d29ce47aba205c0971f34096280cc725a3c22a4ee24a9938cc2fcd9a670272a463c852efc04388ca8ce86a8e9f63273aa208610c2274709c55922ad371c197741af0526218e84c3bcb61355ab94d5c94dcbb4bc08986ac075e01134b4029c8c1d78f829796c1cab0ea2075bc25b797d82a8e0385ef1094d0a2b1731624308487991a7164d8a507f2390f354b4fa3a225d5a46463145ebb57b98724f1d3cabf11ad4fdc00bfa267d8f3107ceb7da37c060aa23e247c28ad0069d30681e37807117ab841f23548caa02212afbc1bc54297202fa549def55ddeb5ba4d10ace2650511366ebe9c1d61fa9d5574c86c0714aa523cdf946e1fd259148a7e2ab5c21884314e3b8082bc210b5209ccb6b95eaa2ef62203a0b707bf9c5db1a155169b07d41c0edb9709744caaa36622f189773ad7a59dc142317454d9c81d55d1c637876f104b6836a6842b87174290125505461eea77d63a8dad03c7941b69d7f66e434922e13a8182fcc35e51c9ce81978e35818504cb32e4a6dfc777227a5484409a38b2a1e2243110e84d024b1fe0e0bb36d4aac0622152599fefa177b294bece391d47553983e420de5462c72ab588b2934680a399ac40ef35a5e8819458e0a7bed1afbb29a446ecbcd4e45a50176ee201526e314cde085afda30226039ceb41a14d87256bf566db30ac77acb80b29b1f9d602e919707c96863304372a353771e1ce994241a12369fbf42bcb4315592724cd5085a589b1b4ca46dc49cd65a1247178151e455741c8b5d7c9cafcb75bf27a5b4ed05b22e932b1e3bfb0c93248400e5485486e0c39fd5ccec680c78e6137be96823deca37c6306d31c9142fc03ec540ac0120ebbe9bd5237583e1972d0c4676708ad35b559fb89bd872428a3e0504350451dd65f58bcb292c0ba437394dae55e6df13a8f41827939016a081935d1788c4807a53a011b89528fb60f386632e725b163e83e105324c3914f26f389dac199a926a25a02624d9a530bf0afafa4c5ffe6a5ef9422e422019ff337d1bc2fe16a07d9a046d183137d477dda378e17a95fc7e02ecddc0d551724a4f36ee7648c9aa771bd15ae29b7259abb63d0983917156ede6557be445735ec539b2199f9816c562842627cc83bcaa659075f5179abdd1a7056d27f7dd96a6813a940a9321cfb1946e95c16836ef028106bc26a3ee450d8e569eeb23b70722bcbf828821648b1668e6e47869afb16c0e4b827c4cec3c4c9948a6c7f874968dc80160a811cd06d58a885d033210341a6f7907f53a82c98468f6bdb7cc7a60107973db0e70f9a387673234d6665019676215ee4597c65a13a2636cee74266f373a4e48bb1db019bf44ebfb0a5db55c6cec7b63c0721aad84d2b6551fa941167c78a0c105ed9e5300a24bb2c8b2265251a38ec2b9d05a0635b2849a81a2a7c6f2660504d5602fd2763046820ca168d70b76e35b9641ce46a44f2a394f496dc32353c1a84302381e8d74ce4294a4a260a5b0704797567ae831d7c4410593cb7b9ab74d2042c84805c3aea6ebd193a927c8189082333b3a5e96857e3970be7daca4c884d7bb0b3b9c250cb4135d0b8c90ae320dcb3c423e8a6de79ad594240ae7aa036e320ad8807ccb7a1bc80c704c9532960864a9528347636b4123337db7e2de37823c6ae084418fdd05ff7e904211924fe5a370537762dfa012a2153af96a46987776d245fdcb9434d66aa10524a3ca74e494c9de919c8e23c3ff77c58cbd1cbaf5b8a69803a32e23959b2a7d9f808689906a0985aeff5a8464a2af64ba053a3c18d89b2cae3814cd712484288abf7655063c403f635d7a2afb9d804e2e89677131bbbf7009c981548036726d25f05f004d605a24b7c2bccc4294f065c013c8ecb242d25611b5c82bcabeb9e578758f2f3ad3f087bb6813db1f3990c867a2e679f47f074fd012e87b3b6f51cb1707b9287d99fdbf43c8e58940109c376789e16c4a30b6bc34c870364192c555b81af58962ae771df477ff421a9b46c6e64bacd1a8a6d00da4d9507212c910ed2c62d199c7e330a11982c514f27aac092a5216b13ad54beebaa4049065a68d8ce9b1c969ea01599a71d633197bc33c2f6f958f72ccf14c7c09d973770f170f1f7bb9e458a00936d8677717f4a17655bc7a7ec56119779f7aa391d2356ae3a97d7ca04971cc2515154e148568c176a659a8decbb2c5c449ccd914d3cb7431cb3a0a400a8c7b59b1cc770c5bb5b64e0932c61783c9979d6cbac042216a0cc5800ea160c8c8556e0721d610fce13992396c382e93bad1514d780cee046525c443fae063c5882a01e5a73658a30864b1d6344a6cc46729bab7810c46f5b480d309a263e30461769a55a2965ba6ba0b44054f211b98c6c2355150acab81881e5ac1e561a4bc4b39f9902d1027e56155f5d71b7ca67415185319ba769f88345611ca2c20b233dcaca9ddba42edb204576bd028a79bfca57c9dbb0a54b933c970de35032b9b51d00c9922abb5106897cb896065fca846aa486d9c27f5b616e99ea0ada711729b75d86669645b9a223959b3c1c2f3ab6536d74295473c4c055aef8c2cd2d321e9e73cbb872698b3a60667bc768014332083139d08c321157cff1481f259ed56a7a3ff1717bb64fc951297c709a4ae3c05fe3910d6507ac947f944b970070570fdc9843a8a5ba564141f80f1654766f93048be6297a1cb76c105a7ba3ada06a42ed1ab3c17542201712f11824766c07bf14685ab0a9f69a15ad6574e59709d2411b37b509de3b7fe5e8b0ac65922df23e680c33141418f9551660467accc0c794a67cc530a5b130b4cf1c28747601d26983764acbddd30e42eb96125956a5870142574419977209a12e09ab3c5e8a22c1c5252527c90987a816b8830a757ec44b12e2e2bcbf19097d02b19ae47cc7bc99189370a1aacef36415ded82fa7a63be809b515f79f06612dabca5768201c59e2c92eba6d13b72c31648ee1d504ec3e89c8d796e77fa9a772499aec973b63e864ce36a29de99ecec9695d12112ce2f60f27da7f318eb94a74b437f8e0bc9513e9bcc38dad99c174c1d75e0145f1e2f8d320ac3cb0c52efdc753282f092bc39baf4a18783a48ea031a191865eb78 -m = 4725dd8fb314bfd8ee23731c2341dbe114606d9abe6434c471b5573e7df193bb -ct = cbeec8c5d1013221d499df4b687fc8dd032863eee2a09d95ccfd7ccb41bac0b0a3122fdc92efa08baba7d722ea15c19bda3f4977aa8afebdcdfc3f0e1f4274680048f9e060339d3245e7cd07c368b0a132c6ab6c5fbbe6fc4d87bced0ae4504a62b3e81db9f586d2f33c61ab9f04939946ae1c38c0d34d97db4097e424bff268243d2cde37211a073ba22c10fa87bdbc19af7a7f5f07ce8745458f9ef15134bbfc4eebb6889d668111c83af7acf73e63291a25a47650d2e0471b020b06be0c34b191550ce2d2ab8323a4f224212ec47fbeef84b36d17e593e4dc3441196f5b091ddf778c6127a9ab08f6b84997cb057bba3508b7c31982a0a8a017bfb99279bd375dcb94d8f3ac4c6bc61cb3e63cb1fdc5caa637d1c9330ed8a251037075d44375450e4224176f475a48854d58652637189d2ddbbe38ef9d34f059582f8796066d8d18362a708190ad0adc3e91f2f51421ea2172e0170600bfbf23730c6cb025ed8ca4b9ae033f6cbd6ef7f69a7de1e6f711f42d091a79908c7493ad1b68ded11f32daa940cd4e92bbac9eabce85b3fea56828a10e01847b92c64ce819e72f62be4ae0c0f4b6fac1ed60fcd91c166a4e0c17c13d52075f41113d03404bc422feda4b37f990c039218c217b5106a095587e2812e66437d8786b8fc9f3365eeaebff0c2e6ff6848f0aa570033471a9834ef83fe62884c2022c8934133970da578c441787e17423ef9cf2bc3a40b8cc481fe29b8380af23c42e2a808da7e5ee6d1d7c96b13031898a8aeccce1928c49c0a81d47bedcd8cc53aba9e77bbc83174af15c7de9869da8fd3b924850ff97558207d7134ec48b9ff33501d4021b6f89208e8421bc07f1d37519614bfd0fa4fc195d54d2f05c118681b2465ade4375807c5314cb21afe0936098f6eca70294f6d1f6dd9e512e0d87cdef023e317ca27d2f1b373bda5d96733379ca70731d3710fdb7592db380cc230e13ed0dc3fe8d8cfe15d730ccf7b6e7151353c21cffc8b53b5dc2beeb3fc3dfdd1e4f3edad81eb1745353b47668022ae0fbedfc534ae4248286117550b9bda0e5643fd95b3293dea31d9f4f2eee4ffd4fb3964855e9947cb520efc349b28b42efef607c416bc4a339f04d6eb7e1743f631f061cf4fa5440ca2410ad3088f08190a05fac211345eb0eaff7de7e2294a58b7f27c792fd39dc3b8084f390db55548e45efc9674249482140b33c8219c7edeb1ecbfb17c9f4e07a99acd348628780138abce0c15c96840f04ebe7176090e13d0a08990096149ce1f07c865d35e19b9e1873347d25c03ed113cdbdb3eab39532247ef19ea00361c4388edafde0b12bee641310c8af0c184e3c2d8d5bf7769baf1f7f6c6b7c7caf0c1e40e6063e6e601ece23874e7016d2fdc98acbbb62b1230cc7c1ceaf1699d004e63f1351501d99d6f23760003c2bcaded3a44cf7b0b572243d8e137dc4aa785acddda836d986c1dca0587827ecb85b579241c5efa06e30afe5cd363c2f63c0e3acd503f8277fa867626845e6578b40e983 -ss = dfff52ca2afc33401b4f72f5e6ab5d9bc21c08a6843ffb2ced24775d786b5a0c +sk = 90d7129b79c095b3063f53058a4baa74c262a99c822894254a050409215fe67773c26c7a6dcc739d8406a6055b388204604c7b065c0cdccc16fa880858a36d6200c6cec473bf81b245e09c6e5a55a8d8314334c23dc14fd6a9c011a2ca93753afa8609320b1d01fb9a2a4263ddeab8d5a00c40346b8f84afc7b945f521321103a5219b533f52bee42256edd1b9a526013a00ce07d44ebfd66c0bb67775d1acde4aadb7c98731931e54f5c458264894971df5d0ccd93817bb77a2e7d29ce47aba205c0971f34096280cc725a3c22a4ee24a9938cc2fcd9a670272a463c852efc04388ca8ce86a8e9f63273aa208610c2274709c55922ad371c197741af0526218e84c3bcb61355ab94d5c94dcbb4bc08986ac075e01134b4029c8c1d78f829796c1cab0ea2075bc25b797d82a8e0385ef1094d0a2b1731624308487991a7164d8a507f2390f354b4fa3a225d5a46463145ebb57b98724f1d3cabf11ad4fdc00bfa267d8f3107ceb7da37c060aa23e247c28ad0069d30681e37807117ab841f23548caa02212afbc1bc54297202fa549def55ddeb5ba4d10ace2650511366ebe9c1d61fa9d5574c86c0714aa523cdf946e1fd259148a7e2ab5c21884314e3b8082bc210b5209ccb6b95eaa2ef62203a0b707bf9c5db1a155169b07d41c0edb9709744caaa36622f189773ad7a59dc142317454d9c81d55d1c637876f104b6836a6842b87174290125505461eea77d63a8dad03c7941b69d7f66e434922e13a8182fcc35e51c9ce81978e35818504cb32e4a6dfc777227a5484409a38b2a1e2243110e84d024b1fe0e0bb36d4aac0622152599fefa177b294bece391d47553983e420de5462c72ab588b2934680a399ac40ef35a5e8819458e0a7bed1afbb29a446ecbcd4e45a50176ee201526e314cde085afda30226039ceb41a14d87256bf566db30ac77acb80b29b1f9d602e919707c96863304372a353771e1ce994241a12369fbf42bcb4315592724cd5085a589b1b4ca46dc49cd65a1247178151e455741c8b5d7c9cafcb75bf27a5b4ed05b22e932b1e3bfb0c93248400e5485486e0c39fd5ccec680c78e6137be96823deca37c6306d31c9142fc03ec540ac0120ebbe9bd5237583e1972d0c4676708ad35b559fb89bd872428a3e0504350451dd65f58bcb292c0ba437394dae55e6df13a8f41827939016a081935d1788c4807a53a011b89528fb60f386632e725b163e83e105324c3914f26f389dac199a926a25a02624d9a530bf0afafa4c5ffe6a5ef9422e422019ff337d1bc2fe16a07d9a046d183137d477dda378e17a95fc7e02ecddc0d551724a4f36ee7648c9aa771bd15ae29b7259abb63d0983917156ede6557be445735ec539b2199f9816c562842627cc83bcaa659075f5179abdd1a7056d27f7dd96a6813a940a9321cfb1946e95c16836ef028106bc26a3ee450d8e569eeb23b70722bcbf828821648b1668e6e47869afb16c0e4b827c4cec3c4c9948a6c7f874968dc80160a811cd06d58a885d033210341a6f7907f53a82c98468f6bdb7cc7a60107973db0e70f9a387673234d6665019676215ee4597c65a13a2636cee74266f373a4e48bb1db019bf44ebfb0a5db55c6cec7b63c0721aad84d2b6551fa941167c78a0c105ed9e5300a24bb2c8b2265251a38ec2b9d05a0635b2849a81a2a7c6f2660504d5602fd2763046820ca168d70b76e35b9641ce46a44f2a394f496dc32353c1a84302381e8d74ce4294a4a260a5b0704797567ae831d7c4410593cb7b9ab74d2042c84805c3aea6ebd193a927c8189082333b3a5e96857e3970be7daca4c884d7bb0b3b9c250cb4135d0b8c90ae320dcb3c423e8a6de79ad594240ae7aa036e320ad8807ccb7a1bc80c704c9532960864a9528347636b4123337db7e2de37823c6ae084418fdd05ff7e904211924fe5a370537762dfa012a2153af96a46987776d245fdcb9434d66aa10524a3ca74e494c9de919c8e23c3ff77c58cbd1cbaf5b8a69803a32e23959b2a7d9f808689906a0985aeff5a8464a2af64ba053a3c18d89b2cae3814cd712484288abf7655063c403f635d7a2afb9d804e2e89677131bbbf7009c981548036726d25f05f004d605a24b7c2bccc4294f065c013c8ecb242d25611b5c82bcabeb9e578758f2f3ad3f087bb6813db1f3990c867a2e679f47f074fd012e87b3b6f51cb1707b9287d99fdbf43c8e58940109c376789e16c4a30b6bc34c870364192c555b81af58962ae771df477ff421a9b46c6e64bacd1a8a6d00da4d9507212c910ed2c62d199c7e330a11982c514f27aac092a5216b13ad54beebaa4049065a68d8ce9b1c969ea01599a71d633197bc33c2f6f958f72ccf14c7c09d973770f170f1f7bb9e458a00936d8677717f4a17655bc7a7ec56119779f7aa391d2356ae3a97d7ca04971cc2515154e148568c176a659a8decbb2c5c449ccd914d3cb7431cb3a0a400a8c7b59b1cc770c5bb5b64e0932c61783c9979d6cbac042216a0cc5800ea160c8c8556e0721d610fce13992396c382e93bad1514d780cee046525c443fae063c5882a01e5a73658a30864b1d6344a6cc46729bab7810c46f5b480d309a263e30461769a55a2965ba6ba0b44054f211b98c6c2355150acab81881e5ac1e561a4bc4b39f9902d1027e56155f5d71b7ca67415185319ba769f88345611ca2c20b233dcaca9ddba42edb204576bd028a79bfca57c9dbb0a54b933c970de35032b9b51d00c9922abb5106897cb896065fca846aa486d9c27f5b616e99ea0ada711729b75d86669645b9a223959b3c1c2f3ab6536d74295473c4c055aef8c2cd2d321e9e73cbb872698b3a60667bc768014332083139d08c321157cff1481f259ed56a7a3ff1717bb64fc951297c709a4ae3c05fe3910d6507ac947f944b970070570fdc9843a8a5ba564141f80f1654766f93048be6297a1cb76c105a7ba3ada06a42ed1ab3c17542201712f11824766c07bf14685ab0a9f69a15ad6574e59709d2411b37b509de3b7fe5e8b0ac65922df23e680c33141418f9551660467accc0c794a67cc530a5b130b4cf1c28747601d26983764acbddd30e42eb96125956a5870142574419977209a12e09ab3c5e8a22c1c5252527c90987a816b8830a757ec44b12e2e2bcbf19097d02b19ae47cc7bc99189370a1aacef36415ded82fa7a63be809b515f79f06612dabca5768201c59e2c92eba6d13b72c31648ee1d504ec3e89c8d796e77fa9a772499aec973b63e864ce36a29de99ecec9695d12112ce2f60f27da7f318eb94a74b437f8e0bc9513e9bcc38dad99c174c1d75e0145f1aacc8be341a319f425312eff5dacb31e6e772efadde7250db9f613c13b454565 +m = 1beaad495ce5da859511454a6e6d84c3a3e0d73bae4cb1cf8ee16aa1539d37d6 +ct = 891ab1aa2e5f63f7ed733a36d3fb1685a6393cf9c6d59f67f7e3d47ee3b7b43623e5d8c4b94567f39c83f7878675af4737d5d78fb3ccdfe49d9bace581e0cef8d82db2197c90b022bc761ab9fce1b7a52ec2343f5021ba90494569c5fbb6b1f80972904286e135a6facffa91dcf5b86d03a4752d920ba32cd48d538b38e86904ecd6a04d0f0c6b5ebd4e6cbb613044da6e7ac65b13e289ee069819b34da78978875b574c2de7bf205073bb1add7ae88ba094d96e26230fab458ead69d7ac8e6de89ad6795bb30f2ef077a6c47125ad2e7df75323f360ff4f2f228d33a6205c767f08dafabaa1e96b05f1a60fce2d3d48ac6d8e1de772d6f4d0e0f9dadc5d5f2d11f1be12aeec41ca19ff7c48fd027a287ac3d26c904e2b67398cc5f8836e16100411f16cc088e2189ef62b5b2376df1ff945e7434e167abb3177ac8016bba1eb211cd1bfea8a3641e560d4ebf6cdfd8816e1a59756b4d89ee2aa51067a0e07f5d77058d397ce568e1a9ffb4bb14fb951f52cec22442e48c57e0bd871cb798072e1b171d4c7e691e6a58508e871a64612bd90fb2383e4eceb81d8ed0ef91fb2e574770db7546427850095da514a078a41100773d80b83d956c6f5ebe53990e6ec834e59c878a53b6d47242f54b7b6297b942126625c1149cb1cb10ff3fa6dd5abb5e34c87fb192873e18cace7cf0b866cea5f2388395233bb403f8d81ad4f9d284eff72632fa45a2eb3d9ebc7c6d65295bfb73bcdbcfaba19b6044328ca2ac954755a1d25830478ec043a9cb80fdae3e3870642dea3e954c6393d4dbec2bd5765380dd92bd5af15672cc2a4a047731d0c0af9b9f83caf17e414a04f165d0aff3d6fa1ec8135048e170551ebf106b6ae0ea71be710898ebfea9b9b8d1d97741384c2919779d0450d320727858a44d3248f0b1ddb4c694fd79b035ac7d293b4ee0cbdc41b350cd33816cfbc2991f26afd3e2312e91d5415e3e68a90c4529ca65664d79ad79a9fa947bd407a028831cbe2bbe5c3df475fce34444b4c97f743b68948594d9a5f116f36b42caf656e30e2524f7c52c45e1e9727e1509fbb85dd904b1c663011e482b3ab95b957d5b3586a519f7b215101758b9295c6c1ec2ec8d68b22ee91d296e93e6da4bc9b045a31779242060b657486a43eb716c17332e8aca5103abad2a48c85c811a03f01aff9006d1b839e2f1e5ae34085cc60ff2d3a6ca7d05e04efd81b25baab48c4271c591fb3e146da4fc7bc80a349da8550c058d4432423f81257c4dd90e9de0621f171a7a32b8065d72fdc90bfe1cdd2fd4d786696f66ec417c239b5fafeef1a2559a3c8bc48278af703844e7bb3df0cdc1b85c0255772b83791065f9fc28cace53c61136c762d1ddba519d7ce02df0df83d3f2ead10fa2b11dbdd3444dfa0dddd3e912b7242778514c0e2045b5db0af6517b5dd24555223816a523b66461c5fc9d6fd8a9a394a8432aebcd5fe9d342ca3667d49a53db1840ca81b0b3e12d313c9f1873f8d637af3bd60c459f29fc12b207beba27579 +ss = 6ebe495e409b039e504a06a0ee6fec60ae49c05ced0413e6df59bb74945a4543 d = 6500f32c93415cfdbc0bd31d78d5be95cb9060c8cfa2013955b56f8b6868b322 -z = 393308641a9a4647f230201e1389624a296b55192a9819fcb19ab77c25f95445 +z = 2779aba933159a5aa043e2fbe31b14d2e56f93e83763e19787607196101d3f26 pk = 7a2912329482f244226ae33507ba8fc8366736352380b346ca39a936190f09576c5188c5e82315e3532f34d41f1b50bccc42c1138802ccd5b50a7846ffa7bcadd91fe757ab7fe30e873ba233e13b21d25461030593433f4f66482d94b916aa8d1b4b8d6786926e9364cb579f52236218f199c3925142b53500291a3164516fabb941f98f0daaa1e2d619c9622d649a0408ac02d5ccb9b787c1f9b196da37020e362ecdbab03cccb63b659c6347104074b1f8254499c8452364726b1294669a3a24ac8b487752175b30cba68860184d5f78b845b107beba80f8750475d059dad57caf827878b926facbc00b54388f24b7b431347e334ffa046c45e234124c958cf66023dca620e1400cd5c08b89554a474d7d04086e5cbd0d051c03c4580d3442a575255c833026bc19dd301a70367fed300ef27779d2a49819a370519c7fc404acb3fa441a931c67a3033799519c883bea134242f35f92393dc134bce15713ddb33e252b991af10c7134a8acd09408c8cb2ada36bbc25224e8867a4138ed9b4daf403a477321614b3ee5c7bc2281441936b0b05513c1525421871d007346bcf52d6e09b756b4529bb5480aa3165e617cef41720167707f35a4415975a62114c7918ad83bbd8905a283d14d22b2400cb29fb1e102562cbee5a9c10929229f8c60a4b153c430a361812e75b244e4c3954a945459f735d45572e83b505030c13867c720567fd681c539d7094f5558dc5a86da79b38049b0a45a1259713af2c1640ee0279bb7191f0c0ec59c2f91184ca70a2e8b7576ce493e32f2c549c4bad6c925039c4c57114075281ac7631ff4d94ee0723c3400cb2d73c184489aa5b440ad470cde548f2f70903d08b9b4cb6db68a5d4fbb049a5a9727f50f9e6c59295c62bed7182ca96d6093578dd014f7eb0b121ac6faf917fa9b47f6650c6c7336d8848dedb92a0f70971e456e9ae625cfe266b1000c4ea6252de1ce20c014bc161fef405ff327cddda37be4919c2a0c097d6995b0eb743ff66a548307cee1080a13841ed12333e62eff081514a5915022c550c6021a27889bb0421df3a709ab2f9f3b0c0f6019fa8810ce3a9c37f53cd651acb4e5bc1d8b231f373b7a4ca6723a9710681016943f29697b09f6abfc1c60e8fc4c201a9ab05c260d2452c83b88423b904df74f425a9b4d116de0d059d96779d61017c2e984c2bccd6159c82dfa5ae7bc63e59304b1105ca054a71d753e7e583742e715bfecc80e51245ff53c16854ae0ab41c581402221cc8834a5f4556a84c19f6172c7c80c759299a42c71bd67040a29185a45c14b91b56a4af9178e0bbb0c4c197549b5c9765a8874686c63445dea7a85d43ac4d0b979b4ca13a80bf8db634a163fe3f4327210a7a128716b9805bc1920dd322b15c74fc722a126069abb8c95bd090f84497d832a1ab72358d4193b6542bfd627a139374404dc1998416f46054d1b4b538e778d6d0507fbf5571bd01ce56362164793e58355366495aec80eea35463c4044b202451b3604d6ab96acc3617acc1015379564d6a5ff1a6ae4d802712a94422a99d90988206776055545172b0282b5162b479d748a2e9d22356af11daf2629036665eed0642044b76775cfd9417ddacfdcb371aaef7abb3c2cfdca88891dbf808a90028d4f12c57e4985f7 -sk = 0246c2025246911b525e6c3421584bfdbc83d73ab936e76a26236a85215c78db7ddd010c2e038e3dda69b5aa2e9f4997d8589bdbf918be1c046cd518e6958ae6925146009d185b53456b5e16d59257f20cd0f6677535510d02602d5ba5b61c440fa07fabb1b5fbb38437e90522665776892ef205a41a1a2083902648844dc9d65e633266af871481f036a2888d3fb9901355397f37875a4494777c781ec40478d09a820204a4115701d25a74b4bd91676ea6391fa160617c80cd05b0a80e040cdf22b29978ca55282f2c40316a35433dcc8ff7cccf4280c0b11c548b5cc08fa45bd0760ce03a02f25689d0f057fae44cb1574c42e760cb331c2ce4be16823dbb2870592ba844f30dc407298590a088425e023b856e106437c6074547260a856e648cba07e51a23e70d7cc65656b4692ec24277f04905c4aeeaaacd36341c705b504cfaba73201c2745ab06b056f1768447981e0d676ec904698edb230f369190d8c1dadaa5ca59001ee8a68c302f04298dc5700c56b2b577d89cd9a585b239089847cd3e96ca80d928867b27f3657987724ff9031649c246cbcb4673f6cb8544150c9975a13938c89a68cd0b6de5237fc8d2b7a6bb94e0c0856f00b821636801e9ac84f35276065ee4108bc1d755c1c428566a1ca3762d050458dbc7093567a4465453ab8656272a3c03b4a3c55929271437724471d5d4926109c9792ba49d117813948106d27c33069eb3c40aa8370b79e23f35934ac28666fe72b43f722151f3c26c96cc3b6a40d9e1876e55970f252811070fefc00d70a009e4871f136a08515ab239c33e2de638c4260d0c89cfe30b8f8e5927f2c59fea3947ffd0bd636b10876c3c387c00e15469b42b80bfeb8681dc7715c2b248ca6fed92a9399b72d1023f9507229593bd9bd936a0f6abba09bc3367782370b60d9cbd0e8b3d5744101c8ca97eab822fa4cc399b5be3195cb1e3c9260030af60bbe3295c4de898c502543589142cf48dbc7505ec9a9d93cb6dd4c9678c1cc0a082c5631a255142603dcc01fc07c27d628d89f09b473816b5d5171c18a3f9737bd6d3420d4bccbd3a5624a2686e54062ce4696e061c83bc2586f1a618639e51e63bc6c64825eb50d4f88334b29145bacc49e28dd564b7a578217fac230ad00a44f3acbf8753aa572d66e1ab9198cecdf9bc722455bd267faf98424eba4031c3bbec8298a9388cabc6b3beec7a7fbb1c814811117a9d550407c9e6099cea65ece641f69454b6a0ca9bf86a3dd472f7c0a7703c6a5b25464c0b091b29258de673220857878434ea14cf50054fb2e63547e9be15107beb7a78cd5c00cbb1462a0347e72b51a15ccb5c333894aba511295b37c97c7f4c2eb6d97219559b40a67310f457108015ac1b8e3ae15acf85689c4058ec8a0bb18b75615011f2701bde8ba70986b39d3368e1f978675a49fbe8509f1239a1c88f1df4adf0ac8b68a87e2a403373fb808a7b1192371c7e68b80854b0e4335739090b953a2b67999f9878a32415b78c22289eeaaefe3298fd38abeb6abcf5a55bca388004e46375a729cc45926a7c3e3bc8b4e2a2b196aabe5651b642c1cb50f666a1bb6da4d1cce8c6344356a68de044214453d03b5c7a2912329482f244226ae33507ba8fc8366736352380b346ca39a936190f09576c5188c5e82315e3532f34d41f1b50bccc42c1138802ccd5b50a7846ffa7bcadd91fe757ab7fe30e873ba233e13b21d25461030593433f4f66482d94b916aa8d1b4b8d6786926e9364cb579f52236218f199c3925142b53500291a3164516fabb941f98f0daaa1e2d619c9622d649a0408ac02d5ccb9b787c1f9b196da37020e362ecdbab03cccb63b659c6347104074b1f8254499c8452364726b1294669a3a24ac8b487752175b30cba68860184d5f78b845b107beba80f8750475d059dad57caf827878b926facbc00b54388f24b7b431347e334ffa046c45e234124c958cf66023dca620e1400cd5c08b89554a474d7d04086e5cbd0d051c03c4580d3442a575255c833026bc19dd301a70367fed300ef27779d2a49819a370519c7fc404acb3fa441a931c67a3033799519c883bea134242f35f92393dc134bce15713ddb33e252b991af10c7134a8acd09408c8cb2ada36bbc25224e8867a4138ed9b4daf403a477321614b3ee5c7bc2281441936b0b05513c1525421871d007346bcf52d6e09b756b4529bb5480aa3165e617cef41720167707f35a4415975a62114c7918ad83bbd8905a283d14d22b2400cb29fb1e102562cbee5a9c10929229f8c60a4b153c430a361812e75b244e4c3954a945459f735d45572e83b505030c13867c720567fd681c539d7094f5558dc5a86da79b38049b0a45a1259713af2c1640ee0279bb7191f0c0ec59c2f91184ca70a2e8b7576ce493e32f2c549c4bad6c925039c4c57114075281ac7631ff4d94ee0723c3400cb2d73c184489aa5b440ad470cde548f2f70903d08b9b4cb6db68a5d4fbb049a5a9727f50f9e6c59295c62bed7182ca96d6093578dd014f7eb0b121ac6faf917fa9b47f6650c6c7336d8848dedb92a0f70971e456e9ae625cfe266b1000c4ea6252de1ce20c014bc161fef405ff327cddda37be4919c2a0c097d6995b0eb743ff66a548307cee1080a13841ed12333e62eff081514a5915022c550c6021a27889bb0421df3a709ab2f9f3b0c0f6019fa8810ce3a9c37f53cd651acb4e5bc1d8b231f373b7a4ca6723a9710681016943f29697b09f6abfc1c60e8fc4c201a9ab05c260d2452c83b88423b904df74f425a9b4d116de0d059d96779d61017c2e984c2bccd6159c82dfa5ae7bc63e59304b1105ca054a71d753e7e583742e715bfecc80e51245ff53c16854ae0ab41c581402221cc8834a5f4556a84c19f6172c7c80c759299a42c71bd67040a29185a45c14b91b56a4af9178e0bbb0c4c197549b5c9765a8874686c63445dea7a85d43ac4d0b979b4ca13a80bf8db634a163fe3f4327210a7a128716b9805bc1920dd322b15c74fc722a126069abb8c95bd090f84497d832a1ab72358d4193b6542bfd627a139374404dc1998416f46054d1b4b538e778d6d0507fbf5571bd01ce56362164793e58355366495aec80eea35463c4044b202451b3604d6ab96acc3617acc1015379564d6a5ff1a6ae4d802712a94422a99d90988206776055545172b0282b5162b479d748a2e9d22356af11daf2629036665eed0642044b76775cfd9417ddacfdcb371aaef7abb3c2cfdca88891dbf808a90028d4f12c57e4985f7d4bf608793939ecba27dff5889d4d921c583999a57e20a48085ac549573e6abf393308641a9a4647f230201e1389624a296b55192a9819fcb19ab77c25f95445 -m = 818d3bb8ebfb32bf464775f7139bac0a5bddce80ec5798595992f9403002cd5d -ct = 3a3e99cdfa0aff52920da4ca405cb98307ce61faa8bf07561c783e8d1636003e6ba1a0e38ff422d21d7e842d98abdd2632fe1209d662e08a8e3e1459de3d8f206c6fb378019611cbee5a835a23ad221f07574e9ae19daba2aa1e619d25cb73f7aed357d2a68beb6ca21a905dd876d55fd28b251c94121f4934e8046dc44e31821e44294ab66a42bdc3a0c87a74352872fadb4cf156977b539666718b51f3f725e0f4be96aa399dff16802666ed4df9cd2d83470b90e3bd5b7cf395d029082f0923285ced2148a983ab4d11f525cd9043d261b15ee0d51287e85db7fdb7215c3363e5e6d2dbc93a546aee48705a40bb9c8580864ac705499639e7536db42044d7dafc6d3ecc7f843cc1ac3374ead10f60a0f7d31414c3893777a43fc2d9f99bc46d175640a105a0e297ef62d8bd7507a54060adfd1654ad8446d9b359e6c331d9112dca7ad22a5a4319ec7fc9bc4aca3a32cd5f4f34fcb1035521e46e52ff8538a4ad7ec024e9c49f03a6720c55514fb874553875cafd8924db711971ca4bcbf8f29bd7571cbf318faa88e2bd408527a627a1268c96979505fbe85d47720c01dd721795c3a75acc8de5184e8eebab9f1ff4c4d12ffd3a7c4625c23a2893b1a4c45f4544530f3e9ac72709684b3b3df2e47e405e84a5339073ad3bbb6c20d9e2300998be532db686ddfa4d8edded3f5ef868ec100b1d517197313165ed23ec974880d5ada8d915549121eaf1f0851d9572844d804596573ce5c1a32d2c7bba0e8fe1190ffe1af0280e6d781dd31d767fd38899bf7d46bbad2f7ac2e4cb5fd6e949e259e1eff9c8a27d8c9c383bb02385c47635d7f631438c560afb7e4331f1fe6786b6f07379a1ce0a68fea618616e3f1e5d59c9928c98ba8f00eb1011641f0b2718ae378e4f9ce04c5a539ad899988070e4fff6caed2f74f885ff9541bb6b3b713c12fa642c86b075489d06ee26eadc5dfadb91a619e9bfd0bc00b9645605b4b10e5e4029cd30d53c98cac5c449014e460674f41664f953f624ab6d15db60365c4ff87af8993371ae1abe09428dd55a04154d5a6183d7f2fc1f02b714839a5c7a1ef97b96a3c77e5032191468c43a43107004857f360a0fabefc62eedfbe21fc76d148fa89e435cd0004460fa6dca391393ac3a2e4351c6da5d9c504e49e8a3988fcf260dcaa781b2882897c6c6913dc72b813634fb39a67c7d341ce8bd5494dd499acc1824f7585d9a0af542b8c8d50c6cf42bd79de25f4575af276544a3a55b11081cd798053b56c36ba4d0f4bc68e197a4b6bff7f00e5a3ef02878d5333c0e35c4288a541ea49991c5652d6b751307a15cacda2774d676ec53c0d36535eca12bd7428660fa8a8c1c1be54cef68d23da94c0bf547b3edf5b3d4bc618a5cf67d96a9e8f71839098404573c83e3b0e6cd698b1344697bd4e348a5d56ec3d87c32a1b083c21845251dbb844b16ea2528571e42b631f5a48698658ae63abcc46e36e721997cdb747f05492ba5701da2848617a84087d31d040f1dd2dea513ae87c4 -ss = c870a7be3dc7bbf5836727e5bd82cf977b1332e7db276473e4029ed95204acda +sk = 0246c2025246911b525e6c3421584bfdbc83d73ab936e76a26236a85215c78db7ddd010c2e038e3dda69b5aa2e9f4997d8589bdbf918be1c046cd518e6958ae6925146009d185b53456b5e16d59257f20cd0f6677535510d02602d5ba5b61c440fa07fabb1b5fbb38437e90522665776892ef205a41a1a2083902648844dc9d65e633266af871481f036a2888d3fb9901355397f37875a4494777c781ec40478d09a820204a4115701d25a74b4bd91676ea6391fa160617c80cd05b0a80e040cdf22b29978ca55282f2c40316a35433dcc8ff7cccf4280c0b11c548b5cc08fa45bd0760ce03a02f25689d0f057fae44cb1574c42e760cb331c2ce4be16823dbb2870592ba844f30dc407298590a088425e023b856e106437c6074547260a856e648cba07e51a23e70d7cc65656b4692ec24277f04905c4aeeaaacd36341c705b504cfaba73201c2745ab06b056f1768447981e0d676ec904698edb230f369190d8c1dadaa5ca59001ee8a68c302f04298dc5700c56b2b577d89cd9a585b239089847cd3e96ca80d928867b27f3657987724ff9031649c246cbcb4673f6cb8544150c9975a13938c89a68cd0b6de5237fc8d2b7a6bb94e0c0856f00b821636801e9ac84f35276065ee4108bc1d755c1c428566a1ca3762d050458dbc7093567a4465453ab8656272a3c03b4a3c55929271437724471d5d4926109c9792ba49d117813948106d27c33069eb3c40aa8370b79e23f35934ac28666fe72b43f722151f3c26c96cc3b6a40d9e1876e55970f252811070fefc00d70a009e4871f136a08515ab239c33e2de638c4260d0c89cfe30b8f8e5927f2c59fea3947ffd0bd636b10876c3c387c00e15469b42b80bfeb8681dc7715c2b248ca6fed92a9399b72d1023f9507229593bd9bd936a0f6abba09bc3367782370b60d9cbd0e8b3d5744101c8ca97eab822fa4cc399b5be3195cb1e3c9260030af60bbe3295c4de898c502543589142cf48dbc7505ec9a9d93cb6dd4c9678c1cc0a082c5631a255142603dcc01fc07c27d628d89f09b473816b5d5171c18a3f9737bd6d3420d4bccbd3a5624a2686e54062ce4696e061c83bc2586f1a618639e51e63bc6c64825eb50d4f88334b29145bacc49e28dd564b7a578217fac230ad00a44f3acbf8753aa572d66e1ab9198cecdf9bc722455bd267faf98424eba4031c3bbec8298a9388cabc6b3beec7a7fbb1c814811117a9d550407c9e6099cea65ece641f69454b6a0ca9bf86a3dd472f7c0a7703c6a5b25464c0b091b29258de673220857878434ea14cf50054fb2e63547e9be15107beb7a78cd5c00cbb1462a0347e72b51a15ccb5c333894aba511295b37c97c7f4c2eb6d97219559b40a67310f457108015ac1b8e3ae15acf85689c4058ec8a0bb18b75615011f2701bde8ba70986b39d3368e1f978675a49fbe8509f1239a1c88f1df4adf0ac8b68a87e2a403373fb808a7b1192371c7e68b80854b0e4335739090b953a2b67999f9878a32415b78c22289eeaaefe3298fd38abeb6abcf5a55bca388004e46375a729cc45926a7c3e3bc8b4e2a2b196aabe5651b642c1cb50f666a1bb6da4d1cce8c6344356a68de044214453d03b5c7a2912329482f244226ae33507ba8fc8366736352380b346ca39a936190f09576c5188c5e82315e3532f34d41f1b50bccc42c1138802ccd5b50a7846ffa7bcadd91fe757ab7fe30e873ba233e13b21d25461030593433f4f66482d94b916aa8d1b4b8d6786926e9364cb579f52236218f199c3925142b53500291a3164516fabb941f98f0daaa1e2d619c9622d649a0408ac02d5ccb9b787c1f9b196da37020e362ecdbab03cccb63b659c6347104074b1f8254499c8452364726b1294669a3a24ac8b487752175b30cba68860184d5f78b845b107beba80f8750475d059dad57caf827878b926facbc00b54388f24b7b431347e334ffa046c45e234124c958cf66023dca620e1400cd5c08b89554a474d7d04086e5cbd0d051c03c4580d3442a575255c833026bc19dd301a70367fed300ef27779d2a49819a370519c7fc404acb3fa441a931c67a3033799519c883bea134242f35f92393dc134bce15713ddb33e252b991af10c7134a8acd09408c8cb2ada36bbc25224e8867a4138ed9b4daf403a477321614b3ee5c7bc2281441936b0b05513c1525421871d007346bcf52d6e09b756b4529bb5480aa3165e617cef41720167707f35a4415975a62114c7918ad83bbd8905a283d14d22b2400cb29fb1e102562cbee5a9c10929229f8c60a4b153c430a361812e75b244e4c3954a945459f735d45572e83b505030c13867c720567fd681c539d7094f5558dc5a86da79b38049b0a45a1259713af2c1640ee0279bb7191f0c0ec59c2f91184ca70a2e8b7576ce493e32f2c549c4bad6c925039c4c57114075281ac7631ff4d94ee0723c3400cb2d73c184489aa5b440ad470cde548f2f70903d08b9b4cb6db68a5d4fbb049a5a9727f50f9e6c59295c62bed7182ca96d6093578dd014f7eb0b121ac6faf917fa9b47f6650c6c7336d8848dedb92a0f70971e456e9ae625cfe266b1000c4ea6252de1ce20c014bc161fef405ff327cddda37be4919c2a0c097d6995b0eb743ff66a548307cee1080a13841ed12333e62eff081514a5915022c550c6021a27889bb0421df3a709ab2f9f3b0c0f6019fa8810ce3a9c37f53cd651acb4e5bc1d8b231f373b7a4ca6723a9710681016943f29697b09f6abfc1c60e8fc4c201a9ab05c260d2452c83b88423b904df74f425a9b4d116de0d059d96779d61017c2e984c2bccd6159c82dfa5ae7bc63e59304b1105ca054a71d753e7e583742e715bfecc80e51245ff53c16854ae0ab41c581402221cc8834a5f4556a84c19f6172c7c80c759299a42c71bd67040a29185a45c14b91b56a4af9178e0bbb0c4c197549b5c9765a8874686c63445dea7a85d43ac4d0b979b4ca13a80bf8db634a163fe3f4327210a7a128716b9805bc1920dd322b15c74fc722a126069abb8c95bd090f84497d832a1ab72358d4193b6542bfd627a139374404dc1998416f46054d1b4b538e778d6d0507fbf5571bd01ce56362164793e58355366495aec80eea35463c4044b202451b3604d6ab96acc3617acc1015379564d6a5ff1a6ae4d802712a94422a99d90988206776055545172b0282b5162b479d748a2e9d22356af11daf2629036665eed0642044b76775cfd9417ddacfdcb371aaef7abb3c2cfdca88891dbf808a90028d4f12c57e4985f7d4bf608793939ecba27dff5889d4d921c583999a57e20a48085ac549573e6abf2779aba933159a5aa043e2fbe31b14d2e56f93e83763e19787607196101d3f26 +m = d2b388fdf32c5ceb6126f9f28c341d109c1cbc6e69207bd655b969de1b8f7b0c +ct = a41ef792a8f44ed819360f7d0f77a2e037114339438c1f783d903348d94815271f84a54989b7788e12b0bf69ad494157b3caee4fbf412d9c09d4edae9c8532d12c0e5e797f0bb52f6f8427e63f08ce8661ca1499f28f3bb084a16828fe07e3b4b60f0c5005fc19c800d7a83c409fcd93764f3f7b3f0580f6831b10555de762675233cfac4358110ba7c86970a9253310e3b2ce92abc9ab92d12334ac80eb0069db0882f0e9183573cfc918566cf1c2da068cd23a18f87a286cb364d9ab9012b0d7e0e92ca05d01fa298b40a5423d61ebf9702540f082101fa22891fd4bbce0152dcc303a4b010f31a08f1f585895aef5ec53b81f3233abb6494b94521252030a8b210e840ca52b4c01602cc717b15271d32711e5f137e5a39c5e72ee53e68c15c2082b4515d0fdedbc69525cd33c6645ae99bf0d00f52b43af6e80d7b6dd3c512c9fffb75dd942158a6cbc471cdbc25ba7f177453f7a611984da3161496907c38c1d90d7fe02ee3074a26d3f54add7e116bfd6d73ade5f41b27fc96fe74263e0af87b62ee883d2ca98cb1465885f64a5456e8f32651beb723d3a1a6569d724642b2a6f088af4f226ef90c6a6684e1d640dbd2a117923634589a3de374d0d8840122f7b18f5bd222557d1388013d601b1ee518bd17f7a19951190cdf70cacdca6c0860918fa3698fd32db2c95f1e212690a26dd6553c1acc3275141b231468953ea282ce6420c46302c897f0668fe4c9a1678db70c76d3ef4f2da2aa1ba0ff04b82b463105fb21cc207af6bd5dad3b51f03dc48cfb29d1327076530c2e51c972ddf3fbb8b88f91d62ce74c02c7d6a1095409b81c004f034fc19febe99222814a1d54d742487e31383779499b78516e960a8fe60029d417d210b61587c4acd34da8e2454efcb06461f878363c6369beac64a28d61d9b3bb17a0824a250bfc44c414c01a97273d98b7873ffd4e74398e263a2a6b0d1cc64524d437539c4fa8dea2280ffb466b461e9227fe333804bb84eee75fb01807559f11a7ee688403ad4ff9693b354cbf95c9ce4fee182315111567c9f697966bf4c84bd0d394f6bc2e6bc0b0a9320a3f5af8deb5a0a18e8ff70cb4674fa611516c53940c98ff240f51ae887a13493d22e9c9bc66081d7a608bfe0be44a34907b7066b351b299b3ef3bd9d7f316891d79972c65a7d973f2e67ff0ea3471e2e5c066b19d08e66dcbd59e180581c9b4ed6dbd9c2200991b33a4e0e35732e0cadb11b535ff573706b47a3f015b3ce1c5be6e963679058ce3b2b6f841f6178ade0fbd962efda97a13cb51e8a7635329eb3f516116251fe49d7f11c260d28a54a5d758cda90a7090c76821252d2d8355d0aa604d4bf8f3c1d04b19e302208f0a4f92136b6c6687ab32a8b7a6e084d0706bfd349bf1aa9d2327d978865fc88d9f86406bf8361a870a3ae3ccf048b748ff00258b843ea19c57dc19411d4df13e2e70b596641e7adb385649ae829f4ad9f59f023f961d7d10a94d92fe2e1de2e03a1c98b56a0c9e7f60a3572f03c277a +ss = 13718da36873842e229ca5c142ff416f257e160ce7b0b7ec407ee55242ed1811 d = 7643cef2d62cc5aaeecf754653ea62294cd2208e5bf3ddeea209e3dc45373d49 -z = eac9d531a532770837a854b4f5531f6e0c8d6c10183b30d3435498c2dd142951 +z = 92cedef206325f68ebc282123eb0ab02874f8a3c6665b78346775351ad99cc3d pk = 8e892a62437ce84445f2e82b495c9730fab393dc6f3b36bb2a63759a79ae27b162250076a608522440ac1e04630ba766b4c256341c6ac967b36e6934dc58cda15621827b9558076361192e89708ed88a71826a20e8ec948b9c7915566c70a7c15a72c36ecc7a3cc644eae696022657c53500a0f13a8ae50fdfa432d8d2530999275e5b9c1d341fb34b8a5a7421b7d290cbc3218486b555c92572bac8f1085f058a87fd48796824844553261ca11f06978a03f3a8d68657c22064af83166280af52270e004731d20b18982283e51ca3db7a2679da6fb0aaba1e75a2d283add699a797e1be93502c6823007ba5b9760a338768615b671baedc6a6a6937b9e1c35575776a4a791fec7751079c6683ba29ea28bad199175b9629c44bbf219cd88a19f1089aa551946e58032a9c9dfd29bc4ca3b654f494990cc02bbb8e1280b54ba3920ef98903f171c27a5c0fb679c8e84774f22136e89915a534d973733410a96280a3207407235ca0d81a636a35b9dd628dee9a64a12918d0dc6d4c600989168a163730fab8c78e61a57970c16c813b791a0ee9f625c438ccd1a9429a93062c4ab38da5890188829ad116a6f1564a43a2e4f3bba3712207b65e701995c99b29d691c86bd9844af2471eb5cecd934f764629dc25839c809432e395fd8582cda980359246eef0637b9771fa5853099007f173c8598164da69c8e67a910a50b9940b213547815e0589326b02ff21b89bc4200219652dea6ccd59883e29127e2abe3787738b124d839a67e02195d64989520737e3aa99c6822f2c32249256c45455cbd931a5a1fb27cd56a21e22b51c03217aa387e151631cfa445b2b77ec90ae01828601961ada8a8e6192104f02ba5064c4efc27cf2dc3353fc98f34bb947b21ec5235fba6caffb6bc6b1c09a783ab8ef14c4921a28a3896bac07ae8ba98c117b3624e01ed0496a8c649a38a33fb679bb535a7d1960028ca6c8ba825178e74f0e50b5d74c2a9119b595b863d0375a3da173c63a03d8c60a8d613cc08064588890e3894a9bf4580704038841526ab84e27cabc8fa4cad6dbbde9b53017f100778478b86138fbd6be713a7e695358538bc4cb5a4fff531bff178bb16ace5a295ca0340985f34267a3a931998b29a36935d3b13af0631cd37777689ca0b43b9208afbab88ef886a8672b331224c66c6086b8b15a8eb86107fc0ae260bf08f970cdec98ece9a197751b6996258ffb6dce05306380770dc63498e9b5d65acac5a179d8946b27630525b39c3755c070a120c9f468ab3aa8b1a48848081b888baaa1156bd600733be887abf962c46107c432c34edca8e549977d9a6f7eb77eb9974bb353896e8261502820f599257cd9c2852328b0fbc5c2b98658d67e4a636575a46e074a1efda2cfa50a0594b0a421661d81d95a9ae0ca1c037532ba7eead089961c29765c443d428bf20767d1f08615e85d0c08b0fa5076e297143249283c13486f61a4d9d39780624055d6043120a510d4a686f9b490c74f2da782ab42157a00991be019e093a509c0c00b7c1e6ab611dfc4373c640a2f488e7632be1289666206cba2b096a479b2140c6aa301bc448b13b6839447c4675aa1be46eb6ecfcb4ddf2569b2d79abe93fceaff0f0ff88688c870d19759a41d3d361a0cec73cc908f52bad8 -sk = 34c91f6ec981b1830501d8969f8847b2c6bd5d5c43dfa044c43b551e610d5675bb7e7c9e393b411e69575301bf4ef4c7fd0b4b59e213905a254eb5540aca856c370dd28899541b725091c23907c04390ad32a56385075f42a7545672544fe177b74c7ed99507e4d95def7c4a9f84c9687b9bc318a23eb452fb7635d5201165a47391d21a7ca732fe9b3455c44ee4e54fc3a6518d51402cd5a2d49429b9c8815cd4b1a22c59ed368ed6c7a9df83b958cc83c4654c5cd040245543431c0d2c9091376611cfdc2eb9181b21c8417e3931aa2b1141c1051cb82aca4bbbe6dabda3356bbf4962c3f883d0578580477ac56353ac7524f3855de2b00967b7bee0668112d51ccbc139fa73374df2685a3cc06838b150f92a64c17772053de2b05cc4d51832b8a2b8428436d99e1f2484b127ce0d861dc8a11ab0b0019e0b3439733b36a7a600f4638d820ba5624b445349a86465e1b25de787207dda0b629cb472d415a42a8ba191b76b5829d4d987a2b0c235521c187a0baddb603d755eb37396cdd57ff76276ccca997b00cd481587cb8728830021dcbb8478a267b744a5bfd08b4acb2c1e726121996e55b60d40f6975637831c392845d6823d4b9092151149992794f4ab29d4164a44239f07c365a87ed9786af7a57ac0bc0d491018007b6bf7705a21b082d1e040a4f4c25e329ef9a8518956044e7683af94728487a4f95305d4e15aad45c040f1cf9c442c519b2aa47a4dfc29063243c21f8b838171701b4b73516944efc4b61fb5bca63c3ed12a123f55b832e6c312e8bc48f145d62953f5901f7530068f2c9c9f51ca8fcb342852936d414fddc2c04f551c827071f99c7c24c991f9c97e10e051694c86789a9442d79092b6547d67af70d8c8b074cdbf854718a882daaca3b8eaad0bb1c2d3e859d3eb03c0a23b290518ef88ce1bb02fe71399ef71b380ec1aec4c7c6bf3830c1b15f7718d0e471d10234393d94fbd3305abd09cdf070a0abc09d7497d2f9b939794b923eb3f28b40904a53a05216a526132d9f3cc64606b40f26434142645d79481a8316e8cb0a9321a4c530a0ad139ed5953168a4ac864c726874e1366ab09a249f251ce5b1a7f5ca60ad66375bfdbcfa3d7ad23a13649c03327d409fda64581cb00a696557945c58e96c1c889be648c4885958adea79ab212a0bb15506bf5635e437ecee47b60032b4273b8c96806639c87031b6e23b71996b4576626124281ae4ca0a8fc081e1c91667967b25f76c4f72624cb29bd0a865fd67a4dbf14acc7a09871bc7adeaab37b298f12b60b6372b741681627e4c8346c0d34392716ec173b1b711b1c0a1d010dca486bd5167223658a5c55bcd0739dcfe30dfcf9bd8aa45b3ca0b5a90243547767a1843e4c87922031819ef9249800c6db8b0270f9cb8f2624adf4199741870b0630e1bb1b325768c79984d5e33283a991bb3c98b6bb8be0ebaac47c4310c51eb565baba36be54f6a3151a104911c38ef78e61f1654ef35b2c836c2321a52fac710d6b03811444de5b8403569c8ce0444ef615dad54ae5649e68ab437c00a2c9ea9b18f59346d8b2a5c6582d763730bbc7f24a7ee7c23607c0683a2826fbb4bad4a58ff6e3bb3122bc8e892a62437ce84445f2e82b495c9730fab393dc6f3b36bb2a63759a79ae27b162250076a608522440ac1e04630ba766b4c256341c6ac967b36e6934dc58cda15621827b9558076361192e89708ed88a71826a20e8ec948b9c7915566c70a7c15a72c36ecc7a3cc644eae696022657c53500a0f13a8ae50fdfa432d8d2530999275e5b9c1d341fb34b8a5a7421b7d290cbc3218486b555c92572bac8f1085f058a87fd48796824844553261ca11f06978a03f3a8d68657c22064af83166280af52270e004731d20b18982283e51ca3db7a2679da6fb0aaba1e75a2d283add699a797e1be93502c6823007ba5b9760a338768615b671baedc6a6a6937b9e1c35575776a4a791fec7751079c6683ba29ea28bad199175b9629c44bbf219cd88a19f1089aa551946e58032a9c9dfd29bc4ca3b654f494990cc02bbb8e1280b54ba3920ef98903f171c27a5c0fb679c8e84774f22136e89915a534d973733410a96280a3207407235ca0d81a636a35b9dd628dee9a64a12918d0dc6d4c600989168a163730fab8c78e61a57970c16c813b791a0ee9f625c438ccd1a9429a93062c4ab38da5890188829ad116a6f1564a43a2e4f3bba3712207b65e701995c99b29d691c86bd9844af2471eb5cecd934f764629dc25839c809432e395fd8582cda980359246eef0637b9771fa5853099007f173c8598164da69c8e67a910a50b9940b213547815e0589326b02ff21b89bc4200219652dea6ccd59883e29127e2abe3787738b124d839a67e02195d64989520737e3aa99c6822f2c32249256c45455cbd931a5a1fb27cd56a21e22b51c03217aa387e151631cfa445b2b77ec90ae01828601961ada8a8e6192104f02ba5064c4efc27cf2dc3353fc98f34bb947b21ec5235fba6caffb6bc6b1c09a783ab8ef14c4921a28a3896bac07ae8ba98c117b3624e01ed0496a8c649a38a33fb679bb535a7d1960028ca6c8ba825178e74f0e50b5d74c2a9119b595b863d0375a3da173c63a03d8c60a8d613cc08064588890e3894a9bf4580704038841526ab84e27cabc8fa4cad6dbbde9b53017f100778478b86138fbd6be713a7e695358538bc4cb5a4fff531bff178bb16ace5a295ca0340985f34267a3a931998b29a36935d3b13af0631cd37777689ca0b43b9208afbab88ef886a8672b331224c66c6086b8b15a8eb86107fc0ae260bf08f970cdec98ece9a197751b6996258ffb6dce05306380770dc63498e9b5d65acac5a179d8946b27630525b39c3755c070a120c9f468ab3aa8b1a48848081b888baaa1156bd600733be887abf962c46107c432c34edca8e549977d9a6f7eb77eb9974bb353896e8261502820f599257cd9c2852328b0fbc5c2b98658d67e4a636575a46e074a1efda2cfa50a0594b0a421661d81d95a9ae0ca1c037532ba7eead089961c29765c443d428bf20767d1f08615e85d0c08b0fa5076e297143249283c13486f61a4d9d39780624055d6043120a510d4a686f9b490c74f2da782ab42157a00991be019e093a509c0c00b7c1e6ab611dfc4373c640a2f488e7632be1289666206cba2b096a479b2140c6aa301bc448b13b6839447c4675aa1be46eb6ecfcb4ddf2569b2d79abe93fceaff0f0ff88688c870d19759a41d3d361a0cec73cc908f52bad865f03add3941d22c80d50659f501f8cca1b448d84462ccb93d5f065889484bc0eac9d531a532770837a854b4f5531f6e0c8d6c10183b30d3435498c2dd142951 -m = c92aa5fb91c980d9cade9ce99d4c75b2ffa7d6a6ff9bd59def1aa701f2a0992b -ct = a37e48a5f89b418765ee73d585aaadf3ab787504364574b84c2ecb3373af7dca5582d287a60588c9514086c3a56486d832f0bb56499f22bd19f437505760c1948b04e6dc667881565b63eede3d6432f073c7f9f3569caf3e9e62a6ea7e6b2c2d290acf3502c87c9702681fe4c6a5ccb0ac957ea2acc8dd68e574e64508b5c3f8823e8e23ecde3a8cda95136d4784f2a17ff9e0e4132a48f1fabf69ad502efc4dc4a2eb5c05f56fda2b8243fdef423d1da695966f6bce461b2468f5603b78b1bcc9e8de0da3d5cebdf71a4a2dbcbd653929742ef45e550b34a4b55cf6832347bd9bc0cc56f1cc72f2d92c37689fb2cf08b37d3ec7782941dfda884f43d58e3cf9dd73f359091dd89d2aea83c0e5d163775841d41cb6b7e1cd1dab4c8396f507613e2f842059f5cd8f8d5eb60dec519ad7d3473a61a1ee79b6ee2d2011f72ce44fc72294c1a8147a6c2c6916d1a88a2beab3e886e0b11b815c4c9aa57a253270dd14fe11590abcba02e750fb3190c486fd754247fcb0219634a74acd1f53fbd3a193e6f36049bf3c920d2f0ae28e6f3f70c414bc5ea3660e8d192c1da4aa6834ccbf2ce4f7a943ff6b32f0246401f6ef6914f5584551290dae6c3a97f346551a481151796a507654e99819950da5ce8381f142b3f6ac31b0e6f8b34315fdce5a024928ef205c2a6a989266d0a4123a5a98cdd9002c29d19d497fdc6f0c77f3b4b1bf569b89ddb22a73d0a59c518b91321277064ee8c5c9765e54c99b60bb9ed63e2d43d9ea7246cb6f8cad230ff95b622f64748e5e2fcad034754069997dd003a5fba93b8d29476c91fbab4ff0b90c180acd747ebab9cd7066f995fdf389874b926478e4a10eb749455da26cf1d7e78d119e34f0af246fd5d7dcbad8479e85c51e59941a0b0b0dedeed9508df28198ddcb34624ddb45a50519809a2931594ab8292e96c54d5eb7342355083c2b6206479b50ed7fbd1c35958a94017d40e9e86a5c442e9ef5780357e47ae64631b2f803427f90bc408d3ab639c065f75183249229d8c27716e137891bff8ee4ee1467b61708e385ed429624eba3e53440f3248e0c32da91ded4f934cec4f872b78283b8e701fa635c941569e113f87a92373091a78dac58b4ad5521c8472c9f145196d0b594c73126c226b7625d6b7fde4bdf56e3b32e88acb3575dce80aab36a1a09f9b646aa12d60637eabe185fcb81f45d54c952fd721fc74d761bbd405d50730cb81fe7a6d45b3551b8dc57a78491bc41a310f2478afd09a539b2ac1545c4796b11dead5c4cf2d7342a13b7aa8ca9bbb86bbbaf965de4d3513ee114f53fb1fdb4c52bb638b2a06c9a93fc93c50458b4d3af86274258b43a7323281c4e7f2aff58b43a414708dec53f4bf23ab3ebe2bf3d51547472f4857f84a697a339aa184ff98a0e980438cef69ee243b112d5f182f071c4f7bd78410867e3a07d274a7e4a15bd04bd6801d19a3cca7f50ec6c03d5ea9c495737d71ad9d3a019cbc2c6fd5954680cc6d63722c4ab581ba095a39c29270dba -ss = 3a14474e05df3ff59c6105b1f2af004a8b8164dd049eb6929b9c9881a873ab08 +sk = 34c91f6ec981b1830501d8969f8847b2c6bd5d5c43dfa044c43b551e610d5675bb7e7c9e393b411e69575301bf4ef4c7fd0b4b59e213905a254eb5540aca856c370dd28899541b725091c23907c04390ad32a56385075f42a7545672544fe177b74c7ed99507e4d95def7c4a9f84c9687b9bc318a23eb452fb7635d5201165a47391d21a7ca732fe9b3455c44ee4e54fc3a6518d51402cd5a2d49429b9c8815cd4b1a22c59ed368ed6c7a9df83b958cc83c4654c5cd040245543431c0d2c9091376611cfdc2eb9181b21c8417e3931aa2b1141c1051cb82aca4bbbe6dabda3356bbf4962c3f883d0578580477ac56353ac7524f3855de2b00967b7bee0668112d51ccbc139fa73374df2685a3cc06838b150f92a64c17772053de2b05cc4d51832b8a2b8428436d99e1f2484b127ce0d861dc8a11ab0b0019e0b3439733b36a7a600f4638d820ba5624b445349a86465e1b25de787207dda0b629cb472d415a42a8ba191b76b5829d4d987a2b0c235521c187a0baddb603d755eb37396cdd57ff76276ccca997b00cd481587cb8728830021dcbb8478a267b744a5bfd08b4acb2c1e726121996e55b60d40f6975637831c392845d6823d4b9092151149992794f4ab29d4164a44239f07c365a87ed9786af7a57ac0bc0d491018007b6bf7705a21b082d1e040a4f4c25e329ef9a8518956044e7683af94728487a4f95305d4e15aad45c040f1cf9c442c519b2aa47a4dfc29063243c21f8b838171701b4b73516944efc4b61fb5bca63c3ed12a123f55b832e6c312e8bc48f145d62953f5901f7530068f2c9c9f51ca8fcb342852936d414fddc2c04f551c827071f99c7c24c991f9c97e10e051694c86789a9442d79092b6547d67af70d8c8b074cdbf854718a882daaca3b8eaad0bb1c2d3e859d3eb03c0a23b290518ef88ce1bb02fe71399ef71b380ec1aec4c7c6bf3830c1b15f7718d0e471d10234393d94fbd3305abd09cdf070a0abc09d7497d2f9b939794b923eb3f28b40904a53a05216a526132d9f3cc64606b40f26434142645d79481a8316e8cb0a9321a4c530a0ad139ed5953168a4ac864c726874e1366ab09a249f251ce5b1a7f5ca60ad66375bfdbcfa3d7ad23a13649c03327d409fda64581cb00a696557945c58e96c1c889be648c4885958adea79ab212a0bb15506bf5635e437ecee47b60032b4273b8c96806639c87031b6e23b71996b4576626124281ae4ca0a8fc081e1c91667967b25f76c4f72624cb29bd0a865fd67a4dbf14acc7a09871bc7adeaab37b298f12b60b6372b741681627e4c8346c0d34392716ec173b1b711b1c0a1d010dca486bd5167223658a5c55bcd0739dcfe30dfcf9bd8aa45b3ca0b5a90243547767a1843e4c87922031819ef9249800c6db8b0270f9cb8f2624adf4199741870b0630e1bb1b325768c79984d5e33283a991bb3c98b6bb8be0ebaac47c4310c51eb565baba36be54f6a3151a104911c38ef78e61f1654ef35b2c836c2321a52fac710d6b03811444de5b8403569c8ce0444ef615dad54ae5649e68ab437c00a2c9ea9b18f59346d8b2a5c6582d763730bbc7f24a7ee7c23607c0683a2826fbb4bad4a58ff6e3bb3122bc8e892a62437ce84445f2e82b495c9730fab393dc6f3b36bb2a63759a79ae27b162250076a608522440ac1e04630ba766b4c256341c6ac967b36e6934dc58cda15621827b9558076361192e89708ed88a71826a20e8ec948b9c7915566c70a7c15a72c36ecc7a3cc644eae696022657c53500a0f13a8ae50fdfa432d8d2530999275e5b9c1d341fb34b8a5a7421b7d290cbc3218486b555c92572bac8f1085f058a87fd48796824844553261ca11f06978a03f3a8d68657c22064af83166280af52270e004731d20b18982283e51ca3db7a2679da6fb0aaba1e75a2d283add699a797e1be93502c6823007ba5b9760a338768615b671baedc6a6a6937b9e1c35575776a4a791fec7751079c6683ba29ea28bad199175b9629c44bbf219cd88a19f1089aa551946e58032a9c9dfd29bc4ca3b654f494990cc02bbb8e1280b54ba3920ef98903f171c27a5c0fb679c8e84774f22136e89915a534d973733410a96280a3207407235ca0d81a636a35b9dd628dee9a64a12918d0dc6d4c600989168a163730fab8c78e61a57970c16c813b791a0ee9f625c438ccd1a9429a93062c4ab38da5890188829ad116a6f1564a43a2e4f3bba3712207b65e701995c99b29d691c86bd9844af2471eb5cecd934f764629dc25839c809432e395fd8582cda980359246eef0637b9771fa5853099007f173c8598164da69c8e67a910a50b9940b213547815e0589326b02ff21b89bc4200219652dea6ccd59883e29127e2abe3787738b124d839a67e02195d64989520737e3aa99c6822f2c32249256c45455cbd931a5a1fb27cd56a21e22b51c03217aa387e151631cfa445b2b77ec90ae01828601961ada8a8e6192104f02ba5064c4efc27cf2dc3353fc98f34bb947b21ec5235fba6caffb6bc6b1c09a783ab8ef14c4921a28a3896bac07ae8ba98c117b3624e01ed0496a8c649a38a33fb679bb535a7d1960028ca6c8ba825178e74f0e50b5d74c2a9119b595b863d0375a3da173c63a03d8c60a8d613cc08064588890e3894a9bf4580704038841526ab84e27cabc8fa4cad6dbbde9b53017f100778478b86138fbd6be713a7e695358538bc4cb5a4fff531bff178bb16ace5a295ca0340985f34267a3a931998b29a36935d3b13af0631cd37777689ca0b43b9208afbab88ef886a8672b331224c66c6086b8b15a8eb86107fc0ae260bf08f970cdec98ece9a197751b6996258ffb6dce05306380770dc63498e9b5d65acac5a179d8946b27630525b39c3755c070a120c9f468ab3aa8b1a48848081b888baaa1156bd600733be887abf962c46107c432c34edca8e549977d9a6f7eb77eb9974bb353896e8261502820f599257cd9c2852328b0fbc5c2b98658d67e4a636575a46e074a1efda2cfa50a0594b0a421661d81d95a9ae0ca1c037532ba7eead089961c29765c443d428bf20767d1f08615e85d0c08b0fa5076e297143249283c13486f61a4d9d39780624055d6043120a510d4a686f9b490c74f2da782ab42157a00991be019e093a509c0c00b7c1e6ab611dfc4373c640a2f488e7632be1289666206cba2b096a479b2140c6aa301bc448b13b6839447c4675aa1be46eb6ecfcb4ddf2569b2d79abe93fceaff0f0ff88688c870d19759a41d3d361a0cec73cc908f52bad865f03add3941d22c80d50659f501f8cca1b448d84462ccb93d5f065889484bc092cedef206325f68ebc282123eb0ab02874f8a3c6665b78346775351ad99cc3d +m = 5741c37bc610abd8f8f9673d0267895a4e77235acbdb294eca9ded915410fb1a +ct = 16979b9ccbb8d01f811fd3f8d27e34210b9d343f40e6049673c1d02ddf6ecbb42b940c5b76ffd8804a6da6b207f9aa0be63c9fc1060273c47a09466013199f10aae71769c3a8b6cc14dd497fd9608689c2d754ff3a1251c186a070ae0b8625251bae26f1d47d83865e6b71d9f30efabc9307006049e6aecf0e37c9f3251e7c27f4c5489271e58e30819231c42e149eecb8971ae4586b645664f9fd6b8dd6546e3c98882c93791882cd7c61e5de43deeb59e933c9e9806f22276fb8cbfbdd25e42a1d02fc4b835e5b67d7a7ae43d973f23ec9344f67384c907b867fdb30c8197667a67e7eb459a5399433326418323457a2724a16f5bf4a527c31b63fadf5247fd9e8380eba69bc4794133b28a995795d58097fb48dc6dba765114a1291ef12b6532135432483f73226084af9e1ba9c68f81f19e40f267f394e5ed9652abcbe3657a1d4ee7b5a7b62a94243242f386cc47646a0ba80cf06466edfd38f64ce02e64a0a16abaebf61cc52249eb11b4618868cee6705403378b6300518331658587a895323c6588e8c85cc11bb566ccb8428007292d430958b4a44d28ec3c6a0bc50c929e7a422392570346c4337450c82a9267818fb1928efbed46c41085938ea442dd79172a5dcc8efe8bb8bd7524e404610d0d495db4897d797685a90466cc4936d1dd9027412f8f8938897bb8a2655ffc45e44219240f167910ea27d79b265d64be935497961b8d990c987b4fed21056ce829e5e4e1c409a17693ef8521c1a8b7807b723958819a26f227ce2dc93141ce3b248e3b0c0420ee69b92be7a1241583cfeb4506041e89fec38aec7b02100713dc20252e67c9c9aaf2f73b1777ea9095b358792b7b80fa41b4fe6ed81ef4762baf0d21eeb5898ca5c3974c17dc7a5766e65d503b4cbe59b906ed11b8f815056d1400560511bde00def4b64104f943748821fb9c342540cfead38442e84cbe6b1556db621496c2b91048e28d33ef9b2be3ad7a8faf04c377696abf50a0bb09c07646297160f080edb90a74ff803781f8817a02ecd9aa62c4ebe9515fd0adffeb7ea775dd65bf64d2b0b9c1d3f6f5df3f2023edcc954d24b97b19c652fb754f291451fb1dac25290d601b94c8eaac7923a0263fc4feb70eb3fd153937047e5e388af532e2741af951a7c7c1ec9aec04493ad9c73103033afa7da8c014d10f464c090faac0fb2d92c5facd4934b47c414b2e43b324d6c970b92de85367f11795323d043f2a56bf62546db2c28047e306ec2dba5caec6d3ee21050854c9d1c94af5268a45721c7b7fa6bee275e8e9d23468812cd28635187fef25c221c391d7a7f499650b5f059625e87ba00a57cb8c51e98e14b95f5e8fdeb6e9f2dcb378a991a7d047599bcbd89997deea6ddb338dabb1689a811eff30aed59d17e9746724729351e3507aa0cd4b567494fef7b22278b40d2c42d5a305bc49849902c5b9040326a6e0e5d6db039f59f65d05def4540a524515c8da48ccb13867f082bd03b1d822fd654f428260f5a1a7d2821ec1e87cec +ss = e5398378607b281f73f6fc93a7cb58811ae9f8d986bbe0d8c19ea0b3971b6c42 d = f8ee95521060c03bb8dacc79f7eb7db640f545f315613a35d447a09e504cb4e1 -z = 3fc3d8392cb53f36ed647364a04e37278a0e0a45b720f4a75c580c9920eba98d +z = 7373d22cace9f3a09fcc5e85067ee05c0e537aa0738f79101236b4e7d28f2889 pk = 61101724795296a2499158c8e1b50e4c900d65c8ae65503932dca40e058e8192cec2a997cf12c8a1227567b12a1b21bb31d3198c85c4878c6ea1967668e3952d04b4123cbb9cd8c77f3a7397a9133d99654e6c56e7465d9b98bdbd624c12e36c62b60b6a32c9086a8eeb9b8919706f4573a33c393f74bb51d5609231f1707e152f23f36f6c6830ef28253c8cb81ec5c27adb02fbda5302212826f0b88aa4b4d72a509e29cb1bfc8177c019c60598e693bce999aabc4621123415235208e7869f62aa7b50a51724c13da2db59d5ba5302c772f2c1820fb0882ef32f73321c17f40d019cad39c3b12c57c3519ca0b38366ac4353b133c39262be6ee47ecf660286f6ca8eb7090418aba0d9833e22b46b761fa2872fb80972b551809c02775be07c796636a2c619fc748b90d28e1e702ffb0653e250c8c3759178c39e42411327a81c7e7887b21915a5cc032c37a11382c4d9186221b1c66afcae8184559910201c8baaacec62bab984e080433b9465e64a2d987028e9d9090cb2c41753742cd77f0998c672441e83d45f2d06c22899c2136362271b731f6ba3965b32e2517463e627aeca0ae5644bb8602f7fc599abc120aa111e2e549a276a18d2a92c39502f6f9519ce76c0bcb514e8084c7122a321479338f59ece08a0acd30f0ad68f2091855d5980219083398a6c0a63c70d3743678a1c0202a69dc526ddb77e30b779c36ac2575704ead94ddf1661a38b2624e733f2e2ae18467ce2c3083b75017411390314ab06abb4d0fb58bff99dc3949e92994703e85fb6b863ae1c29bdd6656cd75d9ba453aa115a32745f2dc1829881a9f4d5cc2cc053ab79b89d107e6054c69dc93f5aa9c8ca6cc1a7583f2e2739b102378d93990cb8280b21a5d5ba8415c48ec17288044623a9631577c16639922978258cee0b6c51bbcfe3f70be07cbafb7c58111cc7f2f922aa023d5ad01d2d31a57e0469ac428b6fb88a97d957ae22beb768c3cb7c9f02f583fa2513db7c580d2986984314e8b346a06501d8972e31ab8ef5b983e9a15e8ffc624d0041fd523570960e09e57d616a06297bb3f9d938f5655628b06c4f6c4fa5f8136f8cc05dfab7389237ea75aef46117bf1b67aa978ba622491260128e743f28f95f533b708f3c59230b23faba96ffb5c239b32b30a65b36fc5a0a76b76f04a60c9c7d5eb78ebe44b736eb56a0812f59d9b5812916246228f2523175242cd1f432f9fb054a8b52d824349dc0756091b2f7c21e2a899362157bf9f631287b90d6c80fb55b1469273f79892435d031b62982c49a1464e2274f815f56f3b6f8c949be11388df1151e7077f603ae592623e4259853a2b90159344b041aa29c8afc5074bee81959102e0c57a761f1b1aa65b1dcb66a18bbbbe12b2b2942a37d13c77c77b2bde758eb1901f74c7d57d373a47737d6e23998e35dcee70983359b4162c7135126e90a807604034d52add3530456b66f0da64453150afbb67d67d9b359137c2420250c279a1c537ab06952e4823f09372198c253d5b71a7e70a1c48b1dcac3a85feaac35a11e670b2840a57f2a7c77b6a00cc80a282f0a1c8160080c702d619a6b6d68c757306c93a5b21ba8185b1a46c79b03c35880a7b265a3e05b2db868482fcdba0367177bbbcad04f3a50adeb85ded90bd59dab -sk = ab4545850434076342eae8409fe0590c34955e860267305fca05c347bb3e53bc714e3134a6e9b338674a9aabb02f021d1a09a190757f03d573c27687f7e35f2d77294d10cded732218395b344523f1b704b27689dcc286b5c98217f239c159ae5d655436f00517a50c6dc6b7f4f111e7f37a0f319bf6acc7b0e3345c9367b2a2b8d9d644936220c0a817fbb38ceb3469cd55c661e1c58d06807504443448c4e53204dc59c60a5153494478eb4056c9a85967a42ebbc287afda51fdd6b84b285523d41d80a56f7a68a168a4527d902311b18d5e381cfdd578bb7924fe687d3aea5607906815181171a727e4dbce1b678762a8b03c2a2bff1635ca85332ae90f14b880c5ec4e5389b7816ab885c44a8d83c5ef0c4c754c7b6e673d984938d3ca4eb0f5b83b90bec27172ac85154ef27b91623841e188d76b040f958c38c8a112c05b54103e55a159de0954f2477e798a573339508b7c2ac3872a623429777ba3179060135c083e2198d1e0aa01967c39c27372a1a36a92bac3bb13ee3c94b1f0391e2702c50253dd497f16f39bdcb9c68ccaab6312084884b113e70f38555422767f4e613b2e87affc01395fca37df0a1aef74263c1001392732d9d1047cc7c6fb910ae6136c33094526876a113514f2918909532a759617dbe2c97e72176490995dc82b663655df65324b1996a42150be41b2a1c90f03b2a6f04174da1b1cc7fbb024c3c972b9714300c683c28a90f48b01c28607922c3ed25601a609673481b365544b7c36a9550ef20c37005b0e395a268e90ce1a5271e1421b46303b80cbcc81e2894d7569e82c2f5d8c6996c766bc505976628cadd84a3f468c67c209117c8254bbaa1ba584dc2661728a69e959949ed6c9f1b42f01ec8e55614aeb7168cfbb5e16504eb9f585c7789c48e59c17b5975c444bd6e32a6654bce298a605043bd367400c14b1d8e1a592a034543c04a44c85711aa66c807fb07378fb525600c19d9a4a9a8c920ba7db0b1d912a45f2b6d518b469e9121d25cf40499196376d3d92827e1b96ae255aff288037793c7db07e1d15533c07162aacae3255c0cc368e2fba3fef09540952910eac0fb2f3ae376aa666fc97a3e122570ccf797c79ec575835e0be6e808b3cb1b72d8241c3679bf15020b6a63be65b95a2c9147eb98c6553c71c550e37603e6b73c877c94e7b603a22eca456c1409d5aa049673d0ea17c123b1835692253fcb589186baa498f39481c3d0640a4d34931033b30f26ebed6ca9c49ba6fb219d6dc8461937284235a6417cc9c0ca0ad385b04b01c81d5a7b97a34977250e3679ac55c3d76d83b1f7b99dba039dc179147223b5d6c11fc9109dc062a1e4b7c88c710c449320949bb4405b28ea2c04d48c58aabb46edaa58e442f3ab6c9810b6d702855f7ca91af71b0e574bac1040dbe864ddaa76827874839414cf3418d1702c6f368a10714cb25e208c8a5779f639837a07e348841a11714f41399da175c49678307d3634d6b9921880fd43ccb8d7842e5f34ce44a4923e7ce6b671c7a989aa748604d147ce7ac25a1533e80ab321b7aacb8d523a3a6298beb0cfda435d77714993173d080827fb07b7855769eba987696afdf58231f361d61101724795296a2499158c8e1b50e4c900d65c8ae65503932dca40e058e8192cec2a997cf12c8a1227567b12a1b21bb31d3198c85c4878c6ea1967668e3952d04b4123cbb9cd8c77f3a7397a9133d99654e6c56e7465d9b98bdbd624c12e36c62b60b6a32c9086a8eeb9b8919706f4573a33c393f74bb51d5609231f1707e152f23f36f6c6830ef28253c8cb81ec5c27adb02fbda5302212826f0b88aa4b4d72a509e29cb1bfc8177c019c60598e693bce999aabc4621123415235208e7869f62aa7b50a51724c13da2db59d5ba5302c772f2c1820fb0882ef32f73321c17f40d019cad39c3b12c57c3519ca0b38366ac4353b133c39262be6ee47ecf660286f6ca8eb7090418aba0d9833e22b46b761fa2872fb80972b551809c02775be07c796636a2c619fc748b90d28e1e702ffb0653e250c8c3759178c39e42411327a81c7e7887b21915a5cc032c37a11382c4d9186221b1c66afcae8184559910201c8baaacec62bab984e080433b9465e64a2d987028e9d9090cb2c41753742cd77f0998c672441e83d45f2d06c22899c2136362271b731f6ba3965b32e2517463e627aeca0ae5644bb8602f7fc599abc120aa111e2e549a276a18d2a92c39502f6f9519ce76c0bcb514e8084c7122a321479338f59ece08a0acd30f0ad68f2091855d5980219083398a6c0a63c70d3743678a1c0202a69dc526ddb77e30b779c36ac2575704ead94ddf1661a38b2624e733f2e2ae18467ce2c3083b75017411390314ab06abb4d0fb58bff99dc3949e92994703e85fb6b863ae1c29bdd6656cd75d9ba453aa115a32745f2dc1829881a9f4d5cc2cc053ab79b89d107e6054c69dc93f5aa9c8ca6cc1a7583f2e2739b102378d93990cb8280b21a5d5ba8415c48ec17288044623a9631577c16639922978258cee0b6c51bbcfe3f70be07cbafb7c58111cc7f2f922aa023d5ad01d2d31a57e0469ac428b6fb88a97d957ae22beb768c3cb7c9f02f583fa2513db7c580d2986984314e8b346a06501d8972e31ab8ef5b983e9a15e8ffc624d0041fd523570960e09e57d616a06297bb3f9d938f5655628b06c4f6c4fa5f8136f8cc05dfab7389237ea75aef46117bf1b67aa978ba622491260128e743f28f95f533b708f3c59230b23faba96ffb5c239b32b30a65b36fc5a0a76b76f04a60c9c7d5eb78ebe44b736eb56a0812f59d9b5812916246228f2523175242cd1f432f9fb054a8b52d824349dc0756091b2f7c21e2a899362157bf9f631287b90d6c80fb55b1469273f79892435d031b62982c49a1464e2274f815f56f3b6f8c949be11388df1151e7077f603ae592623e4259853a2b90159344b041aa29c8afc5074bee81959102e0c57a761f1b1aa65b1dcb66a18bbbbe12b2b2942a37d13c77c77b2bde758eb1901f74c7d57d373a47737d6e23998e35dcee70983359b4162c7135126e90a807604034d52add3530456b66f0da64453150afbb67d67d9b359137c2420250c279a1c537ab06952e4823f09372198c253d5b71a7e70a1c48b1dcac3a85feaac35a11e670b2840a57f2a7c77b6a00cc80a282f0a1c8160080c702d619a6b6d68c757306c93a5b21ba8185b1a46c79b03c35880a7b265a3e05b2db868482fcdba0367177bbbcad04f3a50adeb85ded90bd59dabb8a3b8cf4709204a2fdb19889b0022ea655dfd58ff27e17d530510e1eef457933fc3d8392cb53f36ed647364a04e37278a0e0a45b720f4a75c580c9920eba98d -m = 7e8086a01dc5b3bb9eda25bcc45d27f99874841b97237968495800e007696ac5 -ct = 25e080415ef5ccb5d8c322634c5db0f0ed10c73d5a0bad7b2c5b899d74e6edef6b2a8eb9df8d415bd41ddb01f670b8939d464561ed8c37a2b2217a49d4a0c7b5bc13d4a481fc383bacfc6cb979901098929b9ff7b5eceb2bc21bcb830b4556c36151a386e2479297066521935a10d3f16222b9246c2885faefc2f8597d4af4f13eba79c30499435d93420e9f2e46ba2d7c54244a3eb47165ece9255511dc524d697d13efefa8b62b6e61461fea69830593d894016e83264103a876920663383e13bdadce37a85d29744751eeeac229cf89c282a56ee0959e46106e12bd94f4addc061442dff73d7de2d6afc2aae8230a88e53e7e4978b6b897aa6ab040261f9a5bb22f578bc03b0e81d2ce5a05a235eef3a6177d4064443e20d9603efc34816e688f515e5a48af57a98de730b0f5747d9f3f691f6bbc5f88a7b137e9244eafbd539f9fb4f2989ae16881df8036b3abae959a2fff2313ebb7d044ec566a8ddfeff1114029a30e44ada4dbfa56cc1ef04774721a507795c10de58e35f3bb1b1dc4d62095fde786821bb410ef6ab4972b0a681ddd1a7fe8ca50828daa7d5d19865644528c2a5a4c475a6b9bd3897e8dcba0499e6dd75595abea0a485f7e41a727353dbd7d45ecb0aa82e39fe03b177710f6180421a465c1930ec9cef35797e708227bd67451f8810267016eb07116be1b4327902f538c5512902e6e64364b9ab0392a43892d4396549db5eff4ea7df6754e34125e303311fd6f1caa7f90d7361f201af5b4d2632fc7815fe27b93e5b4251a4b1fb4717726e0182efc9e9a07568871f9552ddd1c986ffb24b88f9ea5e591b07cb8a3e207053d3547950a5dc042b44341f6d178975a9bedc001451bf7fb6cc4bfab92972cb5e4217e28a21b8664c6c405c642a6e6400973ecf0f3fa7430936bb58f7d62eaa15f469577ccf957459687ed56713450913641df199a0747c840fab4e2b5f7323ae1e736ba0dce06105327168a457eb1cf4f4b6c5e89d95de5d9c65a6df684812d00a22e4890f18eded894472ef37dc078acb3be6997e0e4b34a6d3475056322e3b19930cc5c3482051dd8e9efb5fe1a288ee3d9ccd181b57d41c7c66ba732707902ce5b9806f63621fd064f387ff413031f04502b482bbff950bbbe9e854f8e58770a55ccee324fdbb830fdf4cb47cc579fb49cc092614cb5789239c96d281bf065326b8f58f006bbab07602c0657a616300286d89c5fdc2cf0d2e4a43152198755ad777c23a6dd8a9a8e64832119d0818cdbfe3cbe8b7ea5e2739e54790e0685203b2cfdf8831e339968b4770eae40ca9a0723bb1cc9be0fc4cbcb91a29514418fc04cee2cd852a222a131927059ab5233fa77e8520211f42bc91fff9646ea95434a2e867f8c0d4b43fa2e7b72b6c0e2ab72cbeda1f8538e20fce37fe6e0b9c4e03a9091a1d7f7b081b2b220bcd0c686729e2cadf8dc00612df4a8aea565caa001eaa4f4309093ecc4fb9fda290eaffa313c3796c72f57eabc1cd4fd58e272c9b1471a3806212385a4c4 -ss = 2d26f4da925e01caaeaf4a89f5ce81148a000f7a36dfee74e059a933d973ddbb +sk = ab4545850434076342eae8409fe0590c34955e860267305fca05c347bb3e53bc714e3134a6e9b338674a9aabb02f021d1a09a190757f03d573c27687f7e35f2d77294d10cded732218395b344523f1b704b27689dcc286b5c98217f239c159ae5d655436f00517a50c6dc6b7f4f111e7f37a0f319bf6acc7b0e3345c9367b2a2b8d9d644936220c0a817fbb38ceb3469cd55c661e1c58d06807504443448c4e53204dc59c60a5153494478eb4056c9a85967a42ebbc287afda51fdd6b84b285523d41d80a56f7a68a168a4527d902311b18d5e381cfdd578bb7924fe687d3aea5607906815181171a727e4dbce1b678762a8b03c2a2bff1635ca85332ae90f14b880c5ec4e5389b7816ab885c44a8d83c5ef0c4c754c7b6e673d984938d3ca4eb0f5b83b90bec27172ac85154ef27b91623841e188d76b040f958c38c8a112c05b54103e55a159de0954f2477e798a573339508b7c2ac3872a623429777ba3179060135c083e2198d1e0aa01967c39c27372a1a36a92bac3bb13ee3c94b1f0391e2702c50253dd497f16f39bdcb9c68ccaab6312084884b113e70f38555422767f4e613b2e87affc01395fca37df0a1aef74263c1001392732d9d1047cc7c6fb910ae6136c33094526876a113514f2918909532a759617dbe2c97e72176490995dc82b663655df65324b1996a42150be41b2a1c90f03b2a6f04174da1b1cc7fbb024c3c972b9714300c683c28a90f48b01c28607922c3ed25601a609673481b365544b7c36a9550ef20c37005b0e395a268e90ce1a5271e1421b46303b80cbcc81e2894d7569e82c2f5d8c6996c766bc505976628cadd84a3f468c67c209117c8254bbaa1ba584dc2661728a69e959949ed6c9f1b42f01ec8e55614aeb7168cfbb5e16504eb9f585c7789c48e59c17b5975c444bd6e32a6654bce298a605043bd367400c14b1d8e1a592a034543c04a44c85711aa66c807fb07378fb525600c19d9a4a9a8c920ba7db0b1d912a45f2b6d518b469e9121d25cf40499196376d3d92827e1b96ae255aff288037793c7db07e1d15533c07162aacae3255c0cc368e2fba3fef09540952910eac0fb2f3ae376aa666fc97a3e122570ccf797c79ec575835e0be6e808b3cb1b72d8241c3679bf15020b6a63be65b95a2c9147eb98c6553c71c550e37603e6b73c877c94e7b603a22eca456c1409d5aa049673d0ea17c123b1835692253fcb589186baa498f39481c3d0640a4d34931033b30f26ebed6ca9c49ba6fb219d6dc8461937284235a6417cc9c0ca0ad385b04b01c81d5a7b97a34977250e3679ac55c3d76d83b1f7b99dba039dc179147223b5d6c11fc9109dc062a1e4b7c88c710c449320949bb4405b28ea2c04d48c58aabb46edaa58e442f3ab6c9810b6d702855f7ca91af71b0e574bac1040dbe864ddaa76827874839414cf3418d1702c6f368a10714cb25e208c8a5779f639837a07e348841a11714f41399da175c49678307d3634d6b9921880fd43ccb8d7842e5f34ce44a4923e7ce6b671c7a989aa748604d147ce7ac25a1533e80ab321b7aacb8d523a3a6298beb0cfda435d77714993173d080827fb07b7855769eba987696afdf58231f361d61101724795296a2499158c8e1b50e4c900d65c8ae65503932dca40e058e8192cec2a997cf12c8a1227567b12a1b21bb31d3198c85c4878c6ea1967668e3952d04b4123cbb9cd8c77f3a7397a9133d99654e6c56e7465d9b98bdbd624c12e36c62b60b6a32c9086a8eeb9b8919706f4573a33c393f74bb51d5609231f1707e152f23f36f6c6830ef28253c8cb81ec5c27adb02fbda5302212826f0b88aa4b4d72a509e29cb1bfc8177c019c60598e693bce999aabc4621123415235208e7869f62aa7b50a51724c13da2db59d5ba5302c772f2c1820fb0882ef32f73321c17f40d019cad39c3b12c57c3519ca0b38366ac4353b133c39262be6ee47ecf660286f6ca8eb7090418aba0d9833e22b46b761fa2872fb80972b551809c02775be07c796636a2c619fc748b90d28e1e702ffb0653e250c8c3759178c39e42411327a81c7e7887b21915a5cc032c37a11382c4d9186221b1c66afcae8184559910201c8baaacec62bab984e080433b9465e64a2d987028e9d9090cb2c41753742cd77f0998c672441e83d45f2d06c22899c2136362271b731f6ba3965b32e2517463e627aeca0ae5644bb8602f7fc599abc120aa111e2e549a276a18d2a92c39502f6f9519ce76c0bcb514e8084c7122a321479338f59ece08a0acd30f0ad68f2091855d5980219083398a6c0a63c70d3743678a1c0202a69dc526ddb77e30b779c36ac2575704ead94ddf1661a38b2624e733f2e2ae18467ce2c3083b75017411390314ab06abb4d0fb58bff99dc3949e92994703e85fb6b863ae1c29bdd6656cd75d9ba453aa115a32745f2dc1829881a9f4d5cc2cc053ab79b89d107e6054c69dc93f5aa9c8ca6cc1a7583f2e2739b102378d93990cb8280b21a5d5ba8415c48ec17288044623a9631577c16639922978258cee0b6c51bbcfe3f70be07cbafb7c58111cc7f2f922aa023d5ad01d2d31a57e0469ac428b6fb88a97d957ae22beb768c3cb7c9f02f583fa2513db7c580d2986984314e8b346a06501d8972e31ab8ef5b983e9a15e8ffc624d0041fd523570960e09e57d616a06297bb3f9d938f5655628b06c4f6c4fa5f8136f8cc05dfab7389237ea75aef46117bf1b67aa978ba622491260128e743f28f95f533b708f3c59230b23faba96ffb5c239b32b30a65b36fc5a0a76b76f04a60c9c7d5eb78ebe44b736eb56a0812f59d9b5812916246228f2523175242cd1f432f9fb054a8b52d824349dc0756091b2f7c21e2a899362157bf9f631287b90d6c80fb55b1469273f79892435d031b62982c49a1464e2274f815f56f3b6f8c949be11388df1151e7077f603ae592623e4259853a2b90159344b041aa29c8afc5074bee81959102e0c57a761f1b1aa65b1dcb66a18bbbbe12b2b2942a37d13c77c77b2bde758eb1901f74c7d57d373a47737d6e23998e35dcee70983359b4162c7135126e90a807604034d52add3530456b66f0da64453150afbb67d67d9b359137c2420250c279a1c537ab06952e4823f09372198c253d5b71a7e70a1c48b1dcac3a85feaac35a11e670b2840a57f2a7c77b6a00cc80a282f0a1c8160080c702d619a6b6d68c757306c93a5b21ba8185b1a46c79b03c35880a7b265a3e05b2db868482fcdba0367177bbbcad04f3a50adeb85ded90bd59dabb8a3b8cf4709204a2fdb19889b0022ea655dfd58ff27e17d530510e1eef457937373d22cace9f3a09fcc5e85067ee05c0e537aa0738f79101236b4e7d28f2889 +m = c4d1d167371706468915dfa7f41e45fc48fc5e02ef79651c81c87bea7861b2b4 +ct = c5e6613b0e5eecdc14b4ee3e5b57929ac03652aa0d646c9d2c2b9d33a86c3af47f0af45f15f89767089622f847fb099e8ee60991ba5826736fa2eb48113078b07b5dd0cde89bbfb58d1f665a9e5a49b730b017a9c10b3f7252b282d6f921391347e92602ac0916ab439c4c54a265a2cb9e0e4b9e87e78d54a05451c6adc72e9a885e32415282d6c1ca5291e7d53b8f2d67d629bfede7d7fa28d3bad56c52113c1010841d5250dddb128c56f7e0f6efb89f5db4765e0c5c3012bd4f6b85760e4cac6a5a82b816b5060407ba37f446f256aa3dae760199b8c30ef858ffb86913653bce3ee3bf442d598f3c1729cf33b214abde7d6e20df2e4532918389ebf5dd2642af7d3d59b123c6d30fcc1c30a194ad4567dd34cf9cf7d4cc1d813df8f2f46b7f3f14c97e2c00f94f5f29cd0ed45284e477e36b19ff41e5c5deb4d8fc96dc8fff2e42d8c603df5c9b830de830babc31c82fc699d4861844a73f7078be0c6febc66a52a6ac603d06cbf3d7a11066545479ae7860079671fa391bbb3c2b4e2d5aa9b521e6fa246a1d40ec9e1a5ea712433f1c390301d001330dee4f116b9bf49a3094e2d27f6625cc0128129920797e4b3b7777f3cc07fca1674b7bb52c41b6d194119e75a95c9c9a3252389fd90ddfd0a9f06cc90782c46c6b0c36ecfd48cc5486a0fc7450a19b1eaa6bd182c914d042f00813d5376c8b5b9a73fd1600c6c89d00308bef333e8106c1fd1be400515ee4c18f0b436777953578929aaf623a9fd9cf7d470df46b4fa7c2590ad4956a7c5d97490001e7caa7f99aa171994816076cbe3ce7ffe13d1aead0b562c8c5347edf3574fc95c5f2d2554c641406d1e386182c9b512f43e825172348fc56e923299793c4c50ae0e34cfb60aebbd599858154548e89c9dfe8923f739776113f75cf58b67b79594fe03b969c345d2ae8dc6ca2f36136f1c34547e7cf7f64bff18bea8e8e1134a68add58ef245921ef70f794153549ba08f99e72a2da21584811dd869737362059110ca8164a3b46efed1ecd265d5532ba37ca43a06dc43a9a0020be610599b4880a98dc89a6e7881ec607981438f7117874673f407c01193165fb85934376dda1723ed3e16af7f4a0d3a079ba6797637f31e3b446a5f7c4b663c34070be49eec1e88dbcacfd7352b80eb0d7b3214e61863df5f615815a4b93f6860ed822a2274c8bc64efaa61c9471468aaf3f0958d7cbbe886b491a70028f3a040e88e6bdd9b641f9182b03df4558beb65da4e4abc3ab5aaae8a6d644212c7c7b25563a25f8b828ec241835c2ee77357b07be5c817d68dbd1d2ef2f72e9a963c3693b759060304325d263d31bfe67dce3fc1d9e502db40adf29c655e05fa4ea172579aaae53de5e99b09f585bd55f1488f48361edb6c55e52180629326d46b3ec270d6af6533081615aa918fe1d76a3ec3b7135e3638dba929960591b2b71d94579dc3e65309314804e73c42dd067dcc5103e6c721733d8606d101772b193531617aff97233f4607850cd2cebbc1bd91f2980 +ss = cce008cbb7f83b2ec863b089b7030ae360f775439a96f0a51061a76b7bc7bcf5 d = b8bd0493a882e3a49b4e0f6256fb1fea0912562fd9ba26ec3d6c9cc12c8973ab -z = d7e4b5d8021c486b9c3114d7cbbeb7cd49eba8a61bc2bcae1f1bef30a1daf76d +z = c1b070e4e519d727f677e011716436bee9dd0188fe38c00d0ff425ad794c07d1 pk = 657b941f466659fcc971c1174aa4459551848e7a116b751e5e4022c8f2a4b3152a1b26a3096539c9b0bd6a435ea1e33413ac4d5f401f5de8570cc11cd4bb9fac473328d55501702743e2c8d1b97cedc8ad3d55b67d284158ea8bf1a4a8a17a9de6d5669e8b9571200b05300cb30bcec4a58b06f70830c2b32d28992b70427781854456129cbab53a7c72ff557193d3a221d06177d002095bc04e993b8606245416c3b998b01716af3b43a535f7a6bea71270b34ec808ca00e9453ae660b732963ba634f14378b1691a90e3708125cde31bae3d10451a5643f526cb790a8d6e091a725681fb539e9b05bda7b04c48a31b39da6e39e6be624663b6284de9f958c50149ce4090e6a486b68511ae90a0f093297bf090db3c81d34400a40cbe11d74271e23bbb7a49ea875ea7f7cc25516a899198362acc52c8a8ca14bee12bbcea9a6e3509b6887a3d1d4c3b2b4314c4c44f44c96f48b29a8e7b85339037acf131f2692b7e7a49282237c8f37267c835c24883d1a189d4dccb7c6bb1fe622fc31301a6d3612a448084e0a210449b7e15a4fd84a9a538b2d5844dc170c911fc1282bc513e8c18c469a01a548d1ce4853128a03a8b1d369b353c3003b0a29d210ab6af23acd010ae3671493c774efad8b3746180746401d0e5862a3265e7969f247c954955b4afc13fc420143c10263eb1c6dabbbf5a8857a7f3bee7658c8399503c21a9a38ba554132344e214cd2036c2b30d0770cc5dd87ed9b246e7f955ea926965748cb9e58351a938f7e4ac249ca5c970cfde48c0ade051ba873d36a581e0fc50d9583109a79549fc5b32ba432444046ac0a66f3c64ae1498f43b1b36d8082442b5aaa7bbcff2c4cda8c0c4d2c62cf9135a75709ceb5b82ba4ef5716c4986a36bd7b4ad5c3a505869fd34aec2d7caba492f4bc30d232382b2651d5923242bb50df87092ace5566bc5a18fb2925cab467b641df7b5b91142318d120456245f2f0887ff13516d23216637393c469ce1f776cf2426c6577844cb3d4e0a92aba85ffb59979a7c33eaf51ea2bac9862160bf8a85553a3d4edc05da102106f632c91b8d1df2a9b2734185283941ebcdfd788107b307738786d6c0a0e7d4957dfb17488c5d6cc11b83e3504ef2923034a06270563e18a18bb29f48c36a64c132aa626dcfc5a615e4416df76746673e500186a117a27c5007a4b04867213c33739e27058adb23c0de35ce6158c99e59b88b147e2ac05f09f7c0a414c3240abaf65c24cfdb6857eca66bfc58e52472861bab1e03ce70d2115480b443a9bf799379af9ac978d0072f75bc7923816a189da5974ed948b8a709a8191cc9be60ac2a383a7e27cc62543a2a0ca9ea6897d284ae79b595d0893514f75db35c9254b7ac47260785c1b86a98a5dd733d3dc2b947d148f698c5a117821847604151068412268169c86d50be92d77683386025704575177aac0b9d3d3196a610985e860e2f799f480b1331ba346db0c379cb1833223836d88fd4e11dbf2985825c78330658b9a189233bc76b172127bc7a98e6c644d28da7b0857f67157ae2c27659297c32a7eb653697a295097a32ac235a11887388265ecb3b46a75c865c239395300d0f8152cbcba77b4d655c9f1ea4b448fbe32c4996fc298d26cae25d276bcf6e66ba65e3e97791 -sk = d7e3338b3ca1d6118b7485bf85ab9e8f6c36e158b67d2c3530b0a544b8afaa0a8604710987429d0d1b1eaaba8f06422e992c475dc4cf909061efe673a3547575e8b00ba47d5a158c22e6b2c280b3152165a5a01a43d801e96791b6d99c92c0b0602c94c0b13f2672146a7044e4372c5fa8843fa7974692b0f292af9fc3b5793092c705421e6aa39b7b3eec76694f5555985a94879abf737949bc33cfd1f8563565b2f345b6b3389fe061509be046b3a048a73599ac20466f0707e9b46045352f94507659ba428cc6994ee3375b07d09ad3be1872c15692c7394626cfc01bf5435d7922bf9199533a22cc4ff021a97c571db311485b36e2a3344eb880c67819aea18b09919fbc57cbc11cb228f8c24f38a445c512245c3a5cbc65d20269ee849bc268899981b9f334704499b60a891139d9470a1a147f38470752c4eaec5b14d51817fcca22e7bc1c585cd2189131960a9e9284ac7940b2949707ec7a67f22db280775d8163394a3a9557bd48f50c26f177ffe83030a3455de1196a763f8af156df73ce3bd07ac70447573a79dd04a59e8b40e39c6fea736e14f1b1b67b5cf556c3adb29facfca4e6d8b759d37737863da2a7ac4a645a8f202ad61c17068385c21415f7e14146d896020b89cc73aad60135d5a3b94879184e086f1066a9f56041b6029d1f538fb5b18a7a741e04e2c158b69927a1a7708bcc411988c0c315d0d1bc3a31b0cd473fcd3abacb1bb3eb23224379b5350081efcb8c45584d3b845e2500420453718ad83194130983a355b1388bf246b9fe7400443c52629812fc1125c3800c3f824c0ff95bc24a2e8b306d5e3278fffc585843bbfcd06d2ec3482295717a5111aa7b6475040083106a01491cf981197eeb77d9b01c2be476f07c59cbeb5c4d19a2000d61546a9cc149a149ba8e57cb0ecb3105d94715c7b1ba7800785edba95a7352583354b93cbef98c78bfa946a7431813ec36ac45488b170859c098b7c6813cab2ffb519814c3a9de3c254ed7a144fb6d15b183cb48a9021972233382fc8c388511add6a86837801f4bea0df0103b3a152648bbcda68499352691be0c3e5218a7c22c8ce49790af1bcd4f6717eaa18cb489b446d24f5ce239c79a6e34215e87bcb8461b5b509c895ec22f94c17c3bcc5904d968c469b200d3322b423761e3749556476d925a915971a62a5a330acbd106ad77da7897815cfa31cd44310d44915d762164b6170b2916b5427c694ff3340fb16b73500e92833ecc35bb25db6e652701d85ab215b366a173604c2797c2a9c420e069e7e4b3d1120dbd1c196d105211134478d23cc4428f8f56182ff3a51c7b84f01a08ba157e86b9374fb7c2e7eca3d4b65f4a73472e38c6f7c06883c99c4ce934f9b04436d250ef262c42d4862b90c11f4924087469210a25cf4cb29d139d85d9c904004cb246348c60736d707b2b9b111c91acd3937d9e8934032746aa5025bcec8bf637936448a0dd67a27db2a74b60bba82bcc87d73d4a9033c427a85883613eda43829c7ca3c7a8f24364633610d8199a5ec8038d0b6686abbd47692ada94282c40799ed4bf8ecb65ee7c8b2047c41eb255318c139b89ce909831fe3024bac10b4110ca34f1bd657b941f466659fcc971c1174aa4459551848e7a116b751e5e4022c8f2a4b3152a1b26a3096539c9b0bd6a435ea1e33413ac4d5f401f5de8570cc11cd4bb9fac473328d55501702743e2c8d1b97cedc8ad3d55b67d284158ea8bf1a4a8a17a9de6d5669e8b9571200b05300cb30bcec4a58b06f70830c2b32d28992b70427781854456129cbab53a7c72ff557193d3a221d06177d002095bc04e993b8606245416c3b998b01716af3b43a535f7a6bea71270b34ec808ca00e9453ae660b732963ba634f14378b1691a90e3708125cde31bae3d10451a5643f526cb790a8d6e091a725681fb539e9b05bda7b04c48a31b39da6e39e6be624663b6284de9f958c50149ce4090e6a486b68511ae90a0f093297bf090db3c81d34400a40cbe11d74271e23bbb7a49ea875ea7f7cc25516a899198362acc52c8a8ca14bee12bbcea9a6e3509b6887a3d1d4c3b2b4314c4c44f44c96f48b29a8e7b85339037acf131f2692b7e7a49282237c8f37267c835c24883d1a189d4dccb7c6bb1fe622fc31301a6d3612a448084e0a210449b7e15a4fd84a9a538b2d5844dc170c911fc1282bc513e8c18c469a01a548d1ce4853128a03a8b1d369b353c3003b0a29d210ab6af23acd010ae3671493c774efad8b3746180746401d0e5862a3265e7969f247c954955b4afc13fc420143c10263eb1c6dabbbf5a8857a7f3bee7658c8399503c21a9a38ba554132344e214cd2036c2b30d0770cc5dd87ed9b246e7f955ea926965748cb9e58351a938f7e4ac249ca5c970cfde48c0ade051ba873d36a581e0fc50d9583109a79549fc5b32ba432444046ac0a66f3c64ae1498f43b1b36d8082442b5aaa7bbcff2c4cda8c0c4d2c62cf9135a75709ceb5b82ba4ef5716c4986a36bd7b4ad5c3a505869fd34aec2d7caba492f4bc30d232382b2651d5923242bb50df87092ace5566bc5a18fb2925cab467b641df7b5b91142318d120456245f2f0887ff13516d23216637393c469ce1f776cf2426c6577844cb3d4e0a92aba85ffb59979a7c33eaf51ea2bac9862160bf8a85553a3d4edc05da102106f632c91b8d1df2a9b2734185283941ebcdfd788107b307738786d6c0a0e7d4957dfb17488c5d6cc11b83e3504ef2923034a06270563e18a18bb29f48c36a64c132aa626dcfc5a615e4416df76746673e500186a117a27c5007a4b04867213c33739e27058adb23c0de35ce6158c99e59b88b147e2ac05f09f7c0a414c3240abaf65c24cfdb6857eca66bfc58e52472861bab1e03ce70d2115480b443a9bf799379af9ac978d0072f75bc7923816a189da5974ed948b8a709a8191cc9be60ac2a383a7e27cc62543a2a0ca9ea6897d284ae79b595d0893514f75db35c9254b7ac47260785c1b86a98a5dd733d3dc2b947d148f698c5a117821847604151068412268169c86d50be92d77683386025704575177aac0b9d3d3196a610985e860e2f799f480b1331ba346db0c379cb1833223836d88fd4e11dbf2985825c78330658b9a189233bc76b172127bc7a98e6c644d28da7b0857f67157ae2c27659297c32a7eb653697a295097a32ac235a11887388265ecb3b46a75c865c239395300d0f8152cbcba77b4d655c9f1ea4b448fbe32c4996fc298d26cae25d276bcf6e66ba65e3e9779146fe6c37136273736ccb11df5b6d55debbc087de802404b72a003c5e8c809719d7e4b5d8021c486b9c3114d7cbbeb7cd49eba8a61bc2bcae1f1bef30a1daf76d -m = bb321ef14d44d8698df879fd52450567657f52a2df8d111185dcd7d4f30a72d4 -ct = 1d597da26afa055e20e20cb3dccc730b73075cc9b0c01499a4856d0218e744654023b54734e6428408884c182ad6af6b2fd3ca2f245037f7f540706c5ef18cc520ffbd5cea84d308a4bbd9999efe0b95b1f599a141c383df89d2beb33077cabb7b10f332526b1ac199576799444b86377aed9a18d6ce0c94b157db14df2bbb515464a622e32661cadbc9e6ecfa9733635f3847f2363e58f7e994563375d4e4c0b3174a84ac0cd4408041c4a11563ac5195c1da47c86d7b88e7323b5ed66d3850a04a348c46bbc627f497b49e3e1d7bd8e23162ad8c232f750d3fbf55c267db2d9fdf0854972e8eaa6898bcb21cedeec79b6bcf494fae1d6b174779c3f70c27b64e196ec8e8a7c861cf75a5c62aa8a71a7677b995f16a8727bd5e1bc0fb2638bcc864cb1afa8f793462ed0aa445592e1142ca2fed5792cfcab5f6ff8e7b7a335043af926c7c0175c92899ec0e3d2b5bb945334a4379a3533fa1607f6406869191b2f4472f9742aaa9c66bf9a843aa4ddd8f32f4113412caffe113dd80c55ada924d5ef5f5d8e2a7df5c764f53062730764368589b76b5c6399a8674af24c02337eee30e1fb44c8c9aa85f72bf07a61246043b21032fba0e675a1d1b0c4284228e1ea990ff7803a1992c53d0bd85fd3a4d753dc1f9e1b873d64d5898b78c7da9f72969d48a433f5ab9766915bd24e9ba07170338ee670b77f68c204a68af32e3b6de3580a973872bc756b5ec976a393966aa452f5757745660a15e4e2d4d3e549e99f309e18774cd74f73d5d4572c3a0c49fafce2342f1bdac88d35d22e8663e27470f5691c150344508214f0b0f9f57755afc52f5590615c64c06d4d611f6920ce7d0f51178dbbc906d71947c1dbbe1d98a7433860d3d21c2e83c4c3efed6a738cfb48304746e5a7cb7e32cdb8af44ab7f09e98ebd18b8b4606efa2c646e37c6123b4fbb37e3db5c3aaf550a536b1b86b47ab17865e6af273628f3881937043a56fe323b5368b021f3723aca9a3937eba3828adfb9873a3f2d027c9264b56fdf4cb608f5451eba1fb1ee4734fb5b1d4acaaf29adc1f376d23e45d188d4086f4dc4942531db72e586ad70350b04036d63eafe4234fe90dbd68d83e91cbb0f43cd87a8bd3cd5e6a6c81a0706ce2edb2c9c00ece4f86d9b82157b4e82be4c6d655f2bd1376de64410d0d77cdbe737d8df1c3751b0b33d1503b1354e70b5a6b3bf5e21435fc575fddc26f9b261b19da5cd045fe041fc6c35ea7a4c1c24307d2f4df6dd6c5d4b211f0c5a98093f7e05815496f0b3b7a80e0079f0e60c5393a6e9079145137b2e89093ea7df4336b40de06cfee5fdeef322770b114729342b1a24892b0c759147b08275ffa24b5bcf679a5b404b292c818da88631919a403110959a560d81aaab2bebc33f796e2f179ca5f25d3ea7c7de3a310aced8dcab766e02e22ae9130d963dbb3eed2d0316d26f25af53ff23974cafcd2543b97f8b13adf08ffb687926a51403f811bf3606c1c73ece86e0a724b9a15325278d6f2c6481ede68fb -ss = 5012217b85a1e5dba62a2476d7a441411d8ecddbe2d3a291f658b7dc1d1197e9 +sk = d7e3338b3ca1d6118b7485bf85ab9e8f6c36e158b67d2c3530b0a544b8afaa0a8604710987429d0d1b1eaaba8f06422e992c475dc4cf909061efe673a3547575e8b00ba47d5a158c22e6b2c280b3152165a5a01a43d801e96791b6d99c92c0b0602c94c0b13f2672146a7044e4372c5fa8843fa7974692b0f292af9fc3b5793092c705421e6aa39b7b3eec76694f5555985a94879abf737949bc33cfd1f8563565b2f345b6b3389fe061509be046b3a048a73599ac20466f0707e9b46045352f94507659ba428cc6994ee3375b07d09ad3be1872c15692c7394626cfc01bf5435d7922bf9199533a22cc4ff021a97c571db311485b36e2a3344eb880c67819aea18b09919fbc57cbc11cb228f8c24f38a445c512245c3a5cbc65d20269ee849bc268899981b9f334704499b60a891139d9470a1a147f38470752c4eaec5b14d51817fcca22e7bc1c585cd2189131960a9e9284ac7940b2949707ec7a67f22db280775d8163394a3a9557bd48f50c26f177ffe83030a3455de1196a763f8af156df73ce3bd07ac70447573a79dd04a59e8b40e39c6fea736e14f1b1b67b5cf556c3adb29facfca4e6d8b759d37737863da2a7ac4a645a8f202ad61c17068385c21415f7e14146d896020b89cc73aad60135d5a3b94879184e086f1066a9f56041b6029d1f538fb5b18a7a741e04e2c158b69927a1a7708bcc411988c0c315d0d1bc3a31b0cd473fcd3abacb1bb3eb23224379b5350081efcb8c45584d3b845e2500420453718ad83194130983a355b1388bf246b9fe7400443c52629812fc1125c3800c3f824c0ff95bc24a2e8b306d5e3278fffc585843bbfcd06d2ec3482295717a5111aa7b6475040083106a01491cf981197eeb77d9b01c2be476f07c59cbeb5c4d19a2000d61546a9cc149a149ba8e57cb0ecb3105d94715c7b1ba7800785edba95a7352583354b93cbef98c78bfa946a7431813ec36ac45488b170859c098b7c6813cab2ffb519814c3a9de3c254ed7a144fb6d15b183cb48a9021972233382fc8c388511add6a86837801f4bea0df0103b3a152648bbcda68499352691be0c3e5218a7c22c8ce49790af1bcd4f6717eaa18cb489b446d24f5ce239c79a6e34215e87bcb8461b5b509c895ec22f94c17c3bcc5904d968c469b200d3322b423761e3749556476d925a915971a62a5a330acbd106ad77da7897815cfa31cd44310d44915d762164b6170b2916b5427c694ff3340fb16b73500e92833ecc35bb25db6e652701d85ab215b366a173604c2797c2a9c420e069e7e4b3d1120dbd1c196d105211134478d23cc4428f8f56182ff3a51c7b84f01a08ba157e86b9374fb7c2e7eca3d4b65f4a73472e38c6f7c06883c99c4ce934f9b04436d250ef262c42d4862b90c11f4924087469210a25cf4cb29d139d85d9c904004cb246348c60736d707b2b9b111c91acd3937d9e8934032746aa5025bcec8bf637936448a0dd67a27db2a74b60bba82bcc87d73d4a9033c427a85883613eda43829c7ca3c7a8f24364633610d8199a5ec8038d0b6686abbd47692ada94282c40799ed4bf8ecb65ee7c8b2047c41eb255318c139b89ce909831fe3024bac10b4110ca34f1bd657b941f466659fcc971c1174aa4459551848e7a116b751e5e4022c8f2a4b3152a1b26a3096539c9b0bd6a435ea1e33413ac4d5f401f5de8570cc11cd4bb9fac473328d55501702743e2c8d1b97cedc8ad3d55b67d284158ea8bf1a4a8a17a9de6d5669e8b9571200b05300cb30bcec4a58b06f70830c2b32d28992b70427781854456129cbab53a7c72ff557193d3a221d06177d002095bc04e993b8606245416c3b998b01716af3b43a535f7a6bea71270b34ec808ca00e9453ae660b732963ba634f14378b1691a90e3708125cde31bae3d10451a5643f526cb790a8d6e091a725681fb539e9b05bda7b04c48a31b39da6e39e6be624663b6284de9f958c50149ce4090e6a486b68511ae90a0f093297bf090db3c81d34400a40cbe11d74271e23bbb7a49ea875ea7f7cc25516a899198362acc52c8a8ca14bee12bbcea9a6e3509b6887a3d1d4c3b2b4314c4c44f44c96f48b29a8e7b85339037acf131f2692b7e7a49282237c8f37267c835c24883d1a189d4dccb7c6bb1fe622fc31301a6d3612a448084e0a210449b7e15a4fd84a9a538b2d5844dc170c911fc1282bc513e8c18c469a01a548d1ce4853128a03a8b1d369b353c3003b0a29d210ab6af23acd010ae3671493c774efad8b3746180746401d0e5862a3265e7969f247c954955b4afc13fc420143c10263eb1c6dabbbf5a8857a7f3bee7658c8399503c21a9a38ba554132344e214cd2036c2b30d0770cc5dd87ed9b246e7f955ea926965748cb9e58351a938f7e4ac249ca5c970cfde48c0ade051ba873d36a581e0fc50d9583109a79549fc5b32ba432444046ac0a66f3c64ae1498f43b1b36d8082442b5aaa7bbcff2c4cda8c0c4d2c62cf9135a75709ceb5b82ba4ef5716c4986a36bd7b4ad5c3a505869fd34aec2d7caba492f4bc30d232382b2651d5923242bb50df87092ace5566bc5a18fb2925cab467b641df7b5b91142318d120456245f2f0887ff13516d23216637393c469ce1f776cf2426c6577844cb3d4e0a92aba85ffb59979a7c33eaf51ea2bac9862160bf8a85553a3d4edc05da102106f632c91b8d1df2a9b2734185283941ebcdfd788107b307738786d6c0a0e7d4957dfb17488c5d6cc11b83e3504ef2923034a06270563e18a18bb29f48c36a64c132aa626dcfc5a615e4416df76746673e500186a117a27c5007a4b04867213c33739e27058adb23c0de35ce6158c99e59b88b147e2ac05f09f7c0a414c3240abaf65c24cfdb6857eca66bfc58e52472861bab1e03ce70d2115480b443a9bf799379af9ac978d0072f75bc7923816a189da5974ed948b8a709a8191cc9be60ac2a383a7e27cc62543a2a0ca9ea6897d284ae79b595d0893514f75db35c9254b7ac47260785c1b86a98a5dd733d3dc2b947d148f698c5a117821847604151068412268169c86d50be92d77683386025704575177aac0b9d3d3196a610985e860e2f799f480b1331ba346db0c379cb1833223836d88fd4e11dbf2985825c78330658b9a189233bc76b172127bc7a98e6c644d28da7b0857f67157ae2c27659297c32a7eb653697a295097a32ac235a11887388265ecb3b46a75c865c239395300d0f8152cbcba77b4d655c9f1ea4b448fbe32c4996fc298d26cae25d276bcf6e66ba65e3e9779146fe6c37136273736ccb11df5b6d55debbc087de802404b72a003c5e8c809719c1b070e4e519d727f677e011716436bee9dd0188fe38c00d0ff425ad794c07d1 +m = c83b6ddc081188c55bd3d236d360f73c5cabf211676ecca5a0f2da3550d51ba6 +ct = 4866f0aeefb3abcb2b98d7b879b5178a350cebb7e7551173ed463059390a29a19781e6f8ec204f5e77d41da3d73566226cdb5da3aaf5e3ebfa76e971b91a85ad993fcba53c5c300e2f5d49ed9546da565bc235b6b17e3a15e50668cd83bbc1df4fe614d46fea749487934ce543e579c66fbf4007ff784f78b5286076a7df81eb8c8f10388069d0c0b9a0adc71aa5320991facd936a289d0e4d9ad5bd84e0a74fe23efbd40f7f75676394edd380d47b610e4dde013c547a7df39f77d27dc12ce592bfff0c37a155459717dc7159d04982c69ec03cffedbf6afae5452e4ae0bc4d3285998d08391ccb262068a8efeebafc72e4160fbb4ff02846673eae8f2ef42601b7c496546003d613c19a590ae030bd6e06e33025843f7a5c4b299062cebff25e9e7fdb81c8f1b83384bafee2d2f7b64aad757a4274300d85eceec3db9f5f991f777406c6e02c10708fcd596a7d5525765e921cadab99b1dc080996b2b3a56ff805e6f007c0e612ba1056b9ac8dc183b5d5c82b00aeb19eb15e2c556d863fe6ff69d1ef626f3ba3e8f6188efccb0284225418cd8f63f3f7e87d5b9c3557f2d6604dabc902217bc18eae1535816802bdcd757c574d962fa7c7aa1f5a236c725afaedb85d9c5acb1d42390c9186c0ca1bce33877a7dd95348cca33511632023d1db87056545d8b06ff51c23cb2effe7c92ad495437d1401e0b11693069b3730d96301f273fdaab0568bf2e574473c89fc327485ff7eb8e300e0d86055b8729403774af9b5e7937d9f3bdfed36e284c96b2cc4ed101b2a5b94d0bf742aae6473536e66be388e8a1b8e8b2454d8076061f75296970c330db3a1dc53faa510c952e03886fdc771bad55273d315bd263fbf50b444d7351ecfe306d8a8248404f2593afe951bd1aee0eca39dda6a26fc724cf48abb039cf94c9da0e9576b81ccc5b178c91a72926e176713d74c915c14367c390c5843d021688cc93f8fb153032706640671a7016ed36be50483a99cc6da378ec960a306bf98e41375a122c5b0b5bd9d9f2ada3eebf7fb8f0fab0b5dffa4e171f8c12cf86acb65b919d0be42febcb1287ab50f09f5ad95a812b4d3024e65f239424c6876507c5f7617d3433f60c16293eae76992a0783af4f38da5884943d2bbdaedf427212b10239bdee710f691a11c3c561817e87147c9e063fa3297f9f8ad61c72db74a9e3a322293a3eadb133a88f162f5df95e10c6fa5602c97e65afab4bcb55d8e43c183ab8b046530af005a75b71b7c2b0d1a29e58cdeea452a6f9bf0602d53de5f1d8325fddb1a7404db0c08ba0a3fda8739698274851ad55d22ae0679dbae56aae91a1c8fd900d382792e49364be81e34c78e7900555066eae7aaea777f15c9f7bec089038bbff8b784f86ec94fe407f8644963c361e8d7e504076142249389d466e45c89053b951c0766a7b3169c2967a50949376dd70806d0458d258c3b8b20f903f3030a571b1817124a269fe57f2b708605c2e1a46fd4f4dd35a7b4272684d5292f08d1b0db1acd4185 +ss = 45b97d6ebbb1dc841ff6c4d407f40496a2fceeceac09703967f75fe1aa01ca27 d = c0407e41ddf48d333978b89bcf2db01e4613425b456249e76a6f25b8a2827bf5 -z = b2dca81e3f5f748d23c9d356a2209f6b2d60247b2e45c9808de497f64f124643 +z = d89cdcf4b8ece9f441926532427f01e9dd71b86ea949a59b14189aaa249aaf77 pk = eb9b77f8c16dce72611902a8ccb81e8cd4c5a2fb1d8fc30ce226bb45779f41073ff3ec0362ba152102cf45d3a95874a551c14c8a621436e248ffbbc4ca3b4033d50efa392dbad9c339745803f845736c30bf309546229ef52788ab223758c03491f62913fb4ca4307dc6b4c7fd9503a701ad21671387cb2cbc728ecff4641e312779c7034ce720554a948a021751d4628890ca7367611d4b9f269c5ccb2381f1f6a01b0634d9c5c954fbb934e4144922ccfa2035892c4cc2a8457300946aba4ffe77868d34c7a90507be43748a366c49d0a927e66610a08cd0152a2c1bada92a05694b6e3d2610acd4579d5634fd2675f2101290e2ba1855252b57a438b50fcb854ea7b6a89b109ea9857c23aa38333428b94ca5a524977d72077b56978328c18980382ebc967dd37e6136360a958d5f00c3b9996de3b97b6468b9f98c3c50f37a9e73ac8e8364288347d9b018d437b3b065c120d26e9033078b5838dfc7ce68f244b32c5b4ac04def068f58fa733e99a418176575ec2ba0f78d4c402d67176db5717023b57f8d26c636a11f49b926d20b277d2613941c3e786b1a9a3c1135993bce22a1de16434a5902c0f101993b65777399828ba52330a2f356203521a3c59b6007c3aa41d198a8232d27c05f8e0280c9076d54d5aebdfbc95c7c06bce24507892641f90d2b774a2d98764c42bcf009799432b706da59bd84cde4892427c0586929c99850c7d769ad9a221c85a4062a62b2a1847454554224c4cc47898574fa66d147c4aedc59ff612f49285db54170508c89e6787a8ce6515cec673d4545970ca8ec486802933e319800fbe46d5cc14c8363656dac0600d895fe383fcbc3614fe334cac0a94c185b73db30cb5a56a8d04cb271b13859862f164f980625d78ac35ed120605cbd69e6410eb05168819440816eebf8cc9ad153cda5bc2efbb00a7563a55856711231cd12873a9a56996c174ae43b5c172a1445bb40cb3deef9051035b33214a61e26852ef3bcb3fb319e1b4d6bd832d6b9bb54b6021d180881d59d2458564acba148b0ac36cb501cc8242919064ee24343f26a87a0696000533a20943445c72b9260b4c8a46a1c921c582600d978c5370b400b2412f73541a13ba0349e66fa4025735cab6402aac51e08a019b48115c49c665f415244fa91c208c6b1f2bb02bc18c47a5aee366edbe3bae1e41a8b405ddeaa22a2fb254a6b70dc5a16c0217e4dfb933a127039b788e6c035df8993ff86923500ba466a81d34a0ada271da4262f33123a1b81a13621211845a167449d93370bd95a89725a56a8452b510a7fd2642af41a4a7856abd9688dd7c85433a868103679a8eb2bdfaa0cb52cc141267e91e2c1e57162c6b4897c9004a3d375c1c8bb87c5ae2cc80c2a107e0f904e5bf8065ac96c9152aeb07322fa181a83a9cba0224c9faa0f06cb67e2787eba832d3f53ac60b7b014d28945361759689c3ec65f8b885eda081443a2afd2a735b1c57c201aa4d273b1302267e5a63abefbcae8e1b2d3883439e2be2436382eb9bd62146de0e446b6e2baf8300575091db145a646c733bf352989938fdd8003218a607739c60da6758bf448bf18a22630b08ac40635382e3bf86d16625c45e12ebeef4308b229c948d425016d674119c0aadefeb21338ba6cedbf7df723 -sk = d338b8576c1fd9168551a681f9c590095b6b8d8474f571226a4b68ee81a83738bb964356edb663d925960388c92896029a201ec7f046cde497e3384f613a444634aa3c41656c6031d5233720241603612bec1032afa7b3d41242ce374c8b118cf6219fb5e645002530781cb4660403f88287d115baaa07ce95496a7232862282a653367fbbca1e337155a3c8905e368c1974418e735f93b6965fec11ce7b43d81710d727a4c4b434003b9110d013568b7bbfb341212543031c862fac505944b86394554772047b2a864a6675ed984583269362759cbb464e7e248a48c3554b8054ed9342aedc8e221439f812697b691bd5c89b7fb11ec716bff96c97dd73c45b00980bc6b1f69117c2329386518058e97b26626d98196025724baf0c5729109399e035ace9a630cb6d7ca9cbc16ab560da5c01e37601bc0dca7a3af891b80418c0056145c7ac8c176605411a39bfe843cafb4fa61463b20a504e984308f2b82ca7081a97951d0961b2664e2d7b41df902571d02c1fe24ec0ea998609248cf51cf2f81d96a983dbd29bb37b9a7d559c72fc0baae894583a842fcac92d910c7d682dde70a4a7b26e3259b290a182392cbe36b68d2e321708e9c00d8c06dca5043c1a461e76438b7801e8faca17045b272b16999471f8fb42f53a43294124c3b2b7f7a13eee8b195a01871909a70e41a0cedb37f3f733ee259f40c1cd12c79daf90788d78ceaaab9e1d20b7ff8800a17ac28953a4e90b257d099da195b6701a695195bc730389a84a499ab784762631935a5a974398c6988a59822bc6382b9cdc6072f0a6cf65c9dff2309d1a433ac52e6cbab472e788f76558d57986bac5c79b921f06e509db18c70ee88af044b527e221e5a5105a19610f059fbf6009b985190ac81640607cc4fb69d4892b5d9ac12bac26765aad5c874fe3080beff77961cb9e747a8e4b4acaf3f3b81d51a4a755ae8ef2994e8a722dcb5b8014c1ccdc6a79046664c3b75c02b91e0b4c5c250b8eda5d67e9a0984a6052053d22266b2413b98d841e8aa686f4e0aeb8d5b2ed2c8bbddb0374d0ad8cd47a0e6945f0ac352307ac0db224eba29bc09397f05b1308828cd42b85c556bf0a938959fa7cde083d3d0163c21b016133145ae0c47ef73604999e76f9ad19432f82e762ba8174f89a23d09333f7e677f33bc15bf996ae6999ada8747bb0c454412c2b651d2a90382937427ea555b3856d0250ab1e3663b8d78f3d96cf9eb90b5a501129715df5db38086076c4b351305a9718903abf12609fb1bc8a59162e2152f8e0c62241ca5deb5260d71ae162b7ea827a342584576b00dc674a5be149c7744d7ff43a5b04a3ebd38c110630ff656f2ff042eb603403d14f18eb17cf675c995c2790e936cf8b60e758484bc04314e50105b28346829077aaaca72acb46d331e9127b17dcae5e639d2b33b9f3cca468f731bf0b332ba41d196ab77b3c436702078730369cf59144540ea08b5025a4c880c1530f40a852e35f96519c91eaa680d90d25a4256feb1878b48e39143ce43378eb3335d3e03f2a358782e0b54ab56860148dc0fa5cfd149cf26a7260639a347aa72b977b6f38bf29e1472c26b4d7f80e4bb3192de06ec05a6aeb9b77f8c16dce72611902a8ccb81e8cd4c5a2fb1d8fc30ce226bb45779f41073ff3ec0362ba152102cf45d3a95874a551c14c8a621436e248ffbbc4ca3b4033d50efa392dbad9c339745803f845736c30bf309546229ef52788ab223758c03491f62913fb4ca4307dc6b4c7fd9503a701ad21671387cb2cbc728ecff4641e312779c7034ce720554a948a021751d4628890ca7367611d4b9f269c5ccb2381f1f6a01b0634d9c5c954fbb934e4144922ccfa2035892c4cc2a8457300946aba4ffe77868d34c7a90507be43748a366c49d0a927e66610a08cd0152a2c1bada92a05694b6e3d2610acd4579d5634fd2675f2101290e2ba1855252b57a438b50fcb854ea7b6a89b109ea9857c23aa38333428b94ca5a524977d72077b56978328c18980382ebc967dd37e6136360a958d5f00c3b9996de3b97b6468b9f98c3c50f37a9e73ac8e8364288347d9b018d437b3b065c120d26e9033078b5838dfc7ce68f244b32c5b4ac04def068f58fa733e99a418176575ec2ba0f78d4c402d67176db5717023b57f8d26c636a11f49b926d20b277d2613941c3e786b1a9a3c1135993bce22a1de16434a5902c0f101993b65777399828ba52330a2f356203521a3c59b6007c3aa41d198a8232d27c05f8e0280c9076d54d5aebdfbc95c7c06bce24507892641f90d2b774a2d98764c42bcf009799432b706da59bd84cde4892427c0586929c99850c7d769ad9a221c85a4062a62b2a1847454554224c4cc47898574fa66d147c4aedc59ff612f49285db54170508c89e6787a8ce6515cec673d4545970ca8ec486802933e319800fbe46d5cc14c8363656dac0600d895fe383fcbc3614fe334cac0a94c185b73db30cb5a56a8d04cb271b13859862f164f980625d78ac35ed120605cbd69e6410eb05168819440816eebf8cc9ad153cda5bc2efbb00a7563a55856711231cd12873a9a56996c174ae43b5c172a1445bb40cb3deef9051035b33214a61e26852ef3bcb3fb319e1b4d6bd832d6b9bb54b6021d180881d59d2458564acba148b0ac36cb501cc8242919064ee24343f26a87a0696000533a20943445c72b9260b4c8a46a1c921c582600d978c5370b400b2412f73541a13ba0349e66fa4025735cab6402aac51e08a019b48115c49c665f415244fa91c208c6b1f2bb02bc18c47a5aee366edbe3bae1e41a8b405ddeaa22a2fb254a6b70dc5a16c0217e4dfb933a127039b788e6c035df8993ff86923500ba466a81d34a0ada271da4262f33123a1b81a13621211845a167449d93370bd95a89725a56a8452b510a7fd2642af41a4a7856abd9688dd7c85433a868103679a8eb2bdfaa0cb52cc141267e91e2c1e57162c6b4897c9004a3d375c1c8bb87c5ae2cc80c2a107e0f904e5bf8065ac96c9152aeb07322fa181a83a9cba0224c9faa0f06cb67e2787eba832d3f53ac60b7b014d28945361759689c3ec65f8b885eda081443a2afd2a735b1c57c201aa4d273b1302267e5a63abefbcae8e1b2d3883439e2be2436382eb9bd62146de0e446b6e2baf8300575091db145a646c733bf352989938fdd8003218a607739c60da6758bf448bf18a22630b08ac40635382e3bf86d16625c45e12ebeef4308b229c948d425016d674119c0aadefeb21338ba6cedbf7df723a074ed1f76e97d68434ba4af2af0e549204222679e9e643580c35af3cdd247ceb2dca81e3f5f748d23c9d356a2209f6b2d60247b2e45c9808de497f64f124643 -m = 210a423dadd899b810f011794b79aa7f860823ac1962370e791287d3a1afa384 -ct = 62a20a2ba68c9fbc4e9ab487fc36de9c902fb6e2b9d42a040328b8798e9c8115a0c4cf5f39b0238fe74442936d0891172d6b97c219b4aaa3c628afe98c56a33070859d5bca5ad6338cf9491fe2dbbe4f2993f773d5a19c9cc70ce7364bbcac0ccbd1723b4234265f4c643e425411f3665b7a2047e1c8e07c28b8cbc548bc4740903dfc6a7263b6800df39df6519720a9d1d0f7c9b239eec124ff99f5caab64715e595ca1ba9f6a81583f4825ff9e32711ad3f741108a6888905b79dd7342b903488cbccdbaa690abc5e49a2534c8ca791b729e116c4304e55bb636c0331bc9c1520a1667356c4698d7d5cd8db4b8c0ccccf770405c056fa881558a2e6e1932793252a3cb7c1ae07e7135597e0b8bb173e7544cdf583ee8b33e24756eae89628ad34c31c5c66590fd2d037512d309a2de438fa13098a64aa0955a4f5460a8f19e3f1da1e8eb7bf3b56f3e685e685906818f030b7fbdaa9ead26f2ad8edae76006835be6a5f07219451adb37d8adb356c4b3fd07dda85579369071fdd5214ebe2cce89819c316b0f43071367c6eb871947dab8a2fcd14e656dc27f7a9e8e2596e6479440348a661e31f5a1aff7347cd890dc3b9728762375e562788be050748e6e00343e88fa11b165fffbab52d2c9004f63526b818dd4128ab69797a661731ab37534e0fe4306f865a353fafd10b18a7e9438b41d9a9105a52292ab0488f2417c2b2d9a0b74d688f2ba3ab686cf4b08dcec84c603ad326302684e2768aafbd1bd7d2fda5ae14664e287a1f55734a761bc363b91e31f5d5430992f4a6a377930623329ff9169a03736dfd875623a034d7bd4178cd01dc84f6384d6d001bfd22a543e1e9dfc2ac0aab237fcf8dc7d4d7b3dca4c00ebb191dd5c24b64b7730f7f4865e8dbd9739c8a374fbca4df0a99e8bf3eb0b7abfd123cda4db5994af01f3fc416a860c3f012c2bc6038d8ac9186acc89e61f9b820f226cc26b5ebfc6da09fa5141a1c8b2c2ba3c9c7f8975e73e825155b70fab089103bfe2d3dea873fb566e7c70e78cdda058fc8ee87a58c98986957f5b5c6d25e33c856ce0e5a79f4a9592e223998c34b8459562d0712b7762699a382b470baa29b4a7186f89f603f3ac17df82bc52fa30d533db99e1884b5d58db45f0b5be099df8f27b7cff57dd5f1f38f58345b43268a24d2b97f8f05334d0dca0fb01f6f0e271ae002657887a7bc26a140d8761765909253d625cf8d5c3b16f27a9d055e5e4a055db9e0f5817b9f64b7122d14eb54d3b2881f70d89c07d5d3150f8273731b245a99689b2fd31d089b3d7925645732c890bcf6058ee829a7db67c34d8b6e0cbfcedd73fdc7b83a038b5a044c6d9fe947c2608a9200eb21438bf942e66e0e3786adf6b624fea3f86185d84c0bac24fdfb8956fce2dc60e62721f89f25385031cc0948247e5ee3e6dd849474f4128409363c99bf4035cc43976b9b0eaf70e464833e99701d6708502037e5967490cf5d94f05e62844a329a36f819eb4ed5f93769c99ea65b57cf7f542e36b -ss = 0dcecac51c5261e34023d2e04146ccea10a0b39ae7edc50736127184fecfc8d8 +sk = d338b8576c1fd9168551a681f9c590095b6b8d8474f571226a4b68ee81a83738bb964356edb663d925960388c92896029a201ec7f046cde497e3384f613a444634aa3c41656c6031d5233720241603612bec1032afa7b3d41242ce374c8b118cf6219fb5e645002530781cb4660403f88287d115baaa07ce95496a7232862282a653367fbbca1e337155a3c8905e368c1974418e735f93b6965fec11ce7b43d81710d727a4c4b434003b9110d013568b7bbfb341212543031c862fac505944b86394554772047b2a864a6675ed984583269362759cbb464e7e248a48c3554b8054ed9342aedc8e221439f812697b691bd5c89b7fb11ec716bff96c97dd73c45b00980bc6b1f69117c2329386518058e97b26626d98196025724baf0c5729109399e035ace9a630cb6d7ca9cbc16ab560da5c01e37601bc0dca7a3af891b80418c0056145c7ac8c176605411a39bfe843cafb4fa61463b20a504e984308f2b82ca7081a97951d0961b2664e2d7b41df902571d02c1fe24ec0ea998609248cf51cf2f81d96a983dbd29bb37b9a7d559c72fc0baae894583a842fcac92d910c7d682dde70a4a7b26e3259b290a182392cbe36b68d2e321708e9c00d8c06dca5043c1a461e76438b7801e8faca17045b272b16999471f8fb42f53a43294124c3b2b7f7a13eee8b195a01871909a70e41a0cedb37f3f733ee259f40c1cd12c79daf90788d78ceaaab9e1d20b7ff8800a17ac28953a4e90b257d099da195b6701a695195bc730389a84a499ab784762631935a5a974398c6988a59822bc6382b9cdc6072f0a6cf65c9dff2309d1a433ac52e6cbab472e788f76558d57986bac5c79b921f06e509db18c70ee88af044b527e221e5a5105a19610f059fbf6009b985190ac81640607cc4fb69d4892b5d9ac12bac26765aad5c874fe3080beff77961cb9e747a8e4b4acaf3f3b81d51a4a755ae8ef2994e8a722dcb5b8014c1ccdc6a79046664c3b75c02b91e0b4c5c250b8eda5d67e9a0984a6052053d22266b2413b98d841e8aa686f4e0aeb8d5b2ed2c8bbddb0374d0ad8cd47a0e6945f0ac352307ac0db224eba29bc09397f05b1308828cd42b85c556bf0a938959fa7cde083d3d0163c21b016133145ae0c47ef73604999e76f9ad19432f82e762ba8174f89a23d09333f7e677f33bc15bf996ae6999ada8747bb0c454412c2b651d2a90382937427ea555b3856d0250ab1e3663b8d78f3d96cf9eb90b5a501129715df5db38086076c4b351305a9718903abf12609fb1bc8a59162e2152f8e0c62241ca5deb5260d71ae162b7ea827a342584576b00dc674a5be149c7744d7ff43a5b04a3ebd38c110630ff656f2ff042eb603403d14f18eb17cf675c995c2790e936cf8b60e758484bc04314e50105b28346829077aaaca72acb46d331e9127b17dcae5e639d2b33b9f3cca468f731bf0b332ba41d196ab77b3c436702078730369cf59144540ea08b5025a4c880c1530f40a852e35f96519c91eaa680d90d25a4256feb1878b48e39143ce43378eb3335d3e03f2a358782e0b54ab56860148dc0fa5cfd149cf26a7260639a347aa72b977b6f38bf29e1472c26b4d7f80e4bb3192de06ec05a6aeb9b77f8c16dce72611902a8ccb81e8cd4c5a2fb1d8fc30ce226bb45779f41073ff3ec0362ba152102cf45d3a95874a551c14c8a621436e248ffbbc4ca3b4033d50efa392dbad9c339745803f845736c30bf309546229ef52788ab223758c03491f62913fb4ca4307dc6b4c7fd9503a701ad21671387cb2cbc728ecff4641e312779c7034ce720554a948a021751d4628890ca7367611d4b9f269c5ccb2381f1f6a01b0634d9c5c954fbb934e4144922ccfa2035892c4cc2a8457300946aba4ffe77868d34c7a90507be43748a366c49d0a927e66610a08cd0152a2c1bada92a05694b6e3d2610acd4579d5634fd2675f2101290e2ba1855252b57a438b50fcb854ea7b6a89b109ea9857c23aa38333428b94ca5a524977d72077b56978328c18980382ebc967dd37e6136360a958d5f00c3b9996de3b97b6468b9f98c3c50f37a9e73ac8e8364288347d9b018d437b3b065c120d26e9033078b5838dfc7ce68f244b32c5b4ac04def068f58fa733e99a418176575ec2ba0f78d4c402d67176db5717023b57f8d26c636a11f49b926d20b277d2613941c3e786b1a9a3c1135993bce22a1de16434a5902c0f101993b65777399828ba52330a2f356203521a3c59b6007c3aa41d198a8232d27c05f8e0280c9076d54d5aebdfbc95c7c06bce24507892641f90d2b774a2d98764c42bcf009799432b706da59bd84cde4892427c0586929c99850c7d769ad9a221c85a4062a62b2a1847454554224c4cc47898574fa66d147c4aedc59ff612f49285db54170508c89e6787a8ce6515cec673d4545970ca8ec486802933e319800fbe46d5cc14c8363656dac0600d895fe383fcbc3614fe334cac0a94c185b73db30cb5a56a8d04cb271b13859862f164f980625d78ac35ed120605cbd69e6410eb05168819440816eebf8cc9ad153cda5bc2efbb00a7563a55856711231cd12873a9a56996c174ae43b5c172a1445bb40cb3deef9051035b33214a61e26852ef3bcb3fb319e1b4d6bd832d6b9bb54b6021d180881d59d2458564acba148b0ac36cb501cc8242919064ee24343f26a87a0696000533a20943445c72b9260b4c8a46a1c921c582600d978c5370b400b2412f73541a13ba0349e66fa4025735cab6402aac51e08a019b48115c49c665f415244fa91c208c6b1f2bb02bc18c47a5aee366edbe3bae1e41a8b405ddeaa22a2fb254a6b70dc5a16c0217e4dfb933a127039b788e6c035df8993ff86923500ba466a81d34a0ada271da4262f33123a1b81a13621211845a167449d93370bd95a89725a56a8452b510a7fd2642af41a4a7856abd9688dd7c85433a868103679a8eb2bdfaa0cb52cc141267e91e2c1e57162c6b4897c9004a3d375c1c8bb87c5ae2cc80c2a107e0f904e5bf8065ac96c9152aeb07322fa181a83a9cba0224c9faa0f06cb67e2787eba832d3f53ac60b7b014d28945361759689c3ec65f8b885eda081443a2afd2a735b1c57c201aa4d273b1302267e5a63abefbcae8e1b2d3883439e2be2436382eb9bd62146de0e446b6e2baf8300575091db145a646c733bf352989938fdd8003218a607739c60da6758bf448bf18a22630b08ac40635382e3bf86d16625c45e12ebeef4308b229c948d425016d674119c0aadefeb21338ba6cedbf7df723a074ed1f76e97d68434ba4af2af0e549204222679e9e643580c35af3cdd247ced89cdcf4b8ece9f441926532427f01e9dd71b86ea949a59b14189aaa249aaf77 +m = 5add4ff6b8986e4b0dbc8e05801f48b7fa41aaa10e2311f4fe1e0b010d569862 +ct = 67d2e6bc2749e1df8c7f8f274561a27edac1604db7373f454173f127d580497a4c5214f0dd37b339cade38c57af44e1046038c0ce89fa8a85d8da7e8145451061a29d6bb06b298fdd57d430679def264e9f1c73b8b790f532b307f44997b915939f56556e4a2f2a8dad19fe9c457f3fee34b81391b99033b5b067a46167c2346c1f95cbeee82821c056d6a7a5f776e6372272285d0929c9706947855c7ee40abe4cc5b0ad74497d3f2eb49c7b5ae3241078745e0f7f873fe1d7a14e72873a9ac66f9f8853a3f2d956df54ccd4fdeb02f6c22ed57f92a52311d017d9d570fd1ea2cb7cf610c3eb9c611feb29c0cf32f34a526076f59af7f8e2d683bd564e0f48f951aa71be1657b0f496b9b8f23b313f9f2942505e52b7d1dd0122843b1f958d0bc1efa69c212ecb904a759eae6c773261b50c05e10909ca2f874542195f3edcc002267c9a711da781b03cd5f49279c2b476578bdce0b01dfe2e388289a1e4de62c49ce2211544b76fe1d863c5d341da5c7b32f258b33e20048c46abff1ea6f3a97dfaccb599fba78380b2132f3c82d997d3dc6ac46d56a61c0f0fa36c1207400e1ec2b2e4ad1ba9843a622c74445111b914bf12cf7f028a8022bc15fd5dba031444b8268e43d3bee90a17cdf95442ae19fa5176c2c6acebc1ce8bc49cbbac91fce989053c0ea4a4f1c3f5c2a7a20fc462057d39f44d9017141053ba49a18e67bd80160de28d5da7e7f761af45c7c727be5bf3ef8c33ba8a188aa701d7dd32564d82ebf1a0735cba4c610a7a95a027edb9e0e1c6df79b8294cf774e81efe3174910f5fe14eda1a8c661e76daa14d759de43f1c2ba7be11320da3682ae632c683c1ea1ca4fd107ca323552806d493d8d805644e1a57bb74a7eaa14851038058363bfe34bf52d819a1036a0d63707d00d1185d0858c5f5ca847407dc4e3479fa03585371c383cf8d77d4eb0cd9ccc790981eaa3ad7c478747362f20037ac5e43499fc3ffbe3bfd3ec1ddb4f1f618bd28a6fe3a9308cb8621872f76e8727b6f3975c638a5d067505d14c405e4486e09a158c8cfdb45f623bc640da92667d555e138da640d3756b4cede2463f7cd8bf5f2dbc6eb15a4af4be1136b38cee90417f704a5df00c1ee823668e7799dc0a58dd7decc0d6d767bca483010445b27e749fecf00b236c219eee5d2d7692cf0735e51337987c08271cfec7f138d18ce81c95ce0fc4472beea1bde3bb1c1006fc405c1e978e9d8d54a0f617af1d04cbe2e3a49a2774611c68a9e95fe83c9c020fca60f81e883cf50dd85580acf348c7f2b8fb3c3240da4141ba22fc482eace88723d4241c23ac56a7c4070bb4a1f3b42bf3089a6e3a7d998efc44bbd9c16c1f5573c45b1bef3146150da92170f2527b831c5b17d4bf1cfc60ad5d439d8d31574a667d5b614eef0ee765fd52fdf7b439c62ec958f0d8c9be9cb62bef54a81887535d221d6383c582b7cf82fb768902c3a407c8c07ef759a5f4e35448169f9c5521baf159a6fd5d2f11c83fbc34058bdb7fe5164219 +ss = dd789e66587ec52ef9c471d0f6461d5de7c2c072cb44084c42ac17af4cabab7a d = 334382d39164d1989696a2ff77b25a28af8bead9883b5365eb6fcca7c1781cc9 -z = aba5068af837be962f439f233593d193ce5e08f7d66efb3389885927b89d2523 +z = 8aae27e7d301495dab212a61fd3f209a8068fcf9a61ad83463c00d2cab426633 pk = 9bd11c902a159f41cb5395be189b1b7e98cc23658dccc7bf9a843a77b2a6bfa27bc941b04f391950d998c607a59b49330811200b38b243060b55e381c078100da84975091f3a0acb06f22ae3fb1b7d756d36f54200a367c109b13cf40f3671231d5b0ce9e5908776768767209f4726c54277d0f8b0e05bb4cd50bb5547a01051c89abc4a352745316c8d85a3187d68382ef05dc96294446972f4c76c7b9b91a4babe06fc634e76ae4b778f939c308f22b8c816bc3fd6b48e168f5dfbc19fd8cb7e4686bf2325cb060638c723364b27c8e3123fe26cf9862f247cc31c844ae77754206b03b497bb3283cc7e38664b23771f709e1d308cfaf5086f25acbd04cbd9f1612acc2712d129c9c195bc024cb057b0766aae7b533e60f04d947947f920470bc37e5eb4ac4fa1c48066877b4456d4ea2a5ee089de38a7fc7573fae5480bea823727132651a85d873378cb97d6f7be1250a94621abf5eabf0114952665cd2a5005af338b36d19f6e4c8f77e2cfb6f24d3cb7a909315a026b5aad50a9cd4baf3308059a91323b1c226ffc76b3565cd9386592476b76057e3477c8b7cbb201ca91546a2354b59328d411a724cbd8b3689efa335d879996fb0d1d2244edb361be4b2489e84086f4a995f20ffa9404082c4e66061d3ef668fc155bce04916c92b8fa46b77a4a9fa82c8c0ca5a5a5245883d25fded230e74b22394169464bc33fd51fb7f2aa9214b1ed546dcfd00ad554aec80882ec170c6ec44794204170d738ef9341d6034920a7aec3b68fac00527b2812d88969c6207f9aa122464a4d76320ead6271d2836e574155310a756cd4249fa7474b301ca978a0653935b7740a16c50df1eb678c1bc3eb451cf6fa35beb903cd89cde0aa58a43bce9cf591286792fb3b5e658b5a32196ea24a4252b093d2ab40884c39a4abcbd19b108b81172e18a84a288aac2982d113454335423148168bb6b9d97494179bba1ec8760be59d06251b94b4baaf82a6481c4a8f33b0fc3164635452e6497f992308688352cbf44537c618000536f9c41a64361ee162236f9227219b8b84a3984c649ea82211207c974f6c7575027aeef57e496a58ce2719096a58e2e31e82844f4d674a4cd9cfcada79afb0c63e634d2514ba4d8604ccc42b2eeb64691aaf23727c93c4abe1423c27b3b7abf0b649334760056e591c32fe812a753723f7c93ef5524c8e0267db177e6e55620715688cd0ac70b2a90e133caec86945bc74d7ea1cb88479a37b45eae4993bb7048e5316bf66b9715591148c9a20a35412c2404bb62c512b3800b9ae104453d95acffe000d3ae85b96d8092532796a03039ba2154f84afa4a402acb673b8799441bc505e836c3b558e1fe2057fa79153e1630d72afd96aa4fe9c0ed4822ab33a559719b81d274ef0a2773e405761a036521278df5ab3617cbd89d7543cfc7c6ad373b2d0b781dc78dd3b2afa34b6565979231681fffb8c62843dcd11686ea59406e23cdf96aed95554e47027c5b6976f5515bc40b0e3a31c556219f89b73c0871e1ff552ca04c33daa4a363794cc7c0e05249b53d20460eaa8ad217787c8c9423a7eb71058b5a8081b82454dc91f77f8608d60caff30a7c42424542a1746f0f10feb3f0fa52eaad4f2d4c36e59ca0a5389566fad53898992a17bbe0a0f -sk = 9bfc3a71fa83a4070db5064ada8410a770845e818c49b91e09a251e1925edb226ee8ab153f94b2417560d88959113a6bbc854b0065748e6a7db90977ada0216f3c41cff70e5202b306cc22ff8a138c360d75b9cb1bba849c5bcc8c9b55e80647e513c9e3e15f66a144f013822da24266765e3f1125f435bda4c46ef57430eae331e1d54c91960eeb363ca25387d0d441abb930e4a7c329191c5ff7a87996a4b1aa74162611e67b303e284c7098a65069356b55304b11b8bba66c5829647493c09bf62166017977a988333092efe98d9c13a2bce53f8ea2c81a0099b7d5c2b11704971366a5565cc14610df796c604700680226cb165e9acaa6ab507a923b4d472a4b6c9424e7f5a622f87f4f8a1083b4755067a93c285cc0748d241c7051971128cc5af4db5c1f7c144f98b6bf9703f5338628ca22df4b84d10312edda9df71442464a24491a62687928c22455dcc23eca964e9248543520790d813924cb58a0c156aafbcf63906ec5fa891936c7e16b5fafd98026d64ea2012bd75b6c5f376eeb74ae9b29cff7041c650b91a2b852c021562ba33b66ebacf787be40810f22aa43f4174571c77710f775d1719968a5523780b613262f94bc36b611b63f460dc6e02cc588af99f164302276b0386e697469c55928c0e62438c25af90577de0883cf45819262905ed30d9a1a7918b82f9b4a28ca5b8dd1d9ad4326adc7ba69c087765cc6511668cc0be83d510245f8834e890662e06774f389c0c623be3212aae5accedb101c43463b68889ea9a2c21aa0acb5329ff80a336f8914fbc602e2b9ae452647777651ccc4bef70ac06423b66ec5982c861ad9723dfbc834ca6a6433174c1d6c1ab9569265a96ab5d48495d72122763b3a7275b297713f1a729bdc48329b64fff9c45955c6091375d4d77fbac540dacb140666610ec7a15ff18bc741aa69425508d5cf682bafb6d3c9dfe02d80349597f56fbebb7ec8031fe71b6d6c065c4e6b5e5d17abf3b412ded81efcc8b6b1935fb37b467a5cc61f318aed20678800726509baa73bba244030500050d4b23e4ad71349cb0877566ad100ba77f8b409bc8f0ef8cfbcfa3cd1baa1935c9abca798ff6965ec7b53141b6709597bc4f9983766403ed80df4095d59ab482fab7fca432ef5e76affc77f74f4cda522a0085a4917d04167a00b09863850d6caa0621c2d473de0763b7d3168b6147bdb009eb260901fa82013c8c0a3f6c39de3cc49a773d08b357ef932077b5bab86391239b3c366c43010ad15ea2eb1e05267029e5ad8139728a907b98761b65dd6dab895363159b48875fb6aa80882256a04460b2977280688745c5914c089b37bfc949a8f9864afec2e4dc13f6092070eb561d09b530eba2ccd66b87b0986adea1933448066521e28ac2ed9c57ede492799b401cdba8377d593dafc1a0d233004e25877242c30070779d8bc5bb488dd3988004b5a8554861b560ebaa5bfff7c89ded193ea077f421c216996c1445b165b912901b217315636a168c0216ac026fbbd4239858837b02dab5a39d1be6b072468a264661c5e34f42380c66526377c990092434bcb551a744227445c5108fcfc3cb4526d0b711dbd4539cea05a08a78fba723f9bd11c902a159f41cb5395be189b1b7e98cc23658dccc7bf9a843a77b2a6bfa27bc941b04f391950d998c607a59b49330811200b38b243060b55e381c078100da84975091f3a0acb06f22ae3fb1b7d756d36f54200a367c109b13cf40f3671231d5b0ce9e5908776768767209f4726c54277d0f8b0e05bb4cd50bb5547a01051c89abc4a352745316c8d85a3187d68382ef05dc96294446972f4c76c7b9b91a4babe06fc634e76ae4b778f939c308f22b8c816bc3fd6b48e168f5dfbc19fd8cb7e4686bf2325cb060638c723364b27c8e3123fe26cf9862f247cc31c844ae77754206b03b497bb3283cc7e38664b23771f709e1d308cfaf5086f25acbd04cbd9f1612acc2712d129c9c195bc024cb057b0766aae7b533e60f04d947947f920470bc37e5eb4ac4fa1c48066877b4456d4ea2a5ee089de38a7fc7573fae5480bea823727132651a85d873378cb97d6f7be1250a94621abf5eabf0114952665cd2a5005af338b36d19f6e4c8f77e2cfb6f24d3cb7a909315a026b5aad50a9cd4baf3308059a91323b1c226ffc76b3565cd9386592476b76057e3477c8b7cbb201ca91546a2354b59328d411a724cbd8b3689efa335d879996fb0d1d2244edb361be4b2489e84086f4a995f20ffa9404082c4e66061d3ef668fc155bce04916c92b8fa46b77a4a9fa82c8c0ca5a5a5245883d25fded230e74b22394169464bc33fd51fb7f2aa9214b1ed546dcfd00ad554aec80882ec170c6ec44794204170d738ef9341d6034920a7aec3b68fac00527b2812d88969c6207f9aa122464a4d76320ead6271d2836e574155310a756cd4249fa7474b301ca978a0653935b7740a16c50df1eb678c1bc3eb451cf6fa35beb903cd89cde0aa58a43bce9cf591286792fb3b5e658b5a32196ea24a4252b093d2ab40884c39a4abcbd19b108b81172e18a84a288aac2982d113454335423148168bb6b9d97494179bba1ec8760be59d06251b94b4baaf82a6481c4a8f33b0fc3164635452e6497f992308688352cbf44537c618000536f9c41a64361ee162236f9227219b8b84a3984c649ea82211207c974f6c7575027aeef57e496a58ce2719096a58e2e31e82844f4d674a4cd9cfcada79afb0c63e634d2514ba4d8604ccc42b2eeb64691aaf23727c93c4abe1423c27b3b7abf0b649334760056e591c32fe812a753723f7c93ef5524c8e0267db177e6e55620715688cd0ac70b2a90e133caec86945bc74d7ea1cb88479a37b45eae4993bb7048e5316bf66b9715591148c9a20a35412c2404bb62c512b3800b9ae104453d95acffe000d3ae85b96d8092532796a03039ba2154f84afa4a402acb673b8799441bc505e836c3b558e1fe2057fa79153e1630d72afd96aa4fe9c0ed4822ab33a559719b81d274ef0a2773e405761a036521278df5ab3617cbd89d7543cfc7c6ad373b2d0b781dc78dd3b2afa34b6565979231681fffb8c62843dcd11686ea59406e23cdf96aed95554e47027c5b6976f5515bc40b0e3a31c556219f89b73c0871e1ff552ca04c33daa4a363794cc7c0e05249b53d20460eaa8ad217787c8c9423a7eb71058b5a8081b82454dc91f77f8608d60caff30a7c42424542a1746f0f10feb3f0fa52eaad4f2d4c36e59ca0a5389566fad53898992a17bbe0a0f26659f74fc9ec372fe18be4ed6aa28b7cd84ad1c0f0115dad011a11d20fda9edaba5068af837be962f439f233593d193ce5e08f7d66efb3389885927b89d2523 -m = bc856afe24213e3d14c3d6f9b89223bbcfb2c890722d770fa3492c1e46d1c302 -ct = 454ebf31d8ab7be6f8615035fd4f13bd40ee3e6dfd58e307ac2496b25bbb30222661aa2f65a314902c74fd897edf3230ae401ebc263393c017195abcf2ee916bf5b8b0a5f5ad109a7f8c049ee62c8e907719593bd3b3d2d35b0eb548c4eec3c8c11787591967d8effe9c9ddb995c98520b4a9cb0a3a3b00cb1efde9334671fce0d5c3052e0fdc48df0d844c2960419b23ac63bb013be9761d621dc41bcdd661452ec7a2febeffccc63b203f26441a366cc8c94ecc89f85404999584fa1b27d66bad84bd997847b04bf1a594d301adeef612bacd232010bb54a8f5c06601e1f95f2c976017d9df439bbaa02da479da944a71fe08082186bf464f3ee043cad702e5e1f38e76793f19d7acf46b40ec3d1773183f083f85fb6b2d6dbfc42ed98e78720b11e8c524fec0a6f86a2a407957ff6d5e4137d8e0d080080f0a9f23cad84224f558de68b5f88d05850b29914e9a25af725c39299546181e7390bf26b1a058f65300e351277ea19ac971fdf2943b44f13d690956c4e864891e397a06bbc70282f229da50403bc3e354d898f5a079f8cb1333b1f6b0186b83b5dcf264682fad6281f94fe08c370b2c29bb7fb9f3bee2bd3a0e408cd1a14a497ab300cb7b39a2c15737f29d3fd9566092fab82a01839700373c836ca73805c072a9e940e7b7c8739957b7561e90f601b7c50d2a4387d89e1cbedaa6605062cad5afcce27339cbecbc1cc13b1d690892816b7edefddb90116fc14c6beee6d991f72a749830e82e3159b1632921b776eb9b9ea222573ba96355e10140ef9a47695c9f551ef7e2acb055e54e712f44852604a46057f84358f6c886f2440e55ec68c0ecde354c99bf5a912c68edd8f488468ecdb968bf15c9cb764e67315c1a5d585615ce989da13c8baa041c448182bec6005f018437036c296475b83c887e87c5d560de293c35c8e942bdbe271ced6dd26fbca0cac7d1600188f65f32a9b20be73ced637fe59a24d43b7896a33e58a2858aabd699a4c273c6b2d3aee18253238f7e44dfa959142ecb729f5011fb840cabc16c183487c18df53386b81c2ee131dd8959e3894bf36d74b91ea2f117fcd3596bfdc34926d5598864f5faf775d71b6f17b471aa5ee0fedf7461324d125aea4441a1433b908ca4d4693945235b9153a2f1b17b2ea2825ce21101521d52488ae9fbd69b6977a17df0269aad0f22f1670ad5d4b95fc4292de7037bd4e90a2ab0c7356f39951f76a8746c6d16c94861a205da3f09cd84abd40c038038b77d61b90fe747e86e41f9cf1e4b745c88556d6ddf1c817d352ae7dedd801ac158cf4d1c036e39ea1cd1e10a2e1bab5115fbf61bd52cfb2abd6f5e96cb7df1442bfc32f0a3d011691ff429bfb73c5e978e7f349776886fed906480e945103f109fc7616ee73a2f8f0b027e87bf9f4c5d88d085751dc708e1b9e36a6dbbeadbf37a8d2c641ae45a4f31747ebfad00ef64bd00bb5d1db84e5f395a914979c62791607a9f9a9ab421a2243329b755db72a6c26daf6713711e4d65e287983 -ss = 0d403f00c22fab72899d302cb536854b934446b62f9da6d9d6cf1c0f7abac2e6 +sk = 9bfc3a71fa83a4070db5064ada8410a770845e818c49b91e09a251e1925edb226ee8ab153f94b2417560d88959113a6bbc854b0065748e6a7db90977ada0216f3c41cff70e5202b306cc22ff8a138c360d75b9cb1bba849c5bcc8c9b55e80647e513c9e3e15f66a144f013822da24266765e3f1125f435bda4c46ef57430eae331e1d54c91960eeb363ca25387d0d441abb930e4a7c329191c5ff7a87996a4b1aa74162611e67b303e284c7098a65069356b55304b11b8bba66c5829647493c09bf62166017977a988333092efe98d9c13a2bce53f8ea2c81a0099b7d5c2b11704971366a5565cc14610df796c604700680226cb165e9acaa6ab507a923b4d472a4b6c9424e7f5a622f87f4f8a1083b4755067a93c285cc0748d241c7051971128cc5af4db5c1f7c144f98b6bf9703f5338628ca22df4b84d10312edda9df71442464a24491a62687928c22455dcc23eca964e9248543520790d813924cb58a0c156aafbcf63906ec5fa891936c7e16b5fafd98026d64ea2012bd75b6c5f376eeb74ae9b29cff7041c650b91a2b852c021562ba33b66ebacf787be40810f22aa43f4174571c77710f775d1719968a5523780b613262f94bc36b611b63f460dc6e02cc588af99f164302276b0386e697469c55928c0e62438c25af90577de0883cf45819262905ed30d9a1a7918b82f9b4a28ca5b8dd1d9ad4326adc7ba69c087765cc6511668cc0be83d510245f8834e890662e06774f389c0c623be3212aae5accedb101c43463b68889ea9a2c21aa0acb5329ff80a336f8914fbc602e2b9ae452647777651ccc4bef70ac06423b66ec5982c861ad9723dfbc834ca6a6433174c1d6c1ab9569265a96ab5d48495d72122763b3a7275b297713f1a729bdc48329b64fff9c45955c6091375d4d77fbac540dacb140666610ec7a15ff18bc741aa69425508d5cf682bafb6d3c9dfe02d80349597f56fbebb7ec8031fe71b6d6c065c4e6b5e5d17abf3b412ded81efcc8b6b1935fb37b467a5cc61f318aed20678800726509baa73bba244030500050d4b23e4ad71349cb0877566ad100ba77f8b409bc8f0ef8cfbcfa3cd1baa1935c9abca798ff6965ec7b53141b6709597bc4f9983766403ed80df4095d59ab482fab7fca432ef5e76affc77f74f4cda522a0085a4917d04167a00b09863850d6caa0621c2d473de0763b7d3168b6147bdb009eb260901fa82013c8c0a3f6c39de3cc49a773d08b357ef932077b5bab86391239b3c366c43010ad15ea2eb1e05267029e5ad8139728a907b98761b65dd6dab895363159b48875fb6aa80882256a04460b2977280688745c5914c089b37bfc949a8f9864afec2e4dc13f6092070eb561d09b530eba2ccd66b87b0986adea1933448066521e28ac2ed9c57ede492799b401cdba8377d593dafc1a0d233004e25877242c30070779d8bc5bb488dd3988004b5a8554861b560ebaa5bfff7c89ded193ea077f421c216996c1445b165b912901b217315636a168c0216ac026fbbd4239858837b02dab5a39d1be6b072468a264661c5e34f42380c66526377c990092434bcb551a744227445c5108fcfc3cb4526d0b711dbd4539cea05a08a78fba723f9bd11c902a159f41cb5395be189b1b7e98cc23658dccc7bf9a843a77b2a6bfa27bc941b04f391950d998c607a59b49330811200b38b243060b55e381c078100da84975091f3a0acb06f22ae3fb1b7d756d36f54200a367c109b13cf40f3671231d5b0ce9e5908776768767209f4726c54277d0f8b0e05bb4cd50bb5547a01051c89abc4a352745316c8d85a3187d68382ef05dc96294446972f4c76c7b9b91a4babe06fc634e76ae4b778f939c308f22b8c816bc3fd6b48e168f5dfbc19fd8cb7e4686bf2325cb060638c723364b27c8e3123fe26cf9862f247cc31c844ae77754206b03b497bb3283cc7e38664b23771f709e1d308cfaf5086f25acbd04cbd9f1612acc2712d129c9c195bc024cb057b0766aae7b533e60f04d947947f920470bc37e5eb4ac4fa1c48066877b4456d4ea2a5ee089de38a7fc7573fae5480bea823727132651a85d873378cb97d6f7be1250a94621abf5eabf0114952665cd2a5005af338b36d19f6e4c8f77e2cfb6f24d3cb7a909315a026b5aad50a9cd4baf3308059a91323b1c226ffc76b3565cd9386592476b76057e3477c8b7cbb201ca91546a2354b59328d411a724cbd8b3689efa335d879996fb0d1d2244edb361be4b2489e84086f4a995f20ffa9404082c4e66061d3ef668fc155bce04916c92b8fa46b77a4a9fa82c8c0ca5a5a5245883d25fded230e74b22394169464bc33fd51fb7f2aa9214b1ed546dcfd00ad554aec80882ec170c6ec44794204170d738ef9341d6034920a7aec3b68fac00527b2812d88969c6207f9aa122464a4d76320ead6271d2836e574155310a756cd4249fa7474b301ca978a0653935b7740a16c50df1eb678c1bc3eb451cf6fa35beb903cd89cde0aa58a43bce9cf591286792fb3b5e658b5a32196ea24a4252b093d2ab40884c39a4abcbd19b108b81172e18a84a288aac2982d113454335423148168bb6b9d97494179bba1ec8760be59d06251b94b4baaf82a6481c4a8f33b0fc3164635452e6497f992308688352cbf44537c618000536f9c41a64361ee162236f9227219b8b84a3984c649ea82211207c974f6c7575027aeef57e496a58ce2719096a58e2e31e82844f4d674a4cd9cfcada79afb0c63e634d2514ba4d8604ccc42b2eeb64691aaf23727c93c4abe1423c27b3b7abf0b649334760056e591c32fe812a753723f7c93ef5524c8e0267db177e6e55620715688cd0ac70b2a90e133caec86945bc74d7ea1cb88479a37b45eae4993bb7048e5316bf66b9715591148c9a20a35412c2404bb62c512b3800b9ae104453d95acffe000d3ae85b96d8092532796a03039ba2154f84afa4a402acb673b8799441bc505e836c3b558e1fe2057fa79153e1630d72afd96aa4fe9c0ed4822ab33a559719b81d274ef0a2773e405761a036521278df5ab3617cbd89d7543cfc7c6ad373b2d0b781dc78dd3b2afa34b6565979231681fffb8c62843dcd11686ea59406e23cdf96aed95554e47027c5b6976f5515bc40b0e3a31c556219f89b73c0871e1ff552ca04c33daa4a363794cc7c0e05249b53d20460eaa8ad217787c8c9423a7eb71058b5a8081b82454dc91f77f8608d60caff30a7c42424542a1746f0f10feb3f0fa52eaad4f2d4c36e59ca0a5389566fad53898992a17bbe0a0f26659f74fc9ec372fe18be4ed6aa28b7cd84ad1c0f0115dad011a11d20fda9ed8aae27e7d301495dab212a61fd3f209a8068fcf9a61ad83463c00d2cab426633 +m = f9e9fd68166f1efe1916c2e0868e30cd14ca6a7e07c44a1e5ecad722d016a3bd +ct = 2d8aa97bf288cb53de8205e31c5153c11bb4e19dc1512dd69d98d5624367bf69afbec4cda8104e4e003d2e400fc8d3e596127d5639d3a706fa54cdf482f8c80497f7eacb29c4a06c3998f31d10b253d0cf1597d5e9a0620ba1252098daac8d56bb09d867a176d4a56fc2cd9aaa306ec6f5f9caa7bdd20e8f88cc55d2d3cd8ed2735c9089b734e72fc23de227955cd9e186d267d32d0aeb249e6f18e8d5ef7e562d881b03a4aea338b7508c9bde20739739639eae82c9b670b9761747061c695ecbf2fae1676943a37cceec46a557e69bf51ee43a34ff1f1ba34974c51b86a15b4b2af50b2caf8bed87bf79c10e610750f7007b4c57191d959f00427ca9b84406bbc720828ac72fcf123e5b69496cbb008914763d8abc50195ea452829d585afda008987869e5aa8b6601cf8a1eb2667d9b6f5eaff921b84ab372a30f379d8a1e59bf802452b9ed55e1486070bf6b3cc196c8ca35acaba9ed0196f0300793cd1abf81aa8b3354f49bb05b6a787867d915ee605a0e11199ef8e7cbd7c22319ad9e2be11b8dbaee03332be8b2297985a5a3ba63de4a328ccf0260472558486d188da99ad1fec7df5d95ec3152ddb5a7a2ba9b5f270a5cda5fd4bbe64b862472d46ed46b9a91eedf2506002803a5e3e31230408d25792894c04ecc29e801727c9f5849938ede594807dc69d76194c54332c1b22dbaecf87738c662b5eb93ae22f68c5528ed6f699bb0fafd935b10d677fb513e9e6f60d2788123f84c0cebe6c7f8019b7b3807fb78c60604304a406d6b3a77256297a91d0a493f2bb7e2b8e400d8946d47e4bdc2dfd734a9a9eab4549a38da545c61b12abdec08c01a9997d4ad66b35a219de35008b3581a9f8b8f08109d249384cedc112d8c4a43d4efab6af8261ada5f9acf7d42cd745fb7b43d1223b903a74663fb7b4315e675cf9c08ecdca0b7468ba88824b5b6a93279211b67115f0c1b9673834d63e21668dbf894ed536252f32f6c131e41b9741738123c4327e732c0112e9cd0788e7345fc071b70e4fb3771caead56b699159c48336d01df3a9be2daf2e7dc20449279d2c8a7e388b3f04a1e920ff03ef262a354232b4b4ae31294b9c7eec348211456fe7ec6bdbbc3ceccf9a59820e2955e0a4dc27bb422c286ff14d546947c8e18717b330c6a8890442f1901ffdfe725b63636cbdf9badb020f9857afcbefd82f7ee46fb7fd0c0ec795619add7a759e3f2e932f21b38c2e2d13735a0f191f83793ebb075e951b483e72c5d2b5fee4ce22c353454c0f5593df1be33c6ab7e2b12ba06f9544e31ec6ab0001e942c68e7aed27d8b86a12eab4b1a2d757c1e52fc4b7064b590cbde4db3e370ed441184cc0e172c83d3bb60ee7856d2d672a8c9f72ec026a5613e26fd3a51f07d0c21ba0bb4f9c53673a6f27088b902d261e544be549e3b49dde516d8c35a05baec056258fb481fab058744193a52d6cea955817dce729a82d95ae4b022f6e0e1ce9ac3d2389f903ed99115e2db8393ad45b20c3672aad9b2b168b9bb080b6 +ss = bf7edcacc71270dffba4d5981f98ccaf7502f8d8ea4a482c1d38378ed4d25cb5 d = 6995143e8eb8a6e93840f76eec844f67d2b5f75b1839a5040337e61f9806764a -z = 0f4dff8e56f68440836a072412a30d851ace2c7c6f02d60e7a8420001a63e6c6 +z = c30e299218d4a39c2ea3fc06439fc4c411e99bbc34b8f30d23845e91e71fef3c pk = 8683354b3c3f035586b50b88c4140f346a05ada7ce4beaaa5f096614cc767af89ffccb95124b00e8379efaf76ca381ae4886abed9240bda4710dac62a71017059b07921c770da1ca2d209338536c3a9b5238313bce565fb861bf8ad3a78f030b3f646b34347f1d215e8ec1789d602d92a971fa3c2e892a09cfa68968f96f206a7535766ed7533497fb051c8036b0aa81c2c802fb7333cc6744ec830e4be56ef1e4874371409486c477cc4ee90092d2919f585ba21f32bc973acaef42b4969746ab2618631b6536ec298b2828abf41e24776bf288ca6a4a8094d63c7ceac44854ba9e4837e44b3a7b269d6ccbb6d1712e9ffa937ec5194a3541e3fc9c685102f9a47faa077fecd688d607996e5b60c1715e617994b842b46574b87086a061488bb2445b357a38934b612c16168e662112756bfd764a4fcc5f7b1634f6f28094464d600046ee03b4540c1049bb3d18f783fba2ac5bd36ecde662d9e08e2a89cb754b090db7175277941e5973d010ae08a4b4c922aa99f47f657a49c3b81fcdb54c905a3010405ed544bdda9942bc857b6d979f796c859e0627a5212543477ed791c2adc95fdfac9d21d19750b8b5ddb95f02d721a9304099ba6b2cd0a40c1a2f9dc1649b2318acc93a5fbc52e3f4900bb44d20a7250142ae5f3b77c0720c77104b74c78eb821bd32e260051c499b5ccdd9d716521163557b5e4526acaf09a2beda04994188a5065b4a975b215171eb288024581cffa37d6289813773b29f1c0ef5587f9c98049f548d2a0c3a5c71c1693b5ec8c64ce0267fdf625485dcc4b5553c5736a0d0623cfe20596f984c014aac0380ba9b58257a993b1be3bd2cb9ac25912b36b2c085443074f093510a46cde5441ee3cc88dc2cd636a5ef77310f91cb21abb149db2541407726582b54b50306cab4b5356492c220c138c64b4ab293680e01c2aeb369bd611064fd8955b790222bd5997dd76bfbe50a2bd039c1f14f0469b623c53195a3b2ff068182d951dab05ffce9a6c8fab42886987b7999043c12870965bd463980aa6b35e13b5bf9c25b64920d7788a291a98ebc30d3785783c27e53ca9ae809004f23706e3cc0b9ac0bd571084100299c932db2933cd91566aaa367371b16069a706be664e86107b33b1cf05360248c808ea250fcacaf9096715478463932a1c632cc9a185eeb08583a9309259c567743995af013216b1086815b851655d0f14fcc43682720acdfc36f35806894177ea2144f6e28837cc887e560874ddcaaf60a3580fcc7a5f1733180b1f1202a08182345370cc5c46cd28a507ad846d1d9415af679d4b22ee560c6c1b2499d5b74aa2758da090e62713343b3a8b14c68e415a3f196c2573c5e828a16cea51443104f9cd899ad03c3b727774b48ae61db98feda4c1e029b57f89d1735381166b70450215af92120ca61a8a38e575abf2cfaa54c613031a9ba60275d23178ba553a3ed7179aac44fb3607e93c1c57c7bad6854533844bf3d6a9b95a966f891612239cf6cc41df1a859afea9c0cec6d2679cd7c71c2cf251dc9759666c871853a1012294022fabdeb2269b430397f337b3f416e528748903ccb8b24c8fa28197244c0ac3a0345e699b247c863e9a58d8caee564224faa36c70ecd281b67eb98908468420b38f3c24da9290ea98b24 -sk = 5e484946337e3f4135d738b0862b69f7b247a5bb0812d56201300c53bb87b798b2b551ccea75a87f002d7de7878ed08e976a2cb62b4aa559bc36816e9690973f608b262612f89b5bc784365e33193fe9013c05818e0a7151297ea53c95089388be203071d0335535436c799f6d3aa3260a9c8c9c9e36f79f13135c3dab92914137c33773660aa15557c32b7a086a5a1cfd125dea60183ecba94da22f0f3a18dd2131bc792c4013b7bf84a7840c976c53117653c4f947839d8cb35538bb97899418688a9e062f9fc17d77450d85261aab01bd9ee77e917966bd26bd3d3990aabc8561cbaddc5a22f8c80d99453fa7350b2a022e4ca48dea6c9c07309543611abfc7cda76aa03e51acfdf0cc73921ef2d02f45990aee50ca77b93f14e4bef44576134391f7b67658e1cc7876713742267a556ea8f562bd858b24e04314b025ccb5be0650642a23460c3c65e0d6cb68232cff709204b7b7cab0741807100a712686b982f632095d7730dd9385a7a26c23741474e12cd8fc259ef346b5f287eb01b046104ef8415372b47da145ab0c5c1774626b5dea7d72db4c62fab14c03ca51384420690a799194e8aa05bb914db21956bedc948299baed7289c884ab9833c8669422adf51d4e1a0466056eeca478f11ab55ce2ce34430addc889044a5601357ea6a5b097b54252b046fa83c0211c236953954c36840e390d2707848c0b879aba2354ea200fca56cbb86c0c2269a81c790b966893f782aae9a4bd1b02fa85995a757ff2083fd26347c97711e07560af77cb59c7cd64f7cdbc880ad26a7bd7fcb9b210710e581c49453a3200ac08554a641068e6879ba6665ae9f281fc14c8fbfcb0cac0081c1a06db017d80048b324248f699825a489d0726893e109127a0ae802cca29ac56f6118d209a54cb842c9a8c539e43b9681cb868018c95d872c532a10a77bf52a796d33187fb8aa3fd780bd2c4b30fb7394dc64b0fe05b81128763a1325bd00eba411247b1c22a1146feba1b255c51f74999dd29a9453151bd9869e3d548347b93c1b798fe92a053b88c80d7afa5c561d31435d61251253b9a4c2b0f42830c81e990006dcebddb7002240ee8e276d4e31c2d249b84414f3997b9c4f5c0698cb2a24c48e3605f6d704e5db734ead12d62634dedc68ed6a1248273bad5ecac0651978b098ffcc148667671d4b59ea6095b0b363c31299e5b90282f914bebc66f6291338bb7600c8310b83963336952ec33854ed7c979b71f30188180b11bb66314c93242ecb890123c9f2aaa786acbc7dbf560cfc1625d06c3828998ed51b79d28c583bb38719706d1d67b9ba5a556cb9ee1dc4ff2c53c33969f2f97bb93056729f65fd90aa2d7113edf611c521761be671fe37baada7a2b4a114dd458a19966a2a42914d61b47aef5abccf8240c88af752b51bcd0a3788c2aa38aad8dc00d835476c8386dd3a8628b261f1d6b2b9f771842c97da7bbc3d03696f60524be6476430044f6a8aa48c22901f750dc55c1ea7813ec3518b26b3fd0657ea6fcb6be94c026244a0401593664673faa680f866e174143b0cc086fdacc1f7126c3e941f090332d8487d5e66061d5311c9b5c8edc39bdfc34948400a9a3aff3a85a8683354b3c3f035586b50b88c4140f346a05ada7ce4beaaa5f096614cc767af89ffccb95124b00e8379efaf76ca381ae4886abed9240bda4710dac62a71017059b07921c770da1ca2d209338536c3a9b5238313bce565fb861bf8ad3a78f030b3f646b34347f1d215e8ec1789d602d92a971fa3c2e892a09cfa68968f96f206a7535766ed7533497fb051c8036b0aa81c2c802fb7333cc6744ec830e4be56ef1e4874371409486c477cc4ee90092d2919f585ba21f32bc973acaef42b4969746ab2618631b6536ec298b2828abf41e24776bf288ca6a4a8094d63c7ceac44854ba9e4837e44b3a7b269d6ccbb6d1712e9ffa937ec5194a3541e3fc9c685102f9a47faa077fecd688d607996e5b60c1715e617994b842b46574b87086a061488bb2445b357a38934b612c16168e662112756bfd764a4fcc5f7b1634f6f28094464d600046ee03b4540c1049bb3d18f783fba2ac5bd36ecde662d9e08e2a89cb754b090db7175277941e5973d010ae08a4b4c922aa99f47f657a49c3b81fcdb54c905a3010405ed544bdda9942bc857b6d979f796c859e0627a5212543477ed791c2adc95fdfac9d21d19750b8b5ddb95f02d721a9304099ba6b2cd0a40c1a2f9dc1649b2318acc93a5fbc52e3f4900bb44d20a7250142ae5f3b77c0720c77104b74c78eb821bd32e260051c499b5ccdd9d716521163557b5e4526acaf09a2beda04994188a5065b4a975b215171eb288024581cffa37d6289813773b29f1c0ef5587f9c98049f548d2a0c3a5c71c1693b5ec8c64ce0267fdf625485dcc4b5553c5736a0d0623cfe20596f984c014aac0380ba9b58257a993b1be3bd2cb9ac25912b36b2c085443074f093510a46cde5441ee3cc88dc2cd636a5ef77310f91cb21abb149db2541407726582b54b50306cab4b5356492c220c138c64b4ab293680e01c2aeb369bd611064fd8955b790222bd5997dd76bfbe50a2bd039c1f14f0469b623c53195a3b2ff068182d951dab05ffce9a6c8fab42886987b7999043c12870965bd463980aa6b35e13b5bf9c25b64920d7788a291a98ebc30d3785783c27e53ca9ae809004f23706e3cc0b9ac0bd571084100299c932db2933cd91566aaa367371b16069a706be664e86107b33b1cf05360248c808ea250fcacaf9096715478463932a1c632cc9a185eeb08583a9309259c567743995af013216b1086815b851655d0f14fcc43682720acdfc36f35806894177ea2144f6e28837cc887e560874ddcaaf60a3580fcc7a5f1733180b1f1202a08182345370cc5c46cd28a507ad846d1d9415af679d4b22ee560c6c1b2499d5b74aa2758da090e62713343b3a8b14c68e415a3f196c2573c5e828a16cea51443104f9cd899ad03c3b727774b48ae61db98feda4c1e029b57f89d1735381166b70450215af92120ca61a8a38e575abf2cfaa54c613031a9ba60275d23178ba553a3ed7179aac44fb3607e93c1c57c7bad6854533844bf3d6a9b95a966f891612239cf6cc41df1a859afea9c0cec6d2679cd7c71c2cf251dc9759666c871853a1012294022fabdeb2269b430397f337b3f416e528748903ccb8b24c8fa28197244c0ac3a0345e699b247c863e9a58d8caee564224faa36c70ecd281b67eb98908468420b38f3c24da9290ea98b242ca3d8ad2dab1dd8a2f4320658fe6eacabf70d907920593919119cf3745163360f4dff8e56f68440836a072412a30d851ace2c7c6f02d60e7a8420001a63e6c6 -m = 5fc00f89563e44b24cd67d0ce684effe5731619fd08e7d72e2406eb016afb66b -ct = cc6edbdae7faa07675568a32e556b25f34740418b3603a6ed17cf2943c1531b60542379810b7bdf525790222217880d92343aedeeae9d5f1ff7773c676b1894399f36037dda6a1f2df2d894fe157a64bbd04a0948df19303caf2a59188fb0415291246e115f0663c17ddf4259f2326c3e1c6ada0a12e69a6dfae45e3b6c6f8952b09d9c1721886076bdd8ff34878110abf83eadfc84dfd1f9a426a533e1ac51d87aa50e3ef4f05db558713d78abcaeefc2c98b9900d0a3bccc818d5572e6f47f99ce87f687874ce23cb1ecfd88d3107d61c2862fc306ba30477bb7a0d121dc6e378d6c20a4f1c300fe69ebdc020f2585a539d972a3a935a2f1d49697f9696313d7afbdeba2e97a2107ae83e7d3ccc6ed795c77263d3b4c3632241e0f95028a2b3eb37385b847f67bc4e0f5baf7eb89e293bbc95f77d609453023934b5c04d34c4aaf06cebe6c122f76a3608c48fa264a59477b5f41c63936cfcc1e86cd443f9f8fdfc5741ce9cf25f4d4b7feaf143237d6c03b684514d9c67cee6baebf58a43f10383f72e9cf74b2fb8b865a450756764894640013f2c569e1dda9def2dfe70a48a78510da2ee18f17279688bff62cb2f48f6ef0d72affe36ce9f656e723b692e418cf98e5a2a4d72e908f148788fd04d680497084cb01795fcaa77eeebb0ac2c600351c84b4a3d1f6c537e9d9ccf373b2a26e7eecca9b02183ef4aacbd24bae4863a40b1a5f3c60f514d718b345a62c15b9f38880d00e50a01a18e7573b213a8dadfd54e2064c9a64cc6354de8ce3e70c2f1457cc5f0f54055e5f0c05414c125ce82a398f025ebf224302429d818ba3838ae58f895c97130c1dc5ca577c05152fd543f7e6c1e292d8b7b6757023685d8f57a0f44baee68375f4d226973007275426eb9ec937835a2e26a1db9f4ddd63f415e3225b6689210fb7fa323a479a59702f13c11425ee68c982f0106bbf4f6b01127f3bc7801d6b52f3b6226e73ec40659e1fd9a22b33f8614f514a20580c56859470fba19ad5a558252f939614d1cad9e3760ea33beb784d311305ebb0a00cbd28c6dd9902f0c3cb5a88dba565a4f494e1ed31c657a81685f706b1b0532e0df6b8d9d90e3318125f1abf6ef69e3044c04dd09599dbfcbf3e473c022f4b5a2dd2437af91784767b2763fb99494bd13af326b0403118db6ba8271e34016548f56e4e5c75d2002cf237d5f5c26f5ae692444afb5f6c51958b83b3ed983d248e0ffb8c0abf455c34d17df51a8f86c5b3044be0660d7843033194a1dc4b84d475c089ec2ac1820a0b79c26b7ca3f888f24f784a54536fb852abd51b0cef758c855fe33ffa2155f4cb1c0f4ab9ab5b0d74b31067e2c6651460a151d16252f32ce4e037516978eecb123e23671b453b31893601d2d79f22ace7eb3ddf6a22714c5ae97df6bef6ef3acba526afd8920f2caba016c10cda20d0c39b32e78d0bff0cc7a445753cbcad615b55ce00851c70a92da2421cc9105a85b6e642052f2692fb84cf642aaa44a9eb7572a6974fd3b767b4e0 -ss = 8c0346216cc65f95d2e0caaeec4bffaaccc49132cba2dee8f2a6ce1f922e6db4 +sk = 5e484946337e3f4135d738b0862b69f7b247a5bb0812d56201300c53bb87b798b2b551ccea75a87f002d7de7878ed08e976a2cb62b4aa559bc36816e9690973f608b262612f89b5bc784365e33193fe9013c05818e0a7151297ea53c95089388be203071d0335535436c799f6d3aa3260a9c8c9c9e36f79f13135c3dab92914137c33773660aa15557c32b7a086a5a1cfd125dea60183ecba94da22f0f3a18dd2131bc792c4013b7bf84a7840c976c53117653c4f947839d8cb35538bb97899418688a9e062f9fc17d77450d85261aab01bd9ee77e917966bd26bd3d3990aabc8561cbaddc5a22f8c80d99453fa7350b2a022e4ca48dea6c9c07309543611abfc7cda76aa03e51acfdf0cc73921ef2d02f45990aee50ca77b93f14e4bef44576134391f7b67658e1cc7876713742267a556ea8f562bd858b24e04314b025ccb5be0650642a23460c3c65e0d6cb68232cff709204b7b7cab0741807100a712686b982f632095d7730dd9385a7a26c23741474e12cd8fc259ef346b5f287eb01b046104ef8415372b47da145ab0c5c1774626b5dea7d72db4c62fab14c03ca51384420690a799194e8aa05bb914db21956bedc948299baed7289c884ab9833c8669422adf51d4e1a0466056eeca478f11ab55ce2ce34430addc889044a5601357ea6a5b097b54252b046fa83c0211c236953954c36840e390d2707848c0b879aba2354ea200fca56cbb86c0c2269a81c790b966893f782aae9a4bd1b02fa85995a757ff2083fd26347c97711e07560af77cb59c7cd64f7cdbc880ad26a7bd7fcb9b210710e581c49453a3200ac08554a641068e6879ba6665ae9f281fc14c8fbfcb0cac0081c1a06db017d80048b324248f699825a489d0726893e109127a0ae802cca29ac56f6118d209a54cb842c9a8c539e43b9681cb868018c95d872c532a10a77bf52a796d33187fb8aa3fd780bd2c4b30fb7394dc64b0fe05b81128763a1325bd00eba411247b1c22a1146feba1b255c51f74999dd29a9453151bd9869e3d548347b93c1b798fe92a053b88c80d7afa5c561d31435d61251253b9a4c2b0f42830c81e990006dcebddb7002240ee8e276d4e31c2d249b84414f3997b9c4f5c0698cb2a24c48e3605f6d704e5db734ead12d62634dedc68ed6a1248273bad5ecac0651978b098ffcc148667671d4b59ea6095b0b363c31299e5b90282f914bebc66f6291338bb7600c8310b83963336952ec33854ed7c979b71f30188180b11bb66314c93242ecb890123c9f2aaa786acbc7dbf560cfc1625d06c3828998ed51b79d28c583bb38719706d1d67b9ba5a556cb9ee1dc4ff2c53c33969f2f97bb93056729f65fd90aa2d7113edf611c521761be671fe37baada7a2b4a114dd458a19966a2a42914d61b47aef5abccf8240c88af752b51bcd0a3788c2aa38aad8dc00d835476c8386dd3a8628b261f1d6b2b9f771842c97da7bbc3d03696f60524be6476430044f6a8aa48c22901f750dc55c1ea7813ec3518b26b3fd0657ea6fcb6be94c026244a0401593664673faa680f866e174143b0cc086fdacc1f7126c3e941f090332d8487d5e66061d5311c9b5c8edc39bdfc34948400a9a3aff3a85a8683354b3c3f035586b50b88c4140f346a05ada7ce4beaaa5f096614cc767af89ffccb95124b00e8379efaf76ca381ae4886abed9240bda4710dac62a71017059b07921c770da1ca2d209338536c3a9b5238313bce565fb861bf8ad3a78f030b3f646b34347f1d215e8ec1789d602d92a971fa3c2e892a09cfa68968f96f206a7535766ed7533497fb051c8036b0aa81c2c802fb7333cc6744ec830e4be56ef1e4874371409486c477cc4ee90092d2919f585ba21f32bc973acaef42b4969746ab2618631b6536ec298b2828abf41e24776bf288ca6a4a8094d63c7ceac44854ba9e4837e44b3a7b269d6ccbb6d1712e9ffa937ec5194a3541e3fc9c685102f9a47faa077fecd688d607996e5b60c1715e617994b842b46574b87086a061488bb2445b357a38934b612c16168e662112756bfd764a4fcc5f7b1634f6f28094464d600046ee03b4540c1049bb3d18f783fba2ac5bd36ecde662d9e08e2a89cb754b090db7175277941e5973d010ae08a4b4c922aa99f47f657a49c3b81fcdb54c905a3010405ed544bdda9942bc857b6d979f796c859e0627a5212543477ed791c2adc95fdfac9d21d19750b8b5ddb95f02d721a9304099ba6b2cd0a40c1a2f9dc1649b2318acc93a5fbc52e3f4900bb44d20a7250142ae5f3b77c0720c77104b74c78eb821bd32e260051c499b5ccdd9d716521163557b5e4526acaf09a2beda04994188a5065b4a975b215171eb288024581cffa37d6289813773b29f1c0ef5587f9c98049f548d2a0c3a5c71c1693b5ec8c64ce0267fdf625485dcc4b5553c5736a0d0623cfe20596f984c014aac0380ba9b58257a993b1be3bd2cb9ac25912b36b2c085443074f093510a46cde5441ee3cc88dc2cd636a5ef77310f91cb21abb149db2541407726582b54b50306cab4b5356492c220c138c64b4ab293680e01c2aeb369bd611064fd8955b790222bd5997dd76bfbe50a2bd039c1f14f0469b623c53195a3b2ff068182d951dab05ffce9a6c8fab42886987b7999043c12870965bd463980aa6b35e13b5bf9c25b64920d7788a291a98ebc30d3785783c27e53ca9ae809004f23706e3cc0b9ac0bd571084100299c932db2933cd91566aaa367371b16069a706be664e86107b33b1cf05360248c808ea250fcacaf9096715478463932a1c632cc9a185eeb08583a9309259c567743995af013216b1086815b851655d0f14fcc43682720acdfc36f35806894177ea2144f6e28837cc887e560874ddcaaf60a3580fcc7a5f1733180b1f1202a08182345370cc5c46cd28a507ad846d1d9415af679d4b22ee560c6c1b2499d5b74aa2758da090e62713343b3a8b14c68e415a3f196c2573c5e828a16cea51443104f9cd899ad03c3b727774b48ae61db98feda4c1e029b57f89d1735381166b70450215af92120ca61a8a38e575abf2cfaa54c613031a9ba60275d23178ba553a3ed7179aac44fb3607e93c1c57c7bad6854533844bf3d6a9b95a966f891612239cf6cc41df1a859afea9c0cec6d2679cd7c71c2cf251dc9759666c871853a1012294022fabdeb2269b430397f337b3f416e528748903ccb8b24c8fa28197244c0ac3a0345e699b247c863e9a58d8caee564224faa36c70ecd281b67eb98908468420b38f3c24da9290ea98b242ca3d8ad2dab1dd8a2f4320658fe6eacabf70d907920593919119cf374516336c30e299218d4a39c2ea3fc06439fc4c411e99bbc34b8f30d23845e91e71fef3c +m = f866365324cfdf8254ea0b73b7947496f9fd24bfdc562db4857ef5c659441cf5 +ct = 3d885e27ea316a5e5d77716ec827ffa87f96cfad628292864cc7e15460bc40d60f945aa64da35d5a4b2c11c6a82c8a61c399ecb4d5ebcad661a2bd3d3e0c51911b6c4af729189cfae2b84e60a92cc90d829afc55c1698ff4807f097574ed5dc0651cf6adc9ffecd6eb9fff011971027d1521e8623620c4a68572206f91dc57f9acf8830ecc22ae7ddcd8531e3986c075717b2a59346328ed9beb48efc2540f2bc35e8c1a56fd420c997857de656028fc04b23f29539529d14a71d4695e6b2fd89410a90b1d417cfdaa8ee32c8d5997ff70c88f13bb5030fa59590f996f98032651c12dbc6cb83e507a276e59f1d909c1a6087a2c06403137e4670158d1a0b840466df2deb4304f9d1b0218e792692b7f5ca1e227fe5b0e1f215118cc96ef3bee1ad899b5a6f9997b325be2eed66c9d0a9971abf9c23f1384fc40e2bc8e722ef8064884988cfa12b2a416a420ecad52d415e17b8bc79aaffe8052cc3dbabdc2a8dbb67aa35a6a54384aa7228b372313807c57a848b3b8cac78365e8a37357c59e93f3ca959ca3f04528be2bfd1ba47c4e2c110566f9547e0866276fca8d37770783ada1ff043a4fdd265495ef667721a1a8e83cd822528bee0befee37a5efef927d18227fb6f7ba0fe1a07bc300ae281b50ae884ba38d5da90f456537395f51c351b8da505c94f94f12fbfa7362c295dd3616b337e392b14bd74a1923fcfeda5f81ce02aa978952a5e83af7a9fac5af0513de1a6173f98b3f89cfcf7ed13bf2ba6ad405d3be21fe673fafc8431fe5226ca0dfa075e5353555b35e181511404c91ac75a2ea3f510d2c7721147e243c1bd2627a824f70f2e337d39ce34532293daf09c88e0525b4cfe0f187dc713fb488bffeb5bb379a44dd5bb37142bd08b8308db8e3c61fc527a28f31d8e21e53fc32c5941e0a267164f8ffde21aa58290bf5302a0684e343c5119f832174e2736aec1483233333613fc3650696a8e01fad1d9ac277a9b3af9d03bbc71af37fafca4879cdbe81df809d3446c3a4d0cab809a789feaa85ff121cb6e75ca9289ec4129c105f6ec231872220b51ed525daad5203ec3d20d3965fa7c565c17b69933adaf2d8e3e3dd024283187d5d9cd92a1aa47afe3444408281f4f996251ebb30d3693367d59ccdff815d8db9d621d92127cf89eed459b121c5b28c23654593081d94d8655cb7a51b63af581e421c735d113bd3c6b952650d38cd89e955c3278ea3282d68736934db0f56d22b78b47e3ee1c26cad26a5123f2261c5afdba1240e55ed955c3fa86343d3df901c5c14eaf9b525391c68bfa38fc92a611ae88fa2a518b7361f527e4ee4dba8bcc2a08e130c230c188ec57e939c6921f7e3acafa4c1a3a5d65e7be4175829b3a494bcdc9cafd2f988a76470cde8b21f8a391ae05689c91a9708dca8b58bb2688bd0652f7716a17f60e71ff39c918082c37ebe4f0b2eec569fb7236c609ec2893687e1a400cadc619000a128df5a5f8ec82b493dbfc6eb28db6d910d824909601a89e3cd83c3683a610f +ss = 792d526ed63f602f8d353c92e76ac32b021ecc7c5313697dcba7ed953a099bfd d = 995eff7e0d195c6d0533f3dc194d47e60f9ad14696144cde694d60a95f3e96b4 -z = b28f7e7a15a005f92400ce33db073d49b53871594a88fc45e0f94207b5f0f2dc +z = a33923382f8863478882483037fb1282ff917eb6658a7154c6ad64b5858c629e pk = b147b4694b12c461130f3126f8f71673e4643b2147ded2a7270ab360f6303dc05b03a314bb776c488318686069c3a4c91cc62435e829a6a8621ef5cf838311a4278d7f453ea5484d32f94c2e9628f5532ff93771dae106c8ac9cc80ad07d306b1da78463a08226657680e5acaba6819543cd96194aa5973d4f7b8682b13a07e7a5194c91ec95a2d671a2627710a4c78aa107b3707942d0c78f3eb2b3a58b7833fcb0fd7785e349a2f0027aff079b62a68e3f425122f7bc0a0b4c053a6696f90a67088f139b2a39f542d6439091e4c1a0824734d8b6e5e6483f48ca738c39a5bc2016c0746cfa9c1889297f5377d614acff2833ced20abed0aa6c7024221b73d53610575c6d91a262a5e834abb63cf74207437b31b1e989ecd7416b2c4e7bf807b5f8973006877e204a42774c93a1b394e885cf727b7fd286def2b4c8d5684460219c31b1b225aa08ac2ee1da3922e935e981b3b5e2c3d044a784bc965a580d3052ac48000ef6183b94b0a870e65207ba8029c0bd34a10443e5706792207fe2224da533d307c3e3077e6e1cbad064b0399abc6f445b651864f18b42e1a518fea187bdd08072e47588527c3b9a5eb244ae9e910f93c92b69faa7250bcf38e68e9c3a2b2b733b18032f37673907097a4cd65a9b396db4859312d59113e07b39746c52126ea697a69929b1b625b5ae1b809ce9a811d13cca70971ae8bd6ad223206691af6897f136cb451699e0a19739d52d60cc89dfd654a320a79b2c7cd55116843239d6847b8bdc1efa29cdc0a979f0e3a8f225a16fcb7996fc8ca3e79fab55b93dc2a395117426a17af4d404151814cec80e856b777eb35085f1ad14285078803c2d76ac1d25c3f8609aeeec4adbcb64136516a2077cff4c13748c5d1fe6386782688d944e0027a2f8c9af77b79352ea5523767cbde4577877af1f8017e4db244e833e99dabd0fc70824bc3c50a38275040446a5c74406873ba0b5bfc2570a406570b424727379e5c1c39ec194a29a8aa249844bea2a078c1c0f25a400d6bada80731a00b87bb5a19325b4e79b78af0bbb2c52c3db38ae552ca972c3927291145438115a952bf2a85e78f6141e1cae8516b056e614b7015017e71d54268ab9919b7eba09d196768d99651d60a334fc443c8ccd9064a420263a68531f0e86cdc48776a3d44b4726916273a0d3002de095526257bc5e6246dcc10814d1907885207a53241a184ab7e40d87148a336a33262a4bb0826b417abcdf957f68737adee682194115348ac58814661765bb321254a874c4a3c6745cf984528c2b9726ac35441015233219e169d0ea761425c06513720881b330185b48bc271b275dc024419d8761eb23801eb704f6326f162656713acc2915a1a6f877a583c8372cc391ebcf2cb22873c5bd22c58c80640cce759b2c09b368ab4ab504c613493479b7725a18811837213f9237734577af09c4be0b3fe07ab78b712b0683060be76920cc5fc56993e56c7b46a543ad675b2d13357c008911320e0d292268768b8370c66ce757af191bb703cb5732113acb8f02618eac98693224abccea04e7b3157c03b27a3cc4f0b880dc4877ac35077c1c2d5584b971261d2c4bb767c75907827ad7370f4074721445e155a3a1624cb4aca373de6947f148ca7e2b3c93605e706eddd992 -sk = de4627135b3976b8ac07c0059bb28d09e98e3428228c1786c2e8a1d6029d93cb9eed217d09b03e9a7561af7441e4271c7b6c8c862c5a93e955a05a87b01a63d9e8a334b26e1fc0346051bf31d078860a9afe939f4a90c2a395b2b6c205475164e36a0c2930cd26e26420470b0d068e36971a978b17be984a418a3cc5c6b62ab00d6dca5657f71e08b215edfb88a5b6751eaa525dea4b0bd41430388e0cfb445da3347eaa375b86858f19c81b73a4bf88c2f807638d808f78535b9fc6c6bc0c1402e16f0b784f9a22a30e5c6c1932c2063bc558a7b2636c76d5c0cb77e6c5518b3b31d920a23b2bfff3ab93fb03b3386f670b07655989c5185d5d393631e9acee701dad333379a63efbcc636bf2b4fa05b84a375559079c5909651e481da96b01a771befc7bc407db7d9f94b819a468d443a7aa8c9b4741266875268602336c1b1160a4ce5d41c57fb915335c87a72a7345316373d921a6d0ca09606154199c4f06c244a7c568bc5d82449149f92ad3350b51d3c474e77a3a1053160570c876132434aedd92c8961b95588910102c62ae1a75479175cdd666ab85478ebb6133920e9154441f1383b0f147137614dadc823f1848fa478b1f301d3f745c647c216c741dfd3b3195483f24f1a5313cb458273ffeb559689004cd534ec1369b0c68a873651f7413037118c6f98c538dab9c1ec649ff2301a03a650cc0c138e79d15f9079a639737e840a7dc720b173bb329a34cf65418495e4df2805a491a4c96b47d452725850ca8eb3944399f9d14157fa46b76f0891525461113766dc025ee1c2e735198c3db253a2b8a566cacb81b65a1c9473c6c6da9743d780685cf83cebb441cdfdc9fba20a9ce2943759c4d08c57a0e74bb0e1888e94723169437aec19aec1a2a46c81ae4645de32bb18f3527f4dcb8221a0f7be74f3f5a8cab0609be216465819fb858232b008a855c9e6b54439a67aaffd9701967bc46a274d1d6ac1d45cee7c54cf49669e89a44ffd7b73b2a12327a85bf5938e6975b949c03ef3a1d824ccde033cb175a3356c8a998e4c69d94630a896606fc1979dcb5c172a54eea2e99d5ae331bc64d708fae45c514a2544843ca59c3c122947bc3660da7357ac0e33f55485e79eb3117d14c42ec5c56653e0dd1a4e8205fe571823098ad8d9844a25b92238063a92040c500cc0bc2b25b493e4cf69de95c87b03b773a796d13f42014847727345888eb06d9251aede24d03e292cb452a3a38a0a461c8b4f9cd9f87b09bc0ca98e62e5027595c24792f818865777a346004fe3b5b587452648263aaf688154526d591acadb74520f3627d7395ec7b71dc3c6e8414985d591a05c88b6455870c48b12c576d7b328b88795295c051ca6293b0fb4dc61ab8ad34cfb114a4c7e44ab4667d4b1948c83c28baa424b19370afe997d8b08e447a2eff376024f5ca54dc8ec0972b96f057acf5a6b0d32869fab3e1797ee2571b1620a076082c4ba6799c27b07fb073092a7a2f7aa110635cb94900e487a6664b318f54956039c57ce509ede489faabac96cb11f58c87708a8ed3408a526701bfb8507d67415fe64e7d41081ac12c21f3092af02810c604f02c4064e348b4f98f6be65d87650eb147b4694b12c461130f3126f8f71673e4643b2147ded2a7270ab360f6303dc05b03a314bb776c488318686069c3a4c91cc62435e829a6a8621ef5cf838311a4278d7f453ea5484d32f94c2e9628f5532ff93771dae106c8ac9cc80ad07d306b1da78463a08226657680e5acaba6819543cd96194aa5973d4f7b8682b13a07e7a5194c91ec95a2d671a2627710a4c78aa107b3707942d0c78f3eb2b3a58b7833fcb0fd7785e349a2f0027aff079b62a68e3f425122f7bc0a0b4c053a6696f90a67088f139b2a39f542d6439091e4c1a0824734d8b6e5e6483f48ca738c39a5bc2016c0746cfa9c1889297f5377d614acff2833ced20abed0aa6c7024221b73d53610575c6d91a262a5e834abb63cf74207437b31b1e989ecd7416b2c4e7bf807b5f8973006877e204a42774c93a1b394e885cf727b7fd286def2b4c8d5684460219c31b1b225aa08ac2ee1da3922e935e981b3b5e2c3d044a784bc965a580d3052ac48000ef6183b94b0a870e65207ba8029c0bd34a10443e5706792207fe2224da533d307c3e3077e6e1cbad064b0399abc6f445b651864f18b42e1a518fea187bdd08072e47588527c3b9a5eb244ae9e910f93c92b69faa7250bcf38e68e9c3a2b2b733b18032f37673907097a4cd65a9b396db4859312d59113e07b39746c52126ea697a69929b1b625b5ae1b809ce9a811d13cca70971ae8bd6ad223206691af6897f136cb451699e0a19739d52d60cc89dfd654a320a79b2c7cd55116843239d6847b8bdc1efa29cdc0a979f0e3a8f225a16fcb7996fc8ca3e79fab55b93dc2a395117426a17af4d404151814cec80e856b777eb35085f1ad14285078803c2d76ac1d25c3f8609aeeec4adbcb64136516a2077cff4c13748c5d1fe6386782688d944e0027a2f8c9af77b79352ea5523767cbde4577877af1f8017e4db244e833e99dabd0fc70824bc3c50a38275040446a5c74406873ba0b5bfc2570a406570b424727379e5c1c39ec194a29a8aa249844bea2a078c1c0f25a400d6bada80731a00b87bb5a19325b4e79b78af0bbb2c52c3db38ae552ca972c3927291145438115a952bf2a85e78f6141e1cae8516b056e614b7015017e71d54268ab9919b7eba09d196768d99651d60a334fc443c8ccd9064a420263a68531f0e86cdc48776a3d44b4726916273a0d3002de095526257bc5e6246dcc10814d1907885207a53241a184ab7e40d87148a336a33262a4bb0826b417abcdf957f68737adee682194115348ac58814661765bb321254a874c4a3c6745cf984528c2b9726ac35441015233219e169d0ea761425c06513720881b330185b48bc271b275dc024419d8761eb23801eb704f6326f162656713acc2915a1a6f877a583c8372cc391ebcf2cb22873c5bd22c58c80640cce759b2c09b368ab4ab504c613493479b7725a18811837213f9237734577af09c4be0b3fe07ab78b712b0683060be76920cc5fc56993e56c7b46a543ad675b2d13357c008911320e0d292268768b8370c66ce757af191bb703cb5732113acb8f02618eac98693224abccea04e7b3157c03b27a3cc4f0b880dc4877ac35077c1c2d5584b971261d2c4bb767c75907827ad7370f4074721445e155a3a1624cb4aca373de6947f148ca7e2b3c93605e706eddd992de62eff56f6b49a156d065d85eaf0aa21ca229a20fa4e1372a410ab1c4ab6e7eb28f7e7a15a005f92400ce33db073d49b53871594a88fc45e0f94207b5f0f2dc -m = ea22a76065db4b565ee1807fbd813b43bde72b0e08407fb867c6a18995025e50 -ct = c543d4032d1e98d70ee56b5b7aa1aa456f157f9405ce77eba7f9c61c8d4634834b2a3dd128ed8022d30d6300ec237aa27b302302932082d9974b04da94edb0288eb04855e224669ceb3814cb91854f47fa0bfdfd376b0620deb5a230c1705555c8d45bfd2751f57e2cf296276ae1a4078dfc4a98ddd7e5cb419b0f0ae1c3cec1ff4ff1de6d316cef569d428c89b9c08eecf992b80cc2c4e5432c1dbc505e3a361f8570e71104591049f72b2c9b17869db01f14ab30630726a7ad7b6aabe63270b81c033fff7bdee9e4189fb9d53bc910dfb3fb5773b8eeb63fd38b32de2ad0ebb24fd3c7e0af6be8970602a270107c0b227a3d35677694cda2128df7ef7ba60e5f3d5255c04b817b3b01316d6b6e3d1159693fc7b27c3d5bc8ecb1c82403c7b736cc0844089da19d5945faac08b074605d14b7b3a51ddc7ed207d84820465e44aff42e9c5871e0fbd1dc147c79868d65911e5966d3480ecf644befe22a120c8d069e867d3132f44ae3482a1ea00a1ee14a5240c8412e0e07637bb2859a9c6a6f5b5ce2d7c810b9281a949992ff7a6cd4a7e3474625013e86f6f2713932d2c33c5d65ae15f26e7e45a5a24b9205574282900580338a26d07a2066c050fc5c44972acd5dc2c2a0fd1d8634b34a4d839b5809d3ab4c14800722db9f8a94d0239af0a5c756aa815b1f733999c6f2dbf7e144bf2e2b8c6999394817a1875f4ec794680a4c509046ffc64c4d84d8606a19ea5ec8cdbee7f5199037a8bbbf9f69bc4159a505b68bda0e450695977a586d9917e843098e3c7f97a80df5d092172e89364b1edc37e8a1738e21fff20170b157775b4f8f6b9ddd5d0202e735fcd380649c0f0ea7e7c708aca92a3da4ab0727907646c78203c81b9816ecfbe1d2b00c85abfe0ee7bf92b9f9381ef3684400f5ed6625599d472d859d9a21060cca7d37174945048ec244550eeabd26747f8d2f6c2d0293ffcd68046e5a83e651d65357cf82cf59a6183158f11c114934dc98e9e74cd9ab8cfb4c0811de80b44ed75e37d1459b614801a548410909e2b9763ac2cdbc1b31f11c5da7025e909c76465a1bd2e7f0813ffb2e75bfbcbc79b92f0f5220103f2ae62d957b9d69787491a556f45ccfbb7ccb005d5106817eb97adbe2b83180d242190a54b88ba1fed0fa8b5be2b264b1d9541a28dc321f0f3dae9ee41723840ec7b703f41b6635afa3e683b42364d69f5c5add12b20f60f5b3d1e19ffeaa3a98f4d61b3bf1f5feb947dc586e5d13805c710ec734cd680eb89ffd9cbc1db5ab3b2e01db928c7aeaf6f91ec3ae0b48c3e133ce87b6561175c65f9a1417d048f8e9636f5751c62dcfd7ee7bee93fc5cef56e0d005ad82cbe3b93bf7e07df37a8958fd74113f6765ba3614d89df1a27c49998c88b65a2087118264fb5851581393100edff4a3fa54e807b042e62981866ecfe07d4c1e5de3d49283e18e306074a332ed1e090da35912dde3c10416ff0a5e056c0f3ba4734668404e02ee2476c3400a51d7d9eecb09074f23cac5ff87603bb4 -ss = 35151c059e5220d4abab9380fb0ebfa061148e6096d8f5678e4308cba0226261 +sk = de4627135b3976b8ac07c0059bb28d09e98e3428228c1786c2e8a1d6029d93cb9eed217d09b03e9a7561af7441e4271c7b6c8c862c5a93e955a05a87b01a63d9e8a334b26e1fc0346051bf31d078860a9afe939f4a90c2a395b2b6c205475164e36a0c2930cd26e26420470b0d068e36971a978b17be984a418a3cc5c6b62ab00d6dca5657f71e08b215edfb88a5b6751eaa525dea4b0bd41430388e0cfb445da3347eaa375b86858f19c81b73a4bf88c2f807638d808f78535b9fc6c6bc0c1402e16f0b784f9a22a30e5c6c1932c2063bc558a7b2636c76d5c0cb77e6c5518b3b31d920a23b2bfff3ab93fb03b3386f670b07655989c5185d5d393631e9acee701dad333379a63efbcc636bf2b4fa05b84a375559079c5909651e481da96b01a771befc7bc407db7d9f94b819a468d443a7aa8c9b4741266875268602336c1b1160a4ce5d41c57fb915335c87a72a7345316373d921a6d0ca09606154199c4f06c244a7c568bc5d82449149f92ad3350b51d3c474e77a3a1053160570c876132434aedd92c8961b95588910102c62ae1a75479175cdd666ab85478ebb6133920e9154441f1383b0f147137614dadc823f1848fa478b1f301d3f745c647c216c741dfd3b3195483f24f1a5313cb458273ffeb559689004cd534ec1369b0c68a873651f7413037118c6f98c538dab9c1ec649ff2301a03a650cc0c138e79d15f9079a639737e840a7dc720b173bb329a34cf65418495e4df2805a491a4c96b47d452725850ca8eb3944399f9d14157fa46b76f0891525461113766dc025ee1c2e735198c3db253a2b8a566cacb81b65a1c9473c6c6da9743d780685cf83cebb441cdfdc9fba20a9ce2943759c4d08c57a0e74bb0e1888e94723169437aec19aec1a2a46c81ae4645de32bb18f3527f4dcb8221a0f7be74f3f5a8cab0609be216465819fb858232b008a855c9e6b54439a67aaffd9701967bc46a274d1d6ac1d45cee7c54cf49669e89a44ffd7b73b2a12327a85bf5938e6975b949c03ef3a1d824ccde033cb175a3356c8a998e4c69d94630a896606fc1979dcb5c172a54eea2e99d5ae331bc64d708fae45c514a2544843ca59c3c122947bc3660da7357ac0e33f55485e79eb3117d14c42ec5c56653e0dd1a4e8205fe571823098ad8d9844a25b92238063a92040c500cc0bc2b25b493e4cf69de95c87b03b773a796d13f42014847727345888eb06d9251aede24d03e292cb452a3a38a0a461c8b4f9cd9f87b09bc0ca98e62e5027595c24792f818865777a346004fe3b5b587452648263aaf688154526d591acadb74520f3627d7395ec7b71dc3c6e8414985d591a05c88b6455870c48b12c576d7b328b88795295c051ca6293b0fb4dc61ab8ad34cfb114a4c7e44ab4667d4b1948c83c28baa424b19370afe997d8b08e447a2eff376024f5ca54dc8ec0972b96f057acf5a6b0d32869fab3e1797ee2571b1620a076082c4ba6799c27b07fb073092a7a2f7aa110635cb94900e487a6664b318f54956039c57ce509ede489faabac96cb11f58c87708a8ed3408a526701bfb8507d67415fe64e7d41081ac12c21f3092af02810c604f02c4064e348b4f98f6be65d87650eb147b4694b12c461130f3126f8f71673e4643b2147ded2a7270ab360f6303dc05b03a314bb776c488318686069c3a4c91cc62435e829a6a8621ef5cf838311a4278d7f453ea5484d32f94c2e9628f5532ff93771dae106c8ac9cc80ad07d306b1da78463a08226657680e5acaba6819543cd96194aa5973d4f7b8682b13a07e7a5194c91ec95a2d671a2627710a4c78aa107b3707942d0c78f3eb2b3a58b7833fcb0fd7785e349a2f0027aff079b62a68e3f425122f7bc0a0b4c053a6696f90a67088f139b2a39f542d6439091e4c1a0824734d8b6e5e6483f48ca738c39a5bc2016c0746cfa9c1889297f5377d614acff2833ced20abed0aa6c7024221b73d53610575c6d91a262a5e834abb63cf74207437b31b1e989ecd7416b2c4e7bf807b5f8973006877e204a42774c93a1b394e885cf727b7fd286def2b4c8d5684460219c31b1b225aa08ac2ee1da3922e935e981b3b5e2c3d044a784bc965a580d3052ac48000ef6183b94b0a870e65207ba8029c0bd34a10443e5706792207fe2224da533d307c3e3077e6e1cbad064b0399abc6f445b651864f18b42e1a518fea187bdd08072e47588527c3b9a5eb244ae9e910f93c92b69faa7250bcf38e68e9c3a2b2b733b18032f37673907097a4cd65a9b396db4859312d59113e07b39746c52126ea697a69929b1b625b5ae1b809ce9a811d13cca70971ae8bd6ad223206691af6897f136cb451699e0a19739d52d60cc89dfd654a320a79b2c7cd55116843239d6847b8bdc1efa29cdc0a979f0e3a8f225a16fcb7996fc8ca3e79fab55b93dc2a395117426a17af4d404151814cec80e856b777eb35085f1ad14285078803c2d76ac1d25c3f8609aeeec4adbcb64136516a2077cff4c13748c5d1fe6386782688d944e0027a2f8c9af77b79352ea5523767cbde4577877af1f8017e4db244e833e99dabd0fc70824bc3c50a38275040446a5c74406873ba0b5bfc2570a406570b424727379e5c1c39ec194a29a8aa249844bea2a078c1c0f25a400d6bada80731a00b87bb5a19325b4e79b78af0bbb2c52c3db38ae552ca972c3927291145438115a952bf2a85e78f6141e1cae8516b056e614b7015017e71d54268ab9919b7eba09d196768d99651d60a334fc443c8ccd9064a420263a68531f0e86cdc48776a3d44b4726916273a0d3002de095526257bc5e6246dcc10814d1907885207a53241a184ab7e40d87148a336a33262a4bb0826b417abcdf957f68737adee682194115348ac58814661765bb321254a874c4a3c6745cf984528c2b9726ac35441015233219e169d0ea761425c06513720881b330185b48bc271b275dc024419d8761eb23801eb704f6326f162656713acc2915a1a6f877a583c8372cc391ebcf2cb22873c5bd22c58c80640cce759b2c09b368ab4ab504c613493479b7725a18811837213f9237734577af09c4be0b3fe07ab78b712b0683060be76920cc5fc56993e56c7b46a543ad675b2d13357c008911320e0d292268768b8370c66ce757af191bb703cb5732113acb8f02618eac98693224abccea04e7b3157c03b27a3cc4f0b880dc4877ac35077c1c2d5584b971261d2c4bb767c75907827ad7370f4074721445e155a3a1624cb4aca373de6947f148ca7e2b3c93605e706eddd992de62eff56f6b49a156d065d85eaf0aa21ca229a20fa4e1372a410ab1c4ab6e7ea33923382f8863478882483037fb1282ff917eb6658a7154c6ad64b5858c629e +m = 4c25311d7b2fa56a45f4ec1cb4591c627b52eed4d2409ec70ebe855d988893d8 +ct = e231dfd7be900c8d18afc20537a468230863003df833e55c81184c27ea20f89badd14c52784133db41109466bed2adc8dc6e701f86537a43e8b541b7ba546a559d734c09a3915f7311edf10f2a569ada193c2072da737095a44dcbad6eb319a948359d5f4fe93c1bb44a7d80ceb452e207e3a441f95f214df8610b6523bb73d1ffe3302277c42a30ca78b4c37027c65c55a0b124307d33d864e47967a442f37080ee9d647bf7fa5dc1d92ab65281c685ae192646b563e146b5f678f49aae0b7a60b886f6a2ac65bec28785c7745fe0f67c5682c495a188bbc5031bfb0f3668fd5dce4923c0a58892360de2ea64172b53534f5a629c4e5921f81192271a14581b366f7da805dd91835dcad6eb32922802baaf1ce06f559dc34846643c3d83e689d3d7246ed71d66d19df7194f7474c01c0abac4ba9b10729fc37e7b70273fc526189f137a29b89d1b2cb84c1d61c422dd698c1ed83574ddd96752cbabfcdcb895e50075b8c317bbc82b97258f4fc72a1e9dbef6f9081bbf60791b4db0b325578f37ae5c31cbbd877a424f10a5089b2733dd86004c9fb6951275f70067d90446f233f3e25287144061284c014bae9ca75face7a82a135b7db79ec7ea056aa9de446badda0eb5c71a76df8d29721ed3018e0f4f91dad2aa3d35a2ca81af33e62e70669224c1e901332e4485a173e0558ecd465b3cff1f7319328419eb4073aa24ac24e5a10ff8d65d147723f8e0b874df4da29eca25bf596c51134be2ac05da941bd2722adf7c10fa3f8ee41b77d80f3c360f2a2fddf3ad921ef1be9948737215e2186da36e1be9419c6c955263a056a352059542fd9105232e87af7568cea110a5cd572f696ecc9a47f40270085f8778b4da3c655ebb6b17f1eebad0690d09a7a03f32427deca42f6c0670df835b61973b3290a193dbba97ad4b139d21c1044d120767dd75a070bcefcf3aad51e300b952a3181c580fdfe3922c1a69654a240fded658a4ade07772c3d881564c7de2b79e84cfbe69a4755411b0370d98de514e0fb39ce53b82cf6b9a5b8e26e5262d59008183557c4ee55e6b924dd5ae9ccc7f38e99bd6f28e1e1f9405e9d928f1dd5671d1da869201855a5702f34e2157134c6fc3a46a8acaef0a58e4758c4447bad6a98a998cca266e9d800da180cc1e8a979792f2d9b8aa3599f2318d2dae1990ccd65526bdc73b54b6827247e7c659ba87190600c3580a21a9510ff5598943345c50adb289c514f780c5b34740341e92497dbdf2d8b708b38f359d66fbdd6373292daeebddb86b78f10f55328fdef5cfdfb6f768396ee00d93c340b5aebd7efaf5b980037d3bb14c5860108bb727dd4e9dc49cc2cc7e826e73dc3e1fd3591316e368f4cc33a5072a4fcb106558daacf814193d726cd0bff0dbd59010051b4d1946d36974cfbb38c09ffdba51bb353d599e6d39f0bd34c3cce0efacb0be588ffa42970b66183184251aa37fd4ac5c2110e0ba2e7d808fce0923fe5f0f48bf6095b7bf52667ed5927439589b77019c0b74440b +ss = e1eb308a3ace733dfa73700195b5beb0bcf96739328df7301bfabe07fe1239a3 d = 3e809ec8dd0fec0d911a4e3fac20f70fbb128c5de94dc7184ca7310ae9157a98 -z = d8128601c28b1def8d393a0db283229f7c7383152a814e7cefe8ef9d9768c473 +z = 7b2daf2ea1f1011c4bd04208e9e90b9c2bbe2d8b96a1565cd1163966f5337e4a pk = c0c8122855031d7bb0ca735042bb43b8ec6ee13061046acab9b873b13519c22678ace2b59f92aa4e8269844b1de5e3426d66c0451a8d78cc07e719033a536c2bf4c7397c64c6478be5f42a06413b8b44111ad9742b8b020711446d63cdd64490c0917557b884eb429b05dbc0df7acec032adbba55d3e104f7bf391cba28b903a07712a8da3a1a92f5682cd650a628573844032a307704fe77af738696e974181a85c5ca1c14f7546f8713701115883480be2cc686625a37b62292367b5e1546f4189592639cda4cc20974c6a87c0377d15b8ec5c84b70233b64800b79c62e536553b43263532c6bc2b726970cc58bb20f0c0bd35b317d9b66b327bbeb5175d9611985ad799ebb19ad0587aeb856c288464d983256649827de9af0fc79afa1aa5817c06d3447a25ab3eb8248167ba60a4462ed47c007107b1eecb630ac4707b837f24d26da46bcda77c4b6ed5b4118b79294744788b9a9c21b168565d9398b41edb91517493f5fb48ae5cc04fb95bb13a8fcdb8615262408ae25c2985189ba8ab99643624b70557a984011474586c357f1c7551f0bb069336fe85bb903040f48c4a111113507055f2716d37ea6a6ffa48f40584914c4738397430d65756f298aad345671077da8a4173728364a493bdca944b1879b114166cc3b8293937221257c2e78f8f1c7794eccbf0368ce34921a2ebb01e32a92255a676e77c39564b575aa5d1f9c7d1388226d636f4f12c5636b2e2f712c59ca583a811bdfa56448c013cc820f21a36c3351aec3c2c6f01243ff47bf17181ecac752108c43a97729c6b9472270fcef5a7c08665f7aa9faa55b152163e8446c1bee5082192b5eceab269ec13e7879da3768bbedc0a104c5e9496c63e9507881a4c8e758211076653f369e58b59bd7cae5b9a64772c2a84329e43f492fecabbb56514cbe70970f361e6d3c6595065f6cc668c64bae7d587fa8bbad129136d5c9b6f757a51e653d2754aa0e35307845a55b80086d5a0e86302d306b9ee1550419b495d424f701a098220897fc47333d5a1e994c8584a00d79804e4989a1cf02dcf9a0ac2ac52be1090bb149778235ff6091075a5360ce095cb705c81e3be126984f51aa471f90ff98c21d3989fd936502a8a2b38c4a2320a618df751c7099d1063495a6a5936c744a094cc1ff1b04ba8b56b0464e852bbe06176034cbf5239cd2c687facc2cd37329adbec3a77b4842aec40be902e8af72fa5805345668408cc7b6073097391921e765e4d76025fd5c78e246da268a4db21446f2cc3273861d2081daacc2cc775631927b709dc1fa8993b1e92619590c08940342219682af351495b2e0aac74786c897fab196abb609e216997c2c7b283bfefca4b1f2b1b6e98991bb32424321ab7d61e4d13c44dc93295a75f6145bf2d4b8f1a03109bd7038ef4b16fc15f44ca6ea3411b68400eb20c46c11cbb98201d705a6cf4f4b792aaae80d97a6ab830576aa651142793fa7da0b8bedd877217d54897375ec285849a79268babace85176842c601ef8c740a21c2c5321436a21cb968ecb5410e811912cb0962f713322021516535907914b86e9411d27cf164b580528768ad37b57300dc201557bb0a142d9416ed7afef52d284175dec18f24979ef5ba8eddf7caa3880aec7b42a147e75f0dd62b3d0 -sk = 84d7070ee80107976bfd1b0db6cc33f3c98178817d8460b63dc012311638aa43b253a705bc994931bab38a62c5d1dba793b8437bd600a8725d36aa898e353d6b955b80f8578f855bcee194ce2c6e4c6179ade8176e34578fb24b6d60c395b674a7a8a4c72550f83a09d24582f94125690428a4e76972b77a53e852ff3718a440b67d6521ca699e5a8c434dc47a38032129bb76bcb4c810028938fc94f1741a1fb26ec95252e259b8f9176bbad8763cb63da6f295b460cde1479be8d6b9e3c49ab77845c21c8f3f88741759461e339f76376ab81b4f07e7bf0db861a4ac5b24e09d4144ac900b43cec07f1dd2cc4f7c976eb0baa4d8637bcaa70946391109981e978ca023313b200092d26ccc823ebbaa85b8ba1680636d0be656f01769555b058af7825fa00d10a38b0a2b127a773cab406c1d4310a0882889759f20b44aecf68dd24416d9491cb523a1afb1a1ed87b28e5589f4059132603e228b185d426f49031af8fa21b11cb0f37c4557f94b2f158340921f95091128c5616f54105d47253f150ff335081d231f5b308a526b9506b03e0b5c6a88394f0c9c6e7c2b475c7508a3a8b1e0d571d1c364784cc8a7ca7ae6c2b24366a0d2865658d42a8495b24a16c9a9d8b1ea77332a1058dc292ec02c4723fa7204e93eefc24f10c4877425975cbb6142026a2aa649fc6c77e8c72dd3e5b0d9e9495a02c251b12b7ab51f6a9853bfd151a4873cab4102db62676496a8b38c8038e4c6d988880a6b2774875a5fe69693d9726af64a51d77a03e523bad8b2a6dbcea137a051d19e81059d07437e38db7891956c5b2c8abe282b5a02a5530c56a7b4b46daab256588b04344365313a3ad94a2d7aca4ba7072cb9259e2676a5c86215b24faa159bc18bce05451c69d2699a056ed3f6a7f2bc7676f11bb06cb72dc53d7ea6bafee89797b57445f3ae11262543a2882b863cdb455d5ea03eba56946dc61d798a76bdbc4ca7f2a102c518224a2091211ec4d251ccfb08aa2598065a79b8b61a56e925031a579ac5bdeef1a6e0b1381fe180db008f19e775e030052a624b91d1550fe5365260150ccaaf228acb8fe471d2c8b4b27bb57d62ae9ad9ce15a0b72ed98b8a619cfdd3a17ada37cc455d77640ea327088e9c33d4281b65dc9a27c68d27088b1f2a5fc586bb0993753e62a67bc3886048274ac267a95b42aaac3e60c2699321a79301acd350b92899a2c0ccc4703b243660a39c5901e3b6bb146c588dd3431c4a5bead8aa29e04f8fdc0d04783751707cc25ac359952abe7384f839b42d9c9982dc66a21c7fb5cb7316748423e25005d389bcd56fc498080f88cd75ec974ca9ce9f2ba995b50eca85cf09612fcbdc492ccc6d0662a59f8cc0ff3355f17424abb6c774a377b81c12b9982f60777926ba0b860123434cae8f926e902a5e633019e3c62087a1bdddf2186768baf91656d903c4f1ca88163b8dca041823bb6ee525583816cdfafccbcfe63dcae0b93c46a14fb72114194cd084c208921925e7c55ec807ee6c0a8ddb71c4ab3bd5836b7fa160009dabd1e5498d005718548324b0339ec71ac4a75c81f522dfd92b64e3676b337758490e068c3cc747bc004da30cecab9c542ffce826c0c8122855031d7bb0ca735042bb43b8ec6ee13061046acab9b873b13519c22678ace2b59f92aa4e8269844b1de5e3426d66c0451a8d78cc07e719033a536c2bf4c7397c64c6478be5f42a06413b8b44111ad9742b8b020711446d63cdd64490c0917557b884eb429b05dbc0df7acec032adbba55d3e104f7bf391cba28b903a07712a8da3a1a92f5682cd650a628573844032a307704fe77af738696e974181a85c5ca1c14f7546f8713701115883480be2cc686625a37b62292367b5e1546f4189592639cda4cc20974c6a87c0377d15b8ec5c84b70233b64800b79c62e536553b43263532c6bc2b726970cc58bb20f0c0bd35b317d9b66b327bbeb5175d9611985ad799ebb19ad0587aeb856c288464d983256649827de9af0fc79afa1aa5817c06d3447a25ab3eb8248167ba60a4462ed47c007107b1eecb630ac4707b837f24d26da46bcda77c4b6ed5b4118b79294744788b9a9c21b168565d9398b41edb91517493f5fb48ae5cc04fb95bb13a8fcdb8615262408ae25c2985189ba8ab99643624b70557a984011474586c357f1c7551f0bb069336fe85bb903040f48c4a111113507055f2716d37ea6a6ffa48f40584914c4738397430d65756f298aad345671077da8a4173728364a493bdca944b1879b114166cc3b8293937221257c2e78f8f1c7794eccbf0368ce34921a2ebb01e32a92255a676e77c39564b575aa5d1f9c7d1388226d636f4f12c5636b2e2f712c59ca583a811bdfa56448c013cc820f21a36c3351aec3c2c6f01243ff47bf17181ecac752108c43a97729c6b9472270fcef5a7c08665f7aa9faa55b152163e8446c1bee5082192b5eceab269ec13e7879da3768bbedc0a104c5e9496c63e9507881a4c8e758211076653f369e58b59bd7cae5b9a64772c2a84329e43f492fecabbb56514cbe70970f361e6d3c6595065f6cc668c64bae7d587fa8bbad129136d5c9b6f757a51e653d2754aa0e35307845a55b80086d5a0e86302d306b9ee1550419b495d424f701a098220897fc47333d5a1e994c8584a00d79804e4989a1cf02dcf9a0ac2ac52be1090bb149778235ff6091075a5360ce095cb705c81e3be126984f51aa471f90ff98c21d3989fd936502a8a2b38c4a2320a618df751c7099d1063495a6a5936c744a094cc1ff1b04ba8b56b0464e852bbe06176034cbf5239cd2c687facc2cd37329adbec3a77b4842aec40be902e8af72fa5805345668408cc7b6073097391921e765e4d76025fd5c78e246da268a4db21446f2cc3273861d2081daacc2cc775631927b709dc1fa8993b1e92619590c08940342219682af351495b2e0aac74786c897fab196abb609e216997c2c7b283bfefca4b1f2b1b6e98991bb32424321ab7d61e4d13c44dc93295a75f6145bf2d4b8f1a03109bd7038ef4b16fc15f44ca6ea3411b68400eb20c46c11cbb98201d705a6cf4f4b792aaae80d97a6ab830576aa651142793fa7da0b8bedd877217d54897375ec285849a79268babace85176842c601ef8c740a21c2c5321436a21cb968ecb5410e811912cb0962f713322021516535907914b86e9411d27cf164b580528768ad37b57300dc201557bb0a142d9416ed7afef52d284175dec18f24979ef5ba8eddf7caa3880aec7b42a147e75f0dd62b3d066f161d27dc34e1a2f4b98b14a2b221d7eae26a593bfe432487d9994cb480656d8128601c28b1def8d393a0db283229f7c7383152a814e7cefe8ef9d9768c473 -m = e9602b34fe73ad57f4bf6ead99743d645641553a5b9b9bf2e7016629e3e9bd76 -ct = da35df2985bcd9a10982f3a0a88af1ee00f083e6a7cf8c64d49e72ad03269eed600e6feedbb202cc5fbb12d0f35020b77fdca235243a2252c82ea4e1d6120262a8ce8a668087d8ad506212240371e5bbe49cf86fcf157e7e284877bba3fddd12d2b0bd809c0c29202f07914683f5a248eb748fbfe64c8186cf4b14acf2f5de8755e35fa7ab5ce21221576eb118d2d2f9cf5aa0c1d5f8e6ecfbbc5b58d58b6ec340d703685933136b0544016f4974fa814b4ae34688e8fedf457fd28daf52784efa7667041d272275264542b3e04279fe41b74f463e1d77918a5a4d6e1735771cba792f7b9b014113a96e7a37d318e5a0137770a8f8535d8e54ab1e1cc4f879dc0fc5ebabe4711d940fac307da1d1152eadd5bb2883d47f4004eeb4aaca12991caf663986b4d02cff065c653b6689fb17f219808b5338319a357d4cdf9d293dc4c4391e88c481b1f7954bc875d6b0959ab89e540291968346632ff24d722a8afe0e085abfcd28be0524578a97dde657eb9b448dba91ad1cb58f86fe7626148eaa1962061819821f95d221e7469fddeee982b47f3db8e1b330f84de756673edcbc484c645199d92f637173e853e02a805d3e2d9e311e5adc58e762e8f8d5b64a4ce0ebac2bb9cc7d738c018fe43fafde7c8a1174c2a81c1737901db8b1f230eecd6fc269ec01396e6893f23bca652a1a6e3c501fcf016e4592aa5419149beaf877b8ddbd2b5f9073d5bf532cd1c65161026e0d0ce1969b3b0f208fe23611f8052d54d35ed967e327613b6eef23a473efb91d9d23a0b429593f68c61df78035642def971298b70820a43920fe8cf29bc3eebfeca730df4e9ba41bfdd3a00e494451f3f19498f3de4398ae829e5da0eaa288f9757e7dba0ce162dbed3b8d7fa9d22d5912b147bd8b88613bb9ed81a9ee73b8fabf3456537f8aad9b9565c8a638f96f05c9e83b8f147cf1fa829489352aa273172a577fe238a231edbffeb6953ab06d5ae7dc63f46b0340f78bf836eb2bd5dc4d72a31260188a888882ab30556eddc2283879e6481a31ec28a8f3ca1a8de59e1909b5a0b5a49e4f530e9a0fb285e970a8314f4ef7e8fee8826a84b062d6db950d3f15f6ed870678317ca86515485f5922f51b6921d5405f434ac153dbd18e153cdbccaf0938cebbe40aba7795726233ff439d09b03a47f4e9ee894188e5629f8121366222836e8e382c7babf7a7924991b7f810ba3fcbbf9b286929d67134b55be9452f54b844bb2d7c8aa76eb76b11c7062a69fd5f2c4a477bbb1826fd5062905b4e89403dbc582125da4149ad5891a79d6191c95ae2b3041c603f8dbd339fd855fdf7658974878f5369501c8e69c5a561cc2620140f01294e86b2cbebb393637b8580934c0dee84a765797beb43c730c758f83dea6c5f7be36ea53c70d33fa62c808ba9a81efe57f8ef9017fe1eb19cbfac3556bdcd2fd77e9b39cf7b033f88f43d974923c04dce51e215bd10667eb54cfc5acc416eb447e3fc2a4eb309439fcdd2ab4470f660630ba09604626c0c -ss = fa4c0c7c5bbb803acd4ae91e49cb8cc659a94490e8b786cabfd9b92e949fbb0b +sk = 84d7070ee80107976bfd1b0db6cc33f3c98178817d8460b63dc012311638aa43b253a705bc994931bab38a62c5d1dba793b8437bd600a8725d36aa898e353d6b955b80f8578f855bcee194ce2c6e4c6179ade8176e34578fb24b6d60c395b674a7a8a4c72550f83a09d24582f94125690428a4e76972b77a53e852ff3718a440b67d6521ca699e5a8c434dc47a38032129bb76bcb4c810028938fc94f1741a1fb26ec95252e259b8f9176bbad8763cb63da6f295b460cde1479be8d6b9e3c49ab77845c21c8f3f88741759461e339f76376ab81b4f07e7bf0db861a4ac5b24e09d4144ac900b43cec07f1dd2cc4f7c976eb0baa4d8637bcaa70946391109981e978ca023313b200092d26ccc823ebbaa85b8ba1680636d0be656f01769555b058af7825fa00d10a38b0a2b127a773cab406c1d4310a0882889759f20b44aecf68dd24416d9491cb523a1afb1a1ed87b28e5589f4059132603e228b185d426f49031af8fa21b11cb0f37c4557f94b2f158340921f95091128c5616f54105d47253f150ff335081d231f5b308a526b9506b03e0b5c6a88394f0c9c6e7c2b475c7508a3a8b1e0d571d1c364784cc8a7ca7ae6c2b24366a0d2865658d42a8495b24a16c9a9d8b1ea77332a1058dc292ec02c4723fa7204e93eefc24f10c4877425975cbb6142026a2aa649fc6c77e8c72dd3e5b0d9e9495a02c251b12b7ab51f6a9853bfd151a4873cab4102db62676496a8b38c8038e4c6d988880a6b2774875a5fe69693d9726af64a51d77a03e523bad8b2a6dbcea137a051d19e81059d07437e38db7891956c5b2c8abe282b5a02a5530c56a7b4b46daab256588b04344365313a3ad94a2d7aca4ba7072cb9259e2676a5c86215b24faa159bc18bce05451c69d2699a056ed3f6a7f2bc7676f11bb06cb72dc53d7ea6bafee89797b57445f3ae11262543a2882b863cdb455d5ea03eba56946dc61d798a76bdbc4ca7f2a102c518224a2091211ec4d251ccfb08aa2598065a79b8b61a56e925031a579ac5bdeef1a6e0b1381fe180db008f19e775e030052a624b91d1550fe5365260150ccaaf228acb8fe471d2c8b4b27bb57d62ae9ad9ce15a0b72ed98b8a619cfdd3a17ada37cc455d77640ea327088e9c33d4281b65dc9a27c68d27088b1f2a5fc586bb0993753e62a67bc3886048274ac267a95b42aaac3e60c2699321a79301acd350b92899a2c0ccc4703b243660a39c5901e3b6bb146c588dd3431c4a5bead8aa29e04f8fdc0d04783751707cc25ac359952abe7384f839b42d9c9982dc66a21c7fb5cb7316748423e25005d389bcd56fc498080f88cd75ec974ca9ce9f2ba995b50eca85cf09612fcbdc492ccc6d0662a59f8cc0ff3355f17424abb6c774a377b81c12b9982f60777926ba0b860123434cae8f926e902a5e633019e3c62087a1bdddf2186768baf91656d903c4f1ca88163b8dca041823bb6ee525583816cdfafccbcfe63dcae0b93c46a14fb72114194cd084c208921925e7c55ec807ee6c0a8ddb71c4ab3bd5836b7fa160009dabd1e5498d005718548324b0339ec71ac4a75c81f522dfd92b64e3676b337758490e068c3cc747bc004da30cecab9c542ffce826c0c8122855031d7bb0ca735042bb43b8ec6ee13061046acab9b873b13519c22678ace2b59f92aa4e8269844b1de5e3426d66c0451a8d78cc07e719033a536c2bf4c7397c64c6478be5f42a06413b8b44111ad9742b8b020711446d63cdd64490c0917557b884eb429b05dbc0df7acec032adbba55d3e104f7bf391cba28b903a07712a8da3a1a92f5682cd650a628573844032a307704fe77af738696e974181a85c5ca1c14f7546f8713701115883480be2cc686625a37b62292367b5e1546f4189592639cda4cc20974c6a87c0377d15b8ec5c84b70233b64800b79c62e536553b43263532c6bc2b726970cc58bb20f0c0bd35b317d9b66b327bbeb5175d9611985ad799ebb19ad0587aeb856c288464d983256649827de9af0fc79afa1aa5817c06d3447a25ab3eb8248167ba60a4462ed47c007107b1eecb630ac4707b837f24d26da46bcda77c4b6ed5b4118b79294744788b9a9c21b168565d9398b41edb91517493f5fb48ae5cc04fb95bb13a8fcdb8615262408ae25c2985189ba8ab99643624b70557a984011474586c357f1c7551f0bb069336fe85bb903040f48c4a111113507055f2716d37ea6a6ffa48f40584914c4738397430d65756f298aad345671077da8a4173728364a493bdca944b1879b114166cc3b8293937221257c2e78f8f1c7794eccbf0368ce34921a2ebb01e32a92255a676e77c39564b575aa5d1f9c7d1388226d636f4f12c5636b2e2f712c59ca583a811bdfa56448c013cc820f21a36c3351aec3c2c6f01243ff47bf17181ecac752108c43a97729c6b9472270fcef5a7c08665f7aa9faa55b152163e8446c1bee5082192b5eceab269ec13e7879da3768bbedc0a104c5e9496c63e9507881a4c8e758211076653f369e58b59bd7cae5b9a64772c2a84329e43f492fecabbb56514cbe70970f361e6d3c6595065f6cc668c64bae7d587fa8bbad129136d5c9b6f757a51e653d2754aa0e35307845a55b80086d5a0e86302d306b9ee1550419b495d424f701a098220897fc47333d5a1e994c8584a00d79804e4989a1cf02dcf9a0ac2ac52be1090bb149778235ff6091075a5360ce095cb705c81e3be126984f51aa471f90ff98c21d3989fd936502a8a2b38c4a2320a618df751c7099d1063495a6a5936c744a094cc1ff1b04ba8b56b0464e852bbe06176034cbf5239cd2c687facc2cd37329adbec3a77b4842aec40be902e8af72fa5805345668408cc7b6073097391921e765e4d76025fd5c78e246da268a4db21446f2cc3273861d2081daacc2cc775631927b709dc1fa8993b1e92619590c08940342219682af351495b2e0aac74786c897fab196abb609e216997c2c7b283bfefca4b1f2b1b6e98991bb32424321ab7d61e4d13c44dc93295a75f6145bf2d4b8f1a03109bd7038ef4b16fc15f44ca6ea3411b68400eb20c46c11cbb98201d705a6cf4f4b792aaae80d97a6ab830576aa651142793fa7da0b8bedd877217d54897375ec285849a79268babace85176842c601ef8c740a21c2c5321436a21cb968ecb5410e811912cb0962f713322021516535907914b86e9411d27cf164b580528768ad37b57300dc201557bb0a142d9416ed7afef52d284175dec18f24979ef5ba8eddf7caa3880aec7b42a147e75f0dd62b3d066f161d27dc34e1a2f4b98b14a2b221d7eae26a593bfe432487d9994cb4806567b2daf2ea1f1011c4bd04208e9e90b9c2bbe2d8b96a1565cd1163966f5337e4a +m = 37a2bfa95682bf678cbefc25bc48bf62fa950bbb7c0e7051cee508f9540fdbec +ct = 90fa8de0840a06d3480f2d0dda057778697a8dd7489d2c06099747b8f9ea6d48fc4dc40dbe0653eb7e8bdea35a5a4a3367e3030ddcb33258b544e1d303353893bfb29cb3f7b67e02a025cffae328ce7ce9eeaa3d78ddffde7a278c2de76da777d05e19746020adfac44b5d9bbad481579a107ffc3cdb082e5d5ec6116b80f6cc59a14b77996757055e25771388ca50c8654b43e7f0c02e2edf3621c8f5ee76d15a7555abcc4f27d35babd0cec3e2ce7e2ecdf52a224b2aa91df0eb934651cd3c37a91aba0c482394a9b5cf7e8506e8461cc2638c027ad7f24985988ef4aa8620d1c4f931c8b951283d800681eddde8947772b36aaef9cf4ce01642ef7d6c46f2a722febac87d3c3049b2f1fd599d117330cbc7257ad68450e6ebe0d28aefbc5796465603ae4251a65b3076383dec3552a6057e73038825cbf7271973036dae02442f669929f35546a1fad9863469229387f3b2b169df57e67a679a40046bf8b90730de2eacefda5125247966f7e4a4f285c2b4e6f2dde06c66e834d95dd62977daa9a8ea02c180d727e1c0cee546ef37812ef7146cf4c590c6bee40a388ac030e1b238442258201dcc868291c985caef0f67427456894563ad074d95f6d44bd08e6a17a102432903eced3e2674405f618e567a671081a072148920c853b6aeebf6ba1af507ff95728da25766412bb3f55f98a62f0b74bd629e6ad984d04d3db46fd3d26ad15176adafe1a93347fca6a3f7f49dbd3f7fabb0391131898f7a13afe66feb1da90e7b1cc1fd12ddc740df59cd466e44858fcfcce10629062e84ede1bf03e4b20313a742873f9b1e7a3ef6f89196f7bf7a4025c1bb0ba207d29acd651c4c31cfa36505a4bc9551f70eba0581160f48cf052fde842cc03138da6e24f150c131f0bc2a48d3aa58f236589eda3f75ded4aa7c459de09f6eb19fe35bc47543aff8bf4109db258207a2287143cef98162c03d0fdb8b5fdd9445b2f712643092f868eb97ce7045a13b20d6c45906c22b55fc9a11fb12c121ad9f86982ddcb720e69015befb50904ef0ac903f75d67c774062d5de5d2dbba69a983d985a2858b30bc411f0dc10cb9d30759dac150fd484b1fb557d38201e6538cf55f969321c4c69fc828092de051207ab58c8cc1015b7f01e3e8b32d3aa02113eef1536c58cbdb50424949e211a0c4d778bdd12638135f09120359baf815d2cb1efdbf44d7bc709ba19a0a513852dc6aac9af9605247a6054437ded52269ae3d562968381c22beae6811816e48c2e27fd5bfe86bd455ea271df7d70a59d532255a59f0c005ad7d7bd26d162ef64b99a991d86a48661af300eb7d5944fa5cbf6cd3e3510f178aae69500b730ef314e68c53699f5b8247b05372d0d5898358ff1cc5dbb79e10b851b6c9b8e4d11c53f8cb424340261dfb2fc4164390a0a4d5e5caedc5f82216c576d12ed6908e0fd21eacef225d09314c66e25db6e9bd0f8335fb87960ae5f0277201285c906d40bbbf1e29b97f835af830fb3f96406c5d036e71b606959d572 +ss = 6a54f3597e7c60bcf0fd8b7b34cb4c9350ded0aa726cb2071830c70a2de8d428 d = dbf1c465fff3d9f783bd9ee61a573715e45691147b8904439b5ffaa64f94ff7b -z = b6d75eac6c76ced1b0a025b40a55440712ad8424672e761e9bc400d63812006f +z = 5c2478cdc8d59ab164856623d53b9e60cf0aa8214cb64e674140bfd6de9fdfaf pk = 80b3b92647a1dbec6bb883a4b2160e4dcc84c89c6adbd955cc055933d3238e325fa826acef899a555873a5b9c189117844202c65e40eaba07d9fa94d421bafe8f3a5e3346b6b93cef8b75628e4418e2885660b1d3df32d1bd50cc50757c5227928b32e0c567872e66bcb58128b15c8696710a7b33bfda469128996f6979f896b93d22910383c90d0d877a56b4b7c77c53c99128719c2995497dd36877276a25fa8b74a4947e223215a314a075585da457daaf17c41711363950ef9013a8ad95f9e07635546485a3568aa502d608321061a6999057e705c46b6691183874fa9ea38bc392f718c99ddbba59a1865a135207a00058a408b6c61772ce777456c92b28a51ce823f7524a26639ac64aa49d6903cc2b2b5b60b59643bc950230362caba6abb5ba4f6964331b1f62099cf385be3f5b43c2b8402006bb3386f5a16354e45118f0b759c3363ab4069ec2c4c15cac4e07a24fab0c682548337d157e6ba213c7801dc5a0a7045a442b4939d611469746e9da665e2e910b51c56b77a035900b25490216c0bb53e04173b3bc454a7a17d77283ee278e7d30496301480c8c1af6b3e1dca213b174f968c8a45a3ba2044bddb1492bef2af610b4ed2481ae0823df53282ba7750fbc7a764db58e3789ccaea778083c27ed101e3c75be5486249f9818a08047f97447773c7dec3ba7c59aecb5778a09cb7f1182b2e0a01c182a1bd13ab7d72af97f96f564607a9a970b35a6adff275c35c22c2444ad6e997d821c065ea49080900e766c0079b7acae7bc7cb3b31301656fd39591e0bfec2c33f05a0dd633bba463781f1c519d902342bc12bd16c1ac8305ea9769e489073297784ee45f99b248670749c728385f601fc84c1ffb298bcc447537785226bb5de712b7bdd04a0ce39226919105f06ecf6bcddb0cb5ec3b5505b5a169b05480b2587ce4934d2b232a44a6683920a81a6038c59497c9b47faa62f4f2120b15c360616e6573bcc5a23a88887b50d1a7dbaa429bb00a9f87b63829b1b641922425016c979db571ba0f1a139267bb362c68f47689715cad6636402049c2b5c616c321cba6e43c1c1a48a0e141cf3a71c0099bd183a5c0e59bca9a2fb637c1b534cb6687493eac495acc7c5fcc4898a52e44094fb1b7014a15c88e11a9e7244ee53c2d5b16708c233ed37859268501630a296d63c094f563f0e559c59453abf05a93722aed5ac0c3cc6a0be7890f8c3191677c21f70c8153ced3e2bd96a4bfdce27f86b809d8ab04dfaa837fe030f420b845d23c78cc82a2d7c440897c91c3b726b4622445899de72bfa263b93c3cceaa8500b4b0c240046387b25bd98b5901aa670180a2a8b27de424f4d804a68dca2e044430d701b67e9b4af33c60fc54bb3a94a8b8604fa5882a401a5647b8dfbb20878e4b4094136bd4b5bc14288463c2e87f0cdf6d9497fdb5f42f26d2f9ca2e048a757a59b440c2c5642232e714d11fba959ab9ac52126bf689864ac98cbd1a633baa3ecf75c09c4c6878994cdcb3e882798ea02aeaf39915dcbcebfe2ba14e620f53b3d83ab58bbf99509033db99b0acbac29fb4674c95cb94982ac398c2771a8ab6da1ce9b0771e3d5c2e7655b4bb99ebbb57adbc7a540f228114639b811c5c1d3b614daf84266bc4c312fa43c4109dafde79000ab39 -sk = 47318b2cc6a9d8bc6ebe7c12489017c03214325b61a2a8541fb783c448c3a31c1d82ba7906b09e3512af8d00d0706a3d391281f0315044c9c4f92b0ad72c60e18637577b942a442589cbb466ac344438750b86cc86b97d16339a9db0365e6696b183041543b031c9220e82bfb89c21a5b0a0d301109568b1c00b2b878c9284375949c88394f141abc188ef7607cb8151bae654a7b7bfd785b44bbbb5c5a68ca5f96bfe5abf179cb83a58aee518202c9119c80081beb38caff81f5ea51811f13be9491f431b127783227bf9b691031145d6a144213fb4f1c89c38c00c81abf075c4415586bdf28b946380c948b94d7a0c3a793100842230663f4eda9174dc7214884e0f552a50d16dfd0a5ddfa7920b0aa50437bfc735a546f5b0f4bb22e174b061bc80e91428547576b6205490ca3934c9b15fcb69611a1639974478800b2cba3d5243a0e2762be2f87035295fff40b56be37ddc71915434c4af6472c1e5c519506e691703c49c715b50b360a5c2fcdb79f59c7ade27380f9905eb7aa6f5042c6a32bae657c699eb85a53395c0303e87e89800131f96969bf45b3f574a40ed813268603a24f1c3180607814914775350b88a1fa7e1034c9cb155879668950ad5950803abc0cc58bdfc408fc1f2bf7d3a2972aa66b58844c048150c0b8c89aca3bd3269474875bf10a94d2b9ea3687ab9547ea59731b73a8849ac7b7c4b946d70b8b87c56b81b77024503ba87485ba3655f669770410e89fc84925b87c008c3cc13c7b9447d82fc2932a1c641230725a422b6219d9bdb5ceef17e121132e6615075e0b26cf71e91a1593210a09507214716a3405b2503ca5f29d4479914cd10b3457aa62a6bb71bd08736e1519e69f709b8c8439b4441bbab5d0911bc6737ca742747ca592e5ed734a8aa1b77450a9d4188e05422bd9240e285865d530e718c6f1a816153cc27414446bba8129a1716171aa60ae086ad09951c2b9aa2744e0153cbd4ec9d1736908cd78e7cd75d0333434715c517633ee6603f7993083724a596069f3270c071b6bab955844a081a896096f76059b9738d819ca3b6588d5f578058d28d2d0710b2bb2e307a5f9e18533713c41e172a99614a97c00ac0a83a25526c399cc9fa9b74cc4774830c8e754231b04274c90c526dea7fe3d203688114e7a90d3ac02ae69a139649b754581bb56825a215c3ba282a26c036e5d5785c07c62956b612fc37fb73a7c6ebb506b998d54979ff29781cd09ccb64993299745b34b6d7f897c0e05e1a6966e6757dbee29af2eacbbb7701dbc39294db584c7c3a7841112258951d88145cf73404a17adb8cc4d11788225557a83b652f95053e8507093b2a8b00ce77e7bbbe83233dc18880f2274472c05e646b90952fe92440d164092a058d69c96869d8a83377a2da92c2d668607dec3cbefc6242b49a9da97c19c2067722c8d309cb898593b08b5d8138bf2fd1c59081614f764acb392d7feb205a85270dfc1129929cf7b53d41031c92944972b8bc9a9c494ab384996647e177a87a101c45c747660aa4a38088a5f7919ca46dad338576463a1c1425a6c4409e2ba8217827ae83bed4e6c80ab528a6bbc1ad58c868b995d9f72c77e84173c9ca80b3b92647a1dbec6bb883a4b2160e4dcc84c89c6adbd955cc055933d3238e325fa826acef899a555873a5b9c189117844202c65e40eaba07d9fa94d421bafe8f3a5e3346b6b93cef8b75628e4418e2885660b1d3df32d1bd50cc50757c5227928b32e0c567872e66bcb58128b15c8696710a7b33bfda469128996f6979f896b93d22910383c90d0d877a56b4b7c77c53c99128719c2995497dd36877276a25fa8b74a4947e223215a314a075585da457daaf17c41711363950ef9013a8ad95f9e07635546485a3568aa502d608321061a6999057e705c46b6691183874fa9ea38bc392f718c99ddbba59a1865a135207a00058a408b6c61772ce777456c92b28a51ce823f7524a26639ac64aa49d6903cc2b2b5b60b59643bc950230362caba6abb5ba4f6964331b1f62099cf385be3f5b43c2b8402006bb3386f5a16354e45118f0b759c3363ab4069ec2c4c15cac4e07a24fab0c682548337d157e6ba213c7801dc5a0a7045a442b4939d611469746e9da665e2e910b51c56b77a035900b25490216c0bb53e04173b3bc454a7a17d77283ee278e7d30496301480c8c1af6b3e1dca213b174f968c8a45a3ba2044bddb1492bef2af610b4ed2481ae0823df53282ba7750fbc7a764db58e3789ccaea778083c27ed101e3c75be5486249f9818a08047f97447773c7dec3ba7c59aecb5778a09cb7f1182b2e0a01c182a1bd13ab7d72af97f96f564607a9a970b35a6adff275c35c22c2444ad6e997d821c065ea49080900e766c0079b7acae7bc7cb3b31301656fd39591e0bfec2c33f05a0dd633bba463781f1c519d902342bc12bd16c1ac8305ea9769e489073297784ee45f99b248670749c728385f601fc84c1ffb298bcc447537785226bb5de712b7bdd04a0ce39226919105f06ecf6bcddb0cb5ec3b5505b5a169b05480b2587ce4934d2b232a44a6683920a81a6038c59497c9b47faa62f4f2120b15c360616e6573bcc5a23a88887b50d1a7dbaa429bb00a9f87b63829b1b641922425016c979db571ba0f1a139267bb362c68f47689715cad6636402049c2b5c616c321cba6e43c1c1a48a0e141cf3a71c0099bd183a5c0e59bca9a2fb637c1b534cb6687493eac495acc7c5fcc4898a52e44094fb1b7014a15c88e11a9e7244ee53c2d5b16708c233ed37859268501630a296d63c094f563f0e559c59453abf05a93722aed5ac0c3cc6a0be7890f8c3191677c21f70c8153ced3e2bd96a4bfdce27f86b809d8ab04dfaa837fe030f420b845d23c78cc82a2d7c440897c91c3b726b4622445899de72bfa263b93c3cceaa8500b4b0c240046387b25bd98b5901aa670180a2a8b27de424f4d804a68dca2e044430d701b67e9b4af33c60fc54bb3a94a8b8604fa5882a401a5647b8dfbb20878e4b4094136bd4b5bc14288463c2e87f0cdf6d9497fdb5f42f26d2f9ca2e048a757a59b440c2c5642232e714d11fba959ab9ac52126bf689864ac98cbd1a633baa3ecf75c09c4c6878994cdcb3e882798ea02aeaf39915dcbcebfe2ba14e620f53b3d83ab58bbf99509033db99b0acbac29fb4674c95cb94982ac398c2771a8ab6da1ce9b0771e3d5c2e7655b4bb99ebbb57adbc7a540f228114639b811c5c1d3b614daf84266bc4c312fa43c4109dafde79000ab397537e68ccf14e8b7e57090d8f648529dc461ca3950288879e88116acaf57b4a2b6d75eac6c76ced1b0a025b40a55440712ad8424672e761e9bc400d63812006f -m = f72b9080a6c051bbdb9b0abc1949034be0f89a9f73fe277ec4d4740c78d04a83 -ct = 2ae65ff9bb3921463d5a4fa59032de79451b71137e7019ebcac2234f3478e1e4c4172b97515beaa552b9580d76bab278b304b83b05390bc98ec094559f3d21faaea79e5d0cf3f9892155bf0e4e989d3c85350c66a94db3d006530119e4e44be9b2312eff20f06d762d4ce489bddebf30bcc765a1553aa5a3b5f620de634f64de66f1e56d288266195795794441353674e93c69b7d86d829695ec15353186460c20ed184d5ac56917276008772ab381edfebaa45a36b8294d9b84c4e5518163e98da4b5d7461d28493039ac8f378a154152cacdd3d3aaf66ef966c0fb298978d9c293979d0582bd8271c79f5922769d8210f4c7f198b73cd0249330f5b25ed55964f2300694fd1c1d438e7ba0fa0a6ad12f66220a390ed79ce1c40a7a6f50c64435bf538a3a2a1bc859118c35477af3af986cce9be6fe75bcaa59acf3ff7fdb1c873afb6cc5b69621f6b49715a0f362ce441961c452cbf81c128a2b81c1a1b667017026c09dd36af0dbb856f0d7a4b21cd44003a878243955a12e62f41737d81c16180bd83297ac9990976e506684a24e4f97737e463823b025ba95873954c153bd42ddb06209acf5bd7e9c9ca404d57202f7236fbd5949004f73828a59ffcad810e038c741534f044a4bd4fcc0668df733a7609e493d753fcabc6359b959582a5dc66cdf50a8c88a97b9738f2cdab363f01124526ca23fb047432789d6c1e430974329411f8c1c63936cdf937540f66c2cc9b76bac4d9a44055386918370d8051cb79c8c703cd37d3b6c1d53675ea2bfc7976d40ece547fbe3b969804341ff267cda5f583a95d0169bb2359aba56378f319f8587e602459af732cb1559d684cc4f776e1766f1ceb1483a4d1983e8698b56b37940ea9a7fda8c8cf9c9e0dc724ca1d60e0c572894d2b9835aa9e82c058fb28271a5979e397ae0c2e72629bd5a56b995f2e3d9de0c7fcd608e4ddf8a4b0638b1810b70d2b3fdc358ccf45da5a22c000e4bb70f4067884bffd9e419c7825145bc80491b417a26567a6b91ed7d89e8e9e9f47b24b0fe1c3daced4eabb3d1571dbcefb3e3aa7ae52dcc66ad97bc87b629875165ffa709588b4725e64b07781420d6f6cfc2b485bfdb7ca3d47314452a862050555fd324c5a56bac047f43a3073f07b05bcf14f505ce528bef347a2cc2c846675e4ea9417b7e741b776de1d767a4f3573e78e7d5976e73c8f7cd24aee462294b4e652460c66e6a4a5f1591446ffee52a0a61526d16392aa40a4111d4715709fc70aed98e128342f7da9ea80412c749c80db3d64c5dbbde06244c18de5ede7f550a8e086f21654994628413e9ea53644b2cccb530cd1b2288bb9e51f529271e9a9eb795fce68a74dfdd2cbcbbf98407d68e691c11a979463322b1402629c2338cfb2b14a7bb2cf9ac8073e6e5543e3e989b60da52f1e07859f591db172a877483ffd523633e1b8da9e68ba748f2ffead7f9d3882e9fc56d4b4329e1a22ce06e11d0f674c568a2b1218bd4a16a60aac59dc30fd6b8b76c06a230c39393bd -ss = b7a8e7b3c6d244b6b0dcc45947dc91f795ed21a5b5ad545205cd5b210df37325 +sk = 47318b2cc6a9d8bc6ebe7c12489017c03214325b61a2a8541fb783c448c3a31c1d82ba7906b09e3512af8d00d0706a3d391281f0315044c9c4f92b0ad72c60e18637577b942a442589cbb466ac344438750b86cc86b97d16339a9db0365e6696b183041543b031c9220e82bfb89c21a5b0a0d301109568b1c00b2b878c9284375949c88394f141abc188ef7607cb8151bae654a7b7bfd785b44bbbb5c5a68ca5f96bfe5abf179cb83a58aee518202c9119c80081beb38caff81f5ea51811f13be9491f431b127783227bf9b691031145d6a144213fb4f1c89c38c00c81abf075c4415586bdf28b946380c948b94d7a0c3a793100842230663f4eda9174dc7214884e0f552a50d16dfd0a5ddfa7920b0aa50437bfc735a546f5b0f4bb22e174b061bc80e91428547576b6205490ca3934c9b15fcb69611a1639974478800b2cba3d5243a0e2762be2f87035295fff40b56be37ddc71915434c4af6472c1e5c519506e691703c49c715b50b360a5c2fcdb79f59c7ade27380f9905eb7aa6f5042c6a32bae657c699eb85a53395c0303e87e89800131f96969bf45b3f574a40ed813268603a24f1c3180607814914775350b88a1fa7e1034c9cb155879668950ad5950803abc0cc58bdfc408fc1f2bf7d3a2972aa66b58844c048150c0b8c89aca3bd3269474875bf10a94d2b9ea3687ab9547ea59731b73a8849ac7b7c4b946d70b8b87c56b81b77024503ba87485ba3655f669770410e89fc84925b87c008c3cc13c7b9447d82fc2932a1c641230725a422b6219d9bdb5ceef17e121132e6615075e0b26cf71e91a1593210a09507214716a3405b2503ca5f29d4479914cd10b3457aa62a6bb71bd08736e1519e69f709b8c8439b4441bbab5d0911bc6737ca742747ca592e5ed734a8aa1b77450a9d4188e05422bd9240e285865d530e718c6f1a816153cc27414446bba8129a1716171aa60ae086ad09951c2b9aa2744e0153cbd4ec9d1736908cd78e7cd75d0333434715c517633ee6603f7993083724a596069f3270c071b6bab955844a081a896096f76059b9738d819ca3b6588d5f578058d28d2d0710b2bb2e307a5f9e18533713c41e172a99614a97c00ac0a83a25526c399cc9fa9b74cc4774830c8e754231b04274c90c526dea7fe3d203688114e7a90d3ac02ae69a139649b754581bb56825a215c3ba282a26c036e5d5785c07c62956b612fc37fb73a7c6ebb506b998d54979ff29781cd09ccb64993299745b34b6d7f897c0e05e1a6966e6757dbee29af2eacbbb7701dbc39294db584c7c3a7841112258951d88145cf73404a17adb8cc4d11788225557a83b652f95053e8507093b2a8b00ce77e7bbbe83233dc18880f2274472c05e646b90952fe92440d164092a058d69c96869d8a83377a2da92c2d668607dec3cbefc6242b49a9da97c19c2067722c8d309cb898593b08b5d8138bf2fd1c59081614f764acb392d7feb205a85270dfc1129929cf7b53d41031c92944972b8bc9a9c494ab384996647e177a87a101c45c747660aa4a38088a5f7919ca46dad338576463a1c1425a6c4409e2ba8217827ae83bed4e6c80ab528a6bbc1ad58c868b995d9f72c77e84173c9ca80b3b92647a1dbec6bb883a4b2160e4dcc84c89c6adbd955cc055933d3238e325fa826acef899a555873a5b9c189117844202c65e40eaba07d9fa94d421bafe8f3a5e3346b6b93cef8b75628e4418e2885660b1d3df32d1bd50cc50757c5227928b32e0c567872e66bcb58128b15c8696710a7b33bfda469128996f6979f896b93d22910383c90d0d877a56b4b7c77c53c99128719c2995497dd36877276a25fa8b74a4947e223215a314a075585da457daaf17c41711363950ef9013a8ad95f9e07635546485a3568aa502d608321061a6999057e705c46b6691183874fa9ea38bc392f718c99ddbba59a1865a135207a00058a408b6c61772ce777456c92b28a51ce823f7524a26639ac64aa49d6903cc2b2b5b60b59643bc950230362caba6abb5ba4f6964331b1f62099cf385be3f5b43c2b8402006bb3386f5a16354e45118f0b759c3363ab4069ec2c4c15cac4e07a24fab0c682548337d157e6ba213c7801dc5a0a7045a442b4939d611469746e9da665e2e910b51c56b77a035900b25490216c0bb53e04173b3bc454a7a17d77283ee278e7d30496301480c8c1af6b3e1dca213b174f968c8a45a3ba2044bddb1492bef2af610b4ed2481ae0823df53282ba7750fbc7a764db58e3789ccaea778083c27ed101e3c75be5486249f9818a08047f97447773c7dec3ba7c59aecb5778a09cb7f1182b2e0a01c182a1bd13ab7d72af97f96f564607a9a970b35a6adff275c35c22c2444ad6e997d821c065ea49080900e766c0079b7acae7bc7cb3b31301656fd39591e0bfec2c33f05a0dd633bba463781f1c519d902342bc12bd16c1ac8305ea9769e489073297784ee45f99b248670749c728385f601fc84c1ffb298bcc447537785226bb5de712b7bdd04a0ce39226919105f06ecf6bcddb0cb5ec3b5505b5a169b05480b2587ce4934d2b232a44a6683920a81a6038c59497c9b47faa62f4f2120b15c360616e6573bcc5a23a88887b50d1a7dbaa429bb00a9f87b63829b1b641922425016c979db571ba0f1a139267bb362c68f47689715cad6636402049c2b5c616c321cba6e43c1c1a48a0e141cf3a71c0099bd183a5c0e59bca9a2fb637c1b534cb6687493eac495acc7c5fcc4898a52e44094fb1b7014a15c88e11a9e7244ee53c2d5b16708c233ed37859268501630a296d63c094f563f0e559c59453abf05a93722aed5ac0c3cc6a0be7890f8c3191677c21f70c8153ced3e2bd96a4bfdce27f86b809d8ab04dfaa837fe030f420b845d23c78cc82a2d7c440897c91c3b726b4622445899de72bfa263b93c3cceaa8500b4b0c240046387b25bd98b5901aa670180a2a8b27de424f4d804a68dca2e044430d701b67e9b4af33c60fc54bb3a94a8b8604fa5882a401a5647b8dfbb20878e4b4094136bd4b5bc14288463c2e87f0cdf6d9497fdb5f42f26d2f9ca2e048a757a59b440c2c5642232e714d11fba959ab9ac52126bf689864ac98cbd1a633baa3ecf75c09c4c6878994cdcb3e882798ea02aeaf39915dcbcebfe2ba14e620f53b3d83ab58bbf99509033db99b0acbac29fb4674c95cb94982ac398c2771a8ab6da1ce9b0771e3d5c2e7655b4bb99ebbb57adbc7a540f228114639b811c5c1d3b614daf84266bc4c312fa43c4109dafde79000ab397537e68ccf14e8b7e57090d8f648529dc461ca3950288879e88116acaf57b4a25c2478cdc8d59ab164856623d53b9e60cf0aa8214cb64e674140bfd6de9fdfaf +m = fc69423340cca2e8e96b963188545fdb2b9287959ecb7eb108f8d04204bc87ca +ct = 64104b36c672ac7e8be943086586b0f19c4b6fd8db974679d2c74271a5f445452a7d946b73ca9f110713316edb1bcedf19c6e6ab49f4ab546e5c4503bef830684d7dd9a52cb26098ef97b89d3c35c2ec5ad92bddd9d849cead2b0d19d2ed95081045066ef48eb3a1a61dee932657e1fedca8fd6d4c640a9629a2e66167bdef2d0111e67370152615edf677f7589512abea34e525d2121a379f368b16947d477144829301a11b399fb549d05b5415a595efbbb3a04be12aff85f6ac7cfba22fb953e4d3b82a39cda2120873422282aff3df2ca6c16901d731de7d2570aa415d2a954df523251f6ad019616a780573f4c5683e8ef9e5fe8499ed00329169b7d6ccae687b9d5e448ae5ca1788f10bb126f6cb0f95c940001137e0a0cd62a3645f6ea28dbb1f8c3118f26bf794b8f80747fa2816733838d4c1c62be7c51c0a25dd27b316579c6462d49bff52cafdac5ae262b88a1a9734cecb04be568295c9088f4cc60983b5bd2928b3fa708139149d89d610ab3b6f915ca6b6627e71dec5a6ef1a4acbbf7021d4080539b2f9eb77af4e2f2f8004f2e21868e0ed7a0dd52f41990732f21802b1814eac1b262309970733fb218ca074613219071e922e345a8354e253b7b646271a21f0b4e3ec91c1f11beac1b141efbf46fecf7d00767fc94cd78aa970eda5f4498e4d5f490e56c7aae3fb44a09769ae8b4912e27d1e5f5d3b2da08f95014bce2f7132a1a43b0be1b977b43d15ddc56a92daebf4b544fc6876a1a5774a662ebe098c369e71a4b68bfc7a9b7a0be9c3bfaf387777e4b9d5ba65ed37ffa181cce1b076f57456c9957545f493e906ef7816df62534ba8f10424501e73e7b4db2fc059f04a56ebbe04f634b54e09f359bceb492a30850a9cdbe6954bef3fdf36d69e8409014663cbddad6d460eb3e86d9cfcdda3dbc219b689158d67c67030e3ee81693c9c581e7dda396fcb76a3b1e0d90962e41161bb2d7746638aaa542dfcbd76a3dc87aa85c9e29060458f15e1abfc8cbf336686f0ac59daee90aa8bb05fbe558d25b47366b6b80549a97f0a89e4cabf7d2cb0dc5f63217808006e29256ff85e0680542a589b52e6da00bbe456e007047358fd7c5445a0b5679c972d0439f7f0b2f793c5aa8aed248156af3d671a22bd76945aeecd6c65f86bc7873dccfb82e667a8319674d39a2c6a38ae0e73865285eca5f9743bfa255df6b453cfeabed103d16114f5713e593b1b88339166cefd5e651b08e9208968e03f75af07b9573302f52e87d3251d8d64e2e379a1b2d502c543f6a61e96137f868ef382cc7eeb06017aecb4b5efced7a46a3a7b2e70e66d4bf65e561a3058f28d1ccdb971b8ab2cedce8d284aade0242a9ab584741397620b4ba43ce0caec921521fe8aed9e78a5e1d2026e05ed1af487d32c0f795bc59a60603ac7928d3e31dc88d0824428eee4134985c7cf58613368d672634327b532aaf89e717012e6aa1604fedc22218e22cf8d7529a967c00441e035e2111573c024445bcfdc6ddeb5ce1b3d6e +ss = cd0e055432e110bcba3c34af1c0be0cb266ff70e52010d30fba733701cdeb18f d = 1f7cfd2b70863154e8a69d1758532e86c20cfc763d67c758bd10a13b24e759b5 -z = 273b38bddc18488024ec90e62a4110129a42a16d2a93c45439888e76008604c6 +z = 88e66590b5b102b223291cc78119bb94e799e37b95b7bef0337e6a572284b9fb pk = 03a20a0337040adab8bd449e0beaa93b07512485ba33f291af1a44540bd04af4a3dd2a09f6454d7304d0944674a580551061ba5f88217aa57c10640dc1a97396f138c1a32cf40b0bd9286f88c4087f9084a9012d248c63efec072d77ab0e736719a23a913b7b8b62aaa5bb40be97cbbc1c29edb283c776aeb9b032e2c2691aec9ce89617b84b09712b40e2b713e566c714e0baa75957d6ba5062ba76471357252b72ac66ba97e10921ca2313a232a6ba908dea13645b5617938381fbcd748a11f61cbcb615c458d056f0d55a449c4f544c6673322ef106010cf139d1c586aed5a5dc210fff7a60f3138c34a4244398b692c567ade5beb55c1edcfcbd93183e1ed0c2aff5bdab67b51e39a58bdb8388d67cc1ec0d7313b7ec8a56cf3c9b73214c4ada14592794749b6834e9b81a2ba47de929e9ac7856b56549f40f38f0784ba0cdfc195952d3155222bceaba0e3c233ff7e19a65822437217a42721f9c060ac2cbb9c4e6bfa9fc3014d8add7b4bdf78291423511f9874a07e06a82b6369fe349e08333c7f56b7b7b808a0b4e888a95799a2df4873944cc43eb958b1508c66e571268e79a69178793e7a4d430507e1259d01c86f999c16772cfb7b4b330114ff55a51ee5407bce95a6d27875a91773420c24f8734b3023e9db777819ca2163c431de46f22f38398d46ee352b815b6b07e1a242b01a4230b59ea8c7b0c3c3dbe2b7c77b4c860660daa04c452e391c710722c67bc0632c072fc1e5296a2e70932d4d38efbb96bd636bb41260a7bf27cf5e71ce3708e6884cf0b8584adc3cd3b5c5ee1003a13731704472a203c8f9b49534309bf2b60cc3e2448e02b5a46d889ffd78fbe722a709a2d5b5c8a7d805bcff44052c553cb990ad016079bd87db7573eb1d431d1e549edc8ab56a0bf52999f32555e8ef2b03182bd8d812cca638055a73b548c8b432a2a7d4a6a074aa212d50362d1382747ca8dbb95e03945d95b995d6346d7db47b24b86e4f774f3767db7996335b789733cb251f9b1edd04f8f8cb7af4c947af224dfe0af6a42c7b65120b9c18abe9161d88cc5c4780fd74403cd177f7160281884a11cf686f0f523f39cb7ad39b780f13a8ee83c0d646f9d85babeb306d53a7df53ab00b5a1aa8c215914a48222940fee10d1939ba5c93617690cae113a59de071c969436b3771fc50b2f4aa641a4c852922380a420fcdfccb81816f4b474a2ab293a4d97b2b280cef031148ea7e4c9c0db7e7cd0e50b203a6b7519c3cbc8062c9b60b8b81cd956463b8180c67f34be4868e3ba94b9f0226d9f010d9ec5ef0bb62c865c807184b96526d94170af9474bbc100530f7c77e46b98c2aa41f92a48d8027c855c7f84684389bcc8e7c67164a204bc5c0c90828faa439fba235b6f20785cc8ef4c090a708bfbbe26e1933886cc96ad9b4562a119d4c66589c85bf0e55606886206734142d432c1b032e0aa93ee3731f069a8cc069a03b95a8ab873b447a04ead3a32be3054af834882bcc581712be18539b805577e50ff5d982c98c0b0dfccc96a4c6429281068c8429997dc17a6600f0736b8453e3d77636faa8d0ca89f9193bb34819ca1117ea368ea23198ee11345c613993ec052992954099bb9a086057df0c5465326e1932aa50da74aa8435d9294fd6b7c05a153f30 -sk = cd28aa8c74142a0508c2534d5adc64284806bb2c653bb9783adc640e9945c253af86f57c19b42c6697ac85d1bfa46b5231559c11f5a0da9b2bf43c40001d4e6c00b81237343e15a41da190cf8940b641a4b42b72d9cc8bac681369dc07d80aa62f135b0f956355a4a68e575f34393c42bccea68a7a63c269a5821557299ff63b9f0161368f6084132c8b56984f4d1626d7436dae2596e1b24a86562374b066d2483a1b354fff9766845480ff396f6ad089b724b0f15a34c2288deb05a8418909803cbfe2f3c63c30056f358fab798f4e385eb0e35ed0c38ade7382787a2502d117ad0bc6cc0a4746aaad23345f10074b21970c18eacc898472766b2313472dd3348c82f69b7d961cd35a8c61984e7ca20ae6382f04a977a72b532a1395707cbb7cd595e0da0202498058e59f22e0c340c438851674e3ab1e0d872fda3baa7f87b67f449e6bb461bdf1cd771475d5b59facc30181599ddac8ce68dc2de5741b21422fdd512b39d9633adb202af3941e323c9326297cb58086c3282f722c4d50b94b32153ff30b91f07a811a9d9e07b7667846806b6f7071ae29323156b668f831a9f79ab7949cb363dcc8d151349db4b5ec1266e7f5af98105c95c0a4d47648aeeb01fbe1113948b407fcbe199bc2cdba40257745d765c6a0766012f19df41a770e96cc95d3cbc70549f7e61914a73dc71062f2a3a377ec26ded59e0cc85b11a74f43c3237c7561cb7046c0e660b5bb0ba0634ff2b211438a9b9b906f241b04b2439f29a3cf0ad9128d683f0c2c26ca050978cc179872b1664a751458c072106fdfa07d97105188278268b0481018782f361d08555fe5799a0654398285b378f7a9f143ce20673184c75e8b662085899812912fb8a60485921b2f7b3feab95cb7aa327d8b9dbcf7c7256a131270b731e33f8f555cf4f8b7a1e6aabb4c83d2938b7b21beb1c3b3cb3bc08bf52fc1f5715fa89ef8e205d85862f6a2cf420592aa24568fa0b8dcbb90d0b654c7c82c7411b6c3e219f46c352aa034c4fa0aa4fc47daac204b351497727b96714359a66466f6c4cc2b83bf6b87785367c7116489d6c5feb975e41c4bbb2a3d8fda920021c523227a438374d96032f62c41b17422584ab5880475cdda8b7f4844e5420c25d97235b0acf71012adab59298bc80052aaf1807e8015695d92184741bad318ba9ae27c306a2e42c80512534963b70b9d0b7f5ae70326c33e7d43249e8c9ce386947c167c8f33c88947244989c45b4858203249fa5a136734153cd94f1ad467b5043f7ed77f58d34490d1b5f9e323f3e2146011921b8a9f94e419bb85ad965443e7f4a73534457be43ee5f677a63a7738762b799600fa0b9cd328ae4cf507c1d9845eda77c30bb7c39c618afb402cd9b016f0092cb61e8be13a18925ca122a142409b8dc637a364093cd76925a194aeda21c61709255ba2de330693b888a6c2c6f0c39fa5b4c7fcfbcc198b3253c0abc5ab5edfb438ed3a82b72b5f54a39d21c37879480c4a648f182a94ea566c598ba4cf697140a20fdf4cabbc540b80e8664216a6e880553899964a7b239d00c68e720706512cd2a58b9c49bc0acb90283b506ca196f7855ed69ab21f059a11fa3fc4670d03a20a0337040adab8bd449e0beaa93b07512485ba33f291af1a44540bd04af4a3dd2a09f6454d7304d0944674a580551061ba5f88217aa57c10640dc1a97396f138c1a32cf40b0bd9286f88c4087f9084a9012d248c63efec072d77ab0e736719a23a913b7b8b62aaa5bb40be97cbbc1c29edb283c776aeb9b032e2c2691aec9ce89617b84b09712b40e2b713e566c714e0baa75957d6ba5062ba76471357252b72ac66ba97e10921ca2313a232a6ba908dea13645b5617938381fbcd748a11f61cbcb615c458d056f0d55a449c4f544c6673322ef106010cf139d1c586aed5a5dc210fff7a60f3138c34a4244398b692c567ade5beb55c1edcfcbd93183e1ed0c2aff5bdab67b51e39a58bdb8388d67cc1ec0d7313b7ec8a56cf3c9b73214c4ada14592794749b6834e9b81a2ba47de929e9ac7856b56549f40f38f0784ba0cdfc195952d3155222bceaba0e3c233ff7e19a65822437217a42721f9c060ac2cbb9c4e6bfa9fc3014d8add7b4bdf78291423511f9874a07e06a82b6369fe349e08333c7f56b7b7b808a0b4e888a95799a2df4873944cc43eb958b1508c66e571268e79a69178793e7a4d430507e1259d01c86f999c16772cfb7b4b330114ff55a51ee5407bce95a6d27875a91773420c24f8734b3023e9db777819ca2163c431de46f22f38398d46ee352b815b6b07e1a242b01a4230b59ea8c7b0c3c3dbe2b7c77b4c860660daa04c452e391c710722c67bc0632c072fc1e5296a2e70932d4d38efbb96bd636bb41260a7bf27cf5e71ce3708e6884cf0b8584adc3cd3b5c5ee1003a13731704472a203c8f9b49534309bf2b60cc3e2448e02b5a46d889ffd78fbe722a709a2d5b5c8a7d805bcff44052c553cb990ad016079bd87db7573eb1d431d1e549edc8ab56a0bf52999f32555e8ef2b03182bd8d812cca638055a73b548c8b432a2a7d4a6a074aa212d50362d1382747ca8dbb95e03945d95b995d6346d7db47b24b86e4f774f3767db7996335b789733cb251f9b1edd04f8f8cb7af4c947af224dfe0af6a42c7b65120b9c18abe9161d88cc5c4780fd74403cd177f7160281884a11cf686f0f523f39cb7ad39b780f13a8ee83c0d646f9d85babeb306d53a7df53ab00b5a1aa8c215914a48222940fee10d1939ba5c93617690cae113a59de071c969436b3771fc50b2f4aa641a4c852922380a420fcdfccb81816f4b474a2ab293a4d97b2b280cef031148ea7e4c9c0db7e7cd0e50b203a6b7519c3cbc8062c9b60b8b81cd956463b8180c67f34be4868e3ba94b9f0226d9f010d9ec5ef0bb62c865c807184b96526d94170af9474bbc100530f7c77e46b98c2aa41f92a48d8027c855c7f84684389bcc8e7c67164a204bc5c0c90828faa439fba235b6f20785cc8ef4c090a708bfbbe26e1933886cc96ad9b4562a119d4c66589c85bf0e55606886206734142d432c1b032e0aa93ee3731f069a8cc069a03b95a8ab873b447a04ead3a32be3054af834882bcc581712be18539b805577e50ff5d982c98c0b0dfccc96a4c6429281068c8429997dc17a6600f0736b8453e3d77636faa8d0ca89f9193bb34819ca1117ea368ea23198ee11345c613993ec052992954099bb9a086057df0c5465326e1932aa50da74aa8435d9294fd6b7c05a153f3082f68b15681cca5c2852c18d6e88bcb102a059c1d21936582adb71790cc0a335273b38bddc18488024ec90e62a4110129a42a16d2a93c45439888e76008604c6 -m = f1e5542190db8ecf4b8d617a04fd3783ad0df78bf8dab749afb57db8321d151b -ct = e7657f1e554ddbf021c005b3b9453285a16d4d8cfba2358a97fd2aae89f83dbecd0447bdbe9589ded04baada5114f3bb1b4b775c8ba614008ba2d5929edd4d3dae28253164d131cda2fca2b1d4588e176892764848b62172f56ac74c2d9052347f857286781015fc8cc1888a3ffb77837b1c79128d15a405dcf2a68e47dc7ff1131c89e5268033c9304088e6924c59ac82b424122e5b85a55059198598e2bdb173eb0fe9e407b46228a4b16690097bc82941a66404ea7efd014807cb4ce9d8ea9f4cd3b3a7643a5fac11d493197dbaaa40bea54ecb8e0ffbbd887b2501985c019d252d3d663eac74466008ff6749ac901f3470e755269bbc1d77690f4880b0bf0fd8f0115c2b90ba408d3e1fe46a845a47dcbb404e4b12a296e304920c3828191cbd9b9c81a8bb02eec087fc9f018ef936297d7a52339df66396129e4a1c18820cb1ba69b26c9bf1b68c886f8ed7c4f61ebf2af19402ae037d990c77fc2699d4d22683f4bd46a105459055c5c713e8c1db1dda5ce6a658184d26ecd10e5b1d523241e494396a99dd172372737129c29f8c74bc30858076fa33034c44997d084a6c5bc791c4e8c9869b1520ae29d7901b743ed50e9ad108b37132f34fd1d05fd4b5ae9634ae0b1b1c1c46fc1fa1b73a794da19fba6fe28a299e6ea7b738e45fd1fc0628968f32906d9486e3aac29b488a17a7d6437a9f139db14c0b6f387dff426e107d2bcb3fb9ec5658b4351a20487c31aa367858355afcf508f4b6740d912f726c45de57359683fd9cb65f7f0ba8ab8a319830e6e586c293e953539f85a5c264c30721137128d0e0217d69cc195772fe97d536b8b47643b1a67b90e198d320652833c03f0c382a45f86522966303e3365c6f5b743c53b4f7cdb931bfc894211f71097ebef6aca00074da9465528a82d24718d54473e333c9070edaa7eb6db2cddc806f5ab277ea8eb3dd1c93eb6f433cff71694ec6560d2f664ea4113ca1fec25f37ba7083780a2d91ea6f679f3a40172154a053983099f83d48f3bf50c795a832c9f70c88407439607844bb27ebe20f602e0a88781b767d6c2002960b2bb98754a4618301d9973e3ffe8513615f8b0f13175376ae222fbfe36c8125a570719f62152c2945ba648f534b85ca8270cb7dd5b955e25961116dead8915466ed19ac772d256b7de7b10a597e44ffcbb0032c85fc9e5a8f609e2c1c9bd888aba0f0708b579729e6b7e5377641ddf0649d1b506677d316076e482a8f166ce186448e504b4b9607cf5f3af8f7b5389049a79e15473f130904c3bd8da512ebc26951134e767d6d5bafee7c6326fbd96de4239b7229d69331e76ef0d165276e5a2d229d49e3215803e0b82a63e0b20231271df111f1c27f9f1632e4f86e90db18a4254521939f6ca60af9bd7af584b2109db991d9e2b9223e0add7d5d92b597d0ae7657629b256b5acefa958422606c84eba6c136925815007d126322e9854497907dde52cb68f65af75370caf56467dd1d6e9da860d26dd4f1e33006a6f41cf3423e58 -ss = 70cf00481198a97f14e0870c268ca55b6ef787d130a4c32314eb7c0a531cd188 +sk = cd28aa8c74142a0508c2534d5adc64284806bb2c653bb9783adc640e9945c253af86f57c19b42c6697ac85d1bfa46b5231559c11f5a0da9b2bf43c40001d4e6c00b81237343e15a41da190cf8940b641a4b42b72d9cc8bac681369dc07d80aa62f135b0f956355a4a68e575f34393c42bccea68a7a63c269a5821557299ff63b9f0161368f6084132c8b56984f4d1626d7436dae2596e1b24a86562374b066d2483a1b354fff9766845480ff396f6ad089b724b0f15a34c2288deb05a8418909803cbfe2f3c63c30056f358fab798f4e385eb0e35ed0c38ade7382787a2502d117ad0bc6cc0a4746aaad23345f10074b21970c18eacc898472766b2313472dd3348c82f69b7d961cd35a8c61984e7ca20ae6382f04a977a72b532a1395707cbb7cd595e0da0202498058e59f22e0c340c438851674e3ab1e0d872fda3baa7f87b67f449e6bb461bdf1cd771475d5b59facc30181599ddac8ce68dc2de5741b21422fdd512b39d9633adb202af3941e323c9326297cb58086c3282f722c4d50b94b32153ff30b91f07a811a9d9e07b7667846806b6f7071ae29323156b668f831a9f79ab7949cb363dcc8d151349db4b5ec1266e7f5af98105c95c0a4d47648aeeb01fbe1113948b407fcbe199bc2cdba40257745d765c6a0766012f19df41a770e96cc95d3cbc70549f7e61914a73dc71062f2a3a377ec26ded59e0cc85b11a74f43c3237c7561cb7046c0e660b5bb0ba0634ff2b211438a9b9b906f241b04b2439f29a3cf0ad9128d683f0c2c26ca050978cc179872b1664a751458c072106fdfa07d97105188278268b0481018782f361d08555fe5799a0654398285b378f7a9f143ce20673184c75e8b662085899812912fb8a60485921b2f7b3feab95cb7aa327d8b9dbcf7c7256a131270b731e33f8f555cf4f8b7a1e6aabb4c83d2938b7b21beb1c3b3cb3bc08bf52fc1f5715fa89ef8e205d85862f6a2cf420592aa24568fa0b8dcbb90d0b654c7c82c7411b6c3e219f46c352aa034c4fa0aa4fc47daac204b351497727b96714359a66466f6c4cc2b83bf6b87785367c7116489d6c5feb975e41c4bbb2a3d8fda920021c523227a438374d96032f62c41b17422584ab5880475cdda8b7f4844e5420c25d97235b0acf71012adab59298bc80052aaf1807e8015695d92184741bad318ba9ae27c306a2e42c80512534963b70b9d0b7f5ae70326c33e7d43249e8c9ce386947c167c8f33c88947244989c45b4858203249fa5a136734153cd94f1ad467b5043f7ed77f58d34490d1b5f9e323f3e2146011921b8a9f94e419bb85ad965443e7f4a73534457be43ee5f677a63a7738762b799600fa0b9cd328ae4cf507c1d9845eda77c30bb7c39c618afb402cd9b016f0092cb61e8be13a18925ca122a142409b8dc637a364093cd76925a194aeda21c61709255ba2de330693b888a6c2c6f0c39fa5b4c7fcfbcc198b3253c0abc5ab5edfb438ed3a82b72b5f54a39d21c37879480c4a648f182a94ea566c598ba4cf697140a20fdf4cabbc540b80e8664216a6e880553899964a7b239d00c68e720706512cd2a58b9c49bc0acb90283b506ca196f7855ed69ab21f059a11fa3fc4670d03a20a0337040adab8bd449e0beaa93b07512485ba33f291af1a44540bd04af4a3dd2a09f6454d7304d0944674a580551061ba5f88217aa57c10640dc1a97396f138c1a32cf40b0bd9286f88c4087f9084a9012d248c63efec072d77ab0e736719a23a913b7b8b62aaa5bb40be97cbbc1c29edb283c776aeb9b032e2c2691aec9ce89617b84b09712b40e2b713e566c714e0baa75957d6ba5062ba76471357252b72ac66ba97e10921ca2313a232a6ba908dea13645b5617938381fbcd748a11f61cbcb615c458d056f0d55a449c4f544c6673322ef106010cf139d1c586aed5a5dc210fff7a60f3138c34a4244398b692c567ade5beb55c1edcfcbd93183e1ed0c2aff5bdab67b51e39a58bdb8388d67cc1ec0d7313b7ec8a56cf3c9b73214c4ada14592794749b6834e9b81a2ba47de929e9ac7856b56549f40f38f0784ba0cdfc195952d3155222bceaba0e3c233ff7e19a65822437217a42721f9c060ac2cbb9c4e6bfa9fc3014d8add7b4bdf78291423511f9874a07e06a82b6369fe349e08333c7f56b7b7b808a0b4e888a95799a2df4873944cc43eb958b1508c66e571268e79a69178793e7a4d430507e1259d01c86f999c16772cfb7b4b330114ff55a51ee5407bce95a6d27875a91773420c24f8734b3023e9db777819ca2163c431de46f22f38398d46ee352b815b6b07e1a242b01a4230b59ea8c7b0c3c3dbe2b7c77b4c860660daa04c452e391c710722c67bc0632c072fc1e5296a2e70932d4d38efbb96bd636bb41260a7bf27cf5e71ce3708e6884cf0b8584adc3cd3b5c5ee1003a13731704472a203c8f9b49534309bf2b60cc3e2448e02b5a46d889ffd78fbe722a709a2d5b5c8a7d805bcff44052c553cb990ad016079bd87db7573eb1d431d1e549edc8ab56a0bf52999f32555e8ef2b03182bd8d812cca638055a73b548c8b432a2a7d4a6a074aa212d50362d1382747ca8dbb95e03945d95b995d6346d7db47b24b86e4f774f3767db7996335b789733cb251f9b1edd04f8f8cb7af4c947af224dfe0af6a42c7b65120b9c18abe9161d88cc5c4780fd74403cd177f7160281884a11cf686f0f523f39cb7ad39b780f13a8ee83c0d646f9d85babeb306d53a7df53ab00b5a1aa8c215914a48222940fee10d1939ba5c93617690cae113a59de071c969436b3771fc50b2f4aa641a4c852922380a420fcdfccb81816f4b474a2ab293a4d97b2b280cef031148ea7e4c9c0db7e7cd0e50b203a6b7519c3cbc8062c9b60b8b81cd956463b8180c67f34be4868e3ba94b9f0226d9f010d9ec5ef0bb62c865c807184b96526d94170af9474bbc100530f7c77e46b98c2aa41f92a48d8027c855c7f84684389bcc8e7c67164a204bc5c0c90828faa439fba235b6f20785cc8ef4c090a708bfbbe26e1933886cc96ad9b4562a119d4c66589c85bf0e55606886206734142d432c1b032e0aa93ee3731f069a8cc069a03b95a8ab873b447a04ead3a32be3054af834882bcc581712be18539b805577e50ff5d982c98c0b0dfccc96a4c6429281068c8429997dc17a6600f0736b8453e3d77636faa8d0ca89f9193bb34819ca1117ea368ea23198ee11345c613993ec052992954099bb9a086057df0c5465326e1932aa50da74aa8435d9294fd6b7c05a153f3082f68b15681cca5c2852c18d6e88bcb102a059c1d21936582adb71790cc0a33588e66590b5b102b223291cc78119bb94e799e37b95b7bef0337e6a572284b9fb +m = 01e6b1b765e4c42464f6a35d1df3d2c673d752683850fa4d147d4e0629b88b10 +ct = b7658c85d18bd68c9fd83cf29fb5f5d4885ef1b15787da9b0d8912c2a9907a4bb8cdb7eb1153c5ef77f90caceb08e698aae4b359df085869fffe6417791d28795ee961649ee1a50634cd881d75bd50b381e38e3c8cec596f4a77c737f66a942f4cebc9d1a38d1de2db59a43470075fc7dfec27bd16173953db20b8330405866def7a9bd827d6eb24adfa2d1d4103f17ab5eb86543d42fd7213a78666a2d7383a122d146182eb47d7d39f5c538e52958f82b1c52827751153b200c07b1d66825d594d434cb0b6fa23c1e462972d6a38665a2046feebc6e92e0c22ad2c5a7b7155bb879a86eccae66a2ae3348eb0336de44e1332adac8e3811295235a6c3d16256ff9c71c3fd12ad4bacf9ee78b99edea34619d2cc996df82cc9e386b95bf3aa27717194751bd556fdaa64d3572d25dfe7c8939ae6e73d52012a8ca16100b6ddfdc4f289532f02f4fb9b19d4c23d6d3f30a6742caa692582d886adf1ebb56391968de76b52d64665e719ab779915fbcbbb8604dd8b0f54debb619ff5b02bc7c2616ce6cb5bd79019ce92371ebc5c188f6b806fc4dde1446b9a812458d8d0aee6899160f8cea115d586986e1c145edb594182f56ac41dc6e3e8dd7c395f7b9f1331884390fa2fbae6f53d6eeb8852f8d18a729e755bc00872af0ed9d429eb0909d6e596711200b24bb0eddee80f0d5103099ee6adae13a24c93bd148ef1feac537f752b83d55462483289a305aaf1516da3dddeefd2a386b1665d3b3035121a527a4b54b27181d4d00cc6ea3fff186947a253e725b1c043bde2018117ed2ad74c6b4dbdb4623ca3617162b3a1ce679cc444bfd12b24f0d2d98e85f0ef03de3391f0f854d28259697cdadf7a7952e08c6b521938655c6687838025488d7b8847ba37695bc1cf34ce8c25a86cc6b8438acbba14bf283c817b5c1627e8638fddb0714308c9197ec057122933fcc9cfb7bbf195d5091b98f7e6a6f80634232cdfa3fff0b279239c48dff4d2aade1a909ec15deb7e9a56505ba422435bfffd81a6ae8efbb4d72f3c1370be278acf0fccb3f9c82910e0c92b006e39388d42104705a147e4fbdec5da51e0f70ef4c51f8d2998478d2efbe725776f0cb0e00ef3f374d1a80bafd50fe362869645c7902d50051b603f8329c02aa7595e17c1a2dd9dd48f90ba6e4b06993970df2412c081a5e5693821c85d8b6981916264a7cc7affc224a47d59db9df1f30dc726d6f0f81c596a092f626a45574e518d1570a77bc427fdab6a6c8e0f8e8281f86e1ffc8418ceb0eef8ced5ae722e6059ca59432aeb5027e3f4eca4d33e782b07f95a01c3c3deae758a5e8429d1cef9f86e1c225510fd6f1e1a94f672fe3f350df561abe16ff5ba41ac13e061cfe3115e3d614224df0df8584d014eaba340e2512d0f58de67d71a4d9da16c7b5bcc98306b562278d6d5b352d20ceb8f01655225c08f2e61a8c97108f426d8137ca678b3e15a18ee23ecf74e1205b0c4fee6883328e262b121e2451efdd66353da8572ca87177e7165e7da0e56 +ss = 11289a8c4d0acb00567e38127f448bc5ceba08d0a5d7530d6ed38a60a2d255a4 d = 3a19577908efd37697b8edc7fdaf47d1bd3ad01a1b77faf794bee5b9c3192a6f -z = a3729672816f3eba84c9638a79676eeac0f22c8a48e0c5d50a26ff0844c66b99 +z = 08a2455063246eb5761e908816e48990d670308b0d34d7823a325d49a1a4dc0d pk = 611ba36d3a65c0d17cb22b7f3a682b593595b1c682d521a16dd621a05a7d22c9b2d29c9bb75cc5a8567ed3a545bad39e2c85cec0f83f37c6aaf101bec273bca5d606a5e76fdc183175a233c93373e956580a522badd22d97d71199c1a7b4149e652686eda541e69187a2abb68f89ae9492443547cfde7b5d609b4835911d154c33e49248c4cbb244acbf03e93e52e71ed87a75cbc43c3f505422c1ac31c014e82009d4b13bf2cb7dab16896a320fe6c0476f37767ccccd80850dc94b410b983fbbcb484dd09b44a817fd95686106c710d983cd2bbc11dc4ae59091a401a6941bc704142c792c407f7524ede1a71a726e2f921b0626768307c31dab514a783febd67b50e93479d2c7d1787142f591607b7a5626a718d502b37a6f5b8766e8175c6ef276934a12ac1107aa3362840513d3f5c02042ae681181dcab30f6810389db07c3fa1790345e786031e3196bcc01c22bd064b2f9c439d7b7a7b7633232aaa4d88e0288cdb791049b8a8c64883637098def7c88fbcb974554af0f3c51c70a758176215871227869766452871602093d6949e1d078691537d9d7030b36926147aff8151cfba202c0364795122d1d748a18289cdb33982900b38ef9aaa5d10d146985c757ce5cf82ae0a2489e0c00c83550d455a03fc885dc7a5ebcd71529ecb0ca13ce1259186f9b0ceb4b90789aca0762c8bee063780801ce365540f440b0aa0128103ae0f5b4a5d9b98ff3aec5793e8fd046a7e15b517c5c4164105e87c593db19b85792b6c705e615c4d95c38bc4bab4f30737a20241a3189eb38865c6b60f6341dfb931626e729ce39313e122687862bced934ccf88411730fd066be831542abc5b15a1cb2d3f0aeace904cb419754d9a5cfa35d72e570c8d3b0bde5a5b18201f14cca3e3564c16769757a2daa89b03dd993ec8b7c9fcc63098478af1890346a8824a4b142f88759f382292ac404f436bd21282d6a3242417b36211c84b75f388151f087186cfc01e59383e8218039db15da50120aa1c5489743bc42335a774f8494a4244acb6677b22a46224df7bdd8a9292ae58e07f3068cd975abb51e44631172535e52c910b48748a190c50d877903a4c7b9f4b18993669d254ef566058528a157428111d43d360ab54343adebc2a3636720f1e0c8ccfcb0fc3b71b55353c2682946408cad171fb711cf0b3ab561ba6722647acee4b8daf0aee2c43352609dc617549841adac54adfd3319efc715dd917ab2b887dfeb49cbb6323acb566e43638a5c9b6f865da4157cc3f866066a551230a335510f55733ca4f3a6329aa0830894e06a05ee578c45b3117fd07d62718a9842ced5f49710f7b15741ba5b06298c550b96bc6fdb0561926240faf09012e2cb49c66868e27ea318aaac50bf882c5bb8e674381a96645b7a7dfa936201933c31955e24912e436528027b39f74a909aa5ef4653cc23c5e448be6f81088fd322fbb1779be52ad60005c2f57241932ea3b435c47a39e6e0477b989c00bd5ea71ba671d8a37dc64d36216ccebb14e6dc7420c362926b555598b92f6a78061423a4cc8961d57733982fb8c78573c35584185fed801ea674a7fda06008517b42d1a45fcc50416883d0963d3b744edb5e8548c3b3dc474f7843c49a8dbfc939c41af7f8ec6c8354aeb0c67e05eae0 -sk = 8dc4a33d0a013d102a7ed6a5303693669033816bce0c8a83594695531999647a48f6708c65220be4d9a60f013201a36ee053796356b26e3617126c3d0a354d2fbb82312a372ffa37b939a7bac8ad0e127f18eabc771462fc57b542a73bb7067fde6bcffe4982e6db3394264d34dab222318856ba8b6919c5a0a667866c0d2166b69ae04432c044f289bfd7255542cc7946b82c2db388c8b656f234a3b607c2f6611acc3a5a12c8111e42138abca9b8dba79921a177682c2ad1138b133636951f5aa77a52b7554943af52f7b53d0b84ecf44fd77018f7062e564c5e58753994724242d6b3a8f8a66df518f7e13a0a5c1c4b253dce12ae197342f5d72c296498bc9888ec347f528958aa689c8ddb81870184c9e2254f918b7465354826870300790044165216c8bc279ae93854381c28cb438bce444b2258afc3a84cd4f91de8373f877b30137c4ce4664e4d330bf763b344489604e97f4c9c24ffc226d07c5824ccabe38cae22487ea2ea0e89920f304bb911b401f45735089512dca2298ea1a57f643cd7524a3d6c9f055b25eaa62fbda318a7b8c8dc9c5cea953ad5170c0452a7bc04469987712d0522256a1ec52961561175c32abe93dc5ed37289b9d4cbd3966911fab85fe47b3c68692cf5a845286baef91493e15c6d23437bf7517ec5cf609c8628d82ff7cacb54d4a5ead25c85f59ab51151f9350247782459b598a2089a85f2c9bf66797e863a4ca0732268a4e40c57009d0c7d1ab1ff46b78e350dbfc19fcae823bcc040183a27182abde00a966a6075e68c011aa62eef913024ccc85b460098facc9c4c81d17c577bc009b8f9416d225d156c4e75b84691a90948d31883b1b2ab3635dc357ae867b2496983cf9595423c541e3c17947042b3d141ef825c99862302ba911c67619434b3f9cc489e8c8abae92af1ec3045c895edb41f745aa1f3d1a625e47eabb49432129a5608571431c4890c8fa5769563b8b1f9ba3c1b77b034f568038865c90304a4f79f65f74c17fab9e6b52236cb636ef5b686271f955a9e889b7a1ea1a010828aea1a838de1723f0149cf172f48890161c34039e99b36185f068b5707fa476d650bf149479b8c928f93089a4b941047b5b528135685797e0b9e65f595d9016a614393cfd630c6a217d0a03091853f606b238ee13c92c2b5d9e19b2c57638ce82a3d767639e115838b8eeaa5a47b7b686ea05cc088abd47a10ae593ae39a07f55cb4c1347acaf7cf59422182749e6aec39d62ccb876094ba3cc0b871c57a03a00ad67c5c1c6ef911c6dc36b13cab713be1a6610caa46db4ebb86b76572a0bd60adf163b325c89b506c33cc343c37a2bca7cacabd90494f044b550778677c2ebee76e03622705556b509c204087b5c5e5936c0153857691c3149521b800b76c43195897067529a4a87d68e974ed57178b7980eee227e4150af1234025757eaa3b645064202d632eaea3943b40cb10922bf569ab2c44867c411bc8240d110134d78143d3d44b450056be166b57921fe64a44f80968a1941d91a971e10c347aba369702b1ed542984f28b6254bf61d94b69f015b0e32b05e8897502238fd21d87978eaad45bf5997654b40a903319ca64095c9297611ba36d3a65c0d17cb22b7f3a682b593595b1c682d521a16dd621a05a7d22c9b2d29c9bb75cc5a8567ed3a545bad39e2c85cec0f83f37c6aaf101bec273bca5d606a5e76fdc183175a233c93373e956580a522badd22d97d71199c1a7b4149e652686eda541e69187a2abb68f89ae9492443547cfde7b5d609b4835911d154c33e49248c4cbb244acbf03e93e52e71ed87a75cbc43c3f505422c1ac31c014e82009d4b13bf2cb7dab16896a320fe6c0476f37767ccccd80850dc94b410b983fbbcb484dd09b44a817fd95686106c710d983cd2bbc11dc4ae59091a401a6941bc704142c792c407f7524ede1a71a726e2f921b0626768307c31dab514a783febd67b50e93479d2c7d1787142f591607b7a5626a718d502b37a6f5b8766e8175c6ef276934a12ac1107aa3362840513d3f5c02042ae681181dcab30f6810389db07c3fa1790345e786031e3196bcc01c22bd064b2f9c439d7b7a7b7633232aaa4d88e0288cdb791049b8a8c64883637098def7c88fbcb974554af0f3c51c70a758176215871227869766452871602093d6949e1d078691537d9d7030b36926147aff8151cfba202c0364795122d1d748a18289cdb33982900b38ef9aaa5d10d146985c757ce5cf82ae0a2489e0c00c83550d455a03fc885dc7a5ebcd71529ecb0ca13ce1259186f9b0ceb4b90789aca0762c8bee063780801ce365540f440b0aa0128103ae0f5b4a5d9b98ff3aec5793e8fd046a7e15b517c5c4164105e87c593db19b85792b6c705e615c4d95c38bc4bab4f30737a20241a3189eb38865c6b60f6341dfb931626e729ce39313e122687862bced934ccf88411730fd066be831542abc5b15a1cb2d3f0aeace904cb419754d9a5cfa35d72e570c8d3b0bde5a5b18201f14cca3e3564c16769757a2daa89b03dd993ec8b7c9fcc63098478af1890346a8824a4b142f88759f382292ac404f436bd21282d6a3242417b36211c84b75f388151f087186cfc01e59383e8218039db15da50120aa1c5489743bc42335a774f8494a4244acb6677b22a46224df7bdd8a9292ae58e07f3068cd975abb51e44631172535e52c910b48748a190c50d877903a4c7b9f4b18993669d254ef566058528a157428111d43d360ab54343adebc2a3636720f1e0c8ccfcb0fc3b71b55353c2682946408cad171fb711cf0b3ab561ba6722647acee4b8daf0aee2c43352609dc617549841adac54adfd3319efc715dd917ab2b887dfeb49cbb6323acb566e43638a5c9b6f865da4157cc3f866066a551230a335510f55733ca4f3a6329aa0830894e06a05ee578c45b3117fd07d62718a9842ced5f49710f7b15741ba5b06298c550b96bc6fdb0561926240faf09012e2cb49c66868e27ea318aaac50bf882c5bb8e674381a96645b7a7dfa936201933c31955e24912e436528027b39f74a909aa5ef4653cc23c5e448be6f81088fd322fbb1779be52ad60005c2f57241932ea3b435c47a39e6e0477b989c00bd5ea71ba671d8a37dc64d36216ccebb14e6dc7420c362926b555598b92f6a78061423a4cc8961d57733982fb8c78573c35584185fed801ea674a7fda06008517b42d1a45fcc50416883d0963d3b744edb5e8548c3b3dc474f7843c49a8dbfc939c41af7f8ec6c8354aeb0c67e05eae0104fbf09445794c0ea0654f5caf70ee09d51c8386d4e1f467b10633c710ac2a4a3729672816f3eba84c9638a79676eeac0f22c8a48e0c5d50a26ff0844c66b99 -m = 74efa414ae171bf60b6f884cb7e5ce12028f49365daccfa23e845d551711660b -ct = 8b40cf1a2d7e21f68e130a85c5a680c65df56b5cc055d26ad8e6a7e6e75bf88fcc88b5212f2b78521df1a8f3b1a1d3091cb9270d1aa7865fd1e3aa8baf208fc1a8b80cdb1d0f229489c15fb02d60f44e09e942d9e36acee57013f2f40c17477dc8d2bceb137e92c140314e8d6f38328056119c757493633d2cdeca9c0e1e727f47406bddbb7a9b056ef6e4d149498cecc738d835d0d99a5703b0b9bff04883fb064009f6961363323b7c47e35983f04abfc00f74a63923da69cfe3784f8999f6e4acdc9b9e06e743c03b4c0cc2a404ddb7654888daf0fde21ffb1a96d81d95eab5eea064938bc105439e287eab89aed0824dfd4ce65ed0b8a8ffb674ae38ba39a1fa3a8dcf36cba494a5855ace0b4f8145ab9c636f1a4d6af147ff23f94c021e2da8d0d05564d6c85e502e753b8ee49898b66b6f078a99675435fcab58ba8c9979761906986dfa4be67314a3515aa24a0c2757a95509498e08eeb103ad02ba5711e2c84f25e651a611c5c5e48de5ba54f9c2e6d9930d7f861d14f5cfef3d297593abb5e77cec126846e15238fa7984d05e86dbdb12cb1d44445f9538f89fee20f677f05437bc27068c61d4d095cc68327eca3764972b494fd2838400fc3a6f6c64d4b17683a7e778c3807c6f1c1c6a4d92afd6cad80de8c57f06ba5919b10aaba0605f19f61ed80aa119035f37d3f6d8a01e2d72e6c53e47489b5dc876cb99fa742618c9e5016edcf26d78174ac028c832a1c1ae30514abf95c35a35f9387d3a30946aecdb5642c0b84150fb8f0ed1dd06f59fe575330ee2d9d5675ae705986d1308923506d47ea2b2ffa7b92fc2c7b2745a07f6d331ba484145c98ef78736a77aecd75c56d719ef112646f57f6166986fa33655d8db7d2171704c5d69ab50a9588efab7ed1b834d8903f2770cfacb204a4b143262afa85e20da03d94c22a39a9145b9143e4952722c2cc6da0723566bb2eb9e1f2c30814a9b80db5192a673d3a8e8003d30c910b9d31191941e824563b41dab9fa47c6725986d5ec406b8e43915057d1eb15f68eae588289d5c4d5afc0ba4fe38d765786c4f4820415678f79330138d2fee5e060df6fae9b1cac289fe2d20b298100d0ff4ee76b59ee7dbca227f4579bc507eb05af390a2a445bdfe1885d8659a776f3dc6bbb760f93598dbf29f80108a2f007c901f158ee5328bea6893550ff0e2b2c51fd5fe1269177149b89ce127a7097832003df2a420fe8d674ebb2cfaf2385c13643acf832e2d27309a6246fdb1cec405f1c39aa2986be172a48f8054989df59eadf564d99e075cf9053574fbe0b5fbdb1e4e173d4336a8abf77a6348cccb49b5b1dc1d75adc8647792d3a6c4aab50ff8c0bed7e3a094d0a6882f4547317275837dc7bf460fd37a396e6a4f3e13c404239c58c9ec850fd89c7359f9bb2751fb60a932eeebcdfbd21c8e3527e4455352ae13d402d45ca7948e6211ce31ed48fab0ecdad75d0fe5cf564d521fd2ec76bf52829606eea3170bd44545b710f2d731a18bba457b4530ef9bac -ss = 2e8ff9c053137ca6b6c31ce8ba7f14135a7e102c211e68eb99de12b94273f9e2 +sk = 8dc4a33d0a013d102a7ed6a5303693669033816bce0c8a83594695531999647a48f6708c65220be4d9a60f013201a36ee053796356b26e3617126c3d0a354d2fbb82312a372ffa37b939a7bac8ad0e127f18eabc771462fc57b542a73bb7067fde6bcffe4982e6db3394264d34dab222318856ba8b6919c5a0a667866c0d2166b69ae04432c044f289bfd7255542cc7946b82c2db388c8b656f234a3b607c2f6611acc3a5a12c8111e42138abca9b8dba79921a177682c2ad1138b133636951f5aa77a52b7554943af52f7b53d0b84ecf44fd77018f7062e564c5e58753994724242d6b3a8f8a66df518f7e13a0a5c1c4b253dce12ae197342f5d72c296498bc9888ec347f528958aa689c8ddb81870184c9e2254f918b7465354826870300790044165216c8bc279ae93854381c28cb438bce444b2258afc3a84cd4f91de8373f877b30137c4ce4664e4d330bf763b344489604e97f4c9c24ffc226d07c5824ccabe38cae22487ea2ea0e89920f304bb911b401f45735089512dca2298ea1a57f643cd7524a3d6c9f055b25eaa62fbda318a7b8c8dc9c5cea953ad5170c0452a7bc04469987712d0522256a1ec52961561175c32abe93dc5ed37289b9d4cbd3966911fab85fe47b3c68692cf5a845286baef91493e15c6d23437bf7517ec5cf609c8628d82ff7cacb54d4a5ead25c85f59ab51151f9350247782459b598a2089a85f2c9bf66797e863a4ca0732268a4e40c57009d0c7d1ab1ff46b78e350dbfc19fcae823bcc040183a27182abde00a966a6075e68c011aa62eef913024ccc85b460098facc9c4c81d17c577bc009b8f9416d225d156c4e75b84691a90948d31883b1b2ab3635dc357ae867b2496983cf9595423c541e3c17947042b3d141ef825c99862302ba911c67619434b3f9cc489e8c8abae92af1ec3045c895edb41f745aa1f3d1a625e47eabb49432129a5608571431c4890c8fa5769563b8b1f9ba3c1b77b034f568038865c90304a4f79f65f74c17fab9e6b52236cb636ef5b686271f955a9e889b7a1ea1a010828aea1a838de1723f0149cf172f48890161c34039e99b36185f068b5707fa476d650bf149479b8c928f93089a4b941047b5b528135685797e0b9e65f595d9016a614393cfd630c6a217d0a03091853f606b238ee13c92c2b5d9e19b2c57638ce82a3d767639e115838b8eeaa5a47b7b686ea05cc088abd47a10ae593ae39a07f55cb4c1347acaf7cf59422182749e6aec39d62ccb876094ba3cc0b871c57a03a00ad67c5c1c6ef911c6dc36b13cab713be1a6610caa46db4ebb86b76572a0bd60adf163b325c89b506c33cc343c37a2bca7cacabd90494f044b550778677c2ebee76e03622705556b509c204087b5c5e5936c0153857691c3149521b800b76c43195897067529a4a87d68e974ed57178b7980eee227e4150af1234025757eaa3b645064202d632eaea3943b40cb10922bf569ab2c44867c411bc8240d110134d78143d3d44b450056be166b57921fe64a44f80968a1941d91a971e10c347aba369702b1ed542984f28b6254bf61d94b69f015b0e32b05e8897502238fd21d87978eaad45bf5997654b40a903319ca64095c9297611ba36d3a65c0d17cb22b7f3a682b593595b1c682d521a16dd621a05a7d22c9b2d29c9bb75cc5a8567ed3a545bad39e2c85cec0f83f37c6aaf101bec273bca5d606a5e76fdc183175a233c93373e956580a522badd22d97d71199c1a7b4149e652686eda541e69187a2abb68f89ae9492443547cfde7b5d609b4835911d154c33e49248c4cbb244acbf03e93e52e71ed87a75cbc43c3f505422c1ac31c014e82009d4b13bf2cb7dab16896a320fe6c0476f37767ccccd80850dc94b410b983fbbcb484dd09b44a817fd95686106c710d983cd2bbc11dc4ae59091a401a6941bc704142c792c407f7524ede1a71a726e2f921b0626768307c31dab514a783febd67b50e93479d2c7d1787142f591607b7a5626a718d502b37a6f5b8766e8175c6ef276934a12ac1107aa3362840513d3f5c02042ae681181dcab30f6810389db07c3fa1790345e786031e3196bcc01c22bd064b2f9c439d7b7a7b7633232aaa4d88e0288cdb791049b8a8c64883637098def7c88fbcb974554af0f3c51c70a758176215871227869766452871602093d6949e1d078691537d9d7030b36926147aff8151cfba202c0364795122d1d748a18289cdb33982900b38ef9aaa5d10d146985c757ce5cf82ae0a2489e0c00c83550d455a03fc885dc7a5ebcd71529ecb0ca13ce1259186f9b0ceb4b90789aca0762c8bee063780801ce365540f440b0aa0128103ae0f5b4a5d9b98ff3aec5793e8fd046a7e15b517c5c4164105e87c593db19b85792b6c705e615c4d95c38bc4bab4f30737a20241a3189eb38865c6b60f6341dfb931626e729ce39313e122687862bced934ccf88411730fd066be831542abc5b15a1cb2d3f0aeace904cb419754d9a5cfa35d72e570c8d3b0bde5a5b18201f14cca3e3564c16769757a2daa89b03dd993ec8b7c9fcc63098478af1890346a8824a4b142f88759f382292ac404f436bd21282d6a3242417b36211c84b75f388151f087186cfc01e59383e8218039db15da50120aa1c5489743bc42335a774f8494a4244acb6677b22a46224df7bdd8a9292ae58e07f3068cd975abb51e44631172535e52c910b48748a190c50d877903a4c7b9f4b18993669d254ef566058528a157428111d43d360ab54343adebc2a3636720f1e0c8ccfcb0fc3b71b55353c2682946408cad171fb711cf0b3ab561ba6722647acee4b8daf0aee2c43352609dc617549841adac54adfd3319efc715dd917ab2b887dfeb49cbb6323acb566e43638a5c9b6f865da4157cc3f866066a551230a335510f55733ca4f3a6329aa0830894e06a05ee578c45b3117fd07d62718a9842ced5f49710f7b15741ba5b06298c550b96bc6fdb0561926240faf09012e2cb49c66868e27ea318aaac50bf882c5bb8e674381a96645b7a7dfa936201933c31955e24912e436528027b39f74a909aa5ef4653cc23c5e448be6f81088fd322fbb1779be52ad60005c2f57241932ea3b435c47a39e6e0477b989c00bd5ea71ba671d8a37dc64d36216ccebb14e6dc7420c362926b555598b92f6a78061423a4cc8961d57733982fb8c78573c35584185fed801ea674a7fda06008517b42d1a45fcc50416883d0963d3b744edb5e8548c3b3dc474f7843c49a8dbfc939c41af7f8ec6c8354aeb0c67e05eae0104fbf09445794c0ea0654f5caf70ee09d51c8386d4e1f467b10633c710ac2a408a2455063246eb5761e908816e48990d670308b0d34d7823a325d49a1a4dc0d +m = d7a9ee0513802fdfc6995a975c992350a5277ee79f1837e66959d1d0016eee34 +ct = c173dd81eb181fa2afd1dae26b2db2b18773f375c047ddc52f7b6eb3d25e924c4821558373d9925bac6bb80c3dd2223672c3bfac360f9aefea371b87dd5a20c73d2bb5a4dfb7e9ae2d3fd659501c4bd5932cea9be91905fb714c8494c1a90cc525d7e612c9c6f3961cec98efc7c04b48a5a38e48567cf3523a924918d2fb68b741581d7410d447f14fee3a29150870ee891e283c2b15feff76c6facb1f6c82f12e22dc2cec8cbe474f5d61bbb766531c982c0e6329cde58dbbb90597822f86f03e8e0435aa9e28d04bf89c30945c1e68dec27ba37660c03cf356c534c763a5032c14050e1dde0624464ff8de43e4e7bd46aefb4b97a89e43d015fd23e256b2c7b4dd9467e2c077025da3c2a99d1eaeab5e341781ac857a5973bb44b34b9e058ed0706c20618c48610964f2766545075a056524dbf5b2b9f668e4d32a69e2e016997a00cf1f00db372303f2a3a81e73d6fef7de43286870805cd41c83509d8745ba94fc763013e08d4a5a18c2c6771cb1e601b9135827071a745583e1055450377eb52679fb9cde898b1fbc76ad6f5e70600542fec5e9ea5117c7ec81a9ac6d3fa3c1649d75bb2e67aaf2a0bcdf2af388fd128d49fb3728c1588dbc9549bc2f6a9c6f0cf5e4ccd9727633be5eb5ea3e98fbb8d54b008f48b669e9d87739dfcf847c2bd9fa97e4805fd1b5b6528dcb18e7b06af2a9b6f50c595173580161e4a05bf7c0d887d1327989cd6c3b5b426a52b0d927c7cb6636278d31930f9278a23c07176379370501a78a886b2bdd05025a0e23562e23c1c6042caa1dd2db438e8f3a0c1386c360b08c25c7aace0ad55f6c3257b8c0387dc2119e89aff41c8998632b65dd7bcbc119e544b224ba11c3705e19a58420a28ad0f90215e239b71a925deb75247feca05f141d5114771da5fb11b57cbb83bc93d529137ae6ef81602841ca2eaebf8d142a56a3a0836e77a5383220d5e30722cd70c872083bb752468578e5f7ef05622e768c83c2aff787aa0563c6792020c653565bef985669d5067c2d2aa6692e1aac6744659c3a1b70dcbb851490a620a50457f2f31d3d3b2c197b90d83d8e723ce61efeb11d882a766c3c1f7e0ea24283ba67f06ad2bed185881d4d46b7ed2b48d35ab1a5ab85767a7229f75698463a8f078bf1b9017bac783db6311f9fe659496b53271097e8f2067eefa35cd8f509e0d1d5063559f9843b178fc5c28d910e7b2f31235be3869247f349e5293c0f2ceb4db0e908217292ac9b601ee0ed7a82b499053fafe84bc9432dbcdc6ffc5093a09c4a60ca1e844c4851d78fdd14de78f847244a55e8de3ac4074e9e2749ec0ca345730991505c474048565bb551e1d93c4571f0378440d7644c92b43b8b6aa5baf437f87736817c6cd98c6524092404672b8cb5454f2ae591b6b18b920cee22f4517e609e3efea6f05c0feb963323dc6c28548d1efd2742c9dfc8493b582e2855adc17c44252344a4078c704a39fb7ebde0a8be24aad1143ddac3937459a7bb4819ad22c94b6d1699282aa059 +ss = e9616b25a3261edccadbfbe4b797302c1101431e02cd2e47ffb4968086644749 d = ae0f65e29f38804a6759f70f4d01e2aaff7fe1c91ebc4f892dd0de3ab2e68ea5 -z = e03ff73e02a217659f53d8c47556bf3d8c94040f630d63605e2d0f923579370c +z = dad700cfd0bfc439237a0cdb3f7d6c76699aad545d0acd755f14f7cb3b30096c pk = db0a138c9442fd3a7580e68eec01077d31525465babef901806363a2d664ef8c1908a30491e336e27b0f8690ac71c30adb145805a15fc654ab8982565eaa96fecb93a2ec7ebb697652965fc5ab837f6b7a20e224e4361977b71c694a88e5252f608cac97e97dd7c80a5ad10d62681b57162269f7b8d812af039226ce2a7930e43007c0b3ec6a4cdb3897ee85796d051cb053881e1b9706a572ccc75d0ef32f92610c40db4553824f1a352fefd979a310124b9456a9106367ec6a50db6fe0b057fdbb00a46028c0d6a638bb7f2139ca6df68f014c4e1e0b79670869353912b5d67edd4b77c70c067aa76d174cced6c7a901c65737082276188cffe28bcfaa2604447e68d490c0f11cd22b8c351c2d63e7a01ee460bc408e174bc4a6cb023492c6eed42f5d85244ec883b1b49b8e3584f27835f21b6b2e6060e0671f289771d124168e196edacc1aba26cec9e09fe7367f46893c2ea3677caa3005e34e722608a3b64a3b987289952dd695a82de89b9034390355c5e33546eb833f602cb9324c095bb4cf66c05fa0ab98d69bbdcff155c3169f3df2a575901724b678fb080b67f32240ab8f0198cb43176f6ffc93fa602748d591f0b2acb9aa67a8d8b15c27140c320b0ee040e737077a8c9fd6a20dcb865ff51c41808757b0ca750c502a356b1c7d821f1bf804ae2b337819c5ea89542e079045c887ba6550e4f05693f5c7012424d37a17e2294669c0538ce69a1f1c1f121784e3c3537424bbc4d73cf1a685f03a24c4ba8fd603b328d2a07fa2b714dc1eed17693727732ec7be2b02c0614caf3d42b222061ddcd758a0674133e6cfc5362f855b717695acdb971aaf16320690606c1c42238856d757b5d610bd64427f04c97abe1bc6b0185116cbbb2dca28b5d7a9aee205dbd37e92bb36311c8936d958aa1744ca67332a600d8c719377273c7fb0029f27c75817746e1058dd196de71b0e4302682da21b4ec1beca3cbdf690509573959d816cf5fa034ce01d6a4ac477e3bfea75732678aea6c0a5401c623dc225c7a9a7ae6a572f738387181913cc71b9379a5a2bbdc45773c6a1167fe756e13731f47226bc678331312b99428b07b2122b2b9dc86b01c5f090ff632fa83b598863c0b42623549ca831f66bdbbbb1d4747d56a97dcef9c81766a3d90043c1a99ce5e81105e9113043342a539de446a7c5f9c4b46a8cadec388fbb8bca527d90a56c649200cb2a7f968611934014f9a7b6faf3015bf6494ef72fba0c7ba40c499357acc96562c65b9ca7c53231045e35771947172118eaa02cd95f7137c93e2159d9389607c3011a76363560a97df950b0329258b0126c7bc10e4081ce46b7c7b0af0752b038386e9afa2d0a7543d85ab909376b618c0a2d33875d264b76941430e81c48832f43270160176ed5938492a06cc08392237caa8487abd3c83019000bb6671784109c7bc4c2a0362a5b5122e620aba511c49ca42d75091b3b1abaad9b8162bc27f182ae310872e789cf05f6c949598c41c3b73a1a9cc0808e68f95c8ad8392f021f77c79618685db2fb1d04a9a8acb8441ccc764aa3b191736f5a24ae31c23428390c1c22c6a6052664db63b94960a433584036c05e031a07823a03ca153015fb2665c77d8fcc529f21afde0d4f32cbfa399f2973d812f516c86b -sk = 38bbb649e7520a59ac57783e32a5022489365713cce30171ab46ab219b7e81369af44bab6f5badcf613e963938a0829ace625bd8594ed3c0981c5963f68874aa87685599041c4c296b4cc181e57667d499b2f961f44773ca958193e97988d816d702078c0147e41390f503921f139384d75efc91cd08544536b4c9c09bcc2914a807e090d98b5c07c1a4a0c16ff0eab557e5ccc1871ba1a36ff66b1acd113facd6bd16053f22cc85634a3d56e564e30862aa1409d48aaf92643b62009f8e206c2c8bb7f357b9432a8474349c3e1679f1d154cfd4a373665a86c481b9c3163308cf3a1a265a6313d0068ba2181ae5e5a1114995005c8fb574c4a7da80562953348a80bc23cd90c37a2d166ee4e895f2a429aff3c9eeeb869ec9982d367c5809396987a2efe93dfda2cf45e774cc3541bfe655a7280af9b7601fa5183ab62682465fdb273ab435355b84563047bc4c6204aec310d4b91e8b849182c16a57605a6f5690d3804d8857379e11b324977f30b461954a17cb16c4dd93761224a47f4c680373c51de251cb69a2c737cbb1f76d7278033ae86480c7776cc7ca02393f333b6cc00c200ae58922756d3664a30d7b262302672c27a7496746f8f56797726340c734473522fa880819d76a004a480f48b74f7c6ee1998741d39fec12759670b4e8057aedc67950b929e200526ba5a27e0bbb67570bae100b77d525af70b7b6143a7419a35273c14b492e1e42c5b5918a62f3c829a50c1fd8715b030cec454c90c72e6509ab1936ae7490c6b62a6720a840aa714f7b6b0134335c75c44a421598b790631e2ca497e256be08910b69c01997bcd20591d1967ef5ec5c035b0c1f19a01bc0103de6cafda45db70950cf551da2442741eb7233b36396c124c6365a83b66d9cc896ff448f54194fa05267b8154895173075039143dcc58062cbbb1946a917abb184788052920d1428c856bafb3461a463627ec7430671ce75bc2adc95622eb2925a582a15e487787389bcf14dfd84801a37bc39136cc1a49cab7cb924772606d48d3941bccd3221eb418b12a6342ab6c357f273795339bbc720439aa9cd5a478122b8b01769edb013686c8e872a4e2c049a755a8f954614665c61d5d9aec7d67cddb779512a308ba3cffd5c4bc642c091226667c40957c17b3c92bea102143dec663b6155464ac7a9559c533a647c5a106c38972a26beab45c2f04c974c9bb860bca64615b6f0782305c81862abc973d280088bac791876d3172d4e340f26452f60009a49989bec107b680b62cdc12751f9079ed07c28143a405a600a974230b20719b0953da3c2da574ce2c31786c77600646e25b3c305f6507d91084a836366c273d62c526e0630f9b483caf335d6bbb5bcf4adeb4143443a07055349cfb690948487f7795b67dc2e45430e7a5c9564cc84cac0ad0832480aa844417446b9b086a493b7aa163b76a50f35b7384bd054147a8621674843c3040ce06eaec68b6ce8a2c5b42390c76350e10dddb35c9f4c4a1cc148ba08601f92b2fb12c9088922c3463139239a62e878e4db61a3529a8fa7905a7a1aaf90216dab5026469b27d4122af5561bb91d111a721a78587eea259a4c7f6b743574398e30a119db0a138c9442fd3a7580e68eec01077d31525465babef901806363a2d664ef8c1908a30491e336e27b0f8690ac71c30adb145805a15fc654ab8982565eaa96fecb93a2ec7ebb697652965fc5ab837f6b7a20e224e4361977b71c694a88e5252f608cac97e97dd7c80a5ad10d62681b57162269f7b8d812af039226ce2a7930e43007c0b3ec6a4cdb3897ee85796d051cb053881e1b9706a572ccc75d0ef32f92610c40db4553824f1a352fefd979a310124b9456a9106367ec6a50db6fe0b057fdbb00a46028c0d6a638bb7f2139ca6df68f014c4e1e0b79670869353912b5d67edd4b77c70c067aa76d174cced6c7a901c65737082276188cffe28bcfaa2604447e68d490c0f11cd22b8c351c2d63e7a01ee460bc408e174bc4a6cb023492c6eed42f5d85244ec883b1b49b8e3584f27835f21b6b2e6060e0671f289771d124168e196edacc1aba26cec9e09fe7367f46893c2ea3677caa3005e34e722608a3b64a3b987289952dd695a82de89b9034390355c5e33546eb833f602cb9324c095bb4cf66c05fa0ab98d69bbdcff155c3169f3df2a575901724b678fb080b67f32240ab8f0198cb43176f6ffc93fa602748d591f0b2acb9aa67a8d8b15c27140c320b0ee040e737077a8c9fd6a20dcb865ff51c41808757b0ca750c502a356b1c7d821f1bf804ae2b337819c5ea89542e079045c887ba6550e4f05693f5c7012424d37a17e2294669c0538ce69a1f1c1f121784e3c3537424bbc4d73cf1a685f03a24c4ba8fd603b328d2a07fa2b714dc1eed17693727732ec7be2b02c0614caf3d42b222061ddcd758a0674133e6cfc5362f855b717695acdb971aaf16320690606c1c42238856d757b5d610bd64427f04c97abe1bc6b0185116cbbb2dca28b5d7a9aee205dbd37e92bb36311c8936d958aa1744ca67332a600d8c719377273c7fb0029f27c75817746e1058dd196de71b0e4302682da21b4ec1beca3cbdf690509573959d816cf5fa034ce01d6a4ac477e3bfea75732678aea6c0a5401c623dc225c7a9a7ae6a572f738387181913cc71b9379a5a2bbdc45773c6a1167fe756e13731f47226bc678331312b99428b07b2122b2b9dc86b01c5f090ff632fa83b598863c0b42623549ca831f66bdbbbb1d4747d56a97dcef9c81766a3d90043c1a99ce5e81105e9113043342a539de446a7c5f9c4b46a8cadec388fbb8bca527d90a56c649200cb2a7f968611934014f9a7b6faf3015bf6494ef72fba0c7ba40c499357acc96562c65b9ca7c53231045e35771947172118eaa02cd95f7137c93e2159d9389607c3011a76363560a97df950b0329258b0126c7bc10e4081ce46b7c7b0af0752b038386e9afa2d0a7543d85ab909376b618c0a2d33875d264b76941430e81c48832f43270160176ed5938492a06cc08392237caa8487abd3c83019000bb6671784109c7bc4c2a0362a5b5122e620aba511c49ca42d75091b3b1abaad9b8162bc27f182ae310872e789cf05f6c949598c41c3b73a1a9cc0808e68f95c8ad8392f021f77c79618685db2fb1d04a9a8acb8441ccc764aa3b191736f5a24ae31c23428390c1c22c6a6052664db63b94960a433584036c05e031a07823a03ca153015fb2665c77d8fcc529f21afde0d4f32cbfa399f2973d812f516c86b0f353d6a29813d354471eb8b4c38df93939eb3b1db80ddd1cdd6558a9f2687a3e03ff73e02a217659f53d8c47556bf3d8c94040f630d63605e2d0f923579370c -m = 0b4c3cffb2ba4380ead13dc0d8acad2356b448a810da1df29f264c44aab6d24f -ct = 087b75b8a26b2b4e3c850d95f4504a5ce2d9f2400f84645f51d95f572dad4aafd3c99f5a8acd682f7655e23765502705a4af1574ab38705d4eac749c78efe1532f45646bc3358dc2188ddb8a271e8caa490f81078a9dc3602948f68d392a22e62d584881dea33f273f1b400c41ad60ed97c67af9594f44340a49fa8ec7ffe1857ca2785af21b5346f275d5303bba6f0d4a0d5a105428b444fdaf0990931e49228c18f90b81a9a8b1b85466986080d0f8d5ecf6256484ca2222f075a718371d15c4ae79ffc2480496c93e2d9909a61aedc1d29f583cfee4cebe3ef54a0a2727e00d5d0525679aabbdd574856cada9a7a112df04f7395910d9bedc5d8b3a373cbd2603012ac33d3523d55c0bb4ae0472bc04c5ed974f6954cb4a7c0d9672bac55840dbae2323258746df9810f0a3cf4c4155c943eb2fed097e481199ba5bd6d853ec00336c751d5e0e853a271ff1f735e4c431b3b349a0874a49592d416554c65d18f7c489df1f8c633df432edbfbe05769fb6fbd780d89451faf60eb9230f1de745fa3a68e200fe2dfbacc5c530e6dbacf9022872c84a84390eca3763402518857c111151f68fa31954892c4f52cb2506b4ec11e466c43225c146530c39387d065a3481dba695ec9f3ec7fa0859ded1aaf74961a03330f47f213f68f2053840d488b09d72466ef48e3cc7ac30415b574da8f45c636e19ae109693579d9d66aefc5cefd59dc4bbd71dd16f8a2243b113d04b0366b00799a8b4167cdeb34d3ca6add02f91578a31b97a4ecf993a34d40e69db8fb294dfb3ef35e3fbda0575ced7b1dd09f3c05d645a1d67b73ad22af881c658d5bc0fdf5e03cd57c77996f22f6e55115d962ab57068cb6a83a96adf997742dac616f40bbc391bce131a18b41fa51d3373e1a70bcb8e40e333bd13bb27c8b60669c610fabf07b83e5a7b908b116233ddeaacbd9511abf1bab725c1c15be87f16c7c82237d37b3916d6a91c55b668801eb4c37e5bcbcb27cd25da2d218c6fca8d0ae1efddf6c31c1ef2f1bcc6af451122fb9bf9e7f75dbb5da4cdb5f55dfa3e56c099c34f624c83939a38eb99d3b734e9ec0959afa21de5c2c4baac40571218f0ce0193cd912788ca2794f9f48b7c23800fd0f312795a58f723cf1b3dfa86a5d9a1ec9d036f29d6db54c3dfff3731e1a0827912c0580dbe616d12b2904212189ecdf5dcfe363a07dd51c0caad17cf60ae567c4a2663273d3a639483665af1a0fd17ac29b9487cf883f1f6726f49918e161419399abba4c60fa27471c61b46392940e83b447b1d56d98a2b64b907de903fbfb88f9eb02e89c46ca3f7b963873f607bc7fbf4b1561db504dfcf2cd78e4c5f859f49793aae1427ca2d2fa70fc0e7067f7e5aed5da6372e95f54186f72971fded9de28f7405ac23463a4478b1cc9721ec7d2d07a302de94ad42e990699d71c7a5290cf3b65e316e3ae2ca9cd349a0a7f7483970b0179352ab93d4a4b110279c9e5d4b0554d904fba60a710fcceb98423ba7fcf5f6c73165b8d29d74058fbc -ss = ffe9448fe824ec92022890969f1fa8e2fa87e5b3e95a9a155839177cd3c8e359 +sk = 38bbb649e7520a59ac57783e32a5022489365713cce30171ab46ab219b7e81369af44bab6f5badcf613e963938a0829ace625bd8594ed3c0981c5963f68874aa87685599041c4c296b4cc181e57667d499b2f961f44773ca958193e97988d816d702078c0147e41390f503921f139384d75efc91cd08544536b4c9c09bcc2914a807e090d98b5c07c1a4a0c16ff0eab557e5ccc1871ba1a36ff66b1acd113facd6bd16053f22cc85634a3d56e564e30862aa1409d48aaf92643b62009f8e206c2c8bb7f357b9432a8474349c3e1679f1d154cfd4a373665a86c481b9c3163308cf3a1a265a6313d0068ba2181ae5e5a1114995005c8fb574c4a7da80562953348a80bc23cd90c37a2d166ee4e895f2a429aff3c9eeeb869ec9982d367c5809396987a2efe93dfda2cf45e774cc3541bfe655a7280af9b7601fa5183ab62682465fdb273ab435355b84563047bc4c6204aec310d4b91e8b849182c16a57605a6f5690d3804d8857379e11b324977f30b461954a17cb16c4dd93761224a47f4c680373c51de251cb69a2c737cbb1f76d7278033ae86480c7776cc7ca02393f333b6cc00c200ae58922756d3664a30d7b262302672c27a7496746f8f56797726340c734473522fa880819d76a004a480f48b74f7c6ee1998741d39fec12759670b4e8057aedc67950b929e200526ba5a27e0bbb67570bae100b77d525af70b7b6143a7419a35273c14b492e1e42c5b5918a62f3c829a50c1fd8715b030cec454c90c72e6509ab1936ae7490c6b62a6720a840aa714f7b6b0134335c75c44a421598b790631e2ca497e256be08910b69c01997bcd20591d1967ef5ec5c035b0c1f19a01bc0103de6cafda45db70950cf551da2442741eb7233b36396c124c6365a83b66d9cc896ff448f54194fa05267b8154895173075039143dcc58062cbbb1946a917abb184788052920d1428c856bafb3461a463627ec7430671ce75bc2adc95622eb2925a582a15e487787389bcf14dfd84801a37bc39136cc1a49cab7cb924772606d48d3941bccd3221eb418b12a6342ab6c357f273795339bbc720439aa9cd5a478122b8b01769edb013686c8e872a4e2c049a755a8f954614665c61d5d9aec7d67cddb779512a308ba3cffd5c4bc642c091226667c40957c17b3c92bea102143dec663b6155464ac7a9559c533a647c5a106c38972a26beab45c2f04c974c9bb860bca64615b6f0782305c81862abc973d280088bac791876d3172d4e340f26452f60009a49989bec107b680b62cdc12751f9079ed07c28143a405a600a974230b20719b0953da3c2da574ce2c31786c77600646e25b3c305f6507d91084a836366c273d62c526e0630f9b483caf335d6bbb5bcf4adeb4143443a07055349cfb690948487f7795b67dc2e45430e7a5c9564cc84cac0ad0832480aa844417446b9b086a493b7aa163b76a50f35b7384bd054147a8621674843c3040ce06eaec68b6ce8a2c5b42390c76350e10dddb35c9f4c4a1cc148ba08601f92b2fb12c9088922c3463139239a62e878e4db61a3529a8fa7905a7a1aaf90216dab5026469b27d4122af5561bb91d111a721a78587eea259a4c7f6b743574398e30a119db0a138c9442fd3a7580e68eec01077d31525465babef901806363a2d664ef8c1908a30491e336e27b0f8690ac71c30adb145805a15fc654ab8982565eaa96fecb93a2ec7ebb697652965fc5ab837f6b7a20e224e4361977b71c694a88e5252f608cac97e97dd7c80a5ad10d62681b57162269f7b8d812af039226ce2a7930e43007c0b3ec6a4cdb3897ee85796d051cb053881e1b9706a572ccc75d0ef32f92610c40db4553824f1a352fefd979a310124b9456a9106367ec6a50db6fe0b057fdbb00a46028c0d6a638bb7f2139ca6df68f014c4e1e0b79670869353912b5d67edd4b77c70c067aa76d174cced6c7a901c65737082276188cffe28bcfaa2604447e68d490c0f11cd22b8c351c2d63e7a01ee460bc408e174bc4a6cb023492c6eed42f5d85244ec883b1b49b8e3584f27835f21b6b2e6060e0671f289771d124168e196edacc1aba26cec9e09fe7367f46893c2ea3677caa3005e34e722608a3b64a3b987289952dd695a82de89b9034390355c5e33546eb833f602cb9324c095bb4cf66c05fa0ab98d69bbdcff155c3169f3df2a575901724b678fb080b67f32240ab8f0198cb43176f6ffc93fa602748d591f0b2acb9aa67a8d8b15c27140c320b0ee040e737077a8c9fd6a20dcb865ff51c41808757b0ca750c502a356b1c7d821f1bf804ae2b337819c5ea89542e079045c887ba6550e4f05693f5c7012424d37a17e2294669c0538ce69a1f1c1f121784e3c3537424bbc4d73cf1a685f03a24c4ba8fd603b328d2a07fa2b714dc1eed17693727732ec7be2b02c0614caf3d42b222061ddcd758a0674133e6cfc5362f855b717695acdb971aaf16320690606c1c42238856d757b5d610bd64427f04c97abe1bc6b0185116cbbb2dca28b5d7a9aee205dbd37e92bb36311c8936d958aa1744ca67332a600d8c719377273c7fb0029f27c75817746e1058dd196de71b0e4302682da21b4ec1beca3cbdf690509573959d816cf5fa034ce01d6a4ac477e3bfea75732678aea6c0a5401c623dc225c7a9a7ae6a572f738387181913cc71b9379a5a2bbdc45773c6a1167fe756e13731f47226bc678331312b99428b07b2122b2b9dc86b01c5f090ff632fa83b598863c0b42623549ca831f66bdbbbb1d4747d56a97dcef9c81766a3d90043c1a99ce5e81105e9113043342a539de446a7c5f9c4b46a8cadec388fbb8bca527d90a56c649200cb2a7f968611934014f9a7b6faf3015bf6494ef72fba0c7ba40c499357acc96562c65b9ca7c53231045e35771947172118eaa02cd95f7137c93e2159d9389607c3011a76363560a97df950b0329258b0126c7bc10e4081ce46b7c7b0af0752b038386e9afa2d0a7543d85ab909376b618c0a2d33875d264b76941430e81c48832f43270160176ed5938492a06cc08392237caa8487abd3c83019000bb6671784109c7bc4c2a0362a5b5122e620aba511c49ca42d75091b3b1abaad9b8162bc27f182ae310872e789cf05f6c949598c41c3b73a1a9cc0808e68f95c8ad8392f021f77c79618685db2fb1d04a9a8acb8441ccc764aa3b191736f5a24ae31c23428390c1c22c6a6052664db63b94960a433584036c05e031a07823a03ca153015fb2665c77d8fcc529f21afde0d4f32cbfa399f2973d812f516c86b0f353d6a29813d354471eb8b4c38df93939eb3b1db80ddd1cdd6558a9f2687a3dad700cfd0bfc439237a0cdb3f7d6c76699aad545d0acd755f14f7cb3b30096c +m = 2bee79d35d1bd40005203028b58b095ddff33a4806a2ba264f76b6b06af6449c +ct = 87e52a8aede00eec6689b803f7bfa0f3592e5ec2e083863fc8b5e2559d1bfe49c077998bba9808d9a7d5d2c0bb55c2b6a063a3d049482a9911fe8af21bfebb72992337c0a35ad4cefc4d15c59a12f0ca0d1a920995428d7d7c74b9633e41443a3ed979f2f17c89ccb35573cdc33ea998715c57dfafc22c8b739818f7da1315952791e7c1d9c98aa0632f5119401277187485dbd634cf88582f3e27cbe973ffa338bef925403720b0e1dc5bb9d5378580696f62b3ed3e3de2830bfe2db400115f3190f6b8e73cd0293f75a8edaa8fd142a36681e0a554367c16e941ecdaea994f3a5d018c5bb58482846122481b0fb822ac4d4ed7a5b0caad4fa3dbe603bb1e4c126104ed56a07eb91df1326efcffad6a3e102296e922ac27b647c5fab5424573555360ca19c9df7ab1ab43c19a1151c2f53ed9032bcbd971ba6f4877bec79937c68098b6dc530683a7efb6793eddc5bd7fdd614c63dc9707a9df105b54b6174c4e2c13860e13a6e9de1feb471ecd9aa3d55f50e7e3806be98cae3a565bdcd4c1f4f91a98a0c3d75084a92bd8bed01457f66cfac46c4bbf2cfe527756c3df21623e8ea287a8fc79ee6a1bcf73bf58d8e5cd58873e89f66f5df99fd8c25664b1c15978f9acdcf02f2fd3c93e8d3ffd2a76cc330eed44928c2b1b08541529b43c618b8bceb13fbb07aa80ffa71c976e012813a197db54b2e3f5a564a229b62b01f98044535363da50b88080386450f86e049c949d0f3a55ad2f4f69d081121d8b26329f1144e730f6baf0bbefd499ec8013d958213a1e7ea94ca0e3dcc06d733dabbaf2bd0834c530ca7d9da0f602daba03e976c502e05191f7421c7e452b05d1e20465ea9b717c5309aba3d33033cf7db2ad95af56159e425d35b097b13f0e043ba43e23facf7d5f6d6c5a1033abf353710677e5629aae0111a0a3f101f5ff10d763cd49122829199a84dca84295f0b1b61b66fb83edf3a51f0ca2730ebbda2db0c111612c07a7941bfd4bf5527ba0ddb44df9e487e66341191a993fdc6781f6944d553f4f287ab17d55dd75251e57a6341cb6c7d83b1b1b0eaa491cbdcdef2883e4918029ee4c7b7f2e19c8c213bbc66a184514b9c830b8930180ee72cde72ce7a8e6c2742b376503660fa8b1f59310c87229f2a4579414d07b80e25bc8de32f32776c4395390abb0f758cfc5a5ef364279a6b6896ac95be0afc4d85cc2eef3e99495ed5097970e8a237b40abf89aded64a6c0d468761a37816b3d4af903e2ee0baabffe13b93f6b51b5b5cefba42995650519a9de024240958a18181e8d2928413507918af68db3972fb2f7112dff7e8e902daac9f6df1cc2aa8f1ffffbe5e656e1594b54d1393caddc6ae059e48eb6472d4b979c4d9ee80d19f07b3b67281b36d010808f65370987a32854a540ca8af14b61c6ac21dbe6c5025af6745d13636366574d73d6200f6ffddc13f216bf88507a1c5b53d01c90ffe181b3292d72e606f44855fa785c1fe6f15d511822333ce5c5011b56f49644b4a9ed8b7555490f9 +ss = 586a425a78d2dc217638d3088949f1a526f611784a01e415bcd29a41d695eaa6 d = 6084a235f79dd093ef6d185b54e69df33dacee73a9bf2f379004421a10e3a79d -z = 9f684fb055ece19459eb464e91e126a7a6e3ed11ccee0046da234d964c985110 +z = 2a96a70166e26d17a7319e8a5e12e38ca01a98d8a5813049a5bdd355a7d71347 pk = 35a0c8ea287462d8cf8841cdc9016796500e61e89eff672e87c667f453c8ccd148b94c9a9a3765649ccc6e1c05e5350218d091783b6c7e4958a0807e73e9839992c8c36a87891b7ce5d7122e38b5cdd745feb1058fc2827b882df77cb564323746855392247b054527ee862abc91a557c431e55b81d23b1c1a94992ef540e07338fa944d24b17ed4e693eeb8224a0c5307202457c8033aa4651b2b30f85a9bd8070d1b11675fe240a1009dacfab21d50036426a6dc9c3dfc05cd1612ba91da51bd5a0f7ef9b235f1b3b2641747ab8a380b42c060357bf259548cb80788cb41da4c7d3c4b9401925588920df255167240f6b092c1329799f0039b74cbd549b2c053a71d4641071a3a95a460b2b3a8ada727193267de555e6ce87986ac06e647c4b7967cdbe5083c4b99a1b44b5df58959c48beaba0818608fd4046ea0c09a28416c6a97a1066c0650ca619d14a056252d38539f1c2676b69cc53502487389648fe596783baad0d7627cc6ab2da5b6788410b67285841a323e04d037f25e103b38b07672248186c969b04661ac6b2753c5429eeda389599b78e84608dea89556a9510627b29e13b1713a1442158561db8f435bbd6234a420618985dc4f71f0a5f15762fa16084f178e0e76bfc9ec5c35fb52e52301e6809cbb287d42b7591828afe605cfcc93c337bab78b55237b075a8bf08c48c15087e82600655234fa99f6987da7904ef50a1599867d56760ae1d70006925ade67157508289f137def9b9714f4cb72a017ee6a6325f9418f3a0ea3a8762c55987ab406dd9a6d248a33eaf264774aaff6f00607f37bc20041d3a170e07407792a43c5407fb3622ccb065b74bc1a54f86af9f7246d288fee725a6fd85e82477483f778d5388728c4565467a9ba3216d92089bc1c742a20b03bb526b73573cdc91aa8e085f1eccd1866280e791bd1e43d4843a440e050e2967daae26686cc2d32f512332cac82095ab0005133023e75c9c92b0388bc8b2822a82f93fc3520972e2e0a062a388931092bfa8758f251895c641186d1b40f6a332df3088bb24381da133ce40d3461a7d87a93e702472e49ad91cc013c936b02a96c4ce14c2b23ac79869c6d139c8d85b58da27c6eb4c4250bc3ddaa56dbbbbffaf452c09074e013a3c7599cd5b8a876076523c6b0aefc6a503bcee0fa76407b779db92453f7aaa4e58401cbc6f3718a3352013e1383b4222572118878c99289b91b02d929dba06c6deb6f4c2b0459f86d04fc8d287b6a676b17e45997027568bf7bcca05c3d394c1557873711174242ca50cfa30bb3d715d1400807cc5ff1049ce720be3c360febccb61dd7244f4352b655a517485ab13b413983cc089749ac7144312966b2c67ad50096bc176142858881f09e3a075f8fa6bf638a13af572ba026a172b23317a01a999c8c1ef478422cbfa9802f98f2856bd6a11f8584c532807771c19c411a2900c5a57c9b8e44b4c07b3be3477baa738ab2c407653a309d7a82cfc6b86a1b59ad1251e008598e453e04e3306c1877dc703869da25a9b91fec80aaf4f30b4d0a83e2daaac73990f05a9002d6ada0409450454291e37112a9ad97147cc89999dc89a30c809757933c5d0356f329bfa3823d34197b7d9e60e307bbabd9b3e8272a0ef1b3333269a7af6a5bb8740bfa -sk = af361347809757c2ae0c4a60393c90222c394cf136e95517552721ff136dcc234d64715a1ab43d15708187f89a6830791e0062cd43253ee486ac54179d320fa6a8bac4d0c07b7158a1eccfe52c4847403849982d73288877d04eaad37d392aa487597f80f19af7444e5a82cfbe51609ae515c1b320b6c75aefc121d5e2904a0185654a418e5c7a379b41838ace149b45c5a4040dd239ada846102a6bbc811ebed4710b2393ecc4bb8c6254dc815d2667831f962887a74eb883a5a8642e0b427450d01321246a8797b7be1211eaf64b0c706eedfa17cba2b010626112ab6b2b2b928df38ccbd9b639b9c6ad090e92da98b5c9914549beb6a9b5505579a56943d210722bf590d63c1ed56534a96552005226c34cc1ac32572d2ac0823bce348086096525188088df229536bac34a1c95083309a0971f31d975de0598e4e009d24661b2a79dfae85343b94fb1bc171493ad77d767e0814837348616205652eb4f98838ce536691de8c3af0a4970eb0c3600b4605841bcb0884e08bca3198b04b2afa6f575229c56462b9516026d32d2ce33a4b1add3b411371ea6516765f457613ccb50f94ab9395f6fbc94395a6c9c104ce3b79171a83a49b22add3a915086b804c3b42301bc1f14630ee3217f059aef485c019a4248b4a78a516d75919eb2b15bb1e5a34cb6b470ca7a797ba1b5193cb4565497f98bfe30a7578044867897c332687d925c8bab05d0c35693f557f541b571d6ab7e4a752b80267b0329d7558fe4bbc54c8612aa95c03f81641a129b1793160dba78c4e0269e9361087328a73c67c0044217a25c2e05b64a1b8ebec972606bc220b1a456d8ba86a76ac4a3c06429cfb6035ea50549db887a5f6170ea282bcc295a2ef000f571038fa97b6bd98fe0399ece3755d4b55e16261f7fab678c394c83676cb9f080bcc915c8b1c67dc998d7097074249585e31c5b30bd0250abc570531db43f546c2e05983a7b5219127809987343cf722fc38525b2ecaad2ca703679cbb7500420f83960d7505bb7b7b59a8b6f0c876c7a53d893a10468a516fa7a6a08c04d3259ad003db768559e173df06a08793b10e5a1a46145b6f0fbb230ca504424b4e9617cb3f509993567b4cb94cb2cb39811bc1eab31b5f5691ff4108e5a6eaa9b15dc2aa45fc4ad26b9ca007a7c2a680acefa88f12790abec7e3da1c13a355c1c669117070a7e1976f6859921e273f53632b4144b58e0a74207100d2cade0c8a0410814d40a4234843a44978d0d4a173be52434760423235f5d7c8e1f56c8181487bba930cc9272acd524eb6c9d71d753fe62b0e9ba33a478b7e82b36d9690607550aca261085a08725281b02e531432b35398b7ed1355b8172776926bfe41880df90af6951a58981c708724deba6b6c2bb8af1c0009c71a0b82ac0d14cb0910a8ec3988251dc9e93f17e067608115c85bb6c47d33a2a9359a35beb47c3a04ab65537f59bc1ebacbed4b97855f753a954929b6449a4db7d2098cdfc04008873004bc535bd5c74dd49247419601513c4e8125731307bc858845896a67d33902afa4b58b50be969b947851bbd791d66887cc6e92e19a2b92ba6bcc2825c4239ab2894b2467547ff3a63bef65e35a0c8ea287462d8cf8841cdc9016796500e61e89eff672e87c667f453c8ccd148b94c9a9a3765649ccc6e1c05e5350218d091783b6c7e4958a0807e73e9839992c8c36a87891b7ce5d7122e38b5cdd745feb1058fc2827b882df77cb564323746855392247b054527ee862abc91a557c431e55b81d23b1c1a94992ef540e07338fa944d24b17ed4e693eeb8224a0c5307202457c8033aa4651b2b30f85a9bd8070d1b11675fe240a1009dacfab21d50036426a6dc9c3dfc05cd1612ba91da51bd5a0f7ef9b235f1b3b2641747ab8a380b42c060357bf259548cb80788cb41da4c7d3c4b9401925588920df255167240f6b092c1329799f0039b74cbd549b2c053a71d4641071a3a95a460b2b3a8ada727193267de555e6ce87986ac06e647c4b7967cdbe5083c4b99a1b44b5df58959c48beaba0818608fd4046ea0c09a28416c6a97a1066c0650ca619d14a056252d38539f1c2676b69cc53502487389648fe596783baad0d7627cc6ab2da5b6788410b67285841a323e04d037f25e103b38b07672248186c969b04661ac6b2753c5429eeda389599b78e84608dea89556a9510627b29e13b1713a1442158561db8f435bbd6234a420618985dc4f71f0a5f15762fa16084f178e0e76bfc9ec5c35fb52e52301e6809cbb287d42b7591828afe605cfcc93c337bab78b55237b075a8bf08c48c15087e82600655234fa99f6987da7904ef50a1599867d56760ae1d70006925ade67157508289f137def9b9714f4cb72a017ee6a6325f9418f3a0ea3a8762c55987ab406dd9a6d248a33eaf264774aaff6f00607f37bc20041d3a170e07407792a43c5407fb3622ccb065b74bc1a54f86af9f7246d288fee725a6fd85e82477483f778d5388728c4565467a9ba3216d92089bc1c742a20b03bb526b73573cdc91aa8e085f1eccd1866280e791bd1e43d4843a440e050e2967daae26686cc2d32f512332cac82095ab0005133023e75c9c92b0388bc8b2822a82f93fc3520972e2e0a062a388931092bfa8758f251895c641186d1b40f6a332df3088bb24381da133ce40d3461a7d87a93e702472e49ad91cc013c936b02a96c4ce14c2b23ac79869c6d139c8d85b58da27c6eb4c4250bc3ddaa56dbbbbffaf452c09074e013a3c7599cd5b8a876076523c6b0aefc6a503bcee0fa76407b779db92453f7aaa4e58401cbc6f3718a3352013e1383b4222572118878c99289b91b02d929dba06c6deb6f4c2b0459f86d04fc8d287b6a676b17e45997027568bf7bcca05c3d394c1557873711174242ca50cfa30bb3d715d1400807cc5ff1049ce720be3c360febccb61dd7244f4352b655a517485ab13b413983cc089749ac7144312966b2c67ad50096bc176142858881f09e3a075f8fa6bf638a13af572ba026a172b23317a01a999c8c1ef478422cbfa9802f98f2856bd6a11f8584c532807771c19c411a2900c5a57c9b8e44b4c07b3be3477baa738ab2c407653a309d7a82cfc6b86a1b59ad1251e008598e453e04e3306c1877dc703869da25a9b91fec80aaf4f30b4d0a83e2daaac73990f05a9002d6ada0409450454291e37112a9ad97147cc89999dc89a30c809757933c5d0356f329bfa3823d34197b7d9e60e307bbabd9b3e8272a0ef1b3333269a7af6a5bb8740bfa12e89c47142418c26396ef0174c02f69dc00022d56494d31af935490edee63859f684fb055ece19459eb464e91e126a7a6e3ed11ccee0046da234d964c985110 -m = 1c82471dcdfca3a6942061ab4f3d5bf0d197321437c706d9cccccce449447002 -ct = 1f2d0a172af9dfca569878612151e46e0784b0f2df0f81a2dd709cb8abf57585e9ae0e68b50d48b506c84a8710f42826a0caa795495203accf99e76ac2a06b184c9c3f011367f9431a4ebfdd0f57cf8b3b5f0be55fd0a1ec018e1a2d898d1f126980cebcb135cbcd5a23e9468261c46592082d9712defa7913999386cfd2f69f7907d28bad9e0c1db983dbb9645ba4cfd15fba1aefd667ccbb497ac67b77c382dc498e5e4407b5e3805fd1680a723b6cd64fca2a962ed8117bdaeb3aceefbb7b1d943b91af4ce217842ebd7b67be89774258c2639ef840ccff2e1c0b0f1b03fd536366b99200b48f110e9adb48a9ac3d77ab8be563f5b89c50309180c4233416ca2b0606b7aeb390be541a468b878e49c79aed0e5472539762c859e1b04ca23be4d12ace5c9511b9ac563272944577cdaf9495f95b55cf91bb2d4fbdcc513452c32f080b11fb49ed6866fdd443c3ba3581b9dbf550cef4b4c18e7a8e2db5e442dea3c09ad5a3995e5d4691d13ec4710c1acfc2ca3cfeabe621d54aa1e13dbf3fffec5189e2dfa14c382f21d17edd9cffdedf5aa835301428110333a723ec6a8bccecc0b93c62a763105f1e32f6f6f15b31ddce5f6f95052a50cadb5143d195c47b317e7633d37bf11dda9f0698299bcd25cf53df532c2684efd4b6166bf5f5eea80cedba05b8703513767f158ef78d1e19dbfe7b6f38686e8538b6924a0ec78a5d9e4e2a12d4f3ea7cb55fc334486ae00f7a9289694fa7b59c64c2dfa003015c9785dee363e7825cdd21815521e4438df858eba176e1849305d87e0d128ce5281ea24b6dbf821025de118c52ddc6b60ecf5e527486ffa58de8a1ee1c4f3314400a0c72687617a03e0fcd606d4b6a4a36b777fb333661da0bce06e96a497b5a2b915fcba5fc8e652b486e5641bf62fbf01278d62c73884ec4bff145674fb8220e69d7ec8abdf220aa8f44c90ede9b1ef5a026817e6bd389c365fdce6da3f268f3d4b1c98c9321098d76fae308278fe8877f7e3a9eeeaeb57db7b5d9cf671b969ab9998b048e4b37787abbf9d6b384ee41756efa4b2235c070a7017475bc808febd77a6ee3ffad7a686bebe6e84bb3b0c8537399eb39292fcc986d8fdda05dc3e358e5ca02fdfebdd84aadd7f78e77e2c8fddc372e00ab5332683d6fd2bc00fe3758c616ca954ceef955498699d653f3e35a22b5b8a385588ebcda436a9db907a5b069bd8cb0aa5852ee037c31d9c3c7a6aeb30624600d33625de5dfc69ccb4dfaf0876f9a85536aea7f67ada95ce0c3426b9f3f2c51352d721b2ec3862a9b57b4cbb3495cf41883ffb772307166227759f745c9904ab2acb946e5d38ce5346b9ec712e623f9d4f9de43e5ba41159ba3d6c18f515ceb0775a38a2df97a042a6673fae30f1c957cb6b6e1a1e9c90992e03cdf0d2d79b9ef3d00639ea26bd33e8495958d8696fdff69893b956e61024137c207ff6b46c2e00c1ce77be0f3af4daa3743e420c2521640a159891cb26c539e1bbf35f6833d64e62fa1db57904d88681f -ss = e3f110e7d74400cb476b0e34141a107d874986a3732ecc103d9bdfe76bd492f1 +sk = af361347809757c2ae0c4a60393c90222c394cf136e95517552721ff136dcc234d64715a1ab43d15708187f89a6830791e0062cd43253ee486ac54179d320fa6a8bac4d0c07b7158a1eccfe52c4847403849982d73288877d04eaad37d392aa487597f80f19af7444e5a82cfbe51609ae515c1b320b6c75aefc121d5e2904a0185654a418e5c7a379b41838ace149b45c5a4040dd239ada846102a6bbc811ebed4710b2393ecc4bb8c6254dc815d2667831f962887a74eb883a5a8642e0b427450d01321246a8797b7be1211eaf64b0c706eedfa17cba2b010626112ab6b2b2b928df38ccbd9b639b9c6ad090e92da98b5c9914549beb6a9b5505579a56943d210722bf590d63c1ed56534a96552005226c34cc1ac32572d2ac0823bce348086096525188088df229536bac34a1c95083309a0971f31d975de0598e4e009d24661b2a79dfae85343b94fb1bc171493ad77d767e0814837348616205652eb4f98838ce536691de8c3af0a4970eb0c3600b4605841bcb0884e08bca3198b04b2afa6f575229c56462b9516026d32d2ce33a4b1add3b411371ea6516765f457613ccb50f94ab9395f6fbc94395a6c9c104ce3b79171a83a49b22add3a915086b804c3b42301bc1f14630ee3217f059aef485c019a4248b4a78a516d75919eb2b15bb1e5a34cb6b470ca7a797ba1b5193cb4565497f98bfe30a7578044867897c332687d925c8bab05d0c35693f557f541b571d6ab7e4a752b80267b0329d7558fe4bbc54c8612aa95c03f81641a129b1793160dba78c4e0269e9361087328a73c67c0044217a25c2e05b64a1b8ebec972606bc220b1a456d8ba86a76ac4a3c06429cfb6035ea50549db887a5f6170ea282bcc295a2ef000f571038fa97b6bd98fe0399ece3755d4b55e16261f7fab678c394c83676cb9f080bcc915c8b1c67dc998d7097074249585e31c5b30bd0250abc570531db43f546c2e05983a7b5219127809987343cf722fc38525b2ecaad2ca703679cbb7500420f83960d7505bb7b7b59a8b6f0c876c7a53d893a10468a516fa7a6a08c04d3259ad003db768559e173df06a08793b10e5a1a46145b6f0fbb230ca504424b4e9617cb3f509993567b4cb94cb2cb39811bc1eab31b5f5691ff4108e5a6eaa9b15dc2aa45fc4ad26b9ca007a7c2a680acefa88f12790abec7e3da1c13a355c1c669117070a7e1976f6859921e273f53632b4144b58e0a74207100d2cade0c8a0410814d40a4234843a44978d0d4a173be52434760423235f5d7c8e1f56c8181487bba930cc9272acd524eb6c9d71d753fe62b0e9ba33a478b7e82b36d9690607550aca261085a08725281b02e531432b35398b7ed1355b8172776926bfe41880df90af6951a58981c708724deba6b6c2bb8af1c0009c71a0b82ac0d14cb0910a8ec3988251dc9e93f17e067608115c85bb6c47d33a2a9359a35beb47c3a04ab65537f59bc1ebacbed4b97855f753a954929b6449a4db7d2098cdfc04008873004bc535bd5c74dd49247419601513c4e8125731307bc858845896a67d33902afa4b58b50be969b947851bbd791d66887cc6e92e19a2b92ba6bcc2825c4239ab2894b2467547ff3a63bef65e35a0c8ea287462d8cf8841cdc9016796500e61e89eff672e87c667f453c8ccd148b94c9a9a3765649ccc6e1c05e5350218d091783b6c7e4958a0807e73e9839992c8c36a87891b7ce5d7122e38b5cdd745feb1058fc2827b882df77cb564323746855392247b054527ee862abc91a557c431e55b81d23b1c1a94992ef540e07338fa944d24b17ed4e693eeb8224a0c5307202457c8033aa4651b2b30f85a9bd8070d1b11675fe240a1009dacfab21d50036426a6dc9c3dfc05cd1612ba91da51bd5a0f7ef9b235f1b3b2641747ab8a380b42c060357bf259548cb80788cb41da4c7d3c4b9401925588920df255167240f6b092c1329799f0039b74cbd549b2c053a71d4641071a3a95a460b2b3a8ada727193267de555e6ce87986ac06e647c4b7967cdbe5083c4b99a1b44b5df58959c48beaba0818608fd4046ea0c09a28416c6a97a1066c0650ca619d14a056252d38539f1c2676b69cc53502487389648fe596783baad0d7627cc6ab2da5b6788410b67285841a323e04d037f25e103b38b07672248186c969b04661ac6b2753c5429eeda389599b78e84608dea89556a9510627b29e13b1713a1442158561db8f435bbd6234a420618985dc4f71f0a5f15762fa16084f178e0e76bfc9ec5c35fb52e52301e6809cbb287d42b7591828afe605cfcc93c337bab78b55237b075a8bf08c48c15087e82600655234fa99f6987da7904ef50a1599867d56760ae1d70006925ade67157508289f137def9b9714f4cb72a017ee6a6325f9418f3a0ea3a8762c55987ab406dd9a6d248a33eaf264774aaff6f00607f37bc20041d3a170e07407792a43c5407fb3622ccb065b74bc1a54f86af9f7246d288fee725a6fd85e82477483f778d5388728c4565467a9ba3216d92089bc1c742a20b03bb526b73573cdc91aa8e085f1eccd1866280e791bd1e43d4843a440e050e2967daae26686cc2d32f512332cac82095ab0005133023e75c9c92b0388bc8b2822a82f93fc3520972e2e0a062a388931092bfa8758f251895c641186d1b40f6a332df3088bb24381da133ce40d3461a7d87a93e702472e49ad91cc013c936b02a96c4ce14c2b23ac79869c6d139c8d85b58da27c6eb4c4250bc3ddaa56dbbbbffaf452c09074e013a3c7599cd5b8a876076523c6b0aefc6a503bcee0fa76407b779db92453f7aaa4e58401cbc6f3718a3352013e1383b4222572118878c99289b91b02d929dba06c6deb6f4c2b0459f86d04fc8d287b6a676b17e45997027568bf7bcca05c3d394c1557873711174242ca50cfa30bb3d715d1400807cc5ff1049ce720be3c360febccb61dd7244f4352b655a517485ab13b413983cc089749ac7144312966b2c67ad50096bc176142858881f09e3a075f8fa6bf638a13af572ba026a172b23317a01a999c8c1ef478422cbfa9802f98f2856bd6a11f8584c532807771c19c411a2900c5a57c9b8e44b4c07b3be3477baa738ab2c407653a309d7a82cfc6b86a1b59ad1251e008598e453e04e3306c1877dc703869da25a9b91fec80aaf4f30b4d0a83e2daaac73990f05a9002d6ada0409450454291e37112a9ad97147cc89999dc89a30c809757933c5d0356f329bfa3823d34197b7d9e60e307bbabd9b3e8272a0ef1b3333269a7af6a5bb8740bfa12e89c47142418c26396ef0174c02f69dc00022d56494d31af935490edee63852a96a70166e26d17a7319e8a5e12e38ca01a98d8a5813049a5bdd355a7d71347 +m = a8fdb315f75aa1e656cad005010b032bce1dcdd7cff8c938a5314ed240f480ea +ct = 27a22f78bedffbd2e9e2c8b99b3e4c3d950f6519eb7b1b99fab97172ecd6d889488d28cbb78f239d6989165fb46d91249f1ebfa31919f0039d9f0a3591509e8a9be4d0e4992cd720a6d929da2e8a26b3756c950b03806123b1b1039975e91e4c756c6c97a14486237b534efb34f59d7463012283727798565e2d084f3721697cb59ed8385def45b7d9d951a673da94c4ac2ce68c22ec25f1a4bece95c2b34da932127c408e991d41e60fa578cb2ddf50614b8c59200968c42c03641d7b264f506e4934e6172bbd50f3741f974270e62483a697e93eb113c64baedee06bc8e570faea56ab5152d1f4fd815cadca12363d0234ad2c4e74f9bf4dffb55cccde9ca989dd8e7e6b2ef79219bca2d0e53accd1e8bcb90c7f62c0b545ab7db4ff3ab27e4af010b7e37720a7caf7c9e3ba3f2b2b9f9827ab5d86730abb32edd2e7a2cd43bec5344dc7dc08a6ad7439f0bd94b6f0ab695c2709439255fb0ab7a0ecd253cd01679151f193634b5a683e8f4dc44a1034ab39307c4e82439bfddf293fedc59b3fb6072cd86069159a5fedbce0b18b4a5b2af62e5ea177cea37868e85c67151926b9e74ad5f790c9190f10f1b95d98fd3b11d387c5f5a468fbb63c4910b43d8bd4933f164be4eb73ed3adcd6cdd4b41a8905cd95454d26871717f66a6209c2e385c839814378ac217e7ef4c5305cf1e8c69c7270ab6c3523d82dd2738d6ad418745449c3afe9b8466f17925b9c6708529c55f4fc7518fcf7f78bcddc2ab1aa65020c2217018150167c909d640cc00773dcad1706bbf671f15353d11796d8c36c6921d3003d0ed9c5f9f24ba0ac16d0971de5c835e176eac03ad827a9077cbeae8a8ccfcd8dba2b569f20086b4016db989caf8eeac0fb08c90e7626b02d688ee0e5a89c82537b5b7ccb73db5a76143fa99261f74fdd2666f361b17a2a25b6a99372223f88e3ae6eff6335c6e8cbbd8682f64d1019fa97394e4768d9462a81600f1d94e17e1dfdc65cdc4f0af465c7f078edef6cfd2aef96e82c3d1a616b0f5603d43cd493fcff8916ba48cf211efd1b4f14701940787ab7f9fe7ade9c43f1f9436f9f72d67f8cf207d3df6e15556e5e87ad67ebc19692345ce79dee5c964dff28a11dc75fae30dda39182da09654c470b8bc0c81139635096c5bcd1a37d6e01cc858e501f5f398a50894f2e9c750a09cb5880d21736421b5d05c75ea40df57fed7a58c97046b27c6a2c1dbeeed1c36b2d7391412f8fe28eb50898a393784520e454a5fb4e05f8c67e14f5861dd7a58dc9c7f760fce10c60973d5b8cba138e705930de1ab7fc1b6bbe2897be6c82f2c23a6f9cb3e072069d801be5bc58988ee6add2c18414f49d68564f00810f1d98cc50fbcde8c0354f47e5258105d9149db987f0d14ec2dd4972fcec78f821ad57810615096c773a3fbf45f6a414dde765417a105e842682327527bb249d85df3540721cedcdfdc4e5d6432a99fca4e09eea689e2896c5f0c2eb14317cd37786063847c7f92853084931e6d85b27409c2d012f +ss = 542c773f515d31af4e937259725a9eb45b14251be68f0685261efeab78900a72 d = acd1c0217fad5caa4235544dd9de153ab1880ccf4c76f16f236fae4e4bfda04c -z = f03a8abb0a5010f400ae5722a75bdf5a2f6d5b546b34d73857cb1bfc7e587aa7 +z = cd2dd7a1be89575be8c14529bde4d832cc005dea955065c08b3185b215da3a2d pk = e4749bcd8577d50a102352b869402efde59f5fb54bbee919e7d4a8bb8cc40fb8c7240401113152ba727cecfc8e4b817c5d537df050902bd03df866317006a2aef59cac269813a47fd337a0c5b694f4b080f100089255614634a2b0bb1ecbcc3f1d84cdfb3054fa749736e531c2e673716079cf45c89b444b7d821d892c7ec39a74d39b815c2b9981ca47f5e56840341ff9d23fc877285f9b90fc78bea1b9c5c647ac52d066ad7b8ca2aa01e0729fa22c39d9c3c6cd833c6aac061aab1c1ee6819d2a245997b8580a9e1630112cc6b62c4952215a3281111675f25a10ca0c32bc68c7bc920bfbc7bcd82edfe130b0434afa29b2b9d90ac3f1143b5664e5e51984b52d976439794507d92cb256a1520078972b843ff3dbc6736602f68b289e0850ee845e49586c889ccdc104cbf13470f6f6c0e6766007e5c3a1348166933a45a1a62e0b749ee14a38e11a094bae60a38c84079d81aa655782138671a0fa186a727457d351a8a45b6fe05369f7b158de844e31117ddc47af9fe52075c6acd5f93a31c38ec7f608ff9096c8562e0271a35fa7265a56b24bf31c6a727376d1ab3f600573342e60884f41d355b2336e464b94554b7c108614c3394fbd561a2e74ba7045c0d74032877901e4f8a95c41ce9fc72013c51fa93b5c0b3c3b0a8c90ce0960f510a9f6a453b8b0012f7c2430350b8a4b6143ab5adc7aaa6f3533e230c3062b7caa33b1e9a3bfda7bbffef8341ad0a33ab272bada717a4790f4c99cf430bf114b62854810eab7af582a2ea327a599c490e25795cc5c42219771391b33df4c7fc01524c4c520eb4559c2ea8c38ab5cfe27035c756248662c1e969ef478a2d2419ed9da7125ec32b0557edb5b77e0dab221544e5f7a57a2941b89b803ed1c7d8de65f64a29d8e7bc2020b723d391987f83db0bc35e96aae7b2772b37159a3257ead277532119cf55959fbec482169c5391a9409877c79255cbd1c8d2b8352cba074bc4714deb09f9cd81624d2782de91efbc30882c45631e96e35c9b53f77cc0d268722ba5eb858a1de719a88ec240da229cd7766b9a237641c1277c006a6672bf61ab5dab4c223b7381fd3c16704cf7920b2f11210c969b6b46a152b72598de4aac1665d72a45bf51370de61559f83081dcb6aa49339e489968c80498550afc467c8aaf0c6c1b9085699b801c75eacc3142be38de6f6a64ad6708c426eacc13b09d8bea819bdc200258d31a8d1f308d0a7470dd35161379191576a03b81d70ec58565ca7c4a6bb333338d8113d70f5bef45b6835917e17c2945a06cbb7f2225675252f351593b06a6db504b6e67c6e88763fb06879187c5053029724b3477281cc5c5294b36b64f12a08084eea098489d5cad338a0cfa61231268bb866c2c524c71bd6a467c845ac7a4eac579049734970859a2ea753c6b93ef01532b130a103c6244a17870b75023e0014e6d8433ae5cd2b145bfe253a8bba300b6465fce277e2fabe36d6c8112887cb0a6daea4a54e258cf89071e407594de1bf1f4aa2beb50263dc5d5fc729b632957375b5ce6373d9b93211a66a29736a6ed616ef8538e95c45bf595b2eb743d79436d6385bab74c80d88c1a1f4022e6c3bb3d2294c474c2c554f3be4d7fae86455763b97ec8fdbe9640219b35fc36033966a3525d485f1 -sk = 31cb44a14c3ff840758055bf2afabad14a723c048d4d20c5908bb781844d574a96a0807c59d5192548a0089396a78b953aa52677b9a111cb012954b674571c5d0c7c5e6488d498290f7665f4f32dba7228ade2a724413798ec32619901215663b2c26360612558070bd06261bbab86b4f96056a498bf37b1b84238c5099ec8f1af4251c0862b861f334eee85af8d364a54f6bad0e44a23a0577933ca8482889a955086ea3a2c94b057c1c20d540cd6d2976126854ac123cd386a855caa385927318825494861079ac84606ac0f1810eb78a8398740be69cfa1777c61a5cc1d758ae28c072d6087c379a567648558ac8a1883734c64361db33cdd156fd371a2abe534b162c6e336143b944dc2309aac106525d6586793a2b3420358185fc787c2cee3875e3425be5627c1d49313413ee498b17e8c295908b718b3c4a6e03024d77f1ec37eaeb7462e09c683cb9b272431ef0abbd0422ae2569fc37902ab90bd2c236f4da66d78301a61765a77e43ace81102c7355749c1463b55f10e26727086d73a1800924c6b0eab6ec905d5b01adc538c9eec7a25989b85f24b1f68b9a22637613e9acf609a67cb20b38bab1a8d81cbd22a5ea8c7587a13bf8eb8a37e5949084c26b4433741a31c502a4c412535fc6a1c5000057c65103027f78f81ddfc4a8843c59f8563bebda15da543be2146a3eb7b521700958bb2a5064923236193d981bd1e2920d00b1cfc504e32495dbb116c5bb7aa21b6cec5c9fc0b1ab73330544e7af5bb1ceb7c159e3509938d0332cf51add245606617dcec688f117bfedc27dc5b8b4884446861b592b720b53fb23cf08513f66c3b51833e51b9a63e297054a8c03f8baa257c64c2c8a265a8a92052c41146bdb3a32ce0b7196aa33564806dac33ac05a20178c2a0cb04000d484f0325c9d16956da0af88f68bb72b7bc6b122a486cc1eb01bd3027aa316c6d7c1ae7d8b9a747443c5d7237989a93ed939d905832e76afae4172d5f70589e54f7b5cbabb536e5f316b3d38911513b400ad83f7b2a3c72a6c09ea3b4f68129ed285fb99442fe61237d61756a2ad78b7790ee69748b79e42ebbbd6b9b0d803a3eb77477609ab2cea5920128356c369878855126c22f1ab66a3a4c202892c8863b609f7926175cf1e3967ea93b7ade7a8e6779672023dd5d81bd4d9345af36a38db17e96b8d85b7c0beb586aefc9fd9ebc585f071c1b9c34fa2283a60884a0cc5ea210887aa677d24192db582f05117fa189c868a3cffe8b2fb584686eb3d009733e1d86c07d6a9893c7e9410b4ca99a4a880b48053878a45340d0056031068a63113be4b51a630016875541e099935ea92b2668ae84c5a183cbbfed619691038973cc07b72adb803cbe26986c827ac75428cf183cd5fe7c9c719378438058f470b62fa977dd658f219983f97b517bb1aed01a478a18dbb89ac1b916419a3b25f388c276c190b866356ec84c33b29022286c08a34d26948c59341a789cfa168adc0c7a73db36a72ec6c2c688c06aa3eb1fbb25b7b828cc3719c7b2473719f4e2b5c4ab8a4fc172a132439e0e3af22a1beae17ba4cf39a155925c62a4c9ca76436496646906630b9349a335a4852c01b018f77da15e4749bcd8577d50a102352b869402efde59f5fb54bbee919e7d4a8bb8cc40fb8c7240401113152ba727cecfc8e4b817c5d537df050902bd03df866317006a2aef59cac269813a47fd337a0c5b694f4b080f100089255614634a2b0bb1ecbcc3f1d84cdfb3054fa749736e531c2e673716079cf45c89b444b7d821d892c7ec39a74d39b815c2b9981ca47f5e56840341ff9d23fc877285f9b90fc78bea1b9c5c647ac52d066ad7b8ca2aa01e0729fa22c39d9c3c6cd833c6aac061aab1c1ee6819d2a245997b8580a9e1630112cc6b62c4952215a3281111675f25a10ca0c32bc68c7bc920bfbc7bcd82edfe130b0434afa29b2b9d90ac3f1143b5664e5e51984b52d976439794507d92cb256a1520078972b843ff3dbc6736602f68b289e0850ee845e49586c889ccdc104cbf13470f6f6c0e6766007e5c3a1348166933a45a1a62e0b749ee14a38e11a094bae60a38c84079d81aa655782138671a0fa186a727457d351a8a45b6fe05369f7b158de844e31117ddc47af9fe52075c6acd5f93a31c38ec7f608ff9096c8562e0271a35fa7265a56b24bf31c6a727376d1ab3f600573342e60884f41d355b2336e464b94554b7c108614c3394fbd561a2e74ba7045c0d74032877901e4f8a95c41ce9fc72013c51fa93b5c0b3c3b0a8c90ce0960f510a9f6a453b8b0012f7c2430350b8a4b6143ab5adc7aaa6f3533e230c3062b7caa33b1e9a3bfda7bbffef8341ad0a33ab272bada717a4790f4c99cf430bf114b62854810eab7af582a2ea327a599c490e25795cc5c42219771391b33df4c7fc01524c4c520eb4559c2ea8c38ab5cfe27035c756248662c1e969ef478a2d2419ed9da7125ec32b0557edb5b77e0dab221544e5f7a57a2941b89b803ed1c7d8de65f64a29d8e7bc2020b723d391987f83db0bc35e96aae7b2772b37159a3257ead277532119cf55959fbec482169c5391a9409877c79255cbd1c8d2b8352cba074bc4714deb09f9cd81624d2782de91efbc30882c45631e96e35c9b53f77cc0d268722ba5eb858a1de719a88ec240da229cd7766b9a237641c1277c006a6672bf61ab5dab4c223b7381fd3c16704cf7920b2f11210c969b6b46a152b72598de4aac1665d72a45bf51370de61559f83081dcb6aa49339e489968c80498550afc467c8aaf0c6c1b9085699b801c75eacc3142be38de6f6a64ad6708c426eacc13b09d8bea819bdc200258d31a8d1f308d0a7470dd35161379191576a03b81d70ec58565ca7c4a6bb333338d8113d70f5bef45b6835917e17c2945a06cbb7f2225675252f351593b06a6db504b6e67c6e88763fb06879187c5053029724b3477281cc5c5294b36b64f12a08084eea098489d5cad338a0cfa61231268bb866c2c524c71bd6a467c845ac7a4eac579049734970859a2ea753c6b93ef01532b130a103c6244a17870b75023e0014e6d8433ae5cd2b145bfe253a8bba300b6465fce277e2fabe36d6c8112887cb0a6daea4a54e258cf89071e407594de1bf1f4aa2beb50263dc5d5fc729b632957375b5ce6373d9b93211a66a29736a6ed616ef8538e95c45bf595b2eb743d79436d6385bab74c80d88c1a1f4022e6c3bb3d2294c474c2c554f3be4d7fae86455763b97ec8fdbe9640219b35fc36033966a3525d485f12fac52ca60594e514333ead02cb1bfa5cd1d9ecda4a0b25ccdfc47ad3f632a85f03a8abb0a5010f400ae5722a75bdf5a2f6d5b546b34d73857cb1bfc7e587aa7 -m = 46fe60a18124125ab93e0c578f1c02f1bd1301595013001c7f3c2fa56cde294e -ct = 2c0b8450785ede64fbf91e190c6b063f50b0aa80bd41c9ad969679fefc58c69e1354c123ab70c1af7e44ac63c8a8062e5bad5313ea0565966301bb0556fb4b7c490463b6cd940ae2d9651a274323f799e25f1888853853c5ec2a4fd34f8aff4159194e3fba5fad3c799ce439c84094c028ef6fc333fbdf19cb40ba8d1228b97cf602a0f7fde3d15bf5382ede4af8a4c6bdc6732ad363735a28addca063ab702f1bf656b474985d31dd68b51dd92e773d3359ff8a02ba792a06689c37eeb3815dcca7feb88bd5ecc79e5404aca3621b3f81ab7bd55bbb293058f61ba5a93a7feb9a90617eac208def7c6737b353b4c3155b59726cb97a211e1db42cf2f6805dee40a68a966be225a4d94542e9b972d3cf07f3d81ea54535e25aa7f56b8160acdfa6097ee7fcc81a6f9fb05fb975bbd18315d68740fbacccb17acc9132b6622ff91ea8a2ab02cae313d67a11db654440a9b63a819a9a51aaa593fe1aa99d70a6ed17c99a25ce4a424dca9ef9e6df285818ece4d4d596505fec0de68db54f7ef7aeed7542908a8a47e07bc69dc4ad657c66fc97c2f3e79009c14a1e115e77d17948d9d599eb85d91f3b07eabe2bed6c549672a751fc75ed2ff131210a14c03987f09b61e24b144c4f7a64d8e0be83642777a8cc9897379649df060e5173f5c09bcd2c630dd7cdd51bf995a053da7590da319baa2f8aa4904443ab1e9c5560f3f3624a744a20efc8f2f7401df81a228003cfa0f0196f6d57d0aaf7bf962994a60857eb5949ba5eca8683324cedae9bdaa636b1ebe97f43c31a5af9c51e78c6745231a3e5ed0c0b1e637fda928f02a3c04b6bce519ec653971f74e07544ebf78f0f71f58081efb797f08ef9698a6665889dd1774c551b30158f4ffaf9b6c3e2e3a34213e4147a8437b118c12f5de786d0ebca5bb74aaaf88885edbfcd96a3ce37864d522f7ffb5a1516e447ea2185451b408cb880721b09bc17f33a75c1b1ddd2a33d74d5f24e0f658e4de0b049074992ff844f90b6e0d444f3612e7c53502643266fc97cd6d94899e5c131ec29f472c991bcc618c8e8786f83952ff53570d32a46fa9ce0a88cc4f4c2a84f185de78f7cb1b428254886916000e4f030859556e2c5c172a7b73ce74999a58db2c48cf23e55c43af92557484de624ace9c4930b7a9e0be561788d645bf8cb2ef2da50cb04bf3889f39801686b8ed02d94b7c8a0dd936820791267aa3443ab4eb85cf794a80e96c2bba992fccfc655fb130569f9a2c47b54a0ea5eaa76c78a56729a516acb6fc67067467518d79ba9ced47df8e13113b12bbc467536994e1ecb8628d86af891b30f4545ee20876340141b8043c0022031070691fdb2ee4f9a043f2ae05693e62434581900de61a659769fb901460a495d90eee56948fe26c517eaa0905ca92cbc47bf9ce4fabb881a6af68ec1ea10af30933be24b791a0102f29733d9c1251b679f1ce2f08aec8b19c75c010822a8439a704d51aeb55b63c958db26cb0f839756fffa5d1465e7f3f40661ed966229c193 -ss = e26737292d1a1fc6772d9c14f9d74f0f4e830c0ba04253aeea21e69830a3a360 +sk = 31cb44a14c3ff840758055bf2afabad14a723c048d4d20c5908bb781844d574a96a0807c59d5192548a0089396a78b953aa52677b9a111cb012954b674571c5d0c7c5e6488d498290f7665f4f32dba7228ade2a724413798ec32619901215663b2c26360612558070bd06261bbab86b4f96056a498bf37b1b84238c5099ec8f1af4251c0862b861f334eee85af8d364a54f6bad0e44a23a0577933ca8482889a955086ea3a2c94b057c1c20d540cd6d2976126854ac123cd386a855caa385927318825494861079ac84606ac0f1810eb78a8398740be69cfa1777c61a5cc1d758ae28c072d6087c379a567648558ac8a1883734c64361db33cdd156fd371a2abe534b162c6e336143b944dc2309aac106525d6586793a2b3420358185fc787c2cee3875e3425be5627c1d49313413ee498b17e8c295908b718b3c4a6e03024d77f1ec37eaeb7462e09c683cb9b272431ef0abbd0422ae2569fc37902ab90bd2c236f4da66d78301a61765a77e43ace81102c7355749c1463b55f10e26727086d73a1800924c6b0eab6ec905d5b01adc538c9eec7a25989b85f24b1f68b9a22637613e9acf609a67cb20b38bab1a8d81cbd22a5ea8c7587a13bf8eb8a37e5949084c26b4433741a31c502a4c412535fc6a1c5000057c65103027f78f81ddfc4a8843c59f8563bebda15da543be2146a3eb7b521700958bb2a5064923236193d981bd1e2920d00b1cfc504e32495dbb116c5bb7aa21b6cec5c9fc0b1ab73330544e7af5bb1ceb7c159e3509938d0332cf51add245606617dcec688f117bfedc27dc5b8b4884446861b592b720b53fb23cf08513f66c3b51833e51b9a63e297054a8c03f8baa257c64c2c8a265a8a92052c41146bdb3a32ce0b7196aa33564806dac33ac05a20178c2a0cb04000d484f0325c9d16956da0af88f68bb72b7bc6b122a486cc1eb01bd3027aa316c6d7c1ae7d8b9a747443c5d7237989a93ed939d905832e76afae4172d5f70589e54f7b5cbabb536e5f316b3d38911513b400ad83f7b2a3c72a6c09ea3b4f68129ed285fb99442fe61237d61756a2ad78b7790ee69748b79e42ebbbd6b9b0d803a3eb77477609ab2cea5920128356c369878855126c22f1ab66a3a4c202892c8863b609f7926175cf1e3967ea93b7ade7a8e6779672023dd5d81bd4d9345af36a38db17e96b8d85b7c0beb586aefc9fd9ebc585f071c1b9c34fa2283a60884a0cc5ea210887aa677d24192db582f05117fa189c868a3cffe8b2fb584686eb3d009733e1d86c07d6a9893c7e9410b4ca99a4a880b48053878a45340d0056031068a63113be4b51a630016875541e099935ea92b2668ae84c5a183cbbfed619691038973cc07b72adb803cbe26986c827ac75428cf183cd5fe7c9c719378438058f470b62fa977dd658f219983f97b517bb1aed01a478a18dbb89ac1b916419a3b25f388c276c190b866356ec84c33b29022286c08a34d26948c59341a789cfa168adc0c7a73db36a72ec6c2c688c06aa3eb1fbb25b7b828cc3719c7b2473719f4e2b5c4ab8a4fc172a132439e0e3af22a1beae17ba4cf39a155925c62a4c9ca76436496646906630b9349a335a4852c01b018f77da15e4749bcd8577d50a102352b869402efde59f5fb54bbee919e7d4a8bb8cc40fb8c7240401113152ba727cecfc8e4b817c5d537df050902bd03df866317006a2aef59cac269813a47fd337a0c5b694f4b080f100089255614634a2b0bb1ecbcc3f1d84cdfb3054fa749736e531c2e673716079cf45c89b444b7d821d892c7ec39a74d39b815c2b9981ca47f5e56840341ff9d23fc877285f9b90fc78bea1b9c5c647ac52d066ad7b8ca2aa01e0729fa22c39d9c3c6cd833c6aac061aab1c1ee6819d2a245997b8580a9e1630112cc6b62c4952215a3281111675f25a10ca0c32bc68c7bc920bfbc7bcd82edfe130b0434afa29b2b9d90ac3f1143b5664e5e51984b52d976439794507d92cb256a1520078972b843ff3dbc6736602f68b289e0850ee845e49586c889ccdc104cbf13470f6f6c0e6766007e5c3a1348166933a45a1a62e0b749ee14a38e11a094bae60a38c84079d81aa655782138671a0fa186a727457d351a8a45b6fe05369f7b158de844e31117ddc47af9fe52075c6acd5f93a31c38ec7f608ff9096c8562e0271a35fa7265a56b24bf31c6a727376d1ab3f600573342e60884f41d355b2336e464b94554b7c108614c3394fbd561a2e74ba7045c0d74032877901e4f8a95c41ce9fc72013c51fa93b5c0b3c3b0a8c90ce0960f510a9f6a453b8b0012f7c2430350b8a4b6143ab5adc7aaa6f3533e230c3062b7caa33b1e9a3bfda7bbffef8341ad0a33ab272bada717a4790f4c99cf430bf114b62854810eab7af582a2ea327a599c490e25795cc5c42219771391b33df4c7fc01524c4c520eb4559c2ea8c38ab5cfe27035c756248662c1e969ef478a2d2419ed9da7125ec32b0557edb5b77e0dab221544e5f7a57a2941b89b803ed1c7d8de65f64a29d8e7bc2020b723d391987f83db0bc35e96aae7b2772b37159a3257ead277532119cf55959fbec482169c5391a9409877c79255cbd1c8d2b8352cba074bc4714deb09f9cd81624d2782de91efbc30882c45631e96e35c9b53f77cc0d268722ba5eb858a1de719a88ec240da229cd7766b9a237641c1277c006a6672bf61ab5dab4c223b7381fd3c16704cf7920b2f11210c969b6b46a152b72598de4aac1665d72a45bf51370de61559f83081dcb6aa49339e489968c80498550afc467c8aaf0c6c1b9085699b801c75eacc3142be38de6f6a64ad6708c426eacc13b09d8bea819bdc200258d31a8d1f308d0a7470dd35161379191576a03b81d70ec58565ca7c4a6bb333338d8113d70f5bef45b6835917e17c2945a06cbb7f2225675252f351593b06a6db504b6e67c6e88763fb06879187c5053029724b3477281cc5c5294b36b64f12a08084eea098489d5cad338a0cfa61231268bb866c2c524c71bd6a467c845ac7a4eac579049734970859a2ea753c6b93ef01532b130a103c6244a17870b75023e0014e6d8433ae5cd2b145bfe253a8bba300b6465fce277e2fabe36d6c8112887cb0a6daea4a54e258cf89071e407594de1bf1f4aa2beb50263dc5d5fc729b632957375b5ce6373d9b93211a66a29736a6ed616ef8538e95c45bf595b2eb743d79436d6385bab74c80d88c1a1f4022e6c3bb3d2294c474c2c554f3be4d7fae86455763b97ec8fdbe9640219b35fc36033966a3525d485f12fac52ca60594e514333ead02cb1bfa5cd1d9ecda4a0b25ccdfc47ad3f632a85cd2dd7a1be89575be8c14529bde4d832cc005dea955065c08b3185b215da3a2d +m = 794b565fe52db74e9c19e9364ee545d7cda5a67f3850d318c3812691356e5520 +ct = f9473e5f3d507f8c5b6da9d3f4ce753d6e0b53d517a4c2b8a4f6a0c5ac5b07e7e680e553546281291113654264615e4618e7e9e3b4dbbabb7ba43ada670036034c612649593eb537def2d696d8710075f2ff9b3d7607a2f51ee06fdc6e923fb013dffdda6852bfb9f13177e755adeeb574ec0689f426825abe8313bc4a561e9d82fa2f8f33128f2519884fbeaf05df17bf7cb87946ae524b41612d7475f473aa0c6e7948190511002b893d75b2800e610d3ecb685a0803deb8a2c9f8c4b66faf020f4e08523443c1945afa0ea6c35caf55d5d91965e1cb096ea7234d26596c4255195036db72415b1fd6a1929a6c5737a4c7cb52dc24a20de4f099f09a99f36906245d3e735146f31216fe1e373f794728b1f5fb0d7f8c9ddda1cc81c7c8bd3bbc3b3ebd2430b8697f6c12770adb52ba0d37a583966fafd668b62fbe5327fcb7694a39cfba43a65b6a489a9a849ec66f507dbe3829c43886c1c0adf1dd3387a8ca8087f49791622ff06773a7d10424097acd7174ba446e3b1f59cb9707b1c200eb213af88e07acfb28f90670f2a755d9bb7e0c92b44256a1ae9b7ad2e62b25218b478cc7cb1ef03bb17cdb23ad33ac7aeb19025af6504d95db1cbb53cd5b19723b9d56c786dc45703a938559fa597a4b9abfa20b73735375f5c687c4b315107b108244594f67cc6b7af6948e721aa2fe5891df2aa6800ffb9dc74ea155409044dc2f5ed4d94b199d3b37fd726b8c5879352268bad048664394e51b5ae8397e5da14a24cd119eb5e7cc6c4c0a207e28aae2a00900ef447f16e35ff786583efddceb392074f0060614a0add60f9a4cca0cfddcc2d279e0489f6419cd4b302b0b383acaff3b83a5175bd2af4e91417fd299d7b45b015e657ee9e804e31594a068ad9fa5627a4c2e16e145770c2bf1dae3cd2532f5982a34f6f251b65d514b9bcd7248b75bcf0a83254ec01d364d021aeff9cb5f25d606a1830477a4ad78224f7b00307a628aad0c21397cd661630338ac9d6b392f71e1fd6356fce6e9dfed863dd52c23c06482301addd1725c7836d7e2b850655c427269805a0f5741996669f93122f1a400029cd10ecb096a8e6c6113d89260bff3b29945ed2afe46970cf9c4b5e71e845d61901371c12cefa14ac6d6f77a029782aa8fc461ae1cb55967647df0b5abee096d8c891c5a9caebc1a8407824246ef05132b558f56f21accd4d6068bbdc45442326ab70e52b067f2b5cf36725cf8a92ef906406e016e174328f3cf068d581f6e155ce0cdcdff7679aa57826abb6a038471cd77868f33b64fab032af194d5c2eb89091ad4b44aedde55f0ceddc3c22a0b1c7b08461957c1053d817e576c7f87cea920ac3b4bf31e08e5a7b9a8f72bad9b3724e7288f4e73f704bf4897bd5df859fba7c57c812953103dd4ff11ae8212b3224a96d0b6c4a71b53733cf657bca452e019d1dd769bf1acf7e2282ebc3a4a5ca1a1b5b931173eb31160c1748c7449f7a86a3407d27354d1e5d46b31cf7523514b6cc447569e0c8ecb00a446 +ss = 32b13a9ee75c0a5ea2db0b9bb0d21f169508bcb2de4da85b7f887d34ec63f1af d = 241191401a63afa750f05662e354dddbc683c776ce3222beb83e3cf913d7ed7c -z = a59b3bd23b49a95bc1fad20070fec930b6060bd827d742b077092e422268e15d +z = 9508257a83ccffbd0677795070695cd40d7b7f39a891d25e7e208bb9d65af538 pk = e26411e0cb6648d36c6236468793848aa4b7f4510377e0a24bdccb712bc98cb21ceabc08101328d3d032cfe9c82d21372924c69ab5a402e9b3d88c87e9bc5c90335e5ac231a1b87ea3c2527b82445d7c8596b10a609616e4da431c9593b91a1aa21a2e436a359a7a5901902a6b516d562363bf95890501af4c5946626ace3f276af8966709cbb9b666b9842102f3077978e4872307ac65ea11002cbe4dd0bb83677419b89c9e0c9847fa6441c86b8b601663e40357831d1b3c21b4a8985ed50e546c2917f332d4acb59bd64d9be88efb981362458b8d868da7ec516ea9c807a29c5d51385781302072c1f3295da2559003d4265cb330f43ac5b774562c182be83636fa034bdbc3cb25ab6c8c21c69b873329321533a788287a40c1659f457c5e6e15456da54a7fdb18c8ba246447606f2aa340a48b4fc667d7e67efec47910e05c3da4463b75359668821711530835357b6a8ec62a3e7817c508c79754063f7110362be73416a46533341cde577c17a75b3316ac59575eb1a1575ec0104ee77f70941e91786ad457832e1493466a3faaa55911e9bacef8ce49f579f1753b5138797ef827f0bb0821ea69bd9c43abf2181d0775fb64b8694c74f0323600fd3e5f1bc5cbdacdb2329928247e4759747c02cdd924cf1c93bae5c37be8c3b9c7e09b4660c3b9901ee33b62350a695d799b52743d5158c015cc609e891c87f9ba02616ed2d3a1c14aabef101b4b42ad5c47916481bef01b11b9496819ab76a428c0f5b8a69ebb24fb5b3407e1c22e2020341575c7098e63379406c9b60b6a1733c171682b1776719db5acbd2ac6ac4b97aa0a3c8c168a5ab389010a01b4dd01829ee4a402e54e633a229a94cf96e01f72ec4054c13335b89bd6e91e965bc324924c028b433074c9705ac4ca2682fb1b385f058d574515319397754cac9f68cb70022882a24242d1c3f1242cabdaa4d68a91ddc8a22c939bdf1539645a912a33c1d11a5849211d831abc2c86834be35bc3500cc44522bf9aca86988aaf580bf45a5ff7f8192e110e163356b8a52486f772204bbbbc19befc631433f081e8556579d288b3b27c1a8209ecfbaa30a82b34eb722fe2be60534e2f625c0ae477826a9e75b7c5aed2398525358bf0ad127c15915133a32a9add47a72270a98f942807fc59f2420e14365a758c534f289160a65cfb34619c7c9b2992083cc699f554bd64586dcf379605581711d607235c944820cc28416ac761498d8b54193a8cac8b815d7b19a21b02a6d5a737c4984f3a888c0b9e3f51b95ed9430327642a082787132e94d6c26b298b77554e7f2237ac286f419266580697fc9316ec1176c4d763b194c52d79b25604974c1bc899560b72094701709797c5183391a268853b9ff3aa277c707906be0b078fd6619050e14b48bc73f877bee69a3ebdabbb8b2198cf51b14b2cc9abe673caa803b419be1c34b6341c2e83d2013152b557a87ac4fb55c5c86ccbba995492cf960479b044b3d6233317677c78a453d4e247ecdab3fb200c3d2a0564c4100a995c4f70597e498cf0897b507ab35e4587e2b875030303dc2ca8ceb41ae2a9725085c12040c8d0cb20ace46f1936725bcabd60d0b880f7aabc887090195d95fb6ec060b5257ac37481faa2eccaef99c0da37285d53baeb0e25bdb9 -sk = de9a3f4dc6a54e98c850e3af0f7abc5cb5b363bc668f2c10c6e197927c89e57088c4960c46b767e27129fe78c7cae38717e6a2a7fc16dbc1582ac697e8915c90281a0a784c4b75345a13161bc6a586166d4385b507748d3b9516b10550f05782125c10f3761aea2c631afa83870c003950b891d96ae721317b192f21a50f2b2caf49f81177790c29c02216759b005692ccab4281927a46739ff7a9583e9a5eb9a62314e4967f5bb375fb627e5a45b918c801b4b1dac24d55c13aa7fc5cfc104647295650b5cadcac2c74aaac28b82233f64c1c01ab50f16213154d0312c5add25af449cfddf494045000a01c449d1084c876163c83c13321b1f6f87757dc186d4c30ce916240e538f196936ab9bb419093fd593409f3a308827ad9002e5a621fb1387ac06b442970cda9c720ac9049cff1c307806e9ff9209fd0cc52b9517c685c36c45801875dbce490163c91c707755cc8701af04deb9aa0ce460f24c72e5d811c4ecc297abcc4c9ba304c75812196409c19be10c494a8b138a6f05fb5558e7f2cbf6f1694e7d417f73781205b941eaa3ecdf91c71e998f9a8b6b72400a048a77ce4ad17eb265313303cc86150d477e42a39cb4b8c5a3723d03550f4b76d5fb7b524ec2658d374a8c955b0fb3fe878072ebc0201b2328b737f9f19bca8411f35980890d71e7bd9707c917545aa6a659c3c70877134bbb0a1e970e7035021168c4a493ce1c9950456a76cdc05fef147fdd625d2b4bc51b39f3b9bc73a35a06a7485306457544b88c168b22e81cbe9bb0174a2b526b6ba0641456a3cc941569124557d3bc652dc8259ac66552db0ae06cbaedd091c268c2c6f4bc7e948329778cf48c3b37f9a3ed714c5c8e0099036514d9a052631b256fb7e7f7c91ea0311b8db8721d5001ae90991111c5873499bba20a9d08a135abeaa544706dabf7338497c578084e1bdce9155f87417b29313dd39505cc90c45c12c324b5d5af01eb2656d58607724725485465e33a6a64da220421c038f0a625254ad127ac941eb23362649d2049f8ae8c057321aeeaa31e0e98fe3da74d53938f4f900b6a33f1305a383cc12b35894ad498293957950010cf7912174373967c294bb89a90331c828048e3fa862fadc95283025e2f66dca10104be8b9f286c198b8c9f0f24c79a454e8dc0742283cbba84b95b388d8f6912f4b74198aa52ab561ce59508ca6cc09251fa2780ec0da59d8b12b17179320d23b822a3395466dac34384a364d06882592734f72ab0d2dd7131196afd4da54fc5801d85928cf61bb257274c98479ee0c2f65fb985f6c669d948fac153158530849311f0bc51ae72bb8c23ab5fed55e793a4e8489b423044a1b017273a4be35a305e19934b99b45dd2734ad4cb4c5b368c7a32650f306b7148c199a44bcc3a297429cca6015e906204c827cff8c9dcd48bf1b638091f732dfdc570ce6618dfc839b4a4648a52bb8302e32098c26e9a51a6571c9c290005265b6359f07598b10c7674f5356b0365ceacbb55b1a1822811c92c44f0e4bbda4a13364749c5384ca7670acce69bc48b6a0b0b2bae8ac5cc40aca6ce24957167cc0f24dd0caa3a0228c13934fbbb0c205f53d713aa441f5b0feb01fe26411e0cb6648d36c6236468793848aa4b7f4510377e0a24bdccb712bc98cb21ceabc08101328d3d032cfe9c82d21372924c69ab5a402e9b3d88c87e9bc5c90335e5ac231a1b87ea3c2527b82445d7c8596b10a609616e4da431c9593b91a1aa21a2e436a359a7a5901902a6b516d562363bf95890501af4c5946626ace3f276af8966709cbb9b666b9842102f3077978e4872307ac65ea11002cbe4dd0bb83677419b89c9e0c9847fa6441c86b8b601663e40357831d1b3c21b4a8985ed50e546c2917f332d4acb59bd64d9be88efb981362458b8d868da7ec516ea9c807a29c5d51385781302072c1f3295da2559003d4265cb330f43ac5b774562c182be83636fa034bdbc3cb25ab6c8c21c69b873329321533a788287a40c1659f457c5e6e15456da54a7fdb18c8ba246447606f2aa340a48b4fc667d7e67efec47910e05c3da4463b75359668821711530835357b6a8ec62a3e7817c508c79754063f7110362be73416a46533341cde577c17a75b3316ac59575eb1a1575ec0104ee77f70941e91786ad457832e1493466a3faaa55911e9bacef8ce49f579f1753b5138797ef827f0bb0821ea69bd9c43abf2181d0775fb64b8694c74f0323600fd3e5f1bc5cbdacdb2329928247e4759747c02cdd924cf1c93bae5c37be8c3b9c7e09b4660c3b9901ee33b62350a695d799b52743d5158c015cc609e891c87f9ba02616ed2d3a1c14aabef101b4b42ad5c47916481bef01b11b9496819ab76a428c0f5b8a69ebb24fb5b3407e1c22e2020341575c7098e63379406c9b60b6a1733c171682b1776719db5acbd2ac6ac4b97aa0a3c8c168a5ab389010a01b4dd01829ee4a402e54e633a229a94cf96e01f72ec4054c13335b89bd6e91e965bc324924c028b433074c9705ac4ca2682fb1b385f058d574515319397754cac9f68cb70022882a24242d1c3f1242cabdaa4d68a91ddc8a22c939bdf1539645a912a33c1d11a5849211d831abc2c86834be35bc3500cc44522bf9aca86988aaf580bf45a5ff7f8192e110e163356b8a52486f772204bbbbc19befc631433f081e8556579d288b3b27c1a8209ecfbaa30a82b34eb722fe2be60534e2f625c0ae477826a9e75b7c5aed2398525358bf0ad127c15915133a32a9add47a72270a98f942807fc59f2420e14365a758c534f289160a65cfb34619c7c9b2992083cc699f554bd64586dcf379605581711d607235c944820cc28416ac761498d8b54193a8cac8b815d7b19a21b02a6d5a737c4984f3a888c0b9e3f51b95ed9430327642a082787132e94d6c26b298b77554e7f2237ac286f419266580697fc9316ec1176c4d763b194c52d79b25604974c1bc899560b72094701709797c5183391a268853b9ff3aa277c707906be0b078fd6619050e14b48bc73f877bee69a3ebdabbb8b2198cf51b14b2cc9abe673caa803b419be1c34b6341c2e83d2013152b557a87ac4fb55c5c86ccbba995492cf960479b044b3d6233317677c78a453d4e247ecdab3fb200c3d2a0564c4100a995c4f70597e498cf0897b507ab35e4587e2b875030303dc2ca8ceb41ae2a9725085c12040c8d0cb20ace46f1936725bcabd60d0b880f7aabc887090195d95fb6ec060b5257ac37481faa2eccaef99c0da37285d53baeb0e25bdb93eb856043b822df9d60b55fccb537afa3cacca9ef50433bde1dd9831e534d192a59b3bd23b49a95bc1fad20070fec930b6060bd827d742b077092e422268e15d -m = 52fb7cb6a633fd2e83f2892bd9441b48fe59ecee6d026f5246fa7f2a5e55ee3b -ct = a86cef6cbec42d8aea488688bcd2f5a1dcf7716149399beb3eb373810b7976f4d76a37cfbbee50167f2f38b3e1cb60ee8c74cb60b7fa62e412a341794891a7ff3603e926fb870b876b94aa0f52909824a8edf9699c5f5a3d309e29097f48b5354987dea5beae36bf29df79b0733622f1c67623a006d79a9909839cd70df5a1c0bb1b18fa1602fc2d30c965dbb7433f972e73cb3dd31c6f9be7c5f19c0e74c8f653cdc115725c7e77099f90b2fa2914fd713775fa619ac87f129cd9bd9a35393281bfbd18c56a0164c0c470c3ab1e4b4ce754e1466ee17dabb944a5953849e2de8a5e69c4cc1b46d6704a03ba021ef55b240210148ab0380970440cc686d8f50e26db02ea4281aa99be5a35618576a1ce9ca39d7e4be2f3d7acebb603f602030a995af41f3441dd939ab30c19ca6d262438424edf43375d28642f88ab6ec7bc75247e17399942eade8f8a9dd2e9de6aca95256839ec4cbb280b6f7b86ed4016b95ae567bbb8ae138dc77763ed5bd71efd669fef71e37bb02edfe11b3fca0404c46b4b300476a020ed6ba561e231e731478d47154f35d5d9ee02d52d82482c490a32ced521c81b8bfbc18aee4375b1c8a31c58ed19f7ed744d8c7edc471082480cba60e0b36caf6b7b95404f427cd47fc93d548e8b5fd014bb045288bdbc2c8aa4164554535f5a3b36f7871ee965965b741f57386d15aa545bfc0e405831166a9d8496fb49894d3f2b3e7635e6c7ea7bbe009489736d506c808dfdf20103a340af5206b227c9d913522608bf5593c6d08f596dc0341925497765bb68d3c9c9d34b6ab026cde93ceb535bdb577220f59b87b7272733e9106856cd2e9c6a225f94011cb54e65670855c910251649616d9782a34cd4de063cfde8e1c3144b910ec2f83ee3d5a1d0c7b282214f467b3534945723130cef32b8d8f56c74fab9dd7750b4858de350ff1d3b2674bf78076f0282ba0cb74244a4d6887f188bb8df9ed1663b53543e8a64ca604a4189f0fff339b8aad602d39c9877bd96513439c258455f9ff7bd0b05293e8637f8a56f3a96d5b47e122b1367ae7d8f8c65fa4ee444bb8ecad8d96ba05d060bb03bac1b63d1a257576e672d77286402b3832297949400e4e799bf2dc14dd2fe364b9ee06f528db197a9ddd93b9da9426f7d8ddebb8f809c6adf1602f4812c01b002a75728325e3a9a148e0c85cabd9415bad35c9347e45ad4d01d5d1da29a6a13cb0949b75bd07a942f26f2851946ae9defbab4094293eb2ff4765f99068de9328c8e0061c7a6c858efd839d9725061e9a04ddcefc0a2d614fae5d0bbe0f8adbe61b1af37ce882ed75397fb228ae317fb91ca45c498ad05b5f9ce1e81d73e94f4ecdd0208f58a363366625e0408136637514a194f79501209c7fd5d798764ac5ad5a88fcdaa776b7d2d134a00759497b469e7b91abee9734961cf5a8eafb4b8dcde96be81405a7c06c541fbd8881aa352fdb3b5af4d00194274e86ca1d8e5e76a60a12e4df51884e7f8f9ec171383177e7d7280d36623101a -ss = 1d8db19740e2f6ba7c8c04216cf2398fe9221b2404addfef8996a03ec72ead37 +sk = de9a3f4dc6a54e98c850e3af0f7abc5cb5b363bc668f2c10c6e197927c89e57088c4960c46b767e27129fe78c7cae38717e6a2a7fc16dbc1582ac697e8915c90281a0a784c4b75345a13161bc6a586166d4385b507748d3b9516b10550f05782125c10f3761aea2c631afa83870c003950b891d96ae721317b192f21a50f2b2caf49f81177790c29c02216759b005692ccab4281927a46739ff7a9583e9a5eb9a62314e4967f5bb375fb627e5a45b918c801b4b1dac24d55c13aa7fc5cfc104647295650b5cadcac2c74aaac28b82233f64c1c01ab50f16213154d0312c5add25af449cfddf494045000a01c449d1084c876163c83c13321b1f6f87757dc186d4c30ce916240e538f196936ab9bb419093fd593409f3a308827ad9002e5a621fb1387ac06b442970cda9c720ac9049cff1c307806e9ff9209fd0cc52b9517c685c36c45801875dbce490163c91c707755cc8701af04deb9aa0ce460f24c72e5d811c4ecc297abcc4c9ba304c75812196409c19be10c494a8b138a6f05fb5558e7f2cbf6f1694e7d417f73781205b941eaa3ecdf91c71e998f9a8b6b72400a048a77ce4ad17eb265313303cc86150d477e42a39cb4b8c5a3723d03550f4b76d5fb7b524ec2658d374a8c955b0fb3fe878072ebc0201b2328b737f9f19bca8411f35980890d71e7bd9707c917545aa6a659c3c70877134bbb0a1e970e7035021168c4a493ce1c9950456a76cdc05fef147fdd625d2b4bc51b39f3b9bc73a35a06a7485306457544b88c168b22e81cbe9bb0174a2b526b6ba0641456a3cc941569124557d3bc652dc8259ac66552db0ae06cbaedd091c268c2c6f4bc7e948329778cf48c3b37f9a3ed714c5c8e0099036514d9a052631b256fb7e7f7c91ea0311b8db8721d5001ae90991111c5873499bba20a9d08a135abeaa544706dabf7338497c578084e1bdce9155f87417b29313dd39505cc90c45c12c324b5d5af01eb2656d58607724725485465e33a6a64da220421c038f0a625254ad127ac941eb23362649d2049f8ae8c057321aeeaa31e0e98fe3da74d53938f4f900b6a33f1305a383cc12b35894ad498293957950010cf7912174373967c294bb89a90331c828048e3fa862fadc95283025e2f66dca10104be8b9f286c198b8c9f0f24c79a454e8dc0742283cbba84b95b388d8f6912f4b74198aa52ab561ce59508ca6cc09251fa2780ec0da59d8b12b17179320d23b822a3395466dac34384a364d06882592734f72ab0d2dd7131196afd4da54fc5801d85928cf61bb257274c98479ee0c2f65fb985f6c669d948fac153158530849311f0bc51ae72bb8c23ab5fed55e793a4e8489b423044a1b017273a4be35a305e19934b99b45dd2734ad4cb4c5b368c7a32650f306b7148c199a44bcc3a297429cca6015e906204c827cff8c9dcd48bf1b638091f732dfdc570ce6618dfc839b4a4648a52bb8302e32098c26e9a51a6571c9c290005265b6359f07598b10c7674f5356b0365ceacbb55b1a1822811c92c44f0e4bbda4a13364749c5384ca7670acce69bc48b6a0b0b2bae8ac5cc40aca6ce24957167cc0f24dd0caa3a0228c13934fbbb0c205f53d713aa441f5b0feb01fe26411e0cb6648d36c6236468793848aa4b7f4510377e0a24bdccb712bc98cb21ceabc08101328d3d032cfe9c82d21372924c69ab5a402e9b3d88c87e9bc5c90335e5ac231a1b87ea3c2527b82445d7c8596b10a609616e4da431c9593b91a1aa21a2e436a359a7a5901902a6b516d562363bf95890501af4c5946626ace3f276af8966709cbb9b666b9842102f3077978e4872307ac65ea11002cbe4dd0bb83677419b89c9e0c9847fa6441c86b8b601663e40357831d1b3c21b4a8985ed50e546c2917f332d4acb59bd64d9be88efb981362458b8d868da7ec516ea9c807a29c5d51385781302072c1f3295da2559003d4265cb330f43ac5b774562c182be83636fa034bdbc3cb25ab6c8c21c69b873329321533a788287a40c1659f457c5e6e15456da54a7fdb18c8ba246447606f2aa340a48b4fc667d7e67efec47910e05c3da4463b75359668821711530835357b6a8ec62a3e7817c508c79754063f7110362be73416a46533341cde577c17a75b3316ac59575eb1a1575ec0104ee77f70941e91786ad457832e1493466a3faaa55911e9bacef8ce49f579f1753b5138797ef827f0bb0821ea69bd9c43abf2181d0775fb64b8694c74f0323600fd3e5f1bc5cbdacdb2329928247e4759747c02cdd924cf1c93bae5c37be8c3b9c7e09b4660c3b9901ee33b62350a695d799b52743d5158c015cc609e891c87f9ba02616ed2d3a1c14aabef101b4b42ad5c47916481bef01b11b9496819ab76a428c0f5b8a69ebb24fb5b3407e1c22e2020341575c7098e63379406c9b60b6a1733c171682b1776719db5acbd2ac6ac4b97aa0a3c8c168a5ab389010a01b4dd01829ee4a402e54e633a229a94cf96e01f72ec4054c13335b89bd6e91e965bc324924c028b433074c9705ac4ca2682fb1b385f058d574515319397754cac9f68cb70022882a24242d1c3f1242cabdaa4d68a91ddc8a22c939bdf1539645a912a33c1d11a5849211d831abc2c86834be35bc3500cc44522bf9aca86988aaf580bf45a5ff7f8192e110e163356b8a52486f772204bbbbc19befc631433f081e8556579d288b3b27c1a8209ecfbaa30a82b34eb722fe2be60534e2f625c0ae477826a9e75b7c5aed2398525358bf0ad127c15915133a32a9add47a72270a98f942807fc59f2420e14365a758c534f289160a65cfb34619c7c9b2992083cc699f554bd64586dcf379605581711d607235c944820cc28416ac761498d8b54193a8cac8b815d7b19a21b02a6d5a737c4984f3a888c0b9e3f51b95ed9430327642a082787132e94d6c26b298b77554e7f2237ac286f419266580697fc9316ec1176c4d763b194c52d79b25604974c1bc899560b72094701709797c5183391a268853b9ff3aa277c707906be0b078fd6619050e14b48bc73f877bee69a3ebdabbb8b2198cf51b14b2cc9abe673caa803b419be1c34b6341c2e83d2013152b557a87ac4fb55c5c86ccbba995492cf960479b044b3d6233317677c78a453d4e247ecdab3fb200c3d2a0564c4100a995c4f70597e498cf0897b507ab35e4587e2b875030303dc2ca8ceb41ae2a9725085c12040c8d0cb20ace46f1936725bcabd60d0b880f7aabc887090195d95fb6ec060b5257ac37481faa2eccaef99c0da37285d53baeb0e25bdb93eb856043b822df9d60b55fccb537afa3cacca9ef50433bde1dd9831e534d1929508257a83ccffbd0677795070695cd40d7b7f39a891d25e7e208bb9d65af538 +m = 848db3a6d5cc33f17d978a283b8267e45510cf6c6354edd5e2476821e12be3e5 +ct = 0cc91e4bf6c355ccf53348cf26983e783633a88c18a4d44527d475cd1276cf9412a34ce3696848a167286c85ff6bf570adcfad99472f9d00d4d34bef35515c03b14732d622ddec1cc114ccd6f0c99c9132028494e958e25b7f7da4b161788b6638de5e460cdc7cf6e66585e677b49d22ca3608cba74715de4b209ec9146565f56c52146d422466c24265c04904a0751d2f00ff8669a494cd46921b145860291bbeb6461c6535950be4558de79526d6568da959ae6b07d9a36a1de3912a3ed7b303e0aa7a1fe5ab9b3352b969de1be505d1c60c17c8ed94ba3b594b220659148b7820820770a76d5ebff7da3c5b8fae5ceb0194caa466b7050103201db3fa4e55d302dd61ff8438ea0d8b2fb88f6a237134365d2d521c56a52415d2933f576fc5a0c9765da7685f532cc042585f5491e2f5be793284bc2137b2f1b096bef1fcc2bf08cf6a6206e51496fdbbfd17702e6900558b2d6da8fdbe8749a9277aacfc1c155dca0bce6a1e97821f3b2e9f07790f1a1ebae9a2705bab04124f2ff516ca4e26eb39885c1326c1761bdc19c839f9416af259cb26fa185968b90ecd1103c7773cb5c71f783e583830bba21a8538c131de763643db2f60b445c118f36cff17e831d24ff748265687ea5596528f22aed02895dd8a257a4ccdc3507cc107632247b3be44499658a915941a7a9c8052efe38285fac388fb7440068b156461d9f2b06dcf266f1237bf5ebc35271f6b82ff423eeaeb9a710eee7d44a791237fe0661fc54018be6669c1c13faf765afaffb332b109fca3f3d8964bd8ea18c127ec1fba1e2d7409e98cbbd1fb2cd6600299c22d02e61adb4c994cfbf99a0e851cc12d9f1c0325a05c3bc3a8f8cf57f12f1146fcb443c4b8e48719ffa9f15f8ad453c96e7e05c28822dc5d21c7f858bc89f54e843c25149dba18ec20ce4f4f19a9f4d4eb0e9c1f7f5f957cb2d16d3f94727e38387a0acdf50376e28b27c234375c5a031ad9edd77274ef14a91a53968d167467233a96e2fca22bd94afdee4abc68d4b2fd7a18f474104b87e4e90dbac0322aa93c4ce78fcba820dd5229a8b2022fd04969d498b5a4d5b09bb0088085d88b94c9efcc64b7c904c4b20ded97618ede67baa102fdc68051da87054095c964d867f3d423eee598d38a80718f1baeed7c70e80b5ee34589e936121e22484242891d6222d3be6f33e8d14e01e4244db84b5a209ced97ef0a405bbfca2b584f7100cf4ce269618cd385bcf898aca176c24a755c059b6cdbc3ce6eb02a656c6b48df2492a0d201543945faed2fb5f110e03abb281b78d45c5ec3a756dbbd5a1373766aa7bbebaa614914355f1a79cc3de3a288e4c5ec46fa25cdc1018f81727649ede40b2c047e72b7da7619140e67615720edf7abcd6c83b22e3438f24aab84978b688a7dee37337eaf95f3d2b61266d6b3568fe03f7caff6945ae21f796d8fa1394fe0b95e9bcf985e4975029ee00de0ed404c21080acdc67d5dd2acf87bfe72e1e4b73c469e6ace6c69ddaf839d060dba45ada5 +ss = 8053c5b5f8ef3a9e42f0a459772b75e915a3e9d209d54386626a7377ca15e63c d = b9a6b0c05677e957d41a34ba03bd06f2a9092e31f63389397d7e70fde6409d18 -z = e99c0e7b82be89bc3c1eaee6680aa4efd394e40c2b3f30523c8117f7c26a8969 +z = 24d67704139cb68edb8f14c5ecffce83828208edf58c0f494fe3ca22cfdf58ae pk = fb262aa9a031e49084a6127b8410a5a46cbcabe6b18f607c97d4af6c6a598a089bb40c1998d16cd307895035b15df2c34bfc05f634813eec780c96b83fab557075cde3b64eae6ba98b65106e729b81d11c926404e99164bac5b546997d2a842f6aa9ce1f6bb7ab7551a06a3649e1caf7872ac675cb8981a124ca05a318bff9a234853821a3036a86404b0f056491a5b20ae09dedb123df8b4e9eb612a00207c6ccbc580373b0921fe2831f50610340865232c60660655184d8a0867a47811b88bcdc4e6dec5874839919188f63740588ba97405bb1ff2925c1553188c0137336948f7809dbb96d2f910a9c0aa95d49267e543057976e3dc7346cdc7560e68911b8829d37bd0eb20dd5e2b0eb1538a98a76a68798b5469f9dca82a08648a2da13bdc1a9b52a7b6f345626bb691aeccd14ec20f1c252b4fb2595474b2dea0edda47b87cb51f020072d489a2e79cfcf9a12b52bb4f626c35ba4c0888c7939f38e6126484a7932f5d6a029e1ca5cea27d729065d7137bb518c1885a299b58e1f6446fdd8449e58a21453cde7ab683bec6d84876cee590d1ad93852885db721b85d4061dca1327179acdbfc329416b23234572901b3f63a2cda36aa65b17035f449af2b404691957c30028f053989c501d8c2cf8a8cc0c04aa59f3b19a98777f814a18a0753a7180264e59f2be7c9f0266b8dc481cab4833be8b3b599818aa930571748d41657256015f68a8c887c23205a6655f30c51084925167bb75c98b8a25b7579bdf40a912365164814794bdb0b78824fe9066cc63473496ab9cea06248d883d1846fc8084d59f05277aa3eec0c3186d68bdceb6c240cd0128a6bc1361467b861ab025309c82183233c37b35e8af1b464331cbe7cc3974a48a8e015a491677567472f263e31188966eb556151819cf52772053936abb0d0a48e99357e558301dc8157a8a7853212828269786919a8f9032e17f9b692ba8efaebb602e83bd4b75160541500779d1907b1159170dea870e6f57f5229222e85b178dab32f897bf45510ead084887566942656357b7896570756ab1614994f982841a525c8ec63ccc8e4575df03be2f5cf96505ade252fa4e80fcff664f6fa8c337980251904a9135abcc509db15a49fe4c6d57b41bb6383b3483ca5f5ce11641f9eaa423c0c3254a508d4319dfe72168070cc8c771ed3e06ce74c93240947a8dab87d889f9ad894f37243b25259153324e103b73c708371400ebf007bb5459ee084be938a18d055af7cc7aa98fbb88a156849765936e7273bc385a1bca94a74368168cf26d8806c7901eee2359c8694b5439f1e82c0a6892e4a68c4858a9a00b1496e177d1efb57eb9c0ae382b56626595673230903cc19c79714364cc4b10891823535e21cbcd45c90d471e684af1fe243e925c848565a1989637f7614c900af1bea9049b78e07f00950ac800ef72860e209c192a4aa0b901090987bf15a2db6165516ad0238a40b0bb233a365bbf2bab2f60eeb8a54771a8d8e5279e2740298563aa2868e2df1be582897c7a9a0547acc2d8933aba9cbd5d937073455489a30e8cc3659c03d37240bff084d77f09dee76b60952221ed2c1aa73b772cbcea4d7a1fd64561e88bb90327b7c13c809696c0e4711ce152577517be0a2fb3d597fa5804e0c106a4c10 -sk = c65b5692b9737bd5bcef94376a685fe08cb59c2b94884b47bb6a4b292c4ef8dbcfd1d9392ba3c464442cbe0879fac60cb733496ffa7116011cada07377eac759172db45c9035532a5a48c18f3343e7fb3a0a7a1da9c75f647648a822bb8fcc59a2e0476fe958cdf968433b46ea296056a8460edc0b7d4430252b227cc38c8dfa639a72759de9325d3bbbdb1a5305e546580127b11332bb666236924ff1f13105176b81a777ebc946bd4b962e8050c0f80be026a513f7c9c74308f8336a9bc73bcabc8353aa10afb69aa502b3b6e9a53ac67f8cd8784be4519ab3c6e8e47212bb59ec3958be442bf2162dda987c602030770555c0bc62b1422367b95a91399642155cd0b17dbb848b642c765fda2400358040d4cd154a68db36265bb525fc90988fd0c04bf0b66ce052bb216d6183b444cc385bb8ae17388d5e8024aa41563653b5f72899cc16b37d642f6ff7385f557c941571a1c73bd9425fef3c343ed9b88bd02a9be5652736ae69949e43b5c9719c4b8e42c9071c10e3d454b3c90d315c93579cb106a3b16bab7163983f5c514b818516bba802b7fb1166679ee03c4c41ebcffc6322db61a7988927dd83b48c24bfe82a4fb1901f70e2c39c411fa65c43d56c02c79849e7745bee15b70e405939b055c2a76fe1021e094b4671a290f5d708ebf0b1155b94fee9b34cd9858d3a8dd4bc27f5fc0627f2a80d6681c11324ecb74639540b72a23083c3758cb29ad40c979b42679e1436fc56b3a7d1115137015e2a2af9a8bef038b6905c8847c16558ba2bc6ea92ad90b026228695d664720c15e6708b0934064760a745ea4a5587ba211312c7203005f838a2d5b7bb09b8dc7aa39d4956d494472f71a268991ca907aacf8048fc98c095798d0ea043c42c437f6762ed3678b6d701560016f405cad66117c786b56b3a88fb5968c26869f73a2227b129553b220f67cae75b5433b29259553ab4375a0aa6766b2aa0ad480b6969201ed21ccda0a39f8b8f565112565065d8d26dbc1a57425a29fe0a606ba826ffe45a69493b08b11712e88a2b4b0371db5c0ec0125e2659ed08275d18277b9c0ca51797d46cafe91951737868483a418427733ee2637b4aa9496c30fecab67b0b7278a76da2da201874711e6928b7a40e7859378c867b9ba81529656200584ea9a5881b657b68980ef8cb201338ac1b856c4ec5b0c48a80bcd6676c0ca624f05296e59155d5587c2c20bfa1bef1005bbe9840db205d9658935a67614595bb3fe48e52877fc5ba639d023f54d534c58cb90a0a98bd1c2e9e940fdc61193d4753d17463d7eb8c9c6575e0f6845b5c0a5bc69c5f90128d3078960671394b75c5c72eaffc1e8ef4afdb395ffd40a2f6bc75fb9b79e1d8756705b710b0bac1dbb4ac312fff30745590739c08bb25cc9ec62caf1226176c161ece62aedec392a3591ec2ac80e92571c1417be7d82b2f9a1990d50dab78c1dee631304ab5ac57274846a8fdc6547b224c72e0781b233ff8a6c876eca3a3e060a00b560f661042e85340c4a8257660c0592a429c7b81b5137d410b5492864e156dad292dabf59035fb0e02247e6c6847cfd86b6958c74209a8f389041e5389ebf5b9b633b7fcc08cfe14bafb262aa9a031e49084a6127b8410a5a46cbcabe6b18f607c97d4af6c6a598a089bb40c1998d16cd307895035b15df2c34bfc05f634813eec780c96b83fab557075cde3b64eae6ba98b65106e729b81d11c926404e99164bac5b546997d2a842f6aa9ce1f6bb7ab7551a06a3649e1caf7872ac675cb8981a124ca05a318bff9a234853821a3036a86404b0f056491a5b20ae09dedb123df8b4e9eb612a00207c6ccbc580373b0921fe2831f50610340865232c60660655184d8a0867a47811b88bcdc4e6dec5874839919188f63740588ba97405bb1ff2925c1553188c0137336948f7809dbb96d2f910a9c0aa95d49267e543057976e3dc7346cdc7560e68911b8829d37bd0eb20dd5e2b0eb1538a98a76a68798b5469f9dca82a08648a2da13bdc1a9b52a7b6f345626bb691aeccd14ec20f1c252b4fb2595474b2dea0edda47b87cb51f020072d489a2e79cfcf9a12b52bb4f626c35ba4c0888c7939f38e6126484a7932f5d6a029e1ca5cea27d729065d7137bb518c1885a299b58e1f6446fdd8449e58a21453cde7ab683bec6d84876cee590d1ad93852885db721b85d4061dca1327179acdbfc329416b23234572901b3f63a2cda36aa65b17035f449af2b404691957c30028f053989c501d8c2cf8a8cc0c04aa59f3b19a98777f814a18a0753a7180264e59f2be7c9f0266b8dc481cab4833be8b3b599818aa930571748d41657256015f68a8c887c23205a6655f30c51084925167bb75c98b8a25b7579bdf40a912365164814794bdb0b78824fe9066cc63473496ab9cea06248d883d1846fc8084d59f05277aa3eec0c3186d68bdceb6c240cd0128a6bc1361467b861ab025309c82183233c37b35e8af1b464331cbe7cc3974a48a8e015a491677567472f263e31188966eb556151819cf52772053936abb0d0a48e99357e558301dc8157a8a7853212828269786919a8f9032e17f9b692ba8efaebb602e83bd4b75160541500779d1907b1159170dea870e6f57f5229222e85b178dab32f897bf45510ead084887566942656357b7896570756ab1614994f982841a525c8ec63ccc8e4575df03be2f5cf96505ade252fa4e80fcff664f6fa8c337980251904a9135abcc509db15a49fe4c6d57b41bb6383b3483ca5f5ce11641f9eaa423c0c3254a508d4319dfe72168070cc8c771ed3e06ce74c93240947a8dab87d889f9ad894f37243b25259153324e103b73c708371400ebf007bb5459ee084be938a18d055af7cc7aa98fbb88a156849765936e7273bc385a1bca94a74368168cf26d8806c7901eee2359c8694b5439f1e82c0a6892e4a68c4858a9a00b1496e177d1efb57eb9c0ae382b56626595673230903cc19c79714364cc4b10891823535e21cbcd45c90d471e684af1fe243e925c848565a1989637f7614c900af1bea9049b78e07f00950ac800ef72860e209c192a4aa0b901090987bf15a2db6165516ad0238a40b0bb233a365bbf2bab2f60eeb8a54771a8d8e5279e2740298563aa2868e2df1be582897c7a9a0547acc2d8933aba9cbd5d937073455489a30e8cc3659c03d37240bff084d77f09dee76b60952221ed2c1aa73b772cbcea4d7a1fd64561e88bb90327b7c13c809696c0e4711ce152577517be0a2fb3d597fa5804e0c106a4c10306aed2a804a1c9bad4ab9e59f6126ad7c8633cdd0c2dd9d4c6f639d312ed47be99c0e7b82be89bc3c1eaee6680aa4efd394e40c2b3f30523c8117f7c26a8969 -m = 0f81a5f97082121244403da3feeb734f6084b314b8d94beb11627aa6ad1914e9 -ct = 23664dabddc72005181dedd4683615febb4936288aa5e632624426f07b51a793b5e7a469f91895314f08278c98c5d6b8a184830209a05f7d9c38bcf5f84cd7da273d7c64615c78fca0fe08910a506cbf7dfb28b4f9aa5c0cd4cda71c9caca34bf27b15ca2e603ff4cddb14a639277c1dcac2242b534737922863e1551307071394acbc98af20bedc07163fa84b6c63b08a1380a3d4157fd2006306c95a0d488a83d9b22c3e1b492a97f4921d5099509fea1d08ae5eb44117b1c7e9417b9a3e6fac0d519b56380a8b5c5207f454779fd839426e0988ba8936ff50545bcf0e9ddaa818ac0ef08bd2d5a3fab95bd157c13ef512267278c2f94512a8d5642ac6323f668f1002230df845d6d5cb5eb02fb4c31b8ee5a820c30a53b74a87e0ab2af7c51e0546cf5e41cc72b634acbc96ace5257b1c221019b4fd70cd0d958e5200927ba66b154613191a0e139cbae734f2f78f7878373e4c4178e2e3c3e2a7a11e06bdc24d151b475611fb1df5f39fb5d0fad043211e16066210ebce0f31503bf8e62431c863acf928da8eef07ffb5f60e01a6dcae1c558bc282b3090759f7239a20ec0f5a37cb48b351432ccb3344e25edd5965422f559c6493fb8c5dfc297df280536c37ccb41d2625f455befc77b71e7d84dc06dc50d32025609d0928ec8bd6b1f78f1784a72fddb987b5999d1f289d29740ecd423193b9651be956750d31406fc31a8be3465f8c06b5742f66f4609e120af2ea64f6c99895bab22ef2f19d9f3cb6d7bc27b5550f34f6ebb51b02affbe626f051fdca7c47c57123eeb2ee8865a91aaee9bea87f5b5ba63b86696863a9cc67f765c4c0e8dd90d59942710288f0f8c446533eb4e74d22b5f89cf1c714c139e487fb0ddfae6d900e3b6fb7e568ab7116bb92e04754415c74beff6bb6c5d814ffb7a198c5771845be3b0e2f2d397be8083e1cb0f87a965d78768e3eddbe3f234124cd92ef5c55f28a76357413eb2c4e26e7feb772770733af930b5c7251b2f0faa388efb08d45900738a7d1fedae2217914cb18fc3b0c1aeea2b2c93c72f1811f7bffb281ebd38020d006e286e0132c5c4875f8657c3e5b141294a69aa98ac26748dafc3172222314f9b5b9ef0da13ba75b7b2d8eaf62d50d7442258f6ee56e399964514290ca006095e125ab63e178dcdde424f03bf59eaa68393fb7d6c36e1091ffe079bfc9be2ff099722e1bd33f9fa47dc0766c76ea6fdd660dc2d6faa41ce8b268136c6b050d449a47fa4051817831aa555ccdbdab8853b377cafccce731849f64539bdce72785ed15c0ac3e4ed94ae3d4630d7e6ad08ab5b48c018cbd943fc968ad687c5f4117bce83a663d622a6ffe5a47d44a409ee9d47d32ba9ef5a6453fbcd81cd92c27f9c033e32e83e1a2e7b32f4ed094a79a387f90a6f7f45aafbeda7ff11b35bd732bc8f3b75cd84682929d20419ba2fd2640db63867532639dd4d1cc1042aaae6821011446ea8e7d2b0bed9b7aaa6c17bed3955ddc566685d7e124a9a01d460dfaeff51a32405d74ed -ss = cb0026c186440c0744c1c1c708d8fbf2b7aa1126792a7363576bcb2e64384117 +sk = c65b5692b9737bd5bcef94376a685fe08cb59c2b94884b47bb6a4b292c4ef8dbcfd1d9392ba3c464442cbe0879fac60cb733496ffa7116011cada07377eac759172db45c9035532a5a48c18f3343e7fb3a0a7a1da9c75f647648a822bb8fcc59a2e0476fe958cdf968433b46ea296056a8460edc0b7d4430252b227cc38c8dfa639a72759de9325d3bbbdb1a5305e546580127b11332bb666236924ff1f13105176b81a777ebc946bd4b962e8050c0f80be026a513f7c9c74308f8336a9bc73bcabc8353aa10afb69aa502b3b6e9a53ac67f8cd8784be4519ab3c6e8e47212bb59ec3958be442bf2162dda987c602030770555c0bc62b1422367b95a91399642155cd0b17dbb848b642c765fda2400358040d4cd154a68db36265bb525fc90988fd0c04bf0b66ce052bb216d6183b444cc385bb8ae17388d5e8024aa41563653b5f72899cc16b37d642f6ff7385f557c941571a1c73bd9425fef3c343ed9b88bd02a9be5652736ae69949e43b5c9719c4b8e42c9071c10e3d454b3c90d315c93579cb106a3b16bab7163983f5c514b818516bba802b7fb1166679ee03c4c41ebcffc6322db61a7988927dd83b48c24bfe82a4fb1901f70e2c39c411fa65c43d56c02c79849e7745bee15b70e405939b055c2a76fe1021e094b4671a290f5d708ebf0b1155b94fee9b34cd9858d3a8dd4bc27f5fc0627f2a80d6681c11324ecb74639540b72a23083c3758cb29ad40c979b42679e1436fc56b3a7d1115137015e2a2af9a8bef038b6905c8847c16558ba2bc6ea92ad90b026228695d664720c15e6708b0934064760a745ea4a5587ba211312c7203005f838a2d5b7bb09b8dc7aa39d4956d494472f71a268991ca907aacf8048fc98c095798d0ea043c42c437f6762ed3678b6d701560016f405cad66117c786b56b3a88fb5968c26869f73a2227b129553b220f67cae75b5433b29259553ab4375a0aa6766b2aa0ad480b6969201ed21ccda0a39f8b8f565112565065d8d26dbc1a57425a29fe0a606ba826ffe45a69493b08b11712e88a2b4b0371db5c0ec0125e2659ed08275d18277b9c0ca51797d46cafe91951737868483a418427733ee2637b4aa9496c30fecab67b0b7278a76da2da201874711e6928b7a40e7859378c867b9ba81529656200584ea9a5881b657b68980ef8cb201338ac1b856c4ec5b0c48a80bcd6676c0ca624f05296e59155d5587c2c20bfa1bef1005bbe9840db205d9658935a67614595bb3fe48e52877fc5ba639d023f54d534c58cb90a0a98bd1c2e9e940fdc61193d4753d17463d7eb8c9c6575e0f6845b5c0a5bc69c5f90128d3078960671394b75c5c72eaffc1e8ef4afdb395ffd40a2f6bc75fb9b79e1d8756705b710b0bac1dbb4ac312fff30745590739c08bb25cc9ec62caf1226176c161ece62aedec392a3591ec2ac80e92571c1417be7d82b2f9a1990d50dab78c1dee631304ab5ac57274846a8fdc6547b224c72e0781b233ff8a6c876eca3a3e060a00b560f661042e85340c4a8257660c0592a429c7b81b5137d410b5492864e156dad292dabf59035fb0e02247e6c6847cfd86b6958c74209a8f389041e5389ebf5b9b633b7fcc08cfe14bafb262aa9a031e49084a6127b8410a5a46cbcabe6b18f607c97d4af6c6a598a089bb40c1998d16cd307895035b15df2c34bfc05f634813eec780c96b83fab557075cde3b64eae6ba98b65106e729b81d11c926404e99164bac5b546997d2a842f6aa9ce1f6bb7ab7551a06a3649e1caf7872ac675cb8981a124ca05a318bff9a234853821a3036a86404b0f056491a5b20ae09dedb123df8b4e9eb612a00207c6ccbc580373b0921fe2831f50610340865232c60660655184d8a0867a47811b88bcdc4e6dec5874839919188f63740588ba97405bb1ff2925c1553188c0137336948f7809dbb96d2f910a9c0aa95d49267e543057976e3dc7346cdc7560e68911b8829d37bd0eb20dd5e2b0eb1538a98a76a68798b5469f9dca82a08648a2da13bdc1a9b52a7b6f345626bb691aeccd14ec20f1c252b4fb2595474b2dea0edda47b87cb51f020072d489a2e79cfcf9a12b52bb4f626c35ba4c0888c7939f38e6126484a7932f5d6a029e1ca5cea27d729065d7137bb518c1885a299b58e1f6446fdd8449e58a21453cde7ab683bec6d84876cee590d1ad93852885db721b85d4061dca1327179acdbfc329416b23234572901b3f63a2cda36aa65b17035f449af2b404691957c30028f053989c501d8c2cf8a8cc0c04aa59f3b19a98777f814a18a0753a7180264e59f2be7c9f0266b8dc481cab4833be8b3b599818aa930571748d41657256015f68a8c887c23205a6655f30c51084925167bb75c98b8a25b7579bdf40a912365164814794bdb0b78824fe9066cc63473496ab9cea06248d883d1846fc8084d59f05277aa3eec0c3186d68bdceb6c240cd0128a6bc1361467b861ab025309c82183233c37b35e8af1b464331cbe7cc3974a48a8e015a491677567472f263e31188966eb556151819cf52772053936abb0d0a48e99357e558301dc8157a8a7853212828269786919a8f9032e17f9b692ba8efaebb602e83bd4b75160541500779d1907b1159170dea870e6f57f5229222e85b178dab32f897bf45510ead084887566942656357b7896570756ab1614994f982841a525c8ec63ccc8e4575df03be2f5cf96505ade252fa4e80fcff664f6fa8c337980251904a9135abcc509db15a49fe4c6d57b41bb6383b3483ca5f5ce11641f9eaa423c0c3254a508d4319dfe72168070cc8c771ed3e06ce74c93240947a8dab87d889f9ad894f37243b25259153324e103b73c708371400ebf007bb5459ee084be938a18d055af7cc7aa98fbb88a156849765936e7273bc385a1bca94a74368168cf26d8806c7901eee2359c8694b5439f1e82c0a6892e4a68c4858a9a00b1496e177d1efb57eb9c0ae382b56626595673230903cc19c79714364cc4b10891823535e21cbcd45c90d471e684af1fe243e925c848565a1989637f7614c900af1bea9049b78e07f00950ac800ef72860e209c192a4aa0b901090987bf15a2db6165516ad0238a40b0bb233a365bbf2bab2f60eeb8a54771a8d8e5279e2740298563aa2868e2df1be582897c7a9a0547acc2d8933aba9cbd5d937073455489a30e8cc3659c03d37240bff084d77f09dee76b60952221ed2c1aa73b772cbcea4d7a1fd64561e88bb90327b7c13c809696c0e4711ce152577517be0a2fb3d597fa5804e0c106a4c10306aed2a804a1c9bad4ab9e59f6126ad7c8633cdd0c2dd9d4c6f639d312ed47b24d67704139cb68edb8f14c5ecffce83828208edf58c0f494fe3ca22cfdf58ae +m = c1c78caec83245fcbe98a15314940686fa06e675e68c24e069509cf1974aee78 +ct = 87ac7aa20f9ffb5ff87e17e463d212ce2deded6d64a5224b75f549e9a394aba5c41e8082c174aefff9e4a65a35f24ced2955f03d2988536687544413484762592d950806a7f06fa3e6e05516100b104d4d20383fd5abab7b059e337447da71bcbd213009a15e1af1d2b65775fece1e5a7eb086cffacba0950e188f8e68ed5b940308413f573286e22a2c0e05c15fc19e595df9ec13b5029f471dd4f98a2f06c4d94a42c8be53cabc455c4f800d9ef3af241f15d54481d8038ce94f6bc4cb0c6846d9ce16f79cfa1276da2f08c10ca37bd09cb63fe0cda84ba1669145b0478acc7c213f8c5c40a1989440677ee2050c9cb10c4de3dbfd10ee366113814bfa7c5e3e8909bebf8b191b7af8194ee9598bed4492dd3285c422a0b552bcd0133dfb286f0267d721a04abda0078a10f503c766d7e0a592c30f5b26f0dcc5b607cbd4dd457b64d7db9ec33c1ebc1ed569a3ef9760741aa28bedaeed72354c8288ccc397c2fe83f7bac79a9bbd89a579c1108eeaa9296cba258219369dc3f92a8245101112ad6bfed315384db7a168fa70bd12fa2ed419d6c3694dc55b6059557feb08fee76b3cc8b08f1bb026a6b77e75f36c6dbe632e1c8e511a2e3211b6718a6dcb7f456203acfff8a15ef0ea0768782a89baff94440846312987cbc768220a4d189510f36d900e3fc2b7656913211f228bae25e05425fa1b0ac4dffb1605ef3c92aed0bcf4c24c0d2501cbdb908ee4aae198cd4fdeb8081a918e89381e37eaee6615bfb0cf5baf727c1a907d5115d3580f3193e6f3b6c69ab6932d763226b0ff9c2b01ab79918938aa29eda04a90590b8319a62bac734132c3272f93012df3a90c14bf550e5710d4b1d522ae38b269b9f36ad5e94c1b404e2605177b3d673831e366560316998873513690bf0908862575726dbfc23cdee517d8ae8f2e7514a43abb170bb4c8f5de5e425299d3ba9ac91b482c4c348e98e65a14f6d0d7a9f6624769d2daa7d7625e9ec71b47f443878546a665dbb6705b946e8bbbfae12306d53b7687804363012c49c74463103cac2cf27238317e7b6b33cf2c2415455e35debb9a6d76aa0664798f01e74a362096376e0f86f6dc0d6451e4a467c72cbf5aa188ea783a37b54fb551a30df1afd778483bffeb27406a74d562e45a3c849ecb15ee586e081282ace639eb95f99e92187cf1752ebbb574669efd23ce714f472aec96e031a6627c16c355bd067a8d9b539d2e9a1325f36fd4163e5b4889f9a071be3ecaaa98f921b94b0c22e7e78c2acdc34c6fff70e8f604e024aa5a92e54d37da4eee6322c6673f141f947a5e08b035efd3444d44d84c8ec1f248014692c72d2ac520c76166af0833b84007f9249291a4c9678675fb7022895293788fba328fb0f855a192ef498bf7f16fd0e43fe24d2be5eef38724fb69c3a2932c382fda9c143184f60fbbeb5b9179b208a7ab1705cb917778378658125acd78b1e2cf142ef5c1b6cf9488aad6edec3935efdabfb929d60b053f8b33c80296986f4418b3fb4fd0de +ss = 8bbf8a535392c99bad81c98aba0d84400724a3c46a8523a482e5a00665cf0e88 d = 28a96c71577ba00c94f99fe965bc595a26db2b3ca6ab5cf8e443cdd8462b1792 -z = 9c35d165453e5fcdc6f9df64526d9de698f2bd3e6bac6c7fdd86601b9ba5f4a5 +z = ce71ac90659ff2dd31b35c165d3929cfa5e94407a5a798c568e6098f631923ef pk = 5226aa8edabd5a4a5a7cf6633a394b756ab38bc652ebc1bdb728c74ec316d039ac982b118f1aaefec04e48448d45f72b319289691a93a20283c3cb1fec992364ca83226332107704d3390f71e1883b46bc2f31b4242744e0847e72d5645586ad0b8c0fe48ac04a003045ac2d2101b52c7c1d494673bea69766a5adcb38ce3a978209471b5d7095a720a4c1971d94970884f11fa90c5c8b7009e2e1769b382004c93a2d9187b23929d941468444cdde233db3791656c860705b714e3aaf076921458b8dddd61e09ac461e96a1b1e9af19ac6984129b6c8ca9d4e39d70277b5d9a6a4b605f5e0454ac05729c2691e87a8d79353289678490a822c41c52a2f56b91a35f89918aee8935ef2bbc48485bd747cc5c59066b7577739b669ad21a5561018f021663f5cf48e08f39881d221552c846ad789810030326c8530dbb369681c69cc00c2390fa857a37ad81623eed4262db69929353118a0886e6c1ca3d36c65898968eb7c187b7b866f18a8bb369aec780e0033ebf1b0df846cd60633a461c569683598c7744fbecc54282725e337cec503d12a87f9cf5ba6587baf31b852bd45a871abb81e88c8b8a56d324c87a777beaf543ba153a222418bbc57d7e1325fc2a075608988bdc44e276af10ca2d7e52b045514080597a0ff73732789d0f955f93ba77e8034900251416b43e291984cad36c53c947cc954a8320c11424be43283a6dc586a9fb39b2927867b79772dc1caa16234233adb5ac819f1a172da5194edb997f924a827a85fc7c7a8281c98f7a9cee443f68a2aea6001de7c7475b46b55ee8991dccc6527b5fa1393c9107c4d35a073ce29a7ea205a9279b62f5ce21f3aab0838b42e6679000cc4c182504a2a4e81757b7f6a183428786f09c76c69e2d7598f1e5049cb57738daab6972abf6d8bfd2ac7137493bd2b8b5f997519b2026ef38623294b91999a5419356bfe03e338194e471926fe5842e79740f416adae2a24f441ba4a0c08acc175f347ee3b614664496a5e51c01a55b1d2a3e8486cec4c3ba461970868502a0f9553d776514857bb8a872c7f736ccb432b1392e99568b51b9c9a56c441ac0ccbe785693722f90d63a0f78c8ee777236ea43de2583d0e093ec8bcab7c8c6ddd8254258b7a5732939d953e491a6bf310449083986b2a0f236c5b9a300db22299146b9a0943115845f3fe98045ca844bcb1132e0bc98cb54746937b1479dadac5a4f9320dc572ba81cb250f13869d132fa259604a76a5dd56a7543b96c3096d3046389a917dce53cbdd9ab04a65b31c6c5cfa23a2ad53faea3bff3985fdff9ca3e3965989c072f4659ee8914ddda0acf30a64a1a823b78561d5a9304950ea3056f50b82915c71ae0b6883ef319d061464d8050f37c24c62c7693f204dd4b4d74b66dd7526fdbd707a3490769764adbea61c09a2d7f464d7e932705212d6a9151b46c2ed93a7b99c1148f679d622419a4574310ac20941b3e51591ca5d53cff51a6ed2c081ee7b4bc23c8ba8b1aa2924406618715731b1cc404929a38911020fac6647c24306e349f1ecb4e2f530e8f200eb9c0a315606a3e130498f96ad5865ebb4cbb55265e69316a3bc96e51745b02f4a593b796b5951f48ddd5d61bcb3f79106fb3f881087b21e528bdc627a8a1fdbb3b1ff5d83954f7 -sk = 52d431d74363ba07b7ec47c2a5b98157f616b8c7b7d3e68ce3f2a31365bf4e21747203c5edd758000a8c09d38a83457fb7b015bdb187e842b46cb9bfab29a917435431184219339df7cb81018a81b283814ff8b15e3a526ac35185bb45c7a865c45ab0ca1c7c5cac9e35f753d378556a62c8aac92f0ff59651c1abb789970a32c69d153b14a687fc2a56b9e0c382ba4f907a0bef79bddff781776abd042044a1c84c4c80ab9ce9a76bfa6374e9cee06081e3661a09cc3272331936cc85d6b2319cc7873227303191c36842b61013c0a41082b82034a2e1bfc8c47916859eda53033d5427741510e842265ae36d530a19e5d7365127bcab5b506321abe2b69de823b660b4699f8859de76899098159c211cffe51c7198cf1025bf9ee69236c913b16aad84aa4c381a577b6c7a3403627b323f11ebc1f304747f47407db9a8c9e4b866082597f28b6ec272ad2140a43a52188b061650bffae19761ba99ca724b71191b6dc5b16450cac50b247415370d5b207701aaec3a13cb477983f180388050175658ccb4714acb603b6b3aec340dc6c164fcb81331ec194c382fed024e0d962b056627a5b05a00b5511d78badaa489f8bb3f3c5b484f9c1450708b89828ef24b815eb43a6b8b127bfa49acacafc46434987bcaf5f91a926140bd56504fb4525ee1921b63733db2986dc133078caa44518871ba12894a553bd024fb731a0ac44ab80199394a2385bc440515877cb69b73b0c847e40adf238847608908c20bf7e1b86fa84781371d4cb52fcf2cc30306c8d98c679d4cb41eaa0ea8b395c08cac6df2348474a9504592ecd34a93b3262c9751e42193719b617355c59a25679d909a5e756c8db03e3b174e1a063edc733b9350b4f738618648baeaec5b76376d05329be6e706e632bd61292755f361096cc4565573562053b4402c42c85b5299b1cca0b9cfec4605d63665f24561d8c1dcfa896d1c6d8918a3e6f2a8d4224ff97503d1ebcc8d5395f0a64d1454623890bb7ac6b87b29333096535118cd243c52e49cbc0945385e38781b9bcb6b220a66d96d426b9a1f4c4c4d0349ce2bc790732247ec5d98e43bcd37cd94b652bfca7b988b063bb102ea0772df0aaec74c228261b4fa7a49f3b329f2c7c6d04c859c9816d5ba2aabb85e52dcae066b9af4d9951766041cc783dc672dde42558f50473bb43bc1f93bc6ea7d33f46ac4999cd33698eea603c7da265ad713e48691c8b048b21134c9998da19060cfb6ae31cb5a3b7387f2257fe94bb3ea4c963d01849fb021741395f1862085f031b6b05a7834551a6c8f0ef91397a29e12db6d776b05c7f12c8b260cf128c02e48a9f403a487ac3a6c0888c5299414aab1d7283252f62f465867a851be9a82c9a79a25cfa727c632727c765d4c496d466942147a8a7b65aec4ba84e4e2745671bcb207654b087a26f93ac77c82cf34a7c2f86fe8f48ff9a0b663d79bba6b2b8908b32fc145e4f65c6a8a379a99c9e68a10c278130a1969e0cb708d0ca6ff1669d8756d1d530ade051aba3a07903b5d801456315057187758351588bed222785c9fe83a0fb4c59245cc2a72b309767348eedb7c2097b457bbac8aa96a67d785803744e149b3f131a85226aa8edabd5a4a5a7cf6633a394b756ab38bc652ebc1bdb728c74ec316d039ac982b118f1aaefec04e48448d45f72b319289691a93a20283c3cb1fec992364ca83226332107704d3390f71e1883b46bc2f31b4242744e0847e72d5645586ad0b8c0fe48ac04a003045ac2d2101b52c7c1d494673bea69766a5adcb38ce3a978209471b5d7095a720a4c1971d94970884f11fa90c5c8b7009e2e1769b382004c93a2d9187b23929d941468444cdde233db3791656c860705b714e3aaf076921458b8dddd61e09ac461e96a1b1e9af19ac6984129b6c8ca9d4e39d70277b5d9a6a4b605f5e0454ac05729c2691e87a8d79353289678490a822c41c52a2f56b91a35f89918aee8935ef2bbc48485bd747cc5c59066b7577739b669ad21a5561018f021663f5cf48e08f39881d221552c846ad789810030326c8530dbb369681c69cc00c2390fa857a37ad81623eed4262db69929353118a0886e6c1ca3d36c65898968eb7c187b7b866f18a8bb369aec780e0033ebf1b0df846cd60633a461c569683598c7744fbecc54282725e337cec503d12a87f9cf5ba6587baf31b852bd45a871abb81e88c8b8a56d324c87a777beaf543ba153a222418bbc57d7e1325fc2a075608988bdc44e276af10ca2d7e52b045514080597a0ff73732789d0f955f93ba77e8034900251416b43e291984cad36c53c947cc954a8320c11424be43283a6dc586a9fb39b2927867b79772dc1caa16234233adb5ac819f1a172da5194edb997f924a827a85fc7c7a8281c98f7a9cee443f68a2aea6001de7c7475b46b55ee8991dccc6527b5fa1393c9107c4d35a073ce29a7ea205a9279b62f5ce21f3aab0838b42e6679000cc4c182504a2a4e81757b7f6a183428786f09c76c69e2d7598f1e5049cb57738daab6972abf6d8bfd2ac7137493bd2b8b5f997519b2026ef38623294b91999a5419356bfe03e338194e471926fe5842e79740f416adae2a24f441ba4a0c08acc175f347ee3b614664496a5e51c01a55b1d2a3e8486cec4c3ba461970868502a0f9553d776514857bb8a872c7f736ccb432b1392e99568b51b9c9a56c441ac0ccbe785693722f90d63a0f78c8ee777236ea43de2583d0e093ec8bcab7c8c6ddd8254258b7a5732939d953e491a6bf310449083986b2a0f236c5b9a300db22299146b9a0943115845f3fe98045ca844bcb1132e0bc98cb54746937b1479dadac5a4f9320dc572ba81cb250f13869d132fa259604a76a5dd56a7543b96c3096d3046389a917dce53cbdd9ab04a65b31c6c5cfa23a2ad53faea3bff3985fdff9ca3e3965989c072f4659ee8914ddda0acf30a64a1a823b78561d5a9304950ea3056f50b82915c71ae0b6883ef319d061464d8050f37c24c62c7693f204dd4b4d74b66dd7526fdbd707a3490769764adbea61c09a2d7f464d7e932705212d6a9151b46c2ed93a7b99c1148f679d622419a4574310ac20941b3e51591ca5d53cff51a6ed2c081ee7b4bc23c8ba8b1aa2924406618715731b1cc404929a38911020fac6647c24306e349f1ecb4e2f530e8f200eb9c0a315606a3e130498f96ad5865ebb4cbb55265e69316a3bc96e51745b02f4a593b796b5951f48ddd5d61bcb3f79106fb3f881087b21e528bdc627a8a1fdbb3b1ff5d83954f79bb3963cc1c5cf2b2d1c6ca76226328ab765a79999ccc71fe98d5bf3b34f51b19c35d165453e5fcdc6f9df64526d9de698f2bd3e6bac6c7fdd86601b9ba5f4a5 -m = 31af9345365549ea0360169ed57daf98cc5444799d4c75d9f1f5d615e9df8a91 -ct = a7d918c3251367b43a2caf232d30cc44bc8313689f61c174cd6055e0939dafab9ee9c4cc5c451f6836d2d9fe0b6f1b737ba4b6020737487095aecc3c972201925c7a3e4c6baddda7441b89b2a35f8d2e4878d316e5b92e5b6f28eab2e2d1a98843853324d35a023741f11c426442fb3a8d50a0f9bf5209059ac1e47bbfa11724f49488111c551f11de6ba8c28e576758f2c30b219ae6bc3c79d73e5da64f03e0acef5bbaedb7db863b7e8255f76e5c7ff26e42df8f82a5435f5bbf861283710fa7de3afae930013f1b6b7ddaa122121c83e0df00f231020324312b077ca26e4e9c2bd815f93824ca59fa9f4e3aad70e4d55a853187a4e3ca642710ea0109c00750820aaafd98be4a25bb7e1d18164f9a4d439f3ff7169696a108f7274e2d50f269f93967dc2371be9aac3716dbc499c9cf6639d02ee86438e2da002cff11d70c5f025e4a9a446d0fa9314c1e6b445aec37771e579182d494fb5c448354b1abe91febf5512c11ca7d2dbd0dcfdc37c91f67613c64b76836a5d91f57fc3678b12707d8451277f776eff18ef083a00fd39332dded503819bf343a5ed505059d15bf011766bc392188e8483e64b1438a1b2c270dbb1ed0521212b0beaa0545fa703ce2fe495113fae988c7f23282f536efa269b81a75921a56888baed7f23fa82195a78225ae72534d28650394ad9681278bceaad1a8a1c1e6aa0d51ea85717ba3cf304c67269e0562e90e8281d5c96645b8dda08d3508da723554b1cfb0e0b96c3367b49ab0d74793a772e6468b79af1eb6ff720521361a2d2d70aceeaadbe408a0cb8349f5083e899b6fe37e381d28b5cba394bb9b7d943df0167e1cfa7b263e942be68f1be1050ac3b51d5772c5ec02e7bf5a4d585b6031eee47c35cafb5d74db20d643e39f382b8e69054f397ca6fdf47384328fbdad37bcb29aff15f2eca75e7f9d8e8f5c24026ef6e4695345e07aeab117b347b322b44f150e1b66286e24a31c5714e3d4191283d0ac8d8db9de4454710439758381d7c1392219168b8302cece11f26d6b04a77f8a5da32b22909498e154486aa5b4425700e1d08ee9ddb319217f7a9e5932c5bfc021edd7e46fcd67638248c79a6c6c130eed0e8e634f332cd5ecb25fa65ce4b6fee1ce618cca6df05eb9187d0b3d0b200b454753d7b16c7606470760b9cabeb4c3f13d4cbc63a96d2b97a403ce1e85075a7beadb8c34e94508e87736b563848c1ae9cd34da56d06dea69811adda02507ffd9c3f10f6850bbe5585a507fcf0f79be02b677efd4ff3e4945ec800c6aad1ecc53b9ea6a2c35b74ff196ee7a25938e267fdb83ecd8e5691e5644905fec3ffbe86676dc30411c12ea05bfeee31fcd4a804ec59d73bb15c931d031e8dbd36afe294985ab20d87e8e338733ec6a6b7b4bfa1e0ad6a9905ebc7d4b5b23cf36c5b589a04357f792ba8d3b9f3270f3ee491dc0683e16ded773a9a6595d43fcf9efe8c0917a71637c4a03598eeab0cbf1f0db3e33b1da48987c00d85b207b7e960e866469cf67a05bca16 -ss = f855334cde90e9e858863dbaed7bf4c45bf189861750eaa59355a3648b1ca1cb +sk = 52d431d74363ba07b7ec47c2a5b98157f616b8c7b7d3e68ce3f2a31365bf4e21747203c5edd758000a8c09d38a83457fb7b015bdb187e842b46cb9bfab29a917435431184219339df7cb81018a81b283814ff8b15e3a526ac35185bb45c7a865c45ab0ca1c7c5cac9e35f753d378556a62c8aac92f0ff59651c1abb789970a32c69d153b14a687fc2a56b9e0c382ba4f907a0bef79bddff781776abd042044a1c84c4c80ab9ce9a76bfa6374e9cee06081e3661a09cc3272331936cc85d6b2319cc7873227303191c36842b61013c0a41082b82034a2e1bfc8c47916859eda53033d5427741510e842265ae36d530a19e5d7365127bcab5b506321abe2b69de823b660b4699f8859de76899098159c211cffe51c7198cf1025bf9ee69236c913b16aad84aa4c381a577b6c7a3403627b323f11ebc1f304747f47407db9a8c9e4b866082597f28b6ec272ad2140a43a52188b061650bffae19761ba99ca724b71191b6dc5b16450cac50b247415370d5b207701aaec3a13cb477983f180388050175658ccb4714acb603b6b3aec340dc6c164fcb81331ec194c382fed024e0d962b056627a5b05a00b5511d78badaa489f8bb3f3c5b484f9c1450708b89828ef24b815eb43a6b8b127bfa49acacafc46434987bcaf5f91a926140bd56504fb4525ee1921b63733db2986dc133078caa44518871ba12894a553bd024fb731a0ac44ab80199394a2385bc440515877cb69b73b0c847e40adf238847608908c20bf7e1b86fa84781371d4cb52fcf2cc30306c8d98c679d4cb41eaa0ea8b395c08cac6df2348474a9504592ecd34a93b3262c9751e42193719b617355c59a25679d909a5e756c8db03e3b174e1a063edc733b9350b4f738618648baeaec5b76376d05329be6e706e632bd61292755f361096cc4565573562053b4402c42c85b5299b1cca0b9cfec4605d63665f24561d8c1dcfa896d1c6d8918a3e6f2a8d4224ff97503d1ebcc8d5395f0a64d1454623890bb7ac6b87b29333096535118cd243c52e49cbc0945385e38781b9bcb6b220a66d96d426b9a1f4c4c4d0349ce2bc790732247ec5d98e43bcd37cd94b652bfca7b988b063bb102ea0772df0aaec74c228261b4fa7a49f3b329f2c7c6d04c859c9816d5ba2aabb85e52dcae066b9af4d9951766041cc783dc672dde42558f50473bb43bc1f93bc6ea7d33f46ac4999cd33698eea603c7da265ad713e48691c8b048b21134c9998da19060cfb6ae31cb5a3b7387f2257fe94bb3ea4c963d01849fb021741395f1862085f031b6b05a7834551a6c8f0ef91397a29e12db6d776b05c7f12c8b260cf128c02e48a9f403a487ac3a6c0888c5299414aab1d7283252f62f465867a851be9a82c9a79a25cfa727c632727c765d4c496d466942147a8a7b65aec4ba84e4e2745671bcb207654b087a26f93ac77c82cf34a7c2f86fe8f48ff9a0b663d79bba6b2b8908b32fc145e4f65c6a8a379a99c9e68a10c278130a1969e0cb708d0ca6ff1669d8756d1d530ade051aba3a07903b5d801456315057187758351588bed222785c9fe83a0fb4c59245cc2a72b309767348eedb7c2097b457bbac8aa96a67d785803744e149b3f131a85226aa8edabd5a4a5a7cf6633a394b756ab38bc652ebc1bdb728c74ec316d039ac982b118f1aaefec04e48448d45f72b319289691a93a20283c3cb1fec992364ca83226332107704d3390f71e1883b46bc2f31b4242744e0847e72d5645586ad0b8c0fe48ac04a003045ac2d2101b52c7c1d494673bea69766a5adcb38ce3a978209471b5d7095a720a4c1971d94970884f11fa90c5c8b7009e2e1769b382004c93a2d9187b23929d941468444cdde233db3791656c860705b714e3aaf076921458b8dddd61e09ac461e96a1b1e9af19ac6984129b6c8ca9d4e39d70277b5d9a6a4b605f5e0454ac05729c2691e87a8d79353289678490a822c41c52a2f56b91a35f89918aee8935ef2bbc48485bd747cc5c59066b7577739b669ad21a5561018f021663f5cf48e08f39881d221552c846ad789810030326c8530dbb369681c69cc00c2390fa857a37ad81623eed4262db69929353118a0886e6c1ca3d36c65898968eb7c187b7b866f18a8bb369aec780e0033ebf1b0df846cd60633a461c569683598c7744fbecc54282725e337cec503d12a87f9cf5ba6587baf31b852bd45a871abb81e88c8b8a56d324c87a777beaf543ba153a222418bbc57d7e1325fc2a075608988bdc44e276af10ca2d7e52b045514080597a0ff73732789d0f955f93ba77e8034900251416b43e291984cad36c53c947cc954a8320c11424be43283a6dc586a9fb39b2927867b79772dc1caa16234233adb5ac819f1a172da5194edb997f924a827a85fc7c7a8281c98f7a9cee443f68a2aea6001de7c7475b46b55ee8991dccc6527b5fa1393c9107c4d35a073ce29a7ea205a9279b62f5ce21f3aab0838b42e6679000cc4c182504a2a4e81757b7f6a183428786f09c76c69e2d7598f1e5049cb57738daab6972abf6d8bfd2ac7137493bd2b8b5f997519b2026ef38623294b91999a5419356bfe03e338194e471926fe5842e79740f416adae2a24f441ba4a0c08acc175f347ee3b614664496a5e51c01a55b1d2a3e8486cec4c3ba461970868502a0f9553d776514857bb8a872c7f736ccb432b1392e99568b51b9c9a56c441ac0ccbe785693722f90d63a0f78c8ee777236ea43de2583d0e093ec8bcab7c8c6ddd8254258b7a5732939d953e491a6bf310449083986b2a0f236c5b9a300db22299146b9a0943115845f3fe98045ca844bcb1132e0bc98cb54746937b1479dadac5a4f9320dc572ba81cb250f13869d132fa259604a76a5dd56a7543b96c3096d3046389a917dce53cbdd9ab04a65b31c6c5cfa23a2ad53faea3bff3985fdff9ca3e3965989c072f4659ee8914ddda0acf30a64a1a823b78561d5a9304950ea3056f50b82915c71ae0b6883ef319d061464d8050f37c24c62c7693f204dd4b4d74b66dd7526fdbd707a3490769764adbea61c09a2d7f464d7e932705212d6a9151b46c2ed93a7b99c1148f679d622419a4574310ac20941b3e51591ca5d53cff51a6ed2c081ee7b4bc23c8ba8b1aa2924406618715731b1cc404929a38911020fac6647c24306e349f1ecb4e2f530e8f200eb9c0a315606a3e130498f96ad5865ebb4cbb55265e69316a3bc96e51745b02f4a593b796b5951f48ddd5d61bcb3f79106fb3f881087b21e528bdc627a8a1fdbb3b1ff5d83954f79bb3963cc1c5cf2b2d1c6ca76226328ab765a79999ccc71fe98d5bf3b34f51b1ce71ac90659ff2dd31b35c165d3929cfa5e94407a5a798c568e6098f631923ef +m = 59bd98530c55222a8294517068b7fd7e3210fcc2bdf400f4e584bc209afa44d8 +ct = 9c87a778a4d5a67c6a57fbd3529556306bc0b5682cdd512355089e421cba8cf3ce74e58bf2b28cbcec3fa5236ceeb190f10a5aa269d8b4f9a148a4fabb8e33afe45c6a4f5f90b1675c8efb8abbda5766f29a69e3a3c4c723190db1a13b442d1aa08ee97bbaa316a3fb09a625bfb543a46d75661bffff3603659476d0a5ced1947bbc876f87f0a55b58ecf64cf8c4c3fbb03d352b08821b0f2564a017379dfeda75daad3a255e1ea91ea0c8551e679abe6027e3975b4a53c3df95cf9ad171baaf4a0da95e5f4b04e8d3512fdd18e0e7a2accbbaa9e0619573e134f77a670f9afae4d8bab257bb94217180183eefcfbeac744503efe2c9790a5cd9f16e38c0ab2ab714cbf3344b0596116a69b8a9e589a7a3d396b1514e941e326bb1d2b754f57eabbc6e531063092f19bbfa1a1abc6e0155b806eb9bfb4191603a647c118fdd0e795a62a26b4e0a108867bd7a91923787fe031aa9e02b3363089d5995a3faa238f22252a85a94ac3b8d3b22684e94b78db7b02f10ba4b65476f5daaf405c137525b10ecb3b3dfc524956de779114093bfa23fe430f3ba032561f393f5c2e9c03ad4b8f79337353bd37974a07a4200509ce5e48ef490bf031c411fb1ec8cb245725d18109775c77bd93b2ac1d91d1c4db6c5f7a40513c70708c837931b6b52c0170305a6c914ef07984f29a705c52d76606b30fc5c00fad0d8719e55561f1188f4dc289d11af8d7d2ef9ab694293523c520b60c78961da395bed6ecb4c5ef97fec93948fb11a60b63320eb2b95efdea801cf53f7f58f9e7a80cacaee766f5ac0fa07f1684a3422d5f90e7dff5994b4364ccfea484ece3c8056d5b2c837e90968b612ea0078412220b18e1721dae047fb8c3382db51f7c4b99824816f2c2c6f435f4d39c9ff9d6eb1a67a3078c923a2115d9ecf43d4ca49bf729420880a54b57889c5e2b7775bd7681d5fba0eceaba141852579ee43d824cf97fe19c61014768a08bb240a7013bf7f82a73714fd8c64115618e5daa911eec270ef4f0a021ccdcdc63a9237b46d8c757407e2637399ea1b1eec62688173c2be93313da04103e82e3a0f6f1192935027cec2c27eb293390c3b49116170f00d2cade14235d1c203537521847ac4741c3c6cb236d01a69042614c9d462ecce0bdc318da3f612e099aaabcae67a2f82d855d625bd6284f686426cdac5fa1de28f296524117b7ab56c677b92642adcb864d6f404aa7764c4740401e4899563f1fd58f33462b50c6b3d8269199e4e37ff96e807af0998ae53780128141f103b232f3c2eea671ef95401f6c024faaadd1e86a938d13d23f06f80f551cc50f92e3f120de542684942c5485a09eda7149a609641e35e725c801efbc642238f5d8b3183649617f0ceae9a72afc9c806af833d7aad2c31e43af4e55eaf4c198f281efdbea7d32af4cb54959afc3ea26edd570b16a0c3a29f0b60a37df6dd77bb0a71c7dc13750d178fc7441b8e3549bfd78f3638e9eaabb1d91d827f657b620e87e736a42636ebbb5138e93bf8ee +ss = 86e93fdae44a1a43345283dac1e7c893eebaa43f60952b90e5c96788130b104e d = c08ba2ef8c3a0a043afad931652d7a19e6e8cb670f840de5f1fa03309b2ca9ec -z = 5fe6141a25f7ab9f875f79e0a82d6ea5cde5a017ab637d5fdb7c42646a1d71df +z = 4248ff45452bce5777b08108e059234029d3309cbc2bcaad8ebb37dcf27832f2 pk = 724abfcd15255f0a5efb7783d909031ed02c52a203de570873c7a7c556202d53a6c086899802bdc877bc6a813ab59b781bb95f4fca9ee76028aecb9142a992dd7180bc1c15dbebb66765c5abbcc5ebf764d5234d89a378d5925fbaf63a00e35d568804b973450a045e55c7c5f4907fee390fe6877963e386bc20cbe929c3d247611e346eae401acb972843dc204eeabb043644eea29ba2c1a160b98f0d28caf0677ab2aba362b7bfadaca4e1197f54f03ac8033814a71e1cf407972b3f1d9a986637a972b46d3ac46509c053efbcb9a475bc4055265961c79e1374c2159bd2409a84f22755a1b32e4b604783bcb2ac49a27a5b0b07ae346ac38f54a2943559f02270bbb19508e903888aca4bab72e332285837b9ebb466e5cba74d5ab6bb3b2a0fa26209a97f959c905bb4b058ba8abf30a5a6c190a018a9803ac29d84ba710b30da9a0844cc1a1478c289c32737144812355e0d7589b9ab765ca3b23353a350876f05081f3e4b14d8f66c998b81f458a394cc68c3b7bfd37366ec93113db928e5f9bf0e9aaaeafc619e332a7ef3898a66020dfc64f671879691c023409b53686770f8148a2b6f7b62b6aa42981ea0cea7753599585034b9ad99c9ac8b12872b1a47a088bd8afca2d42093928a4fb770198c4cc50b0214c4c94fc7b62b5e636423c6adb553b138591f6372ca6d53343ff7c70782a2ddc4801b262f220a539181c13f3c3e8e0a0d7191a43a54ab008d326df803fd8757f88ac9bdc8bc75cb83517ac71ff8613b3ba713377fdad2199bfa332b8c22c136350adb9553e3643d0c45413782f3bc9e941965dc051df98738cf50113ab422e4a22759ca016bea6fcba390ed64540112842f5b1373a2847107a43403b4aa5ccae154b9c54831e3911239b79f1fe997bae30a542560fe6647a2e7c4916097fd484c3d040456ea2bf8b63dbcdcc8577b7aed99c05fa28d468272876b614045095e918600f7c94bb0944f62235c169b58789ae8bc3e6f677ca8d238602399e307553e235d11836be120b3bac41b0a668e0841ab11f49e27aabdfc27afcaabbf542911b6a220cdd626d819c44c72556a3946df86c43d1b8693944d399a3b5b1309b9780e34330ca387cde8e4c9b2d0775a962f447828d6295873cc1629777fd93c062098b6149a3e7c383e2c33cc3fe7730537416fc1adb6c09f4caa736e4c796d2a97fa3807c9eab72993b4b876136b856c7bc75ad054288ef491effa872247a99aa39a9c2b7602027d65a169317cafcbb77c37d89ed32489e3c2557998a06689b06ab96615bb5752d439da446354cb0640686aa794444a806c31d721b8c6b820810a5afc00932a885107b5f968b5c8ec98207293d8851892a01dfae4a99832326e3863bcda75190c4a487b46e3914b702017b1b520ccc30a5c475fb2da94ea217f76556bfee825076533973bad3ac7305b5c764cd040d723617090af4a7811e9ab206c6a331a647d9385a5e7d8bad6c89b390b617018c4a0691d262429bba173598b37d7c245452853506437e756a399670ad8e292b0d820e3567047c82870e82236389d99d678cd9b49526aac30d1b830b12f4e62407a59c8f88b7b5d088a2d08b9f114c3f158650f32c682ea6a76cb62d3ad7357cc617d597a3dbbdf515f6852d71220768859d599bbaa -sk = 28ba2f24db8e2a5b21092964f1871e97e10f2727c8b27916a5068edd27670d26b91a93332157ac686205e23616eb0271b081b51923c5996743cc114f3ad310cd6791aeb05f77960991513ec655533921a8d14cb2589399ebf18f7ba89bb7d6cd2d7336ece1b7b63b98f26a49d356578ce7275ee67677d1482e1bb3d85b88325bae0a00cfd1288c34078d73965442b7b140705f0fb76ee3d0921112c400c7a4d1337d6a3a8cdff9af05c64c079c64dd143f1fd56c28096313e82d51836a2dc1b0f37a2e00545f802b417a9406e55420b4d71fbc2210d05a771cdc164ad50932ea40a876051828236153b4e1715edb1453045721e89a60acd0066227704b8ab991e8a06812226bc59943c0814c847a1865c19df4b7fa13ba3ef95543e724ef854ccb28bc1db49b75c1aca3649f848bc6f32c139aa79197543c628238adb755f4da6bd67130772b4790b28c9f1544a4e9860e875e68c1cdd9cc0cf17451434c7c53f3a9be39849720b1b80a836ba4c531d49bad16077e90203c9120c23239cea972454b08a5f10812443ca75b913df98dbe29c3312157e156311f67354d414aa041833f8454aca5b3898b3572e819fb2c4cada43c9c5191d6f7aed8f310cf77ccaf0c478686952e71a8a8173d0c223b04462b96c04ea7b218a13519b90cbe3be8c32b276f90d349acbb6362706dcd54aad0497a058ab0138a8e57d514d5d431043184bd1a07b77c3299ba6c7205938eca8403f31a1c605a942b73775a1ac11c40d81988e69c15079719aa769b5f618052d5290d84714ca57418366c15b74da4e98df96abdd19884ec1703f7978c4dd72b48528789d7148f16c23ef8bcd1f353cc4a76e7c238aeb1035424300f529acd46926874190556133021a6a9283ddfe02edadb7de23a4d141b0787539b68110b4882a51f95403865becea06e2d7a1c1f534fa3366bc1ab387eb867477b92f00c0d09615bfcc1138137cede4098ad57894ff74982d71ba2eca6a0f502cdc9c89bc6a44bd84fd8b62bb5d84332faa830e2a732259945028d2830a8aa866f92c24e46d164c4f4658791c11f0703d906a82546c75f81285c24597bba4b1be3972f069d6b383d61cc32b9b66604b7cdc4bb39058c74ce770f04f758e6124543e13d2365a915802f75e90997b10b15e650aee33a291c87030517b6c29cf10670d2dc5c8889aab7518b4dc86d86e25c52acc4db175a5957118f983c3a4443b33803a3161ab24004b7a789778c8414a8aa8c819468ebc28b68afe5333f7e666d44b5a961533280b0021bd3b24e2aa51ba58f2f45767a5722e918b1204656a2b44ce628a3a84125f918999a6311cb3569431c7b0d6b58adab6a30f9473b3747e33c7a2a9baf87b709353a77743949277147928273f112b5e618167a5715157b49ced69a2492203a08730ed07b7aa14bad136cfa969dfa68c28af40b9763872ed1b05d4161489bce1f473d4cc067a86258f6b664d2436d4856166cc60467887f9b97439f607d336114e46b2a2964c228a18eb532cc4c6813dfb841e60c3baa59978234a06fc95aaaeabec0123230ac33bdc48a4452403842bd6158c668f28f20bb5501984c5d3992594a9238e03798d178702b86973350724abfcd15255f0a5efb7783d909031ed02c52a203de570873c7a7c556202d53a6c086899802bdc877bc6a813ab59b781bb95f4fca9ee76028aecb9142a992dd7180bc1c15dbebb66765c5abbcc5ebf764d5234d89a378d5925fbaf63a00e35d568804b973450a045e55c7c5f4907fee390fe6877963e386bc20cbe929c3d247611e346eae401acb972843dc204eeabb043644eea29ba2c1a160b98f0d28caf0677ab2aba362b7bfadaca4e1197f54f03ac8033814a71e1cf407972b3f1d9a986637a972b46d3ac46509c053efbcb9a475bc4055265961c79e1374c2159bd2409a84f22755a1b32e4b604783bcb2ac49a27a5b0b07ae346ac38f54a2943559f02270bbb19508e903888aca4bab72e332285837b9ebb466e5cba74d5ab6bb3b2a0fa26209a97f959c905bb4b058ba8abf30a5a6c190a018a9803ac29d84ba710b30da9a0844cc1a1478c289c32737144812355e0d7589b9ab765ca3b23353a350876f05081f3e4b14d8f66c998b81f458a394cc68c3b7bfd37366ec93113db928e5f9bf0e9aaaeafc619e332a7ef3898a66020dfc64f671879691c023409b53686770f8148a2b6f7b62b6aa42981ea0cea7753599585034b9ad99c9ac8b12872b1a47a088bd8afca2d42093928a4fb770198c4cc50b0214c4c94fc7b62b5e636423c6adb553b138591f6372ca6d53343ff7c70782a2ddc4801b262f220a539181c13f3c3e8e0a0d7191a43a54ab008d326df803fd8757f88ac9bdc8bc75cb83517ac71ff8613b3ba713377fdad2199bfa332b8c22c136350adb9553e3643d0c45413782f3bc9e941965dc051df98738cf50113ab422e4a22759ca016bea6fcba390ed64540112842f5b1373a2847107a43403b4aa5ccae154b9c54831e3911239b79f1fe997bae30a542560fe6647a2e7c4916097fd484c3d040456ea2bf8b63dbcdcc8577b7aed99c05fa28d468272876b614045095e918600f7c94bb0944f62235c169b58789ae8bc3e6f677ca8d238602399e307553e235d11836be120b3bac41b0a668e0841ab11f49e27aabdfc27afcaabbf542911b6a220cdd626d819c44c72556a3946df86c43d1b8693944d399a3b5b1309b9780e34330ca387cde8e4c9b2d0775a962f447828d6295873cc1629777fd93c062098b6149a3e7c383e2c33cc3fe7730537416fc1adb6c09f4caa736e4c796d2a97fa3807c9eab72993b4b876136b856c7bc75ad054288ef491effa872247a99aa39a9c2b7602027d65a169317cafcbb77c37d89ed32489e3c2557998a06689b06ab96615bb5752d439da446354cb0640686aa794444a806c31d721b8c6b820810a5afc00932a885107b5f968b5c8ec98207293d8851892a01dfae4a99832326e3863bcda75190c4a487b46e3914b702017b1b520ccc30a5c475fb2da94ea217f76556bfee825076533973bad3ac7305b5c764cd040d723617090af4a7811e9ab206c6a331a647d9385a5e7d8bad6c89b390b617018c4a0691d262429bba173598b37d7c245452853506437e756a399670ad8e292b0d820e3567047c82870e82236389d99d678cd9b49526aac30d1b830b12f4e62407a59c8f88b7b5d088a2d08b9f114c3f158650f32c682ea6a76cb62d3ad7357cc617d597a3dbbdf515f6852d71220768859d599bbaa6d029bb2121c788b5b6ead7226df664490dae362c4befb615717d81c656b32735fe6141a25f7ab9f875f79e0a82d6ea5cde5a017ab637d5fdb7c42646a1d71df -m = 774ae54093d694ef40b63b62c73e6c98295f606feb8699807eda1d030ffb996d -ct = 72a78ed97ec6f0daff51a9bae85d1873b68dcfaa8eb163fba6fb07a90dfde6aac88f65fb4bc7e7efe6ee951364905859a26aea558adda81619a3d073190f9df2d0b68016bfc247bd2c3a1ceec29912ef21b27eb77c7d5fc0cd9b774b75e3e2c584d8116fd0417bfae6d2e4de494841e45a217c2a10ed1bd3f158589dac32dede68ebfc3707c473aca1c9d44b1eae40339106531779ea144367c767729d4991e7fb0bf3173e3de8937fd489d09ea263aee0da2561e43be35fccc2d58eb25dc424e528b9c5575c5e1c53d0581bcf9d5148013a8cfbb5f4c2683ac792f2be1d4da00b136262300d51497ca16a2e6cbcdca91a006f3ce6231d31ad90adfcc92cf09420a789fcce4f6254a6bbf1385ca5985c9dc9d8cd57f98ebb445de0bafcdd98b8b3fec85743d9bc78e2ca193b3774e3c5dca74ea7a8aa51a468ab4587f6c97596f7e66121bb61eae71a9965bcbbc415d52c826016e84b204199ff893aa7a9212785e456b86775eae7479b9e109959e4bb26f4e1eca3181e9ff9e26708616316d5cafd25f6169cc291b65f555590942871f3e4b62d4a41d9d9c75e8b215006a4371d8ae773333043fa33c0f293119b94e9d0e5e43ee298b7998fd6cdd1a9752bbb3dc19933a3bb232c37d4e5bfc279fa1405b7030d3c3ac2d47c999ef5fd2948dff6a21855398d0186175923fb9c0a5d9018c74693c6123c52268a28a5b42550b965bc9da6b3db2f86613dae9565646a4cb39a3d3f47c1583cbca427f7f0b53fc60b31d474c810fdd85c8996189be93fa1dc6935ac3a9ba2e62cc45c32f74d7c0490eb6e1aaa4f821accc848003d83c3b715d43adb0c7d1d9b7fe54bddd6a34fdb5a99158c8ee4ab3b9d1b4d4db6f1518477e3931a56c014e3981ae2b406fd12cb1c6f275cfa4b3af67457bd10d70d681c00ecb97d5d99efac58213fe364e2cb532c198f51a8b5773297cec7cac4342189fbda4c2902a8687e8dfbc0db4984fdbb9acc6cf1e7c93b2ad02e7d346d22f3d36187a398f2d28bebb8aaf98347130835ec07ae255b8bc6d4e50271c6c9cfe29d099db6c8547a6526b5aa8f30b1e655f82e85ed78df36215e2fcc5e127bd3670aba5a368a4d16b8020634590dd1c6faf3ac0dcbb74b006195f24f503f3ef13b5ae09b0730f9c140af4b3481a0f50c3c65b90cadb05dfa01ef6494d8fc06a3d2a30b15d4324118cdc330ae4581b2dffe0d8e7570b5082a9df811b492f4f9f5c607990056b8cc03f74203f9bcc38e5ba90734142e7dacf63d2ebb1aa4f4a4ea4e29b0849054b57d8af63f028ac835c50735808039eb602545bc1494592f30bffb0c1ece40726f335fbd052fa5cb6cd3fcacba194850a05bd81c7838624ac8350e64ac910ac805dfe584a680cf9e43d6df0f654540913daa58cb0d14c208117e198271db03e978436c193688b8809dec85e7e4bef4f2beb731ab4220738477764dbfa8dbee0b1a969bcf0d0bb1468dcf14c20c25d4a02746d0932554fd8501967f2dece5fd18925c30c0b81ab2eace088819 -ss = 3030433313514ea95b5d6a2fdfb64d4225fc84eb70336323507aed63c5755481 +sk = 28ba2f24db8e2a5b21092964f1871e97e10f2727c8b27916a5068edd27670d26b91a93332157ac686205e23616eb0271b081b51923c5996743cc114f3ad310cd6791aeb05f77960991513ec655533921a8d14cb2589399ebf18f7ba89bb7d6cd2d7336ece1b7b63b98f26a49d356578ce7275ee67677d1482e1bb3d85b88325bae0a00cfd1288c34078d73965442b7b140705f0fb76ee3d0921112c400c7a4d1337d6a3a8cdff9af05c64c079c64dd143f1fd56c28096313e82d51836a2dc1b0f37a2e00545f802b417a9406e55420b4d71fbc2210d05a771cdc164ad50932ea40a876051828236153b4e1715edb1453045721e89a60acd0066227704b8ab991e8a06812226bc59943c0814c847a1865c19df4b7fa13ba3ef95543e724ef854ccb28bc1db49b75c1aca3649f848bc6f32c139aa79197543c628238adb755f4da6bd67130772b4790b28c9f1544a4e9860e875e68c1cdd9cc0cf17451434c7c53f3a9be39849720b1b80a836ba4c531d49bad16077e90203c9120c23239cea972454b08a5f10812443ca75b913df98dbe29c3312157e156311f67354d414aa041833f8454aca5b3898b3572e819fb2c4cada43c9c5191d6f7aed8f310cf77ccaf0c478686952e71a8a8173d0c223b04462b96c04ea7b218a13519b90cbe3be8c32b276f90d349acbb6362706dcd54aad0497a058ab0138a8e57d514d5d431043184bd1a07b77c3299ba6c7205938eca8403f31a1c605a942b73775a1ac11c40d81988e69c15079719aa769b5f618052d5290d84714ca57418366c15b74da4e98df96abdd19884ec1703f7978c4dd72b48528789d7148f16c23ef8bcd1f353cc4a76e7c238aeb1035424300f529acd46926874190556133021a6a9283ddfe02edadb7de23a4d141b0787539b68110b4882a51f95403865becea06e2d7a1c1f534fa3366bc1ab387eb867477b92f00c0d09615bfcc1138137cede4098ad57894ff74982d71ba2eca6a0f502cdc9c89bc6a44bd84fd8b62bb5d84332faa830e2a732259945028d2830a8aa866f92c24e46d164c4f4658791c11f0703d906a82546c75f81285c24597bba4b1be3972f069d6b383d61cc32b9b66604b7cdc4bb39058c74ce770f04f758e6124543e13d2365a915802f75e90997b10b15e650aee33a291c87030517b6c29cf10670d2dc5c8889aab7518b4dc86d86e25c52acc4db175a5957118f983c3a4443b33803a3161ab24004b7a789778c8414a8aa8c819468ebc28b68afe5333f7e666d44b5a961533280b0021bd3b24e2aa51ba58f2f45767a5722e918b1204656a2b44ce628a3a84125f918999a6311cb3569431c7b0d6b58adab6a30f9473b3747e33c7a2a9baf87b709353a77743949277147928273f112b5e618167a5715157b49ced69a2492203a08730ed07b7aa14bad136cfa969dfa68c28af40b9763872ed1b05d4161489bce1f473d4cc067a86258f6b664d2436d4856166cc60467887f9b97439f607d336114e46b2a2964c228a18eb532cc4c6813dfb841e60c3baa59978234a06fc95aaaeabec0123230ac33bdc48a4452403842bd6158c668f28f20bb5501984c5d3992594a9238e03798d178702b86973350724abfcd15255f0a5efb7783d909031ed02c52a203de570873c7a7c556202d53a6c086899802bdc877bc6a813ab59b781bb95f4fca9ee76028aecb9142a992dd7180bc1c15dbebb66765c5abbcc5ebf764d5234d89a378d5925fbaf63a00e35d568804b973450a045e55c7c5f4907fee390fe6877963e386bc20cbe929c3d247611e346eae401acb972843dc204eeabb043644eea29ba2c1a160b98f0d28caf0677ab2aba362b7bfadaca4e1197f54f03ac8033814a71e1cf407972b3f1d9a986637a972b46d3ac46509c053efbcb9a475bc4055265961c79e1374c2159bd2409a84f22755a1b32e4b604783bcb2ac49a27a5b0b07ae346ac38f54a2943559f02270bbb19508e903888aca4bab72e332285837b9ebb466e5cba74d5ab6bb3b2a0fa26209a97f959c905bb4b058ba8abf30a5a6c190a018a9803ac29d84ba710b30da9a0844cc1a1478c289c32737144812355e0d7589b9ab765ca3b23353a350876f05081f3e4b14d8f66c998b81f458a394cc68c3b7bfd37366ec93113db928e5f9bf0e9aaaeafc619e332a7ef3898a66020dfc64f671879691c023409b53686770f8148a2b6f7b62b6aa42981ea0cea7753599585034b9ad99c9ac8b12872b1a47a088bd8afca2d42093928a4fb770198c4cc50b0214c4c94fc7b62b5e636423c6adb553b138591f6372ca6d53343ff7c70782a2ddc4801b262f220a539181c13f3c3e8e0a0d7191a43a54ab008d326df803fd8757f88ac9bdc8bc75cb83517ac71ff8613b3ba713377fdad2199bfa332b8c22c136350adb9553e3643d0c45413782f3bc9e941965dc051df98738cf50113ab422e4a22759ca016bea6fcba390ed64540112842f5b1373a2847107a43403b4aa5ccae154b9c54831e3911239b79f1fe997bae30a542560fe6647a2e7c4916097fd484c3d040456ea2bf8b63dbcdcc8577b7aed99c05fa28d468272876b614045095e918600f7c94bb0944f62235c169b58789ae8bc3e6f677ca8d238602399e307553e235d11836be120b3bac41b0a668e0841ab11f49e27aabdfc27afcaabbf542911b6a220cdd626d819c44c72556a3946df86c43d1b8693944d399a3b5b1309b9780e34330ca387cde8e4c9b2d0775a962f447828d6295873cc1629777fd93c062098b6149a3e7c383e2c33cc3fe7730537416fc1adb6c09f4caa736e4c796d2a97fa3807c9eab72993b4b876136b856c7bc75ad054288ef491effa872247a99aa39a9c2b7602027d65a169317cafcbb77c37d89ed32489e3c2557998a06689b06ab96615bb5752d439da446354cb0640686aa794444a806c31d721b8c6b820810a5afc00932a885107b5f968b5c8ec98207293d8851892a01dfae4a99832326e3863bcda75190c4a487b46e3914b702017b1b520ccc30a5c475fb2da94ea217f76556bfee825076533973bad3ac7305b5c764cd040d723617090af4a7811e9ab206c6a331a647d9385a5e7d8bad6c89b390b617018c4a0691d262429bba173598b37d7c245452853506437e756a399670ad8e292b0d820e3567047c82870e82236389d99d678cd9b49526aac30d1b830b12f4e62407a59c8f88b7b5d088a2d08b9f114c3f158650f32c682ea6a76cb62d3ad7357cc617d597a3dbbdf515f6852d71220768859d599bbaa6d029bb2121c788b5b6ead7226df664490dae362c4befb615717d81c656b32734248ff45452bce5777b08108e059234029d3309cbc2bcaad8ebb37dcf27832f2 +m = c11e2fcd6cc56977006f5dfa825271c6fd49069a747eb36c1765f5d5a22b38b3 +ct = 0ee0b634f06e0a060868c84658246d06bb56941c21625c4f5622624468ac984385c2649f412606e07775495d6e1b016b8cedc96f96d21b8716bf6fed7756c71b80d2e4fa1411585efd93dcfa519fef08610431a5d04ba378eb73360b269f3af3afeaa77876b604eba3cbc3dea034111c6b951e235ff9127e3b429c6f949c4c7b7984624d9cc2cd19ac90dc5429ed8e8106ee5c6b5ea0dd41c14f2c29f6b5b35dd7dc571215bfca8ac7507229a352fcbbe7c2e74d786887d90b6aabfaed943e9ca1eb2b2b503ffbc035acbcfec8b55c5cf9b6d4c6593bbb6b491ce9c59b1b94fc5dc807f7236223cb97ba6b4255ec9b500ba6ae5a786b9420334caabd67498ddd606414b25624de9e2490770387383882ec7f9d235cbbfd878b846f7ae43e58551e0f20b48ff7346e677574342082276589d3833cdf55b78c03c59f1c6ea13ff098fae320eb7b7d7c4271cb109159fd51b0a811e57f88f1e25c726657810dece726f426813c38f84962b5fba43eb78ae4dd48b2e732d6f530462e0efd55dc30b6a2369a0c978af026647c2df0e190011e010959d3e919739f55aaa439847ec68a18615bcaf0d5db03eae43aefb795a00a80535b1c128a717cacce39a6a6702d962761babab9f86e20dfda0f36237366022b0ae6a67dd04e2f8e872be0010f0d5fdda963f88a206fd04df505c035b52a92d08da5da95424a4ac9d8366cb18eb35cf6a2091f78ec670869bae1d926fb51e2fab330914ce3fddc384bf4026d198d8e39eedee77a2099ffd718083840027f649c7b8ac4d7f05e5765417aab0be2c5cd7ef05c54bec283bde461b1936335601d5a128da1c84cd898bb7a4f208d30df3c7651f5df7db8f2792a4d5ba6594520745c216a7524b40e55d333231347b7bea25a92b6bf839e44ad86099b0e3dd2c94a58850fd6fa97f21c706367e493659aa71cdce3af407cdbb84f4c925b4fee1ab597686bf2ef798986fd755c65683e82fc9ab58129f40894ca9e692f96bf58b70b935bcafe1f53aeacf1ba0790588cf69f59a2d6b0ebaebdd33d5cdb5b5ee7984de78ff082f6d36c3da99d89b2fd955cf0f00ed82d99fefe90694a34cb3f15841f70e2c823bdec2678cad278e67a9268313baa5ed439537f3b9d4e490b2f4431e351efaa925be4d94cfab26e4399a9fe0905c5ab60c1f7b23172705e4f7ca06c3741c0e819e5da1501b8a65d41928ac95e0e1235d0d5f163937b86eb00a0d7c74b6b5729c64f4093f44188005310adfe6223188e787f0a980bd29ab94e6b71a72d2b778a29d522d5f499200c4cea46b956263a0490c7ecc88192c80f95716afe5723f3853cc4a8d1307d5645b6664c417e4d7f837a60c5791f0fff7f1779102d4e1f5e78f22998cbffa405361de2d8cb7656a438db604bbf3df59b07914798a4b56b35fcf9a8bb8c0e672b12e486374b9c0a6c52a5abfeb3e159276e998d39328d67e656f053367008ec69a7f3cbbbfbebea6c1f37f24925374aadd9a4b13105066c45d29f4994c14ac42c4b6d1f47a8fa +ss = c4880aea127420aeb4a96da81cd6b2562063db9c0d585f874df097ddaeba5b17 d = 0e3b30e102d707538c2671060f603bb0b8a014103f132d63b09ece07e4a4c75b -z = 11eafeca9e810796c34e8cfce9d59342884456007b01ddd12edce6d10ed87e4c +z = 7b129a56b51be635054cab9e84f2def59a3f8168e301ea2be388c45b8cb022ec pk = 30e92dbf312758b73beb83625df3b8d5c47a7a334d4e140915ca1401d461d7052e9ff05f73a1598dc9622c324c1c8b5de9b0386ea3cd95b86d80085588ac69ae310be6b5b5379202f4f14878fbb5508907b99490e4191b1e13a6890a9209f0a12910a3e096747eba94a337af9e609da4e8a9f8003633ec099983b8e778ca3d72bca1c19b4fb4a0faa4459ea06782367580b7aa49ab74b60c4cef7ab3bb9ba081227a7e1ac2f5400f8f7395f96567403b2401a2abb0b70e92e6ca2102c597f496cc8881d7b688861c7988363112155b5b88271072a7a7d68b76036059ca5e402532ce8763c52ca237a334832832f2a49be3907d15852fced4675547796d3046535390d44580c24bcc3d67a50cfa2ad8936d46121a7f60179be7aad0746e8a2c8cae124d27181a374493da6a68d47387a44460b39a45b2619f1d29b08ba4495230470b87bb926279eb760b9041632317c4d7a19e7753458dac07eb73331d808ce318555e1a2828da2f1d101cdc9b8363990b85064f63226c36c71061444e17a28c3b56332bab4bec2602f5c31394c870dd21030997564de52602c2628c41cb7ac2388ef35371f870a21675ac522660268a1802a2e4ca4c7152a9776410910175fd08c5e0307f4c2a61c877abbd2185ce58738fda15335aba2c77a804f94077a777fb49854c7a78462263e435a1d7b4a5205ab879438a91eb60397704cd937e66c7310625a6276182d86894ef9750f1817d85709bc578092d3b65f5c84514361264909dc2147ae6f3a577097e64bbb2c679c845d827b1ac393497575e385bb39563e125c3a3925a21160201897072f03f45d6ba85db7eb1d5b8ec7111dd785ebde07056653507e967385945389493b95c0a95827583f01dcd473fd3138887d3472e18b24c1b7e2c837668fc6917175471f3caa1323a34432b72c7b68f658868a2ae87306109b1053ed2bcedcb7037ab72d8c2bf48d29a0822575cc91ca1e5698286c9b19a7471a5b652f6a900659df9183c76417f0fc89d743aa635791d588cae6f650f3d314d65a6ae81a935f38b964f290be7a1a75f256776f17383f9bb9f9203415622b60b2a152a7ce3420cb49c3592ab8aaec009a237a12c2c04abaa08a382622dc84a053c94881664a97381ab88ca41846e82c02e00c6033b4721db29b71fd29069297a2cc387f2aa5336816c66e75b594bcd144171c3f7ac6df8a9a10a71f35b39a3da7d53571cb33860315288c2f7843e855d27db6f27b38940f973b2b063eba12b3a8b73d46c6781ac87f44c91e982cb27e534161212b367ab74a318b0f41e7a060823f17814f9a6e4f5a9093a6379fb0291d99916b15abc596550f152bc79703f1b0393b720cb85a510d4c9557acf3e620cf994c0bf8c06c2606041e7c3ce6044879a7612c3a2fa587b1b7676b956291a7ba5a78527a163ae08696c7c881076189bc1623c8d360c8d85c287a9c0c6965d0fa315e2037eed604084416fe31b2f01c7678311ada765acd7f70de59a9a85a8249205c78cac786aac9a0a0a7352b18f9cf936165a9c39d99aac7c175a5025f1c66d04354480175fc3249930e66c9d06aa50e7adfefab6aa9c205c1507a8f40512a45cebfb2b39f3330a962ed717408e0934fde42a5e1cbf04c80f37d7dfc7eb53a785194c4a1232e61c37a5 -sk = 2f766ad78a0112b8cd4bf28dd0f589873553bf114f19c2719f61a32cbc85c71975b911237bc6aa6acb32b613cac9dc80c85493faf63c3e337c274542ab4729d02abc5dc07309032c7112540522575d663c89714aa7a456410144d7c2bc1041c03d5a56e08cc7e5663c01f52e5077288bb8cbfba21b4a8a19c055691e05c22f94c62c3cc2b6a9c155e2a4eb2bb9d95b8c9d5a6394d05af87b038c210d9faa266cf07088b3cc7ab56ff3366fbd595b3c790b5497b34b94a72d8153fa13b40be96b51315ca4d22be3828c3556843545c47b0254266a802a44bee6e5a19a446472322c6aaa4cf47218ee3c99247564c552c93ed589ea8bb2c637bcf7277d5b5058dd80342815b2e8864b4c330920a82ec76b4a7bb893e0d18278f47f84743223a67f2983ac8c4a1845a61259670b02d6053ca181ba4c1bcca05b7af2a27c59c1e4e38da723b787aa2f36c71e3be05039183bffea6ab3bc779de2273326b327d42517b6c6ed8c7f96c6330d4c39e3d2a7b81a538693329abbbb5947b068c3cf7b45c173c1ba9964c86ed91d0bf64e209c1910c218434311a50a2128d52754148159891e00475654ab30b9693ad507b2e19acb7fe6b14f27c09c6b2570b861926683a285014631c2d7cb8c0c10a25d073d3c067ab819b9dc27971825ae21cc2e50d377e3396f0266a5ba598bbe9a868b0b6cad2ca3a8cb503778967bb930d90795719b237238c1f831007c690186949c600c6f587ac0d81c8334c57fe0c59db3e2815d63c26c620fdd75836261644d99327a334ea5a40571f0cda39ca716d2bb894a50bc4cc84d6621b60509dac77ecaa39b9779a3696749ce83933eb70c1e85bb2dc3421ae9a0ef40ac2d83a1fac16c6dccb0aa16aff9a94bb6d125665c3001b845e7f20e7c90a3db636950b0836ba008da33500fe47fd4a81df0e268c62974bad02a6d3b2267f917e2046df3c1883187683f030a28a129902083ce26730438b0dc0042998c9472f5a7fdba371d74481dbcb9bc4cb281e7cc1dc4455823ae1ab8b233e83324544913dc261b6274464b656bcb645f87b0cf4512af443959e67c47d679020c2905d45e21da586ee8291085a8a432ac6afaac594081ec298dc13175779b8635fc8eae58982258759999a57b704a5b040245d282a9b6c9cbca838399523f26695f60389ad42f6512783ae65a0c25b7258674398839af28866671329109a58e579c026549f0b7041dbb6623665fbc9a2ede41c0436635325912366ab1364b5a3162c4b8c2a14480aa6bf165588b8d26ea968291cabf66a4e26722f87977dab7807a2c65a26a9cbd339bac0b24e6b46e0a8082be95bb7a41b1b8b670ed3105eaf994a06a6414e9abe2a1b608c29c94b846012a0fcbd6959ed411d8d0c70a32559c68c74d94b2a9707b9d9755e3c69ac40782e97a1f904a32da824c7459b59b174a9fbb6b41947f47b3361d5558d831b2b444818ffa4c17f4bfcf8b9c7ce451f4ca99884c13f85c24d3cc4740d2567a54ab0583a175759fd7e197f3000a39717bfd9c768248518d50791cd84dba795e85388dca21507bc669ff0b906bf515f38c04dc838d0d1357377b1601887ae1b0a0c4490d38a871910c695c50008e5a5a30e92dbf312758b73beb83625df3b8d5c47a7a334d4e140915ca1401d461d7052e9ff05f73a1598dc9622c324c1c8b5de9b0386ea3cd95b86d80085588ac69ae310be6b5b5379202f4f14878fbb5508907b99490e4191b1e13a6890a9209f0a12910a3e096747eba94a337af9e609da4e8a9f8003633ec099983b8e778ca3d72bca1c19b4fb4a0faa4459ea06782367580b7aa49ab74b60c4cef7ab3bb9ba081227a7e1ac2f5400f8f7395f96567403b2401a2abb0b70e92e6ca2102c597f496cc8881d7b688861c7988363112155b5b88271072a7a7d68b76036059ca5e402532ce8763c52ca237a334832832f2a49be3907d15852fced4675547796d3046535390d44580c24bcc3d67a50cfa2ad8936d46121a7f60179be7aad0746e8a2c8cae124d27181a374493da6a68d47387a44460b39a45b2619f1d29b08ba4495230470b87bb926279eb760b9041632317c4d7a19e7753458dac07eb73331d808ce318555e1a2828da2f1d101cdc9b8363990b85064f63226c36c71061444e17a28c3b56332bab4bec2602f5c31394c870dd21030997564de52602c2628c41cb7ac2388ef35371f870a21675ac522660268a1802a2e4ca4c7152a9776410910175fd08c5e0307f4c2a61c877abbd2185ce58738fda15335aba2c77a804f94077a777fb49854c7a78462263e435a1d7b4a5205ab879438a91eb60397704cd937e66c7310625a6276182d86894ef9750f1817d85709bc578092d3b65f5c84514361264909dc2147ae6f3a577097e64bbb2c679c845d827b1ac393497575e385bb39563e125c3a3925a21160201897072f03f45d6ba85db7eb1d5b8ec7111dd785ebde07056653507e967385945389493b95c0a95827583f01dcd473fd3138887d3472e18b24c1b7e2c837668fc6917175471f3caa1323a34432b72c7b68f658868a2ae87306109b1053ed2bcedcb7037ab72d8c2bf48d29a0822575cc91ca1e5698286c9b19a7471a5b652f6a900659df9183c76417f0fc89d743aa635791d588cae6f650f3d314d65a6ae81a935f38b964f290be7a1a75f256776f17383f9bb9f9203415622b60b2a152a7ce3420cb49c3592ab8aaec009a237a12c2c04abaa08a382622dc84a053c94881664a97381ab88ca41846e82c02e00c6033b4721db29b71fd29069297a2cc387f2aa5336816c66e75b594bcd144171c3f7ac6df8a9a10a71f35b39a3da7d53571cb33860315288c2f7843e855d27db6f27b38940f973b2b063eba12b3a8b73d46c6781ac87f44c91e982cb27e534161212b367ab74a318b0f41e7a060823f17814f9a6e4f5a9093a6379fb0291d99916b15abc596550f152bc79703f1b0393b720cb85a510d4c9557acf3e620cf994c0bf8c06c2606041e7c3ce6044879a7612c3a2fa587b1b7676b956291a7ba5a78527a163ae08696c7c881076189bc1623c8d360c8d85c287a9c0c6965d0fa315e2037eed604084416fe31b2f01c7678311ada765acd7f70de59a9a85a8249205c78cac786aac9a0a0a7352b18f9cf936165a9c39d99aac7c175a5025f1c66d04354480175fc3249930e66c9d06aa50e7adfefab6aa9c205c1507a8f40512a45cebfb2b39f3330a962ed717408e0934fde42a5e1cbf04c80f37d7dfc7eb53a785194c4a1232e61c37a564c819d9bf66855f6ae70627f04da8378547e5867e2eb9759fe0971efd601c4a11eafeca9e810796c34e8cfce9d59342884456007b01ddd12edce6d10ed87e4c -m = 9f27a47604ab5146caaf0aafe6d149424f8d66e39ba3baf5e6c73b19221b7e21 -ct = 98322d7a13921ef76042f6df285a8bd2d0618d843820cd3fc35706c97d92720baeced43615976f33a50eb4f4871b2caf187088ac58bf63793322ccbe9a510cff90786a7c3f28cec3ba32c2d90d280a6411bedc9046ae4a13a59fbc3fe2330c34d78c6743009efdc3554392c4139cbb5855659a8a4c814f89bea551fd3e8c219daca38f46f8c6ff101e07a31f0a07b8be8ee2656c189b30c9c6bc69db6b6f14799a239b0d8677e2a76f31e081182bfc44371f8592b1a4a8a01dc524bebcdd43f8e48a77550628253b5b78688e6c73ce990e967c6d67383ea3e66b9d8349fce9eec43dc2c2301a4af7a9beb52aa99df13c8f578210647e8935871546416b46bf2ade02a6aae8b36dd9f0722ddbb5a06fe93e496427ede60ccb84cd6b29539ad2d7f608d825d6b10af253852912e2c959eba801e3d895ceb04319d3791c31855e40d112b93b5444da843439805f9c154bc0436859a4009354d0497334739eff86318ad7adcb4f64b4e67775d8294f92b8501a88fdb13462d82a568ce39fcef1598a56e3e0188fe62ac5e456f6d87d37ce482d59509cdbe28d909d452a5d7e2a8d8cf90043e23c330026811babbd9cacfe298c77b487a9814356133cbfbc0c1bcc9fa503012ad5536432313b3a88596d44d16e2b7339b50456ebdca6345d95ff6e36cca50b0036a79a86c8500b532ad3159444455de6ebe469820ec9b9fd8c956134e99a85d4bb83b02f1ad116de1249750391d9d9b860f9b75817bb09c688fa9becaf9a5776a8cb6ee94a4540ec7b9b790a7e787b746ba8343ccdd9c73ac6b2f19ce9a2106ee0e2fbc2399de6b4250b963e6bf5fcb0fb58f4f182a4375077848c09a1f358b2ccafa3bd7784df29b099171e74dce17558934198c0fd3fa998245ab3bcd782b32b810953c845685408af76d6c6cc252df2a339247a5c97409b7e59e652c3c70b4d7b10bc4ad9d1dc5b5572abc7df75b0d335ed85c98aa6ec2b9a1eb49533b258bd1bb353339d3bcf303232ca1742f7b3bc69c959cf9a540bf7a5b08564d997f467ef6fbb69747b56c4bc07e7e3d6b4738af1baca39417de8c34d72798336d2934162b6ebfa6bf46eba85b1cd94bf04cc7b5e36a1ef66a9bf687477114295f8ea84c80267c64bd617722d6f7de3601216059d7e82bdc18728c2f2cfd63ea1029cae451b15aabf7be2d13d7191d1effeba909b05a419b820424cb464e7ddbd0d272bc464e689263fd501650b7ad691565625941dee3d6ddf9195fec5718ddff43b067446a32e2b34d1482348446dcc8b92e0a8077c0dcd1e59f05c9b6a7b1fa867f878dcf731e5fa38ed9596f207dba7ba0fcb3ebf2e1b0a8bcaffae5bbdcdbf62fa40f5ae8612b1e319671fbc71da87f5297dfae4bd161e02b7115e9c5c6f09a1c44540d5c8435c7e2cda96b9bcf9414e8ef6f1d938ade592aef958996d908df29d589857a422b620ae1710889b58ce7a59a4dc96aa46a7d194ae8e530df9da7bd319aba09f94f2f02fe5c4df2afc59f77453742f35c08d943f59e6e3 -ss = b8b9f3af55e8c616d07c7042ccc26bb4b83d20fd502ba5cc7b72310990ec50ec +sk = 2f766ad78a0112b8cd4bf28dd0f589873553bf114f19c2719f61a32cbc85c71975b911237bc6aa6acb32b613cac9dc80c85493faf63c3e337c274542ab4729d02abc5dc07309032c7112540522575d663c89714aa7a456410144d7c2bc1041c03d5a56e08cc7e5663c01f52e5077288bb8cbfba21b4a8a19c055691e05c22f94c62c3cc2b6a9c155e2a4eb2bb9d95b8c9d5a6394d05af87b038c210d9faa266cf07088b3cc7ab56ff3366fbd595b3c790b5497b34b94a72d8153fa13b40be96b51315ca4d22be3828c3556843545c47b0254266a802a44bee6e5a19a446472322c6aaa4cf47218ee3c99247564c552c93ed589ea8bb2c637bcf7277d5b5058dd80342815b2e8864b4c330920a82ec76b4a7bb893e0d18278f47f84743223a67f2983ac8c4a1845a61259670b02d6053ca181ba4c1bcca05b7af2a27c59c1e4e38da723b787aa2f36c71e3be05039183bffea6ab3bc779de2273326b327d42517b6c6ed8c7f96c6330d4c39e3d2a7b81a538693329abbbb5947b068c3cf7b45c173c1ba9964c86ed91d0bf64e209c1910c218434311a50a2128d52754148159891e00475654ab30b9693ad507b2e19acb7fe6b14f27c09c6b2570b861926683a285014631c2d7cb8c0c10a25d073d3c067ab819b9dc27971825ae21cc2e50d377e3396f0266a5ba598bbe9a868b0b6cad2ca3a8cb503778967bb930d90795719b237238c1f831007c690186949c600c6f587ac0d81c8334c57fe0c59db3e2815d63c26c620fdd75836261644d99327a334ea5a40571f0cda39ca716d2bb894a50bc4cc84d6621b60509dac77ecaa39b9779a3696749ce83933eb70c1e85bb2dc3421ae9a0ef40ac2d83a1fac16c6dccb0aa16aff9a94bb6d125665c3001b845e7f20e7c90a3db636950b0836ba008da33500fe47fd4a81df0e268c62974bad02a6d3b2267f917e2046df3c1883187683f030a28a129902083ce26730438b0dc0042998c9472f5a7fdba371d74481dbcb9bc4cb281e7cc1dc4455823ae1ab8b233e83324544913dc261b6274464b656bcb645f87b0cf4512af443959e67c47d679020c2905d45e21da586ee8291085a8a432ac6afaac594081ec298dc13175779b8635fc8eae58982258759999a57b704a5b040245d282a9b6c9cbca838399523f26695f60389ad42f6512783ae65a0c25b7258674398839af28866671329109a58e579c026549f0b7041dbb6623665fbc9a2ede41c0436635325912366ab1364b5a3162c4b8c2a14480aa6bf165588b8d26ea968291cabf66a4e26722f87977dab7807a2c65a26a9cbd339bac0b24e6b46e0a8082be95bb7a41b1b8b670ed3105eaf994a06a6414e9abe2a1b608c29c94b846012a0fcbd6959ed411d8d0c70a32559c68c74d94b2a9707b9d9755e3c69ac40782e97a1f904a32da824c7459b59b174a9fbb6b41947f47b3361d5558d831b2b444818ffa4c17f4bfcf8b9c7ce451f4ca99884c13f85c24d3cc4740d2567a54ab0583a175759fd7e197f3000a39717bfd9c768248518d50791cd84dba795e85388dca21507bc669ff0b906bf515f38c04dc838d0d1357377b1601887ae1b0a0c4490d38a871910c695c50008e5a5a30e92dbf312758b73beb83625df3b8d5c47a7a334d4e140915ca1401d461d7052e9ff05f73a1598dc9622c324c1c8b5de9b0386ea3cd95b86d80085588ac69ae310be6b5b5379202f4f14878fbb5508907b99490e4191b1e13a6890a9209f0a12910a3e096747eba94a337af9e609da4e8a9f8003633ec099983b8e778ca3d72bca1c19b4fb4a0faa4459ea06782367580b7aa49ab74b60c4cef7ab3bb9ba081227a7e1ac2f5400f8f7395f96567403b2401a2abb0b70e92e6ca2102c597f496cc8881d7b688861c7988363112155b5b88271072a7a7d68b76036059ca5e402532ce8763c52ca237a334832832f2a49be3907d15852fced4675547796d3046535390d44580c24bcc3d67a50cfa2ad8936d46121a7f60179be7aad0746e8a2c8cae124d27181a374493da6a68d47387a44460b39a45b2619f1d29b08ba4495230470b87bb926279eb760b9041632317c4d7a19e7753458dac07eb73331d808ce318555e1a2828da2f1d101cdc9b8363990b85064f63226c36c71061444e17a28c3b56332bab4bec2602f5c31394c870dd21030997564de52602c2628c41cb7ac2388ef35371f870a21675ac522660268a1802a2e4ca4c7152a9776410910175fd08c5e0307f4c2a61c877abbd2185ce58738fda15335aba2c77a804f94077a777fb49854c7a78462263e435a1d7b4a5205ab879438a91eb60397704cd937e66c7310625a6276182d86894ef9750f1817d85709bc578092d3b65f5c84514361264909dc2147ae6f3a577097e64bbb2c679c845d827b1ac393497575e385bb39563e125c3a3925a21160201897072f03f45d6ba85db7eb1d5b8ec7111dd785ebde07056653507e967385945389493b95c0a95827583f01dcd473fd3138887d3472e18b24c1b7e2c837668fc6917175471f3caa1323a34432b72c7b68f658868a2ae87306109b1053ed2bcedcb7037ab72d8c2bf48d29a0822575cc91ca1e5698286c9b19a7471a5b652f6a900659df9183c76417f0fc89d743aa635791d588cae6f650f3d314d65a6ae81a935f38b964f290be7a1a75f256776f17383f9bb9f9203415622b60b2a152a7ce3420cb49c3592ab8aaec009a237a12c2c04abaa08a382622dc84a053c94881664a97381ab88ca41846e82c02e00c6033b4721db29b71fd29069297a2cc387f2aa5336816c66e75b594bcd144171c3f7ac6df8a9a10a71f35b39a3da7d53571cb33860315288c2f7843e855d27db6f27b38940f973b2b063eba12b3a8b73d46c6781ac87f44c91e982cb27e534161212b367ab74a318b0f41e7a060823f17814f9a6e4f5a9093a6379fb0291d99916b15abc596550f152bc79703f1b0393b720cb85a510d4c9557acf3e620cf994c0bf8c06c2606041e7c3ce6044879a7612c3a2fa587b1b7676b956291a7ba5a78527a163ae08696c7c881076189bc1623c8d360c8d85c287a9c0c6965d0fa315e2037eed604084416fe31b2f01c7678311ada765acd7f70de59a9a85a8249205c78cac786aac9a0a0a7352b18f9cf936165a9c39d99aac7c175a5025f1c66d04354480175fc3249930e66c9d06aa50e7adfefab6aa9c205c1507a8f40512a45cebfb2b39f3330a962ed717408e0934fde42a5e1cbf04c80f37d7dfc7eb53a785194c4a1232e61c37a564c819d9bf66855f6ae70627f04da8378547e5867e2eb9759fe0971efd601c4a7b129a56b51be635054cab9e84f2def59a3f8168e301ea2be388c45b8cb022ec +m = 5d5b9bc8e9d09b6d5f96d13a5b7a8d8f491c15e7ab912a17ce8141299fb6ca44 +ct = 8055eef1e7e8381c5ab7d61375d0cd6317c58f1d5c79aa5d986086a3498046a8cf87e00fb606598a1dbfd418d558dacf89df656186ee7cb71b90a38c035758724bd97c3ff7499e65c3a461b8929a3863a37b10cb2cbd6c110c9eb73e017a104513f8c9d7d9c80c9d4322ef0419cb732b00e2ae366d31c925af659474f2fcff470a996b5717ab68a5e15e5722665ce55bcf50223452ed2833857160f56eb2c73e8185947c22f676dcaf679198f7a3b780cbc545bd0f2d4b375f8795f008a1074af6c1aeba37599598ef159e38458e9d805200cd27dd0e4dbbfc6d0cc23c0bd31b80374cc92f67abe7b1e9fcfba32086cc7b82d18bd1991b94085dbb6aef7f9e80d525de7f2fd44b40d607f7a986b0630e0c411b810fdce2568942a12d698a1f953baeddc54e4c331d2f75b27dff0820a5bee954c3f5efb5f824deb1ccf56f3b873829bfb4c8312e2e783ecfb6638f0842f905bf14fb377c3f79f69234466fab21275180adb6ee164b73b32f445c3edf4a43852d0c35b53b76966bfad84acab3f906cfe1f8e9346e22e1edf03714ea276249295f0a8fa14cc9f5585fbcdd7ac231c94e1f5a3e43f6a8f9a5b240b9749dd26e6c8c46932616f07c0cde3b43c22eef685d2618ede2cf16786deb0616a4af9f53cf926334b881e1c845e90e0f6b1de4ba4ddbffdf462e51e12e6f4970a66f33e64ba040e2d4bd2a0824a487ca363f7e8d4519198eda027451967af05c9eefdb54a93214a0b8134afe83a7861b828ff0bec05c5127421a8ddd20708ec489cad0752bfd4e69c303386f7ad044222558dbc06f9eb3673c9dbcf48df227c835c852f2336f8ca7d097180aab26d0e0b15c9c6fdbcb469eba6bacedb2a11204b27ed2a57a6434f661a65d6bf69819093f33e6cdb8157e966804443bce3bcca63b99e363752603b1d5e1c4a7e966505106a4fb920474c40997ad180b974c444703431276a8ae9eba72bfff8527af405779e17a6c14f4589af3ad28b0211bcd3e576c4ff4189882a4743a485ae42f260bcbc279d2477261f75d9eb3da149a7e1169f401716eea4567096a4c5c76150b9d1a8a83ecd2e81171f994e65e5c8480df4c107cb5a002972e1af91825ce08b30174a84e393e2790e4200bdf718f437102b90785f882ed8715ae9f061a731963fa0273cab196b8fcc950291576dc55f8df1d86562c8ceccb6fdf2a023817d6b09e0cef53b4765a0d62f2d940a3c5741ad0a229b8c29252b810aac5c698335c4acc93ab59375595f1c9396bf74f38469c828bc6d5ebb86a27d23a6a943547414726d27c61bb0a9546f452525f3d6391992a66088f9032576e58ee880313f8463dcbafa41db0a2085759c4555423c1d52d65b57a4cc7c03f075915c067e7a64fc98a2f7183d58c0cfcf0fb4b21020cd13c7b4f7e65f843667be67597de1f3fef0a6b5fab0f9fb09bd4da631372ecbc3500fb6560288ef41cd153191e9d7f8696ebc5f899ef77496fa6fa089ba009f11404c47f0c1d15cf60a6ec791070a550002da4a0fa09 +ss = 67f2e28da0e65230d0cede679ca0da4d8e970c8532ce81dd3bcd9f3743218bbc d = 2478f7d3de6041e7e5cd11c5e2ef483d1aa6218eb126444091535f6ae532fa73 -z = 11136e2681df2ef881b51a092a9badbe72c9772c169808521c47149578621e28 +z = f0c083ae8cff7a4bd779d4385e111ed4583fe00d30e651f171d7e8a90eec0db5 pk = be0aaff4d255d72c6e8424c2d5d23f0aa4c28094691ac4bf0f56a51ea4799810cfb024c151c35cc3c6cc90a41ab964370c2bc953a84a73c87a02813de34b933f233da28643a93388f944c033236372fa6e6aca085b598123f27122a40074a4af57684d46398e5d58b13a863b0b984e224a7ad52c1c4eb26909451dcf2a15dcb11ac4ca38d93ca350078138e0ae87f1390fc9045eea420260c913c6b54dd93495f31aac32350cd03500da308fd8ba0777c999cb4982c91e569a1c52396edc506ac7cc43264a05cc880191501860f1a32f7760ad3b17ff693508339fcfc05fae095c6a96c1e6864baf147186bc22dd882620e5a5f4516df92b8b715394c5677d0db913efb25459d6c636442a8ce22899f8943957bb2b281a8ed14bb5d0ce6de3086ea8b6165798619b2ecbfb22727cafc6409e23088c6c940c23e86a603788c07ba89d6badcef07d79174acf70c55b7b30c067bd8202a1a70998459c54384196f814515ec9c7f360061270090ef37ad32115242c2aadc0121e1a08623038b311982c669de3dbb1c7789530191b07a947c9637bfa241ed35aa1d03c81f0d70f8b95112a3b1b08b25c34dc7e1d577fd30a808ac574decbb51538c2a017287e62128f32afb0f7a73ec8831e6b975007592b5c652fa636c7315baa474f873a5da2e82fd146268dc951689ba83e046c0f4820447c3b3e6c78cd240bc4d21e0a4660eb1c69402b617b83057874122e203bd6313d7874a987f2987599cd4d7946e50665f7d9a80651cc8dbbbc4df605f48274fba0640f8609b6554a7760856259c32df00d3056aef65436a285583cfc9d9a644f66e382d4907c6d78aa461a2b6ba8887c238f81d31e796a675ee8b7a598afd5d79a0587965420a2e9f2782b71331737680a499aa759824d11acf1a001f9a5865b6568ed8a1f4f4cc38f74c24e231965e9830232924526baa377b2ee933a1fc4677ee74fd98a0881628315aa95085c7415a1a51a98406fa345a69802ba71cfc885816ea30fadea0232b13eafbc24b84347124bb41f8c663506665ce4c3801b09933c19675c1f9ce54c418207b69215c91b10451730de65a4aab6c97804ad33c50233f83599133510bb334d9c1f4b7970087700ef45500ccb31b7933fe74a346aea4c9bd409bc5a186f00bdca67cfa8d041dfeaa56547a71c35cef1b664629ac9d4f431cfccaf62a781a4bbb2adca7a7914627da380873977e6e1a11fec0938a3a886e9b328a8a539557f6c700285693266742f779bbe2e7a0603060673c7be9591be19a57a0cac91cd1c61860a86356b90715886acac2306190cff686883a61e56140f64ba76123c1b07614ff5c8a4b402cdba738ab68b749c1151da62c30dfaa3bf826d4848c4910c9ea20669735cca4df583e0c5412b610bce816fd17ab9c203a7ea42081901c8cd78940f090efb49718ac90ad6a101093580c13b5ffa0ac0d7b094d913a9ddfab03f835f79173e966746c69a0228d06a2c363e94522ec68312cd312eccdc688c4a88f6a5b7c3464cb7ec842fc1377359a162032c8c504105461936714f451481d8a4942d1715b6a65583999b96b0c47a914f2f721f5ec6315c91b009e714f6518bfdc75e828256f25740c91e7efd93a5d7db1850127df85b8f086dfc57f1f62a86d6ee7e45aff3f27bc1 -sk = 6c33b8ab2b4febac9ff7dc3e4a689f468a4f08d5c87ef8a142b4766e24073df336efa5a0d6fc17b6bb2c615658eb04aa9035560ff7979e27c65a85ca6b1b9bfaaab23d89c6a825cdf7e312f81066d516be72680e5a665830f74e371bc411ba86f00704dcd3c40c8c1295d6b52aca51ad41732032535af95bef907127eab1eeb54899a36961793ec47b91d9725643664082c4375f4843b0031b815c8dffcb7f25d4414191746d5aad14093bf2c005df655f69917baa956721b4cb8b8b51531a4a6c0ca50f8ab21dfc7cd9f81d730157a59b971e4b4a0fba8ef49754a7c2be0325c8bc623fd2a94a6cc4226677260ffcb64d75167d63334e395df5ba4505495cbc8c3a3e40ab68796d6c646775339c29683a21f921a7c6a79d39a95c876f782a27a6365908381d793b537d1a681cab5599817e050cccf7803bf9a90ccc4084743c96069183b08702979c9dca2b9d9bc26e1de849976aa1465b29eb260ffc64478c39945a9b402520172cd7861c5a0cc089a028c8200208b3e4d7b3a91cc8c209c5e1d201278b01cab34126c701bfc2913df501f6d73d9424cf1176b8616c04c10940ef9832957585ec350e9761505162aecb28884f659ea23125c382cf24f383f9b09feee8aacb981df21a6bcec26e2a67493b919fea06170c18b79e5a01e6e89516707bcc7ca353727825514aa0d52504606013e53ba916bd133814c36b98fff15f847b7383854f692450aad28231f2bb4fd839d2b532066114da65be8cc5073f9992e03836ca3a623c301999a56fb00332d1ba8a26d599d0f5a97975814be81fc9dbc536d1c165a131ca3c55d04a05d7a53fff1299d3860cafd8bc6e3b97e72a595d294303a12994510f74887fd1d7bb18da70bfc5bdd58c1f6c1cb56f5994b7f2225ce0ab29e8cf3dc851f1aa5bf2ba255f7215cc71c5da95115d6a98a2317224bc6de1b2c79353bc5c3c046a7a0933a73419f7b117b88f3a53777143546cd29014e15e37c33770a8a9a11bc2f38777e400132a812a984908b3d2b87fc465b564045e79453c0666e3682a894c269551afe25286fcdb681cb50b260b4327b46c2d0699beca103965b0a218902eb4680c1b8c3ecb2011a396b0dca97d56aad231168fd9a7cf177b85b7729de4a4bf035482aa7758aca9e1f36bc9033ea34c6dff91091e8b36fd2a2c6b1094a8338ad540c8f53cab80d73e7dec3977452915b616d0f0bf9e842663cc477cdb5dc94579d6222d1b647ef4d358c5435d3d0799242b66818a683e8c5651b0b26ce4909f8656ff35cd7ffa1c5988074ffa32df093bcda32aee2003825593b545b44190787c4c8656d85cac293f615811ccb35eb0413f44b1722e0a182f09481712ac68e3c9d31085ea77946a54baa91c8ab8e814c5b94206070c0a6037bc02a292082018933a5ac32141180a6dc760c2c9aceb3b1a1505464150a732664aa51b02a721b63759379a638bbfd07ff9a7a84e071fda70200c61894a8891dacc375c120a35e0a4f296a02845477bc0484fb5bc539c3b8bea3ed2511d480b1dbe76c640622b67a1a8e000b954057322cc005f88284d6290a5d720e32b5f6cb6b992bc182d66a73b5019572867640343f267133b060545d4b2be0aaff4d255d72c6e8424c2d5d23f0aa4c28094691ac4bf0f56a51ea4799810cfb024c151c35cc3c6cc90a41ab964370c2bc953a84a73c87a02813de34b933f233da28643a93388f944c033236372fa6e6aca085b598123f27122a40074a4af57684d46398e5d58b13a863b0b984e224a7ad52c1c4eb26909451dcf2a15dcb11ac4ca38d93ca350078138e0ae87f1390fc9045eea420260c913c6b54dd93495f31aac32350cd03500da308fd8ba0777c999cb4982c91e569a1c52396edc506ac7cc43264a05cc880191501860f1a32f7760ad3b17ff693508339fcfc05fae095c6a96c1e6864baf147186bc22dd882620e5a5f4516df92b8b715394c5677d0db913efb25459d6c636442a8ce22899f8943957bb2b281a8ed14bb5d0ce6de3086ea8b6165798619b2ecbfb22727cafc6409e23088c6c940c23e86a603788c07ba89d6badcef07d79174acf70c55b7b30c067bd8202a1a70998459c54384196f814515ec9c7f360061270090ef37ad32115242c2aadc0121e1a08623038b311982c669de3dbb1c7789530191b07a947c9637bfa241ed35aa1d03c81f0d70f8b95112a3b1b08b25c34dc7e1d577fd30a808ac574decbb51538c2a017287e62128f32afb0f7a73ec8831e6b975007592b5c652fa636c7315baa474f873a5da2e82fd146268dc951689ba83e046c0f4820447c3b3e6c78cd240bc4d21e0a4660eb1c69402b617b83057874122e203bd6313d7874a987f2987599cd4d7946e50665f7d9a80651cc8dbbbc4df605f48274fba0640f8609b6554a7760856259c32df00d3056aef65436a285583cfc9d9a644f66e382d4907c6d78aa461a2b6ba8887c238f81d31e796a675ee8b7a598afd5d79a0587965420a2e9f2782b71331737680a499aa759824d11acf1a001f9a5865b6568ed8a1f4f4cc38f74c24e231965e9830232924526baa377b2ee933a1fc4677ee74fd98a0881628315aa95085c7415a1a51a98406fa345a69802ba71cfc885816ea30fadea0232b13eafbc24b84347124bb41f8c663506665ce4c3801b09933c19675c1f9ce54c418207b69215c91b10451730de65a4aab6c97804ad33c50233f83599133510bb334d9c1f4b7970087700ef45500ccb31b7933fe74a346aea4c9bd409bc5a186f00bdca67cfa8d041dfeaa56547a71c35cef1b664629ac9d4f431cfccaf62a781a4bbb2adca7a7914627da380873977e6e1a11fec0938a3a886e9b328a8a539557f6c700285693266742f779bbe2e7a0603060673c7be9591be19a57a0cac91cd1c61860a86356b90715886acac2306190cff686883a61e56140f64ba76123c1b07614ff5c8a4b402cdba738ab68b749c1151da62c30dfaa3bf826d4848c4910c9ea20669735cca4df583e0c5412b610bce816fd17ab9c203a7ea42081901c8cd78940f090efb49718ac90ad6a101093580c13b5ffa0ac0d7b094d913a9ddfab03f835f79173e966746c69a0228d06a2c363e94522ec68312cd312eccdc688c4a88f6a5b7c3464cb7ec842fc1377359a162032c8c504105461936714f451481d8a4942d1715b6a65583999b96b0c47a914f2f721f5ec6315c91b009e714f6518bfdc75e828256f25740c91e7efd93a5d7db1850127df85b8f086dfc57f1f62a86d6ee7e45aff3f27bc1db315cafbaec2f8a0142f45affff65289e826c9244ab1cb03f9f65df3e3cbcf711136e2681df2ef881b51a092a9badbe72c9772c169808521c47149578621e28 -m = 90044031b7597b5e60a4f946b713e8996d0426d2cb013243d9b7d8f8ef159a0f -ct = c324cf3a1900484410a1de432ac56a735217564a14f75a75526e6c83672be590afff601320226f0c0614068abb30b7b0aa66d54b4faa789f9d9e0e48daaf7cb452f4897cbe76fafd89be2fe0c32f9d0d4ecd61e6ad891998d5c4b334cb9dd402c2284e0f03a85df505c876d300da586e398ac16331d8f8b8e84b7347ea13d50dd1a33b7116520638e8bd779793f6cbdb1ed82d8ace7f25e50f94effa23de36bec9210b1dcebb1319a8af22200a33a49c09b63998a18b4d438e1e4958f5db78ccfe9e10ff0537f35931f05e629d8ba4a5b18e9c1ef194089da0c96105bd287eac7adebf758f4355b560404351c58646ba01a955644d1fcea3a30f7afc01641d360e74ea49bd27c1c3943092fa740075af38ead19e6376e4c91f9075be124b4a43a0dbed278b3abe532698e57b60d1de574f31e159d98ee07896b6e9d88a4f2594be1f0a0c73d7466fe92f8464191b7a7e54791981eb2a8d39a0b712f5d4507f8faedfc7e49ec6f31acc77466494ef73277330ac837272d68ccae0d05d75a235e353ab29216a2e8c7acca8123d24441cd51cdc6dfff3ab4fc70800a427642c1e1795d41c9ba9fc87a3035e7f1cfe390f1efbb9b955ec6a0918bc45411e8325fe8f4d6bd928d4029949508dfd4978395b6d021c92453b8599d8705951e2fecda5f03476add8b6d7fd9b1336e70a57f42017cfbb329e925180e034a438a50623589871e47ea8994c1ece7e35ea42384b1e66dedbb3a111513b6dd7f25d95f5ff0236b717badc740505777b2cbbcaab063523c6a8d1ef6a9cc9f689dc6eb2759d5916c4af16564e6c23f38a4c27dc1219094a023ebf5b56827ea897045dc881f0a89a853645942356eff1a1a9bea7f2c12c68b5ebce0706faf9cd72e453e0188071856c7ff37b952ccbb53cad0cbf604df59438c4022f6f26d71e9073cc1a45ac6bd3f6a71f3eb284fde720416ccf1abcba0c9239144a6aa38ae655786a2c3820407c77f8378858f0877e6cefcd5bcd8e5faeddecd68c1e2fcdf9bda5eef60fb7e8ae441cb8054ff7c94a8697bde5001893abf8140424583df49796d1fd10f4dc493bdaf3c1c3b76fc1d34346ce5a5b7755a68f8c5490ce8827cb8ab61c3339f0decb83f09230eaa58e6154bd8e1a77291654450a4949c3daf8b4c05b001d94f21f0698c426a93d64b2d1005d1217be6783588eda458545cc1d677b2770b25491224d8d194285ad612f741adaadec5b2882d13334b9becebb39f9f0d4de237fd36d7b4e114a079bee6d7c2afee75c4961f81c75887a616f1e6497a4825c939128fdca95df452c5f4d27b1d516b33de9336e394906547ab7fa5ed5a45cafcbb56e324b606daebf25e705590ebe36ab32f5b4a4171ab7832dbb66177e9ae6c29e5e4f503ab861488d5ad246988d4cf8a41276f1048e4d778776d34577679069e4248cc09a5ec7f533685e137ac32c984e91e8830e1934f6b2f91b33a3605c53e51a8b7264d53b69af57507f5b5ab6d4f1b1b09aa1e50ca13cbbae62ae464e99c40c2072 -ss = 2e4139c499a24caa334754e10c6bbddc7a0830499ca65e941af8d87ee022d483 +sk = 6c33b8ab2b4febac9ff7dc3e4a689f468a4f08d5c87ef8a142b4766e24073df336efa5a0d6fc17b6bb2c615658eb04aa9035560ff7979e27c65a85ca6b1b9bfaaab23d89c6a825cdf7e312f81066d516be72680e5a665830f74e371bc411ba86f00704dcd3c40c8c1295d6b52aca51ad41732032535af95bef907127eab1eeb54899a36961793ec47b91d9725643664082c4375f4843b0031b815c8dffcb7f25d4414191746d5aad14093bf2c005df655f69917baa956721b4cb8b8b51531a4a6c0ca50f8ab21dfc7cd9f81d730157a59b971e4b4a0fba8ef49754a7c2be0325c8bc623fd2a94a6cc4226677260ffcb64d75167d63334e395df5ba4505495cbc8c3a3e40ab68796d6c646775339c29683a21f921a7c6a79d39a95c876f782a27a6365908381d793b537d1a681cab5599817e050cccf7803bf9a90ccc4084743c96069183b08702979c9dca2b9d9bc26e1de849976aa1465b29eb260ffc64478c39945a9b402520172cd7861c5a0cc089a028c8200208b3e4d7b3a91cc8c209c5e1d201278b01cab34126c701bfc2913df501f6d73d9424cf1176b8616c04c10940ef9832957585ec350e9761505162aecb28884f659ea23125c382cf24f383f9b09feee8aacb981df21a6bcec26e2a67493b919fea06170c18b79e5a01e6e89516707bcc7ca353727825514aa0d52504606013e53ba916bd133814c36b98fff15f847b7383854f692450aad28231f2bb4fd839d2b532066114da65be8cc5073f9992e03836ca3a623c301999a56fb00332d1ba8a26d599d0f5a97975814be81fc9dbc536d1c165a131ca3c55d04a05d7a53fff1299d3860cafd8bc6e3b97e72a595d294303a12994510f74887fd1d7bb18da70bfc5bdd58c1f6c1cb56f5994b7f2225ce0ab29e8cf3dc851f1aa5bf2ba255f7215cc71c5da95115d6a98a2317224bc6de1b2c79353bc5c3c046a7a0933a73419f7b117b88f3a53777143546cd29014e15e37c33770a8a9a11bc2f38777e400132a812a984908b3d2b87fc465b564045e79453c0666e3682a894c269551afe25286fcdb681cb50b260b4327b46c2d0699beca103965b0a218902eb4680c1b8c3ecb2011a396b0dca97d56aad231168fd9a7cf177b85b7729de4a4bf035482aa7758aca9e1f36bc9033ea34c6dff91091e8b36fd2a2c6b1094a8338ad540c8f53cab80d73e7dec3977452915b616d0f0bf9e842663cc477cdb5dc94579d6222d1b647ef4d358c5435d3d0799242b66818a683e8c5651b0b26ce4909f8656ff35cd7ffa1c5988074ffa32df093bcda32aee2003825593b545b44190787c4c8656d85cac293f615811ccb35eb0413f44b1722e0a182f09481712ac68e3c9d31085ea77946a54baa91c8ab8e814c5b94206070c0a6037bc02a292082018933a5ac32141180a6dc760c2c9aceb3b1a1505464150a732664aa51b02a721b63759379a638bbfd07ff9a7a84e071fda70200c61894a8891dacc375c120a35e0a4f296a02845477bc0484fb5bc539c3b8bea3ed2511d480b1dbe76c640622b67a1a8e000b954057322cc005f88284d6290a5d720e32b5f6cb6b992bc182d66a73b5019572867640343f267133b060545d4b2be0aaff4d255d72c6e8424c2d5d23f0aa4c28094691ac4bf0f56a51ea4799810cfb024c151c35cc3c6cc90a41ab964370c2bc953a84a73c87a02813de34b933f233da28643a93388f944c033236372fa6e6aca085b598123f27122a40074a4af57684d46398e5d58b13a863b0b984e224a7ad52c1c4eb26909451dcf2a15dcb11ac4ca38d93ca350078138e0ae87f1390fc9045eea420260c913c6b54dd93495f31aac32350cd03500da308fd8ba0777c999cb4982c91e569a1c52396edc506ac7cc43264a05cc880191501860f1a32f7760ad3b17ff693508339fcfc05fae095c6a96c1e6864baf147186bc22dd882620e5a5f4516df92b8b715394c5677d0db913efb25459d6c636442a8ce22899f8943957bb2b281a8ed14bb5d0ce6de3086ea8b6165798619b2ecbfb22727cafc6409e23088c6c940c23e86a603788c07ba89d6badcef07d79174acf70c55b7b30c067bd8202a1a70998459c54384196f814515ec9c7f360061270090ef37ad32115242c2aadc0121e1a08623038b311982c669de3dbb1c7789530191b07a947c9637bfa241ed35aa1d03c81f0d70f8b95112a3b1b08b25c34dc7e1d577fd30a808ac574decbb51538c2a017287e62128f32afb0f7a73ec8831e6b975007592b5c652fa636c7315baa474f873a5da2e82fd146268dc951689ba83e046c0f4820447c3b3e6c78cd240bc4d21e0a4660eb1c69402b617b83057874122e203bd6313d7874a987f2987599cd4d7946e50665f7d9a80651cc8dbbbc4df605f48274fba0640f8609b6554a7760856259c32df00d3056aef65436a285583cfc9d9a644f66e382d4907c6d78aa461a2b6ba8887c238f81d31e796a675ee8b7a598afd5d79a0587965420a2e9f2782b71331737680a499aa759824d11acf1a001f9a5865b6568ed8a1f4f4cc38f74c24e231965e9830232924526baa377b2ee933a1fc4677ee74fd98a0881628315aa95085c7415a1a51a98406fa345a69802ba71cfc885816ea30fadea0232b13eafbc24b84347124bb41f8c663506665ce4c3801b09933c19675c1f9ce54c418207b69215c91b10451730de65a4aab6c97804ad33c50233f83599133510bb334d9c1f4b7970087700ef45500ccb31b7933fe74a346aea4c9bd409bc5a186f00bdca67cfa8d041dfeaa56547a71c35cef1b664629ac9d4f431cfccaf62a781a4bbb2adca7a7914627da380873977e6e1a11fec0938a3a886e9b328a8a539557f6c700285693266742f779bbe2e7a0603060673c7be9591be19a57a0cac91cd1c61860a86356b90715886acac2306190cff686883a61e56140f64ba76123c1b07614ff5c8a4b402cdba738ab68b749c1151da62c30dfaa3bf826d4848c4910c9ea20669735cca4df583e0c5412b610bce816fd17ab9c203a7ea42081901c8cd78940f090efb49718ac90ad6a101093580c13b5ffa0ac0d7b094d913a9ddfab03f835f79173e966746c69a0228d06a2c363e94522ec68312cd312eccdc688c4a88f6a5b7c3464cb7ec842fc1377359a162032c8c504105461936714f451481d8a4942d1715b6a65583999b96b0c47a914f2f721f5ec6315c91b009e714f6518bfdc75e828256f25740c91e7efd93a5d7db1850127df85b8f086dfc57f1f62a86d6ee7e45aff3f27bc1db315cafbaec2f8a0142f45affff65289e826c9244ab1cb03f9f65df3e3cbcf7f0c083ae8cff7a4bd779d4385e111ed4583fe00d30e651f171d7e8a90eec0db5 +m = 075246aeb644ca0c05b7d6e50083363d4f89291711d8412f0131cb1bdd2c70f2 +ct = 8856146cc12fd54e5e21ab6c5d6961810d5b74f2d491dbe4d46e069ddf6383652bb9ef2955c32032392dd42f344ed15c750df8493c8eaee281915b9b3ad4dacb19ff4e417e8c93b2dbe6527d5673168a15d3f0989496dbbeec1ced40f7118ca6a7b8789a57528ea426eee8ef9badf06bebd56431871ae9ed848d3c86157b6a9054552e5cfe452ad0531f86a78caff934d9148059f76b86b0e8741ec1916d81d24301c0a3f77d145e68870e53c77d0599aabdacf7f0a5574c6ce98430cc156d2e5b06193800a0ff55f7e3eb8ff3b5408eb764c6c578a42e36bf1fd4409ed23b95f03c56a0e4f423cdd1c3a1dba430c892840d6e068e4e71b93f9bf3eb177d3eeb6a7c3d69017d4222a315cad8baba0efc35af9b2259f1b8436edd0e47ecb09d919529dfdf5e0d664e9db4dce8a3563596bfee87eb68bbd8b506f23f8282a51a2a7ec9da0fdd2340afda5202796fe0efae87bab9a33486caa693e1d5efcab17a14816688eae313c01ec3849048a90157e5515d70b74c055a4af307d5a34b17719eef941b80d4ef15a9cffd5a93d79ffb7d4c87003d979ebad5b28ee1e8b673772c87b8a441c72e41548bd62febba01d02df30367d20a599ae8b8140da4f1ee35744c4c591013f7dff675a2552bdb4621e322d0df9fe8c4fc7d4b52314a89851c62585ca2ecc813bef5afd8027540dcc422420b121d71557cd40ca3cc8b540eafd9bc40007846095c4c909b620cd9c3201229a31d855ceffe7c8b80608a8ac1c6cdfd3d7344b21bb117bc00f8b2db04d7e7e57da27d60e6f2080e5f97ee9cf70f7a01a1ebe50cb25299524b001b947080ed26e232f2142623fdc97baf3c7266c0af57f385fbab0d6353a82b0c588477e78aa4af1b817a35bd448ba4c29581176c27ec5a12543eea03eb57726b8c7c0cf01baabbb9d81d5a8067c4e39b8edf3dd43d18096c4651fb1e85bbd6b20a65f877c4999429a30bae80096391d8adb92040864079e8df9fd54a1f6d9710371b3d27648c29f93c9fdf1c19dbfb611f3605e0baefcc1874991389049393387128f5fe50564a24201e024e95647d5aee7e7e351fe01f3563349493f3889bc54b29f531914545c8d785545ea09151a12e0c873e9546dcdd7aa78f37f32fb72ac5ee01c1814197ac0042523eac3f672076dadb7a8c872d078d7c76c7b16e08ff54f8982ff49ada8c84cf90e94521f6f00201462151913a15929005da8286e2f8fee69c3ad1b841c8fc9bcc9544c5df5608e69f980ff0772db6532fe276aa7d24010b27bb58134959b03708a83aba7c22415be3bad9d0cb45f0d8fcce42f58d64508a11a8275dc7289bba124ee0c0416016bc22214936adc68e35b2dd9ba6939119abfa9f140f46c14ebbed91d33f4e83a21beb9d14e60dd87b3070efae54782d70946a6bb8ecc6b31b1884dcda7e8e0428c73780ad259e07bf5523f99630ecd51b05ba3c058e9de2f24c47f06a01537e59c3228111daebe4a3328f56e70a0ef47079d8c9c1303d9ef325e87517dd7f1e0aab5f5d6f +ss = 1fd88ac828c344a627cf29883bd07a328d1d7cce9c821c7c14704abf998776e7 d = 9d405d3ebdaf35fa8722de431b669722acaaea2fd10b814310b17f78b66147d1 -z = 6ceb14f7662be0c42779459f69a145c0e2ce9f0bd9a0cd1bf32ed5694cc9ae32 +z = b46f84f01fefc519e118affc4a7a1560f1f8add6de72615229b997b2cad6393c pk = 690b34b6586039100e84215eddb39ad2d40ba9f80165623122a2c5faf3437ab0376894ce67397d32a67c3bfb9761850c1c68ad988348725c83a378143d504400f995157903b9d04ee43404ab2cc7c35b8e0e09cce4559945f5640450703f81c35ed332746162f7b8328f78bfc3359e7c1b4fcf06155fc745c70245ffec09eca957c8475c62b05bfff288a5e5a5c78206e48c3ef373658859c3d9636786980578c07b764641d6a87222224557d10436fc72b563883ecb0934e50b6ec89429d7792ec0bfcda416fc2ac323a58df3fbcdb6e023140478868055251b1c09fa023e240e109869c1d2967f598a529042d9859f97cca2e85a635418707b3aa1835b77df93ae4dc53f228083de6a04bdf58655c59bf57b107987b88cbc001e010b9c2458bdf138288190f955b62c7013dd5784c809a7b1a29f8c3c33f0311a555306327392ddd44ec8f72fd5893f56f58baf207f9ee98b7e31092f761c390763a8b57409c7c5c665a913e20c9b62a5e80646364aa8e3b95030fb2fb289991b8637ea57c7b324a25e0389ce979b5e816ff841456261bf042c85dad84f80d788076b7c69cabb8e389a72657d7d63949657b934a468516c36674194df1ac3f595a294c28d24c26e1b1b5af5b542e025a182868e1555442e0b0d064865ed5cc1665074e55aaad601779e591e1ed2ab07cc551437603d24ca743218fa846822b2857f871fa26834e0422746a6c7dad256bc0b4bfff21bd7309482d7669f8857543a0436140ec684c959d26f2f827a84b37534b7aa3bc0a08163689f01141b511e7d11a316d2aa7d73909e889dd000c20e38667da048278b5ee87188607b4210642f5c38866fac1549637c600c8be8c60c11aa394e8344b6c6536e687ef6dabac397abf1ca7486f6ae87d8a3dc8070b5687f7c6a73225b9233685c6b703d33677998c24e40a72894193cca1c5acbe4a133d85a6912587ad4ad522214974cbb1f877e16164683021ea9c335d41b000cf52a3ed45b2d95b7e2d061b5213db4c6bc36d76df5db9ee6984d31bcb1f6757de7e51871f1ae7f388c5134956d3286a49bba39967889c9a424772bf5dab014c94893a4c8b74ab099687919243c7633caf297b2b73ab15df419f6ec22d15a95553831be379ed0489749c495e3b6b8e190049a8065dba8933fb21ba3a751cff289a2e2772b06a4687338ca88c0eef1488b848afa1041f4f9607eb18bc0650055803041b728f2f1922cd984d228096ff29e71f097921423cb82254c40a615240a2482a3f5f095f5b399a8f9addeb6b726f43e3af64d09038cafea26686caa2ce2194cba660edbb083f92dc2a51142bbc922958c86c62ce7a4b3a4c95240d72244a912c3c193485208cddc4514495b35863cfc6cb41fa721a78080fd7ba72669ac6b29accd3b832d35ad70f7584e197d695b78c832000c1c337fc019f0aac04b2149a469420c15b2daf5281dba5dc3618e0135c043f139cc74b14e7451fc11328f06b73f124766403541131d94506628c30b7ba68564179faed9c9d2a20f3b61793a33a65e92b699a47fde974eecbace22690273a757da903a886778002d283a819cb1ea2d34b8462dcab57c85653e363629d9270738434ab1bb46bb71890031ffecaf8fc027d2dfa2a4ad271dd702f055836f40ca137e5d0ef9 -sk = 2220bfa6a447db5013ed5811b45742b6e95c723a35851518e04b1b619c5607944c341a1aca4c0eb297bfe3990d514aba3de30867d646cd76a1ec1176f1e84ee60704b0e04366e27ed0f321bbf42322f5289f5167435b880851b48de717e40a1b56387d4705815701bc2b80c55f33b3c20244e0e27ffcf43c457a3674000a4404b4157cbefa05c54f50021684059939a3aa088dbba13be56047df450afe33c8742abb0cf48e0b1c24e8719eece41ec4a3254836b4e45b4eebbb43d398a813bccc0c42cc4e437050740c892b657765b252943896325e3f4c45887452847aa315ba8c811b39254a5c3ee64f65823fcf2a92e3198d2981289e021530aa4cbd210fabf51094392e25e755d778a02ca145fff47165711ab9397a0f9b3def26bd0e5143c23a815c8582976521d63bc74d8b42b95280cdc77de3528628862f44d475f49ac204c87d2647414a4a136a094b7fb923bfd3496b187592e81b8168bdffd9522f60bc37052fc579cb3f7a398dd677ba14a3fca1248057a59a58531b7a1f1773735a27612520b03121390cf624d46927cec7c7d00ab13dc2ba6445236bc68642ec9659d7bba40aa692c40794bc4bf5f13fbb617e711a54bd825329ac6a9af2a88a54a600c0cd6754b4a3accadb397cabf2af41463c00512d6d206d011baf6d833e4abb8dfbf736df8036278a8125389c3b99940881760ac150967464483242dd52358a075271fb82d949af57f345e5dc46845a94a37893613a76b6e7b4d0db0edda213302677fb73c493a349704333278b201b6baa8315731a348ded27283dbaa05e057c26c35d68a5252f1715337a1543895dfa4c395f9909b7b1283b450b71730292c32dcffca05221b14849aa5f94888e2a3fd33cab3b380f8093742247ac27012e8d7a6b8702983dfba43601677679568a8051925133fbf6550dc318e387c3e3176ec9c3cad6a739c6ba5b72fa587f000ca8f06eea003cd05970652b0f3f92b8bd4aa1570b02cab21d2bd0a9937a499943ce285b32706589c11cb662461444629f5c755b4a09805dd5659127bdcf5466270a5cb6328fdd0583e701aa98d34095506284b63a6f7b39d0b31fedc43e20e4bcb39b99d82515e041627fc5402290be758a062822c26b750463141d9de8793b385f556a3a3f74bd8ab61f69304ac4082e08f2cd05e5beade17d2c87b9535a084a6b0547389d08f548030b1dda0137d170039e082c5583bc83695aff0898f7e19e54204582989556b924df35a00c518ab95cbb466b5ba0d8aef007a8294294870902e74152832365fdb79508b69e45484139b4342df8c391864b80e807b9dc8ddcd4463fd1a986986b81a62d79aa9565308ac1471f09d09a23f24e4ee5522b00265770674c61348fdb3bfdd539994b20ff22b210162961b56dba538252610fa607372db1317497b85307b61d890a62b90e4dd37246763dc6093af5f4cd0dc20081ba4ce2d6bbdc969580607022c590a1687004b0730af71c60590d1a6b2a5e51c742d2cbbaa826600055f4811287a062da1696a22808507aac327a9194c5c6d49c823557100c158e60b845af953539a855d217c5a77599b1783f7488aa85f222df73b837e4b8d1006a8fd6b5b06083690b34b6586039100e84215eddb39ad2d40ba9f80165623122a2c5faf3437ab0376894ce67397d32a67c3bfb9761850c1c68ad988348725c83a378143d504400f995157903b9d04ee43404ab2cc7c35b8e0e09cce4559945f5640450703f81c35ed332746162f7b8328f78bfc3359e7c1b4fcf06155fc745c70245ffec09eca957c8475c62b05bfff288a5e5a5c78206e48c3ef373658859c3d9636786980578c07b764641d6a87222224557d10436fc72b563883ecb0934e50b6ec89429d7792ec0bfcda416fc2ac323a58df3fbcdb6e023140478868055251b1c09fa023e240e109869c1d2967f598a529042d9859f97cca2e85a635418707b3aa1835b77df93ae4dc53f228083de6a04bdf58655c59bf57b107987b88cbc001e010b9c2458bdf138288190f955b62c7013dd5784c809a7b1a29f8c3c33f0311a555306327392ddd44ec8f72fd5893f56f58baf207f9ee98b7e31092f761c390763a8b57409c7c5c665a913e20c9b62a5e80646364aa8e3b95030fb2fb289991b8637ea57c7b324a25e0389ce979b5e816ff841456261bf042c85dad84f80d788076b7c69cabb8e389a72657d7d63949657b934a468516c36674194df1ac3f595a294c28d24c26e1b1b5af5b542e025a182868e1555442e0b0d064865ed5cc1665074e55aaad601779e591e1ed2ab07cc551437603d24ca743218fa846822b2857f871fa26834e0422746a6c7dad256bc0b4bfff21bd7309482d7669f8857543a0436140ec684c959d26f2f827a84b37534b7aa3bc0a08163689f01141b511e7d11a316d2aa7d73909e889dd000c20e38667da048278b5ee87188607b4210642f5c38866fac1549637c600c8be8c60c11aa394e8344b6c6536e687ef6dabac397abf1ca7486f6ae87d8a3dc8070b5687f7c6a73225b9233685c6b703d33677998c24e40a72894193cca1c5acbe4a133d85a6912587ad4ad522214974cbb1f877e16164683021ea9c335d41b000cf52a3ed45b2d95b7e2d061b5213db4c6bc36d76df5db9ee6984d31bcb1f6757de7e51871f1ae7f388c5134956d3286a49bba39967889c9a424772bf5dab014c94893a4c8b74ab099687919243c7633caf297b2b73ab15df419f6ec22d15a95553831be379ed0489749c495e3b6b8e190049a8065dba8933fb21ba3a751cff289a2e2772b06a4687338ca88c0eef1488b848afa1041f4f9607eb18bc0650055803041b728f2f1922cd984d228096ff29e71f097921423cb82254c40a615240a2482a3f5f095f5b399a8f9addeb6b726f43e3af64d09038cafea26686caa2ce2194cba660edbb083f92dc2a51142bbc922958c86c62ce7a4b3a4c95240d72244a912c3c193485208cddc4514495b35863cfc6cb41fa721a78080fd7ba72669ac6b29accd3b832d35ad70f7584e197d695b78c832000c1c337fc019f0aac04b2149a469420c15b2daf5281dba5dc3618e0135c043f139cc74b14e7451fc11328f06b73f124766403541131d94506628c30b7ba68564179faed9c9d2a20f3b61793a33a65e92b699a47fde974eecbace22690273a757da903a886778002d283a819cb1ea2d34b8462dcab57c85653e363629d9270738434ab1bb46bb71890031ffecaf8fc027d2dfa2a4ad271dd702f055836f40ca137e5d0ef9c8d853e65b5b118e28b7cb6f0d5d6f282e0ea20fd72f3690a6b232b20a8a55ec6ceb14f7662be0c42779459f69a145c0e2ce9f0bd9a0cd1bf32ed5694cc9ae32 -m = a7a31e140891ea37d2b6424b59b1f84f89220f32dcb73e037eb912b389d34a48 -ct = 1f5d4d55ede2dd05be7f87c0fadde30550a5d90923b7ba8e773b5ea78dd3770b9cac323d98a6e08c19bd600c830e2c2feffce4dac32376eda9248e0cbba9fa0ef6656dd0ca9b3797992c92869164efe226fed579384121c0fa2b417d5a9f1eec78ade19ad9942730593c9ad039ea26883991a02b93f7459ef9d461d5d4894ebcb31025f095f1b6bcc6153d5a998b50bec88d447a8ff33224d2ba9e9a58d2299ec6d3735096ca81244b315cfd39db3b85fc718aff5954b017724b3c6ba3f6780d87e637b0efca63c4523099016f78f2df9bfaf6b0dfac64332f1c5cfa54a646000f00196ff0686f0be1728f6407eeaada48f9e7a6946815527972c9b661a7ce051e76f3b6767dbb186ac7b923bc7284f2840f7b321873b2e46206489771533324248cadd5abed7afbccb43fe0af06f2c6d6f867b189522261a2a7f042679e8c9e15aff58ff305d6fa288b1471f46ac82f664012e1c1375da9a100ac4fcd9d093f191fdf8b12088897b2d8e9e0cc9a986a458751717feb6438de9186cca6b8d361a29d2fa7742de825ed2fde97a021087d2deba129eafaf10f370c2833c80818b26e062dd34cb9a4b23377f79c20aac87c9f93f7b7ab25f74ac0fe18f092e1bf6e43a82ed4c456682f11dd7cf5b41e94fbbaed42a1ec9432e36514214c6600b053a0c9da4f99587267755e95c3b45baab7fbc3570a2749a2533e9dcc2bfd4ac1d477d585bddbc1f44626e40a3b2678eca64316cb6b9fcf232bb26d988b3eea81e9568ba4868ff8dd72d457513552f6c25c5c5c605401922de6dc878688cc6762b3904b7ab8f06bd64f239cc5103863a7d066570235f53d4811361ac876a15770755f9834b7d49c831d97c5602bfd14b9ea2b37dfcaa87e9ff0f7eff68933c5cc9d8e5a5dbb5abf8b7b7239d384dd2c3a500ae16c50511f3b464f07a1de801ec034c3533e55fc94398deb4e9e6099eb40a75548eb34dd62201d39057d2d3af3ee71ebf3458267672da7650cccec7d34f8d53b3b63c4bec77df151483331a461c724320f4b8c14f0bd96e0b932a39d41dfdc8d256f213deb9dfa7a9c2b43fc15d807b3f4062d0c1c80fa96ebc28c0f4ada8e47750aed8089af233686e9aa2463daf738cf0e754ed0ce169a1c7b99396bf71c61c81c924066045481a88a2995d0578786cf787acc37287795ce12a14c7e128556ed72ebf3c25c60f8a4909233efac38ba1068e81ccfd3236372565985c41909cf5e40a8962569b361a026b2a5f5ad411e6afb36a536920c977db512ac027e1c240a0aa0a0176fc61334c5fdd25099164227d3d4755045ea9414d3d199a16a8c4d9e6ddb25b187928e7037e6e42f895aa598a9cc3f04b1bfd9e8122d1a6f4d8076ade9f9c33ee2b9aafc78b685fcbeb2c0b39b84c5b12d0ac4ddd3421f8d20fe77540a78816d364658b49b7161df6b87d3d7d7f4fc26fa13efe503c1a50d3ef67b9e367b4eacb81082e3a29c29e708f988d888a80fedbc9ed2b2ecd1da8378da262113fe18a9ef88b8636862d9a92542 -ss = e412f3aac1c0284d999d5a7f8344b4053d10965fcbe1638f7ef666ef29c521d2 +sk = 2220bfa6a447db5013ed5811b45742b6e95c723a35851518e04b1b619c5607944c341a1aca4c0eb297bfe3990d514aba3de30867d646cd76a1ec1176f1e84ee60704b0e04366e27ed0f321bbf42322f5289f5167435b880851b48de717e40a1b56387d4705815701bc2b80c55f33b3c20244e0e27ffcf43c457a3674000a4404b4157cbefa05c54f50021684059939a3aa088dbba13be56047df450afe33c8742abb0cf48e0b1c24e8719eece41ec4a3254836b4e45b4eebbb43d398a813bccc0c42cc4e437050740c892b657765b252943896325e3f4c45887452847aa315ba8c811b39254a5c3ee64f65823fcf2a92e3198d2981289e021530aa4cbd210fabf51094392e25e755d778a02ca145fff47165711ab9397a0f9b3def26bd0e5143c23a815c8582976521d63bc74d8b42b95280cdc77de3528628862f44d475f49ac204c87d2647414a4a136a094b7fb923bfd3496b187592e81b8168bdffd9522f60bc37052fc579cb3f7a398dd677ba14a3fca1248057a59a58531b7a1f1773735a27612520b03121390cf624d46927cec7c7d00ab13dc2ba6445236bc68642ec9659d7bba40aa692c40794bc4bf5f13fbb617e711a54bd825329ac6a9af2a88a54a600c0cd6754b4a3accadb397cabf2af41463c00512d6d206d011baf6d833e4abb8dfbf736df8036278a8125389c3b99940881760ac150967464483242dd52358a075271fb82d949af57f345e5dc46845a94a37893613a76b6e7b4d0db0edda213302677fb73c493a349704333278b201b6baa8315731a348ded27283dbaa05e057c26c35d68a5252f1715337a1543895dfa4c395f9909b7b1283b450b71730292c32dcffca05221b14849aa5f94888e2a3fd33cab3b380f8093742247ac27012e8d7a6b8702983dfba43601677679568a8051925133fbf6550dc318e387c3e3176ec9c3cad6a739c6ba5b72fa587f000ca8f06eea003cd05970652b0f3f92b8bd4aa1570b02cab21d2bd0a9937a499943ce285b32706589c11cb662461444629f5c755b4a09805dd5659127bdcf5466270a5cb6328fdd0583e701aa98d34095506284b63a6f7b39d0b31fedc43e20e4bcb39b99d82515e041627fc5402290be758a062822c26b750463141d9de8793b385f556a3a3f74bd8ab61f69304ac4082e08f2cd05e5beade17d2c87b9535a084a6b0547389d08f548030b1dda0137d170039e082c5583bc83695aff0898f7e19e54204582989556b924df35a00c518ab95cbb466b5ba0d8aef007a8294294870902e74152832365fdb79508b69e45484139b4342df8c391864b80e807b9dc8ddcd4463fd1a986986b81a62d79aa9565308ac1471f09d09a23f24e4ee5522b00265770674c61348fdb3bfdd539994b20ff22b210162961b56dba538252610fa607372db1317497b85307b61d890a62b90e4dd37246763dc6093af5f4cd0dc20081ba4ce2d6bbdc969580607022c590a1687004b0730af71c60590d1a6b2a5e51c742d2cbbaa826600055f4811287a062da1696a22808507aac327a9194c5c6d49c823557100c158e60b845af953539a855d217c5a77599b1783f7488aa85f222df73b837e4b8d1006a8fd6b5b06083690b34b6586039100e84215eddb39ad2d40ba9f80165623122a2c5faf3437ab0376894ce67397d32a67c3bfb9761850c1c68ad988348725c83a378143d504400f995157903b9d04ee43404ab2cc7c35b8e0e09cce4559945f5640450703f81c35ed332746162f7b8328f78bfc3359e7c1b4fcf06155fc745c70245ffec09eca957c8475c62b05bfff288a5e5a5c78206e48c3ef373658859c3d9636786980578c07b764641d6a87222224557d10436fc72b563883ecb0934e50b6ec89429d7792ec0bfcda416fc2ac323a58df3fbcdb6e023140478868055251b1c09fa023e240e109869c1d2967f598a529042d9859f97cca2e85a635418707b3aa1835b77df93ae4dc53f228083de6a04bdf58655c59bf57b107987b88cbc001e010b9c2458bdf138288190f955b62c7013dd5784c809a7b1a29f8c3c33f0311a555306327392ddd44ec8f72fd5893f56f58baf207f9ee98b7e31092f761c390763a8b57409c7c5c665a913e20c9b62a5e80646364aa8e3b95030fb2fb289991b8637ea57c7b324a25e0389ce979b5e816ff841456261bf042c85dad84f80d788076b7c69cabb8e389a72657d7d63949657b934a468516c36674194df1ac3f595a294c28d24c26e1b1b5af5b542e025a182868e1555442e0b0d064865ed5cc1665074e55aaad601779e591e1ed2ab07cc551437603d24ca743218fa846822b2857f871fa26834e0422746a6c7dad256bc0b4bfff21bd7309482d7669f8857543a0436140ec684c959d26f2f827a84b37534b7aa3bc0a08163689f01141b511e7d11a316d2aa7d73909e889dd000c20e38667da048278b5ee87188607b4210642f5c38866fac1549637c600c8be8c60c11aa394e8344b6c6536e687ef6dabac397abf1ca7486f6ae87d8a3dc8070b5687f7c6a73225b9233685c6b703d33677998c24e40a72894193cca1c5acbe4a133d85a6912587ad4ad522214974cbb1f877e16164683021ea9c335d41b000cf52a3ed45b2d95b7e2d061b5213db4c6bc36d76df5db9ee6984d31bcb1f6757de7e51871f1ae7f388c5134956d3286a49bba39967889c9a424772bf5dab014c94893a4c8b74ab099687919243c7633caf297b2b73ab15df419f6ec22d15a95553831be379ed0489749c495e3b6b8e190049a8065dba8933fb21ba3a751cff289a2e2772b06a4687338ca88c0eef1488b848afa1041f4f9607eb18bc0650055803041b728f2f1922cd984d228096ff29e71f097921423cb82254c40a615240a2482a3f5f095f5b399a8f9addeb6b726f43e3af64d09038cafea26686caa2ce2194cba660edbb083f92dc2a51142bbc922958c86c62ce7a4b3a4c95240d72244a912c3c193485208cddc4514495b35863cfc6cb41fa721a78080fd7ba72669ac6b29accd3b832d35ad70f7584e197d695b78c832000c1c337fc019f0aac04b2149a469420c15b2daf5281dba5dc3618e0135c043f139cc74b14e7451fc11328f06b73f124766403541131d94506628c30b7ba68564179faed9c9d2a20f3b61793a33a65e92b699a47fde974eecbace22690273a757da903a886778002d283a819cb1ea2d34b8462dcab57c85653e363629d9270738434ab1bb46bb71890031ffecaf8fc027d2dfa2a4ad271dd702f055836f40ca137e5d0ef9c8d853e65b5b118e28b7cb6f0d5d6f282e0ea20fd72f3690a6b232b20a8a55ecb46f84f01fefc519e118affc4a7a1560f1f8add6de72615229b997b2cad6393c +m = de5840c7a3b6585c81cef65c8256be98fde71f70f5f5f17ef8008e64849cb02b +ct = 2d3569abdbec0a456be87fc227e396666759c5c965bfc2cad4450039e0dee617fa6864950a25c07b7b22d64aaee0322808c196af27d942db05680b634fc8d4f39db50c025a1f504f78f5eff83717ff2296d945aa55f202dd370723f854d5392ff968dbce24069c90fae3daf1de25e8a61d31ae1e8914e740199287f89085a844d8d571f4f4c4c128cac8a566f713f8ce555046d4708ea3187eec4b1da6c1636e1548fd53bc685d8562b01a1ca4bcb9a7d1d9627f2e0ecff24ea445e8e878160a5e4e604cc14c50da9d7a010d7ec7b5d8c3fb8951c38e30d9edb6c0a97346f2c0d9eec3a34298278138c95dd7d6bd6658f9274464ea2d4bf1ac497597b5472a7b5f246b01d18e6fe3ebb1e2d205316e893d3a229228742280e513bc658ca8d6418863829faf47153ee8ef9e459e6d1ddc5fe27b1cce52874410de38b62667b4aceeb16ea953102615528b6b3f2d3a7c19a63433cd6467ae334ff5a7cd1df4137cbf3f548ae3379ea8da103cb539c63c164b9ceee91c9c45b4d5c8ac949a894d48c0ad8d8cd217cfc0cf8aebb8e95bd4bb735dd164618bc2152d021467634553587e54a62179fd9a2d8b87be565b1a6dd4640c2f3e4b10520af2e66addc5aa4bd51826eaae63436e0e90d9a8eb7b274da6e7f63a923c7155efc35648cbf61eafa9d9e87729ddf3b55b921d9720e25f94ee71a531d2043e206ea750115bd83ad98c131838e728a05b9797575443aa26a80fca153558efdfabe08c937040401f88d1cac10c7c32ae19abe745bce1389016484287ead70f67cd895b1beec0242918d019abf147928264ff4129759045118f79729100a58714ae29f398d770a0e3da7196b3b77eb142d9513b27233406b5aefac843633848a65a726e6c5ef60d41d146d55291ee2874654602e0356e443c9ea97920264e98aea66cb569198eabec1c55c88289729d76790504e453cf954fb9b70ea3e66723e5ba46fc7a50d77b5e3a042c118f51353a0f806e303650f2213a315cc219b760e1bcf61cc5c7a428d768f870c188a730fb594e608e9232150e334f3425bd324cd92470fb6049d2bf96a9179293510df882758439ef7f3b1f22ea805d7a820d12c6862cbc3a7756670fa069c163adfd270d4d6cbc640c5f650f8bc03952f5a2bcf5d4517acb2a977dbc415d679c614c401f8308b0a7f0dd2a7be3e0f7bc25320741b2b05c3f8039c2a14ff1dc2989509459a311031d70d2bc58772768b6f6f142d6a792c8028b69976145500d9de9300ecaf11b7224b1c9c98feda4fe4eb36009524a27a93c6cda9a30fe27918a59ae407b98910fef1177d42dc5c9b82bb0278de1e1620ba754e159c5a1cc524db4b75418c54bfde7dabd22e51e75d31e284f20d3b0daf221cd263e670d952a1f21cd16912d8c21fe83a86313935fdee0ae72e9214db00f5acbe3d464804d61086a70d84dd7dbb2aa39f479719e702c26cddb6ad6daea8331822801ba03e394d92805fe7d6d459d1143d7213cc73f06fd0f2d30abad7caf281cbffa936de7 +ss = 827c23d58e079cedaa9ca13591550bd2a9121140b6d4ae662287066b6e443d1e d = 9a86490f0615f3edf789cb0654066e9ee339cc59f968281f3b89213f83c692ed -z = faeb2ef44d2f608621e831187ce79b2d2f4a20f1568bbe76b0d3d5af36111714 +z = 1056461570b29e27126962068b2d07eb33db448a2938785e6fb3e02675a6ec67 pk = 44bb530c48419abc7578b33d6db56c76179e9da3808ba4c8d7c227ba5c64afd5c87e01c1ad12a294758f45804719dc7369950e9e6398bfcb60a7819585a689462346aa5968dfa83bbb3b8a51bb59311c9d100a4a0c7586056201ffc3cbd92c3a42d6851ec064a89227b4d1551ca7af6b5b3e892b4e44571669412e4240a08c42551dcc50086389f9e0c0290956b5ac58844a84be308d0a5562b57b5cbc594ceae87910a13167f27ce63b822f201af5e9c33bca746ba7c5e8541fff17324228321c7a0ec976646a6b5615f80fb56351d319b31960aa8823426682a610652652994d4a78c25659b533f5b40e6236a6e704cd891502e9c2d1858ca64c94d3734ac0bbcab2db2f9e03450e721a38c82a4c26a487f006e1966fbf8063ab115e74f441837506559ba5b7266f62b17e4d959209b657193689a0354149880d08434fbc282713118d9daa89c52186ea918ce2c170d8380e45a32e9f710cd6f89daf91c9210b767d743f61655a9702051d7c8a46f17a681b136c0863cb62430d084d282099d1636c04d6b1ec212a74046d2d8108470123dd751db685a1a1fb3a3b2c216f51302fa13ad73b919a439d424a4ad9e12994d1963b3c0e0316739ce50a1a7c23d65acea61423a5792321a84ad2e1b3f5b595f11637eaca77fc753260e04cec9ccf55d70d4d567bb78749efd005c9525f6e921f0630c25cb9a129781b9b864b7556272d5b4164e340d9464bf192979a073384f6a5e52aa0b6b74d43faa5412c5914524974161afcd91660705659dca87ba482d67c8c1400b069e66a19905b331243701ac8261952c5b736b25290235669fbdcc254631294fa2e97c440d97a0211c35c2ff4b6009aa66e27cc09bc09307c7b3794a5d189892ea60b2b323e95057ff355114ab48613e2760e00baeb82b0a763067e216aab899e7ca06e195a5e92486ce8911bfd5c7d956318ac3b029436a9d88c56aae2a3dc7b382f2c5e7265a037a827761447fc59a40a3c8693bc996ca786fa7ac1bbcc6aa404a1bfdb3d227c6abe42cfc463c2f1542ae418cf4b38cc2c1595f9343d41b4a1967c7c94a7a0ae91cec8235705805af096cbefd0cad6dc0bb5130907d64e76e4be957a117d121d66071598112ea7d02b9648cf53e57af9e7cc3c9803aab327d87c53e41cb9bbc42368d332e0a963c3385c18936ad7483a5f4292b625c844c2282f25af0c86984ddc09371ab555d57de146664faab59dfa514f8bb8d397a987bbc8dbe147efc2a34daaa712baa1e36c9c5113a7f47ba8c4a83db2dc79ae93688af7c480dc8adf0b12d7f5453e669be2d805dd6961454ba8b40c6efa961e53da19eea2243c998b504c8ab9eaa2db11b2f9b591990040954a1567074e69154ad6e618d0830d3b554fe4c99f48b51cf6609952cc9693acab000c335b98126b4b45a9f317f80a6049558fe9d855a026aefdc649d295387c530e075ccb32aaa202171c6f6907a4a2202a9c5fcf252d98328f12f927e31c596047140af9b177e0352b120954d00529a07d6b2bce5026a6d7cba01231a85ba39b1692694788c9215b69fcd111fdc8934a1ba24cc7890eb479aef01ff29161b0a7ad921bb72a8b495ffa74c62c880bf03f0bc175eb865a17ecb56e0aea501bef8e12d3025185ba4cf8edd1b0f297471d58c26516 -sk = 7934a9fabc835bf9a77bb807332251daa00876e5500d2c59f07485ed01bc934911a336acde5527dd166476ca1d1aa558cd88cd7bd17ce1791958e851991867c0525c9472a953c8b04a730e2e132c6c26811cb86f3234229f4caa2aeacd2e3c840e97b8f1805b94d7317b08354bcab64887a4e6a98ffd90a7544562ceabbcce6489c6e8534119c9589c405d7a96de3230094a459549b6f37078f2c01fc9080f049464b0a969eb742419147c8b39b8065a769d400a17bb25de51a699b69d54ba460d33ac6a6965916829b7a578d0b24bff786cef9963bf961adcc20f9a0cb1c159865a344a0e36879c67852df50aca08a46e72a4a70c027ce283de5bcb219808f2635bd7540915c5485ab70358cb017882b12acb4426b22b02605873f2bd0da59a658075136cbe15418cca0a11386aad43a52e3c5ac97f36bc7f648808c260643c325cf456e6166eeec74ee8476ad62c73d7d334ac279d84b66b6c8aac217a813dbb3dc6007317a165e6a1657d0277c1e683beccc956d973c7624e959724ff9275c1aa2bb5aca75159721b8c6d7b299c7acb4704c654335982e83ab3724ccab3709d20601c2a943d5bfbb3d384a7e83a7793905301b1704cf49992077b19f0204f3394717c9ab9a173113004fd325edb797a30155d0d2a1e4984644f245f5b495b56a98fdc487b29b4a5c6dc4e3047a8da2c9325f1705613705628458bd525fb333087cb4b967a61a994cbefc504d18c1b8a62898af32bc454a57e264722897d5dc71e32c2495ca857e1a234ae61c77083ba9b780342d7cfdff8b7ec1257b79cad017113a3238510c5683c3a8c396986ed392b0122c16e34a7249691ea7a931c44087fa1731746c1f3855bc72414fe3484d85b5e2586b6231b4bcf27831ea7b57070a815795f43e90b2112b235f5959ea253db76192bcb11d4e16399d40c5dc0a15d98c3b3b0289f07839f7738aba3281d45aa0a9ca1d349a64e79246c2c7770227f1e1cc74db8ab7ea7b0e60a9dc0e45443b30ca656cd6a8897ab105bda51b02179936f04374554a52992710f2a70972479462a2859736c2fe4359a474939ac3531b2905f90bc38860b5615abfb1a1327814c01048bb93c9725c7c3b0547921975766a97e29d529e4d8a090c36820db0fec33277cc679cd4a51f7ca05f204bff20acf63ec403ac7ccab951a8ec166c545abfce8734833274f724e77e68137967da75515e3c270ce79838839721bf3a14c952085071d6b3a555ce62d96e7736a583f44f726aeb921caa340d4bb788d63645deb2621629dff8a2c51d23bfee95caa7756f1884a0cd263039c37f7415e83d4908507c1b17a7308cb329d829c86953422b8b2f1786a4b86b980751255339258572a02ab22ad845632f859eac223e1245ac3533d359246316a3cc1ac58b4e6386592859547171ce05dd7a76bf8e93901eb7f40114175ac45e0b35109ac57be844c52d31a7ba60a24f30ef0e45581242c02e020ec86af106836b3dba8071bb8e8574fdf208100982e55f4b0dca72521440a2aea68c57b2039d14b21a56274972eccac7eed41c4b26cbe2c973507f1cdf4e618077406ccd3c8c5118545178351522485730b1a1ca7971b01766b914e835244bb530c48419abc7578b33d6db56c76179e9da3808ba4c8d7c227ba5c64afd5c87e01c1ad12a294758f45804719dc7369950e9e6398bfcb60a7819585a689462346aa5968dfa83bbb3b8a51bb59311c9d100a4a0c7586056201ffc3cbd92c3a42d6851ec064a89227b4d1551ca7af6b5b3e892b4e44571669412e4240a08c42551dcc50086389f9e0c0290956b5ac58844a84be308d0a5562b57b5cbc594ceae87910a13167f27ce63b822f201af5e9c33bca746ba7c5e8541fff17324228321c7a0ec976646a6b5615f80fb56351d319b31960aa8823426682a610652652994d4a78c25659b533f5b40e6236a6e704cd891502e9c2d1858ca64c94d3734ac0bbcab2db2f9e03450e721a38c82a4c26a487f006e1966fbf8063ab115e74f441837506559ba5b7266f62b17e4d959209b657193689a0354149880d08434fbc282713118d9daa89c52186ea918ce2c170d8380e45a32e9f710cd6f89daf91c9210b767d743f61655a9702051d7c8a46f17a681b136c0863cb62430d084d282099d1636c04d6b1ec212a74046d2d8108470123dd751db685a1a1fb3a3b2c216f51302fa13ad73b919a439d424a4ad9e12994d1963b3c0e0316739ce50a1a7c23d65acea61423a5792321a84ad2e1b3f5b595f11637eaca77fc753260e04cec9ccf55d70d4d567bb78749efd005c9525f6e921f0630c25cb9a129781b9b864b7556272d5b4164e340d9464bf192979a073384f6a5e52aa0b6b74d43faa5412c5914524974161afcd91660705659dca87ba482d67c8c1400b069e66a19905b331243701ac8261952c5b736b25290235669fbdcc254631294fa2e97c440d97a0211c35c2ff4b6009aa66e27cc09bc09307c7b3794a5d189892ea60b2b323e95057ff355114ab48613e2760e00baeb82b0a763067e216aab899e7ca06e195a5e92486ce8911bfd5c7d956318ac3b029436a9d88c56aae2a3dc7b382f2c5e7265a037a827761447fc59a40a3c8693bc996ca786fa7ac1bbcc6aa404a1bfdb3d227c6abe42cfc463c2f1542ae418cf4b38cc2c1595f9343d41b4a1967c7c94a7a0ae91cec8235705805af096cbefd0cad6dc0bb5130907d64e76e4be957a117d121d66071598112ea7d02b9648cf53e57af9e7cc3c9803aab327d87c53e41cb9bbc42368d332e0a963c3385c18936ad7483a5f4292b625c844c2282f25af0c86984ddc09371ab555d57de146664faab59dfa514f8bb8d397a987bbc8dbe147efc2a34daaa712baa1e36c9c5113a7f47ba8c4a83db2dc79ae93688af7c480dc8adf0b12d7f5453e669be2d805dd6961454ba8b40c6efa961e53da19eea2243c998b504c8ab9eaa2db11b2f9b591990040954a1567074e69154ad6e618d0830d3b554fe4c99f48b51cf6609952cc9693acab000c335b98126b4b45a9f317f80a6049558fe9d855a026aefdc649d295387c530e075ccb32aaa202171c6f6907a4a2202a9c5fcf252d98328f12f927e31c596047140af9b177e0352b120954d00529a07d6b2bce5026a6d7cba01231a85ba39b1692694788c9215b69fcd111fdc8934a1ba24cc7890eb479aef01ff29161b0a7ad921bb72a8b495ffa74c62c880bf03f0bc175eb865a17ecb56e0aea501bef8e12d3025185ba4cf8edd1b0f297471d58c26516f69bd52cb1d071f1cc7720f949d44f66f40c917eb30f3a4b0eb519ecad2d03dcfaeb2ef44d2f608621e831187ce79b2d2f4a20f1568bbe76b0d3d5af36111714 -m = 70eb3f791faa91f1f982fa477dbcddeb2c55691c07f93b04cd31b37544c94b42 -ct = 55b89334dd971c479417d6d70baa960e1bdf4adf3da2d9d2ab18113f740e0558502f016b99254163b21199e2bdffc897fb3b1022b53b9bfa61c200c0f071bb74507bd0becb61ea9e4d9f860d376f3d9d23d3eea50fe0be1ce6c40b27323c17ee5e9a9dda5bdea6021070927a035d822b44a6d457bc9227e162cb2c27ce543bc19a9b3437613c037ae5103b5082f7ba35edae372fa5965d00ef8e6caf2e856b4f0f57995512328203d9524ba18e1912eeea55db3e1ca0b8f0ad957e04d009e71ced4f0767bca4cc3673c33bb0a06ad8c0536ea5b6dd0c093339a0324623f5d4c007f23f0562d505b2737f9482d41b2c293d31b2e9bc5ec86fa8a140e2d1feae33fa5e7636c94783f61cb0068cb7ac71dbd06fe2bb6a58010a391b1dedbebd34093f6f8dfb6977b1b709c895bd0f2a8d8a39aa9dc3cfc8e8d522bb9edb8555f06cc418e68f4bfe6e449b069573ae3506d8d8e8167f0b25afcd48f018e03762aa85b2474c6aee304acf649eed0e9688d6c62abd8638590c74e0359881cd0ed9204777955b6135de3a777074be90669dcb9400ac25d55e022a9362224bfb9a830e237113ed56b89898957854161ef6771e58b6a1a7947a381216ce20a97451555d3d2cb902e69bc762651412ef5852c823b1a8dc477426db5a9dba4818b76b40e59c8267cc26cb28e2e050502d8506e9511ff57a5a732082170fb25907b272136485d4eb8f2767332e1156b4c7a54f567957cbf0530f7293f61736f44a31fa94b1b6ebf7d79e2a87493c2b5ffdf03deade92c1983df596e16439b6b0dec17cd95d600748ee2074a219e43f06ff7b93124daeb91a2ece0d684559d8a820b4fb35c1b647065efc0c98ef4a38de1927c499178f4de44f74f1849d057ff153571d5ade12845e0c61e35171db6c63ebcd9c8269458a3a1c5cb26c20efb664e79306c841dccd240a2ecc86f69c00fac5332cfa28d874847e1a8a3ab531324bf13377d7ace16df5b960b1ebea092a40f5e1b09ba3bf56807ff9037a1ba0c903a7a1be491d7b27a78a10feb3a3030280766ec0a75fae99bd4cf2ca5be940d45064b0215628c09e4d6ffcfcf7b1b69b1c05a82838ff64c414e66fe6f2816ddcb90887ea23a9f0de07f7509f005800e2202c63c1b241dd470b48ac484786aea204aab301b15f0b647a5776491a7857af5de8ee4d77e6b84c1697663a72f28934f5ed40ee72419e7700e18de42c0365ba0d5f55fd644a874ed0c047d198d379aac2d60b233a3d8f97f336a7685371dcd1849996157fd921dc42d2a63755b82f4b776912c27837e2ac17c24485e08f7bac7febe512ff7a92f8abfb262bd53f887d54e77861ecac9e14d68e27e211ec53dff507295a0d82b58e2e8e00ce698fb0199d5d7f9f200d876090613d6adc34a08ed46b55303917373464e5c7da621e73738daa1d3ce09da22b98b48ecf37f8a0d4a44a3e8b086b2f7fa078cc5714f3cd296508daaebdbfa565d3ed8010816f4de58fb4b25da0a25161a91a38cc42287debbf8c30f28b288c -ss = 4f9de6e4cbd9948d2de9250654d5db97ffe24cf222f68ba51d6261f02f4dc5e7 +sk = 7934a9fabc835bf9a77bb807332251daa00876e5500d2c59f07485ed01bc934911a336acde5527dd166476ca1d1aa558cd88cd7bd17ce1791958e851991867c0525c9472a953c8b04a730e2e132c6c26811cb86f3234229f4caa2aeacd2e3c840e97b8f1805b94d7317b08354bcab64887a4e6a98ffd90a7544562ceabbcce6489c6e8534119c9589c405d7a96de3230094a459549b6f37078f2c01fc9080f049464b0a969eb742419147c8b39b8065a769d400a17bb25de51a699b69d54ba460d33ac6a6965916829b7a578d0b24bff786cef9963bf961adcc20f9a0cb1c159865a344a0e36879c67852df50aca08a46e72a4a70c027ce283de5bcb219808f2635bd7540915c5485ab70358cb017882b12acb4426b22b02605873f2bd0da59a658075136cbe15418cca0a11386aad43a52e3c5ac97f36bc7f648808c260643c325cf456e6166eeec74ee8476ad62c73d7d334ac279d84b66b6c8aac217a813dbb3dc6007317a165e6a1657d0277c1e683beccc956d973c7624e959724ff9275c1aa2bb5aca75159721b8c6d7b299c7acb4704c654335982e83ab3724ccab3709d20601c2a943d5bfbb3d384a7e83a7793905301b1704cf49992077b19f0204f3394717c9ab9a173113004fd325edb797a30155d0d2a1e4984644f245f5b495b56a98fdc487b29b4a5c6dc4e3047a8da2c9325f1705613705628458bd525fb333087cb4b967a61a994cbefc504d18c1b8a62898af32bc454a57e264722897d5dc71e32c2495ca857e1a234ae61c77083ba9b780342d7cfdff8b7ec1257b79cad017113a3238510c5683c3a8c396986ed392b0122c16e34a7249691ea7a931c44087fa1731746c1f3855bc72414fe3484d85b5e2586b6231b4bcf27831ea7b57070a815795f43e90b2112b235f5959ea253db76192bcb11d4e16399d40c5dc0a15d98c3b3b0289f07839f7738aba3281d45aa0a9ca1d349a64e79246c2c7770227f1e1cc74db8ab7ea7b0e60a9dc0e45443b30ca656cd6a8897ab105bda51b02179936f04374554a52992710f2a70972479462a2859736c2fe4359a474939ac3531b2905f90bc38860b5615abfb1a1327814c01048bb93c9725c7c3b0547921975766a97e29d529e4d8a090c36820db0fec33277cc679cd4a51f7ca05f204bff20acf63ec403ac7ccab951a8ec166c545abfce8734833274f724e77e68137967da75515e3c270ce79838839721bf3a14c952085071d6b3a555ce62d96e7736a583f44f726aeb921caa340d4bb788d63645deb2621629dff8a2c51d23bfee95caa7756f1884a0cd263039c37f7415e83d4908507c1b17a7308cb329d829c86953422b8b2f1786a4b86b980751255339258572a02ab22ad845632f859eac223e1245ac3533d359246316a3cc1ac58b4e6386592859547171ce05dd7a76bf8e93901eb7f40114175ac45e0b35109ac57be844c52d31a7ba60a24f30ef0e45581242c02e020ec86af106836b3dba8071bb8e8574fdf208100982e55f4b0dca72521440a2aea68c57b2039d14b21a56274972eccac7eed41c4b26cbe2c973507f1cdf4e618077406ccd3c8c5118545178351522485730b1a1ca7971b01766b914e835244bb530c48419abc7578b33d6db56c76179e9da3808ba4c8d7c227ba5c64afd5c87e01c1ad12a294758f45804719dc7369950e9e6398bfcb60a7819585a689462346aa5968dfa83bbb3b8a51bb59311c9d100a4a0c7586056201ffc3cbd92c3a42d6851ec064a89227b4d1551ca7af6b5b3e892b4e44571669412e4240a08c42551dcc50086389f9e0c0290956b5ac58844a84be308d0a5562b57b5cbc594ceae87910a13167f27ce63b822f201af5e9c33bca746ba7c5e8541fff17324228321c7a0ec976646a6b5615f80fb56351d319b31960aa8823426682a610652652994d4a78c25659b533f5b40e6236a6e704cd891502e9c2d1858ca64c94d3734ac0bbcab2db2f9e03450e721a38c82a4c26a487f006e1966fbf8063ab115e74f441837506559ba5b7266f62b17e4d959209b657193689a0354149880d08434fbc282713118d9daa89c52186ea918ce2c170d8380e45a32e9f710cd6f89daf91c9210b767d743f61655a9702051d7c8a46f17a681b136c0863cb62430d084d282099d1636c04d6b1ec212a74046d2d8108470123dd751db685a1a1fb3a3b2c216f51302fa13ad73b919a439d424a4ad9e12994d1963b3c0e0316739ce50a1a7c23d65acea61423a5792321a84ad2e1b3f5b595f11637eaca77fc753260e04cec9ccf55d70d4d567bb78749efd005c9525f6e921f0630c25cb9a129781b9b864b7556272d5b4164e340d9464bf192979a073384f6a5e52aa0b6b74d43faa5412c5914524974161afcd91660705659dca87ba482d67c8c1400b069e66a19905b331243701ac8261952c5b736b25290235669fbdcc254631294fa2e97c440d97a0211c35c2ff4b6009aa66e27cc09bc09307c7b3794a5d189892ea60b2b323e95057ff355114ab48613e2760e00baeb82b0a763067e216aab899e7ca06e195a5e92486ce8911bfd5c7d956318ac3b029436a9d88c56aae2a3dc7b382f2c5e7265a037a827761447fc59a40a3c8693bc996ca786fa7ac1bbcc6aa404a1bfdb3d227c6abe42cfc463c2f1542ae418cf4b38cc2c1595f9343d41b4a1967c7c94a7a0ae91cec8235705805af096cbefd0cad6dc0bb5130907d64e76e4be957a117d121d66071598112ea7d02b9648cf53e57af9e7cc3c9803aab327d87c53e41cb9bbc42368d332e0a963c3385c18936ad7483a5f4292b625c844c2282f25af0c86984ddc09371ab555d57de146664faab59dfa514f8bb8d397a987bbc8dbe147efc2a34daaa712baa1e36c9c5113a7f47ba8c4a83db2dc79ae93688af7c480dc8adf0b12d7f5453e669be2d805dd6961454ba8b40c6efa961e53da19eea2243c998b504c8ab9eaa2db11b2f9b591990040954a1567074e69154ad6e618d0830d3b554fe4c99f48b51cf6609952cc9693acab000c335b98126b4b45a9f317f80a6049558fe9d855a026aefdc649d295387c530e075ccb32aaa202171c6f6907a4a2202a9c5fcf252d98328f12f927e31c596047140af9b177e0352b120954d00529a07d6b2bce5026a6d7cba01231a85ba39b1692694788c9215b69fcd111fdc8934a1ba24cc7890eb479aef01ff29161b0a7ad921bb72a8b495ffa74c62c880bf03f0bc175eb865a17ecb56e0aea501bef8e12d3025185ba4cf8edd1b0f297471d58c26516f69bd52cb1d071f1cc7720f949d44f66f40c917eb30f3a4b0eb519ecad2d03dc1056461570b29e27126962068b2d07eb33db448a2938785e6fb3e02675a6ec67 +m = d45fb8527103ed4a9a88e77edd89261b4e0d74b9b3a3f81016f534edb12f3d36 +ct = c9ece74c33484ec099e8d7360dd9bc375637999957068289073fc71c4a4fb301e31cdac360aedbe543b5be26aff8fd1b8178109785ace23bb2e6cfc582e2d69c142d7393e83a8cd4ba73e9f747ba39fcc55342b756fa3f71fb208598aebdefc62b6ee6fd7893ace34cfa639ae02c285fedb61d19898acf8c14011fb2938e0ea6fc5156606685f56459199c804ae9b2fc1671eba738097caaaec3b9e7215b522da600c23591da170c6e22ac4ce1a88fc99ffa7a484f35ab2e00a6cd18c0910be13a37984634c9b761e309365dd013e335a3a7e5991e3ac237a83f40ab04509c3362b9718825453e2748bcf4d66b4c79006b3ac6d233aa72f4f9b05ad92d886c566266ae35a04a47df6bf805de5f06b39253ebd8a3d9f5c779efc2dba29fe051eb9e6f675817bfb195c4a378d3f179450df2ebc2b6703edf81979528507e31e578102e60f58d01c449f3c5d49b546de94e5c9ea6b2bddacb80872143184a8d23487c11a610863fb2f4716672706d1ee0b8d73357ffccf71c1f2e4c220457e9959ee9684c567e4a77c7a39f019f9608a7ac352af987ea1443618e80d3ed05e663d52813de7c883d1c723b2589706c4a9611c26e4fbe4b0fe80b3569827596096309bcc5892ecddc69799d7243dbe650a3c0fbfaa81d76592fe7451485ca85144b3a83fc0f6045649f92fb700dcceb2d09e20aaa88b44159839c5afc28b60e130c4be988b5e9062f29267561ce3fb7f8b06271510b2ebdaf209a671fffa0bcb5b4fd5d51e0d4df76516d4a2e95eaa2af7420f50bacfba306051136f879ac9b482114adabeac62ee8f9096075e184641366c40b2b8f24dfe1f8bf68b5c04f9be5ee87fffab1c2f507c913896d870a374f3bee4a59e0e2a3e391553b3aeed9e901cfd90dc8dfdb8d5a6f431698d4ec36794a096d9a9d1f3e723119a2a7e6c7e72b7450cd4881901020c06ee407b0068e9718cf831ebecd34ee75026af467ca2b73801a45770c1a9976472c14f8b92e14520946b7f6745f82a0fbd8539711217f666ba3fd90c30558f9884e09e015203677a5ff437ac457d43d39d463e3fc4dfb59015c450fbb1586e2d9aab76c5bd43042c85fabbd37039fe1a5972aabce2b8f1978334a4951e1230e8cc5d94f0a1a1a33275e7ec8dfa5c4d174398b165d835dcc1105c8b7c69ba6d48568e0ca7842727283992455613ddae2885d94db5959a7e15646c320c42b06fcb7c1fc8bac8b8538990a6a571a8097b7a1502a1dbcc7881adf0f21f49b02ad67c5e306ef2609bee261441139af73b00e7a2061241f0fa2c64370389777ab60fea8b04cd74f7c9e5396852bb9e9fcfda45ad180c68b508830ee8a261e05f27c643c9c3c9f7742fc02e1ea04d28551f8a595cf99b32d304e0f589923165e718a0c08e178a9949bbf8ad43671699467eaa39a6ac1c81fbcc6608d110e6853dab2584ab8ee33efe8d32f6188b393564f5253aeb9d1590a3f7aed63594d39d7d46b44551a41a66672fc5367db7cbf1a55d547962e0f23e192579b19e9 +ss = 6e20e8d7d899ec62839d375e81d7fbd6e6255dde5820e9dc63978c6442520716 d = 6dfd9b575872560c7bdc2732c4a28dac4db04e535eb8e402c3dffd145c09ce47 -z = a2985c1c4d203778597947d710dec806e36b0cd949fe460ef141213bfc525e5b +z = 2dc85fef74a61da258edff86f377ff16f321689e7ba5052364d2448a333c7961 pk = 9eb92fff176a27197eb4ab0171211dc7fa954c652698c50105b5c2e9f7a2a887bfb40880f8624e1fc67b1b43a51139ac6025b9eeb60925d424bb82c58b4b617618c43c99b07fb14e5b86538d29700e1ccb4f53a52bda2ef566b20d8cce1d7616dc81398d14abd03964940c794e6100da994d5bc0bcf28b04a8971214e7ab9285515ef09a7b486ecae5c84655c9ee15255b715c3b784d9c243993171c604a3e29450728396e7572228610bb9ac04b06577b3636c137a24e2139b48db005553152c6b040cf0b2408248675eb90afb66d6105537a316c7c989746f43c3b284342e2cdb5f2183a16ce71ab39c67797112b0b907c00f6a47f17db08d924826d526cf88234a25676d82449f93b2859076978860e499a0de134a936e35f06a7802456008c23970818318aa2b55a1762a9394dda7a49ebb4b38469410f5945dba2801ac25ba39a2df819b0db194b53c4247fa5065ff99f73e71d51c22f51fc262dd2809ebcc6879b0d90004da5ba7cc9462f6c822ac8fac8ab95b769a465cd743ba2babb26958ab9c3494d329a0c736c28a9cf84f5c90c5a0594485a9b339212d01bf6910105d44109b09bd063b4f2f3b903c94dc650812ae5cc87527754d476ffa82f34f39b5462006029875712cfb1da648dabace5aa1590b5ccea82c20e74795c71bb70826ef4d0bba580a447693a42d8af3256c64ce327b370ce576b6343f2bf8fecc76e1434d5e448aa8a3b326584ddc56496704be54108f8572170c2bc39680598017641422bb81645959b8092e82a54c68aff60b78be78107e7bcacb241b09913461579b52aac5c6c8627cc033be2273580a523d4cb7979cb65d7056643856be187ddac112799559a87168aa96a18089a6c547e87da949c62b8ea876aa0192af409bfbc354f05dc08fed46904a2688fba59fb71b83031a19bc8a6350bba93552be0c01b73c89964563fe588a5b76971dacba69868b588bb2f9076532d6a8fb4316dda4c85c2945a2a29b6ead3900e50abef2b44375ac36bcb0e028a20cce58353c827f1d53a9a0510e3827cbd1383a6d18c0d22c374e2b6061c2197a6cb094ca9dcb42f0418c24a9cb893c45423447cd5eabb0b9b410c9144013543e5c3bad525377ce8073d4a5f4a22bb24874b7e21523cca731265572b487e3b42ae581a617437348c290f00ad09460aa0c7b6a1a53128e4e01b3c406a296cb35ca0bd0d1917dff42a4848ab3bc28a2a28044c719ccaac45c513ca007653bc854dbdb79181157aa17220153ca3563b21be77aceae06bcd02531ff5b7f5453db0119364dc4e97ac7a495287815b5eb512129643aac4f42b3af35afc1207db0a3194302fef097bae37bf382c154e78154b3407bbd90bb2143bc285af1ea0b1b4fbcd3ea373a077c6107ac2800c89f20544cb7a83baf26ef19367724b1c989c39bcb4337deabf7d531fe2b3327f4ab0f6457c5f3869590c49664923993cb2b0103b8e8a41cc5793acd192a047972978a2ea1b9e354cb135f2ad8928574b2c14fbc1a4c02715292c9052b69ab2a8329c02938bfa0994c209f816a24eb13f4365af2d20240ef66f9bf6b39d54ab5d350c7cb3cd6f645379815aa3028232bc89bb89bfa2c62e351a3c6401b7b384ec61a83f9056f3665e523a0c28d48e778b0314c1ec2a83ee9805d0 -sk = 46f47850e2b9aa4a6d209125be58806002c278a6295da7a4ffe85551529f17d83b358b243f2a622f353eb6138cc6380f8ad3340d7575e865a6cfd34bf473a3da8b9fc961cd921452d09b3209d041d6612576c573b08422715160b891a3370268468078f5464d7e5b84b3a3793f0c7cb2a0a13df37b9763cfbf054c768b1e65a00e8366b406251f812c5d428853d0e00f7bd58a8e348275461c1336c2ac6a39783a35d849aa9a847f37f50be0b95f617bc7adb28c0506c16ea3ce89aaa28a9252f0e228d0fca732289d05d9395133a82d8cb76db2023924273b39cb52b5a846f338b96c5b6f3acb41c7265a0c5b13094231f05943d58875ba7c2a6889f16107d325ad1b810a0b3c9e8928169d440194bbb90f771796856f9878158a432eff742fbfd5acaf59521e361f448c0bebd805a1b4435d0761d0448d83e1201a506a0b0a4980172d05e88d7d87b42054680cda74a386027aa4c3c5193fb1a893bec2722d55ab9b840d99cc81408153b383345192649eb99825bb4b1957326c4791a2722951c0ab67472f4841c20c23926c3c331f24c360e81977c2791ff3171c2c489b68c923b65d8ee6bd2d510e6ae97fb771bab401bc1a42935f38a0fd43ae2f8a24d8fc3f6e15c2c6bc800b73ccd8e91c592452484b44e6b2a624881064526182950349c78c7d58180b1676b5191eb6065c50596232b9566e4b8f0635a7d71927f8eb8572e62d57996ddf66cfed2147dc3451e95c034d6b9145bc0d30c915d66b1cce367406212f8bb40755091c9cb0306a490ef5336e21f82c1b7b6ccc8980da28a348815112f00c57362eb163a36e016d60f020bd12b6796c9a88a8af4e833fc4585652e76f2ff77deed799757c7f64e07ee6e6a300dd1cbbc840af561746d279beaa71dea5318aa3cb3c4c63c4a91e0fb60d6dd6abf1fb24d1b078de9413f1b0bfd8916577c4cc9e0b0c332625a5fb705e94babbe0659e022234586529a194012a6e9e7650c504c380436e1df83e5c5c9e22f79f394bc0f22a0acf114b90829b43112fdd617089c8b9d872b70d7027d74402b65058347b56074ba33fb91998e5a559d46622f5423808c8236317767a32e4772ae66ca472ec7828d682d045835ebc5e0089b0ff955dcfb9605214a3e5087f7ee57d5369abcff1be00c7bbc5b5b25a0c1d853424123c98fb330318432d324bbc7330342224baff909849d65e1d08a77e07d07cf16ce6f64fc71374eefb66bf9c742e518f2e30c480f82652b81c4ce7bf42593b990980d94062f96a7178258f31e2b90e86241c04b7b44057bf4700a040b6c0b08e4e8a6bf1cb1eef738f51ca9beb9c19b94b1cc623704a6c2455009f48b4cdd0f4a5d7f06320457670db92c7a4371743593600022da4600c56296d336a52e98888818ca10282d4767010a7abdf81bb6752048b5b163da385d7c5cb134108ecb03398500c1612a1bd563b21a0bc7b94c9719a75bf3b3e02143bf04a7e3d9b0070c4b449cb9594a1a8bbf871e595178bbcb611b466a8677905443abfa1601a9664c5f54f36dcc1ddf35381f586b4aa4566c02be610186df8493a30479f4c72aaf049a6666e806b13fd77c3b738721f81218b48984ef374babc0156f94e9eb92fff176a27197eb4ab0171211dc7fa954c652698c50105b5c2e9f7a2a887bfb40880f8624e1fc67b1b43a51139ac6025b9eeb60925d424bb82c58b4b617618c43c99b07fb14e5b86538d29700e1ccb4f53a52bda2ef566b20d8cce1d7616dc81398d14abd03964940c794e6100da994d5bc0bcf28b04a8971214e7ab9285515ef09a7b486ecae5c84655c9ee15255b715c3b784d9c243993171c604a3e29450728396e7572228610bb9ac04b06577b3636c137a24e2139b48db005553152c6b040cf0b2408248675eb90afb66d6105537a316c7c989746f43c3b284342e2cdb5f2183a16ce71ab39c67797112b0b907c00f6a47f17db08d924826d526cf88234a25676d82449f93b2859076978860e499a0de134a936e35f06a7802456008c23970818318aa2b55a1762a9394dda7a49ebb4b38469410f5945dba2801ac25ba39a2df819b0db194b53c4247fa5065ff99f73e71d51c22f51fc262dd2809ebcc6879b0d90004da5ba7cc9462f6c822ac8fac8ab95b769a465cd743ba2babb26958ab9c3494d329a0c736c28a9cf84f5c90c5a0594485a9b339212d01bf6910105d44109b09bd063b4f2f3b903c94dc650812ae5cc87527754d476ffa82f34f39b5462006029875712cfb1da648dabace5aa1590b5ccea82c20e74795c71bb70826ef4d0bba580a447693a42d8af3256c64ce327b370ce576b6343f2bf8fecc76e1434d5e448aa8a3b326584ddc56496704be54108f8572170c2bc39680598017641422bb81645959b8092e82a54c68aff60b78be78107e7bcacb241b09913461579b52aac5c6c8627cc033be2273580a523d4cb7979cb65d7056643856be187ddac112799559a87168aa96a18089a6c547e87da949c62b8ea876aa0192af409bfbc354f05dc08fed46904a2688fba59fb71b83031a19bc8a6350bba93552be0c01b73c89964563fe588a5b76971dacba69868b588bb2f9076532d6a8fb4316dda4c85c2945a2a29b6ead3900e50abef2b44375ac36bcb0e028a20cce58353c827f1d53a9a0510e3827cbd1383a6d18c0d22c374e2b6061c2197a6cb094ca9dcb42f0418c24a9cb893c45423447cd5eabb0b9b410c9144013543e5c3bad525377ce8073d4a5f4a22bb24874b7e21523cca731265572b487e3b42ae581a617437348c290f00ad09460aa0c7b6a1a53128e4e01b3c406a296cb35ca0bd0d1917dff42a4848ab3bc28a2a28044c719ccaac45c513ca007653bc854dbdb79181157aa17220153ca3563b21be77aceae06bcd02531ff5b7f5453db0119364dc4e97ac7a495287815b5eb512129643aac4f42b3af35afc1207db0a3194302fef097bae37bf382c154e78154b3407bbd90bb2143bc285af1ea0b1b4fbcd3ea373a077c6107ac2800c89f20544cb7a83baf26ef19367724b1c989c39bcb4337deabf7d531fe2b3327f4ab0f6457c5f3869590c49664923993cb2b0103b8e8a41cc5793acd192a047972978a2ea1b9e354cb135f2ad8928574b2c14fbc1a4c02715292c9052b69ab2a8329c02938bfa0994c209f816a24eb13f4365af2d20240ef66f9bf6b39d54ab5d350c7cb3cd6f645379815aa3028232bc89bb89bfa2c62e351a3c6401b7b384ec61a83f9056f3665e523a0c28d48e778b0314c1ec2a83ee9805d010e01965f9c196d2f5f90ce3ce8f552f8a0d76ba8f5345365392febc50560012a2985c1c4d203778597947d710dec806e36b0cd949fe460ef141213bfc525e5b -m = 30f4095015ba88b6d969672ca3f438c395dacf7d476ea7a9e805ce932d270a13 -ct = a94180c718b23e998b15d6104564b5e20e1d102da4efad7a9740c473ef19f3db7b226847de6cb72be56beee3e1bd44d0afe0a4b55498b4475d8d936d441566cc182e0264f93a6024cf478e3658cd02dac2c21cb6de61f8ee7983fb6d79cee0cc5b134e6887b4c4f79c635533a19bc8819ba2a56715825ba29836cbfc51479cb2c2ef8b0b50332ddb523008f6ad3b5eba02c767adaab5d930760eb496d4c3edd90bbb24b9ce0dc76013791565d368641f2b8f25a8660810f48e3a12f65bdad160f3605e2d573844432509e598b3fee53fdd4a9b83c1b187b66f5e9f2111062e74a3a7e006d638e3dd4990947e0ad370b0f29e183a7fe376c00d8a0713b02d7e1cd8132b7afaa3fadbf7cea991b3d9a96ef80a75010c40fa3a31153f15e23446a9491304170e2432112b84f86714a9cac0f8b60391734ee6a94ef6defd30a02079dcd29d938387669a0a3893597ae4f036e1d7020f132b1af3c8f135033d224caa5f2791d9943c067257389dcbdfe8544981d6c1c3d5dad7fd953372fc8910a16bce4865defbdb413ceb80f13374c9d83b54b201c7f4345c97b51d22b33dbfae34535d9f7f2aeca05d2066b2e9ca9f3c4f7d3df5fcd1b1153b35418b7c7bc318a9e0810e2328065317f50d5239088ab28724642428cfddd933032a72d95caab610afa65c968e5381bdf0c7892d3e0696cb75bf1abe5a14acee27cb73cabc5bb23a1ad12ef4d4e917ec4e13b736d1dd50c68b7ab98d8cb2e1ef75e3c1ad1db7355b484b6ae44b5b7f963b772abbc5b0acf47d158853f65ceb9c8829b70481f6d531f59703f7233205806a91061e45fdf6b9ee5546cebf701cf54bc0805fecdf48804e95956ab9041898aa623ff5c6d3d6f45ec370680f43f138fb6e36018b5d92858a29a17621d9b844f513af8c021cafe10687b180d7cbd9fe1b0880b6857947c55c40488f3046e76fc8a00bc4f9da531a036ab71174afef52b3fb4686fa471c34ddfa2f1740a88be223b536c4325b9cae46e0b0479cd4cdfa0fbf05f0718052ae62486461d423e4ab819114110fc48a676bb83f3cbeeaaa474c4066ca54de523dbabbb29ddc39be50898077649925042f28d15c4c95bb6e745e5367242dc7650e45dd9ad2a5769930099ba2c0f20994d304eeacf8fb3c86efba0036d82c8e9abb01c1f3260ef78d7afe632261b0012eb612f8a98950018fb12af3aa0524faa597db80873d2fbfed5637098cecd7b2ce5c32a51ac967f277470fec875e7c00b895af511d17731519439498a51940733a891e8a2db137b06e425bb07d0d9d84a6fa70e26f09d61c8800ab74357aeca7bb223f324b9e18a2eb4c0aa1d996543aace1882726be7283c0220dc74ec51b6cb82755fa14aa487563053c773a6bab1547265fdbf4dd4c5738271b410031128a23d2e25289758f4f1c0aea20c2d30ad81daaa919b30e268b1a44072a66b0846a436b72bb9fb2a8ed78b551257030dfe5c13b116b8eb577804cc0375872fd0622d96c6eefb72baf82b6429c8d7bb0d0098c6d -ss = da6373247f33971b39d955418425ef1d1a233fae7fb1985c0126f541ab8d58d7 +sk = 46f47850e2b9aa4a6d209125be58806002c278a6295da7a4ffe85551529f17d83b358b243f2a622f353eb6138cc6380f8ad3340d7575e865a6cfd34bf473a3da8b9fc961cd921452d09b3209d041d6612576c573b08422715160b891a3370268468078f5464d7e5b84b3a3793f0c7cb2a0a13df37b9763cfbf054c768b1e65a00e8366b406251f812c5d428853d0e00f7bd58a8e348275461c1336c2ac6a39783a35d849aa9a847f37f50be0b95f617bc7adb28c0506c16ea3ce89aaa28a9252f0e228d0fca732289d05d9395133a82d8cb76db2023924273b39cb52b5a846f338b96c5b6f3acb41c7265a0c5b13094231f05943d58875ba7c2a6889f16107d325ad1b810a0b3c9e8928169d440194bbb90f771796856f9878158a432eff742fbfd5acaf59521e361f448c0bebd805a1b4435d0761d0448d83e1201a506a0b0a4980172d05e88d7d87b42054680cda74a386027aa4c3c5193fb1a893bec2722d55ab9b840d99cc81408153b383345192649eb99825bb4b1957326c4791a2722951c0ab67472f4841c20c23926c3c331f24c360e81977c2791ff3171c2c489b68c923b65d8ee6bd2d510e6ae97fb771bab401bc1a42935f38a0fd43ae2f8a24d8fc3f6e15c2c6bc800b73ccd8e91c592452484b44e6b2a624881064526182950349c78c7d58180b1676b5191eb6065c50596232b9566e4b8f0635a7d71927f8eb8572e62d57996ddf66cfed2147dc3451e95c034d6b9145bc0d30c915d66b1cce367406212f8bb40755091c9cb0306a490ef5336e21f82c1b7b6ccc8980da28a348815112f00c57362eb163a36e016d60f020bd12b6796c9a88a8af4e833fc4585652e76f2ff77deed799757c7f64e07ee6e6a300dd1cbbc840af561746d279beaa71dea5318aa3cb3c4c63c4a91e0fb60d6dd6abf1fb24d1b078de9413f1b0bfd8916577c4cc9e0b0c332625a5fb705e94babbe0659e022234586529a194012a6e9e7650c504c380436e1df83e5c5c9e22f79f394bc0f22a0acf114b90829b43112fdd617089c8b9d872b70d7027d74402b65058347b56074ba33fb91998e5a559d46622f5423808c8236317767a32e4772ae66ca472ec7828d682d045835ebc5e0089b0ff955dcfb9605214a3e5087f7ee57d5369abcff1be00c7bbc5b5b25a0c1d853424123c98fb330318432d324bbc7330342224baff909849d65e1d08a77e07d07cf16ce6f64fc71374eefb66bf9c742e518f2e30c480f82652b81c4ce7bf42593b990980d94062f96a7178258f31e2b90e86241c04b7b44057bf4700a040b6c0b08e4e8a6bf1cb1eef738f51ca9beb9c19b94b1cc623704a6c2455009f48b4cdd0f4a5d7f06320457670db92c7a4371743593600022da4600c56296d336a52e98888818ca10282d4767010a7abdf81bb6752048b5b163da385d7c5cb134108ecb03398500c1612a1bd563b21a0bc7b94c9719a75bf3b3e02143bf04a7e3d9b0070c4b449cb9594a1a8bbf871e595178bbcb611b466a8677905443abfa1601a9664c5f54f36dcc1ddf35381f586b4aa4566c02be610186df8493a30479f4c72aaf049a6666e806b13fd77c3b738721f81218b48984ef374babc0156f94e9eb92fff176a27197eb4ab0171211dc7fa954c652698c50105b5c2e9f7a2a887bfb40880f8624e1fc67b1b43a51139ac6025b9eeb60925d424bb82c58b4b617618c43c99b07fb14e5b86538d29700e1ccb4f53a52bda2ef566b20d8cce1d7616dc81398d14abd03964940c794e6100da994d5bc0bcf28b04a8971214e7ab9285515ef09a7b486ecae5c84655c9ee15255b715c3b784d9c243993171c604a3e29450728396e7572228610bb9ac04b06577b3636c137a24e2139b48db005553152c6b040cf0b2408248675eb90afb66d6105537a316c7c989746f43c3b284342e2cdb5f2183a16ce71ab39c67797112b0b907c00f6a47f17db08d924826d526cf88234a25676d82449f93b2859076978860e499a0de134a936e35f06a7802456008c23970818318aa2b55a1762a9394dda7a49ebb4b38469410f5945dba2801ac25ba39a2df819b0db194b53c4247fa5065ff99f73e71d51c22f51fc262dd2809ebcc6879b0d90004da5ba7cc9462f6c822ac8fac8ab95b769a465cd743ba2babb26958ab9c3494d329a0c736c28a9cf84f5c90c5a0594485a9b339212d01bf6910105d44109b09bd063b4f2f3b903c94dc650812ae5cc87527754d476ffa82f34f39b5462006029875712cfb1da648dabace5aa1590b5ccea82c20e74795c71bb70826ef4d0bba580a447693a42d8af3256c64ce327b370ce576b6343f2bf8fecc76e1434d5e448aa8a3b326584ddc56496704be54108f8572170c2bc39680598017641422bb81645959b8092e82a54c68aff60b78be78107e7bcacb241b09913461579b52aac5c6c8627cc033be2273580a523d4cb7979cb65d7056643856be187ddac112799559a87168aa96a18089a6c547e87da949c62b8ea876aa0192af409bfbc354f05dc08fed46904a2688fba59fb71b83031a19bc8a6350bba93552be0c01b73c89964563fe588a5b76971dacba69868b588bb2f9076532d6a8fb4316dda4c85c2945a2a29b6ead3900e50abef2b44375ac36bcb0e028a20cce58353c827f1d53a9a0510e3827cbd1383a6d18c0d22c374e2b6061c2197a6cb094ca9dcb42f0418c24a9cb893c45423447cd5eabb0b9b410c9144013543e5c3bad525377ce8073d4a5f4a22bb24874b7e21523cca731265572b487e3b42ae581a617437348c290f00ad09460aa0c7b6a1a53128e4e01b3c406a296cb35ca0bd0d1917dff42a4848ab3bc28a2a28044c719ccaac45c513ca007653bc854dbdb79181157aa17220153ca3563b21be77aceae06bcd02531ff5b7f5453db0119364dc4e97ac7a495287815b5eb512129643aac4f42b3af35afc1207db0a3194302fef097bae37bf382c154e78154b3407bbd90bb2143bc285af1ea0b1b4fbcd3ea373a077c6107ac2800c89f20544cb7a83baf26ef19367724b1c989c39bcb4337deabf7d531fe2b3327f4ab0f6457c5f3869590c49664923993cb2b0103b8e8a41cc5793acd192a047972978a2ea1b9e354cb135f2ad8928574b2c14fbc1a4c02715292c9052b69ab2a8329c02938bfa0994c209f816a24eb13f4365af2d20240ef66f9bf6b39d54ab5d350c7cb3cd6f645379815aa3028232bc89bb89bfa2c62e351a3c6401b7b384ec61a83f9056f3665e523a0c28d48e778b0314c1ec2a83ee9805d010e01965f9c196d2f5f90ce3ce8f552f8a0d76ba8f5345365392febc505600122dc85fef74a61da258edff86f377ff16f321689e7ba5052364d2448a333c7961 +m = 147c065d7cf409a115a8df448134e1081e296f120729ca37b4185b73e2685931 +ct = 2355a22b9ba71369030fb2e6a6b20be459c88dfb194f96e206957b3d40ff4abe9929edce72a06849b916847050856190b18e1fdb6bacceefccef923d835adc5bae7c0044bbebb35eeca1d18bea85121a587cf032ad63476c40a9b519d33ee700228576ba37db5bcbe480268391ff1b76a8ae5ae71a171d41107129b4bdfe92a7fd3020c2dc9d1b21e418c4d02ba4ad0232d12af11d4af9d4c6dcb8a594c323bb0c3f7d8ddcd85538ecfc6d771491e97fa367ad16eb72b60d9589dd2b4e6fa87194b134b50d793107d2565615ad067ef81c21dbad2bacba12107e2f9a4fc795ed1e30f1322cccec99bee719f7cca1ff7e6a1defff11ad69020dac9eabf1596517700c6f76fe95d4888b5ae58a075a7c9ca2194c52e5881fac3deedac1cf4092d40c222346d6ed8bfe34dc89d6896a6601bf72d79b724af64314fb8c55c74783f37e9c7d1246379efcb3961888f76f3de2293af48c16f97337ad4aec91fe0047388ac863068ead95d4424464db03bb5f120cbafe71fdd24c9e34c691cee9d7da90d7e21cf2892b71cc5ba2bb3045d78d48b4581ec523582d84a2a8a4f23360ce0316b0b562905249094d17517cbb9d51c4752ab9833a13908d149e97c74fe9d126245c943e4e460058d2d0f49140ab2c6b2abae60d89f838b6139ee4646266b5ee060980fc25d224ad03bcd6b38d8ff151a97703109cdce20009cae3d165080b9c6ceead0ed9f29c366542ae795a85159c653e711883168d6fd3f18fd2ea627f6d9fda74e7cd59a8d34e2332e4d18d8b16d8bd3effe0d3978ca927095d985ba5680e06008c12efb915a0875dbfb8044a8a470f5431691086cf8d4defaa31c7ee4e7ab3496bd3d6d9875cb08084cb8668ebdfe9857fc7e9e37659941e3123fbf11339a3eaa8d18ee77ad7402893fd3d1f2b126ad26840011ac4c9f31ff76e0191ac07129cab5c0fcb6c85071e6c194cf0b3eb8b78e2ba60e0727654b7c78252b1ac5780b8ea2684bdf833a666abddf712a1259cd74dc4370f24e7be786a561fc33384b8340c90ca0b0a8beef3aa41ce386d2f4a5d5927885cc30ad36c2d0b772a9fe0df91712f44b2d6d42cc561d8b7abb1d50feb17fb317c7e68801e351e828ef1ec38e186aef504fc7fe5d05d3c40ede1f273e55f4cac07b0f04362a7edf25eaf941a2669d5ec9222a50f723059f79b36d1cde4f7142662e9515dffde8aa8dae1585ace5b3f645963ec67e80a9f0e8e3957abbeb26912cca8a3a378fe17d1bc0724029e4c1937d574126298dd8be9448a96b5d47ce04b4d9f69d96d174a37aea3433081fa60aba48d642dc19fc4e98dbdfd3348f1a226c288e86be37ae943fb16368406889b0ccf729eaf21232f01077c269ffe964bc1b6c8bfbe2e37ff8819feca4a94ec64a1896da3efb082dc854d095e2994be5d11c0060f6161f74838079e719289875f2ceb6f4063db465513784ca3c7ba2888328564f3aad93c6f74efe8c2b83d12902365f2932419aa704d31806a5c93557c3cb8c60c8fa2fedb14aacb +ss = 5a1b31e2936d1cb11179d456608333801904253a3b6a53121350c61fb5d86ea8 d = 6fca9f4e384d8418075cc064c70730801bdb8249899d456a77130d5beeb3662c -z = ce7683f8a03d3cf04e46970ff7d6a12494ae12558346dfc8fd9370bf944a0102 +z = f4626afbae65ea913cdb263c9615a5f66061ccc74b1ac83b5fbab8fa1eb6799b pk = 5c405485d51fb10cb0f150b9db466c53e070f5849049d225047bc47aa15f630a6d62c5b179906ee6c067fa3384a4c22748f984eb31ab4cd69083da31a5b45f586560371bc99113c44d05828fa7687aa649b261beb0eb4eebcb8548139bbd6a0a844ca1e4e59f3d7c4372ea8632b278a7e68b59032012c5518a8021bd5367557077c9c1b4a50944ea1a834bb61004b2cba7f6401a57839a3cb85b326449a25457851b4a2bba2e2187f040745fb608079c8b59d2b191813d51c5c3f329b1f5e40771e1b33f63ca400555ce5351cffca2ddd268d7855151618587c8b037e7ca290467e4a7c2c38290b84ab8dc4a839f57102dd559114092165b13b130b41bea2f857c84ae45c1734375a3ea91021014d29ac58f12bd5a44b91ce986e094a66089479dcac23a6275b864195df24f2d4a97f1b26b508c3a5bb89b9f0a913867c1294c252d5022d9fc60ffeb3ff3c29b2dd1aa97f22271c5c8e749cacea39f2c637ff4a235882747ceca1d95e093966462ad401510ec112026bf0fbc106270988b2c35cc7269da693a7d67052f9156d30c916ad6552eacaa3ac2396bc56668686ea8a1578e46658a71b4b7365ae56a263c783973c1b63100b1aff4c3feb64856a781334c6e83519e541511b4d581914c697ff31239dac56662a145316ac4d14e522480782c4ec52b1a2b8a85f657217ed11426a2a606c01c17171fd10824c07042b189225d40919aac5cbe05b031689b1ea61041f6091d961a8910a205e62ff21909c6b4095b270d87c9727a2b611118c84aac033ea9cab5f40efad6117f2160a56505fd775d3f415aae9271a9b2b1fd1964edfb772a9c4875f06826a49c26e93f0b1846e006468de71b98ac6fc0f81ab146236739c9a7b6c13952089d621936e8b265b50dd4016547a2abd52339daa0b459d265558a1d9b61c73e49346396b6155195c9c3a437614e68e23143f09fd28857aaea50aa808600f5c5ca33c5963cc00c4b1c1ce2609486ac4f1b2ddb7b06acb62398a32320f315dabcaf5d4a833e2a01a6e7c971ca15e40c459ef18db8452aabe1584412b4c4dc52e6004ca56b5f48555041cc828a7a6da77c435f05574e5c25efc3c6057443eb77993c987cac2363c3030d88e288f4d08966e624794078a39c53ecf273df178cb022a5fb025a2687409a785cd6c019f5761b0a3087ae91844a69c2a89c1a00b1caec7c1f7a67425b87be02d80b67ca6c7dc3b45bf425dfd33dc5a13e7531907ed6329593c333466d9628668b98422c985182f8c0952cbf5052225363398e516d23678b5320a9cca38e21c6be86822c4fcbb9094277bce80992858c5498c6bcc57db982c196b1a78c317975544ffdf33e57a30dd29a5ca4a22a918746fd9a84ee1008db920432e39b6ff182c930243cf350c6f486832a807a36c8a9242a5c39140eaa7a45bace0086a86fe36be28acec756b5e9a47225638659b250c52b564751ce8c42c39bd1046d2b6cda70b7951707b63073f0eb5ea3fc5229f816ebf4007ce97307c6607b4ca17ca30330570d4f39bf76998147060cc04b33d4b91294f85f4a717ef9c288e3741f70fa5823ab8329f56d9d0b05c996701a050a387362db09427d5587e7751131953146ea3591818f0dde74e33983c010419218b08822da9c3c62eae1f2284801b3e4 -sk = 8747252c693a0d6c06ab66071b13517e1c45abb370d26aba3fb31641a170b365c5f6235d1fd688d81c72716a3921420d228a7bd5a1c48ff445c47489b8116b7ca14d3ea78b20a7b5e579c5681187a2aa8fc900557501003fb9bead185ba9e7939f247bf1757ea66a4392095ea90239a3c67a8ca70186047d9a6b06b8887fae01ba8e556319a003934c88ddeb05f9f3b4964a6545e8443f57383a2bcdafd96c794b399296615bcb9c59f8703595709724b6a4bcad06e116f4542c4322072e3c6713015b1339512419b4daa8c87f5a8bff481964a8ab8a101943230f9527a10a604df6275e1ef18fe54a57d7544402134ab77802333897d4769ac23093f9b951d735b5623452c90270a0896ed3a81bf1191e451a4a67a4542556af78f1690982360ff1bfcff66386827df93bcd894ac8c996be6e0a29de70ccd459b9de46acc9e8043bb82d01c40e5785845ff4b0ddb8184afc5e52a72e899093669a9eb110a100a1159241bdd40612a9b1955b1752810764e7b68d89704a61442adf68108aa229e406cd10b6527a39a6b46068685b5e802cc25614492dbb6e06ba2160e930733956e7b29ab9981d4b477cd4eab880e56eb711b278f540ac204a996b32fd06b8bfcb7729660cf5125fe1626199f6285da628faf491dce2ca3bf285902350d52c0649339f31ea3ab764b90701bd647194fb27383681c13470b8d5ccb61dd74c5f666ffea7b0714c469c4803107235599c998349b5be7ab9e9dc6f01e928593939270411ee2490f16c54ba672ee03b710978760b962319bab3c2fc67cd9c2e9d4c153a8717826bc4c3d6c7444c051a61a06a2c87a1207a20754e9d7725b91077766871509ccc93f5a1fc1c20680263082801f6b81e8f319b92110f2da22f0d8c251ee4531b127c44b378da6a0d26f55de3285190ba1357012e42521cd1855252147d1abcb1582422f55091b5eaade93194cfa0be536343a282c4a948c355984cd20a7ca454ba034ac7355b02730107a71b3986fa01faa38d17e07494fb510e5526f690bfb27294fbb963a0606e140a182a9a247029abdff6bd8e876ec92207312432cc2700ec4c6a4a7037c5b612eeb2099d54872a5884e28981d794c7855590f1f1464017c8724bc92e0b644de92b5b80a573f641e4e65bd6f0396184086d6a5a50662f9cc6241fb7241d194b6d23ae6fa3c59fe60c81309ff7e39f93f72bcb0696edc771a80cc5ffc74138ac9d01b95defe7258bc555e3e28cab6a73372337efa0b4aa0c7d13b312a7313f8b63426c6677407903822aa1acf4acf4a130c4c68dd4dc47dd061ed0a4969e5ab630baa11fa0aa51133c6509c83e603425a385730aa0e07a2bac0754358c812f483f5ca6bef3105cce4cc33532116c6493f19880f693581e08999be24db44b84970c8fa4f6784d50614cdc9e626a31966acf81309ea6a730eb42011663cf10a90a9ec12f3fe133a7d02cfb95cecc6b52cc08571bd03e8315532b7c76c2040b60e9021a24734854b6a3d77cbfd087015410b7322ad5d9b04f651f895ab5bfc25f8cc9703bc67dc5eb5aede41682a17feb1b4339335efaa44a64e8b4eb0bbe17fb00875a06318c1e68c42e6ce0946a59c61700a72779765c405485d51fb10cb0f150b9db466c53e070f5849049d225047bc47aa15f630a6d62c5b179906ee6c067fa3384a4c22748f984eb31ab4cd69083da31a5b45f586560371bc99113c44d05828fa7687aa649b261beb0eb4eebcb8548139bbd6a0a844ca1e4e59f3d7c4372ea8632b278a7e68b59032012c5518a8021bd5367557077c9c1b4a50944ea1a834bb61004b2cba7f6401a57839a3cb85b326449a25457851b4a2bba2e2187f040745fb608079c8b59d2b191813d51c5c3f329b1f5e40771e1b33f63ca400555ce5351cffca2ddd268d7855151618587c8b037e7ca290467e4a7c2c38290b84ab8dc4a839f57102dd559114092165b13b130b41bea2f857c84ae45c1734375a3ea91021014d29ac58f12bd5a44b91ce986e094a66089479dcac23a6275b864195df24f2d4a97f1b26b508c3a5bb89b9f0a913867c1294c252d5022d9fc60ffeb3ff3c29b2dd1aa97f22271c5c8e749cacea39f2c637ff4a235882747ceca1d95e093966462ad401510ec112026bf0fbc106270988b2c35cc7269da693a7d67052f9156d30c916ad6552eacaa3ac2396bc56668686ea8a1578e46658a71b4b7365ae56a263c783973c1b63100b1aff4c3feb64856a781334c6e83519e541511b4d581914c697ff31239dac56662a145316ac4d14e522480782c4ec52b1a2b8a85f657217ed11426a2a606c01c17171fd10824c07042b189225d40919aac5cbe05b031689b1ea61041f6091d961a8910a205e62ff21909c6b4095b270d87c9727a2b611118c84aac033ea9cab5f40efad6117f2160a56505fd775d3f415aae9271a9b2b1fd1964edfb772a9c4875f06826a49c26e93f0b1846e006468de71b98ac6fc0f81ab146236739c9a7b6c13952089d621936e8b265b50dd4016547a2abd52339daa0b459d265558a1d9b61c73e49346396b6155195c9c3a437614e68e23143f09fd28857aaea50aa808600f5c5ca33c5963cc00c4b1c1ce2609486ac4f1b2ddb7b06acb62398a32320f315dabcaf5d4a833e2a01a6e7c971ca15e40c459ef18db8452aabe1584412b4c4dc52e6004ca56b5f48555041cc828a7a6da77c435f05574e5c25efc3c6057443eb77993c987cac2363c3030d88e288f4d08966e624794078a39c53ecf273df178cb022a5fb025a2687409a785cd6c019f5761b0a3087ae91844a69c2a89c1a00b1caec7c1f7a67425b87be02d80b67ca6c7dc3b45bf425dfd33dc5a13e7531907ed6329593c333466d9628668b98422c985182f8c0952cbf5052225363398e516d23678b5320a9cca38e21c6be86822c4fcbb9094277bce80992858c5498c6bcc57db982c196b1a78c317975544ffdf33e57a30dd29a5ca4a22a918746fd9a84ee1008db920432e39b6ff182c930243cf350c6f486832a807a36c8a9242a5c39140eaa7a45bace0086a86fe36be28acec756b5e9a47225638659b250c52b564751ce8c42c39bd1046d2b6cda70b7951707b63073f0eb5ea3fc5229f816ebf4007ce97307c6607b4ca17ca30330570d4f39bf76998147060cc04b33d4b91294f85f4a717ef9c288e3741f70fa5823ab8329f56d9d0b05c996701a050a387362db09427d5587e7751131953146ea3591818f0dde74e33983c010419218b08822da9c3c62eae1f2284801b3e47c3991fa7983d0dd6e7157cfb152538466e9d5c3998a2b8ed862162b91ca851cce7683f8a03d3cf04e46970ff7d6a12494ae12558346dfc8fd9370bf944a0102 -m = cf31220f44de862e1719570e1b26e897790159366a385452334fe24cdcae28ba -ct = a4db79e6da55191f585544dd32928ac432171953f3a57eaf2fd786bf1641ef364cd03dcc519fe94c40ad5d3851a820b90c43ef631f15a48fef9191281dda67ef23c6aa3093b26c36a7b6f69a86dc1828498540ae4f6c1fb170387d62eae9b73313d39d07e94a903baf6dd09ed3baf005a9e35c7c87cc6724b37bb80fa2153f150f9c811079d3d545bef636476fdfce30dc32561f41fdba2ef7b4f21c58e1ebc033f5c457fda302ae3d32fa0bcc4f3cb0897af041c562d48af1da6c9ef4ccb651335a825394544baf7d8914f0ce818e68d711ccf45b9873e108c48ad3876ae59db02b553b6581b9a5be72d31ca4033e4cbb767c1ed34d3356541a113d2cf60ed6bebe3134f8c0a9bfe30c17e2f18fa8e308bba726429282c7286d0904bf78925b09cd47973566dfcaad7db814a3500181eb93d438159358c075f4cdc270e14d74cbad91a493f05afd4c8ad851694676103fa00c156e5ee3cc4b9f3c6762e3e5d5aa4e245568bb730de5c2e0e32eed4310d9fdfd30c68a67aca0bb692bd5453baf3056bb10e031ca15b342e6da3d891fe40dc17cb6adcf6b3b72943adde54d7b01a5bf3a129de2846817d7c2d9054158d08117a69d5a7a0db6aba4286da7d76e85aabefd343bfee54395b046aa35e3f7f5648c84b5c1b6610406fcebbc01ce448bc8d533198bed851792582fb421c55c5fbc989983d978aa163cc88e01c12437ce22c58a6b5186dd0652417775500146236e12420ddb24054e607e11180a22687744226cef0cc55d2ceb94e1c0675ce338f2537a3e60c126a91a81702dd3fe1fb7c2fb310571fa3dadc83ddc4b18b1aa5707e907142311fe4988196ec6b48814ad55a0ee7724beac278c7d68229b3f63357d81ef5fc16f2c7ee9e8a8e7fbf7fff7b958f0592c5e1246c6ab95474db7183ffd15ccd227da5dd1a3db842814ab5d4b515546bbedacd42e4e9abbefa9416ad009bb072b5d691c1ade296be26f87fbcd82eda2c93ae73ad7171d1ef1840f26014d8f152a720c47e24f15209e2a478dd7db0edde040403a0655804720f8643b86f37776a2f7dc6b478d77a87eac0194693787b6439f4b045732866237a8a2ebf9934070737b89dd2af08c59ba182eb239fcdc476495ac756faa7451c719156c1dbe099fa7baa32c16156f4209c9f2c66544cc54db33bbe0edad660cbc13e69f4d808ba98a7854ceffbb2cd50a5b727762038a216b8b5e85dd01e138edf154dce1de6e832374f0a0614390f76d1e658277fb909c1e95b4e81a9d6852daa5368281ab21799c6898c07992bf5f7eed402522449461394c87af555fadf1932dab0cab6cc80aea73340181e91fd99eeb65a013b42f577d9436c75a7166bbf845ede506af88e6b1f915ef43043627ca208435e805d5588f4265346a7daa1c9efa72592fc999e84e49e6e0872aebacae9ed89bcf98cb40466ad61feec016e629527923430c13e8ca8c009eba5d307d29bfaa6e1e6f56ded592573b75fefda3955317126a9b2869608c32701ff0f62447d1369765 -ss = 037452d74a46b60f415dad3498adbac608dcabe4edc7070a358e7325c72ce76f +sk = 8747252c693a0d6c06ab66071b13517e1c45abb370d26aba3fb31641a170b365c5f6235d1fd688d81c72716a3921420d228a7bd5a1c48ff445c47489b8116b7ca14d3ea78b20a7b5e579c5681187a2aa8fc900557501003fb9bead185ba9e7939f247bf1757ea66a4392095ea90239a3c67a8ca70186047d9a6b06b8887fae01ba8e556319a003934c88ddeb05f9f3b4964a6545e8443f57383a2bcdafd96c794b399296615bcb9c59f8703595709724b6a4bcad06e116f4542c4322072e3c6713015b1339512419b4daa8c87f5a8bff481964a8ab8a101943230f9527a10a604df6275e1ef18fe54a57d7544402134ab77802333897d4769ac23093f9b951d735b5623452c90270a0896ed3a81bf1191e451a4a67a4542556af78f1690982360ff1bfcff66386827df93bcd894ac8c996be6e0a29de70ccd459b9de46acc9e8043bb82d01c40e5785845ff4b0ddb8184afc5e52a72e899093669a9eb110a100a1159241bdd40612a9b1955b1752810764e7b68d89704a61442adf68108aa229e406cd10b6527a39a6b46068685b5e802cc25614492dbb6e06ba2160e930733956e7b29ab9981d4b477cd4eab880e56eb711b278f540ac204a996b32fd06b8bfcb7729660cf5125fe1626199f6285da628faf491dce2ca3bf285902350d52c0649339f31ea3ab764b90701bd647194fb27383681c13470b8d5ccb61dd74c5f666ffea7b0714c469c4803107235599c998349b5be7ab9e9dc6f01e928593939270411ee2490f16c54ba672ee03b710978760b962319bab3c2fc67cd9c2e9d4c153a8717826bc4c3d6c7444c051a61a06a2c87a1207a20754e9d7725b91077766871509ccc93f5a1fc1c20680263082801f6b81e8f319b92110f2da22f0d8c251ee4531b127c44b378da6a0d26f55de3285190ba1357012e42521cd1855252147d1abcb1582422f55091b5eaade93194cfa0be536343a282c4a948c355984cd20a7ca454ba034ac7355b02730107a71b3986fa01faa38d17e07494fb510e5526f690bfb27294fbb963a0606e140a182a9a247029abdff6bd8e876ec92207312432cc2700ec4c6a4a7037c5b612eeb2099d54872a5884e28981d794c7855590f1f1464017c8724bc92e0b644de92b5b80a573f641e4e65bd6f0396184086d6a5a50662f9cc6241fb7241d194b6d23ae6fa3c59fe60c81309ff7e39f93f72bcb0696edc771a80cc5ffc74138ac9d01b95defe7258bc555e3e28cab6a73372337efa0b4aa0c7d13b312a7313f8b63426c6677407903822aa1acf4acf4a130c4c68dd4dc47dd061ed0a4969e5ab630baa11fa0aa51133c6509c83e603425a385730aa0e07a2bac0754358c812f483f5ca6bef3105cce4cc33532116c6493f19880f693581e08999be24db44b84970c8fa4f6784d50614cdc9e626a31966acf81309ea6a730eb42011663cf10a90a9ec12f3fe133a7d02cfb95cecc6b52cc08571bd03e8315532b7c76c2040b60e9021a24734854b6a3d77cbfd087015410b7322ad5d9b04f651f895ab5bfc25f8cc9703bc67dc5eb5aede41682a17feb1b4339335efaa44a64e8b4eb0bbe17fb00875a06318c1e68c42e6ce0946a59c61700a72779765c405485d51fb10cb0f150b9db466c53e070f5849049d225047bc47aa15f630a6d62c5b179906ee6c067fa3384a4c22748f984eb31ab4cd69083da31a5b45f586560371bc99113c44d05828fa7687aa649b261beb0eb4eebcb8548139bbd6a0a844ca1e4e59f3d7c4372ea8632b278a7e68b59032012c5518a8021bd5367557077c9c1b4a50944ea1a834bb61004b2cba7f6401a57839a3cb85b326449a25457851b4a2bba2e2187f040745fb608079c8b59d2b191813d51c5c3f329b1f5e40771e1b33f63ca400555ce5351cffca2ddd268d7855151618587c8b037e7ca290467e4a7c2c38290b84ab8dc4a839f57102dd559114092165b13b130b41bea2f857c84ae45c1734375a3ea91021014d29ac58f12bd5a44b91ce986e094a66089479dcac23a6275b864195df24f2d4a97f1b26b508c3a5bb89b9f0a913867c1294c252d5022d9fc60ffeb3ff3c29b2dd1aa97f22271c5c8e749cacea39f2c637ff4a235882747ceca1d95e093966462ad401510ec112026bf0fbc106270988b2c35cc7269da693a7d67052f9156d30c916ad6552eacaa3ac2396bc56668686ea8a1578e46658a71b4b7365ae56a263c783973c1b63100b1aff4c3feb64856a781334c6e83519e541511b4d581914c697ff31239dac56662a145316ac4d14e522480782c4ec52b1a2b8a85f657217ed11426a2a606c01c17171fd10824c07042b189225d40919aac5cbe05b031689b1ea61041f6091d961a8910a205e62ff21909c6b4095b270d87c9727a2b611118c84aac033ea9cab5f40efad6117f2160a56505fd775d3f415aae9271a9b2b1fd1964edfb772a9c4875f06826a49c26e93f0b1846e006468de71b98ac6fc0f81ab146236739c9a7b6c13952089d621936e8b265b50dd4016547a2abd52339daa0b459d265558a1d9b61c73e49346396b6155195c9c3a437614e68e23143f09fd28857aaea50aa808600f5c5ca33c5963cc00c4b1c1ce2609486ac4f1b2ddb7b06acb62398a32320f315dabcaf5d4a833e2a01a6e7c971ca15e40c459ef18db8452aabe1584412b4c4dc52e6004ca56b5f48555041cc828a7a6da77c435f05574e5c25efc3c6057443eb77993c987cac2363c3030d88e288f4d08966e624794078a39c53ecf273df178cb022a5fb025a2687409a785cd6c019f5761b0a3087ae91844a69c2a89c1a00b1caec7c1f7a67425b87be02d80b67ca6c7dc3b45bf425dfd33dc5a13e7531907ed6329593c333466d9628668b98422c985182f8c0952cbf5052225363398e516d23678b5320a9cca38e21c6be86822c4fcbb9094277bce80992858c5498c6bcc57db982c196b1a78c317975544ffdf33e57a30dd29a5ca4a22a918746fd9a84ee1008db920432e39b6ff182c930243cf350c6f486832a807a36c8a9242a5c39140eaa7a45bace0086a86fe36be28acec756b5e9a47225638659b250c52b564751ce8c42c39bd1046d2b6cda70b7951707b63073f0eb5ea3fc5229f816ebf4007ce97307c6607b4ca17ca30330570d4f39bf76998147060cc04b33d4b91294f85f4a717ef9c288e3741f70fa5823ab8329f56d9d0b05c996701a050a387362db09427d5587e7751131953146ea3591818f0dde74e33983c010419218b08822da9c3c62eae1f2284801b3e47c3991fa7983d0dd6e7157cfb152538466e9d5c3998a2b8ed862162b91ca851cf4626afbae65ea913cdb263c9615a5f66061ccc74b1ac83b5fbab8fa1eb6799b +m = 90ce0644a11e7225da1f86e1d34d506fce42b809d968d23ff0c6ae57ac5ef075 +ct = 436cdf47bf07bc806eb2b2d2d0ca1a103e5fceb0a2b37ddcf5c5d402105309f33b3d1aba0d11821d4866f0adda5dcdebde58efea48d4203e21e96dc573de83a15e5461c2e103527c10078413a998fa2963aee5ad1b26bc3963d5c50ebb4bd276e67f0855aad7f517bfeb3cad1a4eaafabf59f65624782c935389002dcf9420b4b111ac42e054df00d9d80b32094d9d346669bbe67d4c39f4c7c3a487222fa4610dd61635c27ec1ef94cf4574686915657a5df009d7f2377ee9035b01cae1a614b8f141976307a8cb9c42f65d232b81e2130c71a2a0e4299d66fc42e63c0c4814a5e285b04b9ea5b8e1cf8a71632fa3518f99b2eaa08dbba9bfac8062e6acf982330e2183c45fd6d54d95cf0bc7a18c0d4a28ae377d8bc479cd3424f587b3d2605f826a76e615e06bbe9bb87c05a0c18e2c22b0446660e5b286604e116d424f8d3400448bad4a22ee0112476bbb2a1d18c20034ae320359303275206afae537cd1ce2b1dd8793d431a42b1b66bb090a8ac0ad483205b4f2c09bc0272489a99562db6520b0fc517c06129fdc71886acdc502dcb61d04e3d55f17cf121510b51f2a8afaee90682a171c19ebbb8576ad0c329d7cd2bf687bf5d817112b6f0deea403eaa3e3513c8ec651bb0816db3baaaf68771a8fba2376fd6afdb0fd5915c9778d92e11de5e91817f55d8dbf176e9a0739ab7e21cb1a8e091e7d73aa031a3cbf3765e3b7380fddc2033903171ff90b48b6d1ac80c2b171f177caad0b5418df7586831d27c7c96f74a2a6cfb89f1ed90bc32a560b1c7a9a54f95973f69a525f820fc1f12d1adccf12af64ed7c39e099b40758e2766905c644d974849358713e6377ded0ae907eac372aa80d147afa97052cb7723bf12974bbb25dfd6938b433233432a08ab93eec6b7b0a13fea83501b97f383fc29b9121c7f56252c6698eafdd95735b5516e146a3f5e940179d25b7b20395cf1c2d8d6744f1332f2d3027dfbb887f4463a5d9b08b7e69478e2593b1d31e8db8cc5b01e89630a155bb87e141d65c8c033eb9d1db7a6365d1181a4c510db4b493dc7504ac53dbb07ef6e1ed8271e600fdc42671f1d89524cefe90605e66305101ac2b2617048c57d21adaab2b616a7131183db0f17e32ee8975d3317f53d232c976003680743f5f19abb4a717dd6748dca8d9bf83dde5172ff50481288921519a6ebdac29a3af88c8e11a5d57abdba01dd98f27920a2ec7e62dd05ebe9384a76f5e21607d09281b870bdf6ac9301386407d4f0c50f8aa6e74dc7810a09c87e49d89b330272329a1d175f4572aab50de0140e7f4ceddac9499230145922c3add4501411b0d2fa6bd2812d0cf7ca181a2ccf42cd95a56f6991bd47ed2be7882fb57521da9f68488eb4bbf37d4b6edb4781d21b0282680554c6b8387338c55b65d7c6ccdb4068c4c1dccc4edafa1eca3eb299678f7b76aa149dacf857ed1bc18e5f6b60406071ad00c398b42cce201b219be9f8e62fbe4fdb2cd7cebc6f4cb50ee6e309c66ba934b6a9e14e6735d06ca +ss = 6e98522c0f419ec8b1f2254ddf9805d7e7ea147e2ff1cd5219f55e01f91a939c d = e58f71bf175c0550a67e00e0f7b3b7fc36bc2707bf0c93044a492626de36301a -z = 7f7054814869cf7625e45647bc1547aff288dbb90699b2ad84893f3b755d9722 +z = d79909f31e8168ac129feed8efeb21f07c02f282cb90f63ef10eb2f4a9acb886 pk = 7e395f02d56d41b5c5889bb6b2f149425a2ac8aa06ff23a82841887de199b56c91846392a026b50e87453f44588ee6ad4a443f54d25ecae39aaf286efb47a760da01b6c13fa178811c47a0dfb14110fc6482543e8a3a52abec3a8d7176aa2868b2d46cf68538c27514222a34371c25fe832184206e5abb699d61426027a942581d0bab075a367793c81b7fdc11e2f6772c8040d271be5d07d00b330a6c874b46d26f51db8f43f22dfcd72613f8c22d15c28a2b384051142c148b07f7362eea4771959b635a215b1351f650342d2a071acb16dd8ab50539096f295e44173bcac20f3cb271a8041e3008a742057ef2fb2d78f8a3a3c252f6d38d8e85bd57a75d45ab4dc21b8033992caa623866e8989f98560de33004d3409f233020899340b2591e1a4a0223a79e20b4b85c632ce7609c0c45a0246251468c1b6c20716315a54520c5718f4c5c7066331fc7e953ed91aa5f3b92e69617b29c256657124242ae8305780cc0caf00c92896929a1648be9b47f86f144a3b12d9dd51f347875e6da935f0bd043abbfdc7b85066a7836d442872c56fdd41d9a3a01d9ac6a12531079f74b273ca129f36a7ae463f6464436e50fa70cbc2756bd25234893b50a2898345e588b819c0955e9c50072517d58b0a3e4bfc9832b727c7f2fa924ac672d4d104a8f3ab81200a624c61eb6aa7b4553aeb2084360f1c03e443ab99acb63ac699443a638ba9b8013c7aca95acebc9ed6b12e8be5a6ccc74efea7cefc7a0f5ee18857250d08f03cd94cb4c455141d7aa2fbfcbe3eb896c2404bfa3580bc63b73265581d87618b206caa9468c65bb1863b18f560413d1b1d392259f37c00f7d89124c56913483513006feff89092f218fdcbb8b118b206b64f2de52be0b553665c32831bb4cba3762991716be65e6a222b30a0a5cb246207352732bc3c8ad7a2c3243c62424af222a922787f7fe44df05299da1105f9ebb0c5aa18b6c6c73f43390af9c2454442110aab4aa629c8f300dd38318c43a25d269885f970ddd8ac1e5918e59a3d53dc8a44873eea97c31f34108b893b634284d69153779230c28b2a1636b6b839a4d91b7e23f0414b111f2e7c1b3ed58613120fec37c78308587494233313950d82ce946778e044c3d245a19c29b09a80c3b55416a811af33032a0068c7a4767f05e9aac3e8b99b967f88d5281a38b072b8c4e194794c40bcd5366714525e846048e55c008cb48b5ea0c61655b8819b08fbb88337e20d63003f2453462598ca66181ace033c707c1ae9760ced165596b2b163e54934540c4f7097bdf14d29ea850b95be6fd42973436144270549a81b5f73192c2c6ac2474686a9a3ee556b6f26a9039866176026e25a60b5864e963850cdc8219d21859b5c5c3714434ea53bb16786dde8036f317c430b3bdb025e6b62c097340f1e961b90e0c5182183de05b293a05b58dcc251d8a2911c6e71a635f5179d06d93d33d8cb332c8b835c0e2973261bdaa43e414153118b66c641f834c949e77fcdbcb59dc27089138a2e07a5b40c7666794fd8e6b97685bc4a3c2a65912c35f50a278bbad765c8c775bacf28181d61530e54ae7fdcaa2681a01bf51c0d7a033d6b005893b98da86005381f1c6e600b1787bbbc13a01210c0764a4a2578d4bf90a24704178f06a4e4b110f5 -sk = a32b081d2579d7737a984126b05465963ac3d0fc3d471b94e30b242699ae3ee7a305d187d9371af3568d7bbabdc30ca69be166aaa07c67799dce7345b2024ee41c5a6f35733cd12efa19256ddb74440829c6b52aaa25b258bac8d950ccdea410535bb3a44a46ebc44f5772cdad96596980c32a14916cf5c4a2fa8538491f7eea270543abc467344ff098edb4762f658b6b26431b9863cfa7546c1489a25bc9061b8ca0165528241b4bc173bf17b4e7873a5081016a1c55e4bb1e7f71b849274d03e05e866656c126485979ce9660afdf3622e3051f76d02243e660a5a78c663880a7f9765df45410926a86acc7962878b4037cf2960b06f072367b476eb24b8c57924a9c699815bbeb0bb10b2a88b0c63f0171c759d59cea91c5c043a41a8155e462325893685f18c5458a0ac3e5bf2c696c8f07727c090e1d3502d075a706551c54a00a710027c52cbd83fb9dbd7567aca2b6eb809c00838e56b209e0c5aad2e6235e2c157d3659d906452f4a8c60b26f838a51f6789e42c00580e4595a5c0a12b796cb44240a4724c298abff1332bb0970a3ec475a434ec4dc2a4aa92c42e22035a4499c66827c882b542a8fb22b6b6054984fdcbd6a637583145010d89a4654bf0bc0a0c3b86788459b659a539833629c1b585a13134d766c9e8003282683aac1486a934edd3a7511319a7952b5eb7c5947b69ab5c904b2481a7709c95bca352df45e8bb87775a9cb566581c3777e7b975c629c89063c8f0e982a24d344ee8a22221a02c6538154217c453ac0ecd4bb1f820baab94d920765c4ac15972aa79ba974f3b5055efa7fe5bcb454f7ae70e1c017322a20c73ebf278054060687c6301e13b52952459c56bc8d8795044302fc9123921143ec2c73278939826682126b65c7d9bac044ae6cc7ca40f92c8ff28470e41d51895adb53ae30216b1aba552fcc14ab277a872029f3dc8d56794d842ba06770808f1c097787973b0a14280c5fbcc45c102c23821a07eea6c3abb4b52ae116f4b38e4a50cfb849177766495463197bca3197b53ab72b172c163003c9ab89721eff925f56b59373f5abd1430b0731419a12ba80641628d78d712bbb74579c0a18a4cb2aa6edd76fd7605fbf8214a00aa44e486810f3ac6e36345431c23f247f251112cb8a6c76444b1a5277b7c68afd2c49d4a81fc5069b9a004cdf0587a4a193d243bc5f16357e1b1f280706b4c16f9d8b3b6a5815a1597c49076589d5303a5c89ad320cf6042f2f819cdff04b850870e807b4f2b6bf99aa8f3fd16e95b3bedf247cdbdab048586116db7a4530c360bb240fb2964fd41a5128cee9fa6ad434b536345a49bc758d849260b78cd9f3b3e8461cbe906e93b209742c0abec1c1bba9baa05a8fd05637d26548f48512f5477b93d0bd54f6674158b2f6ea0488191eb023a641b175cc689a2f326214793228138d6da03bfe4466dc962fd2a7c57102cf3f96cf3a6619d2f613ca063a35f4515c0473140b8ec3c53b1d9974021616bca2459bc31502daafc861990c1b97ea1ab5ae018ead781a67a075cc4924f9ea364bec33ed167637f0a643c3a810914a49366af69b3cc25938e77422832b7078c6be562513ee3648758515e3c04f7e395f02d56d41b5c5889bb6b2f149425a2ac8aa06ff23a82841887de199b56c91846392a026b50e87453f44588ee6ad4a443f54d25ecae39aaf286efb47a760da01b6c13fa178811c47a0dfb14110fc6482543e8a3a52abec3a8d7176aa2868b2d46cf68538c27514222a34371c25fe832184206e5abb699d61426027a942581d0bab075a367793c81b7fdc11e2f6772c8040d271be5d07d00b330a6c874b46d26f51db8f43f22dfcd72613f8c22d15c28a2b384051142c148b07f7362eea4771959b635a215b1351f650342d2a071acb16dd8ab50539096f295e44173bcac20f3cb271a8041e3008a742057ef2fb2d78f8a3a3c252f6d38d8e85bd57a75d45ab4dc21b8033992caa623866e8989f98560de33004d3409f233020899340b2591e1a4a0223a79e20b4b85c632ce7609c0c45a0246251468c1b6c20716315a54520c5718f4c5c7066331fc7e953ed91aa5f3b92e69617b29c256657124242ae8305780cc0caf00c92896929a1648be9b47f86f144a3b12d9dd51f347875e6da935f0bd043abbfdc7b85066a7836d442872c56fdd41d9a3a01d9ac6a12531079f74b273ca129f36a7ae463f6464436e50fa70cbc2756bd25234893b50a2898345e588b819c0955e9c50072517d58b0a3e4bfc9832b727c7f2fa924ac672d4d104a8f3ab81200a624c61eb6aa7b4553aeb2084360f1c03e443ab99acb63ac699443a638ba9b8013c7aca95acebc9ed6b12e8be5a6ccc74efea7cefc7a0f5ee18857250d08f03cd94cb4c455141d7aa2fbfcbe3eb896c2404bfa3580bc63b73265581d87618b206caa9468c65bb1863b18f560413d1b1d392259f37c00f7d89124c56913483513006feff89092f218fdcbb8b118b206b64f2de52be0b553665c32831bb4cba3762991716be65e6a222b30a0a5cb246207352732bc3c8ad7a2c3243c62424af222a922787f7fe44df05299da1105f9ebb0c5aa18b6c6c73f43390af9c2454442110aab4aa629c8f300dd38318c43a25d269885f970ddd8ac1e5918e59a3d53dc8a44873eea97c31f34108b893b634284d69153779230c28b2a1636b6b839a4d91b7e23f0414b111f2e7c1b3ed58613120fec37c78308587494233313950d82ce946778e044c3d245a19c29b09a80c3b55416a811af33032a0068c7a4767f05e9aac3e8b99b967f88d5281a38b072b8c4e194794c40bcd5366714525e846048e55c008cb48b5ea0c61655b8819b08fbb88337e20d63003f2453462598ca66181ace033c707c1ae9760ced165596b2b163e54934540c4f7097bdf14d29ea850b95be6fd42973436144270549a81b5f73192c2c6ac2474686a9a3ee556b6f26a9039866176026e25a60b5864e963850cdc8219d21859b5c5c3714434ea53bb16786dde8036f317c430b3bdb025e6b62c097340f1e961b90e0c5182183de05b293a05b58dcc251d8a2911c6e71a635f5179d06d93d33d8cb332c8b835c0e2973261bdaa43e414153118b66c641f834c949e77fcdbcb59dc27089138a2e07a5b40c7666794fd8e6b97685bc4a3c2a65912c35f50a278bbad765c8c775bacf28181d61530e54ae7fdcaa2681a01bf51c0d7a033d6b005893b98da86005381f1c6e600b1787bbbc13a01210c0764a4a2578d4bf90a24704178f06a4e4b110f58aacd8940ff6fc27f175342be74d48075f8ae9320cae20a41c879c27c1bf815d7f7054814869cf7625e45647bc1547aff288dbb90699b2ad84893f3b755d9722 -m = bb5e65669a44e5d5c709bafa98c16ccba6ac2c4ae923334f69a11543eda64f5d -ct = 9e0d9479cc0c6672a85dfcaf8c259cfa1cf68a93825fcad76cbce06fa3e40efc821ca036b349fe50ea23e7e22e1c9cd7f8a930f2dc42f867e33884d0ccaabe685e7a7516ced70caae58ff50151ad1932f41af9bde629f2e96b3cbb7592b178699179e9ca85df7fd2bbca8de9f30afbe3f8724d77042dcfb19c31cf239bedf529482bc947e85334ed7c541b2ccf368d2efeae1582a0622aa52c24905ec634d11ba0d1b20a946f2e571db7f867e8ec9e3deeb544c77d20cfff9a0a44cdfdc42cd972a01aa8822e0bc728a66ebc0038a7ed1dd7bec0e0e66cec422385e0dfe33657eed638341f08bcd32c6be72eac5a378bcd02adea563734105c7ea803ed2d6260993182eeca13a4a3c999a209e78e4d64ed1e4d7bbbf91a72f02f760b654895c6398f3dd7d270d28133d66c13e899b8ec69a70f5983b539f975ef2294651305dca09ed622cf151e337a7027145c9b3af2849ada810a96d391dc6f4fbdc1745dd30bd358ea3507a55f2e3c19a7f27d212397148c52698b59eb1477f8c6ca3fa829df3447fff20f6ab7f5ec445124f29c5f7b79cbab1b1d23e8ec69ede923aa3e734b9c999337014e813bc9e310c6850901993133f11019c95e1bd421896e3d2460e61da9a6a64c7ebf0376395f509afdb8460420f26ecd066f33ef121e41dfbe769be03e25716d7f347d9e9bc0bc65a579f5508bd0562b9aafb98a9b2e5986057632cb409ff5c10fc3d40cb5582231e5bbb4be2871b8ead348c1b9d9e81b876d70d03b9dddae0af4dd5cc6f898817753b35efb191004229b0754e69c9428aaca4daac582e1da39b5983a5a4de38998d26197a4171f5d6c28b90428522f50fc212a923e90d1e2005348a5e47e6e6f6d005788d2b455a3e35349afb822ab5f4f1b9f696e0b186dd2b66a9236179763c639df4cb6d4ff80d3b9942421d11da771b184ede6ac47f74a9250b7ae35b4be975211a9e12972871f702216995dbe6e39688eaae21eea262aa89eaa8a8434120fa4252ead0ba0ffc4f53ec1ab745a171a0f73a60d84b023a4c4e58f173f0c3455c1b056988897c2da23d6caac0de7a36334e5aea093c5d6485ccf06f736ccb18dcdbe853fe6b9441545dfc3535f16d936adc69b9d2ba08c8cc6dad333190788ec3541e4c19b38d4319c0038f5bc41d4574141f819ff48385f45aa0dd7f6d5cd5e70e05d3a4366f9878e74bacee5638b3af0521a50399043c856e9f3e4ed2951bfd758662c82f8ac8325814349110d696b84acc146ab30c00484b241fdf4be8d179f6c8b618f8fb35340ac61fb9e221dc9226a1c59896389b3e24fd844197550016a53c5cf67d7a9f8fba80b7e61b4e39d36ccd32c7ee8948820810811ada941be1eff722eb83cc69b42c396f3ab0bad3118c708c51b73d41c9c1da494c0998c183ac5e592a9e0663753584c0364450847d906f5a261652be33bc0cd359a732b9d1696e245ff04252635540996a57d8a625d37de41a80ee1d51770777e709e673e31c83c739e2173381f4ba99d8e7fbd6d9d31 -ss = 2cfcf5fa2b4c0aaa85c6069616e19e6715fec913592d6b8f57eba9cb4e3b162a +sk = a32b081d2579d7737a984126b05465963ac3d0fc3d471b94e30b242699ae3ee7a305d187d9371af3568d7bbabdc30ca69be166aaa07c67799dce7345b2024ee41c5a6f35733cd12efa19256ddb74440829c6b52aaa25b258bac8d950ccdea410535bb3a44a46ebc44f5772cdad96596980c32a14916cf5c4a2fa8538491f7eea270543abc467344ff098edb4762f658b6b26431b9863cfa7546c1489a25bc9061b8ca0165528241b4bc173bf17b4e7873a5081016a1c55e4bb1e7f71b849274d03e05e866656c126485979ce9660afdf3622e3051f76d02243e660a5a78c663880a7f9765df45410926a86acc7962878b4037cf2960b06f072367b476eb24b8c57924a9c699815bbeb0bb10b2a88b0c63f0171c759d59cea91c5c043a41a8155e462325893685f18c5458a0ac3e5bf2c696c8f07727c090e1d3502d075a706551c54a00a710027c52cbd83fb9dbd7567aca2b6eb809c00838e56b209e0c5aad2e6235e2c157d3659d906452f4a8c60b26f838a51f6789e42c00580e4595a5c0a12b796cb44240a4724c298abff1332bb0970a3ec475a434ec4dc2a4aa92c42e22035a4499c66827c882b542a8fb22b6b6054984fdcbd6a637583145010d89a4654bf0bc0a0c3b86788459b659a539833629c1b585a13134d766c9e8003282683aac1486a934edd3a7511319a7952b5eb7c5947b69ab5c904b2481a7709c95bca352df45e8bb87775a9cb566581c3777e7b975c629c89063c8f0e982a24d344ee8a22221a02c6538154217c453ac0ecd4bb1f820baab94d920765c4ac15972aa79ba974f3b5055efa7fe5bcb454f7ae70e1c017322a20c73ebf278054060687c6301e13b52952459c56bc8d8795044302fc9123921143ec2c73278939826682126b65c7d9bac044ae6cc7ca40f92c8ff28470e41d51895adb53ae30216b1aba552fcc14ab277a872029f3dc8d56794d842ba06770808f1c097787973b0a14280c5fbcc45c102c23821a07eea6c3abb4b52ae116f4b38e4a50cfb849177766495463197bca3197b53ab72b172c163003c9ab89721eff925f56b59373f5abd1430b0731419a12ba80641628d78d712bbb74579c0a18a4cb2aa6edd76fd7605fbf8214a00aa44e486810f3ac6e36345431c23f247f251112cb8a6c76444b1a5277b7c68afd2c49d4a81fc5069b9a004cdf0587a4a193d243bc5f16357e1b1f280706b4c16f9d8b3b6a5815a1597c49076589d5303a5c89ad320cf6042f2f819cdff04b850870e807b4f2b6bf99aa8f3fd16e95b3bedf247cdbdab048586116db7a4530c360bb240fb2964fd41a5128cee9fa6ad434b536345a49bc758d849260b78cd9f3b3e8461cbe906e93b209742c0abec1c1bba9baa05a8fd05637d26548f48512f5477b93d0bd54f6674158b2f6ea0488191eb023a641b175cc689a2f326214793228138d6da03bfe4466dc962fd2a7c57102cf3f96cf3a6619d2f613ca063a35f4515c0473140b8ec3c53b1d9974021616bca2459bc31502daafc861990c1b97ea1ab5ae018ead781a67a075cc4924f9ea364bec33ed167637f0a643c3a810914a49366af69b3cc25938e77422832b7078c6be562513ee3648758515e3c04f7e395f02d56d41b5c5889bb6b2f149425a2ac8aa06ff23a82841887de199b56c91846392a026b50e87453f44588ee6ad4a443f54d25ecae39aaf286efb47a760da01b6c13fa178811c47a0dfb14110fc6482543e8a3a52abec3a8d7176aa2868b2d46cf68538c27514222a34371c25fe832184206e5abb699d61426027a942581d0bab075a367793c81b7fdc11e2f6772c8040d271be5d07d00b330a6c874b46d26f51db8f43f22dfcd72613f8c22d15c28a2b384051142c148b07f7362eea4771959b635a215b1351f650342d2a071acb16dd8ab50539096f295e44173bcac20f3cb271a8041e3008a742057ef2fb2d78f8a3a3c252f6d38d8e85bd57a75d45ab4dc21b8033992caa623866e8989f98560de33004d3409f233020899340b2591e1a4a0223a79e20b4b85c632ce7609c0c45a0246251468c1b6c20716315a54520c5718f4c5c7066331fc7e953ed91aa5f3b92e69617b29c256657124242ae8305780cc0caf00c92896929a1648be9b47f86f144a3b12d9dd51f347875e6da935f0bd043abbfdc7b85066a7836d442872c56fdd41d9a3a01d9ac6a12531079f74b273ca129f36a7ae463f6464436e50fa70cbc2756bd25234893b50a2898345e588b819c0955e9c50072517d58b0a3e4bfc9832b727c7f2fa924ac672d4d104a8f3ab81200a624c61eb6aa7b4553aeb2084360f1c03e443ab99acb63ac699443a638ba9b8013c7aca95acebc9ed6b12e8be5a6ccc74efea7cefc7a0f5ee18857250d08f03cd94cb4c455141d7aa2fbfcbe3eb896c2404bfa3580bc63b73265581d87618b206caa9468c65bb1863b18f560413d1b1d392259f37c00f7d89124c56913483513006feff89092f218fdcbb8b118b206b64f2de52be0b553665c32831bb4cba3762991716be65e6a222b30a0a5cb246207352732bc3c8ad7a2c3243c62424af222a922787f7fe44df05299da1105f9ebb0c5aa18b6c6c73f43390af9c2454442110aab4aa629c8f300dd38318c43a25d269885f970ddd8ac1e5918e59a3d53dc8a44873eea97c31f34108b893b634284d69153779230c28b2a1636b6b839a4d91b7e23f0414b111f2e7c1b3ed58613120fec37c78308587494233313950d82ce946778e044c3d245a19c29b09a80c3b55416a811af33032a0068c7a4767f05e9aac3e8b99b967f88d5281a38b072b8c4e194794c40bcd5366714525e846048e55c008cb48b5ea0c61655b8819b08fbb88337e20d63003f2453462598ca66181ace033c707c1ae9760ced165596b2b163e54934540c4f7097bdf14d29ea850b95be6fd42973436144270549a81b5f73192c2c6ac2474686a9a3ee556b6f26a9039866176026e25a60b5864e963850cdc8219d21859b5c5c3714434ea53bb16786dde8036f317c430b3bdb025e6b62c097340f1e961b90e0c5182183de05b293a05b58dcc251d8a2911c6e71a635f5179d06d93d33d8cb332c8b835c0e2973261bdaa43e414153118b66c641f834c949e77fcdbcb59dc27089138a2e07a5b40c7666794fd8e6b97685bc4a3c2a65912c35f50a278bbad765c8c775bacf28181d61530e54ae7fdcaa2681a01bf51c0d7a033d6b005893b98da86005381f1c6e600b1787bbbc13a01210c0764a4a2578d4bf90a24704178f06a4e4b110f58aacd8940ff6fc27f175342be74d48075f8ae9320cae20a41c879c27c1bf815dd79909f31e8168ac129feed8efeb21f07c02f282cb90f63ef10eb2f4a9acb886 +m = 8bc7f573082482206adac45f410a9a3ebeb4a8538999b681072c26731023fcff +ct = 67d655425dfef7e8ed253ce4f08e08525ac6145de615e6ce9053880a21631cef61405e9a4f40b21ee2ee808503939c140fb399e5636d7cc3e7562d27933ec80ccf67a40b4aacc65bab87bc87446e7bc86fc3d703259c503ca8e3d7c21a7c89ac266c77f54b3aef980a083f1ad7dce2d73502cbdd982fc53c7f17cbec18a66f1fc9d20a787f001948db39545245012da543abe8f643682536e9885da7551d6247954ff068554c1e4de53ec5eae0b5a4cdeafd3f9d8d88e6c27e4254b644eadcce490d947eabed21c1c632817f57973951247a9777976e0f8803d6a89b61805ef8b4b13197d643ef26fb4913573468a94faa582625815fa8fb94eca110e7f0e8b394cc4c62c4bcac308f267f4b8e2ea4c7a25d6d4b2e91f79c788e0e7103999868d421caf0679a48d351bd37f66a7eb97847b8e528f7a081783e9e21e39902dfb50542db4e32cc894898f728cff2b3cffd69402c787276cc1689bb558632f4336b2cf851fc179ba56ceabba5870c86d55269d6ddc758de568b1e230a3e1ae733096ad051c9e852dfe717b8c951af6de3232d31a50f22e77a6abc46c2532e3bb877ec792c68b2948a70cdd3726f35eebd54854b27eb43b9a17e46bddc79f747c8ae36275dd8d147771f4e1722b0d3394241aa02307f3e7e4a4a5bdcd83b559df154e5d77ef50450226b03ce298546bdea91dd40954b674a7c5428d81456b93f1b84a1d268348bf26abc1f7535d29c5923a3bcd3f93636f0c4fc0d2a5a15bf8949545907d35b627249c50abb2672ae5cfe1ac02c0e96efbd56852964cc92cac651a7a0af81243609043b01958ec5ebdf8456f401c620b585eae2bbced2f6f1f91118cb5325909fc5dcc63174ed4164a45c67ad9c936d42cfc8259aeddb132ca86cd2a18ab1eeff35deeaea11629c1e57a789dad576a8d4ec2b5218ae72042315314628233e6325eb518bc0d4d9f47cd44436b120468b368701602bce2f060ed6f3067c2b963d9f2303eba63b648b9dcfec4534db59b6dc00574896e7096ff7fbd4b94c02127f97107798f0057310038b17236efbcd9eadfb9af8f91ab55e46a7d99878e3ab55d863aaf5d48bcaa3a9a2b02ee54c978b0c5503a5d561e2d33589c3e41adaee18bd46647434f59a2160717021198ba669297183613f25b6f247c2bbf133a5867e554f5c9324eda03e6980594b4c8d9d31d3e439fc5945879cadbf9c701784122ece30d6b836c01f3f62117ba7be959e3f008a8435b498797a17ad9a4ffd7b3894b6538eddcfba4a2d460e5eff9292156a92e2fd19f7c10823784862b87cf19f5dcd59d8d1876e3b248d6dd2d58bcfcbf135497b08b5d0236692d00f1117dd96635b629b9d4d81b1a8a94f9b6be7939fa90619784cc65eb048045343c0c0fa54c5f58c0c75b0dff8bcd38e44c9a45f1f34f728ae829e825062901ab7286fd4429d609ef63093124aa39dca203f2e201dad8e6c16ac9f43136ac52c6958f273b630f2150186a7f0f8e70b6dd331aa5bb94d00b7a26b7d0d23d969aaacc2 +ss = 5f40486d6cd463359464296cd0fab7200e6fa2c896a7ad78108ab279a8115476 d = e3fc575ed51513e62aba655d24cd9c8f1c6c848aaffa946c49a53ac3ea59e474 -z = d82c2f1bf2e6aebde5660fa73356982e12999d8fdafbb3cb186341d0386dead0 +z = 648e3fae1aea06e15778f3442223574e9c7823f36cd16c72618846331f95e91c pk = b5d6022ef207e7629736d614527619e33cb92600a1e39a20b25a5b16eb0ec1070e5d566b28449bfb38936f44721ed428ced5768ee647a771b7d76a30c7e5563b515f5aa89ffe994cffd9277b0695049c355267b3a07c61f3c5a2c0d4ab8df76129c19f44f762b51bc0374a43e6f6c1155901b2430b2b77afc9ba4e14d3658607387dbc2d12b99ec0c0b0c2721af298a6ebc92a7e6b97bc460674931e21f68377c8303b24cae8d5ab720c79c4399414a514254603b565397857a7078b36e24a262cf9070a92c034c76614d5ab455b60b3b3388500946677195cd587942342a6fc91bef144ea412ece186a422b85a213c43fd0c361aa00698458f5c5370c6c553a9c238201754e2b2e2785bb03053e0b414e472087a0276bf2d805cf477378ca34d8f01c21b433f33b49a8b9bcf762451460558fb9c3cd071e654c250df04b6541baa278c1669bb49ca3ab4c78cc92d0137a2864bae0c904e23aa28395edcb435d9c1cf742562d603bc61c521145ca16f69192b137ee372f04402527bc557b754e187355a388410751267561a6b1f59e04190ebc604ff64a2b08b244b57abe84f18938c5a9ecdc972191bba33915c653a84b1a970aac7343ac98bdb7bb877a3170e8b1e8693fa5089f421281b5763865c584cfda6aad7482d00a0520d947fddb173947865fe178f9800570d4b2b9529a42a514a8691c8531a271c18e5f84380c20cd9a992051d29b5be76b2235b511514904e3b284e8854556334515162db1b09894b18a3127982269509bbc5e8758015a5b810569e544bef9398f7d195a50a958dd78bda187cea0b7b2bca04e2cd90db634a3d52b734e224c4c60ba3c8240d7b2755ae5892a09a0e7ea1b2424402c45a0ad59563ab97ed906a1a15b8c4412219203ce6826b91dd00ad602089ebc5163b416c0d02009a7a5440350a00a7b49309ce39ba26df79ece038f23f4b4300c01287a51f5fc619eba04ab1b78e6396bb23c1cb86a0f3bb11f7d31a161a480b8f33734cc63ea7219d76bab759b1ab3405ca61b535b893b1bf2b678849751a6a4f18923ef44470e543924d0c462d8a078782b80241334f547d2aa474d95b8709747162b228993ba15a0c4fbd8bd662a1a2f01cfa859ca723a011949823fbb55947b9c27c2bad547b0e6d29665071b30f3c8c536651e6437c0d4a314ab38a8f707928c0c2b864a3a67397a936dbfb98fab2c0935441b83157d05072891a43573882be97686534c8bc7015ac267b75f0a79c6991cb6c96c735a4bea90acc9bb6ba1b12388f0821a074018909f76944d9295b5eff73e70ac1b0e1644e3a40685305f8a0626b2f05969fbb4cae07c61f6213159b3471654a88ab58ec3a648f2944625820f6592c67126bc085dce216fa708089d4947ab911ac14c00e53782a01580fd967594e0b2b2a3272d590aa70c7a3f419accd33c1b1294d21242c739a3e8e577316c23ebd4b4c4d0577b2bbb12cca71841b54c0b76729320bce26dbfe5bbc017c92491762a6c938d4bb0099aaea190813a3a78e5685d83975050d719d6b6a80ac313d3018d25b9054b5013f832c1353401e6cba3fe527b8d2906871b79836cb35284725e733d8fb60e6a8410e5f61428a3cf9c25fd45802d5699f33205a71d6404704483bd2c82e92ba9457926a45bfa0985 -sk = d1f46e67cc5aea63ca9ec413938661c2f8156cc79e10a64174774545b597e91a8cadb58deb15b27f343073b071873870bf858b5fa3ac3689698deb68c570406972210c2b9909571a12753448e00e6a0c165a101469828e8f60a16b55478c8899d9a38c1751bf220a60a999b0d2a429b375137db8bc9b85ad5fcc073355ae630100f8fc68ebb8534135590ce22d0a0672ab54936c8665aaf476b50293a32135283777c375767b04547501a53b72a14d3c4de4e001d16b2b2b598a22d784a3711c39db183ac82cf895b242954b41c713bf464464917d6b608d21b67b3519a6df161ad237359e262b95c6be3a8522b9248346785fd0db03cd083a21092f4d91af156b12f4c9c77c11cc0b68adbdb813beb21289743758f8136661704d0c5ca9302a064040334017d47815b7c35363f5c730298670536c69c122cc91cdfd18783efc4c39c8c29cb1023f1488a7469f1cfc1d7ebb3d1ceaadba3b07310000bd89c043290abed896e655cb1f43a1c7335aee30044d9652e6d3b8e394218f63072c7050a2984032c45735a3aaa4108aed8b9a19c13b9bac28ccb123d9987c45b91e89b7a949b5b4ad56abe4237f21dbbc53ab651bd4b703069f82133c54acc1aa415df9961a4785337535869fb758cd04b798907e36197ea428c66aa516f602404e87341e154a0e09c881725cbf00761fd9645b658d97d21f33059e4a898deb0c826d9057ac302663897d71567117fc4416c860775b026e51a52663711868777d542f1224b277ec005f2bbcfc0c84146591cb36caba82692b010de229797cac57aeb64af446a896527bed9b3e55539c0f6a0e9eca5953890b95b0b282c3a4c46a44a8705a54a8806ccc0d3c736a20d34aab118813651d85f12906958933d69679d0457a4817dc83b525ccc63e94c1bcb1c869cb3a0bc46d47084481c2563754aa8f44682b870ed04996cb8886f43b91ac8767ae12856ce5b85f55c8802830ba1babf5797d0da723eec24616a195ac809371d93f89b19c874c840ee9c39e7370ca561b6e91552cea47f1d09c9cf633e7cabc9ef85f89d01a29d9cfca8143bb05c3015b3c6035afdc45ac7b08b5406566bf864657bb3a82322793906462c03c20969f76c2c8c8ea2622a373c3e40164a77055ebae05787965b60a861c09658c32d4194dccd7ab1df87826590890b1785f0385b965b5ab3b870a0088696a783b5c7a69962b86f789bd43588705315258c117c4313198af42e2b7fe39894a86189ffc4e8c6bac5e7a0f03d86d18089a6999972f309a6debb365781f64197165d259bda98c7a920a9e790bddc587e7c08040d649b8b08fbbf36d1904970354410bd77b87889668566cdf4a94e1c65b04d33c269c5152b049850857308ba1310283a976a31db34722e97c97da85d14372e14a8a95bb45c63670bd7712686200d451cafe599ab0d3a183d2b0df7b8fbf0995042ba0ce682eba8b71dc6c0744262c75b7638b51b9c4931d4f7c842328486a799d06027cd5cc75e4b1b6816c2ad66b86ed047ef978184bd344c00aa1200432c5d142246b883b5b85ad5cc8f8fa994f4a790f3b6c201353f77aa9b7e9bb195375060282b7da42ecd36295fa55f8b5ce94b812bc421bb5d6022ef207e7629736d614527619e33cb92600a1e39a20b25a5b16eb0ec1070e5d566b28449bfb38936f44721ed428ced5768ee647a771b7d76a30c7e5563b515f5aa89ffe994cffd9277b0695049c355267b3a07c61f3c5a2c0d4ab8df76129c19f44f762b51bc0374a43e6f6c1155901b2430b2b77afc9ba4e14d3658607387dbc2d12b99ec0c0b0c2721af298a6ebc92a7e6b97bc460674931e21f68377c8303b24cae8d5ab720c79c4399414a514254603b565397857a7078b36e24a262cf9070a92c034c76614d5ab455b60b3b3388500946677195cd587942342a6fc91bef144ea412ece186a422b85a213c43fd0c361aa00698458f5c5370c6c553a9c238201754e2b2e2785bb03053e0b414e472087a0276bf2d805cf477378ca34d8f01c21b433f33b49a8b9bcf762451460558fb9c3cd071e654c250df04b6541baa278c1669bb49ca3ab4c78cc92d0137a2864bae0c904e23aa28395edcb435d9c1cf742562d603bc61c521145ca16f69192b137ee372f04402527bc557b754e187355a388410751267561a6b1f59e04190ebc604ff64a2b08b244b57abe84f18938c5a9ecdc972191bba33915c653a84b1a970aac7343ac98bdb7bb877a3170e8b1e8693fa5089f421281b5763865c584cfda6aad7482d00a0520d947fddb173947865fe178f9800570d4b2b9529a42a514a8691c8531a271c18e5f84380c20cd9a992051d29b5be76b2235b511514904e3b284e8854556334515162db1b09894b18a3127982269509bbc5e8758015a5b810569e544bef9398f7d195a50a958dd78bda187cea0b7b2bca04e2cd90db634a3d52b734e224c4c60ba3c8240d7b2755ae5892a09a0e7ea1b2424402c45a0ad59563ab97ed906a1a15b8c4412219203ce6826b91dd00ad602089ebc5163b416c0d02009a7a5440350a00a7b49309ce39ba26df79ece038f23f4b4300c01287a51f5fc619eba04ab1b78e6396bb23c1cb86a0f3bb11f7d31a161a480b8f33734cc63ea7219d76bab759b1ab3405ca61b535b893b1bf2b678849751a6a4f18923ef44470e543924d0c462d8a078782b80241334f547d2aa474d95b8709747162b228993ba15a0c4fbd8bd662a1a2f01cfa859ca723a011949823fbb55947b9c27c2bad547b0e6d29665071b30f3c8c536651e6437c0d4a314ab38a8f707928c0c2b864a3a67397a936dbfb98fab2c0935441b83157d05072891a43573882be97686534c8bc7015ac267b75f0a79c6991cb6c96c735a4bea90acc9bb6ba1b12388f0821a074018909f76944d9295b5eff73e70ac1b0e1644e3a40685305f8a0626b2f05969fbb4cae07c61f6213159b3471654a88ab58ec3a648f2944625820f6592c67126bc085dce216fa708089d4947ab911ac14c00e53782a01580fd967594e0b2b2a3272d590aa70c7a3f419accd33c1b1294d21242c739a3e8e577316c23ebd4b4c4d0577b2bbb12cca71841b54c0b76729320bce26dbfe5bbc017c92491762a6c938d4bb0099aaea190813a3a78e5685d83975050d719d6b6a80ac313d3018d25b9054b5013f832c1353401e6cba3fe527b8d2906871b79836cb35284725e733d8fb60e6a8410e5f61428a3cf9c25fd45802d5699f33205a71d6404704483bd2c82e92ba9457926a45bfa0985149e0b6b49fe8adba1217c2c57c83f2b8c5f1d92f319e502b184a65869214f75d82c2f1bf2e6aebde5660fa73356982e12999d8fdafbb3cb186341d0386dead0 -m = 9ddb3aa9c7905d1a438c93bcf78e3e321813580371ab4e1289e2dbf3701972c2 -ct = ed5e2079428744f1871bcb3803773997fd3cbce4d574d7489a7907c84716ad220eff0c0caeaf0f784d0a633f8724d0d70a4e40f115c49bf1c5133a3a99a5f6027bf2ba7bdbef436d1d8e4a9dda831da76e127bfee0ce3c0483646402f789205d95d406421fefb2c5a62d60f4c47ffc7c3aec46be075bf05fb6336c78b098f47bd1b368f2e5c3da0e1732f43e67c14c556ec3f7d977b70491a35b5539b8532ca72cae5b5b8e9936a6fb3a565b535d33eea5c1b35a5da0f3bc589b109cd12280db6557377e9bddd74b06e583da873b78f96f323dfef547d6eaa42d4e450e7cd213df9b598c9d2134df772e64cf09d7084ecb4dc6fc079e6b736c2d4b2fda87b9ed23000e8558c90f5cb9278ffbac209702cb4f3228944067cae55cecccf609f126465754d1040bff976623811e7a9a1cdce5d9001074dc30935a06b6543fb5b1f4943961b6330fa0138604b1102dc0f0c643e409eb350e15ccd2ec73280c73dc513e30264ec961366ef741d9ced8f116fc73728af6ceec1b61d934124522068d063d5e9479335336c33b7d8ea0eaa02f2e20d0ba7663d863ec198c3d4db75f0787ee80afe016ba37f15949c2e7b84b72dc88419db17f2e992d0e89c451200aa97372331e3a8237ba5ae4b527e33f724f45a8507c22532f064e6843512613d762e5de7b0fc41670089c15d2f78f8eddd1df63d350ac99708459dd6b667e9244d6cd1d3da09d9b0a194e2e169d5ebfba9dfc84e62f678a3bf6f0d7ba198b8a1dfc9023aaaa06890fcc8ade8769c0b049c3143dec8282287c07c9244cb5cf4592e48cec9fb6db7b26c394ea09405194845588f8f29d872502c81d55d11de84c1507c29f7eab440d3d5f9d43806e2c3006e3a716f39d9b3deef5fb68d3f58121dd5ddd0fb2df785b6c6a02ff04dc67dab0928d8ccbb8e8d60f48214f4bb1bc770e940501491af59f951740ea8c052bfcdd5f22082c46aa94a0e0279aace1b3a8aa11ea177f8c193e1530b65033f0da63e1396e5f094ee8d87e87b0738804fedba103c38b2422c712b48e1c9515ffbbb7808516c3985250fdf5727e4b3799d242977e9dbb35eaea63971d2807ea18290cda801a8654d3c6035fdce27009368846d18eb5c80615512ace4c93448552855c4901ac2d3867fbe4a1279cb9f63bab8348e2128d8435a09db1abf5112e8d72bd5d3f77a93544021ec281494267efd97cfd2b21881dda6c49cddd56bbe77e80be8143c1f38fd47de797f45a054ddde6b3117f5d02f78222936d7d3b10135c0942812c049bcd5b257b7f6ac111c92e43c250536b85171ef4337e1f7b55cae372c943226fc29a06b2af4d2b69a6a68e91881d6781806510e565ca3776204aded42213168c22e6d33f167ca62e552f057d8f0d3e0648fe810d5514c5bf4d78410cc41333313716ccd5f0b5540e9106f7d0813ecad7d180af071464088f6d233b606c495d78b372c16fe8f94cd574de08c7369195620704682d7f1465d02d04a87ccba9bc55bfbf2e4ec387b84aa70e8ecd6ebe7870 -ss = d3551ed0fd716e4887c82a6f24c5008ba80a9b5c3fc9e50f188eb224be8102c8 +sk = d1f46e67cc5aea63ca9ec413938661c2f8156cc79e10a64174774545b597e91a8cadb58deb15b27f343073b071873870bf858b5fa3ac3689698deb68c570406972210c2b9909571a12753448e00e6a0c165a101469828e8f60a16b55478c8899d9a38c1751bf220a60a999b0d2a429b375137db8bc9b85ad5fcc073355ae630100f8fc68ebb8534135590ce22d0a0672ab54936c8665aaf476b50293a32135283777c375767b04547501a53b72a14d3c4de4e001d16b2b2b598a22d784a3711c39db183ac82cf895b242954b41c713bf464464917d6b608d21b67b3519a6df161ad237359e262b95c6be3a8522b9248346785fd0db03cd083a21092f4d91af156b12f4c9c77c11cc0b68adbdb813beb21289743758f8136661704d0c5ca9302a064040334017d47815b7c35363f5c730298670536c69c122cc91cdfd18783efc4c39c8c29cb1023f1488a7469f1cfc1d7ebb3d1ceaadba3b07310000bd89c043290abed896e655cb1f43a1c7335aee30044d9652e6d3b8e394218f63072c7050a2984032c45735a3aaa4108aed8b9a19c13b9bac28ccb123d9987c45b91e89b7a949b5b4ad56abe4237f21dbbc53ab651bd4b703069f82133c54acc1aa415df9961a4785337535869fb758cd04b798907e36197ea428c66aa516f602404e87341e154a0e09c881725cbf00761fd9645b658d97d21f33059e4a898deb0c826d9057ac302663897d71567117fc4416c860775b026e51a52663711868777d542f1224b277ec005f2bbcfc0c84146591cb36caba82692b010de229797cac57aeb64af446a896527bed9b3e55539c0f6a0e9eca5953890b95b0b282c3a4c46a44a8705a54a8806ccc0d3c736a20d34aab118813651d85f12906958933d69679d0457a4817dc83b525ccc63e94c1bcb1c869cb3a0bc46d47084481c2563754aa8f44682b870ed04996cb8886f43b91ac8767ae12856ce5b85f55c8802830ba1babf5797d0da723eec24616a195ac809371d93f89b19c874c840ee9c39e7370ca561b6e91552cea47f1d09c9cf633e7cabc9ef85f89d01a29d9cfca8143bb05c3015b3c6035afdc45ac7b08b5406566bf864657bb3a82322793906462c03c20969f76c2c8c8ea2622a373c3e40164a77055ebae05787965b60a861c09658c32d4194dccd7ab1df87826590890b1785f0385b965b5ab3b870a0088696a783b5c7a69962b86f789bd43588705315258c117c4313198af42e2b7fe39894a86189ffc4e8c6bac5e7a0f03d86d18089a6999972f309a6debb365781f64197165d259bda98c7a920a9e790bddc587e7c08040d649b8b08fbbf36d1904970354410bd77b87889668566cdf4a94e1c65b04d33c269c5152b049850857308ba1310283a976a31db34722e97c97da85d14372e14a8a95bb45c63670bd7712686200d451cafe599ab0d3a183d2b0df7b8fbf0995042ba0ce682eba8b71dc6c0744262c75b7638b51b9c4931d4f7c842328486a799d06027cd5cc75e4b1b6816c2ad66b86ed047ef978184bd344c00aa1200432c5d142246b883b5b85ad5cc8f8fa994f4a790f3b6c201353f77aa9b7e9bb195375060282b7da42ecd36295fa55f8b5ce94b812bc421bb5d6022ef207e7629736d614527619e33cb92600a1e39a20b25a5b16eb0ec1070e5d566b28449bfb38936f44721ed428ced5768ee647a771b7d76a30c7e5563b515f5aa89ffe994cffd9277b0695049c355267b3a07c61f3c5a2c0d4ab8df76129c19f44f762b51bc0374a43e6f6c1155901b2430b2b77afc9ba4e14d3658607387dbc2d12b99ec0c0b0c2721af298a6ebc92a7e6b97bc460674931e21f68377c8303b24cae8d5ab720c79c4399414a514254603b565397857a7078b36e24a262cf9070a92c034c76614d5ab455b60b3b3388500946677195cd587942342a6fc91bef144ea412ece186a422b85a213c43fd0c361aa00698458f5c5370c6c553a9c238201754e2b2e2785bb03053e0b414e472087a0276bf2d805cf477378ca34d8f01c21b433f33b49a8b9bcf762451460558fb9c3cd071e654c250df04b6541baa278c1669bb49ca3ab4c78cc92d0137a2864bae0c904e23aa28395edcb435d9c1cf742562d603bc61c521145ca16f69192b137ee372f04402527bc557b754e187355a388410751267561a6b1f59e04190ebc604ff64a2b08b244b57abe84f18938c5a9ecdc972191bba33915c653a84b1a970aac7343ac98bdb7bb877a3170e8b1e8693fa5089f421281b5763865c584cfda6aad7482d00a0520d947fddb173947865fe178f9800570d4b2b9529a42a514a8691c8531a271c18e5f84380c20cd9a992051d29b5be76b2235b511514904e3b284e8854556334515162db1b09894b18a3127982269509bbc5e8758015a5b810569e544bef9398f7d195a50a958dd78bda187cea0b7b2bca04e2cd90db634a3d52b734e224c4c60ba3c8240d7b2755ae5892a09a0e7ea1b2424402c45a0ad59563ab97ed906a1a15b8c4412219203ce6826b91dd00ad602089ebc5163b416c0d02009a7a5440350a00a7b49309ce39ba26df79ece038f23f4b4300c01287a51f5fc619eba04ab1b78e6396bb23c1cb86a0f3bb11f7d31a161a480b8f33734cc63ea7219d76bab759b1ab3405ca61b535b893b1bf2b678849751a6a4f18923ef44470e543924d0c462d8a078782b80241334f547d2aa474d95b8709747162b228993ba15a0c4fbd8bd662a1a2f01cfa859ca723a011949823fbb55947b9c27c2bad547b0e6d29665071b30f3c8c536651e6437c0d4a314ab38a8f707928c0c2b864a3a67397a936dbfb98fab2c0935441b83157d05072891a43573882be97686534c8bc7015ac267b75f0a79c6991cb6c96c735a4bea90acc9bb6ba1b12388f0821a074018909f76944d9295b5eff73e70ac1b0e1644e3a40685305f8a0626b2f05969fbb4cae07c61f6213159b3471654a88ab58ec3a648f2944625820f6592c67126bc085dce216fa708089d4947ab911ac14c00e53782a01580fd967594e0b2b2a3272d590aa70c7a3f419accd33c1b1294d21242c739a3e8e577316c23ebd4b4c4d0577b2bbb12cca71841b54c0b76729320bce26dbfe5bbc017c92491762a6c938d4bb0099aaea190813a3a78e5685d83975050d719d6b6a80ac313d3018d25b9054b5013f832c1353401e6cba3fe527b8d2906871b79836cb35284725e733d8fb60e6a8410e5f61428a3cf9c25fd45802d5699f33205a71d6404704483bd2c82e92ba9457926a45bfa0985149e0b6b49fe8adba1217c2c57c83f2b8c5f1d92f319e502b184a65869214f75648e3fae1aea06e15778f3442223574e9c7823f36cd16c72618846331f95e91c +m = 6e357dd587894d497886bb4c678cf1ed347d1d85bc1540d31563106341718e16 +ct = eb8f4303810f5dce157d562b289e50243897f77673570df5c856f1beb2d743071ab087c8a1a5cb348e89078151ce8a86e8f0d6975b981db9b05e5b2f7c50897a79d14d24c9a2c6ce8a343745c6277e2572e5452d61313c20a9a552bdc542e1566a7b82e940268ba9a1ea248cd68d069ba75df9d9fb8488da53855c2226cfd20f0498648e541e1594808d9172eb2c4fb08e3da3f9650026e4f34f4759b93f1cb68ed3f389e61aef94c2f793da0cecdea45ad01bd856d69bf64568d42d51231f3133b39a893bdc06ad359327e69af54933ab1bb3448737decd03ee9316cb8b6acc1cf0bab6b03c313121eaddff0af11557c00ecf65e675eb8e78008fe6cdd1260d292fde63b7cfe40e60dad36d7d72ed6c81f29b39145d73f2b657a5387fc20fbd871e81aef2ad06a4530c1e5bf00234a092b3ff903efe6552e24aa12b844a49ec86d3ac1a87974533671f779010a6fbfa5e486a54e0d44b5e71ef300cc66b43024eb2e3110440a1c3c9f70a237d0a710724a9366c23703c7b4e7b16b936af9e1a60bc0ddac878f552707da488b536f34de7b9051f2999f02fa6cf55f6c7d9a6822d5d9fdb7df80e91ad1ea7df5d6e4f022621a6a5bc34fdba8a1772a304be808a300c51ee3e2974a48117f3b9e682e8d5f83a366129979ca1a44bb401d91ecc941103f226eeb185181a259deace880f72d7a145335bdcbfc9615ebcf06dec27efe19c8dff9fba16267a8901e2c311b9c32724c7099a917ce78885e74d829bc1d75472771585a1250eb209f458775087fd2608746870e897b1aa889aba38c9a14d7323fdeccf1e6fcd2cd4237dfcf6000c3213d3e71aad890c04b0ce3fcd311fb1ac007c5b067a5a7f84c40480d6fb551720ea08584a5e2b9ad475cbbc6e57a91300f4342ad31c4b20f345de326441bf91c968193556998ff51eaa6b9390def76e4758b927874baa79d376441e67232433769ccd272d467c7dd7788c0a4a99719e8537317ff755c8e148fe5521b3263ac15366f11f8bdfa7013b7caa5b62cb55d0444e4b075587314e36378288d3ad512cf276c7996d5470fe127e8e55cdb4216b54317f103e133b20ec177169f2061f2cbf43a9945396b239c208549feffd58e63e7a724034b58cad5fb61493b6a67075915a3e492962e9264382a93bae9fcfea1ff0c30be9f521f5cabc8bf28bbed8a58a0be9f454f4c3c96de31c5238d64543ca1748b4a7c5e86eefdbc9a87fe1bce4a36261e8547465f2b008e58420892902f79f989707693a71ae0f03d54f2b4dd634d032fb03c77cd24c2cf30853fe7cd1352842abc870688dcbde05ad5909bfcb3794cc1f8fb7f8d6a98061f3aa965af50640d1d7f4d29dd0e346cbc92568b9d2d6887925658f712a656cc04a39bea964000f7a4bdf97bbfde5d55bc384098231ce774a31e62ade752ec6d29ed90e8abdfd6a2e146cfac96aa3cfa1ba7f33bd8780f7d2e8f858911e29cd2510f12d91e643bf5f449e4d16ab93fa52b06c980cde2427f098259daf5c31b18150e88b5e80 +ss = d8b6312262738999b5c37ee0249a08736d84fd75a5a085e491f64f7ca14c3e29 d = 470b4943f0fe7fd0d8ec5185aba0d1db09d112934e4fb4787e2bbc6b88466e7b -z = 8b2809fd40008be70a6b184981101724bc3d5ec5e1956b510b82fd5ad0668a5a +z = bb02d701fd1350aab462cb65dac4b2f75928d378dfd7a0360dff9185175538fe pk = c55170fe0945513748c0ecc9098a02e9d51e44acc267272633645ad562816d479466b54d2150afb682b4f32265f1f4bced21caf7c7980105b08056cc4192bfe0da9aa5e00864b0a34712204cf6ae82dbad360a7c840b4804826c39a59ae029056c1b2542b6a589eb47c14a70acd1731bb0a4d657656915b91d696b2f92afd82245945c7b77958a5b6a3b6cbb179ab83a0f32591b757e8b68368d6a5ee63490604aae70ea7fb4619c91a455429a6b195214bd28bc717385d3cb8235991c05088c7939bf852125dafc3bc368479165438092b530bb2b869246988b8f85425a2a523ed108c6d2f54358580944d64d801078a4b621f58012f9d8a17a92ab8ad43821e24e2f87bfa844abd0c6b08650ab76d5397f2cb0060b31af689fc8612249d46374848f496b360e733fc991809da804dcbab14030a4bd18cfe37b41cad91a66a263437b7ddc2484ed55acb16ab95a1a8c9345a898e89c37248f9768524c616babd17a8dc7924f37345dcc32de04273c5a0ac038a133ba01ce2481ffb57ba153826a7cc4123570293c82082b6a75fa05031cc7fdbb9031e10ca94aa283aa26eb3546f894b646b9a85afc5df3b513db522efb340287c64492aaaac5fc25547129b56b9541eb0912222c2e60a11b9304692a749bb174cb47679cc294253b0f768a7872f698c23493fd908c9ff95f9275551b947bfe84780f86c1e0bc105f6cb7c9430369b58bbb07b3b0c87d8541618c76a43d52c98a08166e052b4487177ad222e6a002f7fa3f3601cf1ef0b4c02ab550d76447eaa695561118a46301b544b493c368b5b77ab17c5af4543fa6a8c682a46af39ca48046b1529684a53d0e492e1b8596f55334ade15591dbc4b411537c88a5113458f187a6d77278675b0c85bb017416b6e9543fa1b924b631ac1ddc5556127548fa8ce0c90125139bdf13428e2c7805607a44251a5f289be4e3a2c3c95c5b5cbf7c87b4a7d87a39a44b672bbe9af8343dcb062ea3a039e949a7f151c8900484368f1cfa385bd13cf55685bfa4b959f8634ed7c437fc9c044b401683cc7482722c98583de24ead414c1833858be987672c557db87aefe4ce2db8a676d14083462db35862dc0cae95f88ec1f59426fa2e24e9cfc54813be07c98f78a87b9703276b455e15474d7a283d5738d4b639369077e7790dead3336e1467c871a571080004a91162fcc31d2912646a9406902248fbbf28dac4343b081c327743335b9efa4b7fd13d5177064a5b6e8065b64d8c6580b47e6472c8f5139268145ba7a23a02f59acf680692b20ec2dcc087a99be036bf7e9c8c0df15f168c508ae28e33d951740a9b0f0321e35cc01328b7ba860592b566cb369b21f51b7ae583d26652da729f07f5b8d59caec65aae42c7c9cbe73c68504f26670bedc542fbdc67a95c9f2da1a08e559797170ee63147a4688c8e101e5aab48a4d1862506cfcd297c7ea61a9ed4a54fd3a28380292fc1570fa2ae43920b0e940675b60534425c69f35bba714c88b3a6c323090b4c56b7f89963059f8ccb0994373fc1344412f694175c2eabea110e035bee6abf546396d79472eeda164bf49350f54c2e75754f502de4a42721b37974a8266c49b57c6837b38a28ca489f02fa05307d7163b35ba6a4c5024b70ba27db0de8d64bb8b55c83bfdd24 -sk = 09d0009aa9878c697e2eac9cec9675a9570660346547d7aa8d4548e3aa917e238cbbc10c389445d15714b237566cb44132d6983c9610e779570b74482d5ba2742a1bb51c68142c1680b800f1938795367b6d8a56c32a0d77922c78116643530aac01cfb2692f4bd6bbde615a3335b397487db8a1175a043719ea58d0dba627d7c8511468b34442879cc227e6b39e084dbb68be71cb988766114a80b1979118eca08217540f032966688c99feaba06d0a0a1e701deaacbcff9c2f2948a209ac8ee505c85fe0444b5c70d067100b63cbd6d98f9aab73cb06c97ff31d7aa0ce188707ddc5c07d495b27957b369055650abd5d9b9f75761770920dd0b574a5841c3bbc9f6f1ab0179c118c7a83b2934e950b3dc732c84264c66fcb0df78975fcab5feaba4e6af97131696a0cda1cc9e2c40a266fbe6667c1abb361f063103311a792b95cc525ff872bf3f394ffb48b30b334ca02bb32a901e3478f811505da066de6a5caba425df83c27565ca48b16bb2855a797a72dfd57615d5117b24374c2d306473a349521a8107790d268ac6b5813c593cb9e8621f8c68fd2e8082c491c95c5ac74c86dd37b0a4ea0cb66aa576af50fbdb0a31235bdc9e8107f1859acd2674fc72c6669a3465556f90269cc30b0a8f53563378ee016a7abcb5460d5371b01754bd7373c2314e2a42d98636112f3cbe0638e513b38d4850afd6a1d3d485308181febd88b75f532e4541965e0bc592885fd1c1b3108c33f74725850617b526ad4f2c8cecc19b0a0ade15057c90ab086c26cb014bff92988903bafefa3c4c96ccbcef178f988a40d339db324257de69a119125c52a4147360b1274808299446ee768680170457acef18814559996fa96b418275e031199e0d578e86c946381c369ab839b1a75e9d6845c98aeca24253b3b0f00ec7e92cc6f6a40a4d8b04900ca3e78cc7a5c51886e0901a908bf0a08947e3b524f1c606b055451ab6eda2bbcf832510b3075e2cb0ecd493b71102f4ec69565f96651a3a2c3b738c2d55805798253e055dc8508b98822e6803785130d22e494b50025b0ccbc69667013c4ce4a140c2e9ba928d41d7fb5237da8c5ac0310ef5007b2b0c6737bc17a747c5a2c1f3c1166bc2b0ad7aaab1d870e54694c1ca293665286c4eaa35d34bd6ea7aacea04871c257cf63641264aaa0db4f65337274356f71d02310a57e44d23ec6b4185bc5cb45a65d3b592af3138216332060264a6e53702d766d0f4a0f14f70b75b780688591cc414283a59ad2f84d665354d71c2aaa1c278ab6c8ba902283b286f82761906c9b2796595bf5ac01455ed2b43607207a30c949afb1ba5c50659143c98237279003ca820b4b5963b0882a088ce09c99f4a6368971a7d6885237bce28580e2ec483fa305fffc0aca173a89cc41727a55d4e29a8c410b3fe851b3d58b58c31920759ada529da162cce47618b2f715f3658d71f5455365c67b04748b371a5a96b75f342cc4c031c713c04d2b6cdec0cc92b7596bf4a2a0c91537a0c8174b3456489d2db70d3af2995c4830245120e9411e92ecb2293700973386983a0c6591cd5eaa34d5cc00fd672d20a604e78696d5542646c120e02c8dc5162630e71465accbc55170fe0945513748c0ecc9098a02e9d51e44acc267272633645ad562816d479466b54d2150afb682b4f32265f1f4bced21caf7c7980105b08056cc4192bfe0da9aa5e00864b0a34712204cf6ae82dbad360a7c840b4804826c39a59ae029056c1b2542b6a589eb47c14a70acd1731bb0a4d657656915b91d696b2f92afd82245945c7b77958a5b6a3b6cbb179ab83a0f32591b757e8b68368d6a5ee63490604aae70ea7fb4619c91a455429a6b195214bd28bc717385d3cb8235991c05088c7939bf852125dafc3bc368479165438092b530bb2b869246988b8f85425a2a523ed108c6d2f54358580944d64d801078a4b621f58012f9d8a17a92ab8ad43821e24e2f87bfa844abd0c6b08650ab76d5397f2cb0060b31af689fc8612249d46374848f496b360e733fc991809da804dcbab14030a4bd18cfe37b41cad91a66a263437b7ddc2484ed55acb16ab95a1a8c9345a898e89c37248f9768524c616babd17a8dc7924f37345dcc32de04273c5a0ac038a133ba01ce2481ffb57ba153826a7cc4123570293c82082b6a75fa05031cc7fdbb9031e10ca94aa283aa26eb3546f894b646b9a85afc5df3b513db522efb340287c64492aaaac5fc25547129b56b9541eb0912222c2e60a11b9304692a749bb174cb47679cc294253b0f768a7872f698c23493fd908c9ff95f9275551b947bfe84780f86c1e0bc105f6cb7c9430369b58bbb07b3b0c87d8541618c76a43d52c98a08166e052b4487177ad222e6a002f7fa3f3601cf1ef0b4c02ab550d76447eaa695561118a46301b544b493c368b5b77ab17c5af4543fa6a8c682a46af39ca48046b1529684a53d0e492e1b8596f55334ade15591dbc4b411537c88a5113458f187a6d77278675b0c85bb017416b6e9543fa1b924b631ac1ddc5556127548fa8ce0c90125139bdf13428e2c7805607a44251a5f289be4e3a2c3c95c5b5cbf7c87b4a7d87a39a44b672bbe9af8343dcb062ea3a039e949a7f151c8900484368f1cfa385bd13cf55685bfa4b959f8634ed7c437fc9c044b401683cc7482722c98583de24ead414c1833858be987672c557db87aefe4ce2db8a676d14083462db35862dc0cae95f88ec1f59426fa2e24e9cfc54813be07c98f78a87b9703276b455e15474d7a283d5738d4b639369077e7790dead3336e1467c871a571080004a91162fcc31d2912646a9406902248fbbf28dac4343b081c327743335b9efa4b7fd13d5177064a5b6e8065b64d8c6580b47e6472c8f5139268145ba7a23a02f59acf680692b20ec2dcc087a99be036bf7e9c8c0df15f168c508ae28e33d951740a9b0f0321e35cc01328b7ba860592b566cb369b21f51b7ae583d26652da729f07f5b8d59caec65aae42c7c9cbe73c68504f26670bedc542fbdc67a95c9f2da1a08e559797170ee63147a4688c8e101e5aab48a4d1862506cfcd297c7ea61a9ed4a54fd3a28380292fc1570fa2ae43920b0e940675b60534425c69f35bba714c88b3a6c323090b4c56b7f89963059f8ccb0994373fc1344412f694175c2eabea110e035bee6abf546396d79472eeda164bf49350f54c2e75754f502de4a42721b37974a8266c49b57c6837b38a28ca489f02fa05307d7163b35ba6a4c5024b70ba27db0de8d64bb8b55c83bfdd2429b1bff7f12eda28dfedfbf0ac16e27008c9fdc62c35e53b28a312bdc91c40bf8b2809fd40008be70a6b184981101724bc3d5ec5e1956b510b82fd5ad0668a5a -m = 26d90b190a6c3d0d9a86cf66005154e7086749e966e7187c249ccb9329fd3b8b -ct = e9e8b57094849bf2a09a5431b0cfc2ce5a1a6c288b1e7b825a28c5991f8b6d5dead55e5bb9feb5f98a8dea6a33f9cab55751c5c8b841b69f3769598f1a1016f0ff9cc42a9927d98607dd7fa1b25e1c2ef43909115e09b6fb434225fdb20a1e3a1ddbc4b7925b34b696a50df2ac800d00cff4c0c0e31510ec3d8d0b44d2d80ee5cee9039802df9e7367bb0e6e2e71fcd3b5f6aa97ccc6866afa43619f5ef2726d9e33d2e6404156cadf8efe1a356c2f2235008a43027720270c3fd0bbbc01cc07a0894247275f1e9a54cf22c819674caded80c2979d720a6f233c6a0bae986ef0694007816bb504806769b52177c23753e706d94be0f5bcfb4e2607a723da0b2018a1c1711940a353e96c3c6f34a773591abe5f4baea44bc45670a6b8346b0c6ebf8ca3a5dcd33e82913440a9c28fc5a6b8e03d600d2c13a210d4f7a43d66dfa8214060f05754f7b76be16199f19c5fd0b832f2fda4eb447640be835a34f5c9c73deee68776c7bff2bac601e501a1ae72535067377dfd3a0d07462c3de3728dc5c02585f4e5cd7b1ee7a47052cce9a90f098180bba4efbedd10866bb2ef1389efcde7d48e9e8f3aa3b0419d23a97c4f915423a26e8181817a2f0b0b9c3aec1de80d355cb0313a806abcb25139980488ffb2084e5a93162cf027d0271050d69e563a42b61107b3cb2bc17562d2acec2169baa778b0bbecba170c8c40a8e65d3ca9f8409fc14be20d236846d50bf1019189cfd2aa44f199fdbda6af4ac5646b1890817f93dbeda0fa1bf0ea1e00c1467048f36d8e996d5757a36d48c73dfbe9b9b8f42004a98600685a0500db9bc9912aa10a7d8ede8e8cb2cdce5f67e5aad00b4d0e17ad03873704dc62769cf5629bd3a3f281fdd75b6e682e1b9ceaeeef7e3218b37aad6d4c3f1786b7e5bfd657e3da0d69ad6e21db3f00480a56528dc09a72ab06c786eaf3839599f2aa4e7b34f072bf50f28e03a90819894b6f886da655865f96ad4e6cd8eb3e440351e60cb9fe6d018b3712c32e2e904fe932b49d1590869a19315ff6352f1cc9d97e7d3da89716f5f2931fccbbd6ed96eda6cb5e021a6f5048545585db127c8cfe7c3ab905a35879cbce540a1348ed02602a1c3ac0c9cdcf6f3366c396219938ab002736ab1dde1165f44c90ec3d22fdcc3e86b32be8677b914bfa24f21036b11c8ee5acf390e10247e85b71efc50baa05945c09771d060f83d7fdb02688732d852507cf53bbce32de17703278c71c46026d72870732d822f8f8d0d216a397ab4cd5c6aeda1fd35287ae6720cd4106d64a8141307abf41fe68096ea51c59b2827acf7e54c8e9a00ecca352b276d588f4e00c54d0aed2e098e6be9f174c3accaf83fc7e5d7cd6b6e6216f54bc9e777de0a239574d85df930b00e61c3096962298c2b5d644740fae2a1867288a2ecd6240cf4e8d207cc2b7362fb1cc064763f0a7cb3696987c33bac822f431f981885bf7c0377041a2c7ea34f0fb0e3f0147bd0362bc5e6d1ea51289bb1e5187db1de6656bda982ba0a91458 -ss = 03139cf9f20fb6bdaa4ee906aeee834815fa924e05ed7e7e3bfb432aad944d6f +sk = 09d0009aa9878c697e2eac9cec9675a9570660346547d7aa8d4548e3aa917e238cbbc10c389445d15714b237566cb44132d6983c9610e779570b74482d5ba2742a1bb51c68142c1680b800f1938795367b6d8a56c32a0d77922c78116643530aac01cfb2692f4bd6bbde615a3335b397487db8a1175a043719ea58d0dba627d7c8511468b34442879cc227e6b39e084dbb68be71cb988766114a80b1979118eca08217540f032966688c99feaba06d0a0a1e701deaacbcff9c2f2948a209ac8ee505c85fe0444b5c70d067100b63cbd6d98f9aab73cb06c97ff31d7aa0ce188707ddc5c07d495b27957b369055650abd5d9b9f75761770920dd0b574a5841c3bbc9f6f1ab0179c118c7a83b2934e950b3dc732c84264c66fcb0df78975fcab5feaba4e6af97131696a0cda1cc9e2c40a266fbe6667c1abb361f063103311a792b95cc525ff872bf3f394ffb48b30b334ca02bb32a901e3478f811505da066de6a5caba425df83c27565ca48b16bb2855a797a72dfd57615d5117b24374c2d306473a349521a8107790d268ac6b5813c593cb9e8621f8c68fd2e8082c491c95c5ac74c86dd37b0a4ea0cb66aa576af50fbdb0a31235bdc9e8107f1859acd2674fc72c6669a3465556f90269cc30b0a8f53563378ee016a7abcb5460d5371b01754bd7373c2314e2a42d98636112f3cbe0638e513b38d4850afd6a1d3d485308181febd88b75f532e4541965e0bc592885fd1c1b3108c33f74725850617b526ad4f2c8cecc19b0a0ade15057c90ab086c26cb014bff92988903bafefa3c4c96ccbcef178f988a40d339db324257de69a119125c52a4147360b1274808299446ee768680170457acef18814559996fa96b418275e031199e0d578e86c946381c369ab839b1a75e9d6845c98aeca24253b3b0f00ec7e92cc6f6a40a4d8b04900ca3e78cc7a5c51886e0901a908bf0a08947e3b524f1c606b055451ab6eda2bbcf832510b3075e2cb0ecd493b71102f4ec69565f96651a3a2c3b738c2d55805798253e055dc8508b98822e6803785130d22e494b50025b0ccbc69667013c4ce4a140c2e9ba928d41d7fb5237da8c5ac0310ef5007b2b0c6737bc17a747c5a2c1f3c1166bc2b0ad7aaab1d870e54694c1ca293665286c4eaa35d34bd6ea7aacea04871c257cf63641264aaa0db4f65337274356f71d02310a57e44d23ec6b4185bc5cb45a65d3b592af3138216332060264a6e53702d766d0f4a0f14f70b75b780688591cc414283a59ad2f84d665354d71c2aaa1c278ab6c8ba902283b286f82761906c9b2796595bf5ac01455ed2b43607207a30c949afb1ba5c50659143c98237279003ca820b4b5963b0882a088ce09c99f4a6368971a7d6885237bce28580e2ec483fa305fffc0aca173a89cc41727a55d4e29a8c410b3fe851b3d58b58c31920759ada529da162cce47618b2f715f3658d71f5455365c67b04748b371a5a96b75f342cc4c031c713c04d2b6cdec0cc92b7596bf4a2a0c91537a0c8174b3456489d2db70d3af2995c4830245120e9411e92ecb2293700973386983a0c6591cd5eaa34d5cc00fd672d20a604e78696d5542646c120e02c8dc5162630e71465accbc55170fe0945513748c0ecc9098a02e9d51e44acc267272633645ad562816d479466b54d2150afb682b4f32265f1f4bced21caf7c7980105b08056cc4192bfe0da9aa5e00864b0a34712204cf6ae82dbad360a7c840b4804826c39a59ae029056c1b2542b6a589eb47c14a70acd1731bb0a4d657656915b91d696b2f92afd82245945c7b77958a5b6a3b6cbb179ab83a0f32591b757e8b68368d6a5ee63490604aae70ea7fb4619c91a455429a6b195214bd28bc717385d3cb8235991c05088c7939bf852125dafc3bc368479165438092b530bb2b869246988b8f85425a2a523ed108c6d2f54358580944d64d801078a4b621f58012f9d8a17a92ab8ad43821e24e2f87bfa844abd0c6b08650ab76d5397f2cb0060b31af689fc8612249d46374848f496b360e733fc991809da804dcbab14030a4bd18cfe37b41cad91a66a263437b7ddc2484ed55acb16ab95a1a8c9345a898e89c37248f9768524c616babd17a8dc7924f37345dcc32de04273c5a0ac038a133ba01ce2481ffb57ba153826a7cc4123570293c82082b6a75fa05031cc7fdbb9031e10ca94aa283aa26eb3546f894b646b9a85afc5df3b513db522efb340287c64492aaaac5fc25547129b56b9541eb0912222c2e60a11b9304692a749bb174cb47679cc294253b0f768a7872f698c23493fd908c9ff95f9275551b947bfe84780f86c1e0bc105f6cb7c9430369b58bbb07b3b0c87d8541618c76a43d52c98a08166e052b4487177ad222e6a002f7fa3f3601cf1ef0b4c02ab550d76447eaa695561118a46301b544b493c368b5b77ab17c5af4543fa6a8c682a46af39ca48046b1529684a53d0e492e1b8596f55334ade15591dbc4b411537c88a5113458f187a6d77278675b0c85bb017416b6e9543fa1b924b631ac1ddc5556127548fa8ce0c90125139bdf13428e2c7805607a44251a5f289be4e3a2c3c95c5b5cbf7c87b4a7d87a39a44b672bbe9af8343dcb062ea3a039e949a7f151c8900484368f1cfa385bd13cf55685bfa4b959f8634ed7c437fc9c044b401683cc7482722c98583de24ead414c1833858be987672c557db87aefe4ce2db8a676d14083462db35862dc0cae95f88ec1f59426fa2e24e9cfc54813be07c98f78a87b9703276b455e15474d7a283d5738d4b639369077e7790dead3336e1467c871a571080004a91162fcc31d2912646a9406902248fbbf28dac4343b081c327743335b9efa4b7fd13d5177064a5b6e8065b64d8c6580b47e6472c8f5139268145ba7a23a02f59acf680692b20ec2dcc087a99be036bf7e9c8c0df15f168c508ae28e33d951740a9b0f0321e35cc01328b7ba860592b566cb369b21f51b7ae583d26652da729f07f5b8d59caec65aae42c7c9cbe73c68504f26670bedc542fbdc67a95c9f2da1a08e559797170ee63147a4688c8e101e5aab48a4d1862506cfcd297c7ea61a9ed4a54fd3a28380292fc1570fa2ae43920b0e940675b60534425c69f35bba714c88b3a6c323090b4c56b7f89963059f8ccb0994373fc1344412f694175c2eabea110e035bee6abf546396d79472eeda164bf49350f54c2e75754f502de4a42721b37974a8266c49b57c6837b38a28ca489f02fa05307d7163b35ba6a4c5024b70ba27db0de8d64bb8b55c83bfdd2429b1bff7f12eda28dfedfbf0ac16e27008c9fdc62c35e53b28a312bdc91c40bfbb02d701fd1350aab462cb65dac4b2f75928d378dfd7a0360dff9185175538fe +m = 0c7068e5864fae7d1abda0d0a5c1e62fe5e1cfc2c96d82ed6ef180815dfacc66 +ct = b54e1c3c3f39ee3b62cf4d40392eae63f9c56e93a9e80ff9a6a4f00a6568a48199f8fa3be3ffd3fb14d41b3590e18c972714a93164137d24e98178ed4dcfe85cc754bc6456f17137c9037c8d1a900ba2487246feedad3ca9372ce99e79eeb4dadbcb6595fbc4d3d6ed9cb1d0c2747a8ccd5708afb294b1097953f680398212738a5ac9c01d0d621d31dd77dc1798c019d627b9af416980e9076d04192e9fa6423da230c4c676627801fbcef08c21842dc0690a7175dbca0c3432acb034333f77fde0cfbeffbe3181d740f692fddc67a6437cda5dead39c8f2f53797f8273435413943db9e8764b7475aaba2ea8f1c1db11f6a698ff10242d544fafc476b7013efbf8d9b4b4f6f239f003c9325c34b8b7f5628202ca228fb0a5aec537127c4acf198ce74aa99b55994fcb9c91814eb8d4db6027cc517fbb779628cd19b725be7b688907db60c5e91d0ae74d60c674dc1c329fc3cb2f3ae6652965590d329df95eda0973cc2e0837223b7f76d8597701f5326f29bad1d625dad4628e0109d0f12908cafb6a491ab87036db388fc9788fa67bcb206958e591a7fab4c46980d28ec37da2f65de513fa73c99024a81d3a2f93c61567deeafc25ea9a7ea1fcc172344256dde171e7dcc3d051ab12b611d1484815789e91a50e543c4daf44373f8d79fadaa4533036edccfdd0e26f836f02ec7da2253ee51eaf0ba635cd94c2405b61f9d9184f1d6e62b8682579db6c7e0c430e8aa34ad933892e75c6235cbb484512c51db2cea68675b3bafa95b9e6adcc32584713be3f43921a99eb0adfabb475fc4e30e2aeb48bf34548f5da55964f95182403974c216db2e3a5743c74dfe3d3c2f904a41529981b917c6876098ec71c458110d185be533ee5d62acba06e678bdb1aca43f056983f48aa018964781c9f0a301216281780d0c7a1543d1981b8f7ef14df8e2add9e3a538f98c6b931a11cc87118b12aa91be766b7493fa5819ba0e5979631f9f20dfa76bbae028db1dbabf562acc9b2dfb856401435e2ecaf2766ef95205bc01683f76e02fc12f1154dfe4c9820f8c1a1360b97f228a034b7b769c79035d54ed53a4e0b582ab880d88d3369605552208ee85a806424e29d6eef20d0cbb81538c99d7613d40671a6ed419c196e4d95979db1e817ebece715029b681ba2b3ee1a786d5c6aca00b12efb2de288ca5a221c9b111072850f5fece28acf544745d3f3dd23f5a83d5d0385bc2af068bc0ad77e38937860260b44c9a0b43156e84debdbfd1605a92620419f56556846f0c5952dde73594e3efba964f02871806d6cdc1f713d4eded8e75a0e830af33623915d4d88a1dfa8eafaafed26aabf786e063ae18b06749a480bf4c28c501aa3a76a5a289844d5f01211e018b381dae15df195f2891aaaff5a42092613317bbd7b71a146e3742922a0978e181dad65365980995ccb0cab8ab8dd37115ec0af0cf6c472fc083511b978051f81c8dac92808a2a0204f473fa658107c6631ad5a7b6a58f331d8de6446e36c482f820df6a254 +ss = 86d1e1f87406302c1d044f5c319b2dda1d3e0ec5cd071a42122efb684839665e d = 6df4385db978d27b27d2aa5e452e4152b36f097503d9581ac3390105c5727e7d -z = c95fa08ed106ce84660e8a4c90bd2b22634e40769aa0090a101c5dddad45edc5 +z = 165fd0a50a39142f7c6faa2bfd417adfa4224858281696965772f448c7ae22d4 pk = d3b1cdafcac7f6d08082da095a7658b3a45f7bf717d4b80a3a050a04cb23e01103ffb1731b2c35a9dc23c4341976b188f5226459a02d348bc9d2064d574040147b41612914cfc2954e4190905446e5ab8632ec96145b917dfb4a9dac62b18cb0120679e739901d9bca662024335a083911aa53828d6d79c948425422c32ec471c2fa843b54f6731fc401475612a135aae4b146fa829871c0654c075dce41190483c3ef60b7336200a4a39cfb6787ac09ac85f4cb3dbb494727a20acc8a1cc9cc765862b0d402147a08a5e4aa6e679d482786910399bac7a36efa477236b1a01baf452badb3f184d7d6ac6ef64cdfb89d1ce66a059a4659d8137dfb3c95cbc9e8d86e064cbfdfa50c68130a8d82258407bb7b926f7a802b53209f3ab78784102e88fb91e6311d496251f7b574aee5797e881ba1db16af40281586267d826c0f33a0518c26e6533e19ea0ebf29474a131d882a189ac03b835c16c34c9ae7a1c4d9f5159f85b8542284e0409dfb0876fa6488e6519867b5c53896867772210e95399a1733d2e78532b7651ca9704ac063df086cae4aaf65150093f27054f34e2849449c7680ef1ca1a0ac399a01a9b74484a967592ce85086230582518414c247bb7680abfc2a04a35a20a851b73548a8e4cfc2b84cb5ec24108396c28498a6614790d56bf8d1b9f9e40bf574c497218eebc06217c9bd361baa5d0715e666c2d3d299346a79be0bbe4b7ccd49f948a60438514129c126aa1f3875718922c5124728f09fe5437ae83194ddeb81f0d744fd2b9b59fc223e2792501b4932924facc16c1e5444dbd6a823016b3afcb46ef59ceeb49728ac541bbb6bb64b7e196c59910628c8ca22b1138d884842c387b594b544e5d99784b06acc3b5d80ba81cd34739a20af11f7735d645d9ff25c07f8af9b5902524a1953ca2a58d6b796e3695a006ad6c703dd161c12c01b9bc995773c5d2ce59470c765c3f5401cc07885c77bfb3c15d7f766f0ec7cb3f601dbfc210d599093a21c87d82002212b06898a5a878d4ee913eb451dce14a1bc424838d4797ed14d9eea2473b304d6624f1725c820751a9d313cbdc79ac9a26548587fb41371c5f48a4da04d37ab7189685aaa054853f0491a0388ae4b7af4259969e29eaaa2b2eb9503518c7c53ba0e6bd20ea8355a63f1c481eb5e662a0b792014ae4c0981274d902759af794338072a839b05d9d42c1ebb1a3da33b54066d1a63024a3b1d1437b37a83bbe816075cf416275a6f58336905937105e63a1a017f87911cf0b41daa41a5dae3856a606e2a9333176628198b49d2517f54a9182e4ba877760517dc94a079538822251204b4c4a2382cc7889bf84923c09072f86bd1c5879ecc3a37678e6d031568c24012578dde5ca01005b2df71a4a0b0455a03afbe7c366bf1b086973038fb5debd793a303b4c867b611772733f66574cb0d7c303563c389b2f1b46e98945a94b142b2b0d647521f4b58f12326fd86286a448909191bc600bc7578b0169a45c071c77f280c583788f9c2aa1200a73431ad56d23b20471bb67a627a594ba9922b1ffb75d2d030432a954c71235a9278857c3010a8a8906c070b77060fb831842140770acb92e856c8a95e163d5181caad6a478ac9ae82ee27f7256f4d4cacddd43f45cfa4de4dd067cdca -sk = 96d9c668915384c2847b7991e5f557949c99a3d46a2fc9ae7448a229a89ef7f405c2911777fb1e2f44721be8cc326a80e524486a16a083527e22d51e4ef624b02625fd6a857bea2c0590a3a4e39f0e041b7284bcc501201842345ed5ceb097a5a5f730ee53176f8acbf9e03c6dc4a069718dd64c47e1d17323d29acc630db2da9922804802cc768070245380cec6672f6a5a9d14e4012bb13caf8c320a320ed63b0591087a0c5a76ea29b57d5c997fdb372e9a57e3f4827a2441cc485718a421d3c45bd0426a87589362e52953822cf785802b2c6aa441adaef93dc6451ac68a9867c9b9703abedcaa540146ba6dd8acf7dc317a82a4c1396267032fccb53be9306e20e4713b82842e03b7fa984e5827c441e293352b2e2a51566eaca8d9c4206000655f761729020f7ff9b230d6c4b986bc94551175a8acc7e2a2c174c500666d3cf021a9b40f1a465447291f920865ad16240309b5c838a2ddc5beb8aa11bf987aa9d7c082e8c55c63ab01d0664e545e505b4aae50606136b6b01499a5ba10174852224ac6bd242d5d21758c4342f9a02a3d46a9a845112adccbb73488cfe3055cac398b0245c467b94eb342e1845969d70511bc7100f886308cbf21c13840bc17626ac93dfcc4eb22ba18f62b15b521539901166598f25555c32587637a341017885af1a6d1841aa1c747d918253e1c873c2ccf292bad45805d8946b00dd23cbda03878f66357d175d67a1b743c1e5428ce90661067011874b062e9ac8a0f726b55b76627c53338549c3f2605840a11d5606acd104bfadcb51253af718835826628235878d6160f15033844d76ae946ae6c240053c2ad6c3a3d72e721d9565a6c79b56840cc5a878c6a4033bb9c88dc43b130348082e41c269cc0d3b05ffe356b5695bb01c95f8aa9c30e50cf31f11419e13acffc7192b75948e06a68458db80a8f71573b6edc1513aa5b060cb77b12c62761bc188159a49c95180249b3e35c3100635012637cb9cf17ca9936787aac954bcfc655aec8b4215861a7709f2846a1c14889d0384591753e3f19cad2236dfcb7b225abc430a7b61e6018ab30146d60a6563b2f980acf66186fee70a458750cc62c433e651f447ccef8a773bb2731a866832ae535f0d82e605371f6b35fd6fc1188a52080c609bdd8748c321ca37190321b286c849d35224bb5107d83e2827ef0c63859133852630b237247aa8c100678e43618289239ef19c99aa6b9156704643285bec89f0b0c21f3a091e2063e5d3029f52c33af97529e701298d3961f492e6b731d4e2064d034533f4611fefb64f1899ef563ad71a52e20b199f0d80c557cc8cedba3cd1746d3a6ac2e697637f08a43d681ece3769c8980c76a26adcc585eb1194d28ab163aba5563a5c7985720248662bbc21470022ef4110b33b6b8b744a80ab36d0a9b0a7988a0c98c6a597f8cdc76791c467b0cb53a020928f7a55981b520017bc06b36d10a21433797c15124e0892a81230bd6bb4774d46f73b874602588d3f8966469194041bdee87ac54059458b19724949e7998ae8018755d491bffda76a70a64eff902a4281734a7484037c739b7bf71b658b779cf6370420d2073fb820bea1b1df29c3b12c54ed3b1cdafcac7f6d08082da095a7658b3a45f7bf717d4b80a3a050a04cb23e01103ffb1731b2c35a9dc23c4341976b188f5226459a02d348bc9d2064d574040147b41612914cfc2954e4190905446e5ab8632ec96145b917dfb4a9dac62b18cb0120679e739901d9bca662024335a083911aa53828d6d79c948425422c32ec471c2fa843b54f6731fc401475612a135aae4b146fa829871c0654c075dce41190483c3ef60b7336200a4a39cfb6787ac09ac85f4cb3dbb494727a20acc8a1cc9cc765862b0d402147a08a5e4aa6e679d482786910399bac7a36efa477236b1a01baf452badb3f184d7d6ac6ef64cdfb89d1ce66a059a4659d8137dfb3c95cbc9e8d86e064cbfdfa50c68130a8d82258407bb7b926f7a802b53209f3ab78784102e88fb91e6311d496251f7b574aee5797e881ba1db16af40281586267d826c0f33a0518c26e6533e19ea0ebf29474a131d882a189ac03b835c16c34c9ae7a1c4d9f5159f85b8542284e0409dfb0876fa6488e6519867b5c53896867772210e95399a1733d2e78532b7651ca9704ac063df086cae4aaf65150093f27054f34e2849449c7680ef1ca1a0ac399a01a9b74484a967592ce85086230582518414c247bb7680abfc2a04a35a20a851b73548a8e4cfc2b84cb5ec24108396c28498a6614790d56bf8d1b9f9e40bf574c497218eebc06217c9bd361baa5d0715e666c2d3d299346a79be0bbe4b7ccd49f948a60438514129c126aa1f3875718922c5124728f09fe5437ae83194ddeb81f0d744fd2b9b59fc223e2792501b4932924facc16c1e5444dbd6a823016b3afcb46ef59ceeb49728ac541bbb6bb64b7e196c59910628c8ca22b1138d884842c387b594b544e5d99784b06acc3b5d80ba81cd34739a20af11f7735d645d9ff25c07f8af9b5902524a1953ca2a58d6b796e3695a006ad6c703dd161c12c01b9bc995773c5d2ce59470c765c3f5401cc07885c77bfb3c15d7f766f0ec7cb3f601dbfc210d599093a21c87d82002212b06898a5a878d4ee913eb451dce14a1bc424838d4797ed14d9eea2473b304d6624f1725c820751a9d313cbdc79ac9a26548587fb41371c5f48a4da04d37ab7189685aaa054853f0491a0388ae4b7af4259969e29eaaa2b2eb9503518c7c53ba0e6bd20ea8355a63f1c481eb5e662a0b792014ae4c0981274d902759af794338072a839b05d9d42c1ebb1a3da33b54066d1a63024a3b1d1437b37a83bbe816075cf416275a6f58336905937105e63a1a017f87911cf0b41daa41a5dae3856a606e2a9333176628198b49d2517f54a9182e4ba877760517dc94a079538822251204b4c4a2382cc7889bf84923c09072f86bd1c5879ecc3a37678e6d031568c24012578dde5ca01005b2df71a4a0b0455a03afbe7c366bf1b086973038fb5debd793a303b4c867b611772733f66574cb0d7c303563c389b2f1b46e98945a94b142b2b0d647521f4b58f12326fd86286a448909191bc600bc7578b0169a45c071c77f280c583788f9c2aa1200a73431ad56d23b20471bb67a627a594ba9922b1ffb75d2d030432a954c71235a9278857c3010a8a8906c070b77060fb831842140770acb92e856c8a95e163d5181caad6a478ac9ae82ee27f7256f4d4cacddd43f45cfa4de4dd067cdcab990059e901097d00e0ebaf40c5d5dab009c66798489d357e760478ce884cce5c95fa08ed106ce84660e8a4c90bd2b22634e40769aa0090a101c5dddad45edc5 -m = 7db6d1a129d6123f1f805b79ad3b413012ea86aed42a05e98e7b1f32f9fbbdec -ct = 922014a568044ca7d9086946ccda46596385465c8065a9bef75a70edcacd8dec0bb08233ab0e0013cb4dc03f59052091254aa8d8895ae1e73a608ed4d913658ffacfee15efbdb2ca0abc843e2fa32ac1dc6faaf8acf19e6d2ff14356dd4dfc6171470c9667309ab421fc8663807ff4c614126c4bbf4adc193cb58465fec7a70bd508d75838a349827227caa2f1a4c02461646557a467c73715e4d8b309de5fedbb0d8827ea6503c814587cdccf916ba51ff1b72a2546ac78c170fecf26b84d8d80f6f51131903c5982fce030db8c83a6c1d4304e72dc79d77d7e47c7131229fa8279820b627f3dabe4b64b356dcb6e982bf07b1537f656c3dd57e71434ae394fb9e30c14589378ac83d84c6800837445c4610ef536d8c8caa31a52274434be4cc66b6b21a6f28463796ca5cf0cddebf6663ef308d3066b689fe515f30d0f5b014e49e4971f7b68becee860ea549301753bf8fc95ec7574b51db83389632e7f9291e20bbf20e898e52aaebcaa3b9fc67ca7f8d63892f355d365c166961a5a3e07d7549e5910ccc06ddbed484002b7b8a0ad3f977fa92bda8de05d711c95486693bd79f4d43cdca8d5fd162a400d8f33d7535774967943282c52164ef50fc337068a374b01d75757f9f36631c963e1981b83f6cfab6fa528350ae7fbd39c795ba1967402065949296ae14bc734f12bb5559ccce061ba8579ba3ded45e8c763ef76dfba1099cebc9cad903c5703515fcf3c5867dc73c8c73e176154d41bd4a6f0c039bb56f6fd7806e0f6efa0bd0f57ba4e64d759c51bb10523ac8673fb236d7502f68532778bcf6aba52ff6f43a45457cddb8975623e5a80d85d2119f1828c44d8d5d2610b5d2afcee960e85221531b2d0e9c67389b791820d8658d312b2f1c1ba567c297d3d9307568f84bb7cda8962bbf35a2b41665732121c938953ed1784304b5907f3429c1038522cd7c29e19b33ae7cd8171c7ef05bbf46aa069f05495e31c2357a13d478971f4657ffe95a1f867832ba3de2a386a46c511bed2e63541b51695b4cff7aa0d7e453bf56f16be0128d1d03caa79c5260bf27c4dec61497b47d7e7ed1a1795e5d4de8efd141a44db98fd8588663526ea7382e7c36e5b6983efdef927bbd8b78e71b8328da1dc87f84cadf0772e5e01e920ec0dbd625701368156d91d00d621be1f439ac76aacf8931cc5840358c6dbabd03148cde362d7e2dd2b98f6cb50b2be7e8df737f5044f96430a121f1a9b93a2e17df7aac2f17c2d9032f5df61f98810167300a1075a81a74d3280c603908a236b6042b6fb9f8fac23b7e4b967ddd3d3fbd7fa1c01a78e9aa44221e0273ebadca5515f1f8ed6b07abdd73e7245e865a2e735bb2d309764eb69d32bdb2da08ea101fd86e6ba18019422f9a1771ae69dcf9525a2d4f4e7c56a80668995f3bfe8d37cb934f34722eb48c841e54277202156dac0094901d061d9a5e7a9db61247028728a41262946311662ad4ebb60750fcfab13ed586e70e4bd7d45d5f3b6f6e2fe1122900948f1bfa130 -ss = f87cffe1a96bcded4fe027dc8006065d67d0190b87d805135bdafcb5edb9803c +sk = 96d9c668915384c2847b7991e5f557949c99a3d46a2fc9ae7448a229a89ef7f405c2911777fb1e2f44721be8cc326a80e524486a16a083527e22d51e4ef624b02625fd6a857bea2c0590a3a4e39f0e041b7284bcc501201842345ed5ceb097a5a5f730ee53176f8acbf9e03c6dc4a069718dd64c47e1d17323d29acc630db2da9922804802cc768070245380cec6672f6a5a9d14e4012bb13caf8c320a320ed63b0591087a0c5a76ea29b57d5c997fdb372e9a57e3f4827a2441cc485718a421d3c45bd0426a87589362e52953822cf785802b2c6aa441adaef93dc6451ac68a9867c9b9703abedcaa540146ba6dd8acf7dc317a82a4c1396267032fccb53be9306e20e4713b82842e03b7fa984e5827c441e293352b2e2a51566eaca8d9c4206000655f761729020f7ff9b230d6c4b986bc94551175a8acc7e2a2c174c500666d3cf021a9b40f1a465447291f920865ad16240309b5c838a2ddc5beb8aa11bf987aa9d7c082e8c55c63ab01d0664e545e505b4aae50606136b6b01499a5ba10174852224ac6bd242d5d21758c4342f9a02a3d46a9a845112adccbb73488cfe3055cac398b0245c467b94eb342e1845969d70511bc7100f886308cbf21c13840bc17626ac93dfcc4eb22ba18f62b15b521539901166598f25555c32587637a341017885af1a6d1841aa1c747d918253e1c873c2ccf292bad45805d8946b00dd23cbda03878f66357d175d67a1b743c1e5428ce90661067011874b062e9ac8a0f726b55b76627c53338549c3f2605840a11d5606acd104bfadcb51253af718835826628235878d6160f15033844d76ae946ae6c240053c2ad6c3a3d72e721d9565a6c79b56840cc5a878c6a4033bb9c88dc43b130348082e41c269cc0d3b05ffe356b5695bb01c95f8aa9c30e50cf31f11419e13acffc7192b75948e06a68458db80a8f71573b6edc1513aa5b060cb77b12c62761bc188159a49c95180249b3e35c3100635012637cb9cf17ca9936787aac954bcfc655aec8b4215861a7709f2846a1c14889d0384591753e3f19cad2236dfcb7b225abc430a7b61e6018ab30146d60a6563b2f980acf66186fee70a458750cc62c433e651f447ccef8a773bb2731a866832ae535f0d82e605371f6b35fd6fc1188a52080c609bdd8748c321ca37190321b286c849d35224bb5107d83e2827ef0c63859133852630b237247aa8c100678e43618289239ef19c99aa6b9156704643285bec89f0b0c21f3a091e2063e5d3029f52c33af97529e701298d3961f492e6b731d4e2064d034533f4611fefb64f1899ef563ad71a52e20b199f0d80c557cc8cedba3cd1746d3a6ac2e697637f08a43d681ece3769c8980c76a26adcc585eb1194d28ab163aba5563a5c7985720248662bbc21470022ef4110b33b6b8b744a80ab36d0a9b0a7988a0c98c6a597f8cdc76791c467b0cb53a020928f7a55981b520017bc06b36d10a21433797c15124e0892a81230bd6bb4774d46f73b874602588d3f8966469194041bdee87ac54059458b19724949e7998ae8018755d491bffda76a70a64eff902a4281734a7484037c739b7bf71b658b779cf6370420d2073fb820bea1b1df29c3b12c54ed3b1cdafcac7f6d08082da095a7658b3a45f7bf717d4b80a3a050a04cb23e01103ffb1731b2c35a9dc23c4341976b188f5226459a02d348bc9d2064d574040147b41612914cfc2954e4190905446e5ab8632ec96145b917dfb4a9dac62b18cb0120679e739901d9bca662024335a083911aa53828d6d79c948425422c32ec471c2fa843b54f6731fc401475612a135aae4b146fa829871c0654c075dce41190483c3ef60b7336200a4a39cfb6787ac09ac85f4cb3dbb494727a20acc8a1cc9cc765862b0d402147a08a5e4aa6e679d482786910399bac7a36efa477236b1a01baf452badb3f184d7d6ac6ef64cdfb89d1ce66a059a4659d8137dfb3c95cbc9e8d86e064cbfdfa50c68130a8d82258407bb7b926f7a802b53209f3ab78784102e88fb91e6311d496251f7b574aee5797e881ba1db16af40281586267d826c0f33a0518c26e6533e19ea0ebf29474a131d882a189ac03b835c16c34c9ae7a1c4d9f5159f85b8542284e0409dfb0876fa6488e6519867b5c53896867772210e95399a1733d2e78532b7651ca9704ac063df086cae4aaf65150093f27054f34e2849449c7680ef1ca1a0ac399a01a9b74484a967592ce85086230582518414c247bb7680abfc2a04a35a20a851b73548a8e4cfc2b84cb5ec24108396c28498a6614790d56bf8d1b9f9e40bf574c497218eebc06217c9bd361baa5d0715e666c2d3d299346a79be0bbe4b7ccd49f948a60438514129c126aa1f3875718922c5124728f09fe5437ae83194ddeb81f0d744fd2b9b59fc223e2792501b4932924facc16c1e5444dbd6a823016b3afcb46ef59ceeb49728ac541bbb6bb64b7e196c59910628c8ca22b1138d884842c387b594b544e5d99784b06acc3b5d80ba81cd34739a20af11f7735d645d9ff25c07f8af9b5902524a1953ca2a58d6b796e3695a006ad6c703dd161c12c01b9bc995773c5d2ce59470c765c3f5401cc07885c77bfb3c15d7f766f0ec7cb3f601dbfc210d599093a21c87d82002212b06898a5a878d4ee913eb451dce14a1bc424838d4797ed14d9eea2473b304d6624f1725c820751a9d313cbdc79ac9a26548587fb41371c5f48a4da04d37ab7189685aaa054853f0491a0388ae4b7af4259969e29eaaa2b2eb9503518c7c53ba0e6bd20ea8355a63f1c481eb5e662a0b792014ae4c0981274d902759af794338072a839b05d9d42c1ebb1a3da33b54066d1a63024a3b1d1437b37a83bbe816075cf416275a6f58336905937105e63a1a017f87911cf0b41daa41a5dae3856a606e2a9333176628198b49d2517f54a9182e4ba877760517dc94a079538822251204b4c4a2382cc7889bf84923c09072f86bd1c5879ecc3a37678e6d031568c24012578dde5ca01005b2df71a4a0b0455a03afbe7c366bf1b086973038fb5debd793a303b4c867b611772733f66574cb0d7c303563c389b2f1b46e98945a94b142b2b0d647521f4b58f12326fd86286a448909191bc600bc7578b0169a45c071c77f280c583788f9c2aa1200a73431ad56d23b20471bb67a627a594ba9922b1ffb75d2d030432a954c71235a9278857c3010a8a8906c070b77060fb831842140770acb92e856c8a95e163d5181caad6a478ac9ae82ee27f7256f4d4cacddd43f45cfa4de4dd067cdcab990059e901097d00e0ebaf40c5d5dab009c66798489d357e760478ce884cce5165fd0a50a39142f7c6faa2bfd417adfa4224858281696965772f448c7ae22d4 +m = 5486a0032681ff89526326cc4bc085b8023614dd1621850619c6082483d84c0d +ct = cad5fbc2a11ad5fb386f6521386b300ba979ba8597a1781b7fdd605d3121c1710e5f586061d7d508dd16ebfd08f903ed5d796f4aba4311a58bdf08aebdfd0a54b3f91f570cd55a56f701f2704fb09637da738c04bc50a6342e6ecfc5e8b53ec5dcde88e3420e376f36c4f2940052ad08d981610c9434f37a70ec0698e98b3664b8581bfd91b0012008214554833d28c0ad2b34ce331a4a9c1aa25e5416509ed7d33c41eab5e7032766a83f3966febb4076ee83ab8cb4a167010af557c7e135093a2675cbc2562f607f0794bd63430ab6d7bd0464cedc2e45fef21c427d665de5c3f60478503d72534dd372d57e980dc88cbddd5eaedece2ef488ed64023678468d0d53b107ad1af7cee33a34accefa56ec40e2d34a747921daf7bdd781e62375e6d294289c7154dcd0716d359c24b0933ab7c83d2c0fc8bd69937d8a3a01202d07c4e37918f84572a908b2c57cde76a018d576a8967c0fea971faaf8331ad5acf5febb84c9479813ea56f9af3f8b0258657251bac38b9741b359e83cfd7a6163470dfbe7ea06f5bce1afb94bf1db2b82e619a214d63d0410d0bdc27c2a718f71a2449ef28842585868c3a15aabaa40da9c48e02182e70033af35de4d8e5833eaa1114d7bbdb70b94c3e5c9e9d49b75117ec292b2a5d25cc76f71a697a0659ca6d494ff0d916a752f33238a06012cf1c259ff061813b3ac88662a58cb3d893617ca002bbd5e3aa8052b089d9dd628852bd1f4c43ea00a3fd1ca6d3897d05c040b55f93a294f56b94cba32701a6d003d30e8f9d786fea4aafbdb57d5b9e1eb6644e5a6b8c6c49a10d5d0dcb818f04c473991f92a541738306cd3c7577faf0aef6c1f8f6d95e5303fbcf94908b90bae9db8c33a57948d7d2165af0688425526ceddcbd8a7837e626a7191eb101ff3bbd4ac6d6690dd0dcf76f00d1bcd9bfd9e99480b5247d370c361d1816b1968abe7f70a8d74272b20a79bf363297dfe4a6c7b021c8f8dcd031754d78c685aa86d5d246f29de8b4c2735c19a832af76f689e3fc989d3cff8215579ccb26f92d7ba3ca95ce191d7ae20d903ddc9c6aa84d9e6fb90ec4103781fdcc79e0e728a318c8d12075a4a27c005cbf440324b86d99e0a67387896d8cac3ad2252cedc3490a1c7230b515bd9ca9bb08b063143aa15a59b710631b39fc6edb716d9b74f26dea4ec9f1a6b2094ff5c7a799cad7735e3b8e90181ce7d05f28e0f7ffa1b92ef678b700ef90b0fef3c56aa275e4f07060e486e2cebda5ff1bebe0f53a8e1fb72486875cfb201770cf21e5f9f350172be899fb7dded9be2f7ea4fd28e76e3d7dbcb310d62a2572ca9a3dee66654482443c90f8f05768568e4288a4e00c5db5e5eb5411dcacedac76de763a0f8e906797908930dca981812172690c65d77912a335eb1a79a53bfadd49fefddbfd4c1093d61433b469267e0d15bf04224c6a12c502d1e9c8e2d47e981fbb88953a5d501b0d3ab47981aecaa6193028c1bff2a780a468742dd1d24ad6d461645900d990407c9d2763580 +ss = 9b892665a45abdea0fb08c9f1dac9ef5b9e49ec9e7c9923340cf344c2c1cb112 d = dbacba825728444921b227cdba54446b3f6881b47be9cd02832f78b023b1bee0 -z = e15274a8e2bc08fe818b117ba28c5dfae74d54fcdf6f20052f79be333edc8dde +z = 171ebb1a64c173b3d4d997c12f734d2d57fa2127052887dcc6461fcc23b66fec pk = 112b1dd09313b9a25b7094700639775f89b8d0314eef0186adf7ceabac36cc9292c270717f27caea51b1afe1cfe6b6a1cb1a7da53c6715c9c9b2694bd5a581b733ad4841b229fb7a17bc213b969935c672d0993a94ec170bdc8b7c800e66bc6514f84fbc81c7d1c9417b79a82e5b3980acc792a19c46d13a2e75a3af791beb401f7555793d94c0ee1b9e98a5b6c52777e537bfb287268ca9524a4438ad87a0e85279e474c5be7740b7867d8b04781a2436a8d343f62274e236c736dc3c59d5b326563b9c86798ab14a6c9a0e67b36db89a82af690da7016418ba2d6c435e39095bb81a0e49c01a73a31ec9159844d1a3eb233d16b932919421e6a342473a71de629477183e8f34b2b7c8abb7a3b6e516107cb5229d780b93417f9bc94c38bcaa58f34dd88835308c742875cccf4928122199cd932148f48a94c5c2252295890bb4645761d3c2c0f33ab3e1021aa56b573e9c6fdac37c83f678b97148ce573a244b0487f3cf771bc7b6a13fe53a6ba58854b87a67a6a17d6a301c85f7c061071b4ddb27b3f404dc402ebacb8254a0568d48b2d299bd831188886a65aea5cd8d987f6017a2f4392f455c2b4f9b63e6cc1a27ea38f2588b0f8086d7a5c5e4b05b76d2b8918820cb8851704ca6d730861b512fefb0a76b61401e23b01ea710c5e3b73fa716dfa6408a635423c61372592dbf174d6d811eef7c4d885bca5fe669233a141e43810ad10235cb59f824728bd7acf17765bcd354a493aa60438f07d266d728b640cb07d50275bc2605fa6c964614b2c8143b37b184f3c30668662149bc18c6038706c12f0d31b896b69a7d588d0004497e4808d8c12253987f000168ea758a5b32c195f03f23a07c5a546a6607084cf79e073bc6cc1cb372e385ca827c490a42d900035bf735c6242031b8332bc57765ecce4792706f1cba0c7cc390e7bd3595ab876c4e397c58fc325c9607b0ee39692c31730eb4744e967e7ff8139fd1a545622ec870516b2925628ba782cac845b2429c3cc0ebf7747f414e8d35cd4a91c959d2276404a5df4790f4363104e6a0d1d60a48b65bbd92b417b51a5338cebe36c0f218bf27968c05d99947e9b44b4b5b2934c538f85cd7c8b9e3c31637e14c5c0279cdd6386e20ca89a53671fb2f04249565491ac2f900ad380d1a68b67693b185f26a232aa1b43503398002085713ca4b2f94cbcf6e837b020404b7f519a2b520f93b901943c918393f26061346a0193ce9ba8a48b5c4b01b0efa231eba0528c5b38cd32cd5d22586494734fa746b411759303a51a12ec58b03fc99a1edfb1cb01375032054878a6ec9dc4425945aae387e7fc6cd399c90049854cf51b3db690eb78a0a2db04d05102dacaa9834620aba427b5733bf1d1693643c88bd265af0280ecc66344b81129c491b3998c6c70ccf03257c2d06115b72aec35b4c8774cc7936c578b29fb3b0a5c66709363b73f41b08db919cbe57ad817cbb5df62b7836af6ff4ab8cbb07c9fcb7e3d601b2117e6a7242abb24ea96ca867b597e9e9b45c01aba9b54d2d323df8b38d3d37b72c2790e1041037355f274cceac2714a92955b31c55d4903a85bca55b2bc22c536aab22557d912fe2234423e7bc0894bb5f846a2dbc4a0dbb11c51840059ec11bf6cefa3ab473e1cb0f0bd17ee0bc3c59 -sk = b1c127d24808fb2b9922332832131c4fd67fe8a1a070ac8d17100bf9f6291efa0bc8114d98f65c8f4abac3ab17b4241deccc37688b881bcb68503b54379838bbc100b5bab306327e7965b694644c470a5148666c7fa89872d39aff60bc533c83f280abfbc26f073331ef40b694ab25feea5b2f55196798b70681caa21537dfb5746c66129775852e5850f57c2db2e8a0e90530a57b387b1c429101d04096c3e0bb6e9af19f83b1b0b74c47bac678b0f2269798573fbca5d8e687965b13e495827adba63da8a17564a3e68037b3a4991993401c1c6b149895ffbc03760c13595035a713140eb7a42ff6adfe6bb371c9af5a686ef858a8fb7a63fa137492b53305685205b08d44a3ac8f8948f2b7bed9cace27ab6265722d8f2950e0c9ade053a4c4ca8e3f80a907a39e33db78e6065fe9dc050a5a730595ae5ea32e38c512edb79dcf345f1d9c238a1732c552ab8db2ccccd11822972896b323cc43aa03633617f82e89d63d4a1003cf9c5ce3379b1d53a63eac57adbc91510316acdc30fd74a1a2e6c23584ad1cb28444f9231661079b0913e20b3278d8a2e8b18556f336cb750694066b6c82c5d267a903b624cd440d8e187d9e438d178c8394706f016b835e1522ab6904f80cc24358b7dd3bb271039acc174164021e8a522fac473054d5b4cb3bc64bb107c6b637cd6360e312a85a3b1e3d2b64436a87e81016acb763a23ca9b7463023148b0c4888bfb18d9441841f723b9436b77b09c79fc714385a3ae97b5bde0a2a0c541dcd2b668c696281389ec270bc6d088fc42506cec85bcb4b611342af0a61b1b9d75e0df43be293cee6eb0413363716ebbc48ec6c361a48b9d871bd5742fef2ab286094a92b508cb794f2f69a8ee15c2d748d8fca8cd2284719815e75b3b0df76298e48280bf530e09a34d166cd5379777d472f0994ba8e5629ea7691fb973f45869635b61b277c375606b911aa1228271c85b047942a52187bb231412b50f5be423476720240e62b9d3cfc5b7af5ce9fb38e03349063741ade945e994a2d6492a92b1250880318b9b9ce845ba29bd3733228ae960663050888bb98a0fdc21d6fb34cfb5c1af6d9b98ed6ae454c09b89b6067401fb30a17dd331a845c713715b5bd4a087bbc14cbbc9d2ea83d0f9b0d56d939d01b7d590b3082d2405a20724e2c44b5123bc1407b11da3de5889ac52b7b7821c4af1303d3959eef3888b8847f3e0695b5b844e8e3c221718a25057e707a50e0159af4462bb1d103b9057ff7fbc1740bae1afa44138aa2b7e3270cf80a6ac745cf701040c97253133ea195648e929e6c6394940b6eceb18844f1c862da6597a46f64e0cb5d2803eaba4a08110a011a32452185a6425d9d44b43463893369514957592f519c22d2b06bdc762c519d5cb84e9a68456ac60aeae85ac6453de2bcc103e32dd509309fdc08e3b3698a193d83d62df74719703bb5f8cc5db7b88b80110d74d6949d00469b840ff7fabdd4c0cec1a097a6117c28046b06b82c8ee8204296428ab703840acf7f3333d742726b114d3292b3154b2c4095b6d465657ec0780c488a0c60443717109363c45777271955135e60b46104bc18bac09a18690b37c8078a22645532112b1dd09313b9a25b7094700639775f89b8d0314eef0186adf7ceabac36cc9292c270717f27caea51b1afe1cfe6b6a1cb1a7da53c6715c9c9b2694bd5a581b733ad4841b229fb7a17bc213b969935c672d0993a94ec170bdc8b7c800e66bc6514f84fbc81c7d1c9417b79a82e5b3980acc792a19c46d13a2e75a3af791beb401f7555793d94c0ee1b9e98a5b6c52777e537bfb287268ca9524a4438ad87a0e85279e474c5be7740b7867d8b04781a2436a8d343f62274e236c736dc3c59d5b326563b9c86798ab14a6c9a0e67b36db89a82af690da7016418ba2d6c435e39095bb81a0e49c01a73a31ec9159844d1a3eb233d16b932919421e6a342473a71de629477183e8f34b2b7c8abb7a3b6e516107cb5229d780b93417f9bc94c38bcaa58f34dd88835308c742875cccf4928122199cd932148f48a94c5c2252295890bb4645761d3c2c0f33ab3e1021aa56b573e9c6fdac37c83f678b97148ce573a244b0487f3cf771bc7b6a13fe53a6ba58854b87a67a6a17d6a301c85f7c061071b4ddb27b3f404dc402ebacb8254a0568d48b2d299bd831188886a65aea5cd8d987f6017a2f4392f455c2b4f9b63e6cc1a27ea38f2588b0f8086d7a5c5e4b05b76d2b8918820cb8851704ca6d730861b512fefb0a76b61401e23b01ea710c5e3b73fa716dfa6408a635423c61372592dbf174d6d811eef7c4d885bca5fe669233a141e43810ad10235cb59f824728bd7acf17765bcd354a493aa60438f07d266d728b640cb07d50275bc2605fa6c964614b2c8143b37b184f3c30668662149bc18c6038706c12f0d31b896b69a7d588d0004497e4808d8c12253987f000168ea758a5b32c195f03f23a07c5a546a6607084cf79e073bc6cc1cb372e385ca827c490a42d900035bf735c6242031b8332bc57765ecce4792706f1cba0c7cc390e7bd3595ab876c4e397c58fc325c9607b0ee39692c31730eb4744e967e7ff8139fd1a545622ec870516b2925628ba782cac845b2429c3cc0ebf7747f414e8d35cd4a91c959d2276404a5df4790f4363104e6a0d1d60a48b65bbd92b417b51a5338cebe36c0f218bf27968c05d99947e9b44b4b5b2934c538f85cd7c8b9e3c31637e14c5c0279cdd6386e20ca89a53671fb2f04249565491ac2f900ad380d1a68b67693b185f26a232aa1b43503398002085713ca4b2f94cbcf6e837b020404b7f519a2b520f93b901943c918393f26061346a0193ce9ba8a48b5c4b01b0efa231eba0528c5b38cd32cd5d22586494734fa746b411759303a51a12ec58b03fc99a1edfb1cb01375032054878a6ec9dc4425945aae387e7fc6cd399c90049854cf51b3db690eb78a0a2db04d05102dacaa9834620aba427b5733bf1d1693643c88bd265af0280ecc66344b81129c491b3998c6c70ccf03257c2d06115b72aec35b4c8774cc7936c578b29fb3b0a5c66709363b73f41b08db919cbe57ad817cbb5df62b7836af6ff4ab8cbb07c9fcb7e3d601b2117e6a7242abb24ea96ca867b597e9e9b45c01aba9b54d2d323df8b38d3d37b72c2790e1041037355f274cceac2714a92955b31c55d4903a85bca55b2bc22c536aab22557d912fe2234423e7bc0894bb5f846a2dbc4a0dbb11c51840059ec11bf6cefa3ab473e1cb0f0bd17ee0bc3c59175eb63c3144108548720ce7ee0f43a9ff3f52a9924efe9f2f59318bb93c86b5e15274a8e2bc08fe818b117ba28c5dfae74d54fcdf6f20052f79be333edc8dde -m = 1d129b27be7384c359d04311fe5c44917d1fde4bfb57314f483ac617edd5ac49 -ct = 3e4ce5ced61da4c323ae10db3eb49fb68477e49a4d8a7eb19064f75cd640538f0af831553f7690e3531e305813c18dec92a0fb67a341f6e551deeb0b3438a1a22391ad168a5fc16d6483d0a0f2002d5f43153674b07f6a5c5e337e3351a5dbd3c315d460541ee170e2e7cba41942c1753a401e230d50d7b80884fd269f913ee4f326faceccdabe1510eb55faf17155eb4568f19f4e396213c9a7a252e1815aa0fedf980409f218d5ba5b383bed0d331d50053dabd30c98619da2223d746abc4486ebbe371e33313af8225e435cba697eb1b3b99f7a209640c4c82a99caa9c9642ed63878cc886ca77c45360a2234550e68ec486bd584e1ba6bf122af1b931ca3d7c6be30c281d6c5f6e6cee2c9ab2ce047e56f8f80ce3ef606a0b0dca9ca7b2b5945e065fd6e50535a3df08c2fc90b2f02a2638bcf88679d669d7c16e32586ca509e960b73032f223a65ee1286bb54f0780194a0961684e5d4d1e09d147068742488267781305863fc1e2f4ea2cd37b1e34f4179c75f9bc433f279791a62a1d3646b57784aa401af9ad6082a8f2850602b8ee534250c68223b77e23c7d2a7740d51948bde1abc0816f2ef176e9c15ac7a4f40775ac5b9641b7f08c3b084d79fe86464cb1848af41e52df272dac4576319923e22d6845867422e0a07c4aad7a60b8cf2f344cf82f492704d60c5621f798f9911b24bae1c04bce123e40f35a5a78de33f89ca5bc310d4dc5fdc021159ccf412b875a985cebad40e723c9ab585267d1aeee9737b0422c63f9d84660927a29c88e78660cd989bba8c29ca60f83fec307d4c9a676b49a4da9dd9396e8a7a33cc72842378cea52f9115d44e99d78b9996d2c8dc3c4198c67007e1f2972f434989b8450c8f87aa7bcd03afa3542e937ab649ffd3e66e44bba1747bca1514c3b00f9b00391812d1afe38524afbd89d09948fd648d7945ee3ddd0bb0c67e063362b70f7c96ef09d1944cedd28c371fd5a4f8d7be55e47e052d72c95c362d8d1d1c83ca29f70b2422c1f909d14c4d404c39f2aa52ef69b936ae27e0f38c4b564e47399c0e58321afb00bfaf647ace5b18582968987a20766cadd4dd7b166df9cd2df9b3d339e70fe5becfcb3a486b0a7cd616cfc8b439012c1a6e87db9c0be4cb9566051d5fb0712c5c80aaf79974ee299bc7526d2e351a7a8cbe2f35196c0028cb8bc451049876bab7d2b6ea233a16bf2f052bdc82cdd43df3d4db55fc52db36fa70ae7f98601bd6c89282ac94fe34854c86bad00a597a5a684233929f1ca77f6200be14e2d3f93d089089d800c73dbf4416dd831e175522cada8fc004fe5af3581f34ff2084d34add151ac9ec634be82d9c2e149fa94adf14b03827de33b1b08c15eb890029713aef895b413a1992078c1cd4acaddafb0546bfa8f940be6393dfa51ead36703900e35d8e8d05e02920a37f2f5c4bec938fdb4b5ad058a9ceda464a8d1a70ad936a5f7cc55b37e3f1651c3d8cdfdd7cfb1cb33b7e5d59f87e1102b3a534713025b6855dbdb7958708897d3 -ss = d2d4a23dec18fd2c413d0c64d58c1d14e19d2a18aef1cb038d14c3c2e79f6a69 +sk = b1c127d24808fb2b9922332832131c4fd67fe8a1a070ac8d17100bf9f6291efa0bc8114d98f65c8f4abac3ab17b4241deccc37688b881bcb68503b54379838bbc100b5bab306327e7965b694644c470a5148666c7fa89872d39aff60bc533c83f280abfbc26f073331ef40b694ab25feea5b2f55196798b70681caa21537dfb5746c66129775852e5850f57c2db2e8a0e90530a57b387b1c429101d04096c3e0bb6e9af19f83b1b0b74c47bac678b0f2269798573fbca5d8e687965b13e495827adba63da8a17564a3e68037b3a4991993401c1c6b149895ffbc03760c13595035a713140eb7a42ff6adfe6bb371c9af5a686ef858a8fb7a63fa137492b53305685205b08d44a3ac8f8948f2b7bed9cace27ab6265722d8f2950e0c9ade053a4c4ca8e3f80a907a39e33db78e6065fe9dc050a5a730595ae5ea32e38c512edb79dcf345f1d9c238a1732c552ab8db2ccccd11822972896b323cc43aa03633617f82e89d63d4a1003cf9c5ce3379b1d53a63eac57adbc91510316acdc30fd74a1a2e6c23584ad1cb28444f9231661079b0913e20b3278d8a2e8b18556f336cb750694066b6c82c5d267a903b624cd440d8e187d9e438d178c8394706f016b835e1522ab6904f80cc24358b7dd3bb271039acc174164021e8a522fac473054d5b4cb3bc64bb107c6b637cd6360e312a85a3b1e3d2b64436a87e81016acb763a23ca9b7463023148b0c4888bfb18d9441841f723b9436b77b09c79fc714385a3ae97b5bde0a2a0c541dcd2b668c696281389ec270bc6d088fc42506cec85bcb4b611342af0a61b1b9d75e0df43be293cee6eb0413363716ebbc48ec6c361a48b9d871bd5742fef2ab286094a92b508cb794f2f69a8ee15c2d748d8fca8cd2284719815e75b3b0df76298e48280bf530e09a34d166cd5379777d472f0994ba8e5629ea7691fb973f45869635b61b277c375606b911aa1228271c85b047942a52187bb231412b50f5be423476720240e62b9d3cfc5b7af5ce9fb38e03349063741ade945e994a2d6492a92b1250880318b9b9ce845ba29bd3733228ae960663050888bb98a0fdc21d6fb34cfb5c1af6d9b98ed6ae454c09b89b6067401fb30a17dd331a845c713715b5bd4a087bbc14cbbc9d2ea83d0f9b0d56d939d01b7d590b3082d2405a20724e2c44b5123bc1407b11da3de5889ac52b7b7821c4af1303d3959eef3888b8847f3e0695b5b844e8e3c221718a25057e707a50e0159af4462bb1d103b9057ff7fbc1740bae1afa44138aa2b7e3270cf80a6ac745cf701040c97253133ea195648e929e6c6394940b6eceb18844f1c862da6597a46f64e0cb5d2803eaba4a08110a011a32452185a6425d9d44b43463893369514957592f519c22d2b06bdc762c519d5cb84e9a68456ac60aeae85ac6453de2bcc103e32dd509309fdc08e3b3698a193d83d62df74719703bb5f8cc5db7b88b80110d74d6949d00469b840ff7fabdd4c0cec1a097a6117c28046b06b82c8ee8204296428ab703840acf7f3333d742726b114d3292b3154b2c4095b6d465657ec0780c488a0c60443717109363c45777271955135e60b46104bc18bac09a18690b37c8078a22645532112b1dd09313b9a25b7094700639775f89b8d0314eef0186adf7ceabac36cc9292c270717f27caea51b1afe1cfe6b6a1cb1a7da53c6715c9c9b2694bd5a581b733ad4841b229fb7a17bc213b969935c672d0993a94ec170bdc8b7c800e66bc6514f84fbc81c7d1c9417b79a82e5b3980acc792a19c46d13a2e75a3af791beb401f7555793d94c0ee1b9e98a5b6c52777e537bfb287268ca9524a4438ad87a0e85279e474c5be7740b7867d8b04781a2436a8d343f62274e236c736dc3c59d5b326563b9c86798ab14a6c9a0e67b36db89a82af690da7016418ba2d6c435e39095bb81a0e49c01a73a31ec9159844d1a3eb233d16b932919421e6a342473a71de629477183e8f34b2b7c8abb7a3b6e516107cb5229d780b93417f9bc94c38bcaa58f34dd88835308c742875cccf4928122199cd932148f48a94c5c2252295890bb4645761d3c2c0f33ab3e1021aa56b573e9c6fdac37c83f678b97148ce573a244b0487f3cf771bc7b6a13fe53a6ba58854b87a67a6a17d6a301c85f7c061071b4ddb27b3f404dc402ebacb8254a0568d48b2d299bd831188886a65aea5cd8d987f6017a2f4392f455c2b4f9b63e6cc1a27ea38f2588b0f8086d7a5c5e4b05b76d2b8918820cb8851704ca6d730861b512fefb0a76b61401e23b01ea710c5e3b73fa716dfa6408a635423c61372592dbf174d6d811eef7c4d885bca5fe669233a141e43810ad10235cb59f824728bd7acf17765bcd354a493aa60438f07d266d728b640cb07d50275bc2605fa6c964614b2c8143b37b184f3c30668662149bc18c6038706c12f0d31b896b69a7d588d0004497e4808d8c12253987f000168ea758a5b32c195f03f23a07c5a546a6607084cf79e073bc6cc1cb372e385ca827c490a42d900035bf735c6242031b8332bc57765ecce4792706f1cba0c7cc390e7bd3595ab876c4e397c58fc325c9607b0ee39692c31730eb4744e967e7ff8139fd1a545622ec870516b2925628ba782cac845b2429c3cc0ebf7747f414e8d35cd4a91c959d2276404a5df4790f4363104e6a0d1d60a48b65bbd92b417b51a5338cebe36c0f218bf27968c05d99947e9b44b4b5b2934c538f85cd7c8b9e3c31637e14c5c0279cdd6386e20ca89a53671fb2f04249565491ac2f900ad380d1a68b67693b185f26a232aa1b43503398002085713ca4b2f94cbcf6e837b020404b7f519a2b520f93b901943c918393f26061346a0193ce9ba8a48b5c4b01b0efa231eba0528c5b38cd32cd5d22586494734fa746b411759303a51a12ec58b03fc99a1edfb1cb01375032054878a6ec9dc4425945aae387e7fc6cd399c90049854cf51b3db690eb78a0a2db04d05102dacaa9834620aba427b5733bf1d1693643c88bd265af0280ecc66344b81129c491b3998c6c70ccf03257c2d06115b72aec35b4c8774cc7936c578b29fb3b0a5c66709363b73f41b08db919cbe57ad817cbb5df62b7836af6ff4ab8cbb07c9fcb7e3d601b2117e6a7242abb24ea96ca867b597e9e9b45c01aba9b54d2d323df8b38d3d37b72c2790e1041037355f274cceac2714a92955b31c55d4903a85bca55b2bc22c536aab22557d912fe2234423e7bc0894bb5f846a2dbc4a0dbb11c51840059ec11bf6cefa3ab473e1cb0f0bd17ee0bc3c59175eb63c3144108548720ce7ee0f43a9ff3f52a9924efe9f2f59318bb93c86b5171ebb1a64c173b3d4d997c12f734d2d57fa2127052887dcc6461fcc23b66fec +m = 87d356bedd39170c21194287fd3095c451b1e877de2fc9e51b58294672311a75 +ct = 33d1a2473a7c72723e0a1be599ef62da72fffab28b13c7f33be7befcf20464cdd89315b5009928bdddd6254e3f07f240bd69cf66a5ef2f2267229e1b1c9b38ea01faea242a9aa6d142a388df86d0821fc3f6b4b281828d9839cd75e1d9e3bf6a5d1d8797202e16bc0d655359bff8ff2f269c0d5c9ab0ee6b9d423c97b71477441cec61b19fdff35f1b3fcea3ed46d56a308e1bb4b161a40dc339c936bc6610eb07f42c9a430d00f1daa13393460809d4e9effc84f8c1092b63f9e0ea0c9ebd2b855c58500ec30500cc44fe514356cf84b67d9209d1ccd8ad787af565cad1af6a2265a7b859e0ddea348185a312fbb26ab0314f0bac33042c692929369daaf9419e4fe44adffe731217c9cf0d1cae2a08b749ada93113770c6c9ad4c0bd0b04ef43819a70d72938d84a3f98f4c676449e136ed863e910c84bc7378ca75dd21fbe784488cf9de9d06f7b0bbeccf49b9942dc0bf5c907ad4a8a2a6090082aa45af16dfc55ed400f576cab120f9b014ba6d8e83962bcada64e86ca28eb6d740a24610b908eed630548e51d0276f15037f28dc51d3911a558e5c6287a76972260cac1bc43ad1cb167ce22f00e1142e74ea9809002927683278c3ce656eba074fad7199971ea2b6fcb4ee52b7e4b9f1ddad82c5b756f5bb51d8acb1855461104c7830bc24e211423f95826bae42e3574f053e0515d033749bdfaac4d43b1fd5e437beaaad7afac6373c8c633242c0ea3653d6d60ed772d70183f9826226803bda2848e5746a501e7de9fceadada2d5227effd1240045fd1e1a180b150ce1641e2868c0cfaa774975081470cd23be8dbde1e06fe24eadee8e7b47f6d0af6b83e04637448f87024c7625026436cf0e4012627930ffa8df73a41bdb16a9f6051aa2ae89fd62b577673642ad90c522c9a4f4b32b96976a4e23506fce49d0e5a8c6ad0bcfe5178d86e04f1fb6acc008d0c05ada4d0d7c6430b9e0382d2923954ce5b8b4a97e8c5684803db7024909f0083af39600cfe5eb4df8c3162bf8f1911ea6b225be6334a593d31d83d537fc7f4d2c6f7be051ea6576130df4bef9f741e6e4c8111fee91990a0e9c8059ed5440b9416abb5ecc16ffd24ca16e524df7bb7ee13de24d5f043da50867c58fc23441f5b496b5fbd8ed8bcefff7651e3fcab74bd1cb0371c515042d657fbe05b738e8c188286e6c6fc7a3d040f6d45a29ac0c4e4c952262e296b3a6d76ac8ac3c11af5e809ffd6255d6ae7d0e86b49fbf6c93ba40c7572998a15fd494c0dbac724c909a70d834494fee90c38ab3bdd1377070bf83ecaf516871b142d442b240825450a3426c30978fd8506d43e57f64fbd00c4a66a897e992f4cb1aa0a9cdacdeb4ab6f1da2b89164b018486a00f65a308b1013400989379f6d914c87e36a1e851c34d7e144f0b7673baa22b0c9938b3355dce2b9d630b8de36f51e2942cbe89df7f700a92317aa5fb3f8e76b3ebfc1cdf6d414b7db6c41f4ec281943d223561a87002f12d50ff160ca351d53f3603c8d6ab79083371bd322 +ss = bbbfb22f6eef49a100e6e7dcc6ad61a2972d570739ddfccaafc2db90e1cb92f6 d = 690eb71fd7052b906eaec09937a8ed374e0b02afa27c2f14399932be5839fad2 -z = 81c38c2cb5cfafac81b96a810ab749b61806b6d54c9f8cf4bf1be0192423288f +z = 0b472c6da19b790e6c9591ee625b42ca0fc04fd9f69d72ce4efdb3b9ed8d9c29 pk = dbf001bfa28b07e21adc142c75111b9785aa2109a795ab792de4cb7b6298a504200f8850d32cc44e54182761a1c9c9ba591a9fa6873a61025515b068099bb1e63751c5b887d283077f86b733e4344d13310ce12d22322f254a0e92779a87067d19c53c70dbb927e14e1f2892b5273949428eb4c70c49da8aa7fb87048961db4892a6f89f18f0bb69347b9575025a964047ac7bd2c7472838383a6072f8338b23aa07d6b7b221e18d4e3c62641916106694315a2fc5bb88c6d664667680df556c3c046398a88328421f32ecb758bc64cf246815a25922021dcb67c995fc72cc6b46bf5ca9ef3998535ac5cfab70aa54318f9532dcd138a4c03e2ff5024c52bb486ba7665b27610b822975c412331ed6c98e66721daa1897936371113a4f17d96ea735a5cdc019809c3907c03fa950c00eba9dffc69a902151a39163f2931e1c0271d491562e0a87fdf7b7846c31151017ef08727dfb68f22a8585295659ea358cc1b85c9ab4d107413225b8259804b31850eb347e1fd37f5435617a7a07b15321cc204b1a6b7c30d67e91c088a458bef5cb704e6b662189a9c0079e224a94e21502c0f1a4dff6028ef6645cba38c0c86eaf673e9b2613620bc216914a9781645fc48e33cb9ea06182637439f1d1a19fa50cfd3b5e2cb8310229b74ecbaead4b079d535521b8587a2995fa9b8c6694be6e432343c97c16ca23bf53883e23cc38f10c38e54f5639b9fc0943a4f41cd0acc8db40cb12e644cb74b9d4b858f7d6767830b92381a42368476cf2602adb9ed08b35ff5c4d1ea93c94aa75e218779825401d859902d19822e9820d86c7e57562795b89cda97eba773070bbc502884a6f437d7ea7a459c0764cd943e0b6a5b61b8358530459685e2842ae9ab867fa712172207e692a7affa872323779087547c3d8b89f368ce078acecd55aafd5305371a5bef24fb255211b2169f4543927c845a3049f7a88513a682303960c2d12bc277656f15738c4368deb70cff2a32a1d179f4fdca57812cedb21b356e0aa63270788b510e58b4bf613473fe931dc80a9cb8bafe63aaac3913936c8a939c413cca10a1277409250b5da321ee5c24ad3d093c1c7095fba34b81380e5da561bc039e3a8c15ff3982a7938bc16446a3ab2679a50c2e5c1d1a08127db4cea30340b5589b2327988c97b78f003d1315dacb301520a11f9f0b4fb33ce7c0203ff11c6a66136c0aab83928c145f4b968783b131281f2153925dc13ad133fcc5247b595cef0f03ff0da0a429c0de9a54f66c03f1a616c7210b7ed3624fdd27e99f38472867a9283c6b294b0d7014cf9eb62f0d7b051b190f093450453c056081370b45f5ebc4c03808fbb5c6d8b659bd22612c2872de9034b11c6aa6d356b2baccea0f909da0c775969c12fd5bb0c8a9bed5172a9358e01c29d308636b5d668f5b2c9def1380ba23b5c84259d887d3dc4882702b41d99c72c800dd5b19935d7722610741a105c1d227c38c5665cd5a6daaa991a9868499830c1697fa430bf4f95b03004126fac283a167281e4b847eba8487b0032914edb0b67b1e320c25bab50499378115cb07a9000e0156c9c93c1d90693b9c22623a3eb15618fa1c470481c4cf292b7462410d057c2e5851e08e31fd88af2f84b0cf79a88de834c1f17c7a5fa17d329caa0 -sk = eeeb8866b17cda12a45fcc6f9d05afd103835147647a7301ee071366398473c8103ab3b064e340f4f9866190acede02473fb49635bc38debcff0f34c5175ae0ec025aaf19cccd46d658c2a6ba62b50d1452b09c21b430ee9a3ce05d36a8e1aab2bf0185f35664b4999cc8c0df049c01056af6aacb025708c184534f1172b28fcc94aac2fb7012e20443f11f43478e7b1dd8a5c7d9b5a8818c0d2259c7f710f51003777b060f8db5fe06c3520d35e97f6b5792b0ac3304349387b637686cac1a6e45149173041fd7c3cfff5a398ba832dba04dd7179d0768122a701f4e0bfa48149ff140e2978a723fb985b939458b081e1068ee5102e5f540365e6accbb8c28db84125b21e8d04622412c2f075cb57019eb828616caa245a8b099a01bd86268cf491823e440e984335af59924fac1d43263af725895c717e827532d35c7da9ac1420b46aef13c9f33a427bb5a1bc646f7b54a21760527d303bacb2a21aa39c5577bcd5f416f126741fba9c2cf9401ec20a14e9a7bb927cc8135bbb0c3180696093289f4b19539c58655b8698a5d1339c9490be7c04ad3311fd422045a5027b203407cb5755462c21ac51f523389e803f30e12fa9c0aa7b4a1fdd85c66989af558cba916c9a037ac7de1a3f7f1b5bd3208fb6f28661696ad0db88d10a3b224a5bb5c99ccc96820e153e478ac579c65bec5a3d4b85aff1c4af5bb222e7aaaf9e9149afd11ea5e86990913d2b543913942d148639d9815d4a8908362a84bfb6ad20b8acf9596df4187009e7b773070450010744712f9e7a9b8e9624e3e2b1d6140a9e4789775abcbd2657aa487740314ea1e446db5c09746accaee29783b23ebfb255ba5c9706f1254703c676ea09801762e9fa45d858732ae7218b37107b3708eaba05d2c035fd447ceba46ee446aa324bc184e7b929f7513c16bfde5c5e55c05e6b5041552c17dd223af273cbbf65a44b4b6dabd51b341464a9993effd671481592c5a655d116b963975006b13503baae38332248f58656620098f42f97a813dfc7b4df880e5e783af5d833b89079474040ac05a6a7ec5e9ec1bdb282443c736514514f1cb7455958608a62503428464d89c66b209c417445416a54aa66234b1a5bf1c0c3f7064b6d0a7243e170b6acb01c033c5b1670a3ba6801024c03b24cc1786025fbc56bf04f3b241e4be701c9764938695bea4316adb6abacfb44f2041d2c29bb867379374b211e990f194b872a7b684a212dc179a4add943aabb1e6beb93f5cb100fe342d0781aa80989406571d1b79d08e31ae15b81740a22df02270f920ebfaa3c9d74392cd64e71f363df221134e9be32b6b855fb76e15b5c91cc6c3f750aeed71071a0803987ca7f35882ac31413a6001a6023c0a183961722b6ebba16f5577d95bea2c5ab446ac8e57acc96281a07599a8d335c2c12388bb0cb9f8633cd2251c8a7563b396072d0cf6e7b8e3af2192e5731341214c30708e128914c124973e759d4221f1735386b874905220c41fc731a22b9c665cef0cc5353b799399905f0acb549f13c6fa56fae2907d0353ff2054accec40310a2c4b62aac3f392b014ba88fc90eb868693eac83516336baa601f600518fc820bc8b0e76c66dbf001bfa28b07e21adc142c75111b9785aa2109a795ab792de4cb7b6298a504200f8850d32cc44e54182761a1c9c9ba591a9fa6873a61025515b068099bb1e63751c5b887d283077f86b733e4344d13310ce12d22322f254a0e92779a87067d19c53c70dbb927e14e1f2892b5273949428eb4c70c49da8aa7fb87048961db4892a6f89f18f0bb69347b9575025a964047ac7bd2c7472838383a6072f8338b23aa07d6b7b221e18d4e3c62641916106694315a2fc5bb88c6d664667680df556c3c046398a88328421f32ecb758bc64cf246815a25922021dcb67c995fc72cc6b46bf5ca9ef3998535ac5cfab70aa54318f9532dcd138a4c03e2ff5024c52bb486ba7665b27610b822975c412331ed6c98e66721daa1897936371113a4f17d96ea735a5cdc019809c3907c03fa950c00eba9dffc69a902151a39163f2931e1c0271d491562e0a87fdf7b7846c31151017ef08727dfb68f22a8585295659ea358cc1b85c9ab4d107413225b8259804b31850eb347e1fd37f5435617a7a07b15321cc204b1a6b7c30d67e91c088a458bef5cb704e6b662189a9c0079e224a94e21502c0f1a4dff6028ef6645cba38c0c86eaf673e9b2613620bc216914a9781645fc48e33cb9ea06182637439f1d1a19fa50cfd3b5e2cb8310229b74ecbaead4b079d535521b8587a2995fa9b8c6694be6e432343c97c16ca23bf53883e23cc38f10c38e54f5639b9fc0943a4f41cd0acc8db40cb12e644cb74b9d4b858f7d6767830b92381a42368476cf2602adb9ed08b35ff5c4d1ea93c94aa75e218779825401d859902d19822e9820d86c7e57562795b89cda97eba773070bbc502884a6f437d7ea7a459c0764cd943e0b6a5b61b8358530459685e2842ae9ab867fa712172207e692a7affa872323779087547c3d8b89f368ce078acecd55aafd5305371a5bef24fb255211b2169f4543927c845a3049f7a88513a682303960c2d12bc277656f15738c4368deb70cff2a32a1d179f4fdca57812cedb21b356e0aa63270788b510e58b4bf613473fe931dc80a9cb8bafe63aaac3913936c8a939c413cca10a1277409250b5da321ee5c24ad3d093c1c7095fba34b81380e5da561bc039e3a8c15ff3982a7938bc16446a3ab2679a50c2e5c1d1a08127db4cea30340b5589b2327988c97b78f003d1315dacb301520a11f9f0b4fb33ce7c0203ff11c6a66136c0aab83928c145f4b968783b131281f2153925dc13ad133fcc5247b595cef0f03ff0da0a429c0de9a54f66c03f1a616c7210b7ed3624fdd27e99f38472867a9283c6b294b0d7014cf9eb62f0d7b051b190f093450453c056081370b45f5ebc4c03808fbb5c6d8b659bd22612c2872de9034b11c6aa6d356b2baccea0f909da0c775969c12fd5bb0c8a9bed5172a9358e01c29d308636b5d668f5b2c9def1380ba23b5c84259d887d3dc4882702b41d99c72c800dd5b19935d7722610741a105c1d227c38c5665cd5a6daaa991a9868499830c1697fa430bf4f95b03004126fac283a167281e4b847eba8487b0032914edb0b67b1e320c25bab50499378115cb07a9000e0156c9c93c1d90693b9c22623a3eb15618fa1c470481c4cf292b7462410d057c2e5851e08e31fd88af2f84b0cf79a88de834c1f17c7a5fa17d329caa09bc32a138a2fb5b6072464172abe0fd97e9eabf357c3fa5391d94a415b53abd381c38c2cb5cfafac81b96a810ab749b61806b6d54c9f8cf4bf1be0192423288f -m = bbc773ebd2df42c36ae05952d6a64c63a5dfb82ceb3ef4f8d4df3a30ec8c0467 -ct = 7c87310316cc1aae495ef575650d79bc38e091b72bf809e003c71adff6c4729139ce41cb1f669f1e1281f223781293e3d9ac647d16ea0d08402cc265f1f4c26d08b7d4651d88f2332bdb9f9f3b417afe26a433bce1e8a975d86b547e77e8d4189bd9e46f6f2842166d6389a5cd399e735686bdf4779991c1242e3bfef69552d6282c476ac51eda2c9d7a4e3100f8bc8fcdfc449eb57da0f392cd889bcf45c337a84e48e3b83ad72c50c9d2905a4e22e59cc73ad7fe85d6bea30550ba2ba5929a3847a9b78d886ca1b93e0c4c14de5056360e7dd398cc271d96a7950f4c439526eaf8505a37c0dd6ab037885e48d8b66e9c3fb3c218d74aa7f31fce3fcb58c2fbbca23d78f994a4465907a6328c2e35d83259ce735cdee26d516be175c2bbd5e24616111fc7a3d95ae11d035af9497ba41692a12900926e8faa3a80a5349269d2786e4a1f9f57ea473c6173c2c88d6e4ff2371ea3fe8261c21c63d7e29ac72a2995762a378a45a9c8d811f2f92229967c3a7a409452f4eb01083fadd41a0948de85363733b7c0349dd1fd4d231acab563cb5a908a19b819e579ac1a599f5b8135c2794b34a3314d1b8559961fa26e9396bac778a6697363ef60a60158736c92f7c1ba912791ab962b327e6369c6edacf69fc9af49379387d5e8c4cadeee9b3d5eedc6919be78a199df3341f23678c6d657b5c65279484f18e4a9789b675085ede2d55bd10311617649ded74918a752a44ff9361d7402eaf97128bed4147ef3ca81b159b304588d22802a2e05a0b2ac5031f9162fa524d28ef0381e166bb81fe396124c4247082ea6dd755f48d8b419bd6c52cad8ca084ced3aeea060642ffe0fc7e6c1630d056b449ffc1da8e693f64925fc179938cf5283f6e3584eadc904338857396fe810f4f3175868578bc21608edd7a8109ac5a8635ff8c4c3c6da0c3c618cb2b3448e31e8414d16ea50baf6a4564f686d12692bfe4aefa5a0e57b84c55589d0b4ceb2f358ac33254453e001846a2c7c299ded877a07a28d0db5e7a5e6d41c246775f951cf114f3ce64ad839681c17e995ca123cf2a24006400b4969b99e75d066b774fe4e994828ff84f171d9c618fd2d5a01ef845379831051c84a734c40871cf53935ff8ad0954902c017e8c323dd751ccf14bc50638a31629e4fa70ea6e912b6a6422ac19442832e8a051e7019a820bc6ab81cb9715998f34014df73db8f62f5957d53d1fd3192d9f76cb8e2587dc9a1738207f956f6bc706c3b3b7db0c578d220f30ef2925a7e35ce01059be2b8ac6561ea7ac253d5f50706515947771c052b015f61ff347ecdfaa1c895af5bc7e8dc7463a301221af6c95eb65b8fcd77b1cb4577f5053e34766631e75a0a320ec678ecafef5084e514eb48ab6490658492bda71d6acec26488d29dfe809f576fd7f5f38ecb4918657e4c8f25fa09932f435f211e41b207a61d60c9becfd50fa6d498de3f4647d6aa922d5a82b33ce96399b67fbe369da888179f95f655122e0028512944875308ede8ce87e67a6 -ss = 52e36f81dd9a23fb9bb2363c31b715106d38520a31a3304cf754a9432e757224 +sk = eeeb8866b17cda12a45fcc6f9d05afd103835147647a7301ee071366398473c8103ab3b064e340f4f9866190acede02473fb49635bc38debcff0f34c5175ae0ec025aaf19cccd46d658c2a6ba62b50d1452b09c21b430ee9a3ce05d36a8e1aab2bf0185f35664b4999cc8c0df049c01056af6aacb025708c184534f1172b28fcc94aac2fb7012e20443f11f43478e7b1dd8a5c7d9b5a8818c0d2259c7f710f51003777b060f8db5fe06c3520d35e97f6b5792b0ac3304349387b637686cac1a6e45149173041fd7c3cfff5a398ba832dba04dd7179d0768122a701f4e0bfa48149ff140e2978a723fb985b939458b081e1068ee5102e5f540365e6accbb8c28db84125b21e8d04622412c2f075cb57019eb828616caa245a8b099a01bd86268cf491823e440e984335af59924fac1d43263af725895c717e827532d35c7da9ac1420b46aef13c9f33a427bb5a1bc646f7b54a21760527d303bacb2a21aa39c5577bcd5f416f126741fba9c2cf9401ec20a14e9a7bb927cc8135bbb0c3180696093289f4b19539c58655b8698a5d1339c9490be7c04ad3311fd422045a5027b203407cb5755462c21ac51f523389e803f30e12fa9c0aa7b4a1fdd85c66989af558cba916c9a037ac7de1a3f7f1b5bd3208fb6f28661696ad0db88d10a3b224a5bb5c99ccc96820e153e478ac579c65bec5a3d4b85aff1c4af5bb222e7aaaf9e9149afd11ea5e86990913d2b543913942d148639d9815d4a8908362a84bfb6ad20b8acf9596df4187009e7b773070450010744712f9e7a9b8e9624e3e2b1d6140a9e4789775abcbd2657aa487740314ea1e446db5c09746accaee29783b23ebfb255ba5c9706f1254703c676ea09801762e9fa45d858732ae7218b37107b3708eaba05d2c035fd447ceba46ee446aa324bc184e7b929f7513c16bfde5c5e55c05e6b5041552c17dd223af273cbbf65a44b4b6dabd51b341464a9993effd671481592c5a655d116b963975006b13503baae38332248f58656620098f42f97a813dfc7b4df880e5e783af5d833b89079474040ac05a6a7ec5e9ec1bdb282443c736514514f1cb7455958608a62503428464d89c66b209c417445416a54aa66234b1a5bf1c0c3f7064b6d0a7243e170b6acb01c033c5b1670a3ba6801024c03b24cc1786025fbc56bf04f3b241e4be701c9764938695bea4316adb6abacfb44f2041d2c29bb867379374b211e990f194b872a7b684a212dc179a4add943aabb1e6beb93f5cb100fe342d0781aa80989406571d1b79d08e31ae15b81740a22df02270f920ebfaa3c9d74392cd64e71f363df221134e9be32b6b855fb76e15b5c91cc6c3f750aeed71071a0803987ca7f35882ac31413a6001a6023c0a183961722b6ebba16f5577d95bea2c5ab446ac8e57acc96281a07599a8d335c2c12388bb0cb9f8633cd2251c8a7563b396072d0cf6e7b8e3af2192e5731341214c30708e128914c124973e759d4221f1735386b874905220c41fc731a22b9c665cef0cc5353b799399905f0acb549f13c6fa56fae2907d0353ff2054accec40310a2c4b62aac3f392b014ba88fc90eb868693eac83516336baa601f600518fc820bc8b0e76c66dbf001bfa28b07e21adc142c75111b9785aa2109a795ab792de4cb7b6298a504200f8850d32cc44e54182761a1c9c9ba591a9fa6873a61025515b068099bb1e63751c5b887d283077f86b733e4344d13310ce12d22322f254a0e92779a87067d19c53c70dbb927e14e1f2892b5273949428eb4c70c49da8aa7fb87048961db4892a6f89f18f0bb69347b9575025a964047ac7bd2c7472838383a6072f8338b23aa07d6b7b221e18d4e3c62641916106694315a2fc5bb88c6d664667680df556c3c046398a88328421f32ecb758bc64cf246815a25922021dcb67c995fc72cc6b46bf5ca9ef3998535ac5cfab70aa54318f9532dcd138a4c03e2ff5024c52bb486ba7665b27610b822975c412331ed6c98e66721daa1897936371113a4f17d96ea735a5cdc019809c3907c03fa950c00eba9dffc69a902151a39163f2931e1c0271d491562e0a87fdf7b7846c31151017ef08727dfb68f22a8585295659ea358cc1b85c9ab4d107413225b8259804b31850eb347e1fd37f5435617a7a07b15321cc204b1a6b7c30d67e91c088a458bef5cb704e6b662189a9c0079e224a94e21502c0f1a4dff6028ef6645cba38c0c86eaf673e9b2613620bc216914a9781645fc48e33cb9ea06182637439f1d1a19fa50cfd3b5e2cb8310229b74ecbaead4b079d535521b8587a2995fa9b8c6694be6e432343c97c16ca23bf53883e23cc38f10c38e54f5639b9fc0943a4f41cd0acc8db40cb12e644cb74b9d4b858f7d6767830b92381a42368476cf2602adb9ed08b35ff5c4d1ea93c94aa75e218779825401d859902d19822e9820d86c7e57562795b89cda97eba773070bbc502884a6f437d7ea7a459c0764cd943e0b6a5b61b8358530459685e2842ae9ab867fa712172207e692a7affa872323779087547c3d8b89f368ce078acecd55aafd5305371a5bef24fb255211b2169f4543927c845a3049f7a88513a682303960c2d12bc277656f15738c4368deb70cff2a32a1d179f4fdca57812cedb21b356e0aa63270788b510e58b4bf613473fe931dc80a9cb8bafe63aaac3913936c8a939c413cca10a1277409250b5da321ee5c24ad3d093c1c7095fba34b81380e5da561bc039e3a8c15ff3982a7938bc16446a3ab2679a50c2e5c1d1a08127db4cea30340b5589b2327988c97b78f003d1315dacb301520a11f9f0b4fb33ce7c0203ff11c6a66136c0aab83928c145f4b968783b131281f2153925dc13ad133fcc5247b595cef0f03ff0da0a429c0de9a54f66c03f1a616c7210b7ed3624fdd27e99f38472867a9283c6b294b0d7014cf9eb62f0d7b051b190f093450453c056081370b45f5ebc4c03808fbb5c6d8b659bd22612c2872de9034b11c6aa6d356b2baccea0f909da0c775969c12fd5bb0c8a9bed5172a9358e01c29d308636b5d668f5b2c9def1380ba23b5c84259d887d3dc4882702b41d99c72c800dd5b19935d7722610741a105c1d227c38c5665cd5a6daaa991a9868499830c1697fa430bf4f95b03004126fac283a167281e4b847eba8487b0032914edb0b67b1e320c25bab50499378115cb07a9000e0156c9c93c1d90693b9c22623a3eb15618fa1c470481c4cf292b7462410d057c2e5851e08e31fd88af2f84b0cf79a88de834c1f17c7a5fa17d329caa09bc32a138a2fb5b6072464172abe0fd97e9eabf357c3fa5391d94a415b53abd30b472c6da19b790e6c9591ee625b42ca0fc04fd9f69d72ce4efdb3b9ed8d9c29 +m = a172a053269af9bf0c132baeba3bcab0c3222520eb90a6f7ba15f507273c828f +ct = 398c4e7ae6f0d8754c3b23bfc48c0ce74efec8a3ffffad47579ca028206d3e0a97bbb6761bf5e9598ca025c05445c237a5c9546302356a43c0f5fc64e3aa701ba1b936a3c2b512c8ac89284ae92eacf12ff994ca06dc224c3eced6028cb90656def5eb08cb5c3c0f7fb14e2c0ce9007bd3f2ed271dfff067c711a03332423c3e2486d16b0edad0f8f1d0ac6a231c7bf7d97828e3ca6d6a7585e4cadfe29880b879779060d1563077824b9796cda81eb2c23c2133b8229eecabc756c2272ca91cab3d0a4ac09677b7dfa3ae6aa12beb9312b2c636c1ceda259af68172241a03453c767d135f74222b03ad12f0c72ab27c5a46d8106dd7bb77fe68a6dc17f1d2003af04d67b933fcf59514d4f7250d2a403acfa06b6e1a32428599a152fa51d9de841f0d39238fb312146dc888eba41c3c69369e4aced63e8bb1353700b1a8a27df82c6ce224e62b38c60676cb7af3e8fdc855481843b5cadd5e6e9a8f51e89e6741f51a842b3ac2562c63922dd9dca466fdcdbbddaa7e3dedcb1ea45b3000babfca2b8413cba10541c2cd3fc425717033e135289e109bccfdadaabc912720ccb18c48eaf0cd9ed3b7fd0a7a6e1c21e75841f60093622c6634342239e932496b6d2657f71e84945a7b7361cc125236e662ffecd2d29c9ed5eecd91a6bd4cbd9c3f22d5f35177be3ba5b290b513dfc98a26a74f31832a30ea14a18b76260a9279d009eabb0cbcfca67a5cbf9a5c8bf5f3824ec0effca1265f98010f702a14cdc020679848744ce5151e5be6cc415a05e2892ce05cd4e5e6c2834d94af29729932f0a7c9456acb10d53a26f9ec2d27d16f5b3f7777d94ea52710e147ced883284a4288f3042bb732103a6eeadc712153911f9440d75eaf01058dd064701a96b0299c8cff5d0e3d27694aa729ee8bc085ce7ef484f41c76dc569387443274aa2d951cb6879e4db998745afe0243cabdb3fa6fe57244fe18a1f23dc79e320237039d08977f8d24a77782f1cc40fea4a5260391db4f58ab786a77e0f704066cd89de6c81889e0984541a6290764634062c97b6eb0f448428217337347a5f54ccec9783f4e8d5f25cbe4e3f9409f014a4d000acc6cc8faeda1c1cded26a8aa86b45dd7f88b6a177aa50a98c9aa8e315ed94aee69a3a5baa705d9144e8c72aced89d5cef6623bb0d7393cb45640ca56bf17254514b8da197f9f20f81fde2b87f59644a4e0288460ca1d8d5837855e463dd6b148c54b148e89ae7c14e9299f153b9abff2a9d5ce6f41a8a94ac904eb7b119b9d816e8fed7936440a21fffc9ea89583d5ac9093f5c911b2a0f8dc83e39b1f86b5382a7a1fb22c033ede30fb5f07a36200949491cd0fda08566f71feed83fe21c11c7342f38736baf9bf0b63b2c29f9f19eef5b98508bc213f8cf1e4026973f75c4e07c2f13369e006308de48922fdf975a1ca03a502335a286f55cbd17691355bccaea9c49e48356d817acfd8434791a868bb6e3a12041e2a5e407284732799854979159d70205f526df229284bb12ac67b25 +ss = 894a4d596e75b5300b45feabd3fe8d3ef943743023446bdb2f44d10137847367 d = 32e0ea9089fa928482c0770da545af1bb871a03ce38604138b0d08ea2a10ca2b -z = c06c5bef7b6508409daf847a64c8d30d0974fd3ba7476dc76c46b458a036d884 +z = 56ddb63a495d1afa553a815cf751d711478a39e8d1aaca992796b619c84565cd pk = 2df84a0272c13da5a495942ba848ac92d302a98a3e55937b8b1b49fe588be32a540ec90b5cebbd90d1b80dd24d32eb85fc041a7ca307e522b8c5fa9c85bc258c8abb9f2678d29569f313a1e660a2454730261a6766945ce42c140e5181c68461eaf12d1f185c358233b9bb4902fc5089f851bac83ce3f07bd7b185ef08626d7029129703334084375bc5ba27ba023ca6722319a916baad529715661e3a413c8137cbbb206e313906df1ca77cba73e5499f54fc53047741af2341d5623278f76131ab47af10bb4dea8f493b6c0e4829ecf4c425a46d21755e93e5a80d0a927739848695be93444a98a45d02d1131e493da5a0a1117b41d4ab3db35a7a2e95c6055ba70ef159e7aa0dd5452598f91477087bef1396acd48e747b962205af92eb99faa809b4bc47eb93bfd3860102d4adcbfc39be80024550656c42785a6788c7a851b107823a02a3daa4caf25097f1f9afb29416dbb360c4a824e3ca2a30e19f94b805de181d0a028e685c378dcc225112899a6b79869109ca4b094909b21042c179c6cdeb22564cfb6f89135022fca3028caf7abab19a4045dd5a60721c6bb47ac53e40cd932511f2e5473d3b4ceeb44be1a00e090a886d345b13a58620c49ca0893f23058412054ae5069c1014361cfb0379c2215f330abc647114a3c597765fd014c64c8c1b1b45b3bd02be9d5a55b0cacfce297581fb48fe0256f4c0cfc84aae1c542f36730e5f10795c72157c653210686801210418b549a7398ca8b7c70ed007cb153d2a55178ae23a5b095ee2d116b9f3a1a9f19faec40d75256cdf76ab8e393210d3afae375a7bc384799a6efc5b76f287499c6701368b8ddc219a9f2295e6e01d22c4a50bd08179a08044b702ffd786faa088f867b63b951a92751cb0f839cd554a83745444c3bb88d3609a9a4bc2e0bc73108a71cc7534217872539bd6e942cd36a09aa0374a3894d279a1f7c38a56e7c0298948c330b8c3a5b6aec3bbdbb87384677ada78017564a7fe40c2983a9ed3acbce5e29e3a78502952a9540a44975572a1512b1d4284d9bb528e538f43a15216f4b4f2a5208e06c43896a19c416c99c3b677564975948468792edb6532f9b0567f407fc6d6c302766c6d1373bf78a18896188cf20ccec39632269f6a193de5ec5dca85cad6bc79023c691d5682643b6f314827e0b24539e2aa91123b3fe42308f041dfb6c876d079d60a3ef5735ab8a36abae34f4a12729be4a00f753c7e4699572375e6c7b037948684206c08a27ec12b26f7349cdacc3559ac29d5cbc35c310870597e391ac4e4c02991096f37492083bc1c43304bc3d5925843622494c735942dac8904cf195387eccdcfcc8a999b6d1b744a542359e6b167f91022be1660bbd218a6a6861aa17c57152552172f38b43d5281956caa77daf9b94cf60cbf08cd9d9b4c1edb6c4a17bae3b36800891910c280c3e7cbf4aa11f33a7c70e3b419c2b2b9a64709c31878f913fb934d77b4c36e329ba98b44f394631e0a289042061f527d67446d6ab55ce7b43ee1080fbae67085a2a03b36cc9ad9b5b546156c3c5a79b092a67912a19575f6b5546397c15ae334b451c3d919422f28b70727c75fb631a2ab012bd5971b5b2b75f80e14bec0494baeae3c7ae947bd69827e1fb86388052c3bf3f8b4cd25a568 -sk = b27ca8d40a1cf8aac1a62553ff541ef56b4b4e352e38c0ae8c2cb2240c2d2525adc52b1953a1c239e3add71b5f7693196875babf8b31edc528f3b320e6569997639f1c9b5279c38d5ddb3b691b0228ac4480d45077db55bac24285c5820c49be25632c4aaaa23ed84e10a1256d9cca9b584d423a9fd37276cbfc5953c9284a4097bf71706069ac413ab857c64ebd179eb75496170778afd74180d877c9d69e1956450b1289948323f64227960a0b24b442e78c551c5b35e89b34b018b80bd094f7594365195f44c05bacbb2e0a976a86559bd6b23d220b5c900375c6b188fb353c3b064ced669bee6751d5d22659eb89900a92b7ba84eab58b7e95cb8495191ca0491ef75a3abb9469a7939796c2f8c15ca22283235852b0a96daec403c5c057b5ac91d09cb16e01bb0d078170e0ce9596b913e953c5aa67bd8a2ff20c0261ca814f334244886daa0694368293fd858e14e23d13e66ac89a58867574804786c4c48d2fc003336c002a7776217acfe7084588455a0a85b8aa51c33e99b1cdb75541855577911db00475df42168e7a21efe57402303dfe37ab5bf10200395550a1639da2aa8e358748ec38946bbd3dfc27deb08f4f017abe33a2df3b9b96cac0e8c261e487cfff31a1484ca5e04036797cb4fc87ae6cc72f9ec0835ae2b160b425acfa8b75236d92870e4d43bfa7ea5c98827f95db6dd4200068650e3d8812de827c3f660cf8049933daa52793ac10f57ad8f2a7445927ca6022d5a485f9424662a175b2a6349b248aaf4853be709d42228c3ce3b13990794b9698869842b81649cbd9482c2435886441ed9a7927384371d02005a514717abec398bd183b321134a4de85a1fc9b72f7268ccafbae289c15dcec18bc26b81ec43c6b8a3919625165617d60c33f1e6b04cd5492414a15bbca5ce84284557c9cb481a951fa5df2e444e2c20969f38284e60ff15b0ee707115880bc6d3834230c7d22c7cd69229d1eea957f58b2d47b11ca97c926070cf1c1934ef83f5a26241c7c73959c8a0501c2c1c70671987243635fea56ce6ee292b1d6aa26c4cddfaa1751520fc3218e7e20c13c6a1df4835c7d6c0ba45923ceb2ab40fa7fe3732e47ab652309cdf28091d8d86308b73f90d86995220acdd9c544c95fcd24a77e7c90f2f15e52aab595e11b1ac0799a3ca95e0644771420aedc777a9048fa89ce94780c8f2b903548bd46a2c22e453b68736f5cca6c35ebb027c0c7035678f7f69a9ca02fbb4b23746759660251f6757be3aa1767d7280aa75b60a7a0cc892f70f67cda886cfcabb451a36023c688d7ab5e0a3b5bc88514ced3597a594d0e28c7aa25859e57be9fb12691c047a8a7373fe1695ae742027a8f5630cb2776721815742c66a4ba0c7e7e8b8281144b80288cc7296bfc8625a2cb995b548d48294b2fbca97d375b91203392cc27fe835f62db97b14739f6c8b1880a53ddd388e2636f866416817a110258a098d9af4458a64c68654e97099746b9b9e23adab5653970c00719b54e4a2d2092cd7bd62ad9317357e35224184a4e24b4a58014f666b33e1530365070b73aa6da432d04f2588f34ac1cb3b3f7fb4ab200b459966fafc689cc40adad0c26108859a2943e2df84a0272c13da5a495942ba848ac92d302a98a3e55937b8b1b49fe588be32a540ec90b5cebbd90d1b80dd24d32eb85fc041a7ca307e522b8c5fa9c85bc258c8abb9f2678d29569f313a1e660a2454730261a6766945ce42c140e5181c68461eaf12d1f185c358233b9bb4902fc5089f851bac83ce3f07bd7b185ef08626d7029129703334084375bc5ba27ba023ca6722319a916baad529715661e3a413c8137cbbb206e313906df1ca77cba73e5499f54fc53047741af2341d5623278f76131ab47af10bb4dea8f493b6c0e4829ecf4c425a46d21755e93e5a80d0a927739848695be93444a98a45d02d1131e493da5a0a1117b41d4ab3db35a7a2e95c6055ba70ef159e7aa0dd5452598f91477087bef1396acd48e747b962205af92eb99faa809b4bc47eb93bfd3860102d4adcbfc39be80024550656c42785a6788c7a851b107823a02a3daa4caf25097f1f9afb29416dbb360c4a824e3ca2a30e19f94b805de181d0a028e685c378dcc225112899a6b79869109ca4b094909b21042c179c6cdeb22564cfb6f89135022fca3028caf7abab19a4045dd5a60721c6bb47ac53e40cd932511f2e5473d3b4ceeb44be1a00e090a886d345b13a58620c49ca0893f23058412054ae5069c1014361cfb0379c2215f330abc647114a3c597765fd014c64c8c1b1b45b3bd02be9d5a55b0cacfce297581fb48fe0256f4c0cfc84aae1c542f36730e5f10795c72157c653210686801210418b549a7398ca8b7c70ed007cb153d2a55178ae23a5b095ee2d116b9f3a1a9f19faec40d75256cdf76ab8e393210d3afae375a7bc384799a6efc5b76f287499c6701368b8ddc219a9f2295e6e01d22c4a50bd08179a08044b702ffd786faa088f867b63b951a92751cb0f839cd554a83745444c3bb88d3609a9a4bc2e0bc73108a71cc7534217872539bd6e942cd36a09aa0374a3894d279a1f7c38a56e7c0298948c330b8c3a5b6aec3bbdbb87384677ada78017564a7fe40c2983a9ed3acbce5e29e3a78502952a9540a44975572a1512b1d4284d9bb528e538f43a15216f4b4f2a5208e06c43896a19c416c99c3b677564975948468792edb6532f9b0567f407fc6d6c302766c6d1373bf78a18896188cf20ccec39632269f6a193de5ec5dca85cad6bc79023c691d5682643b6f314827e0b24539e2aa91123b3fe42308f041dfb6c876d079d60a3ef5735ab8a36abae34f4a12729be4a00f753c7e4699572375e6c7b037948684206c08a27ec12b26f7349cdacc3559ac29d5cbc35c310870597e391ac4e4c02991096f37492083bc1c43304bc3d5925843622494c735942dac8904cf195387eccdcfcc8a999b6d1b744a542359e6b167f91022be1660bbd218a6a6861aa17c57152552172f38b43d5281956caa77daf9b94cf60cbf08cd9d9b4c1edb6c4a17bae3b36800891910c280c3e7cbf4aa11f33a7c70e3b419c2b2b9a64709c31878f913fb934d77b4c36e329ba98b44f394631e0a289042061f527d67446d6ab55ce7b43ee1080fbae67085a2a03b36cc9ad9b5b546156c3c5a79b092a67912a19575f6b5546397c15ae334b451c3d919422f28b70727c75fb631a2ab012bd5971b5b2b75f80e14bec0494baeae3c7ae947bd69827e1fb86388052c3bf3f8b4cd25a5687ef43a72ef04766f1e899d25c9a005009c788b5faf985123cfb3fb97975de26dc06c5bef7b6508409daf847a64c8d30d0974fd3ba7476dc76c46b458a036d884 -m = 5b17a6adad541efcbf5ae4b0c0452cd2ce32e4f0f8701801c5b63e197c1fcbf4 -ct = 4c5ce3680e598066ffe1ee7645e55ced8c9a55b6902a491aeb9b6447f58b6184343638f13f4f79d067a0a8a4f10ca355188fde778b848886e2f38979b5aef4f14dd0b47e7a95ae839f6a1945d9b32d830189f3994c43de711f71e8439bcf957b62a8f97cd869ee551d167b4c97e209b972e175947e7c5423ea86b5ff5d4004bbea6163ee2858fdc9d8a04180d01aee7e75b8616bd1e37ef33db050ff02674c3d9c58af7c1a76d79f4940e29b3dd1365c8259b2da36e8b8a7d05887bfd3e145e8c78f01cdb63fedf457a1af4746828734f23b947f68d217e3fad14d7cf15b26651915c371d3cd4c58094f15dabd0013e7878eb8acaab33efdd47b2b20688a85a3f92c6a4d90f6045127a17af0f8643b064a4a30a983f7dddce4d8893a3f964578d0529113d9d248e09a41792d4053b8b04942e866ad0de54f8fe31b64024e647eab8a10c87526899c6fce476314aca7b9b5e2f809721d2660dcdf9fba5734714592be7157ed459bfa0500b94242c48e2efaa774e0f78b0efee997658cc82c2dfc8c686c3406a6d997296f2fd3281d3e44750deba5b22cbcf7e45ba3663f2909a643838c9e7d5ffda9ab840c9a0af6d6fe29be8a7615d896d8879ec16bcb9999559a645627553bf231faa4344f6258fc4679c790668d09ab7393cde99170a770e3bc4491c35f22bc7234c346191e09cac7ce819b8e43da70880bd3563622196d860db3fd4b1e1e814660a024edc779bdeb38cb686318ee950aaf42aa3b0042716d5365a102c5fea90a7c0dbe71cef891f12ca3d20f0a35f7d59e8ec5b35972fdb474d52d780c54b5c79d1c165db237ac235528a42b21e3d667968418019afe9f68f44d46dc96eb87a7da38f2b0b943c9c6c2e87c724c99c65e5cca40d6c85e32778ce1065f65c95795e0f1abe400a4c78f22303d8ed54f9be517ce2eeae1ae6dbc04e9604de79952dc74758027c616acb8f586ee0f7bb7274d3e1e147e27039a44e3c1e0a5a874bb0e70a60f897aae005701dae3a9696652869f541ee178eab5118d3115c923321bd28f9d6358fa012633076754110877c00376c5ccd57e6917df937af1c6f449993088d01993e4b470e98cf8f42f7a81120d175ca4cfaf063f76950d2e75046afe842bdc15fe4cdb69369cc112050b62369d4820c97f407d8355cee5d8c4b682e7d184f6fa02992bae0fbbd2abdaabff5ba49f4571fed93789e52ace387ad29a7a6eb8c0ffab868a4542a42c1b35fd3d42e426714c01f82c8b11d77d768cb5908e60934678140524922ee339d3783c912151eab2f051c1e61eea79148f442fb7715855a0c9d6b857412d5cc3526584131180ec763aff11813eb16446e876f48a25b8fe13efb071991ff1def484aa00a976c4ca8d65b4af8ab6d59eeb6957932f218dace7ba7d57d402a9eda506220a22f03bb70cb60134bc3334b005aaa26a7ea14808f13dcb1eb11bb40df9a8caa714a5f0b076f1c64bef4a0607b174406155e77e531307eb8c5fe2a53d1be40301ec59aa2cd995ffd5e55708 -ss = d072cb81aff4aa5712e56f0e9567dd89f2b03488735ba4751a7f0df1c786402a +sk = b27ca8d40a1cf8aac1a62553ff541ef56b4b4e352e38c0ae8c2cb2240c2d2525adc52b1953a1c239e3add71b5f7693196875babf8b31edc528f3b320e6569997639f1c9b5279c38d5ddb3b691b0228ac4480d45077db55bac24285c5820c49be25632c4aaaa23ed84e10a1256d9cca9b584d423a9fd37276cbfc5953c9284a4097bf71706069ac413ab857c64ebd179eb75496170778afd74180d877c9d69e1956450b1289948323f64227960a0b24b442e78c551c5b35e89b34b018b80bd094f7594365195f44c05bacbb2e0a976a86559bd6b23d220b5c900375c6b188fb353c3b064ced669bee6751d5d22659eb89900a92b7ba84eab58b7e95cb8495191ca0491ef75a3abb9469a7939796c2f8c15ca22283235852b0a96daec403c5c057b5ac91d09cb16e01bb0d078170e0ce9596b913e953c5aa67bd8a2ff20c0261ca814f334244886daa0694368293fd858e14e23d13e66ac89a58867574804786c4c48d2fc003336c002a7776217acfe7084588455a0a85b8aa51c33e99b1cdb75541855577911db00475df42168e7a21efe57402303dfe37ab5bf10200395550a1639da2aa8e358748ec38946bbd3dfc27deb08f4f017abe33a2df3b9b96cac0e8c261e487cfff31a1484ca5e04036797cb4fc87ae6cc72f9ec0835ae2b160b425acfa8b75236d92870e4d43bfa7ea5c98827f95db6dd4200068650e3d8812de827c3f660cf8049933daa52793ac10f57ad8f2a7445927ca6022d5a485f9424662a175b2a6349b248aaf4853be709d42228c3ce3b13990794b9698869842b81649cbd9482c2435886441ed9a7927384371d02005a514717abec398bd183b321134a4de85a1fc9b72f7268ccafbae289c15dcec18bc26b81ec43c6b8a3919625165617d60c33f1e6b04cd5492414a15bbca5ce84284557c9cb481a951fa5df2e444e2c20969f38284e60ff15b0ee707115880bc6d3834230c7d22c7cd69229d1eea957f58b2d47b11ca97c926070cf1c1934ef83f5a26241c7c73959c8a0501c2c1c70671987243635fea56ce6ee292b1d6aa26c4cddfaa1751520fc3218e7e20c13c6a1df4835c7d6c0ba45923ceb2ab40fa7fe3732e47ab652309cdf28091d8d86308b73f90d86995220acdd9c544c95fcd24a77e7c90f2f15e52aab595e11b1ac0799a3ca95e0644771420aedc777a9048fa89ce94780c8f2b903548bd46a2c22e453b68736f5cca6c35ebb027c0c7035678f7f69a9ca02fbb4b23746759660251f6757be3aa1767d7280aa75b60a7a0cc892f70f67cda886cfcabb451a36023c688d7ab5e0a3b5bc88514ced3597a594d0e28c7aa25859e57be9fb12691c047a8a7373fe1695ae742027a8f5630cb2776721815742c66a4ba0c7e7e8b8281144b80288cc7296bfc8625a2cb995b548d48294b2fbca97d375b91203392cc27fe835f62db97b14739f6c8b1880a53ddd388e2636f866416817a110258a098d9af4458a64c68654e97099746b9b9e23adab5653970c00719b54e4a2d2092cd7bd62ad9317357e35224184a4e24b4a58014f666b33e1530365070b73aa6da432d04f2588f34ac1cb3b3f7fb4ab200b459966fafc689cc40adad0c26108859a2943e2df84a0272c13da5a495942ba848ac92d302a98a3e55937b8b1b49fe588be32a540ec90b5cebbd90d1b80dd24d32eb85fc041a7ca307e522b8c5fa9c85bc258c8abb9f2678d29569f313a1e660a2454730261a6766945ce42c140e5181c68461eaf12d1f185c358233b9bb4902fc5089f851bac83ce3f07bd7b185ef08626d7029129703334084375bc5ba27ba023ca6722319a916baad529715661e3a413c8137cbbb206e313906df1ca77cba73e5499f54fc53047741af2341d5623278f76131ab47af10bb4dea8f493b6c0e4829ecf4c425a46d21755e93e5a80d0a927739848695be93444a98a45d02d1131e493da5a0a1117b41d4ab3db35a7a2e95c6055ba70ef159e7aa0dd5452598f91477087bef1396acd48e747b962205af92eb99faa809b4bc47eb93bfd3860102d4adcbfc39be80024550656c42785a6788c7a851b107823a02a3daa4caf25097f1f9afb29416dbb360c4a824e3ca2a30e19f94b805de181d0a028e685c378dcc225112899a6b79869109ca4b094909b21042c179c6cdeb22564cfb6f89135022fca3028caf7abab19a4045dd5a60721c6bb47ac53e40cd932511f2e5473d3b4ceeb44be1a00e090a886d345b13a58620c49ca0893f23058412054ae5069c1014361cfb0379c2215f330abc647114a3c597765fd014c64c8c1b1b45b3bd02be9d5a55b0cacfce297581fb48fe0256f4c0cfc84aae1c542f36730e5f10795c72157c653210686801210418b549a7398ca8b7c70ed007cb153d2a55178ae23a5b095ee2d116b9f3a1a9f19faec40d75256cdf76ab8e393210d3afae375a7bc384799a6efc5b76f287499c6701368b8ddc219a9f2295e6e01d22c4a50bd08179a08044b702ffd786faa088f867b63b951a92751cb0f839cd554a83745444c3bb88d3609a9a4bc2e0bc73108a71cc7534217872539bd6e942cd36a09aa0374a3894d279a1f7c38a56e7c0298948c330b8c3a5b6aec3bbdbb87384677ada78017564a7fe40c2983a9ed3acbce5e29e3a78502952a9540a44975572a1512b1d4284d9bb528e538f43a15216f4b4f2a5208e06c43896a19c416c99c3b677564975948468792edb6532f9b0567f407fc6d6c302766c6d1373bf78a18896188cf20ccec39632269f6a193de5ec5dca85cad6bc79023c691d5682643b6f314827e0b24539e2aa91123b3fe42308f041dfb6c876d079d60a3ef5735ab8a36abae34f4a12729be4a00f753c7e4699572375e6c7b037948684206c08a27ec12b26f7349cdacc3559ac29d5cbc35c310870597e391ac4e4c02991096f37492083bc1c43304bc3d5925843622494c735942dac8904cf195387eccdcfcc8a999b6d1b744a542359e6b167f91022be1660bbd218a6a6861aa17c57152552172f38b43d5281956caa77daf9b94cf60cbf08cd9d9b4c1edb6c4a17bae3b36800891910c280c3e7cbf4aa11f33a7c70e3b419c2b2b9a64709c31878f913fb934d77b4c36e329ba98b44f394631e0a289042061f527d67446d6ab55ce7b43ee1080fbae67085a2a03b36cc9ad9b5b546156c3c5a79b092a67912a19575f6b5546397c15ae334b451c3d919422f28b70727c75fb631a2ab012bd5971b5b2b75f80e14bec0494baeae3c7ae947bd69827e1fb86388052c3bf3f8b4cd25a5687ef43a72ef04766f1e899d25c9a005009c788b5faf985123cfb3fb97975de26d56ddb63a495d1afa553a815cf751d711478a39e8d1aaca992796b619c84565cd +m = ac46852132e10665c4983e3829bd9de2adf693cccf572b4ebc5c0a633230b627 +ct = 4771ae1674a00e2a0d604393524ea1187b7992e9f409adf851c3a624d6c9808d0b26475e89c6dc73c87f32d283a92bc5759a3020f1dc64a8f1e4348805e98066585889013f53d5681d7fc1bb41d418b1ad729513da83829fa1c86a7e4bddadd85da52c55e3dd995fa548a4607cce5bfad282aabde914bcd8dfbe1df22589b6bb99b370998a029cd04bf53bfbe1fe1dd43db6b5da9a2413a7456d560324f8dfa08e0fad257368520026364a1c243909a4112dd26dd34bd5dad4eefcab52a44a01d30a24c65404900b9b4e8a27fd63f7d792499e4bac8c170346e5bb2318cf4f3502701ce27dff44cba9761650a348d219b3e28a690aca9f56546e424830e5c74c000b5c4536accd48dc4ef011790fdfd61aef23b7113ac4d7f7046ea85ce3fdb3c193be379f9b05f1d94adb6da3b8dc4dfb91ec54d1c725e45d046bb0ae28a0402144391c783c2e69ffb5bb9a009b44541f1f8d9b685726e8a2a07dd93b962ef5a6d2c14a0df5e8186caa26adc58bf2f826b99e3ea196ad0eaf002230fad3ce927761c24d90e100b2500c1fe2fbaf7b95fdb39b3d75eb7d3971fd0a1c105e763ca39796ebe15eb816ffd37bc98d245e84499edbde6b3824f116889b9315ce6ffcf8c66e67925fe292da8ad6901b0cd48cacf9daf06bce31818c136f30e7b2b4f59ca7b0095d65d98056da60d2c0aa1d3ddd35b1a8259566ac80e00644f2227786c5a2fa5e6eda83695f3c7f486bc7502d9b7469c0b5f63740555d719db644cc9d938e938fa96d68e9bb3862bb05062139e036010903335ee8d37e3c66a26db29520a4a491c4edcbf0a83d48b710edffded91b88a05b3f41282539e17eea76d8e9862a87a2040c9ba672d67be8ea54c88fb57f625e99b9d7325cbff9a97690d3c6acb5a165a62064a2011f3de477f18c434b95f85a2c8466ebf5691c0cdaa99beca0996d514ea14eb9e8fd545141c0edbe871dfdefa959559ae154b3fc7c139f301bdec5e089168f097000dc5601ec9f98fb0634f1c3ed62e5bffbd7cd379f20174c592c5d63db74d4742510902d86b56834954a5623395342f4a497fb8f1f28a0ed47aeb8aab5faabcddc76dd3ce2d7809e6171712da289acc4d1fa3a130e694758c05e15d46068b0ced84e50abfbf61bbfd97f343e0890ac06ce3e03ae5336b801dfb4c7da8fead9ca61784aff266731ffa6f239515e2a494421546805c1f212f106e1816c4656ee4b956be300e74884ce698adcc5aec3923726c2ea4d7eb058ec61565da1a54ad740d4cf364534204e486d401b92682e1ba65b28823ce4d2c8347c250778cad8daafe4b92a93a5a4f0dd03afa4ee679aaf5c233442d426b45d18abaafbdb2fb9d96b03779e96b2d27559d039e0e1c0c577cb5fa444d153b791cf2426bdaf0801b032f440925531f05302264f54d6ff1511ee2dbe072234aa85c2ad41abe4d57600d490c7e9ac2d4ffe8a69bb775d89c9ca3c4103dd822d28454e01514d732133e80061c79991e4dde261a9c741d65b07b0f2957c0ed01d79ca +ss = 3c0e71b90b0ca310cf77eff994fc2acede65d12431d08b9ee758e1fe896b3b2a d = 6fb2ec719f2a0dea152bf3f64b9d148f8ab8ba88f64e61f5db53e12d59f52557 -z = 4f797c007e4061f95c7d56cfc7ee5c49e849dde3fea8f25e7876df2a18515c34 +z = d3698490455837fe52948613ee5fc2284f00b130c72334b1d8e68c7b09b2de2e pk = fed53d194419c06b92e51498ac2601869a1024eb0370ca3a420c48a765a5b99bab88a759251cb83259a628603c54a831ac0147f3a97b8329474258b7bd6067476605a2b2b8311252fe54565c865e2dd96ea9e43b23121c27ab02c348310acc38d9d583b0d8105dc87896c238069c689027910f9bcb5d29aeebf57c2b9c78f76866768c0699c6bf743c0b43108c128a5277f39b32c351926369fb8754cd0197eb9ab602f391c4ba564be2c3423005266229a10b21d31a7cc3d40c2e7192cb6628afa692d3e75aace66e7bb1169893c8ee45bda5560e7f79c711d32d52c0c783eb40bf8977c3063cb114b6368a8d1486a86cb108d146a648e080751440f4d8087116701987c328d8547d0573f8c03d321ac07138a60954297cd832dfb989fd99aba8b213e7501cb3d25b384c023f66776efa3ad4981037a54400729634a782adfc24404bbb4f2405a27a8500cd79e8521daee48848e485f53a28de91089d849ebfb54d97d0cfb3cba46a27438f426eea1a0122f2180630864ae46cc5f3a828725cae89331d540b5b3633eebc0228000d75908f21277104d7816f56854c3289ad1a5c72c1655830089cfb9c90b1306724cb2828be679b989a3565758b058ae983c1ea9b71f10553795537d454eed50f50a40274592ae165c846d85527e479e3fa8d8865047bf68d200287c0a5b8a6a78c4769bb3a795979b774713a522dbb723f3628f2f4126b639e3b4c5c4b076d321a208a123d82852aa0db6ff8457e745b6b710b396c8106e635a379e22c59f17df7b7070eaab38d5448e4ab67e6b21078d5b9f9979c6d7365cd1423cef6b4c2b186ac6b792ef9351b6040f423ca22e7a1455a0473273e3b53b92a132d7c44556477907fb41f981a06cac9beeb9655fe90c4fe93cc33337d78294f7c128ffee82b0d4211e550342c599c9932a201f3cb8bb253a0559fd667a3d2cb46a4936f5cf9c4d0d105880a446066ae06841e12f259e4e6220d932633f77f9a6b463e180778d53c37e0bf423717f4d476ecab6bfbda7e461ac3cc9806ff4b38fb80c0ac9b0dcef56e9b27881d1aa0892657b12a913a8ab84037a6c78399f53816d79c6a1fb40f1ce200334a7e74760999f8a0294c3029bb23ee0cb81700b95ba20140cc5de537aca62c9808240e74d508a93263eb14b7d202a31ddc2147747192ba1f38932538241ad1db35caa40097393038957b64e716d4cb3675aa9ea46257bf55a6d1fbc2c356b020073e16ebcbddb3692515be92dba54cb62c702165c74864c3a7ce67d8af92eb78496c4e8eb78b55db7963b016a252a85e655c95936d6006bc07ba6250e458a387bd7bb43a3f5a16cd8733b66565377c1a74d5488c1a0dbfd7a6dfb474eaf29fa80aadc83267d0b98eb7a8ad3aeaba977a0a5e55b8937ab68e385f94db13fbc6c26bc23b0b8ba331a578b99b493d875f206c278a3b4f63e156fd386fc13104d6dc96ae9bb3055481b846183de71eca09273e58c466ea225b1824246c799ab8b045fb844572882299bd6f1b2787e1094bca102fb20e0a274257062385dac60f37a15b0496ed23c465a3ba46bcc0ba9b5b78c93b45cac0151687859b155ad62a8539cc6b872aeed63847ca64797460ff5f477504df1b1894fee3e6bbf8218590936e0102dce8adf459d590355576e1 -sk = 2735bc066a2488726c89432e56452acb24a2a5407522988c0732ce072128c8d5147c42988f94a8516c77873858394a2bef65b87741c5b9691b6db84e3b1b2b2f851b1305832e4210e5d05710a5bb7195b8bee0cba9b5ba21ba57b962a280565aabe1c9015635cf1a7121a8581fa0a78ab26fc82838b6a405c6fa5d46469136cccc34930664240915ba5c86e67ed9e73f4b123233c92d73bc05408005dcd6cfd62635c3026c990753c55ca8dd385a29b1c79fdb97c0b4cc8f26b28ba573b5194d6bcc065f5b97df702009c43a65eccf452447af91200ef68f18cac25e5c71e62a39fd7a26c6b64b47e29d1e4084801599aba838a3808ed83454b506965507cc6d0b34bb139300d1014168a79d5707c74bbc7b980461249fc31734dc384c9dac4ea6eb4701402084719593b62aae53c8d55719945975cfd25bff31c886640fec37cab3942676c840a453c6751caf16a4743495bcde6528a942a47e7c2d6499b2a872a76e928ef4b0aabbb21604f33231235a7cb47c96d9c976a2aad533a06a24024ad0925007984d99aba3aa8168a8ac92f662348686f756bdc1a23f8537545d13ae9f657caa801788c9368864a05f40af22e33e10705741f06ef577cade6ccbf1d01065565a5b13284690bf611093e45684d6c69fc0f548af852248db6a6e86a2a907c95ce0053fd942a92b024dd18803474b03f73fc022912257454c008d137c5e8404379db2719581af17108a03f58dea58892912c5fab701d28ca845068761f6bab69bbb75584f7d289dd921ab30379248c91106a784738b17cf0044418bb9ce34bcd913bb26d04ca04896109a255a39beba1a2b58490862409e473ca623933ac14c90f64cc74af396c3186917061b5c8c28f3e8b694535fc2c73af9843031c19166d2c8a3a76a2aba45eca36321ba367bd5b176b5c7b8d7b7192c95cf2803e2c3ca5d585c4ea63009c7b850f08759c278f1027c59499526a8b2e494203197a9304022fa0c4e47a3a6fbd8bc59a7c1312a6d19d3063e8078b1a1bff964af48151e4cd3cd87f49bbbe01afa3a5bf46a7f9bc97de729285af35a6a9168683658ee37ba6d9499cbaa8cb44c93beb287ef7cc7b1eb6491154c14fc2027ab49316b70b8237a546090c9687cc70cbfb82208a7f61f63aac1a42961568407343a050b1048967c5334f3542860249ff9c2fac8639ef8c125d0b9fd537fca93c1006a77499658c0286267b910c10b12a6136152bcbc03e782c41b1fe94a000cd974a3a9ade3a3b8b4bb8ed8b403683ab4ea3b84b84c4825f61f99d72eacd894337523c6b6af765bcc99393213938d66b18b2b168d6c73c2eacc42ad22255cd3ac6d75200111c0a6076f02f906b1c96213e80310b8752b1b619e72366f9a0ba4283520333ebf8693f93a7fd6c3560058a8d16cb50b585b3d519e4263b050259a9a0a8823e3cadcd0b81c1ca53820323a9539133c68b0a6cac1fc834b808d9375431f961fe3233c49fc9e88ea1ed0a068a271b502c0a0376a1309f86013b4947bb671c1b048c0905c8ce16d8035c7c05b9cb8755c7d7b6db2907dacc5a91b61b666837f209075e8ac5b86444b49ac878f9b2e18d42e0f791ab7cb7c973ca8e0437f158889fed53d194419c06b92e51498ac2601869a1024eb0370ca3a420c48a765a5b99bab88a759251cb83259a628603c54a831ac0147f3a97b8329474258b7bd6067476605a2b2b8311252fe54565c865e2dd96ea9e43b23121c27ab02c348310acc38d9d583b0d8105dc87896c238069c689027910f9bcb5d29aeebf57c2b9c78f76866768c0699c6bf743c0b43108c128a5277f39b32c351926369fb8754cd0197eb9ab602f391c4ba564be2c3423005266229a10b21d31a7cc3d40c2e7192cb6628afa692d3e75aace66e7bb1169893c8ee45bda5560e7f79c711d32d52c0c783eb40bf8977c3063cb114b6368a8d1486a86cb108d146a648e080751440f4d8087116701987c328d8547d0573f8c03d321ac07138a60954297cd832dfb989fd99aba8b213e7501cb3d25b384c023f66776efa3ad4981037a54400729634a782adfc24404bbb4f2405a27a8500cd79e8521daee48848e485f53a28de91089d849ebfb54d97d0cfb3cba46a27438f426eea1a0122f2180630864ae46cc5f3a828725cae89331d540b5b3633eebc0228000d75908f21277104d7816f56854c3289ad1a5c72c1655830089cfb9c90b1306724cb2828be679b989a3565758b058ae983c1ea9b71f10553795537d454eed50f50a40274592ae165c846d85527e479e3fa8d8865047bf68d200287c0a5b8a6a78c4769bb3a795979b774713a522dbb723f3628f2f4126b639e3b4c5c4b076d321a208a123d82852aa0db6ff8457e745b6b710b396c8106e635a379e22c59f17df7b7070eaab38d5448e4ab67e6b21078d5b9f9979c6d7365cd1423cef6b4c2b186ac6b792ef9351b6040f423ca22e7a1455a0473273e3b53b92a132d7c44556477907fb41f981a06cac9beeb9655fe90c4fe93cc33337d78294f7c128ffee82b0d4211e550342c599c9932a201f3cb8bb253a0559fd667a3d2cb46a4936f5cf9c4d0d105880a446066ae06841e12f259e4e6220d932633f77f9a6b463e180778d53c37e0bf423717f4d476ecab6bfbda7e461ac3cc9806ff4b38fb80c0ac9b0dcef56e9b27881d1aa0892657b12a913a8ab84037a6c78399f53816d79c6a1fb40f1ce200334a7e74760999f8a0294c3029bb23ee0cb81700b95ba20140cc5de537aca62c9808240e74d508a93263eb14b7d202a31ddc2147747192ba1f38932538241ad1db35caa40097393038957b64e716d4cb3675aa9ea46257bf55a6d1fbc2c356b020073e16ebcbddb3692515be92dba54cb62c702165c74864c3a7ce67d8af92eb78496c4e8eb78b55db7963b016a252a85e655c95936d6006bc07ba6250e458a387bd7bb43a3f5a16cd8733b66565377c1a74d5488c1a0dbfd7a6dfb474eaf29fa80aadc83267d0b98eb7a8ad3aeaba977a0a5e55b8937ab68e385f94db13fbc6c26bc23b0b8ba331a578b99b493d875f206c278a3b4f63e156fd386fc13104d6dc96ae9bb3055481b846183de71eca09273e58c466ea225b1824246c799ab8b045fb844572882299bd6f1b2787e1094bca102fb20e0a274257062385dac60f37a15b0496ed23c465a3ba46bcc0ba9b5b78c93b45cac0151687859b155ad62a8539cc6b872aeed63847ca64797460ff5f477504df1b1894fee3e6bbf8218590936e0102dce8adf459d590355576e12c0db43f39b672b2cd912f907cf76a0f6fda925eb2d205546431be0b37b204114f797c007e4061f95c7d56cfc7ee5c49e849dde3fea8f25e7876df2a18515c34 -m = 61ab87659525de9656af41246f20e1dbe85c24e335e7ecf9493f46168bc14e94 -ct = bafb19b80a5ce997c3664cb158299c969c9020d74b644ea41906922a18329f70271fea4912e7a67335279f58cb3e5e4b7bd7fe3c4a18327be182bef8d989e13cf8cc43955e9f6bfb3d4a2c8ad71dc01bf30c34718d01d5d4460c3f7f85e881abc66e483f8406aba076c08f6ba3c796945d4e286e9ed09e8b64204fed1354a33eab64a60eeac0296357e5ae0058fd67fda21b0a6db5029732f86e9c9b92f7d3b5380bc601a5ff35a037862bde3a399d27e6119f0c43cc8cf852c522eef46b4867753684e30b27f4d98fe039f203164855cff6315769be970d0aaacd411d35679b33bd68a852f836374921c99bce48c782321e68b16dc964463732ed2bc4002757c7587cc3c780db57bc7f1bf936a6f685e0f82def692568b99ddcb49a8376f2774f2e77f7de0d188258c4e1bbd0652be82112371d92eb01d8c38c9a84e5237ab8f6a333642b2a86c9de4993703428104f76f8bca911135c78101dea18f0929f6a00b0f07854e814764f15832f18f60b6f25262bd448453e51686775a824ff5c743b811625fcdb7503e0834c79596b066b6ee2c3548cd6062ac11663e5497632280cfb8bb33b392c8747681a84831cb37799c4e42a25e16552354756ca0d41f19fce9b3c9f8baf18d05dad841740b110f2c1b4e101f76158f307e9543e2015ae0924628996e652588e7edadb51855adb306ce70b1223ec445c425ad76d26e89514ab335ce2236e6a3ab1a7ba399b806609e5d22857f3adf23df5cfa3c4edf0ac3eb60a00c27d7c02e0aa3851fb6ec063ecef6e819ad52f92f260bae7f83bb44ba8fab3a608251c2b1df90548f9dd2beac4fddfb54fa10b251e42f3fc4fa9eb320bbc8ac34bbaf8dee65bef1c83ee499397f7930d61b4bed065d809a1f5e6e377c9563c660dd8ddeda94058861b4875504dac970ef8097eb7a75822d5eb139d10159d6007cceb08a8ea28baa27f78bf60e825353c5af62f2dec4ac0e7876a004dcdb4f12854eff4013166053b9108f5439af99fad00c61169bacd84876956e53f1c0267b6e2985daa07e34bf852947c247450a6ab3bc1820c52bb3ac9550be7aada0f8aa692806dc57a748f2c355555c5c58bfef181e7277da1c25cce4b995e6b8a90833aabcce74e7de925a2a2c888930d052b9541908472c79e7a5b8e9e08e4cd3dce557b35e34d94a741121af0a7df97131567393826f86a7bc0b785965c5be0da83fe4357d2a36e57eb1b1ddf651cf7ea1497563f4cfa4ba171dc8343a3fb549931479dd581ff018b5b10b9e1cb529ca248c00ec45b3f36c1de804254f54c9b68a328319b59555ff57d832b3f9c047f2d343289582099685aad6bf96fb956334dbfa7e86589d8d643780c431434f64411cfb85e9898288df9207c7b38798cf8c68df372c2a6be4c11ca29d29caed09345bfe47071aa801758331b37f658db6e7ec1408a43486b772807646e5186a40e73eb875db09dabf293af7083878248306e2318c72b6e0843f852cef164446a25481ece7432b974a0c240ca35df4affdc -ss = da1085cbc7452cf2ac98ca36631c6ebcfff02e60485f9e807cdb3db77bc92243 +sk = 2735bc066a2488726c89432e56452acb24a2a5407522988c0732ce072128c8d5147c42988f94a8516c77873858394a2bef65b87741c5b9691b6db84e3b1b2b2f851b1305832e4210e5d05710a5bb7195b8bee0cba9b5ba21ba57b962a280565aabe1c9015635cf1a7121a8581fa0a78ab26fc82838b6a405c6fa5d46469136cccc34930664240915ba5c86e67ed9e73f4b123233c92d73bc05408005dcd6cfd62635c3026c990753c55ca8dd385a29b1c79fdb97c0b4cc8f26b28ba573b5194d6bcc065f5b97df702009c43a65eccf452447af91200ef68f18cac25e5c71e62a39fd7a26c6b64b47e29d1e4084801599aba838a3808ed83454b506965507cc6d0b34bb139300d1014168a79d5707c74bbc7b980461249fc31734dc384c9dac4ea6eb4701402084719593b62aae53c8d55719945975cfd25bff31c886640fec37cab3942676c840a453c6751caf16a4743495bcde6528a942a47e7c2d6499b2a872a76e928ef4b0aabbb21604f33231235a7cb47c96d9c976a2aad533a06a24024ad0925007984d99aba3aa8168a8ac92f662348686f756bdc1a23f8537545d13ae9f657caa801788c9368864a05f40af22e33e10705741f06ef577cade6ccbf1d01065565a5b13284690bf611093e45684d6c69fc0f548af852248db6a6e86a2a907c95ce0053fd942a92b024dd18803474b03f73fc022912257454c008d137c5e8404379db2719581af17108a03f58dea58892912c5fab701d28ca845068761f6bab69bbb75584f7d289dd921ab30379248c91106a784738b17cf0044418bb9ce34bcd913bb26d04ca04896109a255a39beba1a2b58490862409e473ca623933ac14c90f64cc74af396c3186917061b5c8c28f3e8b694535fc2c73af9843031c19166d2c8a3a76a2aba45eca36321ba367bd5b176b5c7b8d7b7192c95cf2803e2c3ca5d585c4ea63009c7b850f08759c278f1027c59499526a8b2e494203197a9304022fa0c4e47a3a6fbd8bc59a7c1312a6d19d3063e8078b1a1bff964af48151e4cd3cd87f49bbbe01afa3a5bf46a7f9bc97de729285af35a6a9168683658ee37ba6d9499cbaa8cb44c93beb287ef7cc7b1eb6491154c14fc2027ab49316b70b8237a546090c9687cc70cbfb82208a7f61f63aac1a42961568407343a050b1048967c5334f3542860249ff9c2fac8639ef8c125d0b9fd537fca93c1006a77499658c0286267b910c10b12a6136152bcbc03e782c41b1fe94a000cd974a3a9ade3a3b8b4bb8ed8b403683ab4ea3b84b84c4825f61f99d72eacd894337523c6b6af765bcc99393213938d66b18b2b168d6c73c2eacc42ad22255cd3ac6d75200111c0a6076f02f906b1c96213e80310b8752b1b619e72366f9a0ba4283520333ebf8693f93a7fd6c3560058a8d16cb50b585b3d519e4263b050259a9a0a8823e3cadcd0b81c1ca53820323a9539133c68b0a6cac1fc834b808d9375431f961fe3233c49fc9e88ea1ed0a068a271b502c0a0376a1309f86013b4947bb671c1b048c0905c8ce16d8035c7c05b9cb8755c7d7b6db2907dacc5a91b61b666837f209075e8ac5b86444b49ac878f9b2e18d42e0f791ab7cb7c973ca8e0437f158889fed53d194419c06b92e51498ac2601869a1024eb0370ca3a420c48a765a5b99bab88a759251cb83259a628603c54a831ac0147f3a97b8329474258b7bd6067476605a2b2b8311252fe54565c865e2dd96ea9e43b23121c27ab02c348310acc38d9d583b0d8105dc87896c238069c689027910f9bcb5d29aeebf57c2b9c78f76866768c0699c6bf743c0b43108c128a5277f39b32c351926369fb8754cd0197eb9ab602f391c4ba564be2c3423005266229a10b21d31a7cc3d40c2e7192cb6628afa692d3e75aace66e7bb1169893c8ee45bda5560e7f79c711d32d52c0c783eb40bf8977c3063cb114b6368a8d1486a86cb108d146a648e080751440f4d8087116701987c328d8547d0573f8c03d321ac07138a60954297cd832dfb989fd99aba8b213e7501cb3d25b384c023f66776efa3ad4981037a54400729634a782adfc24404bbb4f2405a27a8500cd79e8521daee48848e485f53a28de91089d849ebfb54d97d0cfb3cba46a27438f426eea1a0122f2180630864ae46cc5f3a828725cae89331d540b5b3633eebc0228000d75908f21277104d7816f56854c3289ad1a5c72c1655830089cfb9c90b1306724cb2828be679b989a3565758b058ae983c1ea9b71f10553795537d454eed50f50a40274592ae165c846d85527e479e3fa8d8865047bf68d200287c0a5b8a6a78c4769bb3a795979b774713a522dbb723f3628f2f4126b639e3b4c5c4b076d321a208a123d82852aa0db6ff8457e745b6b710b396c8106e635a379e22c59f17df7b7070eaab38d5448e4ab67e6b21078d5b9f9979c6d7365cd1423cef6b4c2b186ac6b792ef9351b6040f423ca22e7a1455a0473273e3b53b92a132d7c44556477907fb41f981a06cac9beeb9655fe90c4fe93cc33337d78294f7c128ffee82b0d4211e550342c599c9932a201f3cb8bb253a0559fd667a3d2cb46a4936f5cf9c4d0d105880a446066ae06841e12f259e4e6220d932633f77f9a6b463e180778d53c37e0bf423717f4d476ecab6bfbda7e461ac3cc9806ff4b38fb80c0ac9b0dcef56e9b27881d1aa0892657b12a913a8ab84037a6c78399f53816d79c6a1fb40f1ce200334a7e74760999f8a0294c3029bb23ee0cb81700b95ba20140cc5de537aca62c9808240e74d508a93263eb14b7d202a31ddc2147747192ba1f38932538241ad1db35caa40097393038957b64e716d4cb3675aa9ea46257bf55a6d1fbc2c356b020073e16ebcbddb3692515be92dba54cb62c702165c74864c3a7ce67d8af92eb78496c4e8eb78b55db7963b016a252a85e655c95936d6006bc07ba6250e458a387bd7bb43a3f5a16cd8733b66565377c1a74d5488c1a0dbfd7a6dfb474eaf29fa80aadc83267d0b98eb7a8ad3aeaba977a0a5e55b8937ab68e385f94db13fbc6c26bc23b0b8ba331a578b99b493d875f206c278a3b4f63e156fd386fc13104d6dc96ae9bb3055481b846183de71eca09273e58c466ea225b1824246c799ab8b045fb844572882299bd6f1b2787e1094bca102fb20e0a274257062385dac60f37a15b0496ed23c465a3ba46bcc0ba9b5b78c93b45cac0151687859b155ad62a8539cc6b872aeed63847ca64797460ff5f477504df1b1894fee3e6bbf8218590936e0102dce8adf459d590355576e12c0db43f39b672b2cd912f907cf76a0f6fda925eb2d205546431be0b37b20411d3698490455837fe52948613ee5fc2284f00b130c72334b1d8e68c7b09b2de2e +m = 1d0144ea8aa44c56c084f3d692d40ee9acca9835f74e2db60116db3669c8ef73 +ct = 36722258822bc10c21c6b956a9ce0e20587a37959426f955e29400f0951376ae5178939500a844b7eec60942378a04c882a22ec4dad2db8e99bfd80ae328aae84651d830998cda34a040c0c437a8731223257c66e2ceaa725e3b960dd415b8d9836d46ecec0fe9af5e11fdb3429360bee9fc982e30643066c187074d40e15c66709b708a75f0fe12162b13963fe157d31dac282be5fce76cf98f190effa353bb13cdbac4d9e3c2763f5113a59b9e8ba6ff28b8d56789fb7c1f3765229d189acab4a151ca0761198e6e066a61b103e36c816c340a4f52457cdd0cf9262b12f472d3056f8203ed909c8b41a4cb15aecca7dbf3b647b5fd0bfe2088d59d1d4dedd389b1e1c27381bf5b3bfce87ea5d2a1a6aa833b106f290f41de6d9d584211dbac48b14271cae15f9670e6e17f7af7d31b2de8563a4a447fa30709bc5a08f35ceb59344dea5b8e5c2cbffdd67a44cf62835ee9e7bc9589d1665a13e81ce0c3f68297566e761d6882087890f40f07efd39a2ce80b3842ef0a5026a69151cde5a24c5fa92e201464c9e489185778de40cc47cc4501013cb2bc59346cf9a9a06f900d01ea97a44b12a2c36bf5be44056a0d105be4a12bedf7398c620ed141d675febb33562f7370c347fe1a4e928bc938e20e12c34dc847edb4b26ccbb25ac9501b60629064dcd442c980e3b97d61a068b3537bd03be5415d2b1888e6709c1ad089481e19ac241ab5d634253e6a55e53b37e27892e613a0fca4b99ca57e35f05e8a0e60022cd6f49d17f72ab789dd0aed87bc6a24e7ef0fc175d44e422fb635ee9167b9477c08380c44f378024c12ebe474d8e0da4ff43411c4a2bffd06f4fb7dc9ed76f4850457a6d40ab6c719f5b807d770479e21688c4ec219a21fd92254674d5157e27db71ae04cf6ad241744c04e45fc3a6d89de74b235a58db52d6c6306de576d20a0ec53a78d18e86541c19d93dbc50b202589a85ba31348ac92400492b2c576a1d4ec5768cc9c3ed1a11be692cfadec54a99a22b4c49de79c9c71b074bfcdd94a5dde7d98ae6c1f68f845946d66781f0edaeeb4800f5db88cb599ff2549f36e1465b54b17ded1e8ad960219e4d321da900e0a53e2da1a9e5c6be850d44dda1e6e0c27290352e801cb219a7ae172c25ca06f51a09fb5b4e2125abd2b81c830743b6db4e9994809f67e8ea0975415af90ff18f6a291d8ffce133328e7c7385a527683a9ca7ff091c5a24ad40d9e160c1a4d1fd5b84f8cc4716a21ad3dd6d6a25ccd7db61806d79b9399031d29d3aa3e956f8413045f989f9a54c251acb972977dadda61a57e2e61684ce6150a051b4ef75c25fd998e4e9c2537171f37fdf65979b952710690d325acd6c4a763994f8e73694553d7ca5078e012d596403eca009e8b4b6f0494e85dc126e89126b6cd1aac7daa066dc40d83ab59d34ff8f6eaa1731fb05a473ea81aeeeef4e5cbaab2ca862a3132086f498b7fb78c063381f5b4f68090fe998ac8270d6ace509cd85f6255eb8c1234601be406d4ba35d8e85d0a +ss = 34385badb991e44425bcb966ac8db27aaf0c196288c0415b9774883f95d1432c d = 527fb88c8bd9a4d6031dad15e63878abd2b559e7e08d61f69e8e78fca964ee6a -z = e32d432b4f9f751bde0496c580a181ffed762aa35454a02d3f1f47ee0394c89c +z = 229ef54e776c02586f3f46d723e7932215fb7e09c397d1552cdfe3457241fc30 pk = a0e473a9d639b1299251b46d07c79c0df1ceb995a968b5b707b760d8bcb120f6226ef5b742f34548902a7c73338a8cbf8d6b02a83470874b1ec5845dcfd3a4067c420f8485fae1286a23adb7373b9217c6dc173748870bfd164a16d62a3a6608f5e2b7fe78b92364a4b821967db45ae29aa1b11c0cd67cb4299b32d263aad7a26eeb3a69ba56790fd806abe3935d82487aec3205a856b4981e7f53b8f82a30d13c1b725b1418607b6619b0e8a8870bba6070e33545730182fb5f6f9938ab2ca68c50719fdb472a88384ef210b0c22785367dedfc840979ab758479506064b7971426d70af9a95e7d585dc8b67d4ffc2082bc45a4fa9b4fb9541493c3dfb88fca757eccb50f1a9cced9c046f37062e3879e13958bcf063041e858810b057680276d2ca12a307f511217fd626561587617674319382a4a00ce5e3bcfc5ecb5b3816133910650a469ac663f7a4a742ddb87c4e5be636213880c246370b1cbb8adaab6bb7e1185e1f95c945bb001a0210cf56f326b35051b8dbe85245f9bc6d973b39afb3a3b961501862b4caabd0d55693c201390f48fb7511990571985764be7373a7fc4bbd5e82b31f52494b15b6c2c8b5b593182028bd7ac7a40fb446ea756463c396de29d0fdba2569b9001e169f7c824c8a42d313a15b682bd52004867837344324e2f91a06a4c9f7ca447d6291635257cb0934e015c1937f732c1bba2c13591ccf4add16960b2303476000d984a8fc8036772c3b7c5721261387ae535129a7921a1711c98103161a95ebe16c0e0a28555dc3598cac2d701a98ca249801a4bb10379a5c29a1932acb6f6c3d040639fa98fa7297c6d453e35587488576db9bb2f9d1c37f8260cba3ba90e4b779867ad97db03ff005ecfe3470d2c25d54105ca287a9e0c039c2a2b71a1cbc6260d59a268d60c05d61202ec336cb8285b41a043bf58949df50def5937bee1af32d174e8fb463d03449ba747e92a79a1eac8ded247aa0a50821a16ad4c9f533a0fa24684d452a71df461aee15cddc2185551112682b4867c6cc27c43bf835432cca184840b85886a5d970e9f515f7f97151410c401e9baadf41ce2b8642313c295d28587a327c41c24da18967a6426663642dcf389c50892d6847718365cbbbb80723c1397b90447b197842c96a141bf6cd317bf12bb64c664fd237e886a9f793313aab15f668c91c71149c4b90b35b147f7c34b8ab6948799897855b22283050b113d64a60aac739948844a9f99c448d21c414425d77560670c298f493d891128ab1665d8141d2b1c8e67950a68255b7f9376332b1cd7c6630ac05ae7c127fa7acc35e640e94285e78661b15b21685a36c889a8cc890ce53c36ef23c2f17cbd8c31351beba827949f8707a05324abf05aa71857bcbe690405ab0030e648fcd3bfc0f2ae2c627e04f490bc3ba237059ab93085de218029f056b0f57abd342170f5b16db069073a3c16bb1c0bda5136952919b22ac477ac2489237bb0869656614e4ac248b003799c761b2ba5f2711b24a01419c88937dc4ce745acc16c796e0123a4228ec623a2a4e059b80b72beb1329c9204b6555b0a62c14df0b19b4a157bca985090b428dba8587b53ca2714b2ec2a04d306b3cd5d09045252960a068412f1bd67b83a217049d0685ec3d63d691559a327b2 -sk = a680635121c694ac4672c809bb3b913e8ca2f659c756db1d7bb2369f41ab4ac9b3f5141216f3c997b00dcde37352d46463f371fec14b26aab239498d44975f787504815552e727329dd78428f5568b912c76b572ad9b3d335a9f5bc0283c76aef8d81369a0ceb4523bdc4bb0607c29d9998962f76b217774d74a3453a61ff1f40f89a51365212f39a07e913824bf36b6dbf6c8934014dd8716e998a982b124aed8b082c3a2998708bc1c4733773b73e0be315203e8e264a032797280ca0ab023a9d81fbf0565f491837cf031e219084b640ee8710589e05e1701870bdb7bf0b0bb539a0b3ab0028447110288c1d7d83f89578413a46b0b04406657b4e7e5a6d04bbb91055becc8ab907ca9647c4b8b144045b6cabcb974a47a35308a23e9c9281c61c556ec148c9a663ad9518cea36aaec71b6995110fc01cb66b75e128478280fcd31a3416a12e28c15ba617574730437da8bdfb86b58d88c789c4f9e23adcee53b170c6a0b80033ad52cfe1a155ea1a568f5b2ef77ab74878e0ce42a1f7c3c845713d17105ab2c91b83836e11b9858a66997b22e8a67682588ca78e6b6d736298ee34b100bce61e0ad921a9f020a7032351daed655d35b3659a96b32db9e68d882fc986da904408a98c469a84cd29cc999b2b071f84c921c585b9b3233c5bedf82637bb1253a4b29b36b42b54751dc629a215656aa1890c0c56e0cb62a3c02252b771d72375a60374bf8d84552080e0d456579930b3f2a2a3b7913c031112fabacaef75bb2da5202d7671359282cb4707b52740d9ca06ab7034b48a292404d26b6cfd08c8b0da61550044069f4cf27488c028001f2c29292840b60b321de5cbdef1ca216838091c3172ed26d141c957dd93bb6a59d9e883640d87a2a85605a9730dd5333843805374b58747c7262d5a65ef442d6843deb731c943269b4a9bf00f39b4a3847840c1bf4b9907fd7b9a66c5da724cec467102f080d4d0bc519d0b2504a05f7207edce7398d009348f64267e01b0ec207780791942565aeb061bf03719d706f87953c4757a75a126ead15c6c9447c02938c3b75a58ab25ce65a5caa21898fa8050319880223899f5546e0d253df7950691b86f8e3115438c3b80cc2e7a6178a96a0f38a0cc47394be36c9b0721580d646a89b9327210d40728f4bc4adbd8b130eecccf528a5a09595f32c0f64e602f6898b8a4c82d79a8ed31c4172a7812c295c93841929b782b334490eeaa38c17cb4e77664306bc7b01726ec656e24311c51b0524c72f0745665d43073604c59ec88df6fc9ee2f2a0476079bcfb735e562f57e2b0e1987a0220c98f0b4cdebc70f93ca709c5c2fac7098a7b866662accdf09c85974d7c88ce9afb01f48276ee320d70c7c0e15950fc0775e13173b60555a470302d0a0047260e5cf85ea2f3c326968d3c308c15eb400b13bcaaa65ebf941ef59a069ba0bd3d00841b6124574303ba8c2bc9f90f107865882c18eba462f6b09eaee05796e43a8647c59c64b7a8db9c0941299280af728b872c303755b682a3ec10c5876f040543bba028e870c02a4312aee9cf2bd1302df80bd0facbd0765a778a7fa2d3a4c9675965d6799fc7bd4e28a4e2a53948790234f62ba0e473a9d639b1299251b46d07c79c0df1ceb995a968b5b707b760d8bcb120f6226ef5b742f34548902a7c73338a8cbf8d6b02a83470874b1ec5845dcfd3a4067c420f8485fae1286a23adb7373b9217c6dc173748870bfd164a16d62a3a6608f5e2b7fe78b92364a4b821967db45ae29aa1b11c0cd67cb4299b32d263aad7a26eeb3a69ba56790fd806abe3935d82487aec3205a856b4981e7f53b8f82a30d13c1b725b1418607b6619b0e8a8870bba6070e33545730182fb5f6f9938ab2ca68c50719fdb472a88384ef210b0c22785367dedfc840979ab758479506064b7971426d70af9a95e7d585dc8b67d4ffc2082bc45a4fa9b4fb9541493c3dfb88fca757eccb50f1a9cced9c046f37062e3879e13958bcf063041e858810b057680276d2ca12a307f511217fd626561587617674319382a4a00ce5e3bcfc5ecb5b3816133910650a469ac663f7a4a742ddb87c4e5be636213880c246370b1cbb8adaab6bb7e1185e1f95c945bb001a0210cf56f326b35051b8dbe85245f9bc6d973b39afb3a3b961501862b4caabd0d55693c201390f48fb7511990571985764be7373a7fc4bbd5e82b31f52494b15b6c2c8b5b593182028bd7ac7a40fb446ea756463c396de29d0fdba2569b9001e169f7c824c8a42d313a15b682bd52004867837344324e2f91a06a4c9f7ca447d6291635257cb0934e015c1937f732c1bba2c13591ccf4add16960b2303476000d984a8fc8036772c3b7c5721261387ae535129a7921a1711c98103161a95ebe16c0e0a28555dc3598cac2d701a98ca249801a4bb10379a5c29a1932acb6f6c3d040639fa98fa7297c6d453e35587488576db9bb2f9d1c37f8260cba3ba90e4b779867ad97db03ff005ecfe3470d2c25d54105ca287a9e0c039c2a2b71a1cbc6260d59a268d60c05d61202ec336cb8285b41a043bf58949df50def5937bee1af32d174e8fb463d03449ba747e92a79a1eac8ded247aa0a50821a16ad4c9f533a0fa24684d452a71df461aee15cddc2185551112682b4867c6cc27c43bf835432cca184840b85886a5d970e9f515f7f97151410c401e9baadf41ce2b8642313c295d28587a327c41c24da18967a6426663642dcf389c50892d6847718365cbbbb80723c1397b90447b197842c96a141bf6cd317bf12bb64c664fd237e886a9f793313aab15f668c91c71149c4b90b35b147f7c34b8ab6948799897855b22283050b113d64a60aac739948844a9f99c448d21c414425d77560670c298f493d891128ab1665d8141d2b1c8e67950a68255b7f9376332b1cd7c6630ac05ae7c127fa7acc35e640e94285e78661b15b21685a36c889a8cc890ce53c36ef23c2f17cbd8c31351beba827949f8707a05324abf05aa71857bcbe690405ab0030e648fcd3bfc0f2ae2c627e04f490bc3ba237059ab93085de218029f056b0f57abd342170f5b16db069073a3c16bb1c0bda5136952919b22ac477ac2489237bb0869656614e4ac248b003799c761b2ba5f2711b24a01419c88937dc4ce745acc16c796e0123a4228ec623a2a4e059b80b72beb1329c9204b6555b0a62c14df0b19b4a157bca985090b428dba8587b53ca2714b2ec2a04d306b3cd5d09045252960a068412f1bd67b83a217049d0685ec3d63d691559a327b2aae8e61b905723fa092fb95b839f6de3670c39ce0498c27b87d20c24e7f64e22e32d432b4f9f751bde0496c580a181ffed762aa35454a02d3f1f47ee0394c89c -m = eca2adc3da1fb15f34033405ec08ef2f46163df4bfcccf8842c600ce0bc2026c -ct = 8f9648d01a9027f4e1ab3d988f096f3470d09707e288699141a14a78a88c95e1771e6e12b02bd13c2e99207b33f9aadd87c79715928cf9fd76956fc73c2a21d24af756ac54f75accf2667ab9d8458380743a1609a7da99a5fb521d1061c263964800096b930ce7d448ad1ca9bf48524892960a762b382a1ef36b4ece3ebd9515ec7295692546891c10c53c6829ae866943e569f539ff1101b5f0b2ac7d1c94eebaf6378b13bbc1c8a2b144a62a10d752a1f05dbf1a9cf7f1192fb7919ce51fd6cdcbd6ba26b6b8ad7fcaaad17f3b96ddb8cb78cd0eb4e96958ad38d2fe9bb71a87547aa7cb0ed2ad6cde695112e6379a333d135808de697f7febe9c179f627f419689b2050e5de6c87bae3fdea59124d39f06f264e2723683a092fb8382186f1737048026459d6e242c0e7fd386f6ae6c8b09fb6613f26745da21f43ff145c83dee40c927918c26e8c855038fa8f994790c799393eb031d3db7f499138186cff085f3669b45351cc0579299d1e37578d753e447ec2b161dc50373065d20b44712eb059040f72f98f51858e0a250a97409374ef7bd73d58798697b0fcfa35946933856ca5a0a964b7dca6617ea2d35d16a8b83f536972bba727bc3c16ee363b5b63cae7c13ab11b4287568ee64229671dc45f06feb3dba8ecabcfc16fbcffcfdcb4227ef4e705992ca8978a19d1190842a4099a21ce4f96814feb88e094a69ea7b7bf0eee9932a1c235ac2ade53897d3d8be0e4f02fa7f0cda13c4ee78127f1fa8c611f50ca159dbd048e9d888234be8d80b49324621f7980e490a13ca0c5cb8d4cfa07528e808839fb9a21fc167baa489f3c96ad67b89ffdb4145f3fc9a827c2db3588b0b348fb8f5f469315b7b89f5c25eda806d921def1768029f99777ed29ad1031cd40eb1c12a92a8d2a130d2d0c1560598c430cb2cfd73e19e290ea864e80384359188d67a53a15a4f31df7502bb3123bce2614b87c82decfd29c0264286a9641af0eae2a38e6ca1f065a9e619e3cf39c1158a4bc46a40ebe72536f4607372471d5d6d6cae5e2ff6265b7be9dd3b466c159d54fafeae8e3cc62ecfa7bd2d047c0e3e93d163d93c7ead30cd0cb41b789546cf11dfe9306ccafecb8519c08573268fe46db18203f6c4ca916c4e1133d5422eb966f716622dbdcd7db21834bb10bb36631aa2c50fa46d2909f0eef33b3c62846267a9d5e7187623337950da98496a703a5e9f7bec4c2e1cca8cea8ffda5babe1be1e612df7e9625effef36733097cde4e88abcf2b8878d3cd9a47c6f907ecdc63e87e89c6ccc6af8cab530dccaf3597e33af7ddd3814d9ffa5e90a335e31dd2abcaad72807ad5c6d89f6fcb1581aec0f0bfbe7315cdb428d905795bace3138178a8b1460c665398fd57295014f82c8630eacbbbb4c52a1d22e58fd028b5097758ad913922f6eccfcfabd165d9959f29c2dfc6b4a548d6e75544d70baad0ad24d74dbe1e51ef9c9ea4ae3345b121ac8f0d041f359bc653987c4215ee7253fd0bc21384d0ba14630f5c049a398 -ss = aca83f1dc628fa87b20133bed4c2eee34b98021f295ab585dfdcefc9e3c032f5 +sk = a680635121c694ac4672c809bb3b913e8ca2f659c756db1d7bb2369f41ab4ac9b3f5141216f3c997b00dcde37352d46463f371fec14b26aab239498d44975f787504815552e727329dd78428f5568b912c76b572ad9b3d335a9f5bc0283c76aef8d81369a0ceb4523bdc4bb0607c29d9998962f76b217774d74a3453a61ff1f40f89a51365212f39a07e913824bf36b6dbf6c8934014dd8716e998a982b124aed8b082c3a2998708bc1c4733773b73e0be315203e8e264a032797280ca0ab023a9d81fbf0565f491837cf031e219084b640ee8710589e05e1701870bdb7bf0b0bb539a0b3ab0028447110288c1d7d83f89578413a46b0b04406657b4e7e5a6d04bbb91055becc8ab907ca9647c4b8b144045b6cabcb974a47a35308a23e9c9281c61c556ec148c9a663ad9518cea36aaec71b6995110fc01cb66b75e128478280fcd31a3416a12e28c15ba617574730437da8bdfb86b58d88c789c4f9e23adcee53b170c6a0b80033ad52cfe1a155ea1a568f5b2ef77ab74878e0ce42a1f7c3c845713d17105ab2c91b83836e11b9858a66997b22e8a67682588ca78e6b6d736298ee34b100bce61e0ad921a9f020a7032351daed655d35b3659a96b32db9e68d882fc986da904408a98c469a84cd29cc999b2b071f84c921c585b9b3233c5bedf82637bb1253a4b29b36b42b54751dc629a215656aa1890c0c56e0cb62a3c02252b771d72375a60374bf8d84552080e0d456579930b3f2a2a3b7913c031112fabacaef75bb2da5202d7671359282cb4707b52740d9ca06ab7034b48a292404d26b6cfd08c8b0da61550044069f4cf27488c028001f2c29292840b60b321de5cbdef1ca216838091c3172ed26d141c957dd93bb6a59d9e883640d87a2a85605a9730dd5333843805374b58747c7262d5a65ef442d6843deb731c943269b4a9bf00f39b4a3847840c1bf4b9907fd7b9a66c5da724cec467102f080d4d0bc519d0b2504a05f7207edce7398d009348f64267e01b0ec207780791942565aeb061bf03719d706f87953c4757a75a126ead15c6c9447c02938c3b75a58ab25ce65a5caa21898fa8050319880223899f5546e0d253df7950691b86f8e3115438c3b80cc2e7a6178a96a0f38a0cc47394be36c9b0721580d646a89b9327210d40728f4bc4adbd8b130eecccf528a5a09595f32c0f64e602f6898b8a4c82d79a8ed31c4172a7812c295c93841929b782b334490eeaa38c17cb4e77664306bc7b01726ec656e24311c51b0524c72f0745665d43073604c59ec88df6fc9ee2f2a0476079bcfb735e562f57e2b0e1987a0220c98f0b4cdebc70f93ca709c5c2fac7098a7b866662accdf09c85974d7c88ce9afb01f48276ee320d70c7c0e15950fc0775e13173b60555a470302d0a0047260e5cf85ea2f3c326968d3c308c15eb400b13bcaaa65ebf941ef59a069ba0bd3d00841b6124574303ba8c2bc9f90f107865882c18eba462f6b09eaee05796e43a8647c59c64b7a8db9c0941299280af728b872c303755b682a3ec10c5876f040543bba028e870c02a4312aee9cf2bd1302df80bd0facbd0765a778a7fa2d3a4c9675965d6799fc7bd4e28a4e2a53948790234f62ba0e473a9d639b1299251b46d07c79c0df1ceb995a968b5b707b760d8bcb120f6226ef5b742f34548902a7c73338a8cbf8d6b02a83470874b1ec5845dcfd3a4067c420f8485fae1286a23adb7373b9217c6dc173748870bfd164a16d62a3a6608f5e2b7fe78b92364a4b821967db45ae29aa1b11c0cd67cb4299b32d263aad7a26eeb3a69ba56790fd806abe3935d82487aec3205a856b4981e7f53b8f82a30d13c1b725b1418607b6619b0e8a8870bba6070e33545730182fb5f6f9938ab2ca68c50719fdb472a88384ef210b0c22785367dedfc840979ab758479506064b7971426d70af9a95e7d585dc8b67d4ffc2082bc45a4fa9b4fb9541493c3dfb88fca757eccb50f1a9cced9c046f37062e3879e13958bcf063041e858810b057680276d2ca12a307f511217fd626561587617674319382a4a00ce5e3bcfc5ecb5b3816133910650a469ac663f7a4a742ddb87c4e5be636213880c246370b1cbb8adaab6bb7e1185e1f95c945bb001a0210cf56f326b35051b8dbe85245f9bc6d973b39afb3a3b961501862b4caabd0d55693c201390f48fb7511990571985764be7373a7fc4bbd5e82b31f52494b15b6c2c8b5b593182028bd7ac7a40fb446ea756463c396de29d0fdba2569b9001e169f7c824c8a42d313a15b682bd52004867837344324e2f91a06a4c9f7ca447d6291635257cb0934e015c1937f732c1bba2c13591ccf4add16960b2303476000d984a8fc8036772c3b7c5721261387ae535129a7921a1711c98103161a95ebe16c0e0a28555dc3598cac2d701a98ca249801a4bb10379a5c29a1932acb6f6c3d040639fa98fa7297c6d453e35587488576db9bb2f9d1c37f8260cba3ba90e4b779867ad97db03ff005ecfe3470d2c25d54105ca287a9e0c039c2a2b71a1cbc6260d59a268d60c05d61202ec336cb8285b41a043bf58949df50def5937bee1af32d174e8fb463d03449ba747e92a79a1eac8ded247aa0a50821a16ad4c9f533a0fa24684d452a71df461aee15cddc2185551112682b4867c6cc27c43bf835432cca184840b85886a5d970e9f515f7f97151410c401e9baadf41ce2b8642313c295d28587a327c41c24da18967a6426663642dcf389c50892d6847718365cbbbb80723c1397b90447b197842c96a141bf6cd317bf12bb64c664fd237e886a9f793313aab15f668c91c71149c4b90b35b147f7c34b8ab6948799897855b22283050b113d64a60aac739948844a9f99c448d21c414425d77560670c298f493d891128ab1665d8141d2b1c8e67950a68255b7f9376332b1cd7c6630ac05ae7c127fa7acc35e640e94285e78661b15b21685a36c889a8cc890ce53c36ef23c2f17cbd8c31351beba827949f8707a05324abf05aa71857bcbe690405ab0030e648fcd3bfc0f2ae2c627e04f490bc3ba237059ab93085de218029f056b0f57abd342170f5b16db069073a3c16bb1c0bda5136952919b22ac477ac2489237bb0869656614e4ac248b003799c761b2ba5f2711b24a01419c88937dc4ce745acc16c796e0123a4228ec623a2a4e059b80b72beb1329c9204b6555b0a62c14df0b19b4a157bca985090b428dba8587b53ca2714b2ec2a04d306b3cd5d09045252960a068412f1bd67b83a217049d0685ec3d63d691559a327b2aae8e61b905723fa092fb95b839f6de3670c39ce0498c27b87d20c24e7f64e22229ef54e776c02586f3f46d723e7932215fb7e09c397d1552cdfe3457241fc30 +m = 1407c5b3005f98c64400fe2201f1a2b77b378fbc8141f175ab2d1c2a58846693 +ct = 6e7fa1360f88e9427272abbdbbd9d21f43894de5c55caf16a61609ba4a4dd248ebb8015aba77b449a1248a2ffae702b3695de0aad27bdf57ba6867cd40ec3398f71e782acd62e51f7bff21c87744fb8a7f9945127ff2355c43abfb1108d8e779ede235cfa76668bf017e5c77f138f8e6a5de680a74ec9048fad377704d5fc06599d4721565a8073c59a872eaf6c3c2af1b20be181d0a350e2a50fcdb825d467b318108283abe2d2088713122bb7245b2a3aea13b3aeed0f8995a5f1879ada12e48f02c7837a9bb7b650a815cea180980d531eb68e68c05a571d6711149ed159bbcebf72572ef48a7200b487214dbd81d83c9eb3c6686fffca4ca89b4d994879e990bcd75b74ea43cd6f49a04cba7dc87ea217e1fd894b21e4c1e1e433c4c2af0429b26ade0fc6605a6cf88ad03cceb70bcbfacbee2394fb101b71aec65489b83adf18c932a925d5b0bb04a47aa94acaa2cfa95fbf3aa3a1be788bc3df48749571b5a0e55507c59d11fc3a5a545c5f3612aef4ea464b9179f59bfb9c503ec92de80b3c3ecf7d921c3d775d9d875bdd6d858f0e419fb4cff7da20300064ab372827405bdcc3d87bf53a4aceb9ecc189baf4247b8a6b7a8db669c9c7bc364d976cd0f062601e678d3a8f37b3ddccc069b60861b9b4638cb17cc9e2c6761c4a582ad425a749a7ee2d5e0050e040a97e5174ffcfe9e5762801c1e5852989579bb0754a7c048e54c1b0aef6b2a920bee91e4b3e4dbe7b3087ebec6b7fdd7df5edd27ded6ed3c7a02a0f744e242220be67baa45460d4f041976c4a7e0870f96a39e0598f5bff25821c44d18666143f44039be1cf8de4d148109268e54ea5bf79f2b364f8b2f17e098fc7976d75ab1a5a443a5786d8b494ce3b4328c389a90f32974d08c9c2ca2790f7013d2126831dfa992f12560f5b9934d629fdb3c1a339ac255db4a3e004f46e941a11ff32d8053260b963b335f703e8b00da71d637cca89e16a8a9af4dc92ac18b1b0f62853a875c955f8acdee5e63d4efdd1c2d26f9342d431a100e02c27c57485de327ca97a27b53a6bc30eedecd8f7ba7e7e700d2b0bbfa14aaafba97306bc3d15841d58ba4a6f244d0045df58ecffed690dae96c6584e6efa35ad010dfb21f348b965626b541d4043d3b073df8c020b5e8b2fcce6b18125c114f21ae1d5678e0cbf34acb2c0c2b4e4db7a3cc4f45e63344041ef4d7225cfbdc4d9cf3f8f6c5566090335580f83e2a80188db667bb0f5f5812bbdfbb35c5d71f31fbc2ac335eae54677163abd787ff7f6617ef9cd3dd2bcbe92080bf1d76fc83ee209f364ad7aba07a9224c81006194ada80e51e34c9180e11478eae8962551c9037c1a639dd8b3a4b400b41f2382cd7f4e5d65c50d864794a5a3f224125c7e9e7693fcade8d8ea63bc182f8e1eb8f70fda2ba6eae74e32edc9a3deb421e52c05db0e81a3f23ca3db18d5c7f5dd1a0b73e7515ad7721ac37f54abc634a66c874d7499a74e00f471cf76adb9b023d93e9512c19b9974064b2f61ad9b13e133c60 +ss = 4726929011926eb0ae28133055edb8e1d5fc8b879807f33c80d5c79d691c52e5 d = ac6fcfaeeef795b6ef9e062f02bf42975fa01e7d91ba832f74e05269a72684d0 -z = 5aeda108ea4d6c6bc0fb958286850422bc357ca67b83c986048e0d0087fa11ec +z = 66bbd48deea2a0a14bcaa97e18d848e609339dc39bcecce7077f2d7432da536e pk = 4d960c98359f5719b20dca6d1e2916f2829e73f79b55b468170b64f2f8b0c788796801c8ec244e1973c7e033b768414c55d43079b2711bda630e678b184a70dd161c4dabbcb91c07fb634620d1450664a444e82d22a0a4f54ac6c7c02d74120b2ce205fe49a139b9c8194341f4295ef126b37f3b22e35792a8853b60eb3f7ed01314491c4451470870a5ea5b1d23442019bc1def547fb8935ecbeba0833228b8d7bf2a4aca52436a3f993f6164666ebb3c38317bf5b48cc7182c00d58d4a095d0fd4c60e4229e77803c4f38f22464c7a4259e45ac71e8ccde6e5738dcc798777317f9847f8357dce21b24ae462d0465f1d58203f3b8590d88deb9c6df4722a1420a9ea0813ec3777a6cb11ca0271292b6c662a870c292291164004299c82442a8dd5404e74cfbcb45175237ae5649f7136cb47b9c6c053203f265bab420eee2c95a5960f8a87c3333785e1b89ff841a6aa5aa964f3a853e512acabb60e29c3a4810df33830134c0e49bc5e1ba41b07b671e1ba6bfda82576406e6da854920a46914c8ea986b1d6a0328d4a450fc0ce698b9d16954aaa0c52b6f2b5ff7b5347e84c3af403e9b31ec180238cd5af96f5c6f0d3644ab51717f7255ad6551f44378294778937cc56b610680704bfb37e3ccc07c5276777e37f36623dec8225388c3a5a2c7026eb902c63260ce27ffe657bce34a47db43667b9293e04ab9677b6fdb0b0a429a4435a9f5624628a2c07bbfa8afed562be4233019524e67cae6f955226437433bc59835561c462071ac38058c145787c242d4b6dc055170675190882792ea49726dc8b2cb638763784d3c23e1791c93a55383a8c4b59643626f8948d228b670312893ab3ce5b123401b1b24432545889d4d124d2b846070c1663b87a3475c01adc4f4df286fc91c76b018c05b5a26a696df86c4b1fbb2ed3050cc9b54ca2786839f854b9461655972fe21c3c98007a693a4d0b8aafa3ab73f1c411dd283cce59528477b6e089847ce6518f29b523602f80ac573618070bca649efb84fc3947d43b229e05682914c153809521ec9b7978a6bd667f59b18f1d986222dc9ab345ad2c7c7cc5799c15297c22c3734df18a218c5bacb364c9136b8e055053567a1856c21b96a1a2723913c98cc364bbd1fc4edef37e1853c523727a6c677ca4c82ac4d49238e1b60c1531d1dc9835c4a96124a0011c09350353aac4568a84293e8666f6016e56c38371489eddbb3df3e53e6767bd01e231eb122f13f59a83a35101844ab389954e8068f6d7128c738ac1774edc6465eae8ccbabcbb41271467c407d36928d9e3174c99665e3a9af0fc1b2733925b254a3aba050ec3925dabc511427c0b2930bca63ba7629366c1ba620cc0d7090752157b5d70c098745e37db7316056c7bb37c024226425107da8ba0e9c30e2606752f31a017e50a0e10c05332677ec851eae14f594a55d07392c23a962248ccee1221feb2c8f801860892b33ef2247b801e5ff55ba97675a71037fd133133840050b8b7914125e9d30165847319eb1e483005ca0bb8338b75eed618c47408d0260ddfb1527640a148f29e64f65fcafc59a8715a8126830024767009bad41a3385c0173be51a35f3825843b59fe06b5fc03dc21f6d925b9f6d92fff175c9dd625bfaf502b4e2870961858852 -sk = cf8293b02a9a6f579f51066bd6e51abd270104634cfd482823102f2b63b18a8bb4f45a5af4d8202523cc1779b44fd283860bd004307c399ca5d8eacade156af824a988f5ac6bb50eafa6177a95b9752c922bd6a7c4265a6a88b11d0403e47127b1e80787742669e763929483393cad6ef91f18143e9d2b7cd3e028c6f56b91768113259bcab926a082a2a6185a1bf18656448a628258e21a3c6cca23449b4f9483ae9d01bdd4bc674e06566300ad2a215809e547e2626f8d9437baa727f3f05c31e85e4d34643148981bb6a82c3c75099a33a0e7528d45303d98223e1a4ef6536170f53a0c61004beb75fa34b8aed5156e4a538269775808283cb0ba5282607d50661d2a626fac2737c98cf33050353bb83e1c1136f1c26fe48d81973eb974ab1ba4b97c95c0dee065523430cc06620debba3db92888497658bc5c64b98be65ab2a0738f0750022b95a66c583354a63865b5237fe7098d279c53f731f3fcae8689754194a7b888199b89761fd09ff75677b2c500d7359905e76357163834712659f26d0d8c9b47192404975cfb89969a77615d1a3fb404baaa54511ff1b3b08c1577eb274f5b3b0b825434e87f60d18fa73141f912701a99a7c11305000789229a144a0899685596aa646f13573eba0b54dd3205de2c60c3ca1614066474b89f2377994bd14ee0a77e1d4c0af77748c1e623cb8947a98636694c4efaf0ce2bf779c66a317989a335a0071505831471c8d845a5fa4b3e42d195074244f70578124c4c7894ab84584daec8c13a6598524c023ca99f4c0499a68aca3e6827798b10ef9a4639605e2fe8656606438274ac8ed8c87ae0a16ba3b8e5857a7f25831d8b85bc7105828575320c6baba75489455154b31e50074a313ba9ad10b747f39405544f44949dde165070c8271f1ba80e57bb5bd1320c8a1f8fb47354079532bba51282ae3197026e18c46ae6b2ab9940eaba9f1ee421592770c9a9604263a4917c825c084c3534381f22c057592dd97940adb1a439d5128cf795cdd25640fa9229220a1ce4a6624cc9956105465246334c77ffcb9907159461cb1416637d8df34ab4b401413c27b6d5a1d23331f88273222653adf9685a614bec9840355b1a23a0c4ce60b0b678affed200bcb383bec2580c89127b2870745c15570ba1cec89f5dccc47be517bb020c57959e433c11df10810d5b37aa8ab3392b3358793246f11ece238646724beb859c861463c42b5030d9a1fdba3e1d391f9ca5a99df58a7948c66fa2b50864b73a40b52dc7cff031b3a3b21009268cd5cb00a89b44c156333b802ad03b2f07f70f7c11057ce78705ab6ee43681aff0874030807412a7743399cae832f6f3b65df56ab1b30d6967379e10b4ef53b9efb5632a23b942f832a7fa22cde494b0c7393d51ac807a38af119d526a5a3b91068e107812269ec85410aa739c288c20446b68880343f2e12157094dd424a349d1523e76c0acb9c29c22b6346386b522b0466bc8a85b97430a1df80850510c4825ec4f2aab987c4a07f11693e7bbb4662a4890a3c54ebc0cbbd75ca468428e38276e81c43d81a8d0e3bdbebac9aeb89fc9d7870bb88c5c16a137c41fee75640774c4b536bb1d7bbce797844d960c98359f5719b20dca6d1e2916f2829e73f79b55b468170b64f2f8b0c788796801c8ec244e1973c7e033b768414c55d43079b2711bda630e678b184a70dd161c4dabbcb91c07fb634620d1450664a444e82d22a0a4f54ac6c7c02d74120b2ce205fe49a139b9c8194341f4295ef126b37f3b22e35792a8853b60eb3f7ed01314491c4451470870a5ea5b1d23442019bc1def547fb8935ecbeba0833228b8d7bf2a4aca52436a3f993f6164666ebb3c38317bf5b48cc7182c00d58d4a095d0fd4c60e4229e77803c4f38f22464c7a4259e45ac71e8ccde6e5738dcc798777317f9847f8357dce21b24ae462d0465f1d58203f3b8590d88deb9c6df4722a1420a9ea0813ec3777a6cb11ca0271292b6c662a870c292291164004299c82442a8dd5404e74cfbcb45175237ae5649f7136cb47b9c6c053203f265bab420eee2c95a5960f8a87c3333785e1b89ff841a6aa5aa964f3a853e512acabb60e29c3a4810df33830134c0e49bc5e1ba41b07b671e1ba6bfda82576406e6da854920a46914c8ea986b1d6a0328d4a450fc0ce698b9d16954aaa0c52b6f2b5ff7b5347e84c3af403e9b31ec180238cd5af96f5c6f0d3644ab51717f7255ad6551f44378294778937cc56b610680704bfb37e3ccc07c5276777e37f36623dec8225388c3a5a2c7026eb902c63260ce27ffe657bce34a47db43667b9293e04ab9677b6fdb0b0a429a4435a9f5624628a2c07bbfa8afed562be4233019524e67cae6f955226437433bc59835561c462071ac38058c145787c242d4b6dc055170675190882792ea49726dc8b2cb638763784d3c23e1791c93a55383a8c4b59643626f8948d228b670312893ab3ce5b123401b1b24432545889d4d124d2b846070c1663b87a3475c01adc4f4df286fc91c76b018c05b5a26a696df86c4b1fbb2ed3050cc9b54ca2786839f854b9461655972fe21c3c98007a693a4d0b8aafa3ab73f1c411dd283cce59528477b6e089847ce6518f29b523602f80ac573618070bca649efb84fc3947d43b229e05682914c153809521ec9b7978a6bd667f59b18f1d986222dc9ab345ad2c7c7cc5799c15297c22c3734df18a218c5bacb364c9136b8e055053567a1856c21b96a1a2723913c98cc364bbd1fc4edef37e1853c523727a6c677ca4c82ac4d49238e1b60c1531d1dc9835c4a96124a0011c09350353aac4568a84293e8666f6016e56c38371489eddbb3df3e53e6767bd01e231eb122f13f59a83a35101844ab389954e8068f6d7128c738ac1774edc6465eae8ccbabcbb41271467c407d36928d9e3174c99665e3a9af0fc1b2733925b254a3aba050ec3925dabc511427c0b2930bca63ba7629366c1ba620cc0d7090752157b5d70c098745e37db7316056c7bb37c024226425107da8ba0e9c30e2606752f31a017e50a0e10c05332677ec851eae14f594a55d07392c23a962248ccee1221feb2c8f801860892b33ef2247b801e5ff55ba97675a71037fd133133840050b8b7914125e9d30165847319eb1e483005ca0bb8338b75eed618c47408d0260ddfb1527640a148f29e64f65fcafc59a8715a8126830024767009bad41a3385c0173be51a35f3825843b59fe06b5fc03dc21f6d925b9f6d92fff175c9dd625bfaf502b4e287096185885264e085f67e48f00a7a7f82963e8c67176bff839a54fa1008328c0612f98d83d35aeda108ea4d6c6bc0fb958286850422bc357ca67b83c986048e0d0087fa11ec -m = c4f15bec2d7701339d0ade4835193bea3632edcf89e74992620d9eb623a0d0d4 -ct = bb06bfeecc7b7777b56768c6165c5347166ba71e8dc7e9e0258ff889bc123e6b6a1461f717ffbbc9cf11662e6ffea09eb65aa287ecb4d7206d103f931b0e3c9ea8d71be6f87b03edf777ec1427f839922a7c8eedc8db4c8fecca7665227029d6e23f5ed9163253d64d715042a5f301b41e2c59337f282df32195efca03bdb3bd1d8b65c562abf51ee8fcb39f51cc69dea3be7547341608444ca2eb9a9eff2a3805224504440cf702c95a1fabae452ba47a25e4d6401d24c0d8fc61962d4e11842ff6c6f82084d28f921e81e818dbe81b7e6a25596abec6809157a90c6f8779f4810bb3890d93e6f30546d982732af2cbad9e054ab510b64e6377dacb97104c64d9ae8cb451700f9a7776bec488786733baf3fbd6153b8b80c468feb5ee28338817233a34a35e35f97d518aa8c07c9921e3d1bb96984fe1d543630b4ff34cb6aa6c64d7e3a7ebea73e4b1379a8c53ace1f2f2f07df7017262ff152686ba28d8a3a348125f33ba2e795bda25d2869f8decb8e02453169e6ec9af252d673d09060ac1f8e6e203e5950b11d1efec554d7e405f918e3472f25aab2ffab059ea043038031d23af3911743fbedaec446c316b2801af1152393f55820a5a7bb6d0ddbcede3f9e02423d7c8fd195f0194d2c5bd5a4ba6a9a5c934c1f7ce98d7476e2cf77837aac2b738b1d6925797cd8752103df9de929119340993e36993956eb1cb7b8cd3cb067fe790a36bcf52ce218e9d5c009651ee835c724add8872abb9e360742609e10ee43656719f140a155644ad25825af6dd160d0cd944e1481aaa174a265dd18da10ac0dc9f68337c5780672a36001209d8901e28f449ada470a7134af449a57494684e98124ad3901d680bcf62be505368f8277ade5ba33c3bf448462964728cbab403fe5b10581e2bb377e10589a06b4c1afb54927a87a016f63cfd1ec46a8c1a1764ebe07958fa2dc54c2cb90336c4769c7d118f56848122255b995752cf2b51133a4f96753a47b9b7c14e3a2565a326237926c870c8f67fa709f50ea174c3d0d57bd660438244ebd6c68102f1990fb1f1e06f0428a5210159eea9c1774dcc4cbaeff4461ba6966f164121ea26f328e831eac62702119b42c7f430487145b68afc16e7baecd74a7ee349997a5244b6e9d74f17f00283ddd99808103aadf2365e4eb5db20b40c3325333dd9877e019efc9f1b95ffe67e88976a796dd735a68405c465225e951acd794336ff7d7c5420baa47ada9c9a8c5700bee94f0c80e693939d73c5c3a0c029db9053d8d3c2e3f6ea47378fd225e704185d29c30f0c7afaf47b3b9de45539b026c77f788d00ab2a2cb41b5c995c0120c1229e9c138e6480bd9aadbabae6cfd7abb5fa97ec99d35b76702e8d84d2df0333e3c9f4002d0c68e98e81440cb0d551c77ab6df66348e2d798aa8092618b958317881f01ee209cec22cc8ef0123a0c346ee47a158518c43fe926ba6f49056ef387f023ab9c57a6c0832e53c178a761ed7c382f76a81b340d98ee6fefe208108994ba3f31f48 -ss = 3cc0ef85a74184338a10ffbfad5f6d04860d51e7dacf3ee73033b70969785af8 +sk = cf8293b02a9a6f579f51066bd6e51abd270104634cfd482823102f2b63b18a8bb4f45a5af4d8202523cc1779b44fd283860bd004307c399ca5d8eacade156af824a988f5ac6bb50eafa6177a95b9752c922bd6a7c4265a6a88b11d0403e47127b1e80787742669e763929483393cad6ef91f18143e9d2b7cd3e028c6f56b91768113259bcab926a082a2a6185a1bf18656448a628258e21a3c6cca23449b4f9483ae9d01bdd4bc674e06566300ad2a215809e547e2626f8d9437baa727f3f05c31e85e4d34643148981bb6a82c3c75099a33a0e7528d45303d98223e1a4ef6536170f53a0c61004beb75fa34b8aed5156e4a538269775808283cb0ba5282607d50661d2a626fac2737c98cf33050353bb83e1c1136f1c26fe48d81973eb974ab1ba4b97c95c0dee065523430cc06620debba3db92888497658bc5c64b98be65ab2a0738f0750022b95a66c583354a63865b5237fe7098d279c53f731f3fcae8689754194a7b888199b89761fd09ff75677b2c500d7359905e76357163834712659f26d0d8c9b47192404975cfb89969a77615d1a3fb404baaa54511ff1b3b08c1577eb274f5b3b0b825434e87f60d18fa73141f912701a99a7c11305000789229a144a0899685596aa646f13573eba0b54dd3205de2c60c3ca1614066474b89f2377994bd14ee0a77e1d4c0af77748c1e623cb8947a98636694c4efaf0ce2bf779c66a317989a335a0071505831471c8d845a5fa4b3e42d195074244f70578124c4c7894ab84584daec8c13a6598524c023ca99f4c0499a68aca3e6827798b10ef9a4639605e2fe8656606438274ac8ed8c87ae0a16ba3b8e5857a7f25831d8b85bc7105828575320c6baba75489455154b31e50074a313ba9ad10b747f39405544f44949dde165070c8271f1ba80e57bb5bd1320c8a1f8fb47354079532bba51282ae3197026e18c46ae6b2ab9940eaba9f1ee421592770c9a9604263a4917c825c084c3534381f22c057592dd97940adb1a439d5128cf795cdd25640fa9229220a1ce4a6624cc9956105465246334c77ffcb9907159461cb1416637d8df34ab4b401413c27b6d5a1d23331f88273222653adf9685a614bec9840355b1a23a0c4ce60b0b678affed200bcb383bec2580c89127b2870745c15570ba1cec89f5dccc47be517bb020c57959e433c11df10810d5b37aa8ab3392b3358793246f11ece238646724beb859c861463c42b5030d9a1fdba3e1d391f9ca5a99df58a7948c66fa2b50864b73a40b52dc7cff031b3a3b21009268cd5cb00a89b44c156333b802ad03b2f07f70f7c11057ce78705ab6ee43681aff0874030807412a7743399cae832f6f3b65df56ab1b30d6967379e10b4ef53b9efb5632a23b942f832a7fa22cde494b0c7393d51ac807a38af119d526a5a3b91068e107812269ec85410aa739c288c20446b68880343f2e12157094dd424a349d1523e76c0acb9c29c22b6346386b522b0466bc8a85b97430a1df80850510c4825ec4f2aab987c4a07f11693e7bbb4662a4890a3c54ebc0cbbd75ca468428e38276e81c43d81a8d0e3bdbebac9aeb89fc9d7870bb88c5c16a137c41fee75640774c4b536bb1d7bbce797844d960c98359f5719b20dca6d1e2916f2829e73f79b55b468170b64f2f8b0c788796801c8ec244e1973c7e033b768414c55d43079b2711bda630e678b184a70dd161c4dabbcb91c07fb634620d1450664a444e82d22a0a4f54ac6c7c02d74120b2ce205fe49a139b9c8194341f4295ef126b37f3b22e35792a8853b60eb3f7ed01314491c4451470870a5ea5b1d23442019bc1def547fb8935ecbeba0833228b8d7bf2a4aca52436a3f993f6164666ebb3c38317bf5b48cc7182c00d58d4a095d0fd4c60e4229e77803c4f38f22464c7a4259e45ac71e8ccde6e5738dcc798777317f9847f8357dce21b24ae462d0465f1d58203f3b8590d88deb9c6df4722a1420a9ea0813ec3777a6cb11ca0271292b6c662a870c292291164004299c82442a8dd5404e74cfbcb45175237ae5649f7136cb47b9c6c053203f265bab420eee2c95a5960f8a87c3333785e1b89ff841a6aa5aa964f3a853e512acabb60e29c3a4810df33830134c0e49bc5e1ba41b07b671e1ba6bfda82576406e6da854920a46914c8ea986b1d6a0328d4a450fc0ce698b9d16954aaa0c52b6f2b5ff7b5347e84c3af403e9b31ec180238cd5af96f5c6f0d3644ab51717f7255ad6551f44378294778937cc56b610680704bfb37e3ccc07c5276777e37f36623dec8225388c3a5a2c7026eb902c63260ce27ffe657bce34a47db43667b9293e04ab9677b6fdb0b0a429a4435a9f5624628a2c07bbfa8afed562be4233019524e67cae6f955226437433bc59835561c462071ac38058c145787c242d4b6dc055170675190882792ea49726dc8b2cb638763784d3c23e1791c93a55383a8c4b59643626f8948d228b670312893ab3ce5b123401b1b24432545889d4d124d2b846070c1663b87a3475c01adc4f4df286fc91c76b018c05b5a26a696df86c4b1fbb2ed3050cc9b54ca2786839f854b9461655972fe21c3c98007a693a4d0b8aafa3ab73f1c411dd283cce59528477b6e089847ce6518f29b523602f80ac573618070bca649efb84fc3947d43b229e05682914c153809521ec9b7978a6bd667f59b18f1d986222dc9ab345ad2c7c7cc5799c15297c22c3734df18a218c5bacb364c9136b8e055053567a1856c21b96a1a2723913c98cc364bbd1fc4edef37e1853c523727a6c677ca4c82ac4d49238e1b60c1531d1dc9835c4a96124a0011c09350353aac4568a84293e8666f6016e56c38371489eddbb3df3e53e6767bd01e231eb122f13f59a83a35101844ab389954e8068f6d7128c738ac1774edc6465eae8ccbabcbb41271467c407d36928d9e3174c99665e3a9af0fc1b2733925b254a3aba050ec3925dabc511427c0b2930bca63ba7629366c1ba620cc0d7090752157b5d70c098745e37db7316056c7bb37c024226425107da8ba0e9c30e2606752f31a017e50a0e10c05332677ec851eae14f594a55d07392c23a962248ccee1221feb2c8f801860892b33ef2247b801e5ff55ba97675a71037fd133133840050b8b7914125e9d30165847319eb1e483005ca0bb8338b75eed618c47408d0260ddfb1527640a148f29e64f65fcafc59a8715a8126830024767009bad41a3385c0173be51a35f3825843b59fe06b5fc03dc21f6d925b9f6d92fff175c9dd625bfaf502b4e287096185885264e085f67e48f00a7a7f82963e8c67176bff839a54fa1008328c0612f98d83d366bbd48deea2a0a14bcaa97e18d848e609339dc39bcecce7077f2d7432da536e +m = 19428b5875abce53a0c9baaea7707855e56d971083793b2960986d38e2880449 +ct = 285206087c2f1f2da73fb53a8a9492e14c9ddca39be5dd8c0445cb65855f2865a80c67adb7b2c71bca1cf9d5c4682ab00882404ca646c3437ce8e1f09916229e44955a6f9e2651ce9534bdf1bcbee6be2a75c64dc263385319f1ca3adb0a29d01dd0d947c3d55a716893f2b4bf5064e5e62cce3763b966bf0495c67a9042ad7527308d603bd9e01447800168997ad0c6d855128c70aa4d8bf556fa650bae29afa2aa7a06c37ab8c4f0c0b2e226d7eadaa83096c62d2dfe51b99cdf0a0923ab8fca6922347257bf7526d6e4588e1cf9a844bcdfe26e26bfc8e9e1373b5195a11341757cb36575a57d994e1b105736c4ce12e05f1298aba38ba60ec6ef6a3f2e830c0b05d53ec2580a86032efcce78c73ae9c69647fa5ec969f3795208dfc3fbfc1c403f085483700cc3052491660c48bc22a02555ff2134b7e244e527c606aa720ddcdcd0d61ff409f8a1c87c68e241ed0ce7bb15fd3ed4506e9d5df256d3de1d1553b5afd03a970f2ca4eb32477ca4dfe2cb16b72abdb91ad0f3af94fe6c7546398dd6a38115a040ae2f53de31eb9e99f28890a74487e112644e4ae1d631dfb5526e3e506f4cec0d0dcec28bf564f1daa7cf7de4e2ac8625d54129571a83e8b3bbac42b6f7ec44675106516abea99d562747ce095c4a123a550428c7b538c8b77c9e259704bde0887a22d065d77ef264e20e6dbe9c48fbe956f20bf4acd2207925ce9cbfc6d21fc392a1d7423ac4a4e14d34adfa063798f61dadedb2fa2e118765c05828b99faa5386c8afc6f21133b486346321a12b70552bcc8f416826f868e8abe6d6741f950199acd57c1b2d64f8cbc849424cacf28ad11b781087552c5d82c038b82bfca8812c41bb59185a6128994c734d5ef18e72022895bcaaf8b019b565e3cd90a150677d5f35a5c1a0e505ed07eeb8a371b76df239736cfacf6abda3add732ccb13fb540c61dadaa340e8e67ed78fb5a664c3198a7b303af891678948c30b8baee0a9de7aa9f7767875a2a8f0c59b51f8381022307127259427e8441f83664aa990d7179f78cf67debe307493439869612e85a38001b613eca57e0b04bfd94710bfb80f73ef9088317713d1af8a7f531c5ef3e5e56a647b007681555b2fcd6c9c0d88427d7f42077e5d12ad7c940127dec837a68faa0095133015e22e3377995de41ea9f6e194954e5d57665eacc4a12d1acd827c2aff7757da74a17ce472b019b6e220c7b97137fe4c7bdf997b3add4e0e2ac771d6b7d4ce4826493dc3b8b0197c384fa38aaa4b26c36d9e9a7e1e328e577f8e6ae4a297b2d111f4b1a85e33cc05edae592fbdf47ab23766ff91c3f90054a18bbda4d15cdf4bfaa34a03d8052c6f4c08909638c79eb022b27cb32f2e3db8f39265db9fe120f52859ae0ccc2abfa7dba6a09317f02831c15850d331b51bf89d2d7656ad228d3ff95e63e9a0ad0a026835f681503f2d0b68297b662b2b247d6c7e4ea6f8e098b1d9dd41e93883a1ffa36d95902ba2ec6cd05f6df85ee8b2c5c1c56ebf9cc0fb5bc11 +ss = 292e6dae0a593d50f6fb50a8ad71dafc9bc616e7bb9ad7985d31b49de6eafb5d d = ba2fb9318d4dbe7488057c33e95e6f054583a2800c41bb83083c330a914a12cf -z = e63f8ffda3565c2424c89b20974b748a65a5aba75133fcb3156dfb6626a83bab +z = 3e3a1bcd39c74c1b899ffa21a6fe100804a551199d32db4a75e6314bfb58f70e pk = b49b9264faafe731c0dee965ac981965a28ff907ceabac477e2c9b6dc95aaeb0531cbcb65d8b3f6251be17ecaa89a5b57c1198ea66af1f4461b91c360e4531c4d49269896107f10ed1f1070e68cddb2a4e06c387f3126087a71a366a250b450be1567dc957bbd034b66ab65fd4eab2d89b8481ec2427a4af3c1b861c799263f492779053a0128508c86ebd6201c876bbe8ab8053b790314047a1901c9f327207b2130be5bce8504bb03817a380975cd81fe0c0416986a7b74a16a21146636abe4d2b2c5c1223d39265a6845804d49e5f160abfe3ca21a345b5d044afa5636c37b976f2894869bf4500c62ae9941b9b3c3e6064fec351268243fd75bf287cae8aaa9aaefc1cfba1032ad2623a6239a7f834a4826f86132b59ab24efc9c57cba929a64ba90271b987bc08a913298911650399429e9bfc40742df735f7cb935eda73a41f96caacbb34324b29e64348c6063aeb0bcee9066028b3340aa147b09c42752cfd6d491ffa497e17ab6c0726aefe59c2577764a1a996fd879e58c23f1c0ac9e9372b3f0be42c829b7b09acb722e3189a2b3e72124895ccab565dae583c6c76c34c2c0075568379639869325f6e92e0b91a2d4100b2f4aa6486b756cd521e1b781a964a21b8b0c72637a2e4299fe15c1ac275fb077cf42f36453e7603c91a648e09cbf128ed188639b7247584b333003a2175bc587925111654f24680c540b32643b035ff38bb4598785524504ebcb26163d513867d74744c8b562bd48989b3a328374a125ca05fa962ac08b0d22277e578206a165a9e3d31a084b4492c664448aa62986b55fe8c8420816a5a9c035644f592969fd0951b6e9aa57303d1f9927ff6b3de99263e2e11cd8317cfc899a45706746e9850922b9a4f9cde515623f3c48b86379c969969934ccbec4bea3e9796889cbcc56285e9a85f0b3471bf9692f3c72ffd945089b9a262ac1a8844c38c807f7274708aa0587f94a107089a99694fc627291c30fd6b0430eca692db54a96019eaf89635cf54f579a63048070b7f32dd2c32a18e2b7e8400344412e9dc5943bf3af11b4aa6c328499da7c220670958a22bffc89b8f0091c8665b6605571d8a1b5c934ce4686c7c047ae416bc6e39b7ccc92cb076de94001374217e9b8820354351cb377b4f06b7fbb69f64c7b48f781ded2cfee998718d875eb94866e7c5135358ea4ec92849978438c77cec1ba1803bf9933c8856657c953125eb76014bacca8ec9be6290936130d166b187e1463e55cae3ad85e96e81bc574220ab0cd374aa1f657abea849259b4431f1a00ee59b35486beb09302bf71b4c2e840963333b4a3be37f8048d42a0f67c886de9b47611555495248ad4c587577d45775f52135518793ea14582bf153c74210c36b9251609a4b28559ade5a93203725a475971b92beb88a69357bf83f384577cc1dfb62c70fc65401073c67a66af878fd961bacf46c633e7cac0e5092458cbba0c3b69494c4c0c0da6025cd6516c1ab89b3216bb9ba123040051563610251974a0b11be7190504522a128ca3107938f5b18e4441b52f7944b0e54cd3946c57e7ae3475bec06791a9f5a83eacbb12f40ac971cb475610a0e6c546998dafe5c2ed852d7715b3dba61b94849dea30e28720bbcb90c7af7feb0af619a0cf57d173405c82 -sk = a428a1343429ce9c3dadbb6213410e264426d1cb5c69c68e7f377bcbc454aaf867771258faa622b6367fc5cc46e960682a3984a13230b3d7c25a69ce4ab9af0234a109878e0cc42a9b858dc559ad3fe82c4060539c08828c51b337b7c0ea768ba646a2f04900a235a4042b88e8934d3b62821a13b67a912f162aa80953cb71c396d91b91521b6665062551e0a6ce453c233460789138cb16ac6e598f670c70d6325804cc494466710d984e3ea551f5ec60c5031e94421919f62c301181831b7fb4fc61da443fe12784cf84b5ecf240daecc87d711aad10808b96233d345ba80b0469797dc03583214355e8e9a356e367a593a6898355ad129a8546a0d03b2279021889c118db3583da691a9ad544086540bb2178b2125f00c94ae753038486b6cdf1cf7e5a2202290b4e5ac807eb04bea95678b52ff76c4757c68d2eb9283b8766f1a39e06c999015b1f1d5c3164338aeb432d54b338c361b9a7258981555fc2563e585a6ff60886c32343e0045746e50fe78a0a9bcbb6281abe3474ba50e1267b3276a1327a8f128e2b5ab077618c59902c35488553f745d2a0c942b81c0aab7afd0c869b9b9c66c1847257cb22b018b81b25c468a9bc35a180b090f4bb90c4ec035c0078b799046833cd90f7bc2678cab9b75b95a6b457dca8fcb84937c01479a0b7b6da9643da507a2b8b1ae25373825189729bda8b35fcea315b3b359705cd5b486582379093e64f431309f0389ff899beb4c3ca9689b412a210eb654f183362ab8398b1e3696df7432be662cbe62666471f2c056504a5c1c91017a6326acc7306524058fd0937ddeab972b00734f60d065a1ba8655dba3093d161b99e698fc778b2fe782fa8ec7c62d422e17b24fd107b87a8338ae7af6994c70d959cbfc3720b3174b9658f5d43713cd47325eb926320073f384f04e6831435524b686f2cd377c18363f8e554dbe6af09f93c2ff2a1f4a87159472e7d7a4db9243a1c6a636ad50735b870f1297b6d6b5303e2552a54aa5991340aa40301ca2d6bd9a765b72fbde1c3c44a7649ea350e00cde59628e06acad29888c9b73cf0aa65d44b60f086c21c6abcbd544295317b55ea9ab1117989ab7b7304304e5612119396727943678c31cf2b1779c946b82420a557a8d6426263d33c7f71591c7857e90a7fa05158e315ae19d1046249b3011b22291cae30501d1423674824b852c34c97258ab972af6c5195ffa20b6cf05ba0498a529756f173349bec8c180869293c5967454d01cb3c8edc7a3a776dba54c37513727a69caacfbaad8ec4a529a1872ca25cb4a99c38b225e379ace27485d8b91fef9ceb97c04322b59f533745d23720ae457fa11b3a0b831de777d07f88ed1771fa1d89db9acbc7bac471bd423acac482bfb29de13881aeaaae2f340c1e747a73b9071cc551ea59b03646b65bc2e6e04875754a77025985a026adcd321574ab45cda47134b560219338fc93b0a398d7f85169b4b32c2ec3a06529f8e3a57fd353327b03f87d5cb60c67074146fb460476c92619d9c23ba7a371fd9425cfc6486992959109cfa1c1a75ab9eba4235af63c6f8648ae7855a4eab5c9d3923386996181980b16b02a53060e5a64a8cf3ced087bbb49b9264faafe731c0dee965ac981965a28ff907ceabac477e2c9b6dc95aaeb0531cbcb65d8b3f6251be17ecaa89a5b57c1198ea66af1f4461b91c360e4531c4d49269896107f10ed1f1070e68cddb2a4e06c387f3126087a71a366a250b450be1567dc957bbd034b66ab65fd4eab2d89b8481ec2427a4af3c1b861c799263f492779053a0128508c86ebd6201c876bbe8ab8053b790314047a1901c9f327207b2130be5bce8504bb03817a380975cd81fe0c0416986a7b74a16a21146636abe4d2b2c5c1223d39265a6845804d49e5f160abfe3ca21a345b5d044afa5636c37b976f2894869bf4500c62ae9941b9b3c3e6064fec351268243fd75bf287cae8aaa9aaefc1cfba1032ad2623a6239a7f834a4826f86132b59ab24efc9c57cba929a64ba90271b987bc08a913298911650399429e9bfc40742df735f7cb935eda73a41f96caacbb34324b29e64348c6063aeb0bcee9066028b3340aa147b09c42752cfd6d491ffa497e17ab6c0726aefe59c2577764a1a996fd879e58c23f1c0ac9e9372b3f0be42c829b7b09acb722e3189a2b3e72124895ccab565dae583c6c76c34c2c0075568379639869325f6e92e0b91a2d4100b2f4aa6486b756cd521e1b781a964a21b8b0c72637a2e4299fe15c1ac275fb077cf42f36453e7603c91a648e09cbf128ed188639b7247584b333003a2175bc587925111654f24680c540b32643b035ff38bb4598785524504ebcb26163d513867d74744c8b562bd48989b3a328374a125ca05fa962ac08b0d22277e578206a165a9e3d31a084b4492c664448aa62986b55fe8c8420816a5a9c035644f592969fd0951b6e9aa57303d1f9927ff6b3de99263e2e11cd8317cfc899a45706746e9850922b9a4f9cde515623f3c48b86379c969969934ccbec4bea3e9796889cbcc56285e9a85f0b3471bf9692f3c72ffd945089b9a262ac1a8844c38c807f7274708aa0587f94a107089a99694fc627291c30fd6b0430eca692db54a96019eaf89635cf54f579a63048070b7f32dd2c32a18e2b7e8400344412e9dc5943bf3af11b4aa6c328499da7c220670958a22bffc89b8f0091c8665b6605571d8a1b5c934ce4686c7c047ae416bc6e39b7ccc92cb076de94001374217e9b8820354351cb377b4f06b7fbb69f64c7b48f781ded2cfee998718d875eb94866e7c5135358ea4ec92849978438c77cec1ba1803bf9933c8856657c953125eb76014bacca8ec9be6290936130d166b187e1463e55cae3ad85e96e81bc574220ab0cd374aa1f657abea849259b4431f1a00ee59b35486beb09302bf71b4c2e840963333b4a3be37f8048d42a0f67c886de9b47611555495248ad4c587577d45775f52135518793ea14582bf153c74210c36b9251609a4b28559ade5a93203725a475971b92beb88a69357bf83f384577cc1dfb62c70fc65401073c67a66af878fd961bacf46c633e7cac0e5092458cbba0c3b69494c4c0c0da6025cd6516c1ab89b3216bb9ba123040051563610251974a0b11be7190504522a128ca3107938f5b18e4441b52f7944b0e54cd3946c57e7ae3475bec06791a9f5a83eacbb12f40ac971cb475610a0e6c546998dafe5c2ed852d7715b3dba61b94849dea30e28720bbcb90c7af7feb0af619a0cf57d173405c828dab879de09b58d0fc7ade140393ffb5343abbddabdc118fad519b14436a964ce63f8ffda3565c2424c89b20974b748a65a5aba75133fcb3156dfb6626a83bab -m = 28878249e2ac2b6263422993923a0c8bd05ce56e385ed13c943b03d226856947 -ct = 48e85341492fa71d05723cc0673917821ef717d8c55f9bd6450037745a043ebe12e9a233c310791ad66c101d93b88861fa516333c842c610009dc7f63486830e641a34d44ab9f1e5ca2b7f8513c3c89456ebea4859aeb7117f90ed1aac3dcf53eab33c5363ce46a7ae78cdd0473d4b5ef5dac4450b95c5cf335a5a656720046e4c12a9054857946b4f356b79478e864e32848db05a51439a8a72567cd04d82e2cc61ecff93c154190dd3ac16910aeff13723d93775b1626d55294bb16958bdbf6cffde4b1bef349af5e0c7a2c902066a0440e7e5408f9d840aa74c34a6a318fbd810fcae361b3688eb8ca9ee0fb214b386fc3718ee9141eee6156280a8236a5ee0ea14a017c08c5eb6a90dcd4771eabe95e33b3966b6c259e2c65e4c1c0d0b34caf2dba11fcbb30b10bf337d49416b3e20c492f6cffb6c83db5a5e09a8e4cff44af0675762e43ca34559e14c1fd7e7f9fc5cd48b02c7cb9b0b788fdcb86b17e302f0c4f9c0df1672c59dafc240267d59737b2e6e4db21982c928810b58a2443ad99e64cba79ac9fe77249622bdb56503364abbe7b5abce8edf18f1e710c4642cf794cc22df0837edb785d0fd3d60551c5afc94dcd4f52f3973f4c9434060b0c2a61e046ae5600fb4c9b00271ddf543a0ebd1de5e41b5a6c7eeb573f862820e92ae2d9d9718e21b93366f54fdc58b9e83285350aef35191463358db9fe8860739f6a4119a00f5351f66b06f6ef7a08dd9d387fea300ee7059a98661d808b50e75f5415d7b82738b73e3bfb58b7905f572c7e47483781bfce45a805e5d647f9197e5d829b0d80f5b5a617e68fb2fbeaf1a8906f6a5c72cb5d90a04f0109871fb3743d3f588056101ee96894218a2e68ccacd3fcba9ff4791a985352cc60f7b006d95d66f4903ccbb2607c37b8db8eb88567a4acdd1552f8d558c1396046856ac2a828f9117113372fbdf1002a70c9ec7fcf1a8f74de26d48e44787ecf27ba4383448ab4fa6813a9f320fb4165fbfc363488de37d3a540d4c55610425a8de574870ccfaaccc5414b4b9bb029d85f8408aa033ea4d7e7c3074f848a188e13fce09840c11c3dbcecc928a2079d954bdbe08037729aa6135b68d208a9c1ca2be8323a949cf303c8486d5258952dcd3190879e986a5ebd406b8d09ca922041643e9e647c9c4e61453c0ef9d64f14e56efd043d257936431d287fbe3e7b0e4cf301c5a7cb0730de2c1cb0d22cabd61c1d0006b3e3f310123fd000f41093f4a3054974bcb39e9f474055c1001d372f21a880f864147bcf855fc9351651dccd8288c2525c7959cd9f2fc6d410278856a5b2b10aa0fb6ef76f5f44acdf0c01380e38e4a8bbe861815dbf2fb0723e60aba41b235eafbae36de07f2d478ef39b05d20610772e5d89b7c74d4f626586b8a4ba5de91d5380a84a8092eeae7515ef70fd9dbbc54cf9fbc41b3876489fdd481cc2d2cda5b4231c37ceb508ebbc9712b304ef4ea2bf1e4f75d8d789fe73ca2f7fb9f03c4b48c796980ff39df52ceb477c1b2d6c4ad1c -ss = 1db6e99f80628e170260354ee6f3854f905d198e9669b4faab478f4b39cc2f0e +sk = a428a1343429ce9c3dadbb6213410e264426d1cb5c69c68e7f377bcbc454aaf867771258faa622b6367fc5cc46e960682a3984a13230b3d7c25a69ce4ab9af0234a109878e0cc42a9b858dc559ad3fe82c4060539c08828c51b337b7c0ea768ba646a2f04900a235a4042b88e8934d3b62821a13b67a912f162aa80953cb71c396d91b91521b6665062551e0a6ce453c233460789138cb16ac6e598f670c70d6325804cc494466710d984e3ea551f5ec60c5031e94421919f62c301181831b7fb4fc61da443fe12784cf84b5ecf240daecc87d711aad10808b96233d345ba80b0469797dc03583214355e8e9a356e367a593a6898355ad129a8546a0d03b2279021889c118db3583da691a9ad544086540bb2178b2125f00c94ae753038486b6cdf1cf7e5a2202290b4e5ac807eb04bea95678b52ff76c4757c68d2eb9283b8766f1a39e06c999015b1f1d5c3164338aeb432d54b338c361b9a7258981555fc2563e585a6ff60886c32343e0045746e50fe78a0a9bcbb6281abe3474ba50e1267b3276a1327a8f128e2b5ab077618c59902c35488553f745d2a0c942b81c0aab7afd0c869b9b9c66c1847257cb22b018b81b25c468a9bc35a180b090f4bb90c4ec035c0078b799046833cd90f7bc2678cab9b75b95a6b457dca8fcb84937c01479a0b7b6da9643da507a2b8b1ae25373825189729bda8b35fcea315b3b359705cd5b486582379093e64f431309f0389ff899beb4c3ca9689b412a210eb654f183362ab8398b1e3696df7432be662cbe62666471f2c056504a5c1c91017a6326acc7306524058fd0937ddeab972b00734f60d065a1ba8655dba3093d161b99e698fc778b2fe782fa8ec7c62d422e17b24fd107b87a8338ae7af6994c70d959cbfc3720b3174b9658f5d43713cd47325eb926320073f384f04e6831435524b686f2cd377c18363f8e554dbe6af09f93c2ff2a1f4a87159472e7d7a4db9243a1c6a636ad50735b870f1297b6d6b5303e2552a54aa5991340aa40301ca2d6bd9a765b72fbde1c3c44a7649ea350e00cde59628e06acad29888c9b73cf0aa65d44b60f086c21c6abcbd544295317b55ea9ab1117989ab7b7304304e5612119396727943678c31cf2b1779c946b82420a557a8d6426263d33c7f71591c7857e90a7fa05158e315ae19d1046249b3011b22291cae30501d1423674824b852c34c97258ab972af6c5195ffa20b6cf05ba0498a529756f173349bec8c180869293c5967454d01cb3c8edc7a3a776dba54c37513727a69caacfbaad8ec4a529a1872ca25cb4a99c38b225e379ace27485d8b91fef9ceb97c04322b59f533745d23720ae457fa11b3a0b831de777d07f88ed1771fa1d89db9acbc7bac471bd423acac482bfb29de13881aeaaae2f340c1e747a73b9071cc551ea59b03646b65bc2e6e04875754a77025985a026adcd321574ab45cda47134b560219338fc93b0a398d7f85169b4b32c2ec3a06529f8e3a57fd353327b03f87d5cb60c67074146fb460476c92619d9c23ba7a371fd9425cfc6486992959109cfa1c1a75ab9eba4235af63c6f8648ae7855a4eab5c9d3923386996181980b16b02a53060e5a64a8cf3ced087bbb49b9264faafe731c0dee965ac981965a28ff907ceabac477e2c9b6dc95aaeb0531cbcb65d8b3f6251be17ecaa89a5b57c1198ea66af1f4461b91c360e4531c4d49269896107f10ed1f1070e68cddb2a4e06c387f3126087a71a366a250b450be1567dc957bbd034b66ab65fd4eab2d89b8481ec2427a4af3c1b861c799263f492779053a0128508c86ebd6201c876bbe8ab8053b790314047a1901c9f327207b2130be5bce8504bb03817a380975cd81fe0c0416986a7b74a16a21146636abe4d2b2c5c1223d39265a6845804d49e5f160abfe3ca21a345b5d044afa5636c37b976f2894869bf4500c62ae9941b9b3c3e6064fec351268243fd75bf287cae8aaa9aaefc1cfba1032ad2623a6239a7f834a4826f86132b59ab24efc9c57cba929a64ba90271b987bc08a913298911650399429e9bfc40742df735f7cb935eda73a41f96caacbb34324b29e64348c6063aeb0bcee9066028b3340aa147b09c42752cfd6d491ffa497e17ab6c0726aefe59c2577764a1a996fd879e58c23f1c0ac9e9372b3f0be42c829b7b09acb722e3189a2b3e72124895ccab565dae583c6c76c34c2c0075568379639869325f6e92e0b91a2d4100b2f4aa6486b756cd521e1b781a964a21b8b0c72637a2e4299fe15c1ac275fb077cf42f36453e7603c91a648e09cbf128ed188639b7247584b333003a2175bc587925111654f24680c540b32643b035ff38bb4598785524504ebcb26163d513867d74744c8b562bd48989b3a328374a125ca05fa962ac08b0d22277e578206a165a9e3d31a084b4492c664448aa62986b55fe8c8420816a5a9c035644f592969fd0951b6e9aa57303d1f9927ff6b3de99263e2e11cd8317cfc899a45706746e9850922b9a4f9cde515623f3c48b86379c969969934ccbec4bea3e9796889cbcc56285e9a85f0b3471bf9692f3c72ffd945089b9a262ac1a8844c38c807f7274708aa0587f94a107089a99694fc627291c30fd6b0430eca692db54a96019eaf89635cf54f579a63048070b7f32dd2c32a18e2b7e8400344412e9dc5943bf3af11b4aa6c328499da7c220670958a22bffc89b8f0091c8665b6605571d8a1b5c934ce4686c7c047ae416bc6e39b7ccc92cb076de94001374217e9b8820354351cb377b4f06b7fbb69f64c7b48f781ded2cfee998718d875eb94866e7c5135358ea4ec92849978438c77cec1ba1803bf9933c8856657c953125eb76014bacca8ec9be6290936130d166b187e1463e55cae3ad85e96e81bc574220ab0cd374aa1f657abea849259b4431f1a00ee59b35486beb09302bf71b4c2e840963333b4a3be37f8048d42a0f67c886de9b47611555495248ad4c587577d45775f52135518793ea14582bf153c74210c36b9251609a4b28559ade5a93203725a475971b92beb88a69357bf83f384577cc1dfb62c70fc65401073c67a66af878fd961bacf46c633e7cac0e5092458cbba0c3b69494c4c0c0da6025cd6516c1ab89b3216bb9ba123040051563610251974a0b11be7190504522a128ca3107938f5b18e4441b52f7944b0e54cd3946c57e7ae3475bec06791a9f5a83eacbb12f40ac971cb475610a0e6c546998dafe5c2ed852d7715b3dba61b94849dea30e28720bbcb90c7af7feb0af619a0cf57d173405c828dab879de09b58d0fc7ade140393ffb5343abbddabdc118fad519b14436a964c3e3a1bcd39c74c1b899ffa21a6fe100804a551199d32db4a75e6314bfb58f70e +m = eec1e23e58387ea5247e118b6204176e01c8fde4ebf069f4b1a460713b5d5fc8 +ct = 5f5eba019340717ceefa6dfdcc3e1f9bd574615fff6a22a04dff4dadf3495a0ba0e36eb96f68ed803cc27e4b585f1a29d2604d41ea48c5c57e6cfbc1f192dbeae2af413893cf9247f2110068fe54d45024955f53e9f7caafa6ce6062f14fdd118f9f50f08e03ffce928625f246df6e295701d68009abe021b3980119325d9d643b74e1f59441821d89590820e759179f1572e3852099652bec299c2658e0f421c84362077d962a2456894735f8ba17e01aaeb3530b4a3563f11f24e7c168160981e9570fed394b5f831baaf1330180f33baacc82dcf1d01f12f8de83fda7985e024a6d86e1e4d2b4c5d16659a28b7d7dba1f169138c327052be90e0831cfe40098b1e5c628ca39c1b6cf55352e9e86ccf1e71ac2a1580375bc01375bfc13db35e1a9b4cedd171718a5a7075b6949224215027901053abbfdd7c6dad93513cbf527dd1f434eae116c598014c016212d2fc1f7d135efd6628d66b6f218ba6a015cecc346ef6ec19881f2938e808597363b2727b56029d3a8da7eaa4323c07598b579ca4f31ba0eff662ca695d15b8887aaac844e5fbd485493cca8dc24713f49f8fc5a0496250a9ac8ce238531572a8f85ab15fe2dbd70e3cbda4d10773d49320909f24a4db226d5219a2d6001a338ebc6e102731a2ca5afe904c57bbd0b066abb14b4c26140b37af78b2e9c88e3348ac5bdeac65d22bb5971dbca83672efd509ac8ca5f7db02405cdd35e3a24bf23ce5001341058409aa0089ef70d7953dbb679254b8100a1700f03c72501f43eb1d1d5f35b39ad4fcf636c3489dd50823a7883f65e892bb78629f8cddbb27772adb7e4d4df5cbb2a3bf8b5013e8495e613f14d2a580568ed474062ca51b308eb187d315d20838b20f2338acee81ad6ab2ea7b26656dd289e87e2b99fb0e1c339481a1b164116428f4220cbbc4577103571da57ff0e11ebaffa55b6871639e13dfcbd8191fe83e6b5a4e276e3a86128b3c703c8dbba5f0ac0be8080ab93335472299547df0a1a25617909f1f7a8d6d9796b5f790b89a41a504e95b8db89a3d1192e34b9f1a654214bcdc98c2f20ec94d2b704352e196f73c1a7a526e2e10678fd3417d7a662a8a993850e1f903e85cc5abb8a13ca0cea263dac3e4c3911a56cd439dff978d1cbfadbfaf828d45c4da2fb5f5e6e0c910654298a03500662f9a4efa5e26b74008ccd1e78b0b879aebd3ca35e2ac898ac070ad60c7e15107a5b2e5a587e06960179319e6a0b14f25ddc4338b4c3dcdb2c288df9186ff7abcc4ebbf9d018a9d98c21f4f7266f8f210da4385c42738bc75260f4b496f82c67990d12cb5aed10f08184dd94c6a1af42f8e8d99f5b014c6d8666ad536926366db3a146b12793ae2480dfac7e7ade569aa3a4717acd44b36b926e15bf0e3ee921233ddb6f3fcb8569d1ef0a74e2f851d2dca7013747d361627b98269c35c71e39fb24d1a02397701d9e81d4d6c793dcb777ff6be9bd25b33468c8e1f14a2a39b705f0db73332246b82b01becd0bdb42329faf684c3ac61a +ss = 6aa07d31caecd34b786845d20e24db069d24b6301a8e90cd2bada69023b3cf48 d = aa6dd1e5799cdf7af9c4fc632b3eb9d51d66e85c8e0a21ec98664fc51ab63c7d -z = fda268813efab5204efa60f78bf81d320d01ac09ac06244f7afbd2d80fd356d9 +z = aff7ecfe33efe4042a44f2f801170616925be8cca1bd1812a7335dcd80f9cf14 pk = bc962535672a8d77c9eaf9726cc1a8b8d87d61b1461f33b7f7f5a003a8657297cd100324fea561ba879ffa75287d9a838275734593abc2b842d9353906334d3f9324c7d00eed794c78310421db45cab6900817348d67490bf1485e85a3dfa255694915d286ab5243b62d3a91f8493f0b19626fb89c0b9109c6e1084bd8c848c06b3472a65a2646dd89be2d922a0d2c5e816652c826854ab36f44809ee56c9f7e26a1dc30823535997a05255756704aa1029b86601e2853c2d34a192a9b2b76b31c69c1a048a76a6a58e48bc8e512b1c767347ae28ae046076c20179d0977d2d54a3f78add2ec6bc06071d9447f0461846fb1a5e91a760112424082c2994a98d07aab29e818fd15134de437c7fbc59469ce8ba80545a4a5bf337fe142b72e602d8a1b3009cc95975759ad38274e234aef0552b8aa65cdfcac975495a84c124f8426a9c87d8db03ce48b0382642cb9e31ce210b774724912b09b16d88ae007ac4542c092f9bbed9c262d823d9d5719b357821d4c245f384fc923cd334b9dff579e324a0bcfbcba61fb7ae9f69b3ab88693e005ee32bd1a6a3ca950a22421125391a060276b07242a795085d0098906969c421cbc469128fb5393b72590fd391dcdfa3cf87b9f7a4c6cc3a1791ae1717478a5280a3b7580bbedf88f0dd7c1c09aa67d6b284334049398ba983bcbacb8c56237bc3efb3fbfdcb358a006457832df7a01efd937e68b3299580cbe1c9f69e165d22683b3721e4189adaaa91846b7717d41baf8d9a1dc76c387f0b55c2552533326597466ecf06aca624fbf73226e471d835b0ee4a24a8f1c5fbe359c61d974a4d57c2f7c49822286ca27116839b784d6782c13b606b87804ba0969c7c47c7a29ce16cecff5514028c3d84944ec8cab4b4acb5b681723511087e25b8ae84f3741a2de6cc21e7a370b35c255c34555f29645d4b420494c4d993ba3f092ee240f1d3691753420891acfc9421c361ca2186b563ed63456096227eaa738a33ab56029976c1125dca790114aeb83aebcf271ed59bbc2e8377301b53d697cfabb4c6b40bae19b6cecd421a1109f9cac7b71c749e60a2005a30179c393d5033cb4f8795de4c98d91538fb9a8cb1654b1e6a82918471470461f54cc71fba50deb3e1221c55aa616ad5262e352adb7a89ca04557a2090fb05704b9521809b8cabfa325892ab46765cee83850586918422212c812373a1c6217ba890b4c5310f7b0d5d8275b884aa9e4914c85023ab53bea88ad4281a7f501a87534ac1d806b0f8691e9f1bc7171001043015b391cfac09b5fa88f840c63194632bd5a012b34b50441ba08c879c44654f136cccbb7114f7b4099016e0193cbbae63522927df4b740b3ca5b32b741ea15a47370b98926a1f90618f5235357e8087443c93444803dd22bbdd5340c876d41f3ac1db59e9ef17db71369a315600fc6801a54483fb015ad3766284a97cbc241ad73461f4b2a0f6645ef428805762a6e57474d29288404ad98fab63ae95e25436626bc66ee10c01e55103597288ac521b463886f863833948455319d3455110b68bf7bc495d1a922191a1a230a5f036c3c4ac05ee2609d09891ce368c01f037d818805a566193a433e924b30f4e86dc76ae2b345932a0e7025f8ce6101884469e31aeacaf4d77e3f1201bc75 -sk = fa198bb15b4278509dc232002c75a8bbf1853c474c8248b5062821e4d77fd5880979922016d17377f76a89ab9477a1024c9780fb728f6df3295666828143c52fe817b9688c70eba292d2716ab4970840abc4603f597b5fcdeb0144813602242625a067ea48b426738dad0ab986369aa5326dd199c72212c59ab20c8f63429683721a2c682c5aa853b86542698732ab86fe39c340db2d452286fdd599336b9923599b66c144c0c7848c20a6979133fb7b5efa3726a4f44389cb93d6a9c1b7e300cb852698c236ac00b2855861c88bad062a25423362c7774c1626834ee59880762508fb518f926a3f475d01aa8e5c8c4140537091d494af66b0e9426359032a2264af67e63541c2408b1853f87c68c28c8c13417f94d77f6ac3315f23405c233e14f7762c152609ac34842553de175a6fe1c08b44baa9d15cf09a6049b05b69f71df322171701ae91d050778a6754e374878169181a2e1336677889318cb54218ac055491b918bc2553023167151c98b30e1340403e0c59b3252f4d0c85ebac1877798c41aa43c5c7b738b7ce116428c049370ba6665be646b3125aeb947b1f3b2ec5357c7566c13eab148c453d6b2274a9295a06c822df9222cb2026f19603b5602d08d46d4c71384e776af2a441894826e4559f5975c586e47bc0236b4897622ae4396160334cc97aca101805814ae44786d1e445147a4728275c32554b9bd148ae9605e10c5a6b556704f1c17297a32eb311f1e92ee5f160e8522e06554b93b5c796e44086e75d236ca88ecc533c3b348091891e35639bd6cbdb3a408720b6e3a328c4268454169267a5c5348703c412c58846c192e0a162014600dbb351424fa8d0599775bd2d851db4b07438f655aad6402628563db3a435f75d440636cd64041de162d178c923490839f190f106be0020ab63e7b3eb718a4fb59e01057c416c330cc26e485a6d9c72b707da0b297c0a25247d26d40f044844c2db883a5bbfc2b06f1bfbccc6d10b65c9bdbfb806d7a04cd71774dd60bc423c1dfa897a0512365cd54a90ba6ac509298bf6455363583843925281aa405c291f11695cda995a9ac5f742351560b38f8720d66327b4dcc47626744241679247cbe42695b8d81c37c718cad53d1b318f9f900757267c43b982f26639901028f8f636c35091f1ca90a1e329d5cb069a918f45a078f33ab4dfd248390627926aaddff47ecef1718b2b048304cd40e72fb0872b6207856a61bd764034e82bb426747405e1ae5b93c63cb12c7bf09e47e27117d26acbc102b043616e60b714316dfc17306a77800ee87e03e4b74759794ee6943dc274aec1a08197a841e68f258202b1124803064f6e3295dd51ad18949a5a383a81363bb00118a8569a38d138bf8835362c723e999402d3cf728b0e11f647ce2b9390615b9e50487e23cee6f9cefc4a1ce5e83d28d642e3c16934b43931158ccef3832a457a5e833f317918858807ab084f687a394c257abcd8435cd717d1e6b79e78a37bb71a236729839b89a9905b5d935afdc2c1e6c71c597898c6a69765ba05e9784b7849c685ab5b6de3358c6299d8a4b075045d6ee15b639601aa95603a67378157b54889c3021453e373208cd06c0deb77bc962535672a8d77c9eaf9726cc1a8b8d87d61b1461f33b7f7f5a003a8657297cd100324fea561ba879ffa75287d9a838275734593abc2b842d9353906334d3f9324c7d00eed794c78310421db45cab6900817348d67490bf1485e85a3dfa255694915d286ab5243b62d3a91f8493f0b19626fb89c0b9109c6e1084bd8c848c06b3472a65a2646dd89be2d922a0d2c5e816652c826854ab36f44809ee56c9f7e26a1dc30823535997a05255756704aa1029b86601e2853c2d34a192a9b2b76b31c69c1a048a76a6a58e48bc8e512b1c767347ae28ae046076c20179d0977d2d54a3f78add2ec6bc06071d9447f0461846fb1a5e91a760112424082c2994a98d07aab29e818fd15134de437c7fbc59469ce8ba80545a4a5bf337fe142b72e602d8a1b3009cc95975759ad38274e234aef0552b8aa65cdfcac975495a84c124f8426a9c87d8db03ce48b0382642cb9e31ce210b774724912b09b16d88ae007ac4542c092f9bbed9c262d823d9d5719b357821d4c245f384fc923cd334b9dff579e324a0bcfbcba61fb7ae9f69b3ab88693e005ee32bd1a6a3ca950a22421125391a060276b07242a795085d0098906969c421cbc469128fb5393b72590fd391dcdfa3cf87b9f7a4c6cc3a1791ae1717478a5280a3b7580bbedf88f0dd7c1c09aa67d6b284334049398ba983bcbacb8c56237bc3efb3fbfdcb358a006457832df7a01efd937e68b3299580cbe1c9f69e165d22683b3721e4189adaaa91846b7717d41baf8d9a1dc76c387f0b55c2552533326597466ecf06aca624fbf73226e471d835b0ee4a24a8f1c5fbe359c61d974a4d57c2f7c49822286ca27116839b784d6782c13b606b87804ba0969c7c47c7a29ce16cecff5514028c3d84944ec8cab4b4acb5b681723511087e25b8ae84f3741a2de6cc21e7a370b35c255c34555f29645d4b420494c4d993ba3f092ee240f1d3691753420891acfc9421c361ca2186b563ed63456096227eaa738a33ab56029976c1125dca790114aeb83aebcf271ed59bbc2e8377301b53d697cfabb4c6b40bae19b6cecd421a1109f9cac7b71c749e60a2005a30179c393d5033cb4f8795de4c98d91538fb9a8cb1654b1e6a82918471470461f54cc71fba50deb3e1221c55aa616ad5262e352adb7a89ca04557a2090fb05704b9521809b8cabfa325892ab46765cee83850586918422212c812373a1c6217ba890b4c5310f7b0d5d8275b884aa9e4914c85023ab53bea88ad4281a7f501a87534ac1d806b0f8691e9f1bc7171001043015b391cfac09b5fa88f840c63194632bd5a012b34b50441ba08c879c44654f136cccbb7114f7b4099016e0193cbbae63522927df4b740b3ca5b32b741ea15a47370b98926a1f90618f5235357e8087443c93444803dd22bbdd5340c876d41f3ac1db59e9ef17db71369a315600fc6801a54483fb015ad3766284a97cbc241ad73461f4b2a0f6645ef428805762a6e57474d29288404ad98fab63ae95e25436626bc66ee10c01e55103597288ac521b463886f863833948455319d3455110b68bf7bc495d1a922191a1a230a5f036c3c4ac05ee2609d09891ce368c01f037d818805a566193a433e924b30f4e86dc76ae2b345932a0e7025f8ce6101884469e31aeacaf4d77e3f1201bc75919a696301240cd6129f66be58e19d99b0d827d9932785cd9ea3d92f7ba54463fda268813efab5204efa60f78bf81d320d01ac09ac06244f7afbd2d80fd356d9 -m = 17fc65f7fbd7c75ceec421dee84dff5a8cb22764a182db17e0ebe857f54d60eb -ct = 11a268db2bee6743849f2492bea30b6c7458c3aa74364bcefbc00502e30bbc3d38a6b35e56f73c84774660d3db94f1224715f9ed1dff8b76e7d714c68d85f5681dae7e6928102ea340fa3d892d6e0b22c7ce2d4156bf0b68a63dd0390b49856e397e063b14ac2ecd40cfdb807f794b258f2893b4626a7d1a6a2b9cd1f1d3f0d74249e6ca9ecf42e527f11e1af6d4fa34df25a1e236422f83965a5535533bbab735114794a16a3378a7e64c86fd33402c4e1a5244750ebe3ae44086134b25c7317a60b1f0989d12348618c1bfa05a9e2a9b34b500637dfb96471186f63ac4cb7407f2c636440133b30b8d9957cab6585d71eae68cb330431ae66b334b3b90a299e890852a785fcf51b772e3c0fa0980d89b51ade1bca47f6f53384566f03a0f2bbee9fe38931f593401c4a14d9070b18ca7a905c698063a3080256619819b593bfb31fb7cc643d073b166f5d41482041871ece479918f1f1f121f55ee63a2d12a581e839436f3e4cf5c338518f84bee8fc08bff8b107abebacc3ab9ffbb0d922d9ab1c0efac50d5c82f458968413702719800db5af2ae8da624653889b642f09abb3ec2464ecf548fb8ea1aed42318efc9aae51cd7ea08883c1546ae0d87950b9bf49daa72f3006affcab882681c8f6dce038ef3c7653c7d91e975edb5b6283ca48a93ca55f84027ccae22a666351633a4414df8fdec7004157a174a38811351bae1339d897fde8bed32d491b88648eb022577f16c5165d1323b7203030b649e89b07571933af62b5f2764a05db9842332ad171b6a7968f87ab14809d0a5c11ea8541f733677aaa809979f4f389201f27eb240f378bcfa6d5ab63af483ccea73eca4abe515810d89c8e472cb7becd19ebfe54d70cd035fbab8e87af97e1396ab607b64a752c869a92214581e0ef343305e1174236d26fe10f36810872b08268c59385d7b03a5d3389f5f840e65c12c50c576d4d99072929f378ede448a5aaf01cc582d4692c655004c561e4a653120f9a3d27789d63ef5ee62f340d2fbcb72728a64d3fc0c04f19c7675a80a1001889f7c2a8fe7761475a26018573f9b079b7c770a3b0dc8193f1c86b29483f0725d3f52a1c9d7004af1dce7794811f98c1bb8320fc3af0995989f583a4f6112fc00b05d1cb4ebb1d8a40f8f99a8085b28deb6129aa524df1ab6613af704cca378525719c71680e189c19e8e49157f29e2289697da776b4edc11502b75ff7b62bef945e04a195759da9522f9cda1a3f8decfb227a734a7d16551e57659b7aa9f9c5d27c67f02fa1ecd003446b58ff6912b274b22adcc05048fd7cab9e151b933a641e2441d841352ca90c2615058ac1206101a3ce973609ebe82f3fb0443c96107e52e6346b68f248626fbfeb726cdfd3f103a1e2e9733ddde3e2d6a5d5dc482657fa26ebc2d5723e6506f1624b745380f1a515fb6498a2aa6bb79681bac39242c6adaf4d02571eeae7df7416f833d74ebc0929d9f7b53a439c185b9c8d50e2bb9b81f3562a56b756929fa9df3ca7906a28e8cf -ss = ef8de288a7ce14ccd5172a4a2f91588559e3780a75b1df329a53b1e400c4c7f5 +sk = fa198bb15b4278509dc232002c75a8bbf1853c474c8248b5062821e4d77fd5880979922016d17377f76a89ab9477a1024c9780fb728f6df3295666828143c52fe817b9688c70eba292d2716ab4970840abc4603f597b5fcdeb0144813602242625a067ea48b426738dad0ab986369aa5326dd199c72212c59ab20c8f63429683721a2c682c5aa853b86542698732ab86fe39c340db2d452286fdd599336b9923599b66c144c0c7848c20a6979133fb7b5efa3726a4f44389cb93d6a9c1b7e300cb852698c236ac00b2855861c88bad062a25423362c7774c1626834ee59880762508fb518f926a3f475d01aa8e5c8c4140537091d494af66b0e9426359032a2264af67e63541c2408b1853f87c68c28c8c13417f94d77f6ac3315f23405c233e14f7762c152609ac34842553de175a6fe1c08b44baa9d15cf09a6049b05b69f71df322171701ae91d050778a6754e374878169181a2e1336677889318cb54218ac055491b918bc2553023167151c98b30e1340403e0c59b3252f4d0c85ebac1877798c41aa43c5c7b738b7ce116428c049370ba6665be646b3125aeb947b1f3b2ec5357c7566c13eab148c453d6b2274a9295a06c822df9222cb2026f19603b5602d08d46d4c71384e776af2a441894826e4559f5975c586e47bc0236b4897622ae4396160334cc97aca101805814ae44786d1e445147a4728275c32554b9bd148ae9605e10c5a6b556704f1c17297a32eb311f1e92ee5f160e8522e06554b93b5c796e44086e75d236ca88ecc533c3b348091891e35639bd6cbdb3a408720b6e3a328c4268454169267a5c5348703c412c58846c192e0a162014600dbb351424fa8d0599775bd2d851db4b07438f655aad6402628563db3a435f75d440636cd64041de162d178c923490839f190f106be0020ab63e7b3eb718a4fb59e01057c416c330cc26e485a6d9c72b707da0b297c0a25247d26d40f044844c2db883a5bbfc2b06f1bfbccc6d10b65c9bdbfb806d7a04cd71774dd60bc423c1dfa897a0512365cd54a90ba6ac509298bf6455363583843925281aa405c291f11695cda995a9ac5f742351560b38f8720d66327b4dcc47626744241679247cbe42695b8d81c37c718cad53d1b318f9f900757267c43b982f26639901028f8f636c35091f1ca90a1e329d5cb069a918f45a078f33ab4dfd248390627926aaddff47ecef1718b2b048304cd40e72fb0872b6207856a61bd764034e82bb426747405e1ae5b93c63cb12c7bf09e47e27117d26acbc102b043616e60b714316dfc17306a77800ee87e03e4b74759794ee6943dc274aec1a08197a841e68f258202b1124803064f6e3295dd51ad18949a5a383a81363bb00118a8569a38d138bf8835362c723e999402d3cf728b0e11f647ce2b9390615b9e50487e23cee6f9cefc4a1ce5e83d28d642e3c16934b43931158ccef3832a457a5e833f317918858807ab084f687a394c257abcd8435cd717d1e6b79e78a37bb71a236729839b89a9905b5d935afdc2c1e6c71c597898c6a69765ba05e9784b7849c685ab5b6de3358c6299d8a4b075045d6ee15b639601aa95603a67378157b54889c3021453e373208cd06c0deb77bc962535672a8d77c9eaf9726cc1a8b8d87d61b1461f33b7f7f5a003a8657297cd100324fea561ba879ffa75287d9a838275734593abc2b842d9353906334d3f9324c7d00eed794c78310421db45cab6900817348d67490bf1485e85a3dfa255694915d286ab5243b62d3a91f8493f0b19626fb89c0b9109c6e1084bd8c848c06b3472a65a2646dd89be2d922a0d2c5e816652c826854ab36f44809ee56c9f7e26a1dc30823535997a05255756704aa1029b86601e2853c2d34a192a9b2b76b31c69c1a048a76a6a58e48bc8e512b1c767347ae28ae046076c20179d0977d2d54a3f78add2ec6bc06071d9447f0461846fb1a5e91a760112424082c2994a98d07aab29e818fd15134de437c7fbc59469ce8ba80545a4a5bf337fe142b72e602d8a1b3009cc95975759ad38274e234aef0552b8aa65cdfcac975495a84c124f8426a9c87d8db03ce48b0382642cb9e31ce210b774724912b09b16d88ae007ac4542c092f9bbed9c262d823d9d5719b357821d4c245f384fc923cd334b9dff579e324a0bcfbcba61fb7ae9f69b3ab88693e005ee32bd1a6a3ca950a22421125391a060276b07242a795085d0098906969c421cbc469128fb5393b72590fd391dcdfa3cf87b9f7a4c6cc3a1791ae1717478a5280a3b7580bbedf88f0dd7c1c09aa67d6b284334049398ba983bcbacb8c56237bc3efb3fbfdcb358a006457832df7a01efd937e68b3299580cbe1c9f69e165d22683b3721e4189adaaa91846b7717d41baf8d9a1dc76c387f0b55c2552533326597466ecf06aca624fbf73226e471d835b0ee4a24a8f1c5fbe359c61d974a4d57c2f7c49822286ca27116839b784d6782c13b606b87804ba0969c7c47c7a29ce16cecff5514028c3d84944ec8cab4b4acb5b681723511087e25b8ae84f3741a2de6cc21e7a370b35c255c34555f29645d4b420494c4d993ba3f092ee240f1d3691753420891acfc9421c361ca2186b563ed63456096227eaa738a33ab56029976c1125dca790114aeb83aebcf271ed59bbc2e8377301b53d697cfabb4c6b40bae19b6cecd421a1109f9cac7b71c749e60a2005a30179c393d5033cb4f8795de4c98d91538fb9a8cb1654b1e6a82918471470461f54cc71fba50deb3e1221c55aa616ad5262e352adb7a89ca04557a2090fb05704b9521809b8cabfa325892ab46765cee83850586918422212c812373a1c6217ba890b4c5310f7b0d5d8275b884aa9e4914c85023ab53bea88ad4281a7f501a87534ac1d806b0f8691e9f1bc7171001043015b391cfac09b5fa88f840c63194632bd5a012b34b50441ba08c879c44654f136cccbb7114f7b4099016e0193cbbae63522927df4b740b3ca5b32b741ea15a47370b98926a1f90618f5235357e8087443c93444803dd22bbdd5340c876d41f3ac1db59e9ef17db71369a315600fc6801a54483fb015ad3766284a97cbc241ad73461f4b2a0f6645ef428805762a6e57474d29288404ad98fab63ae95e25436626bc66ee10c01e55103597288ac521b463886f863833948455319d3455110b68bf7bc495d1a922191a1a230a5f036c3c4ac05ee2609d09891ce368c01f037d818805a566193a433e924b30f4e86dc76ae2b345932a0e7025f8ce6101884469e31aeacaf4d77e3f1201bc75919a696301240cd6129f66be58e19d99b0d827d9932785cd9ea3d92f7ba54463aff7ecfe33efe4042a44f2f801170616925be8cca1bd1812a7335dcd80f9cf14 +m = da9c015b918108c1596309fe0042218de4c31900b8dfa6c1cec28ad10988bbc7 +ct = f86702ae13b846a0a6757f591f92c2e87727718019f6d94c79a8367f758720d9c2ae669f9f8dd60465e2bdb0e90b1052cb33b20c12fc7bd7003cdba0721881b28ba6acbc602717a080f80bbe2b46b3b6d059553fae7922c79ec637bf830949c4cf1cb987ab82cef75c964b87f9844a76177e28c3639f0e5772c40d9a005e56783a9a021ab319f2af1de5326acb117faeb28d541a4641b500a75ca7dee61738266297479d55ac616d367ba7c4bba9bcc33f18034bc719fb6454532fe478c789a4ca3e785b83387e7cafee85bbf15769de3819599444f324f045bc63380704a4b6cb454c4f4c198108d55441fd99ba54b8bbbbf70b46d6bb6e290273b734a383811df907390f876a3c3ed9af0938717c57c561b4f8f4dde282f27da9f6027f36b7e6a3e9915a66cd2545a04fdc7f4949188dee15da9b00e765748c9b814065c8805d897028d59d119b6e0c3a1528f8c258ae10eb961795549a47d064921cfe93d2484ad864147f567cf8c212983530d87c4b4e4afa409d0888283ef932aff73f8884ae34ab1c377695f7cb32bd55f7f9e9de3e97ca311bfe82a3eb66bd059dc1802b1e1a8cff0b76694dc738426147985ca8426de1b2d49e9727e1389ee153f0baf265352e404423b87df38ca0a0edb7363c8c2095ef98750e0993fc80c693d96ea190ddcec7442d24a9b5bf8b3723363422f218ef9b5583f1abefb5cb344e7f15ce2b88549651cba704d6edfa597caa117d3f066a66924ae9ce82a41cfb58e87f5d63aca47bb4fafba80743d42153cbaedf26119cde20aa1179b1fafec657370bfe27383c53a8bfb0cca277b346ee6c4ffb926f8a8026fa65adf81e58d238f2ed7a0d9cf261bda392b25b7c26ca9c3ab38d114d843336a5cd110fd09ca1366c14f0b0095c0308aa12c375df360a2f36ea5191ebc05191b80e32b3de7b80676b91283c83a42e53cf923333295c0353ab9455939cf8eb5d57defd48032af582611e55391321fd04c2da9bcba3a8161471f99514f9e85e490e89b304c743544669070d8e7b6d6ee08b9685a5a9e70bdea3d051327f259cdb7a3e449473d5abb57321bf2b6a28cf0213375185a00cd21a676b6102b64b3c8cb243dbf7407cafb22cff983bcbb0535cde380f29400505989a9e68c4a2128647c42474bc7c26c1c73f881ca1f8d148c28bc193d59bd9b60101cccaec97d27ecd1d16b5ff277dfe771226ed0075ced124c3c732f4f57e969e8e076865e44c4a7e683febec4e73ee78736840406e6b658b2e516752848d4f11462035c6700e8fbb1abafabb1fdce53d53d60c97430fe3a3ffc60af80d9866799a95076ff8ace6209e3fdf9c6d4679a7d445b3a0b9039a6da47501a914e75182398eba624eab029cf7be8bf8e5c96402c6600da67520a08c20f74c7b8c891d3a493c6bf0f795b227d90d9764301d42d9fa2c6a835859642c4da1e902b4ded8a8fa8387857b976a11736e49e14e51e05577960e20a391f3eac8fff41b01c3fd525484cf210611f27f73378fc33fabe819519b +ss = 01bbd6a971252d67a10d0ef15fc4a5d2e501a7eab8b6a8fab24702c714714711 d = 195d6c86a3df4c21e3007d7f2768b43c74cb3060e0eca77f0a5d3271542b9a84 -z = ae77e0f9f21eabd8c0c6eea7767f4e10fde5c2d79b8400bf96b19014b457ec21 +z = d375bc4fb24e98f1eaa01e50a588e96a2b26daf9421437313fc7e4b520387050 pk = 28441cc07c18856568c4fc0eddc04175f564bda148788608b71756367551a5709127668efbd60b389877001b948f2c50ce62c7ed63122daa7c1889400a4175ab959d09ab124bea2c9d3659b8b4861e482eded950dbf57a47c87f79fbc143d20420f4162f711963c47dcf7b8ea7faa329d6a70f601d3a1b15a7890804917c84477d95f916a3761e3d94a0b0d69d9b7c39692b7f4acb9091f87583810ccf67bdf86c4be8f08762f2c3428646a3d33df4b67eb87a2662353a208403bf59334bd9758a9439f8d8bdd45195f2255282a73456d168a2b249e8d180d5b310ba828685b3a1daba2fb88783bb5062c13b79c2b0c3a10085664377eadbb477329567d1158882085850b95697248c6271f44988218777d33823ad70791bd40e29825ed124b963e05d06547c740a5ab7a1488e38c464b53b6f016ba1b7648a14aaa111907846c5df162f61cc62747386915724a3b054e868bc04c934d64b7f2ff461aae980fa806cca7a9c4d7255564b420887946f7a72e4d1384d8222c70330b09c08d9a70aa176529f0685d087b8f9eb464a776f93606b05d0729fd2afa7969eec2662ebb7c7fc821d6b5393707acf25c0c2c81702cb195f8cf730e8a46442e91e18fc7577f4aafd6933450491ee24763bf6786d794d889c3005a323cef2a8863c7ae00998d2e3ccc1f5a6c8a933d5d615ce82af312990969c6288b6893c42142ad87ab483362461b87c641f646410ef5b393283230220a34730397188920b6873f16478331cb22a5a2c73273d865985533a1f8e109dbde719c10c8ed87a831ab65562751ebbb15d3d5b6e01f78db26a54e47943d6b31f916a552ed01a39f96dff820765d6ae52265010545162d509f6ac3f9b7c0fd0ecad4008732d6a9df9449b2017b389522f11870704127bc6d018e0a420dd441ebf636c31b3b63da9c00dc15be0b3188371bbc855254217b99294815d78194fdabcd1970e31e38d37b4b1cc69bf428514f50ac9bcca9125e6473028571be535fca274651752dac691ff8a28c555036378b260acb060faba9573b0b65cbc76b892425294d65658f4a1b3309b424c6865bf1ab307b88022087f97f6882d4360ecd91f3d2513059a784bb256e47670afd5c1ad5c177142a2955b082fd0b546577ca5286e0f1c85af8b0bd5650038609e8ec8344e6ccb6df93a056644cb89294fa19266948e9a561bfa66517a900b67f6be5efb853c703ccb4a296a493c24607a6ac4a749361d8f738080a80ca62aaf658b6a972894e6ca402af3c09d2a6e9c181005e0c4d193361859011173bc8b97755fd1085b52808373b29733a7d0488c5f890364abb9716920c074645ae023679bc9c2b3ad29b9051a94a124a43688a1027c35b90f9303664aa37aa92284f97dbcc7ad0f12b5b6ba38ce0a07130110518c74ea36ca6d6a44399a3983101458f926e0bb3357bac5a294446463814806ad1623185f295d27f2c913c9608314174b2bb8bc03a92db6cc6f044d964a7e3e289ea8f064d9b5c0d0eb43357495d09c0fbc4069903bcdc683763bc4c6acc2517b7c94e3e0265029bff55773421bc6143a38f57410bfb50bf21bafec948548a87667d95439bb78cca2c9da670beb4c816478683b5487a4ce6401ec27a1605f879e2d9c53bf27e165246401cad7840a077934b8 -sk = 55873ec8c5bac259501e025faed327b9b659b0810e7d43b8bf7a25a8c1a51062cfbc9bbeab182747196797913398db1c1ca41c1cc3a883400a29797ab4cbb553076c204167aad2208355279f504dd9a476985362898b4e423821cc2642c335c3c953c866451cece03098d5a2ae366ddae1a06e05547e1c0c0667cc98494bfa778eebc5cbaccc3038f93b82e57f814799cb7a921fb14042aac83a1b4897bc6a15c87fc94144828966c49b6cb8f842a3157b60d6b3271c3661529d8a93c7daf7b4de1396308c0cbbfc9f984617cbb5b1825c88bdbc4c74c58ef3d54d089613a6a431e3a59acf4201fbb6828db0061f1bc514dcbfe72023cf8102e9834d5d6bba8a354fe04c6008b37f9b07857cda1238f5a562f288f3217ffd1a1bf8b2a0fcf3af0310c84bd6cd805c246c4a227c9bcf963093a9755cba968e7c06cc4f987b516171461b69e013076cb652c2a0b10f1b0fc9d6b583a929fa3905ba4b6b41f19d862c82b5f170277530a278773fa740eca749c00a61735aa1a27719cfb75eb0768956718239f43239e25a316339db665eb9784ab581137d020b992782956522b824b3ea4cb540a4b12ad7c512046711b0463f779e1279bcd2b7238580c72df6120850376db48978dc717cd1424d0b5e7331b76d0ac0b024c6283c8418e5b1a7a297aa483e5d2a65f2181ede32c69cc4b9a8c4c0b90bb17ec06336d2100766aed931876ce45435b5662dd8a5b9f545292c870a16925546ae0cecacfb737647504ea1a29d13e0bc2d060bf7480345051e9379cfb0f901b9a426641802e5522ff8b199439026b123cf9b5827ffa147567912c46c88cef0b41d9526d227a72262c0e3b3157dc4898e07caebc8038142b5172a799b8a6db0f7703730c98e1957fef13d5d7b2a52945eff5c4337b6cc5004bacbb419ba73568aa357f61c70383447c6015a5896b9c0c0a2f2c7a76d940278d736d6b685f4fb3cc392caac1830b439468b6bc73585b4205751e55103099986308702a477588611a990580d88657024fa6d371550141405a8240109824788675d2546afad54628e93281abccae4eac11d200aa5c40a9e440d9f2a40deb31c2688a3266c9e16b60461087da271a1973374c99693c8111f9d458f92ac3208268078b177c818038305ab421b6d8297063061bb36f1318bb2108163a723a4bfc3c2a25f958f28b2b806a15e4310b8852103843c8ac26c7773084f1f82151c52083e69772a049123027916f039fd08713b98039f3b84cc83a8f88b2c19f48a958a443339a5a2158dfd7a08d11983601a1892a8c1152c602edb1592c3ae555b2ee54c5dc6020c0b95626fc06d85d78120ac135fd369de6b6aa902bb015a7bc3ba13a7391960c533d2f1a6278494e78b6a3c5b91a2b1aa2a0752e5c0a30e33cc86dcba2e3232c98b9aaf1bbdf9e825b15a6dc3a741d43a53eb10ad18e93541e224ec5a952d673984990af0d81577d1bc83b09856794d11707faac63a1e49a799224b51464916bc07f0a69f06f26696f5806e92ca4ada050cda48a9c90635a9c68acc753a711115c35488758a68256a32f4964c431d50c0a8c5053d1a41126a952270a309f69931c32194fd201bc3809db548a000558528441cc07c18856568c4fc0eddc04175f564bda148788608b71756367551a5709127668efbd60b389877001b948f2c50ce62c7ed63122daa7c1889400a4175ab959d09ab124bea2c9d3659b8b4861e482eded950dbf57a47c87f79fbc143d20420f4162f711963c47dcf7b8ea7faa329d6a70f601d3a1b15a7890804917c84477d95f916a3761e3d94a0b0d69d9b7c39692b7f4acb9091f87583810ccf67bdf86c4be8f08762f2c3428646a3d33df4b67eb87a2662353a208403bf59334bd9758a9439f8d8bdd45195f2255282a73456d168a2b249e8d180d5b310ba828685b3a1daba2fb88783bb5062c13b79c2b0c3a10085664377eadbb477329567d1158882085850b95697248c6271f44988218777d33823ad70791bd40e29825ed124b963e05d06547c740a5ab7a1488e38c464b53b6f016ba1b7648a14aaa111907846c5df162f61cc62747386915724a3b054e868bc04c934d64b7f2ff461aae980fa806cca7a9c4d7255564b420887946f7a72e4d1384d8222c70330b09c08d9a70aa176529f0685d087b8f9eb464a776f93606b05d0729fd2afa7969eec2662ebb7c7fc821d6b5393707acf25c0c2c81702cb195f8cf730e8a46442e91e18fc7577f4aafd6933450491ee24763bf6786d794d889c3005a323cef2a8863c7ae00998d2e3ccc1f5a6c8a933d5d615ce82af312990969c6288b6893c42142ad87ab483362461b87c641f646410ef5b393283230220a34730397188920b6873f16478331cb22a5a2c73273d865985533a1f8e109dbde719c10c8ed87a831ab65562751ebbb15d3d5b6e01f78db26a54e47943d6b31f916a552ed01a39f96dff820765d6ae52265010545162d509f6ac3f9b7c0fd0ecad4008732d6a9df9449b2017b389522f11870704127bc6d018e0a420dd441ebf636c31b3b63da9c00dc15be0b3188371bbc855254217b99294815d78194fdabcd1970e31e38d37b4b1cc69bf428514f50ac9bcca9125e6473028571be535fca274651752dac691ff8a28c555036378b260acb060faba9573b0b65cbc76b892425294d65658f4a1b3309b424c6865bf1ab307b88022087f97f6882d4360ecd91f3d2513059a784bb256e47670afd5c1ad5c177142a2955b082fd0b546577ca5286e0f1c85af8b0bd5650038609e8ec8344e6ccb6df93a056644cb89294fa19266948e9a561bfa66517a900b67f6be5efb853c703ccb4a296a493c24607a6ac4a749361d8f738080a80ca62aaf658b6a972894e6ca402af3c09d2a6e9c181005e0c4d193361859011173bc8b97755fd1085b52808373b29733a7d0488c5f890364abb9716920c074645ae023679bc9c2b3ad29b9051a94a124a43688a1027c35b90f9303664aa37aa92284f97dbcc7ad0f12b5b6ba38ce0a07130110518c74ea36ca6d6a44399a3983101458f926e0bb3357bac5a294446463814806ad1623185f295d27f2c913c9608314174b2bb8bc03a92db6cc6f044d964a7e3e289ea8f064d9b5c0d0eb43357495d09c0fbc4069903bcdc683763bc4c6acc2517b7c94e3e0265029bff55773421bc6143a38f57410bfb50bf21bafec948548a87667d95439bb78cca2c9da670beb4c816478683b5487a4ce6401ec27a1605f879e2d9c53bf27e165246401cad7840a077934b8cb6d7232426bdbdfdacd373c9190722e7bf342825f7d829185dcc9120588fc76ae77e0f9f21eabd8c0c6eea7767f4e10fde5c2d79b8400bf96b19014b457ec21 -m = fa0489f3730100609488e951e6aaa15c0f193bc1dbcfcd013bc418d6c507b176 -ct = 7f60d2e6ee01ae6fbb198364141af9a1ac4ba1b161cbdb16b86224fa77129864f00b71aa221dd1f300ba3eafb2694610ca8f27c24cdfcd240961c27cf42d01561ccaf742379b19085c462270636676d6dcc5786e23d3881c83cd5ffd667c017fca1f404a15a5bd368cd95a8fbdebccb9771b95958bde3f65533190c0a758586094ebb86101582dc69fccd7c2c1900d30648f360b4c805f143c8fe201d2de242c66378439cbd304a30c67213f364f8fcbb202ffdcc290e85e8f0f718677ff8cb81d4ab3cf0da5640c5f61b11a240099201d0bfaabecbbbb27a4623d77860bf52dc53a3afb65ed2fcd4e9c9b1d1a996a643140cce0d8b801728ed51bc3a47c9003375d8b19401e1c6841379a45bd2be02a41222c4fe63e19c978d480e2d4e353ab957a1b81b74bbc7655a3d0261c8b2b06f6642ba4a5f8dd87b98b9ae355f57f8a5f978c6372bf594df54dd8bf7650803ee13d9094b3ee86a1c3e2c21e4fd1f143d8a95cce869dd365c29fa004070b0bdb899138fbf1d83eb9f76cbc112016c8ce1118fbdf76c3c907d1d3cae2ba0ba5e419814dadef0887cdc5817ca9c7b050574cf84009a6731136b39807687d3c3d6863c5d780bd6303f10a7d311d1c2a1c87039c17c6668501d572fc9d56b249ed0e95e17851aebb45e288a32a1206c4fa475455309cd3d759ca19c47c0128a95dbd07e67937c0324b4b53bab7402363fb32606387e2c419c0350943c8cb4760c2aa7d2ff9b1392e528b98493a61d2dc6d85cbf9e5759106d6bd1dad276fb3aa45aaf75eb80bdb5d83affd7880371562100226b4e373b421b9eb3032938205012c6c083dd9e44bdfa842e280f03373f6e7e4db5a50b4aa0b34789af9ad051709b1e9abdd71ad733dcc021dfa3a63609994f0fafc5c1d88a39d46f81fa70e6164575321c2ebbb71f32893348af887bad2b1720cd5a86ea3774c1ebd53b15b9f01a4b5542a5f54053107e38ace2594170b81dcd98d1cc47fee808be78deba05491f913ade44b8914d65865eb0eb0f7e02dcba1de0d4b34e70485f83f96a5e41bbc064e3458473f43a70d51593f442ee2bd5b39e2c77c53be83b9188101e3455c513bf4b8f744286bd529da2804f804ce48e864a15f391a6793e4609279ead144cda084f3087678ca971eb22ed3b4b7fb740be0407571f58dde930d895140ad8ea096f06a3e255cd95ad48c4a46b99ff777b16452123a28d73b4a0cc0899c0cdaa1286fbe1c5fe95fa9418b5a473cc6adba14afb06f080a544e49e148e492a8ce4ba9f4b5f781436f8fe30058a46f4d49a44e1fde1b6f07e2a247cd3973ad76d3f473cae88a2bab3beb78bd1875b240b23a901a9ad3f4421e5e355eab0d3e1e197b246eb4f0861aefb55bfd3bb54bf2cd6ffdcdfa0b78baa674130ca2512b7069e7c33903a0a5eeee7af46fafa52dd3f2e952cf909806b9cd2aa6826e823959a4bf03847ba50a4026fa0a72b78cbf6aa7fcd4908ba3bbcbdde68708ec0aec44b1e35c4e9e1eb7f01aff0d9ce48f99ba01d78cee -ss = 4793f705aed572ace61db13bede3900f2538eaddb904988c1f015bac605a1093 +sk = 55873ec8c5bac259501e025faed327b9b659b0810e7d43b8bf7a25a8c1a51062cfbc9bbeab182747196797913398db1c1ca41c1cc3a883400a29797ab4cbb553076c204167aad2208355279f504dd9a476985362898b4e423821cc2642c335c3c953c866451cece03098d5a2ae366ddae1a06e05547e1c0c0667cc98494bfa778eebc5cbaccc3038f93b82e57f814799cb7a921fb14042aac83a1b4897bc6a15c87fc94144828966c49b6cb8f842a3157b60d6b3271c3661529d8a93c7daf7b4de1396308c0cbbfc9f984617cbb5b1825c88bdbc4c74c58ef3d54d089613a6a431e3a59acf4201fbb6828db0061f1bc514dcbfe72023cf8102e9834d5d6bba8a354fe04c6008b37f9b07857cda1238f5a562f288f3217ffd1a1bf8b2a0fcf3af0310c84bd6cd805c246c4a227c9bcf963093a9755cba968e7c06cc4f987b516171461b69e013076cb652c2a0b10f1b0fc9d6b583a929fa3905ba4b6b41f19d862c82b5f170277530a278773fa740eca749c00a61735aa1a27719cfb75eb0768956718239f43239e25a316339db665eb9784ab581137d020b992782956522b824b3ea4cb540a4b12ad7c512046711b0463f779e1279bcd2b7238580c72df6120850376db48978dc717cd1424d0b5e7331b76d0ac0b024c6283c8418e5b1a7a297aa483e5d2a65f2181ede32c69cc4b9a8c4c0b90bb17ec06336d2100766aed931876ce45435b5662dd8a5b9f545292c870a16925546ae0cecacfb737647504ea1a29d13e0bc2d060bf7480345051e9379cfb0f901b9a426641802e5522ff8b199439026b123cf9b5827ffa147567912c46c88cef0b41d9526d227a72262c0e3b3157dc4898e07caebc8038142b5172a799b8a6db0f7703730c98e1957fef13d5d7b2a52945eff5c4337b6cc5004bacbb419ba73568aa357f61c70383447c6015a5896b9c0c0a2f2c7a76d940278d736d6b685f4fb3cc392caac1830b439468b6bc73585b4205751e55103099986308702a477588611a990580d88657024fa6d371550141405a8240109824788675d2546afad54628e93281abccae4eac11d200aa5c40a9e440d9f2a40deb31c2688a3266c9e16b60461087da271a1973374c99693c8111f9d458f92ac3208268078b177c818038305ab421b6d8297063061bb36f1318bb2108163a723a4bfc3c2a25f958f28b2b806a15e4310b8852103843c8ac26c7773084f1f82151c52083e69772a049123027916f039fd08713b98039f3b84cc83a8f88b2c19f48a958a443339a5a2158dfd7a08d11983601a1892a8c1152c602edb1592c3ae555b2ee54c5dc6020c0b95626fc06d85d78120ac135fd369de6b6aa902bb015a7bc3ba13a7391960c533d2f1a6278494e78b6a3c5b91a2b1aa2a0752e5c0a30e33cc86dcba2e3232c98b9aaf1bbdf9e825b15a6dc3a741d43a53eb10ad18e93541e224ec5a952d673984990af0d81577d1bc83b09856794d11707faac63a1e49a799224b51464916bc07f0a69f06f26696f5806e92ca4ada050cda48a9c90635a9c68acc753a711115c35488758a68256a32f4964c431d50c0a8c5053d1a41126a952270a309f69931c32194fd201bc3809db548a000558528441cc07c18856568c4fc0eddc04175f564bda148788608b71756367551a5709127668efbd60b389877001b948f2c50ce62c7ed63122daa7c1889400a4175ab959d09ab124bea2c9d3659b8b4861e482eded950dbf57a47c87f79fbc143d20420f4162f711963c47dcf7b8ea7faa329d6a70f601d3a1b15a7890804917c84477d95f916a3761e3d94a0b0d69d9b7c39692b7f4acb9091f87583810ccf67bdf86c4be8f08762f2c3428646a3d33df4b67eb87a2662353a208403bf59334bd9758a9439f8d8bdd45195f2255282a73456d168a2b249e8d180d5b310ba828685b3a1daba2fb88783bb5062c13b79c2b0c3a10085664377eadbb477329567d1158882085850b95697248c6271f44988218777d33823ad70791bd40e29825ed124b963e05d06547c740a5ab7a1488e38c464b53b6f016ba1b7648a14aaa111907846c5df162f61cc62747386915724a3b054e868bc04c934d64b7f2ff461aae980fa806cca7a9c4d7255564b420887946f7a72e4d1384d8222c70330b09c08d9a70aa176529f0685d087b8f9eb464a776f93606b05d0729fd2afa7969eec2662ebb7c7fc821d6b5393707acf25c0c2c81702cb195f8cf730e8a46442e91e18fc7577f4aafd6933450491ee24763bf6786d794d889c3005a323cef2a8863c7ae00998d2e3ccc1f5a6c8a933d5d615ce82af312990969c6288b6893c42142ad87ab483362461b87c641f646410ef5b393283230220a34730397188920b6873f16478331cb22a5a2c73273d865985533a1f8e109dbde719c10c8ed87a831ab65562751ebbb15d3d5b6e01f78db26a54e47943d6b31f916a552ed01a39f96dff820765d6ae52265010545162d509f6ac3f9b7c0fd0ecad4008732d6a9df9449b2017b389522f11870704127bc6d018e0a420dd441ebf636c31b3b63da9c00dc15be0b3188371bbc855254217b99294815d78194fdabcd1970e31e38d37b4b1cc69bf428514f50ac9bcca9125e6473028571be535fca274651752dac691ff8a28c555036378b260acb060faba9573b0b65cbc76b892425294d65658f4a1b3309b424c6865bf1ab307b88022087f97f6882d4360ecd91f3d2513059a784bb256e47670afd5c1ad5c177142a2955b082fd0b546577ca5286e0f1c85af8b0bd5650038609e8ec8344e6ccb6df93a056644cb89294fa19266948e9a561bfa66517a900b67f6be5efb853c703ccb4a296a493c24607a6ac4a749361d8f738080a80ca62aaf658b6a972894e6ca402af3c09d2a6e9c181005e0c4d193361859011173bc8b97755fd1085b52808373b29733a7d0488c5f890364abb9716920c074645ae023679bc9c2b3ad29b9051a94a124a43688a1027c35b90f9303664aa37aa92284f97dbcc7ad0f12b5b6ba38ce0a07130110518c74ea36ca6d6a44399a3983101458f926e0bb3357bac5a294446463814806ad1623185f295d27f2c913c9608314174b2bb8bc03a92db6cc6f044d964a7e3e289ea8f064d9b5c0d0eb43357495d09c0fbc4069903bcdc683763bc4c6acc2517b7c94e3e0265029bff55773421bc6143a38f57410bfb50bf21bafec948548a87667d95439bb78cca2c9da670beb4c816478683b5487a4ce6401ec27a1605f879e2d9c53bf27e165246401cad7840a077934b8cb6d7232426bdbdfdacd373c9190722e7bf342825f7d829185dcc9120588fc76d375bc4fb24e98f1eaa01e50a588e96a2b26daf9421437313fc7e4b520387050 +m = 05874f9d5a2e9133d385f3326fa925129dff03359d78b0d07ed78fd5c1307800 +ct = 64896853f9415ad4a3457e9b23b20c105e29d48905a9e302c73b4d6131139d90fd24fa74c236e17b88e99e8ee53b1bacd2cf0a894b11477227075e136aea82fedbfa08d34f4acbe01fd5b4889ea3449d33ae78f3878885653783721423ab71ac377e1e0887a5d7b86685fd3bb5ca671e1f1655722eea33d0ddf04ad6d39d476e6eb001f5970c78f495f01feba6ea3d2b0d6ca11e4130ef8729a836a3321dc9451915770c6fcaca50f71003dca19dd9d789fef1145b10a8c0f334a268257058be45da58d2e35a7e303e0d28645dd4b0115073919f0cbcafbce6906e8c36840f8050297f1d6b48cd92ee268f582be8c151f10d37d0a71df4f47d3c9be532ecbb7713c29a2442e98e54d4e4360311393af40f8b95242d0fd733ac76df604d0627efe49b4e1d708c9f39d74ab4086aa578d4126c7b30635d9750d4e2d7485c1ab57612ebeaa4e8e0e6e3898b1c23d53f46dbd736a64d962d3773df9b1091f095b0d87d33a0f3030d268eb660ae82fafe36c337d6af289235af01d7415323bfa183f90bb8336f202191ae294230684d0794b18bab40e284fdcce80cd894b77732eeddf80726141b31b43c75a3543670558012e9178d27dd4497bae5f901f7a70ab2fc1cb542ba1feb32992b9141b8e7ca010b99b74e3c212ea90d4c8591ab1511c88c278d29e144039e23a7b0bc946b46734734265e1df34643cbbf36e439ee8b194c7a8e8b75de782303fda00a80b5cafb7e49500be86766f7f9edbb013dba6f4e115c62d840f1bf08bf90b075eb73e70f34bc1e603fbae6f43632089b8fde88f319a6e9b39b86db9af2e0846d9ec559a227c25691c9b32b17f57bc9e96020f167924bd567ea20d583c2a6d4966698369c39bd7cc1192da888c14a4334480202d23e55dea47b745144cf00030a3514f01043fd26b0591ad3e8bb19a8151a9342e90a98cfebd96189dcab1459bfa7a0f185ec1979b3e2c8ae5fe5e752f4696dba9da27dbd6700707674203673a7486df55e6c615637564c43d3c91d40914e2ffd75a8c01aacdfdf4b44126dfdac18a46c5893e291b3147af7e4d03ce518c319e3be0d2cd665f1f4769238ddbbcd61b371dda4e3e6fb7c27118dca0f8caf0e179632c9ae770e7cc95146dfc9b8cd1296b259df0bbf60c30c020d7035efcc499b06190cd00f9c1cead31dff5fa9ab74a5b8f5802e94e12b97d996e47f17ec81a78c8df58916eb305e401eac6a3fbd846efcd92f8913a09a0dc6588b5186f1cb3f37f44aa01248ee88cdc785fb970a7f0a34e6ab73ed0ad4487ddf0f0f398ec34490a1f03fcaca7b98c3dee6df003867760f7d5e9957246157c8b3ce988674a94d9a826d3b76f693e90e07d76c7235a0966dfdd3acf35c70ade590b288fcd2eff074f6eaf75df00b61ef25cf8948df1edecdf57ce58f9e636ed38e0ed3edd8010794b85fbdb7d9c8928bf1951087ff8c12c48c4820f4f9865ca39c730835f5c11f5e938556007945ebff82e3f055e0e7acbf48a1d1fb9176e77c9407429ba17557b06370 +ss = 477f645e1a03a787f29f7b15932f65aee1d74eab2adb4f378e263fd8e2ebd526 From 2d1de9bd2ea2b7fbf6cd3d48a57305a28ad4148e Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Thu, 13 Jun 2024 19:44:17 +0400 Subject: [PATCH 02/30] Don't allow requesting arbitrary length *shared secret* using SHAKE256 KDF See section 1.3 of https://doi.org/10.6028/NIST.FIPS.203.ipd (draft standard of Kyber) Signed-off-by: Anjan Roy --- include/kem.hpp | 18 ++++++++++++------ include/kyber1024_kem.hpp | 18 ++++++++++++------ include/kyber512_kem.hpp | 18 ++++++++++++------ include/kyber768_kem.hpp | 18 ++++++++++++------ 4 files changed, 48 insertions(+), 24 deletions(-) diff --git a/include/kem.hpp b/include/kem.hpp index bce4cae..0a631c6 100644 --- a/include/kem.hpp +++ b/include/kem.hpp @@ -51,6 +51,7 @@ keygen(std::span d, // used in CPA-PKE hasher.absorb(pubkey); hasher.finalize(); hasher.digest(_seckey2); + hasher.reset(); } // Given (k * 12 * 32 + 32) -bytes public key and 32 -bytes seed ( used for @@ -74,10 +75,11 @@ keygen(std::span d, // used in CPA-PKE // https://github.com/pq-crystals/kyber.git. It also helps in properly // benchmarking underlying KEM's encapsulation implementation. template -static inline shake256::shake256_t +static inline void encapsulate(std::span m, std::span pubkey, - std::span cipher) + std::span cipher, + std::span shared_secret) requires(kyber_params::check_encap_params(k, eta1, eta2, du, dv)) { std::array g_in{}; @@ -125,7 +127,8 @@ encapsulate(std::span m, shake256::shake256_t xof256; xof256.absorb(_kdf_in); xof256.finalize(); - return xof256; + xof256.squeeze(shared_secret); + xof256.reset(); } // Given (k * 24 * 32 + 96) -bytes secret key and (k * du * 32 + dv * 32) -bytes @@ -143,8 +146,10 @@ encapsulate(std::span m, // See algorithm 9 defined in Kyber specification // https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf template -static inline shake256::shake256_t -decapsulate(std::span seckey, std::span cipher) +static inline void +decapsulate(std::span seckey, + std::span cipher, + std::span shared_secret) requires(kyber_params::check_decap_params(k, eta1, eta2, du, dv)) { constexpr size_t sklen = k * 12 * 32; @@ -201,7 +206,8 @@ decapsulate(std::span sec shake256::shake256_t xof256; xof256.absorb(_kdf_in); xof256.finalize(); - return xof256; + xof256.squeeze(shared_secret); + xof256.reset(); } } diff --git a/include/kyber1024_kem.hpp b/include/kyber1024_kem.hpp index 852764e..f819153 100644 --- a/include/kyber1024_kem.hpp +++ b/include/kyber1024_kem.hpp @@ -24,6 +24,9 @@ constexpr size_t SKEY_LEN = kyber_utils::get_kem_secret_key_len(k); // = 1568 -bytes Kyber1024 cipher text length constexpr size_t CIPHER_LEN = kyber_utils::get_kem_cipher_len(k, du, dv); +// = 32 -bytes Kyber1024 fixed size shared secret byte length +constexpr size_t SHARED_SECRET_LEN = 32; + // Computes a new Kyber1024 KEM keypair s.t. public key is 1568 -bytes and // secret key is 3168 -bytes, given 32 -bytes seed d ( used in CPA-PKE ) and 32 // -bytes seed z ( used in CCA-KEM ). @@ -40,10 +43,13 @@ keygen(std::span d, std::span z, std::span // at same SHAKE256 XOF backed KDF. // // Returned KDF can be used for deriving shared key of arbitrary bytes length. -inline shake256::shake256_t -encapsulate(std::span m, std::span pubkey, std::span cipher) +inline void +encapsulate(std::span m, + std::span pubkey, + std::span cipher, + std::span shared_secret) { - return kem::encapsulate(m, pubkey, cipher); + kem::encapsulate(m, pubkey, cipher, shared_secret); } // Given a Kyber1024 KEM secret key ( of 3168 -bytes ) and a cipher text of 1568 @@ -52,10 +58,10 @@ encapsulate(std::span m, std::span p // derivation function). // // Returned KDF can be used for deriving shared key of arbitrary bytes length. -inline shake256::shake256_t -decapsulate(std::span seckey, std::span cipher) +inline void +decapsulate(std::span seckey, std::span cipher, std::span shared_secret) { - return kem::decapsulate(seckey, cipher); + kem::decapsulate(seckey, cipher, shared_secret); } } diff --git a/include/kyber512_kem.hpp b/include/kyber512_kem.hpp index 3da9362..17eafc1 100644 --- a/include/kyber512_kem.hpp +++ b/include/kyber512_kem.hpp @@ -24,6 +24,9 @@ constexpr size_t SKEY_LEN = kyber_utils::get_kem_secret_key_len(k); // = 768 -bytes Kyber512 cipher text length constexpr size_t CIPHER_LEN = kyber_utils::get_kem_cipher_len(k, du, dv); +// = 32 -bytes Kyber512 fixed size shared secret byte length +constexpr size_t SHARED_SECRET_LEN = 32; + // Computes a new Kyber512 KEM keypair s.t. public key is 800 -bytes and secret // key is 1632 -bytes, given 32 -bytes seed d ( used in CPA-PKE ) and 32 -bytes // seed z ( used in CCA-KEM ). @@ -40,10 +43,13 @@ keygen(std::span d, std::span z, std::span // SHAKE256 XOF backed KDF. // // Returned KDF can be used for deriving shared key of arbitrary bytes length. -inline shake256::shake256_t -encapsulate(std::span m, std::span pubkey, std::span cipher) +inline void +encapsulate(std::span m, + std::span pubkey, + std::span cipher, + std::span shared_secret) { - return kem::encapsulate(m, pubkey, cipher); + kem::encapsulate(m, pubkey, cipher, shared_secret); } // Given a Kyber512 KEM secret key ( of 1632 -bytes ) and a cipher text of 768 @@ -52,10 +58,10 @@ encapsulate(std::span m, std::span p // derivation function). // // Returned KDF can be used for deriving shared key of arbitrary bytes length. -inline shake256::shake256_t -decapsulate(std::span seckey, std::span cipher) +inline void +decapsulate(std::span seckey, std::span cipher, std::span shared_secret) { - return kem::decapsulate(seckey, cipher); + kem::decapsulate(seckey, cipher, shared_secret); } } diff --git a/include/kyber768_kem.hpp b/include/kyber768_kem.hpp index 9fa09f4..4ab239a 100644 --- a/include/kyber768_kem.hpp +++ b/include/kyber768_kem.hpp @@ -23,6 +23,9 @@ constexpr size_t SKEY_LEN = kyber_utils::get_kem_secret_key_len(k); // = 1088 -bytes Kyber768 cipher text length constexpr size_t CIPHER_LEN = kyber_utils::get_kem_cipher_len(k, du, dv); +// = 32 -bytes Kyber768 fixed size shared secret byte length +constexpr size_t SHARED_SECRET_LEN = 32; + // Computes a new Kyber768 KEM keypair s.t. public key is 1184 -bytes and secret // key is 2400 -bytes, given 32 -bytes seed d ( used in CPA-PKE ) and 32 -bytes // seed z ( used in CCA-KEM ). @@ -39,10 +42,13 @@ keygen(std::span d, std::span z, std::span // at same SHAKE256 XOF backed KDF. // // Returned KDF can be used for deriving shared key of arbitrary bytes length. -inline shake256::shake256_t -encapsulate(std::span m, std::span pubkey, std::span cipher) +inline void +encapsulate(std::span m, + std::span pubkey, + std::span cipher, + std::span shared_secret) { - return kem::encapsulate(m, pubkey, cipher); + kem::encapsulate(m, pubkey, cipher, shared_secret); } // Given a Kyber768 KEM secret key ( of 2400 -bytes ) and a cipher text of 1088 @@ -51,10 +57,10 @@ encapsulate(std::span m, std::span p // derivation function). // // Returned KDF can be used for deriving shared key of arbitrary bytes length. -inline shake256::shake256_t -decapsulate(std::span seckey, std::span cipher) +inline void +decapsulate(std::span seckey, std::span cipher, std::span shared_secret) { - return kem::decapsulate(seckey, cipher); + kem::decapsulate(seckey, cipher, shared_secret); } } From ac836bbc498ec7ef473721a91390e8818dfa9ea1 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Thu, 13 Jun 2024 21:22:59 +0400 Subject: [PATCH 03/30] Update tests to conform to new encaps/ decaps API Signed-off-by: Anjan Roy --- tests/test_kem.cpp | 23 +++++++++++------------ tests/test_kem_kat.cpp | 26 +++++++++----------------- 2 files changed, 20 insertions(+), 29 deletions(-) diff --git a/tests/test_kem.cpp b/tests/test_kem.cpp index 4418dad..63fb791 100644 --- a/tests/test_kem.cpp +++ b/tests/test_kem.cpp @@ -15,15 +15,15 @@ // - This shared secret key can now be used with any symmetric key primitive. // // works as expected. -template +template void test_kyber_kem() - requires(klen > 0) { constexpr size_t slen = 32; constexpr size_t pklen = kyber_utils::get_kem_public_key_len(k); constexpr size_t sklen = kyber_utils::get_kem_secret_key_len(k); constexpr size_t ctlen = kyber_utils::get_kem_cipher_len(k, du, dv); + constexpr size_t sslen = 32; std::vector d(slen); std::vector z(slen); @@ -31,8 +31,8 @@ test_kyber_kem() std::vector pkey(pklen); std::vector skey(sklen); std::vector cipher(ctlen); - std::vector sender_key(klen); - std::vector receiver_key(klen); + std::vector sender_key(sslen); + std::vector receiver_key(sslen); auto _d = std::span(d); auto _z = std::span(z); @@ -40,6 +40,8 @@ test_kyber_kem() auto _pkey = std::span(pkey); auto _skey = std::span(skey); auto _cipher = std::span(cipher); + auto _sender_key = std::span(sender_key); + auto _receiver_key = std::span(receiver_key); prng::prng_t prng; prng.read(d); @@ -47,26 +49,23 @@ test_kyber_kem() prng.read(m); kem::keygen(_d, _z, _pkey, _skey); - auto skdf = kem::encapsulate(_m, _pkey, _cipher); - auto rkdf = kem::decapsulate(_skey, _cipher); - - skdf.squeeze(sender_key); - rkdf.squeeze(receiver_key); + kem::encapsulate(_m, _pkey, _cipher, _sender_key); + kem::decapsulate(_skey, _cipher, _receiver_key); EXPECT_EQ(sender_key, receiver_key); } TEST(KyberKEM, Kyber512KeygenEncapsDecaps) { - test_kyber_kem<2, 3, 2, 10, 4, 32>(); + test_kyber_kem<2, 3, 2, 10, 4>(); } TEST(KyberKEM, Kyber768KeygenEncapsDecaps) { - test_kyber_kem<3, 2, 2, 10, 4, 32>(); + test_kyber_kem<3, 2, 2, 10, 4>(); } TEST(KyberKEM, Kyber1024KeygenEncapsDecaps) { - test_kyber_kem<4, 2, 2, 11, 5, 32>(); + test_kyber_kem<4, 2, 2, 11, 5>(); } diff --git a/tests/test_kem_kat.cpp b/tests/test_kem_kat.cpp index 80047cf..d1b1770 100644 --- a/tests/test_kem_kat.cpp +++ b/tests/test_kem_kat.cpp @@ -2,6 +2,7 @@ #include "kyber512_kem.hpp" #include "kyber768_kem.hpp" #include "utils.hpp" +#include #include #include @@ -70,15 +71,12 @@ TEST(KyberKEM, Kyber512KnownAnswerTests) std::array pkey{}; std::array skey{}; std::array ctxt{}; - std::array shrd_sec0{}; - std::array shrd_sec1{}; + std::array shrd_sec0{}; + std::array shrd_sec1{}; kyber512::keygen(___d, ___z, pkey, skey); - auto skdf = kyber512::encapsulate(___m, pkey, ctxt); - auto rkdf = kyber512::decapsulate(skey, ctxt); - - skdf.squeeze(shrd_sec0); - rkdf.squeeze(shrd_sec1); + kyber512::encapsulate(___m, pkey, ctxt, shrd_sec0); + kyber512::decapsulate(skey, ctxt, shrd_sec1); EXPECT_EQ(___pk, pkey); EXPECT_EQ(___sk, skey); @@ -158,11 +156,8 @@ TEST(KyberKEM, Kyber768KnownAnswerTests) std::array shrd_sec1{}; kyber768::keygen(___d, ___z, pkey, skey); - auto skdf = kyber768::encapsulate(___m, pkey, ctxt); - auto rkdf = kyber768::decapsulate(skey, ctxt); - - skdf.squeeze(shrd_sec0); - rkdf.squeeze(shrd_sec1); + kyber768::encapsulate(___m, pkey, ctxt, shrd_sec0); + kyber768::decapsulate(skey, ctxt, shrd_sec1); EXPECT_EQ(___pk, pkey); EXPECT_EQ(___sk, skey); @@ -249,11 +244,8 @@ TEST(KyberKEM, Kyber1024KnownAnswerTests) std::array shrd_sec1{}; kyber1024::keygen(___d, ___z, pkey, skey); - auto skdf = kyber1024::encapsulate(___m, pkey, ctxt); - auto rkdf = kyber1024::decapsulate(skey, ctxt); - - skdf.squeeze(shrd_sec0); - rkdf.squeeze(shrd_sec1); + kyber1024::encapsulate(___m, pkey, ctxt, shrd_sec0); + kyber1024::decapsulate(skey, ctxt, shrd_sec1); EXPECT_EQ(___pk, pkey); EXPECT_EQ(___sk, skey); From a741db10c325434e1d56e2437e9eaded561899f4 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Fri, 14 Jun 2024 17:27:48 +0400 Subject: [PATCH 04/30] Update benchmaraks to conform to new encaps/ decaps API Signed-off-by: Anjan Roy --- benchmarks/bench_kem.cpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/benchmarks/bench_kem.cpp b/benchmarks/bench_kem.cpp index 497e09f..85e7f47 100644 --- a/benchmarks/bench_kem.cpp +++ b/benchmarks/bench_kem.cpp @@ -101,9 +101,7 @@ bench_encapsulate(benchmark::State& state) const uint64_t start = cpu_ticks(); #endif - auto skdf = kem::encapsulate(_m, _pkey, _cipher); - benchmark::DoNotOptimize(skdf); - skdf.squeeze(_sender_key); + kem::encapsulate(_m, _pkey, _cipher, _sender_key); benchmark::DoNotOptimize(_m); benchmark::DoNotOptimize(_pkey); @@ -162,8 +160,7 @@ bench_decapsulate(benchmark::State& state) prng.read(_m); - auto skdf = kem::encapsulate(_m, _pkey, _cipher); - skdf.squeeze(_sender_key); + kem::encapsulate(_m, _pkey, _cipher, _sender_key); #ifdef __x86_64__ uint64_t total_ticks = 0ul; @@ -174,9 +171,7 @@ bench_decapsulate(benchmark::State& state) const uint64_t start = cpu_ticks(); #endif - auto rkdf = kem::decapsulate(_skey, _cipher); - benchmark::DoNotOptimize(rkdf); - rkdf.squeeze(_receiver_key); + kem::decapsulate(_skey, _cipher, _receiver_key); benchmark::DoNotOptimize(_skey); benchmark::DoNotOptimize(_cipher); From 80afb5d341692ddb706c58b7eec349139f3cc841 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Fri, 14 Jun 2024 17:29:47 +0400 Subject: [PATCH 05/30] Explicitly specify which git submodule to activate in Makefil recipe Signed-off-by: Anjan Roy --- Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 7f70fd6..9c62fb6 100644 --- a/Makefile +++ b/Makefile @@ -58,16 +58,16 @@ $(BUILD_DIR): mkdir -p $@ $(SHA3_INC_DIR): - git submodule update --init + git submodule update --init sha3 $(DUDECT_INC_DIR): $(SHA3_INC_DIR) - git submodule update --init + git submodule update --init dudect $(SUBTLE_INC_DIR): $(DUDECT_INC_DIR) - git submodule update --init + git submodule update --init subtle $(GTEST_PARALLEL): $(SUBTLE_INC_DIR) - git submodule update --init + git submodule update --init gtest-parallel $(BUILD_DIR)/%.o: $(TEST_DIR)/%.cpp $(BUILD_DIR) $(SHA3_INC_DIR) $(SUBTLE_INC_DIR) $(CXX) $(CXX_FLAGS) $(WARN_FLAGS) $(OPT_FLAGS) $(I_FLAGS) $(DEP_IFLAGS) -c $< -o $@ From 70b191277ad4a4cc111dc1e84656053e6cfbb08f Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Fri, 14 Jun 2024 18:29:42 +0400 Subject: [PATCH 06/30] Update Fujisaki-Okamoto transform as per draft standard See point 2, 3 of https://doi.org/10.6028/NIST.FIPS.203.ipd Signed-off-by: Anjan Roy --- include/kem.hpp | 93 +++++++++++++++++-------------------------------- 1 file changed, 31 insertions(+), 62 deletions(-) diff --git a/include/kem.hpp b/include/kem.hpp index 0a631c6..fd5e51b 100644 --- a/include/kem.hpp +++ b/include/kem.hpp @@ -4,6 +4,7 @@ #include "sha3_512.hpp" #include "shake256.hpp" #include "utils.hpp" +#include #include #include @@ -47,7 +48,7 @@ keygen(std::span d, // used in CPA-PKE std::copy(z.begin(), z.end(), _seckey3.begin()); // hash public key - sha3_256::sha3_256_t hasher; + sha3_256::sha3_256_t hasher{}; hasher.absorb(pubkey); hasher.finalize(); hasher.digest(_seckey2); @@ -82,53 +83,31 @@ encapsulate(std::span m, std::span shared_secret) requires(kyber_params::check_encap_params(k, eta1, eta2, du, dv)) { - std::array g_in{}; - std::array g_out{}; - std::array kdf_in{}; + std::array g_in{}; + std::array g_out{}; auto _g_in = std::span(g_in); + auto _g_in0 = _g_in.template first(); + auto _g_in1 = _g_in.template last(); + auto _g_out = std::span(g_out); - auto _kdf_in = std::span(kdf_in); + auto _g_out0 = _g_out.template first(); + auto _g_out1 = _g_out.template last<_g_out.size() - _g_out0.size()>(); - auto _g_in0 = _g_in.template subspan<0, 32>(); - auto _g_in1 = _g_in.template subspan<_g_in0.size(), 32>(); - - auto _g_out0 = _g_out.template subspan<0, 32>(); - auto _g_out1 = _g_out.template subspan<_g_out0.size(), 32>(); - - auto _kdf_in0 = _kdf_in.template subspan<0, 32>(); - auto _kdf_in1 = _kdf_in.template subspan<_kdf_in0.size(), 32>(); - - sha3_256::sha3_256_t h256; - - h256.absorb(m); - h256.finalize(); - h256.digest(_g_in0); - h256.reset(); + std::copy(m.begin(), m.end(), _g_in0.begin()); + sha3_256::sha3_256_t h256{}; h256.absorb(pubkey); h256.finalize(); h256.digest(_g_in1); - h256.reset(); - - sha3_512::sha3_512_t h512; + sha3_512::sha3_512_t h512{}; h512.absorb(_g_in); h512.finalize(); h512.digest(_g_out); - pke::encrypt(pubkey, _g_in0, _g_out1, cipher); - std::copy(_g_out0.begin(), _g_out0.end(), _kdf_in0.begin()); - - h256.absorb(cipher); - h256.finalize(); - h256.digest(_kdf_in1); - - shake256::shake256_t xof256; - xof256.absorb(_kdf_in); - xof256.finalize(); - xof256.squeeze(shared_secret); - xof256.reset(); + pke::encrypt(pubkey, m, _g_out1, cipher); + std::copy(_g_out0.begin(), _g_out0.end(), shared_secret.begin()); } // Given (k * 24 * 32 + 96) -bytes secret key and (k * du * 32 + dv * 32) -bytes @@ -165,49 +144,39 @@ decapsulate(std::span sec auto h = seckey.template subspan(); auto z = seckey.template subspan(); - std::array g_in{}; - std::array g_out{}; + std::array g_in{}; + std::array g_out{}; + std::array j_out{}; std::array c_prime{}; - std::array kdf_in{}; auto _g_in = std::span(g_in); + auto _g_in0 = _g_in.template first<32>(); + auto _g_in1 = _g_in.template last(); + auto _g_out = std::span(g_out); - auto _kdf_in = std::span(kdf_in); - - auto _g_in0 = _g_in.template subspan<0, 32>(); - auto _g_in1 = _g_in.template subspan<_g_in0.size(), 32>(); - - auto _g_out0 = _g_out.template subspan<0, 32>(); - auto _g_out1 = _g_out.template subspan<_g_out0.size(), 32>(); - - auto _kdf_in0 = _kdf_in.template subspan<0, 32>(); - auto _kdf_in1 = _kdf_in.template subspan<_kdf_in0.size(), 32>(); + auto _g_out0 = _g_out.template first(); + auto _g_out1 = _g_out.template last<32>(); pke::decrypt(pke_sk, cipher, _g_in0); std::copy(h.begin(), h.end(), _g_in1.begin()); - sha3_512::sha3_512_t h512; + sha3_512::sha3_512_t h512{}; h512.absorb(_g_in); h512.finalize(); h512.digest(_g_out); + shake256::shake256_t xof256{}; + xof256.absorb(z); + xof256.absorb(cipher); + xof256.finalize(); + xof256.squeeze(j_out); + pke::encrypt(pubkey, _g_in0, _g_out1, c_prime); // line 7-11 of algorithm 9, in constant-time - using kdf_t = std::span; + using kdf_t = std::span; const uint32_t cond = kyber_utils::ct_memcmp(cipher, std::span(c_prime)); - kyber_utils::ct_cond_memcpy(cond, _kdf_in0, kdf_t(_g_out0), kdf_t(z)); - - sha3_256::sha3_256_t h256; - h256.absorb(cipher); - h256.finalize(); - h256.digest(_kdf_in1); - - shake256::shake256_t xof256; - xof256.absorb(_kdf_in); - xof256.finalize(); - xof256.squeeze(shared_secret); - xof256.reset(); + kyber_utils::ct_cond_memcpy(cond, shared_secret, kdf_t(_g_out0), kdf_t(z)); } } From 17227c2ccea8ac1dac2ab21007d9e12b5fb623b5 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Fri, 14 Jun 2024 21:19:57 +0400 Subject: [PATCH 07/30] Add modulus check for input public key of `encaps` function Following section 6.2 of https://doi.org/10.6028/NIST.FIPS.203.ipd Signed-off-by: Anjan Roy --- include/kem.hpp | 25 +++++++++++++++++-------- include/kyber1024_kem.hpp | 4 ++-- include/kyber512_kem.hpp | 4 ++-- include/kyber768_kem.hpp | 4 ++-- include/pke.hpp | 19 +++++++++++++++++-- 5 files changed, 40 insertions(+), 16 deletions(-) diff --git a/include/kem.hpp b/include/kem.hpp index fd5e51b..846e139 100644 --- a/include/kem.hpp +++ b/include/kem.hpp @@ -60,12 +60,15 @@ keygen(std::span d, // used in CPA-PKE // cipher text of length (k * du * 32 + dv * 32) -bytes which can be shared with // recipient party ( having respective secret key ) over insecure channel. // -// It also returns a SHAKE256 object which acts as a KDF ( key derivation -// function ), used for generating arbitrary length shared secret key, to be -// used for symmetric key encryption between these two participating entities. +// It also computes a fixed length 32 -bytes shared secret, which can be used for +// symmetric key encryption between these two participating entities. Alternatively +// they might choose to derive longer keys from this shared secret. // -// Other side of communication should also be able to generate same arbitrary -// length key stream ( using KDF ), after successful decryption of cipher text. +// Other side of communication should also be able to generate same 32 -byte shared secret, +// after successful decryption of cipher text. +// +// If invalid public key is input, this function execution will fail, returning false, +// otherwise it will return true, while producing both cipher text and shared secret. // // See algorithm 8 defined in Kyber specification // https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf @@ -76,7 +79,7 @@ keygen(std::span d, // used in CPA-PKE // https://github.com/pq-crystals/kyber.git. It also helps in properly // benchmarking underlying KEM's encapsulation implementation. template -static inline void +[[nodiscard("Use result, it might fail because of malformed input public key")]] static inline bool encapsulate(std::span m, std::span pubkey, std::span cipher, @@ -106,8 +109,13 @@ encapsulate(std::span m, h512.finalize(); h512.digest(_g_out); - pke::encrypt(pubkey, m, _g_out1, cipher); + const auto has_mod_check_passed = pke::encrypt(pubkey, m, _g_out1, cipher); + if (!has_mod_check_passed) { + return has_mod_check_passed; + } + std::copy(_g_out0.begin(), _g_out0.end(), shared_secret.begin()); + return true; } // Given (k * 24 * 32 + 96) -bytes secret key and (k * du * 32 + dv * 32) -bytes @@ -171,7 +179,8 @@ decapsulate(std::span sec xof256.finalize(); xof256.squeeze(j_out); - pke::encrypt(pubkey, _g_in0, _g_out1, c_prime); + // Explicitly ignore return value, because public key, held as part of secret key is *assumed* to be valid. + (void)pke::encrypt(pubkey, _g_in0, _g_out1, c_prime); // line 7-11 of algorithm 9, in constant-time using kdf_t = std::span; diff --git a/include/kyber1024_kem.hpp b/include/kyber1024_kem.hpp index f819153..acb97da 100644 --- a/include/kyber1024_kem.hpp +++ b/include/kyber1024_kem.hpp @@ -43,13 +43,13 @@ keygen(std::span d, std::span z, std::span // at same SHAKE256 XOF backed KDF. // // Returned KDF can be used for deriving shared key of arbitrary bytes length. -inline void +[[nodiscard("If public key is malformed, encapsulation fails")]] inline bool encapsulate(std::span m, std::span pubkey, std::span cipher, std::span shared_secret) { - kem::encapsulate(m, pubkey, cipher, shared_secret); + return kem::encapsulate(m, pubkey, cipher, shared_secret); } // Given a Kyber1024 KEM secret key ( of 3168 -bytes ) and a cipher text of 1568 diff --git a/include/kyber512_kem.hpp b/include/kyber512_kem.hpp index 17eafc1..1abc9c4 100644 --- a/include/kyber512_kem.hpp +++ b/include/kyber512_kem.hpp @@ -43,13 +43,13 @@ keygen(std::span d, std::span z, std::span // SHAKE256 XOF backed KDF. // // Returned KDF can be used for deriving shared key of arbitrary bytes length. -inline void +[[nodiscard("If public key is malformed, encapsulation fails")]] inline bool encapsulate(std::span m, std::span pubkey, std::span cipher, std::span shared_secret) { - kem::encapsulate(m, pubkey, cipher, shared_secret); + return kem::encapsulate(m, pubkey, cipher, shared_secret); } // Given a Kyber512 KEM secret key ( of 1632 -bytes ) and a cipher text of 768 diff --git a/include/kyber768_kem.hpp b/include/kyber768_kem.hpp index 4ab239a..4e8ab34 100644 --- a/include/kyber768_kem.hpp +++ b/include/kyber768_kem.hpp @@ -42,13 +42,13 @@ keygen(std::span d, std::span z, std::span // at same SHAKE256 XOF backed KDF. // // Returned KDF can be used for deriving shared key of arbitrary bytes length. -inline void +[[nodiscard("If public key is malformed, encapsulation fails")]] inline bool encapsulate(std::span m, std::span pubkey, std::span cipher, std::span shared_secret) { - kem::encapsulate(m, pubkey, cipher, shared_secret); + return kem::encapsulate(m, pubkey, cipher, shared_secret); } // Given a Kyber768 KEM secret key ( of 2400 -bytes ) and a cipher text of 1088 diff --git a/include/pke.hpp b/include/pke.hpp index 20e1aad..84983b3 100644 --- a/include/pke.hpp +++ b/include/pke.hpp @@ -80,16 +80,19 @@ keygen(std::span d, std::span pubk kyber_utils::poly_vec_encode(s, seckey); } -// Given (k * 12 * 32 + 32) -bytes public key, 32 -bytes message ( to be +// Given (k * 12 * 32 + 32) -bytes *valid* public key, 32 -bytes message ( to be // encrypted ) and 32 -bytes random coin ( from where all randomness is // deterministically sampled ), this routine encrypts message using // INDCPA-secure Kyber encryption algorithm, computing compressed cipher text of // (k * du * 32 + dv * 32) -bytes. // +// If modulus check, as described in point (2) of section 6.2 of ML-KEM draft standard, +// fails, it returns false, otherwise it returns true. +// // See algorithm 5 defined in Kyber specification // https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf template -static inline void +[[nodiscard("Use result of modulus check on public key")]] static inline bool encrypt(std::span pubkey, std::span msg, std::span rcoin, @@ -102,7 +105,17 @@ encrypt(std::span pubkey, auto rho = pubkey.template subspan(); std::array t_prime{}; + std::array encoded_tprime{}; + kyber_utils::poly_vec_decode(_pubkey0, t_prime); + kyber_utils::poly_vec_encode(t_prime, encoded_tprime); + + using encoded_pkey_t = std::span; + const auto are_equal = kyber_utils::ct_memcmp(encoded_pkey_t(_pubkey0), encoded_pkey_t(encoded_tprime)); + if (are_equal == 0u) { + // Got an invalid public key + return false; + } // step 4, 5, 6, 7, 8 std::array A_prime{}; @@ -158,6 +171,8 @@ encrypt(std::span pubkey, // step 22 kyber_utils::poly_compress(v); kyber_utils::encode(v, _enc1); + + return true; } // Given (k * 12 * 32) -bytes secret key and (k * du * 32 + dv * 32) -bytes From d750b3cc83379dc56ed4d074d9ca58c665608e56 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Fri, 14 Jun 2024 21:21:48 +0400 Subject: [PATCH 08/30] Update tests, for now ignore return value of `encaps` function We don't have sufficient tests to trigger this code-path. Signed-off-by: Anjan Roy --- tests/test_kem.cpp | 2 +- tests/test_kem_kat.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/test_kem.cpp b/tests/test_kem.cpp index 63fb791..953d4d2 100644 --- a/tests/test_kem.cpp +++ b/tests/test_kem.cpp @@ -49,7 +49,7 @@ test_kyber_kem() prng.read(m); kem::keygen(_d, _z, _pkey, _skey); - kem::encapsulate(_m, _pkey, _cipher, _sender_key); + (void)kem::encapsulate(_m, _pkey, _cipher, _sender_key); kem::decapsulate(_skey, _cipher, _receiver_key); EXPECT_EQ(sender_key, receiver_key); diff --git a/tests/test_kem_kat.cpp b/tests/test_kem_kat.cpp index d1b1770..c6f75af 100644 --- a/tests/test_kem_kat.cpp +++ b/tests/test_kem_kat.cpp @@ -75,7 +75,7 @@ TEST(KyberKEM, Kyber512KnownAnswerTests) std::array shrd_sec1{}; kyber512::keygen(___d, ___z, pkey, skey); - kyber512::encapsulate(___m, pkey, ctxt, shrd_sec0); + (void)kyber512::encapsulate(___m, pkey, ctxt, shrd_sec0); kyber512::decapsulate(skey, ctxt, shrd_sec1); EXPECT_EQ(___pk, pkey); @@ -156,7 +156,7 @@ TEST(KyberKEM, Kyber768KnownAnswerTests) std::array shrd_sec1{}; kyber768::keygen(___d, ___z, pkey, skey); - kyber768::encapsulate(___m, pkey, ctxt, shrd_sec0); + (void)kyber768::encapsulate(___m, pkey, ctxt, shrd_sec0); kyber768::decapsulate(skey, ctxt, shrd_sec1); EXPECT_EQ(___pk, pkey); @@ -244,7 +244,7 @@ TEST(KyberKEM, Kyber1024KnownAnswerTests) std::array shrd_sec1{}; kyber1024::keygen(___d, ___z, pkey, skey); - kyber1024::encapsulate(___m, pkey, ctxt, shrd_sec0); + (void)kyber1024::encapsulate(___m, pkey, ctxt, shrd_sec0); kyber1024::decapsulate(skey, ctxt, shrd_sec1); EXPECT_EQ(___pk, pkey); From 53abc2b1de6a57f126760115139d2907774f9c53 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Fri, 14 Jun 2024 21:22:32 +0400 Subject: [PATCH 09/30] Explicitly ignore return value of `encaps` function in benchmarks In benchmark we always consider "good" input case. Signed-off-by: Anjan Roy --- benchmarks/bench_kem.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/benchmarks/bench_kem.cpp b/benchmarks/bench_kem.cpp index 85e7f47..d3192a4 100644 --- a/benchmarks/bench_kem.cpp +++ b/benchmarks/bench_kem.cpp @@ -101,7 +101,7 @@ bench_encapsulate(benchmark::State& state) const uint64_t start = cpu_ticks(); #endif - kem::encapsulate(_m, _pkey, _cipher, _sender_key); + (void)kem::encapsulate(_m, _pkey, _cipher, _sender_key); benchmark::DoNotOptimize(_m); benchmark::DoNotOptimize(_pkey); @@ -160,7 +160,7 @@ bench_decapsulate(benchmark::State& state) prng.read(_m); - kem::encapsulate(_m, _pkey, _cipher, _sender_key); + (void)kem::encapsulate(_m, _pkey, _cipher, _sender_key); #ifdef __x86_64__ uint64_t total_ticks = 0ul; From 9f977086ca8f1a4663e7d2479a8683381a06ed39 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Fri, 14 Jun 2024 21:24:28 +0400 Subject: [PATCH 10/30] Update API usage example - conform to new API Signed-off-by: Anjan Roy --- examples/kyber512_kem.cpp | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/examples/kyber512_kem.cpp b/examples/kyber512_kem.cpp index 2e33a94..95da574 100644 --- a/examples/kyber512_kem.cpp +++ b/examples/kyber512_kem.cpp @@ -54,13 +54,9 @@ main() prng.read(_m); // encapsulate key, compute cipher text and obtain KDF - auto skdf = kyber512_kem::encapsulate(_m, _pkey, _cipher); + const bool is_encapsulated = kyber512_kem::encapsulate(_m, _pkey, _cipher, _shrd_key0); // decapsulate cipher text and obtain KDF - auto rkdf = kyber512_kem::decapsulate(_skey, _cipher); - - // both sender's and receiver's KDF should produce same KEY_LEN many bytes - skdf.squeeze(_shrd_key0); - rkdf.squeeze(_shrd_key1); + kyber512_kem::decapsulate(_skey, _cipher, _shrd_key1); // check that both of the communicating parties arrived at same shared key assert(std::ranges::equal(_shrd_key0, _shrd_key1)); @@ -69,11 +65,11 @@ main() using namespace kyber_utils; std::cout << "Kyber512 KEM\n"; - std::cout << "\npubkey : " << to_hex(_pkey); - std::cout << "\nseckey : " << to_hex(_skey); - std::cout << "\ncipher : " << to_hex(_cipher); - std::cout << "\nshared secret : " << to_hex(_shrd_key0); - std::cout << "\n"; + std::cout << "pubkey : " << to_hex(_pkey) << "\n"; + std::cout << "seckey : " << to_hex(_skey) << "\n"; + std::cout << "encapsulated ? : " << std::boolalpha << is_encapsulated << "\n"; + std::cout << "cipher : " << to_hex(_cipher) << "\n"; + std::cout << "shared secret : " << to_hex(_shrd_key0) << "\n"; } return EXIT_SUCCESS; From 0cd704b3d82834f1454ffcb523fd88d0982d3ebe Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Sun, 16 Jun 2024 13:23:37 +0400 Subject: [PATCH 11/30] Change the directory structure of source tree Signed-off-by: Anjan Roy --- Makefile | 2 +- benchmarks/bench_kem.cpp | 2 +- examples/kyber512_kem.cpp | 2 +- include/{ => kyber/internals}/kem.hpp | 2 +- include/{ => kyber/internals/math}/field.hpp | 2 +- include/{ => kyber/internals}/pke.hpp | 10 +++++----- include/{ => kyber/internals/poly}/compression.hpp | 6 +++--- include/{ => kyber/internals/poly}/ntt.hpp | 2 +- include/{ => kyber/internals/poly}/poly_vec.hpp | 10 +++++----- include/{ => kyber/internals/poly}/sampling.hpp | 6 +++--- include/{ => kyber/internals/poly}/serialize.hpp | 6 +++--- include/{ => kyber/internals/rng}/prng.hpp | 0 include/{ => kyber/internals/utility}/params.hpp | 1 - include/{ => kyber/internals/utility}/utils.hpp | 1 - include/{ => kyber}/kyber1024_kem.hpp | 3 +-- include/{ => kyber}/kyber512_kem.hpp | 4 +--- include/{ => kyber}/kyber768_kem.hpp | 3 +-- tests/dudect/test_kyber1024_kem.cpp | 2 +- tests/dudect/test_kyber512_kem.cpp | 2 +- tests/dudect/test_kyber768_kem.cpp | 2 +- tests/test_compression.cpp | 2 +- tests/test_field.cpp | 2 +- tests/test_kem.cpp | 4 ++-- tests/test_kem_kat.cpp | 8 ++++---- tests/test_ntt.cpp | 4 ++-- tests/test_serialize.cpp | 4 ++-- 26 files changed, 43 insertions(+), 49 deletions(-) rename include/{ => kyber/internals}/kem.hpp (99%) rename include/{ => kyber/internals/math}/field.hpp (99%) rename include/{ => kyber/internals}/pke.hpp (96%) rename include/{ => kyber/internals/poly}/compression.hpp (95%) rename include/{ => kyber/internals/poly}/ntt.hpp (99%) rename include/{ => kyber/internals/poly}/poly_vec.hpp (96%) rename include/{ => kyber/internals/poly}/sampling.hpp (97%) rename include/{ => kyber/internals/poly}/serialize.hpp (99%) rename include/{ => kyber/internals/rng}/prng.hpp (100%) rename include/{ => kyber/internals/utility}/params.hpp (99%) rename include/{ => kyber/internals/utility}/utils.hpp (99%) rename include/{ => kyber}/kyber1024_kem.hpp (98%) rename include/{ => kyber}/kyber512_kem.hpp (97%) rename include/{ => kyber}/kyber768_kem.hpp (98%) diff --git a/Makefile b/Makefile index 9c62fb6..4f88598 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ DEP_IFLAGS = -I $(SHA3_INC_DIR) -I $(SUBTLE_INC_DIR) DUDECT_DEP_IFLAGS = $(DEP_IFLAGS) -I $(DUDECT_INC_DIR) SRC_DIR = include -KYBER_SOURCES := $(wildcard $(SRC_DIR)/*.hpp) +KYBER_SOURCES := $(shell find $(SRC_DIR) -name '*.hpp') BUILD_DIR = build DUDECT_BUILD_DIR = $(BUILD_DIR)/dudect ASAN_BUILD_DIR = $(BUILD_DIR)/asan diff --git a/benchmarks/bench_kem.cpp b/benchmarks/bench_kem.cpp index d3192a4..48de174 100644 --- a/benchmarks/bench_kem.cpp +++ b/benchmarks/bench_kem.cpp @@ -1,5 +1,5 @@ #include "bench_helper.hpp" -#include "kem.hpp" +#include "kyber/internals/kem.hpp" #include "x86_64_cpu_ticks.hpp" #include diff --git a/examples/kyber512_kem.cpp b/examples/kyber512_kem.cpp index 95da574..b44943b 100644 --- a/examples/kyber512_kem.cpp +++ b/examples/kyber512_kem.cpp @@ -1,4 +1,4 @@ -#include "kyber512_kem.hpp" +#include "kyber/kyber512_kem.hpp" #include #include #include diff --git a/include/kem.hpp b/include/kyber/internals/kem.hpp similarity index 99% rename from include/kem.hpp rename to include/kyber/internals/kem.hpp index 846e139..45d281b 100644 --- a/include/kem.hpp +++ b/include/kyber/internals/kem.hpp @@ -1,9 +1,9 @@ #pragma once +#include "kyber/internals/utility/utils.hpp" #include "pke.hpp" #include "sha3_256.hpp" #include "sha3_512.hpp" #include "shake256.hpp" -#include "utils.hpp" #include #include #include diff --git a/include/field.hpp b/include/kyber/internals/math/field.hpp similarity index 99% rename from include/field.hpp rename to include/kyber/internals/math/field.hpp index a369a42..677097a 100644 --- a/include/field.hpp +++ b/include/kyber/internals/math/field.hpp @@ -1,5 +1,5 @@ #pragma once -#include "prng.hpp" +#include "kyber/internals/rng/prng.hpp" #include #include diff --git a/include/pke.hpp b/include/kyber/internals/pke.hpp similarity index 96% rename from include/pke.hpp rename to include/kyber/internals/pke.hpp index 84983b3..ba20f6e 100644 --- a/include/pke.hpp +++ b/include/kyber/internals/pke.hpp @@ -1,10 +1,10 @@ #pragma once -#include "field.hpp" -#include "params.hpp" -#include "poly_vec.hpp" -#include "sampling.hpp" +#include "kyber/internals/math/field.hpp" +#include "kyber/internals/poly/poly_vec.hpp" +#include "kyber/internals/poly/sampling.hpp" +#include "kyber/internals/utility/params.hpp" +#include "kyber/internals/utility/utils.hpp" #include "sha3_512.hpp" -#include "utils.hpp" #include #include diff --git a/include/compression.hpp b/include/kyber/internals/poly/compression.hpp similarity index 95% rename from include/compression.hpp rename to include/kyber/internals/poly/compression.hpp index 36f3a19..bd12cfb 100644 --- a/include/compression.hpp +++ b/include/kyber/internals/poly/compression.hpp @@ -1,7 +1,7 @@ #pragma once -#include "field.hpp" -#include "ntt.hpp" -#include "params.hpp" +#include "kyber/internals/math/field.hpp" +#include "kyber/internals/poly/ntt.hpp" +#include "kyber/internals/utility/params.hpp" #include // IND-CPA-secure Public Key Encryption Scheme Utilities diff --git a/include/ntt.hpp b/include/kyber/internals/poly/ntt.hpp similarity index 99% rename from include/ntt.hpp rename to include/kyber/internals/poly/ntt.hpp index 782418d..85daa1c 100644 --- a/include/ntt.hpp +++ b/include/kyber/internals/poly/ntt.hpp @@ -1,5 +1,5 @@ #pragma once -#include "field.hpp" +#include "kyber/internals/math/field.hpp" #include #include diff --git a/include/poly_vec.hpp b/include/kyber/internals/poly/poly_vec.hpp similarity index 96% rename from include/poly_vec.hpp rename to include/kyber/internals/poly/poly_vec.hpp index 4eb3657..f54e71b 100644 --- a/include/poly_vec.hpp +++ b/include/kyber/internals/poly/poly_vec.hpp @@ -1,9 +1,9 @@ #pragma once -#include "compression.hpp" -#include "field.hpp" -#include "ntt.hpp" -#include "params.hpp" -#include "serialize.hpp" +#include "kyber/internals/math/field.hpp" +#include "kyber/internals/poly/compression.hpp" +#include "kyber/internals/poly/ntt.hpp" +#include "kyber/internals/poly/serialize.hpp" +#include "kyber/internals/utility/params.hpp" #include #include diff --git a/include/sampling.hpp b/include/kyber/internals/poly/sampling.hpp similarity index 97% rename from include/sampling.hpp rename to include/kyber/internals/poly/sampling.hpp index 2dd7436..3535843 100644 --- a/include/sampling.hpp +++ b/include/kyber/internals/poly/sampling.hpp @@ -1,7 +1,7 @@ #pragma once -#include "field.hpp" -#include "ntt.hpp" -#include "params.hpp" +#include "kyber/internals/math/field.hpp" +#include "kyber/internals/poly/ntt.hpp" +#include "kyber/internals/utility/params.hpp" #include "shake128.hpp" #include "shake256.hpp" #include diff --git a/include/serialize.hpp b/include/kyber/internals/poly/serialize.hpp similarity index 99% rename from include/serialize.hpp rename to include/kyber/internals/poly/serialize.hpp index 7764ed5..11106ed 100644 --- a/include/serialize.hpp +++ b/include/kyber/internals/poly/serialize.hpp @@ -1,7 +1,7 @@ #pragma once -#include "field.hpp" -#include "ntt.hpp" -#include "params.hpp" +#include "kyber/internals/math/field.hpp" +#include "kyber/internals/poly/ntt.hpp" +#include "kyber/internals/utility/params.hpp" #include // IND-CPA-secure Public Key Encryption Scheme Utilities diff --git a/include/prng.hpp b/include/kyber/internals/rng/prng.hpp similarity index 100% rename from include/prng.hpp rename to include/kyber/internals/rng/prng.hpp diff --git a/include/params.hpp b/include/kyber/internals/utility/params.hpp similarity index 99% rename from include/params.hpp rename to include/kyber/internals/utility/params.hpp index de94efc..33f0ced 100644 --- a/include/params.hpp +++ b/include/kyber/internals/utility/params.hpp @@ -1,6 +1,5 @@ #pragma once #include -#include // Holds compile-time executable functions, ensuring that routines are invoked // with proper arguments. diff --git a/include/utils.hpp b/include/kyber/internals/utility/utils.hpp similarity index 99% rename from include/utils.hpp rename to include/kyber/internals/utility/utils.hpp index 0c58bca..49b4f6b 100644 --- a/include/utils.hpp +++ b/include/kyber/internals/utility/utils.hpp @@ -1,5 +1,4 @@ #pragma once -#include "params.hpp" #include "subtle.hpp" #include #include diff --git a/include/kyber1024_kem.hpp b/include/kyber/kyber1024_kem.hpp similarity index 98% rename from include/kyber1024_kem.hpp rename to include/kyber/kyber1024_kem.hpp index acb97da..e5c6b8e 100644 --- a/include/kyber1024_kem.hpp +++ b/include/kyber/kyber1024_kem.hpp @@ -1,6 +1,5 @@ #pragma once -#include "kem.hpp" -#include "utils.hpp" +#include "kyber/internals/kem.hpp" // Kyber Key Encapsulation Mechanism (KEM) instantiated with Kyber1024 // parameters diff --git a/include/kyber512_kem.hpp b/include/kyber/kyber512_kem.hpp similarity index 97% rename from include/kyber512_kem.hpp rename to include/kyber/kyber512_kem.hpp index 1abc9c4..d67778a 100644 --- a/include/kyber512_kem.hpp +++ b/include/kyber/kyber512_kem.hpp @@ -1,7 +1,5 @@ #pragma once -#include "kem.hpp" -#include "utils.hpp" -#include +#include "kyber/internals/kem.hpp" // Kyber Key Encapsulation Mechanism (KEM) instantiated with Kyber512 parameters namespace kyber512_kem { diff --git a/include/kyber768_kem.hpp b/include/kyber/kyber768_kem.hpp similarity index 98% rename from include/kyber768_kem.hpp rename to include/kyber/kyber768_kem.hpp index 4e8ab34..4374479 100644 --- a/include/kyber768_kem.hpp +++ b/include/kyber/kyber768_kem.hpp @@ -1,6 +1,5 @@ #pragma once -#include "kem.hpp" -#include "utils.hpp" +#include "kyber/internals/kem.hpp" // Kyber Key Encapsulation Mechanism (KEM) instantiated with Kyber768 parameters namespace kyber768_kem { diff --git a/tests/dudect/test_kyber1024_kem.cpp b/tests/dudect/test_kyber1024_kem.cpp index ad8df25..54d628a 100644 --- a/tests/dudect/test_kyber1024_kem.cpp +++ b/tests/dudect/test_kyber1024_kem.cpp @@ -1,4 +1,4 @@ -#include "kyber1024_kem.hpp" +#include "kyber/kyber1024_kem.hpp" #define DUDECT_IMPLEMENTATION #define DUDECT_VISIBLITY_STATIC diff --git a/tests/dudect/test_kyber512_kem.cpp b/tests/dudect/test_kyber512_kem.cpp index 40c4253..c4e1b64 100644 --- a/tests/dudect/test_kyber512_kem.cpp +++ b/tests/dudect/test_kyber512_kem.cpp @@ -1,4 +1,4 @@ -#include "kyber512_kem.hpp" +#include "kyber/kyber512_kem.hpp" #include #define DUDECT_IMPLEMENTATION diff --git a/tests/dudect/test_kyber768_kem.cpp b/tests/dudect/test_kyber768_kem.cpp index 5d217d9..ac7f61d 100644 --- a/tests/dudect/test_kyber768_kem.cpp +++ b/tests/dudect/test_kyber768_kem.cpp @@ -1,4 +1,4 @@ -#include "kyber768_kem.hpp" +#include "kyber/kyber768_kem.hpp" #define DUDECT_IMPLEMENTATION #define DUDECT_VISIBLITY_STATIC diff --git a/tests/test_compression.cpp b/tests/test_compression.cpp index 5e92acd..0efee66 100644 --- a/tests/test_compression.cpp +++ b/tests/test_compression.cpp @@ -1,4 +1,4 @@ -#include "compression.hpp" +#include "kyber/internals/poly/compression.hpp" #include // Decompression error that can happen for some given `d` s.t. diff --git a/tests/test_field.cpp b/tests/test_field.cpp index c14c775..f01cf8c 100644 --- a/tests/test_field.cpp +++ b/tests/test_field.cpp @@ -1,4 +1,4 @@ -#include "field.hpp" +#include "kyber/internals/math/field.hpp" #include // Test functional correctness of Kyber prime field operations ( using diff --git a/tests/test_kem.cpp b/tests/test_kem.cpp index 953d4d2..4b49064 100644 --- a/tests/test_kem.cpp +++ b/tests/test_kem.cpp @@ -1,5 +1,5 @@ -#include "kem.hpp" -#include "utils.hpp" +#include "kyber/internals/kem.hpp" +#include "kyber/internals/utility/utils.hpp" #include // Given k, η1, η2, du, dv - Kyber parameters, this routine checks whether diff --git a/tests/test_kem_kat.cpp b/tests/test_kem_kat.cpp index c6f75af..3942e7e 100644 --- a/tests/test_kem_kat.cpp +++ b/tests/test_kem_kat.cpp @@ -1,7 +1,7 @@ -#include "kyber1024_kem.hpp" -#include "kyber512_kem.hpp" -#include "kyber768_kem.hpp" -#include "utils.hpp" +#include "kyber/internals/utility/utils.hpp" +#include "kyber/kyber1024_kem.hpp" +#include "kyber/kyber512_kem.hpp" +#include "kyber/kyber768_kem.hpp" #include #include #include diff --git a/tests/test_ntt.cpp b/tests/test_ntt.cpp index c434ae5..0d70ae0 100644 --- a/tests/test_ntt.cpp +++ b/tests/test_ntt.cpp @@ -1,5 +1,5 @@ -#include "field.hpp" -#include "ntt.hpp" +#include "kyber/internals/math/field.hpp" +#include "kyber/internals/poly/ntt.hpp" #include #include diff --git a/tests/test_serialize.cpp b/tests/test_serialize.cpp index 1f1a3e0..048ad8e 100644 --- a/tests/test_serialize.cpp +++ b/tests/test_serialize.cpp @@ -1,5 +1,5 @@ -#include "field.hpp" -#include "serialize.hpp" +#include "kyber/internals/math/field.hpp" +#include "kyber/internals/poly/serialize.hpp" #include #include #include From 726b147dad897630c1060106c25c3274c23375e1 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Sun, 16 Jun 2024 13:25:26 +0400 Subject: [PATCH 12/30] Replace all links to round-3 Kyber specification with link of draft standard FIPS 203 from NIST Signed-off-by: Anjan Roy --- README.md | 6 +++--- include/kyber/internals/kem.hpp | 6 +++--- include/kyber/internals/pke.hpp | 6 +++--- include/kyber/internals/poly/compression.hpp | 4 ++-- include/kyber/internals/poly/ntt.hpp | 2 +- include/kyber/internals/poly/sampling.hpp | 8 ++++---- include/kyber/internals/poly/serialize.hpp | 4 ++-- include/kyber/internals/utility/params.hpp | 12 ++++++------ include/kyber/kyber1024_kem.hpp | 2 +- include/kyber/kyber512_kem.hpp | 2 +- include/kyber/kyber768_kem.hpp | 2 +- tests/test_compression.cpp | 2 +- 12 files changed, 28 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index cf7f044..5d95b2a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ > [!CAUTION] -> This Kyber implementation is conformant with Kyber specification https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf and I also *try* to make it timing leakage free, using **dudect** (see https://github.com/oreparaz/dudect) -based tests, but be informed that this implementation is not yet audited. *If you consider using it in production, be careful !* +> This Kyber implementation is conformant with Kyber specification https://doi.org/10.6028/NIST.FIPS.203.ipd and I also *try* to make it timing leakage free, using **dudect** (see https://github.com/oreparaz/dudect) -based tests, but be informed that this implementation is not yet audited. *If you consider using it in production, be careful !* # kyber CRYSTALS-Kyber: Post-Quantum Public-key Encryption & Key-establishment Algorithm @@ -21,7 +21,7 @@ Decapsulation | Secret Key and Cipher Text | SHAKE256 KDF Here I'm maintaining `kyber` - a header-only and easy-to-use ( see more in [usage](#usage) ) C++ library implementing Kyber KEM, supporting Kyber-{512, 768, 1024} parameter sets, as defined in table 1 of Kyber specification. `sha3`, `subtle` and `dudect` (for timing leakage tests) are dependencies of this library, which are pinned to specific git commits, using git submodule. > [!NOTE] -> Find Kyber specification https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf - this is the document that I followed when implementing Kyber. I suggest you go through the specification to get an in-depth understanding of Kyber PQC suite. +> Find Kyber specification https://doi.org/10.6028/NIST.FIPS.203.ipd - this is the document that I followed when implementing Kyber. I suggest you go through the specification to get an in-depth understanding of Kyber PQC suite. ## Prerequisites @@ -452,7 +452,7 @@ Kyber768 KEM Routines | `kyber768_kem::` | [include/kyber768_kem.hpp](include/ky Kyber1024 KEM Routines | `kyber1024_kem::` | [include/kyber1024_kem.hpp](include/kyber1024_kem.hpp) > [!NOTE] -> Kyber parameter sets are selected from table 1 of Kyber specification https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf. +> Kyber parameter sets are selected from table 1 of Kyber specification https://doi.org/10.6028/NIST.FIPS.203.ipd. See example [program](./examples/kyber512_kem.cpp), where I show how to use Kyber512 KEM API. You can almost similarly use Kyber768 or Kyber1024 KEM API, by just importing correct header file and using KEM functions/ constants from respective namespace. diff --git a/include/kyber/internals/kem.hpp b/include/kyber/internals/kem.hpp index 45d281b..fad5cb3 100644 --- a/include/kyber/internals/kem.hpp +++ b/include/kyber/internals/kem.hpp @@ -19,7 +19,7 @@ namespace kem { // secret key: (k * 24 * 32 + 96) -bytes wide [ includes public key ] // // See algorithm 7 defined in Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd // // Note, this routine allows you to pass two 32 -bytes seeds ( see first & // second parameter ), which is designed this way for ease of writing test cases @@ -71,7 +71,7 @@ keygen(std::span d, // used in CPA-PKE // otherwise it will return true, while producing both cipher text and shared secret. // // See algorithm 8 defined in Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd // // Note, this routine allows you to pass 32 -bytes seed ( see first parameter ), // which is designed this way for ease of writing test cases against known @@ -131,7 +131,7 @@ encapsulate(std::span m, // key primitives. // // See algorithm 9 defined in Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline void decapsulate(std::span seckey, diff --git a/include/kyber/internals/pke.hpp b/include/kyber/internals/pke.hpp index ba20f6e..fa0005d 100644 --- a/include/kyber/internals/pke.hpp +++ b/include/kyber/internals/pke.hpp @@ -19,7 +19,7 @@ namespace pke { // secret key: (k * 12 * 32) -bytes wide // // See algorithm 4 defined in Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd // // Note, this routine allows you to pass 32 -bytes seed ( see first parameter ), // which is designed this way for ease of writing test cases against known @@ -90,7 +90,7 @@ keygen(std::span d, std::span pubk // fails, it returns false, otherwise it returns true. // // See algorithm 5 defined in Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd template [[nodiscard("Use result of modulus check on public key")]] static inline bool encrypt(std::span pubkey, @@ -181,7 +181,7 @@ encrypt(std::span pubkey, // secret key. // // See algorithm 6 defined in Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline void decrypt(std::span seckey, std::span enc, std::span dec) diff --git a/include/kyber/internals/poly/compression.hpp b/include/kyber/internals/poly/compression.hpp index bd12cfb..05159dd 100644 --- a/include/kyber/internals/poly/compression.hpp +++ b/include/kyber/internals/poly/compression.hpp @@ -11,7 +11,7 @@ namespace kyber_utils { // some low-order bits, computing y ∈ [0, 2^d) | d < round(log2(q)) // // See top of page 5 of Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd // // Following implementation collects inspiration from https://github.com/FiloSottile/mlkem768/blob/cffbfb96c407b3cfc9f6e1749475b673794402c1/mlkem768.go#L395-L425. template @@ -38,7 +38,7 @@ compress(const field::zq_t x) // defined in eq. 2 of Kyber specification. // // See top of page 5 of Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline constexpr field::zq_t decompress(const field::zq_t x) diff --git a/include/kyber/internals/poly/ntt.hpp b/include/kyber/internals/poly/ntt.hpp index 85daa1c..c64846d 100644 --- a/include/kyber/internals/poly/ntt.hpp +++ b/include/kyber/internals/poly/ntt.hpp @@ -183,7 +183,7 @@ intt(std::span poly) // h = f * g mod X ^ 2 − ζ ^ (2 * br<7>(i) + 1) | i ∈ [0, 128) // // See page 6 of Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd static inline constexpr void basemul(std::span f, // degree-1 polynomial std::span g, // degree-1 polynomial diff --git a/include/kyber/internals/poly/sampling.hpp b/include/kyber/internals/poly/sampling.hpp index 3535843..19fa827 100644 --- a/include/kyber/internals/poly/sampling.hpp +++ b/include/kyber/internals/poly/sampling.hpp @@ -18,7 +18,7 @@ namespace kyber_utils { // statiscally close to randomly sampled elements of R_q. // // See algorithm 1, defined in Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd inline void parse(shake128::shake128_t& hasher, std::span poly) { @@ -52,7 +52,7 @@ parse(shake128::shake128_t& hasher, std::span poly) // -bytes key and two nonces ( each of 1 -byte ) // // See step (4-8) of algorithm 4/ 5, defined in Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline void generate_matrix(std::span mat, std::span rho) @@ -89,7 +89,7 @@ generate_matrix(std::span mat, std::span static inline void cbd(std::span prf, std::span poly) @@ -141,7 +141,7 @@ cbd(std::span prf, std::span poly) // Sample a polynomial vector from Bη, following step (9-12) of algorithm 4, // defined in Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline void generate_vector(std::span vec, std::span sigma, const uint8_t nonce) diff --git a/include/kyber/internals/poly/serialize.hpp b/include/kyber/internals/poly/serialize.hpp index 11106ed..79f422c 100644 --- a/include/kyber/internals/poly/serialize.hpp +++ b/include/kyber/internals/poly/serialize.hpp @@ -12,7 +12,7 @@ namespace kyber_utils { // byte array of length 32 * l -bytes // // See algorithm 3 described in section 1.1 ( page 7 ) of Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline void encode(std::span poly, std::span arr) @@ -148,7 +148,7 @@ encode(std::span poly, std::span arr // ) coefficient ∈ [0, 2^l) // // See algorithm 3 described in section 1.1 ( page 7 ) of Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline void decode(std::span arr, std::span poly) diff --git a/include/kyber/internals/utility/params.hpp b/include/kyber/internals/utility/params.hpp index 33f0ced..a1476e0 100644 --- a/include/kyber/internals/utility/params.hpp +++ b/include/kyber/internals/utility/params.hpp @@ -10,7 +10,7 @@ namespace kyber_params { // bounds. // // See page 5 of Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd consteval bool check_d(const size_t d) { @@ -58,7 +58,7 @@ check_matrix_dim(const size_t a_cols, const size_t b_rows) // invoked with proper parameter set. // // See algorithm 4, 7 and table 1 of Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd consteval bool check_keygen_params(const size_t k, const size_t eta1) { @@ -73,7 +73,7 @@ check_keygen_params(const size_t k, const size_t eta1) // invoked with proper parameter set. // // See algorithm 5 and table 1 of Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd consteval bool check_encrypt_params(const size_t k, const size_t η1, const size_t η2, const size_t du, const size_t dv) { @@ -88,7 +88,7 @@ check_encrypt_params(const size_t k, const size_t η1, const size_t η2, const s // invoked with proper parameter set. // // See algorithm 6 and table 1 of Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd consteval bool check_decrypt_params(const size_t k, const size_t du, const size_t dv) { @@ -103,7 +103,7 @@ check_decrypt_params(const size_t k, const size_t du, const size_t dv) // invoked with proper parameter set. // // See algorithm 8 and table 1 of Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd consteval bool check_encap_params(const size_t k, const size_t η1, const size_t η2, const size_t du, const size_t dv) { @@ -114,7 +114,7 @@ check_encap_params(const size_t k, const size_t η1, const size_t η2, const siz // invoked with proper parameter set. // // See algorithm 9 and table 1 of Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd consteval bool check_decap_params(const size_t k, const size_t η1, const size_t η2, const size_t du, const size_t dv) { diff --git a/include/kyber/kyber1024_kem.hpp b/include/kyber/kyber1024_kem.hpp index e5c6b8e..8df14bb 100644 --- a/include/kyber/kyber1024_kem.hpp +++ b/include/kyber/kyber1024_kem.hpp @@ -6,7 +6,7 @@ namespace kyber1024_kem { // See row 3 of table 1 of specification @ -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd constexpr size_t k = 4; constexpr size_t η1 = 2; diff --git a/include/kyber/kyber512_kem.hpp b/include/kyber/kyber512_kem.hpp index d67778a..ebca867 100644 --- a/include/kyber/kyber512_kem.hpp +++ b/include/kyber/kyber512_kem.hpp @@ -5,7 +5,7 @@ namespace kyber512_kem { // See row 1 of table 1 of specification @ -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd constexpr size_t k = 2; constexpr size_t η1 = 3; diff --git a/include/kyber/kyber768_kem.hpp b/include/kyber/kyber768_kem.hpp index 4374479..b26009d 100644 --- a/include/kyber/kyber768_kem.hpp +++ b/include/kyber/kyber768_kem.hpp @@ -5,7 +5,7 @@ namespace kyber768_kem { // See row 2 of table 1 of specification @ -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd constexpr size_t k = 3; constexpr size_t η1 = 2; diff --git a/tests/test_compression.cpp b/tests/test_compression.cpp index 0efee66..ff8d291 100644 --- a/tests/test_compression.cpp +++ b/tests/test_compression.cpp @@ -8,7 +8,7 @@ // |(x' - x) mod q| <= round(q / 2 ^ (d + 1)) // // See eq. 2 of Kyber specification -// https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf +// https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline constexpr size_t compute_error() From bb8ef1e8d6dab07256090065705f213a04ea9c60 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Mon, 17 Jun 2024 11:10:53 +0400 Subject: [PATCH 13/30] Rename constants, holding byte length information, to be more evident Signed-off-by: Anjan Roy --- benchmarks/bench_kem.cpp | 4 +-- examples/kyber512_kem.cpp | 12 +++---- include/kyber/internals/kem.hpp | 4 +-- include/kyber/internals/utility/utils.hpp | 2 +- include/kyber/kyber1024_kem.hpp | 18 +++++----- include/kyber/kyber512_kem.hpp | 18 +++++----- include/kyber/kyber768_kem.hpp | 18 +++++----- tests/dudect/test_kyber1024_kem.cpp | 18 +++++----- tests/dudect/test_kyber512_kem.cpp | 18 +++++----- tests/dudect/test_kyber768_kem.cpp | 18 +++++----- tests/test_kem.cpp | 2 +- tests/test_kem_kat.cpp | 40 +++++++++++------------ 12 files changed, 86 insertions(+), 86 deletions(-) diff --git a/benchmarks/bench_kem.cpp b/benchmarks/bench_kem.cpp index 48de174..46728b5 100644 --- a/benchmarks/bench_kem.cpp +++ b/benchmarks/bench_kem.cpp @@ -65,7 +65,7 @@ bench_encapsulate(benchmark::State& state) constexpr size_t slen = 32; constexpr size_t pklen = kyber_utils::get_kem_public_key_len(k); constexpr size_t sklen = kyber_utils::get_kem_secret_key_len(k); - constexpr size_t ctlen = kyber_utils::get_kem_cipher_len(k, du, dv); + constexpr size_t ctlen = kyber_utils::get_kem_cipher_text_len(k, du, dv); constexpr size_t klen = 32; std::vector d(slen); @@ -131,7 +131,7 @@ bench_decapsulate(benchmark::State& state) constexpr size_t slen = 32; constexpr size_t pklen = kyber_utils::get_kem_public_key_len(k); constexpr size_t sklen = kyber_utils::get_kem_secret_key_len(k); - constexpr size_t ctlen = kyber_utils::get_kem_cipher_len(k, du, dv); + constexpr size_t ctlen = kyber_utils::get_kem_cipher_text_len(k, du, dv); constexpr size_t klen = 32; std::vector d(slen); diff --git a/examples/kyber512_kem.cpp b/examples/kyber512_kem.cpp index b44943b..56c9343 100644 --- a/examples/kyber512_kem.cpp +++ b/examples/kyber512_kem.cpp @@ -20,18 +20,18 @@ main() auto _z = std::span(z); // public/ private keypair - std::vector pkey(kyber512_kem::PKEY_LEN, 0); - std::vector skey(kyber512_kem::SKEY_LEN, 0); + std::vector pkey(kyber512_kem::PKEY_BYTE_LEN, 0); + std::vector skey(kyber512_kem::SKEY_BYTE_LEN, 0); - auto _pkey = std::span(pkey); - auto _skey = std::span(skey); + auto _pkey = std::span(pkey); + auto _skey = std::span(skey); // seed required for key encapsulation std::vector m(SEED_LEN, 0); - std::vector cipher(kyber512_kem::CIPHER_LEN, 0); + std::vector cipher(kyber512_kem::CIPHER_TEXT_BYTE_LEN, 0); auto _m = std::span(m); - auto _cipher = std::span(cipher); + auto _cipher = std::span(cipher); // shared secret that sender/ receiver arrives at std::vector shrd_key0(KEY_LEN, 0); diff --git a/include/kyber/internals/kem.hpp b/include/kyber/internals/kem.hpp index fad5cb3..81d390a 100644 --- a/include/kyber/internals/kem.hpp +++ b/include/kyber/internals/kem.hpp @@ -82,7 +82,7 @@ template [[nodiscard("Use result, it might fail because of malformed input public key")]] static inline bool encapsulate(std::span m, std::span pubkey, - std::span cipher, + std::span cipher, std::span shared_secret) requires(kyber_params::check_encap_params(k, eta1, eta2, du, dv)) { @@ -135,7 +135,7 @@ encapsulate(std::span m, template static inline void decapsulate(std::span seckey, - std::span cipher, + std::span cipher, std::span shared_secret) requires(kyber_params::check_decap_params(k, eta1, eta2, du, dv)) { diff --git a/include/kyber/internals/utility/utils.hpp b/include/kyber/internals/utility/utils.hpp index 49b4f6b..2f3f04a 100644 --- a/include/kyber/internals/utility/utils.hpp +++ b/include/kyber/internals/utility/utils.hpp @@ -98,7 +98,7 @@ get_kem_secret_key_len(const size_t k) // Compile-time compute IND-CCA-secure Kyber KEM cipher text length ( in bytes ) static inline constexpr size_t -get_kem_cipher_len(size_t k, size_t du, size_t dv) +get_kem_cipher_text_len(size_t k, size_t du, size_t dv) { return k * du * 32 + dv * 32; } diff --git a/include/kyber/kyber1024_kem.hpp b/include/kyber/kyber1024_kem.hpp index 8df14bb..56a558c 100644 --- a/include/kyber/kyber1024_kem.hpp +++ b/include/kyber/kyber1024_kem.hpp @@ -15,22 +15,22 @@ constexpr size_t du = 11; constexpr size_t dv = 5; // = 1568 -bytes Kyber1024 public key -constexpr size_t PKEY_LEN = kyber_utils::get_kem_public_key_len(k); +constexpr size_t PKEY_BYTE_LEN = kyber_utils::get_kem_public_key_len(k); // = 3168 -bytes Kyber1024 secret key -constexpr size_t SKEY_LEN = kyber_utils::get_kem_secret_key_len(k); +constexpr size_t SKEY_BYTE_LEN = kyber_utils::get_kem_secret_key_len(k); // = 1568 -bytes Kyber1024 cipher text length -constexpr size_t CIPHER_LEN = kyber_utils::get_kem_cipher_len(k, du, dv); +constexpr size_t CIPHER_TEXT_BYTE_LEN = kyber_utils::get_kem_cipher_text_len(k, du, dv); // = 32 -bytes Kyber1024 fixed size shared secret byte length -constexpr size_t SHARED_SECRET_LEN = 32; +constexpr size_t SHARED_SECRET_BYTE_LEN = 32; // Computes a new Kyber1024 KEM keypair s.t. public key is 1568 -bytes and // secret key is 3168 -bytes, given 32 -bytes seed d ( used in CPA-PKE ) and 32 // -bytes seed z ( used in CCA-KEM ). inline void -keygen(std::span d, std::span z, std::span pubkey, std::span seckey) +keygen(std::span d, std::span z, std::span pubkey, std::span seckey) { kem::keygen(d, z, pubkey, seckey); } @@ -44,9 +44,9 @@ keygen(std::span d, std::span z, std::span // Returned KDF can be used for deriving shared key of arbitrary bytes length. [[nodiscard("If public key is malformed, encapsulation fails")]] inline bool encapsulate(std::span m, - std::span pubkey, - std::span cipher, - std::span shared_secret) + std::span pubkey, + std::span cipher, + std::span shared_secret) { return kem::encapsulate(m, pubkey, cipher, shared_secret); } @@ -58,7 +58,7 @@ encapsulate(std::span m, // // Returned KDF can be used for deriving shared key of arbitrary bytes length. inline void -decapsulate(std::span seckey, std::span cipher, std::span shared_secret) +decapsulate(std::span seckey, std::span cipher, std::span shared_secret) { kem::decapsulate(seckey, cipher, shared_secret); } diff --git a/include/kyber/kyber512_kem.hpp b/include/kyber/kyber512_kem.hpp index ebca867..7aecae7 100644 --- a/include/kyber/kyber512_kem.hpp +++ b/include/kyber/kyber512_kem.hpp @@ -14,22 +14,22 @@ constexpr size_t du = 10; constexpr size_t dv = 4; // = 800 -bytes Kyber512 public key -constexpr size_t PKEY_LEN = kyber_utils::get_kem_public_key_len(k); +constexpr size_t PKEY_BYTE_LEN = kyber_utils::get_kem_public_key_len(k); // = 1632 -bytes Kyber512 secret key -constexpr size_t SKEY_LEN = kyber_utils::get_kem_secret_key_len(k); +constexpr size_t SKEY_BYTE_LEN = kyber_utils::get_kem_secret_key_len(k); // = 768 -bytes Kyber512 cipher text length -constexpr size_t CIPHER_LEN = kyber_utils::get_kem_cipher_len(k, du, dv); +constexpr size_t CIPHER_TEXT_BYTE_LEN = kyber_utils::get_kem_cipher_text_len(k, du, dv); // = 32 -bytes Kyber512 fixed size shared secret byte length -constexpr size_t SHARED_SECRET_LEN = 32; +constexpr size_t SHARED_SECRET_BYTE_LEN = 32; // Computes a new Kyber512 KEM keypair s.t. public key is 800 -bytes and secret // key is 1632 -bytes, given 32 -bytes seed d ( used in CPA-PKE ) and 32 -bytes // seed z ( used in CCA-KEM ). inline void -keygen(std::span d, std::span z, std::span pubkey, std::span seckey) +keygen(std::span d, std::span z, std::span pubkey, std::span seckey) { kem::keygen(d, z, pubkey, seckey); } @@ -43,9 +43,9 @@ keygen(std::span d, std::span z, std::span // Returned KDF can be used for deriving shared key of arbitrary bytes length. [[nodiscard("If public key is malformed, encapsulation fails")]] inline bool encapsulate(std::span m, - std::span pubkey, - std::span cipher, - std::span shared_secret) + std::span pubkey, + std::span cipher, + std::span shared_secret) { return kem::encapsulate(m, pubkey, cipher, shared_secret); } @@ -57,7 +57,7 @@ encapsulate(std::span m, // // Returned KDF can be used for deriving shared key of arbitrary bytes length. inline void -decapsulate(std::span seckey, std::span cipher, std::span shared_secret) +decapsulate(std::span seckey, std::span cipher, std::span shared_secret) { kem::decapsulate(seckey, cipher, shared_secret); } diff --git a/include/kyber/kyber768_kem.hpp b/include/kyber/kyber768_kem.hpp index b26009d..0997c1c 100644 --- a/include/kyber/kyber768_kem.hpp +++ b/include/kyber/kyber768_kem.hpp @@ -14,22 +14,22 @@ constexpr size_t du = 10; constexpr size_t dv = 4; // = 1184 -bytes Kyber768 public key -constexpr size_t PKEY_LEN = kyber_utils::get_kem_public_key_len(k); +constexpr size_t PKEY_BYTE_LEN = kyber_utils::get_kem_public_key_len(k); // = 2400 -bytes Kyber768 secret key -constexpr size_t SKEY_LEN = kyber_utils::get_kem_secret_key_len(k); +constexpr size_t SKEY_BYTE_LEN = kyber_utils::get_kem_secret_key_len(k); // = 1088 -bytes Kyber768 cipher text length -constexpr size_t CIPHER_LEN = kyber_utils::get_kem_cipher_len(k, du, dv); +constexpr size_t CIPHER_TEXT_BYTE_LEN = kyber_utils::get_kem_cipher_text_len(k, du, dv); // = 32 -bytes Kyber768 fixed size shared secret byte length -constexpr size_t SHARED_SECRET_LEN = 32; +constexpr size_t SHARED_SECRET_BYTE_LEN = 32; // Computes a new Kyber768 KEM keypair s.t. public key is 1184 -bytes and secret // key is 2400 -bytes, given 32 -bytes seed d ( used in CPA-PKE ) and 32 -bytes // seed z ( used in CCA-KEM ). inline void -keygen(std::span d, std::span z, std::span pubkey, std::span seckey) +keygen(std::span d, std::span z, std::span pubkey, std::span seckey) { kem::keygen(d, z, pubkey, seckey); } @@ -43,9 +43,9 @@ keygen(std::span d, std::span z, std::span // Returned KDF can be used for deriving shared key of arbitrary bytes length. [[nodiscard("If public key is malformed, encapsulation fails")]] inline bool encapsulate(std::span m, - std::span pubkey, - std::span cipher, - std::span shared_secret) + std::span pubkey, + std::span cipher, + std::span shared_secret) { return kem::encapsulate(m, pubkey, cipher, shared_secret); } @@ -57,7 +57,7 @@ encapsulate(std::span m, // // Returned KDF can be used for deriving shared key of arbitrary bytes length. inline void -decapsulate(std::span seckey, std::span cipher, std::span shared_secret) +decapsulate(std::span seckey, std::span cipher, std::span shared_secret) { kem::decapsulate(seckey, cipher, shared_secret); } diff --git a/tests/dudect/test_kyber1024_kem.cpp b/tests/dudect/test_kyber1024_kem.cpp index 54d628a..35e275e 100644 --- a/tests/dudect/test_kyber1024_kem.cpp +++ b/tests/dudect/test_kyber1024_kem.cpp @@ -12,8 +12,8 @@ do_one_computation(uint8_t* const data) constexpr size_t doff0 = 0; constexpr size_t doff1 = doff0 + SEED_LEN; constexpr size_t doff2 = doff1 + 1; - constexpr size_t doff3 = doff2 + kyber1024_kem::CIPHER_LEN; - constexpr size_t doff4 = doff3 + kyber1024_kem::CIPHER_LEN; + constexpr size_t doff3 = doff2 + kyber1024_kem::CIPHER_TEXT_BYTE_LEN; + constexpr size_t doff4 = doff3 + kyber1024_kem::CIPHER_TEXT_BYTE_LEN; constexpr size_t doff5 = doff4 + SEED_LEN; constexpr size_t doff6 = doff5 + SEED_LEN; @@ -41,7 +41,7 @@ do_one_computation(uint8_t* const data) std::array sink{}; auto _sink = std::span(sink); - using ctxt_t = std::span; + using ctxt_t = std::span; using seed_t = std::span; // Ensure Fujisaki-Okamoto transform, used during decapsulation, is constant-time @@ -71,12 +71,12 @@ prepare_inputs(dudect_config_t* const c, uint8_t* const input_data, uint8_t* con dudect_state_t test_kyber1024_kem() { - constexpr size_t chunk_size = SEED_LEN + // bytes holding seed `sigma` - 1 + // single byte nonce - kyber1024_kem::CIPHER_LEN + // bytes holding received cipher text - kyber1024_kem::CIPHER_LEN + // bytes for locally computed cipher text - SEED_LEN + // bytes for first source buffer to copy from - SEED_LEN; // bytes for second source buffer to copy from + constexpr size_t chunk_size = SEED_LEN + // bytes holding seed `sigma` + 1 + // single byte nonce + kyber1024_kem::CIPHER_TEXT_BYTE_LEN + // bytes holding received cipher text + kyber1024_kem::CIPHER_TEXT_BYTE_LEN + // bytes for locally computed cipher text + SEED_LEN + // bytes for first source buffer to copy from + SEED_LEN; // bytes for second source buffer to copy from constexpr size_t number_measurements = 1e5; dudect_config_t config = { diff --git a/tests/dudect/test_kyber512_kem.cpp b/tests/dudect/test_kyber512_kem.cpp index c4e1b64..8cb605e 100644 --- a/tests/dudect/test_kyber512_kem.cpp +++ b/tests/dudect/test_kyber512_kem.cpp @@ -13,8 +13,8 @@ do_one_computation(uint8_t* const data) constexpr size_t doff0 = 0; constexpr size_t doff1 = doff0 + SEED_LEN; constexpr size_t doff2 = doff1 + 1; - constexpr size_t doff3 = doff2 + kyber512_kem::CIPHER_LEN; - constexpr size_t doff4 = doff3 + kyber512_kem::CIPHER_LEN; + constexpr size_t doff3 = doff2 + kyber512_kem::CIPHER_TEXT_BYTE_LEN; + constexpr size_t doff4 = doff3 + kyber512_kem::CIPHER_TEXT_BYTE_LEN; constexpr size_t doff5 = doff4 + SEED_LEN; constexpr size_t doff6 = doff5 + SEED_LEN; @@ -42,7 +42,7 @@ do_one_computation(uint8_t* const data) std::array sink{}; auto _sink = std::span(sink); - using ctxt_t = std::span; + using ctxt_t = std::span; using seed_t = std::span; // Ensure Fujisaki-Okamoto transform, used during decapsulation, is constant-time @@ -72,12 +72,12 @@ prepare_inputs(dudect_config_t* const c, uint8_t* const input_data, uint8_t* con dudect_state_t test_kyber512_kem() { - constexpr size_t chunk_size = SEED_LEN + // bytes holding seed `sigma` - 1 + // single byte nonce - kyber512_kem::CIPHER_LEN + // bytes holding received cipher text - kyber512_kem::CIPHER_LEN + // bytes for locally computed cipher text - SEED_LEN + // bytes for first source buffer to copy from - SEED_LEN; // bytes for second source buffer to copy from + constexpr size_t chunk_size = SEED_LEN + // bytes holding seed `sigma` + 1 + // single byte nonce + kyber512_kem::CIPHER_TEXT_BYTE_LEN + // bytes holding received cipher text + kyber512_kem::CIPHER_TEXT_BYTE_LEN + // bytes for locally computed cipher text + SEED_LEN + // bytes for first source buffer to copy from + SEED_LEN; // bytes for second source buffer to copy from constexpr size_t number_measurements = 1e5; dudect_config_t config = { diff --git a/tests/dudect/test_kyber768_kem.cpp b/tests/dudect/test_kyber768_kem.cpp index ac7f61d..976307e 100644 --- a/tests/dudect/test_kyber768_kem.cpp +++ b/tests/dudect/test_kyber768_kem.cpp @@ -12,8 +12,8 @@ do_one_computation(uint8_t* const data) constexpr size_t doff0 = 0; constexpr size_t doff1 = doff0 + SEED_LEN; constexpr size_t doff2 = doff1 + 1; - constexpr size_t doff3 = doff2 + kyber768_kem::CIPHER_LEN; - constexpr size_t doff4 = doff3 + kyber768_kem::CIPHER_LEN; + constexpr size_t doff3 = doff2 + kyber768_kem::CIPHER_TEXT_BYTE_LEN; + constexpr size_t doff4 = doff3 + kyber768_kem::CIPHER_TEXT_BYTE_LEN; constexpr size_t doff5 = doff4 + SEED_LEN; constexpr size_t doff6 = doff5 + SEED_LEN; @@ -41,7 +41,7 @@ do_one_computation(uint8_t* const data) std::array sink{}; auto _sink = std::span(sink); - using ctxt_t = std::span; + using ctxt_t = std::span; using seed_t = std::span; // Ensure Fujisaki-Okamoto transform, used during decapsulation, is constant-time @@ -71,12 +71,12 @@ prepare_inputs(dudect_config_t* const c, uint8_t* const input_data, uint8_t* con dudect_state_t test_kyber768_kem() { - constexpr size_t chunk_size = SEED_LEN + // bytes holding seed `sigma` - 1 + // single byte nonce - kyber768_kem::CIPHER_LEN + // bytes holding received cipher text - kyber768_kem::CIPHER_LEN + // bytes for locally computed cipher text - SEED_LEN + // bytes for first source buffer to copy from - SEED_LEN; // bytes for second source buffer to copy from + constexpr size_t chunk_size = SEED_LEN + // bytes holding seed `sigma` + 1 + // single byte nonce + kyber768_kem::CIPHER_TEXT_BYTE_LEN + // bytes holding received cipher text + kyber768_kem::CIPHER_TEXT_BYTE_LEN + // bytes for locally computed cipher text + SEED_LEN + // bytes for first source buffer to copy from + SEED_LEN; // bytes for second source buffer to copy from constexpr size_t number_measurements = 1e5; dudect_config_t config = { diff --git a/tests/test_kem.cpp b/tests/test_kem.cpp index 4b49064..5f1c815 100644 --- a/tests/test_kem.cpp +++ b/tests/test_kem.cpp @@ -22,7 +22,7 @@ test_kyber_kem() constexpr size_t slen = 32; constexpr size_t pklen = kyber_utils::get_kem_public_key_len(k); constexpr size_t sklen = kyber_utils::get_kem_secret_key_len(k); - constexpr size_t ctlen = kyber_utils::get_kem_cipher_len(k, du, dv); + constexpr size_t ctlen = kyber_utils::get_kem_cipher_text_len(k, du, dv); constexpr size_t sslen = 32; std::vector d(slen); diff --git a/tests/test_kem_kat.cpp b/tests/test_kem_kat.cpp index 3942e7e..9beace4 100644 --- a/tests/test_kem_kat.cpp +++ b/tests/test_kem_kat.cpp @@ -50,11 +50,11 @@ TEST(KyberKEM, Kyber512KnownAnswerTests) auto _pk = std::string_view(pk); auto __pk = _pk.substr(_pk.find("="sv) + 2, _pk.size()); - auto ___pk = utils::from_hex(__pk); + auto ___pk = utils::from_hex(__pk); auto _sk = std::string_view(sk); auto __sk = _sk.substr(_sk.find("="sv) + 2, _sk.size()); - auto ___sk = utils::from_hex(__sk); + auto ___sk = utils::from_hex(__sk); auto _m = std::string_view(m); auto __m = _m.substr(_m.find("="sv) + 2, _m.size()); @@ -62,17 +62,17 @@ TEST(KyberKEM, Kyber512KnownAnswerTests) auto _ct = std::string_view(ct); auto __ct = _ct.substr(_ct.find("="sv) + 2, _ct.size()); - auto ___ct = utils::from_hex(__ct); + auto ___ct = utils::from_hex(__ct); auto _ss = std::string_view(ss); auto __ss = _ss.substr(_ss.find("="sv) + 2, _ss.size()); auto ___ss = utils::from_hex<32>(__ss); - std::array pkey{}; - std::array skey{}; - std::array ctxt{}; - std::array shrd_sec0{}; - std::array shrd_sec1{}; + std::array pkey{}; + std::array skey{}; + std::array ctxt{}; + std::array shrd_sec0{}; + std::array shrd_sec1{}; kyber512::keygen(___d, ___z, pkey, skey); (void)kyber512::encapsulate(___m, pkey, ctxt, shrd_sec0); @@ -131,11 +131,11 @@ TEST(KyberKEM, Kyber768KnownAnswerTests) auto _pk = std::string_view(pk); auto __pk = _pk.substr(_pk.find("="sv) + 2, _pk.size()); - auto ___pk = utils::from_hex(__pk); + auto ___pk = utils::from_hex(__pk); auto _sk = std::string_view(sk); auto __sk = _sk.substr(_sk.find("="sv) + 2, _sk.size()); - auto ___sk = utils::from_hex(__sk); + auto ___sk = utils::from_hex(__sk); auto _m = std::string_view(m); auto __m = _m.substr(_m.find("="sv) + 2, _m.size()); @@ -143,15 +143,15 @@ TEST(KyberKEM, Kyber768KnownAnswerTests) auto _ct = std::string_view(ct); auto __ct = _ct.substr(_ct.find("="sv) + 2, _ct.size()); - auto ___ct = utils::from_hex(__ct); + auto ___ct = utils::from_hex(__ct); auto _ss = std::string_view(ss); auto __ss = _ss.substr(_ss.find("="sv) + 2, _ss.size()); auto ___ss = utils::from_hex<32>(__ss); - std::array pkey{}; - std::array skey{}; - std::array ctxt{}; + std::array pkey{}; + std::array skey{}; + std::array ctxt{}; std::array shrd_sec0{}; std::array shrd_sec1{}; @@ -219,11 +219,11 @@ TEST(KyberKEM, Kyber1024KnownAnswerTests) auto _pk = std::string_view(pk); auto __pk = _pk.substr(_pk.find("="sv) + 2, _pk.size()); - auto ___pk = utils::from_hex(__pk); + auto ___pk = utils::from_hex(__pk); auto _sk = std::string_view(sk); auto __sk = _sk.substr(_sk.find("="sv) + 2, _sk.size()); - auto ___sk = utils::from_hex(__sk); + auto ___sk = utils::from_hex(__sk); auto _m = std::string_view(m); auto __m = _m.substr(_m.find("="sv) + 2, _m.size()); @@ -231,15 +231,15 @@ TEST(KyberKEM, Kyber1024KnownAnswerTests) auto _ct = std::string_view(ct); auto __ct = _ct.substr(_ct.find("="sv) + 2, _ct.size()); - auto ___ct = utils::from_hex(__ct); + auto ___ct = utils::from_hex(__ct); auto _ss = std::string_view(ss); auto __ss = _ss.substr(_ss.find("="sv) + 2, _ss.size()); auto ___ss = utils::from_hex<32>(__ss); - std::array pkey{}; - std::array skey{}; - std::array ctxt{}; + std::array pkey{}; + std::array skey{}; + std::array ctxt{}; std::array shrd_sec0{}; std::array shrd_sec1{}; From 7266777e9fb2f7177dcef18a05fe9cbd468d4235 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Mon, 17 Jun 2024 11:49:44 +0400 Subject: [PATCH 14/30] Update in-code comments for public headers of kyber{512, 768, 1024} KEM Signed-off-by: Anjan Roy --- include/kyber/kyber1024_kem.hpp | 68 ++++++++++++++++----------------- include/kyber/kyber512_kem.hpp | 67 ++++++++++++++++---------------- include/kyber/kyber768_kem.hpp | 67 ++++++++++++++++---------------- 3 files changed, 99 insertions(+), 103 deletions(-) diff --git a/include/kyber/kyber1024_kem.hpp b/include/kyber/kyber1024_kem.hpp index 56a558c..54b1e2f 100644 --- a/include/kyber/kyber1024_kem.hpp +++ b/include/kyber/kyber1024_kem.hpp @@ -1,49 +1,52 @@ #pragma once #include "kyber/internals/kem.hpp" -// Kyber Key Encapsulation Mechanism (KEM) instantiated with Kyber1024 -// parameters namespace kyber1024_kem { -// See row 3 of table 1 of specification @ -// https://doi.org/10.6028/NIST.FIPS.203.ipd +// ML-KEM Key Encapsulation Mechanism instantiated with ML-KEM-1024 parameters +// See row 3 of table 2 of ML-KEM specification @ https://doi.org/10.6028/NIST.FIPS.203.ipd -constexpr size_t k = 4; -constexpr size_t η1 = 2; -constexpr size_t η2 = 2; -constexpr size_t du = 11; -constexpr size_t dv = 5; +static constexpr size_t k = 4; +static constexpr size_t η1 = 2; +static constexpr size_t η2 = 2; +static constexpr size_t du = 11; +static constexpr size_t dv = 5; -// = 1568 -bytes Kyber1024 public key -constexpr size_t PKEY_BYTE_LEN = kyber_utils::get_kem_public_key_len(k); +// 32 -bytes seed `d`, used in underlying K-PKE key generation +static constexpr size_t SEED_D_BYTE_LEN = 32; -// = 3168 -bytes Kyber1024 secret key -constexpr size_t SKEY_BYTE_LEN = kyber_utils::get_kem_secret_key_len(k); +// 32 -bytes seed `z`, used in ML-KEM key generation +static constexpr size_t SEED_Z_BYTE_LEN = 32; -// = 1568 -bytes Kyber1024 cipher text length -constexpr size_t CIPHER_TEXT_BYTE_LEN = kyber_utils::get_kem_cipher_text_len(k, du, dv); +// 1568 -bytes ML-KEM-1024 public key +static constexpr size_t PKEY_BYTE_LEN = kyber_utils::get_kem_public_key_len(k); -// = 32 -bytes Kyber1024 fixed size shared secret byte length -constexpr size_t SHARED_SECRET_BYTE_LEN = 32; +// 3168 -bytes ML-KEM-1024 secret key +static constexpr size_t SKEY_BYTE_LEN = kyber_utils::get_kem_secret_key_len(k); -// Computes a new Kyber1024 KEM keypair s.t. public key is 1568 -bytes and -// secret key is 3168 -bytes, given 32 -bytes seed d ( used in CPA-PKE ) and 32 -// -bytes seed z ( used in CCA-KEM ). +// 32 -bytes seed `m`, used in ML-KEM encapsulation +static constexpr size_t SEED_M_BYTE_LEN = 32; + +// 1568 -bytes ML-KEM-1024 cipher text +static constexpr size_t CIPHER_TEXT_BYTE_LEN = kyber_utils::get_kem_cipher_text_len(k, du, dv); + +// 32 -bytes ML-KEM-1024 shared secret +static constexpr size_t SHARED_SECRET_BYTE_LEN = 32; + +// Computes a new ML-KEM-1024 keypair, given seed `d` and `z`. inline void -keygen(std::span d, std::span z, std::span pubkey, std::span seckey) +keygen(std::span d, + std::span z, + std::span pubkey, + std::span seckey) { kem::keygen(d, z, pubkey, seckey); } -// Given 32 -bytes seed m ( which is used during encapsulation ) and a Kyber1024 -// KEM public key ( of 1568 -bytes ), this routine computes a SHAKE256 XOF -// backed KDF (key derivation function) and 1568 -bytes of cipher text, which -// can only be decrypted by corresponding Kyber1024 KEM secret key, for arriving -// at same SHAKE256 XOF backed KDF. -// -// Returned KDF can be used for deriving shared key of arbitrary bytes length. +// Given seed `m` and a ML-KEM-1024 public key, this routine computes a ML-KEM-1024 cipher text and a fixed size shared secret. +// If, input ML-KEM-1024 public key is malformed, encapsulation will fail, returning false. [[nodiscard("If public key is malformed, encapsulation fails")]] inline bool -encapsulate(std::span m, +encapsulate(std::span m, std::span pubkey, std::span cipher, std::span shared_secret) @@ -51,12 +54,7 @@ encapsulate(std::span m, return kem::encapsulate(m, pubkey, cipher, shared_secret); } -// Given a Kyber1024 KEM secret key ( of 3168 -bytes ) and a cipher text of 1568 -// -bytes, which holds encrypted ( using corresponding Kyber1024 KEM public key -// ) 32 -bytes seed, this routine computes a SHAKE256 XOF backed KDF (key -// derivation function). -// -// Returned KDF can be used for deriving shared key of arbitrary bytes length. +// Given a ML-KEM-1024 secret key and a cipher text, this routine computes a fixed size shared secret. inline void decapsulate(std::span seckey, std::span cipher, std::span shared_secret) { diff --git a/include/kyber/kyber512_kem.hpp b/include/kyber/kyber512_kem.hpp index 7aecae7..25c11b9 100644 --- a/include/kyber/kyber512_kem.hpp +++ b/include/kyber/kyber512_kem.hpp @@ -1,48 +1,52 @@ #pragma once #include "kyber/internals/kem.hpp" -// Kyber Key Encapsulation Mechanism (KEM) instantiated with Kyber512 parameters namespace kyber512_kem { -// See row 1 of table 1 of specification @ -// https://doi.org/10.6028/NIST.FIPS.203.ipd +// ML-KEM Key Encapsulation Mechanism instantiated with ML-KEM-512 parameters +// See row 1 of table 2 of ML-KEM specification @ https://doi.org/10.6028/NIST.FIPS.203.ipd -constexpr size_t k = 2; -constexpr size_t η1 = 3; -constexpr size_t η2 = 2; -constexpr size_t du = 10; -constexpr size_t dv = 4; +static constexpr size_t k = 2; +static constexpr size_t η1 = 3; +static constexpr size_t η2 = 2; +static constexpr size_t du = 10; +static constexpr size_t dv = 4; -// = 800 -bytes Kyber512 public key -constexpr size_t PKEY_BYTE_LEN = kyber_utils::get_kem_public_key_len(k); +// 32 -bytes seed `d`, used in underlying K-PKE key generation +static constexpr size_t SEED_D_BYTE_LEN = 32; -// = 1632 -bytes Kyber512 secret key -constexpr size_t SKEY_BYTE_LEN = kyber_utils::get_kem_secret_key_len(k); +// 32 -bytes seed `z`, used in ML-KEM key generation +static constexpr size_t SEED_Z_BYTE_LEN = 32; -// = 768 -bytes Kyber512 cipher text length -constexpr size_t CIPHER_TEXT_BYTE_LEN = kyber_utils::get_kem_cipher_text_len(k, du, dv); +// 800 -bytes ML-KEM-512 public key +static constexpr size_t PKEY_BYTE_LEN = kyber_utils::get_kem_public_key_len(k); -// = 32 -bytes Kyber512 fixed size shared secret byte length -constexpr size_t SHARED_SECRET_BYTE_LEN = 32; +// 1632 -bytes ML-KEM-512 secret key +static constexpr size_t SKEY_BYTE_LEN = kyber_utils::get_kem_secret_key_len(k); -// Computes a new Kyber512 KEM keypair s.t. public key is 800 -bytes and secret -// key is 1632 -bytes, given 32 -bytes seed d ( used in CPA-PKE ) and 32 -bytes -// seed z ( used in CCA-KEM ). +// 32 -bytes seed `m`, used in ML-KEM encapsulation +static constexpr size_t SEED_M_BYTE_LEN = 32; + +// 768 -bytes ML-KEM-512 cipher text +static constexpr size_t CIPHER_TEXT_BYTE_LEN = kyber_utils::get_kem_cipher_text_len(k, du, dv); + +// 32 -bytes ML-KEM-512 shared secret +static constexpr size_t SHARED_SECRET_BYTE_LEN = 32; + +// Computes a new ML-KEM-512 keypair, given seed `d` and `z`. inline void -keygen(std::span d, std::span z, std::span pubkey, std::span seckey) +keygen(std::span d, + std::span z, + std::span pubkey, + std::span seckey) { kem::keygen(d, z, pubkey, seckey); } -// Given 32 -bytes seed m ( which is used during encapsulation ) and a Kyber512 -// KEM public key ( of 800 -bytes ), this routine computes a SHAKE256 XOF backed -// KDF (key derivation function) and 768 -bytes of cipher text, which can only -// be decrypted by corresponding Kyber512 KEM secret key, for arriving at same -// SHAKE256 XOF backed KDF. -// -// Returned KDF can be used for deriving shared key of arbitrary bytes length. +// Given seed `m` and a ML-KEM-512 public key, this routine computes a ML-KEM-512 cipher text and a fixed size shared secret. +// If, input ML-KEM-512 public key is malformed, encapsulation will fail, returning false. [[nodiscard("If public key is malformed, encapsulation fails")]] inline bool -encapsulate(std::span m, +encapsulate(std::span m, std::span pubkey, std::span cipher, std::span shared_secret) @@ -50,12 +54,7 @@ encapsulate(std::span m, return kem::encapsulate(m, pubkey, cipher, shared_secret); } -// Given a Kyber512 KEM secret key ( of 1632 -bytes ) and a cipher text of 768 -// -bytes, which holds encrypted ( using corresponding Kyber512 KEM public key ) -// 32 -bytes seed, this routine computes a SHAKE256 XOF backed KDF (key -// derivation function). -// -// Returned KDF can be used for deriving shared key of arbitrary bytes length. +// Given a ML-KEM-512 secret key and a cipher text, this routine computes a fixed size shared secret. inline void decapsulate(std::span seckey, std::span cipher, std::span shared_secret) { diff --git a/include/kyber/kyber768_kem.hpp b/include/kyber/kyber768_kem.hpp index 0997c1c..ce4263f 100644 --- a/include/kyber/kyber768_kem.hpp +++ b/include/kyber/kyber768_kem.hpp @@ -1,48 +1,52 @@ #pragma once #include "kyber/internals/kem.hpp" -// Kyber Key Encapsulation Mechanism (KEM) instantiated with Kyber768 parameters namespace kyber768_kem { -// See row 2 of table 1 of specification @ -// https://doi.org/10.6028/NIST.FIPS.203.ipd +// ML-KEM Key Encapsulation Mechanism instantiated with ML-KEM-768 parameters +// See row 2 of table 2 of ML-KEM specification @ https://doi.org/10.6028/NIST.FIPS.203.ipd -constexpr size_t k = 3; -constexpr size_t η1 = 2; -constexpr size_t η2 = 2; -constexpr size_t du = 10; -constexpr size_t dv = 4; +static constexpr size_t k = 3; +static constexpr size_t η1 = 2; +static constexpr size_t η2 = 2; +static constexpr size_t du = 10; +static constexpr size_t dv = 4; -// = 1184 -bytes Kyber768 public key -constexpr size_t PKEY_BYTE_LEN = kyber_utils::get_kem_public_key_len(k); +// 32 -bytes seed `d`, used in underlying K-PKE key generation +static constexpr size_t SEED_D_BYTE_LEN = 32; -// = 2400 -bytes Kyber768 secret key -constexpr size_t SKEY_BYTE_LEN = kyber_utils::get_kem_secret_key_len(k); +// 32 -bytes seed `z`, used in ML-KEM key generation +static constexpr size_t SEED_Z_BYTE_LEN = 32; -// = 1088 -bytes Kyber768 cipher text length -constexpr size_t CIPHER_TEXT_BYTE_LEN = kyber_utils::get_kem_cipher_text_len(k, du, dv); +// 1184 -bytes ML-KEM-768 public key +static constexpr size_t PKEY_BYTE_LEN = kyber_utils::get_kem_public_key_len(k); -// = 32 -bytes Kyber768 fixed size shared secret byte length -constexpr size_t SHARED_SECRET_BYTE_LEN = 32; +// 2400 -bytes ML-KEM-768 secret key +static constexpr size_t SKEY_BYTE_LEN = kyber_utils::get_kem_secret_key_len(k); -// Computes a new Kyber768 KEM keypair s.t. public key is 1184 -bytes and secret -// key is 2400 -bytes, given 32 -bytes seed d ( used in CPA-PKE ) and 32 -bytes -// seed z ( used in CCA-KEM ). +// 32 -bytes seed `m`, used in ML-KEM encapsulation +static constexpr size_t SEED_M_BYTE_LEN = 32; + +// 1088 -bytes ML-KEM-768 cipher text +static constexpr size_t CIPHER_TEXT_BYTE_LEN = kyber_utils::get_kem_cipher_text_len(k, du, dv); + +// 32 -bytes ML-KEM-768 shared secret +static constexpr size_t SHARED_SECRET_BYTE_LEN = 32; + +// Computes a new ML-KEM-768 keypair, given seed `d` and `z`. inline void -keygen(std::span d, std::span z, std::span pubkey, std::span seckey) +keygen(std::span d, + std::span z, + std::span pubkey, + std::span seckey) { kem::keygen(d, z, pubkey, seckey); } -// Given 32 -bytes seed m ( which is used during encapsulation ) and a Kyber768 -// KEM public key ( of 1184 -bytes ), this routine computes a SHAKE256 XOF -// backed KDF (key derivation function) and 1088 -bytes of cipher text, which -// can only be decrypted by corresponding Kyber768 KEM secret key, for arriving -// at same SHAKE256 XOF backed KDF. -// -// Returned KDF can be used for deriving shared key of arbitrary bytes length. +// Given seed `m` and a ML-KEM-768 public key, this routine computes a ML-KEM-768 cipher text and a fixed size shared secret. +// If, input ML-KEM-768 public key is malformed, encapsulation will fail, returning false. [[nodiscard("If public key is malformed, encapsulation fails")]] inline bool -encapsulate(std::span m, +encapsulate(std::span m, std::span pubkey, std::span cipher, std::span shared_secret) @@ -50,12 +54,7 @@ encapsulate(std::span m, return kem::encapsulate(m, pubkey, cipher, shared_secret); } -// Given a Kyber768 KEM secret key ( of 2400 -bytes ) and a cipher text of 1088 -// -bytes, which holds encrypted ( using corresponding Kyber768 KEM public key ) -// 32 -bytes seed, this routine computes a SHAKE256 XOF backed KDF (key -// derivation function). -// -// Returned KDF can be used for deriving shared key of arbitrary bytes length. +// Given a ML-KEM-768 secret key and a cipher text, this routine computes a fixed size shared secret. inline void decapsulate(std::span seckey, std::span cipher, std::span shared_secret) { From f26d6e06ea354147ca3678a7a36afb018a6dfe18 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Mon, 17 Jun 2024 11:57:54 +0400 Subject: [PATCH 15/30] Extract out functions for conversion between hex-string and byte-array, from core library logic Signed-off-by: Anjan Roy --- examples/kyber512_kem.cpp | 32 +++++++---- include/kyber/internals/utility/utils.hpp | 52 +---------------- tests/test_kem_kat.cpp | 70 ++++++++++++++++------- 3 files changed, 72 insertions(+), 82 deletions(-) diff --git a/examples/kyber512_kem.cpp b/examples/kyber512_kem.cpp index 56c9343..561c97c 100644 --- a/examples/kyber512_kem.cpp +++ b/examples/kyber512_kem.cpp @@ -1,7 +1,23 @@ #include "kyber/kyber512_kem.hpp" #include #include +#include #include +#include + +// Given a bytearray of length N, this function converts it to human readable hex formatted string of length 2*N | N >= 0. +static inline std::string +to_hex(std::span bytes) +{ + std::stringstream ss; + ss << std::hex; + + for (size_t i = 0; i < bytes.size(); i++) { + ss << std::setw(2) << std::setfill('0') << static_cast(bytes[i]); + } + + return ss.str(); +} // Compile it with // @@ -61,16 +77,12 @@ main() // check that both of the communicating parties arrived at same shared key assert(std::ranges::equal(_shrd_key0, _shrd_key1)); - { - using namespace kyber_utils; - - std::cout << "Kyber512 KEM\n"; - std::cout << "pubkey : " << to_hex(_pkey) << "\n"; - std::cout << "seckey : " << to_hex(_skey) << "\n"; - std::cout << "encapsulated ? : " << std::boolalpha << is_encapsulated << "\n"; - std::cout << "cipher : " << to_hex(_cipher) << "\n"; - std::cout << "shared secret : " << to_hex(_shrd_key0) << "\n"; - } + std::cout << "Kyber512 KEM\n"; + std::cout << "pubkey : " << to_hex(_pkey) << "\n"; + std::cout << "seckey : " << to_hex(_skey) << "\n"; + std::cout << "encapsulated ? : " << std::boolalpha << is_encapsulated << "\n"; + std::cout << "cipher : " << to_hex(_cipher) << "\n"; + std::cout << "shared secret : " << to_hex(_shrd_key0) << "\n"; return EXIT_SUCCESS; } diff --git a/include/kyber/internals/utility/utils.hpp b/include/kyber/internals/utility/utils.hpp index 2f3f04a..d84cee0 100644 --- a/include/kyber/internals/utility/utils.hpp +++ b/include/kyber/internals/utility/utils.hpp @@ -1,13 +1,6 @@ #pragma once #include "subtle.hpp" -#include -#include -#include -#include -#include -#include #include -#include // IND-CPA-secure Public Key Encryption Scheme Utilities namespace kyber_utils { @@ -15,7 +8,7 @@ namespace kyber_utils { // Given two byte arrays of equal length, this routine can be used for comparing them in constant-time, // producing truth value (0xffffffff) in case of equality, otherwise it returns false value (0x00000000). template -static inline uint32_t +static inline constexpr uint32_t ct_memcmp(std::span bytes0, std::span bytes1) { uint32_t flag = -1u; @@ -30,7 +23,7 @@ ct_memcmp(std::span bytes0, std::span bytes1 // copying bytes from either `source0` byte array (in case branch holds truth value) or `source1` byte array (if branch holds false value) // to `sink` byte array, all in constant-time. Note, all these byte arrays are of equal length. template -static inline void +static inline constexpr void ct_cond_memcpy(const uint32_t cond, std::span sink, std::span source0, std::span source1) { for (size_t i = 0; i < n; i++) { @@ -38,47 +31,6 @@ ct_cond_memcpy(const uint32_t cond, std::span sink, std::span= 0 -inline const std::string -to_hex(std::span bytes) -{ - std::stringstream ss; - ss << std::hex; - - for (size_t i = 0; i < bytes.size(); i++) { - ss << std::setw(2) << std::setfill('0') << static_cast(bytes[i]); - } - - return ss.str(); -} - -// Given a hex encoded string of length 2*L, this routine can be used for -// parsing it as a byte array of length L. -template -inline std::array -from_hex(std::string_view bytes) -{ - const size_t blen = bytes.length(); - - assert(blen % 2 == 0); - assert(blen / 2 == L); - - std::array res{}; - - for (size_t i = 0; i < L; i++) { - const size_t off = i * 2; - - uint8_t byte = 0; - auto sstr = bytes.substr(off, 2); - std::from_chars(sstr.data(), sstr.data() + 2, byte, 16); - - res[i] = byte; - } - - return res; -} - // Compile-time compute IND-CCA-secure Kyber KEM public key length ( in bytes ) static inline constexpr size_t get_kem_public_key_len(const size_t k) diff --git a/tests/test_kem_kat.cpp b/tests/test_kem_kat.cpp index 9beace4..f624f6e 100644 --- a/tests/test_kem_kat.cpp +++ b/tests/test_kem_kat.cpp @@ -1,11 +1,37 @@ -#include "kyber/internals/utility/utils.hpp" #include "kyber/kyber1024_kem.hpp" #include "kyber/kyber512_kem.hpp" #include "kyber/kyber768_kem.hpp" #include +#include #include #include +// Given a hex encoded string of length 2*L, this routine can be used for +// parsing it as a byte array of length L. +template +static inline std::array +from_hex(std::string_view bytes) +{ + const size_t blen = bytes.length(); + + assert(blen % 2 == 0); + assert(blen / 2 == L); + + std::array res{}; + + for (size_t i = 0; i < L; i++) { + const size_t off = i * 2; + + uint8_t byte = 0; + auto sstr = bytes.substr(off, 2); + std::from_chars(sstr.data(), sstr.data() + 2, byte, 16); + + res[i] = byte; + } + + return res; +} + // Test if // // - Is Kyber512 KEM implemented correctly ? @@ -42,31 +68,31 @@ TEST(KyberKEM, Kyber512KnownAnswerTests) auto _d = std::string_view(d); auto __d = _d.substr(_d.find("="sv) + 2, _d.size()); - auto ___d = utils::from_hex<32>(__d); + auto ___d = from_hex<32>(__d); auto _z = std::string_view(z); auto __z = _z.substr(_z.find("="sv) + 2, _z.size()); - auto ___z = utils::from_hex<32>(__z); + auto ___z = from_hex<32>(__z); auto _pk = std::string_view(pk); auto __pk = _pk.substr(_pk.find("="sv) + 2, _pk.size()); - auto ___pk = utils::from_hex(__pk); + auto ___pk = from_hex(__pk); auto _sk = std::string_view(sk); auto __sk = _sk.substr(_sk.find("="sv) + 2, _sk.size()); - auto ___sk = utils::from_hex(__sk); + auto ___sk = from_hex(__sk); auto _m = std::string_view(m); auto __m = _m.substr(_m.find("="sv) + 2, _m.size()); - auto ___m = utils::from_hex<32>(__m); + auto ___m = from_hex<32>(__m); auto _ct = std::string_view(ct); auto __ct = _ct.substr(_ct.find("="sv) + 2, _ct.size()); - auto ___ct = utils::from_hex(__ct); + auto ___ct = from_hex(__ct); auto _ss = std::string_view(ss); auto __ss = _ss.substr(_ss.find("="sv) + 2, _ss.size()); - auto ___ss = utils::from_hex<32>(__ss); + auto ___ss = from_hex<32>(__ss); std::array pkey{}; std::array skey{}; @@ -123,31 +149,31 @@ TEST(KyberKEM, Kyber768KnownAnswerTests) auto _d = std::string_view(d); auto __d = _d.substr(_d.find("="sv) + 2, _d.size()); - auto ___d = utils::from_hex<32>(__d); + auto ___d = from_hex<32>(__d); auto _z = std::string_view(z); auto __z = _z.substr(_z.find("="sv) + 2, _z.size()); - auto ___z = utils::from_hex<32>(__z); + auto ___z = from_hex<32>(__z); auto _pk = std::string_view(pk); auto __pk = _pk.substr(_pk.find("="sv) + 2, _pk.size()); - auto ___pk = utils::from_hex(__pk); + auto ___pk = from_hex(__pk); auto _sk = std::string_view(sk); auto __sk = _sk.substr(_sk.find("="sv) + 2, _sk.size()); - auto ___sk = utils::from_hex(__sk); + auto ___sk = from_hex(__sk); auto _m = std::string_view(m); auto __m = _m.substr(_m.find("="sv) + 2, _m.size()); - auto ___m = utils::from_hex<32>(__m); + auto ___m = from_hex<32>(__m); auto _ct = std::string_view(ct); auto __ct = _ct.substr(_ct.find("="sv) + 2, _ct.size()); - auto ___ct = utils::from_hex(__ct); + auto ___ct = from_hex(__ct); auto _ss = std::string_view(ss); auto __ss = _ss.substr(_ss.find("="sv) + 2, _ss.size()); - auto ___ss = utils::from_hex<32>(__ss); + auto ___ss = from_hex<32>(__ss); std::array pkey{}; std::array skey{}; @@ -211,31 +237,31 @@ TEST(KyberKEM, Kyber1024KnownAnswerTests) auto _d = std::string_view(d); auto __d = _d.substr(_d.find("="sv) + 2, _d.size()); - auto ___d = utils::from_hex<32>(__d); + auto ___d = from_hex<32>(__d); auto _z = std::string_view(z); auto __z = _z.substr(_z.find("="sv) + 2, _z.size()); - auto ___z = utils::from_hex<32>(__z); + auto ___z = from_hex<32>(__z); auto _pk = std::string_view(pk); auto __pk = _pk.substr(_pk.find("="sv) + 2, _pk.size()); - auto ___pk = utils::from_hex(__pk); + auto ___pk = from_hex(__pk); auto _sk = std::string_view(sk); auto __sk = _sk.substr(_sk.find("="sv) + 2, _sk.size()); - auto ___sk = utils::from_hex(__sk); + auto ___sk = from_hex(__sk); auto _m = std::string_view(m); auto __m = _m.substr(_m.find("="sv) + 2, _m.size()); - auto ___m = utils::from_hex<32>(__m); + auto ___m = from_hex<32>(__m); auto _ct = std::string_view(ct); auto __ct = _ct.substr(_ct.find("="sv) + 2, _ct.size()); - auto ___ct = utils::from_hex(__ct); + auto ___ct = from_hex(__ct); auto _ss = std::string_view(ss); auto __ss = _ss.substr(_ss.find("="sv) + 2, _ss.size()); - auto ___ss = utils::from_hex<32>(__ss); + auto ___ss = from_hex<32>(__ss); std::array pkey{}; std::array skey{}; From df2139ba0f1b7293e748244020134a74775d76f2 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Mon, 17 Jun 2024 12:14:19 +0400 Subject: [PATCH 16/30] Refactor PRNG implementation to take `bit_security_level` as a template parameter Signed-off-by: Anjan Roy --- benchmarks/bench_kem.cpp | 32 ++++++++++----------- examples/kyber512_kem.cpp | 2 +- include/kyber/internals/math/field.hpp | 3 +- include/kyber/internals/rng/prng.hpp | 40 +++++++++++--------------- tests/test_compression.cpp | 2 +- tests/test_field.cpp | 2 +- tests/test_kem.cpp | 10 +++---- tests/test_kem_kat.cpp | 3 -- tests/test_ntt.cpp | 2 +- tests/test_serialize.cpp | 2 +- 10 files changed, 44 insertions(+), 54 deletions(-) diff --git a/benchmarks/bench_kem.cpp b/benchmarks/bench_kem.cpp index 46728b5..e0faf74 100644 --- a/benchmarks/bench_kem.cpp +++ b/benchmarks/bench_kem.cpp @@ -4,7 +4,7 @@ #include // Benchmarking IND-CCA2-secure Kyber KEM key generation algorithm -template +template void bench_keygen(benchmark::State& state) { @@ -22,7 +22,7 @@ bench_keygen(benchmark::State& state) auto _pkey = std::span(pkey); auto _skey = std::span(skey); - prng::prng_t prng; + prng::prng_t prng{}; prng.read(_d); prng.read(_z); @@ -58,7 +58,7 @@ bench_keygen(benchmark::State& state) } // Benchmarking IND-CCA2-secure Kyber KEM encapsulation algorithm -template +template void bench_encapsulate(benchmark::State& state) { @@ -84,7 +84,7 @@ bench_encapsulate(benchmark::State& state) auto _cipher = std::span(cipher); auto _sender_key = std::span(sender_key); - prng::prng_t prng; + prng::prng_t prng{}; prng.read(_d); prng.read(_z); @@ -124,7 +124,7 @@ bench_encapsulate(benchmark::State& state) } // Benchmarking IND-CCA2-secure Kyber KEM decapsulation algorithm -template +template void bench_decapsulate(benchmark::State& state) { @@ -152,7 +152,7 @@ bench_decapsulate(benchmark::State& state) auto _sender_key = std::span(sender_key); auto _receiver_key = std::span(receiver_key); - prng::prng_t prng; + prng::prng_t prng{}; prng.read(_d); prng.read(_z); @@ -193,19 +193,17 @@ bench_decapsulate(benchmark::State& state) #endif } -// Register for benchmarking IND-CCA2-secure Kyber Key Encapsulation Mechanism - // Kyber512 -BENCHMARK(bench_keygen<2, 3>)->Name("kyber512/keygen")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); -BENCHMARK(bench_encapsulate<2, 3, 2, 10, 4>)->Name("kyber512/encap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); -BENCHMARK(bench_decapsulate<2, 3, 2, 10, 4>)->Name("kyber512/decap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_keygen<2, 3, 128>)->Name("kyber512/keygen")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_encapsulate<2, 3, 2, 10, 4, 128>)->Name("kyber512/encap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_decapsulate<2, 3, 2, 10, 4, 128>)->Name("kyber512/decap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); // Kyber768 -BENCHMARK(bench_keygen<3, 2>)->Name("kyber768/keygen")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); -BENCHMARK(bench_encapsulate<3, 2, 2, 10, 4>)->Name("kyber768/encap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); -BENCHMARK(bench_decapsulate<3, 2, 2, 10, 4>)->Name("kyber768/decap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_keygen<3, 2, 192>)->Name("kyber768/keygen")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_encapsulate<3, 2, 2, 10, 4, 192>)->Name("kyber768/encap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_decapsulate<3, 2, 2, 10, 4, 192>)->Name("kyber768/decap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); // Kyber1024 -BENCHMARK(bench_keygen<4, 2>)->Name("kyber1024/keygen")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); -BENCHMARK(bench_encapsulate<4, 2, 2, 11, 5>)->Name("kyber1024/encap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); -BENCHMARK(bench_decapsulate<4, 2, 2, 11, 5>)->Name("kyber1024/decap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_keygen<4, 2, 256>)->Name("kyber1024/keygen")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_encapsulate<4, 2, 2, 11, 5, 256>)->Name("kyber1024/encap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_decapsulate<4, 2, 2, 11, 5, 256>)->Name("kyber1024/decap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); diff --git a/examples/kyber512_kem.cpp b/examples/kyber512_kem.cpp index 561c97c..46c5479 100644 --- a/examples/kyber512_kem.cpp +++ b/examples/kyber512_kem.cpp @@ -57,7 +57,7 @@ main() auto _shrd_key1 = std::span(shrd_key1); // pseudo-randomness source - prng::prng_t prng; + prng::prng_t<128> prng{}; // fill up seeds using PRNG prng.read(_d); diff --git a/include/kyber/internals/math/field.hpp b/include/kyber/internals/math/field.hpp index 677097a..27a557d 100644 --- a/include/kyber/internals/math/field.hpp +++ b/include/kyber/internals/math/field.hpp @@ -115,7 +115,8 @@ public: inline constexpr bool operator==(const zq_t rhs) const { return this->v == rhs.v; } // Samples a random Zq element, using pseudo random number generator. - static inline zq_t random(prng::prng_t& prng) + template + static inline zq_t random(prng::prng_t& prng) { uint16_t res = 0; prng.read(std::span(reinterpret_cast(&res), sizeof(res))); diff --git a/include/kyber/internals/rng/prng.hpp b/include/kyber/internals/rng/prng.hpp index bda7e87..d3fbc4a 100644 --- a/include/kyber/internals/rng/prng.hpp +++ b/include/kyber/internals/rng/prng.hpp @@ -1,44 +1,39 @@ #pragma once #include "shake256.hpp" -#include +#include #include -#include -// Pseudo Random Number Generator namespace prng { -// Pseudo Random Number Generator s.t. N (>0) -many random bytes are read from -// SHAKE256 XOF state, arbitrary many times s.t. SHAKE256 state is obtained by +// Pseudo Random Number Generator s.t. N (>0) -many random bytes are read from SHAKE256 Xof state, arbitrary many times s.t. SHAKE256 state is obtained by // -// - either hashing 32 -bytes sampled using std::random_device ( default ) -// - or hashing M(>0) -bytes supplied as argument ( explicit ) +// - either hashing `bit_security_level / 8` -bytes sampled using std::random_device ( default ) +// - or hashing `bit_security_level / 8` -bytes supplied as argument ( explicit ) // -// Note, std::random_device's behaviour is implementation defined feature, so -// this PRNG implementation doesn't guarantee that it'll generate cryptographic -// secure random bytes if you opt for using default constructor of this struct. +// Note, std::random_device's behaviour is implementation defined feature, so this PRNG implementation doesn't guarantee that +// it'll generate cryptographic secure random bytes if you opt for using default constructor of this struct. // -// I suggest you read -// https://en.cppreference.com/w/cpp/numeric/random/random_device/random_device -// before using default constructor. When using explicit constructor, it's -// your responsibility to supply M -many random seed bytes. +// I strongly suggest you read https://en.cppreference.com/w/cpp/numeric/random/random_device/random_device before using default constructor. +// When using explicit constructor, it's your responsibility to supply `bit_security_level / 8` -many random seed bytes. +template + requires((bit_security_level == 128) || (bit_security_level == 192) || (bit_security_level == 256)) struct prng_t { private: - shake256::shake256_t state; + shake256::shake256_t state{}; public: // Default constructor which seeds PRNG with system randomness. inline prng_t() { - std::array seed{}; + std::array::digits> seed{}; auto _seed = std::span(seed); - // Read more @ - // https://en.cppreference.com/w/cpp/numeric/random/random_device/random_device + // Read more @ https://en.cppreference.com/w/cpp/numeric/random/random_device/random_device std::random_device rd{}; size_t off = 0; - while (off < sizeof(seed)) { + while (off < _seed.size()) { const uint32_t v = rd(); std::memcpy(_seed.subspan(off, sizeof(v)).data(), &v, sizeof(v)); @@ -50,15 +45,14 @@ public: } // Explicit constructor which can be used for seeding PRNG. - inline explicit prng_t(std::span seed) + inline explicit constexpr prng_t(std::span::digits> seed) { state.absorb(seed); state.finalize(); } - // Once PRNG is seeded i.e. PRNG object is constructed, you can request - // arbitrary many pseudo-random bytes from PRNG. - inline void read(std::span bytes) { state.squeeze(bytes); } + // Once PRNG is seeded i.e. PRNG object is constructed, you can request arbitrary many pseudo-random bytes from PRNG. + inline constexpr void read(std::span bytes) { state.squeeze(bytes); } }; } diff --git a/tests/test_compression.cpp b/tests/test_compression.cpp index ff8d291..b5eea38 100644 --- a/tests/test_compression.cpp +++ b/tests/test_compression.cpp @@ -36,7 +36,7 @@ test_zq_compression() requires(itr_cnt > 0) { bool res = true; - prng::prng_t prng; + prng::prng_t<256> prng{}; for (size_t i = 0; i < itr_cnt; i++) { const auto a = field::zq_t::random(prng); diff --git a/tests/test_field.cpp b/tests/test_field.cpp index f01cf8c..09f3ab6 100644 --- a/tests/test_field.cpp +++ b/tests/test_field.cpp @@ -7,7 +7,7 @@ TEST(KyberKEM, ArithmeticOverZq) { constexpr size_t itr_cnt = 1ul << 20; - prng::prng_t prng; + prng::prng_t<128> prng{}; for (size_t i = 0; i < itr_cnt; i++) { const auto a = field::zq_t::random(prng); diff --git a/tests/test_kem.cpp b/tests/test_kem.cpp index 5f1c815..4a8bccf 100644 --- a/tests/test_kem.cpp +++ b/tests/test_kem.cpp @@ -15,7 +15,7 @@ // - This shared secret key can now be used with any symmetric key primitive. // // works as expected. -template +template void test_kyber_kem() { @@ -43,7 +43,7 @@ test_kyber_kem() auto _sender_key = std::span(sender_key); auto _receiver_key = std::span(receiver_key); - prng::prng_t prng; + prng::prng_t prng{}; prng.read(d); prng.read(z); prng.read(m); @@ -57,15 +57,15 @@ test_kyber_kem() TEST(KyberKEM, Kyber512KeygenEncapsDecaps) { - test_kyber_kem<2, 3, 2, 10, 4>(); + test_kyber_kem<2, 3, 2, 10, 4, 128>(); } TEST(KyberKEM, Kyber768KeygenEncapsDecaps) { - test_kyber_kem<3, 2, 2, 10, 4>(); + test_kyber_kem<3, 2, 2, 10, 4, 192>(); } TEST(KyberKEM, Kyber1024KeygenEncapsDecaps) { - test_kyber_kem<4, 2, 2, 11, 5>(); + test_kyber_kem<4, 2, 2, 11, 5, 256>(); } diff --git a/tests/test_kem_kat.cpp b/tests/test_kem_kat.cpp index f624f6e..ece46bc 100644 --- a/tests/test_kem_kat.cpp +++ b/tests/test_kem_kat.cpp @@ -42,7 +42,6 @@ from_hex(std::string_view bytes) TEST(KyberKEM, Kyber512KnownAnswerTests) { using namespace std::literals; - namespace utils = kyber_utils; namespace kyber512 = kyber512_kem; const std::string kat_file = "./kats/kyber512.kat"; @@ -123,7 +122,6 @@ TEST(KyberKEM, Kyber512KnownAnswerTests) TEST(KyberKEM, Kyber768KnownAnswerTests) { using namespace std::literals; - namespace utils = kyber_utils; namespace kyber768 = kyber768_kem; const std::string kat_file = "./kats/kyber768.kat"; @@ -211,7 +209,6 @@ TEST(KyberKEM, Kyber768KnownAnswerTests) TEST(KyberKEM, Kyber1024KnownAnswerTests) { using namespace std::literals; - namespace utils = kyber_utils; namespace kyber1024 = kyber1024_kem; const std::string kat_file = "./kats/kyber1024.kat"; diff --git a/tests/test_ntt.cpp b/tests/test_ntt.cpp index 0d70ae0..ab24d0e 100644 --- a/tests/test_ntt.cpp +++ b/tests/test_ntt.cpp @@ -19,7 +19,7 @@ TEST(KyberKEM, NumberTheoreticTransform) auto _poly_a = std::span(poly_a); auto _poly_b = std::span(poly_b); - prng::prng_t prng; + prng::prng_t<128> prng{}; for (size_t i = 0; i < ntt::N; i++) { _poly_a[i] = field::zq_t::random(prng); diff --git a/tests/test_serialize.cpp b/tests/test_serialize.cpp index 048ad8e..b097fc5 100644 --- a/tests/test_serialize.cpp +++ b/tests/test_serialize.cpp @@ -21,7 +21,7 @@ test_serialize_deserialize() std::vector dst(ntt::N); std::vector bytes(blen); - prng::prng_t prng; + prng::prng_t<256> prng{}; for (size_t i = 0; i < ntt::N; i++) { src[i] = field::zq_t::random(prng); From 61eaffbb2b3b7cbda4f8fad08c17c214c0c99fa2 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Mon, 17 Jun 2024 12:28:35 +0400 Subject: [PATCH 17/30] Refactor arithmetic over Zq Signed-off-by: Anjan Roy --- include/kyber/internals/math/field.hpp | 126 +++++++------------ include/kyber/internals/poly/compression.hpp | 2 +- 2 files changed, 49 insertions(+), 79 deletions(-) diff --git a/include/kyber/internals/math/field.hpp b/include/kyber/internals/math/field.hpp index 27a557d..a68d1e7 100644 --- a/include/kyber/internals/math/field.hpp +++ b/include/kyber/internals/math/field.hpp @@ -3,14 +3,13 @@ #include #include -// Prime field arithmetic over Zq, for Kyber PQC Algorithm s.t. q = 3329 namespace field { // Kyber Prime Field Modulus ( = 3329 ) -constexpr uint32_t Q = (1u << 8) * 13 + 1; +static constexpr uint32_t Q = (1u << 8) * 13 + 1; // Bit width of Kyber Prime Field Modulus ( = 12 ) -constexpr size_t RADIX_BIT_WIDTH = std::bit_width(Q); +static constexpr size_t Q_BIT_WIDTH = std::bit_width(Q); // Precomputed Barrett Reduction Constant // @@ -20,64 +19,71 @@ constexpr size_t RADIX_BIT_WIDTH = std::bit_width(Q); // r = floor((1 << 2k) / Q) = 5039 // // See https://www.nayuki.io/page/barrett-reduction-algorithm. -constexpr uint32_t R = (1u << (2 * RADIX_BIT_WIDTH)) / Q; +static constexpr uint32_t R = (1u << (2 * Q_BIT_WIDTH)) / Q; // Prime field Zq | q = 3329, with arithmetic operations defined over it. // -// This implementation collects inspiration from -// https://github.com/itzmeanjan/dilithium/blob/3fe6ab61d2d70c1a0b71fc6ed4449f64da08b020/include/field.hpp. +// Collects inspiration from https://github.com/itzmeanjan/dilithium/blob/3fe6ab61/include/field.hpp. struct zq_t { -public: - // Returns prime field element 0. - inline constexpr zq_t() = default; +private: + // Underlying value held in this type. + // + // Note, v is always kept in its canonical form i.e. v ∈ [0, Q). + uint32_t v = 0u; - // Constructs field element s.t. input is already reduced by prime modulo Q. + // Given a 32 -bit unsigned integer `v` such that `v` ∈ [0, 2*Q), this routine can be invoked for reducing `v` modulo prime Q. + static inline constexpr uint32_t reduce_once(const uint32_t v) + { + const uint32_t t0 = v - Q; + const uint32_t t1 = -(t0 >> 31); + const uint32_t t2 = Q & t1; + const uint32_t t3 = t0 + t2; + + return t3; + } + + // Given a 32 -bit unsigned integer `v` such that `v` ∈ [0, Q*Q), this routine can be invoked for reducing `v` modulo Q, using + // barrett reduction technique, following algorithm description @ https://www.nayuki.io/page/barrett-reduction-algorithm. + static inline constexpr uint32_t barrett_reduce(const uint32_t v) + { + const uint64_t t0 = static_cast(v) * static_cast(R); + const uint32_t t1 = static_cast(t0 >> (2 * Q_BIT_WIDTH)); + const uint32_t t2 = t1 * Q; + const uint32_t t = v - t2; + + return reduce_once(t); + } + +public: + // Constructor(s) + inline constexpr zq_t() = default; inline constexpr zq_t(const uint16_t a) { this->v = a; } // Returns canonical value held under Zq type. Returned value must ∈ [0, Q). inline constexpr uint32_t raw() const { return this->v; } - // Returns prime field element 0. - static inline constexpr zq_t zero() { return zq_t(); } - - // Returns prime field element 1. + static inline constexpr zq_t zero() { return zq_t(0u); } static inline constexpr zq_t one() { return zq_t(1u); } // Modulo addition of two Zq elements. - inline constexpr zq_t operator+(const zq_t rhs) const - { - const uint32_t t = this->v + rhs.v; - return zq_t(reduce_once(t)); - } - - // Compound modulo addition of two Zq elements. - inline constexpr void operator+=(const zq_t rhs) { *this = *this + rhs; } + inline constexpr zq_t operator+(const zq_t& rhs) const { return reduce_once(this->v + rhs.v); } + inline constexpr void operator+=(const zq_t& rhs) { *this = *this + rhs; } // Modulo negation of a Zq element. inline constexpr zq_t operator-() const { return zq_t(Q - this->v); } // Modulo subtraction of one Zq element from another one. - inline constexpr zq_t operator-(const zq_t rhs) const { return *this + (-rhs); } - - // Compound modulo subtraction of two Zq elements. - inline constexpr void operator-=(const zq_t rhs) { *this = *this - rhs; } + inline constexpr zq_t operator-(const zq_t& rhs) const { return *this + (-rhs); } + inline constexpr void operator-=(const zq_t& rhs) { *this = *this - rhs; } // Modulo multiplication of two Zq elements. - inline constexpr zq_t operator*(const zq_t rhs) const - { - auto res = zq_t(); - res.v = barrett_reduce(this->v * rhs.v); - return res; - } - - // Compound modulo multiplication of two Zq elements. - inline constexpr void operator*=(const zq_t rhs) { *this = *this * rhs; } + inline constexpr zq_t operator*(const zq_t& rhs) const { return barrett_reduce(this->v * rhs.v); } + inline constexpr void operator*=(const zq_t& rhs) { *this = *this * rhs; } // Modulo exponentiation of Zq element. // - // Taken from - // https://github.com/itzmeanjan/dilithium/blob/3fe6ab61d2d70c1a0b71fc6ed4449f64da08b020/include/field.hpp#L144-L167. + // Taken from https://github.com/itzmeanjan/dilithium/blob/3fe6ab61/include/field.hpp#L144-L167. inline constexpr zq_t operator^(const size_t n) const { zq_t base = *this; @@ -98,21 +104,14 @@ public: return res; } - // Multiplicative inverse of Zq element. + // Multiplicative inverse of Zq element. Also division of one Zq element by another one. // - // Note, if Zq element is 0, we can't compute multiplicative inverse and 0 is - // returned. + // Note, if Zq element is 0, we can't compute multiplicative inverse and 0 is returned. inline constexpr zq_t inv() const { return *this ^ static_cast((Q - 2)); } + inline constexpr zq_t operator/(const zq_t& rhs) const { return *this * rhs.inv(); } - // Modulo division of two Zq elements. - // - // Note, if denominator is 0, returned result is 0 too, becaue we can't - // compute multiplicative inverse of 0. - inline constexpr zq_t operator/(const zq_t rhs) const { return *this * rhs.inv(); } - - // Compare two Zq elements, returning truth value, in case they are same, - // otherwise returns false value. - inline constexpr bool operator==(const zq_t rhs) const { return this->v == rhs.v; } + // Comparison operators, see https://en.cppreference.com/w/cpp/language/default_comparisons + inline constexpr auto operator<=>(const zq_t&) const = default; // Samples a random Zq element, using pseudo random number generator. template @@ -123,35 +122,6 @@ public: return zq_t(barrett_reduce(static_cast(res))); } - -private: - // Underlying value held in this type. - // - // Note, v is always kept in its canonical form i.e. v ∈ [0, Q). - uint32_t v = 0u; - - // Given a 32 -bit unsigned integer `v` such that `v` ∈ [0, Q*Q), this routine can be invoked for reducing `v` modulo Q, using - // barrett reduction technique, following algorithm description @ https://www.nayuki.io/page/barrett-reduction-algorithm. - static inline constexpr uint32_t barrett_reduce(const uint32_t v) - { - const uint64_t t0 = static_cast(v) * static_cast(R); - const uint32_t t1 = static_cast(t0 >> (2 * RADIX_BIT_WIDTH)); - const uint32_t t2 = t1 * Q; - const uint32_t t = v - t2; - - return reduce_once(t); - } - - // Given a 32 -bit unsigned integer `v` such that `v` ∈ [0, 2*Q), this routine can be invoked for reducing `v` modulo prime Q. - static inline constexpr uint32_t reduce_once(const uint32_t v) - { - const uint32_t t0 = v - Q; - const uint32_t t1 = -(t0 >> 31); - const uint32_t t2 = Q & t1; - const uint32_t t3 = t0 + t2; - - return t3; - } }; } diff --git a/include/kyber/internals/poly/compression.hpp b/include/kyber/internals/poly/compression.hpp index 05159dd..2ec10c3 100644 --- a/include/kyber/internals/poly/compression.hpp +++ b/include/kyber/internals/poly/compression.hpp @@ -22,7 +22,7 @@ compress(const field::zq_t x) constexpr uint16_t mask = (1u << d) - 1; const auto dividend = x.raw() << d; - const auto quotient0 = static_cast((static_cast(dividend) * field::R) >> (field::RADIX_BIT_WIDTH * 2)); + const auto quotient0 = static_cast((static_cast(dividend) * field::R) >> (field::Q_BIT_WIDTH * 2)); const auto remainder = dividend - quotient0 * field::Q; const auto quotient1 = quotient0 + ((((field::Q / 2) - remainder) >> 31) & 1); From bb1a5ace5121f0a0265018e7a7d048a6b3c4df5f Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Tue, 18 Jun 2024 11:06:14 +0400 Subject: [PATCH 18/30] Refactor utility functions Signed-off-by: Anjan Roy --- include/kyber/internals/utility/params.hpp | 56 ++++++++-------------- include/kyber/internals/utility/utils.hpp | 11 +++-- 2 files changed, 26 insertions(+), 41 deletions(-) diff --git a/include/kyber/internals/utility/params.hpp b/include/kyber/internals/utility/params.hpp index a1476e0..e7f872f 100644 --- a/include/kyber/internals/utility/params.hpp +++ b/include/kyber/internals/utility/params.hpp @@ -1,64 +1,56 @@ #pragma once #include -// Holds compile-time executable functions, ensuring that routines are invoked -// with proper arguments. +// Holds compile-time executable functions, ensuring that functions are invoked with proper arguments. namespace kyber_params { -// Compile-time check to ensure that number of bits ( read `d` ) to consider -// during polynomial coefficient compression/ decompression is within tolerable -// bounds. +// Compile-time check to ensure that number of bits ( read `d` ) to consider during +// polynomial coefficient compression/ decompression is within tolerable bounds. // -// See page 5 of Kyber specification -// https://doi.org/10.6028/NIST.FIPS.203.ipd +// See "Compression and Decompression" section on page 18 of ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. consteval bool check_d(const size_t d) { // $ python3 // >>> import math - // >>> a = math.log2(3329) # == 11.700873155140263 + // >>> Q = 3329 + // >>> a = math.log2(Q) # == 11.700873155140263 // >>> math.round(a) # == 12 constexpr size_t log2d = 12ul; return d < log2d; } -// Compile-time check to ensure that functions requiring η as parameter are -// invoked with proper argument. +// Compile-time check to ensure that functions requiring `η` as parameter are invoked with proper argument. consteval bool check_eta(const size_t eta) { return (eta == 2) || (eta == 3); } -// Compile-time check to ensure that functions requiring k as parameter are -// invoked with proper argument. +// Compile-time check to ensure that functions requiring `k` as parameter are invoked with proper argument. consteval bool check_k(const size_t k) { return (k == 2) || (k == 3) || (k == 4); } -// Compile-time check to ensure that polynomial to byte array encodoing ( and -// decoding ) routines are invoked with proper params. +// Compile-time check to ensure that polynomial to byte array encoding ( and decoding ) routines are invoked with proper params. consteval bool check_l(const size_t l) { return (l == 1) || (l == 4) || (l == 5) || (l == 10) || (l == 11) || (l == 12); } -// Compile-time check to ensure that operand matrices are having compatible -// dimension for matrix multiplication +// Compile-time check to ensure that operand matrices are having compatible dimension for matrix multiplication. consteval bool check_matrix_dim(const size_t a_cols, const size_t b_rows) { return !static_cast(a_cols ^ b_rows); } -// Compile-time check to ensure that Kyber PKE, KEM key generation routine is -// invoked with proper parameter set. +// Compile-time check to ensure that both K-PKE, ML-KEM key generation routine is invoked with proper parameter set. // -// See algorithm 4, 7 and table 1 of Kyber specification -// https://doi.org/10.6028/NIST.FIPS.203.ipd +// See table 2 of ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. consteval bool check_keygen_params(const size_t k, const size_t eta1) { @@ -69,11 +61,9 @@ check_keygen_params(const size_t k, const size_t eta1) return flg0 || flg1 || flg2; } -// Compile-time check to ensure that Kyber PKE's encryption routine is -// invoked with proper parameter set. +// Compile-time check to ensure that K-PKE encryption routine is invoked with proper parameter set. // -// See algorithm 5 and table 1 of Kyber specification -// https://doi.org/10.6028/NIST.FIPS.203.ipd +// See table 2 of ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. consteval bool check_encrypt_params(const size_t k, const size_t η1, const size_t η2, const size_t du, const size_t dv) { @@ -84,11 +74,9 @@ check_encrypt_params(const size_t k, const size_t η1, const size_t η2, const s return flg0 || flg1 || flg2; } -// Compile-time check to ensure that Kyber PKE's decryption routine is -// invoked with proper parameter set. +// Compile-time check to ensure that K-PKE decryption routine is invoked with proper parameter set. // -// See algorithm 6 and table 1 of Kyber specification -// https://doi.org/10.6028/NIST.FIPS.203.ipd +// See table 2 of ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. consteval bool check_decrypt_params(const size_t k, const size_t du, const size_t dv) { @@ -99,22 +87,18 @@ check_decrypt_params(const size_t k, const size_t du, const size_t dv) return flg0 || flg1 || flg2; } -// Compile-time check to ensure that Kyber KEM's encapsulation routine is -// invoked with proper parameter set. +// Compile-time check to ensure that ML-KEM encapsulation routine is invoked with proper parameter set. // -// See algorithm 8 and table 1 of Kyber specification -// https://doi.org/10.6028/NIST.FIPS.203.ipd +// See table 2 of ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. consteval bool check_encap_params(const size_t k, const size_t η1, const size_t η2, const size_t du, const size_t dv) { return check_encrypt_params(k, η1, η2, du, dv); } -// Compile-time check to ensure that Kyber KEM's encapsulation routine is -// invoked with proper parameter set. +// Compile-time check to ensure that ML-KEM encapsulation routine is invoked with proper parameter set. // -// See algorithm 9 and table 1 of Kyber specification -// https://doi.org/10.6028/NIST.FIPS.203.ipd +// See table 2 of ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. consteval bool check_decap_params(const size_t k, const size_t η1, const size_t η2, const size_t du, const size_t dv) { diff --git a/include/kyber/internals/utility/utils.hpp b/include/kyber/internals/utility/utils.hpp index d84cee0..fbfb0f1 100644 --- a/include/kyber/internals/utility/utils.hpp +++ b/include/kyber/internals/utility/utils.hpp @@ -2,7 +2,6 @@ #include "subtle.hpp" #include -// IND-CPA-secure Public Key Encryption Scheme Utilities namespace kyber_utils { // Given two byte arrays of equal length, this routine can be used for comparing them in constant-time, @@ -21,7 +20,9 @@ ct_memcmp(std::span bytes0, std::span bytes1 // Given a branch value, taking either 0x00000000 (false value) or 0xffffffff (truth value), this routine can be used for conditionally // copying bytes from either `source0` byte array (in case branch holds truth value) or `source1` byte array (if branch holds false value) -// to `sink` byte array, all in constant-time. Note, all these byte arrays are of equal length. +// to `sink` byte array, all in constant-time. +// +// In simple words, `sink = cond ? source0 ? source1` template static inline constexpr void ct_cond_memcpy(const uint32_t cond, std::span sink, std::span source0, std::span source1) @@ -31,14 +32,14 @@ ct_cond_memcpy(const uint32_t cond, std::span sink, std::span Date: Tue, 18 Jun 2024 11:41:43 +0400 Subject: [PATCH 19/30] Refactor PKE and KEM implementation Signed-off-by: Anjan Roy --- benchmarks/bench_kem.cpp | 14 +-- .../kyber/internals/{pke.hpp => k_pke.hpp} | 69 +++----------- .../kyber/internals/{kem.hpp => ml_kem.hpp} | 89 ++++++------------- include/kyber/kyber1024_kem.hpp | 8 +- include/kyber/kyber512_kem.hpp | 8 +- include/kyber/kyber768_kem.hpp | 8 +- tests/test_kem.cpp | 8 +- 7 files changed, 62 insertions(+), 142 deletions(-) rename include/kyber/internals/{pke.hpp => k_pke.hpp} (71%) rename include/kyber/internals/{kem.hpp => ml_kem.hpp} (56%) diff --git a/benchmarks/bench_kem.cpp b/benchmarks/bench_kem.cpp index e0faf74..bcd205e 100644 --- a/benchmarks/bench_kem.cpp +++ b/benchmarks/bench_kem.cpp @@ -1,5 +1,5 @@ #include "bench_helper.hpp" -#include "kyber/internals/kem.hpp" +#include "kyber/internals/ml_kem.hpp" #include "x86_64_cpu_ticks.hpp" #include @@ -35,7 +35,7 @@ bench_keygen(benchmark::State& state) const uint64_t start = cpu_ticks(); #endif - kem::keygen(_d, _z, _pkey, _skey); + ml_kem::keygen(_d, _z, _pkey, _skey); benchmark::DoNotOptimize(_d); benchmark::DoNotOptimize(_z); @@ -88,7 +88,7 @@ bench_encapsulate(benchmark::State& state) prng.read(_d); prng.read(_z); - kem::keygen(_d, _z, _pkey, _skey); + ml_kem::keygen(_d, _z, _pkey, _skey); prng.read(_m); @@ -101,7 +101,7 @@ bench_encapsulate(benchmark::State& state) const uint64_t start = cpu_ticks(); #endif - (void)kem::encapsulate(_m, _pkey, _cipher, _sender_key); + (void)ml_kem::encapsulate(_m, _pkey, _cipher, _sender_key); benchmark::DoNotOptimize(_m); benchmark::DoNotOptimize(_pkey); @@ -156,11 +156,11 @@ bench_decapsulate(benchmark::State& state) prng.read(_d); prng.read(_z); - kem::keygen(_d, _z, _pkey, _skey); + ml_kem::keygen(_d, _z, _pkey, _skey); prng.read(_m); - (void)kem::encapsulate(_m, _pkey, _cipher, _sender_key); + (void)ml_kem::encapsulate(_m, _pkey, _cipher, _sender_key); #ifdef __x86_64__ uint64_t total_ticks = 0ul; @@ -171,7 +171,7 @@ bench_decapsulate(benchmark::State& state) const uint64_t start = cpu_ticks(); #endif - kem::decapsulate(_skey, _cipher, _receiver_key); + ml_kem::decapsulate(_skey, _cipher, _receiver_key); benchmark::DoNotOptimize(_skey); benchmark::DoNotOptimize(_cipher); diff --git a/include/kyber/internals/pke.hpp b/include/kyber/internals/k_pke.hpp similarity index 71% rename from include/kyber/internals/pke.hpp rename to include/kyber/internals/k_pke.hpp index fa0005d..e71d8ee 100644 --- a/include/kyber/internals/pke.hpp +++ b/include/kyber/internals/k_pke.hpp @@ -5,33 +5,17 @@ #include "kyber/internals/utility/params.hpp" #include "kyber/internals/utility/utils.hpp" #include "sha3_512.hpp" -#include -#include -// IND-CPA-secure Public Key Encryption Scheme -namespace pke { +// Public Key Encryption Scheme +namespace k_pke { -// Kyber CPAPKE key generation algorithm, which takes two parameters `k` & `η1` -// ( read eta1 ) and generates byte serialized public key and secret key of -// following length -// -// public key: (k * 12 * 32 + 32) -bytes wide -// secret key: (k * 12 * 32) -bytes wide -// -// See algorithm 4 defined in Kyber specification -// https://doi.org/10.6028/NIST.FIPS.203.ipd -// -// Note, this routine allows you to pass 32 -bytes seed ( see first parameter ), -// which is designed this way for ease of writing test cases against known -// answer tests, obtained from Kyber reference implementation -// https://github.com/pq-crystals/kyber.git. It also helps in properly -// benchmarking underlying PKE's key generation implementation. +// K-PKE key generation algorithm, generating byte serialized public key and secret keym given a 32 -bytes input seed `d`. +// See algorithm 12 of K-PKE specification https://doi.org/10.6028/NIST.FIPS.203.ipd. template static inline void keygen(std::span d, std::span pubkey, std::span seckey) requires(kyber_params::check_keygen_params(k, eta1)) { - // step 2 std::array g_out{}; auto _g_out = std::span(g_out); @@ -43,34 +27,27 @@ keygen(std::span d, std::span pubk const auto rho = _g_out.template subspan<0, 32>(); const auto sigma = _g_out.template subspan(); - // step 4, 5, 6, 7, 8 std::array A_prime{}; kyber_utils::generate_matrix(A_prime, rho); - // step 3 uint8_t N = 0; - // step 9, 10, 11, 12 std::array s{}; kyber_utils::generate_vector(s, sigma, N); N += k; - // step 13, 14, 15, 16 std::array e{}; kyber_utils::generate_vector(e, sigma, N); N += k; - // step 17, 18 kyber_utils::poly_vec_ntt(s); kyber_utils::poly_vec_ntt(e); - // step 19 std::array t_prime{}; kyber_utils::matrix_multiply(A_prime, s, t_prime); kyber_utils::poly_vec_add_to(e, t_prime); - // step 20, 21, 22 constexpr size_t pkoff = k * 12 * 32; auto _pubkey0 = pubkey.template subspan<0, pkoff>(); auto _pubkey1 = pubkey.template subspan(); @@ -80,17 +57,13 @@ keygen(std::span d, std::span pubk kyber_utils::poly_vec_encode(s, seckey); } -// Given (k * 12 * 32 + 32) -bytes *valid* public key, 32 -bytes message ( to be -// encrypted ) and 32 -bytes random coin ( from where all randomness is -// deterministically sampled ), this routine encrypts message using -// INDCPA-secure Kyber encryption algorithm, computing compressed cipher text of -// (k * du * 32 + dv * 32) -bytes. +// Given a *valid* K-PKE public key, 32 -bytes message ( to be encrypted ) and 32 -bytes random coin +// ( from where all randomness is deterministically sampled ), this routine encrypts message using +// K-PKE encryption algorithm, computing compressed cipher text. // -// If modulus check, as described in point (2) of section 6.2 of ML-KEM draft standard, -// fails, it returns false, otherwise it returns true. +// If modulus check, as described in point (2) of section 6.2 of ML-KEM draft standard, fails, it returns false. // -// See algorithm 5 defined in Kyber specification -// https://doi.org/10.6028/NIST.FIPS.203.ipd +// See algorithm 13 of K-PKE specification https://doi.org/10.6028/NIST.FIPS.203.ipd. template [[nodiscard("Use result of modulus check on public key")]] static inline bool encrypt(std::span pubkey, @@ -99,7 +72,6 @@ encrypt(std::span pubkey, std::span enc) requires(kyber_params::check_encrypt_params(k, eta1, eta2, du, dv)) { - // step 2, 3 constexpr size_t pkoff = k * 12 * 32; auto _pubkey0 = pubkey.template subspan<0, pkoff>(); auto rho = pubkey.template subspan(); @@ -117,38 +89,30 @@ encrypt(std::span pubkey, return false; } - // step 4, 5, 6, 7, 8 std::array A_prime{}; kyber_utils::generate_matrix(A_prime, rho); - // step 1 uint8_t N = 0; - // step 9, 10, 11, 12 std::array r{}; kyber_utils::generate_vector(r, rcoin, N); N += k; - // step 13, 14, 15, 16 std::array e1{}; kyber_utils::generate_vector(e1, rcoin, N); N += k; - // step 17 std::array e2{}; kyber_utils::generate_vector<1, eta2>(e2, rcoin, N); - // step 18 kyber_utils::poly_vec_ntt(r); - // step 19 std::array u{}; kyber_utils::matrix_multiply(A_prime, r, u); kyber_utils::poly_vec_intt(u); kyber_utils::poly_vec_add_to(e1, u); - // step 20 std::array v{}; kyber_utils::matrix_multiply<1, k, k, 1>(t_prime, r, v); @@ -164,24 +128,19 @@ encrypt(std::span pubkey, auto _enc0 = enc.template subspan<0, encoff>(); auto _enc1 = enc.template subspan(); - // step 21 kyber_utils::poly_vec_compress(u); kyber_utils::poly_vec_encode(u, _enc0); - // step 22 kyber_utils::poly_compress(v); kyber_utils::encode(v, _enc1); return true; } -// Given (k * 12 * 32) -bytes secret key and (k * du * 32 + dv * 32) -bytes -// encrypted ( cipher ) text, this routine recovers 32 -bytes plain text which -// was encrypted using respective public key, which is associated with this -// secret key. +// Given K-PKE secret key and cipher text, this routine recovers 32 -bytes plain text which +// was encrypted using K-PKE public key i.e. associated with this secret key. // -// See algorithm 6 defined in Kyber specification -// https://doi.org/10.6028/NIST.FIPS.203.ipd +// See algorithm 14 defined in K-PKE specification https://doi.org/10.6028/NIST.FIPS.203.ipd. template static inline void decrypt(std::span seckey, std::span enc, std::span dec) @@ -191,23 +150,19 @@ decrypt(std::span seckey, std::span(); auto _enc1 = enc.template subspan(); - // step 1 std::array u{}; kyber_utils::poly_vec_decode(_enc0, u); kyber_utils::poly_vec_decompress(u); - // step 2 std::array v{}; kyber_utils::decode(_enc1, v); kyber_utils::poly_decompress(v); - // step 3 std::array s_prime{}; kyber_utils::poly_vec_decode(seckey, s_prime); - // step 4 kyber_utils::poly_vec_ntt(u); std::array t{}; diff --git a/include/kyber/internals/kem.hpp b/include/kyber/internals/ml_kem.hpp similarity index 56% rename from include/kyber/internals/kem.hpp rename to include/kyber/internals/ml_kem.hpp index 81d390a..ff9bae1 100644 --- a/include/kyber/internals/kem.hpp +++ b/include/kyber/internals/ml_kem.hpp @@ -1,31 +1,16 @@ #pragma once +#include "k_pke.hpp" #include "kyber/internals/utility/utils.hpp" -#include "pke.hpp" #include "sha3_256.hpp" #include "sha3_512.hpp" #include "shake256.hpp" #include -#include -#include -// IND-CCA2-secure Key Encapsulation Mechanism -namespace kem { +// Key Encapsulation Mechanism +namespace ml_kem { -// Kyber CCAKEM key generation algorithm, which takes two parameters `k` & `η1` -// ( read eta1 ) and generates byte serialized public key and secret key of -// following length -// -// public key: (k * 12 * 32 + 32) -bytes wide -// secret key: (k * 24 * 32 + 96) -bytes wide [ includes public key ] -// -// See algorithm 7 defined in Kyber specification -// https://doi.org/10.6028/NIST.FIPS.203.ipd -// -// Note, this routine allows you to pass two 32 -bytes seeds ( see first & -// second parameter ), which is designed this way for ease of writing test cases -// against known answer tests, obtained from Kyber reference implementation -// https://github.com/pq-crystals/kyber.git. It also helps in properly -// benchmarking underlying KEM's key generation implementation. +// ML-KEM key generation algorithm, generating byte serialized public key and secret key, given 32 -bytes seed `d` and `z`. +// See algorithm 15 defined in ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline void keygen(std::span d, // used in CPA-PKE @@ -34,20 +19,19 @@ keygen(std::span d, // used in CPA-PKE std::span seckey) requires(kyber_params::check_keygen_params(k, eta1)) { - constexpr size_t skoff0 = k * 12 * 32; - constexpr size_t skoff1 = skoff0 + pubkey.size(); - constexpr size_t skoff2 = skoff1 + 32; + static constexpr size_t skoff0 = k * 12 * 32; + static constexpr size_t skoff1 = skoff0 + pubkey.size(); + static constexpr size_t skoff2 = skoff1 + 32; auto _seckey0 = seckey.template subspan<0, skoff0>(); auto _seckey1 = seckey.template subspan(); auto _seckey2 = seckey.template subspan(); auto _seckey3 = seckey.template subspan(); - pke::keygen(d, pubkey, _seckey0); // CPAPKE key generation + k_pke::keygen(d, pubkey, _seckey0); std::copy(pubkey.begin(), pubkey.end(), _seckey1.begin()); std::copy(z.begin(), z.end(), _seckey3.begin()); - // hash public key sha3_256::sha3_256_t hasher{}; hasher.absorb(pubkey); hasher.finalize(); @@ -55,29 +39,16 @@ keygen(std::span d, // used in CPA-PKE hasher.reset(); } -// Given (k * 12 * 32 + 32) -bytes public key and 32 -bytes seed ( used for -// deriving 32 -bytes message & 32 -bytes random coin ), this routine computes -// cipher text of length (k * du * 32 + dv * 32) -bytes which can be shared with -// recipient party ( having respective secret key ) over insecure channel. +// Given ML-KEM public key and 32 -bytes seed ( used for deriving 32 -bytes message & 32 -bytes random coin ), this routine computes +// ML-KEM cipher text which can be shared with recipient party ( owning corresponding secret key ) over insecure channel. // -// It also computes a fixed length 32 -bytes shared secret, which can be used for -// symmetric key encryption between these two participating entities. Alternatively -// they might choose to derive longer keys from this shared secret. +// It also computes a fixed length 32 -bytes shared secret, which can be used for fast symmetric key encryption between these +// two participating entities. Alternatively they might choose to derive longer keys from this shared secret. Other side of +// communication should also be able to generate same 32 -byte shared secret, after successful decryption of cipher text. // -// Other side of communication should also be able to generate same 32 -byte shared secret, -// after successful decryption of cipher text. +// If invalid ML-KEM public key is input, this function execution will fail, returning false. // -// If invalid public key is input, this function execution will fail, returning false, -// otherwise it will return true, while producing both cipher text and shared secret. -// -// See algorithm 8 defined in Kyber specification -// https://doi.org/10.6028/NIST.FIPS.203.ipd -// -// Note, this routine allows you to pass 32 -bytes seed ( see first parameter ), -// which is designed this way for ease of writing test cases against known -// answer tests, obtained from Kyber reference implementation -// https://github.com/pq-crystals/kyber.git. It also helps in properly -// benchmarking underlying KEM's encapsulation implementation. +// See algorithm 16 defined in ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd template [[nodiscard("Use result, it might fail because of malformed input public key")]] static inline bool encapsulate(std::span m, @@ -109,8 +80,9 @@ encapsulate(std::span m, h512.finalize(); h512.digest(_g_out); - const auto has_mod_check_passed = pke::encrypt(pubkey, m, _g_out1, cipher); + const auto has_mod_check_passed = k_pke::encrypt(pubkey, m, _g_out1, cipher); if (!has_mod_check_passed) { + // Got an invalid public key return has_mod_check_passed; } @@ -118,20 +90,13 @@ encapsulate(std::span m, return true; } -// Given (k * 24 * 32 + 96) -bytes secret key and (k * du * 32 + dv * 32) -bytes -// encrypted ( cipher ) text, this routine recovers 32 -bytes plain text which -// was encrypted by sender, using respective public key, associated with this -// secret key. - -// Recovered 32 -bytes plain text is used for deriving same key stream ( using -// SHAKE256 key derivation function ), which is the shared secret key between -// two communicating parties, over insecure channel. Using returned KDF ( -// SHAKE256 object ) both parties can reach to same shared secret key ( of -// arbitrary length ), which will be used for encrypting traffic using symmetric -// key primitives. +// Given ML-KEM secret key and cipher text, this routine recovers 32 -bytes plain text which was encrypted by sender, +// using ML-KEM public key, associated with this secret key. // -// See algorithm 9 defined in Kyber specification -// https://doi.org/10.6028/NIST.FIPS.203.ipd +// Recovered 32 -bytes plain text is used for deriving a 32 -bytes shared secret key, which can now be +// used for encrypting communication between two participating parties, using fast symmetric key algorithms. +// +// See algorithm 17 defined in ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. template static inline void decapsulate(std::span seckey, @@ -165,7 +130,7 @@ decapsulate(std::span sec auto _g_out0 = _g_out.template first(); auto _g_out1 = _g_out.template last<32>(); - pke::decrypt(pke_sk, cipher, _g_in0); + k_pke::decrypt(pke_sk, cipher, _g_in0); std::copy(h.begin(), h.end(), _g_in1.begin()); sha3_512::sha3_512_t h512{}; @@ -180,9 +145,9 @@ decapsulate(std::span sec xof256.squeeze(j_out); // Explicitly ignore return value, because public key, held as part of secret key is *assumed* to be valid. - (void)pke::encrypt(pubkey, _g_in0, _g_out1, c_prime); + (void)k_pke::encrypt(pubkey, _g_in0, _g_out1, c_prime); - // line 7-11 of algorithm 9, in constant-time + // line 9-12 of algorithm 17, in constant-time using kdf_t = std::span; const uint32_t cond = kyber_utils::ct_memcmp(cipher, std::span(c_prime)); kyber_utils::ct_cond_memcpy(cond, shared_secret, kdf_t(_g_out0), kdf_t(z)); diff --git a/include/kyber/kyber1024_kem.hpp b/include/kyber/kyber1024_kem.hpp index 54b1e2f..e8b13c1 100644 --- a/include/kyber/kyber1024_kem.hpp +++ b/include/kyber/kyber1024_kem.hpp @@ -1,5 +1,5 @@ #pragma once -#include "kyber/internals/kem.hpp" +#include "kyber/internals/ml_kem.hpp" namespace kyber1024_kem { @@ -40,7 +40,7 @@ keygen(std::span d, std::span pubkey, std::span seckey) { - kem::keygen(d, z, pubkey, seckey); + ml_kem::keygen(d, z, pubkey, seckey); } // Given seed `m` and a ML-KEM-1024 public key, this routine computes a ML-KEM-1024 cipher text and a fixed size shared secret. @@ -51,14 +51,14 @@ encapsulate(std::span m, std::span cipher, std::span shared_secret) { - return kem::encapsulate(m, pubkey, cipher, shared_secret); + return ml_kem::encapsulate(m, pubkey, cipher, shared_secret); } // Given a ML-KEM-1024 secret key and a cipher text, this routine computes a fixed size shared secret. inline void decapsulate(std::span seckey, std::span cipher, std::span shared_secret) { - kem::decapsulate(seckey, cipher, shared_secret); + ml_kem::decapsulate(seckey, cipher, shared_secret); } } diff --git a/include/kyber/kyber512_kem.hpp b/include/kyber/kyber512_kem.hpp index 25c11b9..0936020 100644 --- a/include/kyber/kyber512_kem.hpp +++ b/include/kyber/kyber512_kem.hpp @@ -1,5 +1,5 @@ #pragma once -#include "kyber/internals/kem.hpp" +#include "kyber/internals/ml_kem.hpp" namespace kyber512_kem { @@ -40,7 +40,7 @@ keygen(std::span d, std::span pubkey, std::span seckey) { - kem::keygen(d, z, pubkey, seckey); + ml_kem::keygen(d, z, pubkey, seckey); } // Given seed `m` and a ML-KEM-512 public key, this routine computes a ML-KEM-512 cipher text and a fixed size shared secret. @@ -51,14 +51,14 @@ encapsulate(std::span m, std::span cipher, std::span shared_secret) { - return kem::encapsulate(m, pubkey, cipher, shared_secret); + return ml_kem::encapsulate(m, pubkey, cipher, shared_secret); } // Given a ML-KEM-512 secret key and a cipher text, this routine computes a fixed size shared secret. inline void decapsulate(std::span seckey, std::span cipher, std::span shared_secret) { - kem::decapsulate(seckey, cipher, shared_secret); + ml_kem::decapsulate(seckey, cipher, shared_secret); } } diff --git a/include/kyber/kyber768_kem.hpp b/include/kyber/kyber768_kem.hpp index ce4263f..607d7d9 100644 --- a/include/kyber/kyber768_kem.hpp +++ b/include/kyber/kyber768_kem.hpp @@ -1,5 +1,5 @@ #pragma once -#include "kyber/internals/kem.hpp" +#include "kyber/internals/ml_kem.hpp" namespace kyber768_kem { @@ -40,7 +40,7 @@ keygen(std::span d, std::span pubkey, std::span seckey) { - kem::keygen(d, z, pubkey, seckey); + ml_kem::keygen(d, z, pubkey, seckey); } // Given seed `m` and a ML-KEM-768 public key, this routine computes a ML-KEM-768 cipher text and a fixed size shared secret. @@ -51,14 +51,14 @@ encapsulate(std::span m, std::span cipher, std::span shared_secret) { - return kem::encapsulate(m, pubkey, cipher, shared_secret); + return ml_kem::encapsulate(m, pubkey, cipher, shared_secret); } // Given a ML-KEM-768 secret key and a cipher text, this routine computes a fixed size shared secret. inline void decapsulate(std::span seckey, std::span cipher, std::span shared_secret) { - kem::decapsulate(seckey, cipher, shared_secret); + ml_kem::decapsulate(seckey, cipher, shared_secret); } } diff --git a/tests/test_kem.cpp b/tests/test_kem.cpp index 4a8bccf..352e405 100644 --- a/tests/test_kem.cpp +++ b/tests/test_kem.cpp @@ -1,4 +1,4 @@ -#include "kyber/internals/kem.hpp" +#include "kyber/internals/ml_kem.hpp" #include "kyber/internals/utility/utils.hpp" #include @@ -48,9 +48,9 @@ test_kyber_kem() prng.read(z); prng.read(m); - kem::keygen(_d, _z, _pkey, _skey); - (void)kem::encapsulate(_m, _pkey, _cipher, _sender_key); - kem::decapsulate(_skey, _cipher, _receiver_key); + ml_kem::keygen(_d, _z, _pkey, _skey); + (void)ml_kem::encapsulate(_m, _pkey, _cipher, _sender_key); + ml_kem::decapsulate(_skey, _cipher, _receiver_key); EXPECT_EQ(sender_key, receiver_key); } From cd0a3bd25bfe47f363f7da16b3e3a06eb58bd2ee Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Tue, 18 Jun 2024 11:52:54 +0400 Subject: [PATCH 20/30] Rename public header files (along with namespaces) for ML-KEM Signed-off-by: Anjan Roy --- .github/workflows/test_ci.yml | 2 +- Makefile | 4 +- .../{bench_kem.cpp => bench_ml_kem.cpp} | 48 ++-- examples/kyber512_kem.cpp | 88 ------- examples/ml_kem_768.cpp | 88 +++++++ include/{kyber => ml_kem}/internals/k_pke.hpp | 98 ++++---- .../internals/math/field.hpp | 6 +- .../{kyber => ml_kem}/internals/ml_kem.hpp | 24 +- .../internals/poly/compression.hpp | 22 +- .../{kyber => ml_kem}/internals/poly/ntt.hpp | 6 +- .../internals/poly/poly_vec.hpp | 38 +-- .../internals/poly/sampling.hpp | 24 +- .../internals/poly/serialize.hpp | 16 +- .../{kyber => ml_kem}/internals/rng/prng.hpp | 0 .../internals/utility/params.hpp | 2 +- .../internals/utility/utils.hpp | 2 +- .../ml_kem_1024.hpp} | 10 +- .../ml_kem_512.hpp} | 10 +- .../ml_kem_768.hpp} | 10 +- kats/{kyber1024.kat => ml_kem_1024.kat} | 0 kats/{kyber512.kat => ml_kem_512.kat} | 0 kats/{kyber768.kat => ml_kem_768.kat} | 0 ..._kyber768_kem.cpp => test_ml_kem_1024.cpp} | 46 ++-- ...t_kyber512_kem.cpp => test_ml_kem_512.cpp} | 46 ++-- ..._kyber1024_kem.cpp => test_ml_kem_768.cpp} | 46 ++-- tests/test_compression.cpp | 10 +- tests/test_field.cpp | 6 +- tests/{test_kem.cpp => test_ml_kem.cpp} | 25 +- .../{test_kem_kat.cpp => test_ml_kem_kat.cpp} | 230 +++++++++--------- tests/test_ntt.cpp | 33 --- tests/test_serialize.cpp | 10 +- 31 files changed, 459 insertions(+), 491 deletions(-) rename benchmarks/{bench_kem.cpp => bench_ml_kem.cpp} (70%) delete mode 100644 examples/kyber512_kem.cpp create mode 100644 examples/ml_kem_768.cpp rename include/{kyber => ml_kem}/internals/k_pke.hpp (60%) rename include/{kyber => ml_kem}/internals/math/field.hpp (96%) rename include/{kyber => ml_kem}/internals/ml_kem.hpp (85%) rename include/{kyber => ml_kem}/internals/poly/compression.hpp (83%) rename include/{kyber => ml_kem}/internals/poly/ntt.hpp (98%) rename include/{kyber => ml_kem}/internals/poly/poly_vec.hpp (83%) rename include/{kyber => ml_kem}/internals/poly/sampling.hpp (90%) rename include/{kyber => ml_kem}/internals/poly/serialize.hpp (96%) rename include/{kyber => ml_kem}/internals/rng/prng.hpp (100%) rename include/{kyber => ml_kem}/internals/utility/params.hpp (99%) rename include/{kyber => ml_kem}/internals/utility/utils.hpp (98%) rename include/{kyber/kyber1024_kem.hpp => ml_kem/ml_kem_1024.hpp} (87%) rename include/{kyber/kyber512_kem.hpp => ml_kem/ml_kem_512.hpp} (87%) rename include/{kyber/kyber768_kem.hpp => ml_kem/ml_kem_768.hpp} (87%) rename kats/{kyber1024.kat => ml_kem_1024.kat} (100%) rename kats/{kyber512.kat => ml_kem_512.kat} (100%) rename kats/{kyber768.kat => ml_kem_768.kat} (100%) rename tests/dudect/{test_kyber768_kem.cpp => test_ml_kem_1024.cpp} (63%) rename tests/dudect/{test_kyber512_kem.cpp => test_ml_kem_512.cpp} (63%) rename tests/dudect/{test_kyber1024_kem.cpp => test_ml_kem_768.cpp} (62%) rename tests/{test_kem.cpp => test_ml_kem.cpp} (74%) rename tests/{test_kem_kat.cpp => test_ml_kem_kat.cpp} (69%) delete mode 100644 tests/test_ntt.cpp diff --git a/.github/workflows/test_ci.yml b/.github/workflows/test_ci.yml index f90eb66..81fe0bf 100644 --- a/.github/workflows/test_ci.yml +++ b/.github/workflows/test_ci.yml @@ -1,4 +1,4 @@ -name: Test Kyber Key Encapsulation Mechanism +name: Test Ml_kem Key Encapsulation Mechanism on: push: diff --git a/Makefile b/Makefile index 4f88598..7bcedf0 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ DEP_IFLAGS = -I $(SHA3_INC_DIR) -I $(SUBTLE_INC_DIR) DUDECT_DEP_IFLAGS = $(DEP_IFLAGS) -I $(DUDECT_INC_DIR) SRC_DIR = include -KYBER_SOURCES := $(shell find $(SRC_DIR) -name '*.hpp') +ML_KEM_SOURCES := $(shell find $(SRC_DIR) -name '*.hpp') BUILD_DIR = build DUDECT_BUILD_DIR = $(BUILD_DIR)/dudect ASAN_BUILD_DIR = $(BUILD_DIR)/asan @@ -123,5 +123,5 @@ perf: $(PERF_BINARY) clean: rm -rf $(BUILD_DIR) -format: $(KYBER_SOURCES) $(TEST_SOURCES) $(DUDECT_TEST_SOURCES) $(BENCHMARK_SOURCES) $(BENCHMARK_HEADERS) +format: $(ML_KEM_SOURCES) $(TEST_SOURCES) $(DUDECT_TEST_SOURCES) $(BENCHMARK_SOURCES) $(BENCHMARK_HEADERS) clang-format -i $^ diff --git a/benchmarks/bench_kem.cpp b/benchmarks/bench_ml_kem.cpp similarity index 70% rename from benchmarks/bench_kem.cpp rename to benchmarks/bench_ml_kem.cpp index bcd205e..3c3fd9d 100644 --- a/benchmarks/bench_kem.cpp +++ b/benchmarks/bench_ml_kem.cpp @@ -1,16 +1,16 @@ #include "bench_helper.hpp" -#include "kyber/internals/ml_kem.hpp" +#include "ml_kem/internals/ml_kem.hpp" #include "x86_64_cpu_ticks.hpp" #include -// Benchmarking IND-CCA2-secure Kyber KEM key generation algorithm +// Benchmarking IND-CCA2-secure Ml_kem KEM key generation algorithm template void bench_keygen(benchmark::State& state) { constexpr size_t slen = 32; - constexpr size_t pklen = kyber_utils::get_kem_public_key_len(k); - constexpr size_t sklen = kyber_utils::get_kem_secret_key_len(k); + constexpr size_t pklen = ml_kem_utils::get_kem_public_key_len(k); + constexpr size_t sklen = ml_kem_utils::get_kem_secret_key_len(k); std::vector d(slen); std::vector z(slen); @@ -57,15 +57,15 @@ bench_keygen(benchmark::State& state) #endif } -// Benchmarking IND-CCA2-secure Kyber KEM encapsulation algorithm +// Benchmarking IND-CCA2-secure Ml_kem KEM encapsulation algorithm template void bench_encapsulate(benchmark::State& state) { constexpr size_t slen = 32; - constexpr size_t pklen = kyber_utils::get_kem_public_key_len(k); - constexpr size_t sklen = kyber_utils::get_kem_secret_key_len(k); - constexpr size_t ctlen = kyber_utils::get_kem_cipher_text_len(k, du, dv); + constexpr size_t pklen = ml_kem_utils::get_kem_public_key_len(k); + constexpr size_t sklen = ml_kem_utils::get_kem_secret_key_len(k); + constexpr size_t ctlen = ml_kem_utils::get_kem_cipher_text_len(k, du, dv); constexpr size_t klen = 32; std::vector d(slen); @@ -123,15 +123,15 @@ bench_encapsulate(benchmark::State& state) #endif } -// Benchmarking IND-CCA2-secure Kyber KEM decapsulation algorithm +// Benchmarking IND-CCA2-secure Ml_kem KEM decapsulation algorithm template void bench_decapsulate(benchmark::State& state) { constexpr size_t slen = 32; - constexpr size_t pklen = kyber_utils::get_kem_public_key_len(k); - constexpr size_t sklen = kyber_utils::get_kem_secret_key_len(k); - constexpr size_t ctlen = kyber_utils::get_kem_cipher_text_len(k, du, dv); + constexpr size_t pklen = ml_kem_utils::get_kem_public_key_len(k); + constexpr size_t sklen = ml_kem_utils::get_kem_secret_key_len(k); + constexpr size_t ctlen = ml_kem_utils::get_kem_cipher_text_len(k, du, dv); constexpr size_t klen = 32; std::vector d(slen); @@ -193,17 +193,17 @@ bench_decapsulate(benchmark::State& state) #endif } -// Kyber512 -BENCHMARK(bench_keygen<2, 3, 128>)->Name("kyber512/keygen")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); -BENCHMARK(bench_encapsulate<2, 3, 2, 10, 4, 128>)->Name("kyber512/encap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); -BENCHMARK(bench_decapsulate<2, 3, 2, 10, 4, 128>)->Name("kyber512/decap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +// Ml_kem512 +BENCHMARK(bench_keygen<2, 3, 128>)->Name("ml_kem512/keygen")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_encapsulate<2, 3, 2, 10, 4, 128>)->Name("ml_kem512/encap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_decapsulate<2, 3, 2, 10, 4, 128>)->Name("ml_kem512/decap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); -// Kyber768 -BENCHMARK(bench_keygen<3, 2, 192>)->Name("kyber768/keygen")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); -BENCHMARK(bench_encapsulate<3, 2, 2, 10, 4, 192>)->Name("kyber768/encap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); -BENCHMARK(bench_decapsulate<3, 2, 2, 10, 4, 192>)->Name("kyber768/decap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +// Ml_kem768 +BENCHMARK(bench_keygen<3, 2, 192>)->Name("ml_kem768/keygen")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_encapsulate<3, 2, 2, 10, 4, 192>)->Name("ml_kem768/encap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_decapsulate<3, 2, 2, 10, 4, 192>)->Name("ml_kem768/decap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); -// Kyber1024 -BENCHMARK(bench_keygen<4, 2, 256>)->Name("kyber1024/keygen")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); -BENCHMARK(bench_encapsulate<4, 2, 2, 11, 5, 256>)->Name("kyber1024/encap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); -BENCHMARK(bench_decapsulate<4, 2, 2, 11, 5, 256>)->Name("kyber1024/decap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +// Ml_kem1024 +BENCHMARK(bench_keygen<4, 2, 256>)->Name("ml_kem1024/keygen")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_encapsulate<4, 2, 2, 11, 5, 256>)->Name("ml_kem1024/encap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_decapsulate<4, 2, 2, 11, 5, 256>)->Name("ml_kem1024/decap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); diff --git a/examples/kyber512_kem.cpp b/examples/kyber512_kem.cpp deleted file mode 100644 index 46c5479..0000000 --- a/examples/kyber512_kem.cpp +++ /dev/null @@ -1,88 +0,0 @@ -#include "kyber/kyber512_kem.hpp" -#include -#include -#include -#include -#include - -// Given a bytearray of length N, this function converts it to human readable hex formatted string of length 2*N | N >= 0. -static inline std::string -to_hex(std::span bytes) -{ - std::stringstream ss; - ss << std::hex; - - for (size_t i = 0; i < bytes.size(); i++) { - ss << std::setw(2) << std::setfill('0') << static_cast(bytes[i]); - } - - return ss.str(); -} - -// Compile it with -// -// g++ -std=c++20 -Wall -Wextra -pedantic -O3 -march=native -I ./include -I ./sha3/include -I ./subtle/include/ examples/kyber512_kem.cpp -int -main() -{ - constexpr size_t SEED_LEN = 32; - constexpr size_t KEY_LEN = 32; - - // seeds required for keypair generation - std::vector d(SEED_LEN, 0); - std::vector z(SEED_LEN, 0); - - auto _d = std::span(d); - auto _z = std::span(z); - - // public/ private keypair - std::vector pkey(kyber512_kem::PKEY_BYTE_LEN, 0); - std::vector skey(kyber512_kem::SKEY_BYTE_LEN, 0); - - auto _pkey = std::span(pkey); - auto _skey = std::span(skey); - - // seed required for key encapsulation - std::vector m(SEED_LEN, 0); - std::vector cipher(kyber512_kem::CIPHER_TEXT_BYTE_LEN, 0); - - auto _m = std::span(m); - auto _cipher = std::span(cipher); - - // shared secret that sender/ receiver arrives at - std::vector shrd_key0(KEY_LEN, 0); - std::vector shrd_key1(KEY_LEN, 0); - - auto _shrd_key0 = std::span(shrd_key0); - auto _shrd_key1 = std::span(shrd_key1); - - // pseudo-randomness source - prng::prng_t<128> prng{}; - - // fill up seeds using PRNG - prng.read(_d); - prng.read(_z); - - // generate a keypair - kyber512_kem::keygen(_d, _z, _pkey, _skey); - - // fill up seed required for key encapsulation, using PRNG - prng.read(_m); - - // encapsulate key, compute cipher text and obtain KDF - const bool is_encapsulated = kyber512_kem::encapsulate(_m, _pkey, _cipher, _shrd_key0); - // decapsulate cipher text and obtain KDF - kyber512_kem::decapsulate(_skey, _cipher, _shrd_key1); - - // check that both of the communicating parties arrived at same shared key - assert(std::ranges::equal(_shrd_key0, _shrd_key1)); - - std::cout << "Kyber512 KEM\n"; - std::cout << "pubkey : " << to_hex(_pkey) << "\n"; - std::cout << "seckey : " << to_hex(_skey) << "\n"; - std::cout << "encapsulated ? : " << std::boolalpha << is_encapsulated << "\n"; - std::cout << "cipher : " << to_hex(_cipher) << "\n"; - std::cout << "shared secret : " << to_hex(_shrd_key0) << "\n"; - - return EXIT_SUCCESS; -} diff --git a/examples/ml_kem_768.cpp b/examples/ml_kem_768.cpp new file mode 100644 index 0000000..0262437 --- /dev/null +++ b/examples/ml_kem_768.cpp @@ -0,0 +1,88 @@ +#include "ml_kem/ml_kem_768.hpp" +#include +#include +#include +#include +#include + +// Given a bytearray of length N, this function converts it to human readable hex formatted string of length 2*N | N >= 0. +static inline std::string +to_hex(std::span bytes) +{ + std::stringstream ss; + ss << std::hex; + + for (size_t i = 0; i < bytes.size(); i++) { + ss << std::setw(2) << std::setfill('0') << static_cast(bytes[i]); + } + + return ss.str(); +} + +// Compile it with +// +// g++ -std=c++20 -Wall -Wextra -pedantic -O3 -march=native -I ./include -I ./sha3/include -I ./subtle/include/ examples/ml_kem_768.cpp +int +main() +{ + constexpr size_t SEED_LEN = 32; + constexpr size_t KEY_LEN = 32; + + // Seeds required for keypair generation + std::vector d(SEED_LEN, 0); + std::vector z(SEED_LEN, 0); + + auto _d = std::span(d); + auto _z = std::span(z); + + // Public/ private keypair + std::vector pkey(ml_kem_768::PKEY_BYTE_LEN, 0); + std::vector skey(ml_kem_768::SKEY_BYTE_LEN, 0); + + auto _pkey = std::span(pkey); + auto _skey = std::span(skey); + + // Seed required for key encapsulation + std::vector m(SEED_LEN, 0); + std::vector cipher(ml_kem_768::CIPHER_TEXT_BYTE_LEN, 0); + + auto _m = std::span(m); + auto _cipher = std::span(cipher); + + // Shared secret that sender/ receiver arrives at + std::vector shrd_key0(KEY_LEN, 0); + std::vector shrd_key1(KEY_LEN, 0); + + auto _shrd_key0 = std::span(shrd_key0); + auto _shrd_key1 = std::span(shrd_key1); + + // Pseudo-randomness source + prng::prng_t<128> prng{}; + + // Fill up seeds using PRNG + prng.read(_d); + prng.read(_z); + + // Generate a keypair + ml_kem_768::keygen(_d, _z, _pkey, _skey); + + // Fill up seed required for key encapsulation, using PRNG + prng.read(_m); + + // Encapsulate key, compute cipher text and obtain KDF + const bool is_encapsulated = ml_kem_768::encapsulate(_m, _pkey, _cipher, _shrd_key0); + // Decapsulate cipher text and obtain KDF + ml_kem_768::decapsulate(_skey, _cipher, _shrd_key1); + + // Check that both of the communicating parties arrived at same shared secret key + assert(std::ranges::equal(_shrd_key0, _shrd_key1)); + + std::cout << "ML-KEM-768\n"; + std::cout << "Pubkey : " << to_hex(_pkey) << "\n"; + std::cout << "Seckey : " << to_hex(_skey) << "\n"; + std::cout << "Encapsulated ? : " << std::boolalpha << is_encapsulated << "\n"; + std::cout << "Cipher : " << to_hex(_cipher) << "\n"; + std::cout << "Shared secret : " << to_hex(_shrd_key0) << "\n"; + + return EXIT_SUCCESS; +} diff --git a/include/kyber/internals/k_pke.hpp b/include/ml_kem/internals/k_pke.hpp similarity index 60% rename from include/kyber/internals/k_pke.hpp rename to include/ml_kem/internals/k_pke.hpp index e71d8ee..a50f3fa 100644 --- a/include/kyber/internals/k_pke.hpp +++ b/include/ml_kem/internals/k_pke.hpp @@ -1,9 +1,9 @@ #pragma once -#include "kyber/internals/math/field.hpp" -#include "kyber/internals/poly/poly_vec.hpp" -#include "kyber/internals/poly/sampling.hpp" -#include "kyber/internals/utility/params.hpp" -#include "kyber/internals/utility/utils.hpp" +#include "ml_kem/internals/math/field.hpp" +#include "ml_kem/internals/poly/poly_vec.hpp" +#include "ml_kem/internals/poly/sampling.hpp" +#include "ml_kem/internals/utility/params.hpp" +#include "ml_kem/internals/utility/utils.hpp" #include "sha3_512.hpp" // Public Key Encryption Scheme @@ -14,7 +14,7 @@ namespace k_pke { template static inline void keygen(std::span d, std::span pubkey, std::span seckey) - requires(kyber_params::check_keygen_params(k, eta1)) + requires(ml_kem_params::check_keygen_params(k, eta1)) { std::array g_out{}; auto _g_out = std::span(g_out); @@ -28,33 +28,33 @@ keygen(std::span d, std::span pubk const auto sigma = _g_out.template subspan(); std::array A_prime{}; - kyber_utils::generate_matrix(A_prime, rho); + ml_kem_utils::generate_matrix(A_prime, rho); uint8_t N = 0; std::array s{}; - kyber_utils::generate_vector(s, sigma, N); + ml_kem_utils::generate_vector(s, sigma, N); N += k; std::array e{}; - kyber_utils::generate_vector(e, sigma, N); + ml_kem_utils::generate_vector(e, sigma, N); N += k; - kyber_utils::poly_vec_ntt(s); - kyber_utils::poly_vec_ntt(e); + ml_kem_utils::poly_vec_ntt(s); + ml_kem_utils::poly_vec_ntt(e); std::array t_prime{}; - kyber_utils::matrix_multiply(A_prime, s, t_prime); - kyber_utils::poly_vec_add_to(e, t_prime); + ml_kem_utils::matrix_multiply(A_prime, s, t_prime); + ml_kem_utils::poly_vec_add_to(e, t_prime); constexpr size_t pkoff = k * 12 * 32; auto _pubkey0 = pubkey.template subspan<0, pkoff>(); auto _pubkey1 = pubkey.template subspan(); - kyber_utils::poly_vec_encode(t_prime, _pubkey0); + ml_kem_utils::poly_vec_encode(t_prime, _pubkey0); std::copy(rho.begin(), rho.end(), _pubkey1.begin()); - kyber_utils::poly_vec_encode(s, seckey); + ml_kem_utils::poly_vec_encode(s, seckey); } // Given a *valid* K-PKE public key, 32 -bytes message ( to be encrypted ) and 32 -bytes random coin @@ -70,7 +70,7 @@ encrypt(std::span pubkey, std::span msg, std::span rcoin, std::span enc) - requires(kyber_params::check_encrypt_params(k, eta1, eta2, du, dv)) + requires(ml_kem_params::check_encrypt_params(k, eta1, eta2, du, dv)) { constexpr size_t pkoff = k * 12 * 32; auto _pubkey0 = pubkey.template subspan<0, pkoff>(); @@ -79,60 +79,60 @@ encrypt(std::span pubkey, std::array t_prime{}; std::array encoded_tprime{}; - kyber_utils::poly_vec_decode(_pubkey0, t_prime); - kyber_utils::poly_vec_encode(t_prime, encoded_tprime); + ml_kem_utils::poly_vec_decode(_pubkey0, t_prime); + ml_kem_utils::poly_vec_encode(t_prime, encoded_tprime); using encoded_pkey_t = std::span; - const auto are_equal = kyber_utils::ct_memcmp(encoded_pkey_t(_pubkey0), encoded_pkey_t(encoded_tprime)); + const auto are_equal = ml_kem_utils::ct_memcmp(encoded_pkey_t(_pubkey0), encoded_pkey_t(encoded_tprime)); if (are_equal == 0u) { // Got an invalid public key return false; } std::array A_prime{}; - kyber_utils::generate_matrix(A_prime, rho); + ml_kem_utils::generate_matrix(A_prime, rho); uint8_t N = 0; std::array r{}; - kyber_utils::generate_vector(r, rcoin, N); + ml_kem_utils::generate_vector(r, rcoin, N); N += k; std::array e1{}; - kyber_utils::generate_vector(e1, rcoin, N); + ml_kem_utils::generate_vector(e1, rcoin, N); N += k; std::array e2{}; - kyber_utils::generate_vector<1, eta2>(e2, rcoin, N); + ml_kem_utils::generate_vector<1, eta2>(e2, rcoin, N); - kyber_utils::poly_vec_ntt(r); + ml_kem_utils::poly_vec_ntt(r); std::array u{}; - kyber_utils::matrix_multiply(A_prime, r, u); - kyber_utils::poly_vec_intt(u); - kyber_utils::poly_vec_add_to(e1, u); + ml_kem_utils::matrix_multiply(A_prime, r, u); + ml_kem_utils::poly_vec_intt(u); + ml_kem_utils::poly_vec_add_to(e1, u); std::array v{}; - kyber_utils::matrix_multiply<1, k, k, 1>(t_prime, r, v); - kyber_utils::poly_vec_intt<1>(v); - kyber_utils::poly_vec_add_to<1>(e2, v); + ml_kem_utils::matrix_multiply<1, k, k, 1>(t_prime, r, v); + ml_kem_utils::poly_vec_intt<1>(v); + ml_kem_utils::poly_vec_add_to<1>(e2, v); std::array m{}; - kyber_utils::decode<1>(msg, m); - kyber_utils::poly_decompress<1>(m); - kyber_utils::poly_vec_add_to<1>(m, v); + ml_kem_utils::decode<1>(msg, m); + ml_kem_utils::poly_decompress<1>(m); + ml_kem_utils::poly_vec_add_to<1>(m, v); constexpr size_t encoff = k * du * 32; auto _enc0 = enc.template subspan<0, encoff>(); auto _enc1 = enc.template subspan(); - kyber_utils::poly_vec_compress(u); - kyber_utils::poly_vec_encode(u, _enc0); + ml_kem_utils::poly_vec_compress(u); + ml_kem_utils::poly_vec_encode(u, _enc0); - kyber_utils::poly_compress(v); - kyber_utils::encode(v, _enc1); + ml_kem_utils::poly_compress(v); + ml_kem_utils::encode(v, _enc1); return true; } @@ -144,7 +144,7 @@ encrypt(std::span pubkey, template static inline void decrypt(std::span seckey, std::span enc, std::span dec) - requires(kyber_params::check_decrypt_params(k, du, dv)) + requires(ml_kem_params::check_decrypt_params(k, du, dv)) { constexpr size_t encoff = k * du * 32; auto _enc0 = enc.template subspan<0, encoff>(); @@ -152,27 +152,27 @@ decrypt(std::span seckey, std::span u{}; - kyber_utils::poly_vec_decode(_enc0, u); - kyber_utils::poly_vec_decompress(u); + ml_kem_utils::poly_vec_decode(_enc0, u); + ml_kem_utils::poly_vec_decompress(u); std::array v{}; - kyber_utils::decode(_enc1, v); - kyber_utils::poly_decompress(v); + ml_kem_utils::decode(_enc1, v); + ml_kem_utils::poly_decompress(v); std::array s_prime{}; - kyber_utils::poly_vec_decode(seckey, s_prime); + ml_kem_utils::poly_vec_decode(seckey, s_prime); - kyber_utils::poly_vec_ntt(u); + ml_kem_utils::poly_vec_ntt(u); std::array t{}; - kyber_utils::matrix_multiply<1, k, k, 1>(s_prime, u, t); - kyber_utils::poly_vec_intt<1>(t); - kyber_utils::poly_vec_sub_from<1>(t, v); + ml_kem_utils::matrix_multiply<1, k, k, 1>(s_prime, u, t); + ml_kem_utils::poly_vec_intt<1>(t); + ml_kem_utils::poly_vec_sub_from<1>(t, v); - kyber_utils::poly_compress<1>(v); - kyber_utils::encode<1>(v, dec); + ml_kem_utils::poly_compress<1>(v); + ml_kem_utils::encode<1>(v, dec); } } diff --git a/include/kyber/internals/math/field.hpp b/include/ml_kem/internals/math/field.hpp similarity index 96% rename from include/kyber/internals/math/field.hpp rename to include/ml_kem/internals/math/field.hpp index a68d1e7..f9a50ab 100644 --- a/include/kyber/internals/math/field.hpp +++ b/include/ml_kem/internals/math/field.hpp @@ -1,14 +1,14 @@ #pragma once -#include "kyber/internals/rng/prng.hpp" +#include "ml_kem/internals/rng/prng.hpp" #include #include namespace field { -// Kyber Prime Field Modulus ( = 3329 ) +// Ml_kem Prime Field Modulus ( = 3329 ) static constexpr uint32_t Q = (1u << 8) * 13 + 1; -// Bit width of Kyber Prime Field Modulus ( = 12 ) +// Bit width of Ml_kem Prime Field Modulus ( = 12 ) static constexpr size_t Q_BIT_WIDTH = std::bit_width(Q); // Precomputed Barrett Reduction Constant diff --git a/include/kyber/internals/ml_kem.hpp b/include/ml_kem/internals/ml_kem.hpp similarity index 85% rename from include/kyber/internals/ml_kem.hpp rename to include/ml_kem/internals/ml_kem.hpp index ff9bae1..e517ebd 100644 --- a/include/kyber/internals/ml_kem.hpp +++ b/include/ml_kem/internals/ml_kem.hpp @@ -1,6 +1,6 @@ #pragma once #include "k_pke.hpp" -#include "kyber/internals/utility/utils.hpp" +#include "ml_kem/internals/utility/utils.hpp" #include "sha3_256.hpp" #include "sha3_512.hpp" #include "shake256.hpp" @@ -15,9 +15,9 @@ template static inline void keygen(std::span d, // used in CPA-PKE std::span z, // used in CCA-KEM - std::span pubkey, - std::span seckey) - requires(kyber_params::check_keygen_params(k, eta1)) + std::span pubkey, + std::span seckey) + requires(ml_kem_params::check_keygen_params(k, eta1)) { static constexpr size_t skoff0 = k * 12 * 32; static constexpr size_t skoff1 = skoff0 + pubkey.size(); @@ -52,10 +52,10 @@ keygen(std::span d, // used in CPA-PKE template [[nodiscard("Use result, it might fail because of malformed input public key")]] static inline bool encapsulate(std::span m, - std::span pubkey, - std::span cipher, + std::span pubkey, + std::span cipher, std::span shared_secret) - requires(kyber_params::check_encap_params(k, eta1, eta2, du, dv)) + requires(ml_kem_params::check_encap_params(k, eta1, eta2, du, dv)) { std::array g_in{}; std::array g_out{}; @@ -99,10 +99,10 @@ encapsulate(std::span m, // See algorithm 17 defined in ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. template static inline void -decapsulate(std::span seckey, - std::span cipher, +decapsulate(std::span seckey, + std::span cipher, std::span shared_secret) - requires(kyber_params::check_decap_params(k, eta1, eta2, du, dv)) + requires(ml_kem_params::check_decap_params(k, eta1, eta2, du, dv)) { constexpr size_t sklen = k * 12 * 32; constexpr size_t pklen = k * 12 * 32 + 32; @@ -149,8 +149,8 @@ decapsulate(std::span sec // line 9-12 of algorithm 17, in constant-time using kdf_t = std::span; - const uint32_t cond = kyber_utils::ct_memcmp(cipher, std::span(c_prime)); - kyber_utils::ct_cond_memcpy(cond, shared_secret, kdf_t(_g_out0), kdf_t(z)); + const uint32_t cond = ml_kem_utils::ct_memcmp(cipher, std::span(c_prime)); + ml_kem_utils::ct_cond_memcpy(cond, shared_secret, kdf_t(_g_out0), kdf_t(z)); } } diff --git a/include/kyber/internals/poly/compression.hpp b/include/ml_kem/internals/poly/compression.hpp similarity index 83% rename from include/kyber/internals/poly/compression.hpp rename to include/ml_kem/internals/poly/compression.hpp index 2ec10c3..2983152 100644 --- a/include/kyber/internals/poly/compression.hpp +++ b/include/ml_kem/internals/poly/compression.hpp @@ -1,23 +1,23 @@ #pragma once -#include "kyber/internals/math/field.hpp" -#include "kyber/internals/poly/ntt.hpp" -#include "kyber/internals/utility/params.hpp" +#include "ml_kem/internals/math/field.hpp" +#include "ml_kem/internals/poly/ntt.hpp" +#include "ml_kem/internals/utility/params.hpp" #include // IND-CPA-secure Public Key Encryption Scheme Utilities -namespace kyber_utils { +namespace ml_kem_utils { // Given an element x ∈ Z_q | q = 3329, this routine compresses it by discarding // some low-order bits, computing y ∈ [0, 2^d) | d < round(log2(q)) // -// See top of page 5 of Kyber specification +// See top of page 5 of Ml_kem specification // https://doi.org/10.6028/NIST.FIPS.203.ipd // // Following implementation collects inspiration from https://github.com/FiloSottile/mlkem768/blob/cffbfb96c407b3cfc9f6e1749475b673794402c1/mlkem768.go#L395-L425. template static inline constexpr field::zq_t compress(const field::zq_t x) - requires(kyber_params::check_d(d)) + requires(ml_kem_params::check_d(d)) { constexpr uint16_t mask = (1u << d) - 1; @@ -35,14 +35,14 @@ compress(const field::zq_t x) // it back to y ∈ Z_q | q = 3329 // // This routine recovers the compressed element with error probability as -// defined in eq. 2 of Kyber specification. +// defined in eq. 2 of Ml_kem specification. // -// See top of page 5 of Kyber specification +// See top of page 5 of Ml_kem specification // https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline constexpr field::zq_t decompress(const field::zq_t x) - requires(kyber_params::check_d(d)) + requires(ml_kem_params::check_d(d)) { constexpr uint32_t t0 = 1u << d; constexpr uint32_t t1 = t0 >> 1; @@ -59,7 +59,7 @@ decompress(const field::zq_t x) template static inline constexpr void poly_compress(std::span poly) - requires(kyber_params::check_d(d)) + requires(ml_kem_params::check_d(d)) { for (size_t i = 0; i < poly.size(); i++) { poly[i] = compress(poly[i]); @@ -71,7 +71,7 @@ poly_compress(std::span poly) template static inline constexpr void poly_decompress(std::span poly) - requires(kyber_params::check_d(d)) + requires(ml_kem_params::check_d(d)) { for (size_t i = 0; i < poly.size(); i++) { poly[i] = decompress(poly[i]); diff --git a/include/kyber/internals/poly/ntt.hpp b/include/ml_kem/internals/poly/ntt.hpp similarity index 98% rename from include/kyber/internals/poly/ntt.hpp rename to include/ml_kem/internals/poly/ntt.hpp index c64846d..3c99930 100644 --- a/include/kyber/internals/poly/ntt.hpp +++ b/include/ml_kem/internals/poly/ntt.hpp @@ -1,9 +1,9 @@ #pragma once -#include "kyber/internals/math/field.hpp" +#include "ml_kem/internals/math/field.hpp" #include #include -// (inverse) Number Theoretic Transform for degree-255 polynomial, over Kyber +// (inverse) Number Theoretic Transform for degree-255 polynomial, over Ml_kem // Prime Field Zq | q = 3329 namespace ntt { @@ -182,7 +182,7 @@ intt(std::span poly) // // h = f * g mod X ^ 2 − ζ ^ (2 * br<7>(i) + 1) | i ∈ [0, 128) // -// See page 6 of Kyber specification +// See page 6 of Ml_kem specification // https://doi.org/10.6028/NIST.FIPS.203.ipd static inline constexpr void basemul(std::span f, // degree-1 polynomial diff --git a/include/kyber/internals/poly/poly_vec.hpp b/include/ml_kem/internals/poly/poly_vec.hpp similarity index 83% rename from include/kyber/internals/poly/poly_vec.hpp rename to include/ml_kem/internals/poly/poly_vec.hpp index f54e71b..70f8e86 100644 --- a/include/kyber/internals/poly/poly_vec.hpp +++ b/include/ml_kem/internals/poly/poly_vec.hpp @@ -1,14 +1,14 @@ #pragma once -#include "kyber/internals/math/field.hpp" -#include "kyber/internals/poly/compression.hpp" -#include "kyber/internals/poly/ntt.hpp" -#include "kyber/internals/poly/serialize.hpp" -#include "kyber/internals/utility/params.hpp" +#include "ml_kem/internals/math/field.hpp" +#include "ml_kem/internals/poly/compression.hpp" +#include "ml_kem/internals/poly/ntt.hpp" +#include "ml_kem/internals/poly/serialize.hpp" +#include "ml_kem/internals/utility/params.hpp" #include #include // IND-CPA-secure Public Key Encryption Scheme Utilities -namespace kyber_utils { +namespace ml_kem_utils { // Given two matrices ( in NTT domain ) of compatible dimension, where each // matrix element is a degree-255 polynomial over Z_q | q = 3329, this routine @@ -18,7 +18,7 @@ static inline constexpr void matrix_multiply(std::span a, std::span b, std::span c) - requires(kyber_params::check_matrix_dim(a_cols, b_rows)) + requires(ml_kem_params::check_matrix_dim(a_cols, b_rows)) { using poly_t = std::span; @@ -49,7 +49,7 @@ matrix_multiply(std::span a, template static inline constexpr void poly_vec_ntt(std::span vec) - requires((k == 1) || kyber_params::check_k(k)) + requires((k == 1) || ml_kem_params::check_k(k)) { using poly_t = std::span; @@ -66,7 +66,7 @@ poly_vec_ntt(std::span vec) template static inline constexpr void poly_vec_intt(std::span vec) - requires((k == 1) || kyber_params::check_k(k)) + requires((k == 1) || ml_kem_params::check_k(k)) { using poly_t = std::span; @@ -81,7 +81,7 @@ poly_vec_intt(std::span vec) template static inline constexpr void poly_vec_add_to(std::span src, std::span dst) - requires((k == 1) || kyber_params::check_k(k)) + requires((k == 1) || ml_kem_params::check_k(k)) { constexpr size_t cnt = k * ntt::N; @@ -95,7 +95,7 @@ poly_vec_add_to(std::span src, std::span static inline constexpr void poly_vec_sub_from(std::span src, std::span dst) - requires((k == 1) || kyber_params::check_k(k)) + requires((k == 1) || ml_kem_params::check_k(k)) { constexpr size_t cnt = k * ntt::N; @@ -110,7 +110,7 @@ poly_vec_sub_from(std::span src, std::span static inline void poly_vec_encode(std::span src, std::span dst) - requires(kyber_params::check_k(k)) + requires(ml_kem_params::check_k(k)) { using poly_t = std::span; using serialized_t = std::span; @@ -119,7 +119,7 @@ poly_vec_encode(std::span src, std::span(poly_t(src.subspan(off0, ntt::N)), serialized_t(dst.subspan(off1, 32 * l))); + ml_kem_utils::encode(poly_t(src.subspan(off0, ntt::N)), serialized_t(dst.subspan(off1, 32 * l))); } } @@ -129,7 +129,7 @@ poly_vec_encode(std::span src, std::span static inline void poly_vec_decode(std::span src, std::span dst) - requires(kyber_params::check_k(k)) + requires(ml_kem_params::check_k(k)) { using serialized_t = std::span; using poly_t = std::span; @@ -138,7 +138,7 @@ poly_vec_decode(std::span src, std::span(serialized_t(src.subspan(off0, 32 * l)), poly_t(dst.subspan(off1, ntt::N))); + ml_kem_utils::decode(serialized_t(src.subspan(off0, 32 * l)), poly_t(dst.subspan(off1, ntt::N))); } } @@ -147,13 +147,13 @@ poly_vec_decode(std::span src, std::span static inline constexpr void poly_vec_compress(std::span vec) - requires(kyber_params::check_k(k)) + requires(ml_kem_params::check_k(k)) { using poly_t = std::span; for (size_t i = 0; i < k; i++) { const size_t off = i * ntt::N; - kyber_utils::poly_compress(poly_t(vec.subspan(off, ntt::N))); + ml_kem_utils::poly_compress(poly_t(vec.subspan(off, ntt::N))); } } @@ -162,13 +162,13 @@ poly_vec_compress(std::span vec) template static inline constexpr void poly_vec_decompress(std::span vec) - requires(kyber_params::check_k(k)) + requires(ml_kem_params::check_k(k)) { using poly_t = std::span; for (size_t i = 0; i < k; i++) { const size_t off = i * ntt::N; - kyber_utils::poly_decompress(poly_t(vec.subspan(off, ntt::N))); + ml_kem_utils::poly_decompress(poly_t(vec.subspan(off, ntt::N))); } } diff --git a/include/kyber/internals/poly/sampling.hpp b/include/ml_kem/internals/poly/sampling.hpp similarity index 90% rename from include/kyber/internals/poly/sampling.hpp rename to include/ml_kem/internals/poly/sampling.hpp index 19fa827..2217578 100644 --- a/include/kyber/internals/poly/sampling.hpp +++ b/include/ml_kem/internals/poly/sampling.hpp @@ -1,14 +1,14 @@ #pragma once -#include "kyber/internals/math/field.hpp" -#include "kyber/internals/poly/ntt.hpp" -#include "kyber/internals/utility/params.hpp" +#include "ml_kem/internals/math/field.hpp" +#include "ml_kem/internals/poly/ntt.hpp" +#include "ml_kem/internals/utility/params.hpp" #include "shake128.hpp" #include "shake256.hpp" #include #include // IND-CPA-secure Public Key Encryption Scheme Utilities -namespace kyber_utils { +namespace ml_kem_utils { // Uniform sampling in R_q | q = 3329 // @@ -17,7 +17,7 @@ namespace kyber_utils { // to uniform random byte stream, produced polynomial coefficients are also // statiscally close to randomly sampled elements of R_q. // -// See algorithm 1, defined in Kyber specification +// See algorithm 1, defined in Ml_kem specification // https://doi.org/10.6028/NIST.FIPS.203.ipd inline void parse(shake128::shake128_t& hasher, std::span poly) @@ -51,12 +51,12 @@ parse(shake128::shake128_t& hasher, std::span poly) // domain, by sampling from a XOF ( read SHAKE128 ), which is seeded with 32 // -bytes key and two nonces ( each of 1 -byte ) // -// See step (4-8) of algorithm 4/ 5, defined in Kyber specification +// See step (4-8) of algorithm 4/ 5, defined in Ml_kem specification // https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline void generate_matrix(std::span mat, std::span rho) - requires(kyber_params::check_k(k)) + requires(ml_kem_params::check_k(k)) { std::array xof_in{}; std::copy(rho.begin(), rho.end(), xof_in.begin()); @@ -88,12 +88,12 @@ generate_matrix(std::span mat, std::span static inline void cbd(std::span prf, std::span poly) - requires(kyber_params::check_eta(eta)) + requires(ml_kem_params::check_eta(eta)) { if constexpr (eta == 2) { static_assert(eta == 2, "η must be 2 !"); @@ -140,12 +140,12 @@ cbd(std::span prf, std::span poly) } // Sample a polynomial vector from Bη, following step (9-12) of algorithm 4, -// defined in Kyber specification +// defined in Ml_kem specification // https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline void generate_vector(std::span vec, std::span sigma, const uint8_t nonce) - requires((k == 1) || kyber_params::check_k(k)) + requires((k == 1) || ml_kem_params::check_k(k)) { std::array prf_out{}; std::array prf_in{}; @@ -162,7 +162,7 @@ generate_vector(std::span vec, std::span; - kyber_utils::cbd(prf_out, poly_t(vec.subspan(off, ntt::N))); + ml_kem_utils::cbd(prf_out, poly_t(vec.subspan(off, ntt::N))); } } diff --git a/include/kyber/internals/poly/serialize.hpp b/include/ml_kem/internals/poly/serialize.hpp similarity index 96% rename from include/kyber/internals/poly/serialize.hpp rename to include/ml_kem/internals/poly/serialize.hpp index 79f422c..6622448 100644 --- a/include/kyber/internals/poly/serialize.hpp +++ b/include/ml_kem/internals/poly/serialize.hpp @@ -1,22 +1,22 @@ #pragma once -#include "kyber/internals/math/field.hpp" -#include "kyber/internals/poly/ntt.hpp" -#include "kyber/internals/utility/params.hpp" +#include "ml_kem/internals/math/field.hpp" +#include "ml_kem/internals/poly/ntt.hpp" +#include "ml_kem/internals/utility/params.hpp" #include // IND-CPA-secure Public Key Encryption Scheme Utilities -namespace kyber_utils { +namespace ml_kem_utils { // Given a degree-255 polynomial, where significant portion of each ( total 256 // of them ) coefficient ∈ [0, 2^l), this routine serializes the polynomial to a // byte array of length 32 * l -bytes // -// See algorithm 3 described in section 1.1 ( page 7 ) of Kyber specification +// See algorithm 3 described in section 1.1 ( page 7 ) of Ml_kem specification // https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline void encode(std::span poly, std::span arr) - requires(kyber_params::check_l(l)) + requires(ml_kem_params::check_l(l)) { std::fill(arr.begin(), arr.end(), 0); @@ -147,12 +147,12 @@ encode(std::span poly, std::span arr // polynomial of degree 255 s.t. significant portion of each ( total 256 of them // ) coefficient ∈ [0, 2^l) // -// See algorithm 3 described in section 1.1 ( page 7 ) of Kyber specification +// See algorithm 3 described in section 1.1 ( page 7 ) of Ml_kem specification // https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline void decode(std::span arr, std::span poly) - requires(kyber_params::check_l(l)) + requires(ml_kem_params::check_l(l)) { if constexpr (l == 1) { constexpr size_t itr_cnt = ntt::N >> 3; diff --git a/include/kyber/internals/rng/prng.hpp b/include/ml_kem/internals/rng/prng.hpp similarity index 100% rename from include/kyber/internals/rng/prng.hpp rename to include/ml_kem/internals/rng/prng.hpp diff --git a/include/kyber/internals/utility/params.hpp b/include/ml_kem/internals/utility/params.hpp similarity index 99% rename from include/kyber/internals/utility/params.hpp rename to include/ml_kem/internals/utility/params.hpp index e7f872f..b8a37ae 100644 --- a/include/kyber/internals/utility/params.hpp +++ b/include/ml_kem/internals/utility/params.hpp @@ -2,7 +2,7 @@ #include // Holds compile-time executable functions, ensuring that functions are invoked with proper arguments. -namespace kyber_params { +namespace ml_kem_params { // Compile-time check to ensure that number of bits ( read `d` ) to consider during // polynomial coefficient compression/ decompression is within tolerable bounds. diff --git a/include/kyber/internals/utility/utils.hpp b/include/ml_kem/internals/utility/utils.hpp similarity index 98% rename from include/kyber/internals/utility/utils.hpp rename to include/ml_kem/internals/utility/utils.hpp index fbfb0f1..5b9b33d 100644 --- a/include/kyber/internals/utility/utils.hpp +++ b/include/ml_kem/internals/utility/utils.hpp @@ -2,7 +2,7 @@ #include "subtle.hpp" #include -namespace kyber_utils { +namespace ml_kem_utils { // Given two byte arrays of equal length, this routine can be used for comparing them in constant-time, // producing truth value (0xffffffff) in case of equality, otherwise it returns false value (0x00000000). diff --git a/include/kyber/kyber1024_kem.hpp b/include/ml_kem/ml_kem_1024.hpp similarity index 87% rename from include/kyber/kyber1024_kem.hpp rename to include/ml_kem/ml_kem_1024.hpp index e8b13c1..2439ff7 100644 --- a/include/kyber/kyber1024_kem.hpp +++ b/include/ml_kem/ml_kem_1024.hpp @@ -1,7 +1,7 @@ #pragma once -#include "kyber/internals/ml_kem.hpp" +#include "ml_kem/internals/ml_kem.hpp" -namespace kyber1024_kem { +namespace ml_kem_1024 { // ML-KEM Key Encapsulation Mechanism instantiated with ML-KEM-1024 parameters // See row 3 of table 2 of ML-KEM specification @ https://doi.org/10.6028/NIST.FIPS.203.ipd @@ -19,16 +19,16 @@ static constexpr size_t SEED_D_BYTE_LEN = 32; static constexpr size_t SEED_Z_BYTE_LEN = 32; // 1568 -bytes ML-KEM-1024 public key -static constexpr size_t PKEY_BYTE_LEN = kyber_utils::get_kem_public_key_len(k); +static constexpr size_t PKEY_BYTE_LEN = ml_kem_utils::get_kem_public_key_len(k); // 3168 -bytes ML-KEM-1024 secret key -static constexpr size_t SKEY_BYTE_LEN = kyber_utils::get_kem_secret_key_len(k); +static constexpr size_t SKEY_BYTE_LEN = ml_kem_utils::get_kem_secret_key_len(k); // 32 -bytes seed `m`, used in ML-KEM encapsulation static constexpr size_t SEED_M_BYTE_LEN = 32; // 1568 -bytes ML-KEM-1024 cipher text -static constexpr size_t CIPHER_TEXT_BYTE_LEN = kyber_utils::get_kem_cipher_text_len(k, du, dv); +static constexpr size_t CIPHER_TEXT_BYTE_LEN = ml_kem_utils::get_kem_cipher_text_len(k, du, dv); // 32 -bytes ML-KEM-1024 shared secret static constexpr size_t SHARED_SECRET_BYTE_LEN = 32; diff --git a/include/kyber/kyber512_kem.hpp b/include/ml_kem/ml_kem_512.hpp similarity index 87% rename from include/kyber/kyber512_kem.hpp rename to include/ml_kem/ml_kem_512.hpp index 0936020..af6355f 100644 --- a/include/kyber/kyber512_kem.hpp +++ b/include/ml_kem/ml_kem_512.hpp @@ -1,7 +1,7 @@ #pragma once -#include "kyber/internals/ml_kem.hpp" +#include "ml_kem/internals/ml_kem.hpp" -namespace kyber512_kem { +namespace ml_kem_512 { // ML-KEM Key Encapsulation Mechanism instantiated with ML-KEM-512 parameters // See row 1 of table 2 of ML-KEM specification @ https://doi.org/10.6028/NIST.FIPS.203.ipd @@ -19,16 +19,16 @@ static constexpr size_t SEED_D_BYTE_LEN = 32; static constexpr size_t SEED_Z_BYTE_LEN = 32; // 800 -bytes ML-KEM-512 public key -static constexpr size_t PKEY_BYTE_LEN = kyber_utils::get_kem_public_key_len(k); +static constexpr size_t PKEY_BYTE_LEN = ml_kem_utils::get_kem_public_key_len(k); // 1632 -bytes ML-KEM-512 secret key -static constexpr size_t SKEY_BYTE_LEN = kyber_utils::get_kem_secret_key_len(k); +static constexpr size_t SKEY_BYTE_LEN = ml_kem_utils::get_kem_secret_key_len(k); // 32 -bytes seed `m`, used in ML-KEM encapsulation static constexpr size_t SEED_M_BYTE_LEN = 32; // 768 -bytes ML-KEM-512 cipher text -static constexpr size_t CIPHER_TEXT_BYTE_LEN = kyber_utils::get_kem_cipher_text_len(k, du, dv); +static constexpr size_t CIPHER_TEXT_BYTE_LEN = ml_kem_utils::get_kem_cipher_text_len(k, du, dv); // 32 -bytes ML-KEM-512 shared secret static constexpr size_t SHARED_SECRET_BYTE_LEN = 32; diff --git a/include/kyber/kyber768_kem.hpp b/include/ml_kem/ml_kem_768.hpp similarity index 87% rename from include/kyber/kyber768_kem.hpp rename to include/ml_kem/ml_kem_768.hpp index 607d7d9..c84deca 100644 --- a/include/kyber/kyber768_kem.hpp +++ b/include/ml_kem/ml_kem_768.hpp @@ -1,7 +1,7 @@ #pragma once -#include "kyber/internals/ml_kem.hpp" +#include "ml_kem/internals/ml_kem.hpp" -namespace kyber768_kem { +namespace ml_kem_768 { // ML-KEM Key Encapsulation Mechanism instantiated with ML-KEM-768 parameters // See row 2 of table 2 of ML-KEM specification @ https://doi.org/10.6028/NIST.FIPS.203.ipd @@ -19,16 +19,16 @@ static constexpr size_t SEED_D_BYTE_LEN = 32; static constexpr size_t SEED_Z_BYTE_LEN = 32; // 1184 -bytes ML-KEM-768 public key -static constexpr size_t PKEY_BYTE_LEN = kyber_utils::get_kem_public_key_len(k); +static constexpr size_t PKEY_BYTE_LEN = ml_kem_utils::get_kem_public_key_len(k); // 2400 -bytes ML-KEM-768 secret key -static constexpr size_t SKEY_BYTE_LEN = kyber_utils::get_kem_secret_key_len(k); +static constexpr size_t SKEY_BYTE_LEN = ml_kem_utils::get_kem_secret_key_len(k); // 32 -bytes seed `m`, used in ML-KEM encapsulation static constexpr size_t SEED_M_BYTE_LEN = 32; // 1088 -bytes ML-KEM-768 cipher text -static constexpr size_t CIPHER_TEXT_BYTE_LEN = kyber_utils::get_kem_cipher_text_len(k, du, dv); +static constexpr size_t CIPHER_TEXT_BYTE_LEN = ml_kem_utils::get_kem_cipher_text_len(k, du, dv); // 32 -bytes ML-KEM-768 shared secret static constexpr size_t SHARED_SECRET_BYTE_LEN = 32; diff --git a/kats/kyber1024.kat b/kats/ml_kem_1024.kat similarity index 100% rename from kats/kyber1024.kat rename to kats/ml_kem_1024.kat diff --git a/kats/kyber512.kat b/kats/ml_kem_512.kat similarity index 100% rename from kats/kyber512.kat rename to kats/ml_kem_512.kat diff --git a/kats/kyber768.kat b/kats/ml_kem_768.kat similarity index 100% rename from kats/kyber768.kat rename to kats/ml_kem_768.kat diff --git a/tests/dudect/test_kyber768_kem.cpp b/tests/dudect/test_ml_kem_1024.cpp similarity index 63% rename from tests/dudect/test_kyber768_kem.cpp rename to tests/dudect/test_ml_kem_1024.cpp index 976307e..f534bd0 100644 --- a/tests/dudect/test_kyber768_kem.cpp +++ b/tests/dudect/test_ml_kem_1024.cpp @@ -1,4 +1,4 @@ -#include "kyber/kyber768_kem.hpp" +#include "ml_kem/ml_kem_1024.hpp" #define DUDECT_IMPLEMENTATION #define DUDECT_VISIBLITY_STATIC @@ -12,41 +12,41 @@ do_one_computation(uint8_t* const data) constexpr size_t doff0 = 0; constexpr size_t doff1 = doff0 + SEED_LEN; constexpr size_t doff2 = doff1 + 1; - constexpr size_t doff3 = doff2 + kyber768_kem::CIPHER_TEXT_BYTE_LEN; - constexpr size_t doff4 = doff3 + kyber768_kem::CIPHER_TEXT_BYTE_LEN; + constexpr size_t doff3 = doff2 + ml_kem_1024::CIPHER_TEXT_BYTE_LEN; + constexpr size_t doff4 = doff3 + ml_kem_1024::CIPHER_TEXT_BYTE_LEN; constexpr size_t doff5 = doff4 + SEED_LEN; constexpr size_t doff6 = doff5 + SEED_LEN; - std::array poly_vec{}; - std::array byte_arr{}; + std::array poly_vec{}; + std::array byte_arr{}; auto sigma = std::span(data + doff0, doff1 - doff0); const auto nonce = data[doff1]; // Generate new secret polynomial vector - kyber_utils::generate_vector(poly_vec, sigma, nonce); + ml_kem_utils::generate_vector(poly_vec, sigma, nonce); // Apply NTT on that secret vector - kyber_utils::poly_vec_ntt(poly_vec); + ml_kem_utils::poly_vec_ntt(poly_vec); // Apply iNTT on bit-reversed NTT form of secret polynomial vector - kyber_utils::poly_vec_intt(poly_vec); + ml_kem_utils::poly_vec_intt(poly_vec); // Compress coefficients of polynomial vector - kyber_utils::poly_vec_compress(poly_vec); + ml_kem_utils::poly_vec_compress(poly_vec); // Serialize polynomial vector into byte array - kyber_utils::poly_vec_encode(poly_vec, byte_arr); + ml_kem_utils::poly_vec_encode(poly_vec, byte_arr); // Recover coefficients of polynomial vector from byte array - kyber_utils::poly_vec_decode(byte_arr, poly_vec); + ml_kem_utils::poly_vec_decode(byte_arr, poly_vec); // Decompress coefficients of polynomial vector - kyber_utils::poly_vec_decompress(poly_vec); + ml_kem_utils::poly_vec_decompress(poly_vec); std::array sink{}; auto _sink = std::span(sink); - using ctxt_t = std::span; + using ctxt_t = std::span; using seed_t = std::span; // Ensure Fujisaki-Okamoto transform, used during decapsulation, is constant-time - const uint32_t cond = kyber_utils::ct_memcmp(ctxt_t(data + doff2, doff3 - doff2), ctxt_t(data + doff3, doff4 - doff3)); - kyber_utils::ct_cond_memcpy(cond, _sink, seed_t(data + doff4, doff5 - doff4), seed_t(data + doff5, doff6 - doff5)); + const uint32_t cond = ml_kem_utils::ct_memcmp(ctxt_t(data + doff2, doff3 - doff2), ctxt_t(data + doff3, doff4 - doff3)); + ml_kem_utils::ct_cond_memcpy(cond, _sink, seed_t(data + doff4, doff5 - doff4), seed_t(data + doff5, doff6 - doff5)); // Just so that optimizer doesn't remove above function calls ! return static_cast(poly_vec[0].raw() ^ poly_vec[poly_vec.size() - 1].raw()) ^ // result of generating vector of polynomials @@ -69,14 +69,14 @@ prepare_inputs(dudect_config_t* const c, uint8_t* const input_data, uint8_t* con } dudect_state_t -test_kyber768_kem() +test_ml_kem_1024() { - constexpr size_t chunk_size = SEED_LEN + // bytes holding seed `sigma` - 1 + // single byte nonce - kyber768_kem::CIPHER_TEXT_BYTE_LEN + // bytes holding received cipher text - kyber768_kem::CIPHER_TEXT_BYTE_LEN + // bytes for locally computed cipher text - SEED_LEN + // bytes for first source buffer to copy from - SEED_LEN; // bytes for second source buffer to copy from + constexpr size_t chunk_size = SEED_LEN + // bytes holding seed `sigma` + 1 + // single byte nonce + ml_kem_1024::CIPHER_TEXT_BYTE_LEN + // bytes holding received cipher text + ml_kem_1024::CIPHER_TEXT_BYTE_LEN + // bytes for locally computed cipher text + SEED_LEN + // bytes for first source buffer to copy from + SEED_LEN; // bytes for second source buffer to copy from constexpr size_t number_measurements = 1e5; dudect_config_t config = { @@ -100,7 +100,7 @@ test_kyber768_kem() int main() { - if (test_kyber768_kem() != DUDECT_NO_LEAKAGE_EVIDENCE_YET) { + if (test_ml_kem_1024() != DUDECT_NO_LEAKAGE_EVIDENCE_YET) { return EXIT_FAILURE; } diff --git a/tests/dudect/test_kyber512_kem.cpp b/tests/dudect/test_ml_kem_512.cpp similarity index 63% rename from tests/dudect/test_kyber512_kem.cpp rename to tests/dudect/test_ml_kem_512.cpp index 8cb605e..523f2cc 100644 --- a/tests/dudect/test_kyber512_kem.cpp +++ b/tests/dudect/test_ml_kem_512.cpp @@ -1,4 +1,4 @@ -#include "kyber/kyber512_kem.hpp" +#include "ml_kem/ml_kem_512.hpp" #include #define DUDECT_IMPLEMENTATION @@ -13,41 +13,41 @@ do_one_computation(uint8_t* const data) constexpr size_t doff0 = 0; constexpr size_t doff1 = doff0 + SEED_LEN; constexpr size_t doff2 = doff1 + 1; - constexpr size_t doff3 = doff2 + kyber512_kem::CIPHER_TEXT_BYTE_LEN; - constexpr size_t doff4 = doff3 + kyber512_kem::CIPHER_TEXT_BYTE_LEN; + constexpr size_t doff3 = doff2 + ml_kem_512::CIPHER_TEXT_BYTE_LEN; + constexpr size_t doff4 = doff3 + ml_kem_512::CIPHER_TEXT_BYTE_LEN; constexpr size_t doff5 = doff4 + SEED_LEN; constexpr size_t doff6 = doff5 + SEED_LEN; - std::array poly_vec{}; - std::array byte_arr{}; + std::array poly_vec{}; + std::array byte_arr{}; auto sigma = std::span(data + doff0, doff1 - doff0); const auto nonce = data[doff1]; // Generate new secret polynomial vector - kyber_utils::generate_vector(poly_vec, sigma, nonce); + ml_kem_utils::generate_vector(poly_vec, sigma, nonce); // Apply NTT on that secret vector - kyber_utils::poly_vec_ntt(poly_vec); + ml_kem_utils::poly_vec_ntt(poly_vec); // Apply iNTT on bit-reversed NTT form of secret polynomial vector - kyber_utils::poly_vec_intt(poly_vec); + ml_kem_utils::poly_vec_intt(poly_vec); // Compress coefficients of polynomial vector - kyber_utils::poly_vec_compress(poly_vec); + ml_kem_utils::poly_vec_compress(poly_vec); // Serialize polynomial vector into byte array - kyber_utils::poly_vec_encode(poly_vec, byte_arr); + ml_kem_utils::poly_vec_encode(poly_vec, byte_arr); // Recover coefficients of polynomial vector from byte array - kyber_utils::poly_vec_decode(byte_arr, poly_vec); + ml_kem_utils::poly_vec_decode(byte_arr, poly_vec); // Decompress coefficients of polynomial vector - kyber_utils::poly_vec_decompress(poly_vec); + ml_kem_utils::poly_vec_decompress(poly_vec); std::array sink{}; auto _sink = std::span(sink); - using ctxt_t = std::span; + using ctxt_t = std::span; using seed_t = std::span; // Ensure Fujisaki-Okamoto transform, used during decapsulation, is constant-time - const uint32_t cond = kyber_utils::ct_memcmp(ctxt_t(data + doff2, doff3 - doff2), ctxt_t(data + doff3, doff4 - doff3)); - kyber_utils::ct_cond_memcpy(cond, _sink, seed_t(data + doff4, doff5 - doff4), seed_t(data + doff5, doff6 - doff5)); + const uint32_t cond = ml_kem_utils::ct_memcmp(ctxt_t(data + doff2, doff3 - doff2), ctxt_t(data + doff3, doff4 - doff3)); + ml_kem_utils::ct_cond_memcpy(cond, _sink, seed_t(data + doff4, doff5 - doff4), seed_t(data + doff5, doff6 - doff5)); // Just so that optimizer doesn't remove above function calls ! return static_cast(poly_vec[0].raw() ^ poly_vec[poly_vec.size() - 1].raw()) ^ // result of generating vector of polynomials @@ -70,14 +70,14 @@ prepare_inputs(dudect_config_t* const c, uint8_t* const input_data, uint8_t* con } dudect_state_t -test_kyber512_kem() +test_ml_kem_512() { - constexpr size_t chunk_size = SEED_LEN + // bytes holding seed `sigma` - 1 + // single byte nonce - kyber512_kem::CIPHER_TEXT_BYTE_LEN + // bytes holding received cipher text - kyber512_kem::CIPHER_TEXT_BYTE_LEN + // bytes for locally computed cipher text - SEED_LEN + // bytes for first source buffer to copy from - SEED_LEN; // bytes for second source buffer to copy from + constexpr size_t chunk_size = SEED_LEN + // bytes holding seed `sigma` + 1 + // single byte nonce + ml_kem_512::CIPHER_TEXT_BYTE_LEN + // bytes holding received cipher text + ml_kem_512::CIPHER_TEXT_BYTE_LEN + // bytes for locally computed cipher text + SEED_LEN + // bytes for first source buffer to copy from + SEED_LEN; // bytes for second source buffer to copy from constexpr size_t number_measurements = 1e5; dudect_config_t config = { @@ -101,7 +101,7 @@ test_kyber512_kem() int main() { - if (test_kyber512_kem() != DUDECT_NO_LEAKAGE_EVIDENCE_YET) { + if (test_ml_kem_512() != DUDECT_NO_LEAKAGE_EVIDENCE_YET) { return EXIT_FAILURE; } diff --git a/tests/dudect/test_kyber1024_kem.cpp b/tests/dudect/test_ml_kem_768.cpp similarity index 62% rename from tests/dudect/test_kyber1024_kem.cpp rename to tests/dudect/test_ml_kem_768.cpp index 35e275e..44c9a33 100644 --- a/tests/dudect/test_kyber1024_kem.cpp +++ b/tests/dudect/test_ml_kem_768.cpp @@ -1,4 +1,4 @@ -#include "kyber/kyber1024_kem.hpp" +#include "ml_kem/ml_kem_768.hpp" #define DUDECT_IMPLEMENTATION #define DUDECT_VISIBLITY_STATIC @@ -12,41 +12,41 @@ do_one_computation(uint8_t* const data) constexpr size_t doff0 = 0; constexpr size_t doff1 = doff0 + SEED_LEN; constexpr size_t doff2 = doff1 + 1; - constexpr size_t doff3 = doff2 + kyber1024_kem::CIPHER_TEXT_BYTE_LEN; - constexpr size_t doff4 = doff3 + kyber1024_kem::CIPHER_TEXT_BYTE_LEN; + constexpr size_t doff3 = doff2 + ml_kem_768::CIPHER_TEXT_BYTE_LEN; + constexpr size_t doff4 = doff3 + ml_kem_768::CIPHER_TEXT_BYTE_LEN; constexpr size_t doff5 = doff4 + SEED_LEN; constexpr size_t doff6 = doff5 + SEED_LEN; - std::array poly_vec{}; - std::array byte_arr{}; + std::array poly_vec{}; + std::array byte_arr{}; auto sigma = std::span(data + doff0, doff1 - doff0); const auto nonce = data[doff1]; // Generate new secret polynomial vector - kyber_utils::generate_vector(poly_vec, sigma, nonce); + ml_kem_utils::generate_vector(poly_vec, sigma, nonce); // Apply NTT on that secret vector - kyber_utils::poly_vec_ntt(poly_vec); + ml_kem_utils::poly_vec_ntt(poly_vec); // Apply iNTT on bit-reversed NTT form of secret polynomial vector - kyber_utils::poly_vec_intt(poly_vec); + ml_kem_utils::poly_vec_intt(poly_vec); // Compress coefficients of polynomial vector - kyber_utils::poly_vec_compress(poly_vec); + ml_kem_utils::poly_vec_compress(poly_vec); // Serialize polynomial vector into byte array - kyber_utils::poly_vec_encode(poly_vec, byte_arr); + ml_kem_utils::poly_vec_encode(poly_vec, byte_arr); // Recover coefficients of polynomial vector from byte array - kyber_utils::poly_vec_decode(byte_arr, poly_vec); + ml_kem_utils::poly_vec_decode(byte_arr, poly_vec); // Decompress coefficients of polynomial vector - kyber_utils::poly_vec_decompress(poly_vec); + ml_kem_utils::poly_vec_decompress(poly_vec); std::array sink{}; auto _sink = std::span(sink); - using ctxt_t = std::span; + using ctxt_t = std::span; using seed_t = std::span; // Ensure Fujisaki-Okamoto transform, used during decapsulation, is constant-time - const uint32_t cond = kyber_utils::ct_memcmp(ctxt_t(data + doff2, doff3 - doff2), ctxt_t(data + doff3, doff4 - doff3)); - kyber_utils::ct_cond_memcpy(cond, _sink, seed_t(data + doff4, doff5 - doff4), seed_t(data + doff5, doff6 - doff5)); + const uint32_t cond = ml_kem_utils::ct_memcmp(ctxt_t(data + doff2, doff3 - doff2), ctxt_t(data + doff3, doff4 - doff3)); + ml_kem_utils::ct_cond_memcpy(cond, _sink, seed_t(data + doff4, doff5 - doff4), seed_t(data + doff5, doff6 - doff5)); // Just so that optimizer doesn't remove above function calls ! return static_cast(poly_vec[0].raw() ^ poly_vec[poly_vec.size() - 1].raw()) ^ // result of generating vector of polynomials @@ -69,14 +69,14 @@ prepare_inputs(dudect_config_t* const c, uint8_t* const input_data, uint8_t* con } dudect_state_t -test_kyber1024_kem() +test_ml_kem_768() { - constexpr size_t chunk_size = SEED_LEN + // bytes holding seed `sigma` - 1 + // single byte nonce - kyber1024_kem::CIPHER_TEXT_BYTE_LEN + // bytes holding received cipher text - kyber1024_kem::CIPHER_TEXT_BYTE_LEN + // bytes for locally computed cipher text - SEED_LEN + // bytes for first source buffer to copy from - SEED_LEN; // bytes for second source buffer to copy from + constexpr size_t chunk_size = SEED_LEN + // bytes holding seed `sigma` + 1 + // single byte nonce + ml_kem_768::CIPHER_TEXT_BYTE_LEN + // bytes holding received cipher text + ml_kem_768::CIPHER_TEXT_BYTE_LEN + // bytes for locally computed cipher text + SEED_LEN + // bytes for first source buffer to copy from + SEED_LEN; // bytes for second source buffer to copy from constexpr size_t number_measurements = 1e5; dudect_config_t config = { @@ -100,7 +100,7 @@ test_kyber1024_kem() int main() { - if (test_kyber1024_kem() != DUDECT_NO_LEAKAGE_EVIDENCE_YET) { + if (test_ml_kem_768() != DUDECT_NO_LEAKAGE_EVIDENCE_YET) { return EXIT_FAILURE; } diff --git a/tests/test_compression.cpp b/tests/test_compression.cpp index b5eea38..726cfd7 100644 --- a/tests/test_compression.cpp +++ b/tests/test_compression.cpp @@ -1,4 +1,4 @@ -#include "kyber/internals/poly/compression.hpp" +#include "ml_kem/internals/poly/compression.hpp" #include // Decompression error that can happen for some given `d` s.t. @@ -7,7 +7,7 @@ // // |(x' - x) mod q| <= round(q / 2 ^ (d + 1)) // -// See eq. 2 of Kyber specification +// See eq. 2 of Ml_kem specification // https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline constexpr size_t @@ -41,8 +41,8 @@ test_zq_compression() for (size_t i = 0; i < itr_cnt; i++) { const auto a = field::zq_t::random(prng); - const auto b = kyber_utils::compress(a); - const auto c = kyber_utils::decompress(b); + const auto b = ml_kem_utils::compress(a); + const auto c = ml_kem_utils::decompress(b); const auto a_canon = a.raw(); const auto c_canon = c.raw(); @@ -64,7 +64,7 @@ test_zq_compression() return res; } -TEST(KyberKEM, CompressDecompressZq) +TEST(Ml_kemKEM, CompressDecompressZq) { EXPECT_TRUE((test_zq_compression<11, 1ul << 20>())); EXPECT_TRUE((test_zq_compression<10, 1ul << 20>())); diff --git a/tests/test_field.cpp b/tests/test_field.cpp index 09f3ab6..6a306a9 100644 --- a/tests/test_field.cpp +++ b/tests/test_field.cpp @@ -1,10 +1,10 @@ -#include "kyber/internals/math/field.hpp" +#include "ml_kem/internals/math/field.hpp" #include -// Test functional correctness of Kyber prime field operations ( using +// Test functional correctness of Ml_kem prime field operations ( using // Montgomery Arithmetic ), by running through multiple rounds of execution of // field operations on randomly sampled field elements. -TEST(KyberKEM, ArithmeticOverZq) +TEST(Ml_kemKEM, ArithmeticOverZq) { constexpr size_t itr_cnt = 1ul << 20; prng::prng_t<128> prng{}; diff --git a/tests/test_kem.cpp b/tests/test_ml_kem.cpp similarity index 74% rename from tests/test_kem.cpp rename to tests/test_ml_kem.cpp index 352e405..f048890 100644 --- a/tests/test_kem.cpp +++ b/tests/test_ml_kem.cpp @@ -1,8 +1,7 @@ -#include "kyber/internals/ml_kem.hpp" -#include "kyber/internals/utility/utils.hpp" +#include "ml_kem/internals/ml_kem.hpp" #include -// Given k, η1, η2, du, dv - Kyber parameters, this routine checks whether +// Given k, η1, η2, du, dv - ML-KEM parameters, this routine checks whether // // - A new key pair can be generated for key establishment over insecure channel // - Key pair is for receiving party, its public key will be used by sender. @@ -17,12 +16,12 @@ // works as expected. template void -test_kyber_kem() +test_ml_kem_kem() { constexpr size_t slen = 32; - constexpr size_t pklen = kyber_utils::get_kem_public_key_len(k); - constexpr size_t sklen = kyber_utils::get_kem_secret_key_len(k); - constexpr size_t ctlen = kyber_utils::get_kem_cipher_text_len(k, du, dv); + constexpr size_t pklen = ml_kem_utils::get_kem_public_key_len(k); + constexpr size_t sklen = ml_kem_utils::get_kem_secret_key_len(k); + constexpr size_t ctlen = ml_kem_utils::get_kem_cipher_text_len(k, du, dv); constexpr size_t sslen = 32; std::vector d(slen); @@ -55,17 +54,17 @@ test_kyber_kem() EXPECT_EQ(sender_key, receiver_key); } -TEST(KyberKEM, Kyber512KeygenEncapsDecaps) +TEST(Ml_kemKEM, Ml_kem512KeygenEncapsDecaps) { - test_kyber_kem<2, 3, 2, 10, 4, 128>(); + test_ml_kem_kem<2, 3, 2, 10, 4, 128>(); } -TEST(KyberKEM, Kyber768KeygenEncapsDecaps) +TEST(Ml_kemKEM, Ml_kem768KeygenEncapsDecaps) { - test_kyber_kem<3, 2, 2, 10, 4, 192>(); + test_ml_kem_kem<3, 2, 2, 10, 4, 192>(); } -TEST(KyberKEM, Kyber1024KeygenEncapsDecaps) +TEST(Ml_kemKEM, Ml_kem1024KeygenEncapsDecaps) { - test_kyber_kem<4, 2, 2, 11, 5, 256>(); + test_ml_kem_kem<4, 2, 2, 11, 5, 256>(); } diff --git a/tests/test_kem_kat.cpp b/tests/test_ml_kem_kat.cpp similarity index 69% rename from tests/test_kem_kat.cpp rename to tests/test_ml_kem_kat.cpp index ece46bc..25e6b79 100644 --- a/tests/test_kem_kat.cpp +++ b/tests/test_ml_kem_kat.cpp @@ -1,13 +1,11 @@ -#include "kyber/kyber1024_kem.hpp" -#include "kyber/kyber512_kem.hpp" -#include "kyber/kyber768_kem.hpp" -#include +#include "ml_kem/ml_kem_1024.hpp" +#include "ml_kem/ml_kem_512.hpp" +#include "ml_kem/ml_kem_768.hpp" #include #include #include -// Given a hex encoded string of length 2*L, this routine can be used for -// parsing it as a byte array of length L. +// Given a hex encoded string of length 2*L, this routine can be used for parsing it as a byte array of length L. template static inline std::array from_hex(std::string_view bytes) @@ -34,17 +32,16 @@ from_hex(std::string_view bytes) // Test if // -// - Is Kyber512 KEM implemented correctly ? +// - Is ML-KEM-512 implemented correctly ? // - Is it conformant with the specification ? // // using Known Answer Tests, generated following // https://gist.github.com/itzmeanjan/c8f5bc9640d0f0bdd2437dfe364d7710. -TEST(KyberKEM, Kyber512KnownAnswerTests) +TEST(ML_KEM, ML_KEM_512_KnownAnswerTests) { using namespace std::literals; - namespace kyber512 = kyber512_kem; - const std::string kat_file = "./kats/kyber512.kat"; + const std::string kat_file = "./kats/ml_kem_512.kat"; std::fstream file(kat_file); while (true) { @@ -75,11 +72,11 @@ TEST(KyberKEM, Kyber512KnownAnswerTests) auto _pk = std::string_view(pk); auto __pk = _pk.substr(_pk.find("="sv) + 2, _pk.size()); - auto ___pk = from_hex(__pk); + auto ___pk = from_hex(__pk); auto _sk = std::string_view(sk); auto __sk = _sk.substr(_sk.find("="sv) + 2, _sk.size()); - auto ___sk = from_hex(__sk); + auto ___sk = from_hex(__sk); auto _m = std::string_view(m); auto __m = _m.substr(_m.find("="sv) + 2, _m.size()); @@ -87,101 +84,21 @@ TEST(KyberKEM, Kyber512KnownAnswerTests) auto _ct = std::string_view(ct); auto __ct = _ct.substr(_ct.find("="sv) + 2, _ct.size()); - auto ___ct = from_hex(__ct); + auto ___ct = from_hex(__ct); auto _ss = std::string_view(ss); auto __ss = _ss.substr(_ss.find("="sv) + 2, _ss.size()); auto ___ss = from_hex<32>(__ss); - std::array pkey{}; - std::array skey{}; - std::array ctxt{}; - std::array shrd_sec0{}; - std::array shrd_sec1{}; + std::array pkey{}; + std::array skey{}; + std::array ctxt{}; + std::array shrd_sec0{}; + std::array shrd_sec1{}; - kyber512::keygen(___d, ___z, pkey, skey); - (void)kyber512::encapsulate(___m, pkey, ctxt, shrd_sec0); - kyber512::decapsulate(skey, ctxt, shrd_sec1); - - EXPECT_EQ(___pk, pkey); - EXPECT_EQ(___sk, skey); - EXPECT_EQ(___ct, ctxt); - EXPECT_EQ(___ss, shrd_sec0); - EXPECT_EQ(shrd_sec0, shrd_sec1); - - std::string empty_line; - std::getline(file, empty_line); - } else { - break; - } - } - - file.close(); -} - -TEST(KyberKEM, Kyber768KnownAnswerTests) -{ - using namespace std::literals; - namespace kyber768 = kyber768_kem; - - const std::string kat_file = "./kats/kyber768.kat"; - std::fstream file(kat_file); - - while (true) { - std::string d; - - if (!std::getline(file, d).eof()) { - std::string z; - std::string pk; - std::string sk; - std::string m; - std::string ct; - std::string ss; - - std::getline(file, z); - std::getline(file, pk); - std::getline(file, sk); - std::getline(file, m); - std::getline(file, ct); - std::getline(file, ss); - - auto _d = std::string_view(d); - auto __d = _d.substr(_d.find("="sv) + 2, _d.size()); - auto ___d = from_hex<32>(__d); - - auto _z = std::string_view(z); - auto __z = _z.substr(_z.find("="sv) + 2, _z.size()); - auto ___z = from_hex<32>(__z); - - auto _pk = std::string_view(pk); - auto __pk = _pk.substr(_pk.find("="sv) + 2, _pk.size()); - auto ___pk = from_hex(__pk); - - auto _sk = std::string_view(sk); - auto __sk = _sk.substr(_sk.find("="sv) + 2, _sk.size()); - auto ___sk = from_hex(__sk); - - auto _m = std::string_view(m); - auto __m = _m.substr(_m.find("="sv) + 2, _m.size()); - auto ___m = from_hex<32>(__m); - - auto _ct = std::string_view(ct); - auto __ct = _ct.substr(_ct.find("="sv) + 2, _ct.size()); - auto ___ct = from_hex(__ct); - - auto _ss = std::string_view(ss); - auto __ss = _ss.substr(_ss.find("="sv) + 2, _ss.size()); - auto ___ss = from_hex<32>(__ss); - - std::array pkey{}; - std::array skey{}; - std::array ctxt{}; - std::array shrd_sec0{}; - std::array shrd_sec1{}; - - kyber768::keygen(___d, ___z, pkey, skey); - (void)kyber768::encapsulate(___m, pkey, ctxt, shrd_sec0); - kyber768::decapsulate(skey, ctxt, shrd_sec1); + ml_kem_512::keygen(___d, ___z, pkey, skey); + (void)ml_kem_512::encapsulate(___m, pkey, ctxt, shrd_sec0); + ml_kem_512::decapsulate(skey, ctxt, shrd_sec1); EXPECT_EQ(___pk, pkey); EXPECT_EQ(___sk, skey); @@ -201,17 +118,16 @@ TEST(KyberKEM, Kyber768KnownAnswerTests) // Test if // -// - Is Kyber1024 KEM implemented correctly ? +// - Is ML-KEM-768 implemented correctly ? // - Is it conformant with the specification ? // // using Known Answer Tests, generated following // https://gist.github.com/itzmeanjan/c8f5bc9640d0f0bdd2437dfe364d7710. -TEST(KyberKEM, Kyber1024KnownAnswerTests) +TEST(ML_KEM, ML_KEM_768_KnownAnswerTests) { using namespace std::literals; - namespace kyber1024 = kyber1024_kem; - const std::string kat_file = "./kats/kyber1024.kat"; + const std::string kat_file = "./kats/ml_kem_768.kat"; std::fstream file(kat_file); while (true) { @@ -242,11 +158,11 @@ TEST(KyberKEM, Kyber1024KnownAnswerTests) auto _pk = std::string_view(pk); auto __pk = _pk.substr(_pk.find("="sv) + 2, _pk.size()); - auto ___pk = from_hex(__pk); + auto ___pk = from_hex(__pk); auto _sk = std::string_view(sk); auto __sk = _sk.substr(_sk.find("="sv) + 2, _sk.size()); - auto ___sk = from_hex(__sk); + auto ___sk = from_hex(__sk); auto _m = std::string_view(m); auto __m = _m.substr(_m.find("="sv) + 2, _m.size()); @@ -254,21 +170,107 @@ TEST(KyberKEM, Kyber1024KnownAnswerTests) auto _ct = std::string_view(ct); auto __ct = _ct.substr(_ct.find("="sv) + 2, _ct.size()); - auto ___ct = from_hex(__ct); + auto ___ct = from_hex(__ct); auto _ss = std::string_view(ss); auto __ss = _ss.substr(_ss.find("="sv) + 2, _ss.size()); auto ___ss = from_hex<32>(__ss); - std::array pkey{}; - std::array skey{}; - std::array ctxt{}; + std::array pkey{}; + std::array skey{}; + std::array ctxt{}; std::array shrd_sec0{}; std::array shrd_sec1{}; - kyber1024::keygen(___d, ___z, pkey, skey); - (void)kyber1024::encapsulate(___m, pkey, ctxt, shrd_sec0); - kyber1024::decapsulate(skey, ctxt, shrd_sec1); + ml_kem_768::keygen(___d, ___z, pkey, skey); + (void)ml_kem_768::encapsulate(___m, pkey, ctxt, shrd_sec0); + ml_kem_768::decapsulate(skey, ctxt, shrd_sec1); + + EXPECT_EQ(___pk, pkey); + EXPECT_EQ(___sk, skey); + EXPECT_EQ(___ct, ctxt); + EXPECT_EQ(___ss, shrd_sec0); + EXPECT_EQ(shrd_sec0, shrd_sec1); + + std::string empty_line; + std::getline(file, empty_line); + } else { + break; + } + } + + file.close(); +} + +// Test if +// +// - Is ML-KEM-1024 implemented correctly ? +// - Is it conformant with the specification ? +// +// using Known Answer Tests, generated following +// https://gist.github.com/itzmeanjan/c8f5bc9640d0f0bdd2437dfe364d7710. +TEST(Ml_kemKEM, ML_KEM_1024_KnownAnswerTests) +{ + using namespace std::literals; + + const std::string kat_file = "./kats/ml_kem_1024.kat"; + std::fstream file(kat_file); + + while (true) { + std::string d; + + if (!std::getline(file, d).eof()) { + std::string z; + std::string pk; + std::string sk; + std::string m; + std::string ct; + std::string ss; + + std::getline(file, z); + std::getline(file, pk); + std::getline(file, sk); + std::getline(file, m); + std::getline(file, ct); + std::getline(file, ss); + + auto _d = std::string_view(d); + auto __d = _d.substr(_d.find("="sv) + 2, _d.size()); + auto ___d = from_hex<32>(__d); + + auto _z = std::string_view(z); + auto __z = _z.substr(_z.find("="sv) + 2, _z.size()); + auto ___z = from_hex<32>(__z); + + auto _pk = std::string_view(pk); + auto __pk = _pk.substr(_pk.find("="sv) + 2, _pk.size()); + auto ___pk = from_hex(__pk); + + auto _sk = std::string_view(sk); + auto __sk = _sk.substr(_sk.find("="sv) + 2, _sk.size()); + auto ___sk = from_hex(__sk); + + auto _m = std::string_view(m); + auto __m = _m.substr(_m.find("="sv) + 2, _m.size()); + auto ___m = from_hex<32>(__m); + + auto _ct = std::string_view(ct); + auto __ct = _ct.substr(_ct.find("="sv) + 2, _ct.size()); + auto ___ct = from_hex(__ct); + + auto _ss = std::string_view(ss); + auto __ss = _ss.substr(_ss.find("="sv) + 2, _ss.size()); + auto ___ss = from_hex<32>(__ss); + + std::array pkey{}; + std::array skey{}; + std::array ctxt{}; + std::array shrd_sec0{}; + std::array shrd_sec1{}; + + ml_kem_1024::keygen(___d, ___z, pkey, skey); + (void)ml_kem_1024::encapsulate(___m, pkey, ctxt, shrd_sec0); + ml_kem_1024::decapsulate(skey, ctxt, shrd_sec1); EXPECT_EQ(___pk, pkey); EXPECT_EQ(___sk, skey); diff --git a/tests/test_ntt.cpp b/tests/test_ntt.cpp deleted file mode 100644 index ab24d0e..0000000 --- a/tests/test_ntt.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "kyber/internals/math/field.hpp" -#include "kyber/internals/poly/ntt.hpp" -#include -#include - -// Ensure functional correctness of (inverse) NTT implementation for degree-255 -// polynomial over F_q | q = 3329, using following rule -// -// f <- random polynomial -// f' <- ntt(f) -// f'' <- intt(f') -// -// assert(f == f'') -TEST(KyberKEM, NumberTheoreticTransform) -{ - std::vector poly_a(ntt::N); - std::vector poly_b(ntt::N); - - auto _poly_a = std::span(poly_a); - auto _poly_b = std::span(poly_b); - - prng::prng_t<128> prng{}; - - for (size_t i = 0; i < ntt::N; i++) { - _poly_a[i] = field::zq_t::random(prng); - } - std::copy(_poly_a.begin(), _poly_a.end(), _poly_b.begin()); - - ntt::ntt(_poly_b); - ntt::intt(_poly_b); - - EXPECT_EQ(poly_a, poly_b); -} diff --git a/tests/test_serialize.cpp b/tests/test_serialize.cpp index b097fc5..ef3c03a 100644 --- a/tests/test_serialize.cpp +++ b/tests/test_serialize.cpp @@ -1,5 +1,5 @@ -#include "kyber/internals/math/field.hpp" -#include "kyber/internals/poly/serialize.hpp" +#include "ml_kem/internals/math/field.hpp" +#include "ml_kem/internals/poly/serialize.hpp" #include #include #include @@ -30,15 +30,15 @@ test_serialize_deserialize() using poly_t = std::span; using serialized_t = std::span; - kyber_utils::encode(poly_t(src), serialized_t(bytes)); - kyber_utils::decode(serialized_t(bytes), poly_t(dst)); + ml_kem_utils::encode(poly_t(src), serialized_t(bytes)); + ml_kem_utils::decode(serialized_t(bytes), poly_t(dst)); for (size_t i = 0; i < ntt::N; i++) { EXPECT_EQ((src[i].raw() & mask), (dst[i].raw() & mask)); } } -TEST(KyberKEM, PolynomialSerialization) +TEST(Ml_kemKEM, PolynomialSerialization) { test_serialize_deserialize<12>(); test_serialize_deserialize<11>(); From a1f0ca56b5a7a2f41df3668e60c9b68547aa0334 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Tue, 18 Jun 2024 12:12:51 +0400 Subject: [PATCH 21/30] Rename PRNG namespace to be more collision resistant Signed-off-by: Anjan Roy --- benchmarks/bench_ml_kem.cpp | 6 +++--- examples/ml_kem_768.cpp | 2 +- include/ml_kem/internals/math/field.hpp | 2 +- include/ml_kem/internals/rng/prng.hpp | 2 +- tests/test_compression.cpp | 2 +- tests/test_field.cpp | 2 +- tests/test_ml_kem.cpp | 2 +- tests/test_serialize.cpp | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/benchmarks/bench_ml_kem.cpp b/benchmarks/bench_ml_kem.cpp index 3c3fd9d..b6afe10 100644 --- a/benchmarks/bench_ml_kem.cpp +++ b/benchmarks/bench_ml_kem.cpp @@ -22,7 +22,7 @@ bench_keygen(benchmark::State& state) auto _pkey = std::span(pkey); auto _skey = std::span(skey); - prng::prng_t prng{}; + ml_kem_prng::prng_t prng{}; prng.read(_d); prng.read(_z); @@ -84,7 +84,7 @@ bench_encapsulate(benchmark::State& state) auto _cipher = std::span(cipher); auto _sender_key = std::span(sender_key); - prng::prng_t prng{}; + ml_kem_prng::prng_t prng{}; prng.read(_d); prng.read(_z); @@ -152,7 +152,7 @@ bench_decapsulate(benchmark::State& state) auto _sender_key = std::span(sender_key); auto _receiver_key = std::span(receiver_key); - prng::prng_t prng{}; + ml_kem_prng::prng_t prng{}; prng.read(_d); prng.read(_z); diff --git a/examples/ml_kem_768.cpp b/examples/ml_kem_768.cpp index 0262437..860e5ce 100644 --- a/examples/ml_kem_768.cpp +++ b/examples/ml_kem_768.cpp @@ -57,7 +57,7 @@ main() auto _shrd_key1 = std::span(shrd_key1); // Pseudo-randomness source - prng::prng_t<128> prng{}; + ml_kem_prng::prng_t<128> prng{}; // Fill up seeds using PRNG prng.read(_d); diff --git a/include/ml_kem/internals/math/field.hpp b/include/ml_kem/internals/math/field.hpp index f9a50ab..c4353b9 100644 --- a/include/ml_kem/internals/math/field.hpp +++ b/include/ml_kem/internals/math/field.hpp @@ -115,7 +115,7 @@ public: // Samples a random Zq element, using pseudo random number generator. template - static inline zq_t random(prng::prng_t& prng) + static inline zq_t random(ml_kem_prng::prng_t& prng) { uint16_t res = 0; prng.read(std::span(reinterpret_cast(&res), sizeof(res))); diff --git a/include/ml_kem/internals/rng/prng.hpp b/include/ml_kem/internals/rng/prng.hpp index d3fbc4a..301ee4d 100644 --- a/include/ml_kem/internals/rng/prng.hpp +++ b/include/ml_kem/internals/rng/prng.hpp @@ -3,7 +3,7 @@ #include #include -namespace prng { +namespace ml_kem_prng { // Pseudo Random Number Generator s.t. N (>0) -many random bytes are read from SHAKE256 Xof state, arbitrary many times s.t. SHAKE256 state is obtained by // diff --git a/tests/test_compression.cpp b/tests/test_compression.cpp index 726cfd7..5b7ffbe 100644 --- a/tests/test_compression.cpp +++ b/tests/test_compression.cpp @@ -36,7 +36,7 @@ test_zq_compression() requires(itr_cnt > 0) { bool res = true; - prng::prng_t<256> prng{}; + ml_kem_prng::prng_t<256> prng{}; for (size_t i = 0; i < itr_cnt; i++) { const auto a = field::zq_t::random(prng); diff --git a/tests/test_field.cpp b/tests/test_field.cpp index 6a306a9..d3706ed 100644 --- a/tests/test_field.cpp +++ b/tests/test_field.cpp @@ -7,7 +7,7 @@ TEST(Ml_kemKEM, ArithmeticOverZq) { constexpr size_t itr_cnt = 1ul << 20; - prng::prng_t<128> prng{}; + ml_kem_prng::prng_t<128> prng{}; for (size_t i = 0; i < itr_cnt; i++) { const auto a = field::zq_t::random(prng); diff --git a/tests/test_ml_kem.cpp b/tests/test_ml_kem.cpp index f048890..4080489 100644 --- a/tests/test_ml_kem.cpp +++ b/tests/test_ml_kem.cpp @@ -42,7 +42,7 @@ test_ml_kem_kem() auto _sender_key = std::span(sender_key); auto _receiver_key = std::span(receiver_key); - prng::prng_t prng{}; + ml_kem_prng::prng_t prng{}; prng.read(d); prng.read(z); prng.read(m); diff --git a/tests/test_serialize.cpp b/tests/test_serialize.cpp index ef3c03a..d5211f8 100644 --- a/tests/test_serialize.cpp +++ b/tests/test_serialize.cpp @@ -21,7 +21,7 @@ test_serialize_deserialize() std::vector dst(ntt::N); std::vector bytes(blen); - prng::prng_t<256> prng{}; + ml_kem_prng::prng_t<256> prng{}; for (size_t i = 0; i < ntt::N; i++) { src[i] = field::zq_t::random(prng); From bf4863f1d8f2941bc268861a778c59317fbe644f Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Tue, 18 Jun 2024 12:20:06 +0400 Subject: [PATCH 22/30] Rename prime field arithmetic namespace to be more collision resistant Signed-off-by: Anjan Roy --- include/ml_kem/internals/k_pke.hpp | 32 ++++----- include/ml_kem/internals/math/field.hpp | 2 +- include/ml_kem/internals/poly/compression.hpp | 51 ++++++-------- include/ml_kem/internals/poly/ntt.hpp | 56 +++++++-------- include/ml_kem/internals/poly/poly_vec.hpp | 38 +++++------ include/ml_kem/internals/poly/sampling.hpp | 32 ++++----- include/ml_kem/internals/poly/serialize.hpp | 68 +++++++++---------- tests/dudect/test_ml_kem_1024.cpp | 2 +- tests/dudect/test_ml_kem_512.cpp | 2 +- tests/dudect/test_ml_kem_768.cpp | 2 +- tests/test_compression.cpp | 12 ++-- tests/test_field.cpp | 12 ++-- tests/test_serialize.cpp | 8 +-- 13 files changed, 153 insertions(+), 164 deletions(-) diff --git a/include/ml_kem/internals/k_pke.hpp b/include/ml_kem/internals/k_pke.hpp index a50f3fa..6c8b2ba 100644 --- a/include/ml_kem/internals/k_pke.hpp +++ b/include/ml_kem/internals/k_pke.hpp @@ -27,23 +27,23 @@ keygen(std::span d, std::span pubk const auto rho = _g_out.template subspan<0, 32>(); const auto sigma = _g_out.template subspan(); - std::array A_prime{}; + std::array A_prime{}; ml_kem_utils::generate_matrix(A_prime, rho); uint8_t N = 0; - std::array s{}; + std::array s{}; ml_kem_utils::generate_vector(s, sigma, N); N += k; - std::array e{}; + std::array e{}; ml_kem_utils::generate_vector(e, sigma, N); N += k; ml_kem_utils::poly_vec_ntt(s); ml_kem_utils::poly_vec_ntt(e); - std::array t_prime{}; + std::array t_prime{}; ml_kem_utils::matrix_multiply(A_prime, s, t_prime); ml_kem_utils::poly_vec_add_to(e, t_prime); @@ -76,7 +76,7 @@ encrypt(std::span pubkey, auto _pubkey0 = pubkey.template subspan<0, pkoff>(); auto rho = pubkey.template subspan(); - std::array t_prime{}; + std::array t_prime{}; std::array encoded_tprime{}; ml_kem_utils::poly_vec_decode(_pubkey0, t_prime); @@ -89,37 +89,37 @@ encrypt(std::span pubkey, return false; } - std::array A_prime{}; + std::array A_prime{}; ml_kem_utils::generate_matrix(A_prime, rho); uint8_t N = 0; - std::array r{}; + std::array r{}; ml_kem_utils::generate_vector(r, rcoin, N); N += k; - std::array e1{}; + std::array e1{}; ml_kem_utils::generate_vector(e1, rcoin, N); N += k; - std::array e2{}; + std::array e2{}; ml_kem_utils::generate_vector<1, eta2>(e2, rcoin, N); ml_kem_utils::poly_vec_ntt(r); - std::array u{}; + std::array u{}; ml_kem_utils::matrix_multiply(A_prime, r, u); ml_kem_utils::poly_vec_intt(u); ml_kem_utils::poly_vec_add_to(e1, u); - std::array v{}; + std::array v{}; ml_kem_utils::matrix_multiply<1, k, k, 1>(t_prime, r, v); ml_kem_utils::poly_vec_intt<1>(v); ml_kem_utils::poly_vec_add_to<1>(e2, v); - std::array m{}; + std::array m{}; ml_kem_utils::decode<1>(msg, m); ml_kem_utils::poly_decompress<1>(m); ml_kem_utils::poly_vec_add_to<1>(m, v); @@ -150,22 +150,22 @@ decrypt(std::span seckey, std::span(); auto _enc1 = enc.template subspan(); - std::array u{}; + std::array u{}; ml_kem_utils::poly_vec_decode(_enc0, u); ml_kem_utils::poly_vec_decompress(u); - std::array v{}; + std::array v{}; ml_kem_utils::decode(_enc1, v); ml_kem_utils::poly_decompress(v); - std::array s_prime{}; + std::array s_prime{}; ml_kem_utils::poly_vec_decode(seckey, s_prime); ml_kem_utils::poly_vec_ntt(u); - std::array t{}; + std::array t{}; ml_kem_utils::matrix_multiply<1, k, k, 1>(s_prime, u, t); ml_kem_utils::poly_vec_intt<1>(t); diff --git a/include/ml_kem/internals/math/field.hpp b/include/ml_kem/internals/math/field.hpp index c4353b9..27085c2 100644 --- a/include/ml_kem/internals/math/field.hpp +++ b/include/ml_kem/internals/math/field.hpp @@ -3,7 +3,7 @@ #include #include -namespace field { +namespace ml_kem_field { // Ml_kem Prime Field Modulus ( = 3329 ) static constexpr uint32_t Q = (1u << 8) * 13 + 1; diff --git a/include/ml_kem/internals/poly/compression.hpp b/include/ml_kem/internals/poly/compression.hpp index 2983152..ea0523d 100644 --- a/include/ml_kem/internals/poly/compression.hpp +++ b/include/ml_kem/internals/poly/compression.hpp @@ -4,61 +4,51 @@ #include "ml_kem/internals/utility/params.hpp" #include -// IND-CPA-secure Public Key Encryption Scheme Utilities namespace ml_kem_utils { -// Given an element x ∈ Z_q | q = 3329, this routine compresses it by discarding -// some low-order bits, computing y ∈ [0, 2^d) | d < round(log2(q)) +// Given an element x ∈ Z_q | q = 3329, this routine compresses it by discarding some low-order bits, computing y ∈ [0, 2^d) | d < round(log2(q)). // -// See top of page 5 of Ml_kem specification -// https://doi.org/10.6028/NIST.FIPS.203.ipd -// -// Following implementation collects inspiration from https://github.com/FiloSottile/mlkem768/blob/cffbfb96c407b3cfc9f6e1749475b673794402c1/mlkem768.go#L395-L425. +// See formula 4.5 on page 18 of ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. +// Following implementation collects inspiration from https://github.com/FiloSottile/mlkem768/blob/cffbfb96/mlkem768.go#L395-L425. template -static inline constexpr field::zq_t -compress(const field::zq_t x) +static inline constexpr ml_kem_field::zq_t +compress(const ml_kem_field::zq_t x) requires(ml_kem_params::check_d(d)) { constexpr uint16_t mask = (1u << d) - 1; const auto dividend = x.raw() << d; - const auto quotient0 = static_cast((static_cast(dividend) * field::R) >> (field::Q_BIT_WIDTH * 2)); - const auto remainder = dividend - quotient0 * field::Q; + const auto quotient0 = static_cast((static_cast(dividend) * ml_kem_field::R) >> (ml_kem_field::Q_BIT_WIDTH * 2)); + const auto remainder = dividend - quotient0 * ml_kem_field::Q; - const auto quotient1 = quotient0 + ((((field::Q / 2) - remainder) >> 31) & 1); - const auto quotient2 = quotient1 + (((field::Q + (field::Q / 2) - remainder) >> 31) & 1); + const auto quotient1 = quotient0 + ((((ml_kem_field::Q / 2) - remainder) >> 31) & 1); + const auto quotient2 = quotient1 + (((ml_kem_field::Q + (ml_kem_field::Q / 2) - remainder) >> 31) & 1); - return field::zq_t(static_cast(quotient2) & mask); + return ml_kem_field::zq_t(static_cast(quotient2) & mask); } -// Given an element x ∈ [0, 2^d) | d < round(log2(q)), this routine decompresses -// it back to y ∈ Z_q | q = 3329 +// Given an element x ∈ [0, 2^d) | d < round(log2(q)), this routine decompresses it back to y ∈ Z_q | q = 3329. // -// This routine recovers the compressed element with error probability as -// defined in eq. 2 of Ml_kem specification. -// -// See top of page 5 of Ml_kem specification -// https://doi.org/10.6028/NIST.FIPS.203.ipd +// See formula 4.6 on page 18 of ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. template -static inline constexpr field::zq_t -decompress(const field::zq_t x) +static inline constexpr ml_kem_field::zq_t +decompress(const ml_kem_field::zq_t x) requires(ml_kem_params::check_d(d)) { constexpr uint32_t t0 = 1u << d; constexpr uint32_t t1 = t0 >> 1; - const uint32_t t2 = field::Q * x.raw(); + const uint32_t t2 = ml_kem_field::Q * x.raw(); const uint32_t t3 = t2 + t1; const uint16_t t4 = static_cast(t3 >> d); - return field::zq_t(t4); + return ml_kem_field::zq_t(t4); } -// Utility function to compress each of 256 coefficients of a degree-255 -// polynomial s.t. input polynomial is mutated. +// Utility function to compress each of 256 coefficients of a degree-255 polynomial while mutating the input. template static inline constexpr void -poly_compress(std::span poly) +poly_compress(std::span poly) requires(ml_kem_params::check_d(d)) { for (size_t i = 0; i < poly.size(); i++) { @@ -66,11 +56,10 @@ poly_compress(std::span poly) } } -// Utility function to decompress each of 256 coefficients of a degree-255 -// polynomial s.t. input polynomial is mutated. +// Utility function to decompress each of 256 coefficients of a degree-255 polynomial while mutating the input. template static inline constexpr void -poly_decompress(std::span poly) +poly_decompress(std::span poly) requires(ml_kem_params::check_d(d)) { for (size_t i = 0; i < poly.size(); i++) { diff --git a/include/ml_kem/internals/poly/ntt.hpp b/include/ml_kem/internals/poly/ntt.hpp index 3c99930..cef3e97 100644 --- a/include/ml_kem/internals/poly/ntt.hpp +++ b/include/ml_kem/internals/poly/ntt.hpp @@ -13,12 +13,12 @@ constexpr size_t N = 1 << LOG2N; // First primitive 256 -th root of unity modulo q | q = 3329 // // Meaning, 17 ** 256 == 1 mod q -constexpr auto ζ = field::zq_t(17); +constexpr auto ζ = ml_kem_field::zq_t(17); // Multiplicative inverse of N/ 2 over Z_q | q = 3329 and N = 256 // // Meaning (N/ 2) * 3303 = 1 mod q -constexpr auto INV_N = field::zq_t(N / 2).inv(); +constexpr auto INV_N = ml_kem_field::zq_t(N / 2).inv(); // Given a 64 -bit unsigned integer, this routine extracts specified many // contiguous bits from ( least significant bits ) LSB side & reverses their bit @@ -42,10 +42,10 @@ bit_rev(const size_t v) } // Compile-time compute powers of ζ, used for polynomial evaluation ( NTT ) -consteval std::array +consteval std::array compute_ntt_ζ() { - std::array res; + std::array res; for (size_t i = 0; i < N / 2; i++) { res[i] = ζ ^ bit_rev(i); @@ -56,14 +56,14 @@ compute_ntt_ζ() // Precomputed constants ( powers of ζ ), used for computing NTT form of // degree-255 polynomial -constexpr std::array NTT_ζ_EXP = compute_ntt_ζ(); +constexpr std::array NTT_ζ_EXP = compute_ntt_ζ(); // Compile-time compute negated powers of ζ, used for polynomial interpolation ( // iNTT ) -consteval std::array +consteval std::array compute_intt_ζ() { - std::array res; + std::array res; for (size_t i = 0; i < N / 2; i++) { res[i] = -NTT_ζ_EXP[i]; @@ -74,14 +74,14 @@ compute_intt_ζ() // Precomputed constants ( negated powers of ζ ), used for computing coefficient // form of degree-255 polynomial using inverse NTT -constexpr std::array INTT_ζ_EXP = compute_intt_ζ(); +constexpr std::array INTT_ζ_EXP = compute_intt_ζ(); // Compile-time compute powers of ζ, used for multiplication of two degree-255 // polynomials in NTT representation. -consteval std::array +consteval std::array compute_mul_ζ() { - std::array res; + std::array res; for (size_t i = 0; i < N / 2; i++) { res[i] = ζ ^ ((bit_rev(i) << 1) ^ 1); @@ -92,7 +92,7 @@ compute_mul_ζ() // Precomputed constants ( powers of ζ ), used when multiplying two degree-255 // polynomials in NTT domain. -constexpr std::array POLY_MUL_ζ_EXP = compute_mul_ζ(); +constexpr std::array POLY_MUL_ζ_EXP = compute_mul_ζ(); // Given a polynomial f with 256 coefficients over F_q | q = 3329, this routine // computes number theoretic transform using cooley-tukey algorithm, producing @@ -103,7 +103,7 @@ constexpr std::array POLY_MUL_ζ_EXP = compute_mul_ζ(); // Implementation inspired from // https://github.com/itzmeanjan/falcon/blob/45b0593/include/ntt.hpp#L69-L144 static inline constexpr void -ntt(std::span poly) +ntt(std::span poly) { for (size_t l = LOG2N - 1; l >= 1; l--) { const size_t len = 1ul << l; @@ -117,7 +117,7 @@ ntt(std::span poly) // ζ ^ bit_rev(k_now) // // This is how these constants are generated ! - const field::zq_t ζ_exp = NTT_ζ_EXP[k_now]; + const ml_kem_field::zq_t ζ_exp = NTT_ζ_EXP[k_now]; for (size_t i = start; i < start + len; i++) { auto tmp = ζ_exp; @@ -140,7 +140,7 @@ ntt(std::span poly) // Implementation inspired from // https://github.com/itzmeanjan/falcon/blob/45b0593/include/ntt.hpp#L146-L224 static inline constexpr void -intt(std::span poly) +intt(std::span poly) { for (size_t l = 1; l < LOG2N; l++) { const size_t len = 1ul << l; @@ -156,7 +156,7 @@ intt(std::span poly) // Or simpler // // -NTT_ζ_EXP[k_now] - const field::zq_t neg_ζ_exp = INTT_ζ_EXP[k_now]; + const ml_kem_field::zq_t neg_ζ_exp = INTT_ζ_EXP[k_now]; for (size_t i = start; i < start + len; i++) { const auto tmp = poly[i]; @@ -185,14 +185,14 @@ intt(std::span poly) // See page 6 of Ml_kem specification // https://doi.org/10.6028/NIST.FIPS.203.ipd static inline constexpr void -basemul(std::span f, // degree-1 polynomial - std::span g, // degree-1 polynomial - std::span h, // degree-1 polynomial - const field::zq_t ζ // zeta +basemul(std::span f, // degree-1 polynomial + std::span g, // degree-1 polynomial + std::span h, // degree-1 polynomial + const ml_kem_field::zq_t ζ // zeta ) { - field::zq_t f0 = f[0]; - field::zq_t f1 = f[1]; + ml_kem_field::zq_t f0 = f[0]; + ml_kem_field::zq_t f1 = f[1]; f0 *= g[0]; f1 *= g[1]; @@ -201,8 +201,8 @@ basemul(std::span f, // degree-1 polynomial h[0] = f1; - field::zq_t g0 = g[0]; - field::zq_t g1 = g[1]; + ml_kem_field::zq_t g0 = g[0]; + ml_kem_field::zq_t g1 = g[1]; g1 *= f[0]; g0 *= f[1]; @@ -219,15 +219,15 @@ basemul(std::span f, // degree-1 polynomial // // h = f ◦ g static inline constexpr void -polymul(std::span f, // degree-255 polynomial - std::span g, // degree-255 polynomial - std::span h // degree-255 polynomial +polymul(std::span f, // degree-255 polynomial + std::span g, // degree-255 polynomial + std::span h // degree-255 polynomial ) { constexpr size_t cnt = f.size() >> 1; - using poly_t = std::span; - using mut_poly_t = std::span; + using poly_t = std::span; + using mut_poly_t = std::span; for (size_t i = 0; i < cnt; i++) { const size_t off = i << 1; diff --git a/include/ml_kem/internals/poly/poly_vec.hpp b/include/ml_kem/internals/poly/poly_vec.hpp index 70f8e86..e605156 100644 --- a/include/ml_kem/internals/poly/poly_vec.hpp +++ b/include/ml_kem/internals/poly/poly_vec.hpp @@ -15,14 +15,14 @@ namespace ml_kem_utils { // attempts to multiply and compute resulting matrix template static inline constexpr void -matrix_multiply(std::span a, - std::span b, - std::span c) +matrix_multiply(std::span a, + std::span b, + std::span c) requires(ml_kem_params::check_matrix_dim(a_cols, b_rows)) { - using poly_t = std::span; + using poly_t = std::span; - std::array tmp{}; + std::array tmp{}; auto _tmp = std::span(tmp); for (size_t i = 0; i < a_rows; i++) { @@ -48,10 +48,10 @@ matrix_multiply(std::span a, // polynomial NTT over k polynomials template static inline constexpr void -poly_vec_ntt(std::span vec) +poly_vec_ntt(std::span vec) requires((k == 1) || ml_kem_params::check_k(k)) { - using poly_t = std::span; + using poly_t = std::span; for (size_t i = 0; i < k; i++) { const size_t off = i * ntt::N; @@ -65,10 +65,10 @@ poly_vec_ntt(std::span vec) // polynomials template static inline constexpr void -poly_vec_intt(std::span vec) +poly_vec_intt(std::span vec) requires((k == 1) || ml_kem_params::check_k(k)) { - using poly_t = std::span; + using poly_t = std::span; for (size_t i = 0; i < k; i++) { const size_t off = i * ntt::N; @@ -80,7 +80,7 @@ poly_vec_intt(std::span vec) // routine adds it to another polynomial vector of same dimension template static inline constexpr void -poly_vec_add_to(std::span src, std::span dst) +poly_vec_add_to(std::span src, std::span dst) requires((k == 1) || ml_kem_params::check_k(k)) { constexpr size_t cnt = k * ntt::N; @@ -94,7 +94,7 @@ poly_vec_add_to(std::span src, std::span static inline constexpr void -poly_vec_sub_from(std::span src, std::span dst) +poly_vec_sub_from(std::span src, std::span dst) requires((k == 1) || ml_kem_params::check_k(k)) { constexpr size_t cnt = k * ntt::N; @@ -109,10 +109,10 @@ poly_vec_sub_from(std::span src, std::span static inline void -poly_vec_encode(std::span src, std::span dst) +poly_vec_encode(std::span src, std::span dst) requires(ml_kem_params::check_k(k)) { - using poly_t = std::span; + using poly_t = std::span; using serialized_t = std::span; for (size_t i = 0; i < k; i++) { @@ -128,11 +128,11 @@ poly_vec_encode(std::span src, std::span static inline void -poly_vec_decode(std::span src, std::span dst) +poly_vec_decode(std::span src, std::span dst) requires(ml_kem_params::check_k(k)) { using serialized_t = std::span; - using poly_t = std::span; + using poly_t = std::span; for (size_t i = 0; i < k; i++) { const size_t off0 = i * l * 32; @@ -146,10 +146,10 @@ poly_vec_decode(std::span src, std::span static inline constexpr void -poly_vec_compress(std::span vec) +poly_vec_compress(std::span vec) requires(ml_kem_params::check_k(k)) { - using poly_t = std::span; + using poly_t = std::span; for (size_t i = 0; i < k; i++) { const size_t off = i * ntt::N; @@ -161,10 +161,10 @@ poly_vec_compress(std::span vec) // k * 256 coefficients are decompressed, while mutating input. template static inline constexpr void -poly_vec_decompress(std::span vec) +poly_vec_decompress(std::span vec) requires(ml_kem_params::check_k(k)) { - using poly_t = std::span; + using poly_t = std::span; for (size_t i = 0; i < k; i++) { const size_t off = i * ntt::N; diff --git a/include/ml_kem/internals/poly/sampling.hpp b/include/ml_kem/internals/poly/sampling.hpp index 2217578..2055458 100644 --- a/include/ml_kem/internals/poly/sampling.hpp +++ b/include/ml_kem/internals/poly/sampling.hpp @@ -20,7 +20,7 @@ namespace ml_kem_utils { // See algorithm 1, defined in Ml_kem specification // https://doi.org/10.6028/NIST.FIPS.203.ipd inline void -parse(shake128::shake128_t& hasher, std::span poly) +parse(shake128::shake128_t& hasher, std::span poly) { constexpr size_t n = poly.size(); @@ -34,13 +34,13 @@ parse(shake128::shake128_t& hasher, std::span poly) const uint16_t d1 = (static_cast(buf[off + 1] & 0x0f) << 8) | static_cast(buf[off + 0]); const uint16_t d2 = (static_cast(buf[off + 2]) << 4) | (static_cast(buf[off + 1] >> 4)); - if (d1 < field::Q) { - poly[coeff_idx] = field::zq_t(d1); + if (d1 < ml_kem_field::Q) { + poly[coeff_idx] = ml_kem_field::zq_t(d1); coeff_idx++; } - if ((d2 < field::Q) && (coeff_idx < n)) { - poly[coeff_idx] = field::zq_t(d2); + if ((d2 < ml_kem_field::Q) && (coeff_idx < n)) { + poly[coeff_idx] = ml_kem_field::zq_t(d2); coeff_idx++; } } @@ -55,7 +55,7 @@ parse(shake128::shake128_t& hasher, std::span poly) // https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline void -generate_matrix(std::span mat, std::span rho) +generate_matrix(std::span mat, std::span rho) requires(ml_kem_params::check_k(k)) { std::array xof_in{}; @@ -77,7 +77,7 @@ generate_matrix(std::span mat, std::span; + using poly_t = std::span; parse(hasher, poly_t(mat.subspan(off, ntt::N))); } } @@ -92,7 +92,7 @@ generate_matrix(std::span mat, std::span static inline void -cbd(std::span prf, std::span poly) +cbd(std::span prf, std::span poly) requires(ml_kem_params::check_eta(eta)) { if constexpr (eta == 2) { @@ -110,8 +110,8 @@ cbd(std::span prf, std::span poly) const uint8_t t1 = (word >> 1) & mask8; const uint8_t t2 = t0 + t1; - poly[poff + 0] = field::zq_t((t2 >> 0) & mask2) - field::zq_t((t2 >> 2) & mask2); - poly[poff + 1] = field::zq_t((t2 >> 4) & mask2) - field::zq_t((t2 >> 6) & mask2); + poly[poff + 0] = ml_kem_field::zq_t((t2 >> 0) & mask2) - ml_kem_field::zq_t((t2 >> 2) & mask2); + poly[poff + 1] = ml_kem_field::zq_t((t2 >> 4) & mask2) - ml_kem_field::zq_t((t2 >> 6) & mask2); } } else { static_assert(eta == 3, "η must be 3 !"); @@ -131,10 +131,10 @@ cbd(std::span prf, std::span poly) const uint32_t t2 = (word >> 2) & mask24; const uint32_t t3 = t0 + t1 + t2; - poly[poff + 0] = field::zq_t((t3 >> 0) & mask3) - field::zq_t((t3 >> 3) & mask3); - poly[poff + 1] = field::zq_t((t3 >> 6) & mask3) - field::zq_t((t3 >> 9) & mask3); - poly[poff + 2] = field::zq_t((t3 >> 12) & mask3) - field::zq_t((t3 >> 15) & mask3); - poly[poff + 3] = field::zq_t((t3 >> 18) & mask3) - field::zq_t((t3 >> 21) & mask3); + poly[poff + 0] = ml_kem_field::zq_t((t3 >> 0) & mask3) - ml_kem_field::zq_t((t3 >> 3) & mask3); + poly[poff + 1] = ml_kem_field::zq_t((t3 >> 6) & mask3) - ml_kem_field::zq_t((t3 >> 9) & mask3); + poly[poff + 2] = ml_kem_field::zq_t((t3 >> 12) & mask3) - ml_kem_field::zq_t((t3 >> 15) & mask3); + poly[poff + 3] = ml_kem_field::zq_t((t3 >> 18) & mask3) - ml_kem_field::zq_t((t3 >> 21) & mask3); } } } @@ -144,7 +144,7 @@ cbd(std::span prf, std::span poly) // https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline void -generate_vector(std::span vec, std::span sigma, const uint8_t nonce) +generate_vector(std::span vec, std::span sigma, const uint8_t nonce) requires((k == 1) || ml_kem_params::check_k(k)) { std::array prf_out{}; @@ -161,7 +161,7 @@ generate_vector(std::span vec, std::span; + using poly_t = std::span; ml_kem_utils::cbd(prf_out, poly_t(vec.subspan(off, ntt::N))); } } diff --git a/include/ml_kem/internals/poly/serialize.hpp b/include/ml_kem/internals/poly/serialize.hpp index 6622448..a175f54 100644 --- a/include/ml_kem/internals/poly/serialize.hpp +++ b/include/ml_kem/internals/poly/serialize.hpp @@ -15,7 +15,7 @@ namespace ml_kem_utils { // https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline void -encode(std::span poly, std::span arr) +encode(std::span poly, std::span arr) requires(ml_kem_params::check_l(l)) { std::fill(arr.begin(), arr.end(), 0); @@ -151,7 +151,7 @@ encode(std::span poly, std::span arr // https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline void -decode(std::span arr, std::span poly) +decode(std::span arr, std::span poly) requires(ml_kem_params::check_l(l)) { if constexpr (l == 1) { @@ -162,14 +162,14 @@ decode(std::span arr, std::span poly const size_t off = i << 3; const uint8_t byte = arr[i]; - poly[off + 0] = field::zq_t((byte >> 0) & one); - poly[off + 1] = field::zq_t((byte >> 1) & one); - poly[off + 2] = field::zq_t((byte >> 2) & one); - poly[off + 3] = field::zq_t((byte >> 3) & one); - poly[off + 4] = field::zq_t((byte >> 4) & one); - poly[off + 5] = field::zq_t((byte >> 5) & one); - poly[off + 6] = field::zq_t((byte >> 6) & one); - poly[off + 7] = field::zq_t((byte >> 7) & one); + poly[off + 0] = ml_kem_field::zq_t((byte >> 0) & one); + poly[off + 1] = ml_kem_field::zq_t((byte >> 1) & one); + poly[off + 2] = ml_kem_field::zq_t((byte >> 2) & one); + poly[off + 3] = ml_kem_field::zq_t((byte >> 3) & one); + poly[off + 4] = ml_kem_field::zq_t((byte >> 4) & one); + poly[off + 5] = ml_kem_field::zq_t((byte >> 5) & one); + poly[off + 6] = ml_kem_field::zq_t((byte >> 6) & one); + poly[off + 7] = ml_kem_field::zq_t((byte >> 7) & one); } } else if constexpr (l == 4) { constexpr size_t itr_cnt = ntt::N >> 1; @@ -179,8 +179,8 @@ decode(std::span arr, std::span poly const size_t off = i << 1; const uint8_t byte = arr[i]; - poly[off + 0] = field::zq_t((byte >> 0) & mask); - poly[off + 1] = field::zq_t((byte >> 4) & mask); + poly[off + 0] = ml_kem_field::zq_t((byte >> 0) & mask); + poly[off + 1] = ml_kem_field::zq_t((byte >> 4) & mask); } } else if constexpr (l == 5) { constexpr size_t itr_cnt = ntt::N >> 3; @@ -203,14 +203,14 @@ decode(std::span arr, std::span poly const auto t6 = static_cast((arr[boff + 4] & mask3) << 2) | static_cast((arr[boff + 3] >> 6) & mask2); const auto t7 = static_cast((arr[boff + 4] >> 3) & mask5); - poly[poff + 0] = field::zq_t(t0); - poly[poff + 1] = field::zq_t(t1); - poly[poff + 2] = field::zq_t(t2); - poly[poff + 3] = field::zq_t(t3); - poly[poff + 4] = field::zq_t(t4); - poly[poff + 5] = field::zq_t(t5); - poly[poff + 6] = field::zq_t(t6); - poly[poff + 7] = field::zq_t(t7); + poly[poff + 0] = ml_kem_field::zq_t(t0); + poly[poff + 1] = ml_kem_field::zq_t(t1); + poly[poff + 2] = ml_kem_field::zq_t(t2); + poly[poff + 3] = ml_kem_field::zq_t(t3); + poly[poff + 4] = ml_kem_field::zq_t(t4); + poly[poff + 5] = ml_kem_field::zq_t(t5); + poly[poff + 6] = ml_kem_field::zq_t(t6); + poly[poff + 7] = ml_kem_field::zq_t(t7); } } else if constexpr (l == 10) { constexpr size_t itr_cnt = ntt::N >> 2; @@ -227,10 +227,10 @@ decode(std::span arr, std::span poly const auto t2 = (static_cast(arr[boff + 3] & mask6) << 4) | static_cast(arr[boff + 2] >> 4); const auto t3 = (static_cast(arr[boff + 4]) << 2) | static_cast(arr[boff + 3] >> 6); - poly[poff + 0] = field::zq_t(t0); - poly[poff + 1] = field::zq_t(t1); - poly[poff + 2] = field::zq_t(t2); - poly[poff + 3] = field::zq_t(t3); + poly[poff + 0] = ml_kem_field::zq_t(t0); + poly[poff + 1] = ml_kem_field::zq_t(t1); + poly[poff + 2] = ml_kem_field::zq_t(t2); + poly[poff + 3] = ml_kem_field::zq_t(t3); } } else if constexpr (l == 11) { constexpr size_t itr_cnt = ntt::N >> 3; @@ -255,14 +255,14 @@ decode(std::span arr, std::span poly const auto t6 = (static_cast(arr[boff + 9] & mask5) << 6) | static_cast(arr[boff + 8] >> 2); const auto t7 = (static_cast(arr[boff + 10]) << 3) | static_cast(arr[boff + 9] >> 5); - poly[poff + 0] = field::zq_t(t0); - poly[poff + 1] = field::zq_t(t1); - poly[poff + 2] = field::zq_t(t2); - poly[poff + 3] = field::zq_t(t3); - poly[poff + 4] = field::zq_t(t4); - poly[poff + 5] = field::zq_t(t5); - poly[poff + 6] = field::zq_t(t6); - poly[poff + 7] = field::zq_t(t7); + poly[poff + 0] = ml_kem_field::zq_t(t0); + poly[poff + 1] = ml_kem_field::zq_t(t1); + poly[poff + 2] = ml_kem_field::zq_t(t2); + poly[poff + 3] = ml_kem_field::zq_t(t3); + poly[poff + 4] = ml_kem_field::zq_t(t4); + poly[poff + 5] = ml_kem_field::zq_t(t5); + poly[poff + 6] = ml_kem_field::zq_t(t6); + poly[poff + 7] = ml_kem_field::zq_t(t7); } } else { static_assert(l == 12, "l must be equal to 12 !"); @@ -277,8 +277,8 @@ decode(std::span arr, std::span poly const auto t0 = (static_cast(arr[boff + 1] & mask4) << 8) | static_cast(arr[boff + 0]); const auto t1 = (static_cast(arr[boff + 2]) << 4) | static_cast(arr[boff + 1] >> 4); - poly[poff + 0] = field::zq_t(t0); - poly[poff + 1] = field::zq_t(t1); + poly[poff + 0] = ml_kem_field::zq_t(t0); + poly[poff + 1] = ml_kem_field::zq_t(t1); } } } diff --git a/tests/dudect/test_ml_kem_1024.cpp b/tests/dudect/test_ml_kem_1024.cpp index f534bd0..bb5ef1a 100644 --- a/tests/dudect/test_ml_kem_1024.cpp +++ b/tests/dudect/test_ml_kem_1024.cpp @@ -17,7 +17,7 @@ do_one_computation(uint8_t* const data) constexpr size_t doff5 = doff4 + SEED_LEN; constexpr size_t doff6 = doff5 + SEED_LEN; - std::array poly_vec{}; + std::array poly_vec{}; std::array byte_arr{}; auto sigma = std::span(data + doff0, doff1 - doff0); diff --git a/tests/dudect/test_ml_kem_512.cpp b/tests/dudect/test_ml_kem_512.cpp index 523f2cc..6e8d4d8 100644 --- a/tests/dudect/test_ml_kem_512.cpp +++ b/tests/dudect/test_ml_kem_512.cpp @@ -18,7 +18,7 @@ do_one_computation(uint8_t* const data) constexpr size_t doff5 = doff4 + SEED_LEN; constexpr size_t doff6 = doff5 + SEED_LEN; - std::array poly_vec{}; + std::array poly_vec{}; std::array byte_arr{}; auto sigma = std::span(data + doff0, doff1 - doff0); diff --git a/tests/dudect/test_ml_kem_768.cpp b/tests/dudect/test_ml_kem_768.cpp index 44c9a33..db6192f 100644 --- a/tests/dudect/test_ml_kem_768.cpp +++ b/tests/dudect/test_ml_kem_768.cpp @@ -17,7 +17,7 @@ do_one_computation(uint8_t* const data) constexpr size_t doff5 = doff4 + SEED_LEN; constexpr size_t doff6 = doff5 + SEED_LEN; - std::array poly_vec{}; + std::array poly_vec{}; std::array byte_arr{}; auto sigma = std::span(data + doff0, doff1 - doff0); diff --git a/tests/test_compression.cpp b/tests/test_compression.cpp index 5b7ffbe..e382545 100644 --- a/tests/test_compression.cpp +++ b/tests/test_compression.cpp @@ -13,7 +13,7 @@ template static inline constexpr size_t compute_error() { - constexpr double t0 = static_cast(field::Q); + constexpr double t0 = static_cast(ml_kem_field::Q); constexpr double t1 = static_cast(1ul << (d + 1)); const size_t t2 = static_cast(std::round(t0 / t1)); @@ -39,7 +39,7 @@ test_zq_compression() ml_kem_prng::prng_t<256> prng{}; for (size_t i = 0; i < itr_cnt; i++) { - const auto a = field::zq_t::random(prng); + const auto a = ml_kem_field::zq_t::random(prng); const auto b = ml_kem_utils::compress(a); const auto c = ml_kem_utils::decompress(b); @@ -47,12 +47,12 @@ test_zq_compression() const auto a_canon = a.raw(); const auto c_canon = c.raw(); - const uint32_t br0[]{ static_cast(field::Q - c_canon), c_canon }; - const bool flg0 = c_canon <= (field::Q >> 1); + const uint32_t br0[]{ static_cast(ml_kem_field::Q - c_canon), c_canon }; + const bool flg0 = c_canon <= (ml_kem_field::Q >> 1); const auto c_prime = static_cast(br0[flg0]); - const uint32_t br1[]{ static_cast(field::Q - a_canon), a_canon }; - const bool flg1 = a_canon <= (field::Q >> 1); + const uint32_t br1[]{ static_cast(ml_kem_field::Q - a_canon), a_canon }; + const bool flg1 = a_canon <= (ml_kem_field::Q >> 1); const auto a_prime = static_cast(br1[flg1]); const size_t err = static_cast(std::abs(c_prime - a_prime)); diff --git a/tests/test_field.cpp b/tests/test_field.cpp index d3706ed..a16c1ca 100644 --- a/tests/test_field.cpp +++ b/tests/test_field.cpp @@ -10,8 +10,8 @@ TEST(Ml_kemKEM, ArithmeticOverZq) ml_kem_prng::prng_t<128> prng{}; for (size_t i = 0; i < itr_cnt; i++) { - const auto a = field::zq_t::random(prng); - const auto b = field::zq_t::random(prng); + const auto a = ml_kem_field::zq_t::random(prng); + const auto b = ml_kem_field::zq_t::random(prng); // Addition, Subtraction and Negation const auto c = a + b; @@ -26,16 +26,16 @@ TEST(Ml_kemKEM, ArithmeticOverZq) const auto g = f / b; const auto h = f / a; - if (b != field::zq_t()) { + if (b != ml_kem_field::zq_t()) { EXPECT_EQ(g, a); } else { - EXPECT_EQ(g, field::zq_t()); + EXPECT_EQ(g, ml_kem_field::zq_t()); } - if (a != field::zq_t()) { + if (a != ml_kem_field::zq_t()) { EXPECT_EQ(h, b); } else { - EXPECT_EQ(h, field::zq_t()); + EXPECT_EQ(h, ml_kem_field::zq_t()); } } } diff --git a/tests/test_serialize.cpp b/tests/test_serialize.cpp index d5211f8..2f3bd73 100644 --- a/tests/test_serialize.cpp +++ b/tests/test_serialize.cpp @@ -17,17 +17,17 @@ test_serialize_deserialize() constexpr size_t blen = (ntt::N * l) / 8; constexpr uint32_t mask = (1u << l) - 1u; - std::vector src(ntt::N); - std::vector dst(ntt::N); + std::vector src(ntt::N); + std::vector dst(ntt::N); std::vector bytes(blen); ml_kem_prng::prng_t<256> prng{}; for (size_t i = 0; i < ntt::N; i++) { - src[i] = field::zq_t::random(prng); + src[i] = ml_kem_field::zq_t::random(prng); } - using poly_t = std::span; + using poly_t = std::span; using serialized_t = std::span; ml_kem_utils::encode(poly_t(src), serialized_t(bytes)); From eef069f78be459e5fd3e70320cbb5a8155c4fee1 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Tue, 18 Jun 2024 13:03:21 +0400 Subject: [PATCH 23/30] Refactor NTT and polynomial multiplication in NTT domain Signed-off-by: Anjan Roy --- include/ml_kem/internals/k_pke.hpp | 32 ++--- include/ml_kem/internals/poly/compression.hpp | 4 +- include/ml_kem/internals/poly/ntt.hpp | 129 ++++++------------ include/ml_kem/internals/poly/poly_vec.hpp | 68 ++++----- include/ml_kem/internals/poly/sampling.hpp | 16 +-- include/ml_kem/internals/poly/serialize.hpp | 28 ++-- tests/dudect/test_ml_kem_1024.cpp | 2 +- tests/dudect/test_ml_kem_512.cpp | 2 +- tests/dudect/test_ml_kem_768.cpp | 2 +- tests/test_serialize.cpp | 12 +- 10 files changed, 125 insertions(+), 170 deletions(-) diff --git a/include/ml_kem/internals/k_pke.hpp b/include/ml_kem/internals/k_pke.hpp index 6c8b2ba..63ccac1 100644 --- a/include/ml_kem/internals/k_pke.hpp +++ b/include/ml_kem/internals/k_pke.hpp @@ -27,23 +27,23 @@ keygen(std::span d, std::span pubk const auto rho = _g_out.template subspan<0, 32>(); const auto sigma = _g_out.template subspan(); - std::array A_prime{}; + std::array A_prime{}; ml_kem_utils::generate_matrix(A_prime, rho); uint8_t N = 0; - std::array s{}; + std::array s{}; ml_kem_utils::generate_vector(s, sigma, N); N += k; - std::array e{}; + std::array e{}; ml_kem_utils::generate_vector(e, sigma, N); N += k; ml_kem_utils::poly_vec_ntt(s); ml_kem_utils::poly_vec_ntt(e); - std::array t_prime{}; + std::array t_prime{}; ml_kem_utils::matrix_multiply(A_prime, s, t_prime); ml_kem_utils::poly_vec_add_to(e, t_prime); @@ -76,7 +76,7 @@ encrypt(std::span pubkey, auto _pubkey0 = pubkey.template subspan<0, pkoff>(); auto rho = pubkey.template subspan(); - std::array t_prime{}; + std::array t_prime{}; std::array encoded_tprime{}; ml_kem_utils::poly_vec_decode(_pubkey0, t_prime); @@ -89,37 +89,37 @@ encrypt(std::span pubkey, return false; } - std::array A_prime{}; + std::array A_prime{}; ml_kem_utils::generate_matrix(A_prime, rho); uint8_t N = 0; - std::array r{}; + std::array r{}; ml_kem_utils::generate_vector(r, rcoin, N); N += k; - std::array e1{}; + std::array e1{}; ml_kem_utils::generate_vector(e1, rcoin, N); N += k; - std::array e2{}; + std::array e2{}; ml_kem_utils::generate_vector<1, eta2>(e2, rcoin, N); ml_kem_utils::poly_vec_ntt(r); - std::array u{}; + std::array u{}; ml_kem_utils::matrix_multiply(A_prime, r, u); ml_kem_utils::poly_vec_intt(u); ml_kem_utils::poly_vec_add_to(e1, u); - std::array v{}; + std::array v{}; ml_kem_utils::matrix_multiply<1, k, k, 1>(t_prime, r, v); ml_kem_utils::poly_vec_intt<1>(v); ml_kem_utils::poly_vec_add_to<1>(e2, v); - std::array m{}; + std::array m{}; ml_kem_utils::decode<1>(msg, m); ml_kem_utils::poly_decompress<1>(m); ml_kem_utils::poly_vec_add_to<1>(m, v); @@ -150,22 +150,22 @@ decrypt(std::span seckey, std::span(); auto _enc1 = enc.template subspan(); - std::array u{}; + std::array u{}; ml_kem_utils::poly_vec_decode(_enc0, u); ml_kem_utils::poly_vec_decompress(u); - std::array v{}; + std::array v{}; ml_kem_utils::decode(_enc1, v); ml_kem_utils::poly_decompress(v); - std::array s_prime{}; + std::array s_prime{}; ml_kem_utils::poly_vec_decode(seckey, s_prime); ml_kem_utils::poly_vec_ntt(u); - std::array t{}; + std::array t{}; ml_kem_utils::matrix_multiply<1, k, k, 1>(s_prime, u, t); ml_kem_utils::poly_vec_intt<1>(t); diff --git a/include/ml_kem/internals/poly/compression.hpp b/include/ml_kem/internals/poly/compression.hpp index ea0523d..e5978b2 100644 --- a/include/ml_kem/internals/poly/compression.hpp +++ b/include/ml_kem/internals/poly/compression.hpp @@ -48,7 +48,7 @@ decompress(const ml_kem_field::zq_t x) // Utility function to compress each of 256 coefficients of a degree-255 polynomial while mutating the input. template static inline constexpr void -poly_compress(std::span poly) +poly_compress(std::span poly) requires(ml_kem_params::check_d(d)) { for (size_t i = 0; i < poly.size(); i++) { @@ -59,7 +59,7 @@ poly_compress(std::span poly) // Utility function to decompress each of 256 coefficients of a degree-255 polynomial while mutating the input. template static inline constexpr void -poly_decompress(std::span poly) +poly_decompress(std::span poly) requires(ml_kem_params::check_d(d)) { for (size_t i = 0; i < poly.size(); i++) { diff --git a/include/ml_kem/internals/poly/ntt.hpp b/include/ml_kem/internals/poly/ntt.hpp index cef3e97..a5d8612 100644 --- a/include/ml_kem/internals/poly/ntt.hpp +++ b/include/ml_kem/internals/poly/ntt.hpp @@ -1,32 +1,25 @@ #pragma once #include "ml_kem/internals/math/field.hpp" -#include -#include -// (inverse) Number Theoretic Transform for degree-255 polynomial, over Ml_kem -// Prime Field Zq | q = 3329 -namespace ntt { +namespace ml_kem_ntt { -constexpr size_t LOG2N = 8; -constexpr size_t N = 1 << LOG2N; +static constexpr size_t LOG2N = 8; +static constexpr size_t N = 1 << LOG2N; // First primitive 256 -th root of unity modulo q | q = 3329 // // Meaning, 17 ** 256 == 1 mod q -constexpr auto ζ = ml_kem_field::zq_t(17); +static constexpr auto ζ = ml_kem_field::zq_t(17); // Multiplicative inverse of N/ 2 over Z_q | q = 3329 and N = 256 // -// Meaning (N/ 2) * 3303 = 1 mod q -constexpr auto INV_N = ml_kem_field::zq_t(N / 2).inv(); +// Meaning (N/ 2) * INV_N = 1 mod q +static constexpr auto INV_N = ml_kem_field::zq_t(N / 2).inv(); -// Given a 64 -bit unsigned integer, this routine extracts specified many -// contiguous bits from ( least significant bits ) LSB side & reverses their bit -// order, returning bit reversed `mbw` -bit wide number +// Given a 64 -bit unsigned integer, this routine extracts specified many contiguous bits from ( least significant bits ) LSB side +// and reverses their bit order, returning bit reversed `mbw` -bit wide number. // -// See -// https://github.com/itzmeanjan/falcon/blob/45b0593/include/ntt.hpp#L30-L38 -// for source of inspiration +// See https://github.com/itzmeanjan/falcon/blob/45b0593/include/ntt.hpp#L30-L38 for source of inspiration. template static inline constexpr size_t bit_rev(const size_t v) @@ -41,67 +34,46 @@ bit_rev(const size_t v) return v_rev; } -// Compile-time compute powers of ζ, used for polynomial evaluation ( NTT ) -consteval std::array -compute_ntt_ζ() -{ - std::array res; +// Compile-time computed constants ( powers of ζ ), used for polynomial evaluation i.e. computation of NTT form. +static constexpr std::array NTT_ζ_EXP = []() -> auto { + std::array res{}; - for (size_t i = 0; i < N / 2; i++) { + for (size_t i = 0; i < res.size(); i++) { res[i] = ζ ^ bit_rev(i); } return res; -} +}(); -// Precomputed constants ( powers of ζ ), used for computing NTT form of -// degree-255 polynomial -constexpr std::array NTT_ζ_EXP = compute_ntt_ζ(); +// Compile-time computed constants ( negated powers of ζ ), used for polynomial interpolation i.e. computation of iNTT form. +static constexpr std::array INTT_ζ_EXP = []() -> auto { + std::array res{}; -// Compile-time compute negated powers of ζ, used for polynomial interpolation ( -// iNTT ) -consteval std::array -compute_intt_ζ() -{ - std::array res; - - for (size_t i = 0; i < N / 2; i++) { + for (size_t i = 0; i < res.size(); i++) { res[i] = -NTT_ζ_EXP[i]; } return res; -} +}(); -// Precomputed constants ( negated powers of ζ ), used for computing coefficient -// form of degree-255 polynomial using inverse NTT -constexpr std::array INTT_ζ_EXP = compute_intt_ζ(); +// Compile-time computed constants ( powers of ζ ), used when multiplying two degree-255 polynomials in NTT domain. +static constexpr std::array POLY_MUL_ζ_EXP = []() -> auto { + std::array res{}; -// Compile-time compute powers of ζ, used for multiplication of two degree-255 -// polynomials in NTT representation. -consteval std::array -compute_mul_ζ() -{ - std::array res; - - for (size_t i = 0; i < N / 2; i++) { + for (size_t i = 0; i < res.size(); i++) { res[i] = ζ ^ ((bit_rev(i) << 1) ^ 1); } return res; -} +}(); -// Precomputed constants ( powers of ζ ), used when multiplying two degree-255 -// polynomials in NTT domain. -constexpr std::array POLY_MUL_ζ_EXP = compute_mul_ζ(); - -// Given a polynomial f with 256 coefficients over F_q | q = 3329, this routine -// computes number theoretic transform using cooley-tukey algorithm, producing -// polynomial f' s.t. its coefficients are placed in bit-reversed order +// Given a polynomial f with 256 coefficients over F_q | q = 3329, this routine computes number theoretic transform +// using Cooley-Tukey algorithm, producing polynomial f' s.t. its coefficients are placed in bit-reversed order. // // Note, this routine mutates input i.e. it's an in-place NTT implementation. // -// Implementation inspired from -// https://github.com/itzmeanjan/falcon/blob/45b0593/include/ntt.hpp#L69-L144 +// Implementation inspired from https://github.com/itzmeanjan/falcon/blob/45b0593/include/ntt.hpp#L69-L144. +// See algorithm 8 of ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. static inline constexpr void ntt(std::span poly) { @@ -130,15 +102,14 @@ ntt(std::span poly) } } -// Given a polynomial f with 256 coefficients over F_q | q = 3329, s.t. its -// coefficients are placed in bit-reversed order, this routine computes inverse -// number theoretic transform using cooley-tukey algorithm, producing polynomial -// f' s.t. its coefficients are placed in standard order +// Given a polynomial f with 256 coefficients over F_q | q = 3329, s.t. its coefficients are placed in bit-reversed order, +// this routine computes inverse number theoretic transform using Gentleman-Sande algorithm, producing polynomial f' s.t. +// its coefficients are placed in standard order. // // Note, this routine mutates input i.e. it's an in-place iNTT implementation. // -// Implementation inspired from -// https://github.com/itzmeanjan/falcon/blob/45b0593/include/ntt.hpp#L146-L224 +// Implementation inspired from https://github.com/itzmeanjan/falcon/blob/45b0593/include/ntt.hpp#L146-L224. +// See algorithm 9 of ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. static inline constexpr void intt(std::span poly) { @@ -173,23 +144,10 @@ intt(std::span poly) } } -// Given two degree-1 polynomials s.t. -// -// f = f_2i + f_(2i + 1) * X -// g = g_2i + g_(2i + 1) * X -// -// this routine computes resulting degree-1 polynomial h s.t. -// -// h = f * g mod X ^ 2 − ζ ^ (2 * br<7>(i) + 1) | i ∈ [0, 128) -// -// See page 6 of Ml_kem specification -// https://doi.org/10.6028/NIST.FIPS.203.ipd +// Given two degree-1 polynomials, this routine computes resulting degree-1 polynomial h. +// See algorithm 11 of ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. static inline constexpr void -basemul(std::span f, // degree-1 polynomial - std::span g, // degree-1 polynomial - std::span h, // degree-1 polynomial - const ml_kem_field::zq_t ζ // zeta -) +basemul(std::span f, std::span g, std::span h, const ml_kem_field::zq_t ζ) { ml_kem_field::zq_t f0 = f[0]; ml_kem_field::zq_t f1 = f[1]; @@ -212,25 +170,22 @@ basemul(std::span f, // degree-1 polynomial } // Given two degree-255 polynomials in NTT form, this routine performs 128 -// basecase multiplications for 128 pairs of degree-1 polynomials s.t. +// base case multiplications for 128 pairs of degree-1 polynomials s.t. // // f = (f0ˆ + f1ˆX, f2ˆ + f3ˆX, ..., f254ˆ + f255ˆX) // g = (g0ˆ + g1ˆX, g2ˆ + g3ˆX, ..., g254ˆ + g255ˆX) // // h = f ◦ g +// +// See algorithm 10 of ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. static inline constexpr void -polymul(std::span f, // degree-255 polynomial - std::span g, // degree-255 polynomial - std::span h // degree-255 polynomial -) +polymul(std::span f, std::span g, std::span h) { - constexpr size_t cnt = f.size() >> 1; - using poly_t = std::span; using mut_poly_t = std::span; - for (size_t i = 0; i < cnt; i++) { - const size_t off = i << 1; + for (size_t i = 0; i < f.size() / 2; i++) { + const size_t off = i * 2; basemul(poly_t(f.subspan(off, 2)), poly_t(g.subspan(off, 2)), mut_poly_t(h.subspan(off, 2)), POLY_MUL_ζ_EXP[i]); } } diff --git a/include/ml_kem/internals/poly/poly_vec.hpp b/include/ml_kem/internals/poly/poly_vec.hpp index e605156..bdfd3e0 100644 --- a/include/ml_kem/internals/poly/poly_vec.hpp +++ b/include/ml_kem/internals/poly/poly_vec.hpp @@ -15,27 +15,27 @@ namespace ml_kem_utils { // attempts to multiply and compute resulting matrix template static inline constexpr void -matrix_multiply(std::span a, - std::span b, - std::span c) +matrix_multiply(std::span a, + std::span b, + std::span c) requires(ml_kem_params::check_matrix_dim(a_cols, b_rows)) { - using poly_t = std::span; + using poly_t = std::span; - std::array tmp{}; + std::array tmp{}; auto _tmp = std::span(tmp); for (size_t i = 0; i < a_rows; i++) { for (size_t j = 0; j < b_cols; j++) { - const size_t coff = (i * b_cols + j) * ntt::N; + const size_t coff = (i * b_cols + j) * ml_kem_ntt::N; for (size_t k = 0; k < a_cols; k++) { - const size_t aoff = (i * a_cols + k) * ntt::N; - const size_t boff = (k * b_cols + j) * ntt::N; + const size_t aoff = (i * a_cols + k) * ml_kem_ntt::N; + const size_t boff = (k * b_cols + j) * ml_kem_ntt::N; - ntt::polymul(poly_t(a.subspan(aoff, ntt::N)), poly_t(b.subspan(boff, ntt::N)), _tmp); + ml_kem_ntt::polymul(poly_t(a.subspan(aoff, ml_kem_ntt::N)), poly_t(b.subspan(boff, ml_kem_ntt::N)), _tmp); - for (size_t l = 0; l < ntt::N; l++) { + for (size_t l = 0; l < ml_kem_ntt::N; l++) { c[coff + l] += tmp[l]; } } @@ -48,14 +48,14 @@ matrix_multiply(std::span a, // polynomial NTT over k polynomials template static inline constexpr void -poly_vec_ntt(std::span vec) +poly_vec_ntt(std::span vec) requires((k == 1) || ml_kem_params::check_k(k)) { - using poly_t = std::span; + using poly_t = std::span; for (size_t i = 0; i < k; i++) { - const size_t off = i * ntt::N; - ntt::ntt(poly_t(vec.subspan(off, ntt::N))); + const size_t off = i * ml_kem_ntt::N; + ml_kem_ntt::ntt(poly_t(vec.subspan(off, ml_kem_ntt::N))); } } @@ -65,14 +65,14 @@ poly_vec_ntt(std::span vec) // polynomials template static inline constexpr void -poly_vec_intt(std::span vec) +poly_vec_intt(std::span vec) requires((k == 1) || ml_kem_params::check_k(k)) { - using poly_t = std::span; + using poly_t = std::span; for (size_t i = 0; i < k; i++) { - const size_t off = i * ntt::N; - ntt::intt(poly_t(vec.subspan(off, ntt::N))); + const size_t off = i * ml_kem_ntt::N; + ml_kem_ntt::intt(poly_t(vec.subspan(off, ml_kem_ntt::N))); } } @@ -80,10 +80,10 @@ poly_vec_intt(std::span vec) // routine adds it to another polynomial vector of same dimension template static inline constexpr void -poly_vec_add_to(std::span src, std::span dst) +poly_vec_add_to(std::span src, std::span dst) requires((k == 1) || ml_kem_params::check_k(k)) { - constexpr size_t cnt = k * ntt::N; + constexpr size_t cnt = k * ml_kem_ntt::N; for (size_t i = 0; i < cnt; i++) { dst[i] += src[i]; @@ -94,10 +94,10 @@ poly_vec_add_to(std::span src, std::span static inline constexpr void -poly_vec_sub_from(std::span src, std::span dst) +poly_vec_sub_from(std::span src, std::span dst) requires((k == 1) || ml_kem_params::check_k(k)) { - constexpr size_t cnt = k * ntt::N; + constexpr size_t cnt = k * ml_kem_ntt::N; for (size_t i = 0; i < cnt; i++) { dst[i] -= src[i]; @@ -109,17 +109,17 @@ poly_vec_sub_from(std::span src, std::span // (k x 32 x l) -bytes destination array template static inline void -poly_vec_encode(std::span src, std::span dst) +poly_vec_encode(std::span src, std::span dst) requires(ml_kem_params::check_k(k)) { using poly_t = std::span; using serialized_t = std::span; for (size_t i = 0; i < k; i++) { - const size_t off0 = i * ntt::N; + const size_t off0 = i * ml_kem_ntt::N; const size_t off1 = i * l * 32; - ml_kem_utils::encode(poly_t(src.subspan(off0, ntt::N)), serialized_t(dst.subspan(off1, 32 * l))); + ml_kem_utils::encode(poly_t(src.subspan(off0, ml_kem_ntt::N)), serialized_t(dst.subspan(off1, 32 * l))); } } @@ -128,7 +128,7 @@ poly_vec_encode(std::span src, std::span static inline void -poly_vec_decode(std::span src, std::span dst) +poly_vec_decode(std::span src, std::span dst) requires(ml_kem_params::check_k(k)) { using serialized_t = std::span; @@ -136,9 +136,9 @@ poly_vec_decode(std::span src, std::span(serialized_t(src.subspan(off0, 32 * l)), poly_t(dst.subspan(off1, ntt::N))); + ml_kem_utils::decode(serialized_t(src.subspan(off0, 32 * l)), poly_t(dst.subspan(off1, ml_kem_ntt::N))); } } @@ -146,14 +146,14 @@ poly_vec_decode(std::span src, std::span static inline constexpr void -poly_vec_compress(std::span vec) +poly_vec_compress(std::span vec) requires(ml_kem_params::check_k(k)) { using poly_t = std::span; for (size_t i = 0; i < k; i++) { - const size_t off = i * ntt::N; - ml_kem_utils::poly_compress(poly_t(vec.subspan(off, ntt::N))); + const size_t off = i * ml_kem_ntt::N; + ml_kem_utils::poly_compress(poly_t(vec.subspan(off, ml_kem_ntt::N))); } } @@ -161,14 +161,14 @@ poly_vec_compress(std::span vec) // k * 256 coefficients are decompressed, while mutating input. template static inline constexpr void -poly_vec_decompress(std::span vec) +poly_vec_decompress(std::span vec) requires(ml_kem_params::check_k(k)) { using poly_t = std::span; for (size_t i = 0; i < k; i++) { - const size_t off = i * ntt::N; - ml_kem_utils::poly_decompress(poly_t(vec.subspan(off, ntt::N))); + const size_t off = i * ml_kem_ntt::N; + ml_kem_utils::poly_decompress(poly_t(vec.subspan(off, ml_kem_ntt::N))); } } diff --git a/include/ml_kem/internals/poly/sampling.hpp b/include/ml_kem/internals/poly/sampling.hpp index 2055458..88f855a 100644 --- a/include/ml_kem/internals/poly/sampling.hpp +++ b/include/ml_kem/internals/poly/sampling.hpp @@ -20,7 +20,7 @@ namespace ml_kem_utils { // See algorithm 1, defined in Ml_kem specification // https://doi.org/10.6028/NIST.FIPS.203.ipd inline void -parse(shake128::shake128_t& hasher, std::span poly) +parse(shake128::shake128_t& hasher, std::span poly) { constexpr size_t n = poly.size(); @@ -55,7 +55,7 @@ parse(shake128::shake128_t& hasher, std::span poly) // https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline void -generate_matrix(std::span mat, std::span rho) +generate_matrix(std::span mat, std::span rho) requires(ml_kem_params::check_k(k)) { std::array xof_in{}; @@ -63,7 +63,7 @@ generate_matrix(std::span mat, std::span(i); @@ -78,7 +78,7 @@ generate_matrix(std::span mat, std::span; - parse(hasher, poly_t(mat.subspan(off, ntt::N))); + parse(hasher, poly_t(mat.subspan(off, ml_kem_ntt::N))); } } } @@ -92,7 +92,7 @@ generate_matrix(std::span mat, std::span static inline void -cbd(std::span prf, std::span poly) +cbd(std::span prf, std::span poly) requires(ml_kem_params::check_eta(eta)) { if constexpr (eta == 2) { @@ -144,7 +144,7 @@ cbd(std::span prf, std::span static inline void -generate_vector(std::span vec, std::span sigma, const uint8_t nonce) +generate_vector(std::span vec, std::span sigma, const uint8_t nonce) requires((k == 1) || ml_kem_params::check_k(k)) { std::array prf_out{}; @@ -152,7 +152,7 @@ generate_vector(std::span vec, std::span(i); @@ -162,7 +162,7 @@ generate_vector(std::span vec, std::span; - ml_kem_utils::cbd(prf_out, poly_t(vec.subspan(off, ntt::N))); + ml_kem_utils::cbd(prf_out, poly_t(vec.subspan(off, ml_kem_ntt::N))); } } diff --git a/include/ml_kem/internals/poly/serialize.hpp b/include/ml_kem/internals/poly/serialize.hpp index a175f54..b45b5e9 100644 --- a/include/ml_kem/internals/poly/serialize.hpp +++ b/include/ml_kem/internals/poly/serialize.hpp @@ -15,13 +15,13 @@ namespace ml_kem_utils { // https://doi.org/10.6028/NIST.FIPS.203.ipd template static inline void -encode(std::span poly, std::span arr) +encode(std::span poly, std::span arr) requires(ml_kem_params::check_l(l)) { std::fill(arr.begin(), arr.end(), 0); if constexpr (l == 1) { - constexpr size_t itr_cnt = ntt::N >> 3; + constexpr size_t itr_cnt = ml_kem_ntt::N >> 3; constexpr uint32_t one = 0b1u; for (size_t i = 0; i < itr_cnt; i++) { @@ -32,7 +32,7 @@ encode(std::span poly, std::span(poly[off + 1].raw() & one) << 1) | (static_cast(poly[off + 0].raw() & one) << 0); } } else if constexpr (l == 4) { - constexpr size_t itr_cnt = ntt::N >> 1; + constexpr size_t itr_cnt = ml_kem_ntt::N >> 1; constexpr uint32_t msk = 0b1111u; for (size_t i = 0; i < itr_cnt; i++) { @@ -40,7 +40,7 @@ encode(std::span poly, std::span(poly[off + 1].raw() & msk) << 4) | static_cast(poly[off + 0].raw() & msk); } } else if constexpr (l == 5) { - constexpr size_t itr_cnt = ntt::N >> 3; + constexpr size_t itr_cnt = ml_kem_ntt::N >> 3; constexpr uint32_t mask5 = 0b11111u; constexpr uint32_t mask4 = 0b1111u; constexpr uint32_t mask3 = 0b111u; @@ -67,7 +67,7 @@ encode(std::span poly, std::span(t7 & mask5) << 3) | static_cast((t6 >> 2) & mask3); } } else if constexpr (l == 10) { - constexpr size_t itr_cnt = ntt::N >> 2; + constexpr size_t itr_cnt = ml_kem_ntt::N >> 2; constexpr uint32_t mask6 = 0b111111u; constexpr uint32_t mask4 = 0b1111u; constexpr uint32_t mask2 = 0b11u; @@ -88,7 +88,7 @@ encode(std::span poly, std::span(t3 >> 2); } } else if constexpr (l == 11) { - constexpr size_t itr_cnt = ntt::N >> 3; + constexpr size_t itr_cnt = ml_kem_ntt::N >> 3; constexpr uint32_t mask8 = 0b11111111u; constexpr uint32_t mask7 = 0b1111111u; constexpr uint32_t mask6 = 0b111111u; @@ -126,7 +126,7 @@ encode(std::span poly, std::span> 1; + constexpr size_t itr_cnt = ml_kem_ntt::N >> 1; constexpr uint32_t mask4 = 0b1111u; for (size_t i = 0; i < itr_cnt; i++) { @@ -151,11 +151,11 @@ encode(std::span poly, std::span static inline void -decode(std::span arr, std::span poly) +decode(std::span arr, std::span poly) requires(ml_kem_params::check_l(l)) { if constexpr (l == 1) { - constexpr size_t itr_cnt = ntt::N >> 3; + constexpr size_t itr_cnt = ml_kem_ntt::N >> 3; constexpr uint8_t one = 0b1; for (size_t i = 0; i < itr_cnt; i++) { @@ -172,7 +172,7 @@ decode(std::span arr, std::span> 7) & one); } } else if constexpr (l == 4) { - constexpr size_t itr_cnt = ntt::N >> 1; + constexpr size_t itr_cnt = ml_kem_ntt::N >> 1; constexpr uint8_t mask = 0b1111; for (size_t i = 0; i < itr_cnt; i++) { @@ -183,7 +183,7 @@ decode(std::span arr, std::span> 4) & mask); } } else if constexpr (l == 5) { - constexpr size_t itr_cnt = ntt::N >> 3; + constexpr size_t itr_cnt = ml_kem_ntt::N >> 3; constexpr uint8_t mask5 = 0b11111; constexpr uint8_t mask4 = 0b1111; constexpr uint8_t mask3 = 0b111; @@ -213,7 +213,7 @@ decode(std::span arr, std::span> 2; + constexpr size_t itr_cnt = ml_kem_ntt::N >> 2; constexpr uint8_t mask6 = 0b111111; constexpr uint8_t mask4 = 0b1111; constexpr uint8_t mask2 = 0b11; @@ -233,7 +233,7 @@ decode(std::span arr, std::span> 3; + constexpr size_t itr_cnt = ml_kem_ntt::N >> 3; constexpr uint8_t mask7 = 0b1111111; constexpr uint8_t mask6 = 0b111111; constexpr uint8_t mask5 = 0b11111; @@ -267,7 +267,7 @@ decode(std::span arr, std::span> 1; + constexpr size_t itr_cnt = ml_kem_ntt::N >> 1; constexpr uint8_t mask4 = 0b1111; for (size_t i = 0; i < itr_cnt; i++) { diff --git a/tests/dudect/test_ml_kem_1024.cpp b/tests/dudect/test_ml_kem_1024.cpp index bb5ef1a..4c11eb3 100644 --- a/tests/dudect/test_ml_kem_1024.cpp +++ b/tests/dudect/test_ml_kem_1024.cpp @@ -17,7 +17,7 @@ do_one_computation(uint8_t* const data) constexpr size_t doff5 = doff4 + SEED_LEN; constexpr size_t doff6 = doff5 + SEED_LEN; - std::array poly_vec{}; + std::array poly_vec{}; std::array byte_arr{}; auto sigma = std::span(data + doff0, doff1 - doff0); diff --git a/tests/dudect/test_ml_kem_512.cpp b/tests/dudect/test_ml_kem_512.cpp index 6e8d4d8..9eeef56 100644 --- a/tests/dudect/test_ml_kem_512.cpp +++ b/tests/dudect/test_ml_kem_512.cpp @@ -18,7 +18,7 @@ do_one_computation(uint8_t* const data) constexpr size_t doff5 = doff4 + SEED_LEN; constexpr size_t doff6 = doff5 + SEED_LEN; - std::array poly_vec{}; + std::array poly_vec{}; std::array byte_arr{}; auto sigma = std::span(data + doff0, doff1 - doff0); diff --git a/tests/dudect/test_ml_kem_768.cpp b/tests/dudect/test_ml_kem_768.cpp index db6192f..27a56a8 100644 --- a/tests/dudect/test_ml_kem_768.cpp +++ b/tests/dudect/test_ml_kem_768.cpp @@ -17,7 +17,7 @@ do_one_computation(uint8_t* const data) constexpr size_t doff5 = doff4 + SEED_LEN; constexpr size_t doff6 = doff5 + SEED_LEN; - std::array poly_vec{}; + std::array poly_vec{}; std::array byte_arr{}; auto sigma = std::span(data + doff0, doff1 - doff0); diff --git a/tests/test_serialize.cpp b/tests/test_serialize.cpp index 2f3bd73..b688e30 100644 --- a/tests/test_serialize.cpp +++ b/tests/test_serialize.cpp @@ -14,26 +14,26 @@ template void test_serialize_deserialize() { - constexpr size_t blen = (ntt::N * l) / 8; + constexpr size_t blen = (ml_kem_ntt::N * l) / 8; constexpr uint32_t mask = (1u << l) - 1u; - std::vector src(ntt::N); - std::vector dst(ntt::N); + std::vector src(ml_kem_ntt::N); + std::vector dst(ml_kem_ntt::N); std::vector bytes(blen); ml_kem_prng::prng_t<256> prng{}; - for (size_t i = 0; i < ntt::N; i++) { + for (size_t i = 0; i < ml_kem_ntt::N; i++) { src[i] = ml_kem_field::zq_t::random(prng); } - using poly_t = std::span; + using poly_t = std::span; using serialized_t = std::span; ml_kem_utils::encode(poly_t(src), serialized_t(bytes)); ml_kem_utils::decode(serialized_t(bytes), poly_t(dst)); - for (size_t i = 0; i < ntt::N; i++) { + for (size_t i = 0; i < ml_kem_ntt::N; i++) { EXPECT_EQ((src[i].raw() & mask), (dst[i].raw() & mask)); } } From 542c1d4157d7cd7a66d995e831e5bb9d4282eb56 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Tue, 18 Jun 2024 13:32:17 +0400 Subject: [PATCH 24/30] Refactor polynomial operations, serialization and de-serialization etc. Signed-off-by: Anjan Roy --- include/ml_kem/internals/math/field.hpp | 5 ++- include/ml_kem/internals/poly/poly_vec.hpp | 41 ++++++----------- include/ml_kem/internals/poly/sampling.hpp | 49 ++++++++------------- include/ml_kem/internals/poly/serialize.hpp | 27 +++++------- 4 files changed, 47 insertions(+), 75 deletions(-) diff --git a/include/ml_kem/internals/math/field.hpp b/include/ml_kem/internals/math/field.hpp index 27085c2..e868c91 100644 --- a/include/ml_kem/internals/math/field.hpp +++ b/include/ml_kem/internals/math/field.hpp @@ -58,7 +58,8 @@ private: public: // Constructor(s) inline constexpr zq_t() = default; - inline constexpr zq_t(const uint16_t a) { this->v = a; } + inline constexpr zq_t(const uint16_t a /* Expects a ∈ [0, Q) */) { this->v = a; } + static inline constexpr zq_t from_non_reduced(const uint16_t a /* Doesn't expect that a ∈ [0, Q) */) { return barrett_reduce(a); } // Returns canonical value held under Zq type. Returned value must ∈ [0, Q). inline constexpr uint32_t raw() const { return this->v; } @@ -120,7 +121,7 @@ public: uint16_t res = 0; prng.read(std::span(reinterpret_cast(&res), sizeof(res))); - return zq_t(barrett_reduce(static_cast(res))); + return zq_t::from_non_reduced(static_cast(res)); } }; diff --git a/include/ml_kem/internals/poly/poly_vec.hpp b/include/ml_kem/internals/poly/poly_vec.hpp index bdfd3e0..1d8b1b4 100644 --- a/include/ml_kem/internals/poly/poly_vec.hpp +++ b/include/ml_kem/internals/poly/poly_vec.hpp @@ -4,15 +4,11 @@ #include "ml_kem/internals/poly/ntt.hpp" #include "ml_kem/internals/poly/serialize.hpp" #include "ml_kem/internals/utility/params.hpp" -#include -#include -// IND-CPA-secure Public Key Encryption Scheme Utilities namespace ml_kem_utils { -// Given two matrices ( in NTT domain ) of compatible dimension, where each -// matrix element is a degree-255 polynomial over Z_q | q = 3329, this routine -// attempts to multiply and compute resulting matrix +// Given two matrices ( in NTT domain ) of compatible dimension, where each matrix element is a degree-255 polynomial over Z_q | q = 3329, +// this routine multiplies them, computing a resulting matrix. template static inline constexpr void matrix_multiply(std::span a, @@ -43,9 +39,8 @@ matrix_multiply(std::span static inline constexpr void poly_vec_ntt(std::span vec) @@ -59,10 +54,8 @@ poly_vec_ntt(std::span vec) } } -// Given a vector ( of dimension k x 1 ) of degree-255 polynomials ( where -// polynomial coefficients are in NTT form i.e. they are placed in bit-reversed -// order ), this routine applies in-place polynomial iNTT over those k -// polynomials +// Given a vector ( of dimension `k x 1` ) of degree-255 polynomials ( where polynomial coefficients are in NTT form i.e. +// they are placed in bit-reversed order ), this routine applies in-place polynomial iNTT over those `k` polynomials. template static inline constexpr void poly_vec_intt(std::span vec) @@ -76,8 +69,7 @@ poly_vec_intt(std::span vec) } } -// Given a vector ( of dimension k x 1 ) of degree-255 polynomials, this -// routine adds it to another polynomial vector of same dimension +// Given a vector ( of dimension `k x 1` ) of degree-255 polynomials, this routine adds it to another polynomial vector of same dimension. template static inline constexpr void poly_vec_add_to(std::span src, std::span dst) @@ -90,8 +82,7 @@ poly_vec_add_to(std::span src, std: } } -// Given a vector ( of dimension k x 1 ) of degree-255 polynomials, this -// routine subtracts it to another polynomial vector of same dimension +// Given a vector ( of dimension `k x 1` ) of degree-255 polynomials, this routine subtracts it to another polynomial vector of same dimension. template static inline constexpr void poly_vec_sub_from(std::span src, std::span dst) @@ -104,9 +95,8 @@ poly_vec_sub_from(std::span src, st } } -// Given a vector ( of dimension k x 1 ) of degree-255 polynomials, this routine -// encodes each of those polynomials into 32 x l -bytes, writing to a -// (k x 32 x l) -bytes destination array +// Given a vector ( of dimension `k x 1` ) of degree-255 polynomials, this routine encodes each of those polynomials into 32 x l -bytes, +// writing to a (k x 32 x l) -bytes destination array. template static inline void poly_vec_encode(std::span src, std::span dst) @@ -123,9 +113,8 @@ poly_vec_encode(std::span src, std: } } -// Given a byte array of length (k x 32 x l) -bytes, this routine decodes them -// into k degree-255 polynomials, writing them to a column vector of dimension -// k x 1 +// Given a byte array of length (k x 32 x l) -bytes, this routine decodes them into k degree-255 polynomials, writing them to a +// column vector of dimension `k x 1`. template static inline void poly_vec_decode(std::span src, std::span dst) @@ -142,8 +131,7 @@ poly_vec_decode(std::span src, std::span static inline constexpr void poly_vec_compress(std::span vec) @@ -157,8 +145,7 @@ poly_vec_compress(std::span vec) } } -// Given a vector ( of dimension k x 1 ) of degree-255 polynomials, each of -// k * 256 coefficients are decompressed, while mutating input. +// Given a vector ( of dimension `k x 1` ) of degree-255 polynomials, each of k * 256 coefficients are decompressed, while mutating input. template static inline constexpr void poly_vec_decompress(std::span vec) diff --git a/include/ml_kem/internals/poly/sampling.hpp b/include/ml_kem/internals/poly/sampling.hpp index 88f855a..f04be7a 100644 --- a/include/ml_kem/internals/poly/sampling.hpp +++ b/include/ml_kem/internals/poly/sampling.hpp @@ -4,28 +4,24 @@ #include "ml_kem/internals/utility/params.hpp" #include "shake128.hpp" #include "shake256.hpp" -#include -#include +#include -// IND-CPA-secure Public Key Encryption Scheme Utilities namespace ml_kem_utils { -// Uniform sampling in R_q | q = 3329 +// Uniform sampling in R_q | q = 3329. // -// Given a byte stream, this routine *deterministically* samples a degree 255 -// polynomial in NTT representation. If the byte stream is statistically close -// to uniform random byte stream, produced polynomial coefficients are also +// Given a byte stream, this routine *deterministically* samples a degree 255 polynomial in NTT representation. +// If the byte stream is statistically close to uniform random byte stream, produced polynomial coefficients are also // statiscally close to randomly sampled elements of R_q. // -// See algorithm 1, defined in Ml_kem specification -// https://doi.org/10.6028/NIST.FIPS.203.ipd -inline void -parse(shake128::shake128_t& hasher, std::span poly) +// See algorithm 6 of ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. +inline constexpr void +sample_ntt(shake128::shake128_t& hasher, std::span poly) { constexpr size_t n = poly.size(); size_t coeff_idx = 0; - std::array buf{}; + std::array::digits> buf{}; while (coeff_idx < n) { hasher.squeeze(buf); @@ -47,14 +43,12 @@ parse(shake128::shake128_t& hasher, std::span } } -// Generate public matrix A ( consists of degree-255 polynomials ) in NTT -// domain, by sampling from a XOF ( read SHAKE128 ), which is seeded with 32 -// -bytes key and two nonces ( each of 1 -byte ) +// Generate public matrix A ( consists of degree-255 polynomials ) in NTT domain, by sampling from a XOF ( read SHAKE128 ), +// which is seeded with 32 -bytes key and two nonces ( each of 1 -byte ). // -// See step (4-8) of algorithm 4/ 5, defined in Ml_kem specification -// https://doi.org/10.6028/NIST.FIPS.203.ipd +// See step (4-8) of algorithm 12/ 13 of ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. template -static inline void +static inline constexpr void generate_matrix(std::span mat, std::span rho) requires(ml_kem_params::check_k(k)) { @@ -78,21 +72,18 @@ generate_matrix(std::span mat, std::s hasher.finalize(); using poly_t = std::span; - parse(hasher, poly_t(mat.subspan(off, ml_kem_ntt::N))); + sample_ntt(hasher, poly_t(mat.subspan(off, ml_kem_ntt::N))); } } } -// Centered Binomial Distribution +// Centered Binomial Distribution. +// A degree 255 polynomial deterministically sampled from `64 * eta` -bytes output of a pseudorandom function ( PRF ). // -// A degree 255 polynomial deterministically sampled from 64 * eta -bytes output -// of a pseudorandom function ( PRF ) -// -// See algorithm 2, defined in Ml_kem specification -// https://doi.org/10.6028/NIST.FIPS.203.ipd +// See algorithm 7 of ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. template static inline void -cbd(std::span prf, std::span poly) +sample_poly_cbd(std::span prf, std::span poly) requires(ml_kem_params::check_eta(eta)) { if constexpr (eta == 2) { @@ -139,9 +130,7 @@ cbd(std::span prf, std::span static inline void generate_vector(std::span vec, std::span sigma, const uint8_t nonce) @@ -162,7 +151,7 @@ generate_vector(std::span vec, std::span< hasher.squeeze(prf_out); using poly_t = std::span; - ml_kem_utils::cbd(prf_out, poly_t(vec.subspan(off, ml_kem_ntt::N))); + ml_kem_utils::sample_poly_cbd(prf_out, poly_t(vec.subspan(off, ml_kem_ntt::N))); } } diff --git a/include/ml_kem/internals/poly/serialize.hpp b/include/ml_kem/internals/poly/serialize.hpp index b45b5e9..38baf25 100644 --- a/include/ml_kem/internals/poly/serialize.hpp +++ b/include/ml_kem/internals/poly/serialize.hpp @@ -2,19 +2,15 @@ #include "ml_kem/internals/math/field.hpp" #include "ml_kem/internals/poly/ntt.hpp" #include "ml_kem/internals/utility/params.hpp" -#include -// IND-CPA-secure Public Key Encryption Scheme Utilities namespace ml_kem_utils { -// Given a degree-255 polynomial, where significant portion of each ( total 256 -// of them ) coefficient ∈ [0, 2^l), this routine serializes the polynomial to a -// byte array of length 32 * l -bytes +// Given a degree-255 polynomial, where significant portion of each ( total 256 of them ) coefficient ∈ [0, 2^l), +// this routine serializes the polynomial to a byte array of length 32 * l -bytes. // -// See algorithm 3 described in section 1.1 ( page 7 ) of Ml_kem specification -// https://doi.org/10.6028/NIST.FIPS.203.ipd +// See algorithm 4 of ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. template -static inline void +static inline constexpr void encode(std::span poly, std::span arr) requires(ml_kem_params::check_l(l)) { @@ -143,14 +139,12 @@ encode(std::span poly, std::span -static inline void +static inline constexpr void decode(std::span arr, std::span poly) requires(ml_kem_params::check_l(l)) { @@ -277,8 +271,9 @@ decode(std::span arr, std::span(arr[boff + 1] & mask4) << 8) | static_cast(arr[boff + 0]); const auto t1 = (static_cast(arr[boff + 2]) << 4) | static_cast(arr[boff + 1] >> 4); - poly[poff + 0] = ml_kem_field::zq_t(t0); - poly[poff + 1] = ml_kem_field::zq_t(t1); + // Read line (786-792) of ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. + poly[poff + 0] = ml_kem_field::zq_t::from_non_reduced(t0); + poly[poff + 1] = ml_kem_field::zq_t::from_non_reduced(t1); } } } From 56b3e496597ec353b236287281743951b3b456db Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Tue, 18 Jun 2024 13:50:32 +0400 Subject: [PATCH 25/30] Make functions `constexpr` wherever it can be Signed-off-by: Anjan Roy --- include/ml_kem/internals/k_pke.hpp | 6 +++--- include/ml_kem/internals/ml_kem.hpp | 12 ++++++------ include/ml_kem/internals/poly/poly_vec.hpp | 4 ++-- include/ml_kem/internals/poly/sampling.hpp | 4 ++-- include/ml_kem/ml_kem_1024.hpp | 6 +++--- include/ml_kem/ml_kem_512.hpp | 6 +++--- include/ml_kem/ml_kem_768.hpp | 6 +++--- 7 files changed, 22 insertions(+), 22 deletions(-) diff --git a/include/ml_kem/internals/k_pke.hpp b/include/ml_kem/internals/k_pke.hpp index 63ccac1..596634f 100644 --- a/include/ml_kem/internals/k_pke.hpp +++ b/include/ml_kem/internals/k_pke.hpp @@ -12,7 +12,7 @@ namespace k_pke { // K-PKE key generation algorithm, generating byte serialized public key and secret keym given a 32 -bytes input seed `d`. // See algorithm 12 of K-PKE specification https://doi.org/10.6028/NIST.FIPS.203.ipd. template -static inline void +static inline constexpr void keygen(std::span d, std::span pubkey, std::span seckey) requires(ml_kem_params::check_keygen_params(k, eta1)) { @@ -65,7 +65,7 @@ keygen(std::span d, std::span pubk // // See algorithm 13 of K-PKE specification https://doi.org/10.6028/NIST.FIPS.203.ipd. template -[[nodiscard("Use result of modulus check on public key")]] static inline bool +[[nodiscard("Use result of modulus check on public key")]] static inline constexpr bool encrypt(std::span pubkey, std::span msg, std::span rcoin, @@ -142,7 +142,7 @@ encrypt(std::span pubkey, // // See algorithm 14 defined in K-PKE specification https://doi.org/10.6028/NIST.FIPS.203.ipd. template -static inline void +static inline constexpr void decrypt(std::span seckey, std::span enc, std::span dec) requires(ml_kem_params::check_decrypt_params(k, du, dv)) { diff --git a/include/ml_kem/internals/ml_kem.hpp b/include/ml_kem/internals/ml_kem.hpp index e517ebd..f5f60b0 100644 --- a/include/ml_kem/internals/ml_kem.hpp +++ b/include/ml_kem/internals/ml_kem.hpp @@ -12,16 +12,16 @@ namespace ml_kem { // ML-KEM key generation algorithm, generating byte serialized public key and secret key, given 32 -bytes seed `d` and `z`. // See algorithm 15 defined in ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd template -static inline void +static inline constexpr void keygen(std::span d, // used in CPA-PKE std::span z, // used in CCA-KEM std::span pubkey, std::span seckey) requires(ml_kem_params::check_keygen_params(k, eta1)) { - static constexpr size_t skoff0 = k * 12 * 32; - static constexpr size_t skoff1 = skoff0 + pubkey.size(); - static constexpr size_t skoff2 = skoff1 + 32; + constexpr size_t skoff0 = k * 12 * 32; + constexpr size_t skoff1 = skoff0 + pubkey.size(); + constexpr size_t skoff2 = skoff1 + 32; auto _seckey0 = seckey.template subspan<0, skoff0>(); auto _seckey1 = seckey.template subspan(); @@ -50,7 +50,7 @@ keygen(std::span d, // used in CPA-PKE // // See algorithm 16 defined in ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd template -[[nodiscard("Use result, it might fail because of malformed input public key")]] static inline bool +[[nodiscard("Use result, it might fail because of malformed input public key")]] static inline constexpr bool encapsulate(std::span m, std::span pubkey, std::span cipher, @@ -98,7 +98,7 @@ encapsulate(std::span m, // // See algorithm 17 defined in ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. template -static inline void +static inline constexpr void decapsulate(std::span seckey, std::span cipher, std::span shared_secret) diff --git a/include/ml_kem/internals/poly/poly_vec.hpp b/include/ml_kem/internals/poly/poly_vec.hpp index 1d8b1b4..cf4a271 100644 --- a/include/ml_kem/internals/poly/poly_vec.hpp +++ b/include/ml_kem/internals/poly/poly_vec.hpp @@ -98,7 +98,7 @@ poly_vec_sub_from(std::span src, st // Given a vector ( of dimension `k x 1` ) of degree-255 polynomials, this routine encodes each of those polynomials into 32 x l -bytes, // writing to a (k x 32 x l) -bytes destination array. template -static inline void +static inline constexpr void poly_vec_encode(std::span src, std::span dst) requires(ml_kem_params::check_k(k)) { @@ -116,7 +116,7 @@ poly_vec_encode(std::span src, std: // Given a byte array of length (k x 32 x l) -bytes, this routine decodes them into k degree-255 polynomials, writing them to a // column vector of dimension `k x 1`. template -static inline void +static inline constexpr void poly_vec_decode(std::span src, std::span dst) requires(ml_kem_params::check_k(k)) { diff --git a/include/ml_kem/internals/poly/sampling.hpp b/include/ml_kem/internals/poly/sampling.hpp index f04be7a..81e7464 100644 --- a/include/ml_kem/internals/poly/sampling.hpp +++ b/include/ml_kem/internals/poly/sampling.hpp @@ -82,7 +82,7 @@ generate_matrix(std::span mat, std::s // // See algorithm 7 of ML-KEM specification https://doi.org/10.6028/NIST.FIPS.203.ipd. template -static inline void +static inline constexpr void sample_poly_cbd(std::span prf, std::span poly) requires(ml_kem_params::check_eta(eta)) { @@ -132,7 +132,7 @@ sample_poly_cbd(std::span prf, std::span -static inline void +static inline constexpr void generate_vector(std::span vec, std::span sigma, const uint8_t nonce) requires((k == 1) || ml_kem_params::check_k(k)) { diff --git a/include/ml_kem/ml_kem_1024.hpp b/include/ml_kem/ml_kem_1024.hpp index 2439ff7..b763d19 100644 --- a/include/ml_kem/ml_kem_1024.hpp +++ b/include/ml_kem/ml_kem_1024.hpp @@ -34,7 +34,7 @@ static constexpr size_t CIPHER_TEXT_BYTE_LEN = ml_kem_utils::get_kem_cipher_text static constexpr size_t SHARED_SECRET_BYTE_LEN = 32; // Computes a new ML-KEM-1024 keypair, given seed `d` and `z`. -inline void +inline constexpr void keygen(std::span d, std::span z, std::span pubkey, @@ -45,7 +45,7 @@ keygen(std::span d, // Given seed `m` and a ML-KEM-1024 public key, this routine computes a ML-KEM-1024 cipher text and a fixed size shared secret. // If, input ML-KEM-1024 public key is malformed, encapsulation will fail, returning false. -[[nodiscard("If public key is malformed, encapsulation fails")]] inline bool +[[nodiscard("If public key is malformed, encapsulation fails")]] inline constexpr bool encapsulate(std::span m, std::span pubkey, std::span cipher, @@ -55,7 +55,7 @@ encapsulate(std::span m, } // Given a ML-KEM-1024 secret key and a cipher text, this routine computes a fixed size shared secret. -inline void +inline constexpr void decapsulate(std::span seckey, std::span cipher, std::span shared_secret) { ml_kem::decapsulate(seckey, cipher, shared_secret); diff --git a/include/ml_kem/ml_kem_512.hpp b/include/ml_kem/ml_kem_512.hpp index af6355f..7708a4f 100644 --- a/include/ml_kem/ml_kem_512.hpp +++ b/include/ml_kem/ml_kem_512.hpp @@ -34,7 +34,7 @@ static constexpr size_t CIPHER_TEXT_BYTE_LEN = ml_kem_utils::get_kem_cipher_text static constexpr size_t SHARED_SECRET_BYTE_LEN = 32; // Computes a new ML-KEM-512 keypair, given seed `d` and `z`. -inline void +inline constexpr void keygen(std::span d, std::span z, std::span pubkey, @@ -45,7 +45,7 @@ keygen(std::span d, // Given seed `m` and a ML-KEM-512 public key, this routine computes a ML-KEM-512 cipher text and a fixed size shared secret. // If, input ML-KEM-512 public key is malformed, encapsulation will fail, returning false. -[[nodiscard("If public key is malformed, encapsulation fails")]] inline bool +[[nodiscard("If public key is malformed, encapsulation fails")]] inline constexpr bool encapsulate(std::span m, std::span pubkey, std::span cipher, @@ -55,7 +55,7 @@ encapsulate(std::span m, } // Given a ML-KEM-512 secret key and a cipher text, this routine computes a fixed size shared secret. -inline void +inline constexpr void decapsulate(std::span seckey, std::span cipher, std::span shared_secret) { ml_kem::decapsulate(seckey, cipher, shared_secret); diff --git a/include/ml_kem/ml_kem_768.hpp b/include/ml_kem/ml_kem_768.hpp index c84deca..15a9d5d 100644 --- a/include/ml_kem/ml_kem_768.hpp +++ b/include/ml_kem/ml_kem_768.hpp @@ -34,7 +34,7 @@ static constexpr size_t CIPHER_TEXT_BYTE_LEN = ml_kem_utils::get_kem_cipher_text static constexpr size_t SHARED_SECRET_BYTE_LEN = 32; // Computes a new ML-KEM-768 keypair, given seed `d` and `z`. -inline void +inline constexpr void keygen(std::span d, std::span z, std::span pubkey, @@ -45,7 +45,7 @@ keygen(std::span d, // Given seed `m` and a ML-KEM-768 public key, this routine computes a ML-KEM-768 cipher text and a fixed size shared secret. // If, input ML-KEM-768 public key is malformed, encapsulation will fail, returning false. -[[nodiscard("If public key is malformed, encapsulation fails")]] inline bool +[[nodiscard("If public key is malformed, encapsulation fails")]] inline constexpr bool encapsulate(std::span m, std::span pubkey, std::span cipher, @@ -55,7 +55,7 @@ encapsulate(std::span m, } // Given a ML-KEM-768 secret key and a cipher text, this routine computes a fixed size shared secret. -inline void +inline constexpr void decapsulate(std::span seckey, std::span cipher, std::span shared_secret) { ml_kem::decapsulate(seckey, cipher, shared_secret); From 69d50e5fee7a751fe5aa39c9518ebba4e5581778 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Tue, 18 Jun 2024 13:51:23 +0400 Subject: [PATCH 26/30] Correctly name test-cases Signed-off-by: Anjan Roy --- tests/test_compression.cpp | 2 +- tests/test_field.cpp | 2 +- tests/test_ml_kem.cpp | 14 +++++++------- tests/test_ml_kem_kat.cpp | 2 +- tests/test_serialize.cpp | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/tests/test_compression.cpp b/tests/test_compression.cpp index e382545..29b8fca 100644 --- a/tests/test_compression.cpp +++ b/tests/test_compression.cpp @@ -64,7 +64,7 @@ test_zq_compression() return res; } -TEST(Ml_kemKEM, CompressDecompressZq) +TEST(ML_KEM, CompressDecompressZq) { EXPECT_TRUE((test_zq_compression<11, 1ul << 20>())); EXPECT_TRUE((test_zq_compression<10, 1ul << 20>())); diff --git a/tests/test_field.cpp b/tests/test_field.cpp index a16c1ca..5d04c98 100644 --- a/tests/test_field.cpp +++ b/tests/test_field.cpp @@ -4,7 +4,7 @@ // Test functional correctness of Ml_kem prime field operations ( using // Montgomery Arithmetic ), by running through multiple rounds of execution of // field operations on randomly sampled field elements. -TEST(Ml_kemKEM, ArithmeticOverZq) +TEST(ML_KEM, ArithmeticOverZq) { constexpr size_t itr_cnt = 1ul << 20; ml_kem_prng::prng_t<128> prng{}; diff --git a/tests/test_ml_kem.cpp b/tests/test_ml_kem.cpp index 4080489..fd650d2 100644 --- a/tests/test_ml_kem.cpp +++ b/tests/test_ml_kem.cpp @@ -16,7 +16,7 @@ // works as expected. template void -test_ml_kem_kem() +test_ml_kem() { constexpr size_t slen = 32; constexpr size_t pklen = ml_kem_utils::get_kem_public_key_len(k); @@ -54,17 +54,17 @@ test_ml_kem_kem() EXPECT_EQ(sender_key, receiver_key); } -TEST(Ml_kemKEM, Ml_kem512KeygenEncapsDecaps) +TEST(ML_KEM, Ml_KEM_512_KeygenEncapsDecaps) { - test_ml_kem_kem<2, 3, 2, 10, 4, 128>(); + test_ml_kem<2, 3, 2, 10, 4, 128>(); } -TEST(Ml_kemKEM, Ml_kem768KeygenEncapsDecaps) +TEST(ML_KEM, ML_KEM_768_KeygenEncapsDecaps) { - test_ml_kem_kem<3, 2, 2, 10, 4, 192>(); + test_ml_kem<3, 2, 2, 10, 4, 192>(); } -TEST(Ml_kemKEM, Ml_kem1024KeygenEncapsDecaps) +TEST(ML_KEM, ML_KEM_1024_KeygenEncapsDecaps) { - test_ml_kem_kem<4, 2, 2, 11, 5, 256>(); + test_ml_kem<4, 2, 2, 11, 5, 256>(); } diff --git a/tests/test_ml_kem_kat.cpp b/tests/test_ml_kem_kat.cpp index 25e6b79..87d4c1a 100644 --- a/tests/test_ml_kem_kat.cpp +++ b/tests/test_ml_kem_kat.cpp @@ -209,7 +209,7 @@ TEST(ML_KEM, ML_KEM_768_KnownAnswerTests) // // using Known Answer Tests, generated following // https://gist.github.com/itzmeanjan/c8f5bc9640d0f0bdd2437dfe364d7710. -TEST(Ml_kemKEM, ML_KEM_1024_KnownAnswerTests) +TEST(ML_KEM, ML_KEM_1024_KnownAnswerTests) { using namespace std::literals; diff --git a/tests/test_serialize.cpp b/tests/test_serialize.cpp index b688e30..f47de66 100644 --- a/tests/test_serialize.cpp +++ b/tests/test_serialize.cpp @@ -38,7 +38,7 @@ test_serialize_deserialize() } } -TEST(Ml_kemKEM, PolynomialSerialization) +TEST(ML_KEM, PolynomialSerialization) { test_serialize_deserialize<12>(); test_serialize_deserialize<11>(); From bf6a22a87245bdf12e6d4ef1442a61a1bbf10a85 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Tue, 18 Jun 2024 17:50:00 +0400 Subject: [PATCH 27/30] Split ML-KEM KAT and property-based tests into their own files, based on security level Signed-off-by: Anjan Roy --- Makefile | 3 +- tests/test_field.cpp | 3 +- tests/test_helper.hpp | 32 ++++ tests/test_ml_kem.cpp | 70 -------- tests/test_ml_kem_1024.cpp | 38 +++++ tests/test_ml_kem_1024_kat.cpp | 90 ++++++++++ tests/test_ml_kem_512.cpp | 38 +++++ tests/test_ml_kem_512_kat.cpp | 90 ++++++++++ tests/test_ml_kem_768.cpp | 38 +++++ tests/test_ml_kem_768_kat.cpp | 90 ++++++++++ tests/test_ml_kem_kat.cpp | 289 --------------------------------- tests/test_serialize.cpp | 11 +- 12 files changed, 423 insertions(+), 369 deletions(-) create mode 100644 tests/test_helper.hpp delete mode 100644 tests/test_ml_kem.cpp create mode 100644 tests/test_ml_kem_1024.cpp create mode 100644 tests/test_ml_kem_1024_kat.cpp create mode 100644 tests/test_ml_kem_512.cpp create mode 100644 tests/test_ml_kem_512_kat.cpp create mode 100644 tests/test_ml_kem_768.cpp create mode 100644 tests/test_ml_kem_768_kat.cpp delete mode 100644 tests/test_ml_kem_kat.cpp diff --git a/Makefile b/Makefile index 7bcedf0..b64b7f9 100644 --- a/Makefile +++ b/Makefile @@ -23,6 +23,7 @@ UBSAN_BUILD_DIR = $(BUILD_DIR)/ubsan TEST_DIR = tests DUDECT_TEST_DIR = $(TEST_DIR)/dudect TEST_SOURCES := $(wildcard $(TEST_DIR)/*.cpp) +TEST_HEADERS := $(wildcard $(TEST_DIR)/*.hpp) DUDECT_TEST_SOURCES := $(wildcard $(DUDECT_TEST_DIR)/*.cpp) TEST_OBJECTS := $(addprefix $(BUILD_DIR)/, $(notdir $(patsubst %.cpp,%.o,$(TEST_SOURCES)))) ASAN_TEST_OBJECTS := $(addprefix $(ASAN_BUILD_DIR)/, $(notdir $(patsubst %.cpp,%.o,$(TEST_SOURCES)))) @@ -123,5 +124,5 @@ perf: $(PERF_BINARY) clean: rm -rf $(BUILD_DIR) -format: $(ML_KEM_SOURCES) $(TEST_SOURCES) $(DUDECT_TEST_SOURCES) $(BENCHMARK_SOURCES) $(BENCHMARK_HEADERS) +format: $(ML_KEM_SOURCES) $(TEST_SOURCES) $(TEST_HEADERS) $(DUDECT_TEST_SOURCES) $(BENCHMARK_SOURCES) $(BENCHMARK_HEADERS) clang-format -i $^ diff --git a/tests/test_field.cpp b/tests/test_field.cpp index 5d04c98..bd66c23 100644 --- a/tests/test_field.cpp +++ b/tests/test_field.cpp @@ -6,7 +6,8 @@ // field operations on randomly sampled field elements. TEST(ML_KEM, ArithmeticOverZq) { - constexpr size_t itr_cnt = 1ul << 20; + static constexpr size_t itr_cnt = 1ul << 20; + ml_kem_prng::prng_t<128> prng{}; for (size_t i = 0; i < itr_cnt; i++) { diff --git a/tests/test_helper.hpp b/tests/test_helper.hpp new file mode 100644 index 0000000..d582199 --- /dev/null +++ b/tests/test_helper.hpp @@ -0,0 +1,32 @@ +#pragma once +#include +#include +#include +#include +#include +#include + +// Given a hex encoded string of length 2*L, this routine can be used for parsing it as a byte array of length L. +template +static inline std::array +from_hex(std::string_view bytes) +{ + const size_t blen = bytes.length(); + + assert(blen % 2 == 0); + assert(blen / 2 == L); + + std::array res{}; + + for (size_t i = 0; i < L; i++) { + const size_t off = i * 2; + + uint8_t byte = 0; + auto sstr = bytes.substr(off, 2); + std::from_chars(sstr.data(), sstr.data() + 2, byte, 16); + + res[i] = byte; + } + + return res; +} diff --git a/tests/test_ml_kem.cpp b/tests/test_ml_kem.cpp deleted file mode 100644 index fd650d2..0000000 --- a/tests/test_ml_kem.cpp +++ /dev/null @@ -1,70 +0,0 @@ -#include "ml_kem/internals/ml_kem.hpp" -#include - -// Given k, η1, η2, du, dv - ML-KEM parameters, this routine checks whether -// -// - A new key pair can be generated for key establishment over insecure channel -// - Key pair is for receiving party, its public key will be used by sender. -// - Sender can produce a cipher text and a key derivation function ( KDF ) -// - Sender uses receiver's public key. -// - Cipher text is sent over insecure channel to receiver -// - Receiver can decrypt message ( using secret key ) and arrives at same KDF -// - Both parties use KDF ( SHAKE256 hasher object ) to generate arbitrary -// length shared secret key. -// - This shared secret key can now be used with any symmetric key primitive. -// -// works as expected. -template -void -test_ml_kem() -{ - constexpr size_t slen = 32; - constexpr size_t pklen = ml_kem_utils::get_kem_public_key_len(k); - constexpr size_t sklen = ml_kem_utils::get_kem_secret_key_len(k); - constexpr size_t ctlen = ml_kem_utils::get_kem_cipher_text_len(k, du, dv); - constexpr size_t sslen = 32; - - std::vector d(slen); - std::vector z(slen); - std::vector m(slen); - std::vector pkey(pklen); - std::vector skey(sklen); - std::vector cipher(ctlen); - std::vector sender_key(sslen); - std::vector receiver_key(sslen); - - auto _d = std::span(d); - auto _z = std::span(z); - auto _m = std::span(m); - auto _pkey = std::span(pkey); - auto _skey = std::span(skey); - auto _cipher = std::span(cipher); - auto _sender_key = std::span(sender_key); - auto _receiver_key = std::span(receiver_key); - - ml_kem_prng::prng_t prng{}; - prng.read(d); - prng.read(z); - prng.read(m); - - ml_kem::keygen(_d, _z, _pkey, _skey); - (void)ml_kem::encapsulate(_m, _pkey, _cipher, _sender_key); - ml_kem::decapsulate(_skey, _cipher, _receiver_key); - - EXPECT_EQ(sender_key, receiver_key); -} - -TEST(ML_KEM, Ml_KEM_512_KeygenEncapsDecaps) -{ - test_ml_kem<2, 3, 2, 10, 4, 128>(); -} - -TEST(ML_KEM, ML_KEM_768_KeygenEncapsDecaps) -{ - test_ml_kem<3, 2, 2, 10, 4, 192>(); -} - -TEST(ML_KEM, ML_KEM_1024_KeygenEncapsDecaps) -{ - test_ml_kem<4, 2, 2, 11, 5, 256>(); -} diff --git a/tests/test_ml_kem_1024.cpp b/tests/test_ml_kem_1024.cpp new file mode 100644 index 0000000..77f5321 --- /dev/null +++ b/tests/test_ml_kem_1024.cpp @@ -0,0 +1,38 @@ +#include "ml_kem/ml_kem_1024.hpp" +#include + +// For ML-KEM-1024 +// +// - A new key pair can be generated for key establishment over insecure channel. +// - Secret key is for receiving party, its public key will be used by sender. +// - Sender can produce a cipher text and a shared secret. +// - Sender uses receiver's public key. +// - Cipher text is sent over insecure channel to receiver. +// - Receiver can decrypt message ( using secret key ) and produce same shared secret. +// +// works as expected. +TEST(ML_KEM, ML_KEM_1024_KeygenEncapsDecaps) +{ + std::array seed_d{}; + std::array seed_z{}; + std::array seed_m{}; + + std::array pubkey{}; + std::array seckey{}; + std::array cipher{}; + + std::array shared_secret_sender{}; + std::array shared_secret_receiver{}; + + ml_kem_prng::prng_t<256> prng{}; + prng.read(seed_d); + prng.read(seed_z); + prng.read(seed_m); + + ml_kem_1024::keygen(seed_d, seed_z, pubkey, seckey); + const auto is_encapsulated = ml_kem_1024::encapsulate(seed_m, pubkey, cipher, shared_secret_sender); + ml_kem_1024::decapsulate(seckey, cipher, shared_secret_receiver); + + EXPECT_TRUE(is_encapsulated); + EXPECT_EQ(shared_secret_sender, shared_secret_receiver); +} diff --git a/tests/test_ml_kem_1024_kat.cpp b/tests/test_ml_kem_1024_kat.cpp new file mode 100644 index 0000000..95ef0c8 --- /dev/null +++ b/tests/test_ml_kem_1024_kat.cpp @@ -0,0 +1,90 @@ +#include "ml_kem/ml_kem_1024.hpp" +#include "test_helper.hpp" +#include +#include + +// Test if +// +// - Is ML-KEM-1024 implemented correctly ? +// - Is it conformant with the specification https://doi.org/10.6028/NIST.FIPS.203.ipd ? +// +// using Known Answer Tests, generated following +// https://gist.github.com/itzmeanjan/c8f5bc9640d0f0bdd2437dfe364d7710. +TEST(ML_KEM, ML_KEM_1024_KnownAnswerTests) +{ + using namespace std::literals; + + const std::string kat_file = "./kats/ml_kem_1024.kat"; + std::fstream file(kat_file); + + while (true) { + std::string d; + + if (!std::getline(file, d).eof()) { + std::string z; + std::string pk; + std::string sk; + std::string m; + std::string ct; + std::string ss; + + std::getline(file, z); + std::getline(file, pk); + std::getline(file, sk); + std::getline(file, m); + std::getline(file, ct); + std::getline(file, ss); + + auto _d = std::string_view(d); + auto __d = _d.substr(_d.find("="sv) + 2, _d.size()); + auto ___d = from_hex<32>(__d); + + auto _z = std::string_view(z); + auto __z = _z.substr(_z.find("="sv) + 2, _z.size()); + auto ___z = from_hex<32>(__z); + + auto _pk = std::string_view(pk); + auto __pk = _pk.substr(_pk.find("="sv) + 2, _pk.size()); + auto ___pk = from_hex(__pk); + + auto _sk = std::string_view(sk); + auto __sk = _sk.substr(_sk.find("="sv) + 2, _sk.size()); + auto ___sk = from_hex(__sk); + + auto _m = std::string_view(m); + auto __m = _m.substr(_m.find("="sv) + 2, _m.size()); + auto ___m = from_hex<32>(__m); + + auto _ct = std::string_view(ct); + auto __ct = _ct.substr(_ct.find("="sv) + 2, _ct.size()); + auto ___ct = from_hex(__ct); + + auto _ss = std::string_view(ss); + auto __ss = _ss.substr(_ss.find("="sv) + 2, _ss.size()); + auto ___ss = from_hex<32>(__ss); + + std::array pkey{}; + std::array skey{}; + std::array ctxt{}; + std::array shrd_sec0{}; + std::array shrd_sec1{}; + + ml_kem_1024::keygen(___d, ___z, pkey, skey); + EXPECT_TRUE(ml_kem_1024::encapsulate(___m, pkey, ctxt, shrd_sec0)); + ml_kem_1024::decapsulate(skey, ctxt, shrd_sec1); + + EXPECT_EQ(___pk, pkey); + EXPECT_EQ(___sk, skey); + EXPECT_EQ(___ct, ctxt); + EXPECT_EQ(___ss, shrd_sec0); + EXPECT_EQ(shrd_sec0, shrd_sec1); + + std::string empty_line; + std::getline(file, empty_line); + } else { + break; + } + } + + file.close(); +} diff --git a/tests/test_ml_kem_512.cpp b/tests/test_ml_kem_512.cpp new file mode 100644 index 0000000..1003ac2 --- /dev/null +++ b/tests/test_ml_kem_512.cpp @@ -0,0 +1,38 @@ +#include "ml_kem/ml_kem_512.hpp" +#include + +// For ML-KEM-512 +// +// - A new key pair can be generated for key establishment over insecure channel. +// - Secret key is for receiving party, its public key will be used by sender. +// - Sender can produce a cipher text and a shared secret. +// - Sender uses receiver's public key. +// - Cipher text is sent over insecure channel to receiver. +// - Receiver can decrypt message ( using secret key ) and produce same shared secret. +// +// works as expected. +TEST(ML_KEM, ML_KEM_512_KeygenEncapsDecaps) +{ + std::array seed_d{}; + std::array seed_z{}; + std::array seed_m{}; + + std::array pubkey{}; + std::array seckey{}; + std::array cipher{}; + + std::array shared_secret_sender{}; + std::array shared_secret_receiver{}; + + ml_kem_prng::prng_t<128> prng{}; + prng.read(seed_d); + prng.read(seed_z); + prng.read(seed_m); + + ml_kem_512::keygen(seed_d, seed_z, pubkey, seckey); + const auto is_encapsulated = ml_kem_512::encapsulate(seed_m, pubkey, cipher, shared_secret_sender); + ml_kem_512::decapsulate(seckey, cipher, shared_secret_receiver); + + EXPECT_TRUE(is_encapsulated); + EXPECT_EQ(shared_secret_sender, shared_secret_receiver); +} diff --git a/tests/test_ml_kem_512_kat.cpp b/tests/test_ml_kem_512_kat.cpp new file mode 100644 index 0000000..d23ce3f --- /dev/null +++ b/tests/test_ml_kem_512_kat.cpp @@ -0,0 +1,90 @@ +#include "ml_kem/ml_kem_512.hpp" +#include "test_helper.hpp" +#include +#include + +// Test if +// +// - Is ML-KEM-512 implemented correctly ? +// - Is it conformant with the specification https://doi.org/10.6028/NIST.FIPS.203.ipd ? +// +// using Known Answer Tests, generated following +// https://gist.github.com/itzmeanjan/c8f5bc9640d0f0bdd2437dfe364d7710. +TEST(ML_KEM, ML_KEM_512_KnownAnswerTests) +{ + using namespace std::literals; + + const std::string kat_file = "./kats/ml_kem_512.kat"; + std::fstream file(kat_file); + + while (true) { + std::string d; + + if (!std::getline(file, d).eof()) { + std::string z; + std::string pk; + std::string sk; + std::string m; + std::string ct; + std::string ss; + + std::getline(file, z); + std::getline(file, pk); + std::getline(file, sk); + std::getline(file, m); + std::getline(file, ct); + std::getline(file, ss); + + auto _d = std::string_view(d); + auto __d = _d.substr(_d.find("="sv) + 2, _d.size()); + auto ___d = from_hex<32>(__d); + + auto _z = std::string_view(z); + auto __z = _z.substr(_z.find("="sv) + 2, _z.size()); + auto ___z = from_hex<32>(__z); + + auto _pk = std::string_view(pk); + auto __pk = _pk.substr(_pk.find("="sv) + 2, _pk.size()); + auto ___pk = from_hex(__pk); + + auto _sk = std::string_view(sk); + auto __sk = _sk.substr(_sk.find("="sv) + 2, _sk.size()); + auto ___sk = from_hex(__sk); + + auto _m = std::string_view(m); + auto __m = _m.substr(_m.find("="sv) + 2, _m.size()); + auto ___m = from_hex<32>(__m); + + auto _ct = std::string_view(ct); + auto __ct = _ct.substr(_ct.find("="sv) + 2, _ct.size()); + auto ___ct = from_hex(__ct); + + auto _ss = std::string_view(ss); + auto __ss = _ss.substr(_ss.find("="sv) + 2, _ss.size()); + auto ___ss = from_hex<32>(__ss); + + std::array pkey{}; + std::array skey{}; + std::array ctxt{}; + std::array shrd_sec0{}; + std::array shrd_sec1{}; + + ml_kem_512::keygen(___d, ___z, pkey, skey); + EXPECT_TRUE(ml_kem_512::encapsulate(___m, pkey, ctxt, shrd_sec0)); + ml_kem_512::decapsulate(skey, ctxt, shrd_sec1); + + EXPECT_EQ(___pk, pkey); + EXPECT_EQ(___sk, skey); + EXPECT_EQ(___ct, ctxt); + EXPECT_EQ(___ss, shrd_sec0); + EXPECT_EQ(shrd_sec0, shrd_sec1); + + std::string empty_line; + std::getline(file, empty_line); + } else { + break; + } + } + + file.close(); +} diff --git a/tests/test_ml_kem_768.cpp b/tests/test_ml_kem_768.cpp new file mode 100644 index 0000000..a51ee8a --- /dev/null +++ b/tests/test_ml_kem_768.cpp @@ -0,0 +1,38 @@ +#include "ml_kem/ml_kem_768.hpp" +#include + +// For ML-KEM-768 +// +// - A new key pair can be generated for key establishment over insecure channel. +// - Secret key is for receiving party, its public key will be used by sender. +// - Sender can produce a cipher text and a shared secret. +// - Sender uses receiver's public key. +// - Cipher text is sent over insecure channel to receiver. +// - Receiver can decrypt message ( using secret key ) and produce same shared secret. +// +// works as expected. +TEST(ML_KEM, ML_KEM_768_KeygenEncapsDecaps) +{ + std::array seed_d{}; + std::array seed_z{}; + std::array seed_m{}; + + std::array pubkey{}; + std::array seckey{}; + std::array cipher{}; + + std::array shared_secret_sender{}; + std::array shared_secret_receiver{}; + + ml_kem_prng::prng_t<192> prng{}; + prng.read(seed_d); + prng.read(seed_z); + prng.read(seed_m); + + ml_kem_768::keygen(seed_d, seed_z, pubkey, seckey); + const auto is_encapsulated = ml_kem_768::encapsulate(seed_m, pubkey, cipher, shared_secret_sender); + ml_kem_768::decapsulate(seckey, cipher, shared_secret_receiver); + + EXPECT_TRUE(is_encapsulated); + EXPECT_EQ(shared_secret_sender, shared_secret_receiver); +} diff --git a/tests/test_ml_kem_768_kat.cpp b/tests/test_ml_kem_768_kat.cpp new file mode 100644 index 0000000..ca7dce7 --- /dev/null +++ b/tests/test_ml_kem_768_kat.cpp @@ -0,0 +1,90 @@ +#include "ml_kem/ml_kem_768.hpp" +#include "test_helper.hpp" +#include +#include + +// Test if +// +// - Is ML-KEM-768 implemented correctly ? +// - Is it conformant with the specification https://doi.org/10.6028/NIST.FIPS.203.ipd ? +// +// using Known Answer Tests, generated following +// https://gist.github.com/itzmeanjan/c8f5bc9640d0f0bdd2437dfe364d7710. +TEST(ML_KEM, ML_KEM_768_KnownAnswerTests) +{ + using namespace std::literals; + + const std::string kat_file = "./kats/ml_kem_768.kat"; + std::fstream file(kat_file); + + while (true) { + std::string d; + + if (!std::getline(file, d).eof()) { + std::string z; + std::string pk; + std::string sk; + std::string m; + std::string ct; + std::string ss; + + std::getline(file, z); + std::getline(file, pk); + std::getline(file, sk); + std::getline(file, m); + std::getline(file, ct); + std::getline(file, ss); + + auto _d = std::string_view(d); + auto __d = _d.substr(_d.find("="sv) + 2, _d.size()); + auto ___d = from_hex<32>(__d); + + auto _z = std::string_view(z); + auto __z = _z.substr(_z.find("="sv) + 2, _z.size()); + auto ___z = from_hex<32>(__z); + + auto _pk = std::string_view(pk); + auto __pk = _pk.substr(_pk.find("="sv) + 2, _pk.size()); + auto ___pk = from_hex(__pk); + + auto _sk = std::string_view(sk); + auto __sk = _sk.substr(_sk.find("="sv) + 2, _sk.size()); + auto ___sk = from_hex(__sk); + + auto _m = std::string_view(m); + auto __m = _m.substr(_m.find("="sv) + 2, _m.size()); + auto ___m = from_hex<32>(__m); + + auto _ct = std::string_view(ct); + auto __ct = _ct.substr(_ct.find("="sv) + 2, _ct.size()); + auto ___ct = from_hex(__ct); + + auto _ss = std::string_view(ss); + auto __ss = _ss.substr(_ss.find("="sv) + 2, _ss.size()); + auto ___ss = from_hex<32>(__ss); + + std::array pkey{}; + std::array skey{}; + std::array ctxt{}; + std::array shrd_sec0{}; + std::array shrd_sec1{}; + + ml_kem_768::keygen(___d, ___z, pkey, skey); + EXPECT_TRUE(ml_kem_768::encapsulate(___m, pkey, ctxt, shrd_sec0)); + ml_kem_768::decapsulate(skey, ctxt, shrd_sec1); + + EXPECT_EQ(___pk, pkey); + EXPECT_EQ(___sk, skey); + EXPECT_EQ(___ct, ctxt); + EXPECT_EQ(___ss, shrd_sec0); + EXPECT_EQ(shrd_sec0, shrd_sec1); + + std::string empty_line; + std::getline(file, empty_line); + } else { + break; + } + } + + file.close(); +} diff --git a/tests/test_ml_kem_kat.cpp b/tests/test_ml_kem_kat.cpp deleted file mode 100644 index 87d4c1a..0000000 --- a/tests/test_ml_kem_kat.cpp +++ /dev/null @@ -1,289 +0,0 @@ -#include "ml_kem/ml_kem_1024.hpp" -#include "ml_kem/ml_kem_512.hpp" -#include "ml_kem/ml_kem_768.hpp" -#include -#include -#include - -// Given a hex encoded string of length 2*L, this routine can be used for parsing it as a byte array of length L. -template -static inline std::array -from_hex(std::string_view bytes) -{ - const size_t blen = bytes.length(); - - assert(blen % 2 == 0); - assert(blen / 2 == L); - - std::array res{}; - - for (size_t i = 0; i < L; i++) { - const size_t off = i * 2; - - uint8_t byte = 0; - auto sstr = bytes.substr(off, 2); - std::from_chars(sstr.data(), sstr.data() + 2, byte, 16); - - res[i] = byte; - } - - return res; -} - -// Test if -// -// - Is ML-KEM-512 implemented correctly ? -// - Is it conformant with the specification ? -// -// using Known Answer Tests, generated following -// https://gist.github.com/itzmeanjan/c8f5bc9640d0f0bdd2437dfe364d7710. -TEST(ML_KEM, ML_KEM_512_KnownAnswerTests) -{ - using namespace std::literals; - - const std::string kat_file = "./kats/ml_kem_512.kat"; - std::fstream file(kat_file); - - while (true) { - std::string d; - - if (!std::getline(file, d).eof()) { - std::string z; - std::string pk; - std::string sk; - std::string m; - std::string ct; - std::string ss; - - std::getline(file, z); - std::getline(file, pk); - std::getline(file, sk); - std::getline(file, m); - std::getline(file, ct); - std::getline(file, ss); - - auto _d = std::string_view(d); - auto __d = _d.substr(_d.find("="sv) + 2, _d.size()); - auto ___d = from_hex<32>(__d); - - auto _z = std::string_view(z); - auto __z = _z.substr(_z.find("="sv) + 2, _z.size()); - auto ___z = from_hex<32>(__z); - - auto _pk = std::string_view(pk); - auto __pk = _pk.substr(_pk.find("="sv) + 2, _pk.size()); - auto ___pk = from_hex(__pk); - - auto _sk = std::string_view(sk); - auto __sk = _sk.substr(_sk.find("="sv) + 2, _sk.size()); - auto ___sk = from_hex(__sk); - - auto _m = std::string_view(m); - auto __m = _m.substr(_m.find("="sv) + 2, _m.size()); - auto ___m = from_hex<32>(__m); - - auto _ct = std::string_view(ct); - auto __ct = _ct.substr(_ct.find("="sv) + 2, _ct.size()); - auto ___ct = from_hex(__ct); - - auto _ss = std::string_view(ss); - auto __ss = _ss.substr(_ss.find("="sv) + 2, _ss.size()); - auto ___ss = from_hex<32>(__ss); - - std::array pkey{}; - std::array skey{}; - std::array ctxt{}; - std::array shrd_sec0{}; - std::array shrd_sec1{}; - - ml_kem_512::keygen(___d, ___z, pkey, skey); - (void)ml_kem_512::encapsulate(___m, pkey, ctxt, shrd_sec0); - ml_kem_512::decapsulate(skey, ctxt, shrd_sec1); - - EXPECT_EQ(___pk, pkey); - EXPECT_EQ(___sk, skey); - EXPECT_EQ(___ct, ctxt); - EXPECT_EQ(___ss, shrd_sec0); - EXPECT_EQ(shrd_sec0, shrd_sec1); - - std::string empty_line; - std::getline(file, empty_line); - } else { - break; - } - } - - file.close(); -} - -// Test if -// -// - Is ML-KEM-768 implemented correctly ? -// - Is it conformant with the specification ? -// -// using Known Answer Tests, generated following -// https://gist.github.com/itzmeanjan/c8f5bc9640d0f0bdd2437dfe364d7710. -TEST(ML_KEM, ML_KEM_768_KnownAnswerTests) -{ - using namespace std::literals; - - const std::string kat_file = "./kats/ml_kem_768.kat"; - std::fstream file(kat_file); - - while (true) { - std::string d; - - if (!std::getline(file, d).eof()) { - std::string z; - std::string pk; - std::string sk; - std::string m; - std::string ct; - std::string ss; - - std::getline(file, z); - std::getline(file, pk); - std::getline(file, sk); - std::getline(file, m); - std::getline(file, ct); - std::getline(file, ss); - - auto _d = std::string_view(d); - auto __d = _d.substr(_d.find("="sv) + 2, _d.size()); - auto ___d = from_hex<32>(__d); - - auto _z = std::string_view(z); - auto __z = _z.substr(_z.find("="sv) + 2, _z.size()); - auto ___z = from_hex<32>(__z); - - auto _pk = std::string_view(pk); - auto __pk = _pk.substr(_pk.find("="sv) + 2, _pk.size()); - auto ___pk = from_hex(__pk); - - auto _sk = std::string_view(sk); - auto __sk = _sk.substr(_sk.find("="sv) + 2, _sk.size()); - auto ___sk = from_hex(__sk); - - auto _m = std::string_view(m); - auto __m = _m.substr(_m.find("="sv) + 2, _m.size()); - auto ___m = from_hex<32>(__m); - - auto _ct = std::string_view(ct); - auto __ct = _ct.substr(_ct.find("="sv) + 2, _ct.size()); - auto ___ct = from_hex(__ct); - - auto _ss = std::string_view(ss); - auto __ss = _ss.substr(_ss.find("="sv) + 2, _ss.size()); - auto ___ss = from_hex<32>(__ss); - - std::array pkey{}; - std::array skey{}; - std::array ctxt{}; - std::array shrd_sec0{}; - std::array shrd_sec1{}; - - ml_kem_768::keygen(___d, ___z, pkey, skey); - (void)ml_kem_768::encapsulate(___m, pkey, ctxt, shrd_sec0); - ml_kem_768::decapsulate(skey, ctxt, shrd_sec1); - - EXPECT_EQ(___pk, pkey); - EXPECT_EQ(___sk, skey); - EXPECT_EQ(___ct, ctxt); - EXPECT_EQ(___ss, shrd_sec0); - EXPECT_EQ(shrd_sec0, shrd_sec1); - - std::string empty_line; - std::getline(file, empty_line); - } else { - break; - } - } - - file.close(); -} - -// Test if -// -// - Is ML-KEM-1024 implemented correctly ? -// - Is it conformant with the specification ? -// -// using Known Answer Tests, generated following -// https://gist.github.com/itzmeanjan/c8f5bc9640d0f0bdd2437dfe364d7710. -TEST(ML_KEM, ML_KEM_1024_KnownAnswerTests) -{ - using namespace std::literals; - - const std::string kat_file = "./kats/ml_kem_1024.kat"; - std::fstream file(kat_file); - - while (true) { - std::string d; - - if (!std::getline(file, d).eof()) { - std::string z; - std::string pk; - std::string sk; - std::string m; - std::string ct; - std::string ss; - - std::getline(file, z); - std::getline(file, pk); - std::getline(file, sk); - std::getline(file, m); - std::getline(file, ct); - std::getline(file, ss); - - auto _d = std::string_view(d); - auto __d = _d.substr(_d.find("="sv) + 2, _d.size()); - auto ___d = from_hex<32>(__d); - - auto _z = std::string_view(z); - auto __z = _z.substr(_z.find("="sv) + 2, _z.size()); - auto ___z = from_hex<32>(__z); - - auto _pk = std::string_view(pk); - auto __pk = _pk.substr(_pk.find("="sv) + 2, _pk.size()); - auto ___pk = from_hex(__pk); - - auto _sk = std::string_view(sk); - auto __sk = _sk.substr(_sk.find("="sv) + 2, _sk.size()); - auto ___sk = from_hex(__sk); - - auto _m = std::string_view(m); - auto __m = _m.substr(_m.find("="sv) + 2, _m.size()); - auto ___m = from_hex<32>(__m); - - auto _ct = std::string_view(ct); - auto __ct = _ct.substr(_ct.find("="sv) + 2, _ct.size()); - auto ___ct = from_hex(__ct); - - auto _ss = std::string_view(ss); - auto __ss = _ss.substr(_ss.find("="sv) + 2, _ss.size()); - auto ___ss = from_hex<32>(__ss); - - std::array pkey{}; - std::array skey{}; - std::array ctxt{}; - std::array shrd_sec0{}; - std::array shrd_sec1{}; - - ml_kem_1024::keygen(___d, ___z, pkey, skey); - (void)ml_kem_1024::encapsulate(___m, pkey, ctxt, shrd_sec0); - ml_kem_1024::decapsulate(skey, ctxt, shrd_sec1); - - EXPECT_EQ(___pk, pkey); - EXPECT_EQ(___sk, skey); - EXPECT_EQ(___ct, ctxt); - EXPECT_EQ(___ss, shrd_sec0); - EXPECT_EQ(shrd_sec0, shrd_sec1); - - std::string empty_line; - std::getline(file, empty_line); - } else { - break; - } - } - - file.close(); -} diff --git a/tests/test_serialize.cpp b/tests/test_serialize.cpp index f47de66..433a738 100644 --- a/tests/test_serialize.cpp +++ b/tests/test_serialize.cpp @@ -1,15 +1,10 @@ -#include "ml_kem/internals/math/field.hpp" #include "ml_kem/internals/poly/serialize.hpp" -#include #include -#include -// Ensure that degree-255 polynomial serialization to byte array ( of length -// 32*l -bytes ) and deserialization of that byte array to degree-255 polynomial -// works as expected for parameterizable values of l | l ∈ [1, 12]. +// Ensure that degree-255 polynomial serialization to byte array ( of length 32*l -bytes ) and deserialization of +// that byte array to degree-255 polynomial works as expected for parameterizable values of l | l ∈ [1, 12]. // -// l denotes significant bit width ( from LSB side ) for each coefficient of -// polynomial. +// `l` denotes significant bit width ( from LSB side ) for each coefficient of polynomial. template void test_serialize_deserialize() From 91a86d4b3fe439fd74f0a1f20e7dd15d29c947e1 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Tue, 18 Jun 2024 18:06:03 +0400 Subject: [PATCH 28/30] Split ML-KEM benchmarks into their own files, based on security level Signed-off-by: Anjan Roy --- benchmarks/bench_ml_kem.cpp | 209 ------------------------------- benchmarks/bench_ml_kem_1024.cpp | 111 ++++++++++++++++ benchmarks/bench_ml_kem_512.cpp | 111 ++++++++++++++++ benchmarks/bench_ml_kem_768.cpp | 111 ++++++++++++++++ benchmarks/x86_64_cpu_ticks.hpp | 27 ---- 5 files changed, 333 insertions(+), 236 deletions(-) delete mode 100644 benchmarks/bench_ml_kem.cpp create mode 100644 benchmarks/bench_ml_kem_1024.cpp create mode 100644 benchmarks/bench_ml_kem_512.cpp create mode 100644 benchmarks/bench_ml_kem_768.cpp delete mode 100644 benchmarks/x86_64_cpu_ticks.hpp diff --git a/benchmarks/bench_ml_kem.cpp b/benchmarks/bench_ml_kem.cpp deleted file mode 100644 index b6afe10..0000000 --- a/benchmarks/bench_ml_kem.cpp +++ /dev/null @@ -1,209 +0,0 @@ -#include "bench_helper.hpp" -#include "ml_kem/internals/ml_kem.hpp" -#include "x86_64_cpu_ticks.hpp" -#include - -// Benchmarking IND-CCA2-secure Ml_kem KEM key generation algorithm -template -void -bench_keygen(benchmark::State& state) -{ - constexpr size_t slen = 32; - constexpr size_t pklen = ml_kem_utils::get_kem_public_key_len(k); - constexpr size_t sklen = ml_kem_utils::get_kem_secret_key_len(k); - - std::vector d(slen); - std::vector z(slen); - std::vector pkey(pklen); - std::vector skey(sklen); - - auto _d = std::span(d); - auto _z = std::span(z); - auto _pkey = std::span(pkey); - auto _skey = std::span(skey); - - ml_kem_prng::prng_t prng{}; - prng.read(_d); - prng.read(_z); - -#ifdef __x86_64__ - uint64_t total_ticks = 0ul; -#endif - - for (auto _ : state) { -#ifdef __x86_64__ - const uint64_t start = cpu_ticks(); -#endif - - ml_kem::keygen(_d, _z, _pkey, _skey); - - benchmark::DoNotOptimize(_d); - benchmark::DoNotOptimize(_z); - benchmark::DoNotOptimize(_pkey); - benchmark::DoNotOptimize(_skey); - benchmark::ClobberMemory(); - -#ifdef __x86_64__ - const uint64_t end = cpu_ticks(); - total_ticks += (end - start); -#endif - } - - state.SetItemsProcessed(state.iterations()); - -#ifdef __x86_64__ - total_ticks /= static_cast(state.iterations()); - state.counters["rdtsc"] = static_cast(total_ticks); -#endif -} - -// Benchmarking IND-CCA2-secure Ml_kem KEM encapsulation algorithm -template -void -bench_encapsulate(benchmark::State& state) -{ - constexpr size_t slen = 32; - constexpr size_t pklen = ml_kem_utils::get_kem_public_key_len(k); - constexpr size_t sklen = ml_kem_utils::get_kem_secret_key_len(k); - constexpr size_t ctlen = ml_kem_utils::get_kem_cipher_text_len(k, du, dv); - constexpr size_t klen = 32; - - std::vector d(slen); - std::vector z(slen); - std::vector m(slen); - std::vector pkey(pklen); - std::vector skey(sklen); - std::vector cipher(ctlen); - std::vector sender_key(klen); - - auto _d = std::span(d); - auto _z = std::span(z); - auto _m = std::span(m); - auto _pkey = std::span(pkey); - auto _skey = std::span(skey); - auto _cipher = std::span(cipher); - auto _sender_key = std::span(sender_key); - - ml_kem_prng::prng_t prng{}; - prng.read(_d); - prng.read(_z); - - ml_kem::keygen(_d, _z, _pkey, _skey); - - prng.read(_m); - -#ifdef __x86_64__ - uint64_t total_ticks = 0ul; -#endif - - for (auto _ : state) { -#ifdef __x86_64__ - const uint64_t start = cpu_ticks(); -#endif - - (void)ml_kem::encapsulate(_m, _pkey, _cipher, _sender_key); - - benchmark::DoNotOptimize(_m); - benchmark::DoNotOptimize(_pkey); - benchmark::DoNotOptimize(_cipher); - benchmark::DoNotOptimize(_sender_key); - benchmark::ClobberMemory(); - -#ifdef __x86_64__ - const uint64_t end = cpu_ticks(); - total_ticks += (end - start); -#endif - } - - state.SetItemsProcessed(state.iterations()); - -#ifdef __x86_64__ - total_ticks /= static_cast(state.iterations()); - state.counters["rdtsc"] = static_cast(total_ticks); -#endif -} - -// Benchmarking IND-CCA2-secure Ml_kem KEM decapsulation algorithm -template -void -bench_decapsulate(benchmark::State& state) -{ - constexpr size_t slen = 32; - constexpr size_t pklen = ml_kem_utils::get_kem_public_key_len(k); - constexpr size_t sklen = ml_kem_utils::get_kem_secret_key_len(k); - constexpr size_t ctlen = ml_kem_utils::get_kem_cipher_text_len(k, du, dv); - constexpr size_t klen = 32; - - std::vector d(slen); - std::vector z(slen); - std::vector m(slen); - std::vector pkey(pklen); - std::vector skey(sklen); - std::vector cipher(ctlen); - std::vector sender_key(klen); - std::vector receiver_key(klen); - - auto _d = std::span(d); - auto _z = std::span(z); - auto _m = std::span(m); - auto _pkey = std::span(pkey); - auto _skey = std::span(skey); - auto _cipher = std::span(cipher); - auto _sender_key = std::span(sender_key); - auto _receiver_key = std::span(receiver_key); - - ml_kem_prng::prng_t prng{}; - prng.read(_d); - prng.read(_z); - - ml_kem::keygen(_d, _z, _pkey, _skey); - - prng.read(_m); - - (void)ml_kem::encapsulate(_m, _pkey, _cipher, _sender_key); - -#ifdef __x86_64__ - uint64_t total_ticks = 0ul; -#endif - - for (auto _ : state) { -#ifdef __x86_64__ - const uint64_t start = cpu_ticks(); -#endif - - ml_kem::decapsulate(_skey, _cipher, _receiver_key); - - benchmark::DoNotOptimize(_skey); - benchmark::DoNotOptimize(_cipher); - benchmark::DoNotOptimize(_receiver_key); - benchmark::ClobberMemory(); - -#ifdef __x86_64__ - const uint64_t end = cpu_ticks(); - total_ticks += (end - start); -#endif - } - - state.SetItemsProcessed(state.iterations()); - assert(std::ranges::equal(_sender_key, _receiver_key)); - -#ifdef __x86_64__ - total_ticks /= static_cast(state.iterations()); - state.counters["rdtsc"] = static_cast(total_ticks); -#endif -} - -// Ml_kem512 -BENCHMARK(bench_keygen<2, 3, 128>)->Name("ml_kem512/keygen")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); -BENCHMARK(bench_encapsulate<2, 3, 2, 10, 4, 128>)->Name("ml_kem512/encap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); -BENCHMARK(bench_decapsulate<2, 3, 2, 10, 4, 128>)->Name("ml_kem512/decap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); - -// Ml_kem768 -BENCHMARK(bench_keygen<3, 2, 192>)->Name("ml_kem768/keygen")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); -BENCHMARK(bench_encapsulate<3, 2, 2, 10, 4, 192>)->Name("ml_kem768/encap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); -BENCHMARK(bench_decapsulate<3, 2, 2, 10, 4, 192>)->Name("ml_kem768/decap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); - -// Ml_kem1024 -BENCHMARK(bench_keygen<4, 2, 256>)->Name("ml_kem1024/keygen")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); -BENCHMARK(bench_encapsulate<4, 2, 2, 11, 5, 256>)->Name("ml_kem1024/encap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); -BENCHMARK(bench_decapsulate<4, 2, 2, 11, 5, 256>)->Name("ml_kem1024/decap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); diff --git a/benchmarks/bench_ml_kem_1024.cpp b/benchmarks/bench_ml_kem_1024.cpp new file mode 100644 index 0000000..6b037a2 --- /dev/null +++ b/benchmarks/bench_ml_kem_1024.cpp @@ -0,0 +1,111 @@ +#include "bench_helper.hpp" +#include "ml_kem/ml_kem_1024.hpp" +#include +#include + +// Benchmarking ML-KEM-1024 key generation algorithm. +void +bench_ml_kem_1024_keygen(benchmark::State& state) +{ + std::array seed_d{}; + std::array seed_z{}; + + std::array pubkey{}; + std::array seckey{}; + + ml_kem_prng::prng_t<256> prng{}; + + prng.read(seed_d); + prng.read(seed_z); + + for (auto _ : state) { + ml_kem_1024::keygen(seed_d, seed_z, pubkey, seckey); + + benchmark::DoNotOptimize(seed_d); + benchmark::DoNotOptimize(seed_z); + benchmark::DoNotOptimize(pubkey); + benchmark::DoNotOptimize(seckey); + benchmark::ClobberMemory(); + } + + state.SetItemsProcessed(state.iterations()); +} + +// Benchmarking ML-KEM-1024 encapsulation algorithm. +void +bench_ml_kem_1024_encapsulate(benchmark::State& state) +{ + std::array seed_d{}; + std::array seed_z{}; + std::array seed_m{}; + + std::array pubkey{}; + std::array seckey{}; + + std::array cipher{}; + std::array shared_secret{}; + + ml_kem_prng::prng_t<256> prng{}; + + prng.read(seed_d); + prng.read(seed_z); + prng.read(seed_m); + + ml_kem_1024::keygen(seed_d, seed_z, pubkey, seckey); + + bool is_encapsulated = true; + for (auto _ : state) { + is_encapsulated &= ml_kem_1024::encapsulate(seed_m, pubkey, cipher, shared_secret); + + benchmark::DoNotOptimize(is_encapsulated); + benchmark::DoNotOptimize(seed_m); + benchmark::DoNotOptimize(pubkey); + benchmark::DoNotOptimize(cipher); + benchmark::DoNotOptimize(shared_secret); + benchmark::ClobberMemory(); + } + + assert(is_encapsulated); + state.SetItemsProcessed(state.iterations()); +} + +// Benchmarking ML-KEM-1024 decapsulation algorithm. +void +bench_ml_kem_1024_decapsulate(benchmark::State& state) +{ + std::array seed_d{}; + std::array seed_z{}; + std::array seed_m{}; + + std::array pubkey{}; + std::array seckey{}; + + std::array cipher{}; + std::array shared_secret_sender{}; + std::array shared_secret_receiver{}; + + ml_kem_prng::prng_t<256> prng{}; + + prng.read(seed_d); + prng.read(seed_z); + prng.read(seed_m); + + ml_kem_1024::keygen(seed_d, seed_z, pubkey, seckey); + (void)ml_kem_1024::encapsulate(seed_m, pubkey, cipher, shared_secret_sender); + + for (auto _ : state) { + ml_kem_1024::decapsulate(seckey, cipher, shared_secret_receiver); + + benchmark::DoNotOptimize(seckey); + benchmark::DoNotOptimize(cipher); + benchmark::DoNotOptimize(shared_secret_receiver); + benchmark::ClobberMemory(); + } + + state.SetItemsProcessed(state.iterations()); + assert(shared_secret_sender == shared_secret_receiver); +} + +BENCHMARK(bench_ml_kem_1024_keygen)->Name("ml_kem_1024/keygen")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_ml_kem_1024_encapsulate)->Name("ml_kem_1024/encap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_ml_kem_1024_decapsulate)->Name("ml_kem_1024/decap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); diff --git a/benchmarks/bench_ml_kem_512.cpp b/benchmarks/bench_ml_kem_512.cpp new file mode 100644 index 0000000..d2ff488 --- /dev/null +++ b/benchmarks/bench_ml_kem_512.cpp @@ -0,0 +1,111 @@ +#include "bench_helper.hpp" +#include "ml_kem/ml_kem_512.hpp" +#include +#include + +// Benchmarking ML-KEM-512 key generation algorithm. +void +bench_ml_kem_512_keygen(benchmark::State& state) +{ + std::array seed_d{}; + std::array seed_z{}; + + std::array pubkey{}; + std::array seckey{}; + + ml_kem_prng::prng_t<128> prng{}; + + prng.read(seed_d); + prng.read(seed_z); + + for (auto _ : state) { + ml_kem_512::keygen(seed_d, seed_z, pubkey, seckey); + + benchmark::DoNotOptimize(seed_d); + benchmark::DoNotOptimize(seed_z); + benchmark::DoNotOptimize(pubkey); + benchmark::DoNotOptimize(seckey); + benchmark::ClobberMemory(); + } + + state.SetItemsProcessed(state.iterations()); +} + +// Benchmarking ML-KEM-512 encapsulation algorithm. +void +bench_ml_kem_512_encapsulate(benchmark::State& state) +{ + std::array seed_d{}; + std::array seed_z{}; + std::array seed_m{}; + + std::array pubkey{}; + std::array seckey{}; + + std::array cipher{}; + std::array shared_secret{}; + + ml_kem_prng::prng_t<128> prng{}; + + prng.read(seed_d); + prng.read(seed_z); + prng.read(seed_m); + + ml_kem_512::keygen(seed_d, seed_z, pubkey, seckey); + + bool is_encapsulated = true; + for (auto _ : state) { + is_encapsulated &= ml_kem_512::encapsulate(seed_m, pubkey, cipher, shared_secret); + + benchmark::DoNotOptimize(is_encapsulated); + benchmark::DoNotOptimize(seed_m); + benchmark::DoNotOptimize(pubkey); + benchmark::DoNotOptimize(cipher); + benchmark::DoNotOptimize(shared_secret); + benchmark::ClobberMemory(); + } + + assert(is_encapsulated); + state.SetItemsProcessed(state.iterations()); +} + +// Benchmarking ML-KEM-512 decapsulation algorithm. +void +bench_ml_kem_512_decapsulate(benchmark::State& state) +{ + std::array seed_d{}; + std::array seed_z{}; + std::array seed_m{}; + + std::array pubkey{}; + std::array seckey{}; + + std::array cipher{}; + std::array shared_secret_sender{}; + std::array shared_secret_receiver{}; + + ml_kem_prng::prng_t<128> prng{}; + + prng.read(seed_d); + prng.read(seed_z); + prng.read(seed_m); + + ml_kem_512::keygen(seed_d, seed_z, pubkey, seckey); + (void)ml_kem_512::encapsulate(seed_m, pubkey, cipher, shared_secret_sender); + + for (auto _ : state) { + ml_kem_512::decapsulate(seckey, cipher, shared_secret_receiver); + + benchmark::DoNotOptimize(seckey); + benchmark::DoNotOptimize(cipher); + benchmark::DoNotOptimize(shared_secret_receiver); + benchmark::ClobberMemory(); + } + + state.SetItemsProcessed(state.iterations()); + assert(shared_secret_sender == shared_secret_receiver); +} + +BENCHMARK(bench_ml_kem_512_keygen)->Name("ml_kem_512/keygen")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_ml_kem_512_encapsulate)->Name("ml_kem_512/encap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_ml_kem_512_decapsulate)->Name("ml_kem_512/decap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); diff --git a/benchmarks/bench_ml_kem_768.cpp b/benchmarks/bench_ml_kem_768.cpp new file mode 100644 index 0000000..8411714 --- /dev/null +++ b/benchmarks/bench_ml_kem_768.cpp @@ -0,0 +1,111 @@ +#include "bench_helper.hpp" +#include "ml_kem/ml_kem_768.hpp" +#include +#include + +// Benchmarking ML-KEM-768 key generation algorithm. +void +bench_ml_kem_768_keygen(benchmark::State& state) +{ + std::array seed_d{}; + std::array seed_z{}; + + std::array pubkey{}; + std::array seckey{}; + + ml_kem_prng::prng_t<192> prng{}; + + prng.read(seed_d); + prng.read(seed_z); + + for (auto _ : state) { + ml_kem_768::keygen(seed_d, seed_z, pubkey, seckey); + + benchmark::DoNotOptimize(seed_d); + benchmark::DoNotOptimize(seed_z); + benchmark::DoNotOptimize(pubkey); + benchmark::DoNotOptimize(seckey); + benchmark::ClobberMemory(); + } + + state.SetItemsProcessed(state.iterations()); +} + +// Benchmarking ML-KEM-768 encapsulation algorithm. +void +bench_ml_kem_768_encapsulate(benchmark::State& state) +{ + std::array seed_d{}; + std::array seed_z{}; + std::array seed_m{}; + + std::array pubkey{}; + std::array seckey{}; + + std::array cipher{}; + std::array shared_secret{}; + + ml_kem_prng::prng_t<192> prng{}; + + prng.read(seed_d); + prng.read(seed_z); + prng.read(seed_m); + + ml_kem_768::keygen(seed_d, seed_z, pubkey, seckey); + + bool is_encapsulated = true; + for (auto _ : state) { + is_encapsulated &= ml_kem_768::encapsulate(seed_m, pubkey, cipher, shared_secret); + + benchmark::DoNotOptimize(is_encapsulated); + benchmark::DoNotOptimize(seed_m); + benchmark::DoNotOptimize(pubkey); + benchmark::DoNotOptimize(cipher); + benchmark::DoNotOptimize(shared_secret); + benchmark::ClobberMemory(); + } + + assert(is_encapsulated); + state.SetItemsProcessed(state.iterations()); +} + +// Benchmarking ML-KEM-768 decapsulation algorithm. +void +bench_ml_kem_768_decapsulate(benchmark::State& state) +{ + std::array seed_d{}; + std::array seed_z{}; + std::array seed_m{}; + + std::array pubkey{}; + std::array seckey{}; + + std::array cipher{}; + std::array shared_secret_sender{}; + std::array shared_secret_receiver{}; + + ml_kem_prng::prng_t<192> prng{}; + + prng.read(seed_d); + prng.read(seed_z); + prng.read(seed_m); + + ml_kem_768::keygen(seed_d, seed_z, pubkey, seckey); + (void)ml_kem_768::encapsulate(seed_m, pubkey, cipher, shared_secret_sender); + + for (auto _ : state) { + ml_kem_768::decapsulate(seckey, cipher, shared_secret_receiver); + + benchmark::DoNotOptimize(seckey); + benchmark::DoNotOptimize(cipher); + benchmark::DoNotOptimize(shared_secret_receiver); + benchmark::ClobberMemory(); + } + + state.SetItemsProcessed(state.iterations()); + assert(shared_secret_sender == shared_secret_receiver); +} + +BENCHMARK(bench_ml_kem_768_keygen)->Name("ml_kem_768/keygen")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_ml_kem_768_encapsulate)->Name("ml_kem_768/encap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); +BENCHMARK(bench_ml_kem_768_decapsulate)->Name("ml_kem_768/decap")->ComputeStatistics("min", compute_min)->ComputeStatistics("max", compute_max); diff --git a/benchmarks/x86_64_cpu_ticks.hpp b/benchmarks/x86_64_cpu_ticks.hpp deleted file mode 100644 index 8ccf1e8..0000000 --- a/benchmarks/x86_64_cpu_ticks.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#ifdef __x86_64__ - -#include -#include -#include - -// Issues x86_64 architecture specific intrinsic for obtaining CPU ticks passed by, while executing a set of instructions. For example -// -// start = cpu_ticks() -// { -// ... bunch -// ... of -// ... instructions -// } -// end = cpu_ticks() -// -// CPU ticks passed by executing above code block = end - start -static inline uint64_t -cpu_ticks() -{ - _mm_mfence(); - return __rdtsc(); -} - -#endif From a5aa2a2f11e801243a7490fa41a3a4dad01e1563 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Tue, 18 Jun 2024 20:37:38 +0400 Subject: [PATCH 29/30] Update project documentation, API usage example Signed-off-by: Anjan Roy --- README.md | 153 +++++++++++++++++++--------------------- examples/ml_kem_768.cpp | 51 +++++++------- 2 files changed, 96 insertions(+), 108 deletions(-) diff --git a/README.md b/README.md index 5d95b2a..53cf62c 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,27 @@ > [!CAUTION] -> This Kyber implementation is conformant with Kyber specification https://doi.org/10.6028/NIST.FIPS.203.ipd and I also *try* to make it timing leakage free, using **dudect** (see https://github.com/oreparaz/dudect) -based tests, but be informed that this implementation is not yet audited. *If you consider using it in production, be careful !* +> This ML-KEM implementation is conformant with ML-KEM draft standard https://doi.org/10.6028/NIST.FIPS.203.ipd and I also *try* to make it timing leakage free, using **dudect** (see https://github.com/oreparaz/dudect) -based tests, but be informed that this implementation is not yet audited. *If you consider using it in production, please be careful !* -# kyber -CRYSTALS-Kyber: Post-Quantum Public-key Encryption & Key-establishment Algorithm +# ML-KEM (formerly known as Kyber) +Module-Lattice -based Key Encapsulation Mechanism Standard by NIST. ## Motivation -Kyber is being standardized by NIST as post-quantum secure key encapsulation mechanism (KEM), which can be used for key establishment. +ML-KEM is being standardized by NIST as post-quantum secure key encapsulation mechanism (KEM), which can be used for key establishment, between two parties, communicating over insecure channel. -Kyber offers an *IND-CCA2-secure* Key Encapsulation Mechanism - its security is based on the hardness of solving the learning-with-errors (LWE) problem in module (i.e. structured) lattices. +ML-KEM offers an *IND-CCA-secure* Key Encapsulation Mechanism - its security is based on the hardness of solving the learning-with-errors (LWE) problem in module (i.e. structured) lattices. -Kyber Key Encapsulation Mechanism is built on top of *IND-CPA-secure Kyber Public Key Encryption*, where two communicating parties, both generating their key pairs, while publishing only their public keys to each other, can encrypt fixed length ( = 32 -bytes ) message using peer's public key. Cipher text can be decrypted by corresponding secret key ( which is private to the keypair owner ) and 32 -bytes message can be recovered back. Then a slightly tweaked Fujisaki–Okamoto (FO) transform is applied on *IND-CPA-secure Kyber PKE* - giving us the *IND-CCA2-secure KEM* construction. In KEM scheme, two parties interested in establishing a secure communication channel over public & insecure channel, can generate a shared secret key ( of arbitrary byte length ) from a key derivation function ( i.e. KDF which is SHAKE256 Xof in this context ) which is obtained by both of these parties as result of seeding SHAKE256 Xof with same secret. This secret is 32 -bytes and that's what is communicated by sender to receiver using underlying Kyber PKE scheme. +ML-KEM is built on top of *IND-CPA-secure K-PKE*, where two communicating parties, both generating their key pairs, while publishing only their public keys to each other, can encrypt fixed length ( = 32 -bytes ) message using peer's public key. Cipher text can be decrypted by corresponding secret key ( which is private to the keypair owner ) and 32 -bytes message can be recovered back. Then a slightly tweaked Fujisaki–Okamoto (FO) transform is applied on *IND-CPA-secure K-PKE* - giving us the *IND-CCA-secure ML-KEM* construction. In KEM scheme, two parties interested in establishing a secure communication channel, over public & insecure channel, can generate a 32 -bytes shared secret key. Now they can be use this 32 -bytes shared secret key in any symmetric key primitive, either for encrypting their communication (in much faster way) or deriving new/ longer keys. Algorithm | Input | Output --- | :-: | --: -KEM KeyGen | - | Public Key and Secret Key -Encapsulation | Public Key | Cipher Text and SHAKE256 KDF -Decapsulation | Secret Key and Cipher Text | SHAKE256 KDF +KeyGen | - | Public Key and Secret Key +Encapsulation | Public Key | Cipher Text and 32B Shared Secret +Decapsulation | Secret Key and Cipher Text | 32B Shared Secret -Here I'm maintaining `kyber` - a header-only and easy-to-use ( see more in [usage](#usage) ) C++ library implementing Kyber KEM, supporting Kyber-{512, 768, 1024} parameter sets, as defined in table 1 of Kyber specification. `sha3`, `subtle` and `dudect` (for timing leakage tests) are dependencies of this library, which are pinned to specific git commits, using git submodule. +Here I'm maintaining `kyber` - a C++20 header-only `constexpr` library, implementing ML-KEM, supporting ML-KEM-{512, 768, 1024} parameter sets, as defined in table 2 of ML-KEM draft standard. It's pretty easy to use, see [usage](#usage). > [!NOTE] -> Find Kyber specification https://doi.org/10.6028/NIST.FIPS.203.ipd - this is the document that I followed when implementing Kyber. I suggest you go through the specification to get an in-depth understanding of Kyber PQC suite. +> Find ML-KEM draft standard @ https://doi.org/10.6028/NIST.FIPS.203.ipd - this is the document that I followed when implementing ML-KEM. I suggest you go through the specification to get an in-depth understanding of the scheme. ## Prerequisites @@ -29,13 +29,10 @@ Here I'm maintaining `kyber` - a header-only and easy-to-use ( see more in [usag ```bash $ clang++ --version -Ubuntu clang version 17.0.2 (1~exp1ubuntu2.1) +Ubuntu clang version 17.0.6 (9ubuntu1) Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/bin - -$ g++ --version -g++ (Ubuntu 13.2.0-4ubuntu3) 13.2.0 ``` - Build tools such as `make`, `cmake`. @@ -48,18 +45,18 @@ $ cmake --version cmake version 3.25.1 ``` -- For testing Kyber KEM implementation, you need to globally install `google-test` library and headers. Follow [this](https://github.com/google/googletest/tree/main/googletest#standalone-cmake-project) guide, if you don't have it installed. -- For benchmarking Kyber KEM implementation, targeting CPU systems, you'll need to have `google-benchmark` header and library globally installed. I found guide @ https://github.com/google/benchmark#installation helpful. +- For testing ML-KEM implementation, you need to globally install `google-test` library and headers. Follow guide @ https://github.com/google/googletest/tree/main/googletest#standalone-cmake-project, if you don't have it installed. +- For benchmarking ML-KEM implementation, you'll need to have `google-benchmark` header and library globally installed. I found guide @ https://github.com/google/benchmark#installation helpful. > [!NOTE] -> If you are on a machine running GNU/Linux kernel and you want to obtain *CPU cycle* count for KEM routines, you should consider building `google-benchmark` library with `libPFM` support, following https://gist.github.com/itzmeanjan/05dc3e946f635d00c5e0b21aae6203a7, a step-by-step guide. Find more about libPFM @ https://perfmon2.sourceforge.net. +> If you are on a machine running GNU/Linux kernel and you want to obtain *CPU cycle* count for ML-KEM routines, you should consider building `google-benchmark` library with `libPFM` support, following https://gist.github.com/itzmeanjan/05dc3e946f635d00c5e0b21aae6203a7, a step-by-step guide. Find more about libPFM @ https://perfmon2.sourceforge.net. > [!TIP] -> Git submodule based dependencies will mostly be imported automatically, but in case that doesn't work, you can manually initialize and update them by issuing `$ git submodule update --init` from inside the root of this repository. +> Git submodule based dependencies will normally be imported automatically, but in case that doesn't work, you can manually initialize and update them by issuing `$ git submodule update --init` from inside the root of this repository. ## Testing -For testing functional correctness and conformance with Kyber specification, you have to issue +For testing functional correctness of this implementation and conformance with ML-KEM draft standard, you have to issue > [!NOTE] > Known Answer Test (KAT) files living in [this](./kats/) directory are generated by following (reproducible) steps, described in https://gist.github.com/itzmeanjan/c8f5bc9640d0f0bdd2437dfe364d7710. @@ -71,24 +68,22 @@ make ubsan_test -j # Run tests with UndefinedBehaviourSanitizer enabled ``` ```bash -[10/10] KyberKEM.ArithmeticOverZq (149 ms) -PASSED TESTS (10/10): - 1 ms: build/test.out KyberKEM.NumberTheoreticTransform - 1 ms: build/test.out KyberKEM.PolynomialSerialization - 1 ms: build/test.out KyberKEM.Kyber768KeygenEncapsDecaps - 2 ms: build/test.out KyberKEM.Kyber512KeygenEncapsDecaps - 2 ms: build/test.out KyberKEM.Kyber1024KeygenEncapsDecaps - 16 ms: build/test.out KyberKEM.Kyber512KnownAnswerTests - 21 ms: build/test.out KyberKEM.Kyber1024KnownAnswerTests - 22 ms: build/test.out KyberKEM.Kyber768KnownAnswerTests - 99 ms: build/test.out KyberKEM.CompressDecompressZq - 149 ms: build/test.out KyberKEM.ArithmeticOverZq +PASSED TESTS (9/9): + 3 ms: build/test.out ML_KEM.ML_KEM_512_KeygenEncapsDecaps + 3 ms: build/test.out ML_KEM.PolynomialSerialization + 4 ms: build/test.out ML_KEM.ML_KEM_768_KeygenEncapsDecaps + 4 ms: build/test.out ML_KEM.ML_KEM_1024_KeygenEncapsDecaps + 41 ms: build/test.out ML_KEM.ML_KEM_512_KnownAnswerTests + 63 ms: build/test.out ML_KEM.ML_KEM_1024_KnownAnswerTests + 64 ms: build/test.out ML_KEM.ML_KEM_768_KnownAnswerTests + 226 ms: build/test.out ML_KEM.CompressDecompressZq + 284 ms: build/test.out ML_KEM.ArithmeticOverZq ``` In case you're interested in running timing leakage tests using `dudect`, execute following > [!NOTE] -> `dudect` is integrated into this library implementation of Kyber KEM to find any sort of timing leakages. It checks for constant-timeness of all *vital* functions including Fujisaki-Okamoto transform, used in decapsulation step. It doesn't check constant-timeness of function which samples public matrix `A`, because that fails the check anyway, due to use of uniform rejection sampling. As matrix `A` is public, it's not critical that it must be *strictly* constant-time. +> `dudect` is integrated into this library implementation of ML-KEM to find any sort of timing leakages. It checks for constant-timeness of all *vital* functions including Fujisaki-Okamoto transform, used in decapsulation step. It doesn't check constant-timeness of function which samples public matrix `A`, because that fails the check anyway, due to use of uniform rejection sampling. As matrix `A` is public, it's not critical that it must be *strictly* constant-time. ```bash # Can only be built and run x86_64 machine. @@ -98,9 +93,9 @@ make dudect_test_build -j # Before running the constant-time tests, it's a good idea to put all CPU cores on "performance" mode. # You may find guide @ https://github.com/google/benchmark/blob/main/docs/reducing_variance.md helpful. -timeout 10m taskset -c 0 ./build/dudect/test_kyber512_kem.out -timeout 10m taskset -c 0 ./build/dudect/test_kyber768_kem.out -timeout 10m taskset -c 0 ./build/dudect/test_kyber1024_kem.out +timeout 10m taskset -c 0 ./build/dudect/test_ml_kem_512.out +timeout 10m taskset -c 0 ./build/dudect/test_ml_kem_768.out +timeout 10m taskset -c 0 ./build/dudect/test_ml_kem_1024.out ``` > [!TIP] @@ -126,21 +121,18 @@ meas: 59.97 M, max t: +2.64, max tau: 3.41e-04, (5/tau)^2: 2.14e+08. For the ## Benchmarking -For benchmarking Kyber KEM routines ( i.e. keygen, encaps and decaps ) for various suggested parameter sets, you have to issue. +For benchmarking ML-KEM public functions such as keygen, encaps and decaps, for various suggested parameter sets, you have to issue. ```bash -make benchmark # If you haven't built google-benchmark library with libPFM support. -make perf # If you have built google-benchmark library with libPFM support. +make benchmark -j # If you haven't built google-benchmark library with libPFM support. +make perf -j # If you have built google-benchmark library with libPFM support. ``` -> [!NOTE] -> Benchmarking expects presence of `google-benchmark` header and library in global namespace ( so that it can be found by the compiler ). - > [!CAUTION] > When benchmarking, ensure that you've disabled CPU frequency scaling, by following guide @ https://github.com/google/benchmark/blob/main/docs/reducing_variance.md. > [!NOTE] -> `make perf` - was issued when collecting following benchmarks. Notice, *cycles* column, denoting cost of executing Kyber KEM routines in terms of CPU cycles. Follow [this](https://github.com/google/benchmark/blob/main/docs/perf_counters.md) for more details. +> `make perf` - was issued when collecting following benchmarks. Notice, *cycles* column, denoting cost of executing ML-KEM functions, in terms of CPU cycles. Follow https://github.com/google/benchmark/blob/main/docs/perf_counters.md for more details. ### On 12th Gen Intel(R) Core(TM) i7-1260P @@ -376,7 +368,7 @@ kyber512/decap_max 16.2 us 16.1 us 10 62.2184 ## Usage -`kyber` is written as a header-only C++ library, majorly targeting 64 -bit platforms and it's pretty easy to get started with. All you need to do is following. +`kyber` is written as a header-only C++20 `constexpr` library, majorly targeting 64 -bit desktop/ server grade platforms and it's pretty easy to get started with. All you need to do is following. - Clone `kyber` repository. @@ -389,12 +381,12 @@ git clone https://github.com/itzmeanjan/kyber.git && pushd kyber && git submodul git clone https://github.com/itzmeanjan/kyber.git --recurse-submodules ``` -- Write your program while including proper header files ( based on which variant of Kyber KEM you want to use, see [include](./include) directory ), which includes declarations ( and definitions ) of all required KEM routines and constants ( such as byte length of public/ private keys and cipher text ). +- Write your program while including proper header files ( based on which variant of ML-KEM you want to use, see [include](./include) directory ), which includes declarations ( and definitions ) of all required ML-KEM routines and constants ( such as byte length of public/ private key, cipher text etc. ). ```cpp // main.cpp -#include "kyber512_kem.hpp" +#include "ml_kem/ml_kem_512.hpp" #include #include #include @@ -402,38 +394,37 @@ git clone https://github.com/itzmeanjan/kyber.git --recurse-submodules int main() { - std::array d{}; // seed - std::array z{}; // seed - std::array pkey{}; - std::array skey{}; - std::array m{}; // seed - std::array cipher{}; + std::array d{}; + std::array z{}; + + std::array pkey{}; + std::array skey{}; + + std::array m{}; + std::array cipher{}; + + std::array sender_key{}; + std::array receiver_key{}; // Be careful ! // - // Read API documentation in include/prng.hpp - prng::prng_t prng; + // Read API documentation in include/ml_kem/internals/rng/prng.hpp + ml_kem_prng::prng_t<128> prng; prng.read(d); prng.read(z); prng.read(m); - kyber512_kem::keygen(d, z, pkey, skey); - auto skdf = kyber512_kem::encapsulate(m, pkey, cipher); - auto rkdf = kyber512_kem::decapsulate(skey, cipher); + ml_kem_512::keygen(d, z, pkey, skey); + assert(ml_kem_512::encapsulate(m, pkey, cipher, sender_key)); // Key Encapsulation might fail, if input public key is malformed + ml_kem_512::decapsulate(skey, cipher, receiver_key); - std::array sender_key{}; - skdf.squeeze(sender_key); - - std::array receiver_key{}; - rkdf.squeeze(receiver_key); - - assert(std::ranges::equal(sender_key, receiver_key)); + assert(sender_key == receiver_key); return 0; } ``` -- When compiling your program, let your compiler know where it can find `kyber`, `sha3` and `subtle` headers, which includes their definitions ( kyber being a header-only library ) too. +- When compiling your program, let your compiler know where it can find `kyber`, `sha3` and `subtle` headers, which includes their definitions ( all of them are header-only libraries ) too. ```bash # Assuming `kyber` was cloned just under $HOME @@ -442,35 +433,35 @@ KYBER_HEADERS=~/kyber/include SHA3_HEADERS=~/kyber/sha3/include SUBTLE_HEADERS=~/kyber/subtle/include -g++ -std=c++20 -Wall -O3 -march=native -I $KYBER_HEADERS -I $SHA3_HEADERS -I $SUBTLE_HEADERS main.cpp +g++ -std=c++20 -Wall -Wextra -pedantic -O3 -march=native -I $KYBER_HEADERS -I $SHA3_HEADERS -I $SUBTLE_HEADERS main.cpp ``` -Kyber KEM Variant | Namespace | Header +ML-KEM Variant | Namespace | Header :-- | :-: | --: -Kyber512 KEM Routines | `kyber512_kem::` | [include/kyber512_kem.hpp](include/kyber512_kem.hpp) -Kyber768 KEM Routines | `kyber768_kem::` | [include/kyber768_kem.hpp](include/kyber768_kem.hpp) -Kyber1024 KEM Routines | `kyber1024_kem::` | [include/kyber1024_kem.hpp](include/kyber1024_kem.hpp) +ML-KEM-512 Routines | `ml_kem_512::` | `include/ml_kem/ml_kem_512.hpp` +ML-KEM-768 Routines | `ml_kem_768::` | `include/ml_kem/ml_kem_768.hpp` +ML-KEM-1024 Routines | `ml_kem_1024::` | `include/ml_kem/ml_kem_1024.hpp` > [!NOTE] -> Kyber parameter sets are selected from table 1 of Kyber specification https://doi.org/10.6028/NIST.FIPS.203.ipd. +> ML-KEM parameter sets are taken from table 2 of ML-KEM draft standard @ https://doi.org/10.6028/NIST.FIPS.203.ipd. -See example [program](./examples/kyber512_kem.cpp), where I show how to use Kyber512 KEM API. You can almost similarly use Kyber768 or Kyber1024 KEM API, by just importing correct header file and using KEM functions/ constants from respective namespace. +See example [program](./examples/ml_kem_768.cpp), where I show how to use ML-KEM-512 API. ```bash -g++ -std=c++20 -Wall -Wextra -pedantic -O3 -march=native -I ./include -I ./sha3/include -I ./subtle/include/ examples/kyber512_kem.cpp && ./a.out +g++ -std=c++20 -Wall -Wextra -pedantic -O3 -march=native -I ./include -I ./sha3/include -I ./subtle/include/ examples/ml_kem_768.cpp && ./a.out ``` ```bash -Kyber512 KEM - -pubkey : 175782d35b2666833aee098617626d88dbcc47091a011882d52105acc218c9287a95276a3259a6a94aa386d8148886abdcc1841f39260ce4754ebacc1fd36102905d4c623d0b27930b4c249ee7380758c0ac5982b0e932eda95184a40f55c451d835861ca2b314dbce97829f1b92752dda592d8960b2540f464988ea1c974c63467c439b1de540490b0af0491a6507951ebc971887bd2b4a11327381d99586f10668c83abe92fb649b113da7ec666729bc1cc38a1de137dd3cc4e3a6abb9881a2ee63e7df3ad6cb680664ba1559ca17448c968b7c867ac5f324911ffd43993b8a7b8f57094c786877c1208fa7f53e51d6f1a46ae71bc81f78ebe5808d48200b7e1bc81ec3d31070a6993aa5db237eb3a4c592aa559a73bd769583a0ad095ec1669b952be4a71fe8603f5d597f007a048cc9d7fea6735383b6b8bbf896b74dc48a21840a92c497a9bc7434b0241a9e42e6428515d477c4e0b3678fab1d619b794f01b828648e7577bb2e5297915b9fdf33cb291a37de51b51c7aca6f07994193bd981134da2340c23a93cda8b68e429ac801d3748b8d112b57e388511e3305e50a51184b623607447468be94351cd0b9111a119b4b3c6f270c1cfea749a2ac89455590280c369163946481dbaeb4693dbb376202db2d8464c61aea6411cd887080f5c59e1587da01510cd1b0e8b030a5c200639ba26376134e88279891b90373cc92e7a76c0aaa33d084ab3f61e175010996652e441300ad5aefda9cc88f17fef2102b643179e0a49a60c47ce06c5b1a0b150b09ca4593e5dd48a9b1979d103ba862c43ed354d2ec99575b70e741808288aa0e1cb792c0a458d4584ddfa1870d7b797e2aac7d4cc08916015401338d8841d226d9656661cda93f53343e0f906b82bce8f25428b02a639a47f7dda5b946a3785656fb6d083df5a5ec7493cc017a2469b1f43c96f2e3bbc9d6cb07bec82d721a4cfba6ca2c59b0e01bda98585692b9da753923f830b52c843b6d963f959ad60189f42d61df7808f4d131c4d233e246c4735193e516452061701e6114cf1587a54c79105f48fdce9c2134bb60550b242945ea011ec54c570054b93d96f072426b7c9b524db8d2f136b7db2d1f38897 -seckey : a598a250c2008688af8f71a285abae5b528a19479acf915cd2f92a7365bc757c670accc4b2190aa77b7d0c76355962a0ea9b6a1f4400be77797a6851776815032307913aa475b733a1ba698b2134ea25a57bd9b979e2bcb7d99f24f06ee760227486ae1cdaba79065bc3180d79a0906c514e5b973435c00f34b87e882643ef6b42bcbca4a3b65207abb5dca76e49a9be7a6013d256bc09b1211b70bb28e2151200c6c1e00082e88634600a29e3cf5ff541051c703ac373a91228a6d30491221df6749e22b21429612ed4ba07a7d7789717809e498f2e3a1b8a6a40afe0a7d2460350074a2a5127cc20c0b03446977a612a096324337cd5bc455f77cdbe4600e147b02fe58bc9c383b1e84ea3bc5755d3a87ce515b07c96741a72d9eb702d445acc3374531c70ef221216db2c9198110d83084f7b508da18fd34b8ee9f45d1204a627609d09a89c73e8bfc1f987c6bc906fac0d01720b169061b3d8015a5121a0d3beab454a03cc24a9bc5725e6c4aaf44d8f8b7242443f289c0751226448ec794a02a1ba411caeabb99f7a90510b8812a91a0ad69f1476408940381724a1dbfb7f69642788267b068c585bf41bf3f857fd14bcd9506b95b6a257d7481a07628004944e136a4c97842c13451e960cf4e08a8b6666e17a6aac016d701c1a00c82072939a092397c7104d7fd6332b860034f2ace5191e2792cf10e21f5166304bf329696128d63640b7882809b750f1f89e5d513fa08a8439e1ad5fe0affd887b0f06ab91798c35d48f39261af3dab7ddbc899be21d1f751b8d317b8e280f400b637ac6a471b4065973a6253235c94117e22083562b715ce680fafb78da9113f0f52692c52625ea8e1c24a1d8837beb963a5ab078455c8a43cbab68dc4eaa4c7646c9bb45803442250e935738944c7228aa3f7137567eb1231c63bff7552a7858525b92bdca832a41cb20fb24647a62af1da27e50c41f3cd070ed8c1d1213c22b1540a5c1412d67ab4ff334c2e5217c06a5f8a93c0637bd0fb4736c19591f67c378aa80f7c9587b346bbfe81eff8574c7e0acc3164c3df048019639a80377b97457175782d35b2666833aee098617626d88dbcc47091a011882d52105acc218c9287a95276a3259a6a94aa386d8148886abdcc1841f39260ce4754ebacc1fd36102905d4c623d0b27930b4c249ee7380758c0ac5982b0e932eda95184a40f55c451d835861ca2b314dbce97829f1b92752dda592d8960b2540f464988ea1c974c63467c439b1de540490b0af0491a6507951ebc971887bd2b4a11327381d99586f10668c83abe92fb649b113da7ec666729bc1cc38a1de137dd3cc4e3a6abb9881a2ee63e7df3ad6cb680664ba1559ca17448c968b7c867ac5f324911ffd43993b8a7b8f57094c786877c1208fa7f53e51d6f1a46ae71bc81f78ebe5808d48200b7e1bc81ec3d31070a6993aa5db237eb3a4c592aa559a73bd769583a0ad095ec1669b952be4a71fe8603f5d597f007a048cc9d7fea6735383b6b8bbf896b74dc48a21840a92c497a9bc7434b0241a9e42e6428515d477c4e0b3678fab1d619b794f01b828648e7577bb2e5297915b9fdf33cb291a37de51b51c7aca6f07994193bd981134da2340c23a93cda8b68e429ac801d3748b8d112b57e388511e3305e50a51184b623607447468be94351cd0b9111a119b4b3c6f270c1cfea749a2ac89455590280c369163946481dbaeb4693dbb376202db2d8464c61aea6411cd887080f5c59e1587da01510cd1b0e8b030a5c200639ba26376134e88279891b90373cc92e7a76c0aaa33d084ab3f61e175010996652e441300ad5aefda9cc88f17fef2102b643179e0a49a60c47ce06c5b1a0b150b09ca4593e5dd48a9b1979d103ba862c43ed354d2ec99575b70e741808288aa0e1cb792c0a458d4584ddfa1870d7b797e2aac7d4cc08916015401338d8841d226d9656661cda93f53343e0f906b82bce8f25428b02a639a47f7dda5b946a3785656fb6d083df5a5ec7493cc017a2469b1f43c96f2e3bbc9d6cb07bec82d721a4cfba6ca2c59b0e01bda98585692b9da753923f830b52c843b6d963f959ad60189f42d61df7808f4d131c4d233e246c4735193e516452061701e6114cf1587a54c79105f48fdce9c2134bb60550b242945ea011ec54c570054b93d96f072426b7c9b524db8d2f136b7db2d1f3889778f791d583227a702cdfa4a9f95014df019495f14e02318b3704dc3794af523705be75f29753f47b2888ceef235d82caca9f983b40bf10b29672da272113a973 -cipher : bcee459c896ea378dcc458a532c35c029eff6b8cf8adc83f484fb6f9bfe32612f7c936cbf4dbd7c5262288dc3966a0d769f94a0bd57913a60a71efae09321c22c53839d836cef5fb8bf5c630bd3b3d657492eabfc7e67a42a631c95391656f0fce607a181e418144dff3d97f1192a2825a94da5113bcffc2e5f3e043f7583e6159902ddd009f8bcb18046a05695917bdef48accc2e3708f8536aabb420a7fd7989c60bca6c1941af45eac2f03cf71c8506721f8cd69bd3c573f036e3e8ae72b85632d06e0cab6fa1fea078d84aa1a116ac58ee632a0542b2d0e6a7026ae814ceeb46478d1cefd082c9b19efa7bb6ddd7abda8e43eab7b5a5204449273ea056b36d3797371f855d0c7ff0436279b21b831ad0970c26cc39f8627deb932689b8df48e73b1b5893987fa4dbc65571a78287f1573beeb85db52a3edbad6f50725bcbfa40423e3ce1ab00c16ea3922bc42e6782ce224ccfb3c978d8704584b9768a8edb6a950c0208b1c1c9a6a4e0d6300a9cfe788389697460efc41308448e9752d2022dfdecd118440346e2fabb07559b76301943f3b186adaaba09828efb28db1cd4a5e82e01f360451cb3c487f371af05725ea0e7d61932a8dc38108e99182e9b50d2aa828a773a2e18f5271ac75e5a5c50b9221f893e5f7076732beb0ffb9e4b82e1c0648192c9547870372b78c6a3e3a1b00d904a4a1492d5944e0510acee62e40c78cecef97922b04807cdd47d4d403a7bb16316598e6eee760b257382d9648c9920c3395717d8ac829bd37465c0f3e7f0c7e6fc351aac802edb722200776906eb36f622c0b8702958e44317961f583265a83b8cfcd9eed80f15b9ef848ebb7355df9718a60c532e20074854797685b3e4a25f929fce9ad02a5af114f92210abd3b73fddf28f116c2d4c27ceda6428a3892eb0c18fc12b07596e4153f2a3df9aa440957704bc56bbbee06cd99def3218c046344b4c5a811840a088bcbbad76fca4a20b9bf608873b2830afd6097b05022e8b1d42af3e5e4f00303adc9f130a84cdde3fef9335ccd1120b3f2050f17ef0c10fd226268965cbfc13738ada0632 -shared secret : 508ac79bf97e90d75267159ba5189b73c48ab41a91aec0f32edd6cd1e66465b5 +ML-KEM-768 +Pubkey : 6653a1f5242faad7b37863433dc56538957f3c412102a17d28bc328c4781c566331f8c0b77093baef24a58d6312ddc719ac67ac2874f3adc8a3e6530adbc14cc069159a99e56277895c17c04da1644db23a6e9c16f31c21959400a8abd483a3fcfc0c5fd759917322a66a2aa77a6956f3b8387443640746b0ac8a282521dd784332d56aa745898c3fcc60a56a0716931bbe69b26c4514d529c79979355c8b40eb97fe7c485ceaa45d610145b4bce7da6343db46b6bf42182931a3ed98bafb66614e024cf8c9e51a90b1fc3702a2b4fe3b0c537fa9a1680b4d2f2044c557b1819300a6225be6c234d07d06a702eeb7110ef05c8973b0cab182efbb9ba07811b87b24e2a652cb428240c53423efcaf201973bf3342e86a8d477191d3544217f143586ba351fb7729ac8a51a51c8ab719fd3568c615a7a438b8967301754cac96a8552af82d8ce8840da56cb7481ad54581904c0d390732eceb23df4483cd7593d949bb0c985042f71018862b0d126702a7b55c8c7d9d44cfea157d4013c57ceb18bcfc2c95d8bb8d6178e0ac738ffcc1b3fca525a7ae83652e0b75836fe6c77d182626a8ca85262a17bc60645105a503b2f0f707e765552d49979273b0cb5870124933c6557ef795b36bf093f6c35ef722c9b2854999d20b5fd23dc6d2381ef38bcf547e37faa8ccda3dea2409deda7992a1951849ce3e7b11f3f98cb0d2283e458af854af9d74c57516a924e74222e9bcac529e88a02913d9ae29ec3cc42269d08ca1bf13a941f95d0bb05da9ac4a1ea2bb86b4c631853ec5f2129834a70ba923c8f1bc3fd5cad8692ef4401417b362f0e729497633794abc21e95a59319403002085b113a7b0544165210c1726346a088a933347a265ba055429e637fc40b111d38446461d77546166f923e5249427e5c62092b6ee2a2b585273c3d545b99673419194e54978d71ca606e238a053988db999904207b8326c5b27a38966c4d99460386c453d12821602b444320da205c980da3ab9d3461d405601a7226c143cf4492b8bf4c63a949a8ad81224c71005abcf6afb4ba7ba94ee437079494f9d78c69ac950711765a7e50ab42ba6bf64a5a7d30e64d14fb845ab37b4cc5b099c44e3cf4f9bc61f3640b5b98560474f9f1054dce9be10db77dea35a2375c66d0a26d7f73e7385b03ca8194dbaaf601184f826bd0a86b1d023ae9548b6d4602cd25c3f46e1c66dca6fd183007d043f6f3a6f5a56089180744d579bfe3cc65f003d91084adac4c0ac5811ea8a3e5aa6500eac125a423000297a7975585a083bcfc807b7722b5a0438c1b11b62abcb9a4623f8090c451690455acf97814074c0b6d6d19180f08afbd5ba0e259ee910a61f684d14e7996e47ba5a19994a13a642a1bb563411979bcaf7b302d70ba750a89867653b93596d03b260c7c0a024949bb7b1b110dc8267d5c5305390da26c7e6296add6ba7533b92540c28b337c5b392a6024c57cc09b899ec72e1466de604aa0c909baeb0b0078324e810481f760ae694b5e88cb034bca48bf70881047c7b6ab7ce04b96ad2bd0142b387bc1824a22742c7ce18ebac7744a616a5631e40ab817426c6130ece8641661ab863c44c2adb64029990aea24c94bec0ad7bfba46cd1894775ac6549b1a63446cade59357e125c589a73 +Seckey : 7fc5b38c54324b214d9db93e4069c03a097931156a9e18291ac9b0ac787dfcd189a5971b3dd79fab1b5bacbb35a8d33d08faa3493c8d26886c0f487bee757b16837799912bbd99200502227ff510a4c39d924434af8233220084888b134fb608b9d424c66b8ec5c34069327c5ac591ee0b774ef42f922aceeae21d44738b74e644c5dc0fff4c8ed2cb25f495126840442370159a7c5bb6631c4b7aa4d0445a1fa63c104b492e986e1109bcab369fa0889ca41202d22c8511b8a35719163336a87ea672798168038439ab5645acf813f773a0a575169250c2a2062618aa3b77d015750abaf6a707019945e590beaf6cc499b8305ef66583e42c24f9b2d720ac286a8b513261d36a4c34eb7a6a012488aa3e58553e5245ac7e7089d327568ec66e9bccc96fa5ce0bcc8b1fda3343857adc564d4a631e695b7ecea241947561519b48a75b4f89ab992f201d3f5c958254c9c8653ee2d08756388152db8284d0a48db1a7b96282e4b168cf16a51362534c4c90ca21c28f5b76a12c6042f61a7de52c2bf8901f3738cec81c1ac75399b63320217ce8833e06c0b022b5883415009e08428cc07570660cd14a818cc2ad1a00aeb011b9622a48dde6632277b784d28651c17438d8457e67a6dbc016e387cdabf15e3c456c17c1b3825376bdb3c3f418ac251c96605b208f35c0027559405240bc419303ea9d1c9a36c10ccc0b443782e1c1e860ad0af914ab7a53cfaa0d7ef1100be74da5b43fcfe4bc60e7397cf009ddda713eb7610a15716e9b9e7ac55269c9494bc910a3753c0a0942ec654f1500826f900bb4776dde03166ef376dd67cc385406d2f4047ffc819b2657e596c964189727f3b8a9705f4dc011fda20c73846f62146085547d872519636697e16c7e89d741c917974e490812482ab704099e003acab375f1376536b85c5c12196b2a7514461a2fc2032bb65164f6cbe16c8fb6754a3cd75bb26635a1f5b96d113dfb1a3b301438608c39be68adb5b359d00b0b39a77f7167a18c75532b18798aea17d6ea64bf798c3ec0438a1c94d3445f906985f3791a3f4a98df13cd0af24d8feba0dbeb08b42635327c31cff5b6da791ad1c33055b18fa6d8b5c7f454c39a70d1e86f96660cea737e7ca52014a6c662e346a09bc25e4027602b4472dc93ee06c91a698be675bb39d2319e91a083b92e4b7b0bcc38771977c300e889ae60bb38b97ca68836d0bcabde4b6a0d70042ee67e051a1503927c422593df1668bb789d7060cc6b09d0a891384d5bbe90b480ba93afa99a079ea85e28a0236437a0ba397705356b0f90757e754f34fb5a591b3888eb5d719b79f462abab333ed078bb90c4b11dec276713c4cb06bca9d98068f48b90802451f69d2acb08abe66c61f6081f008d04fa7bad176da4201c9c2a3b3b29b3e7734b1961b6e2ea8d963350d8301a2dc48ce2e056156275cae8c23665b47a5a49c1abc5a01c98cee22a9dd7584c15b304e5c61cd449453208417075a6c3b999f626795379f1d556da168832a47ac638ce89a59c5a9c0a9746ad219142cf782280311b9cea87598c46ba673ac30a281a052dcd710e1bac328d822c19db8ee7e38925c7378431937b812e03382963b9c26653a1f5242faad7b37863433dc56538957f3c412102a17d28bc328c4781c566331f8c0b77093baef24a58d6312ddc719ac67ac2874f3adc8a3e6530adbc14cc069159a99e56277895c17c04da1644db23a6e9c16f31c21959400a8abd483a3fcfc0c5fd759917322a66a2aa77a6956f3b8387443640746b0ac8a282521dd784332d56aa745898c3fcc60a56a0716931bbe69b26c4514d529c79979355c8b40eb97fe7c485ceaa45d610145b4bce7da6343db46b6bf42182931a3ed98bafb66614e024cf8c9e51a90b1fc3702a2b4fe3b0c537fa9a1680b4d2f2044c557b1819300a6225be6c234d07d06a702eeb7110ef05c8973b0cab182efbb9ba07811b87b24e2a652cb428240c53423efcaf201973bf3342e86a8d477191d3544217f143586ba351fb7729ac8a51a51c8ab719fd3568c615a7a438b8967301754cac96a8552af82d8ce8840da56cb7481ad54581904c0d390732eceb23df4483cd7593d949bb0c985042f71018862b0d126702a7b55c8c7d9d44cfea157d4013c57ceb18bcfc2c95d8bb8d6178e0ac738ffcc1b3fca525a7ae83652e0b75836fe6c77d182626a8ca85262a17bc60645105a503b2f0f707e765552d49979273b0cb5870124933c6557ef795b36bf093f6c35ef722c9b2854999d20b5fd23dc6d2381ef38bcf547e37faa8ccda3dea2409deda7992a1951849ce3e7b11f3f98cb0d2283e458af854af9d74c57516a924e74222e9bcac529e88a02913d9ae29ec3cc42269d08ca1bf13a941f95d0bb05da9ac4a1ea2bb86b4c631853ec5f2129834a70ba923c8f1bc3fd5cad8692ef4401417b362f0e729497633794abc21e95a59319403002085b113a7b0544165210c1726346a088a933347a265ba055429e637fc40b111d38446461d77546166f923e5249427e5c62092b6ee2a2b585273c3d545b99673419194e54978d71ca606e238a053988db999904207b8326c5b27a38966c4d99460386c453d12821602b444320da205c980da3ab9d3461d405601a7226c143cf4492b8bf4c63a949a8ad81224c71005abcf6afb4ba7ba94ee437079494f9d78c69ac950711765a7e50ab42ba6bf64a5a7d30e64d14fb845ab37b4cc5b099c44e3cf4f9bc61f3640b5b98560474f9f1054dce9be10db77dea35a2375c66d0a26d7f73e7385b03ca8194dbaaf601184f826bd0a86b1d023ae9548b6d4602cd25c3f46e1c66dca6fd183007d043f6f3a6f5a56089180744d579bfe3cc65f003d91084adac4c0ac5811ea8a3e5aa6500eac125a423000297a7975585a083bcfc807b7722b5a0438c1b11b62abcb9a4623f8090c451690455acf97814074c0b6d6d19180f08afbd5ba0e259ee910a61f684d14e7996e47ba5a19994a13a642a1bb563411979bcaf7b302d70ba750a89867653b93596d03b260c7c0a024949bb7b1b110dc8267d5c5305390da26c7e6296add6ba7533b92540c28b337c5b392a6024c57cc09b899ec72e1466de604aa0c909baeb0b0078324e810481f760ae694b5e88cb034bca48bf70881047c7b6ab7ce04b96ad2bd0142b387bc1824a22742c7ce18ebac7744a616a5631e40ab817426c6130ece8641661ab863c44c2adb64029990aea24c94bec0ad7bfba46cd1894775ac6549b1a63446cade59357e125c589a73dd18d5e8aad6acb35a89e0958c3ae122197bb6fed165733ca120172d11335a4d60d73fb91d0ffac552692219ef3082477a0f6399aa5dce8a72fd0afaa3b627c9 +Encapsulated ? : true +Cipher : 1d04afad6cf4058acb290f72298587c8afb9e022fc0a4b3e1aa5fdc79cfbe44e7781317adbc1f92fd01a6ad3840386710a369276c50671d2b58272505793736bb9d0e8883c200270ddae19fbc86af41aba366b4ddfd67f8771905b3fccca6da805a1e13a9e697500779cfe52484811e906042fa6e6e93ef641e5e7a46c39969c4683ee7cb440fc4cc452dab5215d6ec32a36fa0e8d7501b5d7dcc9dbfb51cbb1c036b052a7354544a6707099ded7b5e5c5024e2a6f356b2d300585128a30d7b964842d5c06659990c85468b42f5f2b46c39b4fa740a3f7006da01ffa09fb2fd6b5b0e9174bd7a801972b647df2825842b8ad146220a1ddcc9eee6967954e8d960bbf5ea8a74ae0306061c44e2995eb451171bd3eb4679579922e48e713ad40cddcd14343dc57a181e3067f1b01895122a447cf002b600c96a30c5f809efcc459cebc8723ca5b5147d2f9d09186f31bba013f19e63294cc5a57c0184b838cb9d51c62e0303c9a029cf6a5c489ccb43bd0bdd4da61f147d6ef9c2b95a758d0c2b9a9265e7cf4255989c07799940c517ecd527cca2acf62d104e2d45a176e35852d81f42397c93d3b2b1c7fde3cc6f4cd5d6c166f7312e34f690a07ecbaac69a045358564142422b45c58784cd5d2d69d9084b7e9f33176893bee2f1589725ed1a443f4b9095e97294f740e8471f468a51db85cc66176af022db77314579776b69eaa8594dbed5d0e0b549675e12c742913da76e3de732c24f7811d8ee32ade2ac1bcb8763c0e898a67695aaab9478c80dc29cc3ae9f1c4b63c116bda64e1e8727881ebe4c1db30219a87d7ff8805675b56a4907d9408bb96438a5182c66a47739f8b12cd5241b5f4e995f4f1fc85041eeaeb158d7ea9c1601a9b3849c6977137a0e82afb72b16748efa456fbae5b28ed82107d79dec3da87d0c0261267a3dbe9dcedb374d96fc00b7478b30f917b2312e7e79133923c2d9aba394bfcdbd00539f7d2d4fdecf9821fdb4c15f253e5ad80d10e360fb84b45e01415a4d5759cd5000ea5c4e80f60a887f9e8ad35ef7cabab83eeb59bf81b3bb10b440707e877c558ca9c80df8d3d8741b838ddf9a5e0e7826a1f6ee0c4f2241687ab0573b18814d21a668861962400148b45a24fdfeb3638a1f16b7c344b088cfffc851317753c1e0602bb0cbfb5357132baf29d6123862eb8b29229a5fd9b173ad4c1b098d11ff23f6ee1c7d357235e647dd99451162cfbed33b7d05df5578859538a9edbeae2cf8ac0903c36e7db352c147c11725a3c5c611b149a4c87e24589d9e31d30a9a8b2cdd863b8dd3ab8c90cde061426a2afedb4aff424cde10e70f1e38207d0fc8be467b4f063739d920bb1906144a704c7ba5be6645899270e5da6380dabfb16e7f906a1f484501005cb383692e054533697a63c8a2f8e1b891b37d5b23afef1de8f9a257f7c9577466fbd87223c5773795ac23ab4cfc0043a965e8695e764174bdc1c778d3d1d6e2a65d9cb7a4b1eb31ca818b0c8abe779fd61a34ee78cfc49fd7682 +Shared secret : ee30e0696c36480afb066fa2971535f195a30ce08aacc3dfc182ed0947a44f3a ``` > [!CAUTION] -> Before you consider using Psuedo Random Number Generator which comes with this library implementation, I strongly advice you to go through [include/prng.hpp](./include/prng.hpp). +> Before you consider using Psuedo Random Number Generator which comes with this library implementation, I strongly advice you to go through [include/ml_kem/internals/rng/prng.hpp](./include/ml_kem/internals/rng/prng.hpp). > [!NOTE] -> Looking at API documentation, in header files, can give you good idea of how to use Kyber KEM API. Note, this library doesn't expose any raw pointer based interface, rather everything is wrapped under statically defined `std::span` - which one can easily create from `std::{array, vector}`. I opt for using statically defined `std::span` based function interfaces because we always know, at compile-time, how many bytes the seeds/ keys/ cipher-texts/ shared-secrets are, for various different Kyber KEM parameters. This gives much better type safety and compile-time error reporting. +> Looking at API documentation, in header files, can give you good idea of how to use ML-KEM API. Note, this library doesn't expose any raw pointer based interface, rather everything is wrapped under statically defined `std::span` - which one can easily create from `std::{array, vector}`. I opt for using statically defined `std::span` based function interfaces because we always know, at compile-time, how many bytes the seeds/ keys/ cipher-texts/ shared-secrets are, for various different ML-KEM parameters. This gives much better type safety and compile-time error reporting. diff --git a/examples/ml_kem_768.cpp b/examples/ml_kem_768.cpp index 860e5ce..960ccc2 100644 --- a/examples/ml_kem_768.cpp +++ b/examples/ml_kem_768.cpp @@ -25,64 +25,61 @@ to_hex(std::span bytes) int main() { - constexpr size_t SEED_LEN = 32; - constexpr size_t KEY_LEN = 32; - // Seeds required for keypair generation - std::vector d(SEED_LEN, 0); - std::vector z(SEED_LEN, 0); + std::vector d(ml_kem_768::SEED_D_BYTE_LEN, 0); + std::vector z(ml_kem_768::SEED_Z_BYTE_LEN, 0); - auto _d = std::span(d); - auto _z = std::span(z); + auto d_span = std::span(d); + auto z_span = std::span(z); // Public/ private keypair std::vector pkey(ml_kem_768::PKEY_BYTE_LEN, 0); std::vector skey(ml_kem_768::SKEY_BYTE_LEN, 0); - auto _pkey = std::span(pkey); - auto _skey = std::span(skey); + auto pkey_span = std::span(pkey); + auto skey_span = std::span(skey); // Seed required for key encapsulation - std::vector m(SEED_LEN, 0); + std::vector m(ml_kem_768::SEED_M_BYTE_LEN, 0); std::vector cipher(ml_kem_768::CIPHER_TEXT_BYTE_LEN, 0); - auto _m = std::span(m); - auto _cipher = std::span(cipher); + auto m_span = std::span(m); + auto cipher_span = std::span(cipher); // Shared secret that sender/ receiver arrives at - std::vector shrd_key0(KEY_LEN, 0); - std::vector shrd_key1(KEY_LEN, 0); + std::vector sender_key(ml_kem_768::SHARED_SECRET_BYTE_LEN, 0); + std::vector receiver_key(ml_kem_768::SHARED_SECRET_BYTE_LEN, 0); - auto _shrd_key0 = std::span(shrd_key0); - auto _shrd_key1 = std::span(shrd_key1); + auto sender_key_span = std::span(sender_key); + auto receiver_key_span = std::span(receiver_key); // Pseudo-randomness source ml_kem_prng::prng_t<128> prng{}; // Fill up seeds using PRNG - prng.read(_d); - prng.read(_z); + prng.read(d_span); + prng.read(z_span); // Generate a keypair - ml_kem_768::keygen(_d, _z, _pkey, _skey); + ml_kem_768::keygen(d_span, z_span, pkey_span, skey_span); // Fill up seed required for key encapsulation, using PRNG - prng.read(_m); + prng.read(m_span); // Encapsulate key, compute cipher text and obtain KDF - const bool is_encapsulated = ml_kem_768::encapsulate(_m, _pkey, _cipher, _shrd_key0); + const bool is_encapsulated = ml_kem_768::encapsulate(m_span, pkey_span, cipher_span, sender_key_span); // Decapsulate cipher text and obtain KDF - ml_kem_768::decapsulate(_skey, _cipher, _shrd_key1); + ml_kem_768::decapsulate(skey_span, cipher_span, receiver_key_span); // Check that both of the communicating parties arrived at same shared secret key - assert(std::ranges::equal(_shrd_key0, _shrd_key1)); + assert(std::ranges::equal(sender_key_span, receiver_key_span)); std::cout << "ML-KEM-768\n"; - std::cout << "Pubkey : " << to_hex(_pkey) << "\n"; - std::cout << "Seckey : " << to_hex(_skey) << "\n"; + std::cout << "Pubkey : " << to_hex(pkey_span) << "\n"; + std::cout << "Seckey : " << to_hex(skey_span) << "\n"; std::cout << "Encapsulated ? : " << std::boolalpha << is_encapsulated << "\n"; - std::cout << "Cipher : " << to_hex(_cipher) << "\n"; - std::cout << "Shared secret : " << to_hex(_shrd_key0) << "\n"; + std::cout << "Cipher : " << to_hex(cipher_span) << "\n"; + std::cout << "Shared secret : " << to_hex(sender_key_span) << "\n"; return EXIT_SUCCESS; } From e2529a97ef0d6443daab2a864c7b4904d8c5951a Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Tue, 18 Jun 2024 21:54:29 +0400 Subject: [PATCH 30/30] Update benchmark results on all platforms Signed-off-by: Anjan Roy --- README.md | 370 +++++++++++++++++++++++++++--------------------------- 1 file changed, 185 insertions(+), 185 deletions(-) diff --git a/README.md b/README.md index 53cf62c..b8667fc 100644 --- a/README.md +++ b/README.md @@ -136,234 +136,234 @@ make perf -j # If you have built google-benchmark library with libPFM supp ### On 12th Gen Intel(R) Core(TM) i7-1260P -Compiled with **gcc version 13.2.0 (Ubuntu 13.2.0-4ubuntu3)**. +Compiled with **gcc (Ubuntu 14-20240412-0ubuntu1) 14.0.1 20240412**. ```bash $ uname -srm -Linux 6.5.0-14-generic x86_64 +Linux 6.8.0-35-generic x86_64 ``` ```bash -2024-01-22T19:09:06+04:00 +2024-06-18T21:12:04+04:00 Running ./build/perf.out -Run on (16 X 752.14 MHz CPU s) +Run on (16 X 842.086 MHz CPU s) CPU Caches: L1 Data 48 KiB (x8) L1 Instruction 32 KiB (x8) L2 Unified 1280 KiB (x8) L3 Unified 18432 KiB (x1) -Load Average: 1.35, 0.74, 0.64 ---------------------------------------------------------------------------------------------------------- -Benchmark Time CPU Iterations CYCLES items_per_second rdtsc ---------------------------------------------------------------------------------------------------------- -kyber512/keygen_mean 14.1 us 14.1 us 10 64.8786k 71.1611k/s 35.056k -kyber512/keygen_median 13.9 us 13.9 us 10 64.8328k 71.8418k/s 34.704k -kyber512/keygen_stddev 0.363 us 0.362 us 10 533.391 1.73436k/s 903.837 -kyber512/keygen_cv 2.58 % 2.57 % 10 0.82% 2.44% 2.58% -kyber512/keygen_min 13.8 us 13.8 us 10 64.1864k 66.4408k/s 34.367k -kyber512/keygen_max 15.1 us 15.1 us 10 66.2011k 72.5455k/s 37.531k -kyber1024/decap_mean 47.9 us 47.9 us 10 222.332k 20.8836k/s 119.488k -kyber1024/decap_median 47.8 us 47.8 us 10 222.36k 20.909k/s 119.335k -kyber1024/decap_stddev 0.345 us 0.345 us 10 847.653 149.328/s 860.065 -kyber1024/decap_cv 0.72 % 0.72 % 10 0.38% 0.72% 0.72% -kyber1024/decap_min 47.4 us 47.4 us 10 220.724k 20.529k/s 118.295k -kyber1024/decap_max 48.7 us 48.7 us 10 223.956k 21.0947k/s 121.542k -kyber768/encap_mean 28.9 us 28.9 us 10 133.838k 34.632k/s 72.0448k -kyber768/encap_median 28.8 us 28.8 us 10 133.943k 34.7766k/s 71.729k -kyber768/encap_stddev 0.389 us 0.389 us 10 424.097 455.864/s 969.721 -kyber768/encap_cv 1.35 % 1.35 % 10 0.32% 1.32% 1.35% -kyber768/encap_min 28.5 us 28.5 us 10 133.171k 33.474k/s 71.097k -kyber768/encap_max 29.9 us 29.9 us 10 134.415k 35.0874k/s 74.524k -kyber512/encap_mean 17.5 us 17.5 us 10 81.3077k 56.9959k/s 43.7583k -kyber512/encap_median 17.5 us 17.5 us 10 81.3109k 57.1806k/s 43.614k -kyber512/encap_stddev 0.178 us 0.178 us 10 224.364 572.266/s 443.14 -kyber512/encap_cv 1.01 % 1.01 % 10 0.28% 1.00% 1.01% -kyber512/encap_min 17.3 us 17.3 us 10 80.9421k 55.7884k/s 43.182k -kyber512/encap_max 17.9 us 17.9 us 10 81.6759k 57.7496k/s 44.702k -kyber1024/encap_mean 44.1 us 44.1 us 10 204.634k 22.6603k/s 110.119k -kyber1024/encap_median 44.0 us 44.0 us 10 204.79k 22.7169k/s 109.836k -kyber1024/encap_stddev 0.358 us 0.356 us 10 751.071 180.658/s 891.891 -kyber1024/encap_cv 0.81 % 0.81 % 10 0.37% 0.80% 0.81% -kyber1024/encap_min 43.7 us 43.7 us 10 202.876k 22.2099k/s 109.114k -kyber1024/encap_max 45.0 us 45.0 us 10 205.644k 22.8667k/s 112.348k -kyber1024/keygen_mean 37.6 us 37.6 us 10 174.399k 26.5696k/s 93.9229k -kyber1024/keygen_median 37.7 us 37.7 us 10 174.662k 26.5444k/s 94.024k -kyber1024/keygen_stddev 0.417 us 0.415 us 10 1.34601k 292.441/s 1.04079k -kyber1024/keygen_cv 1.11 % 1.10 % 10 0.77% 1.10% 1.11% -kyber1024/keygen_min 36.9 us 36.9 us 10 172.239k 26.0098k/s 91.983k -kyber1024/keygen_max 38.5 us 38.4 us 10 176.088k 27.1239k/s 95.953k -kyber768/keygen_mean 23.6 us 23.6 us 10 109.11k 42.3017k/s 58.9747k -kyber768/keygen_median 23.7 us 23.7 us 10 109.577k 42.2725k/s 59.0055k -kyber768/keygen_stddev 0.310 us 0.310 us 10 786.552 554.447/s 772.922 -kyber768/keygen_cv 1.31 % 1.31 % 10 0.72% 1.31% 1.31% -kyber768/keygen_min 23.2 us 23.2 us 10 108.011k 41.3191k/s 57.748k -kyber768/keygen_max 24.2 us 24.2 us 10 109.909k 43.1928k/s 60.37k -kyber512/decap_mean 19.7 us 19.7 us 10 91.4808k 50.6517k/s 49.2443k -kyber512/decap_median 19.7 us 19.7 us 10 91.4678k 50.6475k/s 49.2465k -kyber512/decap_stddev 0.186 us 0.186 us 10 554.643 475.223/s 463.271 -kyber512/decap_cv 0.94 % 0.94 % 10 0.61% 0.94% 0.94% -kyber512/decap_min 19.5 us 19.5 us 10 90.7913k 49.8154k/s 48.691k -kyber512/decap_max 20.1 us 20.1 us 10 92.7485k 51.2228k/s 50.066k -kyber768/decap_mean 31.8 us 31.8 us 10 147.512k 31.4865k/s 79.2379k -kyber768/decap_median 31.7 us 31.7 us 10 147.59k 31.5118k/s 79.1735k -kyber768/decap_stddev 0.129 us 0.128 us 10 344.756 126.89/s 320.866 -kyber768/decap_cv 0.41 % 0.40 % 10 0.23% 0.40% 0.40% -kyber768/decap_min 31.6 us 31.6 us 10 146.652k 31.2195k/s 78.891k -kyber768/decap_max 32.0 us 32.0 us 10 147.851k 31.6233k/s 79.914k +Load Average: 0.59, 0.65, 0.66 +------------------------------------------------------------------------------------------------ +Benchmark Time CPU Iterations CYCLES items_per_second +------------------------------------------------------------------------------------------------ +ml_kem_1024/keygen_mean 37.7 us 37.7 us 10 168.625k 26.5586k/s +ml_kem_1024/keygen_median 37.8 us 37.8 us 10 168.466k 26.4937k/s +ml_kem_1024/keygen_stddev 0.867 us 0.856 us 10 883.281 605.108/s +ml_kem_1024/keygen_cv 2.30 % 2.27 % 10 0.52% 2.28% +ml_kem_1024/keygen_min 36.5 us 36.5 us 10 167.909k 25.8962k/s +ml_kem_1024/keygen_max 38.7 us 38.6 us 10 171.052k 27.3982k/s +ml_kem_512/decap_mean 20.4 us 20.4 us 10 92.5549k 49.0213k/s +ml_kem_512/decap_median 20.3 us 20.3 us 10 92.4039k 49.1818k/s +ml_kem_512/decap_stddev 0.258 us 0.252 us 10 577.305 600.776/s +ml_kem_512/decap_cv 1.26 % 1.23 % 10 0.62% 1.23% +ml_kem_512/decap_min 20.0 us 20.0 us 10 92.1723k 47.8732k/s +ml_kem_512/decap_max 20.9 us 20.9 us 10 94.1701k 49.888k/s +ml_kem_512/encap_mean 16.4 us 16.4 us 10 72.6916k 60.9038k/s +ml_kem_512/encap_median 16.4 us 16.4 us 10 72.6753k 60.8974k/s +ml_kem_512/encap_stddev 0.253 us 0.250 us 10 97.0585 935.823/s +ml_kem_512/encap_cv 1.54 % 1.53 % 10 0.13% 1.54% +ml_kem_512/encap_min 15.9 us 15.9 us 10 72.5484k 59.7296k/s +ml_kem_512/encap_max 16.8 us 16.7 us 10 72.8346k 62.8025k/s +ml_kem_768/decap_mean 33.0 us 33.0 us 10 148.191k 30.3166k/s +ml_kem_768/decap_median 33.1 us 33.1 us 10 148.138k 30.1903k/s +ml_kem_768/decap_stddev 0.518 us 0.509 us 10 212.758 473.277/s +ml_kem_768/decap_cv 1.57 % 1.54 % 10 0.14% 1.56% +ml_kem_768/decap_min 32.1 us 32.1 us 10 147.836k 29.7687k/s +ml_kem_768/decap_max 33.6 us 33.6 us 10 148.61k 31.1568k/s +ml_kem_512/keygen_mean 14.6 us 14.6 us 10 63.4765k 68.3813k/s +ml_kem_512/keygen_median 14.8 us 14.8 us 10 63.4589k 67.7965k/s +ml_kem_512/keygen_stddev 0.241 us 0.240 us 10 60.264 1.14394k/s +ml_kem_512/keygen_cv 1.65 % 1.64 % 10 0.09% 1.67% +ml_kem_512/keygen_min 14.1 us 14.1 us 10 63.3859k 67.5222k/s +ml_kem_512/keygen_max 14.8 us 14.8 us 10 63.5564k 71.0285k/s +ml_kem_1024/decap_mean 49.3 us 49.3 us 10 216.516k 20.2885k/s +ml_kem_1024/decap_median 49.5 us 49.4 us 10 216.383k 20.2235k/s +ml_kem_1024/decap_stddev 0.649 us 0.634 us 10 346.756 261.841/s +ml_kem_1024/decap_cv 1.32 % 1.29 % 10 0.16% 1.29% +ml_kem_1024/decap_min 48.3 us 48.3 us 10 216.031k 19.967k/s +ml_kem_1024/decap_max 50.1 us 50.1 us 10 217.187k 20.6884k/s +ml_kem_1024/encap_mean 41.8 us 41.8 us 10 183.083k 23.9532k/s +ml_kem_1024/encap_median 41.8 us 41.8 us 10 183.077k 23.9381k/s +ml_kem_1024/encap_stddev 0.563 us 0.551 us 10 218.08 315.804/s +ml_kem_1024/encap_cv 1.35 % 1.32 % 10 0.12% 1.32% +ml_kem_1024/encap_min 41.0 us 41.0 us 10 182.737k 23.5351k/s +ml_kem_1024/encap_max 42.6 us 42.5 us 10 183.483k 24.4145k/s +ml_kem_768/encap_mean 27.4 us 27.4 us 10 121.805k 36.5012k/s +ml_kem_768/encap_median 27.4 us 27.4 us 10 121.632k 36.553k/s +ml_kem_768/encap_stddev 0.692 us 0.687 us 10 644.207 909.698/s +ml_kem_768/encap_cv 2.52 % 2.50 % 10 0.53% 2.49% +ml_kem_768/encap_min 26.5 us 26.5 us 10 121.249k 35.0289k/s +ml_kem_768/encap_max 28.6 us 28.5 us 10 123.228k 37.7644k/s +ml_kem_768/keygen_mean 25.0 us 25.0 us 10 110.546k 40.0317k/s +ml_kem_768/keygen_median 25.0 us 25.0 us 10 110.151k 40.0223k/s +ml_kem_768/keygen_stddev 0.855 us 0.854 us 10 861.179 1.36001k/s +ml_kem_768/keygen_cv 3.42 % 3.41 % 10 0.78% 3.40% +ml_kem_768/keygen_min 24.1 us 24.1 us 10 109.801k 38.1413k/s +ml_kem_768/keygen_max 26.2 us 26.2 us 10 112.141k 41.5697k/s ``` ### On ARM Cortex-A72 i.e. Raspberry Pi 4B -Compiled with **gcc version 13.2.0 (Ubuntu 13.2.0-4ubuntu3)**. +Compiled with **gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0**. ```bash $ uname -srm -Linux 6.5.0-1008-raspi aarch64 +Linux 6.8.0-1005-raspi aarch64 ``` ```bash -2024-01-22T19:22:33+04:00 -Running ./build/perf.out +2024-06-18T21:49:48+04:00 +Running ./build/bench.out Run on (4 X 1800 MHz CPU s) CPU Caches: L1 Data 32 KiB (x4) L1 Instruction 48 KiB (x4) L2 Unified 1024 KiB (x1) -Load Average: 2.32, 2.85, 1.46 ----------------------------------------------------------------------------------------------- -Benchmark Time CPU Iterations CYCLES items_per_second ----------------------------------------------------------------------------------------------- -kyber1024/decap_mean 250 us 250 us 10 448.76k 4.00416k/s -kyber1024/decap_median 250 us 250 us 10 448.888k 4.00246k/s -kyber1024/decap_stddev 0.401 us 0.405 us 10 738.224 6.49398/s -kyber1024/decap_cv 0.16 % 0.16 % 10 0.16% 0.16% -kyber1024/decap_min 249 us 249 us 10 447.75k 3.99346k/s -kyber1024/decap_max 251 us 250 us 10 450.06k 4.01306k/s -kyber512/decap_mean 106 us 106 us 10 189.763k 9.469k/s -kyber512/decap_median 106 us 106 us 10 189.753k 9.4696k/s -kyber512/decap_stddev 0.293 us 0.291 us 10 529.974 26.0654/s -kyber512/decap_cv 0.28 % 0.28 % 10 0.28% 0.28% -kyber512/decap_min 105 us 105 us 10 189.096k 9.41547k/s -kyber512/decap_max 106 us 106 us 10 190.852k 9.50263k/s -kyber768/encap_mean 148 us 148 us 10 265.507k 6.76869k/s -kyber768/encap_median 148 us 148 us 10 265.41k 6.77083k/s -kyber768/encap_stddev 0.566 us 0.567 us 10 1.0282k 25.9589/s -kyber768/encap_cv 0.38 % 0.38 % 10 0.39% 0.38% -kyber768/encap_min 147 us 147 us 10 263.583k 6.71972k/s -kyber768/encap_max 149 us 149 us 10 267.479k 6.81811k/s -kyber512/encap_mean 90.0 us 90.0 us 10 161.649k 11.117k/s -kyber512/encap_median 90.0 us 89.9 us 10 161.581k 11.121k/s -kyber512/encap_stddev 0.345 us 0.347 us 10 626.388 42.6811/s -kyber512/encap_cv 0.38 % 0.39 % 10 0.39% 0.38% -kyber512/encap_min 89.6 us 89.6 us 10 160.933k 11.0122k/s -kyber512/encap_max 90.9 us 90.8 us 10 163.199k 11.1667k/s -kyber768/keygen_mean 119 us 119 us 10 213.516k 8.416k/s -kyber768/keygen_median 119 us 119 us 10 213.534k 8.41435k/s -kyber768/keygen_stddev 0.275 us 0.277 us 10 496.099 19.6189/s -kyber768/keygen_cv 0.23 % 0.23 % 10 0.23% 0.23% -kyber768/keygen_min 118 us 118 us 10 212.691k 8.3908k/s -kyber768/keygen_max 119 us 119 us 10 214.168k 8.44783k/s -kyber1024/keygen_mean 188 us 188 us 10 337.777k 5.3203k/s -kyber1024/keygen_median 188 us 188 us 10 337.479k 5.32517k/s -kyber1024/keygen_stddev 0.785 us 0.791 us 10 1.42498k 22.2604/s -kyber1024/keygen_cv 0.42 % 0.42 % 10 0.42% 0.42% -kyber1024/keygen_min 187 us 187 us 10 336.121k 5.26713k/s -kyber1024/keygen_max 190 us 190 us 10 341.212k 5.34588k/s -kyber512/keygen_mean 69.0 us 68.9 us 10 123.818k 14.5129k/s -kyber512/keygen_median 69.0 us 68.9 us 10 123.807k 14.5138k/s -kyber512/keygen_stddev 0.152 us 0.148 us 10 253.268 31.0736/s -kyber512/keygen_cv 0.22 % 0.21 % 10 0.20% 0.21% -kyber512/keygen_min 68.7 us 68.7 us 10 123.395k 14.4549k/s -kyber512/keygen_max 69.2 us 69.2 us 10 124.311k 14.5653k/s -kyber768/decap_mean 170 us 170 us 10 304.634k 5.89868k/s -kyber768/decap_median 170 us 169 us 10 304.463k 5.9015k/s -kyber768/decap_stddev 0.654 us 0.648 us 10 1.15668k 22.5143/s -kyber768/decap_cv 0.39 % 0.38 % 10 0.38% 0.38% -kyber768/decap_min 169 us 169 us 10 303.091k 5.86043k/s -kyber768/decap_max 171 us 171 us 10 306.634k 5.92931k/s -kyber1024/encap_mean 224 us 224 us 10 401.823k 4.47202k/s -kyber1024/encap_median 224 us 223 us 10 401.482k 4.4752k/s -kyber1024/encap_stddev 0.802 us 0.804 us 10 1.47807k 16.038/s -kyber1024/encap_cv 0.36 % 0.36 % 10 0.37% 0.36% -kyber1024/encap_min 223 us 223 us 10 400.254k 4.44088k/s -kyber1024/encap_max 225 us 225 us 10 404.723k 4.48965k/s +Load Average: 3.51, 3.90, 2.28 +------------------------------------------------------------------------------------- +Benchmark Time CPU Iterations items_per_second +------------------------------------------------------------------------------------- +ml_kem_1024/decap_mean 258 us 258 us 10 3.87579k/s +ml_kem_1024/decap_median 258 us 258 us 10 3.88038k/s +ml_kem_1024/decap_stddev 0.963 us 0.959 us 10 14.346/s +ml_kem_1024/decap_cv 0.37 % 0.37 % 10 0.37% +ml_kem_1024/decap_min 257 us 257 us 10 3.84585k/s +ml_kem_1024/decap_max 260 us 260 us 10 3.89065k/s +ml_kem_768/decap_mean 174 us 174 us 10 5.7436k/s +ml_kem_768/decap_median 174 us 174 us 10 5.74181k/s +ml_kem_768/decap_stddev 0.323 us 0.324 us 10 10.6771/s +ml_kem_768/decap_cv 0.19 % 0.19 % 10 0.19% +ml_kem_768/decap_min 174 us 174 us 10 5.72691k/s +ml_kem_768/decap_max 175 us 175 us 10 5.75986k/s +ml_kem_768/keygen_mean 119 us 119 us 10 8.40489k/s +ml_kem_768/keygen_median 119 us 119 us 10 8.4065k/s +ml_kem_768/keygen_stddev 0.217 us 0.237 us 10 16.7154/s +ml_kem_768/keygen_cv 0.18 % 0.20 % 10 0.20% +ml_kem_768/keygen_min 119 us 119 us 10 8.37403k/s +ml_kem_768/keygen_max 119 us 119 us 10 8.43292k/s +ml_kem_1024/encap_mean 216 us 216 us 10 4.6302k/s +ml_kem_1024/encap_median 216 us 216 us 10 4.63436k/s +ml_kem_1024/encap_stddev 1.03 us 1.02 us 10 21.7423/s +ml_kem_1024/encap_cv 0.48 % 0.47 % 10 0.47% +ml_kem_1024/encap_min 215 us 215 us 10 4.59301k/s +ml_kem_1024/encap_max 218 us 218 us 10 4.65477k/s +ml_kem_512/decap_mean 109 us 109 us 10 9.21521k/s +ml_kem_512/decap_median 108 us 108 us 10 9.22127k/s +ml_kem_512/decap_stddev 0.248 us 0.243 us 10 20.5809/s +ml_kem_512/decap_cv 0.23 % 0.22 % 10 0.22% +ml_kem_512/decap_min 108 us 108 us 10 9.17837k/s +ml_kem_512/decap_max 109 us 109 us 10 9.24305k/s +ml_kem_768/encap_mean 140 us 140 us 10 7.12907k/s +ml_kem_768/encap_median 140 us 140 us 10 7.13583k/s +ml_kem_768/encap_stddev 0.597 us 0.596 us 10 30.1105/s +ml_kem_768/encap_cv 0.43 % 0.42 % 10 0.42% +ml_kem_768/encap_min 140 us 140 us 10 7.05566k/s +ml_kem_768/encap_max 142 us 142 us 10 7.16165k/s +ml_kem_1024/keygen_mean 188 us 188 us 10 5.32413k/s +ml_kem_1024/keygen_median 188 us 188 us 10 5.32187k/s +ml_kem_1024/keygen_stddev 0.537 us 0.534 us 10 15.1453/s +ml_kem_1024/keygen_cv 0.29 % 0.28 % 10 0.28% +ml_kem_1024/keygen_min 187 us 187 us 10 5.29511k/s +ml_kem_1024/keygen_max 189 us 189 us 10 5.34655k/s +ml_kem_512/encap_mean 83.7 us 83.7 us 10 11.9524k/s +ml_kem_512/encap_median 83.5 us 83.5 us 10 11.9776k/s +ml_kem_512/encap_stddev 0.421 us 0.420 us 10 59.8055/s +ml_kem_512/encap_cv 0.50 % 0.50 % 10 0.50% +ml_kem_512/encap_min 83.2 us 83.2 us 10 11.8419k/s +ml_kem_512/encap_max 84.4 us 84.4 us 10 12.0191k/s +ml_kem_512/keygen_mean 69.2 us 69.2 us 10 14.4436k/s +ml_kem_512/keygen_median 69.2 us 69.2 us 10 14.4496k/s +ml_kem_512/keygen_stddev 0.267 us 0.269 us 10 55.9869/s +ml_kem_512/keygen_cv 0.39 % 0.39 % 10 0.39% +ml_kem_512/keygen_min 68.9 us 68.9 us 10 14.3569k/s +ml_kem_512/keygen_max 69.7 us 69.7 us 10 14.5198k/s ``` ### On Apple M1 Max -Compiled with **Apple clang version 15.0.0 (clang-1500.1.0.2.5)**. +Compiled with **Apple clang version 15.0.0 (clang-1500.3.9.4)**. ```bash $ uname -srm -Darwin 23.2.0 arm64 +Darwin 23.5.0 arm64 ``` ```bash -2024-01-22T19:33:49+04:00 +2024-06-18T21:24:57+04:00 Running ./build/bench.out Run on (10 X 24 MHz CPU s) CPU Caches: L1 Data 64 KiB L1 Instruction 128 KiB L2 Unified 4096 KiB (x10) -Load Average: 2.44, 2.58, 2.80 ------------------------------------------------------------------------------------ -Benchmark Time CPU Iterations items_per_second ------------------------------------------------------------------------------------ -kyber768/keygen_mean 20.2 us 20.2 us 10 49.5202k/s -kyber768/keygen_median 20.2 us 20.2 us 10 49.5691k/s -kyber768/keygen_stddev 0.078 us 0.075 us 10 182.819/s -kyber768/keygen_cv 0.39 % 0.37 % 10 0.37% -kyber768/keygen_min 20.2 us 20.1 us 10 49.0094k/s -kyber768/keygen_max 20.5 us 20.4 us 10 49.6414k/s -kyber1024/encap_mean 38.4 us 38.3 us 10 26.1344k/s -kyber1024/encap_median 38.3 us 38.2 us 10 26.1544k/s -kyber1024/encap_stddev 0.130 us 0.127 us 10 86.5122/s -kyber1024/encap_cv 0.34 % 0.33 % 10 0.33% -kyber1024/encap_min 38.2 us 38.1 us 10 25.957k/s -kyber1024/encap_max 38.6 us 38.5 us 10 26.2225k/s -kyber512/keygen_mean 12.0 us 11.9 us 10 83.7302k/s -kyber512/keygen_median 12.0 us 11.9 us 10 83.7409k/s -kyber512/keygen_stddev 0.019 us 0.020 us 10 141.747/s -kyber512/keygen_cv 0.16 % 0.17 % 10 0.17% -kyber512/keygen_min 11.9 us 11.9 us 10 83.5254k/s -kyber512/keygen_max 12.0 us 12.0 us 10 83.9197k/s -kyber768/encap_mean 25.0 us 24.9 us 10 40.0959k/s -kyber768/encap_median 25.0 us 24.9 us 10 40.106k/s -kyber768/encap_stddev 0.053 us 0.056 us 10 89.5965/s -kyber768/encap_cv 0.21 % 0.22 % 10 0.22% -kyber768/encap_min 24.9 us 24.8 us 10 39.9002k/s -kyber768/encap_max 25.1 us 25.1 us 10 40.2567k/s -kyber1024/keygen_mean 32.3 us 32.2 us 10 31.0263k/s -kyber1024/keygen_median 32.3 us 32.2 us 10 31.0496k/s -kyber1024/keygen_stddev 0.100 us 0.098 us 10 94.0295/s -kyber1024/keygen_cv 0.31 % 0.31 % 10 0.30% -kyber1024/keygen_min 32.2 us 32.2 us 10 30.7662k/s -kyber1024/keygen_max 32.6 us 32.5 us 10 31.0832k/s -kyber768/decap_mean 26.2 us 26.1 us 10 38.2517k/s -kyber768/decap_median 26.2 us 26.1 us 10 38.2788k/s -kyber768/decap_stddev 0.072 us 0.071 us 10 103.849/s -kyber768/decap_cv 0.27 % 0.27 % 10 0.27% -kyber768/decap_min 26.1 us 26.1 us 10 37.9778k/s -kyber768/decap_max 26.4 us 26.3 us 10 38.3546k/s -kyber512/encap_mean 15.2 us 15.1 us 10 66.0548k/s -kyber512/encap_median 15.2 us 15.1 us 10 66.0441k/s -kyber512/encap_stddev 0.019 us 0.018 us 10 76.3748/s -kyber512/encap_cv 0.13 % 0.12 % 10 0.12% -kyber512/encap_min 15.1 us 15.1 us 10 65.9247k/s -kyber512/encap_max 15.2 us 15.2 us 10 66.1939k/s -kyber1024/decap_mean 39.7 us 39.6 us 10 25.2636k/s -kyber1024/decap_median 39.7 us 39.6 us 10 25.2559k/s -kyber1024/decap_stddev 0.052 us 0.047 us 10 30.0564/s -kyber1024/decap_cv 0.13 % 0.12 % 10 0.12% -kyber1024/decap_min 39.6 us 39.5 us 10 25.2259k/s -kyber1024/decap_max 39.8 us 39.6 us 10 25.3094k/s -kyber512/decap_mean 16.1 us 16.1 us 10 62.1168k/s -kyber512/decap_median 16.1 us 16.1 us 10 62.1323k/s -kyber512/decap_stddev 0.023 us 0.024 us 10 93.9076/s -kyber512/decap_cv 0.14 % 0.15 % 10 0.15% -kyber512/decap_min 16.1 us 16.1 us 10 61.9199k/s -kyber512/decap_max 16.2 us 16.1 us 10 62.2184k/s +Load Average: 2.12, 4.39, 7.54 +------------------------------------------------------------------------------------- +Benchmark Time CPU Iterations items_per_second +------------------------------------------------------------------------------------- +ml_kem_768/keygen_mean 20.7 us 20.7 us 10 48.4041k/s +ml_kem_768/keygen_median 20.7 us 20.7 us 10 48.4089k/s +ml_kem_768/keygen_stddev 0.031 us 0.029 us 10 68.1992/s +ml_kem_768/keygen_cv 0.15 % 0.14 % 10 0.14% +ml_kem_768/keygen_min 20.6 us 20.6 us 10 48.2768k/s +ml_kem_768/keygen_max 20.7 us 20.7 us 10 48.5023k/s +ml_kem_1024/keygen_mean 32.5 us 32.5 us 10 30.8076k/s +ml_kem_1024/keygen_median 32.4 us 32.4 us 10 30.8861k/s +ml_kem_1024/keygen_stddev 0.159 us 0.161 us 10 152.372/s +ml_kem_1024/keygen_cv 0.49 % 0.50 % 10 0.49% +ml_kem_1024/keygen_min 32.4 us 32.3 us 10 30.5386k/s +ml_kem_1024/keygen_max 32.8 us 32.7 us 10 30.9448k/s +ml_kem_768/encap_mean 22.7 us 22.7 us 10 44.144k/s +ml_kem_768/encap_median 22.7 us 22.7 us 10 44.1494k/s +ml_kem_768/encap_stddev 0.037 us 0.037 us 10 72.779/s +ml_kem_768/encap_cv 0.16 % 0.16 % 10 0.16% +ml_kem_768/encap_min 22.6 us 22.6 us 10 43.9993k/s +ml_kem_768/encap_max 22.8 us 22.7 us 10 44.26k/s +ml_kem_768/decap_mean 26.7 us 26.6 us 10 37.5449k/s +ml_kem_768/decap_median 26.6 us 26.6 us 10 37.5935k/s +ml_kem_768/decap_stddev 0.108 us 0.098 us 10 137.284/s +ml_kem_768/decap_cv 0.40 % 0.37 % 10 0.37% +ml_kem_768/decap_min 26.6 us 26.5 us 10 37.2779k/s +ml_kem_768/decap_max 26.9 us 26.8 us 10 37.6739k/s +ml_kem_512/keygen_mean 12.1 us 12.1 us 10 82.8747k/s +ml_kem_512/keygen_median 12.1 us 12.1 us 10 82.9135k/s +ml_kem_512/keygen_stddev 0.016 us 0.018 us 10 120.443/s +ml_kem_512/keygen_cv 0.13 % 0.15 % 10 0.15% +ml_kem_512/keygen_min 12.1 us 12.0 us 10 82.7218k/s +ml_kem_512/keygen_max 12.1 us 12.1 us 10 83.0684k/s +ml_kem_512/encap_mean 13.4 us 13.4 us 10 74.4965k/s +ml_kem_512/encap_median 13.4 us 13.4 us 10 74.512k/s +ml_kem_512/encap_stddev 0.016 us 0.016 us 10 88.0048/s +ml_kem_512/encap_cv 0.12 % 0.12 % 10 0.12% +ml_kem_512/encap_min 13.4 us 13.4 us 10 74.3506k/s +ml_kem_512/encap_max 13.5 us 13.4 us 10 74.6472k/s +ml_kem_1024/encap_mean 35.5 us 35.4 us 10 28.2336k/s +ml_kem_1024/encap_median 35.5 us 35.4 us 10 28.209k/s +ml_kem_1024/encap_stddev 0.133 us 0.134 us 10 106.629/s +ml_kem_1024/encap_cv 0.38 % 0.38 % 10 0.38% +ml_kem_1024/encap_min 35.3 us 35.2 us 10 28.0729k/s +ml_kem_1024/encap_max 35.6 us 35.6 us 10 28.3909k/s +ml_kem_1024/decap_mean 40.4 us 40.3 us 10 24.8064k/s +ml_kem_1024/decap_median 40.4 us 40.3 us 10 24.8086k/s +ml_kem_1024/decap_stddev 0.066 us 0.070 us 10 42.8027/s +ml_kem_1024/decap_cv 0.16 % 0.17 % 10 0.17% +ml_kem_1024/decap_min 40.3 us 40.2 us 10 24.734k/s +ml_kem_1024/decap_max 40.5 us 40.4 us 10 24.8586k/s +ml_kem_512/decap_mean 16.4 us 16.3 us 10 61.1867k/s +ml_kem_512/decap_median 16.4 us 16.3 us 10 61.1979k/s +ml_kem_512/decap_stddev 0.024 us 0.022 us 10 81.9971/s +ml_kem_512/decap_cv 0.15 % 0.13 % 10 0.13% +ml_kem_512/decap_min 16.3 us 16.3 us 10 61.0308k/s +ml_kem_512/decap_max 16.4 us 16.4 us 10 61.308k/s ``` ## Usage