python3-pycryptodomex-3.9.9-150300.3.3.1<>,FXeLp9|uo Ŗ7FS1HPZiXP&L/~T'@VZEF\U#=F'ivIMwJ3X}3|}6<2^XL8}s~ԮC( fdŔuPY@Pȯԗ mlC͠v$j|5@~Vvu_Ci:f$KgUog􋈸.JR"?{ =l K\J- ,'NU*jG;?>A?d + L $=^k  " '@ 7| . 2CWckk||P | } (}8}9~@:F@GTHIXY\ ]H^:EbLcMdNeNfNlNuN,v^h4wuxLy)z,<@VX`fCpython3-pycryptodomex3.9.9150300.3.3.1Cryptographic library for PythonPyCryptodomex is a self-contained Python package of low-level cryptographic primitives. Unlike PyCryptodome, it resides in its own namespace `Cryptodome`. PyCryptodome is a fork of PyCrypto. It brings several enhancements with respect to the last official version of PyCrypto (2.6.1), for instance: * Authenticated encryption modes (GCM, CCM, EAX, SIV, OCB) * Accelerated AES on Intel platforms via AES-NI * First class support for PyPy * Elliptic curves cryptography (NIST P-256 curve only) * Better and more compact API (`nonce` and `iv` attributes for ciphers, automatic generation of random nonces and IVs, simplified CTR cipher mode, and more) * SHA-3 (including SHAKE XOFs), SHA-512/t and BLAKE2 hash algorithms * Salsa20 and ChaCha20 stream ciphers * Poly1305 MAC * ChaCha20-Poly1305 authenticated cipher * scrypt and HKDF * Deterministic (EC)DSA * Password-protected PKCS#8 key containers * Shamir's Secret Sharing scheme * Random numbers get sourced directly from the OS (and not from a CSPRNG in userspace) * Simplified install process, including better support for Windows * Cleaner RSA and DSA key generation (largely based on FIPS 186-4) * Major clean ups and simplification of the code base PyCryptodomex is not a wrapper to a separate C library like *OpenSSL*. To the largest possible extent, algorithms are implemented in pure Python. Only the pieces that are extremely critical to performance (e.g. block ciphers) are implemented as C extensions.eLh03-ch2dP[YSUSE Linux Enterprise 15SUSE LLC BSD-2-Clausehttps://www.suse.com/Development/Languages/Pythonhttps://www.pycryptodome.orglinuxx86_64%akr0X*-),K ! G;a( H{{]]&&ZZ  [[ y yFF++//77BB9999.G.G'*_@*E>0$8 TSM~(=,7(0(h((( 8 H((0p8 (($m$(pb . d 4n00(((((((((( 8(H8H8X8X8_99??ss##dd00bb<<22    (0(0</"?%)%)X,X7+-yeN,Q++,,  OO++xMg"Z +GGJJ W[IE 6!p- 3LLww))WW Do-- + +~'|22--m1m1SS BBjj00@@::Z[Z[/4/4Y5Y5vvJJmmFF@@$$KKBx` 'O?"SN1y^>Ds3fn$o!1RA)Y 1 ?6&%&(60i 4 B9&%&(90lb_Ssc!o|! /o~j=~ 1 ?6&%&(60ih),\\>T6[>^^>V6]> U U0U*0\\>T6[>0KP O,X lk;kz4k}sjk!8BxWuZjŷ <<dd,,(()) d d44%%22}},,&:i6z5 7 G s 5 : ; : ;#F#dG "koPXxhh<Dd OWwSa 88 D?? ~ ~xn% }}[[\\%9>?"y"ykk&&GG**ZZ%P|,!/c ]vy.:::,+ B>[;WP {{{i`z22 2xHNm!a* Z [ ' 8wK!3h}  f1+1+996=qJ p|2XnkɴqO=iiH2]=oWr!Q n iVXLU$G[ 9<ċdšdd.n`JƐd##UUUURR$x$x r(a)zf ##OO~~;N7//KK*c*c"85B "RZZ__II" " kkkk ;d(p| r8cb ^ 9]AA큤큤큤A큤큤큤A큤큤A큤큤A큤A큤A큤A큤A큤A큤A큤A큤큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤큤A큤A큤A큤A큤eeefeeXeeXeeXeeXeeXeeXeeXeeXeeXeeXeeXeeXegeeXegeeXefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeegeeXeeXeeXeeXeeXeeXeeXeeXeeXeeXeeXegeegegegegegegegegegegegegegegefeeXeeXeeXeeXeeXeeXeeXeeXeeXeeXeeXeeXeeXeeXeeXeeXeeXeeXeeXeeXeeXeeXegegegegegegegegegegegeeXefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeegegegegeeXeeeeXeeXeeXeefeeeeeeeeeeeeeeeeefeeXeeXeeXeeXeeXeeXeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeegefeeXeeXeeXefeeeeeeeeeeeeegefeeXeeXeeXeeXeeXeeeeeeeeeeeeeeeeeeeeeeeeeeegeeXeeeeXefeeeeeeeeeeXeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3ee_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3ee_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee_3_3_3ee_3_3_3ee_3ee_3_3_3ee_3_3_3_3_3_3ee_3_3_3_3_3_3_3_3_3_3_3_3_3ee_3eeeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeeeeeeeeeeeeeeeee_3_3_3_3eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeef_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3ee_3_3_3_3_3_3_3_3eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee_3_3ee_3_3_3ee_3_3_3ee_3_3_3ee_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3eeeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeeeeeeeeeeeeeeeeXeeXeeXeefeeeeeeeeeeeeeeeeeeeeeeeeeeXeeXefeeXeeXeeXeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeXegeeXeeXegeeXeeXeeXeeXeeXeeeeee_3efeeeeeeeeeeeD_3_3_3eD_37db0ff87c0db005e0db052ab6e12b3e6c3059ea2985336b45ea4f893d7f54a91dda8449f8df0985bf7ef17669e589bce358e9910204927a2153a05308a0b55493703b8d8a581a6e4d74b94e1c7482c0d19b1cabbdf8ae771ecf29e775291d022ce031f518df9c3502e122d1aa6416e1e8fcd40e7f3b02c6e67d80dd6cde80218c7ff0bfca03fa4392878839209067254fc210f79dae3ec528643e478d4646b9fb0cc3bdf26477a89e61b1f41862c80effff83d0268714d3848c45c0e39f227662b9845ea76f6afc16c1e180b5f68ab77250caa0e0f0b0ac082eebc34d854d5a8903a286b3331635f7bdd232d3ee84d27d7faf0f4b870d5b29f261aec2a160b8fdd70e3b5506c89ada43ef76e701d7dfc511cdf333b8522bc24a2a62be6fc72f55e0564f703affd5efb2db4269b6e0ed91f8f0ecb3c2621dfc35d646ab6af2822bbb617d243bd301c15ec86edfc36f2cffa47abe4c6e4f3b1a119cd386cbd64fbfe5d7186d3b20666041cfec5b6693c11066929e817f69dcde6d7240bf3cfbded5b4b4e9819283737f0b7080f1bd4f0d1d526dec67c2158677a14db01cda346de8755398b1383cccf4dc0ba57f6868825d790d2e6d8783798f66eaeaf4e5d282779b8073aa3468c2625228161dd6e4a5d8d7b6909ef7248e1402f533c42aa3ee6b61359013c59d10faf3a1fd5ed0559bba27f112bebf66700ebb5a5415fe73f50aa621a80e2e13061b6db5b02ec1007f717b9967c64da2ca295b798a02de2b7876abbf8521bfb9528002f7e81fd5c790cbfacff5f0a73dfd37a33717ed329e07e488b9cbd3208940bcb5f66bc6576ba68b97a16b18907ea5a678cca0d156533195d1679ff4bfcc362d4603d381b3dc491ecbd3f16016499d497ed2b56fdaafe06360ccd9ffbecb8a86bed8ab7fef6e43f0baa6524707c612a6de2dbaec24b5d425f3cf14cbacf7c152a44e2ddfa1843b9ae30e98af323bc632e61eb40dfff5dc94aecda62105cfd0eefa0e0c3990dab0b320b9dd3e9985d67eaa8ad0cc9a4ee7ae2f8eafc737c34aed4f5575a687220b35efe7f25bc4913c365a1f2de329592da5b818a228ec2931c883abc93cc96720f6d3aaf5152813b191b6730e06f56088f7e2e9311e3746d77339c59322f3b1aa0bc4d9aef623d3f939a9dc22ef26c1340e898405ec4956c931895cb9da4dc123440c1f57e4d8e17d118fcd9bdc39cfc0bc92b225cea0096a5eceaec118331472b2f8a51b63d84e630ef4cf50dcbe3e7b009d6aedc0fd9b26a8e14cf322b84360bf845795db18ddf7f7d4f35dbf7dead73e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855435767193a723275e6c00dab795e90773a28d684adddaddb62f6600d68422615d4e3bc1ef5da564820c3ea6267049f6fc5449bbe8ef7d25a910e138e91825e45ba75fddfdc3c152754e223272e81c69e0ccc24d0e7014ca0538aab5f55269c9cf38855514dcc246256bc59752010dfb93d90e55ea423964e804fc18df7654b80db5f926ba493f2e436977499ca076dfc1fec50d888ccda97726ce6ab6943854584a34cb453e487e53d2b53a5ac6cba159e42984a1ec94659fd308c688efd30434b81b9cceab4c38d6dc4aef6fa92c57b161d930988c72bc9e4aa7afb6c154d86246a038c1f5a7f61f1d2fe143a3e2a4edecbc15c1e5ee3ba7ba8d28578f3c2ca1efdfd1a4bb42dc4dbd51cebc613192f5bc916793c13da033c60c541af8081f2f386c7e15e74a5077ca8e90af63f52bf85ee4382016ea72e517478ad7b7adcf5621594832498311526be43fed6306668868ba81b8006fab6e3f3aa4f6a56cded278c2c7b9e71311bed956e7b70291a7cfe50440ec4829998ed2652ca574a710adbd0e06af61150506e11e5d374662e2f4ff370cca7c2a6eb88295ba27678fa2d6ae7a681000ab8e5ccb3f5dd4a80da7da15ae125a31d5c58101261a37d4c70351e1e562f4174590b009b9889fed5a77d2cd3cb68ac1f71d92842e19588a4ca740a547cebea848e238127175a9334adda8c8b4f53810d23b930f3b090417d6574158c685ee0702c81dcc51540b58d785065af781b88c3f51c7ca274614c0c3902bec5b47488fe16a65e014319f62f8b9dc84b5ed5b44ba46ab40dfb4699e7befa185edd14c86276f39246bb273080899ac8b2e596219f6f843218695dd0fd1f7e0b9d73d062622a28d19a9c47d5e3296343d2029692132cf150689d902e63d4ab65b3191ac7461d8656ea1d576e075f2f364414254a0c2b67c615dc6e1dc83ea765b3191ac7461d8656ea1d576e075f2f364414254a0c2b67c615dc6e1dc83ea7e13f77a41174b5c013fbf440cf3b350df238944ad50ab6ddb626e5eabc49b4563bce581706de08fa9f5ded87202b96ccdb9389df77ea23417cc25b2b2269e7a70d33871631ec4a7c51607cb8af6fd2e4da84b21ee734bb6a5b77bac45688d0f2dcf0d35e595261688e070f0e6ece99900e72753942310faa2e8f2538c9cdeccfc63eae2d3fa5ca257c73406a364e957d647e74493e9efe215e41772b9cb96627c63eae2d3fa5ca257c73406a364e957d647e74493e9efe215e41772b9cb966279bfae6e68eb447c91d5da7843aa3fecce12214403efd5daab5c6aab9649dbb8e9bfae6e68eb447c91d5da7843aa3fecce12214403efd5daab5c6aab9649dbb8e24a47a650a730974a2d37f10c6440d3635c9695a76eebe47c4de1151113148f7a791826b1d820df6fb7a92124f2865445c50df2a6b4c69da7b4a68e30790b093966530d910d206985c6e80b39fca5ffda5b25ef223680680bac7921908f29d0167d2fb2b3af02822e21c5cea4ce2a13de7c85e564a51a06d6a78c3dbd3098acd9474276f1642c1a837f55c881d905eca3f9af806bae0d7851062b8959b7cd935de60cabf8a01cc8dd94ffe11f2ab80525cf4a39300d9e73e7d3643f252256d115a15ca36645a41ef253df445f33fa9bb6bb4073e496403bac760b6ff12aaaa2aa17ec634f87bf19816a63d682029297c1fc06b0f81cba331159a444e47ae90a8b7ab43c7547a6529946056ea95665cfbed04f6f08eb170ffe2427e1d915295dfb7ab43c7547a6529946056ea95665cfbed04f6f08eb170ffe2427e1d915295df5a64ab38e7196645322d000ee4c9141ecd076e74c59f5b97eb498bca0819ff6247b40c9a286e6110fa229fbb98c4a4afa590f6b11117db5977ee1644f8ccac371aa8f652c92e07259827215d06ff5ff100a85834342ad7c5817b4d3cbc81f5e58a2dafeda9fbd877a0c36c0be5028de66b276256b29fe7fe2f3c04c9cddd2f095c6e17ebdfe2200b2585701d2e76b00118b37d7984418fe89bb928543300995f5c6e17ebdfe2200b2585701d2e76b00118b37d7984418fe89bb928543300995f0b3fa3fae96adc04d724322403be72ad8579ffd71d69320b101aba5711b0327f0b3fa3fae96adc04d724322403be72ad8579ffd71d69320b101aba5711b0327fc4e3dbaec27ffcee46db064af5be99331d1c027dfdf0eef03349e06bc283f29086e882f5032c5230742d77c17ed9ddc8e3aa60e0a28bebd60c22bdfb914fd394d7611abebdc5929f4fe4c9271433bf3dbffe3de7fb51b49b31a57f20d8d6b535d7611abebdc5929f4fe4c9271433bf3dbffe3de7fb51b49b31a57f20d8d6b535e89f026a1fe1089740f46cb417dca62c467093e8e8471d57769a3ed9af4b6a0570369afb380d21ba2c2c7261c2c0edb7b60e4c4fa3cd1522e0e0df8fde5206c3a87e6911036e79f69b79157e5f3fba000f79dcc15dfd9db4cc67814f06bab74bceaabdd63011be674f5ece7cbb4b823fe0fc72dcec83ae4b7fc9d6f554187b3b652b3848e962bc81bf254c649c38d02ace196069a4c003bb2b60ca71bcffd78395f21e1f1266caa9815a4f38778cfdd37d0ea284d2057d607da548691a883f213ccd2c94105f59d03811cd098ccf8e2617a26640853d60000ef2ecbcaa4344263c58aa6d68dba1669e2efd0cd069c4e28f3fbefea1ec079dbf970dab9d55365551c675cce6655674d29646bd475c85a3b91a0e1ade88b2827bb014d3901c02e25d739cf8629b6768516a0af923916284a59a1a1f215cfd528b6918dc3f39fa5b5473ed4dd03ed9bb42bd113ee27a51b460ab02983bac1356a47499575a68f09d87cd45de6350734f1d56bfff88fdffe358b17ae974d0eb03c3d98223f061ec8f3e0cd43ec558d8344cef6c0cfa1ef8bc289c78d17fc9e681c4e03a6edfd97e60a003964d0d6aca73afec17eeb9e5e89041754e084447328e5c480728c8f9d308e6def6407412d200eaeb0b7361f695a93c668c1ce952fb10bc368fd83a8dbcb141e1e23ee9d41962ade221bc039d3181657d6f70bba96d2ec093d172d6b96c2f4973146b5b35758fb6ef6964b7148eb723a8a8b76d3ef7cd9115ea9978c1138ab1775bba601218df8aee9b3cf73edcfa49e73279d8b6e3bded7ef2f95619bf2098f219d9efd7f94464fbc2c136267269c7dc4b7122d6f813f18961c88fb40bc9c2121cf74aa2a2ac4c88bd910b2b39f97c1f0e7b439de558271e01afa5f7cc3e1682eb16a9efc497f417f9e91ce80f5117d4c864ade83c72229da29285e2f8229d1a862418eac662a2914a5504b80c3774c6c20d9fddba0236d52d19c9fdb845b326f79179f2ba1a1057a157be8cc88ee75609004269d39bd48d81b95fba022df5cf46040b7f19afcb2664fe0ade8e70060ed7193c557d2a6dbea48987c37ab11963085eab7db1dcc4a13e5f62087a2b06a222b4ff00e9c3e7977b2d9b7a24e45ee40f43d2bfff913a369f0f25f20328b50a662f0e90a3c27fdcd097ce9c00d30d1c846d698e6d8361029910dafb3a150829b49d502abe9101804103e313a7c36d4086ddaa8a63525e0bb99fed87b75771b3b1ad2a8cf35c04f6a98074408b23b789792fb4ee1b9751f8d876bd9ac47cc3999941217c681dc8dad9a14264da8a9c56bb3e94fe4b104b0b930136a46b965e716e9bf619b1df210f0171d90a83fc05cfab1cda9f04595d754fe81d28ccb9a28a5817ab7358b62eb49490d4b000d96a8f67661b1ea35f00635cd473a949dc20b98d89c6a76b92d51c4f1d7b8aa692a923edba44fd8b6080fa9594777de6c5ea9425118e8d98cd45ff9a02eb7bcc9e328bcc938c9e501d7cae7cf8b10700126be4ac7b723e3d6c853e82e1d8a185e9b6057fac13b848e9979b7da16dd4c9343ee9e699ce272a2a876aba03c4e1be82c5fda4d4b2855dcf15a173e45a9c7db549e46eaa928b1da4c4cb9000c4f4f07cd311df457da67e929d50d203dd36cb7ac54ad5483c0ee333bcaaae57cb46784bc402804bee8c62c05e7ac519fdbc904c27f973c746e544635e19b29b4127f7285929ac330584d00ede9684168c7f847efc594a1d22ed8ff5daba419bcf199fcc58457cbb6726d7c4ff8fd0708c20cf69227a01aa69aa9c0ed6eee61c6e928279f45b2e6c62c79027fa68f039c591954a8a7c598e322c25a2dd5ab9ddc1a248dab81c586d60d995e0a6b0ebd21265515cfcb04d2d9333eaaade8c8de05269ebc7f63b0be232d0ab9fcc6fc58cf7d2cfbab1f50fe14bfa02c0799c817fc4225addd3a1f2a3bafb5c082494a5d6a7bb6db5389916a2914c620d8a0c641205a1e966f20c9b7a70298e8a1aacf6d521666885c3abba3d2d33266e5b9809beb2bf55a8a69e39d20090366c38bd47eb4002720d9fe1d68bf077ef302efa32a9df6de6157c0c870447f911ee8ba226184d9f4f66998846f8ad53a3ab88a19f8c550cff8799fb9c3515d8223f2239718a11718de13230c871e122095bd92712a30ca0e6d7c1aec6498529ccbdbbb28e18822244668d1d3b6d352b21caf3b436d0fbe6f9b3152198ee4f2b61ac91e8f13484da480914dad6e3622125718b1229682dbccf38ed9b594048090b022cc2779bd0d068bffb8bd3f4e882587d10f3272d5146ab0a09de70b59e0e056f8eeedbde6ef39bb1acbf8c8ead46da147c87e46c4d1aa8c4738302247bd84e2d982f8866a84bbd8af6d2be4049751f92da5754a84a732bcbc4449efec05a260ee304913cf3f4b78d6534b88bbc975f0d6908e6a25fee21e04d21a8b6d8ab2cf211ca2bd28d9b9c401eda3da61f86b5249fca28b7a3ab9a65d2845a1ae29c4d45537c1657666e4d64b400bf23db0218c1a60ccde4a7f66ba8f83cd993d3ad880644f84dbf3c2c85cf8a47437468ba82e5528dcd79a6dfdd271980e2052c3f0fb48238f03cd22de5de68d9b0fbe69a165255510d2b0914b3f9450f725f18c7d4149a5379b086c0a7f7eebb0b46bf05cbf730375a7d00a2b8fbd7e3b718529b9b586dda357b33da5d2aee86a400ac0929c044f1e59457054c0a4491e9e2fb95ff5f52b60138ab196721f0e5b60163c7e2fdaba1f4b6387e464da32cfd3dd1a06956bdd12e8ed4d3e17bb38fabb02f0db248b07ea92020e94cdebcdb41fdbe0ccad26af08a35c6e7dd38ee952fe9cc05c0a70cf220250b8d3c23450dc408e91526c9e1d9ae5f08f2fb0227a7a62db695ca6cb91354ca99167c1bf11b1bc88c087cef0573f7e95b0d4c9c5c34e19e27faa2f41b4d6a090670bf1fd9f85534f18aae27e3e3d0741316b1acc0ae6ed0d37108876abaf337424f5540ce774d123bfa0d939668ea6ea142ac0368538b627bfa824580e435d2c4919d71683bb935d0db202cab4addac8f43787c85b01aeac4bb4f16601e66322a9f5bb828859b0fe9416ddee5bd6805aae22a50031a8aca2f7b2d075743669aafa9bce67a85df9e3042363083f2737113cf92e2f47b5c9641635d577fa2e4fff7cdcd4f0efd9793aa3d4a6d6471431ea3cb1bbae3f7d87a90844a3f755f69f320327349cfd222899bd557f2771696e5f1cefe9a30cc07fabee47addc75b59a4dc4bcb8030bbeb658c6f449d25f53886ab66b18ecebaff5de9c795e5531fe5ba041357137468876478db794f9497bce3427a467d079b2d68e2c67540b4afe43cc3712056a5c8859f768c630db76373198406dff9ca97bb21c8948dbba80983a3ee95b4967ad1d5233327d7545f8da96718f187a84dc6ffb897c707dfae1dc687b8dae5fa1f1c5f31796c9d9e36650ff663159953b6817468433c4b404f810817bee44735ae64a77754646b63422263b47beb2e2dbcc017d1045eb6358a99e74bc4651be455f3331f1fb453879f0b2642ae0b3f68ecf5ed6f2dd191cbff7b91f33698cc25c0d55bb7354189eea373311f8e21a3b517e510f11e6168e2f028072b9a1a9397c0b855f2587c6185b38bb3e4840077fc9427fe139936f92265883e26388fa5fb7410b014656a6f2b61247e99cbbb46560b592a8e5609714ff4b55920212f1e38f54abf15a798c03c7fe9d2efdf7d56bf5b279c6c40d948457147442c793053d5ed0760d8d4754aebc2b2ebc60429728ab57d01ce0e78781c619d9bea40fdab24c9affc190cc5b83e75d9fe0cd5cce659e65a7f67b7e56b1d270838e85c4de540456888b1dbbfef2ff8be215720240448ef5825b15724252e27ffdcf77adf85e3da5b45b5a06464f522587f227ec6a4e129ea5eeb8210049953a4a8b9dd114dfac2567b3709934a9499552df39c0aacbcdb5457283d468bc5892f4c7554213792704e9d282ca7b40660a3efb2fd6dec8c0c6ded1e7f1fd565064d056a4925b0c453f8fa5cc9b7b488ebaf9ca7e2b99c08139700cd2234ed70709d7d303b6b7144d8353a0f939f17a406b836ca989dfddac0d7ab9ed0e508227bd53be347259b2876852849b88d3ed0a53a42ef6b2a1866a590f91c74b3c91e7ea40d04cac68ad04c6e69372ea18df9d2b30f7fb70a5bd7cfcd2a3e53f076531fb78781578e6b6e0bc9d0b7266d824381109402bf631472e61cd6b534c6ca40f579e3fbd48eebd78f1b234076730a4a6103a0e429f576d3493953a8a90445dfd9823ffcf42e6bbbe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558aae24bb8a0f3c4c45e0b08acae223aba73007d37d59e2d99531de7baeb07444d812e2bb1345e82193e732f2b3e2727e4819a91fdb6a5f565383a703c9cb9970f2cd8b4f8cb9a509f37e5117c4bd1abb3edf029c991ef2d4ed9f1caff7ef65885672fafb2df77b772b199369b7ef54e47a4d47baa3c7079d3c793e736dc7ae07f00cbb8511e446f56e937724a45add7efb132c4b2394b5507a69d22d2f5033dd3a0b6414d267e9e206c74b0fa859029f68c10bd0f9ba3008af7db217c7f985289471d8a0d9d3443c10d5a93248fb94dbc16f934e3527ec62f334b4e035312438464e9a54d54afb8aee9426040a552f51a9b3353877a4512488786dfd42819dbb5d554573e36a9e74cf63ce6e94f62331b1ac39fe0b208b7523ce613bcabc45b30ceb827a4671129dc80958a42e8d25a980131b7e30985f92d30a35d2d6a49dc3c3c3ff6aba8f625c2ff95f6e23759fba34d3a2e7000d76ad879e026a6005e3a2d685d1958c318b8814518c7d1e7ec9387435d6114e4a17a1ef1884a7c9141a4111460ddb45b8a105f6875391096a7cea92f945de88db8f876128cdd023ad3a3e740694ca066ec641f4df4904e71b9f9a350de5e9ef97eef4416cadb62e2c05df56f23e9d5d525c52dd1777afc4e308e9b86e65ea71e84c5a2fff7a213a6deed3d9d982c52f14f3ba3ac84b9b6a8115d21408a6072ca28e747d940bb42b98ed19f31c1017d50cea686cd2581565d7ef4336356643004913ad9fa8c244c2fd1c48f31c1017d50cea686cd2581565d7ef4336356643004913ad9fa8c244c2fd1c48839c73802fd0ec3098868eca078c5d6dc17a2143f482ceabdaff0343b50d6f370e41585d1df60c800e0cad70d8bc531c136f2e1ac7ef114c62f8ec9fc7a3c1c3662b95e321a67d26753e45f4c0d9408b2cad4e38d201623094b021c1bc05bd79662b95e321a67d26753e45f4c0d9408b2cad4e38d201623094b021c1bc05bd7962e89369d2c5dda0b98e2950d860ed0c71da573e4b7acfd3e52ff8c460e12a61a5b215404248b75d3f8aa2af2031ed23ebb938221f6b41342c199158d4d49c77b82daf835e9f89552d06c2c4af1a0c9a65ecee33f244276521ba2eeeadc659b14869d5564c879e94e866136be72dd5832244fb27805e27b08c7e748da745bbdb7758e5f7b1818dcd49af378a04c0c1eba7ebc691843b63b366aa3943f7e1349454970ca79874cbfc38b83faca095bd685fa0c0acdf24a25ce099f93d07a78ef3e02a4b7b5ad38561097de721eab09a5f011d05420836466040efcff47ae4915126bdd3c43a34f1233ca98ab7404e76a32ac4206914e2c55b54603300ae472426b2e3b9a862f55f2a210aaf091fe75b39815482c8c79d437023e1ff0d139c6a0fb2e3b9a862f55f2a210aaf091fe75b39815482c8c79d437023e1ff0d139c6a0fe9def3dc89f0df3db677af50809ae7dac02d76600d4ae0c0606ec34336c7dff5e9def3dc89f0df3db677af50809ae7dac02d76600d4ae0c0606ec34336c7dff59d05e94bcd1438927dac297b9d5f50e3e6451481c4e620345fda2e70cb1a6da09d05e94bcd1438927dac297b9d5f50e3e6451481c4e620345fda2e70cb1a6da0d08b527ebabe24b5ae9de14b5024d006a0f254ede2e6c09e73a10a510339f5fcd08b527ebabe24b5ae9de14b5024d006a0f254ede2e6c09e73a10a510339f5fce15cb391157a399c845a14bc01045f5a19e85f20892f51a2eedccbbb7af48e88f11886c8928e5acb0032730ec82d807a6bce3a9cda0298f2b4d31bf1a827231e64b8d4818d699b50a9938f152139df16cef0e45bb8277eec965851d72e3c2a35c1be4ce0020632c5336fcc6cf35231f4c4dd50dfc0ce75ff0a4ec935aa146ba2ce0c612fc6cc40bb5290c9263d72bb0a5881e8f358cf4ee83089b8f984d2e02f1d0dd14b9fd3febb4f822cbeb6d03eba69efa7ca3066634d67d0d65d74e4a5cc9a8282dbe5e1b3680fd21be5d519a2f20eb5412fc9ac52e96b56db76d15f2bb22899628da498abf3b7093969c51cb6a83bd1467e2f25591dd266b0cd0455797fe285aac7df549a7ed53a916da7cb43246f836236a1db4d77cf858465d8096544e285aac7df549a7ed53a916da7cb43246f836236a1db4d77cf858465d8096544715eadd4afcdefdd070b500140756eab6d0f9bbe17455f0895fa77927a6fb17d1befb143012f45d969be027b0d1e32d7cccda2a9a538f8b8e5d98d6c913cb524f4ca38677cd9214a33617250bac37b1a42d795da1f562317b950c0e77f831e3de2d26669024c5c30c065c5324bbf5f342278a0193d25d0966e36238c725e127a6babaa0d8680bde0cc93bdd900ae2ad83d469331f21269ce804f75162e419ec0a5701968d7dac9909733107b20316bd85f078b4ebf870141dc65e337363bb0134cf3dd5220872c46aec11008675634bb1b481b3cf9573e5e179119b0fddd19176b51b4ed142d66f12d5c79726f17437284cf3379ea31b74e34d8f3733e471ad1cfe5a2841aa071e6e186490aea372e5c4dfee22df84425c996a79f177a9a3a0d571943734e4310a6b50c9ea518f31bcae142f171d38e6fa9bef8b0f74a612e95640a258d1dffb1a6841af366bf566391ca7e529f76e6dea51f41876cf03364fe41624b6d887bcb0cb6c254569db5101bf86a96feb37e86c5e68e852a1eeb7960414be7a035a59ae386123c5787fb971cca129a83e2fe749e87e12decc4a87de8f4b8f5e2a50735c2fa41f9e3600a2622fea45fb743a75406faf4e395497c0554a6327d472a379500f32929bdb058047dd60bcb401bc9dec35974444c63254cf4fe2012e5b03656ad8e218ba6c73c8cb06ff1977c00210bebc4192e7a0ca650748565cb585f03663e9b58cfd547cf9ecf5b60448cbec688119ffa0d6d49d70381ef277e22810c84806395c24a228852c0caaecc74ba73d7e4228d9c720f4f6a170063c41e980c8ce00f8cf2c9229293ccf38d1f331794e6a1b7034792ecd4870f7a3fa488493bc932b1941c0bc250a8e83480f199687ec2c2d572407ed6ed32de7a3fa488493bc932b1941c0bc250a8e83480f199687ec2c2d572407ed6ed32ded9f411d0dc43878afcaf1186ac86a169d197439b2c41bda734fba10b53bd4b440c111d85e9767f98b4f7ba476b965371cc7219fd2b29f857b493f81a235b3ff474495c3d4d926f14eedc4e481a3fd2d7c5b8b445cc908d0024d133f1777c7f9e897018d20526722212fc5bc7e552708507cafb4b4399a1f6bdc0cb1c7172c4818d5fb36fd956428957700f72e40313550897899345fcdd618757ffde82f29612db66558e797a5b0c6042ea83c8b4a985b28746e9b4a5ae94c99cd8e31500d65e71bbc66a78bcbc2c3b56dfa08ecfbe33e3eacaf26ff881fc728fe34b363439efb3d5198a0044814bc74b820e76df235e1b19df73bd8f5f69ee589ea1bd51f846a987fb663998fbc4d4e201d82fbb7c81538f4da81a0750f035f13fc0877048dc51c24e18c613d5df86d0f8db0b90724a1165e68ca8ac547c877f1f16dd2e63db7041b536568b0a38c47fbe1b19e674c1d9a8c1fb632f45a82fd4d801e2464902a5968dd715e707cbbb55facc829ea3aa2fe309a278c78b7411cb3ba99ff6c7eee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8553599d7bdd8bb68923904c1e5de01d5fe8770f5ee88e9a3ff4de6f30ddfc5ba9312ae7eaf7712be76971150449f9c9b0c2e8b9a1b333beeebfbaf0adb64ccb3ba835f67b8450e0b8aea34c4a63663520812bdf103e8c8a772bb1cf17e467069788ae5f7911a6b8ff56e6ee1ecf80427670a522d684dd6075fefa0e1c92f3c510e634a81d126537911be4b38f6def08a722db9f2a5d38c41c76fc03c7307c4ef9ea356f85158f2e64fd5895ca034e773f941107d10ca9d58c5b94be3551fdc4d14146500f401a0e2e24694150fcd9ae117448f92ff8bcc7195156b3e77114ce34d97a20cee36ebfe0498b558b6b3b31da55d54440fd5b379ea00020a43e2ac660a63602e21cf297efcddc1679c57b79d26292b8df5b36398a8f7267d4cae8ee17e1e5a0501c0a3de3456c7b2ebcf52995a49631972cf19e7b1f83804a8d8232806f2adff1bff6bda19753eac334b542d44c4cd391750245462636f710e80c467ebc885fb29c8a4b335aa24c3c95791e432f702de0d7d710518680a4c248d1ab516b484311dbabc2992e668c4be6b2bb22f1b17cb2e0c3b1f06873a364768153883b484311dbabc2992e668c4be6b2bb22f1b17cb2e0c3b1f06873a3647681538833ea4bb9987da82bdc6cbab44012a7baf194b23f44ffb69f1c78493bd18f480de9e6c036f5a938f97c735259974b57097f0b28e56ce8cceab5034a5f3034b714339fb806a30c32480c89f2fb332e1ac7e1a822d9af8c7c6d99d5e53a276e0d34164dc3f62156ce1362b27bd3be60e96c1a8a20894519b2d1fa53fcba04315dd6cfa512b57646f68d3ee380d33e1ce385a6352bbd8ab0b0fc30dbef03e0092d816797961e6725577a3685df52327e98d1a09b9a04f2be8c60304e2075d67734cfc44d76bc0c823b7d6fd2e672475191a6180b83c2ccd57ed478b64f707630781dbaca9b525116bcd88ad93979ab586664f188e71aea1e5b41d5568d05d48060b16cb156fdc996c835a56b9103a3927a6293df4e57ab91273de05b163dd07af92c1ed76a294a57f3bd52d88cf6782d527ce8d6ccf291c3b81b67f29c3b106611aad931ed68138e5b142f3155dead2b22970fa9c7fc123f7038380e5c488c7461373335ffa12fdeed62a4313fb0de60a1b433896f0430aaa2dcab985be019f43d65e335ffa12fdeed62a4313fb0de60a1b433896f0430aaa2dcab985be019f43d65e8252eeb77e52b3506929508a000743dd3ea64922c3acfeaf03727f66e830d131af7568e9fc825809e0c9f23c856b2b3a6b3d4ab8ff96fcc87e81dc765c053023438b3e640c79c55f2e7b69717d584eb5043362e6b0bb7aa10f3d0ee538682dd3eb679a4de365ffa55c1e3c32680dbcbdc8e658cf9610a32715dabedc63abf0b92a10cc62ba938a805c65ad0559e31d25e9495a6378eccd8a59f4bbcbbf082d5ca9ed495d944b0a73103bcbbcf7655903cd2ef762015e74eafab57409cbcc29affacdedcb4bffa3ef11abcfe7ad8877d95a3a8a1afc39a49675cfc7eff095182aa5a29c91eb1e47a4a115579d50c37bc1974da641bcf71714689063fe532ea19de771e064575ccc2cd5625f215502dacbd440d0aa9c5411adc8a1b4bb6af94befdb23f4a63917281af40b4400e714bc27177d9c7cfd553e6ea0d212e7d282e0ace3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85532f6fba8fa707793ecdd5a5b7a15cd1212ef773ea35936c07bb58b0f91a2ece3ba4d858a4a5226d49375a2cc4e744ff00a23fe1b691c9e777a36d3163caab88d40eb3dea38e61ac8b08192242a69656e4d679ea45a84332ed1e1d59e787f63f43b21278fb09e0301ec317c5f38ec9358a657706a3cb7dc68f4c84d3661f0f7884df598be3a4c259524752a66fe125d5f1b4b91838969014a547e81a078c2ed97a5c8fd9311dbdcd9c8983635d789566a2fd2a5fb75cfbf1ba90c625a775cf54d1393715ee81fe015fdc590b85f39b92ceacaaec6f7b3c0f7f6eff374180df8770fd04688e4c924a4a3d12ee6eb933b436b588e5d91fb69806553aa4c54c5d9f68f99bb49a1bcc2df07a421b41ff7ecacd655234feed133bfa6863dab047ee477cfab0b1839e41ee93541d661ec8c9cb77636c1a816ad1cae084150fd2d9f7a9d090a6a99e1d41d4e920f2424535f69d4b3fcc7cd2d68ea12e7335ab31a2960271f4bbdaa471208685f91bad213d228d77edc34805f10ce586847f042a568284ca537e2b4567bad8e64ca3a68a4efc624359f28c55af8cd2809f8213f1eb7cae3b7c67c7ce24387ae195e6aa9482aa576cf8e29bd82e459dc426a82b2d7c62263cb00b2f540eedbf01023ad02856c46c72a87899a18c0c282dd3557267fd954831099ddf654d7a39645be682b033bf6c075fc6fced234f3b7b03181dd4a1f55ed89e89f868301daf78abac451059590a7a8a03eb8b9d36ed5aea7dd74ee5bf9651d475d55e7665c660425710e133e85203d4975153b1fb130a7842464cf3bb45d1d475d55e7665c660425710e133e85203d4975153b1fb130a7842464cf3bb45d7f42f72179539b33788cc4fb716359335ffa8abf14c24bf39358c9fa7fdeec68b5abf121c46594cbc0ec22982e6787d4e37543a42bab547b86e02c1776026f67696703eef038796ad19a3224868f981b16eb542dda9c54f31dafcdffb49db3ae2e0a3587ac2dc940e112eae80d1cadf9e62f3c512040ea347f17c013af12d9c39c8d0c5b8f815501f00b062a816c5aecc84bf4ec589b0612209729e6a7bf9fd62f4b98a2557f21148f9cbf0cd642dc2464305e71aee0a0d7729bea9593bb8627e27f2af71c27d27a9a0a3f9105b66573567f09f67fed089c85fa1423d02ef8b467f7457b49b2e7da2707d8c1216a5d2801196ddaa98318f3ac2090d3587d0c28740b814ca1d1513348485967fd471a6db84f6ebe1db8bb44c319946da96e3f2875c1caec62d06909f385abf5f6b07aace0760549610f0a70b5f38e69e276b571009f9714eb720e1162baabcaa5276d8c43a6c9781ded7183d4f76e41a451d39dd510637f19471535ed100cae03698b93a7213c5fefc7f1e00e6875896a087f94b9ddb286da0e03a24209ef9bddede6f0507893421151a473768947c48198d1da750e8a61fcdc3ab7f98f01a73922d3203d4192cd86f1ac09a0899c073b440a858908b54e40fa9261de761c5603ad3ff3351f61cb589c0eef1743f42e3fa0f000595bb289742504e7131a1e3e9c776f9cb11e9b746db7545a2a1fb9345ad431cb7d79250d629046a03ccad7033f5f5316f646382693f186e1df45f13b1844a44b64b7108b1135db369b9dd72d429b5783bbb3748fd70fb1a8dab4f2516b83289e14077819c3632b90dbd893369cfa211e26a974b2943d87fabbbffb23c07f6705b325c2143c7e3973a39400c497ae0dbb9ef59cbbc5aaae24dbd69fa60db873b53337d461c17ab075d97ad17a0334a61cd3f7fafa4a0794ba0dbd13ac70a21850331c92f793e13ec6a7d7f0922334eba22fd653006a0c4e6d59f3c3410644c772612a66a84e7f82641c80fa4d828667c20bc5bc7cc8e27bd8a431102e71b1f57fb27c8194b4c41cdac582d6b8a20fa7b854e2f965fad5f896aa28383d019285fe91eb44aa9df8c2038b4df17bb8261213a9c42071fcaa59f398184b0caaedd00b1096202f45709bc0db87932f3c9a9dfef8dbd671dc2ea0d71bfaf730edfe845efecdb3f47731ec601a8f2c3994b076bc1101610855cc681f987eddd48ee8d865ccb687106fa7bc7586c27fbffe4f2db641a3243db30e606d7b951f07a19fc182b72c58fefed51a6b82a886eee836f6cfa8a52840a97f9eee16a9a4ff8be3a86918cdcb45c57a86d861731498d8136026f1976e00f07099b4097b6a181bf2786557fc29314e026a30e6462fc7704ee5490fc09a08cf4521341d77de35f38eaf1f9a259d282e0b171e6c843a93fa18ad5caccf380a4da87d2534669bcf583c740440fbd36f449b73421862a6834c00aa51a8653da3fcb44fd54c41b794398ebeff9d2be30d12808c9826d5b7edadd28a5e8ec30b8f09b321b43b9f22818c4aa241b93199552d1711d69e18ec1b064048627797ea866b7f3f80c92c86d21724a917995e09780c9b2c5efe6d1fe5505646f20ef4282fbd259814d1d474eb5d96000a283176d47d01ef4859bc971476e3e7a80803325546e5fcb3998ac770e19c0353f1ab560b5c511056962fdfc3192a795566db158062584db36a556fb61ecbcfa0732413292c0cc55441dd8abe0eb861fdf8cc3535ce5487d2258c2b2b51c0479150a41fed985baaf14d65222655a5fa60ff97a515dc0f70cf67f0db2911b4e24685eed77a540aa140df9e0ed35c9e1fb16c31c5d3ef5565b9682addcf47153c0fc816b4a738533251a0b9c922de8f36b04d3237a65f55900c65a33f2e0ab040729ac11141ada629064366f53e670b9108feaa973b833f9192369fbc6989364129ff6eec5d657243a622a836e78160e2e56a9a8d5dedfec4be29ef2c9d8673b1aee7db5c59e7cb13fcdf8237d1a6d4767e5ae6853233411d7944a9461fbcf7a6ed63f1561a6e316da334bbc1f097d1d07f6a29919cde075e0ab1b6fc8f52cc99fc48c65660577197a42ab0ab60fbdafb8ccaed7fafa2509c986ce3990277a860ac61e8c7a356af688584e2bd10d9002bb5e351323fe1c57b5adc0ad889bfcebb54c339d61f1b8324e1c8b4e0fb1b2bddae5018f19ba70cee80a23f2f83a0e16435ded2c78acfeb865290e7e6914f75e92720313db82a96a7d5f609e54db99e9a35c0ec1487985d5dde1c22fb3989dc4e0a3182d8c25097ae3f58e6b8c09a25f515cfcbca48c8ce5a7d1ad47fcbf62a5947b471c3c15466a3a4c23be15cd7d3ada9072433e24bd34fb50b8fe79b2606a8a4fbb346e28fe1e8d4b5bf83dcbd377ae11e9787f68b8ada6e6472b7dc6f4bd14b0daad4b7a1b2e89c41f1ae4f58e772583e900562aeac19bcddfad14d8befb7ecb2c3fa123f03a282c382790c1e67943a80e5d012ed0f046def0fb0ffb13ef2d00a9fad77c003853eaac6c0acd3ae8c12e588322088409f5fc26b9ab74a1d82c75c8bb1086b64aeadd1a41d015b5d09da7c2ead62a68acc2ba8ee022ac9e9cdb28c6f4be852c82f05024a9421a76bbffc5a3adb9ac1f26eb6af3b4a8f00b555c8146c9104e54627a686c87eb9de4cbf1576be72cde53e1da2e54c555a25e4639b9f6e66e2588dd42a16f1403e858d4838141d0497046aad635494e99e36ea76d470b63150b144e6eb4731bff14276595c58d9200d54d1d4169c6953e7543b1c75d2c591f01410d7c005d47a7a7bb80ad35f6774cb5664b50776f41c601267a20bce8e2141a056b97fe3574ebb12721d7dd008f8b49592c56f0b6e7e446d793d3f235b4c307dcc838ae3f6b8934f8d0584a4a8ac823a5859407a184f958fd53fc1d5b334602b0486131747d7c2f2a12974e671a4f8d18983889aa75f7598e26088da4b823677f10c2aff9a24b58cf9f1cb0e73c830cb007f637eca5d23ec920baf5186bc9373022dc0e10b22dcffb71c4e6feaa2ab3c7fc290540da435720c9b33957f12887f749b5edd3327e3eb854e97a7ee1318dbe38426361199751eb569c54e57d28ddc13805824fd36bb7c79f8c3fa5bccdd7452a2e5b6f5bd66ddb8619e8e1380a23d4d42360cac416df77574206ca70108b2f7f58233f31af46041b2496589c71cd0ea982644b66fd85c42c54a438ace094d1ac61ff3ed4e0c49419d6b7f67ba392d3e50546aa5557c4e64321b87f48fc3c61a399390e01c3b042466b3d2bba9b7d8e5bc83ccb6e2b032cdb5b0d40bb37982e99d886ecddaaa6dd91482e2296654fb91b6e93daacd605db6d10611845f5a3e0222f7246f7407b3e5082b61466ad1f16c2a6c75750ed5b49bbc77b3cfb60f6a6e1679a651c6d191c5eba3c875084e1c02160effcfeb6230a1c15d8d4d32fd18d973b45a7b845aef5259767b998ce558471029d4819ee1a61269b67e3bc066f539f52cdbfa31c848d5d2d9e270cb108d49f51466dba3e040412f7957d86961e3e2bf421d7fedbad66615a661c6b43155035d22c9df11fb1e1d2a9775ba6642f72066facfccd0423b11a7a8242e10ab8abcb39958ff040ae370f95e96be2fb652ffe20561c92548971834d64558df9d4da5335f86eb625cf2c435822442e95008edd37e85667f3b8500225786f0cf7ad79478d1d994ad901f6c33898e4f1854bfbb8d848f5861cfb212104df61bd6d114297892600aea3fba2f27642d35cba87fce0d6016e77cb65defdb7402cfc438d33a132dcaf025bed37ef46b23b1f79733215d44820a9e8c4d5f32d862b09f21e40a783b0e094d91579598bd8602a63720fba4925b141385f590bef33e10d2a61c2c93d7f30b0b808ccb27be9312bf816c965d9329b22c61f8d7f3e734e9c0e4410c4bc374787f5b2b3b6c12bdf4379ac9419d2e1e8cb20568611aa444e1f2b4ef7d3b9438afa436a97004b7086f2b66e48699d682a1f30f091bfe441956f02ca699235fe3dfecfc706cafd120ad66bc634b3e09c0c8d002b3746c5cf22d9116f844a726f596103d99339f53dc0cb380169f43a83c4aff86eeb146d5861a7e0247908106f8b6fd37902e97f836e20f93a14e2a7fc7caf0f478a6cc50431e94d5e7db4dea6642c5843c787ddd9b273848781343f47436c96434d06fc487a6266f32730b359add1fbe83ce5f7313c5b086c64c816e43ffc657b602cfe6a7231bea8297ebc9a96b0932d351f1553deb416b857d97cb59b9ca157669d3706db2c46997579ce080602ce818f226b3e292dcceee63e77fd910937741b1ad6fdb3504f7248b033e0785f2f4512699f7d94f2fc2f752db237950f180c4a707abb8c7c05ca68077c219b34dca0e67b211a3ced568e1956f6034bc11337fcc314dc80129d27bab2bf969334326b75b812968eaeb58f136d6476aba16f6f8d17b055fffc0987655f597c99db21287b3c0623ccd4a97d1644cbaa404f0172ae93fd218db8be92d9cbdb5619e94649e2868a4aacb12b4509add78bdfb1d11077638850517ab0d6f0305e71fe71cf2fb90a272baf16bdb7ef694678af430f84b5ba5c30a805eeb0491cdc0a24ed96eeebe58c1a6d2f3e4eb0fca45d0c7f8f8fc1c515f539647129b46c75fbc6146d218bab81a432b1377b9c035adbe698659b637929efaa37e49ac8816aca0c37516a9ac450c482b9bc7163e5f3dae242b03fcddc69b83dc1f47ff19fae3ef83a96abd2620950b6024897512ac394c03114a91a3f17430501f40a876de180d6008e13a3f1f7e94ca5ee9d7351364b50532b509226e6ec5c235473295cd49bb28f40a3657d2ff251c01af0343cb99e992c0e88b55308e72f8d2f19611e246edc7b333b129e74cadfc33d72bd7bd4e033766713643c5139c1a8d07111196ceefa9af3a8fc62ec450550db06687e4f0228e6449df0962df6d0ed2ee2c9a940cbf128b693afe694e6b9dac12cd529ff03508c0f5eaf0be9870c0c3f083d9d65c189a2501c142e3a5fc5441f6837943e2b25556cd32c9cb8a89cc0581557f1ec25ffad26fd2e6839a84c418d782f39681f7956696e566bfc3fc6b3e6602ff8fa692de736e3952c98d3c835877829193adb7fa403b735dde9045abc5bae189d64e4cd415582652c3d35546d6e1e69bd2fdd234ee4145d35c77a6c65f1699e2d864c4e7eae92ec3c3e595771c264825a4c7add87746fe15713c7500e53f727bbc3744db576d13aacf6675d7b6cbe40cdb67d730c7512fa03c0c8a1f8212198a1441c660b6c371d9332de3548b67fcb4874a9dcb37c75a1612933bb67bb4837acf274f31efa6f91d778d0f7c9ff4c18ac7bf013683781a43671c5c1ca3a7a706563f1b4c1fd3b1443f17310ba66c3b700d938e558ebab0e38390b8e2ca01ccc111798b00c2d7fed1a5d30f11c9f80981f33fbe2f2dcab7f8a7c1e2305151025d68015efba36886c3e64694fdb47ecbafd1faa19db7561be6221e20e9f2d34f8dd56e211737c22136d271b01aac14ddd332440eed96e5ec8fe7f2c9680f9db3c5e2e08aae73607e0ecb2fe0d39ce8b0123d61270fee746e8566e4ca266968584d86d08732c23f26c675da9af1c0992af4f76677d9ade4bde66536bba29f7cd67b6b48429aaa7d64de5cf2d352f7907783f8ba927c4fbe9a91639c61a479e9ea3926acf2cf88f3655fa70fe80a2889a99dde907e6543a6ac172c09b697c11ec123e8bd402339b5663daf8d8eb1f3322cd07a04f7f6e6b2d3e9bf53f7c2611a7649748d35bd7adb36f89bdc0f798dd9350b0d9f5458807919f668dbb4a56125020a9375a5208ea5ff6042f03cc5fb4e6f3b022314d7b96b441e5206581491f09032eac5859f14d605ddfc3336a9a156e846864dca883a5da0b1e3d9a4ad3f49ab43c96d60c0163dfd3d57bc8bc60543f6d2469000460de8d1cca95a05d5360e0b250129693f8cb9eb818bcd410beb6c6803835dc747ab06f58e0d6091bd167a351a20e192c0fb5ac6c49c62cd8673a011d9272c26f3e3d71a4761d0cf7696debdab55e57b3ea94f7ea35f232e9699940051a63007048e966f916b82d6100a0622a90279a40e4b8284bab2ffb09cee5954a10c80025a8530f592887ee3c6e1b065f5daaf674fe7595e5892f8016d2998c384d85769709398d0e513e8096e35b209998e329aab13af24418ff185f7f5531a8a18ed7020ff5243683a3825aca017678af79f3b0d12aca917faaef22c6b805b29ff6edd48ab24a51d0e9b2f4513a9d0c3d437662c09c1a75b2bfb684a6cd753c039d0d7fe9e69cd1f08acae282da19a97a3551d84ef8a61a1795d50df51d4937c2cf4a0a7b9be6156e7c2bc70e6eeb0bbdfe7dfd4f9bd09a578c650b44e4268c1e4c9d52215a0a76998f2135b4f3c59b30d7412d3033e770dab8dfb0341c8eafb10c1bfe995dadeeb16988ec313a4b1698842262647421aeb310668013c0440015a728f81bbecd8eb5009be5400e2d5a02dd7f200df65de26c36dd8fcf092dcfd15fe62ee5342bc7aa3983d696035020a3a6c1a83810df6e151e4268c28e8eec8d542963c641404bea53ca3956d241e71a4efe1e149a22846ae600e36b16c952e948f2e67d030fcdf9fe4e6628cf49c18afb503ad936c8d7d79a86eea5878ee2ffa0bff6cb28080857808debf278a1d5a7d75c44edba0bf108ed7eb44d9f2ddf24fa552b1af049be5ae03753c6f8619c68e5969c5321aae86f3dd0d1f98d0c9e176ede1f3e85484dd13de92c3436ca97df378ec3481e04c19a73230156236f768b0d81e58a3e5bd3bd79ce294cf9ef0ba0a84cf7b869c89ebd9fd8437819eab5dd7ce5c7fe325cccb00507b5340c4d00370165e547089e42efcd1c3dcda5c54a505491280e77d108bfeb898d931de4aab8082875330dfd11fe522d3593a6b0ef2d4fdd85353b5b4c189c5fcd4fe14134aff9cbbe6452f05283b42ff3b3f84784e1e4f11d23a9a9497d9bf95bd60b474259c28b979543556f80fbd268dcf9d3859652fc46e298d80084b67ff3ce6fd8260581448aacbcc89cabe97e7dd340a295ae483a8e55a540edac1f110d1b4e20f5acaeba13006b1ce2850b3da503c266444539d95a7d5f9a495906baacb08ccc66275038b9546e98af90980eaa1346c88a035f26c96b5500c659957b6245c11b7fa1c0e823b2e221cf242b74e90558595265f60b8b11a020d13af403b90bf98153a4d1a1719b5a69e9b7c0e98cc31d5b08eb70d00709aec631ae1981c9c5b807755a1ef7e03c61eb9e91cab05531bd7c326d478a7ded8078e7c6b7cf49be0fe18da6bdf87607d579672f577e99c0e299e448fc12b8df6449d63814f5f56813c79532aba8f46e2d50afa56ef44f2e158ad77e76dabb225200676e00a4e7bff20d211baad5d8d50672f124500c21c5abe004f51b786c120250eacb5c168042ccb50b3d3d01342d4cc5cdc06c60c246ba8a277704eec3d3779368bf4d2cccb07752c66f861208958c970a5863306d28824d30f3108ae4d151bd8656b1583df78c905bc6524a737d0723f6198aa891da97ded68d83eae5da5a1608c88d74e048b03284a1ff142f94009a9368dd7cb50616836a38492bab208bf5a80a98af9ee9c4710cf7b3f60fe92d1cc79718652e9c31e04e5920bb9497fbfadbc2bbbb09bd78afbd69ff9da61a0935780e1883f3f60b78620e7a661a4968d7562179b4aeb12e16044354913705245745707823949c069bd5757195491c1d1d21a593385b317868b9e46cfa2b60fb372de2e59e2acc395f0ab29282a8b379269649209b74c5eeef05aea6759823627d672d093883ed94ae8899259fa773c2bb3d0a6497b7a9ddfab9152b574e43b62fbaafa33e230fd68f9ca6ebf50bc2e9b073cf39da157927776af25e8506d94c805f1573ef747a332671024002f6b9a031d97d516d57c3df270702009f9566faef7553f83d02df7e3d857a441b03fc7ebcb0f23033a36cb19711d496878cc802eb172c4488e106c908aae9ceb2dc37cfd1029cb3e363795ee425771a46ec6629a08481629f64c024f0bf0acc202a0ad77ff2614f65f26264ff9379ffdd5ba8c166e7a6b0bb157d8732eba58e285713e2f7f2ff291abc4b7c7c53fee53cd435d47482ce6c61e6728ccd47d96a1a688d73223d42a008dc66ac2107e4b962ba2e6139d80d809924ae4f6a4333beb73007d18611e10b7219001fca2bbf250f2f22fd3e29cbc18a540b71688ad5bcc0af0e9ed1380e5c0dee2aae0c7f412d145fe6e06d6b79062ceeb398bf23b70b3653367acb04c7ffc07b836bb4f949dd6a370307d325ba5008980d9108dc1ff88f43977727e28b8f6b20341e696a6af872810ba27958d0ffec63f7a34d5f49be52f8f2f5a5c47750b418af304265869f77cd4bacb8e1d2f51c1e192a146f01149a2223a56507b3acb65d3d2b560c5915c19cc46c0b2a1e2fd4b5ef399f956214227da549c8a84d9d097538c00a3d131de5748ad8508105aec9372949fb80fde72de8c137fd63b156255ca9fea3689043343ea5964115590ba0c1f2c289b56ec2e8c8b107ac65f8b199a944f1191058c8e14d50001ece4be9e8289ac927ecb538b5b4f49facf70aa0cd808b86aeffe4df53b325c377806fdeeaa7d3d66f97123616d441d63ea792386df4f18b57702e47256ba7d4bd7cccdb706365d76a718a50c6e235583927289203aedf0c46df9651fe25d90a926dfeeb5a2ed04d31298be870882e78b3975c6549aaf266e5646c568163549184f54a035b2c819367f0beb7dd76860fc9812f596493b1e066b30d2a86365641e850ce597a42668192dd050f0db463b39f9ebe8fd8a7de6bf91241959a00fc4b7c13c20a7ae87ffd5b34ce490f61450084a984cc450faba94690e8e8c66704d426288f32d81df1c9d8b8996a40fd7c0e8a54e1a31a38eb69fcc42c96b76306d92cb664ebdcd8f1a45767b662c83b2e8b37a9ac5a1130dd8f9a9f45ac9cebb6a1f6befb70ad9e878f74568613823d1db6933d685215acdbed1f9f6cc43a273e2437499eb4b284afb5e356ece345d1b5a9f56305654611d5216369a0f730fa8dff50f153f2c58d231aa31509c408cfaad05a86047314f14a977df62e9eb803b56177cf561df5b93c5320301afb2eb7ed10c178d5e517b64e6039661368f773cb4af5cb831c4fa2b87780c3c56f2add0b1aa6ba752d7a295bce95b6487ed71a2aaa640f1d532320683311f8ccd9c71702a53b87909369aef1ac415fa050ecd54c3b2d351132d8cc877fc12ce233cd5d506546d6c5ee26370564987177d36bbac09922dd2213952879290a9d797ad3be75849fc6efce7a93c62191f307347d84031e5e150b05dd834f2f8eb25ba2ab632aaf39801eac40090e472b56b604c406a575b665d3fcf64831db1d1abc3115e850b8564208aa78d25dee64a1f959cbd752cb43bb192ed1782aca3a5e185c52fd576b96867e811e24a57bf48234bb9f713742b530394e9ba6e1329f569f9b61b19121b49d3f3cb64da97fb44991124d0d8899024d1c33e5d08bc07c01a6a81d0ff53f059fa54791dfd99585770ecdd64b75896bb213f1ea0778a99a45af525706854ad2dae9b0481a1381f51eb2853bb316759abc72a06acad9a8b49ce82b1a78935746a404219087ed726379d59e0e739f0b772b2b691187fb778c86ac5f5840a46f1b9def632fb05ee06848c88bc2f437ab4b83f41ace6147513958f5ac4af65ec402489f1071281ddcd94574ed7a7d31a42a081fecff87b94b1f0c1bb2dc6a16b222ece8cd3c3d26f46721f1195fe8d436b04032abd5a413369c5f30812e8217d0f1ebc0c099355e936b1e3654a87f7e7e80b0692dec5bd7c70286a936b6fba34da42e5be7e2dc5c718b7d4d2e1472b2b5d8691acae0d91a86ee8384e1a94846418bce53d4face0ca56d4ff75338d7e7bb0988c4302e2854b350a32f1d83aea351757494fca372392edd6750b2425a510f4661230d9b0a47da3e0ca24a31f6ee82493db9333c1e82a10ffd6785d75b28a8991f41432039bca18d26e1a0a54391fbc6f801cdab104ea4b47273412ab1f9011782abbe122cc045932acfe884fae841061fc36b82f5984344640a66be726ba3416a95da41452b4dd22c583dbc7a2178d067aefd597e83d7dbc3ecb61ccfb533b1de04034fc87b3f26bc46b1a28b0785597106415949d9a05361860056766f6af0669f19341d664223cc1aa013ee19e0f1fc2cf4b4a45750e5efad4dbc3f847db13a4dfe95fcb2b67b080d13b9203a10aad94879b228dea22bdc7ef2f7807c2f0d0ec36e9b4130cb1d819546b7b5a897bfb79a8fec22274e91af6a860e10038793eaa52cebe7ee7bc59e26f7dee82cefc24f8dfcaa62a50a083e9e713f3f3ef7f06a063e399f94641b7a23a49c9fa0d9f7e1ae5f4b29ee66e754b145c217220620100d4d76a30c548df3a4752d6dfa9fdd5cb3df96159db0dfebfe70603d814a2e437165fac13a3e6ae48366b993d289256ddf11090cbf76f64bd24ebdeaf0c66277b444154afaec98cfff201abde2044587dbc108bacfc7cb024702895452775ae05882bb102ad8f1379e65b0528a359ac29f47865bd132e89b7a670014c9ca1c33b1a5f42d9014de32a68a0ea1ba4991eeedf9f9a9cd81d487f012dc5c08b60e8df79c5c012fc97328ddae9c43d626a22b4329aea4cba9543447e360d5b29f1a8251f57b81cd4f674fabb82707be418fd136534a22c0439f9c33cd6cfdc2f468284962f6cc3089fd09a47877bc37d184af9caf129646a2727981d9f7f834d721d43a1ce2ff9e07eeff09f895153c8732e97d0529b98014329e8ecb40c2ff5ab06b659b6a71f32cb0378b26f3b8f8420c881bc88fda03660a7d9b2ee94973f54e2a8279a1b3405a30c72e52ee36fca3cb52acad0322da7e0eb6e05aa3509cde70cad9caa9336e359b60643a014d052f238e9fdef05f3d10a8d7f353dec8a2b8ec099bee67d83e7985b4cfb46aa30baf75dfb88ce446d489a5a4cd3d3f33f0848ddc5775aa1571301034469d2238f13ea58fa2b619fdc118d1294917f9e40f23e4bd53de33cd6dc1853bcae1c35cfa29545f6dee0f993de14a4c8fe65b1b23b645c6b640b4b9037e0389c2e79bea922ec9b0961fbf3e2ec950b9f94f7f8139ccf28ae8b2a6cfb19eed3fcc37ab13a2954dfce04537a54c8cddf90ee85d14c2d819f2bade1b0794fd5cbeb0dac6fdbc162a273dfa9a616369fced944495759f8cff5a77af6c46c147c453f1a556cf9683ff2890500decc200baf1afe8c8478d09eda9416367c35d4a5d4ddd4ada2423fc96d8cdc1e0d1f49b2d2b41f13370ffbda24cb174071975de191b4078c63360f9c0f87f293a6766e2a65ff0c02e00bcd9a98fab281b446e32e592bba1c74e7ae4fbd4ca565439644fb931a9a688fe139c29b71cfa80b68c5023444465eae08daf5d9bc114d38a08560d1a4d8b201b5d57dcfa24a5fbe93f149779a646228ea2a6b242012363bb3e295bc7a993580adc2d328238300b63eedf5aba0a8e368e77f596b1c57b8d18c4a180f312b3764d0e3e11241187b4bea011c9790e0cf317527eeab5223610077055a800c6c02e1a5e9a0500605cf1252b3374b4bdd4fb44de2d53f47bb23cb71b241d7480f18b3adda6232d6fc13f5214765c6c1dccd8086362d2be63dc34b5613f71d99ea3642b1ef9777fd4b85063e82e78f2ef1dcf477ea46c60ec96657b33d6b977c3fd30678fb40e246b71cdbf65322e6ad29c688d004c11909b40e270a9d731352a76ed670bb83aacd835d575abb606174c4a7b40de5d98409ad7388486db0ca844a6390d7cfb0d901faa10ab41673588278a9956ae3dee4aaab052e24b76a84d8e7307f7eb904e4e118f30f3eec44bba1f802595daac867b2f36b8654cbdb4d353e69512b009b943a031da66578af95a88c5666b55580205025d6e3b9e463bbc0c59709d13f2367bcec9debf84beeea197506001280b4813da662e650b8210b1def5e6f170585065de0134b73c12f626a89bcbe166ae3f127d4f4e1e820bea08029164fcc1b049ebd901a810233837be0bae6d61369b70e0d0688a5eb594ff4684414bd88cee4713f2e3188a5e162dc9a6bce4688d279cb40bdec9496cb624b011f3c6f064482dfa3b6d6674e69e6f9316891686b1b8fb59b85253671332a917f32053c4df3f52b81666674655e20274ac44ff89a6a607b08048e7ab3c43534fd962be6ab782ca3083bd77b92781bc50d47e879fee7192ff8aaaf51a5c96518d082f2bce82a998886cfed65dc4c29c65fe734ce8dc82e0361c19eb79815961653028196cbcfab2c3abf51e8361122567debeaf39a35c09a6a0688422c010aa74292169c9a9b0ccdba0246fdf8192acc149435b88b202d11be21d1772363479daba3340b27c41358349dc485e8dfb64607679c1a2051d65ff39a71335f5727dd2305a1bb317494bd4a2a9b9c7ecefebafaeed1fc7ad72437fa80a11bba053022d0e6bc108bf235a54c8a3bb0ee9df925af00c3b0ce332e2cd651f0ad9e6fb40b23338193a2fba26a9c83d9bfa33fedbc193b76bb578297a3016df77c161ee745d4ce40d7fd81587cf839c2be0991ddc5372932d55804b11713c9140d10435ef4b316a0773e3506eec79cdae53a36c03609e5a3e3cc4b6e117a499db7864c23ec825c6cec99503a45f407649b11fb25ff08d8c708e098a22d013c5d38c068d1e398eb573d2055c053bffe75d8d5008b73f90cb92a8f8d4d9af745809ceef47af4cbeb2ee245cc6b153f5223d5e2d63bed3e418e4a251b05558b8cb19c59254aa27797d076861feb64cad14546f140145e43cfbe314ed98e23eeab97074b9bd837aba4e8099092753c168e008b2a93f91ab4c8ee51e9e60c4279e51329f3358bd3d5f32311bd537adaee399ca489b3861b832a5a9d1efb296717647b83afca6f0281f770fb9810b678b80532f863ab24be7656290ba8eacd2e8fdd5babc0ba88a4ac8c2ffccf3213e702db47c1156cf7894889646aa615caa231b0a96c62fc18ed6cd393a19c2f2ee4f40bfe67c054d2767346284000044ad8957e81b64a0647843c5d6679195de283b224b5c0346b68a80847f05bfbebb7aa38110c8ff826e0d863793c0844635a57d770ed27568efc0b22ea31d090bbcdaaa417d1cb772239464a2fd7d9d2a2f3ce8f849cc425e282cc182908e28d33a74a8e987cc29b58dbbea7f467474f9629d476cf2d391033450633b731cb5b592241c29589a0e93850e6c515a5547e79139edac58ad0603e46844cc9aa1bcfe999b3147414061a1896b1d320de08ca3b022758e89095c7e442211c0af08358200fc6b2ed02354856da9fb47f62528852dfc0cc943467d6bd0585132c3f7639d036151d792e121ca92b4b067000652789a9fe9d820ae0605c161d6f2d2257628ee9f934471e71efa78dcd8323e05e357af4a6689730aa8fef678e1ac882f112b527993c272b03819ddb1646093d111f460e1dabda764e67ee933c483a51071057da86f0c3b8eb6b79b66149a19470d82052ff3fcb06dfedf7251f6e747a390042cf3cf14bbb5d98e25b408f19126ba1cf827decd3222b5ab7e6fabb87a4b5686a943ebf047192a82448ed68181095a42dc9adeffba5e0641c5fe115a5da5200d172c1e55f9eb512d3fa8e867c1414d65016504f4339eb697e364424f563eb458a0301bb5628c39cf4b4f9c8013a10dc2ceedefebb356f00baee79b1f72c9d7e97856145fe5e417de3413d03ba96a88b88ecdde302c8122c101997f17ee1337c839e5d3b67007ecb8a19f14b1d97896694d684199b63733d2039095f0808350ed994c44b1b319ed84d7bd27bf8758adf083455e99ad4733d2039095f0808350ed994c44b1b319ed84d7bd27bf8758adf083455e99ad4e6ca0a4e331211c0b453043bea51d0e5bb5550ba5172555d1071302ab5f765d1e60da3d6693b4e7dfb28fbb9a8e9971969ac606b384f599edf7cd125082062f5b023ad2587940ac498335351629c1e5b395482badcf16e2f4872c8762dacfda1442f0b0dce5bfbbd39e995a0a0934c3f169180de09f14cb382f40d13b2dfa14fe884c1e285d7071028c1a4535b20ddef1d2462b81f8026d34a5513e337b5b155f0e896284a1fc3df3892d34a965436fc0bb00b676c22eedb29686551ad97ac1c61ad4961c4c989c7be0e7b442e8d4b69c011d3c93ee4bf96f3fee7d45dd3e064457335db2c82e0e9666e3e08ba2136814ac85c35370c6a741f1f0660c711d47d47ced6b868c3bf8252cdc2145573c0989acaf0a3191122969d00824c8fcb299a922ba8b838415d556d6562d155fc2244c1adb0fabab0f15d8a675de9beedb5f2230898bf66f1695da8c9e045250a8ba6e26ff8e08277e18e9c1757a1cc0772547c1b361f1da89746f95e5f2ca4723d4262bdeb5a7522a96320fb1788a16be7f8eed3497e064374404ad603bdfd31ffd2ed069cbf42ae978287c98b39067abe027c868a3a06e2ba8c42585f0581a889c36e76f7b6ac9f79bfa08330818bbdf3b91f9488564336a511d90873f86dce03b5b295e052ca51acb91e30dac0a0646cc72abb3b4306f445bc6f28af91886acccefa72eede240a6a2dfac6968b68317a63d15fe0cdc056ca4d5215810172c12061568f7f0dfe519b5c5a5d1eb55fdb82f0aeca0af3a1bc8c350d3e2560e6ebb77374ba5d5378c33f5d97fb72d286a373024f6bb9ee96589a9adfdd954e53788767c7a478a8eace64a2dc8a464b7c9f0ab73364a1f4ebc357312aba9fff858622a6e02a5ef0701074a8a0f3f3e267810b2ac8c69a530b5a60b938cd99d0ff0604d96ac95952a14d6fd38ffa3df9cdac50a4c58de737ff2c044c92222398a931a603ed7c5364c8f5186700848e515415086afe7beaf0bdd853302cc5a33bb71902007e7057dc4e64a16fdb922ff3e06588bf31509a7884b9b809e15f41d1ae30c9b7fe25ab1d28efc61b86478effaa5e96e8becb85d44c12880b219241ee9fd94593d8a397191d18f0487413da3a516031fab5ec76afbfaba898fa9f18a2cd8e2e9ae5f509a10bb08d46966782010a1b0e5a749e6d1c1a93f20536d2949c07479ec6a02dcbeb58f755e4b19ef75dfa762a8c749e6d1c1a93f20536d2949c07479ec6a02dcbeb58f755e4b19ef75dfa762a8ca880ed943e2724e1cbd11960fb6ac0230f8f841691dd0f7a55b9f7931cead17207ae27a13ada70044c037a86214988ba4e4e6fe358c8895d9dd34af8a2559a48e90bb151413e34ff3fd6d40d8fd31a723b5ce78d339388fce59ec6d4dcb2d9c23bdc3b5f506430a9054d4ffa2c703e34ed6e31330b2abd0881148ee1295608fd8b41311d8d185d482d43a4c7f6cbd1de535ecd0d191d4fe6854fe1a63d267fb4882345846b047c1df0c2129f3a72a3ce10697ebcb809a6489409a0f26682f430533a00927abd57d66d3a8081e3c7b40b8568421e3fc977ac107e79e4ff1e7beb691436d917c372949e3442aef7c85fc484ea40c22848e086c021b55d342ecd5a573b5fb28a837b752f4e46232a5cc3febbb92e34c834a620eb5b04fe5258bc454038123c0fedd6c22c672e4db58660f9cbf2813a52ef06fde42eb6bac4ad5f232b4c633a5d67551351f258df040d669062709ba7af94f7a006c0e503b8ccf86dcf4dff2d9a43c07d23ad4eaedeb60b6dd90284ff7d9e46a8ec91d2e42fcfebd8576a76e554689ed8168f3f2e1d07a7dcb848f8e81ef2541a9d16667b1d80537a08db30195ea53523793f16523c35f91e1bd5cf7342dfc7c33fb838361d1d75bec41888f5348f7cf6112e212c2158e426dfbb6eb5a504a9bc819d3af232d7ba0824af5e0a5aa2bb9b422bbfd230b6ede73dd9fdb83d9e8402d189edd022e164716f735739d044d91ffb148ab1203915b7688fbd9826e7588756aa7e2996f7a38a01ea240eb20915409354bfc8d997630c730d975f13b97e53bb3fa7ed8986943900c3e788d82a262f1384087f2a271abdf4ae2874548eea4c81d8e8874bdc50f7f0548aeb417d935f35819a00e6dd2bd8b025ac06aeab296452d5c0e362930ca665d841351273da832fd5b8160412bb7ef7352591d233f1b3d2d89951211d2884b9bf22fedc65cc8b6235fab47dfb6472d107057b359ad3eb638a3e4efa3d979a9e2409e31f03f1bd67eaaa7bc6349db615cce1ccfe02145b68829c955228af5a6b7d51e280866dc34392ce5027ff08a574ae8c9663c35661c6656b0675825d50f15d71b98f4b5ac30bc452547db7f44a4258bb2d05d66448a6ba33ca7de47575696c0ba28b64a2362b448e9cc2db520f5492627084199d90886dae4a6a7c057e1617311f79e09ad6cf7b3c8b2d2da0d495d46fa46b7864d57cae9af114f9cb84552f08ff91dc1a1c8c747560147c2dd81c84337f13991c7ef150416196e1d90f576d1e8406217f9580726e66071bab37d60cdd9e7cbc07d363e8ab77313b03f6d1f6c7d3a27d7e4cf5004ae0bf4b92edd50649138e8d29f13569a9bf28f9fd08b93f14852692159eb0cc2a6933a6322275f21bc1bf0882ead703e61d282ebe1cc18becb72b64625630e35bd191e712fb3154e63445bea8dc935fc5b2506253dbeea94a391a1d05c927f8d1225e38e1bdd2b7de88fad791ec897da509d9ff1c76ca3074286270edc2b9f703860bdbdabf4d07b9aecefb8cb82a647e66f7d3205a5285a26a5f64cd7479fafa87f838a24ad17d2d0b91ec7696544cdad733baa063d30922a95b0f044cccd31b9d9371c9e3558a858229d5761be443227771c886394c92925a5e57bc9bbb8abf9b063fd8361ab0d73ad3dad269434b5a70b9cfb300c8c103626816973b49ba330e17dacc4bd2216b7e06057cae5d8a5880b5b1c7491a8b5c7510ef6e5f751ef5a55b5cf4d3d8ae5184d34a91b2e07ae6549fec0c295cec29e8a9c40035f0db7f556b9afdba056924e5a869941343e884f7d1a9ca1e682c40525b949e0464aa49538d7309d54f91d3abf24ed82f018f47262ca204cd5362cea9778597f2a9b818ed7ae14c548370a64872481407ade32c22c9807bc57da0deae812ec20fc8c7fe45e4d3e3adc2202f526cb954cef049644f4f4680be0ca9562a04f3ab9404a6eece7e70125b63f508ca6c4eb1d82c530cccffff48c5f0b89addfdcef3516eaf5f7796410f7ccbaac7124844ed94aa3a96a3f1c31c5e5e8193606e4bae3a2e2d3224213e1e14ec6de4dd551fb0186e1040d9a65bcca172799b228c085bccfa109d8d9f87a0ea3ca06cae45c7e4cf8c8b2bf515f9d22e690660bc4ae6c7a67227852d611ba4035ec67387903bbb9a883b02c01a8f174f7c6bfc5b752924c3176262769cf46b9a348f367c8e704f9f2357601ac035a96ad7c55b1cd647b2292396edf9b5e659079ff1fd58a66fb3652eedf14f020cb385c14c5cfeb4542926d5b96f579abdb2fbd8fa7d9a16532a7e7f790c1059d27155010f5f5b48975f06ff8007c482c64e15bbfcfc5f6b1e4acee455a41ba58be7ee95ecffeb6c7717120de8b512e8d770b86467e32659d15a9558921db320bb8ca615b707ae163b43b04ed27b7e028095316a8f3cb79bbcd07b74f354c811551ed2cd31a453039ea89a71673d8b72c96e67703fd1fff01eb30fcd1ec3177949edbcdf472ff6c7136214834d013b80d5de8a1a7b415156ddacdb04f7d2a9d21e2c1281d179c9074c236c3d375473d8e665d645c04b756376fbcee1e441344c1c8bcf956e05fa01c6f29967ac48f05ce0e53410d1d3adb8e04d85a9d356e91aca67499bc87ccd1f1447fb21cedc9e08bbf6111767f8f8f44593c8fe50e703ce04ccd58e30caa99ef50807a811ff6a74552b9b9a8c74bf522c1054480efb68709db2a63a4baff15033f938ccd483663b1fac7d920068d60436b91588b854e93b9be413abba0d90233dfb46557665cc4fe23fb9b77d0407947fb1405b0edac78e6751b0cefceafee9f432360eae26a2236ba7b23899c8e0d82da8e411984a97533e7c8861a4388f367f424ebcd1c1e8e03ee94a03ae18a2fec757a156b98db9a3fc5690c6db951a76f7e56e53be24c547e557e14026dbb8cfc3fa9a00a4f6cc645d379d5491b0d74f90511dcad35daa3394b4c6e96cc6a1cc0272cef648f267d014c80b1c0f42b5a142cfcdaea9a2561783db32b6bf5a605678686cfe83943c4e08e3a9bfe6daf3d4cc85caf061bf7d1704d34864633ef1c463f62d003fee1cdf4d5df6dbcbdae1d0d8ea8d014307a20019cbcd57765c91cfe9287591e963740e2f48c289035d3adef44f01006bc263b2565f535e2df5032e270e16238c69f5b3b56e83a7d93d932ae55c47562d3817efb942f84b118d1c89fdab6da0bc4fffbbbd001a3ff5eed745556da6e6c2cd546017b7e8001bd2bebb2a8a640a9557add01958190cb988e2119d96442df26b060162bc3c819e4b0963a6c6913dc6a9e3c96350f1e3482d87782c6be303ce9137a016f33547864fac36c541e7189afa3051cf3e9d2807740cd178970ecb0931071be790e40950c7ad727db212675e4ea169489b12970c5882ce279ab021dcccc0c065d59e9cdb18c52e215b65194400eb0d64778889a9c055b302fd151cfea916e7a66f78758d38df54902b711f344028d4e053762284b656c1fa333245aea91a13b754371f73a4f66295238aab05964f3c1dd6cb72c3ed10153256ab9e022bd504c10d2102ba7485b911e5733ae326ef87846eec1204f8cd71c2fe751d9693103ed54d54be8a77ce7e50d945bd6a578f764a2ec54b33226a72e22ccbdd33fba82a9ba8a25304af5e3dc5f8f166cd41333364dc4ee90ed08e63a0f47b4682fcdbaf522bf32fecf97d1526222d188a239c693fd7cf52ca32dc5459eb6d416bf3a7d1447c8ae4bc6b5741225897a0d56215e74e9f9357b6a2a88ea789016ddf78f47d1b928cb50b94079b2edaf3aa44ad066fadca72a797b1883e091c70ed2b48d595a8c8d0def7a41c155559a0d373b671a6436fe3f5cb7b4366d0e16ab0f92fc10aee933e94662e8571b80039522def351adc5f9e901399fe65ac8c692fb98efa2e8797096d3cce977a7bebf32fe3c2d80d64444f7e8dabc349283ea8dab4f06ca4e725118b952d5928fb02e09b14ec12aa0d263691503a0683d8ae53aa5b5b1c8f4b5d76631a78a7e7f8c4fbba722964296c4883b990b1644175df6e316e1f05b32782f9ee71593ba1d8923d4c748c62d6b79cd7b812d72c604e9c91cd86c9dfc62dff2c1cc442def367b76f03c5b5d1734506c520cbf141d9ab95485f22d0329acd6e9f53015044f15ce10b7696fbc2a839f1136e1a328e97ddaa19fcb71434d9e3a62b5b81a33ed8d854e3dea158bdff5eafa81af596f6df14c7acf5f94bbb3ba856020c5d239be0536795b0335ccb24bf6f5f9fc93fe2573c0e5243d63a85ce3f5015b214dae332253b99b74f013a31101da571dd00ba46c71678ff77585a6d1450699c6cb37404833b3aa6462f14580c8760df90d0a6e6ad195d84f76a2d4a9f09708e32b33060d80deaddad53895a031f312d8b1d58e7da059b4ff5e62fbb8864b69e47866bae88601324f39841836656ac3544ee6c7289985baa22104fc13cbd3d238ca16239d7543f6d450e6a5943e6364fc247ce14f35c2ef8073cb6b7d2427e95cc8b71600bf46f86a64d2b64b8eef58a5df5f5073302d92e6b6ee73f04b98109f0ba13c3b9573853ccfcfc5e471e048ef85c64a066e756f537ecdc4cb8ec8aab9506d76b42e2c79ba73a25a82c0c20b4e63f05e2f3ec3e79ad1a213a70127e9294e55212008fec9432a636e402c6bfa6bd9bce1a49b4e3076bd1c2213a0c72d76ebbd6f32b0161af4ea415df5a78894e9833b1c22acd8fc52e4e961f4cb51f492569bfe2267d94d76d2fd65a0ae0683445913417d46eae13350919bae48e400a7a55e1a69eb6c8a28fa50be41ed3e33445913417d46eae13350919bae48e400a7a55e1a69eb6c8a28fa50be41ed3e36022ff77d180d30a7f0788c7eb7805820959cfded00e2a506f72401b21a4d6242c7dc964f7fcda65fd9197cb0aeaf037a285c4024a7b473b767ff04e49b39d37b978183d3eee654e15484f03e287fef4c6e0156556c932d67a4a4fc2bc8a5a1a90a87c6d3aa1066bf308efab7a4dd31c3f127e189b6576fee4c28092e6bafbfd8386baf7a485c4eb4097d4daeb0110ec693b4b6c403980d6ff6a3076ce10446da7e1aa0be5ed69ca50b02869c6a07452e0f3189cf6e730d519cd572c3f50665c4ac72e6d7e50ff3bb5f77ff6d34aca10431c0ec03c51434c165daac29643efd7cfb84d6333654c70410f54e0cc87914f58cbe8ccfd58534d6e70751e38a15f6b7760109e638f56f53f162080f673e8dd003b4d09d12240ab54a8a204fed9bb2e6a45045a5cc790b43248bae2badedcd4bcfbfc0f14bfa1a6203d9afe74abbe005a4e61c8c969ec26ff4c082502198f11515e8d23cc63dedc4f3f6fa31860a781bd698a03ef885f3388b337f5e74c1b1aad7e393015053237b2a2278eeb4805691d55dccd1dc7fe73fa6a7460316f37e71da563486590167ca8c2b78dfe4da2a9382451c2a3c84a743faab2923682cec56b3a7467d5b0fa0e8fc79a9a2a7a87292a7a2423c226c2543cd0aef4485c6da324196535c96c19cdbcc1e700a0409eee39b950d20a390e386275225af5b1b9c853d051e97f1c331e5304cb5bc95833a656d6ed11774fffa11ac59fe144bdeb3fe1eb055044a9bfc034dee5f077e844530bee701419063aa4a6cb98f59633f61001ec4cf9b3e02a77925b2b5204da51526513b22814393e705f9a6a4964c0ccdc6993c3de3bf6c2fbf05570668c253d61cd22e91919e67c262609e5359db91aaa4b68961b3915ad58fc2f089d71d5675607c230575d371c08ff488edafcee3f34bd9b36f1b824b692f72e86a73e71b95e6d16610ae67f54807121fd786ed96097130501122ecf8c596cdc7c52637d47a3b06282f38791446367e894bd1c8647f18bf698f98dda83c87335390b622dd83d1834443737b177eda413c3601f3c17e628c4132af4d45873fd9076a7bc7472bad05c05fdc6d249116174d3a94ca412327d069ca7173b987d13f08f758a7fa4e0a8fc1f7a1c11eeec446d377d3c35f233b1f1ffb5d8f92d7c9b440f0406615daba4d14e52947f5cd4d15ba6186debe12f8ec91fe60ab8c4f84e7dbea2c26d2b2dac316e9fb03f5d4322aa4b30ea24e6ec725aa7ed59d70188362c21a12453f422727888145be7464ec9bc021fc991da80af1e9ae1973249701d82a7779c9efc030a06d41c96b8d8b485b8a873c87a883ab3a18dfb72d5411ba86ea66738301b8c5c0cc009a3d82ca627bb2de4f5e28c11a2cb62fe7df700d2f8fe3f58f73eb053fbd6be6e4dfc7cd18338be40d0cbafa0cbfff83183c97bfe1f2fe18bd94f55d57e647d080d00d0e0664e4d155ceddd2c5e89b96a5f6274e247419b289e3abbc7da64423e568265a10ab479d068d4f8532578cb8520a76ca6e37d6955694ee50badc289aa82339d9e13d67ec25a2405d48752fbe4ed1025e2253beef5cb88944646de7f2fccb5f89516e64b5bdb1c4fd456a09c9cc680dd64e0756e62ff5000ec78c4200604ee709d64ea5308f44f6be49356c9a6988c37688ccba0590cf83bfa3be501e600f8b2f624b7f0ed043b0f35e17eeca864445f835301e1bf7200968719c49b8fc7102cc12476e215854cd228f1f8c0d316f0ea2df6c183f167e9724a6f60381434ad60ff390e67913b4d072ee7c2564bd5763696ef1b299e1d967b33758f559cc68f6745588738f25d7bb80d46b93b23751ccf075d91486ad6b92a3f354cd350ebeaf0a5209e181b957ca5a3fc42d29ac352b0499ef1d3d8238c0e1687465f343fd54ca96b50bafa7ecaa15a2d4d3b04a40994182ce63593992ea3747eb9bd43d243e9bb5bf5a62b7de4abaaed498ac4e639cb0d311ebba116543e387e595423dea975860f4a6b4d9dfe707a782a92541c365d45bf9b6662019a8d10ad8a7748098d32a2393a27a4e28d89ada74ced8b02377b202539b7436d7dd4e50d2c168003551a723a977b534ff7fa217ee5775c7a4d642ad502ef9a49ff0260ad49fd14fad46df1516bd46d8bd980793d561fc4c28d7bd0f9290deb29b1ebf69bee8784d40100ed283fb1efbb9a8e9bbcb4fd1870a626af3781fb48f24a67deb2bc570e773cc341f23c2d5c146604ba6e6ef5695a162942336f7af601517f5c784779f5a335632ae6ab56a88cf64a2e0c918b1c7fb49d3e9f173fb25fd0f09462f83590a9e9e26a5d7359f863ed412aacd29eddf248f81759b09c3c4893f4edb5008e594fb04bca70ced73f410076bcad485e67e502f47dd561a995529f72da18ed012e1e7b04d6092b765cba23e30329cacc12de939cfd48fd4469c98e90852d31f986be44a9c8b077ae1374b88bf4e7d44e4d3f604545c985a2090c3ee0014db1f60d3d78a4ac0b41d9ea75cdcb26445a7f611c7641023d95f4aad50c1ea37cb8ed03f20d675642e092306e76d32d962f9af54dedc1e7e9cfec6d7efed6a640f75fd0ae931c110cf5a4a4977e6cea40e4877f922289ac8685fa6c4b70c5725b00927809ac9809c9b58a51771a53d4ce06327f5269b6e08912244958a3ec06965856e3275181a63f52aebadcb0d589e2cf3b3e8437e77fbea289ab556e3e3e6533b53be67f79311f5cc5d7fe067cb72af5a8751423129bfbc98e1ce9877dfbc9c59f42962f493046e81dd0dfe715a0a1b5ad46e5c40737ae273b43166b05bbcef35d9b3492b8d5267ff66eb164658d1c49b2982237f213858195766cea26119e2bf1d9ae07b80c1f684454c01b9364344422f7bcb86b2dbb4c0de59668042780bcad383999f03994253ad319b8345aebc6d701a6deeabec30661ccda661003d576f099abdb54f79f626589852ef1d5bcae7a22790c0cd39a8d9e421946fbb241aee4698d17a21aac8b1bb2f9ece40d22c6f3218bf0bf7c1ee6df8fd0c63acd6c3d2c3a8a7d0ca0f638805a24e053a8df6989353fd65aa4fa90695ef016e81565918f4fbfe822f6e0c0b14a3358857ca25e7c3e82f7e567b8ff1f80481af41c851ec4914bc2330b21b98416d650a1a5f409760c02b094e21001cad43ca357772d0f2e7f1a5cb6b8f6547399d88ed3056b8da53a735b7afd60eb0f71a0867d09d91918c26bc5a6e3f55c85934797cab21609ca27fb4ce6efcd8c65a5640b5cefc64c7c81c50b38477437d49f71e8414944012833abbf643e74399cdcc43634a9f28994a2deda243ba18206d41d8185d2a091ec33512e3bc8c27480197a825443b8e92c199731db1e00fc33e79c4d035e6235ebaacdb21a58f2859f9a53dc5a0b776c3e0b8f95dadef20835bddb2fd4304b5b49d4c9dd018e2ea3d0b3827189fc43539322bd7ae8e520e2e00c6d11ac5cfdff4f2f7043cc1e3a1660b12d06baf4d4036810a27a31cf7888a092f9ca8daa7871efd66c1c2cbd6bca5657c3e8a6c90478eb9587b15c2e6709bff0186353e5505161c2a153d6d4b84cdab8496904656ede03315a378fb1e044513997b9b4dda56febc519266ea0dfd926821f84b6be01db32a4ca8eebf1918a5d0b4411bbcee5890fcd041158c0de663ef4eaff024a850e05b3a650ccbe7942d3d0989518017ac13fb6d2ba46acf6b2f8f3685f94e01525d49694e7ca029f41b8722a883589279b0e31bacc5c5abfd1c89ca621787c66796a8f3f0315676c8d9bf8d070719ff8ee4ae223b28a2cb1361842c3e2b96c902fd3001a15a8b775268f30c6a77ee0d4c9542418591429053277ff5ffc8d89b585ed73af3de59c4dcf2feebf19d175608e1c2ea9936272dfdbe2e77dc366375ac34623c882de3c7602a1a81b34b830433d40327f2b2f9b8609aba30ad4b89f20d64d2b88710e48e0b880a63673ce502913a123058de596abd9a803a199d4200281e64f08e636184999f9063563579e5c4f86758fd655ace5c70c45bd6594c37d17655654acfebd410ea165dc1ef242f08a1904c1c1678369657507e9373e014568dbd65e564758552aea99d3d06e2ee067a568457268675d5afeafb222a70cd79f960d9a48da679814d9c5791a52680b6ec5aa6ccf3f0c91f47c7ac913bb91a7d7ae79d4bfcb02926110f44fcd249660e9cade76befb19cd15f00da4cf8a80ebde6acd7d0cddaf5e9f3d01a2dc372de8c470c40a43608c01305cb98d09cd4616fbcba7cb6739ea1e16377dd56f2c04e31b23be6c1e3e5f907fc34f643578607511cfb88f1abec4ca501440a7c7a3d95b335da9aea6232a622fd3cc379cd67a770161e000cf6e756cfb54fe3e71da8457c80538ad79c1474fe680ce593593818ffcb37467f8c4aeccd1bc4ffe21779fafa9f9c63b14a50957bea9b6d3000e5dd0ebf4807aa8f75351d1feb7f48cd0314f945f5a713a6f743c8fae51a38996ba6cdf4ce4740f95066e1cf8f84de5b4ca61d42d8d212ce5b726e9e7913f7824929382ff7e3dbe3829245110a1f595cc9f147b09d987e66780cce4f884c2a33e41f5260df9219c2bb928fceeaadb0ea7a045d30bf2b49cce26770dbcd5b60a00f0f5260df9219c2bb928fceeaadb0ea7a045d30bf2b49cce26770dbcd5b60a00f04b474bb917bf217716b32aa6ee94d4386e000e84706db2fe03d736b7811a84696c8cf5056633a51c407aa144800d6394cb9a5718a3dbdf58258c37d5812a31a095f4773180844886343a69407ea228f15624caf49f7733fb0d3a2ceef9eda2e495f4773180844886343a69407ea228f15624caf49f7733fb0d3a2ceef9eda2e40b88b3ab7b8e9faa857141469500ba9c10a24b4d58213a92f2a1c01fe967d0c744b00b5096b9a711ecb3a96b344f80e7670c13043b88c01048f1dd7494d94a6da4719d971741901dcb44289b8cf463606f9fcd96b175e531d8e239435a945311dbdb2103b0fde1ffefe408223f70e792b5a5c53a9a92037c4d575dd20b8c24dd1f6c8e09a6bd07b0c028b4fa18c519719eb895c699b986d29e488471f2a939f2f90dbd441ee5da368c3414ee9be90f9ac8b54b48b62f809d4963fe6c4ab51bb00293855d4e5423bbfa172b9deb1f433b1c7392732ce664617623f1ac46b278a1612e900a9020e303b57ffb85d728d109f963c4b57d7b14e3c73649133749bd091fc6d9794a9ddc8f32d5e5a147f5e03932df093be1808ab2bba1f109bec98ccf13802ea6182994224454af0d590ce109080eb546574039cb08acb15022908e6d891bbec4b2ec95bfe4b4d38f90ab384c058f963af10cc92c1674aaa36e6af5d008c3a8a28dd06a1534c31de7fa035d9a9aa2a3915a9c450ea2cb1ed177d2fe3a6ec6e8d5d19813e822ad9e0c73b25e31bb2029643e59c7073c094b033777d36f690031ed6eb6ced6f6bad1930a58374206fc883f734829d38618a5fdc21d2fce5da63d3d34cd8781bf501877127c0175955f8e9fa8d3f48be85540c785109c045da63d3d34cd8781bf501877127c0175955f8e9fa8d3f48be85540c785109c04211599c80c5983d603aa856189425b059a53b4dba76eb690a7e21db082dfa426e1d6151cfa40ce9ea7a517ace4107b5cec5e4d16fe5fe42d84795629457b519b8e674c4baf4534d4574e28ad52af3bed043c74ea3dce01fa8a214fc404564691ec5ad0b5d159dcc9f80827f3dfb4ee2fac40d6650e3b344607a9570d0c71be6e6f8a037c8e19a21677088f48bc15dc36e2e2ba93eca64b8f6f8032779c22c25cafd0195e85061b64a8b07387963b6335c07bf14fbf272250ed0f119e43ecee5fc4eebfd83129b7eed11fa083d58116bfc0232a34f142c6a52962cb6f400b6f0b5eca051e647f83294cc4685126b4077daacd9c84ff32ef2df6801e6d13d179c9186ed18ab8a1c2ba1f13c7738cc0dc6d07ce5648ade0c5e86da07fe79a8fd3d0cdacba2cd67734896ee3643adc8093de6644733fda546d6b5cb3a4276b5f6ac7a372b2f4317d888fb0a461c38b9bd9b3bb29cc54a500d60892a82abb4cc2900a7f3c39bd0bc77217c91ef94712bdb808c4d8d86c3cfe9aaccfbea33663140657684cf3b7571c14cef5a497c6e9daf0cc665e4c8fa7b4ce3e2cbc413f26855cb07aac1e08fbea6b29f6c623bd02abf805cdfc18a38b71c6ba3dacd3f53f3bb9f163b3bba65a9989b254208c910d33c7c5429804dbe5e1ba2d157be3114034cb40023db94ccfcc21ce401219a4e06753f55452a04ec51709dd963f79b0dd975a805fa2c8b9e1dabaf4717cc53458e9c1800dc7014f6bf80a23231bd4c99cd80980f82e7f39d44d428e345e27ae3da48aa588cd0f074e5afdc2134e5d1358a37d0d351f5b776bef64872787eec02e16602aefd24b68faa811a1ca802294c2f0fb297a653ebd6d151170df2bb1ac183417fb772f9ee5a6ac244d050a75cb034d152b0592d50961b9c5e86a4c3e41cbab6a690588496c751dcfc8bb0509756e70c52c7c6142f191af83ba73c3ad0bc7d8a0aeae75d50d2d239443b3e6c65c214e34fd7c6142f191af83ba73c3ad0bc7d8a0aeae75d50d2d239443b3e6c65c214e34fd21f355e2d91bec576b71c453cbd1917fdbff29d64a9981a92f6f8389edf4ea8d21f355e2d91bec576b71c453cbd1917fdbff29d64a9981a92f6f8389edf4ea8d4258783fdeaa9f38a3ee88feb521c1336b46a42de3176e320496197b3e7ed1d91f00a907b7519f533f9918df86f99976c7e16c6d266907dc495728f269614115e8c41aa901d4fd984520955a5f228b3321bdfc427a0706f8736eab61e610185293ca3be15569fd9c35d5599b84b0713e253a0b3cd39bb35b68dc0679678d9fd0395462c562fd029cbb1927a076fa7d88693e6a9a3e350d406fce01322d7697df3bfe9839efa2478ac72333679babc2cdcc3154d3c64607c05e1873a7537d8cf121689ddb6e16cbe926435531a91b2eb708930f326af9a8f1406c74af1fbf3371d89ad31c962adbadd7a2c4120bf3483f44ee7d4b13946ed652bfa546a8c90ae028cc2f94750beb344d03f5cc6bf497c1b9bb44120d0ffdec2b5e7935e4a8708fe3b4771f6904eba3ed28ef36793fd57397824a035ee2a38582a3883d1765a7d7cc70badc9c7e3ea650d9e6dc606521686eb6bdf9054a495073c31999aa44ed26078d8bbec13a1bbf3aacd12cae1b5afc100d6b382ba5bd16a1204fa8aca3b7987ec65646a197651da098cd23c6e8a880a5b75b0ce5ccab934515988b0b4e39ddb64ad9d1eaae2d2213862500f3ab9d07b39d742ba451878a5a70c503287431a8b64ad9d1eaae2d2213862500f3ab9d07b39d742ba451878a5a70c503287431a84ee8a9bf1e0ab917dd50b369aef7da35885061714e1bec1e775d0f0e0067aed1e0761bfed6c4af6109077900bdf8121f212b35319b18e98746303aa368595ccfe483862f7bf902ecdcb35e25ec62b0fcf7d774a74d0d00b764830e98bb99cf2b6b79d1dee6d03e4c50d9b60fffcd98966e7fad1ef3caab60e6c619a6e2ccb46e92f24d2d0732a9ac48fec12d64d195a4a416604f419f2811bec6b02a0233fee4a01b86ff73dd15c799b8a5a188304c12b0991eb9ab2ac7f52b6083c2a77d742b79b02d6783451740da05963f5bd3546f509c8e7cfb2d1f9f887734b43dbdfe2379b02d6783451740da05963f5bd3546f509c8e7cfb2d1f9f887734b43dbdfe23220abd6e7d1cf2d921dbfb695157d8746925bb2fd02259aa0645b7a239b40f2702beaa01ed15673ae0eb5cfd317c151042cf769d49e58353f3d15e0bc63e90396e5eac6d50e862c4e92bca0a670f5c61aa57dd4616fec16040339b486fcc14cff01895698faf217aa670b549cd3da6a2ab3d59054744e84545e55743cdfd8ed6907a57ddeeead620b01aaad1a552f386e0c782384c3cc3d1cd2a8fd05d7742a167f5f195da9d1e0d4be8495c7e89cab15f7e3959616d40aa14d58fa93f04790e8fa9a76e2bb0de131e890d38e1c4a58d11ffdc5c566608e55b292e09f4bb3b3b56a306a6a0265c8afc19d4a62605af508859a70018bc3d797f44891c5bf1cfcfd0dad9c61dbbf976b8149e74a52338ccf301bf9ab11b55d67566a55ff8a4e170cf523eabf6157f1dbfa642cce66cfbccbece7205a247333ebe553896bed27ecf32c065b403dc9c1e5b0426364c9516792c3fd22fe60326336b47be7662758e9832c065b403dc9c1e5b0426364c9516792c3fd22fe60326336b47be7662758e987ff26296ec33c619a5b4c6e9b4843ca80d3761476048d06bdd1c1cc97f73fb17df029767467c965736bb1003bdb873ddd1d5e982f246b0ee8ceb1a6d795f7c24c7e716f7bfc1f312abeaa41250cec86648bf052b2bc5cb0070fc4b99e7eced609bb1ec3e02ae291b13423828bfa560d36767ed7b1ae76c6108b9aa2e33c8a198e50aee1163c4e2eacfb65093e4483cb41432855f5f7c17d92008e6328ef6edd3fd4cedff0435fe59b91a710d105fecd99c9af8b3827c6f94080dba10b0740cb83a1736aebe914be9e1b3a4f900bd58c90b5aaacc7a055ac96b4f760a2c00bcd3e97f5f5c369af52fb542f950d453dce8c64e229d96a9fa21729906598b45f8ddb8e1688a83ad1f9928dc4e7da91ff31c7b1513623d6440c73e0e9c3262096a77c51e2840a05fe125e2cf4210fcad25c38dbb8efbe05fd4a21177a322ef5f755fc701f52c6aa456c8347ee7f1adb5a55fcf2954fc5b135d45bcedcbe0e737ce1b8b15f5052f04befb8f5cdd7ff1aa2c7581ca9ad5c607d36544d548f53f4c000f8756430894237409e13958a95324440bf3a5132b77cf9910d69aed5e3f5999af19e6573d47bb1ea013459f628ec0d1b77b155c48a83af8bf4fc7732eb50c04de48470149663cc6a4803c198f0364dd4e31499ea4ecf40e16a31557e15c8dbf663ae06fbae2bf7b3ab779a1d8d7427cf71a4447d210f70718cc523b8f5b69965da081e31540954ef832ba154eb8f2d2436f4f5e33a06f85cded4891753b3c19b57b911ae39272d9174eafa6e62c5f63892d81c3ae569d84c3d4d30b2656c601acbffa2739c2972f2298cc098d4498b1bef0ab3a210035c05977ed433f79b85e46cd1aefdceb37476c0a35b6978d36e65c8426cf6216e530c6deb22ab8f95e625de3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855d7df21eb1e8bb74d65ffd382a65bb43da1376200a82d438a89b4ded63cfa80a1ad3dc5e4a574a7faf49314776761510b1f1b1637369e50e3503ecf98e7194a0801ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b78753d6ac7ba8a7d5948112d4c3a65edfc083c838de369dba99d6e153c9c731be00791bcc3e1412ab065c5da89c5f752fe8ccf253df2037150d710b04e9788d8015aabf136bc8910f574b468371aedd1d0e65a8b958b21dcc196593e57647cd392be4816fb8b9646adb5454c96390580a1be8e3e310189b66d4b9a68d550a1b3d1af3fab2ef8cc53b6c7f48bdeb178ac874b04faf4ba0159a96b6109f1d393e2rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-pycryptodomex-3.9.9-150300.3.3.1.src.rpmpython3-pycryptodomexpython3-pycryptodomex(x86-64)@@@@@@@     libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libpthread.so.0()(64bit)python(abi)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.63.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3e_0@_)M^Y]M@]]x]w@\ \ڭ\1[[[[[@["@[;e@Z@Z?ZK@Y@Y@mcepl@suse.comhpj@urpla.netdmueller@suse.comdmueller@suse.comhpj@urpla.nethpj@urpla.nettbechtold@suse.comtchvatal@suse.comtchvatal@suse.commcalabkova@suse.comhpj@urpla.nethpj@urpla.nethpj@urpla.nethpj@urpla.nethpj@urpla.netdmueller@suse.commcalabkova@suse.comhpj@urpla.nettchvatal@suse.comhpj@urpla.nethpj@urpla.nethpj@urpla.nettoddrme2178@gmail.com- Add CVE-2023-52323-side_channel-RSA_decrypt.patch (bsc#1218564, CVE-2023-52323) fixing side-channel leakage in RSA decryption. - Add CVE-2023-52323-const_time-decoding.patch (bsc#1218564, CVE-2023-52323) using constant-time (faster) padding decoding also for OAEP.- update to 3.9.9: * GH#435: Fixed Crypto.Util.number.size for negative numbers- update to 3.9.8: * GH#426: The Shamir's secret sharing implementation is not actually compatible with ``ssss``. Added an optional parameter to enable interoperability. * GH#427: Skip altogether loading of ``gmp.dll`` on Windows. * GH#420: Fix incorrect CFB decryption when the input and the output are the same buffer. * Speed up Shamir's secret sharing routines. Thanks to ncarve.- update to 3.9.7: * GH#381: Make notarization possible again on OS X when using wheels. Thanks to Colin Atkinson. * RSA OAEP decryption was not verifying that all ``PS`` bytes are zero. * GH#372: fixed memory leak for operations that use memoryviews when `cffi` is not installed. * Fixed wrong ASN.1 OID for HMAC-SHA512 in PBE2. * GH#341: Prevent ``key_to_english`` from creating invalid data when fed with keys of length not multiple of 8. Thanks to vstoykovbg. * GH#347: Fix blocking RSA signing/decryption when key has very small factor. Thanks to Martijn Pieters. * GH#308: Align stack of functions using SSE2 intrinsics to avoid crashes, when compiled with gcc on 32-bit x86 platforms.- Use the pycryptodome tarball- Update to 3.9.2 (10 November 2019): + New features * Add Python 3.8 wheels for Mac. + Resolved issues * GH#308: Avoid allocating arrays of __m128i on the stack, to cope with buggy compilers. * GH#322: Remove blanket -O3 optimization for gcc and clang, to cope with buggy compilers. * GH#337: Fix typing stubs for signatures. * GH#338: Deal with gcc installations that don't have x86intrin.h. - Update to version 3.9.1 (1 November 2019): + New features * Add Python 3.8 wheels for Linux and Windows. + Resolved issues * GH#328: minor speed-up when importing RSA. - sync spec file with python-pycryptodome- Add export LC_ALL=en_US.UTF-8 to %build, %install and %check to fix the build on older distros- Update to 3.9.0: * Add support for loading PEM files encrypted with AES256-CBC. * Add support for XChaCha20 and XChaCha20-Poly1305 ciphers. * Add support for bcrypt key derivation function (Crypto.Protocol.KDF.bcrypt). * Add support for left multiplication of an EC point by a scalar. * Add support for importing ECC and RSA keys in the new OpenSSH format.- Update to 3.8.2: * GH#291: fix strict aliasing problem, emerged with GCC 9.1.- Update to 3.8.1 * Add support for loading PEM files encrypted with AES192-CBC, AES256-CBC, and AES256-GCM. * When importing ECC keys, ignore EC PARAMS section that was included by some openssl commands. * repr() did not work for ECC.EccKey. * Minimal length for Blowfish cipher is 32 bits, not 40 bits. 3.8.0 * Speed-up ECC performance. ECDSA is 33 times faster on the NIST P-256 curve. * Added support for NIST P-384 and P-521 curves. * EccKey has new methods size_in_bits() and size_in_bytes(). * Support HMAC-SHA224, HMAC-SHA256, HMAC-SHA384, and HMAC-SHA512 in PBE2/PBKDF2. * DER objects were not rejected if their length field had a leading zero. * Allow legacy RC2 ciphers to have 40-bit keys. * point_at_infinity() becomes an instance method for Crypto.PublicKey.ECC.EccKey, from a static one. 3.7.3 * GH#258: False positive on PSS signatures when externally provided salt is too long.- fix tarball: use the one from PyPI...- Update to 3.7.2 - Resolved issues * GH#242: Fixed compilation problem on ARM platforms. - Update to 3.7.1 - New features * Added type stubs to enable static type checking with mypy. Thanks to Michael Nix. * New ``update_after_digest`` flag for CMAC. - Resolved issues * GH#232: Fixed problem with gcc 4.x when compiling ``ghash_clmul.c``. * GH#238: Incorrect digest value produced by CMAC after cloning the object. * Method ``update()`` of an EAX cipher object was returning the underlying CMAC object, instead of the EAX object itself. * Method ``update()`` of a CMAC object was not throwing an exception after the digest was computed (with ``digest()`` or ``verify()``).- checked in python-pycrytodomex as separate package on request of Dirk Müller- fixed source url- Update to 3.7.0 - New features * Added support for Poly1305 MAC (with AES and ChaCha20 ciphers for key derivation). * Added support for ChaCha20-Poly1305 AEAD cipher. * New parameter output for Crypto.Util.strxor.strxor, Crypto.Util.strxor.strxor_c, encrypt and decrypt methods in symmetric ciphers (Crypto.Cipher package). output is a pre-allocated buffer (a bytearray or a writeable memoryview) where the result must be stored. This requires less memory for very large payloads; it is also more efficient when encrypting (or decrypting) several small payloads. - Resolved issues * GH#266: AES-GCM hangs when processing more than 4GB at a time on x86 with PCLMULQDQ instruction. - Breaks in compatibility * Drop support for Python 3.3. * Remove Crypto.Util.py3compat.unhexlify and Crypto.Util.py3compat.hexlify. * With the old Python 2.6, use only ctypes (and not cffi) to interface to native code. - Clean up spec - pycryptodomex package spec added- remove pycryptodomex copy in this package container- Update to 3.6.6 - Resolved issues: * Fix vulnerability on AESNI ECB with payloads smaller than 16 bytes. - Update to 3.5.5 - Resolved issues * Fixed incorrect AES encryption/decryption with AES acceleration on x86 due to gcc’s optimization and strict aliasing rules. * More prime number candidates than necessary where discarded as composite due to the limited way D values were searched in the Lucas test. * Fixed ResouceWarnings and DeprecationWarnings. - Update to 3.5.4 - New features: * Build Python 3.7 wheels on Linux, Windows and Mac. - Resolved issues: * More meaningful exceptions in case of mismatch in IV length (CBC/OFB/CFB modes).- Update to 3.6.3 (21 June 2018) - Resolved issues * GH#175: Fixed incorrect results for CTR encryption/decryption with more than 8 blocks. - Update to 3.6.2 (19 June 2018) - New features * ChaCha20 accepts 96 bit nonces (in addition to 64 bit nonces) as defined in RFC7539. * Accelerate AES-GCM on x86 using PCLMULQDQ instruction. * Accelerate AES-ECB and AES-CTR on x86 by pipelining AESNI instructions. * As result of the two improvements above, on x86 (Broadwell): - AES-ECB and AES-CTR are 3x faster - AES-GCM is 9x faster - Resolved issues * On Windows, MPIR library was stilled pulled in if renamed to ``gmp.dll``. - Breaks in compatibility * In ``Crypto.Util.number``, functions ``floor_div`` and ``exact_div`` have been removed. Also, ``ceil_div`` is limited to non-negative terms only. - suggesting libgmp10 and python-cffi - add license file tag- Provide/obsolete also python-crypto for py2 package- fix condition to act as drop in replacement for python-pycrypto- Update to 3.6.1 (15 April 2018) - New features * Added Google Wycheproof tests (https://github.com/google/wycheproof) for RSA, DSA, ECDSA, GCM, SIV, EAX, CMAC. * New parameter ``mac_len`` (length of MAC tag) for CMAC. - Resolved issues * In certain circumstances (at counter wrapping, which happens on average after 32 GBi) AES GCM produced wrong ciphertexts. * Method ``encrypt()`` of AES SIV cipher could be still called, whereas only ``encrypt_and_digest()`` should be allowed. - Update to 3.6.0 (8 April 2018) - New features * Introduced ``export_key`` and deprecated ``exportKey`` for DSA and RSA key objects. * Ciphers and hash functions accept ``memoryview`` objects in input. * Added support for SHA-512/224 and SHA-512/256. - Resolved issues * Reintroduced `Crypto.__version__` variable as in PyCrypto. * Fixed compilation problem with MinGW. - Update to 3.5.1 (8 March 2018) - Resolved issues * GH#142. Fix mismatch with declaration and definition of addmul128. - Update to 3.5.0 (7 March 2018) - New features * Import and export of ECC curves in compressed form. * The initial counter for a cipher in CTR mode can be a byte string (in addition to an integer). * Faster PBKDF2 for HMAC-based PRFs (at least 20x for short passwords, more for longer passwords). Thanks to Christian Heimes for pointing out the implementation was under-optimized. * The salt for PBKDF2 can be either a string or bytes (GH#67). * Ciphers and hash functions accept data as `bytearray`, not just binary strings. * The old SHA-1 and MD5 hash functions are available even when Python's own `hashlib` does not include them. - Resolved issues * Without libgmp, modular exponentiation (since v3.4.8) crashed on 32-bit big-endian systems. - Breaks in compatibility * Removed support for Python < 2.6. - Update to 3.4.12 (5 February 2018) - Resolved issues * GH#129. pycryptodomex could only be installed via wheels. - Update to 3.4.11 (5 February 2018) - Resolved issues * GH#121. the record list was still not correct due to PEP3147 and __pycache__ directories. Thanks again to John O'Brien. - Update to 3.4.10 (2 February 2018) - Resolved issues * When creating ElGamal keys, the generator wasn't a square residue: ElGamal encryption done with those keys cannot be secure under the DDH assumption. Thanks to Weikeng Chen. - Update to 3.4.9 (1 February 2018) - New features * More meaningful error messages while importing an ECC key. - Resolved issues * GH#123 and #125. The SSE2 command line switch was not always passed on 32-bit x86 platforms. * GH#121. The record list (--record) was not always correctly filled for the pycryptodomex package. Thanks to John W. O'Brien. - Update to 3.4.8 (27 January 2018) - New features * Added a native extension in pure C for modular exponentiation, optimized for SSE2 on x86. In the process, we drop support for the arbitrary arithmetic library MPIR on Windows, which is painful to compile and deploy. The custom modular exponentiation is 130% (160%) slower on an Intel CPU in 32-bit (64-bit) mode, compared to MPIR. Still, that is much faster that CPython's own `pow()` function which is 900% (855%) slower than MPIR. Support for the GMP library on Unix remains. * Added support for *manylinux* wheels. * Support for Python 3.7. - Resolved issues * The DSA parameter 'p' prime was created with 255 bits cleared (but still with the correct strength). * GH#106. Not all docs were included in the tar ball. Thanks to Christopher Hoskin. * GH#109. ECDSA verification failed for DER encoded signatures. Thanks to Alastair Houghton. * Human-friendly messages for padding errors with ECB and CBC.- provide python-crypto 2.6.1- Initial versionh03-ch2d 1708332620  !"#$%&'()*+,-./0123456689:;<<>>@ABCDEFGHHJKLMNNPPRSTTVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'())+,-./0123456789:;<=>?@ABCDEFGHIJKKMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"##%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     3.9.9-150300.3.3.13.9.9-150300.3.3.1    !!""""""!!##$$$$$$$$$$####%%&&&&&&&&%%%%'(((())****************))))))))+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+--------..////.00111111110000233244425552666277777777777777777777777777777777777777777777777777777777778899999999999999888888::::::::;;;;;;;;<<<<<<<<<<<<;;;;========>>>>>>>>>>>>>>>>>>>>>>================??@@@@@ABBBCDCryptodomeCipherAES.pyAES.pyiARC2.pyARC2.pyiARC4.pyARC4.pyiBlowfish.pyBlowfish.pyiCAST.pyCAST.pyiChaCha20.pyChaCha20.pyiChaCha20_Poly1305.pyChaCha20_Poly1305.pyiDES.pyDES.pyiDES3.pyDES3.pyiPKCS1_OAEP.pyPKCS1_OAEP.pyiPKCS1_v1_5.pyPKCS1_v1_5.pyiSalsa20.pySalsa20.pyi_ARC4.cpython-36m-x86_64-linux-gnu.so_EKSBlowfish.py_EKSBlowfish.pyi_Salsa20.cpython-36m-x86_64-linux-gnu.so__init__.py__init__.pyi__pycache__AES.cpython-36.opt-1.pycAES.cpython-36.pycARC2.cpython-36.opt-1.pycARC2.cpython-36.pycARC4.cpython-36.opt-1.pycARC4.cpython-36.pycBlowfish.cpython-36.opt-1.pycBlowfish.cpython-36.pycCAST.cpython-36.opt-1.pycCAST.cpython-36.pycChaCha20.cpython-36.opt-1.pycChaCha20.cpython-36.pycChaCha20_Poly1305.cpython-36.opt-1.pycChaCha20_Poly1305.cpython-36.pycDES.cpython-36.opt-1.pycDES.cpython-36.pycDES3.cpython-36.opt-1.pycDES3.cpython-36.pycPKCS1_OAEP.cpython-36.opt-1.pycPKCS1_OAEP.cpython-36.pycPKCS1_v1_5.cpython-36.opt-1.pycPKCS1_v1_5.cpython-36.pycSalsa20.cpython-36.opt-1.pycSalsa20.cpython-36.pyc_EKSBlowfish.cpython-36.opt-1.pyc_EKSBlowfish.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_mode_cbc.cpython-36.opt-1.pyc_mode_cbc.cpython-36.pyc_mode_ccm.cpython-36.opt-1.pyc_mode_ccm.cpython-36.pyc_mode_cfb.cpython-36.opt-1.pyc_mode_cfb.cpython-36.pyc_mode_ctr.cpython-36.opt-1.pyc_mode_ctr.cpython-36.pyc_mode_eax.cpython-36.opt-1.pyc_mode_eax.cpython-36.pyc_mode_ecb.cpython-36.opt-1.pyc_mode_ecb.cpython-36.pyc_mode_gcm.cpython-36.opt-1.pyc_mode_gcm.cpython-36.pyc_mode_ocb.cpython-36.opt-1.pyc_mode_ocb.cpython-36.pyc_mode_ofb.cpython-36.opt-1.pyc_mode_ofb.cpython-36.pyc_mode_openpgp.cpython-36.opt-1.pyc_mode_openpgp.cpython-36.pyc_mode_siv.cpython-36.opt-1.pyc_mode_siv.cpython-36.pyc_pkcs1_oaep_decode.cpython-36.opt-1.pyc_pkcs1_oaep_decode.cpython-36.pyc_chacha20.cpython-36m-x86_64-linux-gnu.so_mode_cbc.py_mode_cbc.pyi_mode_ccm.py_mode_ccm.pyi_mode_cfb.py_mode_cfb.pyi_mode_ctr.py_mode_ctr.pyi_mode_eax.py_mode_eax.pyi_mode_ecb.py_mode_ecb.pyi_mode_gcm.py_mode_gcm.pyi_mode_ocb.py_mode_ocb.pyi_mode_ofb.py_mode_ofb.pyi_mode_openpgp.py_mode_openpgp.pyi_mode_siv.py_mode_siv.pyi_pkcs1_decode.cpython-36m-x86_64-linux-gnu.so_pkcs1_oaep_decode.py_raw_aes.cpython-36m-x86_64-linux-gnu.so_raw_aesni.cpython-36m-x86_64-linux-gnu.so_raw_arc2.cpython-36m-x86_64-linux-gnu.so_raw_blowfish.cpython-36m-x86_64-linux-gnu.so_raw_cast.cpython-36m-x86_64-linux-gnu.so_raw_cbc.cpython-36m-x86_64-linux-gnu.so_raw_cfb.cpython-36m-x86_64-linux-gnu.so_raw_ctr.cpython-36m-x86_64-linux-gnu.so_raw_des.cpython-36m-x86_64-linux-gnu.so_raw_des3.cpython-36m-x86_64-linux-gnu.so_raw_ecb.cpython-36m-x86_64-linux-gnu.so_raw_eksblowfish.cpython-36m-x86_64-linux-gnu.so_raw_ocb.cpython-36m-x86_64-linux-gnu.so_raw_ofb.cpython-36m-x86_64-linux-gnu.soHashBLAKE2b.pyBLAKE2b.pyiBLAKE2s.pyBLAKE2s.pyiCMAC.pyCMAC.pyiHMAC.pyHMAC.pyiMD2.pyMD2.pyiMD4.pyMD4.pyiMD5.pyMD5.pyiPoly1305.pyPoly1305.pyiRIPEMD.pyRIPEMD.pyiRIPEMD160.pyRIPEMD160.pyiSHA.pySHA.pyiSHA1.pySHA1.pyiSHA224.pySHA224.pyiSHA256.pySHA256.pyiSHA384.pySHA384.pyiSHA3_224.pySHA3_224.pyiSHA3_256.pySHA3_256.pyiSHA3_384.pySHA3_384.pyiSHA3_512.pySHA3_512.pyiSHA512.pySHA512.pyiSHAKE128.pySHAKE128.pyiSHAKE256.pySHAKE256.pyi_BLAKE2b.cpython-36m-x86_64-linux-gnu.so_BLAKE2s.cpython-36m-x86_64-linux-gnu.so_MD2.cpython-36m-x86_64-linux-gnu.so_MD4.cpython-36m-x86_64-linux-gnu.so_MD5.cpython-36m-x86_64-linux-gnu.so_RIPEMD160.cpython-36m-x86_64-linux-gnu.so_SHA1.cpython-36m-x86_64-linux-gnu.so_SHA224.cpython-36m-x86_64-linux-gnu.so_SHA256.cpython-36m-x86_64-linux-gnu.so_SHA384.cpython-36m-x86_64-linux-gnu.so_SHA512.cpython-36m-x86_64-linux-gnu.so__init__.py__init__.pyi__pycache__BLAKE2b.cpython-36.opt-1.pycBLAKE2b.cpython-36.pycBLAKE2s.cpython-36.opt-1.pycBLAKE2s.cpython-36.pycCMAC.cpython-36.opt-1.pycCMAC.cpython-36.pycHMAC.cpython-36.opt-1.pycHMAC.cpython-36.pycMD2.cpython-36.opt-1.pycMD2.cpython-36.pycMD4.cpython-36.opt-1.pycMD4.cpython-36.pycMD5.cpython-36.opt-1.pycMD5.cpython-36.pycPoly1305.cpython-36.opt-1.pycPoly1305.cpython-36.pycRIPEMD.cpython-36.opt-1.pycRIPEMD.cpython-36.pycRIPEMD160.cpython-36.opt-1.pycRIPEMD160.cpython-36.pycSHA.cpython-36.opt-1.pycSHA.cpython-36.pycSHA1.cpython-36.opt-1.pycSHA1.cpython-36.pycSHA224.cpython-36.opt-1.pycSHA224.cpython-36.pycSHA256.cpython-36.opt-1.pycSHA256.cpython-36.pycSHA384.cpython-36.opt-1.pycSHA384.cpython-36.pycSHA3_224.cpython-36.opt-1.pycSHA3_224.cpython-36.pycSHA3_256.cpython-36.opt-1.pycSHA3_256.cpython-36.pycSHA3_384.cpython-36.opt-1.pycSHA3_384.cpython-36.pycSHA3_512.cpython-36.opt-1.pycSHA3_512.cpython-36.pycSHA512.cpython-36.opt-1.pycSHA512.cpython-36.pycSHAKE128.cpython-36.opt-1.pycSHAKE128.cpython-36.pycSHAKE256.cpython-36.opt-1.pycSHAKE256.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pyckeccak.cpython-36.opt-1.pyckeccak.cpython-36.pyc_ghash_clmul.cpython-36m-x86_64-linux-gnu.so_ghash_portable.cpython-36m-x86_64-linux-gnu.so_keccak.cpython-36m-x86_64-linux-gnu.so_poly1305.cpython-36m-x86_64-linux-gnu.sokeccak.pykeccak.pyiIOPEM.pyPEM.pyiPKCS8.pyPKCS8.pyi_PBES.py_PBES.pyi__init__.py__pycache__PEM.cpython-36.opt-1.pycPEM.cpython-36.pycPKCS8.cpython-36.opt-1.pycPKCS8.cpython-36.pyc_PBES.cpython-36.opt-1.pyc_PBES.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pycMathNumbers.pyNumbers.pyiPrimality.pyPrimality.pyi_IntegerBase.py_IntegerBase.pyi_IntegerCustom.py_IntegerCustom.pyi_IntegerGMP.py_IntegerGMP.pyi_IntegerNative.py_IntegerNative.pyi__init__.py__pycache__Numbers.cpython-36.opt-1.pycNumbers.cpython-36.pycPrimality.cpython-36.opt-1.pycPrimality.cpython-36.pyc_IntegerBase.cpython-36.opt-1.pyc_IntegerBase.cpython-36.pyc_IntegerCustom.cpython-36.opt-1.pyc_IntegerCustom.cpython-36.pyc_IntegerGMP.cpython-36.opt-1.pyc_IntegerGMP.cpython-36.pyc_IntegerNative.cpython-36.opt-1.pyc_IntegerNative.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_modexp.cpython-36m-x86_64-linux-gnu.soProtocolKDF.pyKDF.pyiSecretSharing.pySecretSharing.pyi__init__.py__init__.pyi__pycache__KDF.cpython-36.opt-1.pycKDF.cpython-36.pycSecretSharing.cpython-36.opt-1.pycSecretSharing.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_scrypt.cpython-36m-x86_64-linux-gnu.soPublicKeyDSA.pyDSA.pyiECC.pyECC.pyiElGamal.pyElGamal.pyiRSA.pyRSA.pyi__init__.py__init__.pyi__pycache__DSA.cpython-36.opt-1.pycDSA.cpython-36.pycECC.cpython-36.opt-1.pycECC.cpython-36.pycElGamal.cpython-36.opt-1.pycElGamal.cpython-36.pycRSA.cpython-36.opt-1.pycRSA.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_openssh.cpython-36.opt-1.pyc_openssh.cpython-36.pyc_ec_ws.cpython-36m-x86_64-linux-gnu.so_openssh.py_openssh.pyiRandom__init__.py__init__.pyi__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycrandom.cpython-36.opt-1.pycrandom.cpython-36.pycrandom.pyrandom.pyiSelfTestCipher__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyccommon.cpython-36.opt-1.pyccommon.cpython-36.pyctest_AES.cpython-36.opt-1.pyctest_AES.cpython-36.pyctest_ARC2.cpython-36.opt-1.pyctest_ARC2.cpython-36.pyctest_ARC4.cpython-36.opt-1.pyctest_ARC4.cpython-36.pyctest_Blowfish.cpython-36.opt-1.pyctest_Blowfish.cpython-36.pyctest_CAST.cpython-36.opt-1.pyctest_CAST.cpython-36.pyctest_CBC.cpython-36.opt-1.pyctest_CBC.cpython-36.pyctest_CCM.cpython-36.opt-1.pyctest_CCM.cpython-36.pyctest_CFB.cpython-36.opt-1.pyctest_CFB.cpython-36.pyctest_CTR.cpython-36.opt-1.pyctest_CTR.cpython-36.pyctest_ChaCha20.cpython-36.opt-1.pyctest_ChaCha20.cpython-36.pyctest_ChaCha20_Poly1305.cpython-36.opt-1.pyctest_ChaCha20_Poly1305.cpython-36.pyctest_DES.cpython-36.opt-1.pyctest_DES.cpython-36.pyctest_DES3.cpython-36.opt-1.pyctest_DES3.cpython-36.pyctest_EAX.cpython-36.opt-1.pyctest_EAX.cpython-36.pyctest_GCM.cpython-36.opt-1.pyctest_GCM.cpython-36.pyctest_OCB.cpython-36.opt-1.pyctest_OCB.cpython-36.pyctest_OFB.cpython-36.opt-1.pyctest_OFB.cpython-36.pyctest_OpenPGP.cpython-36.opt-1.pyctest_OpenPGP.cpython-36.pyctest_SIV.cpython-36.opt-1.pyctest_SIV.cpython-36.pyctest_Salsa20.cpython-36.opt-1.pyctest_Salsa20.cpython-36.pyctest_pkcs1_15.cpython-36.opt-1.pyctest_pkcs1_15.cpython-36.pyctest_pkcs1_oaep.cpython-36.opt-1.pyctest_pkcs1_oaep.cpython-36.pyccommon.pytest_AES.pytest_ARC2.pytest_ARC4.pytest_Blowfish.pytest_CAST.pytest_CBC.pytest_CCM.pytest_CFB.pytest_CTR.pytest_ChaCha20.pytest_ChaCha20_Poly1305.pytest_DES.pytest_DES3.pytest_EAX.pytest_GCM.pytest_OCB.pytest_OFB.pytest_OpenPGP.pytest_SIV.pytest_Salsa20.pytest_pkcs1_15.pytest_pkcs1_oaep.pytest_vectorsAESCBCGFSbox128.rspCBCGFSbox192.rspCBCGFSbox256.rspCBCKeySbox128.rspCBCKeySbox192.rspCBCKeySbox256.rspCBCMCT128.rspCBCMCT192.rspCBCMCT256.rspCBCMMT128.rspCBCMMT192.rspCBCMMT256.rspCBCVarKey128.rspCBCVarKey192.rspCBCVarKey256.rspCBCVarTxt128.rspCBCVarTxt192.rspCBCVarTxt256.rspCFB128GFSbox128.rspCFB128GFSbox192.rspCFB128GFSbox256.rspCFB128KeySbox128.rspCFB128KeySbox192.rspCFB128KeySbox256.rspCFB128MCT128.rspCFB128MCT192.rspCFB128MCT256.rspCFB128MMT128.rspCFB128MMT192.rspCFB128MMT256.rspCFB128VarKey128.rspCFB128VarKey192.rspCFB128VarKey256.rspCFB128VarTxt128.rspCFB128VarTxt192.rspCFB128VarTxt256.rspCFB8GFSbox128.rspCFB8GFSbox192.rspCFB8GFSbox256.rspCFB8KeySbox128.rspCFB8KeySbox192.rspCFB8KeySbox256.rspCFB8MCT128.rspCFB8MCT192.rspCFB8MCT256.rspCFB8MMT128.rspCFB8MMT192.rspCFB8MMT256.rspCFB8VarKey128.rspCFB8VarKey192.rspCFB8VarKey256.rspCFB8VarTxt128.rspCFB8VarTxt192.rspCFB8VarTxt256.rspOFBGFSbox128.rspOFBGFSbox192.rspOFBGFSbox256.rspOFBKeySbox128.rspOFBKeySbox192.rspOFBKeySbox256.rspOFBMCT128.rspOFBMCT192.rspOFBMCT256.rspOFBMMT128.rspOFBMMT192.rspOFBMMT256.rspOFBVarKey128.rspOFBVarKey192.rspOFBVarKey256.rspOFBVarTxt128.rspOFBVarTxt192.rspOFBVarTxt256.rspREADME.txtgcmDecrypt128.rspgcmEncryptExtIV128.rspTDESREADME.txtTCBCMMT2.rspTCBCMMT3.rspTCBCinvperm.rspTCBCpermop.rspTCBCsubtab.rspTCBCvarkey.rspTCBCvartext.rspTCFB64MMT2.rspTCFB64MMT3.rspTCFB64invperm.rspTCFB64permop.rspTCFB64subtab.rspTCFB64varkey.rspTCFB64vartext.rspTCFB8MMT2.rspTCFB8MMT3.rspTCFB8invperm.rspTCFB8permop.rspTCFB8subtab.rspTCFB8varkey.rspTCFB8vartext.rspTECBMMT2.rspTECBMMT3.rspTOFBMMT2.rspTOFBMMT3.rspTOFBinvperm.rspTOFBpermop.rspTOFBsubtab.rspTOFBvarkey.rspTOFBvartext.rspwycheproofaead_aes_siv_cmac_test.jsonaes_ccm_test.jsonaes_eax_test.jsonaes_gcm_test.jsonaes_siv_cmac_test.jsonchacha20_poly1305_test.jsonrsa_oaep_2048_sha1_mgf1sha1_test.jsonrsa_oaep_2048_sha224_mgf1sha1_test.jsonrsa_oaep_2048_sha224_mgf1sha224_test.jsonrsa_oaep_2048_sha256_mgf1sha1_test.jsonrsa_oaep_2048_sha256_mgf1sha256_test.jsonrsa_oaep_2048_sha384_mgf1sha1_test.jsonrsa_oaep_2048_sha384_mgf1sha384_test.jsonrsa_oaep_2048_sha512_mgf1sha1_test.jsonrsa_oaep_2048_sha512_mgf1sha512_test.jsonrsa_oaep_3072_sha256_mgf1sha1_test.jsonrsa_oaep_3072_sha256_mgf1sha256_test.jsonrsa_oaep_3072_sha512_mgf1sha1_test.jsonrsa_oaep_3072_sha512_mgf1sha512_test.jsonrsa_oaep_4096_sha256_mgf1sha1_test.jsonrsa_oaep_4096_sha256_mgf1sha256_test.jsonrsa_oaep_4096_sha512_mgf1sha1_test.jsonrsa_oaep_4096_sha512_mgf1sha512_test.jsonrsa_oaep_misc_test.jsonrsa_pkcs1_2048_test.jsonrsa_pkcs1_3072_test.jsonrsa_pkcs1_4096_test.jsonxchacha20_poly1305_test.jsonHash__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyccommon.cpython-36.opt-1.pyccommon.cpython-36.pyctest_BLAKE2.cpython-36.opt-1.pyctest_BLAKE2.cpython-36.pyctest_CMAC.cpython-36.opt-1.pyctest_CMAC.cpython-36.pyctest_HMAC.cpython-36.opt-1.pyctest_HMAC.cpython-36.pyctest_MD2.cpython-36.opt-1.pyctest_MD2.cpython-36.pyctest_MD4.cpython-36.opt-1.pyctest_MD4.cpython-36.pyctest_MD5.cpython-36.opt-1.pyctest_MD5.cpython-36.pyctest_Poly1305.cpython-36.opt-1.pyctest_Poly1305.cpython-36.pyctest_RIPEMD160.cpython-36.opt-1.pyctest_RIPEMD160.cpython-36.pyctest_SHA1.cpython-36.opt-1.pyctest_SHA1.cpython-36.pyctest_SHA224.cpython-36.opt-1.pyctest_SHA224.cpython-36.pyctest_SHA256.cpython-36.opt-1.pyctest_SHA256.cpython-36.pyctest_SHA384.cpython-36.opt-1.pyctest_SHA384.cpython-36.pyctest_SHA3_224.cpython-36.opt-1.pyctest_SHA3_224.cpython-36.pyctest_SHA3_256.cpython-36.opt-1.pyctest_SHA3_256.cpython-36.pyctest_SHA3_384.cpython-36.opt-1.pyctest_SHA3_384.cpython-36.pyctest_SHA3_512.cpython-36.opt-1.pyctest_SHA3_512.cpython-36.pyctest_SHA512.cpython-36.opt-1.pyctest_SHA512.cpython-36.pyctest_SHAKE.cpython-36.opt-1.pyctest_SHAKE.cpython-36.pyctest_keccak.cpython-36.opt-1.pyctest_keccak.cpython-36.pyccommon.pytest_BLAKE2.pytest_CMAC.pytest_HMAC.pytest_MD2.pytest_MD4.pytest_MD5.pytest_Poly1305.pytest_RIPEMD160.pytest_SHA1.pytest_SHA224.pytest_SHA256.pytest_SHA384.pytest_SHA3_224.pytest_SHA3_256.pytest_SHA3_384.pytest_SHA3_512.pytest_SHA512.pytest_SHAKE.pytest_keccak.pytest_vectorsBLAKE2bblake2b-test.txttv1.txttv2.txtBLAKE2sblake2s-test.txttv1.txttv2.txtSHA1SHA1ShortMsg.rspSHA2SHA512ShortMsg.rspSHA512_224ShortMsg.rspSHA512_256ShortMsg.rspSHA3ShortMsgKAT_SHA3-224.txtShortMsgKAT_SHA3-256.txtShortMsgKAT_SHA3-384.txtShortMsgKAT_SHA3-512.txtShortMsgKAT_SHAKE128.txtShortMsgKAT_SHAKE256.txtkeccakExtremelyLongMsgKAT_224.txtExtremelyLongMsgKAT_256.txtExtremelyLongMsgKAT_384.txtExtremelyLongMsgKAT_512.txtLongMsgKAT_224.txtLongMsgKAT_256.txtLongMsgKAT_384.txtLongMsgKAT_512.txtShortMsgKAT_224.txtShortMsgKAT_256.txtShortMsgKAT_384.txtShortMsgKAT_512.txtreadme.txtwycheproofaes_cmac_test.jsonIO__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_PBES.cpython-36.opt-1.pyctest_PBES.cpython-36.pyctest_PKCS8.cpython-36.opt-1.pyctest_PKCS8.cpython-36.pyctest_PBES.pytest_PKCS8.pyMath__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_Numbers.cpython-36.opt-1.pyctest_Numbers.cpython-36.pyctest_Primality.cpython-36.opt-1.pyctest_Primality.cpython-36.pyctest_modexp.cpython-36.opt-1.pyctest_modexp.cpython-36.pyctest_modmult.cpython-36.opt-1.pyctest_modmult.cpython-36.pyctest_Numbers.pytest_Primality.pytest_modexp.pytest_modmult.pyProtocol__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_KDF.cpython-36.opt-1.pyctest_KDF.cpython-36.pyctest_SecretSharing.cpython-36.opt-1.pyctest_SecretSharing.cpython-36.pyctest_rfc1751.cpython-36.opt-1.pyctest_rfc1751.cpython-36.pyctest_KDF.pytest_SecretSharing.pytest_rfc1751.pytest_vectorswycheproofhkdf_sha1_test.jsonhkdf_sha256_test.jsonhkdf_sha384_test.jsonhkdf_sha512_test.jsonPublicKey__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_DSA.cpython-36.opt-1.pyctest_DSA.cpython-36.pyctest_ECC.cpython-36.opt-1.pyctest_ECC.cpython-36.pyctest_ElGamal.cpython-36.opt-1.pyctest_ElGamal.cpython-36.pyctest_RSA.cpython-36.opt-1.pyctest_RSA.cpython-36.pyctest_import_DSA.cpython-36.opt-1.pyctest_import_DSA.cpython-36.pyctest_import_ECC.cpython-36.opt-1.pyctest_import_ECC.cpython-36.pyctest_import_RSA.cpython-36.opt-1.pyctest_import_RSA.cpython-36.pyctest_DSA.pytest_ECC.pytest_ElGamal.pytest_RSA.pytest_import_DSA.pytest_import_ECC.pytest_import_RSA.pytest_vectorsECCecc_p256.txtecc_p256_private.derecc_p256_private.pemecc_p256_private_ecparams.pemecc_p256_private_enc_aes128.pemecc_p256_private_enc_aes192.pemecc_p256_private_enc_aes256.pemecc_p256_private_enc_aes256_gcm.pemecc_p256_private_enc_des3.pemecc_p256_private_openssh.pemecc_p256_private_openssh_old.pemecc_p256_private_openssh_pwd.pemecc_p256_private_openssh_pwd_old.pemecc_p256_private_p8.derecc_p256_private_p8.pemecc_p256_private_p8_clear.derecc_p256_private_p8_clear.pemecc_p256_public.derecc_p256_public.pemecc_p256_public_compressed.derecc_p256_public_compressed.pemecc_p256_public_openssh.txtecc_p256_x509.derecc_p256_x509.pemecc_p384.txtecc_p384_private.derecc_p384_private.pemecc_p384_private_enc_aes128.pemecc_p384_private_enc_aes192.pemecc_p384_private_enc_aes256.pemecc_p384_private_enc_aes256_gcm.pemecc_p384_private_enc_des3.pemecc_p384_private_openssh.pemecc_p384_private_openssh_old.pemecc_p384_private_openssh_pwd.pemecc_p384_private_openssh_pwd_old.pemecc_p384_private_p8.derecc_p384_private_p8.pemecc_p384_private_p8_clear.derecc_p384_private_p8_clear.pemecc_p384_public.derecc_p384_public.pemecc_p384_public_compressed.derecc_p384_public_compressed.pemecc_p384_public_openssh.txtecc_p384_x509.derecc_p384_x509.pemecc_p521.txtecc_p521_private.derecc_p521_private.pemecc_p521_private_enc_aes128.pemecc_p521_private_enc_aes192.pemecc_p521_private_enc_aes256.pemecc_p521_private_enc_aes256_gcm.pemecc_p521_private_enc_des3.pemecc_p521_private_openssh.pemecc_p521_private_openssh_old.pemecc_p521_private_openssh_pwd.pemecc_p521_private_openssh_pwd_old.pemecc_p521_private_p8.derecc_p521_private_p8.pemecc_p521_private_p8_clear.derecc_p521_private_p8_clear.pemecc_p521_public.derecc_p521_public.pemecc_p521_public_compressed.derecc_p521_public_compressed.pemecc_p521_public_openssh.txtecc_p521_x509.derecc_p521_x509.pemgen_ecc_p256.shgen_ecc_p384.shgen_ecc_p521.shopenssl_version.txtopenssl_version_p384.txtopenssl_version_p521.txtpoint-at-infinity.org-P256.txtpoint-at-infinity.org-P384.txtpoint-at-infinity.org-P521.txtRSAgen_rsa_2048.shopenssl_version.txtrsa2048_private.pemrsa2048_private_openssh.pemrsa2048_private_openssh_old.pemrsa2048_private_openssh_pwd.pemrsa2048_private_openssh_pwd_old.pemrsa2048_public_openssh.txtRandom__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_random.cpython-36.opt-1.pyctest_random.cpython-36.pyctest_random.pySignature__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_dss.cpython-36.opt-1.pyctest_dss.cpython-36.pyctest_pkcs1_15.cpython-36.opt-1.pyctest_pkcs1_15.cpython-36.pyctest_pss.cpython-36.opt-1.pyctest_pss.cpython-36.pyctest_dss.pytest_pkcs1_15.pytest_pss.pytest_vectorsDSAFIPS_186_3_SigGen.txtFIPS_186_3_SigVer.rspECDSAREADME.txtSigGen.txtSigVer.rspPKCS1-PSSSigGenPSS_186-2.txtSigGenPSS_186-3.txtSigVerPSS_186-3.rspPKCS1-v1.5SigGen15_186-2.txtSigGen15_186-3.txtSigVer15_186-3.rspwycheproofdsa_test.jsonecdsa_secp224r1_sha224_p1363_test.jsonecdsa_secp224r1_sha224_test.jsonecdsa_secp224r1_sha256_p1363_test.jsonecdsa_secp224r1_sha256_test.jsonecdsa_secp224r1_sha3_224_test.jsonecdsa_secp224r1_sha3_256_test.jsonecdsa_secp224r1_sha3_512_test.jsonecdsa_secp224r1_sha512_p1363_test.jsonecdsa_secp224r1_sha512_test.jsonecdsa_secp256r1_sha256_p1363_test.jsonecdsa_secp256r1_sha256_test.jsonecdsa_secp256r1_sha3_256_test.jsonecdsa_secp256r1_sha3_512_test.jsonecdsa_secp256r1_sha512_p1363_test.jsonecdsa_secp256r1_sha512_test.jsonecdsa_secp384r1_sha384_p1363_test.jsonecdsa_secp384r1_sha384_test.jsonecdsa_secp384r1_sha3_384_test.jsonecdsa_secp384r1_sha3_512_test.jsonecdsa_secp384r1_sha512_p1363_test.jsonecdsa_secp384r1_sha512_test.jsonecdsa_secp521r1_sha3_512_test.jsonecdsa_secp521r1_sha512_p1363_test.jsonecdsa_secp521r1_sha512_test.jsonecdsa_test.jsonecdsa_webcrypto_test.jsonrsa_pss_2048_sha1_mgf1_20_test.jsonrsa_pss_2048_sha256_mgf1_0_test.jsonrsa_pss_2048_sha256_mgf1_32_test.jsonrsa_pss_2048_sha512_256_mgf1_28_test.jsonrsa_pss_2048_sha512_256_mgf1_32_test.jsonrsa_pss_3072_sha256_mgf1_32_test.jsonrsa_pss_4096_sha256_mgf1_32_test.jsonrsa_pss_4096_sha512_mgf1_32_test.jsonrsa_pss_misc_test.jsonrsa_sig_gen_misc_test.jsonrsa_signature_2048_sha224_test.jsonrsa_signature_2048_sha256_test.jsonrsa_signature_2048_sha384_test.jsonrsa_signature_2048_sha3_224_test.jsonrsa_signature_2048_sha3_256_test.jsonrsa_signature_2048_sha3_384_test.jsonrsa_signature_2048_sha3_512_test.jsonrsa_signature_2048_sha512_224_test.jsonrsa_signature_2048_sha512_256_test.jsonrsa_signature_2048_sha512_test.jsonrsa_signature_3072_sha256_test.jsonrsa_signature_3072_sha384_test.jsonrsa_signature_3072_sha3_256_test.jsonrsa_signature_3072_sha3_384_test.jsonrsa_signature_3072_sha3_512_test.jsonrsa_signature_3072_sha512_256_test.jsonrsa_signature_3072_sha512_test.jsonrsa_signature_4096_sha384_test.jsonrsa_signature_4096_sha512_256_test.jsonrsa_signature_4096_sha512_test.jsonrsa_signature_test.jsonUtil__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_Counter.cpython-36.opt-1.pyctest_Counter.cpython-36.pyctest_Padding.cpython-36.opt-1.pyctest_Padding.cpython-36.pyctest_asn1.cpython-36.opt-1.pyctest_asn1.cpython-36.pyctest_number.cpython-36.opt-1.pyctest_number.cpython-36.pyctest_rfc1751.cpython-36.opt-1.pyctest_rfc1751.cpython-36.pyctest_strxor.cpython-36.opt-1.pyctest_strxor.cpython-36.pyctest_Counter.pytest_Padding.pytest_asn1.pytest_number.pytest_rfc1751.pytest_strxor.py__init__.py__main__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc__main__.cpython-36.opt-1.pyc__main__.cpython-36.pycloader.cpython-36.opt-1.pycloader.cpython-36.pycst_common.cpython-36.opt-1.pycst_common.cpython-36.pycloader.pyst_common.pySignatureDSS.pyDSS.pyiPKCS1_PSS.pyPKCS1_PSS.pyiPKCS1_v1_5.pyPKCS1_v1_5.pyi__init__.py__pycache__DSS.cpython-36.opt-1.pycDSS.cpython-36.pycPKCS1_PSS.cpython-36.opt-1.pycPKCS1_PSS.cpython-36.pycPKCS1_v1_5.cpython-36.opt-1.pycPKCS1_v1_5.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pycpkcs1_15.cpython-36.opt-1.pycpkcs1_15.cpython-36.pycpss.cpython-36.opt-1.pycpss.cpython-36.pycpkcs1_15.pypkcs1_15.pyipss.pypss.pyiUtilCounter.pyCounter.pyiPadding.pyPadding.pyiRFC1751.pyRFC1751.pyi__init__.py__pycache__Counter.cpython-36.opt-1.pycCounter.cpython-36.pycPadding.cpython-36.opt-1.pycPadding.cpython-36.pycRFC1751.cpython-36.opt-1.pycRFC1751.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_cpu_features.cpython-36.opt-1.pyc_cpu_features.cpython-36.pyc_file_system.cpython-36.opt-1.pyc_file_system.cpython-36.pyc_raw_api.cpython-36.opt-1.pyc_raw_api.cpython-36.pycasn1.cpython-36.opt-1.pycasn1.cpython-36.pycnumber.cpython-36.opt-1.pycnumber.cpython-36.pycpy3compat.cpython-36.opt-1.pycpy3compat.cpython-36.pycstrxor.cpython-36.opt-1.pycstrxor.cpython-36.pyc_cpu_features.py_cpu_features.pyi_cpuid_c.cpython-36m-x86_64-linux-gnu.so_file_system.py_file_system.pyi_raw_api.py_raw_api.pyi_strxor.cpython-36m-x86_64-linux-gnu.soasn1.pyasn1.pyinumber.pynumber.pyipy3compat.pypy3compat.pyistrxor.pystrxor.pyi__init__.py__init__.pyi__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycpy.typedpycryptodomex-3.9.9-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtnot-zip-safetop_level.txtpython3-pycryptodomexAUTHORS.rstChangelog.rstREADME.rstpython3-pycryptodomexLICENSE.rst/usr/lib64/python3.6/site-packages//usr/lib64/python3.6/site-packages/Cryptodome//usr/lib64/python3.6/site-packages/Cryptodome/Cipher//usr/lib64/python3.6/site-packages/Cryptodome/Cipher/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/Hash//usr/lib64/python3.6/site-packages/Cryptodome/Hash/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/IO//usr/lib64/python3.6/site-packages/Cryptodome/IO/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/Math//usr/lib64/python3.6/site-packages/Cryptodome/Math/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/Protocol//usr/lib64/python3.6/site-packages/Cryptodome/Protocol/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/PublicKey//usr/lib64/python3.6/site-packages/Cryptodome/PublicKey/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/Random//usr/lib64/python3.6/site-packages/Cryptodome/Random/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Cipher//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Cipher/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Cipher/test_vectors//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Cipher/test_vectors/AES//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Cipher/test_vectors/TDES//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Cipher/test_vectors/wycheproof//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Hash//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Hash/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Hash/test_vectors//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Hash/test_vectors/BLAKE2b//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Hash/test_vectors/BLAKE2s//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Hash/test_vectors/SHA1//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Hash/test_vectors/SHA2//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Hash/test_vectors/SHA3//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Hash/test_vectors/keccak//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Hash/test_vectors/wycheproof//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/IO//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/IO/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Math//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Math/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Protocol//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Protocol/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Protocol/test_vectors//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Protocol/test_vectors/wycheproof//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/PublicKey//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/PublicKey/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/PublicKey/test_vectors//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/PublicKey/test_vectors/ECC//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/PublicKey/test_vectors/RSA//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Random//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Random/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Signature//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Signature/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Signature/test_vectors//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Signature/test_vectors/DSA//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Signature/test_vectors/ECDSA//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Signature/test_vectors/PKCS1-PSS//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Signature/test_vectors/PKCS1-v1.5//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Signature/test_vectors/wycheproof//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Util//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/Util/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/SelfTest/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/Signature//usr/lib64/python3.6/site-packages/Cryptodome/Signature/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/Util//usr/lib64/python3.6/site-packages/Cryptodome/Util/__pycache__//usr/lib64/python3.6/site-packages/Cryptodome/__pycache__//usr/lib64/python3.6/site-packages/pycryptodomex-3.9.9-py3.6.egg-info//usr/share/doc/packages//usr/share/doc/packages/python3-pycryptodomex//usr/share/licenses//usr/share/licenses/python3-pycryptodomex/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:32629/SUSE_SLE-15-SP3_Update/c0a089ff2434467f0b883b21e402be14-python-pycryptodomex.SUSE_SLE-15-SP3_Updatedrpmxz5x86_64-suse-linux  !"#$%&'(')*********+++***************+++*********************************+++**************************************,,,,,,,,,,,,,,,,,,,,,,,,,,****,,,,,,----,,,,,,,,....',,,,..////////////////////////////////////////////////0000////.++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.123//-directoryPython script, ASCII text executableELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ba148ec1376711620751dae18779bcf99e4e551e, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=879d239846c8a04611b30ca9e35d3c11e7a5ee42, strippedemptypython 3.6 byte-compiledELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=a1c32d32b92c20163d5aacdf344278d56d70b3cd, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=771bd6b86fcbfaf190025d01146e3d7c0e00dfb7, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6b03cc36d26994c299716378f2625b9eaa20548b, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ddafa55e3afb53a2b87fd4abe99523ccc8e7229d, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=acd614d20d54e8e8ceca25bf5686b2b6663aba7f, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=fa1a62ecb87c73508088776e2189d0f4b76e2cad, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0382fd163fb8954064a8a17583404a75b0ba4681, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=56e85bd43aaf7d602febe3d0207a9b9707204b28, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f2b472ce87a037bd0cbf0717b0f9243c19bc4d82, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c0e2f5b9278f0347b4dd68b2a63e2dd3f4012c20, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d940ed8643d63d15a5086b617fc6875dd21ceae8, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f9f48f3c3989d9b7c26f2c6415c5551c6bc59498, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=405016b1dfecb7ea6637ff88d772a2421b28e6f9, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=928fe49c81488af688e74dfdee0c4919e848bf6a, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f00819381d9510acbd9d53238ab4dbe388071c61, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5691357b75e50144b80c6de7b87698c7f82a0e3a, strippedASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5cb63d287b51820dae579e99662df05ce536aef7, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=175e7ad45942b8734b7b7d4ab03ecaa22954c22c, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=9df8a79a4f54ba9dfd03eb6a3a7e4534a63d6d88, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=789af833d60cdba45dedb6a99e64b3ce30f680a1, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=87db847fcd38b495b1c4faa0dcd21ace5803b7a5, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4916f2382693986d90908a3f56bd805bef758726, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=aeba78e73774e4cf87e6c066e534457152095330, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=505c6f93f79f4a742ea77cd4958d15e9dfecbd9f, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=744ba4c23db53fc92bdb93038596473a7da1bf35, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=a8f1f0bc7fda5064bf98e5bb8dc6e395614241fd, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=14e41421c4970460818e78936770896fb420e2bf, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=80554fdb7b2b486183e278586c5e9574669c05e6, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=1b4f03dd7c6a11aa969bbc775df1aebf88255e4f, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6ff8b5c2f15c6b54ced8ac727d675396154ee4f1, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=dff39aa0bcfa87ac471d984ecd149a9e5e93a5e3, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=334510f4b2028d8d3d867741bee6f431c1eb2476, strippedPython script, UTF-8 Unicode text executableELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=56a3ff1855aa24a1588cd9aea02a260250f5dda7, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5fc9e0ff82fdecba1ce92cba915c564fb640886b, strippedASCII text, with CRLF line terminatorsASCII text, with very long lines, with CRLF line terminatorsASCII text, with very long linesUTF-8 Unicode textPython script, ASCII text executable, with very long linesPOSIX shell script, ASCII text executablea /usr/bin/env python script, ASCII text executableELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=76105551c344e25b962f7bf885f171aaf58afcd5, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=a2e7bac95610414a7be708e065bfc7df49cad8d8, stripped #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX]^_`abcdefghijklmnopqrsxy}!(/6789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefglqw~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'(RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRTݛLw: libgmp10python3-cffiutf-8193b8fca87694b01cf2e4ad1240bf9284273c39d255e31bd26e8a119a96ab4d5?7zXZ !t/S$]"k%a Ch.vMm@:DDY]4ӯ=}5dU6Ye1Ub2ފ |L:hHI?F_V8I&=Y+yE^uB647 S=3ym'&OlۖMt&q4,πLa@b݅*×Y hc[/kV Of>;j?vf}ZnhUd6~HX2TDեlHi =5qV|ʲcmpwjY#e ldpn˷`x*o;>QRu<ww8R_?w2sYDT=c6;GV0T^MWinOH0فdWG;< ʿ/me%c'wI08%l/hPkҕ6ga%T*H]?jH_Z} %+bg;/YTIzW,B'أIlQaԩS/fFs祥vq;e-w&Ѯ I4KHLPIC1rXPe$̥aϨ&9QXEO_< 'B)4)M#K=ΣLׂ[50Z34n[ -Cpe)! B{_aeLPXf@oBG-a%{-n͗ 뷴}8WFn|O?Q9@6ڥ5t(]"Rxl1^]h`UJN4,@'ӷRr.ʶe`4tLʰױ!̓%A^r͆GpMpZ/j2zoz p8+YɵjWg&7vr $t)^L9aXҚ`+V{*GRH3Jbܬkυ#y y);b{S N>{xpKN !!g;bi Bh(+sVCFhǤ25siߐ;;}hQBF *)݇Qp=Mɬq)\J0UML%-F!dWa Vi~&q(CwDoBLuAF))*C唱E-[^e\h>6s}ť .OIT\-y dͻF ɫAtܘn?H t] 6s.aAدO"4l9}ױdTk& Y * lQB<eZsSo?9hVBAH]$z He2reR8n~1}zQY (¸h1:=t=wgœl’ӞaP RcˍT; A+\{\FZt;fky 6]|QC$44 J\2EW9Xg|Bҗ hRQ%AJ݆;h~=Kc:d:\SJ*c|_wNpwi Gn@ދ j>Vm+1Cj8ˌg#3YN+ NNrta9wL[(/*"-)!JIz' +} Jje=}$ ,tPip:*A$L\Jl.bسu##gRWj!.W? @nS ~j*NIHh L@j sG~1]b2Ee@s|*(|*F'$!ud;b^l vkL@d+'[Gy$㙳MڌamKN5!w^\\]%@uϠIIk+4ASoj_pfƤBs{|)@rPaRM"a߇٠W9_qc:]&gi-0NFrl#F}acM-P6` oўV B_ vg%t c2ފRU73xi{ݜ\+F`Diw+3,Uj'!CͣvZ@%IFE0)|>9B.uM Mqn!YIQ6U!kObKaE2l]݌h0dȟæ![Xlgq ui7uZl 4&>~YFwBDg;0_|ëȮpH452W0E?DQXЏ<ZkbItO4 xƪig^?yLCH/{.06cC.xU#S4[;8AA#uN4\`pBY3ol#6ĩkAR*10PP39ȹmcpbZί(}dEQgm}6*ĐR <5̼wd{R!,q`& # l%<=tz/F Ak>Ӿz.B}`it< V @,h*j{+vqNwǗ/!#6i,wmUB l4p C/ХLbvLLXߩBh,"ncmk:w90yܔKc/ۈktU_ ͞v~`jBᓞدτV<`g+Dn5to!RɗKkOD \Zd<ԝNOI_QJ,.=Y)m[ꎖ1)Z[0)b Ƴ4֍Ƴ%+alQ(&m+LAEAoJMBm#@:hݩnp t1-^`GL\߿; HEUAjA0=o|Cp /1[Ħ/k o[]I(ܹ܃%@{ :Q;N>(վLjݩhOz;i~$Lz8N*w=Фb}Iƕ%R\KRpgψ6*Zv&'qo%7Úyh.3pO ׮o3M>,$KJmtXz:h`|ugϻڜo+A5D`}4/3 8ad;шQ@iGiGhz?(V.v] @K3``ep)K 3;eMHG,4ܵ0Tq_tr*-5;YJVQ,ؚXYO2~ZSXR"ÐhZjҟo μ׾(M: _腿+/*7H2'hubrg̪o9|Nv`z-[qY u`ExI3z/|QH/~;im :Ob7?z%bWYUvWM\"U<E X`yMd8qM &N& I L8_6Xk4֌p7| R&p>ҏ%S ;"^ C>&CvnO*z-CeدzIp䩄uO7{ iyBzs[7fZZ(U *4mT-D4XtveT=崬-()z. G?B cgiRRopϢҼ- 4||vo]?g ːңxH^F\Éƾ@08>Tvx?vH%,ϡ+(-vJPd E?xU|+:߉¤1w KLJcg-',q0[@Ĵ~ biMzNi":!hp> Y"82/bN3G$$M!wnyM}FĦ= C@Y׃ʉoo1>_BϤnݹXധ"$hZXIϒۢA_.qDtõL`tr|W}c7Α-ц>=fT+~eۢcA k7mH[ f䍑>gSp#sc˜}ŅU2020?62sA=Vo, R!GfLE0yL[voO+D~C4~#z҇1AQs:&F;w &:r+kk-y[?2(P#**^OL28I6ɧ8:DE⺘)`tjNq;;K# 0/oPt覥xGyVe); y{{˟wa徰NYQc"68 q)5}M"_oMFƄ!gSuv=+ըG] c+/`Бh<ڼ͆>O6A$:ʢ٩Ҫ^| oNX\@&| x) DFw槷;n9EZoΖ>(L})1M'NxRP2۰\YDy xg6Oj 4JagmY9 \8tMoݓ Zԣ+h"f<ɌMƗZ *1A-60sEI)M5ɃnKVF}ҖOMO|S9VٵoIe+H%LբV oIUHKn9%@r'2y𤕶t)?USJJq?.D v`#+#siG˦4]G!qεr4Ӓ熍,"x2 GHs8,||G2Ny%Wd8No (-$b|ϧH/R&2J-*z׌TB.~y 4[q=uvH!AzVH)~|\c %$Q~0ob0L$,m ^C%^,.m!,֪:xlqC/as+F 8.]JzlJEmFe_ܰFxa^ >dL]O~dQfQOh/gʎm Q#" ]"惷e6euwM[0x_`Eq2/!]Q@Td02'%Fs a p'@BM.oT̸_Z&Cd ^|g?fS>c顟!o;!7ᾁ/L HoUxW|X!J(yʪ/k*  Bf9+b+Pv,2F_͆bl#,.cbm2\#;KcU `3B]Cc|?Jj-?ٽdIj$r.EsKOnbE&[*F =g ruY. ߠ)PA2e0@C8x1`)ӍpM%λIu Ga\0`92QDbi/#ΡJkc:Qk qXN/Y;=0S\х㉚56ѾWHaR-.fPD'ZX'^A56 h}s+Hk=nGe( CrҸ?*iyїxh돡,rk u21w*v(,iAp 44݄͗s#r ̵L5wpT-wf duVK;S@92>>3"h"hZtQޑNWl 8un(Yb} +@|ogVm_ ۯ??v x.JԊ58dAZ5'];?f ڬHY`gx~)N 2A'clTd%RlKR:Yn 矆KPD`Scl÷97RP}3c$œrf66MuOlcnZM)!΋FwوAe/h7XJMm@?h$Q7Q7@ +slO=-#E0.`,3@}"Yr1yD1S^uQc8r]P7^_th`җeDŽRhJi ᦹbDQ؛q^aB*Yk& [L:5B.7:N))bdOK:^܁vȿ:!GKLd> SLe&2frNerbiJ"t=O:BXfg*+,ƱB\nG P5OOC(pN㺪3c f M4b+Ȗ;X \VlU[ց+]ɬD#-ȏ o Jd[\Z5 I rq]Ʋ4C*W9Ȋ|1!>]|O&\`q@t!9e3o?JJ`HH[sO"Sz/RȮ0jzDҎlKmRv .+b#Ye?׎bDnj rT P aVZmRy3:䐞þz0^ CٗcA~})+ٚz{_5P;̑}p.s%xJ9/^;9|x<Zva[>>3XhwpaەٖF :F 0'Y_۞I-K'MwbP5Ooh @&c|U o p{?"EI#JF`Gs_-3~7K!,Bj4txA#Kj4k/ 8[i拙d'=KqɊ 7}9o":8,eҩaGfwFk$㛞9] A\=.RK/;ĻemgKV@H&[m;ҖЁF#55;ɢ'4x[0w!o\RT*o>zse#`e#N>\eDvo^V,U@)5ԁۺpN"$y(G8CLê| i;""ֳŪѻN;=zmbT ޷Fp`m_uqUџmTg`M>>+E Oߜa>DΪ+?pT I{Dݽ٫<շdVKg%>Q]Y3e{etUTC0LpjWqih@#J̥<<*-{H}i[zCZ)3cýqְ~,DΣK萡ҳROsr!D1F6Os0i5<(jEp]'< %p`|j[ا3TM-FsT;-d*;v~ޙKԬYŀ"p|r/>;$5 3a_cSd.0Q0]FK/g(B/>q`;Bvx~sv`BDeRi!gӅ[=hbJĤ!I!%/?aPdr˥ *Q sGDLqGƽs/JKWiԙb-dz& ph\ͱSjY0n`pZѮW[OmO0c7^/d*KLN{tAy$/ s hG׺wޯjst"&[<+/ڃksCq)Lkuq18-R+{\%cƐi Ϲk-;쿃"9ؿL%V"U+v"/MgNR^74@jtHp]iAWO)x|+yA֤ sAp_(U@ 0bq6J%|6J{d}n8c&ny/1'9Yha;;p(,30Hn f;;VFGwR,P PR'Iꫯm!xI)Eؚ|ܞ8.zKq&&3bE<(|w*H+*xڀَ1I4nʶM`F<Ȟ7k,lvęf"}šͨ M{/v$Az?`cJ(\/O4F ̪(qFQscп[Ҩ۠5]4$z(lZMD?ʟa ϪuW}qzl֠PybDXXZ,p#e))aE~8\D,S<ızX`#ՔQlZIU2X9$9[+*J{m~Eߡ%H@PIaNii\Ai27ڶF.uTH^mdg|izU?GY `taIRI)b82mC +i P=+:rTvc4[ [ud (ŜX1(#6x3xwn}&JP 6<שWNDS4\T=7 .?RRDN4BY4 / s$+n$pQ(vSF6<٪I4tFެł+I ;Qف e#5)Yre6 rw+krwʼn4P"ڞ3Tib?ʏ'S0PlP2djX3FY_O^~9Uo3 z7*u#,vnYbi-b~0XSf1QB+z\hC~͆vɚeS= 2Y*۱%u"V_28E3 gN#.m}Smt)>U)s>rߪU V).aҁ:8Z<~\Wγdj0v=E02W\+c4g?W& 3+Yxe綩=R930Tfjo1Rrvxn,)[8aڈ*v %o]s,+cB[Y/I#a .G2cãa0kA.h]<[;}+cݥ Y(hp<-o5\D;e_z #А}#wNx I |̆ϟ;7憄Oo2+R\ϸ1u)vEeBV.ǼSW+R!0Gaę( ꭐ#R|?W;E7j?sPr忤NpeHvR rf0B vjW@Y'N. 妯cO1;PJ F!6U ĨQEN}jh Y3?FKwu kvXAMEQ)}f {ͳ #'$f8D<%885Rڑ'pLG Uރ8 u ^0; %E ?+w.2w<^mJc>Qh[GtK5j~BITVvl/{383 zcyf8bPܸ&&_eV̜fc:TG7Hppc:^g"Rd5 b|q`YoICG(^([?#9Yv.>yv">y)wqT!er ULUؙ>B1Mbx'$94$}[>Va|g9t!/!ލA9E6mzL"pk:I?ӟT,rEh孖Ge`B)| [J(}U9Q_;. -1|s!vFG$Sn窿Q y ~13ZͯQ IBd>G#|J7TfllmŖV1-걷g9JP̠£Kʩj(`љ2+,L`ha`ėʕǀ.b8E2P%fxk+Bow yOg1vs1mm5&V &ap?2I:Sw1ܖPH=kOXIX,McF鈀BwYgC2)<'E;QNH f r5#l> 9 amf>TaNʼ?9o  ?upg8E̎mU #0 ?x`Oi*vA 4UͳgQ Yc*a5kqԱ] pjz oi,P纙ATo02]jjIۮT#s ϖHFC4@?}68w-V_ڪ]&pcj,F^ 9v:%a;Ts=O[3sUւѾ1Q*!%X oE E%2@iF 8˃GFg[ES}'ʊpGv!9Y' mT#_lCnjU} hϡ~i6*eX;§p=xjg8P{ qmp:(Bx % ̓: e]7n j"9pN6Eߺ)Ų? l , 듌|v ͻ 8֮lYfPo~TV .Eji!TyA=Qm/pXI InzNf& $Mh͚g>YN]LY}if8bREP3m LpJ9Aʆ K28䝹m'?ފGn~p V$(3E3G=wkV)5i}o(rh8H8ǫyE@Izp2h0zq% YC.Zd=Y^ Z9ո7T+vʢ~IWUBJ O|1PSzk+Y}C6sGPaSx Eq1۩JC_'ӣ̏o17h k>^- KOڜPBu6B,{YK+1KLOL3[a fVy J5MHp=w59bEd>8)c]R@Z ua*”Č1W.m:2 s;d7ap60uY@jtB-d^ԂyN*(SsZOCڜ0{3'*.NK6/F,'|  ?p`*oSFPYR̃bPĬ `,AJ Kc'?vpIR{8GR zkg 5Wd3-]M2<xlG-j =k4p'bxz|t%n* ֩uc} L;ofgxc۵YvևsOM°/ꐻ*+)Sĥl~c=S]0Z.6$e] l-\s%jK4H{ d] d80IY<.x(E8nRq8Ykoя۞|9=&Qgw8'ϿfpG9벪DY7smYamLf+ˀ]o٦ _5M)P\Ɍ݈oy$>glvZ9nj܀'Tv#+F0Q&z`ʒ#n[ZFbW7ȮN# }W={Z}ҩ>EQ l^;+\jq Nf½'ư:7t1ҿ=Gͼs;qbka6%Qs5=,)uFF T,b3qx!Iq驇cz[TGgXT]Va.Hlrbz旘ϋ Ő5`3grPkFPn̞;sKaVG̥T_"=O<.9#Ƴ% lriP,& K>LpAq@+s:w_S=O (N" xy%#H8,@P v(@r[kU=h*A.d"6chopk‡;_iewԜ hZjhR͗#ݯOkjd;%Vo9;mCڈ~s|w% .b< S xYUJw w={,{fo~6/aRA"ˮ#z'mEzXom@J4?uY*g6` YF&-XYc*m\+W -]/OBy?V#A_g]XJ+E8WRhM\vmF3SǦ8횞+].Ek-Z|WªUX6)8+ꅶ P!yh+j|&IQ×4ReYz;5IyTMpяhҖJ=K*6#_H.PZ+FȆSoxGy`;5N"&P++rtt܃hpaSCD$J<|M\M(I@*!lixŸZ8@.,:o|WR;\8'!-} 0l='PsJ&[9i)$[P!d1$Jn8Ves2WdiLc5g¡,Hg|id`]>QaTZeV0['g`~F5*%K%ywH;w8pRq\RԧK5D9V9^Z,A*F1Շ‘vR 6=ty*c@3q#8ǰKL)BiuC%C2IUYcjed]cclX t|NҪ[B"3]}enw8Kץ}a?/Qq}۔ia.a -"-W''~=&u| 퀇B XkEvlf2paLE2߂֪wϊb֐iꆑ5O"fV\NcqI_CI2W2x婗]?YS&h,rg}Lzo.^qu`KB3ljɘly_д"s_mg)W7תJdvj.B}3Cz >Ŀ>;oH.aKfqNN 3X-3%iBe}#ֿ.'佷>˗C~5OxA4VSS]isL0f_-wT{-" b;f邆*V( !mPA1ʇ0 pFQC̷d\ =o #a9zwp *a@xjWt/Ip\JHAߜעrpP,Po"}xA~6kANk=0䢵A01Ҥ̴$̂PTaߏAKN8^]SuR/h(Pc!.Ϲ9jC%o嫲'mClо]Cw= b$hbI ?BZP;"ilW8,/e V̜śXSbDVK_@'KctIēFܱ19H29aPPT!Mwj9…)ֺp;Ky1__ҢwWۊo*To䢫Sg\7-#ykl:tf|3so_%u&[UҍDގ!|0Z_z~O]aOzfi:hVك800@z)x̊G`['@q$"Ep,(:<-Sz\즗#[9SP怠rਚ0CFOq~ 7öPYTPzs]k }_hE`;aw+M떉ɛ z*ͪfhC/.F;cnRS \}Dj`E0::ӍvP7%_m}g OUmP4x TydѬ?oABbw&pY%2w>Q5LfڅafGl~F+3(s&b+Un興) dMfc,ҖUyqF: lJk_d~Cn[O_*$x-CLZ? 8@pn=Bl>LNcFq[.mz޸2=  ߸@zG@xhad{7V=ݭQvGIи<$A4n˥}'VWU#0@XL WXVҮS\-O7oO 0) TUds?+ʬłk xdˊA?|/鏣%Q(\f-_b3Lwʌ@gŷg '6cK|?w,Sbd)oa:f aF}3UNŭhJp[y)oHmg$*9%Th^8z4&L7 X,/q$G6yvt ;Z j1L"P]bɉuH/Q7U(LuddKFϚ-X0k:Ho kD7G6.@bq/X!ӆ/+M=68}%F A*N\GC{ A$ /8):ZfB?L-PdmH7Nj>K?w9۫,^c'ӅW~ lY^W!B wen=Y㉄9sΙk_aF٬ښ|#"<DMM;ʙQ 4:m~wvn 831d(,wY$ rJ2>*_i.Ɓ% ӃjFˠ.$,y낳TJ>>0붣fq֦OeBifG8^O tyH7[53̭簋NA !Z"dGOm斉6'5ei"z*yq2KGT%\:U$f치ix}$Q`M;cYZeˇ󚡌7mwf 6PD.tF0MsG)'V;8>BEG>h qSϸdR9 |59c2 #Fe{c5ER[ ri2'M/6gr'~ ۴á0`nbރNPC2Ie|5-(# ,_sgժ-˳8rP/&E?j@Cs5 0ȑ, < \ N3[vZb;2 8c+k@^sZ7C vSj hyqȕ3;8"U$Hn^AcM=`z z&4]yؑ& g kbXmb/j$/6'ȍ}ţu?zq2*K9tCM#$ƃhM&uv!-ϪR[qТdʹȽa~1RN;AǞN<reD'ZW0 F X# iv8lI֮K>ꇷ`@ #H(Zݙ\wyXfd,qz4 ΃\V:#2Q"LS=P{aɢw %U&NxL:"b1ZoI.DJ¼e B=ܗVߋ?L!8A$W< 4x&xdnMP $y뽸IfܧG1+{wI'jEzmRa %_V=yN(k#ϴz1_#&>e+]77CPsB2O"rRS<ǝ\(h Ux>'}T+~BRa.Q|t\"p ^< "h>kC!+"./x5o|&̣Z-,gqFaUdm,۱f57֤m17F &R <ʔNH96R tG>(e|b"Y>yϴ·IՇ,jۊ1wA/C#,=\+$q۽J0R_X>]aC+ޖDdO !AI{ ]w_Hx:HO&qvh2醶tA@m*v͸ttǸt3ԧ di:yM 7 [v=%*ol^2 LC*04` s# r⹀71+n\ȧIgQӒW!͛Ŵmip=*%6%:۸ٝC N)4+q\3^8mۏ7cF3N#|(cAh]˶ M8"K5Z+~ȝwN &'[M7+!`a7GXrbO:_8fJbĻCcѼoqp՞;#yNUD9?`mSH~+'EyLmTH4cv1.֭g㗼Qang֛2sgHg0ӵpPkC#lN(1Bހ*߇DDuhk_wQ[qݑcBCM"|׭+6anvĞ^ Fc DR3:|[Wi'+ (E\)H3|` V *Q,Bt7'dtQlzϚ-Qt7zP/mjӃ{]a|,Zcandg[S&{w3w-B^^tI10@0ݥ~tnI $wP]پ^2.IQUB0ҰiE[P_>7we^0P&GVV(Ll 'a=򥺹ІCf$7ܭztHd gD=Cm9T2÷+Ix[gFKm{=H]v,]-*LmaSt% w>b7[<^oq(Ԃq ɱ,<\?Ξwc$Džv+cp8yS/e3RBqї ,_T\ǰfˆy~eNšiy @ݤG@l"+٩RilCvнEܧ gbߍ g`N2$M ?d#j۶E$b| lJo,tnOeUlnSm,FE`AZ#)a* syR~K86(~d!1׾c"] PcI۴N(r}qO\|v[*߮'c<şs8.%wCV7:P֊N)vˌq~<EY G΀~J"ςjxuԓ$Cܶ>$|$;{e8|a4NY^kג+!} JNUVqa Qv5gHNMstmm갴H9I74.27gt\c+'>m( %w~(4/h9H)IX 6r?H@H|1FvX€W!$`!6))s_I}~b+b}D.nQm08E2%;ψvC PAU!Lw#lw}~\{2RKͲz,82[AL*EyF:t}5Vg4+MA}z;N!<RPW/F-tlE2yQæbgi_,C)V.Lƣ3Dԧ*4My?<\#uMFP5͊T]u,CD/HQ1F:4i\E#$Up(xp|xqz'b 8 =nHS8mB5;S7W2N,VE|I(X1 ?UJ5/Ӻ3!&Z9hvcsA=sCK3f-UL8z3K8hrHA`/> ;ա,p+ҥM{g!#xq5Էt9-=P#%] 㕓d=4.TGRt;3| NE!yٮ)6oZs t[Ѽ}pAE-n&sfq&nsM(cHQ;?*,0$3Ӄm!CD/$rBhuÕшHGw/Hf!E6 ՗ }'zO5Gd 1WgfU:_o4yw M{h.(oFZ xH^$oh]̰2KUho^m*E"/,Q{^W$VKKlZNjŧK<йɈ.#7AFaq^݁) =cKioIWB&)f RE01xuu9KȪ\6(Y_BDqLCcq, |-TRV\ ]13*eX_d%EOmJ:8=S5n rUO!R\ 8_ϵz7. Ey0qp#x`G8,0tK~W陳FR!/_8$tW@`S 3W%-H8 TX:Lˋ((SpLEOJіV☇̱4`@]Rn%)wMb^L̿jh)&yp]S X"1w*^ǯ7n)rWXuE9z$3Xq*N)K ĪqOpC8J|#50}:'{񠘒-SMC[R$5"e勧O{`U ݒ%{,6$yI훋d`G^!U/^] 6ԛLJ?h `}Qjux4TQ OW1˕ rSryhS-,ci!N,*۱EwC\ϔ&i֒ C׼ C3V( W!8"!ʳ0+ ]ڌT6ӃC{g:gOGdnJwɭUKVm\!ʞa& ZQM&{Q0I.-ݺ?h g_ ;u-z&9dkcp*!%qYg<>tI:G,jSDӆ* -`xӣPIsHK2djOŹ3h&-A&J53Fgrj-,G< QEYb ͰeiFyh{e6N 2|1c$[9EH`O62 1eW3sI!V5ciN@mawa?r'x\sKgOyioĢO^\ $_˹?-2h| E5'~vn]&!f._%fG]Sg(W3]DvFw_q,{BKnz-|kq4Z|ąDCd|ޓ BA3ț\zfi nL^YQ?:ZVʈ[&Ecm򦣡6JS qU c)BU䖋 Z`BZU r!gp4Zj-|kSBܕfa#F|]K?bFL?tE'QdJ{er~ÊHPV|.{ Do'QL^_BKܡ{Y8z%AC[]_XrG./.T˂R0 $i_EK#S|$+w\Nc©2u8mZF>kr6vM+cO+_vYsVl`u Le6Dnlq6x]mJhw.u]G%K3% #%)o9fr@VXՅ Zم[ RܲQz ~t! 9ouOxd;s$=.x3'opЦ6JRt3 PtJee5z& il!N@;u m$~abޫv evΙ:̨7_ o7nՉ˦kwt+TC7g8JPV[f@͜gYFߙ@IJ] 3{co͢Y7Qo1!6쓠 i[ꏠC̶/xm0 4u;1 9v3KǜRM-'\ı 5p=<g$&!H,.D' "TuwRT=IdY 4Q:7d|h!IM B4Qg6cKbMKV[l1< k5u^%mpԧwW-µFAcDFPXhJ1*T\ۚ].ͷ%աQ D}h?|2Īacگ=^igaS\b1vaUf:FHs娝'Gg&G Sn1C|zK {Dvque} `U\O1oz(2.M3~L } 2\GhA<,GVMdѡk"e$e/wlaNm#y;vE W),+*VV+DvS: Dk@qC-<ģ!78^+Ant.I-8Z2r/4)?ّpǯ6ENwt|f<;@`s 6W˜@΄KKP6̇ۿ\Lʭ}WƩ2' Cm\jfdpal/Q/9|h/> A"eL<5M#3]B+*RV|c?1?CZ/{ue|13 Menfzn{jy#6!=m!, itA™Sj :h "u:̱ty׈Vw֡EwHEsbd JfffVGӏKkWΧAZܿ[eZ.$V@a /@NElJG򑶒{=v%@w4D?'~;B6sfS6}`,Beil%G` ;r(Ww1DْSp GlF&6V w9{,j E&3q`#)&}|Ϸ,بXE &U[b9(w!rOBwKW}e|QD4nwOW0MJqQT=QO,fqDGE)ϲVrVqᖉ!"E7?2xn%xڵ|ł6ҊvǪ(m>mesl0!Z,$k]㎄MWcL^dϣ jo` \|'ICLuUiNnc7 sFcU#Obr> /B'S.V]JVɞPQS57Sݐt4^X1AE@Jn#>ze}1hLos/-deo'Gp&vjdSpc="a'UmЉ> 8FR8kTsz*ں~\F^2ILt3vGjm6ݷ'5 xkTv˙O8n>o1J$jcn/GY^T3s4uHbl=^i>ãCB>z:1ؗ jM"hj P5 hDVb:i+TT,eK"'  : u蠧yfc"J~QcsaO&ßuλjAfy ɥ\'S(`0jmUgD P{JQV%1t._vZ`|~3Y8pu5 cuTV='!󕲈/im$#0o_E$}֠3ʯ W F*XTX-l^"{+0K>sMd;$6@4{ݨ^YLz8ⓘ~tuHjXw5Pum==)0;LVNuTPwxJTnoe'=F*#!ለzPA~Ѧ ͌5CBU %zR&9I՞Ҭ^f$T;"vgPgw PCP\0Y~gGw?] 6v 追0q"Q 晴h<=#P%g X|'q]poحPfԺjz>2VQW־'΍us,Rц2|a,_=6pVbo}{ ymmM'ƹ8lc.ΫP#ɀPsݢJ_fņ[pI{GtŘ"LC)Q佀ÊtA6?RQx2e5c7W= !K6 ̏k N}8m`R 4m pwؐ̅޿{@HـV.Qzl4w9YS, UBy޽rk[4u;w[KwSf:" >}fȁyhHex~CdSBSȣ_}Cٹo`N,6}yI,u׼3?צ_NxBF=KB:\ֺJ1j,qs3 m8xk?cYEö*t,x |{ !d1cӖ չŕEHl bM+4?IvD~Tub}f3Oкʀ'Dhi 0?4"T, de6@,W)hoLy5b9Oy-nꭴ3y't3^dZ)O9Ki~#'ŇF%/Ҽw~U\ZN"m.ߩEx*KGR P "vVi_vDc2I0SQ`m;R>(ޡFj9\=QJ @oBuxkw%CV6W/=w;؟(V[R՘>H#5/AtUUx9Ey1udzoƭxhgۡ狲ЛEuN{nq>8oQ䳻?Au *8+YmxsHDZ%*←o =QRτqOᔥL9;3㟏{ǒǟ[MA Ac8zKUŭ^:ƕ7]+q`[Jg| ƑqԃLKqJgKnJM9V9SCO$gLSD Gzz̾W)RDTG Deu):>C •o.JFhii_]O0e@c R;L]oF7af!oOOŝFJhQ\|p; %wq&@OWX3 fV}x%x~&֑Ր&|{/51ԟ%] $U@ʐ/'3(vjು*. XpcdS7kPq=~>FGQөɘmV3H||qT4R[N17+78¹"gȋFmA K#)BkBQ't~P!YIܡ.Bf}N|gB6a,;ac&rT.*_$Ɖ66UaQ 28+ֻZ5SF_\HLǧ)aHsf 6 QI[Z9`aWIΠ}nSniGNhC@t.zYٻZ&Rt?WĀ1-Ҡ*H6s/ioCqV۩jC)oJ. D'HpC@Ӱ5 {+K 'L1Yp<>wJ!idԾܓҶ _&=zWpËݣw(K㓵?gZѥlZ"/JMw=?F!y(-UXT_ӒQ;y9bĕqJj_/LI\SG YxŽ![wL⢕uj_lq 4vam#wXCyekzoV,<2 I *Pء>Á!_食L|u}?NGs#6yFvm??N=q*0DžCKU# nraPg.sۥ Ea7Z⇑tQ~=:)U1iv)Ha4kv)OQ1..6О .xQ;?z1lX5`f{k  0y03X@qʊOXTie?a_t$7!WiՔ C^G%B |AvP\.=YP^d=xf->S^vB~ԛ`:%$fq"Вכ% ]}m2WHԛfe88 :aAeSyHad09@ ,O"I#N}8`TП6t hQ pTZ bšWjAv8ȘB^RJLh+h UŔBǃ \]j'MؾԢ) YZ