In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

filter

Get Adobe Flash player
by lizhi 16 Dec 2010
/**
 * Copyright lizhi ( http://wonderfl.net/user/lizhi )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/3liD
 */

package 
{
	import flash.display.*;
	import flash.events.*;
	import flash.filters.*;
	import sliz.miniui.*;
	import sliz.miniui.core.*;
	import sliz.miniui.layouts.*;
	import sliz.utils.*;

	import flash.utils.ByteArray;
	
	/**
	 * ...
	 * @author sliz http://game-develop.net/blog/
	 */
	public class Main2 extends Sprite 
	{
		private var pbjNames:Array = ["fangdajing.pbj","suoxiaojing.pbj","test.pbj"];
		private var shades:Array = [];
		private var imageStr:String = "ffd8ffe000104a46494600010101000100010000ffdb00430006040506050406060506070706080a100a0a09090a140e0f0c1017141818171416161a1d251f1a1b231c1616202c20232627292a29191f2d302d283025282928ffdb0043010707070a080a130a0a13281a161a2828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828ffc00011080190025803012200021101031101ffc4001d000002020301010100000000000000000004050306010207000809ffc4004b1000020103020306030408050303020407010203000411122105314106132251617132819114a1b1c10723425262d1e1f015337282f124349243a2b21625084453c2d235546373b3e2ffc4001b01000203010101000000000000000000000203000104050607ffc4002a11000202010402020202030101010000000001021103041221313241132205511461234271332481ffda000c03010002110311003f00f9b45acac574c840233b9cfbed5bfd964520b3363ab05acc31499de43f2a36d6c95e51deb3b7b9a53674a314fa1718806c876c6d838add500235348581dc74a7afc3a28f3a738f61525a70cb59187788c49f5a1de3561e44ff001a285ce791cff7cea48d1540509863fc356c8f84d88000b751f33527f85da0752221b72dcd06f342c0caf8b39e4d448007b63153dba247a55c86718d81daac2d6d0ee74fa73351b5b407ff004933e640cd0eeb1bf1a42e436ea556468b2464018e5f4a3216b558f52cc8083bf2151cb6f1118d0b8e7caa33046013a576f4a89594e7b51d5fb131c86045d00940a319c1e9fcebae70685d611b302b8d8904f21f33f8d725ecc20170daf27643b1f415d53831b6555fd59ce0024926ba497091c19bb6d9648351392738df39a94f8d2407c8fe22a084784f76e49c6c18e6b68a29149694861b8d3d3a5135c0b5d933b2095d41e4295cb2af7f86520f98eb4c0901c9014640e9ca81983170738dfa8ce6b065ec6c4f315627c5a540df2295a7726e591a4d487c0e0fed2918fe747dd5ba4cc8c63672bfba71b75fca94ce218b894913a7740a29504f3e74374835c962fd1cda9b1e02b684eaee18c5abf7b04807e756b1483b24aa96b285391abf2a7e289991f0cdc56c2b5159150a37af57abd564209bf6bfd351dd7fd94bfe83f85493fc2ded515c1ffa293fd1478bcd0193c59cc23e22d6d21c93a734eec78825c630d9aab5ee181f9d47c0e731dce96e44d7af969e3386ef6794c7a8709edf474db260c0629a47c8520e192784637a7b1365457073c699d88c9309535e26a3d55a96acf43be4a46faabd8cd46bb9a99455be0a8dcc8dd76a0e6c834c1d683b84f09da8a0c5e58d1881a8a43ef415bfc44518876ab9ae4ac6e8cb1f5ac578f3a89e6556c677a14afa0db2422a2906dbd44d71be0119ad24b80bb375a35162e4692b305c2b11ec7147f0ad5dd1d44939ea734a8cea4e334db85e0c5b54caaa25e9afe541c7952cb83fad6a68dca94dd1fd7352b17669d6f11446edb50370e79519211a4d033364d6bc68e63e480024d6da36ad94826a650314d6e88a280648f7ac2ad1535468b96a252e084b047819a2d1c8ac42a00a95577a44a57d8491bab9a1ee25c518136e542dcc59ced4b8b56153a14de5d8553410bdc0a978a478434b122c9ae963845c6cc39a4d4a83cdf0c73a16e1bbd909ad25836af0053029aa297281849b7c935aa019a5fdb15c76727f5c7e34dadc7334a3b6ec13b39264f3207df409de446945afb0881782c5fe91f8559e21826abdd8a18e0d17fa47e15634eb5c8d53ff00248eb6957d510cdfe6a0f5a2e8397fcf8c7ad1958626d46b5eaf57a88b3d58acd62a99429badef1aa58ea2b839bc6a95293ecb377f8697cfd68f93e1a027a84071cebd5915ea221f9f89e13cc54d0de430c80bc831ef4a246241dc9dbdea3eec1dc2b1f7a2a3a1f235d164938cda63019cfb29ac43c6ed6320e1ce3d2aba23c819f0fad6cd6c481a48355b507f3647ca2d91f6aec86cc937fe22b7ff00eacb107fca9f3ec2a9c6dd87ece715bac04e766f6c556c885f3e52d0fdb08893dddab9ebbb0151376a25705a2b55d3eaf934823b40c0e4107c829a2a2b4118c88e427a7876c54db12d65ccfb190e3d3480e22543ed9a864e3372e319400f502a216acc0e15867f84d491d8bb36931b81d081906a7047f23ecee1fa3032711e1d6734d32accf18d4e7a9048fcabb4f0444eec2cb708edb73c5710fd1c4125b70cb583284f77abc5cbc449fcebb0709ef9319fb2018dc69e75b1748c12eda2d9140a8d90571e86b674440fb8ce4ef9f4fe86a083002e6dd5796eafbfd2b6654323161d79731ca89be05aecdd9599f63cd472a5b2a9fb646aec02b1239f5c671f753769238f1cf1a472a5b2dbc7739d61948f12b8382ac0641fad62cbdb1b13d21d0f856155ce2a0b716d430d8503de9e4d0b654cc429037f2cd24e2d1b0be8c452a80c7aaf2a53e8647865c3b1fb59ca318c3631561155dec786167387f884841ab08a3663976482bc2bd5ea851b0ac8ad456c2ac8453fc2ded50dc6f6727fa2a59fe16f6a8a63ff004927fa0d1e2f34064f1672bb88320edd4d436d6da5c360d372a0a918eb5e48d474af611cad468f1325531af05b90b856daac914aac36354c89fbb6c8a6d6b7a36dfe55cdd461dcf723a187534a99665dc5640c9a16d6e43a8a35086ae749389d2c528e4e8d916a502b02bc4d29bb36c528a3cc36a1e45c8a959c2a924e00a08dd19013144ee3a7219fad1c53159a512276111c93b72cd64dfdbc6be390022ab3da1e32f0ced0f76502e0bb1c606790d8ee6aa777da486dc99276388f6d21b91e6351e5f2f4ae863d239c7748ca9bbe0e817bc6c062918e9ccd2f9b8ddbc4ced71205c7324e00ae4b7ddbc33ccdf670d31c9f0428700743920fe02935cf189aea46332dd467ccc44b7dfb0f7cd3e3831450cd92675fbeed558c3a71748e083ba1e54b26ed72b3780b3c7cfd48ae59fe25641b33457b2be3604aae0f9d4478f5827852cbb863b6beff00273ec2aa52c701b1c36768b4ed5f0e74024731b676ef0633f3abaf67f88c335b641d23a1e87e75f2ebf1521755b5e67237571cc7d69af673b7575c26e638a739818e0aabf83dc83c8fa8c7aedb563cf931ca2d7b1b0d3b8cb723ea71206040e62964effaf7cd2beca71bb7e31c3e1960975a14d8e9c12a76c7a10c1863d2a479e4178f1b90de2f0b798fe759b0c773742b5ada8a099718e74be73a7346b64e0f9ec683bb420135af19ccb055970f44a4db52d7386f5a32d50b0dbad689c555969b246724d4d060ee6b65b56f2a9d6d8aad22535d0718b258c67144c49d6a1b75c37a51cab59a6c7e385b301687b94da8dc6d43ce3634117c8ec90a456f89ae41a1208867951fc4977c54102ef5d284aa07332afb1a4d10d3424c9e214cee061297cd8a3c720155d19b71b1a43fa425cf00519c12ebb7ce9fdbfc26ab5fa4589df85db156c0ef573f5a6439c8867a3a0f63974f08887a0a7ebd692f6557470b8c7a53b5e55c6d4ffe923b3a6f044127fdc47ef45d0adff711fbd1558e26c46b5eadab5a221eac1acd60d5328512ef76f53c7cea07deea4f7a9e3149f65997f84d013f5a3e4f84d013542100af57857a8c87e790b4557dcb7d69a585942f90e81bde851244c356a23e5475948a0868db503f2c54933b58b0bb35163024e7c008f5a7167696e147ea508f6cd2c6b80ce1829619c7877a320beee8e24b79c1e9b6296ecd38f0b4fa1ab59db2a82218c1ff004d116d1c2ab858d07fb694b71463ce075db9d7978b38388e2271e628299a562763c213380a3e95ac81703000f614b45fcc7731a64f9d663bf91df1f66d43af8b143c8c581b08700ef819a8c819c6d9f2a9a2b82c322d815e7cc6ff007d190cac245eeb47f1028323cea6ea2ff84e5ecbb762dbf516fb64f72bb1aeb1c2b2d8fd44583ef5c9bb105de56054c8464ede55d63852c9e126d5f18ae9c1dc133cd6a31fc79651fd163801d3a561907965b20514a1b59c8237e47a6c6a080a11b2be71c8f4a93506900518dff2347fea665d9bb908cba9c28207315049a029019dc907655f4a2c8034ec33a77eb414ac859b50d5b1d8f2e558b2f90c883bc91ebd4d27802fed301e7b7dd49ef3884515f292cea3621b1e1237eb4ea77850968e24573b138c9a43c5ae645b846527c43041e439f4f9fdd49974323cb2e9d9c923945cc903aba3bea0472c9033f7e69d0355bec64ddf594b955528d83a7af5cd58c53172659aa74480d6d5a0acd404d856c2b515b0ab2104fcdffd3515c9c59c9fe83f854931f13ffa6a0bc38e1f29fe03f85330f9a03278b39d0908241ea6a6463cfa504fa89c0a2e08d8ad7aca491e2a5cc99b96c9a9edd88619ad628096de8e8adc0c1a54e49702b9b1b70f3e1cd3347c0a4704851b0299c4f9506b9b963cd9d1d3e5a0e5988e79a93bd046dce803279d472ce635ce40f52693f1d9ba3aa6b806ed1f178f8759bcb2300aa096079f2aa471dfd24d9d8dac82d6412cd81b4235636e8791ae75fa66ed2cabc427b48ae7bcea0ab636206d5c7a5bc90073de14df3cc9adcf1e3c115b95b668c38a59becdd1d6bb45db19d1d155642ce18b4b2a857639df00938fc7e954c81e7e2f7bbc798b236270ab9f33f99aa6def1496e4056b92c40206ae63273f8935b43c5aeedac24b68481adb5171b9f91e94b96a1c9f3d1b618941705e6f3b536bc36336f6f16dcbbc47525f1cc8c721b7b9f31d6bb79db16672501df928dbeb8fcaa9f7524ace59c3b31e6714134fa4ff94c0d2726a65d071c48b5cbc72fae9b4a10aa7a74fa0add248820fb55c481b99d2e07e3555174ac37d58ea073152c0d6b330cccc8dea71592595bec6a88e269adf2745db6de641fe550a5e9071de16f2c39fe751a5a3ffe9485f3cb2c41ac491ba61648ca8e8091bd29c930d5a2f5fa39eda716e03785f867134493ff00e9ae0feae5191b027607e63975e55f44765bb716fda1e23f63e276e78671a427304870188c83a0fed0fbebe46b59c5b163a376528fa9415653cc55e380769ade4e0a387df2bb5cdb9d7697224d33438dc007a8e7cfceb469a4a2e999b538be589f5cabb2ecde253d4731599975a10763e55c67b27fa548e3b48edb8b876994e3bd8c0c37a919d8d5fb86f6cb86713c2c374ba8f20db1cfa56c58dbe6272a58671ed0d1edcbc98f5a73616c1546450167324cc3246ae7ee29dc040031559a6d2a2a10e792411ed5e2a31bd6fa856acc31592d9a6a28d028076a210542bcea6435520b1559b9343cdc8d1068796aa3d8ccdd08efc78aa2880a97881f1d4519f3ae847c4e54df26976c02d0336d8a9b883695dbce8663a80a7e35c19e32fb935b91a4e45577f482dff436483f6a74ab0440e83558fd207c1c2d4f59d69b897f950f6f83a5f66fff00e5c98a70bca93765ce786a1f5a72bcab89a9f391d9d3782223bdc27cea7a83ff00cc2fce89ac9135a3d5ad6d5ad1167ab535b56adcaa994c51ff00e664f7a212875ff3e4f7a2529259e97e134be6a3e6f828096a108457abc2bd4643f3d45b90e353a427d4e28c820080e9960dff008e867b64182146de947d9aaea07036aa67771e549f461b442dbbc7cbf65f35959754840650a7f88923ebef4c6789580200cf4daa48235d430282cd2b33b048adcb60998301b000f2a284488c002491e40fe54eed701403ce896c6396d40e4698e52beb0bb49b894af988c9fc6a74fd536eb36a076c2629ce4fa7bd40e46a393557617ced0109148c7d9e7c673b9c7e752adcaa0c2da1c7a902a66f879d42519b3a558fcaa248196ab27a3a176158996d98318da58f5614f2dc8fcabab7059a40541bd71efbf97a5725ec530325907c7854a153b63727f3aeb9c1d2db4c64c049c01b3574e096c54799cf294b2c9cbb2d5034cc835491118d9875ade2f0cc75907cb1ec7f9d416ddc851a049cbe13d2a50477f8553938a2ff00513ec9d8c3e10e8cc31bd05233296eee38a3dbe26c1228b6db9e00c1fce84263562ec49e7c87a563cbe41c41ae5e453a99edc6760500a45c54a978f53679e188c03e829e48b0e752286cec430c6d4b789956b788168844e34904ea3cba93497d0d8f63aec2b2917a1063e03ffcaad82aafd8e3ff007435abecbb8001ebcf1ceacc0ef451e8cf97c892b615a0ada8859bd7856b5906a10867e6ff00e9a8ee37b2947f01fc2a49ff006ffd35a3ef68e3f80fe1478bcd0193c59cf4440bf2a3d23d0a36adadadf32e6981b6f0d7a39e5e91e39c1db004eb8a9e37276ac3c5a09a9ed90360d0ca4aac5a83b3654390714c21dd6a3eef618a178af15b4e07c3a4bce23208e14f9963d001d49f2acb26e7c234c214c3a674861692575445192cc7000ae0dfa4bfd2ac53dc7d83b33219a342cb34ca32ac7900bedcf3f4a41fa45fd22712ed5c52d9c51c765c295b74d5a9e5f73e5e83eb5ce9eed50aa26350e59eb4c8d617cf91d6d3e8efed234e2934f7d334973212cdb96724b1a5c61d1bb3161f8d4f7913ca7c733823719ebef41c923aa696c483cd4e0fd2973729bdd33a4aa2a91ab88533e127cbc343cb730c637463ec6a0b9646d9649236ea356280911c67c6cc2b3ce55d0c8a0b9678253b34a87d6b511190f80893d0609fe740b120e4fdd5ba6a660636463d013822b34a561a0e587491aa271d771fd9adc5a24dba807d46f5eb6bdb88468c90c3f664dc5328aee19c8efe08d64d8655803f5fe78a536c62498ad12ead0878c6501dc0e5f4a75657715d0d136079c6e352fdfb8f954c96faf7b79439c7f96fb3fcba1ac358433ae71dd4bd5718dff2342e561a8b5d1acfc25746ab32c80e7c018e7fda7afb501aa58d41c89829e6061d7fbf953585ee2cf093832447e7fdfbf3a2eeace1bd8c4cb82c46048a7ee38a8a4d14e17d02da7110e8092188e6391fe94c6c78e4b03031b93a4e7fe4555ae525b599b5297d277e8c3f9d46b33ebef602750192a3638fefa75a74724974c0a4fb3b6f667f48d796720fd7909cc2bf8e3cfe23e46bb17653f48f61c52311dd016d71b02a492a7d8d7c99c32f639635752a09f2e4dfdf953eb3bb96165785c8c7251cf1e9fca9ab52df13e4564d2426b8e19f65477ab3a831306077041a2237246f5f387643b7f7160f1a5cb929d09e44d75ce17dbfe0d7d1c63ed491cd81946db1f33b569518cd5c39395934d931be4bba9a995a96d8df5bdda86b79e2901fdd6cd181f069528d70ca8cb6f6125f6a1e47e7bd6af200284336a635230072e7be01af06a7a8c262b370f96f4ad5251c9ab5aba31b69b05bd88bad0acba76f214ca560db0a06e3fccda9f8dbe8049276794e2226ab1dbc5d6dc27fff0032d59d47ea8d57bb6eb97e183ca614ec3ffa2192e8bff6477e1087d4d3c5e5487b1a7570385bcc9fc69f0e55c5d57fe92ffa76f4de088bff00cc0f6344d0c3fee07b51358e26a46b5eaf57a88b31586e559ad5f91a16531421cccfef45250911fd6bfbd169ca925989be1a5f351f3fc3404d5642315eaf2d7a8c87e7a1bf40705036fcf51153437e39a438236f149fd295302c4062481cb22a6585b6c6703c96ae91d28ce563d4beb8932bdc28c6dac65b1f4ad57895ca93a5633a4e33a4ef404101979b4a589df98cd18b613a9f0c25b3c8e77a0e11a63b984c7c5b88e331f779ebe0fe753b715e24a06244f33fab1f8d071d8de4c0a988a1f4a257835e051943ff0090aa74362a64e9c5afb19fd59dff0076a583884b232891c838dce001e9588b84cc33b38cf3190454c9c2e58802aaa7af8b1fca81d0d4a46eaedde1d570d18073bb114c2d24fda32973d4824d07dcc983ae188efd4ff2ace675ce042bd7201cfe34356314b6f65f7b14d19b950ec478b6db3d2bac70496d4c2ba6e4a3038c3464671915c7bb0f958e22ec3776cb119ce315d87b3fada2089730bf3c878f71ceba785563499c1d4b52cada2db66d32c29978fbbf32dce8d5ff00377503975e74b6c6275043c716ff00b449de9805eed8e029c91d7951fa33fb373e2d1aba83b7ccd03731ea72a063723ad1fb8d193fb27a7a9a026902cffe62aee7793604563cde4323d1a4d036ac291a693719b444891d9860b9ce177e469fb9032daa2031ccb8029471c28f6522bdc2291be06f487d071ec3bb0fa52e67557c968f38237e62ae039d50fb03e2e253b2ca5d4427208e4750abd03451e84e5f22506b606a315b0a2146f5915a8ac8a84229b9bffa6b037848fe1af4fcdbfd35e53fabf951e3f2404fc589adedc0c1c512d1ed5e89862bd2c8003bd756db679b945202b88973cab685540db9d4171720673bd2c7e21ddbe01fe95a638e5254639e451633bce22964baa53cce00ea4d714fd327698f10b8b6e1f1346d14419a62bd18ec141f6ce7df9d34edff006b12d9e6f1ea653a22881ddce3724f40323deb8af16e232dc19669dfc47638e40790a2caa3a78dff00b33a3f8fc12cb2f925d015f5d3cf2f756c327a9e54044a96b70b2cc7bd2ea70fcc29ce3e98a19ae34c533fed95f08f2fec5017570d2dab00c415c28c1e58dff3ac51925f67d9dd6bf41f7b76349656c2f55fcc5239ee9c31d2d9f23fcfceb49e42d1a3a9d98743d6862d9d8ed8a5e5ccd8518a44864ef769064d6146fe066dbcebc881b9ef8e78d8d111c409c30247461fcab2b931891a23127490ac7e86a45b712aea8bc4473006e3e544456e8c70e460fc2c4e33f3a363b32ae158e1ff0065ff009ff3a072092028190ed28c00776c1047bfa7ad328a08d81495723a3797a8ad9a02245ef174c84e15fa13e47f9f5f7a2ace32a4a10320ec3963da81b0971d8248ad684658bc44ec719c534b6bdef113bd2255e4194e5d7f3c56502b44ca14103f640e5e7fdf4a0a6b4303874de063bedbaf911e63d2abb0edae50e0059a30508642301d77fa8a85636b79b542e118f353f0b7a1fefe74b8bdcda91240db9e6bcd5c7e468eb4e256bc423092831cc39ef82a7cff00ad553412929125fdbc77f1f894c33a8c838dc7f31557bb8a6b591b5290ebcc74f71e9567777b7748ae8831b1fd5cc3607d0f91fbab17d6c9771057f0cc01eee4c63e47d3d2a2951528d95786e84330745c163e38fa3fa8f5ab558ce8f08647d7136e3fbe86a9f790b5bc8cae9c8eebd0fb7ad15c3af0c5e380e47265638c9f5f2a36af90232a2e0f360e17718c953f88344c376d326237fd6c7be3255b1ee293dbdda4ebe1c0f46e61bd7f0ac348d110f193b7d50f97a8aa8ca517c30da522cfc3bb5179c2aed5a2b89e13b6921b00fcc7e7b575aecb7e96d974c5c514ca9c8ba7c43d48ae0f7623bab5f01d248dc50d6973246f8d5a641cc679fad698ea64bbe4cf934d09f68fb2ec3b4169c5ed7bfb1b88e54f353b8f7152c57396dcef5f2df66fb4973c26ec4f6f2104fc4a3935766ecaf6aedf8bc3aa397ba9b9321e40f957434d3c79952e19c8d468658ddae8becd3a96c66b491f033d073a5e9721883269231cc1db14c9635743a739c72ad0e3b3b30bc746aac719a1d8eb6268eb784f75bf4183402a94d40f9d48b4c5c53b2551884d24ed7aea9ac76ce1f3f753a56ca63d696f695355c5bfa6f4dc2eb220e4b82dbd8b18ecf5bfae4fdf5601f0d22ec78c767ed7fd34f47c35c5d4f3925ff4ede9bc17fc2141ff0053f2a9ea08ff00ee0fb54f59226a47abd5eaf511660d6b27c27dab6ad25f81bda85942787e363ea68c4a0e0e67de8c4e549459a4ff000d0131de8f9fe1a5f2d5968d457ab02bd4651f9f65073028c85415c52b5b87ce1d0e3ceb76ba900d9b48f4037a8ce9a9a437b70aae338c558e22a5063caa842fae35785b57a151527dbaf020fd6be3a8d542e16361a8512f0aa75f3a3937519c935ce05fdd3640b8900f56ac9bcbd28c1ae6e1863201908a178ec62d625e8e9454753bd453b204ceb5cfa9ae64d3b4c0e5887277f11ad4233150a4923caa7c44fe6fe91d065bcb543a5a7895bc8b0cd4125dc18cac8ac3cd77aa6c568195c9d64af3c74a9620630eb1abbe70055ec4817a893ed1d63b0d7d6f731342cfa56393e207913823f035d7fb30f6a8548bf70356003bf9e79d70dfd16e05c5e77c429c2300fb8c8d40fe35dcfb39240630bf67694e763138c8f318f9f2adb07f439f917dd97bb3902a6979414fd9700e71eb45594e931707502a546187a8e54aace6b5c155332fa3458c51f0b849d74162188cf871d45127684fb249e4f147e138008dfde80bb412cb961803a0a62c15cae739dfafad413a005989551ab9d65cbd8510768d14789ca834b6f7b858245fb3b4e33b31db229d5d78234195739cf84ee36dbdb9d26e2f72c2d6411a80798cd290686bd8b8e30973225b7d9d9b4a9df39f5ab3ad56fb1cf335ac9f680438c633e55635a2aa11377264a2b22b45adc55806c2b6ad456735084571fb5fe9a8dce2027c96a4b8fdaff4d4173ff66e47ee1fc28f179a03278b2bd15fa85dd85453f124c1c35549ef5806c13ccd28bbe28eadf11fad7acc5a0ddc9e4e795be0b5de71103911557ed4768a2e17c3a49e5396e4abd58f41423f116719ae41fa47e3cfc438a2dac6ff00ab538519db276cff007eb4ecf08e971ee64d2e95ea32d3e80eff00884dc56f9e677d4f2b12b8e5ff00149f8cceb8eee2395538cfef1f3fcfe5529985bdb168c6647f0479e83ce95df3692158e4819f7af373c8f24ae47aa841416d403712048c8fdd519ffcb141779faa2a7a92df78ade77caca3e5f7d0e7e2db96927ef069729f3c0c48d0b7848cec4f2f2ad31f5ad9c6df71af28df079d2a4ecb27800c0f2e46995b2776352918f22323fa5011a1235c7f10f893d3cfda985a3b0c3460b606ebd694c343058a32b911ec76746dff00bf7fc6a58a2500e0f79072dceebe87cbdeb36c5582946519db0dc8fa7a7e1451858481e05026dc329190ebe4475a5d8d48ca22cb1956c31031e2e44791a1b786558e5e44feae47e60f556fe7454681d5a4b62c154f8e327c519fcc566609728c92aee06e06c71e62a596d59e8d55c12e4a48bb31ce08f23fd797c8d4911601e294028dbe00c8dff687a1db2b4b72f04c88ef871b453743e86a78ee00c029dd9070531b2b7a7a1e9f4a85237995ad40c78d06e473041f23d47952ee2016de65bc4816e2d086cc418a1562a40391cb0483eb8f7a74a567ca96c039d39fd86f5fcfebcc527941b5b8920981eed8692a7a55a654a26785f1f8e54fb35f206888d3861b7b51d2936e9aa290cb699f093cd3d0fa8fefd691c52de4b4b86c393193b1cf3a63c138a48b1b2b1d6a061d0f55f3f955b8fb448cfd31ef10812fa0cae0483913d6aa77092db4e5b055c6c71c8ff5ab4ff9416584eab761b1fdd3e4683e230c77319755cedb8f2aa8ba0a51be48f875c0b88cb4780ea30e9e74c5676913bc89bf583620fed7f5aab10f6d28963cedb329ea3ca9b5b4e005915b2926f9f5fe756d0317e8756f74b38c674480e37e86b13aaba165f0ca9e21bf2fe94bdcb06ef21235750473a9d2e0c91f791786443ba9df1fcc552098cad6e559039ca91cc01d69d700e36dc3788a4c32d19389067191e7fd6aa30dca77c095ee848da597a06f4f4a361b811ca3bbd883b83e5ed470938494902d5aa67d2dd9ee2dad5514a397019327c3203f81e5f5abe59491cb0c7246488c9c6e3746e5a4ff007d2be73ec371a686dc43212d0237873bf779dfe9cc7b0f4aec9c038aa968c060d1dd82573bf88100fcc6df4f5af409fcd8d497679fd5c3e2917cb6218ba9c6ac6e3d694dd285dbad136d701c3383e20c013e62859e4ef1b349c716a4624d3e8d517c23de81e38baaf230790527eea6511d97de81e33ff7abfe934f83fb845b7b2eba7825a8fe0a6dd296f67c6384da8fe014cba57173f3291dcc1e288a2ff3dbdaa7a1e1ff0039fdaa7acf13423358acd7a88862a39bfcb6f6a90d4539c44ded42c829b7e67de8c4e541db75f7a3139529044771ca97cfce8fb8e54049ceaca46ab5eaf2d7a8887e7684933f0b54df6695f0046b8f5345b2d1107ecd5d9d38e3f4c061e1f2a962620c3fd5caa68383c972e74308c9e596269bc7ba9ce2a7b0cacbbd03931f1c11171ecccc08569a351e6b9de8a8bb29a9407b8047ccd3c6d4486c1231cf144236067614b7391a63a785f4575bb2883613ae07f0d10bd9a454cb5c31f40314f7582d9d42b2cc34e36355bd8d5a58fa88847028141c492fd6bcbc2e18c8c17c8f5a72237d39c0c7bd7859b31197503eb53797fc593ea23cec146618dd62d382e76719cf8475aeb7c049550b3da2903aaf41d3f1ae51d9944b7d685b58f889c631d2ba6f67848210619e50d9048271be056ec6d3c68e2ea714b1e571917ab096dc8f0c928f2524103efa67dea8941009c69e9fc4291594d7dabf6994732117ebeb4f3f584e4a9f8403b6dcc62991e99965d9313a8294d9b072450374172c19f3bef9a2a304807de869b4264b1c91e559b37917135057bb509b9e94ab8903dd9291ab918d88dbfad3213a680135807a9d8503752153ab206dcf9d290c437ec7492496ce65043600dfcaac82ab1d8a935dbcb962da76ce9c55981a3334fb6482b7151ad6c2ac037ac8ad41ac8350b239f931fe1a82e3fec64ff41fc2a79be16ff4d4173ff612ff00a0fe14cc1e68565f16715b9988040e7482f5ca9eb56268b5039e74baeed35e36debe85a792491e35e45b84f7772b158cb237c2913b9f60335c443b5df16b999f270d8cd767ed544d0700e2246dff004ac07b9703f006b8b44c6dadcb32f8e56cd70ff3796e5189e87f1515b1c90585677662765e5fdfd695f11c92ed9ce091f418a6d10d3113e5ebcf1ccd2cba42e081bec7ef5cfe75e75c8ead0a957548ea77ce71f4ad628c19173c8a91f751702033a96db913f854b35b682b8db7207e14b6c2485b2c2ddceb1fb2457921f84e3623229d436c2489d790753f5e63f3a363e14cfc3564518d2704f97f79a172a0d46c4b6f0619083a5b190d4ca3b62cfaa3f0ca372a073a2edac43c2030390483efeb58eeda3611c99523e071b67ca85b2f6902ae962ea319d9811b1f7fe7465bcfa061d9b4faf35f63e5fdf9d6e8c1f52ca02c98f8b1cc79ff003fe5ca096270c4a0048dca0fc4557612e035975b09ed9c24d8c83fb2e3c8ff007fd2395b5b646629e3f9e93f98fef7a084bdcb6a5628739c1f87dfd3fbf7a256e96e0f8c689d791f31f98a1a0d726b71189e160ca164c6580e47c981a58b74e8c62b91de0ce9c1db5023f1a61231572082a46fedeb9f2f5fad0d7b024c873bea1cc74356991abe8dedee423f85cc9130ebb1f9fa8a2af34dfc18c8ef14651fcfd0ff007b55701685cc328c37ecb0eb46d8ddb9222208947c38e79f2fefafbd5b4527e983dc11246e920c327318cedfd39d269ed9a39330b807d0e33560bc8c4b12dc43f183baf98f2fc695f7616e1411e063907ca8a2c094790ee177b2c5204b85fd5ca30c31b6aebf5e7ef46c83b990143a90f2f5f4352cb6f2aaa931e57dab6921313771283b8d487cc7a7f7e5e54b6ecd0a1484dc42100eb5dd18641f2a16c2611bb5b3901253e124fc2dfdff007b537963678da2c6ff00121aacdea953e441fa1a6479e044d53b2c30ca55b4becc323e7e54416f16b5030c30c0f9d2db49bedb67deedf68840571fbebd1bdc513693065d2ff0b0c6685aa093b44ada5f5267623a9dc1a998ab2a348da1ff007a822ae2528e7f580020f461d0ff007d6b477cb00c70dab627a8ff009ab29f074eec73eab1b8641bc4aa49cedab2483edc81f4357cec9de85e27650aea316b79a224ec14a1c8fa81fd8ae5bd85bb78a0b984024c8ba40c677e98fa0ae9dd9be1a63851646fd669c6b1be938f0ff5af43f8e5be092f4723f21b629b91d7b853ebb56c9dd866a71cb9521e0776e6d886182a30c3c8d3b89f5460d3f2c1c64ce1626985c23e0f7a5dc687ff007041fc26995b0cb21f5a5fc68fff00738fd54d220fee682e7c1974f0db71fc028f3ca84e1e34d9423c907e1451f86b8f9796cee61f14470ff9afed5354107f99254f59e2683d5eaf57aac87aa0b93faa7f6a98d41787103fb55320b2db9518bca83b6f84516bca948222b8e54049ce8eb9340c9ceac86057abc2bd4443e04125ca3782253bf982451224b80aeec4a63980a0d2905c49e04207abe7f2a264133c58d2083cf2c6aa8f471cd00a8e5bad4a04aa3d5c81815309a7504b4f1b0fe16e54244aeeaa7bb40c31b83cfeea2e2b4925032ca072e59fc6858d8e48fa3413c8f9d4d260ec486c0a9a2902b0512b907f79b90a323e0e4c79128f6d35ba70acecd3103c828a1b4394e8f5bdca29cb02e0e7951c252ea4a4642f90527f3ad47088900fd6c9f2ad8f0d8ca80cf23639648fe540e8d0b514488dde82c7bff09df185146a0f00040551fbe7f9d2c168abb2bc80796b22a296043cf27d1989aadb647ad515d168e04cad3bf724109b784f2fef7ae9fd9e9ca0cb0940c8dc0cd726ec92ac6b7200db520c03e8d5d4fb3f2a443c335cc3c8e41d4b5d0c31ac679bd6667973b932f9657b19f8270adfbaf0ff0023f953f83120caba30d2392fa8aac70ebd42541be89fa7eb1003ec6ac96d2ab8ff0032262540ca9f51e94d8ae19865d9b9555201cec4f21f7546e9f1144d273cdff9512ceca811491e22483434c8ce5d243238ce0ef8acd97b2e24655da0d2fa71e8b49f88c48b1b60e5f070318a66b6f1ac58eee503c8b0a5b7d146194846c06fda6a52ec620cec0b878aef4b0232bc8edd6ada2aa7d88d0925e22e9076381e84d5b051233e4f2648b5b8a8d4d6e28c03615915a835906a10d27f81bdaa09f7b293fd07f0a9a63e16f6a826c9b370a372840fa51e1f342f22b8b472aee4367de869e2d26acb1f676f8aea792dd33be0bf2a47c6209b87ca12e42eff000b29ca9f635ec30ea2137b6323c564d1e7c6f74a2e8ab76b2d4dc706b98c0c830bede7b6c3effbab8071062b731a8fd85d58fc2be94b80b24129382854d7cdfc4d42f1e9a21c925d23d4038fceb9ff00988f8c8f43f8897f8dc4980096ee01dd53472f4a8655f88f200e0fd056d13030dc679784e7dd4545732a9b79c0c8c61b3e5b7f5af3adf2764861b6d4de4c0e3ea36fbc1a32ee10d6eac063c4ac3d88c7e75bc5813c6fa70b2780fcf75fbc8a22e7bbee48ce5586723c8ff2391f2a06c64570056c421518f08c6fe40e719fbeae5d9cb75b886e6d1b1a99750fefe954fd948d7c882ac7df7cfdd563e0576d6d736b3ef94cc7275d8edf764504fa19897344b696a22bd78a41b37848f51b7f7f2ac717e10d1c6c0aeb5077f4f5a79dadb2eea75bcb62b871de6de7d7f33ed9a7d6b0c7c4f86dbcde1cba8573ebe67cb3907e6295f25723d63f4723915e23a5d8b20e47aa9ac348563538322aefe0e63d57dba8ab5768f813da4ecc50ac64e0e7967f23553b9864b291bc27bbcf897a8f5a6a9262dc1a3494a3feb35779136fa97afad05382b830b6429d4003cbd57f9549293bcd6e79eecbd0faff007caa10cae09c103af9a9f3a240505c578932aac8d87fd97c63e46b0c7493a405cf353ca97bc7ab2413ab3d3f11eb5bc37457114e32ac3009e59f4f43e5ef54d049fec9aeadd2e23d0f95fdd6eaa696b24b0c819f3de2751fb43cc7ad3746cae87dd4f2247dc6a395718cf8973b1ea2a26138df26b1c80329182b2ae481d4f5fe7f3a92ceda396f5548d9b3a73d28574d1161392b6a53e47fbfef6a26d27689d250bbab03a5ba547fd1177c971e37652c56b04b6e4f74069751e7d0d56788c530b60a0960875c6dd54f955f5a09ee781c7c42d18c96cca35a819d20f9fcc63dc52a8a096f75c515b86c8dca8a446546dd89a2afc1d3fc459a3403bc285917f887302ab7c76dfbbbb6c8233bd3eb512f04ed000e378250da7cd7a8f98c8acfe90a048afd9548ef106b38ea189c1fb81a745fd8c9923f47fd157e0fae3b8253391b11e6298ca04799233faa277fe03fca9770d9425e4323ff0096c743fa74ab0f11b53632c539c341228d59e441eb4c976678f40acc6589187c719dfdbad62451242c54f880d5ef8a8757d8ee0019303723f88f95487f56cb83e127c27f2fc7eeab2fb2effa32413decb83bac7ac63df3f91aeefc2acd0431f75eb91ed5c0bf467235bf177551b38d033e4c08fc715dff0086dd04970f942acca1ba6d8e75e9bf14bfc0dc7b3cdfe61cb7a5e8796d1f729f695c900699140e63cfdc538870114a9d4ac3208f2a4f05d774c146cafb73e4dd0ff7e94c554c3858c0eeceeabe5e83fbeb47953be4c385703ab6cf83de9571738e350af9834d6c1f588c8de93f17dfb4307b1ac98fcdff00c3417fb3dada31fc22a76f86a1b5dadd07f08a99be1ae3e4f676f17488edff00cc93dea6a86dfe293dea7a4a1e7ab1d2b358ab2183435f1fd437b512684e207fe9da85f4400b6f84516bca84b6f84516395290441726817e746dcd04fceac8796bd5e5af5190fcfe75df6de8b500c6075a482e33fb001e79adfc53f89d88c0d8b1c607e7528e9c64bd0f2dc673d6985b10399c553e34c96cb107cd4d4e9201808c4b7a9a171190c945f629a211aea9107fbabcd3dba9cfda22d8fefd52012c70f20503d2b063008eee6c81d7143b0d1f37f45f8dd40df0c8a40f5af3dca37c218ed9f84d54a391a15f039936e63a7a5170dc17cb3348b80483ab03972a0701ab258f1a518d5cb27033d6b21158659b7a531f77ac9efcebdf70e37a9c4f19ca48c180e675637fecd0d341aaf659782aa4570026ad2412dbf3c03fccfd6ba5f67e531382ba90ed9d35cb780cab713c9a0e16388b1df9f21f98aeb1c0de094e65051b6c11d6b769ef67272b59b7e5e0bb5ace5917518c9db1aa119ffe3560b504efaa1e9b28d38deabb6e910897bb91b48f3e9eb4f228244f895997037032398ad105c330cfb0e6dc2a9d5b13b0c1fce82bc2cc7055b483ce57c8fa5189a446a36075138271415d773239d4cb8cf20738ac997c8b88324721042f7031c8ab6c682be82654258af3e8698c7dd91813ae0720d1f2a1aec2989c09d081be02d290c5d9eec4b05e2774b9cea8c9e5ea2ae9544ec94bff00dfc26ab924a30f101a3e1cfe557a068a2273791b2e6b715a0ad8518a37af56057aa10d65f85ffd35048de15551a988f0ae7193fd2a794f81fda94f1a517360d6a080ce078f71a3d411b834504ef82e3da2b5c52fe6bfbd36d66a0484e9c818007527d28c5b58aced3bad2b33e3c524a35127d8f2a9783f0fb3e1d034769a98939677259d8fa9a2e410af8a7391d107e759f1cf2293699b324632554532f6cadc4570caa235270b1a1c64fef7a0f4af92f89cbafb4571b634c8cded86afa8bf491c51d0adcdb100c4ba1a31fbbd08f6af95f88306ed05d79bb49cfd49ad92d5e4cdf494ad2112d2e3c51dd054d93c52660980e7fab1b7fa48a1cb86840c801e16cfe15177ba5a5e99456a8636cc68a46e094cfa1dbf11490067692f7b62adbea51be398c1ff009fa516f2896d75aec798f4df71f239fba9270d97f552239e7903df7fe66898a72aef193804871f3183ff00ed354d0510b590b5b80bcd4edf88fa6e3e94d3b3d323e5093a0380475d2411b7c8e29159c9e392339183f4a2382ca2df8ca249911b9d0d8e7b9fe740fa1d0e25675bb246e25d9b8c4987b8b66d0d81d576ce3c8ec7d9ab7ec45c887894dc3a401525f143ab9038e5eb9dfee0287e073b5b5fa61862e8774c0b617bd1b63d036e33ea940f682e6286e44d6ccc9711c80a6f8643d463a10472f4cd64abe0dd5ecbc7683ec71d932ceaafb1528dcc0f23ea3ef15cbeeb87cb7b38b78232e8efa20908c0df92e4fddf4ab870546ed45cfda661a635204bd403fdfdd577bfb0e1f6dc35a0112b5a30d2ca06741237c7983b7d01aa52d9c14e367cff00c4bb337fc3e41218980c90cb8ea398f43e949a5b3d4dae1cab7eee3707d3f9577796f93bcfb1f10225665d314cfca64e8ac7f7c0c6fd6935d7656d2ee52f180acdc8e3391fc43a8fbc53565fd80f0a671cee988c3a61b3d2a74e1d25cae110be7963ad776ecafe8e239a46fb6209a33b6db8c7bf3f6356c4fd0e70d8a51716334b09e7a798154f5097457c515db3e5bfb2cf18eedd5d5872d4b8f956f0a48321936f23f957d6cffa3db4784adf2473ed8d410522befd155916d56c11a33ce275dbe47a1a0fe52f68258a3fb3e609626049d2573e9b1a802e09c6d8d8fb7f7f9d7d1d73fa2db5ee5a2642aa7e161b953ea3f3ae5bdbaec35df00fd7a21784ec4814c8678c9d153c3ed0cbf435c5835dc9c1e66187532441bafef2fe7f5ab4f0ae1b2db76a789c1143a6d97c4bb6dbee07f7e55c4ecaf27e117f69c46cf2248255957d7fa1008f957d3bd9f963e33671dfd91cc1771ac99ebbf43ec723e54ace9c5daf63314b8a6708fd2b70ff00b271bb5b950024c8c840f351b7e5547ed35fcb7dc4bbe971e282350072c0503f9d76cfd3bf0e5b7b0b39481a966dc7c8d708bf01bb8d5c8a633ed915a34eee2999f53c742c438575e877ab570eba5bde1df6698eb65040cf9ff7f8fa55477576cf5146dace6de50c0e0120fd47f4ad3256638ca98d610b1cc22b91aa1ce1bcc0f31eb455e589b37fb2cee195903c528e4c0f5fad41deadcb646c7a9f2a21e532d98b79464c593136790c6ebedb7e35234d5309f0ed0c7b377edc3efd1a5182186fe7fde2bbb707e2a2688c83043316183cf7af9d2d6e91c776db9e9a86f56cecd76926e165523612424ef1b731ed5d4fc66b969e4e193c59875ba35a88daeceef15c16955633a627d88cfc3e447955ceca6fb45ba03812a8048ae55d9de356bc4191d64018f435d0ed278c188aca3bc236c751e5f8d7733bc7962a58dd9c458278ae32459387b18e655e84edfcbf1a0789e178fc05b9e9fce89b36ef244663e03cc75cd05792e7b47021f8746df5ae7c57ddff00c2fa3a241fe527b0a91b6151c2311ae3cab790f86b8733b78ba34b7e6fef53d436dfb7ef535290e3d5eaf560d590c1a1388ffdb3516682e247fe95a85f4402b6f80516395096fb20a2c72a52081ae79d04ff0015197077a0dfe2a22232b5eaf0af5110fcf24b4218ea2a7a72a97ec7de6de11ed53b1556c31c1a9622a58e4d43a714ba23b4b1032be020f98a3adb83472be4b0047a568acb0b8791f4af3c9a3edaf6d90f8e6500f5cd03b1f051f66b070785a5c3956f714c5b815ae3c879018a08713b15981fb52edef470e3dc372435c8047f09fe540d48d11963f6661e036498d9ce371e2353b70cb309830838e5939a13ff00a9384a8c09ddbd90d43276a2cc83dd4733e3f840fce876c82f971af6186cad97658940f6ad5a18a3c044007a0a567b451be488828fe239fc0509271d9247f8913d027f3a25162a59e25d7b36337570bc81848ffdc2ba47674a60f7a64898924395d48dbfa72ae33d99e20d73c62c915b993a88ff0049aed1d9a7528a9212119739e7bedfdfe55b30f1139d9da73b4741e196ecd0a95b8888e5d455921132c0aacc3010f26f4aaa70aeec4602be7fdb563b62c17fda714f874ccb3ec35d53492fbb6b39c8a06ee4f13009f751ef2735f363424cea4b73ac99bc8b8024448075201ee3142de3785b64a62190839fc683bd10e990104633be47e4694867b06ec8876ed083de31558d8e3a0db157c154aec64a1b8bce821d2ab1b1121e7cf97975aba5143a139bc8dc56c2b415b034628debd5ae6b04e0127a55a4df04a21be9bbb89b7c1208149239bbdf0bbea751b9c6031f4a9afae47da57bcdd33f5a9bbeb46bf8a1508d3469de11e649c671e43f3a664a51da99ab1e3dbcb40e634b65cee5dbe238d97d2aaddacbd4e1d6e6e4c98c0277ab1f696fa3842c304aad2b7c6c0fecf5f962b80f6efb4678bdd35b43266d2338c83f1915cf9bdd2db1e8db8a16ad88bb55da59f8adc30872631e55cbf8a83fe3cc4ec58b0fa83fceaf53401bc50b0494798d8fa1aa37694491f1459197436c719f4c53b1249d01aa8fd40e76cdd03d1d08fbcd42ac63739db0c1be55ace48d071c98aff7f5a8e4273f7534e793a398a473e4c187d6a69d8a1c28c846dbd41fe9f950c7c78fe35c54c4891118f5504fe04d40d225864c4c093b118cfa743f9517c4729711ccb950e038c742363f43414d198fbbdb62363eff00d699ff00de70e200cc883581e78d9bf9d031b15e8bf70fb949b864531cb2b2aeb51cf618c8f50307e551dc5bcf772b5c5c60bea2b211cb5730dec462977604bdd5b189587809009dfdbf03f875ae8b1f08d30ab68236d0ca77c8f2f96ff5ac9392833743ecac57d9d337089dc44490ff0012e7e25e847a83914e789f6860e1d686e19f5c39d2cec08456c6747a923618ea4648a8788c096562ce580eefe172718076dcfa7f2aa170eecc711eddc5c41e29e48ada0565b388ec9238e6c7a0cf5f539a908a9bb60e5c9b15221ed376f6dee716fc3239a784b0c12ba46739d8633e7b669bf6278b719e297080472a5aa37c45b0c3cbfe2ab1c27b31c42df88370dbab6b880875691a44d931d46db93d3f9577bec8f676d2c6de24b78447b0f0e738dbce8f2ca308f02716f93b917cec64062b45691b5330ce797fc1ab9c432bb6d483845b77483da9fa10100ac71e429f2cd25518c0a0e55da8a95874a19ce6aa4828ae00a68c38f10cd21e3dc2e0e21692dbdcc61d1c637156461ce83ba8f2b4baa09707c99db5ecc3f6738cb44c9aed2504c4de60f35fbe9bfe8abb6b270486eb85bea9a28dcbc38fdd3cfe59fc6bb0f6f7b371f1de132dbb00b301aa27fdd61cabe68863978576955655314b148629548d80f3fbeb6e392cb0a916feaed0dbf4a9da9bee3bc6628a64eeac910945e659b964fb035ce3883fea202790c8fc2ba1fe902d82db41205c4a58ec2b9bdf9fd4a03e64fe15af0d52a32676edd81ea24693cba7a54bf1407cc72a85719dced44a2805173b1e74e66437b2b96825567c943e171e629fc4556408e7c320f0379ff5a45dc8d4549df39c7e34670e9c27fd35c9fd5fec39fd9f7f4fc285a093a09e236aeafdfc7b3672d8fc6b413c80072356473fc699da4a240d1b9c38e59e63f98fc6a0b8b5682567830a08f1c646dee3d2aaff006157e897877149a2759219e58997c8d74decdfe91a781234bf449d1794b1ecc3deb92c91c4922e970aa40233d33ebe55b8efed5d640354677cad3b1679e2770604e119aa923ec5ec8769b86f1c8556cae033327c0c406071fdef4713abb4d1ea39f0e3efaf94f825f5da15bbe18ee9247e23a7638f51d7e55d87f47ddbe8b88712b7838a958ae70aaacc7627deba9835519deee1b3999f44d7da1d1f4ac470aa3d2a47dc7a54303892343cb604548ede0c8dcd72f21a711eb7180de59a9aa284e5323cea5a521c7abd5eac1ab218340f13ff00b63469a078a7fdbfce85f4440b6ff08a2686b7f84513d2968206b8e741b73a2ae3e2a10f3ab223615eaf0af5110fce68d54b603303fc544a42c0e439dff8b14435b14e5230fa54d0dbeac0691c8f97f2a8d9d08e3760e6df3210c5d87a9cd47345ddb0e9bf538a6325a94e523fbe68eb4b18665fd682c7e555b86ac57c1579b46a187073ebcab658b6f09041f239aba59f0bb224eb80374de8eff06e1e0656d937a179120a3a36f9b288903aff00e9372fd9c56523997711301e6d8ae81158592aed6e871e9522dadb29f0c118ff0068da87e518b45fd947b733231eee35dc78b5006a792da794ab776a31e4bcead93247a80d0b8f2031514c060606054de17f1d2e2cd3b13c37ff00be40eda97402e00ea40fc2bb176726091812c61a12319c608ae5dd9d609c5109381a5beb8dbefae99d9490f75ddc72ab0234b2bf235af0bb8987511db34740e0f7366134987273d4d59a0687bb0d18382a47307a521e05676ed1a36a746c0c8c75ab4476a8ab90d9ca9c6d8ced4ec6d53324fb349b3bb28db579503302598ef9c74a3276209033807340dc23b36ea46475acd9bc8b87463bb6246e327f8c5097d6e7bb63de206df233e9532c2c5f3de2afbd0b769e165d6931c93a42e9c63a82798f4f9f9d210d5d9eec3b06e3176016256223d3e2157706a8dd8260789de033191c4792a130abb8ebd6af028f1f284e7f22406b6151d6c0d1ae78126e37341dec84828a4e3a91534f32c6ba46ec68529a816a6ca4b1c7fb1f8617f6624e2122238ef090b9dcf3aa471c987f8bb5cc13caac80047462a463efab771a826943681b551f88f09bf98b086367cf9563d93c9e8db09462edb2b5da2e337d2f7805ceb771862c00247964573d9e30f70c6459216ce750e5f3ae817dd9de24ac5a6b77d3e637a58fc3de27c3c67e62a7c4e3e872c899598a09d645d41268ba95d8d57bf48b62122b7b98c78492a7f11f9d5fdb83aaca65804911e7843b7d2abddae41370f92cdd5a59d80922eed7718603c43a73c7a9ab8dd81964a50a672b98ea8f39a89d8e856f31cbdaa62a46b8cfec9fbbfbc540836743d0e4538e6b44e87e139a9e142629067c292633e841fe542c470ab4659b9766451b3919f7154c64077f626bce009220cbc67181efff00158ecc44d713144f8be35f7c6e3d88a77d915ffa79ede438ea33d0ff006051fd9be0ff0062e2026040d0db0c731e5fdf434894ead1b618ee98eff45bc1a5b7e3d751bc24db31c02790dce9fa8dbdcd7666e0e3b8645cf9826ab9d954863b969139c8003ee3273efbd74db1844d0838158672dcec64be9c2393716b29bba9ad590ebc784e398aaaf64aeaf78758db4564846eddec85480a751db7e67dabe81bde0d1cf82546b0720f95562efb1e5ee0f3284e74e70334519b8a2b7465d94db18ffeaccac5ae6f243f11dc81e5e957fecfd9b44aaf36359e9e55bd8767d2c97c312ae3c853589446067a52e4dc9f25b6ba439b460168d1212b4aade41d28d8df20514417124735131a90e3151b30aa6591b54120f0ef52b115139d8d0328577f1865c8ae1bfa65ecc234f1f17b65d2cc3bb9b48e7e47f2aeeb76752902aa5da6b55bce19736eea1895240f5e63efa9096d958497a384f1885f89c5c3b5024aa78b6e6797e3f85735ed4d8359dc6c0f761c8f63b5770e1bc388ee95c6445b213d773b9f6c0fad527b6fc2c49c1a46032c43480fa86247ddb56fc3939a13a885c6ce5718f163d28b55d518d8641e7d450a84119ea060d1509d2c037c8f4ad8ce7a272b92a7a91f7f2a260b6efc1c63bc5df49a852361cb753fde2995a45af1a41d78c83d685b0d448adcc90945756d23e1f35f4ab04061b9031a7491bc679a9f31e94145189974ca3438e4c45652d19183095752e74b01fde450da0a8def387aaf85b2a57f648dfce9669fb34840c88db9a9e5ef4e44eeeaab3b07206957073f2f3ad67b72f1e244f01e4474a9744ab008ae24b59524b59ca0cf8586d83d3eff00c6ac76f7297d135cc310471bcb10db49fde1e555996d7ba565047767e95270bbe7b39c4c807791e35293b3798f9824531481aa3e9cfd087e91e59ef6dfb33da09c3bbc7ff4770fcd8e7fca3eb8e5edb74aef126c3d2be219023c76b3dbcef1212b3dbcc3e24c647d43003db7afad3f475da3ff00ea9ec4f0ce26e3172f104b81cbf5abe16dba038c8f42289cad722650a768b4db6c8c3d4d4c390a860f833eb52ad0228cd78d7abc6ac868680e287f523de8f34bf8a1fd52fbd0cba2221b7e4288a1e01e1153e6961025c733429e744dc733429e756446c2bd5e1cabd4659f01b80fb0e7cf6079549080ad869235c799c62b5679586d2b0c6dcff2a899259374264239914b3d0fc314c32468d86ceadfe9c9a2ec6544421986d4a562900c963a791236ad97bdd7a6372dbed9daa9a0d638ddd16086e238dd892401e9ce8bff0015b5034b3379e42d573ec977291a9750f315aad936a03bb3efacef43487a8d748b11e2b0a03a5246dbcb15a9e2d1951a57723382695fd9240406f0823ab13f8d170d98233dec191e63047d685d21d1c6986a5ec128252290b74c9c0fc28d81d5e30cb68351ead9a54218836a7bb7071b2c71e6a58c5ac3e38d2576f36403f1342d0e8bc70ee87961ad6ea1120405980c0000c7ad5e3b2cd1c818ca84a96f890ee2b9df029e4978bc20c6806e77dcec09ae87d9518ba92346eed8ee011b1fef6ad9a68d479385f93cb1c9916df45f386dbd9ba8cdf4ca7d5338fa55aed0c510887da8311c8b6466ab9636b74140ee6dc1e84b0dfd6ac30f0dbab858d596dc67a86ad78fa67267d8d2591446c5572091b8a5b7736a90ec01c79d1b0d95c40a04b3030f84e91f756d3a2cb79a64528a89ab24e35018feb5932bb9171e10abbe54382c011e4284e212adcc3dd932119d5be36f5a6927d95b2517a73a5fc47ba313148416fe23d2923111f63ee8271331997c33a78502f872396fe7806aec0d732e1335c47c621934aaa89575004018cefceba5e704d5e27c0bd4469d920340716e20b66d0264079338f97fcd180d5678dcc9777e62917289b2b03b83d6b56255727e84455c9218c373deaeacfad1f0b654ef55c84c966ba89ef233b1f314cecee432800e456453dcdce46e6a9520f962423c58c7950b2a460694036e78a82e6f429249fec508978a1f2c7dfda98f56ea900b1f3c85258abe3528c6f435c707b7959c3c48518732395136d7c010bab2c363ebfd8a99ee06180e679525ea1b1955d152e23d94b4b9bd595077512ed88f0335c9bf4b9c3ac7b35daae1fc422b93099c430889a4f0aa2c9aa462b91cc63c5b8d8ed9208efcd2ac6c06d8ae3bfa6a8564912e21b28ee269d5629cea2ac235d58c36085ff3080c41c12a07321a966b745ca2da38476f382ff83768ee9220bf672dae3c1db436ebf4ce3e46aad2a957d58f7ae81c4e41c4edad62600b427ec4a1980d5a4e06fd3d7a0de9076b7b3b75d9ee28f6976991f14720e4cbe62b4c21271ba33e47152abe58851350381d7356becff0f84219245cb0279d55d1b40db7db14f786f135365ddb3699d7a609d43e5d68649b5c0789c53e4b75abdbdab6a91d6346e4c7afa51c38e7026523ede15d464e952718ea719daa87d99b74ed171f5838bdcba5b06de35db51cfe1b531e2dd8be25c1b8d66c2232412cc4dbc8af81a4f46ea314a78e3ec63cd37e28e95d97e38bde2bdbdcc5736f9c77b136403e47c8d773ec85f2dc4487564115f3af647b21170282575b833dccd8d4576518df007bd757ec2deb4374222700f8803596718df03f99479ecec52db831865e7e943988b039e74670e97bdb75e44e2a49630b96154e222e9d311dcc6ea3d294ccfa5b7a777e65752228cb553f8ac977139d50b7e34991a31f2358aeb7001a3e2ba037ced543ff0013746c302bef4447c636dda86c6b89776bd50373509bd563806aa4bc48ca71af03de985a32c9b860c7dea36c171a1e89813ceb767da97a8f0efb1a943ed8a1b00d672307d6abbc5980563e869e5c3673554ed25c7776e7cf95441c4ab5ba016aedef8aadf69ac95b872c581811e3eeab84717fd2aaf2d8522e3e018640796314f83e4b9ab547cd57909b7be9a2e4558e2b30ca01d320dbcc74a7bdb0b0c5f49226320fd69020eadb1f3aeaa768e4c96d637b560000db8e841ce4531855be28b0c06f8e44525b38e46da220b791eb474770d190240c8e3620f2a16824c7115e2b615f018f256e47d8d10c524c98cf76ff00badb83f3a4e5e37525c0319e78df1eb8af233dba82addec4796f9dbd0d0d16987381b89140cf91e46a44322a661275630e9cc30fe74224c268c942587220f315b44c15d492741ea2a208955d5f7239f9f223c8d07731777203a728eba750fba9ede70298d849c42dceb11ef346bcc2fef7b6f48d27019924f126c0fa7f7b53250943b01494ba1f766f8803c3bec1709a96393bf4cf507665f981f757d03ffe1af899167c7b85349a92268ee2204f42aca47bf847d2be6ae14ddc5e5b990e17500c4f504e09fbf35ddbff00c3a208bb6fc523d44afd971e8d87233f7fdf42d96d7d59f4ac07f542a61ca87b7de35cf2a9f3e7468cc6d58358cd78d421a9a5dc54f813de981a5bc50fc1ef432e8b46b013814450f072153f4a5a080ae399a14f3a26e0f88d0bd6aca46e3957abc3957a8cb3f3fa68c91bbb9f76353dbc40c64ab3a9f30c4506d7aa41055bd7956f0f118e35d8313fe9a1a3aab273d86a2332e967908f573445ac281c0f163dcd2d4e290afc48ff002153c1c5200e4959303c97354d30e3979ecb325ac46319046dc8138a26082209fe5a9f7a451f686dc20531cbf4028a8b8e466408a8c3ccb1c63ca94e2cd91ca9fb1cc7144bf0c69ff8d6d281d140a4678fa83ba0c79135b0e3624188ed5e43d349cfce876b0be54fd87ca326a3907871ccd4097333b6b30baa9fe1e5f5a316edf04045c0db39c0153a256eec9b81c6f1712b79a542220d839d8ee31caba0f02466bd0f11561a49d0c7079f99dbeb5cf9257efa266fdf1b03eb57fe178fb5c4c9852d9043723e9f756ac0db8b39dad828c934750e126e23876b594e7190d083f99ab0b4ae2240d6fa0fac4571f306ab5c39088d7fe901ca839473bfdf564511772baede551919f11dab6625499cec8f92612b103c40138c66b12162de128c59482031e5f3ad5e052bad5882b820e4e6b122b03e170723deb367f22401e581d22256485069ce59b6e5425dc5a0aeb9fbc539c984648f2a29ddb49d31465c6dab4649e5515c3dc3a7844687c8f2acf63515511a4972c520790a927c7b6f9daba9e49dcf335caedda42f2996f847b9da34dc8f73caba96acee391aac1cb656a7d1adcce2dedde43fb236f7aab45e29998ee09cef4d78f4de01083ea6944071ceb56797c78f6fb62702b764f7ae56244539cb0351a092342d11f11df1d0d4a8bdf3a93f2ade77556c0183d6b97297146d429bbb87655931f0b7894f315e13098b81853d47500f5a9b88686f10015bf1aaa716e251dbedab0ebf0e3f0a04db748628d8f4de342f92fbd6b371d0872cfcb7e74b2cf855f5e5bacd3868c38c853cf1eb465b76718302ebabdc575b07e2b2655ba4d2473f37e4b0e17b7b60973da39a56096d1c929e9a149a43c7fb3fc7fb476772b25bcd6d0985c16fda3e1381a39b0ce323192396f8ae9bc3786b5ba801703d2983268c67f956c8fe331c1f2ecc397f3126aa11a3e5be3dc2b87dc767efe6ecff00129c5970f8639649ae9922b890e64b79020c8ca30306436fb74d433d4f8af64787f6fbf459c39f845cc5737315ac6b15c842baa48d74b0391907208dfccf3daabbfa448adb86dfc769c7f89db25bf0db49afb864115ba8225d4c63c939382e492a72a046a06751ae8dfa267e23c19e6ecbf1fb2b4b5e2489271406d1b31ba4d71202348d90860300123491c8834e49413465cd3724b227ca3e35e256175652ce9246c92c0da65423743eb52c36d25c402e6cd589070c146ead5f48fe9bbb0b0da7141da4e1f6baede61dddf423e16191963f23b7aae7df8ddd5a4dd82ed4417b6d10b8e0b79c967194233e28dcf9a9ea37c61873a57f16d6eff537e3d429c6d7626e0dc34dc451dcda9d13ac87bcfe16e7f9d74be076ae584b7533ccd8c2ea39c7f7bd3b97b2d637360dc67b3b19fb35c47df3c44ea78f1cd723e2037c1e7cfcaa6e07c3b50563cab9daec12c0e9f4ce9e8b2c32c6d7683ec6d895cb0c67a795116ac6cefe3906c15beea776966163e5d297f17b5d2a4ae750deb96a46decebbd99b9efa14dc608ab0c83c1bd72fec1716cdac618f2d8fa62ba20e2118833a81a6c5af664c9077c1e9934a96271e555be2532bdd476e0062db91e4291f6c7b5378d742c383346b2023be9dc6a1103c801d5b1bfa519d9ab690299ae2569a6718676e6695276c6c62e31b666fb864538c0897df14926ecd1625901157f8e2423e118aa5f6ff00b5b1f06b2962e176e6f6f718d2a32a87a16fe555b091949ba452bb4d38e05dd47282f34eda21890e5e46f203f13d2b3d9ebbb95918dcc0f039dc02739a79d97ec6dcacabc67b47235c719b8519126316ebd1100d80df27e5e55719382c251084191d6a4952a18e697023b0be673a49a681f233515c70a0936b8c608fbea68a22a30d4929b441313a49aa576aa52f3c310ead93578bcc2466b9cf1193ed1c5647ce557614510a24c3fcba47c6a2d503ad3e8bc63d3a503c622062240d85322f909a38d76a2c865f50dbad51e6b568e465c64676ae9fda440ccc8799aa55ec5a5cd7471cb830e6873620865ee24656c8c751561b2b986e220922a48bd49fce95ddc0af1b30033d7d3d682843c4e1a224303d29bd99e99657e1f01398d88cf22a791a5f736d7366f90b95ea71b356b05cbe9d6a4edf101d3e5465bf1323f6d74f5046d43c84e22e8e40642c0946e7ce8b59772afb373f7ad6f6de19fc56ea2293f741d8fa8a098c919224d8afde3cea149d1d03b25c6d2159209878db299276742b82a475df49ff006fad576eb868952f64b3248b74ef34f9a13f91da9759dd15653d473f514dedf39326a2a8ecf0b60f3565d87d722b4fcce705097a0562e77220e1c125b1818f3d2727e79fe55ddfff00c3c303db2bc97000fb1e923d752ff5fad70ae10bff004d6ea7000c93f51b7df5d9bf423c41386f690f7a8489a16c91cc118fefe559945ca5486a8b71a47d456bff006e9ed52d2fe1fc42d66b7410caa4003ad1c1d5b70c0fce9ef1c9768cb2838f68dab06bd5834340982695f143e24f7a66694f153fac41413e8b46f011815313b50d07215393b52d040739f11a1bad4f39f11a1b3bd17b291203b57ab02bd4459f9e42171280083d73815b5c5bca18007aefa5689ee107241ce8a16f1b439d00e3d2aace9a827c0a96de4d44e7233cf18a2a2b79c00ea14a8e98031f3a3ece08f3ba2e3da883047de8fd5afd285c8386342d4b094e962a8030dbc60e3dc5112dadc82a14478079ed561b28620c0f771f97c228f68d5080a8a3d852dcd9a6385515286d6e5ca97d640e8ab47ac37406911dc04e631567e4a34d472b6d9cd0ef6c6ac718a128d6a0830c84e7ae3f9d4c249500d1146a7cdb7353b905c9276f3a1ae2e218f1ae441f3a956539a4bb0be0b24cfc6ecbbd972a651b0000fa5745e1a559ad8beca642ad81d37ae4b6dc4f45ec0f6a0b48b2a9538db39aec9c16d835b65817d173a48071d48dbeb5bf4b1b8b472b573fb26743e190d92e80bc49a2d8675ed56268513468bcd67200df7a43690c7f624de7031800a06ab122821583c83ae4c62b6b86d8985cad9303a10e4eb381bfa5625998f884409036ac8c28c1ce3615b5e312c815805008ddcaf9f9573f3f6321d00324b221668e5d860979b4818f6143dc80212cc205f5793593f3a9e78e3c6ef6b8c0dde42e790e4284ba6863b73ff5101ce00eed062b38d456e2891a690a42ce37f113807e75d2ade5c5943236d98d588ce7a0ae75123892457660ba882acdb73ab635d8ff000bb38e260418539796055e8e3ba4efa44d574882f24334ecc4e73439c940a06f9a91464926a454d4db52f5197e49d978e1b5512db6a4193b0ad252181a965388f140cb95048e558e4db1c90b38b5cf736f27dd49fb0dc08719e38d777635dadbb723fb4fd07e75271f9b284736f2f3abd7656cbfc2ac2d2dc45ae4f8e451cd9cf3fe5f2ad5a385ced83aa9ecc4d2ed8e16c496395007b54c2cc0e94c22ef58026d1d7dd97f9d4c11cf3871eed5db79d9e5d699be45860c0d9683bab691b651560ee5ff00fd34ff00cbfa567ecedffe9a7fe5fd2a96a288f47291c4ff004afd9c49adb87f15ff00068f8a711b6b844822111779064b6918dfcf63b104e7074b2d57f43b7567076a781c7c3388dddcf14e236929e310dd12ca9a5329dd9236c3ab61727c2e4d7d09da6e1cf79d9ee236f02a09e481c46c175156c6cc07520ee3d40ae0b6261e07db6b6e076fc5ed2f3b3d6d7b6b7d2dc18505cd9bae9545f095c828638d9c07063d676d2d825994ad8f8e9e4b1ec6cee975691dddb186755656c641deb9cf11fd1bd9dec57fc2efe359b86dc6258c05c346c3201523aa8240f43823014576316e3f87e95e36ca7985fa50c354e09c7d3063a5c91e99f2a70bb4e2dfa31e349c238b627e0d3484dadd7ecb2f967a1c7ec9fcaacad6cbc3af1444755a4c3bc81fa329fe5cabbdf11e0f63c46cded6feda0b881f9c72a061ef83d693717ec7d9dff011c3a1cc5dcef6ae4963090390277d27911fc8506ab2c7518941ae51d0d239e1c96fa7d9cead240c82b4bc896446da971fb4f0ebe96cafe3315cc2da5d4fe23cc1e8688fb5861e95e76717174cf44926ad00d9dc3f0c99d947818e48a2e7edcdbc2a51a620e3751934befe6428738aaaf1189247c8c0ab8f3d96e3fb2d5697ff00e2324935b2695d45b1d493cc9aba705e2e96d67aae090a3a7535cd382dec7c2e205c6a63c96a7b8e3b2f14630daa2971b0553803dea6d76458f7f7d16ae39db2b9bcba8ac6c034492b692e3928f3268ceccf026b396eeeeeee45d59a10ec0823bc93a2fa8cd63810b54e06b66f0207907ebda450c55bae3d7ca8ff00b5f7ed15ac185b688f85475f53eb46a972c8e14beaa9166b0d7304695b537c44e3a9de983014170f204431468db734a6ecc4fb0692205b7a1278801b53172297de481149cd0345959ed1dc7d9ed6439e42a8d1464f3e64ef4f3b5b781e54841ce4e4d2bb72a77e5568d115489a142302a1e229ae323a014477aaa2a1989910aa8e9568bb39576a54c770fd32702aa17b1eac79e2affdb6b6eef0c790aa6491e54922b7637c599e4acadcc0a120d2f91195832139f6e756ee19d9fbde3dc456d38740659720b792ae799f4aba5d764f84706b16b49516e2e2407bd9a407390bb08f1c867ce9dbe890d24b2728e6762a921019b395dc2f43f3af4f6f1c6cea1719df3e758beb17b2bc020276df04ee3e74c6d6f21947d9f882673f0be318f2cd595b1c7868488fa1b416f01e44fec93f9549262581bbcf8939f981ca98716e1691d9b6827048c30df0293c0cc1bc47946d93e78ceff8559966a9d1ac2da595339df008ab1d8309784cc0ef22e8231e61c7e47eeaac4ab8f126c398cf9d3ce16c3b8be19f0b4595fa8a22f1ba18d9858d5029cf8ceffdfb0abdfe8f19e5e32ef116fd52803efaa0f0d6ef122c0e7802aebfa2fb978e6be942ea6691540fa9a08bfb1a74cae48ef1c36e2588a9527270081cfdeacb6935e2ef21d2bcc0cef542b7e23231d402a8e47271eb4e2d6fa42033dc8247be2ba30cd15c3374f0397a2f36dc42753fac6057d76a630f118dce0edeb5cf8f134192259338ea00af27195d58d6cabe7a86f553c9865d99a5a0dde8e942547e4c2ab1db2be7b2589d0672695c1c5b07c123823cea69ae92f63d176038c733ce952c309afab32cf4338f47bb35c6daf6e9a17182073ab4b1aa7f04b186db8899a1986823014ec6ad61f2b59658dc3b32cf1ca0e9825c1dcd0d9dea5b83b9a1c1a10112eaaf5460d7a8c87e7f477caf9c8d3ee6a51c49631a71907ccd2e113018d3927deb736ee146a071e75291b14a7e8631f1411ee2327fddb0fbaa65e2e588cc44fb1a5621930340fc6b3f63b851931b007ae0e2aa906a593d0dc71f9e33e08131fc44ed5b9ed2df498d222cf969a530dadcbb616266f61bd109c0efe56cadbb63d6a9a886a599f44d2768788b301deac63d105412f15bd9d487b9948c6da4e28c8fb3f7e1943c607aea144af65e65504b281d466aae282f8f3c846cf230065924dfcdb9d6f1c6acc3218fb9cd3dff00015246b23e5450e190c0a34e7deab7a2d69e7ec078742f2dedac6b9d4cea154f53d2bb9f07bb3a6648c6ad7741c639fc42b92f0a8d63e2768546e264dfe62ba4f0d2a66942e55d1d49f4deb461c8e29b42351056933a7f0ee2f76220a2220107ae3ad592d3885c48be38dbd76aa670b69ca9019f38cf837cef564b43305075ca0d0bd4cdf0d8a9638a1d191a4521934f2ad2e22854e5dd46467f1a8230ec082ee797c46a4ba566914ac4876fda61eb4994dc9f20a5440cd648a4f7aa48e406e7eea881b536aec2d0ba36c7526d453198478fd426dd3a5037d22a40fde4e091fba36a10d15492283be9175b1c3637e66ac36c57b9896318554000f9556ace78e79599549dc9dcd58acc16e54b864d89a5ec7648dd58c635c2e7ceb74000af7ecd789012b3b6524472b64d0d732623393b5492365fd29371abaeea1619a5f6322ac8384dbff89f1f0cc336f6a3bd7f2273e11f5fc2af505d77134720192a41c557b81da4bc3b84448b0b35c5d832c8d8f873c81f9517143c41546c73fe935d4c11d91316796f91723c7fcadfeaff00d2a36ed03f4b75f9bff4aaa1b7e227f7bff135a35a711237d7f4ad16846d2d47b432f48631eec6b53da2b8e8b08f91fe7554fb05fb7ef7ccaff3ac8e197846f263fde3f9d4b44da59cf682e0f5847fb4ff003ae07fa68b5822bcb285ac82adc5cdc5cadd59dbb34a1e4757d04aefa4b07ce412a5b52e70547561c26e0f39c0ff007d22eda7002780dd5eb5d2413dac65d27089298f043038718c6a552771b6727496066eae89b516ee09db31c7783daf14e1f7045add29740caba9704820e32320823624514dc76e7add7d00fe55c97f43cf73c46cb8a70cbeb792c5b85c88bddc90988a19359642bb8e6a586e7671bd7411c162eb71f71ab5245ed4346e39375bb7fa81595e21733a922e26d3d4ebc0a4979058f0c5124ec65723c29cbe67d2aa7c7f8f5d5d46d15b931c7f080a748add8b4b71df3e10c860791f01bdbde35c1e7063b89669f88423c3345b941fba49d88f4aa3daf188e65c248351fd93b1fa52fe21218cb77601908019c8dc9aacdf5bcb2ced8186552c4e32761fd7ceb1eb31629f1147634f8658955976927673bd017d6f2cc99889571b8355db1e31736cfa26ccb0a8cea7ceac7f7e74ff0087f1cb6b96d28fa641cd1860fd3afcab913c5283e073455b8a4dc6a7ef2188470484e9d78276f4ab6f63785b70c8ccb7b75dec8400c14601c79fd689b8eeee541d23579d03f66d32785dc7a03b5529daa65e36a3e45bc715691bbab7208fde07a7ad3ce0b280405393d4f9d53785f8401a706ae3c1e2d95a9337e8acd937708bcf0e932a01a6a30cbe9482c240a1698fda428c6685181c790991d40a41c76e845131ce300d13737a00624d72ff00d23f6912245b28dc99a707201dc2f535696e748663c4e72a12df71c82e6fde5ef51941c039db15abf1b87608fa8fa72aae58c36d1db4656de362ae50ea50339cec7a8c63634ff83885a3631c0a4a8c3e95008201391ebb1a7fc691d0fe2bfd865add4b72c342923aedb53d8559930064e39d2dbd9ee6dd50e93a09d402b727538db6e5e9d7347dabbbc2ae857bb0a18632c4023271f43f4aaf8d04b46bdb12768380b71547896e2088823258e719e476e9ceb4b2ec4707b1547be9e4b961f10621003d3039b67de985dc524576077a7bb47d2cc170349fc3daa45456b76472a2465d4a09ce1c018c0f70c28d70a90c5a68479a0ab63656d69241c321b7851942b041e16df04e7e2ebb8aa5f6b9753a5c11fad2c751df6f4fc47caac7de8db25555d34f840d95bafe1fdf341c7bbc9a32a42077519c7ef0d8fd773f3a28f61ca292e0e5fc4a2d77f92398a827b7cc4ac00d4015dc7af5a79c42dc06590e39e09a5d39126514955ea69e99cbd449417f62b82f9a36eea53aa262469ebee286e2b0082dda48803acf3f25c5497280b67015472cf90ac40e6551038f03838f4ab4731fdb81533779005db63b1f7a2f85484cc8bbff009673ebbd41730981de30b92871f77f5a2787a68b1e217247c11155f73ff3440a54c63c32526066ce0956c7a6c7f2157dfd1e42d1daf7e57c0d303bff00a7fa8ae73c2ce9b588752b9fb8d74fec9f7d6b65046df0b80d8f338de9537474b411dd3b2ed0cd210a13724fef81b6773cb7a362965456d4da58139cf2fc7e555def584ca2301c0c641d88e7f5a666e5a68f0356a19c3f2f7fef9d2ad9dbda398c9705d5d49cefb6ebb6de75b472697462ef83b9c3ec697db3ca517bc20bf3561b6797f7bd4f6964d73708583695c11bec28e29b64749167b3281034583feada8b594e09718fc850b008e1518275636cf2ac3cf9c83f08f4fefcab5ca4a0a8cad6e2696e195bc0d4cb8571c68dc473b6a43d7a8aaf3488096236c6302875391a90e34f3a4fccc5e4d3c722a6743791645d6872a791a881aab70ae2ed6ec2298e633cfd2acc8c194329c83ca8b87ca385a8d3cb0ca9f4482bd5ae6bd56663e0d2a32318a288061e541879000595080798c7e152fda5ca60220c9db6e5f7d01db8e2a248c0005396c1b541b72a491bbb63c2327a7ad1305cdcc672c22d03903bd531b8f13417604a4fceac16d202bceab7f680c81b42ab798615937ce069412ffb681ab344316df65a19bc43cea2b8907ae690c334b2b78fbd2079b516a092db803d77a0aa344706e5761683bc3e1fc6a57b26623548833d01cfe151c3df150157e607f3c510d16842f72da57ab31e9e5436c7474d8d79194b3b78407019dc6e0b1d81f6abcd812b25e36081ad79effb55435bc8649a2821d4dde305c818033ceaf96671f6d0dba139cffbbfad69c09d36ce4fe4de34e31817de112b020c6b938fd96c7955a6d167310f0c99c795537852aac68da9b7030319cd59387ca4aaee3975a0399243c8c4a3e25c79d4974d02b2ebe78e409a0e3d58cedca883938c96d872150503cfdcb0d46298607254c6696dd184db32a5b4e4679b30069bdca811f862c64732734a27ef6794ea651b1c280141dbdcd4432257638247906948e300630a0558f87c655403cc6c734b105f24a8f0c76d1819da53ccfae0fa8fa536b0ef8440dd32b4e7e22bc8d63be07cb90f27c38a8a46012b058e6a099fa74a06c148d2e9c229de915b4478a71db7b73bc40f7927fa47f78a2b8a5ce846f6a3fb156662b496fa51892e4e133d107f33f853b4f0df20b24be3859672e438c6d5932b799a818f885789aea51cb37323799ad0b1cf3ad49ac1357459e6635e06b4635806ac86f9deb59834904b1a3e8674650de448c66b04d7b356438a7610f10eca76e2d6db88f16863e192c7258dcc12a772b1c9146346862487d44a9041c82ccb800a96ed735c456d6ad73330eec0c8c1f8bcb15c9bf4b36d67c02ead38c35bc578fdecb7505bcc74c4251a03f78063521ca9ce415f16cc1d8ab5e177921e169c1267267e0f1c36922cac1cb0eec1470576208fc0d69d1e25297dc6e3c7bdd1af12e2f3712bd95e4f086e407403a5208ae0bdb4b23364ead23d28be29750d9ab12f990ec028c927d073a450dcf7364567f0bbb972be5e9f4a76a33f3499dbc3876ae8de1b56944f34d8d4bf0e4674f3fbf1b506f6e1229a40b82ea541d3bffc7f2a6f6532cf6ee060ee0e31f7d7a5b6575c0df1f08c0c8f5fbab9d3ead1ae2bf6545ad0872a762c77cf966829ec41c315c1e593c87a73e5d6ad8f64a5f7c671ab231cbfb150cd68198a90b9c60e7076e5f4fe46b35d218e099515bfe2360408662e07ecc83239f2f3fe54eac7b55048563be8cc4e76d4371fceb5beb0d4a4052069f1161e7be36e9cc9f702ab1c4ad8c58620919cefd473a4ed52ec4e4c55c9d4f83dec32e978a4474e8ca722ae9637e8230148cd7ccd6d7f736570b25accd138fdd3b1f71d7e75d078276c498c2df23230e722292a7d71d295930bed19b65f476c8b89042306b7978afad72aff00eb8e111e7bee296d19c6e19f07e948f8d7e952c2253170756bc9cedad8158d7d77dcd29619bf429ec4fb3a5f69fb511f0fb3662d9908c2a03bb1ae457b772de7176bbb96d4d29c124f252318f972ff009aaec9c7aeef273717f2192563cc7203c80f2a3a2bd8e45f17223e95a218b61af0ed896bb5756b69f56e32afcf7ce4e7f114eb824aa26b846f0a9d2e7c8ae7076f2c13d3eb54cb3bf58db0f8646183ea29cf0dbf48ee94b30649018cf5d8ed9f7e556d1b6324d17e450f67a1b0581018e079153b63f86a3e199eecc4c0ea8d882bcf1fb43d7cc7cfa543c36e96705548669430d25791f887df9a9a0711dde851bc8a180f51bfd3dbea4d007e8938822340854e58295d59c608e473ed8a05e59222241b3eceb91c8f5dbe4c3e629acba3b86507515dd324e76dbcfaa914b4230792373e05f12e3f67a103ee3f2ab290baf231ad911c686c3a83be01df1f5cff007bd29bc9709ac1200cb31e9a87c5bfc81f953f962c45e16ccb192775cf84f303d3afb1ae67fa46e306d8370e8b5092501e4c9f807f33f97ce8e2ad88cf9163839314f10e202fef1d20256dc31c11be6a02d1e4a8234aecc4f4f4a491dcf7510d3b6d8cd196b6d35e4491c634c39d45ba7f534da3cf4e52cb2b23ba9036a6031183f5a0e0987da598e748200a2358956ee38f53f7711609cb461d46af5d89f99f7a0208896c9c80db29fbcd1a42ae9847145f1ab27fea8c81ea36a6f0c0bfe02630a354f96dba80714aee519a1b20a34b80cdf7ed5654884222424e948c018eb9e7f850d8ec50dd22b762da24895bf615723f1aeb3c30e2085704aa8c72e59dc7e75c8a43dc710287a654fd4d750ecd4ef77c3a3d07c58d04e32063cfe541346ed034a4d16fb450304a82c3f6bd7ad1f12ea63e00757dfcff000a8787594848591b63be074dff00e29d5a4490a01e152a4ae0fa1c1f90c8a051fd9d8dc6f636259bc43f5671b114d91d2243a41181b9e98a0bbf046148fe1c746df1bf21e218f63509be5126437eb03f840f21823ff9114cf936aa88b6afb194970a720205c6db743edf9fad06f75a81208208c72fefd2973dc8ef0aab051ac0031cc0c7e5439b812305c9c1049349726cba1aac849c0e552231546e433ce80b694954cf8765344ac80a8e43cea14d18b8f803f2fcead5d93bdfb459b42cd9788fdd54dbc91ced9d874a37b217623e33dc83b48a7eea641d18b5d8f7e27fd1d0ebd5ecd7a9c79c3e0a784a81a924d5ee08ada0eed0feb16627a631fce8fbb0a1537076e94315c9db7a1eced3c8d3e0996556f8639079ee37fbeb78edde7202838e78276a8e0d9b07228fb293449e238f7a17c743639a4fb0492d446fa5edc3123008931f9532b5b0697051150796bcfe55b5d61dd59771cb228ab599131a9c67d4d0b1b0c8d33cbc3e44390d181e4466a6582555c77e401d00daa73711e9c89133e418568650d8008cf2a58ff965e991857230667ff6ed43c91aebce4b379924fe352cb3a47b92cd9dbc2b9acdbb45336e9260756db3f2ab5c01294a5c364564da3885bb9562a92063a474ae8301922927e4ca750c8e9c8e0d52dfc23c234a83be062ad91332c97122bec0e738ce3c35a30cad339bac86d68e81c134048996dd936fd96241f5ff008daad9612a6570ad9f7aa8f01ee5aca36ee6780900e84f129f622acf62eb819773e5e2a519e43842a570148dc56ec595869206479d408c31b13cc6c4d79e52ad8c0eb8cfcea0a23bd9ce00d64e074a5e44849d034fab3fa56f7524ae700e011d286eedf9926a49d70362b8165d3cb1de15772ebabe00c40f7da9df0a7cda9f004c3918049fc6944b1a1b8919f906039e3a531e1cd188a458b180dd3dab24bd8f6b81817d8f9d07752e06c6a4672179d28e2370155b7a5fb2e3120113f14e27159a13a58e5c8e8a399abeaaac68b1c602a200aa3c80aaef63ed3bab492f641facb8385f441fccfe14f59aba9a7c7b23662d564dd2dabd1bb1dc56c4fad4258e4564b5684653626b04d4649cd78b1c55a2cd89ac03519277aca935110dc9ade24323616b1144d2b00a2b4e33c4ed782da9d72a895bc3b9ebe43d69f8b1df2fa0f1e39647b6254ff4a6b0cbc2d1218e17e21092b6f24a819632c3c65bc2d85d23c59182a086ca960794f05b9bfe1b2359c2b6acd2bb9b994b400a872c62670adac90c5d3c4300320070c805db8acd7dc558ccef25a423c712a928eec3752c46eb83823073b573fbbb2b692ce2e0f1dd5d5adf6516eae2384ca3bc9016223d455554b8c953a48d8afedea0cd956eb87074ff008ef054878b6c226ef647335d30ddf901b725f21f5a0ae91a42558838db1e544703bfb3e36b22d85c3ba42be341956d406d938cef823a75c8145b44b909a405dfc0a371cffa6f58dc9becece36a4ad0aec59ec6e9597743b107caacd8d510643e0619001c64f95269e252efc8e0904f911f4f319a3b825d064303ea18059750c67d314dc6ed6d2a4a9d93b42002c71d49f41e7fdfad0d710119cae756e173cf7c000e3cf6fad39650f1018249e849c0e5cfe78fbea2921e44e46ae7cf96c37f23f0fdf59727d5d0d8bb2bf756eaf1b001026e4b9f8720647b72d67e4291f16e1e2789f483bf43cc75dc7438dfe62ae32459d0482fa9b3a589df7e47d0b7fed0297dc42ba34e92748d8b609627a9dba9fa051e749b09c53547189e0921e246295749ce01f314ceea64b4e1c66739c0d883eff5ab5f1ae1314e9965d454654e37cff7f8d503b5819234826709bf36cfe5ed4f8bdd47373a7822d955b995a799a57605ddb96390a6b6bc3a450acb939f4a5a80c93655b5003c3c8123963df7e43fad5cb81dc44ca11c0d7cb71ca9b275d1cad241649372038e1980059483442968941c630361d4d5952059478002dccb63dbe5d47f62b4ff000a124849c91e67ad2b71d98e16ba11c3249a71cf6c0a2ada69c4b9463a7cbfbf5a79fe16b1a05c00cdbfb0a2adf85ac301751b9048c7a7f52285c86c713439ecb7177668833e1c306619fefa66ad46468482598989c8e5d46fb73db1f71e95cd2426c788c5a58852594fb0c0ab85af102cb190f9ef14231f32075f97e14125ec7c5fa2d51ce03a9df42f21cf50c7a7a1ff00db43df845f82422489f0a7f9fb81fcfca81b6bc5fb3804872011cbcbfa13535c4dabc5929a974920f3607fe284207babf8ade212331d00127dbfe323e42be7ebe964e2fc727989cf7d212031e4bc864f901815d6fb5737ff006b9e251f0ef9073cce7fbf9f3e75c5edaf45a7101a8784641f43e74fc68e57e425ca8be896e6dfbee2cd691be638ce338c74dcd5aed42da492c2a31005d4a1bf77183f9d577864d07ff51399082b26e84f2279807de9ef119c777e03fac8cea033b95ea289fe8cb863149c909e72665bb582413aaa37783bbc18c77a3653e5a99493fc44547676cacdb64e9240cf2c0f2acc4ced0b9962425502a98c0c0df38d86e481f753ab3b7fb25b6b906257ce07ee8eb56dd18eae5608d16abc8c0e4840f4fef9d33b890b346fa4aaf219fefca84b656fb6af9f303eff00c0530ba5f00d3ba83919f4191f7134166dd32e1b2a9c69557883326e037e201abafe8df8aa432c96d39f092197f023e9f8553b8844cb7ac9fbcbb0f3c7f4adedda5b3922957208df3e6289f2818378f2b91f43dbc8b16239724000139e9ba9e7e854fae28a6becaa31df57320f5d24671cbf641aa1f04e3c3885a46da877a8b86cf3e9fca997db1d9d003b004823d7fe4d677677213535687ff68190cdfbec47b6bce2a237aa348033839249c9d80fe54a22d7a9b39c2824e7effce883149ddb93fb099247cff95530e82d183956d59c1276fa54b0a9d48cbb831e77ea495feb51c368c80460630aa3e5b0faed462c210f840c60649e9ba8fe5545d044321df563903b7b1fe952eb5c6c33bf4f6a8574e0ae304a73fa5433c9a5748cec7ebb55a024477570c4f3c0ac703b93171bb320ff00ea053f3a06e67dce7e943d9cc63e216cc3a48a7efa34272ab834774e62bd51dbb17850fa57a9e99e5a51e4f80d994b1c023e79ad833019c328e87511475c5a490cfe171b722057984cd1952c08f2c1abb3a1b5fb205935b0cdc69c72f172af16923620c991cf25ea78612db0d23cf6352ada9ce0919f6aa0945b4038d7be406cfef1dea78b62352b0503f78d39b4e1a301bbddcf4233451e168cdbb9dfc8503921d1c2fb1459a079012428e80027f2a6cd6a1976965cf9050a07ad1d170c86251a59c7cea492dd1400598e3f7989a5b76698c36ae40a38d14e0939fde66cfd2b2b3ac72060cc40e8073fe54432228f8568795d5412d803d6a25646e826c6e5e5e23691e851134c8086ea350daaed180649f2006d20e57e75cce7bcee1d2485d44a8c1971b9c83ceba64655e697bc3ddb3469c8edd6b462548e76a64e5245dbb2b148f62bdc5c044201c6bd356fb0b3081750563fbc24aa27652558ed51658c36060372cf91aba5b2da944601c13e521c7e1497d8b90e56301b1800edb06cd4578fdcbefd41c647bd6916909a97381eb50deca4ca9bed83d7dead71c8b4ac85a576034ab1d8f4f4342932bb0d402ede7bd169348554aa83eb8ff50a0a56d00b4d7491900783ad2fb63a285b7eb8bb75ef3a8cd32e17a63b79346776eb48a02935db3b2cd21639e5cf7a796f848881198f7e46b3cbd8ff00544f34b84a48e8f7d7f15aa7395c2fb0ea68fbc9404359eca2a0bd9eea42be01a133e6799a2c30dd22a72d90722e08a914691c6004450aa3c80ac6450725f443ff005107cea23c4edc7c52c63fdd5d64721f3c87b1dc5673b529938b5a8607bf8f6fe2a8df8e5a0ffd64f91ab2e8719ac13485fb416a394b9f6ad538fc1238542c58f218ab49b250f89a2aced8cd9663851d4d43c2a0efe017375aa283191ab6269671de3eb2b1b2e160bc83c24807429c641623a6d4f86351e6468c3a79657c741bc778f45c3e25b7b4532cefb2e81b9f5f6f5aa3cf14b2cab75c4645966ce5539ac6339f99fe2a2709012492d29397998789b97d06d8f5a0aea425f208550719cec36fa7ecf5d852f2e6e383bda7d34712a40b7d33ba8f227618dced9c6fb9aaa768156c2daeef5a5458a7963790c84e432a95470749234950dd01c1e58156a9904c80a36a46006dfb60f21b74c1f9fb543227ead4e86665f1285c96d43041183b30236c6f9e58ac4e4dbb63b3625386d2a26f2ee38db8cf0fb6b382d9cc36b842c3becc84848ff60675b3606f95db0a748b13aa8690a9398cf76d91b820ee0e473e5b7427d2ab0f68f22c5c3a5b28d2d67924b8b44915636684157092a0d217506d45412a76d24000d19697d6b63c46e9640f6eb7379f67d2a31124e17c2501f161908272a3c4303237a13369e7b293e98d664d4a460a81ccfa7a73ce3a799141c88209d2645d254f3c8c93ff0039f7269aec70a1831cee00191d33d33e58f33415c47abc5e2db7e5e581b7981903df342a74ce8edb1e0749638e41e20cb8001e79e7533c6ac46c32c7190396c727db1abff214a3825c2888c32e069274e08c0f41edcbe54da26c9d21572072241192473fb8fca99996e5b85c78e08678d5149442011a7c0be437c1cede1c20f5a5b708416ef06029df048cb75fbf4807d0d3b90ec420058693a895ebb8f7c01ae965e45a630ba1574af877e5b6c36e9824ff00bab20d456788e0296e67aff7fdf4ae61db19bbeb8521163890e81336f96c8c850399008cf90f715d1f8aea018796c2a85c4f8677897734ea0b04616ece8fb48343776174f89d848be2dc00cbcb634fc4a8e5fe4e758e857d9de1b24b3ca1648e78e193b9ef106a524ef8d59e588c91e7bd59e6eccbbe2488699339ca8e746761f87abbdbdc08a489de32d748c463bf56642718cae072079166c6c6afa96aa0104730abd3ae323df04ed5273a656830278ad940b2b5bcb7c2cb0b382df10dc1dbad3e89353691a97f641c6e3d7f13f4ab5a58a1424a9c6000719c138c9fc6a68ac559be00300019df7206ff0056fba96e5674631da557b8d6e58753800ed803fb153773215180485519c7be4fe02add1d944aa085072a59463279647bfecff668b8ece12f08d3ab27191c89271f91aab0ce61c4f87bb6a04785142fe677f9d2def2eedd3482c540c83e55d9a2b089e15255431c1391cb2acd83b6dc8510bc3add44e3b94caeac7833b0d3e9ea6af702d1c8f86f16b803c68479edb645395bd924b768e10ccc9860a17273e47dc62ba44361681c1ee225562173a3aea2be5ed5eee235890888290092397ec86c7e3caa596b854ce4579c37895db9616b22c6dfbfe1ce7cc573aed8f65aeb874cf7613542cc750073a6be9dbd8a3d12a85055188dc8db046df30dcaab7c53865bddea49a3055c6e0ee33a48f6e6a0e2ae33daccf9f4f1cf1a67cb7bab2329c11b83e4455eacb895b5d7071234691cea843ba8dc139191e7bf4adfb6dd8c7e1ecf77c3e366b42753c78ff2f9f2fe5553e1724e97718b7764903028ca7041073f220807e54fb52568e1d4f4d37163ab6290d9110c2d0167f80ee42e76dfcf73d28a595a49d54f28f7c62a096e5a796e3ed189257fd63927073ac127e79cd4bc3c19388e85cf8df1f7e2858b8ab6156a8efc5533d597e119200e7b7cc7d6ac0d6aa5412a40d87e5f81a441847c68b395555752496d23e20482473ce08abd7d9805923030d823ee2390f4c50499d4d1c3c9140ed2d948b0adc40b87848623cba1e5ed45f09b4878c70a40b85914654f51ff001f9d59388db094386c61971ed9dbf3fbeaa1c2647e0dc64dbb1c23e0a9f3abbb4165c6b1cd49f4cd40bee037b892364c722478585749ece710b2e2b0ab4122090a8568d8f894edbe3cb04ef52d98b4e256805d2ab8230c8e32067c39fa807e748b8a762a5b79fed3c119d37cf759cb26d92079fcfda81b4fb1d0c72c5cc3947408acd5b3a8e0b2f2f2f7fa9a636f683770aa011e2c721befbf5eb5cf781f6a2f6d6e12cef9162997ff00d6057563d71ef57fb5be5ee8cb25c2311be00ce3fb39fad03546a8cd49051842b06551903727d3fe0fd6a291551948006a18381cc8f33fedaf497a012508c2b79e4f9733ec695dc7114d631203a72c37e64ed50b08ba9446bb1dc2e397b529b9b8218e0e73e5e75acb70d2118cedccd0dddea7e67cea14f923f1cae464926a7b3899aeadd3ab4aa01f98a216211a1206e46f46f63acffc43b4902b2e628b2e7f2a34273c9420d9d7a25c428abc8015ea980c28006c2bd4f479593e4f842f3895ac926a4738f63512de425377149d3017752d9f3a902f26d000cd16d367cd27c8d61b98d5810720d4e2ee3d40ea14982138d3cfc81ac08e4d5939cf9d5516b2c97a2d50716823003961ec2b7978fd9a9035487d976aa9e1b382a33ed58eea67dbbbdc7a50ec433f9393a48b53f6a6dc8c47048d83cc902869fb4d231c470aae3cc934923b6b838d31b67cb49a2d3875e48322139f44c54db145fcb9a44878cddccb8ef34367f6545032c92ca7f593b9eb9634ca3e093819910827a934445c15546a91b2d52e28af8f2cbb165a2c8d32247e279180c81b9f9d7642ac420d4b9d1a4e791e55ceade18ede48c81f0906ba2cb83129072a549c8f951c1d81921b68b3f63de48ed3bad2ef08390a1b047a11578b768b42feae41b5507b1b771c6eeb23488f9f0c8a7e219fc7a7caba2c574a631fae076eab487d9244a65544f0e54e4541717121941d7d08dcfbff004343cf3b396df392bcab1720f791920e4a9cfd5aaa6e9503144e0930a0798a8c0d81cf56ad223146f88d43b9192eeb93f4a8542054ce4e7039ff001354d6d200c04630318da94c6a174867d406b6d39c6397ad110ea5421ce77cd4772816e48d5d7e95b3303c8fad23fa1c813884b85351436a4c409cefb9ad645371791423f69867da9efd9fa015bb491a5667d54a928895acd7a826b1f624fdd14efb83e55efb31f2adb662128b341c905645a2fee7dd4e45a93c8532b2e08f380ce420f5eb4708b9be024572db86bcf288e34c9276daae5c33815b70b88dcde776cca33b8d8549737565c12d35165d401c6d966f3d2399f9556afa7bbbe9c4fc4a46b7b752192dd5b05b07993fba41e4715a2a38973d9b7068e59399741fc52fa6e2d20d0cd0f0e43f129d2d210790e9a71d6952b450c22085638615190a99c723f33fde054735c19350d2719d2171e5c8019e7b72f9d0ece46904e8d44b0193cfa919f43b9f90ac597516f83b38f0a82a47a549279044985f164b9c923d879904f3dfd2a0789412aa06919c6473ebfc89f3268a8db0c1993c2a3c448391b0e43ebff39a8ee448f202090f9ce072ced83ea3e223e5599c87240a2318e40743b67ebe7d33ed8a8668b19321000192c4efd73bf9731f70a2f62a186c3639e5edf8fd5aa09620a5cb92cab963d7975f5c7218eb9abb2148ed0d89b69ee6e635024b9eeed6c5d0c80c45f762c8b9042baabe00cedc89c9adefad84f14bc4f86088f188c68974aafc4b8d8990780e71e2d9b91daac37b6ab75ddadcaa931cc93c6841c2ba302391048ced9077d555ab6e29fe17c72d7873432192f1e459ae42100cbbe93a8bb0d780074180a40dea8c9920a32a7d318703bce26f6821e356eb697b1ac45a42db3ea525483c89d2a4ec4e48f9d3368c6700042bb600df6df1b1e8323dcd56bb51c1e1b7b0e2bc42da076ba98a772e1b42c2da81c81b051a973a8924e40231934f60e24b75c52eb875cc08975044b305128930a464866c01e03b9040cec71834b68761c8e3f49824a1a27d79c3641df234edcbff008fcc9ab059b992249141d2c738538c52d9a36c1451c97c471b753e7ee4f964569c36ea489dadc12aadba8dfe74c83b5b58e92f687c7120f139c0c97099f08c02d8db9e3481fea342dfa318999c289305980e40ed9c79f303e5e9455bccef1b3c60e411b00727041c03cbe261f206b33c64abc633e1db6071be54ff00ee2c7d85676a9848e7fc6e331c4cc480773a8ec062a8b77399a57e15c12e99788bca5e205c48b73ae55d30ab1c2918447d4c37200db033d37b4998ade595207b8751a842b8264c104a8c823271d41f63cab9834dc0626e16d0acd2de42ef07da9e311843e178a5ee97c4fb973b91b155c109bbf1f471bf24edc625fbb2240862d524b2168935b4b26b2643e3970703632348d8f5ab1c72642e73b630063c86dfd2ab1d92b465e1d6da659082aa419321bc448dfc8f8aac822915366df9e083919ff91b7a52a7d9d4d3e3d98d24191b2b15381c81dd7ae79fde3d68a8e4fd60c0382cb9001df743f9fbfa52859cc648604e83e5d36c7e5f5a963b92ba5142820003c3f2cfe1403a86f14a0947fde5ce7077c229cfafc2467a512b284612171af5a29c64670edd7e63eb4a04aa0690723e1f71bf3dff008aa49642577014e030c671d1bf2350aa1bc732e811b6e5546061b6fd5b6fe9f3cd6cf71a8cd9d2430723627390a7975fc2948badcac9b1c9191c80d5efe4c3eb4235e817118750a5a239cf5ca6327e6b50aa2c32ca16605724a39079ec3bc5f9f53b5451396b72a49ce919c2f325181cf96e3a6fb52d9ef74f79940588638e9cd0edd7af4f5a90caa59b014ef8c103f7c8f3c723ef56585dcce92303e21e0258ec3ff4d48c1e63e13ce856d2645d3b12ecb9ce36ef39797ed50af72628114e130981ab1b6108cf9fe34bef38b2c11eb77500485b639277538fbaa02dd1b71082136e04cba4e9dc9523985f3f73b5719e296b69c3ef6ee48719505b48e437e43eb574ed071992582420f736c9b1918f88e7cb3cb3551be85d98dacb3094c65b4c910ce632356429e8067991f7d3608e56b66b27d44762dde6b966f8c8756247538007de37f4146c248ba8e48dba861d39e2b6e271fd92eade16464c401d15b9ac458b203ea5486ff77c80b68c0e6dd8edcd0f2c8e9f4a6339b0e0b3d9219f8daeb570f2491a8d041392f907076c79efc8d7408adfbc31903c4e01c7ae9cff00fb5ab9ef0d6695e277ee982690c245242a861a9b6dfcbea6ba65860881c10416c0cf9ee4647419c8ff0070a4ccec689db6033d96b0540dfa63a60019fb97eb9aaa768f83fda62d718d33230d07efc7d76f95749b8b55273a4918ce719fd9e5f4c8f952ebce1fdf878d4a86fdece373cbf23f3a152a3764829aa673cec8717740d0c9a84a834b2e7071fdfd2ba2d8dc99630d130f179efbfb7be3e66a81da1e077767325fda29132788ed8caefb7e228fecaf1d8652ccc0a4800d6836f98fb8fd7e44f9e519f149e27b245ee7852e9556e618e4400850e35607a7ddf5a0ff00c1ad40c47004046fa49009cf96714ced956455ee88646d2c3c883ff15b344c31963b8e43de9669ec586ca18c101350db6249c57bb8446f0c6a3d7147f718c641f5fad1315a118246e73cc54250ac5bb31f4a216d8a8390299adbe9391cfefa8e70b1a935647c0a6f5f426075a79d829d2d7880071aa5eb554e23720c9e8b5b597117b6921950e1b3b568c51f673f53735b51df49d81af553b8176a1668d12e7c271cebd4cd8ce2cb4f34ea8f91f885a423744507d2838edd0aeea2a4b8bf2e301320d6d04d06c1f5237a8340b83a4f15c8896de356f847b536b6b585a1dd067141996d44a096664c6f8da8a8ef2da28bc0aee4f4d5fd2a9b190c14c9ad2d21d67f56a7dc531b68a159f22351b7eed2a8b88aab16fb330f73fd2a51c53f5fb45a703d4e681db1d0c745872a3905c7b54723851fca9635e4ac99d3a0799c0a8de6627124e849e40367f0a0a347c2c36662c062b06dd9909ca803d68069575618b30f2c73a656b2f834a44aa84efed51da190d3c1f93358208f1acee0753cb356ab79a2ee57c650f77f881552bbbc8e34c67bd907255f847b9ab5452ac7308522ef72830bd718a761be4e7fe43e38d4605a3b2524a8d268d1246ce5882ba873e7e633f4cd5f259034202c289e78ae63d9b915270c80ac658904e4143d57daafb1dc3b2a932020e3ad0fb6cc0d5d13072a0fa94e468961decf16a2549079f23bb5084165ce41f828a7522e22d78c0071f56a4c9d928d8aa8084b0e6a36ff005356b1c830bddab31fbaa6d2a12218d8953cb18f1356598ac4a51085df258014212155d4b277e54281d7dab50aea4331e950ddcfff0050c3bcdc919c0ad8024024b1dbad2fd8f419c0a212f157723223427ebb5593bb1e548fb2dfe65e39e7e11f8d58115a46c2826ba3822f6a48e76a5de423eef7e553c166f2b61576a95dad6d135ddcca0ede1cefbed40dc71b9e645fb0c26de0271de4e740cefd399e55ba3854799b0b1693264e7d0e0c767c3e2696e99405193a88007b93b52bbde3cd70fdd70e8f52e487987f971e08cea3e7bf4da935cac6f2bbddbc976ed8da538453a707083903fc5b54d2ce3bb5caa64025542f4c797fcd14b352faf07530e8e38ffb60acb14727daa4b97b9b923c2c4648c03baa9e471d76143dcceee4197218e7973f238f3e9bf215b98259652f1a2962429d4da41df60719276279ede95a3f81f426642465db96072dcf4dbf6473c560c995cba3a118a40fe2df3bb1d8e838f96af71bb11d6b31c7a54b80096c00c0e3c239695e9cf61d48cd6d2b001d39903c5ab1851d09e817382146fbd630fab20f2dc961923c89cf36cec3c81acc34989654c008006e9e79df1b7438f726a24d0e090aa70482a3049f31e840f0fbd6cacc036060721d46db1e5cc019dfceb4042bea9095d2bbe483a07300646fb788fad4b049195b513fb59c1c0d99bf2dcfd287754386d5cc80b9c0df7c1dfd8b63dea708ae1be15db90c7972ce7a038c79b8ac30cf8b46001c803b1c0d87fed1ff00955a64009225319600c7a46307048db6c9076c038f722abfc720964b2bab756961d69a43a9230c012a48dc154cea39ce4e71be2ae0d16ad21bd997a1c1e9b79e7ff114baf2032461d1537f102718c731bedfea228ac19454d5329d67796f6d24b617f2497f67df7731cae320075c287d86e5830e5e0db38c8a9b89707b92f78fc3e468e3bb485f30ecf0c919d3ad46a50c4a3100b12491e54271ce0ec2cef070fef639e5912747595d1848b8c1041f0b369c93c800a7a66a283b450f0afb45cdeb5e41deb2c8b0cac0f3e65589cebc96f0ee36041dcd5f7d1964b6fd67d7ec6f63c6ec6fb884bc2c4eb35e42a4c84fc3281b33ab72393b9e9e1eb8a925223992745c8525b56399feff00f90a8552d2eec5eeb81dc476d2dc9d6b736da75b301b105b9301b96d8e40de96306e1f772c2f708ab756e268c5ccace7bd4c6a241401b5e32421c8d39c6fbd2e18d8e594154b95fb2e1673eb963d8124ea000180472e7ea73f2a60a11b424250ed95dd76032a9ea3275b8f6aa5f0be30116d525015a451ab423e98dc025d0965072b824edb79ec6ae16b75dfdb3f76a1750d2a7c4da73e05dc0d863277e5ce8722f636192325c156edc2c67825d77eec2231bea68903b0527985d81f0918dc7cb9d50afd5dbb51333bdc2cb773472a471b651b5caa3224d2bdd9c20ccaaa756d8d9b157feda711fb0471dda2c655197093b680cade1df3cc80c9e7ea08cd50785cd65c678f5d5ba4d73336cb6e6599a646874281b93b32a88d70727a6d8c51438472b5bfe4cd18a3a6f00b55682ce401487863986083b3e865dc7cfd3f1a6f05be6383183b74f91dbeea4dd96980fb5452b389de491e18e52bac42a3084e3f88b83903903c9855b12302541cb1d7cfc407e0b4a68eb6195c10a65b40d1e1540cea5ea063071edc8545270e199001cd980c023072f8fc053b8601a20438f5381e407e66b64405012a17f59ac7d5ce6a86d88070e9049b13971b8c1c0e5bff00ee03e55a25b4819480de2fd9e63a1f2f535653003a8918dc01ea731ff2acbdb46564c0fd9273d09eedb191f4e7e552896564db1d2700778c748c79e08fc53a56971c35e40e48ce8720372d383ea3c9f955b5ed504ea324166dcef9f8bfff00a3b7df51c718fb3a3141ab490319dbc03e9f0fad4a06ca2cf65c4a1509dd2cca01ce93a48183cc11e6b5a24dc4c364f0e76ce71895467c40f3f9fdf57b9ad94b3e4785243a7c270007e78f663bfdd4b2e6d82e921b0ba73c8f3d0467d7e1f4e550aa2aacfc56548f6b78170772c5ce349180001f8d2f9b8515944977334edace4b0d2bb15e83deadd3da80f93be0e0839e5ab0327fde36aa5f692e6516b23d8c52cb15aa996e6442140034294d44e4302d19217a151b161828ab139a51c71b657b8a094dc5b23416f359ddc5730a861ac2c9a1a3cb2f420b6a1d72b9e945d870175b7eedf53e93901b049cb0d8e37df52e06fca9cf6638227da2f674016079da78e1e912b306c0277c693d77ab65c70f2aac96be093bbc2c80ec846d9c8e58f09f951397a467c782d3c93ed9c838ef0c371189a22649826b771c8b364951ec7c38f31b6d8aaec9183690cadb326c34e3c2a72558f992758f6515d61f87a3da8610b42a553bb0ea032a3ae54b72dc9c138c6e4ec39550388da32016cac7baef4e084c6b60a1c0073b851215f73ed4517662d4e1505192f609c36f8c4477ad856001653d01cefe62ba8f00e2569730a78c97237c72ce307f9d72b87871eea3963d6f148ed1e98d49f18c6c07b329f9d176934dc2ee3bc858e01e78f09f4653c8d54a360e9b34b1be0ede929953c054cbb6c4e771be37f507eb5bfd994a92086ce073e5d3af9023e954fecdf696daed951dc45364101bc4a4f903cc7f5ab945751ab85653a08da48c6a1e59c8e5b11d3a525aaecec63caa6ad1e9ac92ee160d1e43f8b71f3233ee0fe15cebb4bd919ecae3edbc3495901e60ec483d7e80d756b768e48b544e24c6fb6f8ebf886f7cd626b65962612e340df27963dcfcbeb569d053829aa6735ec6f685038b2e205adee01d83ec07b7a73ae8291e719393d0d5338cf666daec3ca51d14b9313818650361ee0e33f3ad783713e25d9dd30f178cdcf0e27c17512e740fe21cc55ba604774387d17c487270579d4ed0a8eb920f9545637505e4292db4a248d86411cb153138c9d5e98a832c89a40a085e7e955de317854151b9a65c4ef1634201c1f4aab4c5a4919d8edd2ad0126013b16214ee4ee6b75654d05bf6466a00755c13f2c54c96ff0069b80ae7f56bcc0eb4eddb519e751e5989b8cdc80458c32cba7a81b57aac30c2ab10545017d057a97f3b33cb2bb3e7a631a11af57b6935e1dc48a48d7e630b45dfa82e7036a8adc004e69a03cad3a065eeb5903be03cf153c7136e4897401b1033592b87a6766729a6a32e191b606d0b4b81aa4c607306898784bbb6bd52f9633f9d15b2b8c9a656d34623de403dcd036cd119a6f917c5c29c1dd49ebe23fd6a78eddd49c2a0db1bd1af79085de55cfbd0eb750927c633ef41c8df95ae8d3b965dc48437a01514cba8feb18bfa1a24b86ce081ea6a3cc4a738694f92ed513025294bd823c65c8541f4e9568b39fbcb9b672149318076ea36a47e375caaac4a4ef86dc8a3f839417b0abe572bf5e7bfde2998d987530a4996becfcd1c576ddea3342cc4369e6a6afd652f0f900413b7c5b654eff7573be0b3fd9ef99b08f0c8db873853f3e86af9672406655fb3100b0195915ff0a0c8c525c219031246da2424e63c023de88698b4c848e436ff00dd43b282a58295625081feda22e4e975e5e2c9dbd88a4b2820cee638f4e01c8dff00dcd424facc63bc763cf1935b0907751f33cb97fa9aa20247e9a46fb9e75561450b859bf7e65552c5980c51f701961c918f08eb5b2c31a0949972e30c0679d6b7ef043c32e26322feaa2763b13c81eb8f214abe46a7ca35e01c4adadd2e448d97d63c23da8897b473dcb490f0b8c46572a667234a9c020fa820f315ce780ce2ee19ae8396773ad421d248e833ed4f63797741b44a740d4b80d8e676dbcb03cebab0d4ec828c51b3168e17bdf2cb189d6195a52c66b9625848e01c72caa2f96d9ad99e46f1cf2b2023f65b5b9c1ea7a83e406de74ae03a3272589de47e649e409031b91d00c6d44aae953e26dc78833639f99fd9047400503ccdf66b50482d34a478dd6318043372dfa9e9f7d78784e724023273f4dffa9f954113052ab92cd8c2e9f2f41be907d6a652acabab0e482404f84f9e33f893ed40e765d50446e43020608df2d907e5e9f21e95998b32b300a8491938c91b673ff8fd09ad005624bb162c4b00876f704f3f3c9addd4024e0038ce06c00e7cfa2e467ccd5590815bc385500821b2e72549f3f373e7d36ad154ab954db0de32092751f5db2e475e5b511e2d3f169db3ab38d39e67dcf21f2ac36af02206419c6c3c4339f0aff11e679f5a1a2c1c85c69f0b30db1d011b9e63a64127ae2b0c4e06e5f6070a0efbe738cf53bffa6a5c05188c10a0690136cef9d2be99dc9f2ad197c4307e205b5606ff00bc771b0fd91e8684230ac6239059f3b904fc5be3cb91638ce79015a1df1821db04ea006e73b1e99cb127cf622b6218e90bfaa2309a46da4918c1c1d8a8ce7d6bd1312401a954ee0367d9739ea064fbd421b61741f1168dc691a413b631e7bec0fd45658ab1c2a938ce763cb193efd063deb557d4312108a173a4918c6323ff0068e9cb57a569deb85191e263a88c0391f174e7be9fecd5d834452f0f49428900dc10db731c980f527c3ed55be2fd988ae90edde0d65c8c7c241dc8f23b0503d0d5be3948c8462c7e1077c7967d7727e9e9441c90ad1e3bc1809cf6e8a0e79722def56994f9e19c938859f128f8adc5cf13bcbd9ed9adca776276729220f091ab6db7c124ee48e44d41fe345ed2d78871485a489e5eee785a45416b292ba640b206755e796008076d5bd7599b85417491a1452a000491bb73d3918f2cb11e66abf7fd9b81d0bc0eca42e154ef8cf4f7237f6345b843d3aff574734bdbb87858b9bc926b917cb72d2db011e15cbecd221d581af513b02085ce17aefc3f8cdd5adeb7169ee6566e21329791e7711596b3b1740a5a43b9ce9d4003e640ab3df70ab8b380c6a1749df08a30a3dbd37c52346fb3dc932a9285b718ce0d15a132d136ef7086eaee6e28126e211dbf14bcba85c41691230689da15f1b4488c4aa608500a92caac7c231562e003fc02cec5f8ac771026610d6ac02adb920461ceae6ecc2466df035107490454bc7bb3f6fc42c03f0f0c92444e258e3d6d92a02600f16d18ba7db1bc4bcc9552c21e010f189aed7865cc090224f6fa601a91a39249a55215c7311ca8a0f30146f54daa304314a39f6a76d06dd4d05876924b9b29567912358ee228447fe49642d27798270ba41c8d5b061b66af90491c90b4d1b829a0f8d4823f69b6e9d7ccd73bbcecef68ed15e58a75ba742619e50d246d34208014aab68d89c8db73cf6a4d1f6878ef09b38b83436cf0cff6acfdb1d4bc86208cd2011021546141d811b36e36a0a4ce87c93c4ee4b867650099546c39607b320fe75aa64451b693f0e73bfee3733ff3543b7edb5dcbda5747b0fb37084843bc920695d9f219b4aa2f30d9007975adf87f6ddae2cf88cf3411ac56c641118a64676ddd7057567c23c64a67c2a73cf354e23ff931f67412aacd8cb1fd6839c138f1f2fc2a3c6a865191fe50e9ff00f6ba79f5e55496ed7f1045895f8489af0c8f23c71364491abc7868f7dc9d58c6079024e7199fb677713dfbff0083debd8c0b2a12a8524529aa32655248519e673b631cce2a6d23d44117e2544b1e01cea20608c91ad397c88a1c1062891000ba803803076718e7e9d37ae697fdb3e2ff006191f4d943344f2849fbd56867d291b68084862db8f1671cc6e73882efb53c4e5e308915cd947118cacf6c58cd1c474e5596445cebd4703a063be556a502f50bd23a5dcc8115fa0607a0c01dd83bfd3ad29978b5949737714328ba92da3324f14235322ea3f17c89dbd2b9a2a5d5ec420953884c63b876b6765c3c259574beb24b121d4e95e4b83d4d5862e177979c485e2db07560fdccb76e647cc9160cae06c5c9567183852463e1152915f3647e28db88f1b17bc28c7c3e54b6b991da078e53a64b702304bb609d2a0aaf5c904e0120e11f0eb13c4b8841c45a29d64fb2aa4f96cf7cddeeb2e47203494000c6c83a9a697bd9896dad2e66bb95da142f2c9dcc7bb46555e4c0ea5901033d40e956ae15c311230c985665c671d775dfff006fd2a374b80638dcf25cfd1358daada98b6c0651b1c0c6e5091d7911f4a8b8c10f62e3275a2b31ce4819523e7960a3afce9818c150490a5f2a0310372a0e3d4ea534bbb4048b298c5232394678dc390c1c0d6841dbc408c8e99c50a34e4e22c4615dade57954eb219b4001749d1b2edc802840f2e55cd3b40564e30252d234c8d246727c2abace903cb9e4fcaba6dd3c16b0c8c1920b44254b3fec22b67dc9d0dd3efae77c520c70bb2711246c02a1d0d9d440c139eb9e79a38b306aa3b925fa22b78987120b03c62399a1ef899827724c9a75f98381d338073e956becf70fb3e31c32de5986895930b2a900e41c104f5d88e75508ccb15acd75a66166ebddca822c89658d5e45dff741eec9e7f2daadbfa3e227e132c458a98a40c3c803b1e7eb8a93e84689a791a7ec8af3b08f82f6322b32e33a7c0c3f223208dab4b14ed3f037c4701bbb65c8c1df031d31f2ae8968cd336a518765cb2f9b73f6ce54fc8d14d023a03b648e609f87cb6dbe16fba83733a4f4f14ee3c147b5edbdacb398b885a4b65783e2627186f3e5e7f8d5bec6e12fe1493be59e1c61749c8c0d8640f75e758bce116fc42131df4705c31f0e648c12a4f911b8dc0dfd6904dd89b4b7d4d6135cdabe32ac8d95f3e5f3fbaab82d29afecb7c891ccba4823a60f31fdf2fad2c9ed3b93987050f31cc1a590af69784b299845c4ad87c454e2403246749d8f5eb4cb87f15b7e225e30192e5065a29060e3a9c7974a81a97ec5a9c1443235cf039cd8dc73319f142d9f35e9ee2b6b8ed14b623471cb36b56e4268b2f09f5cf4f9d369544475671d31e7405fbf7808e6a7a7306a58325fa164f731df10f04a9247d0a9c8a06f1bbb50a3ad7ae780c01da6b266b4971fb1f01f75fe54b2437513e2e635980fdb88fe4699116db5c3260a3277df9d30b119258f334b8cf1150549d446f9da98f0f71a41aac8f833ea249f03784f8457abd0b0c0e58af524ce7cca24323e0dc363dcd659da33b4eede99a99ad423ed8ad9ed491a869047a56f326d66915e4a8415933e877a97ed372cc184cc33d054d6cba80578d0fad4d259f7435285de85b4323175d819b99890cce59b0073adbbe90e9ce40cf4eb4cf87f0e170096703036c0a39783c25b0e76142e490e8e393e6c471ba33e0ab9e9cc0de8c82338250220df7328a6ebc1ad14efa881bf95102ca044c2a1140e4bd0e8e26bb15a5c4b1a7c31b9e85b26b759e466264e59d82ae28f28899d803e7d6879dd06ec40c557613e17644659444547876e79de9d46cf1c9c3e45c3fead7f0155c9eee2274ab6f8e74c7854faad2c54e58a6a073b7324ed4dc6a8c59e7b8ba7059809d98a068c9c3a1e87f2abcd80b4664d08cac186eadbd73be133b2dca48bcc6c723ee357ae1d71148cbae05e63e1a4e5ec91e8b3c6c8b11d8e3c04027d0d6679ff005f19eef0349c67fddf99a0e29034388c63e0d8fb1a9a791d6ea1dc72e5e5bb524aae49c3ba5bc2c100c91cfdce7f1ad5849dd2177001276fe95e92495eda1d721d3918036cf89aa0c9000209f175a81c48c846998938214e2b795e69a048e211e83e160e3e3523047d33f3c5037048b83e301421a9ad260d24634bb6580cf2eb497d8ca34e2fc112dc0beb54d240c4a00e63cc8f4a0638236906d91cf3d08033839f5fc2ba1471249114650548c11e9548bbb5367c424b59135056cc64f265236cfde29b8e4df0cd9a4cd7f467a11a0e956c61885d440cb9e6dd718f2c6ded53a9d6a15595c1380ad8dcf563e9e9cb3ef43cb1491189800cba4b28d03276f84faf4c8e75bc5dd989c29d2830a51c7f96a0648eb9f2a69b89d58e0693a839c6f9f19f6fdd18ce36fbea6497249d88249241d881d49f21d066827412c6d24842a3a93231e691fee83d33ee3ceb0e08c10990002c9d4feea6ff005dcf3f435764a1ac332962c0aeac64eadf6e8588f7d873c54dac124aa82e482ec467079027f79ba63a0a5c92105b246493e22b9d4de67cc28ce067d2a48a4019186ca72509f1600e6e4ef93e5b838f3c55a60d0696cc8c23cab87cb32efa4f2dfcdf90f4d8d640c9eee324019c84dc93fbbabcced93e943c7364055574f08e5be953fb39e458f5ea06f52369914438d9b28429faa8c7fee345643255997662548219976ce0f21bec9cf27aef5aa659c3464019ce4820311c89e5e05f2ebb1a910c72c7a90a98c1cefe10d8dbff0011f79f7acff989bb0d03c6750c061d0b7a792fcaaa8843dd2bf8889197480091b904efcc6cce7208f2c568ca307969df515db3cb530c1db6000f5a20f225d995146ecc7c583cd8fa91b01d36a842b9c349173e51e738fdd4c91d7196cf222aa823412331ea47518239ee76e985c7de2a394baa970a0285d583eda8f4dfa0f6c795489a5a3fd63875009d6bb6b19cb30df6c9181e46b1201ac33026439d5b1d87c4db67d867d08aa210eb6cc691b0d7839d401c9ce33ebb93eb52c13c7302c0101bd7f60edffc571bf98f2a8643dd96605895048c03b91f8f89bfbc568c8bde777a4004e01e7e49d47bfd7d6a106e9263510080c32c54e3a64e0e76db0bef5e7c0cbce182c792748271fbc47dca31ea29724eaa30c0331248031bfed119f92f3f4a3237550fa9c369c01b019c7e04b927dc62aec1a22b8b6561ba8ef1bcc6c06ff7018fad56f89f06864d674f4e58fef7eb56d0492fa0076e4ab91e2c3100f3fda6c9f96285b8811d4287d61865986f9e84fccfdd5132d339e25ba5a9b712428f1c770658d7ba24951a5d8061f090b00c13b7eb09e9824700e23270fe232dbdddcccddc5ac6934721538993bb889db66054aae79feac679ee5f69637412a24e6157496132ae494578648db4a0186c9744cf30594f434bade348b88addac51441e68e55ee572b16245274a8c965d3de294cef9eb8c51b5c1cc70ff003c9af4749b7ba86e63c291e2943e350237909e7f4a51da8ece5af1de1e629902caba25560304305638f620e0d09d9892492d2da5cb2c4e03479db2ba8639fcc60f5073563b59f55bef8d4a87236d8f73b7b7de295d33a14a512a9d9bb3d308b2ba8406b548c6a32190b82172dab03a86c83b8caf3ce49edd98b19ec45bba6a56db49dc138719dc7a75a63c4f83db5d9469a1569a2562ae4139c469b6c41fa1fe54bb81712bab7bf3c2ef23924ee2401270c4ec18e33b6db328193be9277ced6026e1c3e81dfb15c31a5370b1277f086642117c0348618f2e446fe752daf61f83433b94b650929cca00d9bc641cf9ecc2ac8c410aa0e0681b79e6361f90ad2461a7503ab28cde1dce34a1dbafd2a866d5fa2bebd90e1905ba44d691ea55d20f220e975f2f351ce8c5e0d6682630c29bab37c436c8561cc6dc8d3d924d323e7c3a1cb63046dde6fcbd0d47180b3c69b965d008cefcd90fe550b490335bc31c8a005d218b8181cc3839db73f17b56b0848f0aab854d070547212329f4e47debcca24b52e719604ec41ce5013ea7743515d3feb65cae1817e83a32b73e439f5aa2c5dda98b570a72aeaaf188e44466c0675d4ba49e601c6093b6e698db23b44351c4a4e0ea23e2d3923d4ea56a5fc7e797b8eeede266b92ffa97c02565594146c75c3153fd289e152aa4443346743680ea4632b269e7e583cbc8d58a5e6c625809d990ecac5864818e4e07d0b6d48bb471c2f0242e14b4f224481c330690380aa71cb20803d71cf95398d8330271a3c20f8b910cca796c3623d693f1c9e78d2d20b5678a532a7eb410bdd95c364e7ccc78f5d5e98a88997c5887b402497854d6eb0b6bb8fd5b68554eec9ca3361b6c01be36e755eed9eb6e130cb33319e57133337324f3cf4ce549dbce9f71ed573710dbc885a392337891f77b1655003161ba8567277e6401ea15f6b64173776d04258340ad70591756005d60e3e4c7e468919f273193ff00f0ad5ada4722b6562efda3915e259cb88749487501cb2c636f3db7e58a7bfa3842c664dc67c390718ca9dfd37150441a3e10f3059a38de245975a28135c852f23f46c6a94000f3cfd1df61ad961b69660bcdb031cf230c3f0231572667d14394cb3db4f9954a0075ae41e63246a1b8f507df34c5b46fe44efe78ce397b30fa500b188da4ce4f764637c9003e7ff8b51aa35108774c693ab6ea57ff00e134a3ac483c081998162074cef8cf2f753f5a9752602b1010f42763bff26a15e66d4182923390a36f5c6fd76615bfeae3478d432c4797b72ce7aec47d2ac1361215382704609db9f9fde0fd697713b34bbdd82c7708088a7518756e9f2cf4eb463aabe180c39dce063aefbffe55aae960ac0e738393508c1a27373651cb2a8591d06b03a36371f5cd0ed1aeb20ed8e94470dd4d610bc9f1365beac48fc6b373a41048feb57400b2fb08871be693e8d4724532be7cbe3a542542ae7ca8914bf657f8dc91c6cb19032dd2b5b18e33c815cfeeb114978f5f2c9c65901188f614670db9f10df95492e0e6e49294996fb18300699a4f9907f2af569c3a60d819af5241a388706e1f79c7aede0e116ef73322778ca08185c819c9207514c388f66f8c70c5b64e2161242d7328821cba1d6e790d89fbeb7fd165b49767b4b6f13471bcbc2a545791b4aa9254649e83d685b4e0177c1bb4dc01aeaf2c2e44b7b1002dae44a570ebcc74ae86d473be695804c8d617b3db5d0eee781cc72212095607046d4d387dbdd7198e71c3eda49fecd1f7b295c0d2bf3e7ec37a55dbb0476cf8e6177fb64bbffb8d5938471393b1bd98e0b709a96e7895e0bb9d47336c9e10a7d1b248aada12cf24a803b3d37da6fa2b3b51dedcccda638c100b1f73803e752ddf1686d6ea58274952e22728f194dd581c1146709e16383fe982ced60c1b46b8efa061c8c4ca5971f5c7cab5ed5db0ed3d95ef17b68c0e2dc39da3bf8d463bd883109301e8061bdba0aad8835aa9ae103f12e292d8436925c59baa5d442788975f1a124676ce3975c53eb3b06baed270be152cddd8b9b21797120500c19466d1b9c745dfd683e21c3edef26ec6af149d2dac22e12b34ece70595492517cd8f2029cf6be58ed38f76ae78f57dbeeada0b3b78f41f0c6f1a191b3c860002a6c8a27cf967d09ae7b35c71628a492ef84c71c8328df6c401c7520f51ed49e6e0379271cb1e1925d5a196f19504b0cc255405b1be0f3f4ab1de767b875ef64bb2ff00e29c5ffc39e28260abf6579b58ef4e4f8796280e01c1cdbf6b2d076798f1836ceb70b88cdbebd382c0ea3b63967d6a70ba227925e4c15fb3fd9eb6b89217ed58ef63628fff00db253b8383d7d2ac1c1fb3bc1af25b3b4b3ed3879677d31ab70d9572c73c8938146f18e0b05ac575c42f7b19771c418c92c8bc59582e4f3c282799a3f82f0d9ad1ec2facbb197795d33405f8ba0e7b83a48cf5cef5685bb4851c118c13f7770c197701c72d8d5f38645102a33be4723544b0b6b88efee6cf88c260bd89fc71b1ce33bf31b72237ab570b864564c860148dc6f59b2f66bc7e25bad942062bb8d51b0cfb1a3788b235c4663230549c6318f8a945a3150436e0683f407fa532bf758e6501515c21fc09fce925572466e0e8800c000a8c0ff53542f237743218e1b15e4703b80ccb90540fa93f9d44af9c6b62c3574142c3880bccceec3416df190338e5fd6995aa2c6b13c9b10dd4e7962a247216611c6a32570c5b18dfad6ec0c8a035e24593b08d4b1de96d8d2ed6e71cf9d26ed65996852fa2c6a8bc2e0f229fd39d318665276a9e66596de489b055d718ab8ba1719384b722911c62e6078dff00cc500aa9e6873befd41c50522bc5a6584f746500364119c730797d71915228367c45a198e7ba6050e3246391fa6d461eec4c4960a9707546c324023cfa0dbf0ad3d9db8494958358dd894c097224120618704316207c2c460ec7707ad16de1009932fb00c57019d8600dfc874cfa527e2364f0c8d2c6060f3036c1cf97f2acf0fe2ec8da6562da86eacc4161bec7d46dbfa5584d0c8c2625d2a72a31164ec300658efd390dcf4e7b56127f187d0b9203b07e781f00fcf9fe35220132c2d6e92377ca224248210737248209271f9d432853ae603bb2732302b86d2bb283e5bfcbeb545042ccfde28c0ef41d3d0aea23c4dbfee8cf5cf4a2a19621a7420281485049385f2df9963ec71ed490f789108db91c21277249c3367ee1cea432a9951db12281de00403be70809c74dcf3eb50aa1e778b2968d955d9d8294e6198721cfe1518cede46a677572096d29bbee7e5adb3ea30079d2749f4c80b3174dd0b927c200cb91cf24f2e87071d28e136b421875d4cbd19bf653d401cc1e628932c2c6ea5f0ca8be3d047c39ea47563e5d2b1a0b03a8145008c7c5a491b8f562091e82a28d8f2c82c18eedf096fda63cb6036dfdeb2258ddbbd677455521091e2519c17f2d44f2cfbf5abb21b9255f5e14caede15d5d40d80fe11b93d3343488064a1d6ba72c0a8cb2e4efe85db1f4a25c0cb33ae961e00bcb1d020f53d4fbd618ba2e1702424e93d09e5abfd2a3fbdaa51010c2a531b3b2ecec07c414ea63807f7be876a8e40c0ab4a5b38c6541c654163f4381f7510634c0564050f30c39a039c9db9b3601c7903e758914392ae549d455c8c6ec5b53fbf200d0b44034250c31b16ef3186c823f741fecd661b92235ea756ac36afe33b75ad9e175915c80ac177d58db24bb0e7ec3cb7f2343491808362339c81cc6107f3aa20ce39981605b653a06fd7007e2f9c8eb8344a90229648cead2ac137d8630833b6dbe4fbef48d651ad81c604bab7df38727cfd3a51d05c1313331d2cba5864efe15040ffc9be78c5429a1176ca78ed2dd720b7ed469dff7403236a563b6e17439f723d2a1e036067e0302cbde3dc2462393bd2accae0697074edb3971b7979e6a6ed42caf298a1674443a64944025023d0d115607f79a53bae49018636c837b1b088b8146aa8638fbd9d94344222c826708da472d595e83d36c64ef830425ff00d0c5dc366161c766b69caab5cb99d17548ef2c99cb92770bb69603ccbe3030b5668d8bf76a3048254648d810cbf2e429771ce1cb35b5d0d2d205218a0c624eed9081f36007f4cd43d95e2125e45a3882ac5751cba197270cd90c42e7a0ef00e79f3a1ecd71fa3af43f2ec6279547882c84118db28be5bfd36a5fda2e1ff6b826684ba5cc323b214731648742a093d3560f91d3d28a08eb093a400633e20339c46bd79fcc796f445c1c2dc82da0862dd4646a8c93fdfcea0728a92a62ee09c692f2ea48679545ec2fdd3068fb92f80e35aae4ede203009c1046718258820db459524b2ee430e662f3e6790a4fc7b86c86efed3c3bbb8ee91c48ac50120094838f753a798076e440225e0dc4c5d4421910477103a878d65d79522408412375201c0383b107045415196c7b643595cb24eccb85659361d4e10e7039f2eb5b4cc5e73a48c1620aeafdd954f2f99f5daa05cbc320d201ee4e073dcc43a7cbad62e41d521f1602c8c39f5d07dbeb5438983e4840700305249041cb3ae33f3143bc66464126de156230091aa32a7ef51cea692568de52c4616466186db02453ccfb9ac46f8961183be13381cc395e5f3a8595de3c8af6120799614995b53960aaa1901ce79819df23973a2c484c93b11ddb6246d2080572aae06dc8fa0a0bb48624e1199629654112865450e486474381fb67201c7a51319904c8b70e0cde1d641192c54a311e592a3cea0a5ffa07c93842eaada48776c29e78656f6a41da278fbfb6fb43a2c2b3b05592166679477a534b7207639c9df3c8e28e92ed05aa3eb52645c03ab3ce3ebf35eb558e337ecee65b3892ee4943c615e709146c5ed8079013cb3295cec373fbb57142b552db020ff1610dc1946a789582c04310661e0c8c67650d9c799c9f65977062022f237b8bbb968ca421c8770af8751ec81854bc2a3b6b70b757378d7970102248cb8c85552842f4e4703a57b8b5c5c712b85960927b1b505f3ac8d731d5df958dff0064e94880e85a41d326897665c8dc7173db074497897158ed60eea594956b9784304d6addd8f8bc915493d49df26ba3f0eb34b0b558d706385b1ab902158a9e7e8df7503d9fe1d1d9a2830f76cd9b6019bc48a23508b9c6e404209f3c9a75a4cccc1530246e607575f3ff0050e740f93569717c7056436c99702501902e9391cc0628723972236a900d508c9d2c7a600dc8c0f9ea5f956dde2b240da4867276073bbae4f2fe21ccd68493ae48f48d4358276cf271b8df190def546a364c14631ae173de020e3393af9ffe42bd1ee469e60152c39feefcb62b5e918ab3483074ec7033c9b23ff69e551aa8c945cbb06d24f3231e13f82e4d4213390ea06a04f238dcfb67e742963dccac5b2caadb7b6e3eec54ae4b9206549c1191e7ff0023e9515c6ea49241e7cf3cff00b15013d6c0a5a5b20c022351f7562eb0d0e58e1b15bc247d9e376ce4a018f90a1af1f08548e7568090ad94b3e6a3be9160b39246380aa49cd4e01c6f558fd215d343c066584e2461a7e546b962e72db06ce692f11373c4659724e5cef4e6caf718dea8969705252b26cd9eb4f2dee081b1a74a271613b7674fe0979af1bd7aaa7c0388e9914135eacf28726952e05dfa3892c629b8e5adf5dc3682f387496f1c92e74ea62bcfeffa564708e1fc138cf09bb4e35c3ef116f22322dbea251430258e47218fbeab70cd0236ad0d9f2cd4e5918ea31480e3237f4e75a6c42d3baecb8f69b81f0abfe2d7fc423ed170b297170d20405cb8566f41cc03f754dc67b596b3f187b7b4e0fc16ef87daa8b7b692ead8c8fdda8c0df50db39236eb5456bb551a74ec6b7b72e0ea45c83d6a5851d3dbe4e99071be197bc43b31c52ecdad9de594cd6d3c712154584025180df0a338e7d691707e247877166e2164a8ec2573a58786546272ade847e47a555fed6f820c783d720d1693cb085568ca6b1a975291907911e6281b743e1a749974edcdef0bbc3c3c70527ecb0d808c2303988ea63a0e7a8cd49dbd6c76b2fc75d30fff00e94aa5b5dbe483824f21d0fa54a6f240daa62ece7666662c4ec073e7c87dd42dd9a31e969ae7a2ed79270c5ecc7674712b3bcb890c33e8304c1001df1ce720e6b1d99b6b6b8e2f7d1f08b7b884cdc2ae6348e6983bbc840c630062a9ef7d3c9147199a468a352114b1c28272401d3739a8d27404ea00ff00ab7a9b984b471afb3e4ba70becfddf08e01da39aeec67b747b355d5328552dde2ec3ce85eda767b8c714beb4b9e1dc3a6ba81ec2dc2c9180464463ae7ceaa735dc2a01450ed8e4ab819f7a5f969183e943cf206c4514198f5708c1527c9d37b4c0bf6cf8998f770d18e7d44499f9d36e1373246e872d82c3208ae7fc026588a315cc2e7c6179e7cfdeaffc2a74950689f50c8c06e74acbd8ac5e3458ad9d9941cee747e068cb9819a60d236fa0eff26a576f2931152de22546dec6a69da4130769093a48e7e87f9524b1835b858e1f0f8bc0325b193939ad63c24400d0bfac18c7b1a14789e0182402a79f3249cfe1514858c6ba401990637f7a10912a5cc4935c2b462472be13e55acd316182563c05e47279500f1a195bbd05d80ce90703e75b285fb392c149c2e396db1e7f7503185da29d7983596bbc556e3bf0b1264fec8a12ef8b855235544982e247dae954cf15c062181d2d838d8d4d6f7426b3ef118878c6410701867707ebebcea9dda2e2bdea3296ad7b1fc67587b76605c1c60f22bcb7ad105c1af4d936bdace870c91dc2f76231a5c6a45233b8e783c88e54b38a70ad71f7d6c30586a5db214f5183bd0b04ddd5cbc526b1021ef236070501e7b8e63de9e472a7792c5095ef70b2ab042164077faec71835674132ad6bc41adae425d6c85b236ce3d47507d45586cae56ea20b398e460559a45250ca141dfebd3deb5e27c3a1bc4caa7881d414a0c83d41fad5589b9e1772c8a2468930cb8cec33cc1f422afb2dab2cf2a318e1b96546d6ac630ae18348c7181cb2401f4a85bf5524b2641456001e8422e31f53ff00142f0ee329232bc8a59f2352e170481b32faefd37a3dadd2e622219516ddd1020eef4eacb6a3b83b31dea140cae55114b672523cb741bb36e7e5d7ca8cb7b867c18c9d470c58f886a6d979e77c631f8d013c6e541eecc2ad1b3ee482bab0aa0e7aff003a88380d3b0f854b95df960691f8d5143e8274202a9223f84851fb0bd39f56e8472c8a263b919f034624246cb8204847840e5b28df1e555d59976523c230be79545c9f964fdd46c774f23e90cba80d24e48d2cc32df407a8e95641c9954316690ac51a9018e7c2a3e2739ea790df91045485c2a33ba804000a8e613f653dcf33f5a5915cc608765236ef4e703c236451d46f8db974f2a293548630c4eb56241df1deb0c96c63928e5d3a55d902b5119c3032b1f0b36fe219dfd97f1a8c10b1ac6a5976e7cd8a03939ff51e9e5b54714f1c8bdf0dadd8165c10498872ff00c8fe62b68cca899ca89dcf9e70e7271eca2a10ccf1990947c00418c9d8f89b77e9b690303cc50ee81dd1c819639c9236d4c3031e7a467daa60a811a35240285b24ee133b9cf9939fc6b561ae46c6a5719c0e819f61d39a81d3966a9962b9095d2c40cbb038c82064b9fc2a459ff5ce18e91cb0799194a21f2caed136750246a3c86c89d3604e4fa7cea1bc88069319c64e33b63c4a397fb7fb06a8857fb5260bab8b68ef0f7702625528c5599c4a8ce001b125320676c91d4d34ec5cca7bd322c69712c8ae543162abdda60e3a06eed980f53e42ab9c7955ae62efa133c2c03baae43c6b17eb1d94f20c546067f748c6d9a65c0a7961e23706410acd2060fa416de34c6919db01a7dbcc13e428df4733aced97542258d15b72c50337a9cbb7e0292714b568b8ac1c4e0883c90c7e240002da958e7276d8807e54d35a8ef31b69120d88c6c1106fcf967f0352dc3ea4b96500ea6934fa63118e5428df28ee542eecf7168f8bf00b5b88fbbf127752246fab4388cea5cf9ff314e2ebc2977a721903962339ce11b6c7a0aa6f140dc0f8a1e236c14da88e68e58c9c7770a9d4cc807c4f92719e6b91cf4e2d315e24d6f70e0e061b502374fd5aec7eb5281849f8cbb0b95ff59b1523f587c8fc4a7f3aaf71de0684b5c59c7dcddabb0122b156da41b823fd5d72304edc8d3d96401d8670a126048ced844e9f3eb589f129ba2c773de803fda87f23502715254c4bc2f8a4d330b5e256a2dae997bbd88646708c1802370799c1fd900e4d3652d245095c02d81f09c80d17a72dc7ad0bc7b84dadfbe6e235620b10c57382acacbef8dfd37348966e29c20a24b08bab54963264794968f05946e798c8cee73e2e7cb105add0fed16594eb13a96d3a8129e23b6501c8dbcc1e55e9e75488baa8192ce06dbecaff008e695f0fe3b6570913493471cec22578d9f255882bb9f2dc0e98eb4740fae3871a9f52a0237cef1b2fe23ae6a50c5352e859da59cdb70abc9b5211123ae1a4d190adcb50dc655880697d8dc2bda59b59b38b7d1aa3d4e1d8a87c839ea70df175e754ff00d31dff0078dc26ca791d2c6e26124eeb9240d0831e5fbc7e550fe877884a6dee2c25cfd9e13faa273fab6756d49e58ca03f33e747b7eb664fe4259f657a2e927086b9f1cccc74be30ccdd24c1c0f66f6a4a3845b3dc982236f343ad4dc1319662eb21010372c05c391b6e483ca9d712e3cd2dc1b7e1ac259e6572ba18ae8d718d2cadc99838c90bcb19ad385f75dd45fa9485950449127c20947919f1cf2d9419cefa08e9b8ae02cb2f92492eac90595b5958bbc8001100cde0e885830ebb608db9d26e1f6a609166768649e5315cc8e6032410b2a8ef0792e182a2f99a69c56e05edd9b5864d2ddeb2b08e4d2f8784305200c853919f3e433bd496dddcb730c002e838431c52306d52221d522e06db1d39eacc6a745645be43cb183ecb6bdd608108600e34e021caf2fe13ca89cf88941fbd861923621d727a7c47efa8602d1f75a80c958ce4e3a8eedbd7a0dcd4a9e0eefed017529427f6bab21c7ddbd09b12e0ccbfabefc673a1b50cb6fb3090671be3048c56c0053de6eddd9237df015b6f9e96fa5471055950b7c20293cb73bc6debfbbbd6637d318d601080123cb04a3f3e98c6f50b353841a4b0609e1c7c44807437dc54e6b2e8e59a272158a839cf5c69271fea02a5604b04908f1001f27a9050fa0190a715a12cba482751db9e0648fff00896a10d187c2d83e21b7a7f7abeea8a451a59886ea08e5fdf3153391a0b2fc20eaf09e846f8c7a13f4a8ae1895d23e2e5f3ebf9d502451644080720a00f6c50b70739a25752c6157200f962859fe124d5a0240ce71cb95503b6b3f7f74b0ae74aef579ba7eee176f4eb5cdb8bcdde712607e3cec6990139395456388f0749575a8218795274325a3e898e5790357576429976dce72bcfe82abdc51564c80bc853d3b30e5c29728d2d6e4c6e195b6af5280cf036d92b9e55ea9b519b7d703cec77064e357f722766305adbb5cba2bac664c10026a6d972586e790cd596cb86dbf0fe256d3db7ea5e7b2be596d0ddc770622b03e18327ecb03d464106aa1d9ce252f0bba796158a4492368a58a55d492a1e6ac36db60762390a613768255b884da59d95b450c334291448d8fd6a9576662c599b07624ed81b54b403737ca1d701ecbda712b6b18a6b2be8fed7097fb6cb731c403e924777091a9d360339c9dced50f05e15c25e3ecedbdc1e20d73c5d705e3982ac24cac8ac1749d5c86412397ad0b69dabb8b696cae52c6c1ef6d615b74b97472c6351a4023569ce36c800e280b2e33730dd70791443ab866910654e0e243278b7df7279636a9688a53b0987825fc10c7c46fa069f85aca15d967452c03e923192c37fe1ab576a20b6b9e31c5f8a5f25f5d2437cd610db1ba03c432ccda8a9d280630a075e755577d7963a0b93ab2075a6507682692e3881bd82d6e21bd9fed324320608b264f890ab065382473dc73a0dc8d0f7da637ff000db3e1bc1f8fbac13cf1cf656b756ccf22abc6b248b853853b86e647303a6735e9f81d9ff89dc7065371fe23046e45d1914c6f2a465d97bbd3b26c403ab3c8d2d97b432ccf7ddf8b4923bb816dde12a552344c68080302ba7031bfbe6bd376a9d848cc967f6d922304979a5bbe64c693fb5a4315d8b05ce2aad049e45ec878270d86edeea5be96636b6b6ed72e91101a4c32aaa0241c64b8c9c1c006a782cb835d7daaf952f16d6ce0124d6a65566ef1a4088ab269f84e72495c8c11bd2fb3e3cd6d324b6f6f6da4c06da58cc674ce8492758ce493b6e08f846395328f8dca0a2c76b6cb67dc3406cca3188a160c7396d45b560ead59040c62aad224be49be09a0e09c36ec5bde2fdb22b19ad2ea66855d5a48de0009018ae083918c8ade0e11c0259b810682fd1b8b3b42105ca9fb3b09346a0da3c79383838e479d0b2f1bb9384863b5b7816da4b4486356d28920f191924963cf249a53271ab9b5b8e12631137f86486484e93bb17d7e2df719f2c6d45192119714946d867052219da390965d5a5c2fed60f303ceaf3c10465c157565c821b7048fcab9ef0798c8ee64006a7c971fb0c7f2abcf0777080c91e7f8875da95942c5d165b660a1c2819cae0e7d0d1f2c87ed451b48f067cf98fea6955a483432e0e5a455fa0a326726f8b1c00b18ff00e23f9d6761d071b8da32c46146ac01d74e7f3a58274d7064336fbefcea59a55558f24ff963ff00803f9d05df46a2db42e4f8b9f5daac2410b1c933b95d87764f3ac3db4a21f110aa421c9f635123190bea38c4670079e322b6ee4b2ae5d70428273e4587e0297ec3135e71610964d60e9257e955de2bda28a1526499547a9aaa71a9b8adc5fddc7096485667452aa4120311ce959e073c875492ea7c64e4eff7d6c8625ec5b94df8a0ee29da85949102b3fa9d8507c07b433d9f1986ea42340f0b20db20d60f022aa721ce3ae938fad46fc2c47b69df1cb3bfd29c946a90ad99af71dd8eabfe1914b6f32acec55a36cecd9f2f71d3ce8be09c650288e5f1c792b246dd3d42fe42aa3fa34bf46e1df6791f1240a5429dc32e7233ed4e78c24b657d1dcc118fd6b6586cc3573c8f42290d53a3bb8e5ba2a45d2de4631c3e18d8231843a2b1c0dc00d9dc7219351ddd9c5383dec654a9d191cd73d29270ce246e119c8568170f2a3e48db07200e5ebb53d1326ad2aec4320d1269c83cf6cfcbfbda84627652b8870c9ac0b4b138cc6e7600818ce47dd45707e2f12cc61bb8a3f1107e639301cbe5566bb822ba80a1c8570078c6f9e9bf31ef552e39c299670e91e0ba925509f886e48f5f4ab0a8b1a4d1cd1411e359531300aecaaf827037cee31c89c50d340b2c0c6d1cbc326154330d40bbe58b03cb001c555ecf8acb641639d98c6ae70cac41539c123cbdaac967c41aec77a0c32b1c778e31f0807c436c83b0e5f4aae8122974f7a5118484065f091b65f04ff7e55e2c4453b927bc3de32e390cb637f95151a652d848308a17bb942ae6438c90d8db9e371415c249123c68923e944d655360c5f97caa103d6e4a1507046a2c7036c26df8ff007b5149317628c503b0eed9b1c8b1cb1c8c1e58dc7903489b5363410aac0a9077c8ef08c8f7af0b968de6707acaf8076db0a3f1a842ca2efbe065dbb96064c36f945c050763cce49c6fd7cc5168e1a41a8e06ea4820649f13b673ec3d2ab91dcc71a80c3014ea64db7083e5d4d190cfaf3177ac1b02027c8fc4fe7938cf3f415083b888c3c857564090c64632d8c22fa72fec1af30288230fe37250b93d79b37c86d404776062542a1c8ef820232370a8bf79d8fb54cba3580738188c9c1234a8cbe39f33b67ae08f2abb204127316805748d654f3c7241f9fdd50dc606492aa885724f2d29924f3f3277af091c465c11deb2f7b8fe26c051d338c543305ee8420ea846559b19caa73cfbb1037f6aa222afc45246e271c70a2c85a348e55604eaf0e9543be74b96653d7603ad036eed14a92198ba4aab331382406895867d35b2293cb7f414671b2bf6f104acd1c42451732a6464310495f328bde6363b1e9d61b98a66883991a0bd2a3bd62020efdd7c7903c211981071b69271b628fd1cf947fc8cb8c33bbeace0962db83be1a551efbe0fd37a2d2459492ca448747304ff00eb64fb72a53c2ae44d6d1cab0ba23323aa925b00cac40cf5c51f068611a9c1c3c4416191ccb7be067dc501ba2ed59b490a5da2a4aa8c1d486e47779b7e5d76e7f5aaf89a4e06b7a5ed1dedae0308c42321304ab3303b80542b1c67250f9d58219cb18428f10109d8f53236761f8d433c51dd58ba3ff965186390f14bcfaf974daa15386eff00a1d15d5bdd05b9b4952581e398aba6ea41655dbfbc5493b15fb51270733104e76c285fc71caaa5716d77c23884b25adc2bc52211dccb8d3a124002a91f0b107e3e44a8d5cc10eadb89dbf11b496e6da4caba4cf8fda5d414e0a8e446f91cc10474a8d010c9ced9763798e656cf513797eeafe63a54172b832f879b487d4e1d0fe24d62e24c34c7f67f5d9dff00817f3ad6e5c4697440234898ed8dc90ad9fbfad50e02bee0f6f3dd2baa77520c92e8749cacc0f4a4b2f08bfb385e7e1b7659d1a4216562467bd1bf3c67f9d5925701d9b2703ed009dff84ff7cebd70757da537d399b077db656c7d6a5812c716731ed8702e29c6d16d27b70f773cd088e5d6aa911d623271e5963f223cb70fb2dd9cbfe1d032db5ccd0ac8d0ce674c02c09eb91952030040eb9df18ae9bc612378a45918c7194943483f64655b27db24d2ee0eec787e252a2668e40e8a31dd91c940e83c190074228d49d191e9e1f2a6cdf847088b859817258c31222ea3f0859082177e586e5cb7a4dc5f8c7f87dbe1224fb6eb581159426b7895404ce31fe5bab13d7591b63145f6c7b450f0ab395c4b067512c8ee14a2be83ab18c9c311b633bfa557fb2b7d371d92ee0bd778af90bcb2db3c6632599032ca14ee73a17db6f43512e2c99669e458a3c32d1c0ece58c8663248cf3ab277d8ef3224d3bb72e581e836a96c4492426522492230f7aa5d5725d34018fe10a834e77c6e79d4d7eed25b39429ac95d2ae0e9f1f763c59e4a0b127dbd6b6e170460908ccd1cda18310172ac85338e9c86de942c7462b7a4bd0c2e174b31524802503963909179f3fad49281277f0ecda9a4c0dce752875e7b1dc7b50d6f2158c34a0023bb66c6f8c7ead8edcf6c7d6a48c98886d8b2aa863bf346d27ee6f2aa341997f591305d84a58018d80750ebf78a9752c8e5b5782423cced20c6fd09d42a004dbc32f88811ed9d81023932397929e5e95862ca7f56176d51647986d6bec08db15084eb213082e70f269231cb2c9e9fc6bf2ad532c641115f164a81b63500cbf7823e75a349979046db804af2ff005a1db7f318acc6e06e3af8576073fb69cf99e62a1090328fd628241e98dc7ed0fb8951ed50cc46a24ee4641f6fec1fad7a799119cae48c16006e08f8f91ff7569de854017076231e78c81f82d404d24623aefcbe742cadb6fcaa495977033fce8595f19d5cfa54404853c5e5cc25062b9b5fc8d25dcad9d3a397ad5df8dcde1639d80aa03c8af33b81e366cf9536266c8f9262cbdde02e72b83d07d295dd872c7202e4f9532676299caa29386e876f5a5ade29970da989c934c88a98baf21d3064e33d6bd47f124011b4ec01e5e66bd4566794159fffd9";
		private var image:Bitmap = new Bitmap(new BitmapData(400, 400));
		private var cxl:Silder;
		private var cyl:Silder;
		private var hl:Silder;
		private var rl:Silder;
		private var tl:TextList;
		private var filter:ShaderFilter;
		private var li:LabelInput;
		public function Main2():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
		
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			shades.push(new Shader(StringByteArray.stringToByteArray("a501000000a409004e657746696c746572a00c6e616d65737061636500736c697a00a00c76656e646f7200736c697a20687474703a2f2f67616d652d646576656c6f702e6e65742f626c6f6700a00876657273696f6e000100a00c6465736372697074696f6e00b7c5b4f3beb5d0a7b9fb00a1010200000c5f4f7574436f6f726400a3000473726300a1020401000f64737400a101010000027200a20164656661756c7456616c75650042480000a2016d696e56616c75650000000000a2016d617856616c75650043c80000a101010000016800a20164656661756c7456616c75650042480000a2016d696e56616c75650000000000a2016d617856616c75650043c80000a1010202000c6300a20264656661756c7456616c7565000000000000000000a2026d696e56616c756500c3c80000c3c80000a2026d617856616c75650043c8000043c800001d020031000010001d0300c10200b000250300c1020010001d030040030000002a030040000080001d0180800080000034000000018000001d0300800000800003030080000080001d0300200000c000030300200000c0001d03001003000000010300100300800032030080400000001d03002003000000030300200000c0000403008003008000030300800300c0001d03002003000000040300800300400003030080000080001d03001003000000040300800300800003030080030040000f040080030000001d03008003008000020300800000c000040400400300800003040040030000001003008004004000040400400300000003040040040000001d030080040040001d0400800300c00003040080030000001d040040040000001d040020040040001d04001004004000320500c03f800000020500c10400b0001d0500310200100003050031050010001d0600c10200b000030600c10400b00001050031060010001d0200310500b0003600000000000000300500f10200b0001d0100f305001b00")),
			new Shader(StringByteArray.stringToByteArray("a501000000a409004e657746696c746572a00c6e616d65737061636500736c697a00a00c76656e646f7200736c697a20687474703a2f2f67616d652d646576656c6f702e6e65742f626c6f6700a00876657273696f6e000100a00c6465736372697074696f6e00cbf5d0a1beb500a1010200000c5f4f7574436f6f726400a3000473726300a1020401000f64737400a101010000027200a20164656661756c7456616c75650042480000a2016d696e56616c75650000000000a2016d617856616c75650043c80000a101010000016800a20164656661756c7456616c75650042480000a2016d696e56616c75650000000000a2016d617856616c75650043c80000a1010202000c6300a20264656661756c7456616c7565000000000000000000a2026d696e56616c756500c3c80000c3c80000a2026d617856616c75650043c8000043c800001d020031000010001d0300c10200b000250300c1020010001d030040030000002a030040000080001d0180800080000034000000018000001d0300800000800003030080000080001d0300200000c000030300200000c0001d03001003000000010300100300800032030080400000001d03002003000000030300200000c0000403008003008000030300800300c0001d03002003000000040300800300400003030080000080001d03001003000000040300800300800003030080030040000f040080030000001d03008003008000020300800000c000040400400300800003040040030000001003008004004000040400400300000003040040040000001d03008004004000320400803f800000040400400300c0000304004004000000040400800300000003040080040040001d040040040000001d040020040040001d04001004004000320500c03f800000020500c10400b0001d0500310200100003050031050010001d0600c10200b000030600c10400b00001050031060010001d0200310500b0003600000000000000300500f10200b0001d0100f305001b00")),
			new Shader(StringByteArray.stringToByteArray("a501000000a409004e657746696c746572a00c6e616d65737061636500736c697a00a00c76656e646f7200736c697a20687474703a2f2f67616d652d646576656c6f702e6e65742f626c6f6700a00876657273696f6e000100a00c6465736372697074696f6e0000a1010200000c5f4f7574436f6f726400a3000473726300a1020401000f64737400a101010000027200a20164656661756c7456616c75650042480000a2016d696e56616c75650000000000a2016d617856616c75650043c80000a101010000016800a20164656661756c7456616c75650042480000a2016d696e56616c75650000000000a2016d617856616c75650043c80000a1010202000c6300a20264656661756c7456616c7565000000000000000000a2026d696e56616c756500c3c80000c3c80000a2026d617856616c75650043c8000043c800001d020031000010001d0300c10200b000250300c1020010001d030040030000002a030040000080001d0180800080000034000000018000001d0300800000800003030080000080001d0300200000c000030300200000c0001d03001003000000010300100300800032030080400000001d03002003000000030300200000c0000403008003008000030300800300c0001d03002003000000040300800300400003030080000080001d03001003000000040300800300800003030080030040000f040080030000001d03008003008000020300800000c000040400400300800003040040030000001003008004004000040400400300000003040040040000001d03008004004000040400800300c00003040080030000001d040040040000001d040020040040001d04001004004000320500c03f800000020500c10400b0001d0500310200100003050031050010001d0600c10200b000030600c10400b00001050031060010001d0200310500b0003600000000000000300500f10200b0001d0100f305001b00")));
			UIUtils.changeStage(stage);
			addChild(image);
			image.bitmapData.perlinNoise(30, 30, 3, 1, true, true);
			var w:Window = new Window(this, 100, 100);
			cxl = new Silder(0, 0, null, "num", showcx);
			cyl = new Silder(0, 0, null, "num", showcy);
			hl = new Silder(0, 0, null, "num", showh);
			rl = new Silder(0, 0, null, "num", showr);
			tl = new TextList(pbjNames, 0, 0, 150, null, tle);
			cxl.value = 0.20;
			cyl.value = 0.20;
			hl.value = 0.20;
			rl.value = 0.20;
			w.add(cxl);
			w.add(cyl);
			w.add(hl);
			w.add(rl);
			w.add(tl);
			var layout:BoxLayout = new BoxLayout(w, BoxLayout.Y_AXIS, 10);
			w.setLayout(layout);
			w.doLayout();
			loadImage();
		}
		
		private function loadImage(e:Event=null):void
		{
			var lod:Loader = new Loader();
			lod.loadBytes(StringByteArray.stringToByteArray(imageStr));
			lod.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoad);
		}
		
		private function onImageLoad(e:Event):void 
		{
			var info:LoaderInfo = e.currentTarget as LoaderInfo;
			image.bitmapData = (info.content as Bitmap).bitmapData;
		}
		
		private function tle(e:Event):void
		{
			var tl:TextList = e.currentTarget as TextList;
			var item:ListItem = tl.getSelectItem();
			trace(item.index);
			filter = new ShaderFilter(shades[item.index]);
			onChange();
		}
		
		private function onChange():void {
			if (filter) {
				filter.shader.data.c.value = [cxl.value * 400, cyl.value * 400];
				filter.shader.data.r.value = [rl.value * 400];
				filter.shader.data.h.value = [hl.value * 400];
				image.filters = [filter];
			}
		}
		
		private function showcx(v:Number):String
		{
			onChange();
			return "cx"+int(v*400);
		}
		private function showcy(v:Number):String
		{
			onChange();
			return "cy"+int(v*400);
		}
		private function showh(v:Number):String
		{
			onChange();
			return "h"+int(v*400);
		}
		private function showr(v:Number):String
		{
			onChange();
			return "r"+int(v*400);
		}
	}
}
import flash.utils.ByteArray;

class StringByteArray 
{
	static public function byteArrayToString(bs:ByteArray):String {
		var ret:String = "";
		for (var i:int = 0; i < bs.length; i++ ) {
			var v:int = bs[i];
			ret += (v < 16?"0" + v.toString(16):v.toString(16));
		}
		return ret;
	}
	static public function stringToByteArray(str:String):ByteArray {
		var bs:ByteArray = new ByteArray();
		for (var i:int = 0, len:int = str.length; i < len;i+=2 ) {
			var vs:String = str.substr(i, 2);
			bs.writeByte(int("0x"+vs));
		}
		bs.position = 0;
		return bs;
	}
}