Forked from: jscdr's forked: Ripple Effect View Diff (1) forked: Ripple Effect jscdr Follow 2013-05-21 17:25:13 License: MIT License Fork0 Fav0 View1153 Play Stop Reload Fullscreen Smart Phone Readme JavaScript 126 lines HTML 14 lines CSS 1 lines forked: Ripple Effect // forked from jscdr's "forked: Ripple Effect" http://jsdo.it/jscdr/xzlG // forked from arahaya's "Ripple Effect" http://jsdo.it/arahaya/meKt /** * this code is based on the flash version linked bellow * http://www.derschmale.com/2008/08/03/water-ripples-revisited-as3-only-version/ */ var IMAGE_SRC = 'data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABQAAD/4QMpaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjAtYzA2MCA2MS4xMzQ3NzcsIDIwMTAvMDIvMTItMTc6MzI6MDAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0MzREODIyNjhBQkQxMUUwOTdDRjlGRkM1NTg2NzVDNSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0MzREODIyNzhBQkQxMUUwOTdDRjlGRkM1NTg2NzVDNSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQzNEQ4MjI0OEFCRDExRTA5N0NGOUZGQzU1ODY3NUM1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjQzNEQ4MjI1OEFCRDExRTA5N0NGOUZGQzU1ODY3NUM1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQAAgICAgICAgICAgMCAgIDBAMCAgMEBQQEBAQEBQYFBQUFBQUGBgcHCAcHBgkJCgoJCQwMDAwMDAwMDAwMDAwMDAEDAwMFBAUJBgYJDQsJCw0PDg4ODg8PDAwMDAwPDwwMDAwMDA8MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgBLAGQAwERAAIRAQMRAf/EAK4AAAICAwEBAQEAAAAAAAAAAAQFAwYBAgcIAAkKAQADAQEBAQEAAAAAAAAAAAAAAQIDBAUGBxAAAQMCBAMFBAgFAwMEAgMAARECAwAEITESBUFRBmFxIhMHgZEyFKGxwUJSIxUI8NHhMxbxYkNygpKisiQXU3ODtEURAAICAQMDAgQEBQQCAwAAAAABEQIhMRIDQVEEEwVhcYEikaEyFPCxwdFC4fFSI0MVgjMG/9oADAMBAAIRAxEAPwCmRdQTsKFzg3tNfqGD4LaMIuqLlpCSOI5KQPfSbkrQbW/WF0C1ZHAYYqf9aUwDzA7i66uonaWzeYB98Ehe3HGlElXu+g6g9RrpiAvw4BaNpO5j229UJ+LieWNTsRS5bIfW/qq9rWqcs1P8qPTTK9ew8t/VkBEfiOC1Ppmn7gbwerkODXyo49qUnxjXO+oyj9W7UhC8YceP10vTC3OmFj1WsXBv5pUDHH+tP0TRc6g1PqlYvzkaAe3l2UvSRL8khl9SbB3/ADNTMBaPTM3zzqAyeoFm4YSNI7TT2CXkdBXJ1zaEEeY1DxWnsD1pFM/WFm7HzRj2rQuJku8CeTqi0fgJBhySq2MnemKpd/tnoA5p1FcUo2MVbqRbLutu9xIc0HktPaydwBLdwPPxDnQkDQDLPC7LMqgFOCdAGV7Xgu0gHiaY4YI+RMRiaUBawJ5gGrHF3CrbM2R/M6Ri7HjSFJs2/DEU48/ZQUsk0W7lqAPVrccTSKiA6PfkcmoAgjBaNqZLcDePqAGNrHOCArpQUbUCYdHvFtINLnAc1T7KHXsFk4C2Xdo5vxtQmphlqyMOFtIqAaz/ABjSgTA5LG1eqEF3YPrSjJLQnuNpgUkcKeSPkIrjag04DLE58aoanqKJtvLAUYh4kZ0SAtfauaccMMqE0XukDdC1qhB3cqGhNoDdbKCUXUcD2UoYSwV0Gk6Q04cBT2olXlkboy3NRyWlHYuURBVyUHAUNC3Jkqo7BxwzBySgqVoTMlAJCagap6EqqrhBcc7RpCIKiB6ErpWFyagcFCVSeCWm2Stu9H3hyzyqhJNBMe6FhKyIUCGg0dowHRb65vwuIP33KlN5Msji36pewAeYp4jhSgcHNRJGShIIODjWcnRJIyaPJoDi7LBacEuwVHcR6cGlPwdq0NAshIuYwG+HPMUSDwEsu40CDDHE0SAQ2/YxurSUy/rTWQmCdm4NABa0knPt9lUGpMzdmhAGEHiceNEEqpud4aSqOHHSeXYKkuTP6yxQ3V4QMEKp7KGybKT472xNOorwcuFA0au3hEIlLSMjVQPBEd0eQXCYomGP8qBROiITulwFPnEr2/ThSaEuNzMEf6ndpqEpCjiTQM0/U7zMylB7vaKW4lqSE7rdAkBx8OWNElVqbDd5yQC8pwH9aG4JdcmBvFwD4i7A4hM6cgqwSDepXcSE50pLqpN/1mQDVqUjJKJG1BIN6c1oaueedIh2gyN3ccyEOVVhi3J9CR24ggoQ3DHnRoO1exA66aR8Q5N5Y0CVURPuuDSAE9tTJUIgfO4Y6sCMQO+nuFAObx4wBLiPhAob6hBp+pSNzKHM0pAy3e5GD4i1MQFqpFqFs6ke1CJe3Ljy9lAtqTGdv1UWkebKfLdmnxIO+g0aWoyi6r1fE7DghxTtogygZM6ijlCF+fEnH7KIB4JTuccoz0g0Ck1dOyRAo5cqUBABNGwggY8loBrMCmaEsIJAIOWGNMQC+ENaBlQaJQgdzGpkmnGpbBpA0rGhq5jt7sqK6kOsgQDcwhwTu7aqwKsMHcwglCvPuqQ0ZAZfDgDjyoCuTQ3BAALsufZQ8FtEZvMiHIfopSLQjN7pxXxAp/WlLKagjO4AlTl7acshqXJCdzwJDiSuJ40pYkpUkb90eGj8wheBP8qpXCGXJu2EuaCpX4k4mpK3z0JRtYVBgSf4yoz1GnBONsbqGGPbh9VNLBafxCm7a5AQxdOBFOBpQSjbkQeVgcsKIIbgnG3A4eWTQlAKyZsbDSg8ohMMO2gcoj+ReBiwocqAIn2mlfyzkhdx7qGpBOQaS1aMAzEChVBuAcwMOBalG0pVnqQmBq4qBwPKlJLwzT5UlSHlveKJBtn3yxCHzF4krh7aasJS3qSMtXlqCTUXZEZUm2MlFrKAhevNONCXcSNmWkrvuK7L2UPBUxobfLvYAAxOJBGdLUncfNtgXYtz7BVNQQrNk3yTD4SNK4oRmBSWS57nw25fCGoOI+unAJyzD9ocVIGQ50xWU6Gv6XIwHwrghOdS1Aq2YM/bZ2BQD2immNY1BzaztXHSF+qrDcgZ7J2L4D21A3ghc6ZuOIX4h/OglNkTpXHFxLV4Oo+BSrmZIJZXyvc57tbzm88aAblgryiooUHGkmDwAv8AMaCi4jHGlMlOuJIPOkDSPF3caTZMyjLb2UOA1FWnHgaN7AMh3WVjl1EaSAq0KzYmn1G0O9uKAvQgDjjVK0Euo5g3lxIxPhyqtyGqjeLc/Ma0k08CtGoW25LxgQWnie2gkhfpcFA91BTdnoBSglSD9FLahbmASAhh5FcDRoUAOJChFbxTOiQifkCPl4Y45Y1EhCBXvCHBTkUobhiSSBpHICT3CiZJsoTYG8qTx+qgpdkCSajgpJGAqdxTTerQM8vRxxAHGnuBVBXPdoKEuXMH+dS3ItrWECOlICEFezL3UC0PWLNqBcgiQHiK0NbhceytOGgFxz50SRAY3YfCugAfhRSO+lI4S6BDdgOkImHKjcOCT9BcQCgA4fwaTsG2TI2F2YRBz76FYNpq7ZdKkaUyKYmnItpE7aAuTSc1IoNGsA7tocpCDEEqDypozgXy7QvxRgrmTyqpKSnUCk2eM4aE5lEFKR7UCS7PESFGI4DH24UCaBnbM0ADliT9VJk2RGdl1EELklNBUyNkeACpOSADP205G1gkbtM7XKCQhyokybaCYLGeJ7XKHacUc0Ee0FVqbLcjat4sm0Mrwi9lZL+m21kGMbGWWrHNa8twL3AkjUeKIOysuOrph5krm5FyPCS+RE21YCjowvMCtjAlFhbPwc3E0ioN37XEmpjsQcRRIQaHbEQh4I4BaJFoanb5GgluXEmgCI2bk8ceAKHhTQ+gM60iI8TAeCJTZlAK/bonHIBcXHh7qRctC+TaY+bU5UyquRXLs4bqQLxH8Y0mxNpCqbaipwLStIrcoF0m3ygq3EH4STUwKYQC+0emLVxxFG1ol3ygaS0LghaQG+3Gg0b3MFdaHMElOGVStRbjT5JwceAT4TnVMlOWZbbSNTSEHOpkoMiZI1oRQRg4AkqOwVQhnC5zANLiCUGP8jTTDZXoOYJn8TicatA0hlG9zgBgNOQ7aZnLJwwuaingF/pQBBJa6g4aT20AxdNZnLSnPOk6yDb2/UWy2j2lQ0nswpQVe8aAMtsTqQJjiMuyoHIK+FwCFmBwLeKjjREgsgz4iuAK4UaE6XBXwkKUOoKiZU4BxIK6EuzHspOsDSBX2zg04FDxGS1JUQDugcGkAAHnzpQLce1I3QoqqmGFaQXgKbcwNCkjDDhRBSS6G/6tbMdwceQ7KIBuDQ9QWrcUB5jmKNg1LUg0nU9uFVC38OZHfRsJ39FoL5OrbfE4NDfpqlRB8xdN1hb4EOQH31W1CbAXdXQOUiRAnwkpU7QyBO6tjKlrgcOdVtFDB39Vtc5oL1aQaNpMtWMDqRp1N1qo9gpQayYPULSmAcExpwTZJ6Gw3yIlcQvLKiBOSRm8wlyA48VRKUCVV1CGbtCcyEbg0DEn2CgUhbd0hQ+HDNDSiQkKj3K2cAEGIVxNLbA5JRfWRcFTPDiFogJRt81auUteByWhIlGj5oy5Q9qjI5Y0xsidctAQ8VVMaICYBn3rUQ+EcBjTJeSF19BpLQ4g0FuEoRB8+E+MjkKZEwRG/RUcoI+ukJ2giN+zBQABnzoLWc9Ac38BdgUOYpkuOh950TnEtcBguPFedAEZDDjpDsc6Q3WAaS3jOaKQg/jhTJIPkInAnAnin1USVWCD9JY7gASuA+vtqHqCtDIHbJgVZqAODqJBsHk2RyEtjIUJlnTQl8Ac7SmLmErSaY5a1Pv04KpBacKSzgptpSSCxDXeFqOIwchoVWZ7mGssjh4VPPv7atFK86h8dmRiqHiKcit3GUVm46dI4Yk4VJnAe3b3OCJgeIFEjh9SN20lxcjS7DAJTVhqoLJsxcAdKcqJHXADLsblKglcgamEFXIsm2WTIxoioaI7DbQrn2l4UIoJxw5UbZGmoApNtIUacTn204wPetIA3WDyA1rUwJGFRqTD6ghsdObMs6HUpsHfYaiukJwwWhYFJ2l+86UcHE4YgE1tCKgVz7+5v3y0ZlTSSRWgrn6nDUcJccUFBUie46qKq2T7MKeBbmhPN1O7xEyEP76l2RVUmL5OpJHEHzCAueFQ7hCF8vUTx9/EZkYrjR6hN9tWlIO7fy4vVxCAYrRvBPOh8N4eSfzRgE5UleC4Nm7q5xweQFQZ++n6rDCZM3dZcgVTBwPGp3g2mFs3WRQjigHA01YnaFs3eQoriAAQFNPfBDwHR7sS4NPjKZgpT3SNbXqhhHuRwUdxVKe4A2K+JHifj2UNhAUy8eMFOnkOVKR9Avz5ABioGXZT3GcSzPzcrlQlM8MKobRK27uQEa4kclVFoFtMuvblE1KmOPKgUwRuu5SBqaclTJaIHtIXzPcVDUogaUA7pJCTpJPJMvbUvAPJA64naHYEdtUibaHwvHEhr8OFMu1U+pnzSQq4E4BKDLbk+8x2pdZwGIFEjVchDLiVpzPdzqE5Zo1KJWXbmuJergiJVkbSdty3UCFCYIaQbQhs6Er4k49o7aUvox7QqO8aNKnDjQyA+O7gcoOkrwKGiJE3AU1trLpRAORogtGJNugkCt8RBy5d1NYJuRO2kAByceFSmGpELJzXu8Pw5/0psSUBUUIZmMVxBpF6ob20cZRY0NJiwPbezZIBp9yUgeBvDtLHOCtBJyFIaTsHDp9hajWklcT2VO4IjBE/pgOBJavNwFG8bpCAJOlSXKWK1FHOjeRApuOlVUeUAe6qViWmxBddLOx8CfhUcqqShJP029uTXHDhw+2gcsVSbK5hKtK5ZYUQLd8BZLtehylhATFKpDTEl1dyYoFU4Z/UKHhGq1K1eXr1TEfiJz9i1NbIdqCW6vnohKph3d9RulmriMCeW8eW4nADFKmzaJAH3MhBOogDBRnh31O9Cj7cALrg5OVSV/llSdp0Fx5tkidM8kuJRMtXPvqFcJnLMtmKLqJH8LRLNGsEwcSQqrzOP00biCdshB1AEkZknjVJseOobFI8kZY8Uypkh8WoHw51TZQwjBIagPizWmhIPjjfgA3L7KB7RpDE86Sh05DGntayZ+oMo4Ji8DSozIJ5VosoHZ9RjBBKPFoLkGHCh1YSMoobhzmEMIppE2wHttpSiMJJyIpKw4nK0DobF5d4moRkCOYqgtgPZtb0XyffSknHUI/RdbVdETgp4USOYyzb/HZZFLI8Dy50SSrO2VoaDpydoILFK5DOk3I4ZG7pqVytLCDwb9tOYBpsGPSrj8MZBzGFG4IYO7pm5aSWscq/Eaci3L6kJ2GdriTH4eIIokco+/SJVbqacUUZYUsBLNH7RMihQiqOwdtORSyJ+1yAnAtXEdlASyM2czQVU6e3lU2cFLQHdHKxShVOFWJ1giL3tADlX+O2mZNSbsvJWIQTh30i6qQ6LeJ2kBx7icfZRKExvDvWogvKIBmcqFXA0mN2X8Ty5SPFgcaTRUdwtr4JGgtRxXGiBaBkLQAuoEnKoZGx6jO3ldGRiDSHbQsVlfocSuOINDQVtBbrS+geGhxCkKceNQ0bVhljgfbSNaqEgd1TBpqGfKW7mlEU4BcTjSgNiBpNogcpwJTA09BPikTXOyNxJYCqlRlRvZPpoSXGyRnU4salPcwdSvXPTsTi4hgXMlMqqtjK6grN104QXI3uq9yIyecbpp1FwKDv91NvB09SvXLUxIUnhxpFQugnkjKEHxA9qA1FtQqoedBRO1yBukrwpBKYI6GQqCCOa1mykiF8MmoAAAjMJUwKxkWxcoQlcycKIJgnZZyFAGFeBPIUgCm7edQRAnxBCq8qqqY0kw6LbFOI1KOAyq0hpKRrFtL3kI0gDJB9dVCFauRxBsry0AAnLFPtp7WyXaUObfYnhFQ54HFF501QUwPLfYicNOpqYE1SqRa7n4D2Dp8OIAbmMhyoVYRdrToPYOnQ1DoU92VKrCIGtvsbI0VuRxptpmdWxrDtFuiuaAFxwwokTQwi2mwHFoOaZfXRke19A5u37e0albqPxHsFJuNS6pfUIjj22IqXNHZSkGshrZdpVocWFT/GVTDFgPbLtAUB7UBwIT6KFVspQFwybO4f3GY8SQtDq0XVIIbDscur8xrVzBIT2UosS4k3/SNqcC6OdhB5kL7aWQhER2e1DkD2ewjGjIbCB+xWbtQLGkhMcProlidUBS9N25HhaEzUVaYtgDJ0/AMC0AexaHYW0Gf07A8IABzPZSTCOgvm6Xjx0jEYk4fZVKzFsjCE1x0q5S7QiDMAVW4mG2JLjpmQA+BeZAp7yOSuIE0+wPaqMco+Gk7GlXCQol2uRnaDjVrQh6kT7KQcCp5/yqavJbMsbcRkoqN+LP7asiGhhDdTtTAoFUilASNYdweAFJBKIp+taeoSNItzC4lSQuntpQJrsM4NzYAVKHiMvppNEsbQ7pi060xXlRA1I7tt/dGfjOAzVajaaUbTyWO16mI0hzwnNaW0e5tlgt+oYnAAlScSAPtNS6mtbQMG7lFIwkux5ilA9yIZZYXsdqQdopNDmBVII1JwJGQNEMxtbcLJ2xEuGnHMmrRO1M8dz2rnOIKvJUpWzqoLUtimWxVyviLgM2ZL7anbBpVqosdt8vi0Bwa4kEDEEcjzqWhO7b0wCfo88rixkb5HAEhulSg7uVTgJN5drBcsNoYoyAQCfMKgAOVyNzKlEwyxzqdpbbXQ0bsjiWqwgDMJQqC3IMbsD3AAR4qoQY09pDtkYw9NyJjH4jnhQqoc4G0HS5ULEf476qqyCcajmDpUOGERAbh/CVW0nfLwPbfpZgzYi9mXvqYKd5G0XT0LANQAT2VVWZww5u12cQB1DHEiqFHcJ17fAF1t7Bh7aUMZA/etuhbg5oTMDjT2jgWT9XWcQIbKEHCntSEkkLZ+vII1a2QEjOiEwyK5uvWOCCQgjMg8KpWjBLYDL11ISdMuBPhINRuRUAv+aXZVJ3Accc6Ny6ApRs3qy+fh5rjxbjgaJQ5N/wDIdwfpLXux4LVSiLPa0Et3ndE1AyouFJNFRuYRHvO6ggh7gEyxolCTgnG/bsvxyYDAnKmoIs8hcfUu7tykkHDFcKnBo8IOj6z3ZuD5H+Eoq50QmJXcQGs613Nv/I4laaqgfJGoWzr7cmIr3ENORGXOntQeoMm+oUzyDIwFvDBKjYhttBzOuYHgEtQA+MgpRsFvGUPWVi44lBwX/WjYxPkgbwdQWFwhEoLiFxx9tQ0WroObcWk2Ra7VmKnaxNJsjdZWcwODVOJogEgCfYbV4UAFRhgMKNzFhsRXPTjR8LUPAFKaZTQnn2It1Izv/wBa0kzbjUBOzjIf1Kcqe4E0yM7YUd4fEMjT+RjDki+QkH3SeQHbTZasa+S5upQ/UuAGA7e2loG5EZ81hTEIiHvplEjbqZhIJIHAr9dAnlBcW5yDFzi1M3nKiArgcW+7uAH5h4Ecal1K3DyDfnNRpkLudTtBvqNWb8XIdRAOOeRNG00pdSSjel1EvU44k0bSWuwLLurDk7PHHlRtJsoRw47eXfdxbwq5NYMt2gu+6rsy3/Wk8gkSDYi4DSzBOIxpTAm2tCVnS5cgMYdhyXOgnIwg6SJcwOjQDPDKptoWrW6jOPo84fl4jPDhSqy0tw0i6PDAujIYORKqSXRSHM6dtox4kQ8z9FKSEjf5GxgDtQb4ck50nJegruNx2+3JLS1RkBh7KtVZEpFeu+qIYS5A1G4pVQgWSqX/AFs9hOl6DuVKcISs0yr3XWly5dEhAK5lMKlXRq1JX7jqe8lyc5cceFRa+cEwKXbruU6I9wC80/lQ74KREXbjMHFXlTnjUJid5cE0e17hMiMeR9pxocktjWDpm/k04OUp4SDUQW7pIdWvQ+4PIcY3KqoRhVwZ6ZLDb9BTeHzMAeJw7apIcyPIujIYgDLcMYOKn60qoFI5t+n9lt/7t5GC3Fxxy5U9rCIHsFl0tGgkvogmbnIv10tjCtkxxbx9DN+O+hC5le7FVpPjv0F9qG8Nr6dy6SdyhGGDV/rjRs5F2GnULbsHQchPl7tAQikFwX3VEWKmrNv8R6Rk1Bm525HFHj66Jv0QntNz6f7BMUtr+FwTJr2+/Onut1QvTq9AeX0wtJf7d1G8H4fEDT3sr0wGb0nuE1RyNeAuR91D5Y1FargVTemO6wrpjLmnM54IvBaFzSJ8dlohVN0HvEZX5Z+GIIBzq1yLuTal30AZOm97gKiGQ6QmkNOdR61O6J9Hk6IP2/Z+sJ3lu3bPuN8ctFtbzSp/4sNS/I4q/qskXXg5X/iwh267ttkht9yhls52KHQ3DXRvahQgtkAOYNXS1ORTRyhWVqOLY+g2teo1Vsox4O4U9nw/MitoeUNmbvDImPahONJ0jRlPkzofOmifiQO6pyg/UCSMidjgp7OdUiogDMEeeaZEjCnuIdUatjbiM+Jw+iiSa5J2WcL10phmSn10Ng6wyOXZA9qjArgFp7hywCbYziNBI7qNxcC6baHtJJXDIHOnuItKAX2ssKKqU05CrwRskkYqlE50wTlMJbclG6nAJlnQTXUI+eeEK8EFKDQhffPR2pyH8QpwQq/c2I7a4a4qcRx51J0NwpH9s6EoShCoE5UhKdR/B8u4tBaOQJqSug/t2QEYgMby7alyNDRotWgnUxuGRptSN2TI5LuxY0rIxqDBAUwHZQqwJOBNe73aR4C6YoHaPpSrVJE2in33UYAlMckch7HD7apVJ27XnJQ9y6kuFdmF9tUkGpS7zfZ5n6QV9tZ2b7glkQS3N3O4lXFpwIqHc0pT7/gQN226ucBqJdm0k0nZk2rVPA4sulL24OMRLThqITCpfSBqyXQuG3+mt5OYyLdyOpWcCvcvG3+kMzxqkiDW8HaSaZK3ssjPTfabBmq9niYW/FqLQF5YmqWdEDpHUDmtek9tUB8crmnJqL7CvZWi45JmOolu+orOIgWdkXkBGPcg+qq9OvUTW8rN11ZvLtXy9vHCCoHhJ+2ljoVE6lau936pmVomdGoTwD6s6ne10B1S0EksHVFyUNzO45orvalJ3t2IgG/QOoJtLpJLhw5lzqndY0SqSN6S32U/251cFVqnuJol9BxPQPh6F3yT/gnJ4HGkr27lKsf4jGH0735xJbDcDBS4g1W99zK1kmPLb0035cWXKnEhHZ88qHzfEaS7jm39NepQhElzGF8Pxe2mub4jhsdwennVrEdHuFyxy8ScPYaHy9yXVyP7To71DjMbbfcXyuXBrnKv25VL5o1WClSzwlJbth2zqmOI3289d7ZsWzNe6MX00vmiVzfiEKOa2TTxLHO08Rwrh5vcWnt4uJ3t3/xPR8f2y967+TkVK9nlg24+vvpd0rBcwT7/ALp1puEXga6xjbFascubpJAC7saGe2ua1fNs5valF2j7j1uLg8KtVtV727/4nGd3/dDvW6ung6a6XtY4o5C6CbcZpjIUGAc2NzGkD8KClX0+Nza1rfyHyce9QqqvyI9m9bvU4tbJ+qRQvlP5draW8TdAJ4OcHO9i1or8NsbSacbrncWO89WPW+6jDLTri9sWrpEUT2gMxw1FQG/9xpP06qdiJte6f6mcV629d/3BbVKyC66/3TXYOVsN4y3nI1EKGiaKQI4chWFuSq/wRouSzw2yDbP3Jeou9W8VpvFhsO6XeDWbkdk22CZBnqktbaEv7dQJ7azpz14/0yvqx38at9Un9ENY/WHrqe8MLjs8rGRue62j26CNrWxgOcC4RlyNGJPvqeTz7LSS/wBjx3cNL8C/+kvUXVfUHUG4R9Y3O33WwbpMyC33Lb3uZJtl1cPZDbNdHI0sfDJO9kT/ACyCwuB0nMcn/ur8dkome5d/YuO/G2oXyO93fTW6WU88EkWvyJHxuc06gXMcWlCMDlmK+s4+RWqn3PjuSlq2a7CuTbJV8bXAqjRjh7KckKQc2UrMeGRBx+uqLVYMGKRgUN0kjIDCmRdB0T5AAoROC0iRnG6Nw8YAXiVNI2tobyWUM3iwKZEj6qTBJNCm42lh1HQO09lOrIso0K5dbORqIaijAhMapXIhlfnspY0UAHmMq0kppAJB7+FJskic0oSz4uIOKdtAaaalDttxIAAeSh44JUrJul2ZY7XcQcDKWcnHJfZTHqP23t0Wwx2ojfMWq575NLC4k4KRgAKUZH0hBRu9/tg0XRtEeMreVkqBeLgKITDc1g0m6guIx4y1f9o5VUGdk3qL5+qhp0+dpcM+XaKFU0SUFZut/bKqShTx7KGyUkmVq7uRINRIIOZB/lS3jFgZM8pE56HBDkRUu7BsY2u0SzorGu1cVKk9wpa6grwW/bujnzaXCFyfiLSnvWpwEyXqz6V26zbruZGghFaEXChJth0yNzuux7Y0thtBI5uRd/KqVBJpCm+9Rb2IGOyjbAmOprcO81a469UN3ZUb3rPersu87dJwHYBjHEdowBohC3SV992ZyHTXMkr1VXOJ+s0brLQGn1UkkNoJ3YA5IOdVPxJbSUvA/s+m5LktRr0bl/SsrWUjku22enr7ggkyFpxco+2o9TsFaNnSNr9LYBpMjQccNQVai12zVcJ03afSva3+W122suXHBwAK4diVl6j7wbV4UdR2r0j6fYGSXvTk0cbULpPKXDihe5g+msXy9mp+ZrXgXVF9s+g/R6xjDt0t7q3I/uDyAnva14Hvrk5P3U/Yl+JtTj4P8pgQ9U2/pJZ20DOjt86U2S9ZIfnJuqbTc7xnlkIPLisb2xxXHxOSvN5+L3m9/tVWvoj0eN+1cfH9+7d8G/rM4/Aoku7bPBGRB6u+lVtLpQeV0Hut2h5kT9SuX31FPB94f6ml8mv7GtPM9qppxO3z/wBxNd7tDeQuji/cH0dt1yPhm2v0wsXMXtZe7jeFP+4Gtae1e5LNuSfrH8g5vdPbrr7eHb+D/mAWTL8SRyTfua2i+ja4a4WelewxNeOIXzCQvMGtf/Xed/zS/wDlb+5yV87w/wDjP0qX924dORxTXdx6k7JLb28Pm3k1x0bttpHG2MLI/VHNGQ1ApV3to4/B8+j+7lT+rNf3nh2eOL8kflx15+8W09Sest16e6TtLZnQPTvzEdruENkLE72+NxHzd3bNlmb5IRIoXPLXfHID4Wjfi5Lep6d7bu/b6GtuOm3fWsY/iTgHWXqZ1B1HO+W6v7lzJwITK95c4xsCCJpX4QERrQGtyArsv5fpqKYRjXxavL+pSrSSSWNrpZA5zimgqc+7LLsrzrczblndStdqg6Fskz2RQ+cxjYgFjegDnKUGOfvrG150KdFhFsdvNntgMssps5Z43tinlOksaRi9rfCjiiA1K8lpjXC2sHDdy69unblDY2G6SOsmSjQxjyQ+Rrl1FjV1O4DCnyeV3HTw5GTOtNy9VDPN8u9o2WT5F968Fr5hGUB0uAIAK51z/uo+019BtSuhdrC323p/ynTzOkv7hjYrK0HxvmedIAaFLnEkAACua/lQdXFwzWSGz3RlhKWy7deQXb5lvm6VZpa52qGVxcWABPNkcPhYE+NwFc1/NVsyb8Xiw9D2x+07Z7rrHqJs0G3HehZbdaXu8W8jHXLyInvkkdpj/JGi6js5QYwQJAW5A1yePf1vIqm8Sb+c/R8azWuP6/7n6By7JZyuc28sjDK5dYLAMeOH9K/Q1CS2uV8D87trLxIDN0Dtl0wujDWl2YCD31W5on00yr33pY1NUbG5qgprlIfAmUm+9Pbu2J/LLgMRhV7yHwwVW56YmhcfAWkYLpqlYwtxsUzbVLCqg4dlUmKMQCpJFh93lVSRDRgzgjS4aUw50waawweRrCQhCGphlblArnsY5FaW480qzNw+ghu9oLSrRwypyJYEz9vdrKjDFMKpWJZw+HztQAYS3+OdJKDrWB5AXImgoOdNEsfwSS/8bXAAYAlThTGgt+4SRhJ2lzTk1EogmMia+v8AbCw/LbWy0lISWeOSZ7nkcSJJHtH/AGgUZRTaZS729xKLmgXhStYlMSPlc/AOKk4u4rhlWUtGtapoOtYJJCQVAGKglTT3EP7WXba9odKRqcWDBXOpxgTcl7tINvsQ3w+dIMfFlh2UKrHCYxdutwmiIeUzgG5e+rqkggWXm4zEHVMCv3edCFt+JVbu6kleAXE5jAe1Koh1aYvNrcSlAwq84Ut0FxkbWfTl3dkDyXOJwUN/lUSQkzoO0em91d6FtyF4jjUWvBqqtnV9m9Ki0RmW3BPIZ8qxfKarg3Vg6rtPpnBCjpRBaRD4pJHBABzU8KyfI+xouCGWp9t6ZdORmbe+pWyaPijgA092tyA+xaPS5bYSNH6ddSvXnrl6V7KHM2HpyXepo/hnmJcwpz1eW33Nqv2XI/1W/j8yH5PHXRSUfdv3OdRFrmbJYbbscJwaxkQLk9iD6K2p4XEtZf1It5dolYOW7t6+epF8XAb5daXZNgIjan/b3862XFxrSqMX5N31KBfepHWd693zN9LcFxUmaaSQ/wDioHvqoXRGdnbuVe9618oF26bna2wxLlDdWf4Wq7jVNJGbb6lWufVLpq01Fr7m+e1EdE1kTcTji4l30Vm+Sq6lwhFN64SwO1bXtUa46X3M8kqnJUZ5YrJ8tEVRbgI/uR9UrNf0q+2/bkPgMdlC9w9sokNZ25U3CU/M0SjQ5N68/ux9Wbn04uegN361mvbjrsj57aoGQwR2+2QvQGRsUbSXTyNwBKaWr96vH8/zFRQqo9723x7NTbJ5q9LtzsIIr23uphaSXMcTWSvcQHgEq1TgE+2vJ8XyPTbfVnscnC+RR0O/xbNbXUbZba7imIarmNe1zQ0+9BhhWtvJVjReK0sZL/0v0NezQMujFIbXT+XKqAkHIE8D2VzW8hNwjSnDtrks19tTNrtpp5LcPihaS4+EBpCaRpKcuRq/XqlqL0HZp9jzN11c75v13dXO2skle5pbGQ5WRMj8LSgKBM+3jXn83Mm8PB0VpEuDzzF0R1bNduj2ye+lLwWXN1A0OjDSPEsokCKqHUlZvlI+6zip6o6EtndL9NR2ds0OFm5hup1HjmI+Fjjg5Mycsaztyw5Ozj4owN90tnW9pt/UV9JdWW/bzHd3WwXsRa1u37dZaRf38hcHlpdr8pjg0odQb4/h4r87s2ju4+CvHXOr/JdWVxu07pK7abHc7dzN43hrJ4rSd0hdZXO7Hytos3RSL5YlDBLICATGHKDpckyol6f2Lpqq1Uv+R+tP7ROqrDo3bNx3/bd12ix3Tc3fpvT9hummC5n2u1doF5pmMYb88WMkDWP4LpCivpPZPZqc3H6nJVw9P6/gfLe++87eX0+OyaX8I9zXfrbfeTEzqDpRlzEDqjnttLm44LpuY7gOHc4d9es/Za0f/XyWq/x/seM/cm//ALKJr+PmFbb6lekW7aoNymf07cyHxyvtXwNBOQAa+6aAvFW1P7b3Dj0auvmHreJyr/iy6wdMbdvULrrpPqWx32ENBSGaN5aDkuguA9qVS9xfHjmo6ifhuynjsrFM3jadw2xz2X+3vYD98jBOw138XPTkU1aOLkpajho53uFnts6tMYYTj7a6FJntTKDumwRo98RBbyStUYejBzy+2sMeRpQpy4VWhnahUbu0dG5wC4KQnGtKvBlau6wpe4sQEOJGAwzqjFmwmLgrsm5nGk8DTDWRteAHBVoTkGYl2djgrGp2pS3BtPONvtDmkNc5eaBTV5N7WzA7g2dztP5chPDL+lVoK0j2HaJIgDpcEGP8JSkMxJBcHy2aHtDmn4g5ik/bVJC3MqW4wQSOcI4PLwxKUPQFdtlOudsVxwxJ8INQ5LSRDDs79QKDDiOfOoaYbmtCz7dtDmgOkah4E8qFEg3JYWv8vwxoQgQca2WBNSFMkciuUJh76JBKAa6vSwFrHIRhyoBsQTSmZwHmHsxWkmDDLW21lodKXEfZRZwIu+z7YHyNaZmAYYvRMssamZIjMI69su3wW7WOMkTfvFQKyecGtS4Dqex2ti+dE4tzREHJTU+i2arkS1El96uttGuFu+MIcwMauvDAPyY0OW716vbxuLzDa3sxe4JoaUYO4cT2mtVVIxtzWsUC83MXDn3O67rJcSoSWOJIAPBK0dm1Bk3OehW7vfbUK2CXzAB8TVAqMItRGBDPvgja6UytjYM5JAQKN4rKSq3nqN8uHR2UQvnNVHvJbGD2DjUW5kmV6ajUpm59d7rfNLZ711tGc7aAaGE54kY+81lbyOiD00lLKVc3jpVcHHx4klxK++sb8jfUSpGgilvZAZGhoVvdj76zktIAfdz6gQ4qmQwzqHk1hJAV5ey2drdX9xK6O0s2eZPI4o0DtOPE1N+TZWew+Lj9WyqnqeRN+3276k3283i8Rsl5IC2IFWxxtRscbexrQBXyHk8vq2b6H2njca40qou+yRPnbGY1DWjwhowBI4VzO8Ho0qzqew3M+03LY9w3KKxs7hrWCeQko0Yu0gEkuTANGJNQru71hGtqqqPUO3eu15edPHbdtZ5M1pKYrGe4jAa2JmDWwsDQCgGL3Yk1ly80W200NuHiSpNtQdnU+5b3bXEF3Oy5NwNMhejGgvx1KO2p3WWpVkkpSEl10RDLamSw6jitXPBD4FDmHkHjjiufuqVC1ZNq7uhUHdDXFsLiV25aoS0m5dARC3j94oAvZUX54LpwN6oqVzvttaPkZK6X/GOn5I5d1EDi51xLMfybOA46prhzSG4FGhzyC1prnryWs9q1Zs+NV+5vC/iPqNJ+u92t9+i6d3GwbvF9YgXHqBFbjwNmt2O/S+l7ZwwjhtpUNy8eIzGSTxPgY517Ul8Xp/V/2B2s7w9F+p9PhVfLr8Z7F66F2zdY2WW7b5u9nddUndpt9vLW8R4mvJWujjE0JSPyoYnyMZE5R+bMuD9I+l9r9lfLZcnMoqtK/wAfE+T929/VK+lwObdbfxp2+rPYX/3l1HuDfK686I2PqNkgAN/ZRCxuE5tMB8vAcNKV9rXbWFRRH4Hxl7vkc3hv8yx7J6obbbBek+od16QkKF2zXzvOs3HkmLE7210JJ6wzOXXFHCL1B6wRyhsPVWz217G8J+q7YQ0kfiMZJafYR3VD4V0KfNKyvwLFYbxaXjmbl0R1HJBdQnzGRxSuimYmKIDqCU23G22glyWWato6Rsf7p/ULpZw2zq+GHq/aVIkjv26pk4ls48RPIkmuDk9q4L/dT7Ld1j8tDrp7rypRyfcvj/fU6nY+onp16jwibpy9/Rd4eNUuw3zxqLuUMgQO7iAaK8XLxYv9y7ov16cma4Kju+4XO3TvjmBaWOIINdKUmHqtPJWZd6t7pWvLSVyPP6KLIT5E9FJXL0xuUggtcpHKmnBlZ5krk8bCunBMa0Rkxa46MsRzBpxJJPDcN8DuIw9nvoSCSxWdy0hrXlQT4V5VLRaZxuDbdBTy/b/UVo2XA1ijEbVczAY6u3lSHMamZr2Fsej4SQe+mkU3gUT3NrKgIUkISf6VUQRADLYQTNLgcz8IH1VJpVKBe/ZFKeViffTkyaC7bp7i2LU4HA50tSlZLA2Z09dOBb5fbSlBlmzunzC0ulYSApNOQ2spe7T/ACznMjCEZDOqRKlMpk019M/kHZEfVjU71oXDZLFa3jkIJcT8TQpI9tJSNNFm27br1zmpHIABmhxpz3M7F/tLK5ga0vglBAB16SlLchoA3XqM7dGWgzayo0Yn/QVW0Jyc3veo726c4G6ewqrYVQJzp7vwCIYqMl/c+Fhc57ji4k1DY/8AHQxcS3ljEWggOcPizReVUkJPBVbl19NrlnunNa1VBJA9lTa0uEECW73Btqwku8zuzXtpbo1HMdCo393NflZbl4aDhGSjftrB2yaOi7iSZkgaWxuGhpUgceedZNEITyTODnBsTgn3kwqGabpBml8rihQ8TlhUjTUE/wApG5TI9Q74iT9VAo6m4fttuDqaJHHAAIntJphZwjm3q/v0LejJNvtmsiduN1EyQNRfLia6Q4hMNQbXL53IuPhtGrR3e18H/crHkuNmKc6+MbPsqVg6n0rIFaAUGAwPHAH6K57uDu4lJ0ebp+C83OHdiDK+2h0QW5GqKMlS54BXxFM653yYg67cCncN7mK+hga5sT4xpKuaPCAf55VCgpoJ2/c93kabFsrmsamkkBUOGJ4UPkgaruHkLt2swNcxDXYFwJQ8s8gK578mTXj4WsMJiZvnUE0e12joPNudTn3Ez9EMMbG6pJZXH4WMaC5x4AVx8nJDO+nFAy2rp126XtrP0zC+8g6XdI3o+N7AyN25vY35nfr9uQdGA10bCSGfkxjUjyerwODyPKt6fGtdX/Q8/wBz8nh8au+7iMpaZ7gjPTc9PQG3tg43Ej3PvL8l3mTvdmVJJ+lTitfoHhexLx3u5M8n5I/OPdPe7eQ9vH9tf41NI7TcrAtEcjnRNOLJBqZhngVr2U3B4MYlFp2nqLc7RwYJXRhAsRV8RHLSSS32GtVyNE6nRLDqB8zmF7GtfgSx51L/ANDuP8YVsryhzBcdu6htVEV0wtY/DWzMc1rfcmTZKZHbrK7a0bp07uL3OZ4iyNyPHsBqk0viJyxtZ+o1/Iw7f1DCLrygnzIADweZwxoTqTD0wQz7k23mZfbXclhB1NkjOlD/AEqlZFpQdn6U9aH30EezdVSOnAGi23Jx8bDkNROY76zfGnlDtfuOt23WSzl1xy645QsUzMQ4EKKIMXZoXw9XnCKV+puWmjaCs2MDvcc2LZAAKUBuyYducT8QdI5KKcGkoF+da1ziHIQcB2UE1CY91dl5hCYjE4c6aB6if9esmYagwjjnRtN24Uiq96it2tPjHHEZeymqgkralGv+oGvJ0SFMhVYQsiePfH6iXTOCfCpwqLWFsXcsu37yZSzW4KcFXj2Ch2QlVl+2l/zTmsXW4n+3mStRdjq5O1bL01ELdlxeO8uMI7xDhxrHe3obLjTyzO57hstjGWWtobt44uRrR7KutW3kdrpHIN+324vHGCICIOzYzADHsrZJVMvUKDLtkr5C+5XHEniaqZQtSX5DbowNEUsryPE5waGrnhiSnfUVbXYpqqWrDrNjmOb5duBzNUZIt9pe/LMD5ImtIyXPGodZKFu7dWyRtRukIoJ1EVVeNLLJdm8HObjqFl5IQ5uLiU8WofTV3aKqnKDLe222QeZPG0uRQrUWpSYO0uSa4n2TbbOW4LWNkAAZGuOPEDsoaGrP6HKtw3Z88plaWmIHAN5d1Ta/RCclfm3GCUnxFpxxHHsNT+kqGK32IvCCHheZyx51GupT0IJtnexn5jMB95oBHdUvjTFVyhFc7U9mLWPLM/ZyqWnoSlDFc1k2VvluaWvGQI/lWO1p5NU08CW5YLTELpx1HhQ6jaQguruZweQ4tiTjwqJgn+RU77dTENDGnUVAIxCnjXNycjrk3VVY4v15uU0/ytvM7zkZI9CVTW4BR3aa8f3DnbrDPY9m45W5nPoGAyt8QCIRXg2eD6njUsvmwOdDLG5o1FyANAyXjXJynfxJVPQvSjReXkULnkgga2tGKZvIwzQYVyydiyd5d0fZXTHRSmMThwYNITUwNUkNRFYcCuOIpWT1KhPBSLvpVkTy1ryFJALAFQZ4Vk7G1aKAmLpyCSzZL8vcam+GPzwBrOPw4451z8nKdFOOcmtxsMFtafortwj2243uVn6pcK0OZAEe237GggPembg0ZNrmVr2sttZZvZUoptZJHVtk3TpXZNkt9p2DeWWsVm38+2v7W4iM8quLni5t3SsdqJLgZGsOJ4V+sf8A57wP2fj1bSdnls/IPffcF5nLbbb7a4hhT5rPcml2qKZV8Ub2uRccx9aV9E2rHz0Fcvun4n+KMah/GaVFuJQOZKxPsIicCWKVwQfVhWT4zStYQRBtzomBWHTmw8u6nWsENYgbQa2AiQLijlzI4VrJA62+/m2+Vs1rOWIfEAfoPOq3YLrHUebg6PcYBeRMayYBZGDmONP5GcdREyd5BjUgHNvI9lDDADLuM1nIp1OGr2HvApSyrQdZ6Y6xbc2fyVzIZbf4QT8UR7+VaJyZqhNfXZti4unDWjxMeVxbjkg41ehdVCNYN9uIV8zUxMNJBacMExqZRDpiR1Hvrngo7BPDT0EkFM3kkaSVPNSKNRWlNGx3fSPC5T30QU31OZydTuxR+nE59tDsjd2Ed31NK8IpA4dtQ+SDROVoIZt7kcD4yFGB49oFZu8ihH0O5vc5rjJpxXnhS3C2l02m/lc9pa8khA3klOZE7Zg9B9E3AtS26uTreCuPLhTtNsE1eS5bz6gwtaWPuBDEwIGtKYVfHxqppaxzm/69ilJbG7W38QxwppIgSt36G4cC1rtfsKLVJoTQ9styhmc034lvWAaR5kzmuGGCPc2QoOAT3UmKYfcdR21s9zW20Pmh5watSU3JM4iAEm2YzTmueHBBRqIqu7b/AKNUcbBqIIOkKe6tFVCWTnV7d3+6Tl8sj9LlUyELhhjzwqLWLpxt5CrS2jgHmPhhdpyVStCBKGD3u9yx+GOJsLchiv0028E7Uijbpfvu5X+ZOXuZk1Vw7m1FrPQ0rWosiJlc78twaEUjDHkhqEoC/G1lDq16WO4uDoiQ4f8AGQQq9lUk3klt9WWRnQW4WzNU8bmQgIqJh20KonaDAsBaEtiDnaTk4KKtKCXjQ+NpbXPhewRScFHhPMUyrQL7zpFr2622+nUMHtAINZ2ruJWCp33RD7jVE+PAjwygce01FuBtYLV4wzmu9dBbttz3CWB5tpfgmTD31zPhcltpFF3bo29iikljie5qHzHacQRia5rcTNqqFDf4Hm7ryC3j3+xtI9YfFtcJutQCGWZz5vD3Ne0d4r5v3NtWUn03s3F/1FUs7YOmDXMIGoaj3dteLZnv8ayXCyibBIzEICg7zlhWHKdtKneegbzb/moW3L3sgDke9hDSjmFpJccUKoexa4rODrol1PbMu3fM7Uy6gMM8k0RdrZI2QO1u1l4cPCQ44oCgwTIVatgrdVMptz0put3MwMh/LlQmRvhw7OKDnXPZNnTVSsDTafRTe9wuQY+pX2VtcSB5RXSNXEhqqB2Vx3re2Ejp+2nXBD6rel/Rfop0j1tuk0jd66gutjfbW09xL5rmOu5rMROYSuiRXPYQnBwyr1PY6Wr5CtbK7Hgf/pLUfi2VMPv8zhXp/uU+4bdbXOy3LzBqMcsDfjikAVzHtcCAUx5JX6d4XNXmzX8D8q8mt+JqqR2yz268eQ+SIuk4u0hT7q9WtUznejZZY7KUgBzARliMR38auCGxdebS4IrEIVCBmnOk0ik2RHZybYnQSgUcO6hVFZ6Cq520tCkaUDVHs4rStWCdyYllhdGSmAOQHOkNMO2m9MUgjkJdG/AnPOhDQTuNnplEkQGl33hn9FVBNkKbmISxkPaMCi1nZFLCgXWc0lhcNkhcQGkBzeBH21NW0VWDpkN2bqzbqcXMdhG7k5Mkzro3SFsR8RDLLJG9zQfG12DslFQn3I1ULoGWu4PAAeSEw51UjWRky/VBrQcTxNNWgmegQb17QQCR2cqe8VkmiiXMUblIaARnyrE6tqWYEs8KF2IaFRtTashvnVAXkNLkcq8AMSKh1aDcl9Rna2Zc4AMJwGnLuo2hB0HZrUt0I0Y5uPYeVbKuCbKGWu66ij263MRu9DgxxYjSdTuDVw99aPCCvD1szlG47/dXUr5DK4NXJc/ZnUW5XA4qwKDeZWnxl0uOBGFZ+oNJMtW37jcSlgYrF9+NPeZurTOg7baXt01rjIWBB4noB7zWiu5whOEy1QzQWQAn3FxkYFSIaiKsMdMi+96itWYRvmc4hFcEppBBVJ92huCdYcJHZKPrNDYRBPDBF5Zn8sOQaiCcqjArYUgFxuM0uplpE1nIg4fTTgpSILlm46CZXMeHDFpIXHOobfaBtLvIkhZIZfDbeYcnBpxNZTLLaxJarO3tmlrjaubJgNJyXnxrRIzmRzc9T2WwxDRAZbx3wFgQtrRY+Q32Yld11ve5yeXM90sRJDEVQO3nSXJnCIdK9xtBabpct8z7vbmPZTl2ySsfEcQbJdysGuMPIxcXHOjKBw9R1abfuu3o75N08CqYwNQKcqqZEmlodC6evOhLkxxb9r2aYlHumhc+Mr2ph7qx5FboaJ1ep6X6P6S9Ctygczeuqti+QcPz7adz3l7Tnpb5ZIPtHZXn8/Lz0/RVs9Dgpw2/VZFH3b0R9PerpOqNt6Q9M4N42i7eIdgZuW+MhbLEC0unl/LHlkEHQ3zckLkxFL9xetU+R56wv5FU8WtpVFjpLPzW/c7+1f8Axbad99Q9w9O+rOhto6XsoIz1OyTbr6z3GWQsZA123yXcd2xmpzg65YSwgMSMrqPke4cXF5Kmibjt0+Z7vgctuBKt4/v9P6n51bZeWgUybdcSA4wyPuGxnHMaPIcvHFa+Z9NI93j5pf8AYdSXdjCGSt2y6c7h/wDLjT/+sKi3HV6s6fWjQOtet5dud+TsTpmg4skukGPPRE2sLePxtalrzLrRHU9k/cjvu32UOznY0sYY3Rwxw7hcxyMa45McXIE4YJSXj07speZZ6nWOn/3FbRaRu+b2nerdbYW1rYzv+YtxpBc54e0CZ0j3nUXOceQAFP0q9zX97aq0aR0nov1r9QN83LdLbbtssunmWPTG9dUbfum5HyY5Lbatqud3jYHOMwjNwy1cxj3lNRA4ikuKNV1MuTzXnbnEle9Ydjm9VJ9muukN2n3zpzfba33O1n2+SfePOuJruaPyrzy2vktZbaJzPOZO1n5uvyw9ugn1vF4OOlZr+vQ+b9w5+XlaT/Rr3P0I9M/2YdN9G+nouNp6kn6xkvL5xvtydYy2Fq6dkELZRbRypMWMVCXhXPUjwivZ9k5WldNQ0eZ7r41KVTq25/2Ntx9H7XamPe6N8D2/Cx2WHAIn219QrqcHzt+OynGCoSdIBjJZXxaIIM53NQDvJzrXcc6lPJWJtnZPM5rYS4rgAEA7z20YK3ToR3OxtEOlGoMHOTBvZTUE6vJTNx2xv5jQEX4SSg9tF2NKCh7jYaHImIqNo3aBMIHxEENyzTBKUQaS+iLG2I3MDHO54p3VSBi66sUa5OHZj76lZJdhDJaDUpwIPDJedLQqVGBztrixpjJBUZdndRoSya6QlyO8XDCh51KSqlhgbTiuXPspk11D2PcEUk8c6pFQiZz3ImRzPdTJ2hVztiOdpagVS4YjvqnXBruaFEm1OLnEKUGHatZWUDT3GBszyR4BhmUqYkMotO2dOOcWnQAM1ARKdailouY2VtlCXkacM1OVb1rghNtnLepJGSSBjXOe5SNIKL3c6LuEbYbUlFZC6R7mBx8JQtzrk0KdVJZNp2J97InlFykeJopw2RZpI6rt+wW+2RtkuCwPOIGZrVcckymMC90hSOR+jg3IIK2iCEmBXt5HGsfknX+JSo76Q2I5nmUnSwNdzFJIJxAdZWVxJi+0JA+F5ypWcEseHYru4DVcWsGL2NOY9lTuRaQwj6cayIvbApAxcGlR7ONNISiQOTpbarsrdukZIDjH5hjJ7050nXI7WXRDu16R6ac0B23zWzhgLoTtcuGZCg0kmKr3dD696LMzWwbReCUucmouDiPYCatR1ByQw+kG4Rn5i8jF2XH4iRgf+lQforNNMbqEXPQLbBuoMZbriQhx7ieVaVS6EuVqyGCwZbvDfJfckIASCn0U24Js5Rcdss7+YtEeztMfB7ShHvzqXZdyqaMvNlZ73Chicy2GBAe1uHcaztavXJVU0XOwu96iRtxd7ZesxSCaJj3FUOQb9tY2SeUoNFfMF42ncYhNHo2Xa/miUAhtmtk/7dJDj7sKzdJydXG/gjqDur91221dayWcUPmN0Othd29qXg/dkfI6SUr+EIKz/b0tk6vUdUecP3JdDSeqno111s2/7hD02ybbp7zYbPa7yC6vb29tGOnghuYoyHyxyyMa3x/D8QK04taaV0az2K4rpWTt9D+duHpPcbSWOS5b5btJ12pfqLXDNpIHA18Ly8FuKzq+h9bx8tbJNdgyTbZWMLWxq7IAuwrlOpCC6tflzpJOtwPhbSmRMXxMLT4R4lUg86CRkfmJZI5HHS6MgxPDiC1DwIIpDs8Fi2zqG/2S4nvbNsbLi5t7i1uZPEBJDdRmGVrgCAdTHEUO1u5jfZd5R64/Z7+43pv0N9QbrqvqLox+/wBxJbN/xWDaIPmL9+6ebHA6J0Ej2te24tppWNe1HMkDNKguaXVpWTs2HJWVFKn70emn7g9x9YrI9LbN6cTek3UeyWzXs9Pusrqxs+oYLEhoZcjaGPdcstSCBHI6FrXDImvovbbePWW289tD573Li5rRWIj/AG0/0B+q+nbDZ3S3vWu8w3l6Bqj2i3fpaSfxEgPTsDa+k4beopooXdnjXqk4s8nB93u7Te5WtMLbawiwgjDfLjYBlpYMSf8Ac5TyAroX24OLkadgF/S9pJCHwxtiYiofiPFSOHtp7g2pnNuodtFsHBhDY483Ze4VvxM5uRQzjt/KNb1w5f0q7IdXBXJ7Mzsc7B2rNFwFS0ylaBDPtunxaHKMG5/6UQwx0IbJj2yOYpLQfppIbyN57Vr41TUSMqqRIUzbcHAIEOZRPdUKZGwOO3bE4qPEMxSsmI+mgXEHUn00+hMA/kklUDl+HDhSS7l7QlkRIOpRgi8qqOwTBL5ek8j2Z481oA6PJtdqRqje5y8CV9uNWWDDaG6vDGU+2pgJgb2uxMe9vhVTjRCBvMHQdr6chAa4gIM++pYOWVHrKdkbnWdodZYEeBn3VrVwhHIjsN1dykkEDt4L21leWa4gb7V0G+eeNgBLlB0tGB9tZszmDs239FW+02nmzxiBxapcMTVUyNqRZNtlpI+R7JBI3/dnhyWtk4IVewiv3RRu8mNgB4ObQVMChu3vnagQhficc8al6i3IcWWzNCaU8wHFrkLfeKBvuO42WFs3ReXmvi6GAafpNDnoTayCBv2ybaddtYeY9oVJXuevbyqdrepCvmEgO+9VWsHlbbYw2EjU1vbqc72AkAUQlqWxI7ry23Bx/VPLmJz82IqV/wBzXL201ZPQSSIn7zsLiUvpYWoEDWFzR2ZrTkpQjaDqDpy38TOon7dIMfN8uVMOPwGiQ2N5JZeuditSZT1gN2I+KOVz0TkiAipUE3aS7kjPV3oiENE1lePBaNboJ9bCeJEcmXsNJtLRiiUmFs9S/Su+jlI3rdNvvQnk2jrVzmvJzAkYXBqZ+KpXK04wabatSfN6q2q5LWWvU7rNpQMfPG/SPdjWkwtCNjLTtu8WTWNN36g201uviNnG6dyDmw6fdTh9EEdJLjbdS+nsUQ1+onUb7iRp02kG0bfDC8Kn92Vz3EcyGVhs5d3+MfM7aPijrPyQZN1pHYwAbNO23t7iNfNfLLHeTNKjUscIYhxycKNs6k7trwV4dVvapsYXwzyYS3pc6SVy8Nby4p3Gm6zllKwE/q1tjcfOTufuG4IjfG4hqcwpH0VLUlrdP26nmv1V6K6I3yfeeud+il6VfdP87dN0jl0275nIAfIcxw1vIRGIp4LXleb4XFyp2fRHs+F5XJSyR4t3KDYXib9OddmQub8oJRGhjxLi8tAxOCIPbXx3PXjU7T6biteZb+hRrvZjK4kMGgKS5yA5864jdoUSbE2NxdqAK8OdORKhBJbxxuAeHGNp8elFQclwpozvCwV29cjg5qhhJRhOQHNKpI5W4YBb7jE6QxhZDqBieHFjo3ArqaRQ6vvBS5Cz3t1uF1HDcvv7h91BG1kE/mv1tDUAGolWpw0lK24r3VpTz36nF5emiO0+k37qvUz0y3Jw3DcbnrnZZ9Iu9i3+8uLnQhH5trM97nxSIERSw8W8R6vje5cvBabPcvieRzcFeZZR+o/SP7l/R/rParfdbfqyx2W6eon2be5orG8t3AojmOf5blzBY93syr6fx/cOHmrKtB4/leHycb0k6lZ9XWN7DHd7bdRX1lMNUN3DK2SJ4/EHtJDu8Gu6qVv0tM4fU2uHJSOrN9triN7GSefKR8LfhBzrWlYItbczjtwusyTeFcQwcauZY0kwqys3vPmTANjHA/RVNi6gO7Qte8xQeLg4jClqhoU/I/Lxlzk1GoaNEzeBXOQE6e2nBKyuwxda+DVpAByQIlOCN+SvXFor1DUHKk0WDfKEggBccQedKAabWhsLNwAIGdVVZBTEEzLTIKqYk1UA0ZNouojDtONZtZFvjBbYtzY4K0gjNxw45ZVW5Gowhv4xnm7MUJyPQcWe5wtIGAT73GhoIUQO5OoxDbSCJ/iAwGWJ450kgrBRXuFy90kxVznYOJUn21VssFYOgbErWM8IX8x3EilBDwdF2ncNv2mDU0MkkI+9mMKzdJZUsiuOoreZ7pZnq0FTFmEHCrShQLdJTd33yzvSGWo+UQeJMqdawTLKq+WLFrX6if8AkCEpzqh/M1gl8ly+aJWcY+C91QykkM37i3Rpjk8pcXPaAq0ShwmhReXM8jSInukKFHGmmJVRWLiw3y6OmBw04r5knlgDsNTZ5KSSFZ2C+iOqW6a9Sr4y7Ee1KmCZCXbNrA/PhiTDwuV3tJKUlRjbaGEnR+3XVs642nrKOO5to43bj09PdWZ3CMvcWeZFBnLESFVviaD4mgITy08pep6d8P5YO/k8TbwrlTx1XWRUejQSp36WQjHR5A59jhXU+P4nn1cvU1t+iul45WSb9t3UW5sklYx0uwOso5Y4yfHK4Xj2NcWjENCastTc6jmpZL7YNKWpP3Jx8P8AUeQ+nfS8U8rtvkuZ4PMPkfNtjt5nMXwmVjJJmNcRmA8gHImnSiVZepN4nGhcrPpb02tI2/5Ba7WXtIPy7LlzrjSRm5rWhBhzpqucBCUWLXabj6HbO0m2t3STMBEToofOkaSODblY3dzmkUejd9Slfa8ZFh6y9BbS2tbXqHd9wbvDpjFZbnebfZQ3LxI5ujzDZR2kBjYXABztTmhcCBWNnfi6SjetFdTdR+H9CoX3UPTMs15bWrur+rYDcvlgBmdfWTXnw67Zks4LGkBQGtaE4VrTaspQU1OG5/j5jHYOj/UfqF80vSfph1TeWLB5ksp2t8Qd2+YpjJRT8ZOFTbyOOmG/zHXxrW0/kOm2XyFwbLqaLdto3BdMlg6ymRicHykNYMeRNVunQNqT1Lntlhth0usNuF+FKvL2gnsThWVy18Avqnoaz6w6Z3LZL63G1QbhGGOmlt/nmRoQ5RCHsGoIrXKENZci3qH1NeG/p2n/AFPz0370F9Qdq3C8Zt+yTbpY2rj8vuEckOmSNfCdPmEhxAxbwr5Xy/aLqz25R9Hwe50suxzm86B651XUA6V3cSQqyYi1eQ13YgQ+wmvOt7bzLSp2fvuOMsT710B1F0zs1r1B1DEbS03CYW1vauOmcSOBPjjIUfCc61/9Tyrj3shedTftk59ukdvFbx+S52Di1+tPCTiK5Hw9UnBpfk7PJWerNtdtsNjcWl5BfxXFpHcXToXahAZDp8qRUOoEYgVXJw7M9zLjs7Noo1k7NzvixcorKwWipcm3PmQRRl5aC1XN4EBMxWnHTJxeTyqAO4gjc0OdCJS8eFzQhCHNRnW7pJwUumo6klvI140SyFsYBc5+kuLOQDcFWs9iUwdC8ho9Xftn683Sz6gPRsW5zt2G/s7mSLbXRNZouYgZzMXNBJBY17fEeQ4Cvb9k8m1OVU6HmebWvptxk9wfqMYjSAa5DnK/ErX2iR84qxnoC21s6aYzynVipX+VDRb+14Cbm8VIbc+HJ7uKdlCQlbJLbwMjjdNJpQBSTiooYrOWVa/uhPcOjgaQFQEZJSgatGhYto2aWbQ540tGK5DGgLWljTcIY7eMxsIK4UISokVl9upOAC5U4Kln0Vk5w+A6jwFEIJYx/SpA1fLz7KKwKWafprxhoTm4D6KbYpaIXWLtJOgrlqokepy+HdCCPHgMFrBWOu1IsM495QYydwJ+qq3CtUn/AF5zMdSBeFG8W0hn6hcWgh5B4lUo3i2j633cSWzHA4kJj9dFbSNqEbjezG13BzTz/haqYEknqAzdUnUjnEaeRqXYcAp6jc7/AJSATwo3idYUjq3uWXMZ0Ste5wx5LQryJC6WWe3eT5aDUcR/WtOgLUhddTyOHlyCN3b8XsqegX1waCeVhRzyW/7ufZUoGoDG+a74JkU4NFWCJxBdPb/de0j7wKUFQafKINUwMhGbn6gSe1KJJhSaMhgjJLbMSuGSuAz4YlaVi5iRha79vbGbjYX3RfSzNtuWt/Tr+3huIb6yex5d5sc0T9Uhc3wObO+RiYtaHY1xW8Z+orKzOunmOtNjSgiBmIRtzpLkLQGI3nmldCdpyjPmrx2W7Rs+ZZ7hIXESOcwYucZ2tTt0lDWrhM5NTZ4kdpb8zGAuOrEH3UDmAWWO1a1+u4jCk+IEjE++nlimSvSv24PQ3Ae7LQC3UR7ahl0Ujix6xbsbQbLprb716+G6vx5hHcwHE1LqnqbVq1odB2n1RZeND7zpOaediFr7QsghaeBARv0e+kqwxvOoZuPWXUW/MgDri7sbO2V1jtrZXvZGv3g1riNScc6021XQm0vqF2vqT1bbxst7y9v98sIfgsrxZYQmACy6kHYDUW412NK2a6jGDqjb9zf595b2eyhfzHWshfJ7GlAD2JWVqF7mtAw7h046QM2PqHqiTcJMPNujbW1ovEaUkcRjmSKh0fVGu9LOQe6s+sLgOZDf7XcQvwdIx8IXvKhT3A01gye1vUrsm1XTnJuV4SI/7jWrpJGZ5VO2xs7VjBU94sNtu7h1revjn2vT5YtIri6jdIufntZI2N4KoWlp76m3Er4YcXNaila/mUnd+nei7u0d0za9P2E9hdEG4smW7I4w4FQ7UxHAg8QazficMRC/A1p5XJbrr8TnnqH6H9OdUbZsu02LbbpKXbrozyXNlaMfJNDIwtdF8TSqoQXEp21zeV7Vx341RKIOnh9ydW3l/meYL/0A6nZ1lc9L7FZXc+zwPYnV2425trXyyxrnSAtLmvAJLQGlXEZDh4PJ7NyLk2rQ9L9/V0nGDtM/7b+lBNA2z6g3C1ZHC1rgY45SZERzyXEBHHJvCvZ4fYuNJKcnieR7g3Lj8j64/bpsrre4MfVV2bqQaoS+2hjiaSVxZGSU7ARWt/Y+PucnH5reSrWv7bXm6D7rrFrLd2EsdrYuMhaSvhMkoGXMHurnXsS62k3XuCSlKGdl6F9KOn+gby93Kwu7zcb+9hEDLy+MWqGFQXtjEbWgayAvYE5r6Ph+28fjW3LU4/I8x8uDsVpcwxaS5zpEI0tGXtr0lJxbftiRyL6e7SONI4nZBudUkSpb+4kL4LSPzJ5FcqtYMTVCahi2bcZ7x3lt8EZwaAP5U0J5Hu1bXH4JJGjE1LZSRa5r2G0h0tIYgOVECcIp11uInlJ1YHMfbQkJZyHWdsLktQ6ufL6KGE7tC82GwnSzWxS5q6eQJQHuNQ7Giq0NpdqZG3BgIbmuVEku3ZCa4sI9Rw08ezOqTIbApbDPSOOI4U5QjyJFcOKlQzmnKueUd9suV9Qrz3EAZBKUom3xIpbohhaH4cQqAUSUl9sIWvvXNU6kzUc6l2ZMli2HeYxJ8rO5GSIGkHLs7KKXyS5Zabyzm0CWNx0EKxzccK2y9CpUFQvI53gluoPauB+01Lw8iidBF8/LATHPqCHB1YuUy3VQO9t32eze2W3kD2HgSSqHlQr5Ftg6ls/UOxbyIrfcXfIXT0BkcR5ZXtyretyYXUslx0VdSx+fZMFxC7FssJ1tI9i1aaZFsFbuto3e2Vj9vc8NwLgMQPbSgacuBC5z7Y/mRPjfidJaiJRlD2Jhke+TMAa8NexoUBBwoVmmN0awM7Xfdte0Gc6CShDXIacoh1aLDDHsu4BuiV8byEa8OafbjQDTCz0lcObrsr2Qg4rpUH/xJzowCWcgr+n9+tFJlY5iYiRriV96Ux2fxF0pt4Cu5Wxwz8gE6j7VAohk0otZF9xNZyBLAnbmFQRO1r3HuVmfsoRcJi47PdXRUb43W/ANLWLjlwwpNC2wONv9O+s9y0v2iGC9eMPmPlobkZYYPDQfrqGoOmicdx/B6Y79YEydQW011I3GVkO22tmR3SuuWsBw4tNJT/ywavOK1hjqwZsNgHkRHbooyWyzXV3ZzOan/wCohT2N99bHPGcBlz6h9JWrflrW1vLiYDxTlsbGl2Shqu+kipaNNr7FS3HqvbtxJba2sokcfFFoDGn2NJC0t04HWrEcdlcvmM0NhJEU1OLgrQBSg0qoJWXe4te97Gunc3wjQrGihpxBUp6mzd36hYCLm9NvblUtIWISD+N5xK9lRsYpqS/O3dw3UxjyxuQVyAHGlDiRJpMTPuLid7rOxhY+6edLpCF0r3UoxjUrCyxm2w23pi2Nxf3TX7lN4jGT4gSvDOitY1HZ7v0r6Ceztpd2u3X00zo4wVYvAZ5mnZZ1F6ipiDG57haA+RDIZ9ORBwJ7EocIirbQPbQN8o3c2qOIFQozAqk4ZPJVusC+W7bNI4hnlxk+0jtStLZOJ1faAizguJyCyN72glSAfdlWa1BMYTWk+BuNMITDURVwRjqDMvdsgcktx5zwiMZkD201YIWqG8e66muNtH5LG5uOZHZS3DUix5u7x+GrST8ZGNOZE5WpY9ssBEj5XHnicMKqploxvcb5bWEWljw0tyKilJTTKJf9Tvu5nRsc6Q6kABx9lSrjdJHmx7bd372zOYWszc5ww7atWK2qIO07Ptttaxtc8tIABLnYCk8k/p0LM/draCERMkJa1fLBJ0hc0blilRtUie7uJp94jcAAQmZAxz4nGqgE4QC68Y8h2bTkmFNBYniGpFPh7caTJ2s8TCJCcU0oQDgtYI74ROxpRHZH4lptAk3oQyxux0tAAHuo2lbbdhJcseigYcql1MmnItMr4XAsJbzX7KzSkpcdkdJ6X6wbAGWm5j5i1P3k1OZ7ONVTk2vGCLVa1OuRdL7b1BbfMbPNHcNeFEQPiHHEZ10b1ZyxVfQp259B3UReya2LAcEeFPeuVVanVD3Qyk3fR13AdUAcxODuVYvjepTsmJZItysHaZoHAZF6LhUqrWQs0sFo2PrTdNllDrHcJ7JwIQMeWj2ty+io3qch8Eds2X1tuWiOLd4bPdYwgc+aJuo9hc1K1nJFt1fidSsOuPTnf4mxbn0/E10mDjC8YE9hx91NWv0YKz6oJuvT70u3iP5i3s7i3a7EuhcSWr/tP2UvUtOTRqrUtFRuvRLoXcVbYdWv2qchGxXOuIgntISm790VXa8SV26/bt1RD+ZsHW9tcsH9sC5hfnkgc6p30+IPjfRoUN9LvXLang2V2y70YNfbmGQlOCNcTVJ1ejM2mtUMYIf3BbaguNumuoxj/wDI2yC4jQZrqQ+41LSklJt6DIbj6jf/AOv0Fss64eadrltiV5+VcuH0VopnVgml0/IMhthdP03fp/axSuTxwT30TV7EY8D31TnqyladBxD0LPdFr7f0+1h4WJsu4vhLyB8MbpnxaiUyCmofIlqzalG8k7ug92iYNXoXu7ngKxt6y9uYpHcAGxPew8/EKXqVf+ZfoW/4CK73HrXYCZJ/SfbdrihCBl500BGwduqHT/5VVa1thP8AMb47UzC/Aqm4eoUm8pDuVhsDJmAMiMC2EcHFGxQwRx+zGtdu3QyWXqgKyvNsuSIt22ywuWKp3CzAMSfhLJm+Y89oA9tEML3tXrJ03Zdy2Ky0OtOmm3sTSnzREbGkjIHxhw79NZugVs10Ge79e3zLcss+nNm2jbGj84Oa1zpOZe6QukPvSitarqVa140hFAl9QegZXOZunU0G23oHhs9o2WW8I7A4PYBjyIpttdBVhrMv5Ir0nWGzzSJs+xX29vcui4ntTbN7CWufI76arcuoJNymmuwLNt267wwz75cM6b28Ym2aWxDT/uJK/TSf3aDq9qh6iyXf9u2//wCD0Yu6XzRpk3BwLbePt8x2Lj/0io0wtSqzIBa9L3k8rtz6g3T5u4c7UGlxXuANSqPqa15K1f26hc23X+5vbZ2D/l7MfExrg0uTm7lWsKDF3W7OSCbadn2BoN/fRzXZCi3ZIC7uIxwpbKhKbwIXPbuErZ726EVsD/8AHtg7DvReNS4NKWslksdvHtFuxtxdzMZCwAiPilEnJy8tpYp3f1Bt7QG32mINjQgSJiewVNuSq+ZzxLg57Juu771MABI8PKAYnM1HqWua4S0OldO9Bbvdvt3z25hdOhijkRrngBVaCVIwxStKKNWRa1ZxJf7jYLTZYzHdzsM7B+ZG0ghvfjW0IzrbJUb3qHa7IFkRa5zRgV/lUuyLs7NZKjedYzzER2xcGr4UColZvkS1CvHORXBbbxvMuhgkeHHFF40laWEZhnUdh6OisQ24vke/BxjOftrXZnUptpayXf8AU7Lb4/LUHR8MLcB/3GqZlZPVCy46rfM7SyTI4AKGjuFNYM0m3BC3eZpXFXuOnMlV9tEGmyAxl+8tbqcvtQ0QQ1gY29457m9tEFTJbttc8mMZrlUMFbJ5FFviB258DWMHTuRK22waACT2iqWQmQptgHcEy7aIY8LUgm2cyL+VgPvCjaMSXWwvGcSnNpNZ7BtSI5NvngTy2FSSEGH01DoJJjbaN+3XZJmyWs0kT2OB1AkHDHhgaltmkJYO/wDTXriwMitepNrg3O3CB0jgWSp/1DOijaymZvGIOt2F76TdVBIr2TZLuU/25QHRgngoWt6ct+oenV50Cb30Xt90hkl2TdNv3YPbqZG2VrCe/NFxzqvWS1Qq1VnhnKd/9B+oIWzPGzveAv8AbbqyKDEYe4006PqbLjfY47u3p1vVg9wm2q5i0KMWvaR9FJ8S6MluXoU2faN4sXEs+bj05OaSCAPdUvjstCLV3a4D9u6s6y2aQPtN4voE4B5OA5h2dQ1evTALjXzOjbZ609T6WRbsbTcmNQAzxBjsObmopprmlaEem+5e9t9SunrtDewPsHFNUkDtTR7NS1pXkkTrjQvljufSu6afl+rNvic8g+VfNliIPJQ0inv+A61+JZbXpiC7LXQbt07cB3E7qGAj/uZR6sdxemp6fiWO29MxcH+505EXfE/9cGOPLUAtZvycf6Guxvt+I6i9D9wuMbTqDY7JcnW2+Na7HsMzmn30fu6pZT/Aa8eeqX1Nv/oTrmNXWnqvse1cpbjeWRluP4oZQeHOot5vGl+iz+h008WHG9fiaz+m3qVtTQbr90G3+W3/AILHdb+9cgOQAD1Htqa+RW//AI2U+GP/AC/mzEe9dTbG0wT9U3/XZZ8Jlhs4Yz//ACXPlyVouOrXYxd3Rwm2SO6out8abbeui47mE4eXriVOP5kTR/7jT9Pb+ljXNZ6oU33S3RskZkk6WlsNQ8PlyOkT3OSqV7LqS41goO59JdMOL2wXe5WyZs8kJ79Ta0lsHZWxBRLrpnoe3c513Huu7y4kNOhrSRgmp7ifoodWXXkhQVa4ubbbXuZ036buu3OP5brmXzcR+JsbGj6a0rbGSXv+p8bX1p3poFtsjen7Q5C3t9AaCPxOqX9C1VrLFd16d3kTjddYb6172YvbPMZSDmgYCR3VLq2Ta6SxqATbv0rs7DDt8M17IzAPDdDF7ONNNVEotmCrXfVcspDo9vlkccGsaSAMedRbkc6GsblkWun6y3geVZ209tbnNkRIwVM+FJq9tBt117BFl6db3O/XLbXEksn/ACOcqd/GmuF6sVuZRhFjHQT7BrZb0vfM0eFgeo93Cr2fEzteeksHfsU97qY22c0M8KF6k+7Ad1S6Qc+3a22h/tfpXLcwy395Bot7VhlkDfHI8NClscYKuceAGdRtqnkWIkT7wN8dafpnS77D0xhLku+ptykh3LenMyItbCyM0NuT+KW4DxyFYcluS6daqDZPi42nZt/BJP8AHsVjYbrpX09ubvdNjuN06r6yvo3xX/XG+3BuL1zHYPjgYCWQMdxRXHIvIpcfFXh1bZny8z5cUW1IWX/U/UG9ylrS5jHldDFQ49+J9ta+pa2hCou5Lt3S+8bo5uqOQglUIJVadeNvLIvbudV2T018lolvkaMDpdWzqlqD5MY1LlJJs+wwpE1nmgYuwWmmkZJ2eqkpW5dXOkJETsyQnFKU4HRYyVn5+6u3qC7SuXIUpLWNB9aW0pI1hdQBWtIfQhXh5H7IjEC5xQnEGiRskjkKhHYHgBTTMx9ZNfI5pREw+mqCH0OlbLak+WqnieysrMvbOp5c+UVxBHYBWZrbXAZDa+LFCOAIypobnqM4LJpKBqImPZVpjVktUNGWDCmKg4gZFaY7NMkftEb0BbiRjRtIkVXPS7X4taqjFPrwpuuBZTKxfdJy6S9re7CsdjLdyszbFcQl3gI9iE0nQurcAQjvbZ+qORzCAccV9lTG0TU6ln2nrfqXaHNMF5L4cAS45cuNLDWTKtFJ1nZfXnqW1DW3Ny6VuRD8OHAhKKpGuaHQbf1kfuUIFyA9xGDScc/9y1ptRmrsjueqLW9a93yMMgOBbJHG4FeR0g1dUJ2s9Ct3d9sE+oXvTVrIvxPZC0FDyQim05CXHx7ldn2309utRk275Jx4FhT/AN1GOwtzWWC/4l0bKddu62cTmGhzftw9lLZXoV6nwCI+hulXBHMYScnNkeE91JwugK09BjbenvTMmDLmJp4NfK/E+8U5GkoY5j9MtpJWJ9s8HHwu1L73cqcwR9rsFf4LZ2oBj0x6SoLKpWk1hDK2iftoWK+f4Mmlqn6loYWqmh3B1fuVmGBkNxOi6jGSxe+p2JjWNCSb1K3WJvh2O6efxlzSF55rR6SKW7qyt3nqnuAxuNvna37yM1/QpqlxQPa31FDPXO12txcdkuZ3AnBzS0H2Ep9NS+KSlLw2N4v3XbHahrb300tN0DVXXqjcTxBKkVyXo9ZNqVtK0MO/eV0Rb4R+i0NvM3KYvicCve2spa6nTWtuyE+4fvWvJR5exdEbft+rFhc0uIAwT8tjfrq6Or7ivTkb6HOr79xHqj1TI9sdkyKJxRscMAjPP4nl7vdXUtqOLba1mrdBKdy37cXNn327srBrwpdcyq/3E1as5gp0jK1CIt36Askfuu+m9kA/tWdurfa4oKG11Qm30Ch6ueluzBpt+nfnJGkpJcPUEjI6W1m7VmB7bxIi3H9ytqFj2bYreFpGA8sAAdhxNHqqCfQvEFNu/XbrXcVZA+OxjcULIY9J9+eVP1oX2oqvCqrIBD1H1husiybhNqeV0hSSuQpLfqWqVqdB2DZeq73wwyXt3JKQXxxNcdOH+1aqu7ucnO03CyXi66O6iZbj55t03m241Bw7w6hOepjEZZX39Bbzeu8uO1kdG3Nx8LfoSm6LqOt18hjZ+lcbXNde3cEeP9trlI7wKSpXVopcuzKyXex6N6a24NfI1shZiNXhH00+pCvv1QVcdSbHtEZbbhjXNHhDAAid1VMZZk009DnO8eoFzcPdFbHTGFC5FO+la6jAlLZQp9yurx6ue5wXxEVknJttD7LaZ7x6tBQkIf5VVU5HKOhbX00WNa5zU4nV/GVXCXQVYkcSWsVmxq6S7SpCgopPIn6ceyqTQWjQWSucQjVQHnVJoT7BFvA5xaUTTmT2c6GZNMuO32wBBdm6lIJwX2xuo7ViuKJ8IAqGOvJCPNoDQ5ShH4uI91EHTuzJKxzcMUBOBqYB3TD4ZG4HUhBwppwS+41jcBivdTGMoZWpgeA1VUhAe17UUEY8DU7hPBBKLaVpBjDiU4VSHqKrrarS4BIzOIXBKIG7FYu+nI/EW4lFGCis3WQ3FVudjcxyaAQFWk6woKrEiqXagUIGgj4f9KzSHdpmYbS4ixY8knh/pVP4EOqSLBZbrudoBm9gOIdjnVK0CSkudh1JayBovLdwdxeAuBpy2D1LTAzYdyaB58YeeD0CUJigL/w63k8cADhlqYR9lNwwVmtYBJOlrm3JMYenBpBIppIHaQQ2dzbk+ZamRMABT2iIHbpDau1vsJ2uao1NUYdlU6thLrnBIevoLFNLb2MNy1R6gKnbBau2St9aILZqPZHK0Er5tt7lTjShGqViY+ve0NCXO0WMwaeDXNJwz4UnHccW7GT6/dEEEXew2ahdSPfx551G5dwi/YHd65+k0qm76bi5ECchT2Etod/iUqX7ALvWD0KnOiXplpQkOIuOf/bglOW87h7bdgOb1M9AJCkfTDSmTTKo78BUb33GledBW/1A9GnFo2/pWEFFb8bgn1UnZFxyPoJ73rTpGcEbfsUEOoHTpgAIGSK4mhXqvmaPcUHddxluiXWMFzEHIkbVw9jAK2o7PoZ3xqV0dM9UbkT8vbzDWEUMOXBCcaT47N5CJHu3egnqLv5b8vsu4XLM3PbE9w9pCiotxpa2JULoxzdft+tOnYxL1p1XsPSUYH5n6vulnaO7Romma73CslyUq9ZLd7JRD/BiqOw9BrN77Gz61n60vGYS2PRuz3+9SPOels0cLIcf/wBlZfuuGumTanjc15UOSSfetk2hzBsnorupBKM3Drje9u6bjOOB+Vc+WcjsBWsbebduKcf9iv22z9d1X+f8fUzb9b9XyNLYd26E6IgeQGs6d2O5367bwT5veJIrZe1pdU1fk3eXC7SRyft61ct2+mPzLLBuDnRW9z1B1J1f1hDdavlIr/c32VhLodpdpsNq+Sg0h2BDzIOGNb8fAn+q25r8jmfLtlcfGqr5l8b6h7tcRQwRtEFvaxthgjcQ4RxsAaxjGgBrQ0YYCuysI47p2yDT9W3DwXXV46RoyY55Tvz+yrRk6t6iyfrfygRC49ugCiz6AqqCsXfU253hID3BrhnifprPeXWsCkxbheO/MLnAkLxKU029Sto3semrq5e3S12JXmtNVkjB0vZfT2SVodLFpCguccMKuqgbt0L7FsW1bPF+Y5pcMgo4UGbwhDuO920QLItIGSDjTmASZUp9xdM5waiOOC0ammGTQRl+eKkL2U4FBZrO3a0N1DEBXCmZWmZY5ZeMgBAApNCwwd+5tja97nI094xwpoaqoOTyPDXEtOH4eSVD0O1sFdOWjwuCLUJmbckQ3ANbi7H8PZTYXSWAmPeCxNRXiASMKNw3VuIDYt6Y4NOrHPuo3FbUMY95aWr5iZkBce9aJkVkgpm6h2b1HFcaqtuhBO27a/BcD95RRubG6YMmdpJaHqooJiCBzBIupipkeygp6yAS2EEoLsRqw0kZUQJgMuyNcFaQTzGFEIbghGz3LcWOJGY5UrfAdYRsLa+j+KEPwxUJSyPDNmyloHmWRBBHiYUwoySkH2+9m0xZLdWpGILHH/SiBNLQfQeoW5Wo0s3V7g3hNEJAnLEUtq6glDGbfVWUHRc2u23bFwLoiwpyKU4Q2smZPVDZ5AfmembUp96GYNH/AKqUvuO9pWgun9QeipiBPsN0wHItc1wH8CnuZCb7CO66q9PJdRdbXMQORMQdTVu8G1btuBDcbv6cSnF+kOHic63P8KKNyK32FMt16buDnCWCQHPVC5e+lZ0jQpXt3AJH+mjj4m2Moy0ubI3HuBqU6LoaLkZpC70sDsdt26UZlJJmk4/9Jp7qdit9+g2j3H0fgTX09aTDBfLupmYcj+WcKjfXsFd8jKPq/wBFLQtcOhbabTg0fP3DcByWFKnel2NWrjCL1e9ILBTD6W2ty4HHXuV0QUPZbij1o0YenyWzj8Qlv7m+hNqT9P8ARLY5XMwBnuryQKOzQ1aVuTd/kzO1eT/jX8wW/wD3mbubU22w+mPTHTqKW3VrHdCfsR5la5uP4UqUm/8AJspVtasYRxTqT146x6qc47ptO33yhBHuEu57iwKMUiu9wni/9FTbhT1z/HwEoWr/AK/zKfab/wBSvf5u3bRsuyucQRNt2w7VaSE8xKyzEi9uupXDVdPzYr+Rev6bNfLH8hjfXPXG6QPbf7/u11Fp0+RLe3Do/ZGJNI/8aqvHt0SId3fFm2uuWJts6MvJHhz3FjycDGNBXtdga6NmMlTVKFgv9h0tb2ekyrLK3N5xcPeahUS0wc3Jd2+I/YyOB5EcfiAGPEp2504S0I3OdSR0l1IjY26AcwM/ZVVTYm0nCJW7fd3GnWuIy4VSqGBrbbA96F0anJAOFUqGepbNv6Pnm0NZGcUxTJaSqnqit2C/7d0Xa27WSXj2RNZ8SkcapwkK3I0sjw7h0zsbTocySVqFFBx7+FTr1M1arWNSo7t6lsA8q1LWDk2qULVh9zRz6+6svL5zyHlSuC5ryqd4LjnINDJPO8GQlBmDmTRljmSw2tszEngiiqUwDqPIpobcJg4hQOVVJOTeTcnA6WPaGjxEg59nsobRWyyEt9v8cLXOMoXNPopTBDRR9z6sc9ro434qVIy9tZ2tktPEDCRzioJwJU1T0Oh6AMkvM5ZA86kzQFIQCSmK4pQatJgD3SsKtJAAUGpBVath4gEddTsKkuJcE5D6KHqKDaPc52EA5JjjQ3ArIZW++ISJXP0oSC0anE8BiRgajcOsDa230PADiFOGJy7apWBWHVvusJcNTgT2fzqtzYWgdwX0UgUPbngAVqnaCWM45GuQO0OUcfsppyIKjMLnAuiKAYkUwcQE+XaO4ub+LDH2JTQjBjtzgJ8EQAhTTAGdFDmHsLQccMab0IVnIDPaxOUmJjj+JQtQazAnnsbYnSWgn72kD6qcIFDEk+22up35aLUkuRXNt1u0kAYnNQDSss4NGklUUT7dCFxRp5LS2i+oun2iOQENkK95HupPUpWgVz7Ac2zEE/7uXfUbZL3ADunZnB2mdHZBCEpekbUukpIz0jdux89SQjUI+2muGS/WN2dD3xcXecrCEKFv+tP0UP1RvF0LuD2tBe1jR8PwqaxXCaeoE/8A19fOyLQ12eIIq148ifLt6G49NrqXFz2AfjP86uvjwT66CoPSYOR8s7Myp1Yd9aLiRHqLUY2/pJtrCXzXcYacSDjh9FX6dTC3Mm9BvB0B05aZzMe4HAJj7M6W1LoZPmtZjA7P09boGRunIz0jBe2pdPgTe8sHfBbkBkFi4ArpwVR7qaWRu1tOwug2zcpZiIrHQwFCUq7KUOXA3Z0zfPP5rhGfvCs9pimxhb9LaTqcriD9NVtHS3cbwdPwR/ENJA+JyUNQgbUSHsstotBqnuWhFXHiapGVbN1I5eqemdrDtDmvkHE440m+haeBDfeq0cLS2za0ciEUd9YvlgmHJQ9y9R90vcPmHaXZAFOH01C5S9jKw7etwvHfmSvKYnE0Pkb0Ftr1C7aGWXxPcXrwKcMqJZoiyWcJajSAdSjPJKulRK2IHkMrYWq4jHFVTCtDNLJMd1jCBpzXHh20boGtQaTeQwACQoFULRawNFdvOpXAIx5GZJ7Kh3hQFVLyVC73x02pCqfeBw+k1D5Bui6MRSXTpGl2rvTFMeSis28k7Dtxgc4gZL2JXUbKrTB3WzwR2lcMcKInQt4I3WhJJRVxySphilEZ29zkIGYySlDJlA0m1vKO0pnjzIpbSq2acsHftD3qAHI7gQTRCKdtxA/ZncIyX+6k0KCIbbMwO0tIByCZ/UaNuQpozVtvdROUFw04p3U2pAnjurqJ2sPI5k0koJbDmb9dx6SVw7f5UKUN5SG462LWMY60iJATUNerHiTqxpVlPUu9k1CRszrdjQC9pAdxC8Kp3SMNoR/nFo8+M45qvGj1AdfjBv8A5ltrgrnEOOeVV6iY4Mf5Ttcih0oauAxxpbkghmh3zb5ANFyMMiuNC5E9SYckbtxsXnG5BOQctLcXAO+e2kcNFw0NT2Gr3JCs0rEDo4pEa2dqZA4UNjbVtFBq7bnSABs7XAnBxwT3UoQpawfO2KeQANuI+8HH6qcIpNyjX/GLxxA+YYUKIuVEI6HCCGdLX4LS25Y8qjVOVWqwTKkaRdMbi7Dz2KcsUSjaaSmMYOkd3cWhtwwhcfEhFNpC9X4DeHondn4G6jGZKyJnyoTSE+Weg3i6EvSQJb6NoCavHj7acroS+RdhpH0I3S1sm5xNHEl/Cp3ityJrQYf4XsUCC63uMtzIDgTUq7Oa11OGRSbR0VaYPvvPQ+JCPpNVuYbp1AJbvo+2xjiY4jAEnM91LcG5dhTP1NsUQPlxQsDeHhwSjeu47zOmCo3nXe12j3HzPAcQGoi9wodi08Cmb1J28N8xh1E+6ofIlqZ7fjBXrr1Pk8QhYNX4lVR3VlfmnQdeKdSsXnqHudzh8wWajm0pjU+sylxKMlcn6k3K5XVPIQeKnGotysWguM97OSPMcjuIpeox7cSHQ7dPNm92I7U9tNUchtQ+t9kGBcV05ONa1pDBqNR3b2MMWGeGII5d9XEEKBh4WYgYDFclpyPa9TeS8TVpcE5ZfbUpg7ToBy3xA8RJCA4JVMmGKbjeGsag+JVWs3fIvlqV+53aaUPLCpcqBcO2oteWKtYFbrmVwGpxVVSs3DZtolKNG65CUb3VSUCbltxAZDblVc1CqKtOBOzR6OZaF2GnPLu9tdcFu0hMe3tIxzXACqSIaJxtmsIWggjDs76Vlka0glGzk6RoI5dtWtAbCG7G7PT7KjaMlGwuIA0HmSlOEDNh07wLEHdh7KIFkiPTaL+WceXGiEQrNEDumQq+WDhiSOHuogaciyTpceNY/wDpPfQ6pl1cCmbplFHl/wBKlorcuwkuemn4o0qQfFiKW0Tc4Ek3T0ukjEhhwxOHdU2qFaie42R7Bg3JVqHQeBTNts7Q7wlvLCptVoFVMWyWdyzFpcQQQQe3vqHIKq7gh+bjdgXg5NHJKh17iskiF0+4KELsshglEPuOv3aGBfbi1ya3KmIHChyU65kmZud+3DzHFMy1aauxwmEt3ncQgMjivAEk09zJdAsdR7lGFa5zjhxU1SszRQuhI3qzchiZHAnEoTVZKTb0CI+sdzaF897iCgatXvY2mlNg2PrjdWeHU4luamjcwgYf5zviKJnAZKCQacsfpNdT7/Ot6x1XcgbnnjTreyFtRo7r3eGlDdSlASRqP1U3yWJdEAyddby8DTNK7FB4j9VLdbuRaqRM/q7eZWEeY8EjxE/RUTbuQ6VAnb7vEoIMrvF91f50OzQVogKTdd0c0t1PcuYJ4Gs222VtXYBlur95R7pEVEBXhUpW7k3UCW9ju5InfGC3LjjVKreoUvAHaWt457Y3McWvzJXA0W4+qNHl5H8ex3cpQMKZoh+g1GywtBrb9J3T9KsRU0girrxNuCdw8t+kFA8xmX4udaLh26kKysOoen4oAjwMvhTJOVWuNEq0P4BjbOGIFGovBAKICSKQaCQWomKFKaQmwRzzqIQgjgMvpoZIFLK7BXpzA+o1Ei3MV3F95epzXJmuOBTKos4KiBBdX8j3YHwhBxNS7g2L3mSQuACuPA5VnEjVlpBiO3e444IuCVWwSUB0Vm5+CZ9lLay909BlDYYjSCTnWiq2IcQ2DcCcgSv2U61egWhnoGO3kBADdTc0zrpkbY2htyNKxIBmUpSNDmG2jcC5zSdQTL+FpNjeEOrewhc0LhqzB51UhVDmPa4cCC1e4Go3MNsB8e0Q6UQZ0bhPJMNmtz9wA5qmFG5j1UGw2WD8ATj/ADo3MSoQv2GAE6WDxZHM0tzKdY0F8uxRfdYi5DOnuZORXP09GgOgk9qVauh7RHcbBECUYQvFONVJmk2xHc7BGVDWfDmaJNE0ILnp3UCkOrHJKlxInAin6dJZ/byUA8KGkxUthiKbpp73JpGPwqONK1cArZFcvTBUt8vEnMcKzdBti9/S7ySfLxHEcRS9NFUsCv6VJLi5nafsGFPYh7p1NX9KPOIiz5DDKl6aBwjVvSz0J8tOCIlJ0gqtsGD0m8orSGE44LjT9Jku1jQ9GvATRqA48ezCqVEzWuUbDpJ48ToSMfCS1V9lP0uw8Eo6TnBRsKnjgU91WuJwFrtsmHSN2NKMJ9lP00P1Xo8kw6NlepcowyOP1Y0nRFbqnzuj2hwVhwyKe5FoVA31CIekEchiDl5/0xo9NGPJcN/xFykiLLjpzo9MzbRlvSb3EDR25fzqbUEr1Jf8KeVGIAyAGHdU7SXfsFR9DqQ1zQVCk1fpoe99Q5nQFs4ESZHBzcsKFVIHyVDrbovb7VPhc3iacqIFbkfRDBmz7fB/xNwyJxpyLezL7e1iHwsCYgYe6kxsXShmLkUpg3Dtqia0WWLZuBTjmKlg8iqZrnasEa6pgBdKGBricQ4oQTj7KQhRNKGfCq8F4VLYJCSd8shKDM+I1nIOjAn2z36mlQF9vfUbGODDNtkIaGgjkRypqkgqhbNqK6k8RzPH21SoXfjSzMB8W2IgLUI4/XVbBWaQxj2wN0kBV4VSRE9g5lgCMGAY4ns9lUsA20Hx2gGGhSuKiiYCJO8QW8jcNJIGKntrUoawNGAc0kYogpFJoZxmFoCxjkqUoFe8IYRy2vhDWZj/AF99J7iq6YDfmrRoCktUhV7KiGKSUX1qFWQtxVOzspwwTkk/Urc/DcEUQBt+sQDUBOB2UbRboNHbzEgHntOqlsge+SF29ROB0ztw4LRASQP3iM5TtcEU0bCHZyByblA5w1vaAnEqtND+YDNdQOb8TeaYVaFjohfLNbnHW3tSiUUngXyfKuPxNU5L/SnIlt6AZt7WQnxNBOGFFngbQM6ztF1eY1FoTEQnb7MuBdIGoECcu2k2Kraehg7ZYFSZAeJ7qRe6dND4bftukJieX8CqQmzc2O2NI8IOGPA04knfB8bTb2BRGCCcuzOmUiN0Vln5QDQEaUz76IKNfLgblAE5gU0G6DY28ShCFRUIQCqbwLdXrJsLSIuBc5gRQcR/Spke4x5VgxRJK0Y5n/WiUEg77raYnBrnN7VxPsoFuBXbvtLCA0tJXxCkDBXb/ZD4U7BhlRoKfgffrtqGkIAHZYVLsS6ya/r0YxbkmIGdKZJdYNW767EDjiq1I6VNP1h7gVJLhkOyqwVEEB3IuIUEZdmVMltmrruQl4VFQAcT7aCckb5nuDQ5Pt9tSqwWDucNJbnivu4VTCQWRzA1WuJeSjhwSpAWTh7g4DEHHjgaAFslnPJihPIgUlVsUEf6RO9NTFcRhSdGG9voTx9OyPPwADicVp7BxIQzp1waUiJOWrjV7BO2AobBiwluXxYY0tpO42/RwzUCEHcVogepn5BjSmlSiajwoBqDV1qQEDcVQezCgUwZbEGore9AijlhSHjrJsjtTijk4CnApXQ9FRGIHEITxFMoMYbcIcMznSGTg2qguRRz4D2Ushg1ebVMHAHgoSgJYLMYAQrgfq+mhOTWQGd8H3XhTgQfsqiXfuAPe1FDwreGFMUyBSSAqsnbnwpSTtjUGc/FRNqVSF4UmxxjADJI4r+cMMVB406hAOZzxkTjnTkW0hfcOOOsk8DlUAskD7gqCZSp7aY0iB93jhKeBzUVLHg18/SQRKBgSQtOR1SRqZwWqJip7cRROBfM+Fy06fzcB8SrnRI9r6I+N1G0LqWmEG5vokLQ72caTcEJGj9ygYPFIATnwpK0lPBC/erVqDWChRQRVq0EwmCS9SWzQEcCBmF495o3opC6Xq6Fq+EIBxVcOFHqF7bMAk65c0IxmHAD/Sh2kaq0LJuuL1wRpQcuR76JFC6gMnVd8/OYouQwpOxptqByb/dSNbi5pC65Nah2OCBBpTvK1O4l0XQGO53ZJ1PVBnxp7hKmZMfPTOT8wj8QWjcy9qMtu3/i5oOfKhuSbVSQzhuZHANJOOWP0VJIfHISCBqagOPCiCXarQYwFW6nKHcj20hbWMGAAHDD7ooQiYOBOOLkyqxxJI0OwQFBxNBMBAhnlT8s48eCU0gCWbZcvI8Crlxp7QGMPTU0hCscpKZZ8xTSQm0NYuknHFzHNCKidvGjAlaRozpNrAPAnAlMPZSTByglvTUbR8Onjlxp7gq5wYOxRsOOXEmiRVvINJt0DAQgXGnI7NQK57aNh/E76AKVhJRkVysYSXBp1AYDs9tLQpNC2WNwCub8WVPVBM6gZgCDAjFAlS8kpRqRfKlzhmNOK0QG7uFx2q6FJIXA9tUkETk6y26YDmWpmKBtNI2N0CMXZHKgfQ1fc6hi4nPjlQENkBlKAhyJke2gexkUkqA6npzrNFAckhRcSODq0WRWrIC97wD43Dg4mmJVf0BnSEqhKDM1HUG5wCve8qQThlwwptFLAC90rSiuBRQKUDcAz5JVAcS3lgKcCgFc6clNWGKE0W0GmaOdL2j6cDWcD3fAjcZQQEPsohhu+BCXSAI0KAczTII3Sy5gHiT2UxogL7oNQYDLvpdTVXfQHMl2p+IA5IeFDTJal5YLIbskoXBuIJzoWSbWVWQOiunIrnEciM+6k0U3Vg0lvMABrLR95yY0gQJLA/4S8kHHVl24pSgegC+EAOBeMOJqlBtLayAGMBMdIH21WDNtp4NCGBxUEuIVPopSVJEXhoIxceWfsogR8HPACEImQ4d9IDABDm/hGffQTvT0Ch4gQR4jlwKd9GQ3BbGAIcyRhxqkpCZ1Gdu0nSV5ahzpbWJwOobZ5VAioQtPJGxDSKwncQAEJHBamGNtQNYdmneQCSCCnf7apVghju16bmeitRcylNJEt5LLa9Jk4vao4FKqYFksdt01bxgOeiDMVG8da4kbR7dYQtDXacQFUZUtzG6oI12MSBoaM8jhRLJdF3MG+t2hMNIxB59lEsScAz9zttOBQDIZVTHukAl3aMYBEJpSJOGKZ90YSQMm9wWrSJS2sUTXhk1nBOxcqEDyAvJfm49xptDkGFuSfCSccqGpQ5qtGYNo5+oacWlQ0ULAmzYWJAVwQ8k/nRAVRsbNrUcUU8QOFKCZkx5AYpIAbkOVUSrZg3F85e/iDyqDqdW9SUXzig48xSFtgk+eeMNeB9lUhrBk3ZUKUdkew0yNmZJRcYKcRzrOC3CMGVQM0PElf4SqqKTRxY4EuUpj2VQmk9TQ+XhiNRxx5UoKhEJERRcskFFiWaPbFmmZyX7akUkLo4tXwgDEtoLTIvKiBxAbzJ/pQKEaeXb5jS4HMg1LGaPZbIC5AV/jKqqEkDja4AIEKlP60QKSB7rYA5Ek500gkddPbn0tY3Nyd+2i93SAwODPk4YZ2wghHzOjluLYvLBiwB/xIuGFc3k25KpbO53e3rjtayv2KrPd2hkc6FRGSTGZWo/SuGoYgFM0rfe+upxtTlC6S+jDi1AScVSk9CUk2A3F72o3kKSsaPIvlunuadPAfxnSbJhiS4uHFNJ8OOBWmikCOc/EjiFGeFNmyTRBoe4EucQeVIzSlyyMwkguxyy7aZUzkIbbO8AaMSVPbSY4N22b3n+2gU45LVbcCdK21CmbbK44NJH9aaqS1VaZGsWzSv0Iw8k4UbSL2S0HdvsEhaPCCThqRKutYBuVgsll00paXNVOHCi1oJZarbp+IAK0YnLlUOwt23LHsG02kYQoCApqiLPIzjbZQZaUBy40nHUTZKd0s4jk2MDDDNaEuwKwK/qeJpJYjuznUtDrYVz9VgBBIi5Nw+yiCsiqXqZxB/MDj9tOUTDAn9ROePjXkgSk2hQwd2/SvAxVMkOPupJobqfDeJJPEXOC1YqwbsujJghOCuby/wBKINNqiQpjy8jlmBVJMiKvqHRwuKrgOffQRqHx2uA1NX+dA9rQU21jaM+3AoaQlSq0NzDE1UQri7t76BfIElliZhgBy/lTQK1pyhZPdtUgYAUIIl4E091papKl2QFUXtSCG24BXSF5d1Q2aaBLbX7oGHBRmtSDUhAsTgQcOyqQJQSixkwwHY7spilySnbyiL7E/lUop9jBsXgYhT92qkUGklnIAgJzz5iiQcIidaygK1V5Gkx2UArraUYFSffSWBJED7d4cUwJyNN5Daplg0ltKuLj28qUluyIHwyBCCXLin+tBKwCyRvGHPI9vZTKlshLXoACdSEjlUtZEyA+bjqz4jmPZSgUwzaKd9u5zvlba+H/AOG7bI5icx5T43L7ajk472X2uDel6J/cpQHOx1xI5/kRQtcVEMerQzsbrLne81STWpldJ2bqsAjrRx1FwXVh20QxrCIn2JJwapzAPOlAJyDyWDkQg48CPtp7Q0IHbc9qpkR9dPaJLIG7anOAwQqiJVG+IMfpDySERc8McKNqI06G8eyqQdBb7FU04gncn8BjDsWkqicB3nswqXBLeQwbMwluoDDLBD7aExO4ZHtMEaqAUxWqkut9RhHZWwcDpaC0ahxpq0ETIwhEDACQA7jhTkmAhtzCBi4IDnQNUjqFR7oxrSA9fopShZN3b41pcj0wwKYVDYsgD+oXYkFQKMBAsk6gkdqaJS0nFCuVJtdBxItl3eU5PcVKUtzE00Au3GZfiJNEoFIObyV2BwQcO+pgq1WnDMNlmfjqJBTwjJedBO1SExtnceJA+InGqWg3Ewg+KF7iQFINOAGcMRJDT7+AprBDfQZsa0Lhn7KaJakYRyMbpAaAnEVUjVAqO8jaCpB9yrRJDeCQ7rG0DSTp7EwPOkKGQS7yFRQUyBolFJMBl3cvLkkJ/ryqWESBPvy4LqJDURh7aJgarGQQ3DnFxxHtWnMjkj1Ag4nUuGH2rTBloh1amqiJgic/rp2iCraoZMzb9P01FQc9AyPLDLglUVWQ2NeOVA7E7dK4+z30ho3HlaTqz7P6UDwRu8tMF/jlQZ8kQRO8tCqJjlQarTJCPP8AKcnk/LaxrXyPN1Jhn+bp7sFzpWEhbMmGWrBV/jKnUTAZNC4JwRFTLtpMhgcyJ4kVMFpF20QDJo0s1csE7+yqCsgztKH8SYd3ZTKIHaE+8tBnf4H35Ct+FeOrP2rSCkzkw3ysfh9q/ZSsUzV3l6sEXin9aa0GbDydLtaImC51K1HXQ0Py6nL/AG/ZnVkr4mh8pOC0A5I3aEGrTn2eygvJF4VKJmfdQOsyYavjRF4c6DNkv5y8MuNQ9QIn+euCIuNCHy7pzBkedjq+nKrJoYPnLxTglSyDI83FNWXizXOqQAs3zGl3xae3OmWDs8/j8KYcvbU2EYd5ukr8XFMs+zGpEAO1o/UqLii8uyhgROyxXLsTPh7KkqptJo1N1Llj3UBfU3b8smOrUvblSJCx8ugVE499OupTnpoGx+TpGeWHL21eAwHt+X0YKijvz40mK3wDI9HDJMFqjH7iU+ZpHlc8P4PbQavT4mR8wgRMvEvdQQCu+bVyLrQaU+2gpaAsnzvt45/RWeSHEAMvzqDT2ZVdPiWoghd87jqVOP8ASmwZs35lOOpMNPdx4VN+g/vJfzfvL2r/AFoJYdHqQZZYrmnGqqOsBJ0YImnD4aYuSD//2Q=='; // パラメータを調整すればもう少しよくなるかも var RIPPLE_STRENGTH = 60; var RIPPLE_SCALE = 8; var RIPPLE_SIZE = 8; var RIPPLE_ALPHA = 1; function Rippler(source, strength, scale) { this._source = source; this._strength = strength; this._scaleInv = 1 / scale; // create the (downscaled) buffers and final (upscaled) image data, sizes depend on scale this._buffer1 = document.createElement('canvas').getContext('2d'); this._buffer1.canvas.width = source.width * this._scaleInv; this._buffer1.canvas.height = source.height * this._scaleInv; this._buffer1.fillStyle = '#000000'; this._buffer1.fillRect(0, 0, this._buffer1.canvas.width, this._buffer1.canvas.height); this._buffer2 = document.createElement('canvas').getContext('2d'); this._buffer2.canvas.width = source.width * this._scaleInv; this._buffer2.canvas.height = source.height * this._scaleInv; this._defData = document.createElement('canvas').getContext('2d'); this._defData.canvas.width = source.width; this._defData.canvas.height = source.height; this._defData.fillStyle = '#7f7f7f'; this._defData.fillRect(0, 0, source.width, source.height); // Recalculate scale between the buffers and the final upscaled image to prevent roundoff errors. var correctedScaleX = this._defData.canvas.width / this._buffer1.canvas.width; var correctedScaleY = this._defData.canvas.height / this._buffer1.canvas.height; this._defData.scale(correctedScaleX, correctedScaleY); // Create a frame-based loop to update the ripples var self = this; this._interval = setInterval(function() { self._handleEnterFrame(); }, 20); } Rippler.prototype.drawRipple = function(x, y, size, alpha) { var half = size >> 1; // We need half the size of the ripple var intensity = (alpha * 0xff & 0xff) * alpha; // The colour which will be drawn in the currently active buffer // calculate and draw the rectangle, having (x, y) in its centre var dx = (-half + x) * this._scaleInv; var dy = (-half + y) * this._scaleInv; var dw = size * this._scaleInv; var dh = dw; this._buffer1.fillStyle = 'rgb(0, 0, ' + intensity + ')'; this._buffer1.fillRect(dx, dy, dw, dh); }; Rippler.prototype.destroy = function() { clearInterval(this._interval); this._buffer1 = null; this._buffer2 = null; this._defData = null; }; Rippler.prototype.onUpdate = function() {}; Rippler.prototype._handleEnterFrame = function() { // a temporary clone of buffer 2 var buffer2Clone = this._buffer2.getImageData(0, 0, this._buffer1.canvas.width, this._buffer1.canvas.height); // buffer2 will contain an expanded version of buffer1 var buffer1Image = this._buffer1.getImageData(0, 0, this._buffer1.canvas.width, this._buffer1.canvas.height); var buffer2Image = ImageFilters.ConvolutionFilter(buffer1Image, 3, 3, [0.5, 1, 0.5, 1, 0, 1, 0.5, 1, 0.5], 3, 0, false); // by substracting buffer2's old image, buffer2 will now be a ring buffer2Image = ImageFilters.BlendSubtract(buffer2Image, buffer2Clone, 0, 0); this._buffer2.putImageData(buffer2Image, 0, 0); // scale up and draw to the final displacement map, and apply it to the filter this._defData.drawImage(this._buffer2.canvas, 0, 0); var defImage = this._defData.getImageData(0, 0, this._defData.canvas.width, this._defData.canvas.height); defImage = ImageFilters.ColorTransformFilter(defImage, 1, 1, 1, 1, 128, 128, 128, 0); var result = ImageFilters.DisplacementMapFilter(this._source, defImage, 0, 0, 2, 2, this._strength, this._strength, 2); // switch buffers 1 and 2 this._switchBuffers(); this.onUpdate(result); }; Rippler.prototype._switchBuffers = function() { var temp = this._buffer1; this._buffer1 = this._buffer2; this._buffer2 = temp; }; function main(img) { var $canvas = $('#c'); $canvas[0].width = img.width; $canvas[0].height = img.height; var context = $canvas[0].getContext('2d'); context.drawImage(img, 0, 0); var target = context.getImageData(0, 0, img.width, img.height); var rippler = new Rippler(target, RIPPLE_STRENGTH, RIPPLE_SCALE); rippler.onUpdate = function(target) { context.putImageData(target, 0, 0); }; // mousemove $canvas.mousemove(function(e) { var mouseX = e.pageX - $canvas.offset().left; var mouseY = e.pageY - $canvas.offset().top; rippler.drawRipple(mouseX, mouseY, RIPPLE_SIZE, RIPPLE_ALPHA); }); } $(function() { $('<img />').load(function() { main(this); }).attr("src", IMAGE_SRC ); }); <!DOCTYPE html> <html lang="en"> <head> <title>Ripple Effect</title> <meta charset="utf-8"> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> <script src="//github.com/arahaya/ImageFilters.js/raw/master/imagefilters.js"></script> </head> <body> <canvas id="c"></canvas> <p>Move the mouse over the image!</p> </body> </html> forked: Ripple Effect body { background-color:#111; color:#FFF; font:24px sans-serif; } // forked from jscdr's "forked: Ripple Effect" http://jsdo.it/jscdr/xzlG // forked from arahaya's "Ripple Effect" http://jsdo.it/arahaya/meKt /** * this code is based on the flash version linked bellow * http://www.derschmale.com/2008/08/03/water-ripples-revisited-as3-only-version/ */ var IMAGE_SRC = 'data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABQAAD/4QMpaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjAtYzA2MCA2MS4xMzQ3NzcsIDIwMTAvMDIvMTItMTc6MzI6MDAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0MzREODIyNjhBQkQxMUUwOTdDRjlGRkM1NTg2NzVDNSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0MzREODIyNzhBQkQxMUUwOTdDRjlGRkM1NTg2NzVDNSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQzNEQ4MjI0OEFCRDExRTA5N0NGOUZGQzU1ODY3NUM1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjQzNEQ4MjI1OEFCRDExRTA5N0NGOUZGQzU1ODY3NUM1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQAAgICAgICAgICAgMCAgIDBAMCAgME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'; // パラメータを調整すればもう少しよくなるかも var RIPPLE_STRENGTH = 60; var RIPPLE_SCALE = 8; var RIPPLE_SIZE = 8; var RIPPLE_ALPHA = 1; function Rippler(source, strength, scale) { this._source = source; this._strength = strength; this._scaleInv = 1 / scale; // create the (downscaled) buffers and final (upscaled) image data, sizes depend on scale this._buffer1 = document.createElement('canvas').getContext('2d'); this._buffer1.canvas.width = source.width * this._scaleInv; this._buffer1.canvas.height = source.height * this._scaleInv; this._buffer1.fillStyle = '#000000'; this._buffer1.fillRect(0, 0, this._buffer1.canvas.width, this._buffer1.canvas.height); this._buffer2 = document.createElement('canvas').getContext('2d'); this._buffer2.canvas.width = source.width * this._scaleInv; this._buffer2.canvas.height = source.height * this._scaleInv; this._defData = document.createElement('canvas').getContext('2d'); this._defData.canvas.width = source.width; this._defData.canvas.height = source.height; this._defData.fillStyle = '#7f7f7f'; this._defData.fillRect(0, 0, source.width, source.height); // Recalculate scale between the buffers and the final upscaled image to prevent roundoff errors. var correctedScaleX = this._defData.canvas.width / this._buffer1.canvas.width; var correctedScaleY = this._defData.canvas.height / this._buffer1.canvas.height; this._defData.scale(correctedScaleX, correctedScaleY); // Create a frame-based loop to update the ripples var self = this; this._interval = setInterval(function() { self._handleEnterFrame(); }, 20); } Rippler.prototype.drawRipple = function(x, y, size, alpha) { var half = size >> 1; // We need half the size of the ripple var intensity = (alpha * 0xff & 0xff) * alpha; // The colour which will be drawn in the currently active buffer // calculate and draw the rectangle, having (x, y) in its centre var dx = (-half + x) * this._scaleInv; var dy = (-half + y) * this._scaleInv; var dw = size * this._scaleInv; var dh = dw; this._buffer1.fillStyle = 'rgb(0, 0, ' + intensity + ')'; this._buffer1.fillRect(dx, dy, dw, dh); }; Rippler.prototype.destroy = function() { clearInterval(this._interval); this._buffer1 = null; this._buffer2 = null; this._defData = null; }; Rippler.prototype.onUpdate = function() {}; Rippler.prototype._handleEnterFrame = function() { // a temporary clone of buffer 2 var buffer2Clone = this._buffer2.getImageData(0, 0, this._buffer1.canvas.width, this._buffer1.canvas.height); // buffer2 will contain an expanded version of buffer1 var buffer1Image = this._buffer1.getImageData(0, 0, this._buffer1.canvas.width, this._buffer1.canvas.height); var buffer2Image = ImageFilters.ConvolutionFilter(buffer1Image, 3, 3, [0.5, 1, 0.5, 1, 0, 1, 0.5, 1, 0.5], 3, 0, false); // by substracting buffer2's old image, buffer2 will now be a ring buffer2Image = ImageFilters.BlendSubtract(buffer2Image, buffer2Clone, 0, 0); this._buffer2.putImageData(buffer2Image, 0, 0); // scale up and draw to the final displacement map, and apply it to the filter this._defData.drawImage(this._buffer2.canvas, 0, 0); var defImage = this._defData.getImageData(0, 0, this._defData.canvas.width, this._defData.canvas.height); defImage = ImageFilters.ColorTransformFilter(defImage, 1, 1, 1, 1, 128, 128, 128, 0); var result = ImageFilters.DisplacementMapFilter(this._source, defImage, 0, 0, 2, 2, this._strength, this._strength, 2); // switch buffers 1 and 2 this._switchBuffers(); this.onUpdate(result); }; Rippler.prototype._switchBuffers = function() { var temp = this._buffer1; this._buffer1 = this._buffer2; this._buffer2 = temp; }; function main(img) { var $canvas = $('#c'); $canvas[0].width = img.width; $canvas[0].height = img.height; var context = $canvas[0].getContext('2d'); context.drawImage(img, 0, 0); var target = context.getImageData(0, 0, img.width, img.height); var rippler = new Rippler(target, RIPPLE_STRENGTH, RIPPLE_SCALE); rippler.onUpdate = function(target) { context.putImageData(target, 0, 0); }; // mousemove $canvas.mousemove(function(e) { var mouseX = e.pageX - $canvas.offset().left; var mouseY = e.pageY - $canvas.offset().top; rippler.drawRipple(mouseX, mouseY, RIPPLE_SIZE, RIPPLE_ALPHA); }); } $(function() { $('<img />').load(function() { main(this); }).attr("src", IMAGE_SRC ); }); <!DOCTYPE html> <html lang="en"> <head> <title>Ripple Effect</title> <meta charset="utf-8"> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> <script src="//github.com/arahaya/ImageFilters.js/raw/master/imagefilters.js"></script> </head> <body> <canvas id="c"></canvas> <p>Move the mouse over the image!</p> </body> </html> body { background-color:#111; color:#FFF; font:24px sans-serif; } use an iframe compat browser, deer Play on jsdo.it games Author Share ブログに埋め込む QR Tag Download Complete! Description What kind of game? Control Device Smartphone Controllerjsdo.it WebSocket Controller» Mouse Keyboard Touch Device Fullscreen Activated Inactivated jsdo.it games から削除する Submit Author jscdr Tweet Default Panel Auto play Screenshot Readme JavaScript HTML CSS Size Width: px Height: px code <script type="text/javascript" src="http://jsdo.it/blogparts/ej6G/js"></script> canvas effect ripple Discussion Questions on this code? Tags canvas effect ripple