Skip to content

Instantly share code, notes, and snippets.

@tuankiet65
Last active March 29, 2017 15:50
Show Gist options
  • Save tuankiet65/c8aaef74aed539529e255a23d23b9449 to your computer and use it in GitHub Desktop.
Save tuankiet65/c8aaef74aed539529e255a23d23b9449 to your computer and use it in GitHub Desktop.
Solution to picoCTF 2014 problem Low Entropy

Low Entropy

Solution

Getting all public key pairs

  • There are only 30 primes in the random pool in which p and q was chosen, so there're a maximum of 465 p*q pairs. What's more, p != q, so the number drops down to 435.
  • As the number is small, we can put nc in a loop to continously get p*q pairs until we have the required unique pairs:
while true; do nc vuln2014.picoctf.com 51818 | tail -n 1 >> keys.txt; done

Finding the original primes

The faster way

Assuming we have:

x = p * q
y = p * r

We can figure out p using Euclidean algorithm

The longer and slower way (without using GCD)

Assuming we have:

x = p * q
y = q * r
z = r * p

x, y, z is the public key. Our job is to find p, q, r

From x, y, z, we can have t:

t = sqrt(x * y * z) = sqrt(p^2 * q^2 * r^2) = p * q * r

And from t, we can calculate p, q, r:

p = t / y
q = t / z
r = t / x

Getting the public key and the ciphertext

  • They can be found easily in the pcap file (use Wireshark and then follow TCP stream in packet no. 7)
  • Welcome message should be in packet 7, public key in packet 9 and ciphertext in 11
>: from server to client
<: from client to server

> Welcome to the Thyrin drop box. Please send your public key and message.
< Public key: c20a1d8b3903e1864d14a4d1f32ce57e4665fc5683960d2f7c0f30d5d247f5fa264fa66b49e801943ab68be3d9a4b393ae22963888bf145f07101616e62e0db2b04644524516c966d8923acf12af049a1d9d6fe3e786763613ee9b8f541291dcf8f0ac9dccc5d47565ef332d466bc80dc5763f1b1139f14d3c0bae072725815f
< Message: 49f573321bdb3ad0a78f0e0c7cd4f4aa2a6d5911c90540ddbbaf067c6aabaccde78c8ff70c5a4abe7d4efa19074a5249b2e6525a0168c0c49535bc993efb7e2c221f4f349a014477d4134f03413fd7241303e634499313034dbb4ac96606faed5de01e784f2706e85bf3e814f5f88027b8aeccf18c928821c9d2d830b5050a1e

Decrypting ciphertext

Good thing no one can read this! I'd hate for them to know that the flag is make_sure_your_rng_generates_lotsa_primes.
Read in 435 p*q pairs (435 unique pairs)
FOUND PRIMES:
* e66b30bf47da377f89c43ce1092c3cd0a4483f3524b8d6ebdb8cc5ed6dfe4ed31e5a9384b663eb320c051423544483070446759b9ffb4e1704ca0a67c071783d
* d794faaf3a00bdbf8d23256b92e164b5b79e47d26a4418e3e9f6be1b92efa0f9a449e03e38cbcef2d00cd6417fe3029636d67a9f647ae8e9eb143f4bd1415dcb
* c455e3f0dd50b980ed15ad0005581ad632dd7a455fef4d96a44f6f391264f7f87df3a272b6d8057c1c4fd831aba0066473e61ab4ef4b5261632bf3d53bbeaa25
FOUND PRIMES:
* e00276ace6bb31496fa763a03994d5c8e10dca6ee1bc1181127c9f6e8d71dbef6b70a1c34d4195ec18e71f2993bf63f2148230236c5a0c0bed82c3b499a048fd
* f015c52534b161b0dee27d454a5d56b4faa74d5ae0dfb7eea91702a716f34c502679a709042b43127a842272f24e67742008bbc2ab3dcb7825b8ac11bbb33aef
* dd2b1dd773395efa8c171a5ad068e193d4e8b8e43dba835bc8bc4da5a3045a79bd9c73b8348a56125fed0305278df52ccde0b666c71cd3749028a0acb23ce6b7
FOUND PRIMES:
* e8015bd1c0492ff358d3cb7b5d6c7732af0276a2ea148e5d89f674cbdd1555f03e990d3c7d8941e368b60cc2c10127849431938a8fce13a5b09c6f7e021c9b83
* c5e8e7d069bc608cdbcc042cbda280d306ab3dfed1655ce0c4a5f77eb6e3954a4160dc9e370de858a83f14ad1a965d30ccf5aaf91d66a346af29e6dde25a7847
* f03b1aae26603d7e6337d59555c3e24f7e8bbd2716bc1a8e33276ef4ffe4f674c42aa43344a2ccf1811484859130139eb1aed548f47c3db521b5a13f7e83bab1
FOUND PRIMES:
* c6759a14d892d2e739d3fbcd1f65575714d04b358ef1bd4a491e3bc111378edcd9c9b30a7cdc81c3fe722f22400494c8faa612634f51ecde8dad0af34f645805
* f529b5ec2fa734d9d25820bf63e0a50d750ef031669975d7f785fc854b862593d6b47a72aa9b431a361d21f32c2e494a0b7a243cb00d897ec9d31f0c90ad83b7
* df22c2ec36787e5fccf154a95b1afd0333aabc9cd68aa3750981999ad3149c0f51cb2d2671c648875d1b929961af000bebfa427448b54486d20e1e570ff5b31f
FOUND PRIMES:
* b75c72f11dd3ed5ac999925d78b451c5e309e4dca7d6e11de321f3b8bfe6e6abb952b5d1f2ad409377d3a4bb12fa663974c4c11ab17ad1b499bedd829ba4e6b1
* c8b475594ebf8527c7f7130a24cfcb1668138563df68e0aed90aa77eafbea792332f9cc367b07e78e5c021a5478fa962da28b30b6f8f8c82ec2d6037c162c675
* c90773f2a74e399449af95dd93a85510d900ca2d007b399d5a2eb89099d1cf3ae102799d94dc6d4bd17f1ba3a11c439db61d245d3bfde6d650b5f68d70d5363f
FOUND PRIMES:
* bc753d1c1f258a83a1b6937b37385b78bbb6c71752ef4381b02dccec2ed1bd499c81a5f3c7b388e51a6a30673377a7cafc0cf83dd9d1a1501cbee91324288337
* ce43dec5f6db0ceafca0fa6d3b4d1dc3ed25e61d50562241cca57b31b39d4e0f68520a3687af926959d2d5c0ce0099fb026ac6d2ceb0d4e192eee0aff4a05225
* d4e554b87c8e7e1cf3da7f386cdbaafd03f212fd1243d8a1b6d28ed2e8274c2b2937e201d5bf28404821f3970dd6a1192966b047db351d2ed1117854ad505aa9
FOUND PRIMES:
* c39a4d7985888f9b8dae33d2caca1385b4e73f4f07e57fea197d80a171a84e74b008a46a3c1d92d18b7cf513dadb4e756c130c6bf8b3b9a64f72e0208a22b265
* ef3b053e3488834d747ab1ab2c228fd8a58eef1f0dd6cfbd7d431ba8723580223dc31c138d5cd0879abc498a509bac826279f48e27f2fdcc3f49e1b75bd57a7d
* d48865f3c326a808e57f95cf5b8c7d019d6026d3818e6dd9d3f10ef8f1c9eb60b523ce08d2a8b166f8ed4613f710717f58192f2bcf996105d46291bc8efd1a6d
FOUND PRIMES:
* c3cd9e03bdb68392b8c35e80977e4f23d397367084b89ee0cca572147ab8515ca2697d5e06af6587ac4f0efe83c4e5e6d16986bda89cb410b507411db995ea5d
* b746f5ba6887c5a0e031481b6b37cb3abe9e871bfe224cae9b70271472cc8d7936d33b15c5f0bcc0a4da346881713b868d9f35dbc4f77818138ea16171d4d5d9
* d0325f5d7d01f7f778127ce4723a5ba034e02da9591e390fcad38f6662fd516965b543b49a150242ac552970442756e43c81f99ddbad8a18128bcb8f3959ad43
FOUND PRIMES:
* e16b43f9c9c5838b64d131de2b32fbc43ecf1dde2f1e925b38b5269a57dd5f51f1e0d0e625e8b0700aa33ba99b5ac794f7017d766373bff465266aa1f6c0c075
* e03bcd6143e8b8bfb923c076434ef07dd0fceed005f0e3f546eb75d8e0229e770e271da35cb990ce5d4ecb79cf3d5d7f8becfd201b6f12b9043a83168f9a515f
* fac1fbf978bfa5d5c9e4d567af346c8f651c1a7cad59805bf1a28cf613c86ad6672d5956717729c96f3fffcfa297856aab1e42c0776a56915ed7678327c72385
FOUND PRIMES:
* cc0a359833f081005db371e859dca7739fa420a3aee15887235725cd61957eca75246f53063590ff2c7a9b6f5fcf4828abfa780263594c98980a8f6b40e490e9
* ffe476c461231be2f94d426361deecddccf47d1c3df88904d51300e0c95f2fcb0130f5ac1a307b7bc6725bb32e815c25a90e214275cd0a6b0e003d151cfd2791
* e0ec06df35f689a30244d1a1b3885b83820e8183f71bca3c93247e461aea4174a4dbd452d5ce60bf4c79c80cb47bdc63760020f8520f35ee859056aa569b6d17
Decrypting message...
FOUND p, q:
p = e66b30bf47da377f89c43ce1092c3cd0a4483f3524b8d6ebdb8cc5ed6dfe4ed31e5a9384b663eb320c051423544483070446759b9ffb4e1704ca0a67c071783d
q = d794faaf3a00bdbf8d23256b92e164b5b79e47d26a4418e3e9f6be1b92efa0f9a449e03e38cbcef2d00cd6417fe3029636d67a9f647ae8e9eb143f4bd1415dcb
FOUND d:
d = -5e3012cf35c9d07b248754ca24c43251ed522bfec2b8df85a12eae81dc24da1da6e31ae1116af0f946d6bd68c888ce326d609492b4ae2bf144b866408f52e38a74cfd9dd1533c173daea57565cc7521490ff7c611909089838907b46d4acff8de70d70bbacbbe3e21c49b1bebad8af777970887cf1354105302508821a15235f
DECRYPTED MESSAGE:
Good thing no one can read this! I'd hate for them to know that the flag is make_sure_your_rng_generates_lotsa_primes.
8345e972c84bb95a3b26a545ae814d0de7662ee128f43c0d5afab7d5508ca1330cd083d257a49f5bfedfd2bda98d26310f8e82a95fac210e4e18f4046988ae5d1bd50889402ac1b7edcc45a96c3744ff0a4fa5ca11cba1fc1b334cb7708ce33905e32397d9bad29ed103945562c6e2494192fa59da03d566ffb2d7aa4e4cd109
86ec0ba33d923ea8d441b85bf83f048766b7949ca889d977e6568cbfc7aba24cf5e4324b4899397b768ea04e4f43f1cd8594a77a7b1c862b0daccec84da8fee7378eb95f65997a210f29a417de381429992f3573e20967425ae3df345731f1df586cfe2f8734e7ca5d3c1e4ca991f87af1a4c86fc188f729b7f1a09e4c0ffc9f
86fbdd6ec5e96022d6d6311fae1d65da6f3cdd13a0833eed2094dff3003ac8a9acee68d4e9de9049cc752057f29123792818e5cc3915e34e5e2af9ac17ce368a930dd3f42bee0cc0c1d2ae7a07166cbec28250f452537fda4ea018ccc7e72b70891090062b630b07cbcfb5789c67e7b390a3b881ad639bbbe439270cc2222307
8c09855427cf25ef1028fac67d4dc196fc2e52bfe4c9215fe563fe3984c5f5a71f93c327d77e94a9bf27d5cd059eea23249a82507232e1adbfe72ed0e3e2b80a5c05f1bcf16cbe4c3f10512ef7ea88d35fc88a340c0042e6f616747e197a2888f934565eb6c42221c400b4fd747d03e13b01d0d540b6e54c8123e143467b409d
8c19f0a8a7ae10e92afcab3bc0f29396fab7549bcaa0fac292b0d884470d82c299f924c3d4257f6e8cf2e9f11bcad00b06e10e6bef68e7253b9681c5ffaf229236a7d43d70268978575bf13ca26fbe4c0fb766dc93f2007fd59da7d6c9b6220a5888e5104a7e9a5fb5631698c1a75db94aa471ada96748d249db7b221df815d5
8c2e42203d351c057e59a1334f72bb4c7e8815086c972331c2edb678fc1562b7a3cd319a803c6f629ce95f8aa928ade776458291bb5bdaca8e4fe712baa35324f3eb3c47aaa6a3f641cf3068e9221a9626e5c7b4e53d0ab6872289a4044ef062ded798db763b734a31e465014bed25f2b5df20c346ffa6c808a514722e1709d5
8c3eb1c371b574907f8f375aafabfdfa5022f2accac23569960135ddd4d023287087ad7a12e96493a722e52b04f240b32cfd83c71ae1d811b22cec7a9c5e80895a83e021c3cc2acb8aad1b39e2717765e77666a3a4b4cc573d4b3bbf18a61b1fca405566914ae68ea87a1a56545d24578415126ffe5fa64c9466af7473ca984d
8c8fd1e2abc95ef378dfc22288cc9c24ecf3e75097b4a59e403a8fa47783316cb543abf7074e7eaabb777406c93b8dac981591434ddab3c61a5017680723e30037c43ecb27760013fb296049078bb8a7e50a5b38d72607b3d1f62c286dfcc9d5eb55214720ea97f7e7db7a71b4c1efdcb2abf9d57adb775159dc7a7983d3025d
8ca04cf6440159926cd7a41417009817b065ed7fcf3085346111ed373c0eb14bedf4af65391fa77267b5b8eab5f0eed937dad6719c35e1bec36436a6363020d0281db4459dbb24d9f687ee5637e21f0f31596480eca93dae96772e91f504c4d3a5ad1a4d514a60355b73ae6db14ffbbe80aab59ae8e8a24bb266390f0264e195
8db0595d607509ecb60a56d0b0b003470169e348bfbe38b3e27a38eb5ab0337a1c695246752f20adc08f5fa494d1e916cf6ca89bd03ce349c8df2783a46da25f5b7587923e45664c73b05079a707f1e45c3eacf6116bbf3d62318f31700e5ca6f205eb711e63b040b07091a4b0dbd8f10f7b590905049d751e92eb54168f072f
8dc0f6456907ebb94c2cf881a0e089bc335bc242d851bdf67da59d7938fe0be3c1fa515151b5100419a69ab9739e1f04037c9747889c9459bf81ef0145f82ac570c816867483ede8c7412d63b9efa193bdb25eba273cda1685a914f5dc5ab7ffb08108d344cea484afa663b663476a7c027da0bf712e5de7bf0e209cd318f317
8e1513cc17751b24c3ee2d54ef5f184bc159ae947e9b3cc803ee7f0101664c961bd08c0d1e8a9ce46811bb41821159b2c709954b7431dc29524a13698d75ca6afd5be03d6882738940524c2a60bbc97959320988697a701f3175831632bb282c9844b5c94ba8b700538b597ba749f7b58c5d0c4fab29e971eb7a4224e26ec53d
8e25bc8390c1bcfbf690d31309867fbf6a61ddb05112438a5cbb66a53aaf7410d9c6504e75207a70ebd9b8f721b554cd69ab6b21a18a07442543012e8fb174ff4e95b409fd6b23690f5cd29e6105633cbc60df6d4bcbfc631ed8a807c3b3c4f7e0ad2bb47446f05e280f1fcde40f4185eec29933f5f6ba560312ccab75a95975
8fb0a1e1c715ed95835a0db5094d1f4096f53c97247f5f41223ac9f7bd8c42a4504adf5bac0e05b89393fd7658361112c245d2d83fbf092948d2c8f3bf8b3150d37219a6f67021c010518089dfa152ac3fcf898e9ce2e9f064b559c4594f384786004d485633a533fbd6824f86f265a6d58f59142d6b38c4673079e519bd922d
8fc17ada68ea0b45ca802ce111669e1255868762a3a4eeae5148c3d66eeb9288c52d85752e07600008dc80d65e52252825eb23d1f38c815610fe83b71fd165595529e55f30fe5600a90748f960c264bc3cdff54c15aa4cb7403aa75ba4a21fb5e7371db7445f4a769b8f889f3e71c08ab65b38fb50a82a7b26f218256d8c54e5
8fec0ce2ad69c831f506d6f475e6cfa7b2071f78f92b6f214d7bd176cec00cba2acb18f7ba9f748e60dbeec99ec58d5c970a41963947ce684fbb675e218f90cb3c7a85be4fbe056a5025bf165c9668e925197269ccb7da2a8c7ece9b5446308f7b08b5071e930777f975c4ac347caa505723a5973d6d8c17082a6727c6096667
8ffcecd2c9df84e04778d943c5985007ead6cc3b54e240a5ae1698b34adfe7eb980f9fbc612d95a39f85ab052634112a7ffafb5cbb5bc747769c485d7399526e599b7924ad76f853f82778ecb581f9fc67185a61f0b4e67c188d3ae8d21337d53af8ea1c4c2def4baa8003e0502361eec8d0fbc6a3fd14bc251bda9777831b8f
8ffee51be7bd1d80ae4ffcda48c9ec40852675c3ad3ab2b8e0ded7f0693056b3971f9a37eb99a74b09b9d067869dbf4b96879e20923794e411c135c71919199343370501c6a85e7442cb4ebeb551b1db5be0e76b838005d34f3e99dcd35275b8a264d0805ae1b9e89eec15141f9bff870d0ec5bb650a64d1bac86eae828602b3
9024abc177fe8672eea79f9da38bc37ecfbc9be9f16b798c5195f1531d30c4db8daa4aa955713fd505355e140028b32cce12d245691eab632a3b5607ea1cb20dce91620051c5a3fbbaad08baefea06d587661aa65b511bd8a1267bb46b155891a602471ba25e43a8f30812f95fbbdde4cc9aac8ff6354a984b1451a348aaf0fb
9088fd841834f273448691c2b81bffe38bd65613f0a6896651fefbf19bbc4b7a6991ab7b46f7d5a462ce7d85fea27354929568adcbe7be3a4215813d2a2e559759509bff8f080e8d90c79877095b73e9f2a98bae4add09df876efb61547f9434760203a633b8c19663822867028a816a29868d5e074704b62d67f3d930cf7cf3
91b1aced3cb0e7ce137d1709f4cf3d7999382448b4702801c5db439abed62eab24f9e090a24dfef0c6c712c2281fcd9f7188e363b416ae2b1f3e8066fd7400d8226c8614d6ab704e26298ba52653aa8142e05c7028f031637a7cedfdb757237556033750b5f9022d6ac172353b0ae30bc3e1e4030dd4b9ce8685c7d1b4142c41
9213daf4ccc516f19df4e715ee313b3d32026c30c851fd78b70531838b8dedff595d50dd9b68425c4e3494d529b74c48da62c92f371bf7da6a954aea379e36a15dad5c3a73e8ffc8eb999ae5ecf38e5948d33e8221e3dd1906f932a88c88065399ba78ac708e704b6038eede254ad30e188f0ba97e9304bbc8b9e1700844b281
921940468d4bf7e81a4ceee2b60c0d22da8db514cbab34859d77fda3003e9628b2dcfc8ef2aee558b1044a9b7dadba43a1bca808e28289d844479832a075e8f28ad2bcb6040fe590ff97bd368e6094d21347f27b7410d21e1e9e91effd901e86ccb797b2e8fdd1c6f68c7dcba4e3c5a2b96a07d109610edf023b7553dc617813
9224fb97c913e3b9d830c6424983a1d95c0e99a5bc317dfabad7e569e9b310d5618526f8162dce4c8f29f5f7c4ea825bde44c53b9019963cd67f8b919c21b4034ed8ba51199c9d243a73a61e99625b2e49801b4097b161e85bb6883a55030f0be2878f853cfaa4410f6429225e5256c0509e5af6a2fc2643804036f1207d8719
93abb0cb93545ebd41874302565fc45bc6b80dc0f6eb3323087f6b3cc9ecdfb443da1ba67b6522b5b8df7e01540fe5204c070892a04600c4adf1a54be3ec0cd3c9fcd2f407beaa584abd5a8d5b96d3ee812d06c624f091b7843ec9e891c806f0294be5d8005beb26f5f3aa5850e8f29a0e932885757caf78de0e99bb1be26a5d
93bd014011bc9eaa94ab8f210812d590b942ec85e064746cb2ef96273013c3edafb4945e28e5d6d097723ed50064ac95ccb290a517df058a8d9f8feae0469eb01f6a045cdd1d974879751fa3db281b2941dcce88bf3c7457fa4bd7be4004b8e3fc60733c016bf7cf8082ef7499dfafb77a624bfd1b7bf3ad63a6dfab335a0995
93c0709043c409bc928946945060609675dbc2d105875d9dccae278b6ac7b0a56161127bdca3bfaf957782484614201fc08bbdabfdaa4c96550610dc8e4b1296918ed0009760614745494428a6bc85df483bf92f4135f44fdbd525c297be4a7e6c87e0617639bfd1b206b39fad6faab137cb2665e11549552daf86f68e0e8223
93fd898b0caacb54adcc1ac03f4ba5cdcfd68bab9bc0a53a51dd30e9c80853832c944138500dee91dcb1ec97310040d66582860495b23e96d6f1429ebe15bac0be362f7961625b213a4e2081ffa927e237c39ba46392a65802811bff5508e9e773560b7e6604c4f6e988d45ec7a98858f90d67781fe92181732e53beae68e489
950db7c9b6cd3b634886782dda03ffa361010c6f087adcb2acc51850be76f80eae88f4b00146ea3284aa7f95c64d6da87202b36d66e4285d5e0d56211449e55d51a962132e48a160faecd5c5270d19614602911cbc769c772c0ba6605d2bbc858d7771759548ada29f27ec91b59bb7620eb5e27ef41478ad08e5944048a89ccb
951f31c0a01accff3c35c8afc879e3b1e7b0012cd69876ed31920f62b082c7bbef26800e3b58a25475f68bc2fdf87817bcb0b6192a8ffdcf107610d9691e656f2df7d1e4ea852e7ea7661d5d1855336fd816ac24d07dc19499819a3071fe3d51de476862f977b8e92b8fb51be3da1900fef8efce0d6f5391b7db47edc896fd53
959ba44fb29b3c03328424697bbe9bc8e44faca263802a965e04efad1ee0f1ec8be004ad9b1191e9eaf557f2dce9aac8cac043e6b009b7a64a90ee489d689f349cfa128a2e0233473dc909766c05197889f7054f770ae841408d968dbfa8ce1ba0ff3c4936f3a5cef6075bf31e83a558d6bae4e130d2d80493597da3b77420b1
9603c3b6a00b2a7731079174a7874144763817a04f2646288d201468daf557e7ed7536618af83573fac109a8a639ec591d0d43dbd982ba8a5fb20bbdcece289cc144bcd62de0120deb4df0deff912d436d11f3e0c42cad495db7015f996e8f4473baf8a5b93ea82aefdb61ea1af3cbaaa2f17fffcc17a5fd8097d255af70da99
962b1e97e1a56e9d863adeab35244d35e94188a0983bf53ad9928715b56e598a6b51dd7cdb0917b143be7c501ed12966ce05b1297843e89cd4ace559fa3f851116ebf727dfc8ebd84b1d2b12b748da0e303b6c179296ab8875eadf07a7090b34aab6da17828e4867fd6c04dcec624ee298cf5323b01247f734f0b731c052a171
9634f0bb1d6aa50acf50d7ce8186dbca6887a996f0251cddd84c9c69b51dea79f977dbbddf6086b9b4c3a74ab700fe137c0110427abf5d4599a28d53be61a959c6bb66fb6cb63d2c8d5327ef53e54085c7a9bc6d4ac1d15edbbe8a401fc3008b761fd12b01aefc73ca4e2543a48a6d23969fe5975f6806ba7153cca24faa5d0f
9737b29433f4ed5ccbed652145f67db6be3c099c8463c03ff217f1c3fe7ea3717e03e230fb85d2167e7d3cb0abf2f79b8b1d7a86d1a969e488cccc858f3e3520683901db9d80ea317253605cd4770bf802443f67adea5d42295d6914f77d62353839d412d71c3193906653087b17f423a61ea749a0f770ef70b65aa774c0d203
975f5e3e05e68e89658a051d8defb9389798aefe2b4c4aafa1fea1b4a1417fac6cff8996a51ae3567e707fad37ca57f6fd4a2f17564e48ea30aa96e47144f886f61d5651e6c1b2ff2a448b6015bfb40baa451b1728f822465925c66bfbf8e481b72646e96b39c3e5fac08dc8b339488dda33ab76ee373d92c0b276203d2197cb
97a3332c25f52ed27ead95262da89255fa4774a1c29941f620d561e9829184326c20e5aebdfc21a57b1892dcc833a6631c84c7b8fe5f803482a35f57c28dc995dc6136638a7e6e03dcae9709f7d296a08c52f980f2ecc653ff004c26458caa462692b993328030732ba7ff0e15202284e82d82ca272e912b4ac882987a7433f9
97c8b8084426eeed68f0282ebf826af01c04f61401842037795566e3ddf965910d5a10f5f3931f3a9871e1f9b03ced3c815b0c835984a741b9eb88d871c1ab6142d62368031f31f6e7288103170ff045296b04c27f7aecc04443866b56d68ed20b489f3df1291328d41005e660e26c3498794b073f8239ed7e9507526ca48843
97cafb09bf35407f06f5da57e92a950555a56cbf2a5f7b4bd5001c325e0d7f64a3a5f9fb0448437d89ef28979e49bd6262f80b6b4d030d6af54992227545b041142c1d39e3e5d623b1396818774f9d57a61ea8c5397f52c5be63947d2de570c4b6f49e293183a1e86d283544db20b5072206faba249123fd41b6578967d18bd1
97d84ddb065cb0767b93ca28835f6754d8c2c866961ce750dcb4598dfba677338497e2bc3d76c9cf99067510d1234ae02a88e3dac22175adb0c4ba2e0ca1a612dc5b3701f080a4d463d8865dbd600f7bfdc2cf085e32fd925168ddf4836e988e5913018c695a4acc4ca18fc10b365af56e88f121e76192d0be50da54a24294f3
98286a2e6c9c7cfb680bbd6eea184c054800cc45f9e4dcc499dbcb5f9c9f73b993ac4a1069233c7a068e935efb57cf1d84bc84c1facc631756109034c65a17b59dcb7c1040a50963b89fa8cf57f338167e854369e210ff444196b8f1008dbd569057b68dd08a95eda2de12709cc649ddab4b935dcdcdf58e110f1e5ecacc1765
98349fb9202f5c615e2177832ca2f692cb47112747c68afbc68c6b4230a99ebfa96ae925fd46a472ff20e0742861f32734beb949657c005eb1af7bafbfd854f5dd5b0d8a19395691d5cb408a5713ee9c324dfabaab3896a927e28ee99f0dfe5527323ca65a211aec49e4621b3b3240af77d6d415b49636ca9d0a2fce96aa0ab9
983a4152ceacb06af83328db8c154d0455cb3afd3006618b9f1515df2557951fc4fd77ec601b7f464bfdef3b7ae38dd46fe0b2f4e7c3aa2bfb6651e3efa4a7d65b00981405427a5bcf266bcd85a9ed869232019686d963fc08f617602cae3a0a367a667c6601316b5ece34eb9767de62328d16a6f44bceb4ccb289552f91335d
986af29f8b1e1c10f051589f1dab48ee34753b296708fa8c9b38a5211ede068ffda87acc35bf72b7cc719333ff72e874fb923d81755199111779a6366f8d63917374fd9c62a849815ec2484aef68ca3db7aff1ccde8efb6ebf4aff24cf7fa8890300669efd4b2db63c02f8a2ea572c565edb36b3d9933371d0c21593717f7641
987cd190f7c3c18244e79983dbd7b167abc5d0d18140d336ad08dda8df2574852ad88b6add14f6c6a660805b27cc96eedfaf5be545cead3cbd067e63f7215e7835bbcd22bc875acc902cf02292f72581f1c83780ac80e136a5ccb7036bdb143cf073c5ee5be7b705a2a28b72fbedd051749a61a300c0548545dee3726d4684d9
994456c11d17ea7d83ee351cf2034f44352a0101adc91d7ea19162b6956feb506d0d0ab45bbab3aaf734d577550c6ba3df3276aef77e39a5a613983e4823264edf09b24b2b710994738d4e098ea7cfee0e4d2573b1ecb6a2e3150935b2cded7e11ea68a5ffafc5f47b421f94b62bfd250248106ae239a96743b86f77b4658265
995a6eaf2bfd66f5ba11a2fc3d7bcc410f821a26b1bf098c68f7b4985a3562b9c021d3fb7ba82376b3380c3bd4cf668b47c81ffead988270a57553ef043fc0a26233db8a61b5f3403843569876799deaa70a90abcf0ae92cf9ebdec0b7e635f555365f056908dd1ba463b3d79851dd589cd61bf03aadf20aa58dd72f677fa629
996d0ddb5d1b87208546a6a2aaec5f90f66f9aa9b6326bbdaaf6e84784651ae70ef7d936f78ff0f06ecb3938fb2ad5afb4dcc9062bd9f1e74ad458148852091b809f67e33b330913a5ab39e855f091342edda0077c502bc321c537dfe76aa4760177da908e9fc2a3eefd30ebff5404a092b520253d01339e42420ffe69d8c163
9982a9c74ec6c286cb0d52d369cdafe5cde5c161e2c33b9300ff4e264fd0afe4217293c997ccfd0a4ffdd5c57d2cfd11b6c0265b4038b3eafbcb20036a34ecb1e6055bdfbdbf5d928cd619216e2cc5182da45be32d6dc6198246e638977349fe1a497685d019f63c33cca067d478af5eb463818db74bd221b46a0b2e99620a81
9999d8a440ab20e62cfe0f80aaf46940001035c8b6438277921a95186958a9fc0249512a709c6896b10dbcbabe2714388d56bd5d7b914922e712f9160754c20690bf16d0377d31ea867fa59d79a1de0d1f53d10347cd24157389ab17d4582b0d33fd8d24cd71e5869414312daad9b00dcd45a466597038b19e0071b0ee3434db
99c2245f386081d2e907b75352b6080206de8ccf57848004e698f93fb021272e13bb5c457e22a860d4069f8eb2237e8f0486cd34862bc4b8ba96b23fdc0eea969cc61a5c83f1526f9b3498eb624590747d95714bd70105b3c1fbfd1be0576322bf9752f68d608792933628c2848df098145ad294900497814dfabef3fab54ae3
99ed807831b10f3993b9e2a8a4d4fc3e1c836383e68884d8140d5ca333e3e6b4277729a46a2bf7b03198dbcc65b15a346dced787f7ada9292b27d9a7a342b72f87d78f54020a88a78b814b846dc698d3f3f00519a87ffc5eef109a222812bc918ed7a8765089925b71384dd0bd05ed4f85bb5e287f2a543cc59e67dfcce660e9
9a2d273e084121fe33ff6e969423e5011bb4a7b06b1f138fe68587c7cae82a2c835805f9383a5bab624dc57fb19d26b910d8c5665ff7cce3abbbf576079d79157ccd36bc9deced00edc61ff8ac4e650ac8bb735f75cb176df3c1ec6645f57c7e1562cb7dcd0d49564c5a41400b98952ae6b001efbd180ee4d37a6088ac98ad1b
9a5740de5c8f157f2b302ad24f63da4f82ceddb9a54387613e63b422a30b848e2a3df3e9e40b8e945cd73164b663b2e67079e8cde33835166830ae617f6745299aa65633b2df609e2cf20297a4601229c38e8261ee0de98f4b2e299cfc53e76651e76b1fd68ebfa32de15b34c105519105c7f8724a7a35297c5615d30a8e6813
9a695988bd6fbec3e62551161e34532a663b3e6b6006744096b898fa1f4b3ee5b6e177a0f0ffc2833fba67fc9bfca4122a26b632e66d5d86baf9c5f606acea47cb9de96942179a97c10a389bf3e93f8400fdc421791733a0331b2cda72514c46e28c9122b750addc59356c20713b97e4347f73966ff5b3aecef6632c67823b5b
9b2977964df16200ff97cf6b466899fd63585a38efd84a12e06c80e121d5e77597a57a2bae79fb7fa83b6333f473238a65e37ee05b6cd3a3f9d781accb69c962fda2c176752d651fc811e389dcbf014bce77fe1cbd8fdba3bf814accd630ba5eb0618b76bdd2f97fbe153c08cafaea9de1ee833f7befd7444652730afe8de273
9b69a104315cf72be5946c55cc505ad0ad446aa874ee8afb8bdbafe41601fb1ae96ef2bef1e12dbe291edba1ea6c465cc11e0246fd3eaa4288597ba3110d444392f45e1a8bc9dd0ea62a16b169f140533b0dc9cafbddfb9039e05f16f619e7310b915147ce9e82a1b3732205030ccb5147855a21b38b2ed5f1430159ecb59379
9b97c6099b35622594b7da15d3a3cffeb7142f0331be98192d2c13589e29f43c8630505c8d2fca36592e0724be3e76f535b3b2169375da1eecf46911dfdfe53415146962226ab4c3c10d7d2a55aed656e658b8a9aea5239ad545183f8e73215ec5793c171785e0e0b02e9ce94224de6a40eddf8928c79127faff04735bda1849
9bd81d1485b39495b0506728527602e9d930a0d73a9e3df7439b056a218a6c4f6c761d651edae9b3441d5ef60b1d625c081906d87b9db8fa79d855efa263c7e235d6e013c94b8738c016f0908243257768678440ba99b8762993937d883b7357381a007bf29800e6066f531027f51fd92c16e67200da385adf744260206bb73b
9be6c2b71a7fb33afff49dc9959758d5f59be9e0a21fa4a35d903a82c1a277602e056cf7c66adca58e705d300a60d321bcd42cba7ca731fef7bfc76d668c396d035f10957f9e80da36b333245ef447683d058927471ae02a8a9a7e23ef21a7594bcd1e02c8581c8e0599425138c169d0472831453929c168bb3cfa085fe12ded
9c0fa8f122d95c63432a72852f536f0fdaa87933fd584990450d76a44bb970954ddbde87ec770c2ca914bc4589f4af915cfbe96067e6ef8ecad3e066215ad13bf7a864369a66556ae1c706822ba4d883715ab27d40dcabac9dbb2a63a19ac327aa0583455b567ac1ec52cee2a0c6111bd2b70b5134ba2c17f44ea86d381a9ea5
9c757ff174ca7f48f2bee662b70b4f5f318d54ef4cc6a96fd5a8100dd5aa7ac9e21589425d46d6c134ad1a4be02eedfeb312606d9e9e9de5df90c8ca295d27f4871dfaca490372dbf711019bbcb511424640ce61608da6c46195d18a7e4d60907851fa8b6b33000eac6e287f5c8b3763f974c6f2299fecc4de0ee708b1ee746b
9c7c46195acabdad57ec21b84bb5be7d56fdfffef3f6c3346772ed44154216d07f4ac9ca592150b095e883fbd01147b0543a0c5ae792ffaa04cb8741fd3376d4d3e4145e0ae91fa1cee37e1241da4eb0016a0524544188cb6143b4b1fa139d4d66d7ec0c0a26d9fda98635786aa93985f2b518458d61a5768c2f877e6931abad
9cb9e9d93bf5c9312733b8f202ce388b9eb117002d3c2decb57f0df3f38a5dc37f4487e8f0701a6a51af1d16cc72028203370aa6b44ec1c4040d78ac9ebbca654c8c4c33fe8d5c55fd2ec5b2752826f672c3662a316eb7dc3ae463ae9547f7ec42543848f1f168800514486de07a25b2918301145ec7631655d71bba490ff54f
9d9a05f121cc7beec5518711422f8c2f23c39f3e384424d7edd3fd73a0602a06ced85cc23fd6c6f8ea2e097efd828af223aadb5ef499d72012b557ead30cf2abb501238d0d9f21b6b0ec72c88c9d7e08e6f66f0db45c8b9a67524df65a6de831d771e8de5a202716badee934ea140d5625d8349edf7293c89d1a8bb5d7482299
9d9b87f9a2bea042cdc2fad6a196facf906cbbf6b6f3b2d172362e5a85b14f6340213b420f4bd576013e087342f7407340cc4aac4c5b6a442f1a071641a74b71f3835dc73f49535a5858698ce18b03586dd91c209290bbeff7600a8c0e76c80e3e37227bf3a3e8ff8b4e1c7e40616794d5a86bae8f07bd16734a4af6bc8484cb
9dbd7d4204d55c314a31a9ae4b5c5338b65810a5f10a5d40aa3c7d923fff2ce2113fdfe9a0818a5bcdc04516d9b4c08acaad300cf79158ae68752765303d0514aa05121090c4ab2d0fe38d3bfa319d5bb8ee17549f875ebee5c1e481be657c8f43a554d11d2c42180d1c99e194e1042fd35ee2117da6562f14fa1497c73b689f
9dc35e5b16b47ca8e7b4dec91c3700435297c2ca677228ab9d2dfd26c2b74e81eae48d5b8335f47e60536b38796b4e6e133e81d87196bdd974ab017ce158f905ebb4fdc70124e31ca7cd0e0e8240b8d3bfe14cb524dd9a98516f60414af2d2773eaacd042846bdc7125041bc9f9afd601def5d71d680fd7a7b616563f5dca971
9e2da0ecf86322f7a1ece780a21a7819bbd49090e70f9b2f42cbec61fcb078663913c38cfebf285ad17178cc6067027bfb1ded26952fe95c7bb22b773e8436dba008f22e6332cc220113aa34c4a626e812ce039450f7c2b7cf7b9af6ab4d8e926c86382d228ad475ac0eb73dbce7dc5a675a7e9b1bf8214c81813492584aec8d
9e312ac0c936b2184e2c98ab69a7b0fca0335f7ce8efa3d484d762dfa8f1071c2e62daea70d9f897b54362fed6e6a4f4437eb75b6ef8b405dd85d152b25196fa0d9ff6b76ff1d8e3b2d40b1a3ade5102921d0d868291220e5b15e5859056cb3360fff47d27c167227a9c43e55cfc8fd1373189e6b94ab39200484b95502e7159
9e57206a7b7934fe20426e17196eab2f61d8a20edac758544df9dd6eecd4962d64cfb16dd16010815ace5593fca70b1115f18e73d4df4b7d86bea59f9c20e174d9b2088d3aff83e9e8a6c13ba8b81f8fd9a2b47c1db5214fdb8d20df965339e16df97045e07eeddc4673c8a010e32bc5653f04fa696bd3e8ae7ee14c9821d41f
9e69b1213f716ea09c12cb812fc62ad7ef8124e100fd6880fe1fc31a9558a689bfbbf3fb2bc276273787422ddd4208778fec59cb6cc52ce27b0450fcae9e5d68604bed024543aa7e2cd9236cb4a3c318fe735cb282f3cc4c59de65da9ae8abfce414dffc9eefbba657b718cbfc33912100012756de4adcbf5bea722c8d9fee87
9eb422a56eefe13485635de958509f48a01b1fae670adec48c109f2f99ff1f34bfdc263ca646357e477a5062ccc0e631aa49863a1fc53dd970fa7068de9273624b745d333a6564fd5ac2d05d54dac477b17ec38338fc9a6834a9db61da5451c13b7054f8ddccde7dfa2ddb960d07718c6ea87b6d109d74e841e501d69bc2079d
9f13dbf38f8d1ff33972c38d51edab3a0795f553ebe8962f80d7dce9c581e6e2bc8220c3652b90468dde8258ade0910f88dac8c5f548b30e0615d2282fc85d110c765ed0af5fa4ad19c0cc073cbc3382e693065df16207b0391952de534bc5128f3bef34848f5dedd4fe39b55ba09aaa2739b8b12ef3c99f3a4723111bbff16f
9f3d977cb5d20aedab3d85780b4e8767e2fb2588454e3fb199fc10109feeec2024b57b6404622ce1b31efedf8d190947e47d07b6c3935fa69c44b4e08ae8b676c3545218dee1a289dd7be8c6902f6e3af865a97637c0409c58721a5808517e578436033e51e627227c2e1f832ffb94ce6ca98e37d0ed5317dfa3b07210f22f57
9f75e2b764b9880e8160fe80851561ef017f2986110a18bb67da8b9cd51a72a5fbe5aa098ca32bbb81380ef7a7b353609730bb7c76e7f0465a8ada83e0be3dbe9799e327b229e6dedb5f8bec246381d62b38826100a39eb38973c7977a2ff22ba74041fd4b16eb009dc850aa62790ba08df99217d0392a66b8857c4a89fa2043
9fac6b1dcb8673ed80de321bd0be744a40e724c768850a619f9a76e307eaa4e4e2e7c5c421bbb1ced616a909e791155740326a23187a4adc06e6e4cfdeb20e39eb01be8ed414a33369a95a8d065da53aff8042897b573c5970500f1345368055e6a79ed15a47d470e194651886023dbe0f8b06ee80cdab85743a8504dfbe88af
9fbfb306e6712dd0a804b3be13f3a0adc3e17e955f62c79821c2e51e8cc015b594e3ab2e3b98fd5bef5fa79226438e88a4152a7a2c16bc0bc42b28c3fcadac83005ce79084d18810fe7d5e4478db95ba4593f1c61babc4bbff06ff120b5f259e6bbbd270f07c3fa65490521c35bf29ab4443710fb2da1ba6954c315bf9f9a047
9fd26e048c5a0ee290e5b331dc5badadf33d68e689e0d557eba795c960abf46692a78a84f2b233fddd5d6a97fa9812e1e0e699c89e04ae29a6f0368bdebc571ac6709bc0eb23dda42e15b54ea82cd549982b821ab7b89abd8076ff066d7292a2594443f088608887ec803198e7317e2abd03bc14acbb218bbfdde8214caab26f
9fe73f778d374cabc57043f918a2f0f5ab752f2e7b3112342890453a604e64769f8679f5b3e5ad8043c094c23f21cfec076093ea0b8ee93bb676c74fc5189b1e665cd45553a35abf045c9c972fc45fb2c8bf86930d0ff762ad368f8836e48057d3be195d88275e9fe3c8d91479f5010af94fb3767cb7ebcf6884529f64d252b9
9ff7ce9470675d9d563138b74a724cedc35fa92a946601aa49c85dd71d008cb748ec5f55a63c8be95c3935349daed1b9f0309735d88de5102dad37eecb5d68152e5a73dacfebafbf6a98d62eb009981c750ee1833cd2f36b39ba7d5206d821131e97bb322ea00a948cb9fedec20ea50d4b652c34784a59f757232b0392bc707d
a039f4c5f5044c0a08b4037a7042ffab549b882af0e3975755a9ba03e0a96af094dcb41a0f9b0b54b24dc7097ef7777d5d02642fa9b373a3965bffe899cafad0d8b8e232a3f812e0c5c5851aed5cce23acc8ce3d2ff5924eb9cb97a42bb41be239de08aef7e0cca3fc8dcc4a808240973f08daad17e2ff3f8b5b9efcb0adcf57
a05fda87850c684d410680f6de6303a7591e67bdad2d8166f2d4222545f0b16728615d0b543e56d697f1c77095b9328daf8a4dadb662295b3d8ad781e7bb7dd9013a5bde03da61c20afe8dcb7f5571bcb454c33fbb3a094e35370769a2fad3ade211569b141203394663990b8b36e8ac67be08ecdc9ed37e3104e5b9b41c5f75
a072a84c54572c30e72a5e3739ff101d848dec80023662319c2271f14914aee11f9a0ef989ea926260ca0f5fca67c2956b51120efb8f65169b56f0e83d984421e38af77fc1a4b03c0f8f6ef4991838668765458abb3f010e55808cad83bc2636252d50eca9dbfe5b3d8865359beff71d1d801ee2069859b52f21823e2a79c4ed
a088e76732b474706257f4fafe9486704d52d7a950fa998767dc89fdcaeb991da06b49918c5c0cd12aced82b44ebf446acdf3a4404b62e61113ef5311c69db398cb7fc34dd0c438bbd28b20e48644a16a765b1ad397ac564857796841659f3d90c0004d31a03b05f25e52a06c1bc45832f810320acde44126f148150712f0487
a09bb9fc2a61d3f73135725e53dbecd0b1cf7048509a2848afc8a9177b1b2753183ad7bb2c95f96767b417f339141788ab7a5e89793464c5f4133af23b71d133b6d77de4579332048d73342124e1c15efe663c8ac63652bc0e6a781ab3aa51d76d15001125588afe7a07e127ca193762a3d1a144a15ceef671bfaafc94a99caf
a0f42d9050e481fd5302a68d1181b503cbbd908af121a0e4d06362bb4d1bdba2f429e7862554ea979eb8cc47cf7d4be0650eade7584b74c279f81cfb81ed4b3ea29c3a4d18f654e399782fa377995dc5ac0ee6b6057e76a7ec6b89f79a097ba0896c444b382ad918dbba0d221039d18de7b3e9dd97f172834dfbb0ee00a47595
a10711591a83c784977451c7c508789123ee78a38ce3b2c92afbf3ddeedba8bfec880e4b046ea943999100ece755438b894b1d32464be7011a17522cd8ee5700250ac5abb0bbadc96791331a404444d8bf0af77758e45154dea2aaa63149f6323d50b9a2ff9a473243573f0b2119192e39f315c419410a930d015107398f9b7f
a119f2b8fb416f01cd23e254ecc7ffc5b30466bcbd682d8ddfd66de19ab74c417e3ba32a2e93a44f82c279e011c8b94222dd7d12f43128975f9fe2e725b9859f61ddc5ed29b56999d76753772531479a9ffc4c1fa35677fc1e6c7663ff9b1366e31d69213659dd9eadc15f6b679c06e54c8c86789a3f40d88c64cce2553516e7
a162294bf191efd4c409b019e4b0935da028984e66876a4b03524e3680b719b793f30df5cae78e08cd67c6c3bd36b881d3c68527a5c715ac3a337167bd692cf1cdae25d977288e7ecc529a63e20f63eb8064af3c1475eee36d270ffa97fd72b9739e2fb04f7e163af70b9c6f795484e4366c2163dbcf1aeda84d13808f687c2d
a1669a1725d940e751cbba6488395f89b478ec12588c771261a80b62f361f854bb7143f3c2cdac0c88ae9d86f74fb9d2669954020910b4141cb78aa415afccef31cb8b9f82133a637fd3ebb380fbb1d18f852f483fd60c83adeac64734c4dae3b6de84ca84533109553b2fc6f2eca4f3c99c25fcbab356980f845d9b4d7b6a4f
a175155a1184b1216493f49e0920d18798ae0aa087e8854d97a8419a8689f1461ead569c6bb7949bb498b8066fe69342b77418b9e1e6829573c6b573ecbb9263c68fef932fa6d957a48d133dd452daa7ea49c7e50c027eb49e82f4fd91a2f9bf3c22a41e9531d6b509eb828bace6cc34293f3763a4f37fa34b62c218ea222ee5
a1b66c5045e89e8e70c1d1c280ab544af9638c9be94d53c366fc9b9a1f5992dde72ce8c833d31bbdf36f72c6fcb8466cb6fe6331d6a613ee1c753d912f6ce090d07509c79fe678759cb1b30a94855194bbd5f243704fcea5fcb05fa0d381439b97a1b0cec5d67d7483bed2f2f2c17a06d3ac9bf9779f19cfcd7dd0df23f828e9
a1f94b3086448f8f3836e0e6391318e437a0fd502898035ff7056b7b460e3d7ee8d0010dd2203cc37f523f224eb3837725259c415c996c5618e44a8bdbaf301e671239eb2c866cab1c54f6ee680994c3e50a187e768fddade7f86b68eddd47d0898fbf05d117e3611696d0ceed010c659e37f1f88a1b897ee900e29c8d91051b
a2640007ec4895d0dd05bd6b49c9b26a4f15f29211fe0deb8e143b8d0217461eae68317ea245f461b7edbbc6b2b62f5b49a7a72d477b742a31495187cf5ede76213260fd254c2bcb74483c757338bda625a49e8640e926df030482d66a0ee9b6fad5e62ea4d6d37fe7ae2d85cb8528446761a478289a90db12a4b64caab53701
a28e9a119bdf95b988d3d11528e10733d603d9f11900809d510afe5dc5575c44e6c311bc6e6924ae0745de2ecce75436bdc73a0bd934766a559f6828fee2e127f355095deb3ba563c01f5423144ac4cfc2307cb8004179ad7699b24fd6cb88e02ca258e09551bd38ce03c10145a9c9c661e44ec13885f605977618f5728b3b99
a2ab01eb87c8b6b7f82b2c81b8d5e83892167b77da08cfdc1a8928fe80181605ea7de142ddaa4ef319e9ce97afbec6b85963ce687f12c0588850f3dc21f2a51249bfab38a56db5a4d4a1c381a3b4d5778ed5bac2b9964bd30741952c59f1abdd7de81cfb90508cc5312424e6a924a404cb1a6c0e399e469ac1dce495642f46ad
a2d0f36a6dd20c810b3ef1b0714a81833dbd82843e0f7fbef14786e392d1517756e59b7a25fcb3620756284d33d9848644dad2c7a3d508c4619789067f24b569502f8ed48be12c6d44abdaafb91ab5d5ba61b01815b617d359f89f7dbc4d00217329e9e37d00b6a56831087f458637bf76f761c041568e6b0f52fcda3dbd3651
a2d5ae96055b3b364059d53fd568ef610a86d472056b1fd65db36c098ac1d6a852d95954752fee758eaae979debc287ee46a023c977ca595c00a4aedc251afcc625f9b97cc2256905c7e3a5ab3f3f0e5ae386f71c1c161267dff9a541caeae6f638c4b9d75e8772c6e28ffea907dac9c1153bfcdc370e1b1269c3c9c4e6c6965
a2ffbc95655ce3b3bc411026b70cea328c6c6cf3136745cb7cd5c8cea66596648cbfb441b0cd8918edce447ee21e2ff4c3d65404c08e1553aab21faf182c4e0cdc1a24e63b39690a9d34cf9088077d0b52ed5f24033206b1c854b347bc2862a46cd2bc48e984111f73c40662097ab7632a7dd876a37d4e4595e82fd67a0733c1
a33a1d5bbe896bac34813ce8a1142e0fb96b68da590fd5a7067e2834c416f4807ca987e5cb9e73aa546f7fcff49e8700cdfb2c6a5d27347127597e97dba83a5c8ffd90cd709a86a75dd956d2bbcc4b982c2cf86cc08d9ba90978290cd9fe1a70afa8aacb66e64d94f7f7ac98ebcada55758fd724db730b1dac69b82968a4019f
a347029209ca9357d8f61c1831d0fe80363253c4703ede78bd1d81872e7449331fed0ca5c375021e5a1143fa1ed5725984cd0bea0d720e49e010417bda544f6462e6c0d7703904b3a98b4664926edb28c132b1a69b7d176601ac1af75d0f609de5ffc23aab8f3243f86d588398c6a147e4ae2494a3fcaadbb3859f79a53f546d
a37d9c8cfb3a96a9fe9bdb30a8394f3aeeb2f24c2f216674a0ffcdf6adbf9c43810ce7038399743b7cec6e8de7a60fe62816eb23f4214d33b10856f5aa9c66d1db3e379ac97fa845bf0409d0e31b834d88361c8bcaeca39f70fd01fc5cd81f336ca6ce268e98a3fc63a66159d860358df63af8ac829d00c247db11a9805cc57d
a443b74c595aeb0d072215962b459d2086518945a61466aef6136467d94dbf3f6e45ae9cc969b833a62ee4ea178978961d83f983e151bd79ed6bf251f130f71378dc4e7fca5e6f030a18314288e52b518382a8378decbacaab206ad992e892890231164ae3604b66796dcbb8aa8722964ea61e308c61338c7aad9fc0814a58a9
a44e528514afbba1830f1d653eb186b3a23f886cf09be474414c2f1bf2ec2524c6a9726e5c2521b67b147d09063cee512d66362ed1b02f0fa5fb31296e7651fd536a3de2c87bdfc04dd09448c0bfcccd41ed532e473c6d6d78da5a7773c42c0671d70ec81028c751944381138e6ea4059b9609c20100182262df42bad0e76c3b
a4664f5b23b6c17276c087294f6e3ae4a0ad293c34485de4c6d0ef3c8208eea0517906ecf1de6db0c9f7ab43c7b778611ab8d6a9b096e1b2fcfddb83df6079dfa7ad25f989b9e9cc4907c098a343aacd6bc98d14d998b6817d2bd71d5439c5489426ed1e888af8ce078deda950e6653ec5860fd4633ced132e026d893d1393ad
a4962acf00c08eed600201242bbd8c8a10281c556266aa26967e6c842a6d71f95e6164fbf83aa1fd595b629c30453da72dfb12e8525eb5709c44d6d20c16e18030bae5525a4e83f492921c8c204eab0f52d14a9e7ff07076be11975ac42549fadb8bd0c221b771f0c2af82ede6557856dc3e979870b3003916e908e7cd325cdf
a4b86bd06bdc0c911ded9713acf5515cff5d57afc516f907b0b2ce4ddc02f898605606b6d26d5ce6ec20e90fbf1b9626f30073329ccb03e13f27ae3274573c712a9c11230481d7be142a8fa1240fab5e800320b3f5c28053d48f6ab19241f28983006d2bc4f7081b64f91238ebb8bb2ae278b8e8fb96cccfdd821106e4f72717
a4c3211c7d21abf9da1246f800b7261a3b60a637a0ba3ae17e5b4330f7259b6d94ff00f89ace47c173762d67d2957bbc5a050b6080459598f05e26181e481ffdcb84aa46a85f88e315f0723c349d225a00d22fdb7b01d5ca25fcaae790dae11d5166912efffdc89964ec0c5e0cc9bb042b36fc8197f06a49a7bef752c19afc21
a4e3a25150b9c8c55f404278eab54ce3c40d97c3cb73967496e239f8fe24804b60477b03373a0d851640134bd80d1ff525d64f933f695407f6f25cca5fbe90800690085d4834fec9d03480091799065623112e0ed2df4ff4a94f34103b9fba4470290fa6dd5cb4cf701540090e0d33cf07f63f38f9b3d6e3ee547ea30ea1a0bf
a4e865c068443f91e5721a9ea1bbd1025c73f24d6077b9254f74b8c785235284ca98932e424b9cb9a0a0e44c3c6bdcee09b74b1b0308d63401c07fb1d210b54bc36b2aac5bb4aee322f654454512bc2b4702551c646c1f972fa79e3217a93b69dca56d4114ea2d509180f43aba81299c7238e7666bfc904a0c29b1800251255b
a4f67e546e48de4b175faf39da4095d4e1f1dedbfc768cd484b3749f1f6a500049251262a20247861ce5cb33abc56b9d446c63475d27d763c9c674074c3a79f2d83db865bb914ddc67796458541bf6e6be00561322c4d3a10c7bd105661389cb0612b400526413e2a9ef6ea5c02631130da3f4d6d3f4b854143b853808bdacb5
a509d5d30291c6abba866171e1386d9af0c444070d6bd14c61558b456e05bef1350285e3098faef47d763c73e929404513820f3d85635e66dfd9880b4881577f86676d70a2fe20175acb848ed2f86566cb4905f7e42a40fc190aa0529cb08eebf049c31025baf8cd649fb9efa313147f86d8ff115d2ce8bcb1b81d19f68ef02d
a50b2c79b3a455abdfab1cd1407cac67e41424edaeb73fec3a056fe8ef742a9213e06c93206ef9e699ed8e05b9ebb961ee93d6d29fa949be262594ddc9e4fac3ff167f9c7f9101087998e8a6553f966c41e9c895e151715a7d528f7d432635b4756ec37756194b871100a6d0d1541091e90d9628af920bad39499d0392bfdd4d
a5129baf2d15b4b21c4dd10325f352bda52b8402db87e78dab07f44d348207500e542af69e0dde3959ae7024209c75e6ae03fcae12cf8a5845f0bc0456b0c71a4f9cded9979faed3a47d19a5dd7532ab9e28478954f4f4159bf619d95498394c89a0a206cbcee969a37764cd3fea3b9df84ea93ae4027bfc666459efe4a31869
a556645954eacf6988bd6c99f17a83b9295c19cd19aacf744ff6f8388dd0743c0e6e32790b4a3d65514d1171a2190c73ddd0516917c588e781f05c5535e623f8edafed721edbbbcead3176f4e0e1695dd03a530d0da14f25d74e5e9db43b5880d0ef5537f13ea5f5a9bb4cd80cb2e8f610d2c883e817c26948f898f30c655c57
a594569c027637ab2b49d11466e7b97ff6e54cdf9c8f56fc212a2da74e5ce0316f7da56d5a84da4749c9463bbf684d70cd928792625340ecd070a3f717a1fff6f3030bee937babbf58994e8f9b421053cbf37b8e1cb2f14299a30e3173af7441eea28291261604ee9b5f20b2ec84c8dc27f910b6fd5c1c466c0c343f6bcf34f1
a5f0718c6f290f333aa9d1c7a5442549da3c70cb3302726ac37aedf454b685d67c8ee383ec974d22cbfe6ffa5ed8d865236f4fbf586d3bfc6d621908394d1eff27d2035ef490da52597ee24e5f1ab8a9b176124b32f24aa0c05873bcb6fd0746468fddeee334a5b3a5aa962d869f2e4a8398acd7377607cb3a842ccdb3c061fb
a5f201c0d3b143f96c280c6ff2095d600c51d04ebdee89c1c7c2944832189000dd0856ba42fdaef145f41263652e6c168d9f84a3543f39141160d8fc5e5ad29c53299ad5e3adafb7641cd694a43e6206671bc9c956e65f2483e906078af8625c1d645ed15926f25f9333d3696ed214a9d81188f5eb65c78a362238ee2c2d3823
a61947b44866f1d54a8433470ab9c1ba1c9fb1d79688b62777baac4eb10a744ee893d198529a65a56d3b0195a8d092e230c7f9d343e04816180bda40ddc26a62d423215ab7b5045e7e692aa16cd7fc744b95bf74af876250409e807cca1a20fb601eb253d628375c53683dc1a1c15469e69d3dde369d97eb96f5098a331fd10b
a62cc14b0f087b4bc60d5046be745faf4732c29309584ee773db30e42b74b81315a45898233e02d75128b7929a1a68cb43c65fe33984df2470f4fe22f1bfb7ada5dd0b871c9c891514cf8fbb39a7f14ebce1314a475d7d25c3bad788cc63034b00cf4c517c13af04d4f9ca4dfeeff5594ec6980acc30a90cdb5608071a6b3793
a6a060fa9b3fd3c4d6e03af3b93e67f367695f48f98a0e6cdaca18a94d93f4e143e194314827ea36ae089ceb0b94fff86b35bd6ace79dabf6b7c24aed1fbd0fdb7c92c1f5c259f29b1e491c6d32b96b96f3656461c70336a89d2040775b72ecf25e5d8285986082616bb74b55e866a6d5de4df7f2225fadf03328d0066d761d1
a6a9c722f6b9abee9d11ec45a96e35510c6a718253da8bc8c41c6fe1f1dddc226bab696e899a153e30faecf15785cbf8a3c9ceb0e1eeaaf29ee2810f75c991ad68d9c48893fde9975ee7a718ce16b73e6bb63146f8649c80cc1bc9d06a5ad6d0a9c052595d7aa1fa7eb6f4eeb6fc1cbe651fabe02c0b9f9d09e1b824dc762b4d
a6e54809e7867cf4fbc4da1f24993f03ddd85d4c624fb600d22f83839b45dc48dca38a3bb3b2b04790126f5705a6651c335281834a0888cb83685e6151983201d8d570c1f9c41be0fd432f49455e6042b92ce393ffcb79e95231ea1f16e6a5be173fa702d139920fca50a250b50230802a467f158b5b9d97874ea3c0408d7ed3
a6e93d06c7f6d16e5de3140cb2a2f07f78b2bfd5f919af846817a16317b14cf416ffa271a4f806e76e72eb51b9cff267ea9349d7b0daf8aa8854470714f7721f3b6da4f5b98a2cec87651a2b03da104f430ad4ccdf636fe19ca452517ca4fa838e9ee391b39fd5fd9fc85cb793de9bedaabce96a49b55c361119442a798a253d
a72042bb45c46bc3988d13beb28a7da33b66262fbba7786ad1d9d1fe7ad90a459aa1983d951a56ea5047e48de29126fda221de7920ac80fe93803b0dd1d44df35f18a1ffe2b1876a7b5339a1f4fe9c95f2194a929ac6ec7830cf6e7ab99c1fc136422023e3783cdaa218911c3679bc15d3e95017e3f1f7d50c3d2b94d6d09cf7
a72e4236fbd2e74a7acbd268c4c8381dbb97f023ad972599bbb3580cbc7b646e072a9d46c5a7967a911e64633ac2418bc4c9c6e672fae43b6a47e2d0851dd5335299aad8ff0be18af652b128a76f747efd4e779544afe8097b45f17eeab2c3e69e723efda09fc1149f579459a6bf5daf934dabb902929166e2d329fff882f597
a7bfbb18de484fa2d3019c32e4091b0f659d91a3665c6e44c1b6bf5716b4b6004b5aed7bed9d940ad14645e7b0735d756454fc93f0fbd340ddd8beb42d2a0b3a2246792992580f2fbd72865c874f661b67c41007ce2d56f1504cf5020a5be8e8203d62295ff1443b541a05a80fd90130e991d56a37f033f827c7ae0f295580af
a8fd269a05184dd3f59cceae4750d6e10805dffea44b40413cda19905090eed1dd35259a55acc9c1d875f5cb7e68a5800b1e3d71b058ffc53d3bb6990d7c8f34f03f9817b63e3e0fd84e137874b83a42d422832739f2af9bb96110158a2cbc8d510a16ae80c4f2d2d41575da342d89018237308f1e57bac256beef65f4c04433
a9045b6b743345dae4a9cee251e63eebf52242901ff158289911cf408d74dcdcfaca49b5c80c205359bdf1abee2873b2b6303ebd732f651a212dcf1a6e4ffbd058d22c93b95a8d6664f8be51574d6e7bace06267f1c488e63dded5c83f4d96090446248abba09b11859d3fd667327155384e015f0a4b57ff95e43ad82420dfc7
a9297bc5da1ece48c35bd8a74334c2290d1bd7766e5609156d41a161a541e8ae11a0842e3330633eeb11f15a23e0d913c6c9b9b7f72e5c9319a06376136015bd39fbfd73cc14938ce687cf336061e5d0925a41a86ce6a955c2cd9503ddc62fadc605308d39dfbf80e7cccd40c9a854f304a4512fc775b3eb2c6d938ff286167b
a94a3f8ab3aaeb1d7c375192cc988630258b95dc19dc421cf58e155509e2e6ab8652bca4236126ac293d2017ce9c843e6187f506bbc1c5b3d61ea8f81bb9073a7bb716bbedfcbeb28db8922affebb916a75385119a39806e5afb82cdea86a2cce03dd0152f3e8ac493ee7e263e41468f9c784ac24b5afec0c6a0010722c5e6f5
a9652b10d43f44d4b48a4330801c8f14a2559839210b537f074ae035a284996ccaaa8f2bd3a93162c16e2c640e39422b776155b0be5ff0f2ee15a3f771aad294b1037032363844b3a042e16afac74d615662be56bb8fb7f06df6e5fd671a9bf884bb994d4a5ca97982cb2cb10afb5d0c5675d86ef35a89f9952e43a24c4e5d35
a99f37172fd72a6c1e33347f356e200b41186cc512833a265e83a7b5a36d812898fe16d728cb18d3db5032dffcfc0635e211387b6cdd7bfb7da16e1b4b1cfeaebf5fbcbe527cfcac58f998376f2d9904f4de0eb78b2853b57c05df91ac30dcbfd3f60fdab6ff519d4167f58e9e78bbc29a539f6c7d2a766d7f3ae4f49cd4de73
a9a03dca9a8fc599599525a72fa01e65ea0a2a51ddd8e34e9a4458bf0149a36dcf0650bdced4261619d3f40baf3bfa173ebfe8a6e4f1e7b8e7bda57b442f39cca7d6be322fcfdfba92e40f83e6263e035213e9f945f2bb78d1357ae948faeb25363c3a3e61ce93b429fc3c8116155664c65b2e40179e18b61a22cbeec6700c1b
a9af3d0a605c9b8b7f8d2dec797f8c5a3413147727f39f6e7fb981934da07c65019cff2cb15e4cf3716abf99d8bf8083add2875518cfaeac7ae74e246904a2a4b5e5c2f7262a92e521f5d37d8aaf4b571c9c513569d22984e4ff17393ad568531e5e3d9e6fe101a93e539a2f141c2968fa9b19d4d6d48a5ea928e46cefa593d1
aa7df8ea9009d1af41e925dbd3608275566fcbe1ffd823d88e8623a5f498f409bffc12a9aeab1b6eb2a72dcd4074f41a9c970579c9150b0929a1302d12e860579b009c126423d86a4df9b4ed8c2d8b3d28adf01e090d72180233e9ef07a5c14d0ed428a12693ec443ef8db6b7e3e4074f6ddf703abbfbd1cf7149682a299393b
aaaab30abbb73870d1fe8bda8af8e2eb2fa8d0e633aee4506d325bfc9ea744a2f9251eb1c4d2aca7978ac9ea5d1f149cd6c61d946a33377061946bf9cb3439179467b9edcd3c9e81651df500373ac740570cdebb9503353dca629e8b1676606129c82e6e85411461e31abae3c02a6de17ea102fe6eea4756cc3a9c2d0a076843
aacb3f6ecf53d644ca3a63c0a956dcd3545252046224ab758e33f8c3eb3065eaffb924d319189e1107877734ac7df1480181467496a6883f4b0aa0b964a252f315d3e2f14d1ac6b11da64ef2980226da424a49a0fa9a3ffeb9e51572f7f1c64d1a31f6d71bc69b45cf0184144b78fd028dc486c164953e8c13898f36d0317225
aafb654fcd3aa86c695263cfe5a4cf3894bc6ea90b4e4b1d4eea77d3888ec6c3cd5c57f9c65655cb0c85f231c4b08976b1a9d262d25163a25c6765db037d0a35558afe45afb68a39103ed18102e8d9d458fe5882b5da95245b453bedf4bc520b14644ffb0fd0f278351700e881840b92eecf153de2c17ac29ad08683a55fc4c1
ab217a755677e7568b7884ce95ec5f92aa23377cc4f738d700bd2b5753d3a52b4d44957d1f8d7a72d4657042eeef0354852fbf7fa731d60ea308524f19552d29cb20d797cccd93b7086a700e16f6a18bf59e4021a3e191dfb73edd27b9744da3e80e0cee74eb74e2ba95f8fad6b22d2eef61d530eb12f851e525219c8d77797b
ab28e5ac2b7842e650031be288eeeccaa39d932f9e1654a3dbf54f3b02606696a929d036ae3d60db4e291589f5cbbef5396bc8670f9b614d13d66257760525e9bbffee598e6ba57027dfce5cc4e15a03030b707e31e4a2e7c0d1b2a635d593ff0c2511fe77f6b83324c2bf27584f9e75a9de175bf4859aab010817542296b5d1
ab3e1aaf7825f386c5b75fd25cb5fd7b0b3b02a8922f16a4990c9881ae8074f94dce22212f08bbb275202c94a2ada4429218a8561d3a6681eff5137d77cc3f46a5a0684e01d9eece46bd777705ed04d9e806925495f6d8f5810ed664911b7359ca01fac08dd4fd4da0395939b5b1600ac0801390f157f793048a81f1252bbbc1
ab45808495252598e0dd16353dd3f9f3750577e3b6678b851c21d5b86c404f51abb0834cd7a1b5c35dc44fc6bb62d8b67e4849237277b11a3cf96929029ef819fa233c6274182833bf3f4b0606e9545615b196665e60414189da854a67837aac4914a2d01bcc9336a1ec253d52941d468575f2d830b9cc0f4011320d1362d4f5
ab54b547113e226191e8c903b4746be56a9144bd2921e3c08be8c2309562cf0b1d23c63698e78327d9eab1ba3a2be620f0a03e7f392c7f877412fdf1c7b3c84359342999d8998814d147aee096d2d130fb297123867ee984c3877918a42970b8e9fd94ed38dbcce88af8eec662ed5d16e0718dc3e75d3f46746ef5fbf914287b
ab55cca3877cfb5f4f8aefb72d2548aa2007b5c2b800e3cf13e1d4ceb42316bc7b1e66d59d8fee49ce0617a83d9854cddb5e586918eac750c5acf8467cf7ee633ef13a259425af644ab1e7437803b6a307e831d2e03fe80d40bd9f5b4f9f771b867bf9e9027f5fc13c62a57cfbdc24ff56afae4a42e0053c3421edbaa232c5e9
ab59955ef4add4eba64db6f254ecf4f98a53d5cf7c4000fe27fb9a3e4268f0875a87fc70ba3eaba172639bb3deb295e6c1ffe4bd41d749be60184055f00b4ad7a324e245c2bf27cc92cecc5da030554c6499cc7e27785fbc55ca0153dfc8a9baea7cd931b66e316bcb747316626ed9b6bd084c9edf3617004bdcfeae71b9fe6d
ab74f2e7390332cda4ea8f4cc845554c29b9e4cb5c7fbe72879e384cdd1aaed0148c8ad8412ea710dcd439e2b5aea353257d2e3f857b48b6ecf5681076f7770a95faaa8ff8ae976c81ee6fd4a3fbeb851853657232b085b8c2c3856d857d87e6025876353b44d186a013051f9ccee47e94e97380ac6414191bfa115602fb6993
ab81a7bcbd3f1a8759a116c2175613702d10ebe2cac55f3b906ce621259000507bc3dbdbd305296fc671b10be8a7769ea4273782175cd75a7e82a6e2687e7bb6fbb89cffc85f882ea918bb9474570f0fa4fd0a04edb052834e43695e5b25e66bcbab2cf5a15ca3abe55a9042299a291770aac2306004289276b9aed73cbb6583
ab88fb7521bffb18a604fcd96bb19f9d3aeffd6f1f08bf451f1b26ef3c89f2fc8cf0db1374f643f6b83eac122eab2268b782eaec137d03013eaeeacfa66fc6aeb572acfb7ac58b3dc5c418603ac59caeee18e654a556d302e46fe2ae4bd7a243ba6c5a38dab5b945383e99a84420415af57225321d3d78d22e8e45e987473c6d
abcd0b22bb43441ed4bbca64c7c4dda45dd5ae3be239e1601a34c1e1a691ad485e503a89e8b6e00b75ea1abf736f217a257b0cd218b7abea684a2dc3f2f3aedc494a300b1a2ae8212de43b6bb7c45be137d36adb27b47023bc13db67bed4cc4104c1c47910517b7a967106be070a9741eb3e2054bc26d2b41a720e681f688e91
abd350b771293086f3bbe6080d1ba4e8e558438d37ebb683b53c8fa69bf5aa313e45e3b3232425221ec1c67382911b52662df2bfbbf301f2e8153e7e8c1def04b4419090d66853de1bc34da8b9698cf8f596b6b02eadce44b52c4f5d0da8360697b4a15069d11a3992af62b4b9549729a344b577533dbe57d8839039820c8dc3
abdb5b49eb543f03c08e855214214aa48a94c5c76c1369e7b01a294d4f52572b626fc3e43c077a06d09210ae6ab69d2f8a575efff64bf2a89169d391c0b799317c0b2db8c2e3fbcd04be1f3e38c9fd17853963cf47c8e86e8df2f0738581bfc32d6a12947a1984769f0b31e91a381dbae2ba53d5e15570b9e3a3adbf203a0813
abe21c55285d3ab5e5a90f9e69ef134169476e523e7117708004d71f8c0fd15166b278125d09fda738491d9d3f9464f2ee23d1c0f6c2f80c3a01f914f745d6bfe18ab29dbdd6a1c8b0fba371b9c15100390b4618123425c7a759be6ccf34e44d92b7dcbb27ae679f769007fe40cb1dcefb002a15c0cd841337c9cd3387e1cf97
abf6438c444c1df2244020e6a50b99f4559b9b7daf80cda4c251fe5199ee8139e56982dc9f87214f8b374271a26fd7854af2491c6ef0c83d348ca0c24fd0aceb496023ddbb97325ba5d222aeaada85b94b3ac085a59bd6ed405e0004bfdb71f56bfdbbc4664855decc5217a8591706346d0a3fd8870946c8968eeac443fa793f
abf904c1aa51d998726881a16be8d1f60832eb03e3a7f03d79cab24333d26d15660e173b12c9ea1ab4919743704f9f074a8df20fb1721296a3d1a5399d1f47df713426d5110add2bdd818baa5f74c26afbf8d9d20f73cfa1b39c8ab04cd4aee12bc46261caeb1ead64808811d75b5df90e5a4d9b6f95bca753f0f3f384d8d8bb
abfcd6d3469ec2fe6a8aaa2955ceaf6cc14955003dee62100fdc5ae6dfb8fa0e4ce0014175bb3daeda1178ac37e309de4067b8bef7505a30bbf9b7d01ce0136e96387b1041d21bcb8969a6ac14dd527bdb001f48d6645516933335377c4d3eb9f47bf86c2ab544fe835d37cf7c0d8676c9dc6da413038e50bb0d7ba593928509
ac0871127c8975a88b1645a7fc7a1d50821219845bea7b71c549a6beb32b904ba65c64f076457724b5fbf8bd8d7d0783cece03a0671fb84eeb9be50e28c2f975e300c1104be1db2a74ae97dc8c443e659d8f64188230ceef1c7e0cf5b3186eb650f3491dabcf03890cf7e47bee01de9f2643a00652d9fa7a83511bf2a590a75b
ac11012ca987d30d0fe0659277fe933442430453a01960f91d40e242abd316da8924f6133ec3636748be63ce2ea8075a8f15a768c08e9136e5e9bc6e458063807960693295a3c93900f0d536c3ef2a25363339a2f15d2fe86723652954e820b9b6abb979b153f6096b4db8fd442a9f4f39f01f12405a0fc48b27f1df97331a61
ac3c93866daf1085dcc5103c5cefff78fb95b056671feee8f20bd08c1ab821e5e588a8c190c7223f5df670490fd5dc47ca0204d6c8c2be256400af86616a20714467c7fe99d2004bcc8933ec966f5f273805f6c5bf1aa8715689c37117cc1a20b9cc8c37ee44c9b95b8955a3038ba1ea3529893ce45f9095666bcb7101674829
ac69c2d032fae41f9c1ea361f6d0750d544177f6661b421b7a8716415fd364ad8c924706679b026c9838d756b5d60100a518a18b51adf123543316aa9f798f90da023fabc2fa90eec5ea23d64841c59a2a2e15b4aca4555a66d5d19b4f17a86ab1cda85d1313a764d202b36ec4ababca7f15c891ebd54950d8e933e86509dc81
ac802be6173eb90562a8025e29c92fb5f599b51445d57f1f88daa886e857f68ab5173404f76eb262e933c0123482c11c2de092f27e0641597a81dbbce2a6ca69fdea55eee665657a1e53558c5d6c8e904c0ce7d5028f257ce447bf012a8340b569823878c62a7518091ed6fe1e9b0ee522ed86ef8fdbbc368b8756c3fefa0a53
ac80c18e72470f2712f5baa357e671ef4e52b42d08f6da0deecd4b9752b7696e2859c1d426667c180e64d4f8f845499b4236ab87f021de4dfd9ae1b049e70dc26bb8b1983f45e9bfc09efa2498b249b064535a2457b29299201a63cf851b893ea6c1ee475a269e73935f4752af1501ccba22d5f9541e285fcdd639e5f0013599
acd8a4a63356413ac38050c933a83574234df6da6799c6f53cd184723129985fab0ebb738884070a34d9ddeb33dab328881d57ff725b0b7bac61abab63eb853d242bcd5303124caa23cfb6bc634101fb294ac617695182fdce0cf375f142ce931468c36ab9d4326a89ae620a44b0fc2a7c09076025b7b6fc6f31d3bdebfe9387
ace1c15f05221dee9f0c04c510859e6b9479fda7959595c817f0e9fbf01f467c6092ded9fa3d2698ab48fb18ff5b6ce4115776a51a1dd54983013b7110bf4966581ffde698d52d80e372a9bd945825412489ae989e096ea905841580989e1205c05d83b36bfb54587189900f1253cf3e16b8832b0daacfb27126b707777f82e9
acfb63f2dcd4b8271f12b83fe3bc152602610ebc6e74908ce2ce8a79e5b2a9e5a4590f6664415a8713a538a26530524bd4ede310bd3bcd4720a9071dd7a093eab44f09a36a5252666659d3b0a38ad9d638fc6bda24ae98667e6e4c2b030dda91f2d20e3665fa9748865d813eea28a3b7a6888ade15cc508f8acecfdd4e7b279b
ad2438ef4af1f504c3c1651127092c92abd577ade878e3664d1b00dca70a95ae29587597d1f3b5dc67a41cf0d6fac8ebbdb202817042f0a07a68007cf725e833f8622d7bddbc40cb5a19b6e285558c51d9ee49d7640f5cee46335100a4e4b62e7d82fa7d55b31c1b274ce1234b97acf6bb55aba82a6690fbd97483cecf0cef3b
ad2db26731db7038ced4e5aeb55f7fe970319825196893b5e514f5c3fd72aa31bfd83232443d421a424b0eb76f62b84ceee1d1353a6d814455a96320fd8fcff13c120af00fde909dcb52470279ab34bf292d4c2c2e7667f170081960af9ebe55693b64d8e699beaa31ca03c9ceb1980a65d5f5bb27414d0fac95c24bc09cd62b
ad5a064a7ceecc1aa98a60afd329e67c3eb95527c9fa93648e7bbb961193330d4a6966971a070dfaeab724bb0e15eedb92ac364210faa41140db7638064811b518bcf536b7fee0ba456a4dd117a3e48115845fc217a2325769e8d8e15cfd9ee5f02566f13f195474264333fc45c0b5ca1be4288def48b96730ec3faba3571959
ad6597032a2b47677aa5faa38998d9af4dee9b075777e0a4504f2d408a0294b232748da729f2daf704d7ed94acea2ae39585948ab1bed929335bcf932a26b032e59d6b413394b77a2343c30cbcbaeaa36f7abdac43cb79850376c0db8c06bb666a1c2c6c47570bd859ffe1312fc4ff7999e39ee1d0ff9ab967185759d954fba3
ada8cfbdb0921210e0a803e1eae39c9e3efbd487d39389a758c354511a2c15effc0cda141c5590091371e128dcb3d9996e73b24d88867e370460016bdd466418de7e840f07f9e7fa327e57aab36dc956256d207c1db2821296c5fe9eaeb0e1b1025bb920b6aacb58e8ad2a95df28026936b8f2e7e49deab286c08a9faf0c64f1
adad4ac7fc10e5eb5cc90d35f621ae012d32eef3598b1a18e5528ad1104f85d812f974c77241e0099a9f37f3e4045fbc8e9ed4072dcb8113cf1c5848a89f79b2914bae074dd8289562003531643e1363bfecb3a21d12dbe4eefab204baf9e3edff5c317688d5693c104a1eb280d042b83f4e25caec601eb84a30d67fbbea6109
adb309508373443dc8213fbb87b2f1105611e8ad709d875ccf4866b593774712a2b9bca6869d9107ce6cd75b14c80c12731d675dca8c62ea4c0002543a7d944fd5d62c27cff29b736baeb6b77768ab56a532fb9115f6949eff0e8d3f22dcc4f1c4e59ccd1e3f1f27397e34b563d2542ce6f78c6bcc5dc9b27f834301495d9457
add5432453e5a6d4cfff3a33f3d35ad9d40cb5ebc5815e4fbd083f44db11d3c85bd0cef0d9e437b7b90ef701665ae0e5756d180073ffe05890149eabbb0ce0ca33fbff89e7d97aa7b45873e49c73596fa63bc9d70c7fc0901f6945a0487eeab621cb9f2eef1d80914c88476c42377d13e336bd604b142ae30430fb5ef4183edb
ade242dc15aeef5f58cd4e9dad2cc3ed2e8c668b20c38063918630a4aca1d4754c5a44f3e402299552ec978d0cebfe2b320505bcb43590b88c9ca30584fb62af8360eceba4e3ee4583290dea57754c8ba6b2fd984a2d3bbbb56455b64fae8f2c03fcdfd22b2d0bda9ad241f9724998393a4862f1705797a125de61a488540961
ae44a0a4213c57ea45f972c2f3c10c115464f9cfe68bf97e6554e5b761680519fb3d88a1942b0fd48391c0113ff41d4300bef30121fee9c680d4f897f4956fd6752887f2cd07e103a974f94b388981a6c633a3442a4c41f957b17cb81b7c8b7986ab218c7c0f426c64ac8c3bec3e6c79dd74824fd8bf3ec68776ab41bcce3873
ae5de090149b4dbc8790f9676acec8ff37d32f269f6a2f5f267010f329abb3ae2a41a99b445d2d9b8ac447271314f9112eae6aae1d373d2ef57bfb769a62653ef3bf820016acd3fab88c58c6cd02116042bc47b0a3d0eef6d0c80b4d484db0dd4722399b852e9615ad755c281e40df43a85560d6500f9dd550367d4ed4850973
aec0844625315824a26b848780fb9ea240e0824a2e78cc4bdf63e5bc44bc0bb38f3f1dd1eeef26f9c8f1e70b96b3f0dacaaa6aafce48374d892c2ed656749933dfd67aa81c3720bb4e7a8cbb1e725c134c09a9b91d6b6d9aad22890c4cbfe8efee225bc0168c231cc719d9a762cb35e50347f9219682578e115de1ba5c9ffa49
aef073025373aedad7cf8124ddf0cf602c41c9d3770537838d1c68eb9483b33f545b56f3901a67fa4a3142bb5420e5430417801d9c73aee4f9cba5295119dc0d527378df68df85e693e36a034ad2dfc3da0a5f30a1394605e6c5bb093997d4c6fd91ac2cc33ec85bb858d43ef530f138670cdcce4a4a0a1bcdafa7e444b2d72b
af38ca0ee97a5437c46f0682b82d1719d00f92807c652e937e289a613cbfbf2981783f5cad373006217614df5a2c5df6dfdf5bb9fdc38145df3fc596fc1a56824ef834cfefaa95730bfc4bcaa83a30a0e0623a419e65b0997cb6c20dedb457152f929e9b5f5ce91277381fff3a2cb9edd98f51ce4d9146673aaa0ca95a0a9ea1
af53771658c56d4cb88111124845fe88eb90ab7e112aecd447e4e862ea44db2e1512840533901068541000ef23085939f652762be8a1c13447745fb6461af32f54233c71fae3112d836bd57aa2c36ceea8aa50ff4e38c8ed9202362b0a4e216ec4f1b178a91f1a3074e56c9af863454c418cde8b617c2f9e04227841bf10bb21
af84c5c70429bddfdaaa943a39be2406837bc7b5018807a2a503e380b75575b119a42864c3fc2bd2204d84bd079ec093cb7630a62b9d88dd07c8352e7e99f2147f672629e96918f0a3934b90adfaa58381b9cd010d339c67766c012832f355eb800ba34b617bff67b64e988755741ba7cd2a3d02d1c34add95262c32dc37e91f
af995a1cb2c9c5bb47cdfeb21adeea59d291fe11c80ee5539e50246849852a47a058736d6dde65a9d0e1996491ebdaeadef78bd606612ec5a265970451643af9c37f5a792f14e1cb3f85706eb3f3d04bc0de71d8cb073232493637168253a33ef8d112ef487f372e2a36cf285963a657919e2736b7ddce7d1c275d821a8a7b87
af9fd521cbd518331bc72e450f995e51cc1f6061f005e248ee4f7d53a47e64bcc70e2fadfe32d95f99c2d3ca10ecb279aba20d621a7525de20896562d03df38c43ad6010f48f22ecd2a5df0afcfdb5772b9ceea93198e4fbf67a23cd074e02760c861f84714c459792ebe6b0675ec0e1a2459f5add963319f05d5519dc8f09a1
afccc949f41364a5700341d10579d21748555e3d427e32ee1e88a3e0d23d3dc534ca66b3fa336c6efde913a61c2416df0eef9f160819c23cbe8cf41527a8f8dfb2dbca021129c0f8144473590c8c30a71bf8882032df12223ba5536ba2eb1d538bb7e9484eb298f85976d167f21ecbfb9701cd8cc044ca22fb65c835c1d4aa6b
afe874b46fed3276774aed8f03618c550cfd14dbb8ca9bb25b4d61964d200441716ce6f310c8ec03b77cd61880c369513dd6e5d45d57c1a58139d25892243f166b54d90e2b1728a18d8c97d64ab401fe6706ef3e6b693bb81c092e7ad502ca1c9b481255c4338e69ac6dd664eed775750f1478500ceaab2e2f3c857e08585443
b00e8858a5509f184a18af33e3a13ed7846058c13a4b06b99796a104b5600ef56043f69c6c755e520b9e80f62abda9c71ec17043bfe34a2a852fd67105a1ea85e0afb816a6c632074a510a3c719e135e80c77049b6362a94d8006970c740882558037e026d7a574f10de12b63e610a17440c08059f27356664056040ac78da11
b0157b736450f3818d5fa6fda68e977884c450bcb51302bc2209b2668192e878ead0b7bf2365752e0e3fe49379994cd2d073019e620b50a2d7f9bd9aa1fe92fbc61262b17606fe69878aa314a9ce6bb425888fa7c79e7d560935bd9ccb3888f67d79b3ecd6e6d2ef02590930f75d79bd76141e3ffe16c2d3ed011f2a282f1061
b01ce6ee6bd1e2be47a83aa29791318b0f7195ae3c1656c088df59403b8a92cc1713688db00e418ad095f6f928c293d1f6e68fd7ce90babc98ebeddb23e2a5e613de2e4c9dabc9689c8e836a0bcb9d9269f5479e994999f7ec4617f87e08c041ec65717504954cdaf94c11538f1e320304af8be0bcbd5ba5270a8d3eb01347db
b03cb8314300cc39e64aecc0de7e7a9d956be9adcf830950cb28c9dd7278accc6b62dc442b019c8959fa277add5a6edb6dfc9aa2d317e0bcba2401665f1ddceb29fbe05c7b2937bb064cb5eb75b63defdfd79a49c58440ba3f5d8823c9c0eab71c791dd4bddfca06275bb722844e096196c9670e81c49e657a6abb70b1a17029
b0472dc445e2e9859913dbd620d78840414fdbd0b2a03a13ab72cf5eab6b6997267f8e8826aec88ca1b2585c01e5e38811826e65469564293dc459256e6d8843173bd9cd9032f1ea9f09742674f9a3721722bbd1f5c3d68da9bb90ddf9b7a31065d4c9a021e2d7cdab93f636626ae18581e062978e9da24c853400d8b630ec8f
b056f26d8d7d23524632a79633732ab44e2e3a249d0a0e5cc0cfe5fb81bc11b3b95a7ae7e4e2a9d2df91e976a49df2b837df9556eb86af5c90e1a7a9e3b91af922c4803185832c873638d43ae3b15641de686764e9dcb4c7d03a32587362c7043d2573b51c3706290eb87a229fb040609efa4902b6650e8c8bd7bf84e536a583
b09fddb8aaac830a0e0ef2878464b20337bf898b0241939442a342856710fc3e6efa1b3b69a322e53fe5144f75640dd00eba769e3845a5941d47512f1e194deb7768117e4351bd88cfd1839649ca671ddca9cc45973f717a193499026997f1dd70e48957133ca9a8c736aec9e9df5177e350a2d48cf4f122521d80e6ed65b2a9
b0b760137a706f87cca24acc46a97b5a03cf951621f069e33550cc24adfd05a90008f892f4c50d63e71dc79ae5ad1e93dbd0a0ed42102dc16bced4d521ebadec903595b0ebb457f543d55035f3b1768da58961c07ff0cdd3b35c3000f7740a007e1898bbfb6e1077464a9ae0f7dec072f056fc3e579322861b4153787684e2d1
b0bab3db9af74bb164238d02e921f6164bfff52b2ed3cfcdca02d5c553fe0939eec0a28bca792899586deae403639e1d15b723fa0e253a314bae8b67d444a415da548ad524a73e8a19c4926dab9e311a0f7999a3d213dd5f00fb20ccdc0d125541498ff0c08d6ecf15f9e73a30ed60b9637e89e1dadade12da3600e3bcbc7379
b0bdf009fc449e5bc006f9a637ed5ac67f218541399441267fd42d48427177aece1749533bb8d054118d28479feb63868666918605bf6a66ae0fe1da830b7e4cdcf3d088f9f40127c0906e65c2b8bd6eeb3b9f883d0f4438437f9b9697407e1e1d15b66ef778b1c424f0bf976cc8267bfe09b6aab4ac9b79ec3779e3dc01f659
b0bf58c6fb8f35b66c379cfb24ccd3bd94b1382eb0214f2599cb1c2f8161f0564da79dabd4ee650ad57e9dcb4bb1940fef3b708aee260b6287bfce0e61da654dec85616db857d822b1cd36d16751124c1be38e7eaa8fec50ea7a3b0d31520f18bd67bfebffe89b42bf28271579515861092726b6d2aa83ab2188fd774b70c3f5
b0d96bf38ed3041761006c303464e7e326c602946b313440ec6fb79a0c8e7e736bb13d5045037183445fa54dffbe7b5ee873d9758de54769f0a933e50985a39cb281079c62927f051e802cc3a816f6e812ff3e809bf43c3f56b99d6ff879a005cba056adc437d1e5ff4c2879123b084c07c75fd07b987994834f615aa67daf07
b103c866d581eb2d9f8969eef4568fbc01241b5187ba068f09a7c30ef1923f006dccd0f55c5561ecfdd5812cfa59e771d895d1c5c38d9f399be681725b8a939e233c409ba9477578b75078f470d6ab19ed5c3728f9cfc87b7270322e2efc81ee5f520a4a6abe2530671a91aabbc71128e3a6a320c57dd2a5577c78ecb3610acb
b144dff88bec601996e82dcd82de9c618b80f335842b25f216c7fe942fcbc9428515218e41a3a57a6956de27b24e196dcd76ea0fdd6a1652dec6790b9b7cbd35ec3a39ada87082dd9b57b81e30c76410217605d2f9c08d78b674fe1e129e4a5b8a4884e535ab2e55b66372454ef3bb46076fc8932094365228195e2ffed070af
b173613b870cab42fb44ae66458b9d0a1faad73bc541d4a2b0ef64ee99cc97f5434fd95769da52492254097b01fc4dd40168f644573ab6e0f1dddfd312a883604e3ac84ee23cec586a48044d731a9e43e2d76ec4888feb15e287fba12ef2954c881cfb1bd84ab7670790927969458e6363c49d34a0d12afa7aea769418c93c97
b1d89966b4e656cd32f55231292d1157a38de0e05d1f12035512da25610d4b694f20c1436f14521494656f4262afd25caf9247a9d53acfdefbae0b200b0c0aa6f6d0675ad296f51207ce515cd15c43b44e8ab7df4f7052ec251ed27108a521cc7111c3dcb0426bedd38656d85b4656b83ae9dcec1dae31af3b6868c802fd7737
b1eee153922047f6fd610b03d690cb674c5dca00aa5c7a19cd53f92692e17caa72190c4f508926ea9846394d825e44ff459de37ca65e365820fa9a04da01468401327a9e63fc6c53d4249aa77e881f215cb16fd1604e8aec493e1fefad03260cea3761f1bfb40a7414d91b18401e5c30b3d7edfd1e82ad74e413b0aee9a177ef
b2221e4daee3c454f5a70611f8746ba3ab2af18802871bc92b6b0907e63457df0de4ef2e70acca49da9f0a7a407a4fb4b838d7b4836a20410cb222eceab7662db09f797f41e1ac5f8d405c1fbc8293e90ee50c8d95014d2b8492f7dede8743bf9c2f1b2f091ad7a69e12c088d95c37d625488926e072cc5b5207f3aeaf46f0eb
b23354c2996ecce17cea35e70bc3bc6d22ca4930a4d589a38ca3e95afacd5f35744eaee24fedafc5dc8cb6e512c254dd823ff66a83d4e2ea51b91a333a17b727bfe502f94b3cb2c1e028b332da8f6cc0e3753595fb4cb6df71f14d1448bbcb0461a66401f05f7d2661d8a9abb149389d25538372321e6d9bdccbd31ce313f673
b28ae5901c1961d9760bdcbbe10c587fd8073ff6ba7d70f2bfe716c007798c99fd030492c28b347404d2d23475b453978e10c421ea30ca0413db59f6406f13899811c7494c43995f2c676bcdd7ab2a1e5e72551c68edfb8aa5e181ea01bb1331c28b95370cd54c4b408ac187a21839d31888be212fc631f5fe006f893d44be45
b2a0c16077a015ea22c0764647d9f76036663e7eaa4e0d48081337b3a937b9d9e4d93cd7b87bb422b23d054d293a4aaa7a83d14692837b049330ea4ddb57a9bc134c75690d44a7761567297ffaa7333ad59406feb19f8d9422dd009268c10b71e2c28f46ccb8f0c67b6272c7f7108c0e0ca7bd94170fa308951092828e605131
b2b898f13a6fc218dfbb0d549c4abe75ab035c0d865bbac08ee9d3f236f29bc2db44b6749e43791624aef8de4e78e29b288dc108e542d1f3a4838d3d80ca0eed4bf4770c6b9a785984b60f3c57be86392b5d25438ef7cd0f8157ed1353351a79585cab9e63d206857f2e8bc3df26f4e0c85006f57319a70cf5a68dccb9d57f77
b2fa3c9956c78c4fb9d47aa99cac64ee9a0f668688416988e55ae40256224b1c9aea3a5b2fdef5ebc29d0148876e9254b284638ee27dce9af6795d98e5618e2b48548ea12e9dbd70dd3105d6baace68839895e1848bbfdb0508a4a86af9475ea8985457a5027393783427879cb64bed1805c149c60bbe57477e3923d07fa8d6f
b3450dc8baeb2fff85d9fc5899d591b0de0403a946b4f3fcd02b141846c587d39c94e36fa6391bf3681fb2f3ce0333e9b75a121c5606c4abd830814425cfffbebee59eb979f8950aea0e7f13591471945f4f9537c08f4e98940d217711780865ef369e43040c4e52734f74ee8bcee8a5066525d9447cef8376472110294f39ef
b3487f3599015509ee5833678063479e8983c04a25807980b160601cde827e06a9798bcb8a0dd9dffe113e3926826446a1baca4907269c7bef90492cf0683d53ade96d5455c48a2fb8cd0a62172a2836c00a4e9ea4bb2ff31bb0a6e9690af66792c2d39722ba5aa9e52254cd672a40d5046270b937918f86959df0099d904903
b35c1ef9b9d6ba509de52e0a6bb387bd4d5738b63d223180fa5a26fe6c7c8682069bf9f880075742ad021eab3516f5cfdf2a526eaa70e556b27b8f4a72847ac75872ac1d82d499f084886d4a84c7a9e2a0a55c6a83d6b41b79a6beb553093f4d5c63f21eba9f3e0781c2bc6ef41a61b71a1273d84367988cbb34ee5f50e28955
b3862cdc7902a4026616e12f5800886bcf8a67a4ff2d091627b822dbb3efbc8d8ddde5e32d691fa2ed6793c29d3818a084f579e0b78b0453529880b1165092af4aa02e0253a85a92ba225c071042e16b50d1721faa6c9e70d496398c7f077cd16b4ea63ffd297c5afd957ec52e0065391dba51b8497a2d7c1d73d041877ec4bd
b39b396c730341f7e5a8f756364212c5b9b89e6f58311de9dbd9090aa214b21a9e6d55829ac41df692bcaec98a2ed6b9267acc0685f9c31259f8b4a47548b183d67c9d7077e0cb5c5fef4baabf73b222415ed384c0cff121b4abfa29d93f778de07c38787094b8b17d6ba557afcdeb208d9aeafd561c85dec9895009b2cd0cf5
b3aa778cef0a7e51c66cf597fefca2eb8c312555b6e21f38949d1a5631458fad477a8f5862463edd322b998104bd0916b72dd6c8328d605bded088848a9163595cd7f8cccadc41aed3222fcebba72a3afba7697181cc78f64a4b5cea69e871d126dd041d30bef0f6a02df55d4d9cfd7a5e9de002a3fe0101ec85e7e5a9e4fa7d
b3c9211fc99a638ac1d3519888d05bc50bc633a2e050880f98f84265dc7d2faa7ede0abd1a3b3e14a99327d20e4d419ad11a6147575f847cd24797ada050aa668d43ac27cab30ecf53acb892dbaa254e25c7ca496d757ca180c20e9cf427da3fe046e42ed4a2d64a96677fad7b6e8ba24e9a93504b74d0d0ede5002c8142d17b
b3dba146e7330bfa304d499695f5ead4b373c016e6fb28fd87ab58a2af20218e743c17d540d823129c94c10face0340c6ce2fefe9028eb82d2c054f89d8d838b485b2eda527b3db965a5dd5af7ef95f8c85f479c7150296a308ef754538ec1d57459d6e4c2eb0a8f69803e6430f220b18bb79bebc9c929bd0702e0b30c30118f
b3de8d0ea66faa5efc13ed7ff951f36dad4181c63f14163b8c8320d0271022a4e94cb89ecd01cd3e28632212baa0ee3beadab76aab7e8c0b61adf741d044c021379e28d0a7515e9060534a359cc24c86ad458c0a66eb1b1ec8d6327a71abf052955d464771eaebc0bb6a55a0199ff8fa8debb55e30374f137d454569c2790ce5
b47ae82f76adc0209c1729b0e28957ee483dd24b2e2e995f72ef06532f05002906a6864d3c777ee31ea60318ff64fd6dd7e399a851a33c3d59eede73d9cc0b613e92fb1141956c7019f606876b21e9acc0e26cf8d9a1f5f569baadd0db5dd29c3a79c2606730f43175c13e3e528f935b314434989afffddb732270f33045f151
b47d5f138dbc533e495ca929da0735187a53cb3daa2bf025af07358f164d73bde5d4fb10a6ae2fed09cb4da3feeef1d4f0007b7877670859d7ad887761a961b3ad134abfc567dc4e00800fd639f7e139111841259e4090a5b105bd2aaa1fbda93a8f137b13d22624fd52271fda32b6ef7ac3a02aa61c59f2138831014dab9691
b4a62b13160d69ce84c75e7c96ff79d2448ad5bcf710ed950bfd8ff834e4474fa1d701194219d054655a9de2f50b4c9b930d73aa157d3d00eac4242d39581c474fc3db12a2ff9e886da25317004a99801be9ed492e2ca530856501fa4584fd483a7ef148002275898a602393d1d4fee96b40ddda6514a3a2ec60ec73bb3521e1
b4ab920c4772c5247e7d89ec7570af7295f92e3b584fc1a1a5624d19ca07cd72ab4ab9c8ec58a63c09f382aa319fa5a714a46ffafcb6529026bbc058fc49fb1c29ae9f414db4aa609a5cab6ff5c7b4c4cfc7c18844f048e3899934999510b2fe25fcf8c572514dd2e14c6e19c4668d9ad82fe647cf9e700dcf6dc23496be30bb
b4f0de911375a3ec932b38f4aa82ea91a3873fe5c1a34458502d0edee2fe71c8f94a24fbaa30edf8dc08475013ad5e6e4d949205617530421ec3d4d2c83469b207c6b595bcc5b514751c43dec9d0b55e95d6437dd2d99d1d2dce252dbf0d8d89c5c4f1a0453ec2de1e6c53b5724ce05a7004fd52b180b831f39a0cbd060a7503
b5398f080651a0b56864d62328e73ee8cdf05176b7ba664bd44333e83c0d27e686f014e61c096a438c4deeb8d1c657c65739b747428df5099f72692086df338992eed19c7f725e99c0feb28084b413786774619679a1cf3f57d5d380ff197ed323c3b24c0a972d1f334b878ed071e2d22354468f6fdd9f38cbb70e3367c82253
b57826496150b2af5caf01179de700a3c12f478213c23ceeeda5de40b534694df82f58b87ec8aa3921ac39e8f92b06d27f89597c08ca09b901669efd88476226111b87fd3abd36e0c34f0dcd7641bc77a76318f524d6d1d299e5cd81b18610586bce2264fe5ce3e1f803e140b8805fed7f4899920145a518a222ab306420d41d
b5a013ef2098a03245ef6b314bf972db495f00ec7b8416a8845221660d76074a203f31f1e35d22d90463c602325910e82d74b4aa63ea33675277ddad264bf87fb6c8c12d0492d1cdef7790a0fb669d1c0a233ef29ef80a7932e3edb607b93a34f0b3235e2d44612eb57c79efd942c8b7fd90826c9576d8c8ee0f2a5534a14ae9
b5e49b09fc8225634d1281184d1f2aa0ed2feeeed512224b1427ee9b9a383772cd85f87b209435eea15c13a875d6faa1b3b7c97dc3ddec343a201064268ca75875d8a67444223501fcba2e0585834f8209748403a2a130d208a44cd99f63153c20bd7d1013a9b856b5cf2a1d69f44bd77cf6048a4d383d0aac0c538f628064df
b62e145a618f5bfa63a3ee1415c5fad2f9deb26469d621fce4ba7389f44206a8412620bc80f1647381524c3be52fdb567c33f0f804ed8888ef4559e2d8c823e6c03f07c9a904aa17310784561f293f969a18ec2de2f48e5407f4b0a568c99eda77028c3ba6486ee191b1e601cda999f7fb1414e7f12d573f1d40c1623b3b1337
b62fd235b7dd85cd8579ff1588129e47433a1ad4a6485290cf31ac84c50159ed0b3d2438ddd29995e2c040c0d11ff90072d5f9314caf510e27fb19b41568007a35a2aa90c26f83ad16e6420faae28fdec160ac8d7af363434c7b2c0c3798b5a9163f4bd87612fee5578041e103fb81b9284e25d7d921cabae598d37241d6e73d
b65cb615389bfacfa58b9a11b39b253c0fcfa39bd02e2305ad4ddc71e9a3cd3afe65314d9fa452651ea618700b91ffe92a9c89136941daaa932ef117e2ad37b1db8537221b959630457035ae1bc1a5fb984f925099e936118812507e7ba628918094495b8386a20d83562e71fd054b44c2e69c19607f34b3b1069fc84f677edd
b6ca26e5d9b20d9e4fbceff6d8dcb989ef043558c56d9909f42ba12784f74fe0635260129fb2bff9c96ad302c4d6c827dd450b45e394124e82ea175638d6436da263a927c1140b4c994a48c430233e576eee2282aef00c5e680c208529551cbe2e2055ccdae366ea6c8a3461215c264884f1fcd8bda790448d79813350fe3d51
b6ec07786d91283c976550f8e88cae4616974fd029aa02d7f746efe9558e7d7b321592728ab9456eb871309d11462c0b0177f2125b25ce87874f33df20d4912e6b54fa15e7c7d1bb29514c6f6c20f4391b9ff82c29757773c25162f580ef31b0f81c05d6565327c3c6b83fa1717e0e1bf18c007902eff03507a8af47bf651805
b6fa1aeb810aa344fa6605c4a408c0840127e85099e2617493176cb86150e9485947e9dd7eb93ebc90b40bf749501bdf58fb3431bb23918748c3cc6823b0df818a7d97824a2f9c9f903cfb8cdad8f40f6a304c6d432c4759b141435a02511836b186a743de4f6df28ddb765974e8f3248011289932233d81bcf1ef7b1e44c169
b7333efed5476b7414c6e224236fbe96f7c29fa7efc9a05ce0b83494f06612b332fbdd0ca6b21accead0d315379dd7eac2276b83104442f27af2a060ca8de46eac9c33cdd062bfdb40d61024990913c2b8a496b6d6229312640beea41b8d929aa6aeb2b452f46370270865201fb0ae526b62e3f0d0db92bcdf8a4710f9962ee9
b748b9e5d0cafbb1bee6a2133f788c0a122e7225a864f7b06fc391d0577377666d1c6bcc26bc561167b0875e9bdd156f385b94779daee474cdf336d21177af952c491606b4f342b73f709289f99ba9872742ef3c999e3f1bf6c427b8053dc3352630045dee7ad59c52a6c80bf5cfd00c362fedd2986fc1f819735168a078a141
b75382275afe63082e038f7e5070d531d21f5498dd5a10bd9ae0e4aadf1af85493f11f4ec36466f37dbf6e8e6ecee722d9d363ea58cbd8cfc527d6afdbdf07d30f4cd61ac8c909edb417c24c18ac92f65461081db66fc509aefe267e72fe9742b32b70e768dc4594687a9ca8aee6531866259d1bd6b0c1b6f92c585bcc2e6f9f
b7714aec73569138dbb7a23ce6693ebe8f07b4fac88553ce05b205c3bfe8253d71fef338e6c918083d3328718bfd1096dd6aab075f9ecef0dc6bc8ad71de9d74b7945e0cb54d7e072ebd24c03bb8177f6e3cd6d87948adedb1fcd50a2eaa843f8c08b3b1efd58ee357bf38832636bd8835ceef91b0883957fc7040f4566e6e4b
b779739ec9ac6c13aaf3201ac75e9e90c2b4ef3b2a2257b94827ee5a05742134d256d031ab981021fd43758416cf86b10f58433b010655b0ca46f5e3c1b9acbb0332f2041192c78092d87c384ec38a680cb1ab5a8f2f76d6c5f2fd618e5e793f56adc5bba8fa20728c778f62f5fe6c366733ed4df19d98b8f3b44f28c0f7b611
b78dd19484433d9cfcb0244fe2b527f7d8c3e40fc6c78de9a2c531bdd2bf3d47c696b9d4dbffa12a192f34895c6399f25b9eb22093218f7a02f32669b5172885e5d331205a3df4499c2c7021eb25ad7c4716e1d702de65cce253c2f97cf03259214c77d6fdd2d7fcd8232d653a68a8aeeb8d6ddd755b58a1110cca46b749b9d5
b79d8bb2e12d4a6778ff7aea4376e91a3f6a8c7d87ed64d44f260b9f09cc90b5f55f20392b0693d8aebc630823426a8ba9e2f9d621003335e11a9d4641a95d586e99a587c4156b332b249287aec12f18048e218066774688a4ca590602f1777557a9c273c787296ac86ac0564840e28437a1b43a28723346589cf72f9837d1eb
b7a16acb27c7d2d56ab612bed91cef6e4f06a8280a6f0c2cee98b1b7928a556629f10fff2d67c1734c35be0a1fc0d0a28d5823a54383b8b7ae6b098d5903aa788eafeab3db7c4901c783c8de21e27bf5b14733cc043044f2c779f637ceffbca3d34b7ff2497bd7660482cfb061637f7f902d7692dbb4ba21d522d8fe0815ded3
b7a69b4584371182ca5cca738c96dbd0fee0e7f66655bbcb688b66c98e528e794f92a48fb48e8a928cc16fff6a835cdfe55ec77f5480c206dee3dbd40c3e3d24e700af4b4edd01de9a51e9e9f5dd6aa6fb94f55f4b36498de37ec9d65ac32efa39e618ffb8200a8ef7f6868886088e918fa4d57f7b337e17f23aec4b513cbf85
b7bdf8ef01dfbdd1d4c030c66f9824ecda26d44fee72b8e33941b289cf82f07ed1f05b71dd0939f88ec001b948b50fc460ed03d65d36071a8ade7e23a9923760584af2d99328d04a8feb850364e74b0949aa13018016b38c72b12e7e3c51a0297753e8ed236fbbf24394f077c653e36963285052e162f6d507eb8957f0859c4d
b7edd579a589b6f63beea098fe0e95b7bb89147404da46a862d471aed143cc6a2be4ce450ee3666b27e4f7d5aa81aead4a7d03d55f954c764c5bf40a11e4bc74b4c4754701fc40ceba5f554d4853908fc8d014bdcc8d894db5a47b95b78c7f276f835b2c3974252b6aece32ad05a10b5764f3f67adcf7e681f021fa8d780a4cf
b82137f023799e42e91b5e8e87669bce219f36960aca75f69e74e7ae4437e2303244300796de231eb661b9f4f48f4a169630bc2dc045a42ac59379a2e7a373b56b2c7bdd018080a8b6e9146bc642cbb202eb40ab59d10c95ea3ea16672c53c4c3368daac108d569de63b5a4fb05c1f235377be5bda457982819628aaf86c3a8b
b83dd9f3a0f4a2e8df8bbc64368c27dd64cef4475842ae980b114a036697c9c75129259f1c314412569bf652f3fd10f949a17a03a79674b85153324009d59811e3c6b45588b4e1faaac9e345a1460535ff9d7d65675724d5bc12453cafa3c7cf1eb8bb0e92a67355b9852e83743acb60b39843d28c7a23d6e82812411d618595
b8994b8f227531a8cca0512a5b062fd4fde1a93ea965fcb7b6785490ba414af3e29d7c2736403954030390c9112faff6501b10e8d22d419d614c3c4767cdee7c02229e4028e28e0ea4e16bcc36e8d6ff129f4750bee07f19799c5ecca978f5ff723f090987adea3269ec5236c63f86aa4fc68aedb53d332954274283b3bdb093
b8ea55caf34f01e4fecec1e5badbd0120886b2ee001e1adc06bcb06a580b8d0ec00fb684a4ab6196eef51e1786c40ae590535b44ade31f10f4aa20688f31363b3c22f37611be00e1c501196009554b0db575a5e57e0a341c2c098de727b505d273781bf3ebf163fce06249ea4883f797c492653891dec46d41ca8ffc442f3a3b
b8f21126a34b4b6b971875315398122886adc0bd9d03ae522aac3726c79eb14d517433a47624ae62abd3a516fa73a55daac13ebd0be2ffa08f60dfbc0846395dbcf050f264aa3927a48c40969f2bbec42fb4c52d6c369c922ba896171f26efd6887a159a519acaa8d548eec9e5a84ef2fe75a71306ebeb738d3057fef39190ab
b93facc059981c792470c192732fb5250c6d79176605a277dc78f5c767c5c6a735b7b7b43aafda598356b5a9324ebe77479cee6abae4d03d7ecbf8bf85143e0c7c14e9cce08fb4414ea07ea6695deed0619f09d748c9926476a9eae608eefa21f886c776f2d389ab6bd44cc11f18e4a4eff1de335f30b67e46beeba1f7716a33
b9758c047e366d941c8a1f98d8e274e877a2b1d83e5c99ab319197904be8e0d99fe182cba9a7ce2aa61f8fc56f4c2b098eec30612b852ed4fb616f1a7dcf66c79c28931903a906b7b00d8ba773d1a0620f30c2c6d3b45ae732f3e47f5fa7c91f514872b3d642799b43d5e327ea752e8fad7c72b1bb56330584e456fd991a5c71
b990ad5c2feb27b5f32f0c4cde0187c5c4a7d644bcab78f663c234637c525696775f51d1de7b2daa886185092e9994f527fc37583284a79dc9a814f76a02af0d2ef68c338f6c53a64f7c12c835d49004eb7b81621a011f68ec9aedbb755ef26dacc46acf52ba5971bc159398ac9b55cb5761ecd7305ceeef8f9ef815d6dc2577
b99b2dd765029a19d0fb6cd6296b8702bb0b76796cb2602514628a2a182a31e9680832a895b66d329b1bd362d5c606bba4da0b3d0a8c98b95f934333369ec0fd0a3292123ac546f400d04a7a5d98bbd835b29fa3b97d2500e62e3c4bca843833daf4f90b66fb645d4c8a6fdc93e45014d1ce6c5637fb641f0ec3da43c85b6049
b9a757cad0d3f471b89e5d8fe68982f2d848eba093388f55057026e42b35ef246384fe2ac585cd9179e557c62e1f428e0febe335b83cf5a8c46927028eb52d219a371575056b3872bf745e9168013faccaa24c21bf9dfd28ba6b2a1bcfe1dd1de0d1f579ebe1933ed18b635d33e8e7360e910d491ff3f00b3649bbdb7309ead1
b9b80aa119acac9d60ca748bb2c2e3254334cf4487bd35ba699e0306a89115d067078259393bc95f9e82e3dee8920e745c4189fd35be70bb5faa6538172b88883db2306813733c6902184938362cf4e60bda5fbb3fb43f1cadd96c7b17cdff33ee512b7f82899dde0c34b1609e5af7328f2886ac0f8e85d6b1c471d6ba45bf17
b9f964cc80da293695cd8cce5d7cc0301d9051997452ca4ee1fdbf0c8399ab99bec7fed9dc5af7a59a4749513a82c8ce2813475f6ae86bb9067661b6bff8c239aa04157446bbe110549467a82e1da3afc31281c838e64ff7949c8edb29e3dcdedf2581b518b91c14a6fdc9f8c4cf8ac5c0885238b25373600f274e3028b1c5b9
ba1f20ee862a1fc7ce1fdaabffef0df3bea260dac1e67fc468b7b47ed0640ae08b192ee7f4d4fa65453e5f5b7f269abb05e9f5f2fbc2c30d4c18a9633bcbe9e347091317b5a174cfa014fd98812f9ed2c28958487f9f565237bd2c3cf017ea1d3b077a884aefb90564bdd37319cb9bf95ae9706b9c7b048d898c5cee0d1e4eab
ba28ff26c3a3893fceccd0e3a983a465e91801576adbb7ff972b1feb59f64a26eb73ca4fe231c1649bce83d8be4bd3ebf0308b6a1467272a610734e3d0da010aac312b8fc869e1408972693f8c57af3cbb3b310bb8fc1f212590323054269a55b282b08ffeeae8a50f4f6aa4a0d7e7c8f49d33abedc9cbf77ef63099eddb4b73
ba3c123d012c785e5f32789cf18b82eaed6e54a881230d83c647263645ec0181f1c12369dfe12cc1a2f689d5d19721cc8eaeb9c37bf41066928945d6903b34eb04e6dbf0b72183e4583491d389f9a12cf0e2b797eafcf840c076c5090b5ee00dd4f0ab83eb38b40ed44bde334f0022e22b1f3e475b6f58628fc42bcf4ce37d75
ba3feb90b00e016e41b66e8fd5e09fccfb252f17bdb28d00890d2ddbc9d32fd544ed4d2653d0e889c1f9ce60de46a58af88a986f6fc43ee02e1704e9d22f7f9bd984c52b339b5b9576aa2992d577184bdafee977c7e8443a4586bb8fb5ff5b5d2e578f9b63b5ebe367af003b8bdf62a04e4b3d98613e06db13ddc02071926e1d
ba4ab69d95715373499948e8097aa698cc29971a5419cf59d43f36086371e165a225527f6abd22bce4981855d9afafca20fb956c8c418bf2fb909bca05d54e856181a18cc661741d53e187f38177c2a444130dfe28e06013f8a386900ba5db81491aa150948268c2e4d1518a3ab5b2f87ff7bf1bfc6b7174e8fd8ea98c892105
ba7a65c87bb7c77b08c6cbdc8664da172a77111ac9281f305800c169b9d924a4fc556a9c2e1c929840aa2df23ee64da30b74e602c1157a9bbd5990b05c547988af29b2d76fe1e32665e73ea24bbcb2cc01e42de30a19192e51a04457de682dc6e40368b7b00bc1858f98ed90a5bdcc533b72ae076194c2f6fde4dcc3ae2b1db7
babb4ca7c97b2b065a8ee2794ada39b23fbc4985c94b9ca895ce45d172709288e04362c533f965b43be6db7bd8ac3d9005ae2a4a1d82da09a4045787f3d1e3b6772aeac4ae28af173fd4b820a4908157d1493a091a274663f31261bf3dcea487f83cbc6ff8244a31bd1188266432744819d660f58be616471b6025543afcc8cb
baee9a22670397ffefc66a13c7f2662534a676bfe1a09088f3c7f843364465cb73a1145b0fee0d3ef53224fa98c325f5f3963f7c07f7f26db8335c48fd6f08ff5274ff96fc350acc41426f288ca619d13b1ca81914a3276748ae1b6665530d162392caca501e02a5ea34079bafeaf03b0e0e8632ffcd4ff72e81fe8a85d26fef
bb0cf34287b122b5547468c095c7e8c866eb4d18d88d956d811484320bf49eb688c8420b98eed89e0d2ff06fd360b49538a8e6562a626d35d5b88cec5aa143e389fc2bf650f55652e063292bef8463ce0cc21fd8285267ba4b5f3f7ea0ba1c385eea7a660d8a3b4bf639e70ecfe701e47643077d4bd9df18682cc5bc73251a2f
bb24ef0cee44933c5abd6731855a06084742c69d2d543606f8980aaa28de1fb6341023d8030ba0d2ae9320ce3fd87db1e620d5eb9f6c2efd60a65534c4cd68e66c5a91e1dd9e883ac9490b751b942135a204ea92f7497cdc2a7835f5d60e8bc6867b553a74b80239d746da4a3a6427ef86347449d6fc0b9a24793c30bd3ed3d1
bb528adc44b1820325f93a44d2eaa6bb1547fcdd45bce6a24572a1fe160f1c2b5afae40f07107af3d07bcc9b52ef15b396b8dd0fc90d643b2dd479689d1f137d842d4eef90617b668d8a9a935dbd8f6ad690b79391623b3c62db401bc2b233f56c0b3b57902c25b63f2587a7b487dbeb17a66c6cba0884df5af95379de583533
bb646e60dc4923464c1325e1982afca96e5425c2cc8fa2570b8f2c655c28f7f683e3e3f6c413231de6bc52e0c5a8c9d7ea219faffcd59e8dafbd9efae9dab034db44a8e4950435e9cb109d7431dd4c555173235aa2e34973c6634a97631c5f6d8b619e7b31e338aa529bbd7881b317d05b594c1a73435a288ead8a7f6e28b0f7
bb76c3d84e9d4dd4ec81e47e5a029fd1c7b244ac0199947a40aaa8f8142c6748dcd4595c2c70bfb85e05b348ebb39c12622b5cce40478e5c0e25be7b024f584ebfd91bae90e3fdcf9cb3fe757bb0a38e9daf75c3c7b684ed940a1af619816dc8bbafba1a1a7783ec4886085a12468e737e0eac461b14b4b8ac71b25ade782f3d
bb83af4ce9e2024c8f25a3e5ca088ac2f435d41cee1f6b159a22e59bc4c425d6e65468f1bff6996aad08d99276c24c34cccdb3ac598e47a589fe523bd3696f8c549107f7d4124a8e44e27ab363624cb91eb248e31fae358547ef1d00d4ab0102084be211fc12dce562610daa70cff6ced562485595a62052e20bbfb711f11f7b
bb8ebf41b748cc4430ed79acfbeeabb48b1cdd17e849c6a5c48b80eeea0869d02c64024152e6ed8dee65978acaee50f47a342939415ae2b684dc9dc43c3b1a10a7a594c77745ffd302122d948233b784d7dbbd2cfa6e30b6598b59e85738200d23d6fe5cd834510179eaa63cf96fa117a898faf959e0a680428a43c03627a921
bbdc4e1541711f7047f94a31845ca3cbe34787ddd687d73f3c58fe5a38a2cdbf1eaa1311776c5700c23c16c58e749301da840602cb7a0864dfe9afd6ab366fdf11908c3a1ec1d6f3fd04b5ec4c404b2cd3022030aa6a42ead9e192c3d3d8205cd147c65972127cdc242da2e4204fc1352420101bc7ee60c791319c8d3b6082c3
bbe80c4dbffb2203907d020fcab9fefa4504c1a4526601d18d616156c2244bd2c4bd7b64eb72fff89aaf94e573e9c13b8d5d9e694c7d6f3fef142ac80ec8ed293bc18073ff0d1bd39922031d60ce201e474e1ac8b9b6398c7a56a2c2aeb763411bcf18892a142e562aea5b5d9b94a1ab97c022c1f12367d811d66f89b3c64c95
bc06306ce34523659d4e42fbc0acb81dc14dccf2333d24b65b76f661fc0f87e57f75241ee8822892c5a7ec609eb3cf247e7470de4995dd0709f531a1a5280cdc68bee0b2dc8d9da99b8a51f30594e675f81f624ba40bca2fba4790696c3c6f162ca4f3f79ed08964c8f7be815a1db5faecf0fb87ef9e346747ef7f4a115d8f73
bc3a3f6163d96b3f4ce4d1bc7052a092f47c0219aa2b77d6d775a670ef4fc6738bc249207b5dabb3326b3980d1445e6457333bceebdf0944389b631d050c1f5bae66d14f3f319cc7ae8d628da78637b8a32d048a06e8dc39937cc25bab73470a27155e78c2522bd833d70ee8c5d29c5098ba721b5c260de789669eab26fcc93b
bc578485a211c4f94f14d20c1cdc059db9d1265fbe6902132cd80de50034f178f2199bc8cd2345d1292f72f1eee465099d5a8e809c216900960980f2590377f19ec2ebf39d126a10785473c8fc7ec6b12215e5c68963cbb2af9b754dfae057f0dc763ceeadf8965d7fc6b4d5c1fdc90f8374e3388e67dd2e0cd608129d5b38e5
bc60f7b80b8227021905eb22716cc752480d138e74f442695102ce21b2dad1f2bd8d103ee33df9398dc037bd21ec5e352f5b0f3c8979d346f05dbcf2e507bd135e2f6e5d04d25480bd3502abf55dda7e865e135870ccc52d740b99d1fb1a4031b8fbd4806431f09f33133803c4c0e086ed708a344be7c0456e19f740584ab327
bc88151ff36f5aa24ab2a18938b9335110d9679d3bf5b30253c75be3257cece74da5e114e2cb7bf4c6e803c3b1145a80ed7795387c1e1895ab35a63920a86fd55663fc0660ed0eb767fd7e825a19f61002aced00fb9d9e12ff9c0b228f5be5c3bd63c318c46c31a2d5a76f13a9408be5ca294838b9d31e8520f1cb809864ead1
bca46e738e11c90e4e8d40a2e17ba578c25f475fa80bf4964e01e5820793f9970c3cd0e803860bc85260f29fec9ca2fc36036087c96018c16280d2e5f1ce7f898f3565f86ea1aa9ff58f8cb0bc59c6fed4d552bcb37ae63b6eaa7e9c2f522e1cc480aede07a3e4fc80506a00ac8645c72ac2a497f5eb943a60c04e6d21dac99f
bca5665eb8c00739794fc193fdd1732d1fb9a36fc73804254e60c948b947270fed4e35e30bd9601050ecddccc8713f2348ecb27751d093fdcd4f5aca3228c7796ec47d8eb94a15a8800c4ec813e637322c062d031f154e8017a6c08be61cd5cc2377e14ed5554d8e06b4d776cfdab1fa15c63b1d513c6e561ffce214b111478f
bcaec14b960ea95f758300fc75be9700c3389fa7f4c48a29ed1dee4cb9aeec608b6dbbf674a35dcd182bc2f99d6b7c0a27a917b4fcf3ad2aa4aba234c1c310a4dec17b3e0ae54c28a206ab0f7cacc1208368bc775ac67314ad124e366148aae44457a2390859aa8d6c02e5504025e956b47d74807f89e5bc44fd2f271e1f3a49
bcd4b7a34e844a3e7c1712cd804ca57781cd3cec75a4bd8175da36b8400457f36b0e887c26ea276710cabe53edbe45ac3b33acdddda8c578866ae8b55e66d64ba84fdb485ba9d9db418cf8965c16f4d2c1f4582b9bf723c33daba835e73832b5e34f89667af690c7b4b426f55dce6a6a28da6011efc3e44aeca4cf81270d0955
bd691e79e2620dad3e7d09fb780717cc5bf2351555e6c6b4e02c31c44acb33d4250142b37ea73ded184fd66a4402771efc8d85583a2c3de8c84fd34fae356f7df2b2fd9af1944f91959eeaebd4db9ff740cd3083651f3ae002f002e0a81a0ab8f8dfc240798318c53986e028f83dab95c9c2fdaf75f80d7fad131acc9db7dc3d
bd8824cbd9054cd01f54a137d18d493f1f2e1983635fe415a3f1c14877438c7e62e3dc47a74dea5d3180fd5339e714a60aebad41df3d9b0643afda3bdd361195f47d8cc07a485487aae3aff79a32d633606d1cd6e82595c58c49946da8fb20d7607333fef660a78e44bc901e13f14301d36005ec2a3e5019edafaa9052334fc1
bdd444d720a5e2f162f1eec0ab05d374707296fc6c97696238dbf19245ac6b0f430c69e21ec0d2d06b3815cd63f887936ccb09758e132af60ceb58f6b9fdd76443e2a4778eecd60c3f6bef75b2087f1badcb87910c04709c3a70536de1c26837cb9107b209c7f6c5061c8f31406ca79b8585ce39f56b8ebea1bf966a13781dc7
be0ee253dfe732ac9f40ea59665ba3eb254ddaa17a718bd898860d00a12c7016fbd14fccae542a389325063aef6742de7411909201fcb54c4438f7fc838905845b44a1eaac4933fa29127adebf59d50b1057ff0cd53d88b25c79ec70cc78713e97f6b98cbd9b890ed60feb5a0f9d3c2d1a4b4a0438ec7bfb6ede291c65267a93
beac929139f555b3b2123db4aad41e9a9b78eb074ab27ca97bac2e7c4dac62a6f29de32a3568e5f042e02dd0f9d937031310c71df448c14373383e054d74a671345dec9e9d4e51a74be9ff6c8cc6798e27f2e14f4a3bd98639da6715318309f6711297a63ab34bcaf237e44d57173212fb55df0a60e0a9f2aa00c18a0186cbc5
bf4b8913fec01016afe75a800b2995d6f59f8395cf2c40c512818dc66dc6c6e6435de2f25ca276318a83ed01b21f89ea898f6dea600118dc2f3a23f6db7df0becbd5b8048ee7202c6208883514ef8444c94c8044f7401402bbd29561ad18580a95792b9f1a273e5847210b064da353ecf0a497fe60ebe5208825f25a20cf63f9
bf5aec3698e50e7151a97ecf6c0215aa0ffd3ed077611e8da8152e5d291ba96a140096e4e0287c67b4dbca3486d13f363745e660549921159336f53b197d3ed9149ea1d21cb9e5a0c3f0b68c3086fec4ec69ac5f28d464eedd53751197e6dd7bfdf60fbbe7c635925c752f5709e0e7d0ea3c1f4b9c940e38abc1b2f9e4231387
bf78addce1bd8ce3a928d0b0302a75e87c5cbce984eed3ac66bad75d8632fcd6514e76b9854ce2dcba2e8864aae0f7ba3ff932510ffa181bdeb1854cc395b1d1dc9bb10ea12dad250a8ddcca7bdde5c872eabc3d0cdec3930409854f499e4e320a9562a863fd80057115fd4e329a2ed3a2ca0a02c54be5312e72fcedc48c7b19
bf98e783fc534c78851a8dd8bb5861e72723d5b4791427030685d9a17062fa20e7853fbe280c6a04ccb87e8bc6a2253f9a874bf65aa850f098efbf2ab3137893ded11dd6851dfe9b853db10e8924b29a9bda9a540f7cf98f179dab0d6ddd66e78b7dc280e6e7b7154d01b6dd98c0e59bdad1c7cf328cf4c9b8047a9f91ed7d79
bf9f2e823bc1f5cd0455ed19174790f15293c1efb05ce6b1bb9a7996db0b884a1ab913a95191f9a97be9572d0efeec3f89f4440f6cac06f978739c8e5afc054b770d6c7abfb63fd8429b3c81086b33cfe226c04b159b4b0876c2f23c0b7c72b687ce4c96594d250ba15cc6c48778e30a8123abb51a98a7f5ad2735e0bb3dd245
bfcb2b0d315d970da4a35d1890cda35eec74c3a14daafb6ffa414ded06d32b67f29caf1c4eb5316af8e036a535efe237478acb649e215049e276158df67bbabdda2c3a0eeb5133935a00f9db8562cda7c9c3aa66e486298e4345262dc0b3f5b4d23081525495ad78b72e22a81724f108b9d1962a72c4d681732a57a543387951
c03567d6065b72d0c7e0a1e5d10d0b40f86f30581f2fa71c2d8dc99207d80682f4a27db23012819535b616d1e5c50f5cf9739cb5f188b378bb290c0253b684d3483668b7ccdede8a74bcb7d50f057f0d1fac9d89ef63dfb7b11169030c36516fce4268efc1b5709ecefed15d24945d2afcb598cd022d1114e53a07aeb63abca3
c050a6999b5acb6675ca8b826adc605b1fec97658866477ba99be3c24c66edb020124cc83ef86eb8a1745a8752574995aee8feeda77740ce21048d70a927ef42ad51d14ad2166637d348f429b290127cfbff65cf986a69c47e08ea07f5595a1cc63d07c3663f5216383c5e1893b90c0256441fa28b4b742e5320460401147439
c084e304893fc8456e262902c2089bce28ab09d7dcedbacee696ad1db190ab0651e583f174586dcd58044ee45dd38e139f5d2d7f2b0000f06c25a6bd08d5501bed433d5debfbc78bfb34cc6d4e5471309d39eafba97c777421ad4f7f0230892a37e8b63a6a6ed30410479189d1680dd10df1290a259414c844c7fa65dbbf0409
c09cbd27ee0abcfabf1dc1c48c54f9042842d01dfe8b41df696924f94f31635498c542ddd84ed64b339c62ec7c20cfe1da2471ff83fe713381d86de875bded7a33060d4cfad4001be9ae91599d37ce6fb91c01dd3392e3f61e83f0c0105a3fe592107f76970eb1f4dac73a2603f0df4bf06a3e32913eedf4efdfa09a287084c7
c0c0ead89b33fe691ee2c90aab2f93e04afbc9d2aba5f25e3f12abe7d4c8ffdd80285d1642f5ac53f5d6de10d3322082e66a96621651f1ca3258630599360c9378585920a923e12a3af06d4045df5b226580a986736d96363823b139bbc8344e6619e984f0447ca22cddf6d169d5682eac78f09a873d1cfd626d54895936be11
c0c6971f636840f9fc373d43de847cb529d1f23fcab5bf62b0ff43204bc202811f8268a13f9e6f86d16aa6be3c523279bbea9aad16d90714ebe3ddb55abe27dc1396c8e47540847059e841a0cb77b9a5889a6bb00a7b7c1536f3efd865d71e571a583d47fcbedc52c977fd4f0449fcf90cf2c6c9bc2f602a32ba3588b0d4e529
c0f0f60879da3a8d1266dc0824f802695a1fecdfcd68a5c01f8fb4935cc1e00be1b3a4b9c1dd9032e56f670b021ecc7ef79b9b6b4022dd1ad689b034b649fd3e0e29589a893f4785a4b1027535a73dc061f2f33aa7ae482ce56deb9c9f9cf31e906a3bd87d3cdcff3b27e6228697e775e4c64870eea40e6ff64153f1937eb77b
c1712b43125cda8b1163051905a21d7c7f3e5723b9bf5e9896e64937aa7bf9a4c80588cfb702f6dad25e874f0f8ff7e486934e1264ab0befc0c020e3ee21392feac0ac59281fdcc96170415dd4add56ebba9d0f367255116ba112314005c30ddafdf76f6ffa0d3a24da03b59799518d9a7616838eb21108748131a412b28128b
c187dafa0090eb4ee53b6104bde64a2f2309ca34c62aa338cf31ebc647a28fdcc71934b1d174eb4cc8f5a326d26d7dba7e8bba7769619f66635f27b62fe34b93523d6a5cd92bcf770ba53e375ddd1a75a34344acd818b9855a7cf37012dfa9a5da93b780eaf506019fcdcb6bd25711c8074e56a751660bbcd24ac66cd8737adb
c18f3ffd24ba64493d80ec63cf15bc0479571f68cc5f64c05878cb35e04fd4028878417b03fde155d4bcf6fbf189cb3e716622c09ac750e2731db60c283e7744f2341cfabd3d6460346faa4d0c47ed8ec9745dbc155d686c49fde8ce219bee6635ecc695d3f5efde30d90750c7d7561f5f1f57057e9050cb9b20c3f7dd76ad95
c1b9647bf460eebac717b9a641117f3bdb5293e3460abf5a5794e06bc0868f476b47a35542dc77cd70b7e3b475e1eff11c7f3777a3d4e5b5a3c42385fba250de84e3276584da204c0587caa2a135bb265460f262a997610a0829f0eb6d027a628b9922dd148e2a0a338351892d2f3b42aa28dc0c0773dfc2161efab86caf84e9
c1db69c4838dd453ee11212e2635d2e9f983b2bf9bc13795d9a36ce439addd89e39b866404b4e26c4c39bb7a1c7eb0218398503e128f1257431f8dd794566655fe088a5cf813d348efd7bbe6c1825f94ace577def0799a0ea32f167960acefec8883d05ac1284b5a407edd36ac2f2b81fb98750c431dbf634f9d213447a331e3
c20a1d8b3903e1864d14a4d1f32ce57e4665fc5683960d2f7c0f30d5d247f5fa264fa66b49e801943ab68be3d9a4b393ae22963888bf145f07101616e62e0db2b04644524516c966d8923acf12af049a1d9d6fe3e786763613ee9b8f541291dcf8f0ac9dccc5d47565ef332d466bc80dc5763f1b1139f14d3c0bae072725815f
c251a3cbe15162e4b006a9530ca79c98edc784b6b9f80b746bfafbdfacbf920ceed634bc5dafb00663b5f532a780b44df5d073004bd461211c8f3721c13285ea513441a00fc5a8b2fb1416828c99708aeed6c3ea69118cdd4b4dea656d09daeaa6e50c9b2b46655b97c034e9a01edafb58b19fde476e8d3d3863074f1c81a571
c2653a783947a9ccae223ccfa20b3a288edcabe259ff36fd256736539dc0d13d7233c4b53879a67f66abf37baa907f046e20b7d038a3acb1f7031da56cfe18fcc96a9d5c81a8001d953d725f0081dfade5612e14aebe13339066fed43e90864b9f2c8d84c78ddfc78cc67592e468530ea21c4f248c74890c9997023b260d6999
c28f06e7d509d2f3eb30c359f438d9dc0caa7918bf86d12511568d2924b9090e7da8b5b32886de0c9a41b3b276ff991bd48175583835b4738f688bdb3c815de412ec3aced5a2e875ae259bb5d5cc6a163669b4d3140adc4ab1f45bbbde27834379c29421569296572a1813938779cb0f28f5bddb28fe1fa7aa4ffc5cb71a87b7
c2bf90f9eb637d6d9c8d8dc995604cf1feaf76498372a2cbfab092616bda465fbe81617b25638f0023d046f14b8c0b7125944fae2397485445acd0719a1d1872b2f36dc5ac9b64b774130576b3eadadd39d1e513c5d5e36582901cd65600343e2baeb77ae5b8b2e5fa91b5acd0eda7cbc354780e6c23b32891de0713061eb1a3
c3409044efd217cf384ea52a6fde9733fa4cb28ed1b4623edf9b72cb1adf2f4d6856b384857e1ed53771653d3702f3192f1ce35528f7a35f398d045bb9f14b7113a7e538db4cfd1161c2a1dc00fe40de24ea64f4312e27d80447f85d1f67a0420c24119f9a56c6172977d6349225a5482804ba58f418bb939860d8f15a92bda3
c340edde7d6250fcc808272f9af7d5c76071af51b1a898c6fa5cafc4b700acf986356e3a4951ef0b24fdde4071153392535286daa830ffba901fb6b431f22020ec96cac713ccf3324b896f90ca1fb705afce2b610559a991fec26b52ba4d5135eb0a1b97157982f24238cdd8c9c3a94c2e06d9cebf5abc1037309e6bf2d2ef8d
c35f4ab65edfb737bef1f37e2982d9ee4c60c03ed7bda63d1b82ba44b0ebf7e3d35845f02138d70b36851b6f879e7857c5d8457ae05bb5f9c71e666dd3878013b8b34118bb0474854f67be2102af080be04cfbf97a25b14fa4f6463559ed46e6e85e09af5564792b197a5456e03324e80165248b0dfd0244b37a1059722c7953
c36028165eea3683226b316c31f16e53ed35b6dd5df5ac946d82adf5aaae2b4108b6c911cb3b7a4d9c9ca5c13fc8be4e38690d72d275b16765a00e1cbf2f5dfe4a661ab25b21a96e02ee889fac402ac8ec796c4d66901d576652c4a313e4625a0a30bde4501bc2f06d582a092c1de2d50774e365e841aff21f27e04a8070e7e1
c36703ecb65ea6a286abec0e0f887f66af9a3203bf685f72241d3ef5dd2447e4e965186a2282d39c15663c617ca542fefe1185a3bc987fa2157eb3af7874ed142cbe0cbc80d983e29b4ffddff3a882227ccb097c4c6d8887ed7c509beb608a8533e88591ff3c9cbf56a2d63cf697881ae38f3435f0c4326c7039d5c556ffd18f
c3728a95398df104a4fd6323f3b6c6211ba13c77804ba949b13989ba06b313e00a2050f2c6d51eae9f92d9f73f55de153adef6ab543d33739cedac4788db1c50f95db9a99570194b5b52141960d2e62054f025590150567f0fc0abeda0bbefd1ac7436fb9283e331468749921e62b4693a040b911fb1927377ece8e1bb804781
c3854358384f94055d80af1cf9826053ac8a3a016f48f9932fc43a596e95dc3632cfff9cd98affd7ea51252cbeb39a171a50d4cdd20518567e0b012d2b96a904f8b30159c30c65a4e398cac498d80b71d337dc8cceae014fb53762adb59213a05929f1a3c33f936085ab5472368486ed15568126afdd1de6aed4ea8fe0a56e35
c3b88e5d6fdc3b3c045c991145665ab816b06d825a0930b7eeee732883b8bb87ae0ba7547011154ebe47cac3f2eafabf001e1ae6f810cfc149054c142259938d854d140856f69b555007d8941b2e5cb0eada522b2184078813f5b79a3bb189b6c7a8d80541752cd1b20dc482805aebd0bcfb0d8cf70c72ae46d89a87be86e9ad
c40c2497c04e106c7f407dc9cb89f493be2e610e1127d5b1abf650748c410d293e945ba5c7b7920d70fc384d9635ab08a4eec2129cf241c19ae7d790b31a085a08510a0d84897eaec6deaf821eeaf9969d0a830d591ad39e594deb31e94ff19161e69c6047e9e6d99251b83ec77e2ede2900f40627d0738d80085c23ea1c4ac9
c4367c1fb920ad80473ca6e096cb06333ef41d5cacda0370d4c9e88be9c6d5aff39e9e7789f972a3a52b9f8338c43fc329c3282f257fba9398af337a751e33883cdf62ede59df197697f0180c8eae28d21f9e3ddd4259b5797942b9420101caa3fbc229629aff2bbf63eb0717e640092dbdd58b5b7703efad659748ff4c522e3
c440c5a2224b8798da257861eab8d172074bb0c3301f75cc1b3aadc9765d424cf23cd38ac27489fc911fa19d89426e8d54f525a1d28f4609b863a6dd35357275b1084bd9d2df6934a3b0f2a3e89dfd9d5329277bcd142e6214adee8b7495f1c8710c31b71ad34dc0f3c10c75701d2b3c60afa5c7ed3f1cdf857e43f4157b01f5
c47b0c18e64c88e54979e92924b45d46e923b18956d1e8402995d21ca5f923004953d7b96c6bfb25307235d8bf22ceb3f9ec12582ca900f5567fcbc4eb8e0953eeedfab4b513d890214a2c8e924e1cf1d9c993555e27fec9a28b293b8dd47a7cd59799762bf5e8573850e5506b81ad173fc4bc20e99dd4f39921b8a7b2e21d2b
c4985032347af228f2b86128082511c06a43696f2bb8a6ea011e6713a93e117b61e5cd0058704ba0e0fb6d61014cbd73a6a538e24c278752bf94e623a29929dd90f9b71fc8b1ecd3bc18f2cf3825691dc52090db2a773a4931b02a9f925761d49a71a3a93d02cbcaf5c1e5cd6b5f84417022fd176d5e77ac872f9d4b116619c9
c4d0b020116e2b16dc97dabd41c010c291544fee15382aa59fad3fc926e07e7d8d5502aec4c268bf8c03e55f5b29bc376e185f32e4ff288650586c35515c663ce1dae68d8f8fd1a809a81a8245739adfcc43c3579626f9e5d63991cba13d81e93b511944f20a30a50dff4ffe2242f7902c43d065432972f28a4dcd363ba947bb
c4e99bb797133465963c548bb1deb921b168d8efb6b8b7f0fdc62e085f82041eabc890878744e7e3d4c26921fc726e0d4ff11c9214d07a91be3928608564dcfac15e28f91a012920777a4492a13201533162163a28850aabf4536aa0c79bd94925801869215906394eeecf487e5d63ce3256d36fc3f7b3d43a38ba268928cbbb
c50310db5b42bf0ef64b63f8cc16c58e8ed5fd0e18fcfb21d362f15c62a6090d14a293472d4844979238f18aa8d8e771c36e981261721c171401d678c6cf314744c01f734b81ca72b5ec8e26051070672b301a2c89a24affc388cce3ab6cc71afa1f0e107183684cdfc7046e841fcea7da90ca3fd276928292391f06ca07c289
c54006d0c912694cdf4c67e0d570edf5d0eb03c2b566ed56d82eced33ec94f7e5c23e5ef1e633d35ed7e63706e731998b2010fc5fb2f101280a4d9b24089f1784b0e96faf861e22f221b826751e8995d9e29b5abe5d2e69e2a063056857646f3e5f6b2cf886d8496da4f025ca7a56cc03e152ca202f078a39532cc3948bf1ba1
c572840bc5fe1a85cc9b8b78327a65af24562dc5198f5fa6e9f34efb02d32083a888c1dced8de4af6bb96bb0332411decd5b7281e5ca4f4ac415f5b41067f941bedd6e48b94913592b2b0fb4768df048ba9bdca2d90574bfd84f9a2cb3dfbc59cd2560f4ab521c84ad326c55adcda4ac39d00748382f22c994d155b0afce706b
c5888fa66c6cb13c5d338d5e54312dee8f071989ed7ef0652d429aa6f24e4180d4fb743757bbf0a9f0282d819eac23b438fddcc443bc210e363f913692ee831336bdba867dfdbe69aee386c60b167e5a813308678113ad143c98161c2efaa5f244df3335f90b52a7b96c79d4b91f9cff21d6f42df3add7f8b9347b3e3ba4a773
c5d39e283b34c07cc7788d59b4eb0613c9cf72c5310d2b1baeaed529c542759303a41c3dae9b52c108c7901fe9ee593a045304e5c1f3901840f19986b665855f1c3d7bff6c6741a3de88820db54c8b8d9ae6f2fdc5ab77a2cb62fbbcc7dd51c9aaa2de220aea0990de0a5dedfca6312c10e28856c737bec60906f28c9fbbf137
c60db06a4a5f31d89a5503f17ef4834d9248d0fea9d03d69efabcbc134a5299e7ae5b657affe096c595244eb8eef869c0d2ee3ef214cdf76ac94947df732368596239a9f1d7cdedd1fe16bd8724de7363a9bcc0ef6c0a583265192c037fe509c75c13b1609d7bc51a8cea1e54e353aba9e1f23c6ce9dc2bd1246cdab121a1b83
c660414a70a87db5f969753dadb55594a85152ca7f058db39a76b78d96df9ca52401a1c81b8e00ed135699c0a8495dd4a463739a16b2f5cef41184190e9f87b2dcf1eaaf78d4ca7c4ed12e4cf0add749f052be36d7b5a18b02753a0863b1d5dbe249fb8fbd24b59991ff818b227ff190f6f6ac7ce0755ba1bd071e1cca2f9dd5
c69c56f861028ecfd3fd787432e0d0caf02f9602502f2809df5c1d94bdcf66ce781e2cd2f892a77f07813267911c36c2e62d6028ce94a3189324ee1b02b58f7b42c6acaf116f51c3780be0c17364d0492d08f389f27ae4ea64edea03418de3ce22f8f5ca463a242b0e5f33beaf21142d1193388e57d4a5e0fd88a71d2bded939
c6f32f4ef8aff7ed4ad03fe1772afd82a68793341ab4e77a43ff15fbe13fe72256f77ab1b1f4d475b0293384280dc94ceb61d7e5dc9a375c0914cfe9bcf22caf532c61cd348bbf2f6293ac72fa07cbd647907caf0fabb1e11eed41b120ed3e384fd0ddf469e254b63be04ee05410e2e9606d8734328b9f8e964037d56d0dce85
c71157f26169d99a2371e2f1fbe30ed4ee65aa3f4c66aa2a0bef6c660d6d9e546dcdb1702d2007e7e122ea13adad3aaf19ae2226baadc2d19da0e02adb2f1fec796a114d69f6c808e7f5e0e0154e3ac1dc39ddc3ea0ad872ee0e7a84007ac34cb752f96113f66039122189f32ee5bda8b8d220de396d9955d6d1903f1b6fc19b
c751f270bddd893a9a671f055b4926b2092b60bc36b56380e3e6f082db38b7b635c01e605c629599bfd0e949f5f52f604934e81d6587288934e23e707e6d9308bb2d6199a5598811ff00201be308f4c54b678c58f84384365fa1522ab666b15a7381d42661e5a09d78ef418f82db6b7e71760961d39df25c8c3da1f2ef7f5dc3
c7622149713a268befc137245f2e943246470b7b59ea93956d0d6f80ebeee2ab06bd6ede9d2e50cb834127b191fc5a554fc67eb2190d1ac954cc07d34014847add85441d3983b6efb4a484c4dd0da82e7728acdcc9478c782752c0e8c8d8117046d8783943d741882755c99abb892ad285e82730cef5e641e08d3ceea90b23e5
c770f12a750e6a477ab8e72c1a46761f6d8a023e81d66e6210f00d9c5e90afd61e3f798c9ad3a5a9802dc27f786391b2d02ebde075df15cb3a64ca4b0ed88f2e33e8586f55885594dc57e68fae70ada0e3ace68cb32ef461d97346e6ff53cf0e1c439ca6ddd5bade2d0b4194d2637468e6d72cad31c35843f1e08f9bedf9775d
c7a91a3053111d722d9bca4ccc5db1121b865e73a0ebe540606dd7e1683f45e621b3f6d1011a432392f0a46468176c5dbf35f42c0ab488379632274b73525f32d7af4b13450fc437e7439f844a7490d6c5c6c1f7c4818631da84f63e1f7aa3cd7b20e34afa6edf495fbbd3aa47f82558bb20c9a115655f553818f8f3d9b9edc7
c7c8267799aeb0d43f30565c8cd2cbedc6edec24e7ad66902a07a82d09c55836e27fb275870e1749247f5afd5f5d6ecb61c3f42b700980d83431362495238edcd4036f201454c69ba93a1c46fc4dc744b07a94fead9f20199717d4e2ca3e590b5b24803f9abb450f4e379248b8c5a856de5800643c3ee842916b8dccc8e878d9
c7dc94dde32feb2d3f0c4c08e0467c222362f7a9e77e996fd70bf4c53599abb2ccdd38e1295cdfc75661f091edd9a5b1b8aaaaa10165459ab6c3eedca4e16a4476d08d55b64b02f7bc4be7ddd55c6ad6956a7a7a14c4efafcc82cbbb6ae58d14263d73addc8acfa528c2188b81a68cb77dd8ccff5846c641af4d56931aae240d
c8703f89e831f5412489a72b502455cb1417fa8b5b845c38bcecf039b7ed9682b5875614df15062344592fc9c44472566c7ff3a31e0e5cd137edbca4c55652784f64b6c40cf3836004911f33109b6c5cbac14db0e248f97362bf80e5dc272ece365cb2ece499ee6e2275d95a5aedef8e5a373d1eddba9896d3e1a7d2bededca5
c89edeb99d63d1e1a6cfeee5a5333fea9f95ca2e9c70a94e2fd83892631d982c57f0607970fdd299e4a9456addc900e49afb7f30593e7db22a98036b4f91c4188cbaa6303fdc0b936baaa7209090f89e9220812eb62a4ab6ab795bd560502e9aa124650a6ba4487c233c0a35b978881f2e34f4ce8ee300e9ac0112f682cf3b45
c8d6a924efc796634239a15ebc259fac31e8f98863ec0ce92b1ec50ace59d7fe74c156f9024dd3371e23ae4729384bbe1cf4e4033ce326675cf26797b830d8c243cbda0cb3ac59122e43a8607a40fbd39ff55e7085fd976400cdd35290b765e01127ffcfa4ee58cdaf58fbd2230b052102ce50de323969af334ca37e4a313663
c8f1d4659e31f0c5f50b58af669ad1bd27c37b7a3c158486e860996e3cbf2aa4595367fb2e36d0612255f4c7db0ddb60351f2bdf3eab04b485e958373525736a3da2e3f102e2c6fb7c38c247833474e2e6919af33625907508188e1902b2f3d44596c90bd0a5f93261b22c9b1d0c6d20eaeb4bb6ab23c945132a7d1de44a52af
c975c9c9a8c06a86dad8e5b67ab4f17d8de2219e5866fe9114cba92af621184a0e219c8f89922c8a08c82bf61fca8a1a32c0fa0e06ae4789619954133c2bf87ceaea6d6deac7a2c47f29bad940616df8a50e3172da4ce9ba4d1b766ec94a2c910b1849d5475d3cb2b72fd6a77883c60aa677e1da111aff31c990d89586848a1f
c9a0024ec887365bf7690d492f1658c2a6985c4811150863e2f4b84a876efb0939baeaab2ab13c36f840be845f35017d7f5432b18610a13360d007913393c73f34de009dd92e8f2a3e065b85fcc76c145f7523826a39f4fd7f75e16117571772482295909fd4d93230237c8063e7733cf2c2d0088b5c89af57ce9054b514fc49
c9d39e36fcbaaa0e33de56e523f5eed8903c04d8659945747891320040197fcbd70445e124486c3a07e1ce7b41a325fd0d96a8368c9bd3e7d49f389fef830237f607bc566ec9abe2e907f7bb607f418d10c7d9ae6ccb5327e9d41a891e8ecc8afceb7a688da7c80f3006a0ac9f40ca6a3d74c58c1c978a78b747630eb8d8eba3
ca0a93bdd30b080619bb18c93da8aa3f63f95f69ca281e53f69e3ba383f88daca3fcf772a7b12f9a9822c3488e82854b49d323592a4ea473d2ce91cc150603cf715526e0b2381acc3818e6274e46925a4a2d990dd62b4f7ca83b3ac5616e88c82d6c20e79bebd5e2887ef1ec33cba53c7ea8de7fa4ab176db8084aee8048bc39
ca2e0041d0912a1a69314629fb16f0e8297e34c145eb25329424098e55c7cc3ab3d8fae9c3ed9f9e07500df6c44f688c6d6861b0d4fa9ee8b9e37fde7fb3bd17d0be90a56fada844c8bc70acd84ad167a26f0401a87437400a840c6fd9ca6fc1f02a558a0831fffbe41540c193b61f870889d45ceaca895c435ff3e409378e85
ca38afd1028e601ad8d0951a930f90bc0df16731584d26eba44ec125a4ca2e903340e62d2b7e95fc556d3239f496d53e0fb0c60b88ef687e4fd70d1bf0efe816f80318aa9d0a76bf33aa1ed5c7b57e759325b111a5d05ac6350c5131fbb0f89546a9badaa97725dff5b153fd1e53aea8a9a52390555ddb92e3ba81bec3926ddd
ca4d70d1d5cc67e9c22b88089f21911ef36d69bd6af333c444831c165d6b036217e30177522c2e96096924cce8d9aa478bb25a39cadb5c1de9084a81c63fc3bed307274b133d87814668177c7344ec223fcd48d57d7342cc374a0672e5bbcd6ceecb5f3cb459ddb9af9d30cb50f1b3b01aca833ea4df93240a60da071538575b
ca723ba7ba4b3803fd92737765be5d19ac52076e16f987bfc66006c502a923d548b1da5e3a874dbbc3fdc91dff3f61617433bd46f1cc6e916e1ca678b1ae17764f1c51ee55f6c9ee9acab968597ee9a006ef09232a04ed75b7245bd84244b1baa00600af9de01540f95f130af88494c745973efe2f55f77bd91b15dce552c67b
cae4c1d45fba3d004daa8e331d84fef9a43c8684ca9c413ac3628d0c58a883c71ba15c802ca5afea6648f53d1c760203f58784c4c4a61947bfa8d245d4c97832f7f668642d6caacc2313f2594ecdf4f2e9b2ce3a3937ac1da57a4cb55cc8d9c15b2359a0fdd3ad0bfeab62c742f6dd4e6e28df3e1d3fa4ff2615d0c1d9c9b3e1
cb036be7923ac83d90063b49ea287efaa0c78fd6744859246f9c1eb63fedd395307a9b6e4b7d5342a01b370546895490ec08d94c9f729b05dd10ec7059d7dec03ae60309895a35f39ed3a930b87b1eae64912f8c5bd112be6e6d9dae7cfcaaad78af48a8e14e7b64161383de0f533a3d0446b0b25dbba6290e122c0e9ee28877
cb3762c8ee2d5ff94824e3bba358a6665f6c231a48e42a00b93dfc6b40c8236a07c2729932539235d7f17b34a4e089dd99438c6dc546807b8efb2b9ad1870a1d1d9f147f1b6cf6da31032d67fd16c5677ec4de85f4b13b6ebbaf189a8ce82ac4d5a110fd9946ca8e9018354e38977332f99a6a0d2e80ec3d9806e4c38fa0289d
cb892a7323317146774e724fb081c91b982afec79ddcf4242634dd017a9c1e87361ffb1e754dda67db02f2331e9233afbed9c135648b7e49257b9ca76d0a3bb3c674412867b5e7f10ee7046cd6f2c8ce6bd019d2ea0b32f5844200a8b658c69173b1e872bd453c458e2e8979310de2beef63d554e5e5e49986cc1af9e71caaeb
cbd717d27fdae9b2765cb3209bf74da48e5c1b5ca2742bddecfd9967628a42bd1fac4f37cc5bdd8018ad2da09431340cc2b5c21e8f13d7a616fbfba3de83adbb0943e5a67819cb3146ec66b67aef49a501e6acc292d208e456c38e9edb9bf951f65fe803d48f81a0fd8f84b9e1298c32a39cee4f314fea50db74d5c68919bfc5
cbe22a19b0b203c3584902340fff4b1bf3cdc646edbe43ea19b4b9d6d0eda28ebb32a9dbff88fbb0cce35811d17074fb56ef61bf283d653e8fd117ed6ebaf003718e2e987f3e27c9c0aca2c3fabdc06708d5d81f1efe1b79287c819335ac9602931256ccfa4e483b8626409a9ac9b8212bce77ae9c0cd37d9bd06270570a49cf
cbeef40778420f4a70c8d8b0061bbe152ab605ff759cf7e8cc7a864b1dfbf26d648bb821c4bc8483b30aa89bde94f767f39066353670dd21c0b19b790fcdf6b773d9d44ced32a974aa6f5172e14c2f9cbe0e8b598d7a7c020d6b608d36fc20392d7b86d38acc5532ce782aac767e6116dd86ca39a61946f8586632a3f25c2ccf
cbf44323913bdd18dc1d3c7857e3ec8baa1f93f37afe1b2a68b12913f7f8f360be01d6ca80e17b563037988b58f525b135fe8a331d46bcaefcbbdd7a260f43ba26fafd789c80c1fb4244794e5f825bbf3a4c2cb5c0dcec777eca8ba4d5393949a4b6a1a64d4aa50eb97130d93b6a3187f72d7766b30c8949b9341c7c45ce92f9
cc4a67df75e1f76d78fe57baa07891e8fd5f6e8c0c59b09bc02e5fe967567bd21b096b1c20ff8b324c763af011ca7afdd98d33056187b5b5ea0cb8ecfefa6f379195bfc31fdb99ddaadbb5a35bd850e22d29b89858878301a0745032416aae2e016a13e46ad07662692e466b60f089cf93c61135381fe23ab07a9473eff552df
ce2daf0b1c1ddd780b791c686cd0440d1b2816220077c2124a9605c944b6ce358e1f010727c0ad51e2d00f3c6aabd906cf9d6d1d7573d46e7a890816502734568c348cab7c4ed8c2b28b32a98c8cf896f26f7e91900e23f46720ecc2ff792d3ae4cbb6fc4bb751d8a2a31d6591955a3d5a3f834cdcf32f7c34e7eb6435e329f5
ce74b3f9134925fa19e314e0e11b5585eeb8369bccc695136bf8b5b853e9d4de9c65ee33b134f4f09595fa2f25c32da11e30a083b235b81f09de4d37b7b72deeb03fbac67a2105b1cc78d4dc5cfe6ecf12f3f4a7dec34ed131d2c46276eb174052121400ce78996293f54adab3a67eb63d71faee2b6f311f3e8b33b99ae7ed1d
ceae3e539aa33fba6c036172247a12989b0825b5baf5cba5d6c3bf1e10ab88aef10014fb798fd7229cc3369bc7d8b24e36d3850f838353020636a956cc43d387e0f4dbe19b7a86bb702afd8e14a9768a87b73e9fcc39abb445e3b3d64a10b16de0a8a5ae601cf4c38b69b28eb73f6579cedc8b5e9afa589c96f377c410f2dd5b
cf6b3ad5c16a59d405253786f021b7c9cf720725a4c9418cc207f8548ce88dae6389f9f316d9ca79dd87a837d27397b0bb5eb88c3275a79ca3e080846a9304edafcb07c88e976a9ddb5b2a629221329960f8ac96c583c19d552a8c88baf809b210cfc076f44ba56346490f95612fe4693a169f4aca442b6150de84e03215dad9
cf8b7bf6b22b0d218eaa9bfd962e0668cf47ddbf2b2c4e1230850dede455121930a3d3224ca67a999b046890710d3479df6638292df8a1968dbc66805d567138932fe18c550f26a0a85f2d69dc9a4858f9223b23c100f6ad00f39e068e1c5b832e03e5109a383745a299028cc544facb5f94a7c7c8f767fc49669da89d617a87
d01bfa71fc4e0aa6543bfc86e68e186534b5e6a6da27054b57c803c2871c7405ac9735dd0e5f348a58551767122a993e37838338c70131ac209ffa73045577b70e76cf0aa8937aef6a8dc9921f8ec825a21dc20cfb5a9ad2cb53c6cffa62eb18ff538ed9be7b64564c2573e3877f6224723d1e637a2944c660a6c7eeb46757f3
d02e3f95c23a15e8d156830f57e1928304fdbf5ad9b4c066ccb3efa3c04efbbc29c48fb76ac6e02dbcbc5daa5009da9db5c9958379cf9ce4472a6f14543e3e90df79b27570df37f7dee4cf4a319291c4f8c56ccc65a3d301cb19bdb8ba0f2dc314ed31697196ad5719c6b20223e61c49ed5d778dbb255deb0d2f951009d6a1a1
d084e58f594eea87f157a037c4551cf27978ac5e4293a07555d7277db44c2bd89d76e7868ce861475cda76053fbaf80f4f3da6a86be8e4a0756acac8333efe2a2dba96d7333febdf10ac611fda0b581b24b210704dfecf17288a03fbea3ecafd6611f824978483b247ecb7aff224d1a6fa0a49fe0ea419938c5f3660f0203c23
d089472d5a4438e0808ec1a9e96c5daf63e4727b9d5585fb39e80768d0709480b88f0fdde29c73aacaafb427511729dbfba2c9b0d2fd3e4d84e15f6f703c1ed1911195ded64f4d6da0c783ce8a182dc363f37c44b0682cee65b1e24557cfc9056305317811f7721d8f38ce1d470a07c37418f35062e19260a84872713f8334cd
d0d25d3d6ec6192319500ae51ea948461d2d25ee98de70a538812510dd279cb7b5ae524862165542d4fd8de47782520282150dbd299679b7f4a6685bbc782a129239a49baa58751865f448fba7b6ffc731a03134305126a68143c8d6d8d25f50381a288d4a020213d586f8b74eb89a4ba14498c8a90f697ddab1b4fbce897637
d143906d9e650c31dd1140a6470e1858a455068f5e35e0d5cd1ae1acbe976288904c8ad7d033f5e9c840430cafc02242a83c1bb43596f2f2db71eb7135c73d28fa8360773225477420165981a80d8918ef0e2c42b8caa5beca3acaff518ce6df9dbaaa8d82e0c357e476d560789f8007db8b5a9adf43bf037a88689874a43ff1
d155f1f3402402d8a893a08088a7765d1d562abb5a92301d9b692da7d7b395d735dc8ffbbc8c78779608e0e232f5ba1ff88ecdb3eff394e5746015d3450ee15eae9baff72c488b984253158edc52f874f569feab489cf650f7526a3a68f6574e88153ffdc482fe1cba1d4aae9ae7a70b051b419469dfbec816dcf68f0f8d3589
d1641b01b26109e5cda5c01d88d14fda47702c9c6f4c792f7511c308f277b3c7d43f61c744568b41e42da19c4494b4ca9049de1b36c5d9b698af422a482e9317033f6ba51ed4166810fde55d53e33a78b709260983a8d8fb95ec91169060df88ae436e910c057e276f1d95ea2e6c35ad9a8320b3c813fb2df53ee84f77e25e6f
d18b871dcb53477edf93ff52233d3af253e4fa93e1fcb35ccf2d4631bf43f6a520c3e562413dd64660f5153cca4032b617a0260c58f4449051368b1a90af942905a88344e32c65dcdcb4dff78968ab1dbb5571e6236ee0f69eeb68e1583cc151e0c87990bacdfba8afda149ec1526b1481e8819c649bd2b5e7c7c2af222c0163
d2155bf84848576629c9b31a6c37af3266693f6fcc2623cf2675053025f7782f0a6ff14017c662e1c0897ec1c00fd22ddf142072b3f886b98479bf413f87fef07d45e9824339bb34cd063ec854be0530dc0326574cca996f5c6ac04eb0ce205f879712a7150c888c398878c24cea761ff529ab2c971c4be50c71f59a95147633
d230356b3c4682939c791278ca4be30a8bcdc2be1149f6bb9ed680d53e761c677151084859ce5027043231cd24bf29295e173e115ac9b3dc8e9942c95a925f3905c2b1e2af1e3b63848b25a323f0a5033078863b67b571c150a89bfbe70402cbeb5043c73e9fbb1dfa509d701301dc85fda94e3331b5b665f1d5fffc4d043a3b
d236072c157778a6643c5923b26361fb676791e055ab913838fa1906cd282e0b6f46d7a16acea9519b68b2ab57219555ae135803a36788fb8d3d46f2ce80b74f301bcef5e17de79559072cb4c8224607d87a6839da5013fe9809d8412c17e3f3e253d1f5cd9fbccd8398c7c67b4b4fbd4efda7df0508ceba16dc1bb18c5148ed
d24b2221a47ccc3e234e77340788efacb5f75ee75095828c9666e93d69a915c8a5d43e74c2622f57f89ea5affd3174efcd7f049069183687f51265fdba7056f41fc863c645fc793a66ae29f7a7747b652d1c99a7218171c8beffe546d2cdcb67f6ce95554e829d6228579bd09ee6901c11a9a6399ed2f38bc732dc3f51ee7db1
d26bd5b22233799e858788e39d1e2ddbab001f05bfbce4dbf19f9e37cc7ac91257ceba59983f10eb49e90640c9b967c39a45798fc316e59879e75ceb70d8eb1cd665a03751763f18af777ac4f9102f211e2a6e722d96f6d0695c303cd0785245b0ac94c3d17a738c15cc9f9813221d85aa3f2cd601f96015ca3e3c54ce6e48af
d2a71cccbc813c2d1ef356e4d6678de9867b58cfe0009f9e415bce6effdcdce192b615fd894092941356682c76a4f32338a8f42b9b385f6dddb49009eca29bc9ac3b18da18a3cc1f42b6e4f19210a50cd202f0906812922d26cfcdd51786050e679c8bf135c8d2ed18ba2867471f5111e2c1d1e686ca619e77597c1a102ebb21
d2f0670424991b768d0966309fcfbe063490756b12c04240f5ff1c08e85be22520d2986b4b7eed0771941835440fab78e7869314c2c4d3ea9ac83d7e6755a0e2bc4558066a7e0c93b0ee0173d90a570cfcbf90eb5ba28c2f926a6726ec096fcc0420cadece39f0998371c29fefebae617d28da27f55d80ef54e74a8a25e70e79
d3113447d2df7f9b40efe109f084e4f8164252ccbc8b96636d8fcdd23555080cd4a3a5e24c7031b7ce829e223ff53a4b295b212ac534c51d552ed4376d89e6b19ced67cd5f559edb329687139a368dcf46ccbf06262f2e785752749704d79bd4cd8bacc1ed757b177adcf85fddcb0d6f4be4c95cb12550138faccf95f37e22e7
d32ad85144204f7a7c79e9a23710b67a52b689b0e8c9a25e431084322d3d179b9c4a5ba40710458636ee13b62324c83c74e8f5e251d4cefbcdcc1b82458628a3b311aaee885a80c80b0dfd9d3c987faaa4f7878e958a96917755bf7f749dfc294fcd156840ec8d66a28e138398f45721932c8741d145c45b57a98afa7c957b77
d367bb1f0edcbee3c02d210dc2e5db9f6c2e8593088bd75eacc1dba21e97f7360c6a1c93f901d66c8595217c74eceaa3a2f18cbe2e092b6869282eb597796621753a1ee757d34c6822bf4c7f0f3c7abd6abbe6d49a8de8640355df1112d55bcac1d000ff5f87d377948eee11f305b492b6778628ea70789422b7f83e125d2f3b
d3889af11554e8939e3a86f6e2f441c70b0da977ce17883600b239e9aac758ce6c9fce8154e914f44a7b4e2f7343b92e1d29adf59ece25183af02bbcb226e99706ed1083eaf05a7f31b256a21c9670b1edcf2846d3f43a3210bd3c3c91b9562739eee97f733d39de8427f06d2623af85ffd4bb80d3fe51773b8f7c6ab8f912e5
d3ce4ca281cb926fbe46836ea0c8e8245b6894d41cb38d8f05ee820456694094e01bf06979b12de802960023fd2da355f063e20d0b8df2138be4e37963677bed220cb477dd8aeebb22b7b85b94651d87b1812c00d659848d0a308ac99d87b4dfdede56023bfe3759b0b04c1d4b6b8af899ddba54190dbc0522d9e92b6d4391d1
d47189a2848e8ed1defc167da10c1412303ef1b77751f8f98486147751543d89fb40cfc8afa9f7ef04d0ab9197d38c3735b3d09bf3130785cab0616d282596b7ecdf89af4841c060f561ad8cbf3895becbc8a5ec3fbeb44b4ac0a452026f472fc490f70fc8f7b4393e2d88d6b84ae2526fa064f253628c8df714688d961b92bd
d4ce6e683dcadcd5a20c4ec0d2a05ca23ec1f34457bad9d0eed1d8ce7db0cf5c8225f13cd7d89377cf618945350cac20e6affce8c86e94d51239afedc2f2dac55451819f7f7b1af8f0fd9b8b371d721f6c5847fc5648475f63520205bbbc91ee3f45688a543d53384c35d8525db7719c0e6b048792b520a1de0fd58e7d5818b9
d5b09faeb95bde0ac6673660cfd08f9a7c9eb9b46aea005698cac99fee292ed56ca5116f1612cc5666b23d5084775d31f27589be50575f014d12d2ee8735f715c29a9071920a106893014004fb5f998267b5ecc7f976e049b64977b39c852215da4dfa032cd1193d5e9cde35203234fc165a74de8ce5a6e4553061a69f3ee829
d686db28e46284517e702c3d39629a5da65ad302fe5b45d8bf8fc3a47e8c61917e082f5225719f7f128fbe224fc44a239d67c3e3dd9b2483492da8e9af3bf389fb674c75f75d030541dacce158c9b48239277910159c744dfc02a7883aa962304f20e2b0272658e23690a9859b64d8cf31dc81df7d4b9b86f3f659f279e6a3db
d6bdc47b23a623c5fe9fdc410429ca1f70af7d09ee4ac4bbff0cd59b8d33cc3e31ddde050b3e47c0b02f6056c8779fd9dbd349c4d25ac627464bed6e4f3fdb900951b51e1645fd94b36d8f876c89162bc22e5577be49c5ec6f497088658969ab685d13c71bde0b8dbde72e03ca51c9caa11082eaecad1efc51516b1f0c26c7e9
d75331eee55c78dcd72eef3b12a906ce21bb08564f91ec62f331f911565ced8b6cc0563cb9ad53a170dab2d07b4b04391d70966f2c750b9e20d7affb277f175e0cf09469bd4d36be05692120c2f92d4ed0ec0006acbdf6cc894fb0d7a3a98f2bfe0931be6d163f970cd09b54fcb19fe437e10a33fb356e2fc1878b20c475c7c9
d76688371cb4facce3a90954bbc5319229c7d16b18309397a0b31e71631583cd2e4b40e54bf75fb4d0add8cb7dc8fcffb3221b833ceadb6c33f6e51ec1947bbf7615144ff3d8d5ca8231904f89920ab8c6704f24081376fb9f3121b9b3fbada29f7857690ba7ad0a751312ae5b5ff6de6afb57f4207e2ab192cef88f1a78c071
d77dca67da401c66110d3ea47b635b3e25677689ab4af75b49683f66b29c66003196308edcba0a7848fafef4972c0869895ac297e9f789495efc751e0d29236540fa2202af00e66cd7519c57a701a3b129a97d16538dfcd42bcb10dd7419662a898a6c2567a7e007d97b271fc012f3049371a49b8fb8104beca36b5560ef0cfb
d7e0626cc1038a72ebd7033338795e99223773f0420259420cbdc47bfe9391a31b81febe90ba56afed06b6d539da6e84f82319af340952195dea76122659669196f99f6d8c06d685a79a0a27a6387a7ca107630cd3cc0ce4d9094f15ad27b3dd7cd47467cc69e541089cd4aad39d2e7648937a19c6c6e971870d780be55672a3
d81815f04c7c24cfcc7d3f27dd49fda43f5802ab2e1ea5d3ad8afcd6622e24678cb89781c4fad92e227393c3a384685b05dbad4d012916ba71b4bf8cb62c8133deb097e87e39bfbfc4146ed632a715fd7da68596a98da24ed3e8ac4623762b51c0c36276999416e6990f5ceb7f24e78622724293d4c3e7299043a2af00d412f3
d839b06b31cb3b695494036fb7f4914f989f3e1428163b59dc7bc73d5287f1cce503544e64fc1a7126568a4c64f5e65a273bc5474e3151d0824c9e8c1fc66d25faa1ec4715ac04f81f7bb9503269312eeb3bb0bd44f079dd54b26c98d34e689764b70bbec404f7198a6ce8446dacb5f56ad014aaf27aa85217bbdad00d07742d
d8a3b256b377f1f759e95141cfbfc78c7a034ff8fff65f0804fea78541a745419672b6edfacc4a5c650841e8c8cfba97f6d487408b4264e09b4900bafdd92f0a1ea345a92eab34bc411b5c8a13b2bb42bec1ec12fac48e2cc21a4fec17faeadac6952e97afcce643a9e4ac415f1ef9e7c4846d69ff26f4ed54279b39266fe213
d8cec1c96296f88e831e58d3c7455a774ba73cdb96354f1d3086b500a542bd3eb098625aa3c3d5541c7c118ec785c683f2ba3c780ac03b9e841255f7265d964e230a71b1ce3e211b9784d21af74755a3776d4e9ba1b361bcfe2f545e7e66b7b712b96dba909746ad27e4fbaff04d720551825c3f2237969c9498b8429f135cf7
d99500dbf015195e1483e46c1731ab53b65af86bb74e6ed93829fad5ff8e45dc2230eb1513b3204ab2154c71487c362e35c3a7253937098c31eb348b9d35638841ff30d8c0fe58b9622465d1e3e5ec56746112f6e1903972471d6dc7055321b819c0c72e5618c36d1480b72a5b0c53c157afbb4f20d122c1657f5a6ae189dd4d
d9b6d692c4a30fc8bfa39afaeddcef9b5a5871997699b46fdce84f8d8b7d864309ea32c9699d6bc00727ca63715b5cc0ac97d9991820c6c8b0bd02d21650e5b4a8ae4d3cbab2dd131b1c7a54b4a9947c616df2f9ce375c253b0be5a908265b11ebd9956901422f42262005fe5263b66257d6a6c02c2f5f09312675134ccdb393
da91073028734443dac55488b5a9e5da3978e21a3e06d6fcc8ba817a2e5395bffe85eb4c3b8991bb79bc08545684fedf0600474a67f2631e784ca84d2b54cc530fd9234bbcfc8edcb4efe1ec179f93b7bf5ebea9982c561235b9730ac8562f3ad5172cca0400db5d663d4cc805cfbcd725010d2023ee8402bf6ca28ed83c4c1b
db6c263d0816903c1528d4d6595b7f8374c65977298d73eb2732496b1c7f14cc854800476427a3c88bd2b250702c80af33f44fa4146bc5258110f2f7aad6044e2852b24ec8131ea841097b844ca93201b7c3b879c1bd7055c8412a8424dc0ff43dc0ff76e4f4191faeeb916b6a25c6e3fa18da584cb07513375a590301eb8271
dba4505bf8f27e345f36e347ca41bab9395c140b108bf188105974d323bcd9afdb905bdf97fcb56895ad4cc50671d38e0aa2b1985ebebb9ad4f9d95cc19bbcce82dc6ba8aa80ee6fc19a1cacd8f96ff96d1d18b807e2f63ebcec09f0b8a91c820ffb4b33ec1e59ec7635c2c18a82f4e6704cbe454b2ba6c4543a30526e25435b
dc50ee09c360ff50e1e165706403028b22290b8120fad73bb50962d10c6b3169ff8b6ffafba9ba0940c46718c21001303b72536e588a0fdd763b3c529535c77baa41eadee17657378edc98fc0b260854fd3ea7726731ac72a8d6788b5f3003c091049abe6385ce5a9291df451a60344d260016ffdad4a6365c2f648b8c8ad1f3
dcaa20903d92b4a537bd91420c2a84f23a9797ba508e95b12f422dc5c97b317763a9a15eb35414af30e96e583649b7ab637e0a04fd57f0afc8cb951e23e86f71b6487a08afc9bc79350e45875718224a749f5097d546956e47a4c66ae6c5c1044a8d06177ad076f8b93308ecb11cf9a4d0d564fee47d1169f6456dd132dd2a9b
dccd902005aa1013666a50909b4fb696b973178777bdf6354d9791b6272c21b677120b0a73d682c3c6dd404b9023899e8765cc46024a668b6d0df5a98a40bb4f62e10d200f35fcf8677f8aeaf9b1ab22d68e0ada3206472412b16506ca76de24bd12d22976fa7859ce1f20546b3d97489c340227c63bace2c85c46e7fa66fbc9
dd1353bbb85898102d193ac30a1cc7cdb029ea3bd49f0db5face54d3b21da09e6a719f23c6667e2782d9b25cf91b31b28808644e4ce743b69d4e8ecbadc4737f6c4100f30d457db1cfc9236d7867da15fc2b1339c6320fc8815586c269c947d8c5a650ae0757e0d9ecc8b9443919751d9682c8661ce1ae73a9a0a867427f8ea7
de2f19f673f99191aaeb78aa58f5745e5bb589db19afb40f6f1e390595bf7af3205a945348419a058cfce7d6156ac8ec7cc9c4749900931364b6a8f05553eba2b29179f5d4b7e8f53002961a6244cca3a1fc784a66a1acfd0b781d8117398338dd08c6fac0443cd9b83e563d53b866f62040cdcd16fc82911e5dda1aed8e33a5
df0ac2a415c36d11e07213a095dc5ffe136a3ab7cf1278111018f5769b80dc523acefef8a22d97f89bd85d4926f28a8b1e35b844f25061407522fe2979b9f9fa6d52e24af4be5fddc503b826074ea5ff29a910092fd3bfccf97f69b262d426227e41ad4efb0b786a3199fb1931d1374e30a8e2f87f1a3d552f3e2cb2e2172d8f
dfea5e54e5682b3f97903d836f8d8eec439ab6228ce65c1d7abae0d9d908baa4cc30d255476b9e5de9b2e4cee1460a683ae9ca26c77537a2d067c4afbdabd6b819671ef3183b6ad38721064a5a656024b3c539a77974b595cfd60572dbe1f4ac8e01a8a6f1a9760d0f76b04db38530d9cfe122945dcee9bc3eb4fdd73cf0e24d
e023aede60cec87cd45b326dafddd3fe71fbddafbf664f61779597029504fdd01f8e3e6bd6d7c4133df8df065dd8fc052c77f1368955ef787a4158e8a6adde60b57a43e803915b3612a3ec325b478ecc4f034bae790a992d64245195521ebe3f360a560c9808929f42a97bbd204b99214812c3d559b7a8d41329cbdba7b08fcf
e05bacfcef28aadfefda38e6cd1f547acc3b2d1ddf56d4e16bddc9dd905f6e37a559eabc18e51fc9c1e25bfa7d70ab4ec232df789542faf4bb2ff8cc6c314d1e2531d8acb4a3182cc84c35658da63d14bccdf08c3be8a68bc299df51923dfca79968a630f05bf2072b7672e36527d185c142040e9801052c38b88a080e74acb3
e07e90734318aa8cd150596f039e3a1cba04b1de99354f2768bf37be3611de98fdf0bce9e2620dc8c9851d300468e1e4d0467226d7e311acd45bbabe7d038e565e562dc5c0e7cdd6fa4731c6fe51ad0d41fe8f2bcfa847c133d971ccbe6e1a3db23266a8cb35e394d8da4ddff627b36ccdac47cd1a5b5315c30e1ac9cd8f826d
e0d3d567cac50fd0bcbaf08fcc225dcb5f7df989b1fd72dec275f4cde0afe4595acda3eca98fee4fef70c924e2e00e4638105df14f0bfbd38cf80fe63888d5447c89f3c1fee5b18574e1e72cca8f964117c90d49803da20ddfcde8095249aa3a0b43df35ee51ca0818c418acdeedc6f139f9c60afd095cc351840f190f624b07
e14bd6dcd9c8b43454b7d59a52d9cece8b48d08891bd99acc68b78c84b4e5ee021324285a30510d6043fecaac70f7ec04d069b84fc974684b974ff696dd186cb04fbe4d6ce6b2331dbff8a5eda72dbca325b9e1b7967ee2ffad7a7a70dd64deb923d142e6b0be4606575c1aaba92cc97e1497849ad8819606c4fee2cca0a653f
e15304d2b7712f2aa46a46a9a81f26b53b324723062a23e2b5ee50a43ff25ac3af949e4a2c654205d7429a6d4c6aa0bc77ccb31798ee4758edf41f95b212a6f0aeec32e5285064944a66dc04ac0db3bcebc8384d59cd455daacb4fdc1748bcfbe6009e2abf120baab54a4926abb626c598326962f63a03f9cfbaae78201fd545
e1b34736301cf94cc71266a1cb66acf3e53ee699aaa3d88ef797488082daf1645223e4b91e48c5109242b670640724e5b52cf501d8d48d31685e62af9b5b9fc068da094d6f7ba173342fca1f52b5ddc53ead4f3f926d775535b351311644dc574cd19ead81be1970213c0e6af41cc3178abc893885272bc584078af340ceceb1
e341210c7ab0b8e50850d769804224883ab061c7daf31ce5834843babcf760a3c579dba0c6932797d80ba2de46f7c6d98593dce5ada2fc2a2dacdf86ff9e36b03f671153507b4b85276e28f49c5a2f5f57fa3b7a4ded954f7952ddedb954dc6fb259b16e7ac3207a35e1001b23b9a5816c065276b6a719794e046fb7d9f4b40f
e51a7679d0e2f6dd7c721131982dfbb3ac83fc202ef75157b5611a4af98e84ea460c84a2882c5dac11d5622a1a31224d09b88d3197910a4824fcbb1b8126cf833917994de36562f3ce99ac43829aba52f3866e0995435bbae83287b151c6db7fa72d35d00a70455329555c085cb67af96073fb20d2328aa5fac03316f9c1865b
e5ebf3c613890e6b0bf0ae9b61b3e2deb6941d5d6b3828b4c330ba3fa7bbbb8e4d49ff09e26f4f89a8ef0c7e67039930f393f4e1dc223a724a248f93e5279a65bfec30d4c4805e6a6d9d6bfa42b682563e77de1c9df4eca82c5a8c5757723d9f070820d0a7d37c291630cf789e6b740d2d7ed8519913d9f77327713327ca6dd9
e60fb4b75dafbbfe03f4406e7bb6ef5cf7e623fd48df0dc75d2ba55046dc9581b26a9c0e900875fa8e63cedc005c36e5faa57fa9139317f3c100be951018cd3f4d2f53863e06f671bab868eef74f501552ec0a09ad65eb4cc05195a02745ef09ceb582baef1af832cdafde2d16508a459e5f194a32324ebe7417897592500787
e65267ec1ce6106cce01f647778880404e600bd2ce033edca0ba42522b2f23cb483337e58308791444d9b390fcde70c661050ed1a4a3a632fbbf0887849d813dd72ef3c25416410a503e98d61ccc06ed1d6042c7689eee083bf0124e39a07b6a211df968a462c25eb941af334bed309666961571d50efd044890b260c9df658d
e7e8674e4ebd786aedb38015067c721432ba3b0bce1a097e2b1d25d1c10d401b3be3d0aacecf95dbb86735335149f4482be34270daf1f87e7fe54527c2afe8d3dda1340d7a1ebe16bf4b724cc6f885517e599d257c9db9ecd3ab2c87e42a4952fa9fa134a899ac208be7fd88ae50ffce6faa407a713adfa5fcc188b8925c0a33
ea54ea15b295c49e77da1cab2cc56d12957c10ed680ff898c1e33a21161c9ec344c6cce71e42c33d41f0d5a9eabdff10399ef665c93f1c955721a3127bfe038ee15e1994f84ef4b8c9978d69bf027e823419273130e9f9a4665d6de6f42b443bb14b57d73e02d0e4e177ca552fc12f98133cb090f082646d0745376327d2b9f1
eb2b2f3f45381f299a4cd3061395435e21abc8d5f3cc194c11d0714a852bebd5d0c5af4f1933e989d773b99e74545c5afa2dfa94e1a5ee4291a56c34552a0abdb8b4b61ef6f642a866441edee7350a591fead87708817b95ba571360e0c6b9fb6cb6c67c40b738f88e82b9a3642bbf6c5d7be87988e2e579b7ff597a3df54b2b
eb4fc1113cba29d8b9d463fe2932e90519c773f3ff6ea925e417e86dc665954a519cf6e79f767e035d041a53a0e07ac5af85d70bc0b7950c179c734720ba9fe373c7d1c7f6e1854bd9b2fe4c124250e21c1b942967232ac897119a1f99f787cd945c7ade8aa4109fa5a2298af0dca895e6ab25d91f23954be3369db2d38d30f5
ef2149c65a1ba053db15e300b7c67e1cb134a0f9b3126cc7e779f11d426f8791421158b98829ff81442d57316b3cdde8bf769befbbced014a78638e25f78a4316da95c5e0b05d922f9b6fcf755e69a9309b98f0acf84055751be39412e28e3b5a91e7575f90bb9a9beb858c836295e103e391011920c74e6772fb879431c6bcd
effbf225d942e1e4803e71e288f0c4f927d9df54703c0ec7420f209acf7e79d785fa30ca3ad6c0fcc15d63bf65cb90f4352dfcc93c5039b1b621c46c83b788e81390a5681c7b8ba6b16604bd3f67e0b93604987f06014adc784e83a8bc2046d79299e57c8f40ac1c6caf445825ad0df40a0d40bf93e1236caa9d0cd200b1ca5f
f02143aac208155943b5f13fe93c27fec9f96cf1066ca0398a6713ffcb84bb8e5e8082cc6478649455772d00566e5b03dd6efd24ca26f6ed058c5a8c6f39688b23f56e008d8884c0705455108e20d250f99e89f606dc3bccf84590c265db91f83290ecf81f9d4cb737f4b3f11cbdc98e96af9fbc22cc3b698351ef5c96fab541
f02481699c2cd254eaf209a203a7f26da8a9a3f6144ff105c3053b409d29428fb855f571496fce700ecf324fbb5a0c9cf5f72a0808f6354a9d395c3d079161911dd6e7fc4e9b5ef2def578c4015d084c5ed21f8121965a8f19c75dc6dccd3e2bdff5099faf5d4eacafc0f597c6eab0867e3fc4e743a40fb06e36c6e627687313
f50f571994a292b2ba00ee5350544c40d230ffc7e7fe51ab21d39736fdce0cfcf4583ab9a734080ff92498f419068722ec3a978ae62baf7c614878e5d3dc703691e81ef10cbeecda77f610cd420c3b24ca6a2557a5a527c30e6e668ac714181c831e951ff3f948cb9843748de52714b80c34730770d4f9ccc22bdf0e91337ba7
faa70317af463dd832908096af2b0c67b5d5db2fb55e8de8428aa4436c5f5b3a03edb0be7a1d7cda8fc0090bae1690451800eb6a3f47e06d1a7cbdd4f425615f1c00107a6dadb374c70f84401b8bf834753fc3a7d6c31a50655ccf7fac22a2a61bf18cfb452b8a770289ec82dea8cf703197da50341824c22a8b4ef284a56155
#!/usr/bin/env python2
from Crypto.PublicKey import RSA
import math
import decimal
import binascii
def isqrt(n):
# http://stackoverflow.com/a/15391357
nd = decimal.Decimal(n)
with decimal.localcontext() as ctx:
ctx.prec = n.bit_length()
i = int(nd.sqrt())
if i**2 != n:
raise ValueError('input was not a perfect square')
return i
def egcd(a, b):
# http://crypto.stackexchange.com/a/19530
x,y,u,v = 0L,1L,1L,0L
while a != 0L:
q, r = b//a, b%a
m, n = x-u*q, y-v*q
b,a, x,y, u,v = a,r, u,v, m,n
gcd = b
return x
def read_pubkeys():
with open("pubkeys.txt", "r") as f:
keys = [int(key.strip(), 16) for key in f.readlines()]
pubkeys_set = set(keys)
print("Read in {} p*q pairs ({} unique pairs)".format(len(keys), len(pubkeys_set)))
return pubkeys_set
def solve(pubkeys):
# x = p * q
for x in pubkeys:
# y = q * r
for y in pubkeys - set([x]):
# z = r * p
for z in pubkeys - set([x, y]):
# t = sqrt(x * y * z) = p * q * r
try:
t = isqrt(x * y * z)
except ValueError:
continue;
# p = t / y
if t % y != 0:
continue
p = t // y
# q = t / z
if t % z != 0:
continue
q = t // z
# r = t / x
if t % x != 0:
continue
r = t // x
return (p, r, q)
pubkeys = read_pubkeys()
original_primes = []
while len(pubkeys) != 0:
p, q, r = solve(pubkeys)
original_primes.extend([p, q, r])
print("FOUND PRIMES:")
print("* {:0128x}".format(p))
print("* {:0128x}".format(q))
print("* {:0128x}".format(r))
tmp = set()
for key in pubkeys:
if (key % p == 0) or (key % q == 0) or (key % r == 0):
tmp.add(key)
pubkeys -= tmp
print("Decrypting message...")
N = 0xc20a1d8b3903e1864d14a4d1f32ce57e4665fc5683960d2f7c0f30d5d247f5fa264fa66b49e801943ab68be3d9a4b393ae22963888bf145f07101616e62e0db2b04644524516c966d8923acf12af049a1d9d6fe3e786763613ee9b8f541291dcf8f0ac9dccc5d47565ef332d466bc80dc5763f1b1139f14d3c0bae072725815fL
e = 65537L
message = "49f573321bdb3ad0a78f0e0c7cd4f4aa2a6d5911c90540ddbbaf067c6aabaccde78c8ff70c5a4abe7d4efa19074a5249b2e6525a0168c0c49535bc993efb7e2c221f4f349a014477d4134f03413fd7241303e634499313034dbb4ac96606faed5de01e784f2706e85bf3e814f5f88027b8aeccf18c928821c9d2d830b5050a1e"
message = binascii.unhexlify(message)
for prime in original_primes:
if (N % prime == 0):
p = prime
q = N // prime
print("FOUND p, q: ")
print("p = {:0128x}".format(p))
print("q = {:0128x}".format(q))
phi = (p - 1) * (q - 1)
d = egcd(e, phi)
print("FOUND d: ")
print("d = {:0128x}".format(d))
rsa_key = RSA.construct((N, e, d, p, q))
print("DECRYPTED MESSAGE: ")
print("".join(rsa_key.decrypt(message)))
exit()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment